@yume-chan/adb 0.0.24 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -1
- package/README.md +4 -1
- package/esm/adb.d.ts +13 -7
- package/esm/adb.d.ts.map +1 -1
- package/esm/adb.js +3 -0
- package/esm/adb.js.map +1 -1
- package/esm/banner.d.ts +7 -6
- package/esm/banner.d.ts.map +1 -1
- package/esm/banner.js +6 -7
- package/esm/banner.js.map +1 -1
- package/esm/commands/framebuffer.d.ts +63 -34
- package/esm/commands/framebuffer.d.ts.map +1 -1
- package/esm/commands/framebuffer.js +35 -33
- package/esm/commands/framebuffer.js.map +1 -1
- package/esm/commands/reverse.d.ts +12 -12
- package/esm/commands/reverse.d.ts.map +1 -1
- package/esm/commands/reverse.js +39 -30
- package/esm/commands/reverse.js.map +1 -1
- package/esm/commands/subprocess/protocols/none.d.ts.map +1 -1
- package/esm/commands/subprocess/protocols/none.js +3 -5
- package/esm/commands/subprocess/protocols/none.js.map +1 -1
- package/esm/commands/subprocess/protocols/shell.d.ts +20 -12
- package/esm/commands/subprocess/protocols/shell.d.ts.map +1 -1
- package/esm/commands/subprocess/protocols/shell.js +16 -21
- package/esm/commands/subprocess/protocols/shell.js.map +1 -1
- package/esm/commands/subprocess/protocols/types.d.ts +6 -6
- package/esm/commands/subprocess/protocols/types.d.ts.map +1 -1
- package/esm/commands/sync/list.d.ts +49 -27
- package/esm/commands/sync/list.d.ts.map +1 -1
- package/esm/commands/sync/list.js +9 -9
- package/esm/commands/sync/list.js.map +1 -1
- package/esm/commands/sync/pull.d.ts +7 -6
- package/esm/commands/sync/pull.d.ts.map +1 -1
- package/esm/commands/sync/pull.js +3 -5
- package/esm/commands/sync/pull.js.map +1 -1
- package/esm/commands/sync/push.d.ts +22 -16
- package/esm/commands/sync/push.d.ts.map +1 -1
- package/esm/commands/sync/push.js +12 -16
- package/esm/commands/sync/push.js.map +1 -1
- package/esm/commands/sync/request.d.ts +19 -17
- package/esm/commands/sync/request.d.ts.map +1 -1
- package/esm/commands/sync/request.js +14 -18
- package/esm/commands/sync/request.js.map +1 -1
- package/esm/commands/sync/response.d.ts +18 -18
- package/esm/commands/sync/response.d.ts.map +1 -1
- package/esm/commands/sync/response.js +20 -19
- package/esm/commands/sync/response.js.map +1 -1
- package/esm/commands/sync/socket.d.ts +1 -1
- package/esm/commands/sync/socket.js +2 -2
- package/esm/commands/sync/socket.js.map +1 -1
- package/esm/commands/sync/stat.d.ts +75 -51
- package/esm/commands/sync/stat.d.ts.map +1 -1
- package/esm/commands/sync/stat.js +73 -67
- package/esm/commands/sync/stat.js.map +1 -1
- package/esm/commands/sync/sync.d.ts +14 -14
- package/esm/commands/sync/sync.d.ts.map +1 -1
- package/esm/commands/sync/sync.js +4 -7
- package/esm/commands/sync/sync.js.map +1 -1
- package/esm/commands/tcpip.d.ts +0 -1
- package/esm/commands/tcpip.d.ts.map +1 -1
- package/esm/commands/tcpip.js +8 -8
- package/esm/commands/tcpip.js.map +1 -1
- package/esm/daemon/auth.d.ts +8 -7
- package/esm/daemon/auth.d.ts.map +1 -1
- package/esm/daemon/auth.js +7 -8
- package/esm/daemon/auth.js.map +1 -1
- package/esm/daemon/crypto.d.ts +1 -1
- package/esm/daemon/crypto.d.ts.map +1 -1
- package/esm/daemon/crypto.js +1 -0
- package/esm/daemon/crypto.js.map +1 -1
- package/esm/daemon/device.d.ts +2 -2
- package/esm/daemon/device.d.ts.map +1 -1
- package/esm/daemon/dispatcher.js +6 -6
- package/esm/daemon/dispatcher.js.map +1 -1
- package/esm/daemon/packet.d.ts +46 -30
- package/esm/daemon/packet.d.ts.map +1 -1
- package/esm/daemon/packet.js +24 -21
- package/esm/daemon/packet.js.map +1 -1
- package/esm/daemon/socket.d.ts +1 -6
- package/esm/daemon/socket.d.ts.map +1 -1
- package/esm/daemon/socket.js +4 -27
- package/esm/daemon/socket.js.map +1 -1
- package/esm/daemon/transport.d.ts +14 -14
- package/esm/daemon/transport.d.ts.map +1 -1
- package/esm/daemon/transport.js +6 -8
- package/esm/daemon/transport.js.map +1 -1
- package/esm/device-observer.d.ts +10 -0
- package/esm/device-observer.d.ts.map +1 -0
- package/esm/device-observer.js +2 -0
- package/esm/device-observer.js.map +1 -0
- package/esm/features.d.ts +12 -11
- package/esm/features.d.ts.map +1 -1
- package/esm/features.js +11 -12
- package/esm/features.js.map +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/server/client.d.ts +34 -22
- package/esm/server/client.d.ts.map +1 -1
- package/esm/server/client.js +151 -136
- package/esm/server/client.js.map +1 -1
- package/esm/server/transport.d.ts +2 -2
- package/esm/server/transport.d.ts.map +1 -1
- package/esm/server/transport.js +1 -3
- package/esm/server/transport.js.map +1 -1
- package/esm/utils/base64.d.ts.map +1 -1
- package/esm/utils/base64.js +19 -16
- package/esm/utils/base64.js.map +1 -1
- package/esm/utils/no-op.d.ts.map +1 -1
- package/esm/utils/no-op.js +1 -0
- package/esm/utils/no-op.js.map +1 -1
- package/package.json +14 -17
- package/src/adb.ts +13 -7
- package/src/banner.ts +8 -6
- package/src/commands/framebuffer.ts +44 -35
- package/src/commands/reverse.ts +49 -31
- package/src/commands/subprocess/protocols/none.ts +3 -5
- package/src/commands/subprocess/protocols/shell.ts +26 -24
- package/src/commands/subprocess/protocols/types.ts +6 -6
- package/src/commands/sync/list.ts +20 -13
- package/src/commands/sync/pull.ts +8 -7
- package/src/commands/sync/push.ts +20 -16
- package/src/commands/sync/request.ts +18 -19
- package/src/commands/sync/response.ts +28 -29
- package/src/commands/sync/socket.ts +2 -2
- package/src/commands/sync/stat.ts +93 -71
- package/src/commands/sync/sync.ts +4 -8
- package/src/commands/tcpip.ts +8 -8
- package/src/daemon/auth.ts +11 -9
- package/src/daemon/crypto.ts +2 -0
- package/src/daemon/device.ts +2 -2
- package/src/daemon/dispatcher.ts +6 -6
- package/src/daemon/packet.ts +37 -25
- package/src/daemon/socket.ts +4 -27
- package/src/daemon/transport.ts +36 -35
- package/src/device-observer.ts +10 -0
- package/src/features.ts +13 -11
- package/src/index.ts +1 -0
- package/src/server/client.ts +185 -160
- package/src/server/transport.ts +3 -5
- package/src/utils/base64.ts +26 -18
- package/src/utils/no-op.ts +1 -0
- package/tsconfig.build.json +1 -12
- package/tsconfig.build.tsbuildinfo +1 -1
- package/CHANGELOG.json +0 -298
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { ReadableStream } from "@yume-chan/stream-extra";
|
|
2
2
|
import { MaybeConsumable } from "@yume-chan/stream-extra";
|
|
3
|
-
import Struct from "@yume-chan/struct";
|
|
4
3
|
import type { AdbSyncSocket } from "./socket.js";
|
|
5
4
|
import { LinuxFileType } from "./stat.js";
|
|
6
5
|
export declare const ADB_SYNC_MAX_PACKET_SIZE: number;
|
|
@@ -13,23 +12,26 @@ export interface AdbSyncPushV1Options {
|
|
|
13
12
|
mtime?: number;
|
|
14
13
|
packetSize?: number;
|
|
15
14
|
}
|
|
16
|
-
export declare const AdbSyncOkResponse: Struct<{
|
|
17
|
-
unused: number
|
|
18
|
-
},
|
|
15
|
+
export declare const AdbSyncOkResponse: import("@yume-chan/struct").Struct<{
|
|
16
|
+
unused: import("@yume-chan/struct").NumberField<number>;
|
|
17
|
+
}, {}, import("@yume-chan/struct").FieldsType<{
|
|
18
|
+
unused: import("@yume-chan/struct").NumberField<number>;
|
|
19
|
+
}>>;
|
|
19
20
|
export declare function adbSyncPushV1({ socket, filename, file, type, permission, mtime, packetSize, }: AdbSyncPushV1Options): Promise<void>;
|
|
20
|
-
export declare
|
|
21
|
-
None
|
|
22
|
-
Brotli
|
|
21
|
+
export declare const AdbSyncSendV2Flags: {
|
|
22
|
+
readonly None: 0;
|
|
23
|
+
readonly Brotli: 1;
|
|
23
24
|
/**
|
|
24
25
|
* 2
|
|
25
26
|
*/
|
|
26
|
-
Lz4
|
|
27
|
+
readonly Lz4: number;
|
|
27
28
|
/**
|
|
28
29
|
* 4
|
|
29
30
|
*/
|
|
30
|
-
Zstd
|
|
31
|
-
DryRun
|
|
32
|
-
}
|
|
31
|
+
readonly Zstd: number;
|
|
32
|
+
readonly DryRun: 2147483648;
|
|
33
|
+
};
|
|
34
|
+
export type AdbSyncSendV2Flags = (typeof AdbSyncSendV2Flags)[keyof typeof AdbSyncSendV2Flags];
|
|
33
35
|
export interface AdbSyncPushV2Options extends AdbSyncPushV1Options {
|
|
34
36
|
/**
|
|
35
37
|
* Don't write the file to disk. Requires the `sendrecv_v2` feature.
|
|
@@ -39,11 +41,15 @@ export interface AdbSyncPushV2Options extends AdbSyncPushV1Options {
|
|
|
39
41
|
*/
|
|
40
42
|
dryRun?: boolean;
|
|
41
43
|
}
|
|
42
|
-
export declare const AdbSyncSendV2Request: Struct<{
|
|
43
|
-
id: number
|
|
44
|
-
mode: number
|
|
45
|
-
flags:
|
|
46
|
-
},
|
|
44
|
+
export declare const AdbSyncSendV2Request: import("@yume-chan/struct").Struct<{
|
|
45
|
+
id: import("@yume-chan/struct").NumberField<number>;
|
|
46
|
+
mode: import("@yume-chan/struct").NumberField<number>;
|
|
47
|
+
flags: import("@yume-chan/struct").Field<number, never, never>;
|
|
48
|
+
}, {}, import("@yume-chan/struct").FieldsType<{
|
|
49
|
+
id: import("@yume-chan/struct").NumberField<number>;
|
|
50
|
+
mode: import("@yume-chan/struct").NumberField<number>;
|
|
51
|
+
flags: import("@yume-chan/struct").Field<number, never, never>;
|
|
52
|
+
}>>;
|
|
47
53
|
export declare function adbSyncPushV2({ socket, filename, file, type, permission, mtime, packetSize, dryRun, }: AdbSyncPushV2Options): Promise<void>;
|
|
48
54
|
export interface AdbSyncPushOptions extends AdbSyncPushV2Options {
|
|
49
55
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/push.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAGH,eAAe,EAClB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/push.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAGH,eAAe,EAClB,MAAM,yBAAyB,CAAC;AAOjC,OAAO,KAAK,EAAE,aAAa,EAAuB,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,eAAO,MAAM,wBAAwB,QAAY,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,iBAAiB;;;;GAG7B,CAAC;AAuCF,wBAAsB,aAAa,CAAC,EAChC,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,IAAyB,EACzB,UAAkB,EAClB,KAA+B,EAC/B,UAAqC,GACxC,EAAE,oBAAoB,iBAUtB;AAED,eAAO,MAAM,kBAAkB;;;IAG3B;;OAEG;;IAEH;;OAEG;;;CAGG,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAC1B,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAEjE,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAC9D;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,oBAAoB;;;;;;;;GAGhC,CAAC;AAEF,wBAAsB,aAAa,CAAC,EAChC,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,IAAyB,EACzB,UAAkB,EAClB,KAA+B,EAC/B,UAAqC,EACrC,MAAc,GACjB,EAAE,oBAAoB,iBAsBtB;AAED,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;IAC5D;;OAEG;IACH,EAAE,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,iBAUtD"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { AbortController, DistributionStream, MaybeConsumable, } from "@yume-chan/stream-extra";
|
|
2
|
-
import
|
|
2
|
+
import { struct, u32 } from "@yume-chan/struct";
|
|
3
3
|
import { NOOP } from "../../utils/index.js";
|
|
4
4
|
import { AdbSyncRequestId, adbSyncWriteRequest } from "./request.js";
|
|
5
5
|
import { AdbSyncResponseId, adbSyncReadResponse } from "./response.js";
|
|
6
6
|
import { LinuxFileType } from "./stat.js";
|
|
7
7
|
export const ADB_SYNC_MAX_PACKET_SIZE = 64 * 1024;
|
|
8
|
-
export const AdbSyncOkResponse =
|
|
8
|
+
export const AdbSyncOkResponse = struct({ unused: u32 }, { littleEndian: true });
|
|
9
9
|
async function pipeFileData(locked, file, packetSize, mtime) {
|
|
10
10
|
// Read and write in parallel,
|
|
11
11
|
// allow error response to abort the write.
|
|
12
12
|
const abortController = new AbortController();
|
|
13
13
|
file.pipeThrough(new DistributionStream(packetSize, true))
|
|
14
14
|
.pipeTo(new MaybeConsumable.WritableStream({
|
|
15
|
-
write
|
|
16
|
-
|
|
15
|
+
write(chunk) {
|
|
16
|
+
return adbSyncWriteRequest(locked, AdbSyncRequestId.Data, chunk);
|
|
17
17
|
},
|
|
18
18
|
}), { signal: abortController.signal })
|
|
19
19
|
.then(async () => {
|
|
@@ -37,24 +37,20 @@ export async function adbSyncPushV1({ socket, filename, file, type = LinuxFileTy
|
|
|
37
37
|
locked.release();
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
export
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
AdbSyncSendV2Flags[AdbSyncSendV2Flags["Brotli"] = 1] = "Brotli";
|
|
40
|
+
export const AdbSyncSendV2Flags = {
|
|
41
|
+
None: 0,
|
|
42
|
+
Brotli: 1,
|
|
44
43
|
/**
|
|
45
44
|
* 2
|
|
46
45
|
*/
|
|
47
|
-
|
|
46
|
+
Lz4: 1 << 1,
|
|
48
47
|
/**
|
|
49
48
|
* 4
|
|
50
49
|
*/
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
export const AdbSyncSendV2Request =
|
|
55
|
-
.uint32("id")
|
|
56
|
-
.uint32("mode")
|
|
57
|
-
.uint32("flags", placeholder());
|
|
50
|
+
Zstd: 1 << 2,
|
|
51
|
+
DryRun: 0x80000000,
|
|
52
|
+
};
|
|
53
|
+
export const AdbSyncSendV2Request = struct({ id: u32, mode: u32, flags: u32() }, { littleEndian: true });
|
|
58
54
|
export async function adbSyncPushV2({ socket, filename, file, type = LinuxFileType.File, permission = 0o666, mtime = (Date.now() / 1000) | 0, packetSize = ADB_SYNC_MAX_PACKET_SIZE, dryRun = false, }) {
|
|
59
55
|
const locked = await socket.lock();
|
|
60
56
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/commands/sync/push.ts"],"names":[],"mappings":"AACA,OAAO,EACH,eAAe,EACf,kBAAkB,EAClB,eAAe,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/commands/sync/push.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
export declare const AdbSyncRequestId: {
|
|
2
|
+
readonly List: number;
|
|
3
|
+
readonly ListV2: number;
|
|
4
|
+
readonly Send: number;
|
|
5
|
+
readonly SendV2: number;
|
|
6
|
+
readonly Lstat: number;
|
|
7
|
+
readonly Stat: number;
|
|
8
|
+
readonly LstatV2: number;
|
|
9
|
+
readonly Data: number;
|
|
10
|
+
readonly Done: number;
|
|
11
|
+
readonly Receive: number;
|
|
12
|
+
};
|
|
13
|
+
export declare const AdbSyncNumberRequest: import("@yume-chan/struct").Struct<{
|
|
14
|
+
id: import("@yume-chan/struct").NumberField<number>;
|
|
15
|
+
arg: import("@yume-chan/struct").NumberField<number>;
|
|
16
|
+
}, {}, import("@yume-chan/struct").FieldsType<{
|
|
17
|
+
id: import("@yume-chan/struct").NumberField<number>;
|
|
18
|
+
arg: import("@yume-chan/struct").NumberField<number>;
|
|
19
|
+
}>>;
|
|
18
20
|
export interface AdbSyncWritable {
|
|
19
21
|
write(buffer: Uint8Array): Promise<void>;
|
|
20
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/request.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/request.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB;;;;;;;;;;;CAWnB,CAAC;AAEX,eAAO,MAAM,oBAAoB;;;;;;GAGhC,CAAC;AAEF,MAAM,WAAW,eAAe;IAC5B,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAED,wBAAsB,mBAAmB,CACrC,QAAQ,EAAE,eAAe,EACzB,EAAE,EAAE,MAAM,GAAG,MAAM,EACnB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GACpC,OAAO,CAAC,IAAI,CAAC,CAsBf"}
|
|
@@ -1,22 +1,18 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { encodeUtf8 } from "../../utils/index.js";
|
|
1
|
+
import { encodeUtf8, struct, u32 } from "@yume-chan/struct";
|
|
3
2
|
import { adbSyncEncodeId } from "./response.js";
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
export const AdbSyncNumberRequest = new Struct({ littleEndian: true })
|
|
18
|
-
.uint32("id")
|
|
19
|
-
.uint32("arg");
|
|
3
|
+
export const AdbSyncRequestId = {
|
|
4
|
+
List: adbSyncEncodeId("LIST"),
|
|
5
|
+
ListV2: adbSyncEncodeId("LIS2"),
|
|
6
|
+
Send: adbSyncEncodeId("SEND"),
|
|
7
|
+
SendV2: adbSyncEncodeId("SND2"),
|
|
8
|
+
Lstat: adbSyncEncodeId("STAT"),
|
|
9
|
+
Stat: adbSyncEncodeId("STA2"),
|
|
10
|
+
LstatV2: adbSyncEncodeId("LST2"),
|
|
11
|
+
Data: adbSyncEncodeId("DATA"),
|
|
12
|
+
Done: adbSyncEncodeId("DONE"),
|
|
13
|
+
Receive: adbSyncEncodeId("RECV"),
|
|
14
|
+
};
|
|
15
|
+
export const AdbSyncNumberRequest = struct({ id: u32, arg: u32 }, { littleEndian: true });
|
|
20
16
|
export async function adbSyncWriteRequest(writable, id, value) {
|
|
21
17
|
if (typeof id === "string") {
|
|
22
18
|
id = adbSyncEncodeId(id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/commands/sync/request.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/commands/sync/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC;IAC7B,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC;IAC7B,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;IAC/B,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC;IAC9B,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC;IAC7B,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC;IAC7B,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC;IAC7B,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC;CAC1B,CAAC;AAEX,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CACtC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EACrB,EAAE,YAAY,EAAE,IAAI,EAAE,CACzB,CAAC;AAMF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,QAAyB,EACzB,EAAmB,EACnB,KAAmC;IAEnC,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QACzB,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,QAAQ,CAAC,KAAK,CAChB,oBAAoB,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CACrD,CAAC;QACF,OAAO;IACX,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,kEAAkE;IAClE,gFAAgF;IAChF,MAAM,QAAQ,CAAC,KAAK,CAChB,oBAAoB,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAC5D,CAAC;IACF,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import type { AsyncExactReadable, StructLike
|
|
2
|
-
import Struct from "@yume-chan/struct";
|
|
1
|
+
import type { AsyncExactReadable, StructLike } from "@yume-chan/struct";
|
|
3
2
|
/**
|
|
4
3
|
* Encode ID to numbers for faster comparison
|
|
5
4
|
* @param value A 4-character string
|
|
6
5
|
* @returns A 32-bit integer by encoding the string as little-endian
|
|
6
|
+
*
|
|
7
|
+
* #__NO_SIDE_EFFECTS__
|
|
7
8
|
*/
|
|
8
9
|
export declare function adbSyncEncodeId(value: string): number;
|
|
9
|
-
export declare
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
10
|
+
export declare const AdbSyncResponseId: {
|
|
11
|
+
Entry: number;
|
|
12
|
+
Entry2: number;
|
|
13
|
+
Lstat: number;
|
|
14
|
+
Stat: number;
|
|
15
|
+
Lstat2: number;
|
|
16
|
+
Done: number;
|
|
17
|
+
Data: number;
|
|
18
|
+
Ok: number;
|
|
19
|
+
Fail: number;
|
|
20
|
+
};
|
|
20
21
|
export declare class AdbSyncError extends Error {
|
|
21
22
|
}
|
|
22
|
-
export declare const AdbSyncFailResponse: Struct<{
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}, "messageLength", Record<never, never>, never>;
|
|
23
|
+
export declare const AdbSyncFailResponse: import("@yume-chan/struct").Struct<{
|
|
24
|
+
message: import("@yume-chan/struct").Field<string, never, never>;
|
|
25
|
+
}, {}, never>;
|
|
26
26
|
export declare function adbSyncReadResponse<T>(stream: AsyncExactReadable, id: number | string, type: StructLike<T>): Promise<T>;
|
|
27
|
-
export declare function adbSyncReadResponses<T
|
|
27
|
+
export declare function adbSyncReadResponses<T>(stream: AsyncExactReadable, id: number | string, type: StructLike<T>): AsyncGenerator<T, void, void>;
|
|
28
28
|
//# sourceMappingURL=response.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/response.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/response.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAWxE;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;CAU7B,CAAC;AAEF,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAE1C,eAAO,MAAM,mBAAmB;;aAQ/B,CAAC;AAEF,wBAAsB,mBAAmB,CAAC,CAAC,EACvC,MAAM,EAAE,kBAAkB,EAC1B,EAAE,EAAE,MAAM,GAAG,MAAM,EACnB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GACpB,OAAO,CAAC,CAAC,CAAC,CAiBZ;AAED,wBAAuB,oBAAoB,CAAC,CAAC,EACzC,MAAM,EAAE,kBAAkB,EAC1B,EAAE,EAAE,MAAM,GAAG,MAAM,EACnB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GACpB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CA2B/B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getUint32LittleEndian } from "@yume-chan/no-data-view";
|
|
2
|
-
import
|
|
2
|
+
import { decodeUtf8, string, struct, u32 } from "@yume-chan/struct";
|
|
3
3
|
function encodeAsciiUnchecked(value) {
|
|
4
4
|
const result = new Uint8Array(value.length);
|
|
5
5
|
for (let i = 0; i < value.length; i += 1) {
|
|
@@ -11,30 +11,31 @@ function encodeAsciiUnchecked(value) {
|
|
|
11
11
|
* Encode ID to numbers for faster comparison
|
|
12
12
|
* @param value A 4-character string
|
|
13
13
|
* @returns A 32-bit integer by encoding the string as little-endian
|
|
14
|
+
*
|
|
15
|
+
* #__NO_SIDE_EFFECTS__
|
|
14
16
|
*/
|
|
15
17
|
export function adbSyncEncodeId(value) {
|
|
16
18
|
const buffer = encodeAsciiUnchecked(value);
|
|
17
19
|
return getUint32LittleEndian(buffer, 0);
|
|
18
20
|
}
|
|
19
|
-
export
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
})(AdbSyncResponseId || (AdbSyncResponseId = {}));
|
|
21
|
+
export const AdbSyncResponseId = {
|
|
22
|
+
Entry: adbSyncEncodeId("DENT"),
|
|
23
|
+
Entry2: adbSyncEncodeId("DNT2"),
|
|
24
|
+
Lstat: adbSyncEncodeId("STAT"),
|
|
25
|
+
Stat: adbSyncEncodeId("STA2"),
|
|
26
|
+
Lstat2: adbSyncEncodeId("LST2"),
|
|
27
|
+
Done: adbSyncEncodeId("DONE"),
|
|
28
|
+
Data: adbSyncEncodeId("DATA"),
|
|
29
|
+
Ok: adbSyncEncodeId("OKAY"),
|
|
30
|
+
Fail: adbSyncEncodeId("FAIL"),
|
|
31
|
+
};
|
|
31
32
|
export class AdbSyncError extends Error {
|
|
32
33
|
}
|
|
33
|
-
export const AdbSyncFailResponse =
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
export const AdbSyncFailResponse = struct({ message: string(u32) }, {
|
|
35
|
+
littleEndian: true,
|
|
36
|
+
postDeserialize(value) {
|
|
37
|
+
throw new AdbSyncError(value.message);
|
|
38
|
+
},
|
|
38
39
|
});
|
|
39
40
|
export async function adbSyncReadResponse(stream, id, type) {
|
|
40
41
|
if (typeof id === "string") {
|
|
@@ -69,7 +70,7 @@ export async function* adbSyncReadResponses(stream, id, type) {
|
|
|
69
70
|
await stream.readExactly(type.size);
|
|
70
71
|
return;
|
|
71
72
|
case id:
|
|
72
|
-
yield
|
|
73
|
+
yield await type.deserialize(stream);
|
|
73
74
|
break;
|
|
74
75
|
default:
|
|
75
76
|
throw new Error(`Expected '${id}' or '${AdbSyncResponseId.Done}', but got '${decodeUtf8(buffer)}'`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/commands/sync/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/commands/sync/response.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export declare class AdbSyncSocketLocked implements AsyncExactReadable {
|
|
|
9
9
|
constructor(writer: WritableStreamDefaultWriter<MaybeConsumable<Uint8Array>>, readable: BufferedReadableStream, bufferSize: number, lock: AutoResetEvent);
|
|
10
10
|
flush(): Promise<void>;
|
|
11
11
|
write(data: Uint8Array): Promise<void>;
|
|
12
|
-
readExactly(length: number): Promise<Uint8Array
|
|
12
|
+
readExactly(length: number): Promise<Uint8Array<ArrayBufferLike>>;
|
|
13
13
|
release(): void;
|
|
14
14
|
close(): Promise<void>;
|
|
15
15
|
}
|
|
@@ -15,9 +15,9 @@ export class AdbSyncSocketLocked {
|
|
|
15
15
|
this.#socketLock = lock;
|
|
16
16
|
this.#combiner = new BufferCombiner(bufferSize);
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
#write(buffer) {
|
|
19
19
|
// `#combiner` will reuse the buffer, so we need to use the Consumable pattern
|
|
20
|
-
|
|
20
|
+
return Consumable.WritableStream.write(this.#writer, buffer);
|
|
21
21
|
}
|
|
22
22
|
async flush() {
|
|
23
23
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../../src/commands/sync/socket.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,cAAc,EACd,sBAAsB,EACtB,UAAU,GACb,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,OAAO,mBAAmB;IACnB,OAAO,CAA2D;IAClE,SAAS,CAAyB;IAClC,WAAW,CAAiB;IAC5B,UAAU,GAAG,IAAI,cAAc,EAAE,CAAC;IAClC,SAAS,CAAiB;IAEnC,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,YACI,MAAgE,EAChE,QAAgC,EAChC,UAAkB,EAClB,IAAoB;QAEpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../../src/commands/sync/socket.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { StructValue } from "@yume-chan/struct";
|
|
2
2
|
import type { AdbSyncSocket } from "./socket.js";
|
|
3
|
-
export declare
|
|
4
|
-
Directory
|
|
5
|
-
File
|
|
6
|
-
Link
|
|
7
|
-
}
|
|
3
|
+
export declare const LinuxFileType: {
|
|
4
|
+
readonly Directory: 4;
|
|
5
|
+
readonly File: 8;
|
|
6
|
+
readonly Link: 10;
|
|
7
|
+
};
|
|
8
|
+
export type LinuxFileType = (typeof LinuxFileType)[keyof typeof LinuxFileType];
|
|
8
9
|
export interface AdbSyncStat {
|
|
9
10
|
mode: number;
|
|
10
11
|
size: bigint;
|
|
@@ -16,55 +17,78 @@ export interface AdbSyncStat {
|
|
|
16
17
|
atime?: bigint;
|
|
17
18
|
ctime?: bigint;
|
|
18
19
|
}
|
|
19
|
-
export declare const AdbSyncLstatResponse: Struct<{
|
|
20
|
-
mode: number
|
|
21
|
-
size: number
|
|
22
|
-
mtime: number
|
|
23
|
-
},
|
|
20
|
+
export declare const AdbSyncLstatResponse: import("@yume-chan/struct").Struct<{
|
|
21
|
+
mode: import("@yume-chan/struct").NumberField<number>;
|
|
22
|
+
size: import("@yume-chan/struct").NumberField<number>;
|
|
23
|
+
mtime: import("@yume-chan/struct").NumberField<number>;
|
|
24
|
+
}, {
|
|
24
25
|
readonly type: LinuxFileType;
|
|
25
26
|
readonly permission: number;
|
|
26
|
-
},
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
27
|
+
}, import("@yume-chan/struct").FieldsType<{
|
|
28
|
+
mode: import("@yume-chan/struct").NumberField<number>;
|
|
29
|
+
size: import("@yume-chan/struct").NumberField<number>;
|
|
30
|
+
mtime: import("@yume-chan/struct").NumberField<number>;
|
|
31
|
+
}> & {
|
|
32
|
+
readonly type: LinuxFileType;
|
|
33
|
+
readonly permission: number;
|
|
34
|
+
}>;
|
|
35
|
+
export type AdbSyncLstatResponse = StructValue<typeof AdbSyncLstatResponse>;
|
|
36
|
+
export declare const AdbSyncStatErrorCode: {
|
|
37
|
+
readonly SUCCESS: 0;
|
|
38
|
+
readonly EACCES: 13;
|
|
39
|
+
readonly EEXIST: 17;
|
|
40
|
+
readonly EFAULT: 14;
|
|
41
|
+
readonly EFBIG: 27;
|
|
42
|
+
readonly EINTR: 4;
|
|
43
|
+
readonly EINVAL: 22;
|
|
44
|
+
readonly EIO: 5;
|
|
45
|
+
readonly EISDIR: 21;
|
|
46
|
+
readonly ELOOP: 40;
|
|
47
|
+
readonly EMFILE: 24;
|
|
48
|
+
readonly ENAMETOOLONG: 36;
|
|
49
|
+
readonly ENFILE: 23;
|
|
50
|
+
readonly ENOENT: 2;
|
|
51
|
+
readonly ENOMEM: 12;
|
|
52
|
+
readonly ENOSPC: 28;
|
|
53
|
+
readonly ENOTDIR: 20;
|
|
54
|
+
readonly EOVERFLOW: 75;
|
|
55
|
+
readonly EPERM: 1;
|
|
56
|
+
readonly EROFS: 30;
|
|
57
|
+
readonly ETXTBSY: 26;
|
|
58
|
+
};
|
|
59
|
+
export type AdbSyncStatErrorCode = (typeof AdbSyncStatErrorCode)[keyof typeof AdbSyncStatErrorCode];
|
|
60
|
+
export declare const AdbSyncStatResponse: import("@yume-chan/struct").Struct<{
|
|
61
|
+
error: import("@yume-chan/struct").Field<AdbSyncStatErrorCode, never, never>;
|
|
62
|
+
dev: import("@yume-chan/struct").NumberField<bigint>;
|
|
63
|
+
ino: import("@yume-chan/struct").NumberField<bigint>;
|
|
64
|
+
mode: import("@yume-chan/struct").NumberField<number>;
|
|
65
|
+
nlink: import("@yume-chan/struct").NumberField<number>;
|
|
66
|
+
uid: import("@yume-chan/struct").NumberField<number>;
|
|
67
|
+
gid: import("@yume-chan/struct").NumberField<number>;
|
|
68
|
+
size: import("@yume-chan/struct").NumberField<bigint>;
|
|
69
|
+
atime: import("@yume-chan/struct").NumberField<bigint>;
|
|
70
|
+
mtime: import("@yume-chan/struct").NumberField<bigint>;
|
|
71
|
+
ctime: import("@yume-chan/struct").NumberField<bigint>;
|
|
72
|
+
}, {
|
|
73
|
+
readonly type: LinuxFileType;
|
|
74
|
+
readonly permission: number;
|
|
75
|
+
}, import("@yume-chan/struct").FieldsType<{
|
|
76
|
+
error: import("@yume-chan/struct").Field<AdbSyncStatErrorCode, never, never>;
|
|
77
|
+
dev: import("@yume-chan/struct").NumberField<bigint>;
|
|
78
|
+
ino: import("@yume-chan/struct").NumberField<bigint>;
|
|
79
|
+
mode: import("@yume-chan/struct").NumberField<number>;
|
|
80
|
+
nlink: import("@yume-chan/struct").NumberField<number>;
|
|
81
|
+
uid: import("@yume-chan/struct").NumberField<number>;
|
|
82
|
+
gid: import("@yume-chan/struct").NumberField<number>;
|
|
83
|
+
size: import("@yume-chan/struct").NumberField<bigint>;
|
|
84
|
+
atime: import("@yume-chan/struct").NumberField<bigint>;
|
|
85
|
+
mtime: import("@yume-chan/struct").NumberField<bigint>;
|
|
86
|
+
ctime: import("@yume-chan/struct").NumberField<bigint>;
|
|
87
|
+
}> & {
|
|
64
88
|
readonly type: LinuxFileType;
|
|
65
89
|
readonly permission: number;
|
|
66
|
-
}
|
|
67
|
-
export type AdbSyncStatResponse =
|
|
90
|
+
}>;
|
|
91
|
+
export type AdbSyncStatResponse = StructValue<typeof AdbSyncStatResponse>;
|
|
68
92
|
export declare function adbSyncLstat(socket: AdbSyncSocket, path: string, v2: boolean): Promise<AdbSyncStat>;
|
|
69
93
|
export declare function adbSyncStat(socket: AdbSyncSocket, path: string): Promise<AdbSyncStatResponse>;
|
|
70
94
|
//# sourceMappingURL=stat.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stat.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/stat.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"stat.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/stat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE/E,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,IAAI,IAAI,aAAa,CAAC;IAC1B,IAAI,UAAU,IAAI,MAAM,CAAC;IAEzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,oBAAoB;;;;;mBAKT,aAAa;yBAGP,MAAM;;;;;;mBAHZ,aAAa;yBAGP,MAAM;EAWnC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE5E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;CAsBvB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAC5B,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAUrE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;mBAiBR,aAAa;yBAGP,MAAM;;;;;;;;;;;;;;mBAHZ,aAAa;yBAGP,MAAM;EAWnC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAE1E,wBAAsB,YAAY,CAC9B,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,OAAO,GACZ,OAAO,CAAC,WAAW,CAAC,CAiCtB;AAED,wBAAsB,WAAW,CAC7B,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC,CAY9B"}
|