cojson 0.8.5 → 0.8.12
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 +12 -0
- package/dist/native/PeerKnownStates.js +63 -0
- package/dist/native/PeerKnownStates.js.map +1 -0
- package/dist/native/PeerState.js +5 -1
- package/dist/native/PeerState.js.map +1 -1
- package/dist/native/coValueState.js +74 -0
- package/dist/native/coValueState.js.map +1 -0
- package/dist/native/exports.js +39 -0
- package/dist/native/exports.js.map +1 -0
- package/dist/native/index.native.js +2 -39
- package/dist/native/index.native.js.map +1 -1
- package/dist/native/localNode.js +29 -51
- package/dist/native/localNode.js.map +1 -1
- package/dist/native/storage/index.js +2 -2
- package/dist/native/storage/index.js.map +1 -1
- package/dist/native/sync.js +89 -109
- package/dist/native/sync.js.map +1 -1
- package/dist/web/PeerKnownStates.js +63 -0
- package/dist/web/PeerKnownStates.js.map +1 -0
- package/dist/web/PeerState.js +5 -1
- package/dist/web/PeerState.js.map +1 -1
- package/dist/web/coValueState.js +74 -0
- package/dist/web/coValueState.js.map +1 -0
- package/dist/web/exports.js +39 -0
- package/dist/web/exports.js.map +1 -0
- package/dist/web/index.web.js +2 -39
- package/dist/web/index.web.js.map +1 -1
- package/dist/web/localNode.js +29 -51
- package/dist/web/localNode.js.map +1 -1
- package/dist/web/storage/index.js +2 -2
- package/dist/web/storage/index.js.map +1 -1
- package/dist/web/sync.js +89 -109
- package/dist/web/sync.js.map +1 -1
- package/package.json +1 -1
- package/src/PeerKnownStates.ts +108 -0
- package/src/PeerState.ts +8 -2
- package/src/coValueState.ts +107 -0
- package/src/exports.ts +149 -0
- package/src/index.native.ts +2 -152
- package/src/index.web.ts +2 -152
- package/src/localNode.ts +43 -90
- package/src/storage/index.ts +2 -2
- package/src/sync.ts +95 -148
- package/src/tests/PeerKnownStates.test.ts +100 -0
- package/src/tests/PeerState.test.ts +0 -11
- package/src/tests/sync.test.ts +2 -2
- package/.turbo/turbo-build.log +0 -16
- package/.turbo/turbo-lint.log +0 -4
- package/.turbo/turbo-test.log +0 -1001
package/CHANGELOG.md
CHANGED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { emptyKnownState, combinedKnownStates } from "./sync.js";
|
|
2
|
+
export class PeerKnownStates {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.coValues = new Map();
|
|
5
|
+
this.listeners = new Set();
|
|
6
|
+
}
|
|
7
|
+
updateHeader(id, header) {
|
|
8
|
+
const knownState = this.coValues.get(id) ?? emptyKnownState(id);
|
|
9
|
+
knownState.header = header;
|
|
10
|
+
this.coValues.set(id, knownState);
|
|
11
|
+
}
|
|
12
|
+
combineWith(id, value) {
|
|
13
|
+
const knownState = this.coValues.get(id) ?? emptyKnownState(id);
|
|
14
|
+
this.coValues.set(id, combinedKnownStates(knownState, value));
|
|
15
|
+
}
|
|
16
|
+
updateSessionCounter(id, sessionId, value) {
|
|
17
|
+
const knownState = this.coValues.get(id) ?? emptyKnownState(id);
|
|
18
|
+
const currentValue = knownState.sessions[sessionId] || 0;
|
|
19
|
+
knownState.sessions[sessionId] = Math.max(currentValue, value);
|
|
20
|
+
this.coValues.set(id, knownState);
|
|
21
|
+
}
|
|
22
|
+
get(id) {
|
|
23
|
+
return this.coValues.get(id);
|
|
24
|
+
}
|
|
25
|
+
has(id) {
|
|
26
|
+
return this.coValues.has(id);
|
|
27
|
+
}
|
|
28
|
+
dispatch(action) {
|
|
29
|
+
switch (action.type) {
|
|
30
|
+
case "UPDATE_HEADER":
|
|
31
|
+
this.updateHeader(action.id, action.header);
|
|
32
|
+
break;
|
|
33
|
+
case "UPDATE_SESSION_COUNTER":
|
|
34
|
+
this.updateSessionCounter(action.id, action.sessionId, action.value);
|
|
35
|
+
break;
|
|
36
|
+
case "SET":
|
|
37
|
+
this.coValues.set(action.id, action.value);
|
|
38
|
+
break;
|
|
39
|
+
case "COMBINE_WITH":
|
|
40
|
+
this.combineWith(action.id, action.value);
|
|
41
|
+
break;
|
|
42
|
+
case "SET_AS_EMPTY":
|
|
43
|
+
this.coValues.set(action.id, emptyKnownState(action.id));
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
this.triggerUpdate(action.id);
|
|
47
|
+
}
|
|
48
|
+
triggerUpdate(id) {
|
|
49
|
+
this.trigger(id, this.coValues.get(id) ?? emptyKnownState(id));
|
|
50
|
+
}
|
|
51
|
+
trigger(id, knownState) {
|
|
52
|
+
for (const listener of this.listeners) {
|
|
53
|
+
listener(id, knownState);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
subscribe(listener) {
|
|
57
|
+
this.listeners.add(listener);
|
|
58
|
+
return () => {
|
|
59
|
+
this.listeners.delete(listener);
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=PeerKnownStates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PeerKnownStates.js","sourceRoot":"","sources":["../../src/PeerKnownStates.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,eAAe,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AA2BpF,MAAM,OAAO,eAAe;IAA5B;QACY,aAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;QA2DzD,cAAS,GAAG,IAAI,GAAG,EAAwD,CAAC;IAmBhF,CAAC;IA5EW,YAAY,CAAC,EAAW,EAAE,MAAe;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;QAChE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC;IAEO,WAAW,CAAC,EAAW,EAAE,KAAwB;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC;IAEO,oBAAoB,CACxB,EAAW,EACX,SAAoB,EACpB,KAAa;QAEb,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzD,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAE/D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,GAAG,CAAC,EAAW;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,GAAG,CAAC,EAAW;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,QAAQ,CAAC,MAA6B;QAClC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,eAAe;gBAChB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC5C,MAAM;YACV,KAAK,wBAAwB;gBACzB,IAAI,CAAC,oBAAoB,CACrB,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,KAAK,CACf,CAAC;gBACF,MAAM;YACV,KAAK,KAAK;gBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3C,MAAM;YACV,KAAK,cAAc;gBACf,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1C,MAAM;YACV,KAAK,cAAc;gBACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzD,MAAM;QACd,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAID,aAAa,CAAC,EAAW;QACrB,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC;IAEO,OAAO,CAAC,EAAW,EAAE,UAA6B;QACtD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,SAAS,CAAC,QAA8D;QACpE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE7B,OAAO,GAAG,EAAE;YACR,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC,CAAC;IACN,CAAC;CACJ"}
|
package/dist/native/PeerState.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { PeerKnownStates } from "./PeerKnownStates.js";
|
|
1
2
|
import { CO_VALUE_PRIORITY } from "./priority.js";
|
|
2
3
|
import { PriorityBasedMessageQueue, } from "./PriorityBasedMessageQueue.js";
|
|
3
4
|
export class PeerState {
|
|
4
5
|
constructor(peer) {
|
|
5
6
|
this.peer = peer;
|
|
6
|
-
this.optimisticKnownStates =
|
|
7
|
+
this.optimisticKnownStates = new PeerKnownStates();
|
|
7
8
|
this.toldKnownState = new Set();
|
|
8
9
|
/**
|
|
9
10
|
* We set as default priority HIGH to handle all the messages without a
|
|
@@ -27,6 +28,9 @@ export class PeerState {
|
|
|
27
28
|
get crashOnClose() {
|
|
28
29
|
return this.peer.crashOnClose;
|
|
29
30
|
}
|
|
31
|
+
isServerOrStoragePeer() {
|
|
32
|
+
return this.peer.role === "server" || this.peer.role === "storage";
|
|
33
|
+
}
|
|
30
34
|
async processQueue() {
|
|
31
35
|
if (this.processing) {
|
|
32
36
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PeerState.js","sourceRoot":"","sources":["../../src/PeerState.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACH,yBAAyB,GAE5B,MAAM,gCAAgC,CAAC;AAGxC,MAAM,OAAO,SAAS;IAClB,YAAoB,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;QAErB,0BAAqB,
|
|
1
|
+
{"version":3,"file":"PeerState.js","sourceRoot":"","sources":["../../src/PeerState.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACH,yBAAyB,GAE5B,MAAM,gCAAgC,CAAC;AAGxC,MAAM,OAAO,SAAS;IAClB,YAAoB,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;QAErB,0BAAqB,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,mBAAc,GAAiB,IAAI,GAAG,EAAE,CAAC;QAsBlD;;;;;WAKG;QACK,UAAK,GAAG,IAAI,yBAAyB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9D,eAAU,GAAG,KAAK,CAAC;QACpB,WAAM,GAAG,KAAK,CAAC;IAjCW,CAAC;IAKlC,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;IAClC,CAAC;IAED,qBAAqB;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;IACvE,CAAC;IAYD,KAAK,CAAC,YAAY;QACd,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAGvB,IAAI,KAA6B,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACjC,kDAAkD;YAClD,gEAAgE;YAChE,oDAAoD;YACpD,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ;iBACnB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;iBACf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;iBACnB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,mBAAmB,CAAC,GAAgB;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAErC,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QAEzB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,IAAI,QAAQ;QACR,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,SAAS,CAAC;gBACnB,MAAM,cAAuB,CAAC;YAClC,CAAC,CAAC,EAAE,CAAC;QACT,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED,gBAAgB;QACZ,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACvB,CAAC;CACJ"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
function createResolvablePromise() {
|
|
2
|
+
let resolve;
|
|
3
|
+
const promise = new Promise((res) => {
|
|
4
|
+
resolve = res;
|
|
5
|
+
});
|
|
6
|
+
return { promise, resolve };
|
|
7
|
+
}
|
|
8
|
+
class CoValueUnknownState {
|
|
9
|
+
constructor(peersIds) {
|
|
10
|
+
this.type = "unknown";
|
|
11
|
+
this.peers = new Map();
|
|
12
|
+
for (const peerId of peersIds) {
|
|
13
|
+
this.peers.set(peerId, createResolvablePromise());
|
|
14
|
+
}
|
|
15
|
+
const { resolve, promise } = createResolvablePromise();
|
|
16
|
+
this.ready = promise;
|
|
17
|
+
this.resolve = resolve;
|
|
18
|
+
}
|
|
19
|
+
update(peerId, value) {
|
|
20
|
+
const entry = this.peers.get(peerId);
|
|
21
|
+
if (entry) {
|
|
22
|
+
entry.resolve(value);
|
|
23
|
+
}
|
|
24
|
+
if (value === "available") {
|
|
25
|
+
this.resolve("available");
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
this.peers.delete(peerId);
|
|
29
|
+
// If none of the peers have the coValue, we resolve to unavailable
|
|
30
|
+
if (this.peers.size === 0) {
|
|
31
|
+
this.resolve("unavailable");
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// Wait for a specific peer to have a known state
|
|
35
|
+
waitForPeer(peerId) {
|
|
36
|
+
const entry = this.peers.get(peerId);
|
|
37
|
+
if (!entry) {
|
|
38
|
+
return Promise.resolve();
|
|
39
|
+
}
|
|
40
|
+
return entry.promise;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
class CoValueAvailableState {
|
|
44
|
+
constructor(coValue) {
|
|
45
|
+
this.coValue = coValue;
|
|
46
|
+
this.type = "available";
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
export class CoValueState {
|
|
50
|
+
constructor(state) {
|
|
51
|
+
this.state = state;
|
|
52
|
+
}
|
|
53
|
+
static Unknown(peersToWaitFor) {
|
|
54
|
+
return new CoValueState(new CoValueUnknownState(peersToWaitFor));
|
|
55
|
+
}
|
|
56
|
+
static Available(coValue) {
|
|
57
|
+
return new CoValueState(new CoValueAvailableState(coValue));
|
|
58
|
+
}
|
|
59
|
+
dispatch(action) {
|
|
60
|
+
if (this.state.type === "available") {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
switch (action.type) {
|
|
64
|
+
case "not-found":
|
|
65
|
+
this.state.update(action.peerId, "unavailable");
|
|
66
|
+
break;
|
|
67
|
+
case "found":
|
|
68
|
+
this.state.update(action.peerId, "available");
|
|
69
|
+
this.state = new CoValueAvailableState(action.coValue);
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=coValueState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coValueState.js","sourceRoot":"","sources":["../../src/coValueState.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { CoValueCore, MAX_RECOMMENDED_TX_SIZE, idforHeader, } from "./coValueCore.js";
|
|
2
|
+
import { accountOrAgentIDfromSessionID } from "./typeUtils/accountOrAgentIDfromSessionID.js";
|
|
3
|
+
import { LocalNode } from "./localNode.js";
|
|
4
|
+
import { RawCoMap } from "./coValues/coMap.js";
|
|
5
|
+
import { RawCoList } from "./coValues/coList.js";
|
|
6
|
+
import { RawCoStream, RawBinaryCoStream } from "./coValues/coStream.js";
|
|
7
|
+
import { secretSeedLength, shortHashLength, StreamingHash, CryptoProvider, } from "./crypto/crypto.js";
|
|
8
|
+
import { connectedPeers, Channel } from "./streamUtils.js";
|
|
9
|
+
import { ControlledAgent, RawControlledAccount } from "./coValues/account.js";
|
|
10
|
+
import { rawCoIDtoBytes, rawCoIDfromBytes, isRawCoID } from "./ids.js";
|
|
11
|
+
import { RawGroup, EVERYONE } from "./coValues/group.js";
|
|
12
|
+
import { base64URLtoBytes, bytesToBase64url } from "./base64url.js";
|
|
13
|
+
import { parseJSON } from "./jsonStringify.js";
|
|
14
|
+
import { RawAccount, RawProfile, accountHeaderForInitialAgentSecret, } from "./coValues/account.js";
|
|
15
|
+
import { expectGroup } from "./typeUtils/expectGroup.js";
|
|
16
|
+
import { isAccountID } from "./typeUtils/isAccountID.js";
|
|
17
|
+
import { LSMStorage } from "./storage/index.js";
|
|
18
|
+
import { getPriorityFromHeader } from "./priority.js";
|
|
19
|
+
/** @hidden */
|
|
20
|
+
export const cojsonInternals = {
|
|
21
|
+
connectedPeers,
|
|
22
|
+
rawCoIDtoBytes,
|
|
23
|
+
rawCoIDfromBytes,
|
|
24
|
+
secretSeedLength,
|
|
25
|
+
shortHashLength,
|
|
26
|
+
expectGroup,
|
|
27
|
+
base64URLtoBytes,
|
|
28
|
+
bytesToBase64url,
|
|
29
|
+
parseJSON,
|
|
30
|
+
accountOrAgentIDfromSessionID,
|
|
31
|
+
isAccountID,
|
|
32
|
+
accountHeaderForInitialAgentSecret,
|
|
33
|
+
idforHeader,
|
|
34
|
+
StreamingHash,
|
|
35
|
+
Channel,
|
|
36
|
+
getPriorityFromHeader,
|
|
37
|
+
};
|
|
38
|
+
export { LocalNode, RawGroup, EVERYONE, RawCoMap, RawCoList, RawCoStream, RawBinaryCoStream, RawAccount, RawProfile as Profile, CoValueCore, ControlledAgent, RawControlledAccount, MAX_RECOMMENDED_TX_SIZE, CryptoProvider, isRawCoID, LSMStorage, };
|
|
39
|
+
//# sourceMappingURL=exports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EAEX,uBAAuB,EACvB,WAAW,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EACH,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,cAAc,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACH,UAAU,EACV,UAAU,EACV,kCAAkC,GACrC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AA2BzD,OAAO,EAAE,UAAU,EAA8B,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,cAAc;AACd,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,WAAW;IACX,gBAAgB;IAChB,gBAAgB;IAChB,SAAS;IACT,6BAA6B;IAC7B,WAAW;IACX,kCAAkC;IAClC,WAAW;IACX,aAAa;IACb,OAAO;IACP,qBAAqB;CACxB,CAAC;AAEF,OAAO,EACH,SAAS,EACT,QAAQ,EAER,QAAQ,EAER,QAAQ,EACR,SAAS,EACT,WAAW,EACX,iBAAiB,EAIjB,UAAU,EAIV,UAAU,IAAI,OAAO,EAGrB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EAQvB,cAAc,EAEd,SAAS,EACT,UAAU,GACb,CAAC"}
|
|
@@ -1,40 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { accountOrAgentIDfromSessionID } from "./typeUtils/accountOrAgentIDfromSessionID.js";
|
|
4
|
-
import { LocalNode } from "./localNode.js";
|
|
5
|
-
import { RawCoMap } from "./coValues/coMap.js";
|
|
6
|
-
import { RawCoList } from "./coValues/coList.js";
|
|
7
|
-
import { RawCoStream, RawBinaryCoStream } from "./coValues/coStream.js";
|
|
8
|
-
import { secretSeedLength, shortHashLength, StreamingHash, CryptoProvider, } from "./crypto/crypto.js";
|
|
9
|
-
import { connectedPeers, Channel } from "./streamUtils.js";
|
|
10
|
-
import { ControlledAgent, RawControlledAccount } from "./coValues/account.js";
|
|
11
|
-
import { rawCoIDtoBytes, rawCoIDfromBytes, isRawCoID } from "./ids.js";
|
|
12
|
-
import { RawGroup, EVERYONE } from "./coValues/group.js";
|
|
13
|
-
import { base64URLtoBytes, bytesToBase64url } from "./base64url.js";
|
|
14
|
-
import { parseJSON } from "./jsonStringify.js";
|
|
15
|
-
import { RawAccount, RawProfile, accountHeaderForInitialAgentSecret, } from "./coValues/account.js";
|
|
16
|
-
import { expectGroup } from "./typeUtils/expectGroup.js";
|
|
17
|
-
import { isAccountID } from "./typeUtils/isAccountID.js";
|
|
18
|
-
import { LSMStorage } from "./storage/index.js";
|
|
19
|
-
import { getPriorityFromHeader } from "./priority.js";
|
|
20
|
-
/** @hidden */
|
|
21
|
-
export const cojsonInternals = {
|
|
22
|
-
connectedPeers,
|
|
23
|
-
rawCoIDtoBytes,
|
|
24
|
-
rawCoIDfromBytes,
|
|
25
|
-
secretSeedLength,
|
|
26
|
-
shortHashLength,
|
|
27
|
-
expectGroup,
|
|
28
|
-
base64URLtoBytes,
|
|
29
|
-
bytesToBase64url,
|
|
30
|
-
parseJSON,
|
|
31
|
-
accountOrAgentIDfromSessionID,
|
|
32
|
-
isAccountID,
|
|
33
|
-
accountHeaderForInitialAgentSecret,
|
|
34
|
-
idforHeader,
|
|
35
|
-
StreamingHash,
|
|
36
|
-
Channel,
|
|
37
|
-
getPriorityFromHeader,
|
|
38
|
-
};
|
|
39
|
-
export { LocalNode, RawGroup, EVERYONE, RawCoMap, RawCoList, RawCoStream, RawBinaryCoStream, RawAccount, RawProfile as Profile, CoValueCore, ControlledAgent, RawControlledAccount, MAX_RECOMMENDED_TX_SIZE, CryptoProvider, isRawCoID, LSMStorage, PureJSCrypto, };
|
|
1
|
+
export * from "./exports.js";
|
|
2
|
+
export { PureJSCrypto } from "./crypto/PureJSCrypto.js";
|
|
40
3
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","sourceRoot":"","sources":["../../src/index.native.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.native.js","sourceRoot":"","sources":["../../src/index.native.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/native/localNode.js
CHANGED
|
@@ -5,9 +5,10 @@ import { isAgentID } from "./ids.js";
|
|
|
5
5
|
import { accountHeaderForInitialAgentSecret, RawControlledAccount, ControlledAgent, } from "./coValues/account.js";
|
|
6
6
|
import { expectGroup } from "./typeUtils/expectGroup.js";
|
|
7
7
|
import { err, ok, okAsync, ResultAsync } from "neverthrow";
|
|
8
|
+
import { CoValueState } from "./coValueState.js";
|
|
8
9
|
/** A `LocalNode` represents a local view of a set of loaded `CoValue`s, from the perspective of a particular account (or primitive cryptographic agent).
|
|
9
10
|
|
|
10
|
-
A `LocalNode` can have peers that it syncs to, for example some form of local persistence, or a sync server, such as `
|
|
11
|
+
A `LocalNode` can have peers that it syncs to, for example some form of local persistence, or a sync server, such as `cloud.jazz.tools` (Jazz Cloud).
|
|
11
12
|
|
|
12
13
|
@example
|
|
13
14
|
You typically get hold of a `LocalNode` using `jazz-react`'s `useJazz()`:
|
|
@@ -53,10 +54,7 @@ export class LocalNode {
|
|
|
53
54
|
}
|
|
54
55
|
const controlledAccount = new RawControlledAccount(accountOnNodeWithAccount.core, accountOnNodeWithAccount.agentSecret);
|
|
55
56
|
nodeWithAccount.account = controlledAccount;
|
|
56
|
-
nodeWithAccount.coValues[controlledAccount.id] =
|
|
57
|
-
state: "loaded",
|
|
58
|
-
coValue: controlledAccount.core,
|
|
59
|
-
};
|
|
57
|
+
nodeWithAccount.coValues[controlledAccount.id] = CoValueState.Available(controlledAccount.core);
|
|
60
58
|
controlledAccount.core._cachedContent = undefined;
|
|
61
59
|
if (!controlledAccount.get("profile")) {
|
|
62
60
|
throw new Error("Must set account profile in initial migration");
|
|
@@ -64,8 +62,8 @@ export class LocalNode {
|
|
|
64
62
|
// we shouldn't need this, but it fixes account data not syncing for new accounts
|
|
65
63
|
function syncAllCoValuesAfterCreateAccount() {
|
|
66
64
|
for (const coValueEntry of Object.values(nodeWithAccount.coValues)) {
|
|
67
|
-
if (coValueEntry.state === "
|
|
68
|
-
void nodeWithAccount.syncManager.syncCoValue(coValueEntry.coValue);
|
|
65
|
+
if (coValueEntry.state.type === "available") {
|
|
66
|
+
void nodeWithAccount.syncManager.syncCoValue(coValueEntry.state.coValue);
|
|
69
67
|
}
|
|
70
68
|
}
|
|
71
69
|
}
|
|
@@ -96,10 +94,7 @@ export class LocalNode {
|
|
|
96
94
|
node.syncManager = loadingNode.syncManager;
|
|
97
95
|
node.syncManager.local = node;
|
|
98
96
|
controlledAccount.core.node = node;
|
|
99
|
-
node.coValues[accountID] =
|
|
100
|
-
state: "loaded",
|
|
101
|
-
coValue: controlledAccount.core,
|
|
102
|
-
};
|
|
97
|
+
node.coValues[accountID] = CoValueState.Available(controlledAccount.core);
|
|
103
98
|
controlledAccount.core._cachedContent = undefined;
|
|
104
99
|
const profileID = account.get("profile");
|
|
105
100
|
if (!profileID) {
|
|
@@ -128,7 +123,7 @@ export class LocalNode {
|
|
|
128
123
|
});
|
|
129
124
|
}
|
|
130
125
|
const coValue = new CoValueCore(header, this);
|
|
131
|
-
this.coValues[coValue.id] =
|
|
126
|
+
this.coValues[coValue.id] = CoValueState.Available(coValue);
|
|
132
127
|
void this.syncManager.syncCoValue(coValue);
|
|
133
128
|
return coValue;
|
|
134
129
|
}
|
|
@@ -142,11 +137,11 @@ export class LocalNode {
|
|
|
142
137
|
let entry = this.coValues[id];
|
|
143
138
|
if (!entry) {
|
|
144
139
|
const peersToWaitFor = new Set(Object.values(this.syncManager.peers)
|
|
145
|
-
.filter((peer) => peer.
|
|
140
|
+
.filter((peer) => peer.isServerOrStoragePeer())
|
|
146
141
|
.map((peer) => peer.id));
|
|
147
142
|
if (options.dontWaitFor)
|
|
148
143
|
peersToWaitFor.delete(options.dontWaitFor);
|
|
149
|
-
entry =
|
|
144
|
+
entry = CoValueState.Unknown(peersToWaitFor);
|
|
150
145
|
this.coValues[id] = entry;
|
|
151
146
|
this.syncManager
|
|
152
147
|
.loadFromPeers(id, options.dontLoadFrom)
|
|
@@ -154,10 +149,15 @@ export class LocalNode {
|
|
|
154
149
|
console.error("Error loading from peers", id, e);
|
|
155
150
|
});
|
|
156
151
|
}
|
|
157
|
-
if (entry.state === "
|
|
158
|
-
return Promise.resolve(entry.coValue);
|
|
152
|
+
if (entry.state.type === "available") {
|
|
153
|
+
return Promise.resolve(entry.state.coValue);
|
|
154
|
+
}
|
|
155
|
+
await entry.state.ready;
|
|
156
|
+
const updatedEntry = this.coValues[id];
|
|
157
|
+
if (updatedEntry?.state.type === "available") {
|
|
158
|
+
return Promise.resolve(updatedEntry.state.coValue);
|
|
159
159
|
}
|
|
160
|
-
return
|
|
160
|
+
return "unavailable";
|
|
161
161
|
}
|
|
162
162
|
/**
|
|
163
163
|
* Loads a CoValue's content, syncing from peers as necessary and resolving the returned
|
|
@@ -166,8 +166,8 @@ export class LocalNode {
|
|
|
166
166
|
*
|
|
167
167
|
* @category 3. Low-level
|
|
168
168
|
*/
|
|
169
|
-
async load(id
|
|
170
|
-
const core = await this.loadCoValueCore(id
|
|
169
|
+
async load(id) {
|
|
170
|
+
const core = await this.loadCoValueCore(id);
|
|
171
171
|
if (core === "unavailable") {
|
|
172
172
|
return "unavailable";
|
|
173
173
|
}
|
|
@@ -178,8 +178,8 @@ export class LocalNode {
|
|
|
178
178
|
if (!entry) {
|
|
179
179
|
return undefined;
|
|
180
180
|
}
|
|
181
|
-
if (entry.state === "
|
|
182
|
-
return entry.coValue.getCurrentContent();
|
|
181
|
+
if (entry.state.type === "available") {
|
|
182
|
+
return entry.state.coValue.getCurrentContent();
|
|
183
183
|
}
|
|
184
184
|
return undefined;
|
|
185
185
|
}
|
|
@@ -263,10 +263,10 @@ export class LocalNode {
|
|
|
263
263
|
if (!entry) {
|
|
264
264
|
throw new Error(`${expectation ? expectation + ": " : ""}Unknown CoValue ${id}`);
|
|
265
265
|
}
|
|
266
|
-
if (entry.state === "
|
|
266
|
+
if (entry.state.type === "unknown") {
|
|
267
267
|
throw new Error(`${expectation ? expectation + ": " : ""}CoValue ${id} not yet loaded`);
|
|
268
268
|
}
|
|
269
|
-
return entry.coValue;
|
|
269
|
+
return entry.state.coValue;
|
|
270
270
|
}
|
|
271
271
|
/** @internal */
|
|
272
272
|
expectProfileLoaded(id, expectation) {
|
|
@@ -395,24 +395,22 @@ export class LocalNode {
|
|
|
395
395
|
const coValuesToCopy = Object.entries(this.coValues);
|
|
396
396
|
while (coValuesToCopy.length > 0) {
|
|
397
397
|
const [coValueID, entry] = coValuesToCopy[coValuesToCopy.length - 1];
|
|
398
|
-
if (entry.state === "
|
|
398
|
+
if (entry.state.type === "unknown") {
|
|
399
399
|
coValuesToCopy.pop();
|
|
400
400
|
continue;
|
|
401
401
|
}
|
|
402
402
|
else {
|
|
403
|
-
const allDepsCopied = entry.coValue
|
|
403
|
+
const allDepsCopied = entry.state.coValue
|
|
404
404
|
.getDependedOnCoValues()
|
|
405
|
-
.every((dep) => newNode.coValues[dep]?.state === "
|
|
405
|
+
.every((dep) => newNode.coValues[dep]?.state.type === "available");
|
|
406
406
|
if (!allDepsCopied) {
|
|
407
407
|
// move to end of queue
|
|
408
408
|
coValuesToCopy.unshift(coValuesToCopy.pop());
|
|
409
409
|
continue;
|
|
410
410
|
}
|
|
411
|
-
const newCoValue = new CoValueCore(entry.coValue.header, newNode, new Map(entry.coValue.sessionLogs));
|
|
412
|
-
newNode.coValues[coValueID] =
|
|
413
|
-
|
|
414
|
-
coValue: newCoValue,
|
|
415
|
-
};
|
|
411
|
+
const newCoValue = new CoValueCore(entry.state.coValue.header, newNode, new Map(entry.state.coValue.sessionLogs));
|
|
412
|
+
newNode.coValues[coValueID] =
|
|
413
|
+
CoValueState.Available(newCoValue);
|
|
416
414
|
coValuesToCopy.pop();
|
|
417
415
|
}
|
|
418
416
|
}
|
|
@@ -430,24 +428,4 @@ export class LocalNode {
|
|
|
430
428
|
this.syncManager.gracefulShutdown();
|
|
431
429
|
}
|
|
432
430
|
}
|
|
433
|
-
/** @internal */
|
|
434
|
-
export function newLoadingState(currentPeerIds, onProgress) {
|
|
435
|
-
let resolve;
|
|
436
|
-
const promise = new Promise((r) => {
|
|
437
|
-
resolve = r;
|
|
438
|
-
});
|
|
439
|
-
return {
|
|
440
|
-
state: "loading",
|
|
441
|
-
done: promise,
|
|
442
|
-
resolve: resolve,
|
|
443
|
-
onProgress,
|
|
444
|
-
firstPeerState: Object.fromEntries([...currentPeerIds].map((id) => {
|
|
445
|
-
let resolve;
|
|
446
|
-
const done = new Promise((r) => {
|
|
447
|
-
resolve = r;
|
|
448
|
-
});
|
|
449
|
-
return [id, { type: "waiting", done, resolve: resolve }];
|
|
450
|
-
})),
|
|
451
|
-
};
|
|
452
|
-
}
|
|
453
431
|
//# sourceMappingURL=localNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localNode.js","sourceRoot":"","sources":["../../src/localNode.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"localNode.js","sourceRoot":"","sources":["../../src/localNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ export class LSMStorage {
|
|
|
25
25
|
if (msg.action === "content") {
|
|
26
26
|
await this.handleNewContent(msg);
|
|
27
27
|
}
|
|
28
|
-
else {
|
|
28
|
+
else if (msg.action === 'load' || msg.action === 'known') {
|
|
29
29
|
await this.sendNewContent(msg.id, msg, undefined);
|
|
30
30
|
}
|
|
31
31
|
}
|
|
@@ -336,7 +336,7 @@ export class LSMStorage {
|
|
|
336
336
|
static asPeer({ fs, trace, localNodeName = "local", }) {
|
|
337
337
|
const [localNodeAsPeer, storageAsPeer] = connectedPeers(localNodeName, "storage", {
|
|
338
338
|
peer1role: "client",
|
|
339
|
-
peer2role: "
|
|
339
|
+
peer2role: "storage",
|
|
340
340
|
trace,
|
|
341
341
|
crashOnClose: true,
|
|
342
342
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACH,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,GACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAKH,SAAS,EACT,UAAU,EACV,WAAW,EACX,UAAU,EACV,UAAU,GACb,MAAM,iBAAiB,CAAC;AAGzB,MAAM,YAAY,GAAG,CAAC,CAAC;AAavB,MAAM,OAAO,UAAU;IAenB,YACW,EAAM,EACN,aAAiC,EACjC,WAA8B;QAF9B,OAAE,GAAF,EAAE,CAAI;QACN,kBAAa,GAAb,aAAa,CAAoB;QACjC,gBAAW,GAAX,WAAW,CAAmB;QAZzC,gBAAW,GAAG,IAAI,GAAG,EAGlB,CAAC;QACJ,qBAAgB,GAAG,IAAI,GAAG,EAGvB,CAAC;QAOA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,IAAI,IAAI,GAAG,CAAC,CAAC;QAEb,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;YAC/B,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;gBACvC,IAAI,CAAC;oBACD,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;wBAClD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;oBACvD,CAAC;oBACD,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBACxB,OAAO;oBACX,CAAC;oBAED,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC3B,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;oBACrC,CAAC;yBAAM,CAAC;wBACJ,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;oBACtD,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,OAAO,CAAC,KAAK,CACT,IAAI,KAAK,CACL,iDAAiD,IAAI,CAAC,SAAS,CAC3D,GAAG,EACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACL,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,kBAAkB;wBACvC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;wBACxB,CAAC,CAAC,CAAC,CACd,EAAE,EACH,EAAE,KAAK,EAAE,CAAC,EAAE,CACf,CACJ,CAAC;gBACN,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;gBACrC,IAAI,EAAE,CAAC;YACX,CAAC;QACL,CAAC,CAAC;QAEF,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1B,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAC1D,CAAC;QAEF,UAAU,CACN,GAAG,EAAE,CACD,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACvB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,EACN,KAAK,CACR,CAAC;IACN,CAAC;IAED,KAAK,CAAC,cAAc,CAChB,EAAW,EACX,KAAoC,EACpC,cAAmC;QAEnC,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEhC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,IAAI,CAAC,WAAW;iBACX,IAAI,CAAC;gBACF,EAAE,EAAE,EAAE;gBACN,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,EAAE;gBACZ,cAAc;aACjB,CAAC;iBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC,CAAC;YAEjE,OAAO;QACX,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACpE,MAAM,IAAI,CAAC,cAAc,CACrB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAC5B,SAAS,EACT,cAAc,IAAI,EAAE,CACvB,CAAC;QACN,CAAC;aAAM,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACpE,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;YACrC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC1D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC1B,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;wBAClC,IAAI,EAAE,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;4BAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;4BAC7C,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;gCACjC,IACI,MAAM,CAAC,EAAE,KAAK,KAAK;oCACnB,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAC9B,CAAC;oCACC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gCACvC,CAAC;4BACL,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;gBACvC,MAAM,IAAI,CAAC,cAAc,CACrB,OAA2B,EAC3B,SAAS,EACT,cAAc,IAAI,EAAE,CACvB,CAAC;YACN,CAAC;QACL,CAAC;QAED,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,CAChE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,CAAC,CAChD,CAAC;QAEF,MAAM,QAAQ,GAAsB,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAEnE,IAAI,CAAC,WAAW;aACX,IAAI,CAAC;YACF,MAAM,EAAE,OAAO;YACf,GAAG,QAAQ;YACX,cAAc;SACjB,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC,CAAC;QAEjE,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;YACvC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACpD,IAAI,CAAC,WAAW;iBACX,IAAI,CAAC,OAAO,CAAC;iBACb,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,CAAC,CAAC,CACtD,CAAC;QACV,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAmC;QAC7C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CACtC,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE;iBAC7B,QAAQ,CAAC,EAAE,CAAC;iBACZ,KAAK,CAAC,CAAC,CAAC,QAAQ,CACxB,CAAC;QACN,CAAC;QACD,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAA6B;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAE7C,MAAM,iBAAiB,GAAiB;YACpC,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,cAAc,EAAE,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAC9B,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC;gBAC3B,SAAS;gBACT;oBACI;wBACI,KAAK,EAAE,YAAY,CAAC,KAAK;wBACzB,aAAa,EAAE,YAAY,CAAC,aAAa;wBACzC,YAAY,EAAE,YAAY,CAAC,eAAe;qBAC7C;iBACJ;aACJ,CACJ,CACJ;SACJ,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gBACpB,iDAAiD;gBACjD,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACvB,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAC7D,CAAC;gBAEF,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,IAAI,CACR,mCAAmC,GAAG,UAAU,CAAC,EAAE,CACtD,CAAC;gBACF,OAAO;YACX,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;YACvD,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;gBAC5B,OAAO,CAAC,IAAI,CACR,gCAAgC,GAAG,UAAU,CAAC,EAAE,EAChD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CACtC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CACnB,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACpB,OAAO,EAAE,OAAO;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM;iBACpC,CAAC,CAAC,CACV,EACD,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,GAAG,CAChD,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CACnB,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACpB,OAAO,EAAE,OAAO;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM;iBACpC,CAAC,CAAC,CACV,CACJ,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,kDAAkD;gBAClD,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACvB,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAC7D,CAAC;gBAEF,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;YAC1C,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAChB,SAAwB,EACxB,EAAM;QAEN,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAW,EAAE,EAAM;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,MAAM,UAAU,GACZ,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAC9C,CAAC,IAAI,EAAE,CAAC;QAET,IAAI,MAAM,CAAC;QAEX,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,IAAI,YAAY,GAEE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAElD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAElE,oDAAoD;YAEpD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,YAAY,GAAG,EAAE,CAAC;gBAClB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC7D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBACzB,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG;wBACrB,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;qBACvB,CAAC;gBACN,CAAC;gBAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAClD,CAAC;YACD,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;YAErC,gDAAgD;YAEhD,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;gBAC3D,IAAI,MAAM,EAAE,CAAC;oBACT,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;oBAE9C,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;wBAC5B,OAAO,CAAC,IAAI,CACR,qCAAqC,GAAG,EAAE,EAC1C,MAAM,EACN,SAAS,CACZ,CAAC;oBACN,CAAC;yBAAM,CAAC;wBACJ,MAAM,GAAG,MAAM,CAAC;oBACpB,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,MAAM,GAAG,SAAS,CAAC;gBACvB,CAAC;YACL,CAAC;YAED,0BAA0B;QAC9B,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,OAAO;QACT,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;QAE5C,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACvC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CACT,CAAC;QACnB,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEhB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;QAElD,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAElC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAC9B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAClB,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACb,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC5B,SAAS;YACb,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAElD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAa,CAAC;gBAE3C,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAE7C,IAAI,aAAa,EAAE,CAAC;oBAChB,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;oBACjD,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;wBAC5B,OAAO,CAAC,GAAG,CACP,0BAA0B;4BACtB,KAAK,CAAC,EAAE;4BACR,IAAI;4BACJ,QAAQ,EACZ,aAAa,EACb,KAAK,CACR,CAAC;oBACN,CAAC;yBAAM,CAAC;wBACJ,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBACnC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBAClC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,kBAAkB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACtD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,YAAY,CAAC,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;gBAC1C,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;oBACZ,OAAO,GAAG,CAAC;gBACf,CAAC;YACL,CAAC;YACD,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,CAAC,CAAC,CAAC;QAEN,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAEjE,MAAM,UAAU,CACZ,QAAQ,EACR,YAAY,EACZ,kBAAkB,GAAG,CAAC,EACtB,IAAI,CAAC,EAAE,CACV,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;QAE7C,MAAM,UAAU,GACZ,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CACnD,CAAC,IAAI,EAAE,CAAC;QAET,MAAM,wBAAwB,GAE1B,EAAE,CAAC;QAEP,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,wBAAwB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACzC,CAAC;YACD,wBAAwB,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAEtC,KAAK,IAAI,KAAK,GAAG,YAAY,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YAChD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC1C,MAAM,aAAa,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAEtD,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;gBAEhE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;gBAElD,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;oBACpC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAClB,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;oBAElD,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;wBACb,SAAS;oBACb,CAAC;oBACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAC3B,SAAS,EACT,MAAM,EACN,IAAI,EACJ,IAAI,CAAC,EAAE,CACV,CAAC;oBACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBACzB,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;wBAEtD,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBAE7C,IAAI,aAAa,EAAE,CAAC;4BAChB,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;4BACjD,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;gCAC5B,OAAO,CAAC,GAAG,CACP,0BAA0B;oCACtB,KAAK,CAAC,EAAE;oCACR,IAAI;oCACJ,SAAS,EACb,aAAa,EACb,KAAK,CACR,CAAC;4BACN,CAAC;iCAAM,CAAC;gCACJ,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;4BACnC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACJ,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;wBAClC,CAAC;oBACL,CAAC;gBACL,CAAC;gBAED,IAAI,UAAU,GAAG,wBAAwB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACrD,IAAI,CAAC,UAAU,EAAE,CAAC;oBACd,UAAU,GAAG,EAAE,CAAC;oBAChB,wBAAwB,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC;gBACrD,CAAC;gBAED,MAAM,8BAA8B,GAAG,UAAU,CAAC,MAAM,CACpD,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oBACV,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;oBAC1C,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;wBACZ,OAAO,GAAG,CAAC;oBACf,CAAC;oBACD,OAAO,GAAG,CAAC;gBACf,CAAC,EACD,CAAC,CACJ,CAAC;gBAEF,MAAM,YAAY,GAAG,MAAM,UAAU,CACjC,QAAQ,EACR,KAAK,GAAG,CAAC,EACT,8BAA8B,GAAG,CAAC,EAClC,IAAI,CAAC,EAAE,CACV,CAAC;gBACF,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAE9B,wCAAwC;gBACxC,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;oBACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CACpC,SAAS,EACT,IAAI,CAAC,EAAE,CACV,CAAC;oBACF,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACnC,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;oBACpC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC5C,CAAC;YACL,CAAC;QACL,CAAC;QAED,UAAU,CACN,GAAG,EAAE,CACD,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACvB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,EACN,IAAI,CACP,CAAC;IACN,CAAC;IAED,MAAM,CAAC,MAAM,CAAwC,EACjD,EAAE,EACF,KAAK,EACL,aAAa,GAAG,OAAO,GAK1B;QACG,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,GAAG,cAAc,CACnD,aAAa,EACb,SAAS,EACT;YACI,SAAS,EAAE,QAAQ;YACnB,SAAS,EAAE,QAAQ;YACnB,KAAK;YACL,YAAY,EAAE,IAAI;SACrB,CACJ,CAAC;QAEF,IAAI,UAAU,CAAC,EAAE,EAAE,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEvE,8CAA8C;QAC9C,OAAO,aAAa,CAAC;IACzB,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"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"}
|