@optimystic/db-p2p 0.22.0 → 0.24.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/dist/src/cluster/client.d.ts +10 -0
- package/dist/src/cluster/client.d.ts.map +1 -1
- package/dist/src/cluster/client.js +30 -1
- package/dist/src/cluster/client.js.map +1 -1
- package/dist/src/cluster/cluster-repo.d.ts +39 -14
- package/dist/src/cluster/cluster-repo.d.ts.map +1 -1
- package/dist/src/cluster/cluster-repo.js +226 -119
- package/dist/src/cluster/cluster-repo.js.map +1 -1
- package/dist/src/cluster/service.d.ts +32 -1
- package/dist/src/cluster/service.d.ts.map +1 -1
- package/dist/src/cluster/service.js +43 -2
- package/dist/src/cluster/service.js.map +1 -1
- package/dist/src/cohort-topic/stream-util.d.ts +22 -6
- package/dist/src/cohort-topic/stream-util.d.ts.map +1 -1
- package/dist/src/cohort-topic/stream-util.js +56 -10
- package/dist/src/cohort-topic/stream-util.js.map +1 -1
- package/dist/src/dispute/dispute-service.d.ts.map +1 -1
- package/dist/src/dispute/dispute-service.js +9 -3
- package/dist/src/dispute/dispute-service.js.map +1 -1
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/libp2p-key-network.d.ts +88 -2
- package/dist/src/libp2p-key-network.d.ts.map +1 -1
- package/dist/src/libp2p-key-network.js +134 -28
- package/dist/src/libp2p-key-network.js.map +1 -1
- package/dist/src/libp2p-node-base.d.ts.map +1 -1
- package/dist/src/libp2p-node-base.js +25 -1
- package/dist/src/libp2p-node-base.js.map +1 -1
- package/dist/src/logger.d.ts +17 -1
- package/dist/src/logger.d.ts.map +1 -1
- package/dist/src/logger.js +19 -2
- package/dist/src/logger.js.map +1 -1
- package/dist/src/owned-block-seed.d.ts +6 -3
- package/dist/src/owned-block-seed.d.ts.map +1 -1
- package/dist/src/owned-block-seed.js +16 -3
- package/dist/src/owned-block-seed.js.map +1 -1
- package/dist/src/peer-address-book.d.ts +72 -0
- package/dist/src/peer-address-book.d.ts.map +1 -0
- package/dist/src/peer-address-book.js +123 -0
- package/dist/src/peer-address-book.js.map +1 -0
- package/dist/src/repo/client.d.ts.map +1 -1
- package/dist/src/repo/client.js +11 -2
- package/dist/src/repo/client.js.map +1 -1
- package/dist/src/repo/cluster-coordinator.d.ts +30 -0
- package/dist/src/repo/cluster-coordinator.d.ts.map +1 -1
- package/dist/src/repo/cluster-coordinator.js +95 -3
- package/dist/src/repo/cluster-coordinator.js.map +1 -1
- package/dist/src/repo/coordinator-repo.d.ts +62 -9
- package/dist/src/repo/coordinator-repo.d.ts.map +1 -1
- package/dist/src/repo/coordinator-repo.js +242 -73
- package/dist/src/repo/coordinator-repo.js.map +1 -1
- package/dist/src/rn.d.ts +3 -0
- package/dist/src/rn.d.ts.map +1 -1
- package/dist/src/rn.js +3 -0
- package/dist/src/rn.js.map +1 -1
- package/dist/src/storage/cached-raw-storage.d.ts +83 -0
- package/dist/src/storage/cached-raw-storage.d.ts.map +1 -0
- package/dist/src/storage/cached-raw-storage.js +152 -0
- package/dist/src/storage/cached-raw-storage.js.map +1 -0
- package/dist/src/storage/cached-store-driver.d.ts +186 -0
- package/dist/src/storage/cached-store-driver.d.ts.map +1 -0
- package/dist/src/storage/cached-store-driver.js +775 -0
- package/dist/src/storage/cached-store-driver.js.map +1 -0
- package/dist/src/storage/i-raw-storage.d.ts +12 -5
- package/dist/src/storage/i-raw-storage.d.ts.map +1 -1
- package/dist/src/storage/shared-cache-pool.d.ts +234 -0
- package/dist/src/storage/shared-cache-pool.d.ts.map +1 -0
- package/dist/src/storage/shared-cache-pool.js +354 -0
- package/dist/src/storage/shared-cache-pool.js.map +1 -0
- package/dist/src/testing/raw-storage-conformance.d.ts +2 -1
- package/dist/src/testing/raw-storage-conformance.d.ts.map +1 -1
- package/dist/src/testing/raw-storage-conformance.js +35 -2
- package/dist/src/testing/raw-storage-conformance.js.map +1 -1
- package/package.json +3 -3
- package/readme.md +668 -668
- package/src/cluster/block-transfer.ts +424 -424
- package/src/cluster/client.ts +119 -88
- package/src/cluster/cluster-error.ts +64 -64
- package/src/cluster/cluster-policy.ts +203 -203
- package/src/cluster/cluster-repo.ts +242 -122
- package/src/cluster/cluster-size-coupling.ts +45 -45
- package/src/cluster/commit-cert.ts +139 -139
- package/src/cluster/i-transaction-state-store.ts +43 -43
- package/src/cluster/memory-transaction-state-store.ts +56 -56
- package/src/cluster/peer-key-binding.ts +37 -37
- package/src/cluster/persistent-transaction-state-store.ts +92 -92
- package/src/cluster/quorum-restore.ts +223 -223
- package/src/cluster/reconcile-block.ts +203 -203
- package/src/cluster/service.ts +293 -241
- package/src/cluster/supermajority-coupling.ts +37 -37
- package/src/cohort-topic/bootstrap-evidence-builder.ts +122 -122
- package/src/cohort-topic/bootstrap-evidence-verifiers.ts +132 -132
- package/src/cohort-topic/bootstrap-parent-reference.ts +159 -159
- package/src/cohort-topic/change-bridge.ts +109 -109
- package/src/cohort-topic/cohort-gossip-driver.ts +231 -231
- package/src/cohort-topic/cohort-gossip-transport.ts +84 -84
- package/src/cohort-topic/fret-trust-anchor.ts +153 -153
- package/src/cohort-topic/host.ts +2901 -2901
- package/src/cohort-topic/index.ts +13 -13
- package/src/cohort-topic/membership-publish-sink.ts +20 -20
- package/src/cohort-topic/membership-source.ts +68 -68
- package/src/cohort-topic/peer-codec.ts +31 -31
- package/src/cohort-topic/peer-sig.ts +86 -86
- package/src/cohort-topic/protocols.ts +71 -71
- package/src/cohort-topic/reactivity-membership-gate.ts +77 -77
- package/src/cohort-topic/size-estimator.ts +16 -16
- package/src/cohort-topic/stream-util.ts +135 -87
- package/src/cohort-topic/threshold-crypto.ts +239 -239
- package/src/cohort-topic/topic-router.ts +77 -77
- package/src/dispute/arbitrator-selection.ts +138 -138
- package/src/dispute/cascade.ts +524 -524
- package/src/dispute/dispute-service.ts +11 -5
- package/src/dispute/invalidation.ts +625 -625
- package/src/inbound-authorization.ts +190 -190
- package/src/index.ts +52 -49
- package/src/libp2p-key-network.ts +1120 -990
- package/src/libp2p-node-base.ts +1675 -1651
- package/src/libp2p-node-rn.ts +30 -30
- package/src/libp2p-node.ts +36 -36
- package/src/logger.ts +19 -2
- package/src/matchmaking/aggregate-counts.ts +104 -104
- package/src/matchmaking/index.ts +20 -20
- package/src/matchmaking/module.ts +363 -363
- package/src/matchmaking/protocols.ts +51 -51
- package/src/matchmaking/provider-manager.ts +95 -95
- package/src/matchmaking/query-handler.ts +88 -88
- package/src/matchmaking/query-transport.ts +492 -492
- package/src/matchmaking/seeker-manager.ts +64 -64
- package/src/matchmaking/seeker-walk-client.ts +293 -293
- package/src/matchmaking/traffic-validation.ts +195 -195
- package/src/optimystic-node.ts +36 -36
- package/src/owned-block-seed.ts +53 -40
- package/src/peer-address-book.ts +149 -0
- package/src/protocol-limits.ts +33 -33
- package/src/reactivity/forwarder-host.ts +438 -438
- package/src/reactivity/index.ts +19 -19
- package/src/reactivity/notify-transport.ts +144 -144
- package/src/reactivity/origination-manager.ts +192 -192
- package/src/reactivity/protocols.ts +61 -61
- package/src/reactivity/push-state-gossip.ts +291 -291
- package/src/reactivity/recover-transport.ts +408 -408
- package/src/reactivity/rotation-rereg-scheduler.ts +256 -256
- package/src/reactivity/subscriber-registry.ts +96 -96
- package/src/reactivity/subscription-manager.ts +450 -450
- package/src/reactivity/topic-bytes.ts +37 -37
- package/src/repo/client.ts +12 -2
- package/src/repo/cluster-coordinator.ts +99 -3
- package/src/repo/coordinator-repo.ts +281 -74
- package/src/repo/types.ts +7 -7
- package/src/rn.ts +39 -36
- package/src/rpc-deadline.ts +45 -45
- package/src/storage/arachnode-partition.ts +74 -74
- package/src/storage/cached-raw-storage.ts +180 -0
- package/src/storage/cached-store-driver.ts +859 -0
- package/src/storage/i-kv-store.ts +8 -8
- package/src/storage/i-raw-storage.ts +12 -5
- package/src/storage/kv-raw-storage.ts +135 -135
- package/src/storage/memory-kv-store.ts +28 -28
- package/src/storage/memory-storage.ts +25 -25
- package/src/storage/memory-store-driver.ts +157 -157
- package/src/storage/raw-store-codec.ts +42 -42
- package/src/storage/raw-store-driver.ts +80 -80
- package/src/storage/ring-selector.ts +317 -317
- package/src/storage/ring-shift-coordinator.ts +271 -271
- package/src/storage/shared-cache-pool.ts +452 -0
- package/src/storage/storage-repo.ts +1014 -1014
- package/src/testing/cohort-topic-mesh-harness.ts +663 -663
- package/src/testing/index.ts +8 -8
- package/src/testing/matchmaking-mesh-harness.ts +475 -475
- package/src/testing/raw-storage-conformance.ts +453 -417
- package/src/testing/reactivity-mesh-harness.ts +922 -922
- package/dist/src/storage/restoration-coordinator-v2.d.ts +0 -67
- package/dist/src/storage/restoration-coordinator-v2.d.ts.map +0 -1
- package/dist/src/storage/restoration-coordinator-v2.js +0 -172
- package/dist/src/storage/restoration-coordinator-v2.js.map +0 -1
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A store's registration with the pool. `id` is process-unique and never reused (monotonic
|
|
3
|
+
* counter), so entries and ghost keys of a departed store can never alias a later one.
|
|
4
|
+
* `bytes`/`entries` are live occupancy, maintained by the pool — read-only for callers.
|
|
5
|
+
*/
|
|
6
|
+
export class CacheStoreHandle {
|
|
7
|
+
id;
|
|
8
|
+
label;
|
|
9
|
+
bytes = 0;
|
|
10
|
+
entries = 0;
|
|
11
|
+
constructor(id, label) {
|
|
12
|
+
this.id = id;
|
|
13
|
+
this.label = label;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Separator for pool keys: NUL, spelled as an escape so this file stays plain text — a literal
|
|
18
|
+
* NUL byte in the source makes the whole file binary to git (no diff, no blame, no review).
|
|
19
|
+
* NUL is the one character no id can carry: block ids are user-supplied collection URI paths
|
|
20
|
+
* (which may well contain spaces) and action ids are base64url with an optional `tx:`/`stamp:`
|
|
21
|
+
* prefix, so `(storeId, class, blockId, actionId?)` always splits back unambiguously.
|
|
22
|
+
*/
|
|
23
|
+
const SEP = '\u0000';
|
|
24
|
+
/**
|
|
25
|
+
* A shared, bounded, clean-value cache pool: one per process (see {@link defaultCachePool}),
|
|
26
|
+
* shared by every `CachedStoreDriver` so that N stores compete inside ONE memory budget
|
|
27
|
+
* instead of keeping N unbounded caches. The pool owns residency and eviction only; all
|
|
28
|
+
* cache *semantics* (coherence, negatives, completeness) stay in the owning store.
|
|
29
|
+
*
|
|
30
|
+
* **Always evict, never refuse, never grow unbounded.** Entries are never pinned and never
|
|
31
|
+
* dirty (the cache is write-through; see `CachedStoreDriver`), so eviction is always safe
|
|
32
|
+
* and there is no exhaustion condition to raise. At the bound the pool evicts; the one entry
|
|
33
|
+
* class that can grow while resident (a store's revision map) is simply evicted like any
|
|
34
|
+
* other when its growth pushes the pool over budget.
|
|
35
|
+
*
|
|
36
|
+
* **2Q admission** (default): a first-touch entry enters the A1in probation FIFO; re-hits
|
|
37
|
+
* inside A1in do NOT promote (FIFO order stands, which is also what absorbs the several
|
|
38
|
+
* correlated touches one logical operation makes); eviction from A1in demotes the key to
|
|
39
|
+
* the A1out ghost set; a later admission of a ghosted key — reuse across operations — goes
|
|
40
|
+
* straight to the protected Am LRU. Am evictions do NOT ghost. One-pass bulk scans
|
|
41
|
+
* therefore live and die inside A1in without displacing any store's hot Am set.
|
|
42
|
+
*
|
|
43
|
+
* **Large values bypass**: an entry whose charge exceeds 1/16 of the byte budget is not
|
|
44
|
+
* admitted at all (the owner reads/writes through), so one oversized value cannot flush
|
|
45
|
+
* the pool.
|
|
46
|
+
*
|
|
47
|
+
* **Budget sanity**: `maxBytes`/`maxEntries` must be positive finite numbers — anything else
|
|
48
|
+
* throws. Absurdly small values are accepted as-is: they cannot break coherence (the owning
|
|
49
|
+
* cache is correct at any residency, including zero), they just degrade toward read-through.
|
|
50
|
+
*
|
|
51
|
+
* Not safe for use from multiple threads; like the caches it serves, it relies on JS
|
|
52
|
+
* single-threaded execution — every mutation completes synchronously.
|
|
53
|
+
*/
|
|
54
|
+
export class SharedCachePool {
|
|
55
|
+
maxBytesValue;
|
|
56
|
+
maxEntriesValue;
|
|
57
|
+
admission;
|
|
58
|
+
bypassLimit = 0;
|
|
59
|
+
a1inTargetBytes = 0;
|
|
60
|
+
a1inTargetEntries = 0;
|
|
61
|
+
ghostCap = 0;
|
|
62
|
+
a1in = new Map();
|
|
63
|
+
am = new Map();
|
|
64
|
+
ghost = new Set();
|
|
65
|
+
a1inBytes = 0;
|
|
66
|
+
bytesTotal = 0;
|
|
67
|
+
entriesTotal = 0;
|
|
68
|
+
storeCounter = 0;
|
|
69
|
+
stores = new Map();
|
|
70
|
+
hits = 0;
|
|
71
|
+
admissions = 0;
|
|
72
|
+
ghostHits = 0;
|
|
73
|
+
evictions = 0;
|
|
74
|
+
bypasses = 0;
|
|
75
|
+
constructor(options) {
|
|
76
|
+
this.admission = options?.admission ?? '2q';
|
|
77
|
+
this.maxBytesValue = validateBound('maxBytes', options?.maxBytes ?? platformDefaultBytes());
|
|
78
|
+
this.maxEntriesValue = validateBound('maxEntries', options?.maxEntries ?? Math.max(16, Math.floor(this.maxBytesValue / 512)));
|
|
79
|
+
this.recomputeDerived();
|
|
80
|
+
}
|
|
81
|
+
get maxBytes() { return this.maxBytesValue; }
|
|
82
|
+
get maxEntries() { return this.maxEntriesValue; }
|
|
83
|
+
get bytes() { return this.bytesTotal; }
|
|
84
|
+
get entries() { return this.entriesTotal; }
|
|
85
|
+
/**
|
|
86
|
+
* Re-budget a live pool (e.g. host config change, or a host correcting the platform
|
|
87
|
+
* default). Shrinking evicts immediately down to the new bound.
|
|
88
|
+
*/
|
|
89
|
+
setBudget(budget) {
|
|
90
|
+
if (budget.maxBytes !== undefined) {
|
|
91
|
+
this.maxBytesValue = validateBound('maxBytes', budget.maxBytes);
|
|
92
|
+
}
|
|
93
|
+
if (budget.maxEntries !== undefined) {
|
|
94
|
+
this.maxEntriesValue = validateBound('maxEntries', budget.maxEntries);
|
|
95
|
+
}
|
|
96
|
+
this.recomputeDerived();
|
|
97
|
+
this.evictToFit(0, 0);
|
|
98
|
+
this.trimGhost();
|
|
99
|
+
}
|
|
100
|
+
/** Register a store. The returned handle's `id` is unique for the pool's lifetime — never reused. */
|
|
101
|
+
registerStore(label) {
|
|
102
|
+
const handle = new CacheStoreHandle(`s${++this.storeCounter}`, label);
|
|
103
|
+
this.stores.set(handle.id, handle);
|
|
104
|
+
return handle;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Release a departing store: evict any of its entries still resident (defensively — the
|
|
108
|
+
* owner normally clears first), purge its ghost keys, and remove it from the registry.
|
|
109
|
+
* Idempotent. This forced removal notifies the owner like any other eviction — `drop` here
|
|
110
|
+
* would de-account entries the owner still references, leaving it serving values the pool
|
|
111
|
+
* no longer counts. It does NOT ghost (the ghosts are being purged anyway) and does NOT
|
|
112
|
+
* count as a budget eviction: it is a lifecycle release, not memory pressure.
|
|
113
|
+
*/
|
|
114
|
+
unregisterStore(handle) {
|
|
115
|
+
for (const queue of [this.a1in, this.am]) {
|
|
116
|
+
for (const entry of [...queue.values()]) {
|
|
117
|
+
if (entry.store !== handle)
|
|
118
|
+
continue;
|
|
119
|
+
this.unlink(entry);
|
|
120
|
+
entry.owner.onPoolEvict(entry);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
this.purgeGhosts(handle);
|
|
124
|
+
this.stores.delete(handle.id);
|
|
125
|
+
}
|
|
126
|
+
/** Drop every ghost key belonging to `handle` (used by store clear/close — pre-clear recency must not survive the clear). */
|
|
127
|
+
purgeGhosts(handle) {
|
|
128
|
+
const prefix = handle.id + SEP;
|
|
129
|
+
for (const key of [...this.ghost]) {
|
|
130
|
+
if (key.startsWith(prefix))
|
|
131
|
+
this.ghost.delete(key);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/** Build the pool key for an entry. Store-id first: keying by block id alone would alias name-derived header block ids across stores. */
|
|
135
|
+
keyFor(store, cls, blockId, actionId) {
|
|
136
|
+
return actionId === undefined
|
|
137
|
+
? store.id + SEP + cls + SEP + blockId
|
|
138
|
+
: store.id + SEP + cls + SEP + blockId + SEP + actionId;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Would an entry of this total charge be admitted? `false` = large-value bypass (counted);
|
|
142
|
+
* the owner must then read/write through without caching. Also the gate for value
|
|
143
|
+
* *updates*: an update growing past the limit should drop the entry instead.
|
|
144
|
+
*/
|
|
145
|
+
admits(charge) {
|
|
146
|
+
if (charge > this.bypassLimit) {
|
|
147
|
+
this.bypasses++;
|
|
148
|
+
return false;
|
|
149
|
+
}
|
|
150
|
+
return true;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Admit a non-resident entry the owner has ALREADY installed in its own state. Evicts
|
|
154
|
+
* first (so the incoming entry can never be its own victim), then links: to Am when the
|
|
155
|
+
* key is in the ghost set (2Q reuse signal), to A1in probation otherwise.
|
|
156
|
+
*/
|
|
157
|
+
admit(entry) {
|
|
158
|
+
if (entry.where !== 'none') {
|
|
159
|
+
throw new Error(`pool admit of already-resident entry ${entry.key}`);
|
|
160
|
+
}
|
|
161
|
+
this.evictToFit(entry.charge, 1);
|
|
162
|
+
this.admissions++;
|
|
163
|
+
if (this.admission === 'lru') {
|
|
164
|
+
this.link(entry, 'am');
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
if (this.ghost.delete(entry.key)) {
|
|
168
|
+
this.ghostHits++;
|
|
169
|
+
this.link(entry, 'am');
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
this.link(entry, 'a1in');
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
/** Record a read hit: Am refreshes to MRU; A1in stays put (FIFO — no intra-probation promotion). */
|
|
176
|
+
touch(entry) {
|
|
177
|
+
this.hits++;
|
|
178
|
+
this.refresh(entry);
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Re-account a resident entry after the owner mutated its value (write hit, or container
|
|
182
|
+
* growth like a revision-map fill). Queue position refreshes like a touch (without
|
|
183
|
+
* counting a hit); growth over budget evicts — possibly the updated entry itself, which
|
|
184
|
+
* is why owners call this LAST and never touch their cache state after.
|
|
185
|
+
*
|
|
186
|
+
* NOTE: growth here is NOT re-checked against {@link admits}' large-value bypass, so a
|
|
187
|
+
* container entry (a block's revision map or pending-id set) can grow past 1/16 of the
|
|
188
|
+
* budget and squat where a single oversized value would have been refused. Bounded and
|
|
189
|
+
* self-correcting today: an over-share entry keeps `a1inBytes` above its target, so
|
|
190
|
+
* probation evicts it preferentially, and anything past `maxBytes` is evicted outright.
|
|
191
|
+
* If a block ever accumulates enough revisions for one map to hold a real fraction of the
|
|
192
|
+
* budget (order 20k revs at the 32 MB Node default), gate growth on `admits(charge)` in
|
|
193
|
+
* the owner's revision/pending-list paths and drop the entry when it fails, exactly as
|
|
194
|
+
* `CachedStoreDriver.cachePoint` already does for point values.
|
|
195
|
+
*/
|
|
196
|
+
updated(entry, newCharge) {
|
|
197
|
+
if (entry.where === 'none')
|
|
198
|
+
return;
|
|
199
|
+
const delta = newCharge - entry.charge;
|
|
200
|
+
entry.charge = newCharge;
|
|
201
|
+
this.bytesTotal += delta;
|
|
202
|
+
entry.store.bytes += delta;
|
|
203
|
+
if (entry.where === 'a1in')
|
|
204
|
+
this.a1inBytes += delta;
|
|
205
|
+
this.refresh(entry);
|
|
206
|
+
if (delta > 0)
|
|
207
|
+
this.evictToFit(0, 0);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Remove an entry WITHOUT the eviction callback — for owners invalidating or clearing
|
|
211
|
+
* their own entries (the owner is already removing its reference). Never ghosts: an
|
|
212
|
+
* invalidation says nothing about reuse. No-op if not resident.
|
|
213
|
+
*/
|
|
214
|
+
drop(entry) {
|
|
215
|
+
if (entry.where === 'none')
|
|
216
|
+
return;
|
|
217
|
+
this.unlink(entry);
|
|
218
|
+
}
|
|
219
|
+
stats() {
|
|
220
|
+
const amBytes = this.bytesTotal - this.a1inBytes;
|
|
221
|
+
return {
|
|
222
|
+
maxBytes: this.maxBytesValue,
|
|
223
|
+
maxEntries: this.maxEntriesValue,
|
|
224
|
+
bytes: this.bytesTotal,
|
|
225
|
+
entries: this.entriesTotal,
|
|
226
|
+
a1in: { bytes: this.a1inBytes, entries: this.a1in.size },
|
|
227
|
+
am: { bytes: amBytes, entries: this.am.size },
|
|
228
|
+
ghostKeys: this.ghost.size,
|
|
229
|
+
hits: this.hits,
|
|
230
|
+
admissions: this.admissions,
|
|
231
|
+
ghostHits: this.ghostHits,
|
|
232
|
+
evictions: this.evictions,
|
|
233
|
+
bypasses: this.bypasses,
|
|
234
|
+
stores: [...this.stores.values()].map(s => ({ id: s.id, label: s.label, bytes: s.bytes, entries: s.entries })),
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
// ---- internals ----
|
|
238
|
+
recomputeDerived() {
|
|
239
|
+
this.bypassLimit = Math.floor(this.maxBytesValue / 16);
|
|
240
|
+
this.a1inTargetBytes = Math.floor(this.maxBytesValue / 4);
|
|
241
|
+
this.a1inTargetEntries = Math.floor(this.maxEntriesValue / 4);
|
|
242
|
+
this.ghostCap = Math.floor(this.maxEntriesValue / 2);
|
|
243
|
+
}
|
|
244
|
+
link(entry, where) {
|
|
245
|
+
entry.where = where;
|
|
246
|
+
(where === 'a1in' ? this.a1in : this.am).set(entry.key, entry);
|
|
247
|
+
if (where === 'a1in')
|
|
248
|
+
this.a1inBytes += entry.charge;
|
|
249
|
+
this.bytesTotal += entry.charge;
|
|
250
|
+
this.entriesTotal++;
|
|
251
|
+
entry.store.bytes += entry.charge;
|
|
252
|
+
entry.store.entries++;
|
|
253
|
+
}
|
|
254
|
+
unlink(entry) {
|
|
255
|
+
(entry.where === 'a1in' ? this.a1in : this.am).delete(entry.key);
|
|
256
|
+
if (entry.where === 'a1in')
|
|
257
|
+
this.a1inBytes -= entry.charge;
|
|
258
|
+
this.bytesTotal -= entry.charge;
|
|
259
|
+
this.entriesTotal--;
|
|
260
|
+
entry.store.bytes -= entry.charge;
|
|
261
|
+
entry.store.entries--;
|
|
262
|
+
entry.where = 'none';
|
|
263
|
+
}
|
|
264
|
+
/** Map insertion order gives A1in its FIFO and Am its LRU: refresh = delete + re-insert. */
|
|
265
|
+
refresh(entry) {
|
|
266
|
+
if (entry.where !== 'am')
|
|
267
|
+
return;
|
|
268
|
+
this.am.delete(entry.key);
|
|
269
|
+
this.am.set(entry.key, entry);
|
|
270
|
+
}
|
|
271
|
+
evictToFit(incomingCharge, incomingEntries) {
|
|
272
|
+
while (this.bytesTotal + incomingCharge > this.maxBytesValue
|
|
273
|
+
|| this.entriesTotal + incomingEntries > this.maxEntriesValue) {
|
|
274
|
+
const victim = this.pickVictim();
|
|
275
|
+
if (victim === undefined)
|
|
276
|
+
break; // pool empty — nothing left to evict
|
|
277
|
+
this.evict(victim);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
pickVictim() {
|
|
281
|
+
if (this.admission === 'lru') {
|
|
282
|
+
return first(this.am) ?? first(this.a1in);
|
|
283
|
+
}
|
|
284
|
+
// 2Q: take A1in's FIFO head while probation is over its share of EITHER rail (or Am has
|
|
285
|
+
// nothing); otherwise the protected queue's LRU entry. Probation needs a share of the
|
|
286
|
+
// entry rail too, not just the byte rail: entries small enough that the entry count binds
|
|
287
|
+
// first (cached negatives are near-empty) would otherwise leave `a1inBytes` permanently
|
|
288
|
+
// under its byte target, so every admission would evict from Am and a one-pass scan would
|
|
289
|
+
// flush the protected set — 2Q silently degraded to plain LRU.
|
|
290
|
+
const a1inHead = first(this.a1in);
|
|
291
|
+
if (a1inHead !== undefined && (this.a1inBytes > this.a1inTargetBytes
|
|
292
|
+
|| this.a1in.size > this.a1inTargetEntries || this.am.size === 0)) {
|
|
293
|
+
return a1inHead;
|
|
294
|
+
}
|
|
295
|
+
return first(this.am) ?? a1inHead;
|
|
296
|
+
}
|
|
297
|
+
evict(entry) {
|
|
298
|
+
const fromA1in = entry.where === 'a1in';
|
|
299
|
+
this.unlink(entry);
|
|
300
|
+
if (fromA1in && this.admission === '2q') {
|
|
301
|
+
this.pushGhost(entry.key);
|
|
302
|
+
}
|
|
303
|
+
this.evictions++;
|
|
304
|
+
entry.owner.onPoolEvict(entry);
|
|
305
|
+
}
|
|
306
|
+
pushGhost(key) {
|
|
307
|
+
this.ghost.delete(key);
|
|
308
|
+
this.ghost.add(key);
|
|
309
|
+
this.trimGhost();
|
|
310
|
+
}
|
|
311
|
+
trimGhost() {
|
|
312
|
+
while (this.ghost.size > this.ghostCap) {
|
|
313
|
+
const oldest = this.ghost.values().next().value;
|
|
314
|
+
if (oldest === undefined)
|
|
315
|
+
break;
|
|
316
|
+
this.ghost.delete(oldest);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
function first(queue) {
|
|
321
|
+
return queue.values().next().value;
|
|
322
|
+
}
|
|
323
|
+
function validateBound(name, value) {
|
|
324
|
+
if (typeof value !== 'number' || !Number.isFinite(value) || value <= 0) {
|
|
325
|
+
throw new TypeError(`SharedCachePool ${name} must be a positive finite number, got ${value}`);
|
|
326
|
+
}
|
|
327
|
+
return Math.floor(value);
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Honest per-platform default byte budget: ~8 MB on React Native (the phone running twenty
|
|
331
|
+
* workspaces is the device least able to afford more), 16 MB in browsers, 32 MB on Node
|
|
332
|
+
* (desktop / provider hosts). Hosts with better knowledge should size explicitly — either
|
|
333
|
+
* `defaultCachePool().setBudget(...)` or their own `SharedCachePool` passed to each cache.
|
|
334
|
+
*/
|
|
335
|
+
function platformDefaultBytes() {
|
|
336
|
+
const g = globalThis;
|
|
337
|
+
if (g.navigator?.product === 'ReactNative')
|
|
338
|
+
return 8 * 1024 * 1024;
|
|
339
|
+
if (g.window !== undefined)
|
|
340
|
+
return 16 * 1024 * 1024;
|
|
341
|
+
return 32 * 1024 * 1024;
|
|
342
|
+
}
|
|
343
|
+
let defaultPool;
|
|
344
|
+
/**
|
|
345
|
+
* The process-wide shared pool every `CachedStoreDriver` joins unless handed a specific one.
|
|
346
|
+
* Lazily created on first use with the platform-default budget; re-budget it live via
|
|
347
|
+
* `setBudget`. One pool per process is the point: twenty workspaces' caches compete inside
|
|
348
|
+
* one budget instead of each sizing itself as if it were alone.
|
|
349
|
+
*/
|
|
350
|
+
export function defaultCachePool() {
|
|
351
|
+
defaultPool ??= new SharedCachePool();
|
|
352
|
+
return defaultPool;
|
|
353
|
+
}
|
|
354
|
+
//# sourceMappingURL=shared-cache-pool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-cache-pool.js","sourceRoot":"","sources":["../../../src/storage/shared-cache-pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,8 @@ export interface ConformanceHarness {
|
|
|
18
18
|
* behaviors the shared kernel makes parity-critical: clone-on-store/read (now
|
|
19
19
|
* structural via the byte boundary), promote atomicity + the exact missing-pend
|
|
20
20
|
* error, drain-before-yield iteration, and a `BlockStorage`-level slice that
|
|
21
|
-
* guards the `meta.ranges` open-ended seeding invariant
|
|
21
|
+
* guards the `meta.ranges` open-ended seeding invariant, tombstone read-back,
|
|
22
|
+
* and the exact id population `listBlockIds` yields on the node path.
|
|
22
23
|
*/
|
|
23
24
|
export declare function runRawStorageConformance(name: string, makeStorage: () => Promise<ConformanceHarness>): void;
|
|
24
25
|
//# sourceMappingURL=raw-storage-conformance.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raw-storage-conformance.d.ts","sourceRoot":"","sources":["../../../src/testing/raw-storage-conformance.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAK/D;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAClC,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAyBD
|
|
1
|
+
{"version":3,"file":"raw-storage-conformance.d.ts","sourceRoot":"","sources":["../../../src/testing/raw-storage-conformance.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAK/D;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAClC,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAyBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CACvC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,GAC5C,IAAI,CA4YN"}
|
|
@@ -31,7 +31,8 @@ async function collect(iter) {
|
|
|
31
31
|
* behaviors the shared kernel makes parity-critical: clone-on-store/read (now
|
|
32
32
|
* structural via the byte boundary), promote atomicity + the exact missing-pend
|
|
33
33
|
* error, drain-before-yield iteration, and a `BlockStorage`-level slice that
|
|
34
|
-
* guards the `meta.ranges` open-ended seeding invariant
|
|
34
|
+
* guards the `meta.ranges` open-ended seeding invariant, tombstone read-back,
|
|
35
|
+
* and the exact id population `listBlockIds` yields on the node path.
|
|
35
36
|
*/
|
|
36
37
|
export function runRawStorageConformance(name, makeStorage) {
|
|
37
38
|
describe(name, () => {
|
|
@@ -278,7 +279,9 @@ export function runRawStorageConformance(name, makeStorage) {
|
|
|
278
279
|
else {
|
|
279
280
|
await storage.saveMetadata('b1', { ranges: [], latest: undefined });
|
|
280
281
|
await storage.saveMetadata('b2', { ranges: [], latest: undefined });
|
|
281
|
-
//
|
|
282
|
+
// RAW-DRIVER LAYER: this pends straight through the driver, which writes no metadata, so
|
|
283
|
+
// the block is not enumerated. It is NOT the node's behavior — a pend through
|
|
284
|
+
// `BlockStorage` seeds metadata first, and IS enumerated. See the parity case below.
|
|
282
285
|
await storage.savePendingTransaction('pending-only', 'x', { delete: true });
|
|
283
286
|
const ids = new Set(await collect(listBlockIds.call(storage)));
|
|
284
287
|
expect(ids).to.deep.equal(new Set(['b1', 'b2']));
|
|
@@ -311,6 +314,36 @@ export function runRawStorageConformance(name, makeStorage) {
|
|
|
311
314
|
const got = await new BlockStorage(blockId, storage).getBlock();
|
|
312
315
|
expect(got?.block.header.id, 'committed block served').to.equal('parity-commit');
|
|
313
316
|
});
|
|
317
|
+
// The population `listBlockIds` really yields on the node path, pinned per backend. The startup
|
|
318
|
+
// owned-block seed (`seedOwnedBlocksFromStorage`) adds every enumerated id to the resilience
|
|
319
|
+
// monitors' tracked set, and `BlockStorage.savePendingTransaction` seeds metadata for a block
|
|
320
|
+
// that has none — so a pend-only block IS enumerated and IS seeded. The interface doc forbids
|
|
321
|
+
// filtering that out by reading each block's metadata (a per-block read at startup); this case
|
|
322
|
+
// is what stops a backend from "helpfully" adding such a filter.
|
|
323
|
+
it('listBlockIds enumerates a BlockStorage pend-only block (metadata seeded before the transform)', async function () {
|
|
324
|
+
const listBlockIds = storage.listBlockIds;
|
|
325
|
+
if (typeof listBlockIds !== 'function') {
|
|
326
|
+
this.skip();
|
|
327
|
+
}
|
|
328
|
+
else {
|
|
329
|
+
const committed = 'parity-list-committed';
|
|
330
|
+
const pendOnly = 'parity-list-pend-only';
|
|
331
|
+
const repo = new StorageRepo((id) => new BlockStorage(id, storage));
|
|
332
|
+
await repo.pend({
|
|
333
|
+
actionId: 'a1',
|
|
334
|
+
transforms: makeInsertTransforms(committed, makeBlock('parity-list-committed', { items: [] })),
|
|
335
|
+
policy: 'c'
|
|
336
|
+
});
|
|
337
|
+
await repo.commit({ actionId: 'a1', blockIds: [committed], tailId: committed, rev: 1 });
|
|
338
|
+
await repo.pend({
|
|
339
|
+
actionId: 'a2',
|
|
340
|
+
transforms: makeInsertTransforms(pendOnly, makeBlock('parity-list-pend-only', { items: [] })),
|
|
341
|
+
policy: 'c'
|
|
342
|
+
});
|
|
343
|
+
expect(await storage.getMetadata(pendOnly), 'pend seeded metadata for a block that had none').to.exist;
|
|
344
|
+
expect(new Set(await collect(listBlockIds.call(storage)))).to.deep.equal(new Set([committed, pendOnly]));
|
|
345
|
+
}
|
|
346
|
+
});
|
|
314
347
|
it('BlockStorage saveReplica → saveDeletion reads the tombstoned rev back as undefined', async () => {
|
|
315
348
|
const blockId = 'parity-tombstone';
|
|
316
349
|
const bs = new BlockStorage(blockId, storage);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raw-storage-conformance.js","sourceRoot":"","sources":["../../../src/testing/raw-storage-conformance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAI9B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAY3D,MAAM,UAAU,GAAG,CAAC,EAAU,EAAe,EAAE,CAAC,CAAC;IAChD,EAAE,EAAE,EAAa;IACjB,IAAI,EAAE,MAAM;IACZ,YAAY,EAAE,cAAyB;CACvC,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,CAAC,EAAU,EAAE,IAA8B,EAAU,EAAE,CAAC,CAAC;IAC1E,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;IACtB,GAAG,IAAI;CACP,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAAE,KAAa,EAAc,EAAE,CAAC,CAAC;IAC9E,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE;IAC7B,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;CACX,CAAC,CAAC;AAEH,KAAK,UAAU,OAAO,CAAI,IAAsB;IAC/C,MAAM,GAAG,GAAQ,EAAE,CAAC;IACpB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CACvC,IAAY,EACZ,WAA8C;IAE9C,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE;QACnB,IAAI,OAA2B,CAAC;QAChC,IAAI,OAAoB,CAAC;QAEzB,UAAU,CAAC,KAAK,IAAI,EAAE;YACrB,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;YAC9B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,mBAAmB;QAEnB,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,QAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,OAAO,GAAG,YAAuB,CAAC;YACxC,iFAAiF;YACjF,gFAAgF;YAChF,MAAM,IAAI,GAAkB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAmB,EAAE,EAAE,CAAC;YAEzG,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAE/C,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;QAEH,oBAAoB;QAEpB,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,OAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YACrC,MAAM,OAAO,GAAG,WAAsB,CAAC;YACvC,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,OAAmB,CAAC,CAAC;YAC5D,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;YAC5F,MAAM,OAAO,GAAG,UAAqB,CAAC;YACtC,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,IAAgB,CAAC,CAAC;YACzD,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,IAAgB,CAAC,CAAC;YACzD,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,IAAgB,CAAC,CAAC,CAAC,eAAe;YAEzE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC1B,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC1B,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC1B,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC1B,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;YACvF,MAAM,OAAO,GAAG,WAAsB,CAAC;YACvC,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,IAAgB,CAAC,CAAC;YACzD,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,IAAgB,CAAC,CAAC;YACzD,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,IAAgB,CAAC,CAAC;YAEzD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC1B,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC1B,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC1B,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC1B,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAChF,MAAM,OAAO,GAAG,aAAwB,CAAC;YACzC,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,IAAgB,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;YACzF,MAAM,CAAC,GAAG,SAAoB,CAAC;YAC/B,MAAM,CAAC,GAAG,SAAoB,CAAC;YAC/B,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAgB,CAAC,CAAC;YACnD,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAgB,CAAC,CAAC;YACnD,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAgB,CAAC,CAAC;YAEnD,MAAM,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACnG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAkB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;YAC/F,MAAM,OAAO,GAAG,YAAuB,CAAC;YACxC,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,IAAgB,CAAC,CAAC;YACzD,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,IAAgB,CAAC,CAAC;YACzD,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,IAAgB,CAAC,CAAC;YAEzD,MAAM,IAAI,GAA8B,EAAE,CAAC;YAC3C,IAAI,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC5E,4EAA4E;gBAC5E,+EAA+E;gBAC/E,MAAM,OAAO,CAAC,WAAW,CAAC,OAAkB,CAAC,CAAC;gBAC9C,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC5B,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,+BAA+B;QAE/B,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,CAAC,MAAM,OAAO,CAAC,qBAAqB,CAAC,OAAkB,EAAE,GAAe,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACtG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,OAAO,GAAG,YAAuB,CAAC;YACxC,MAAM,SAAS,GAAc,EAAE,MAAM,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACnF,MAAM,OAAO,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAgB,EAAE,SAAS,CAAC,CAAC;YAC3E,MAAM,CAAC,MAAM,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,CAAC,GAAG,QAAmB,CAAC;YAC9B,MAAM,CAAC,GAAG,QAAmB,CAAC;YAC9B,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5E,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5E,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAE5E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,OAAO,GAAG,UAAqB,CAAC;YACtC,MAAM,OAAO,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClF,MAAM,OAAO,CAAC,wBAAwB,CAAC,OAAO,EAAE,IAAgB,CAAC,CAAC;YAElE,MAAM,CAAC,MAAM,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC3F,MAAM,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YACjF,oFAAoF;YACpF,wFAAwF;YACxF,uFAAuF;YACvF,kFAAkF;YAClF,MAAM,OAAO,GAAG,iBAA4B,CAAC;YAC7C,MAAM,OAAO,CAAC,wBAAwB,CAAC,OAAO,EAAE,cAA0B,CAAC,CAAC;YAE5E,uFAAuF;YACvF,6CAA6C;YAC7C,MAAM,OAAO,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClF,MAAM,OAAO,CAAC,wBAAwB,CAAC,OAAO,EAAE,OAAmB,CAAC,CAAC;YACrE,MAAM,CAAC,MAAM,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAEvG,qDAAqD;YACrD,MAAM,OAAO,CAAC,wBAAwB,CAAC,OAAO,EAAE,IAAgB,CAAC,CAAC;YAClE,MAAM,OAAO,CAAC,wBAAwB,CAAC,OAAO,EAAE,IAAgB,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0FAA0F,EAAE,KAAK,IAAI,EAAE;YACzG,MAAM,OAAO,GAAG,YAAuB,CAAC;YACxC,MAAM,OAAO,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClF,MAAM,OAAO,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAElF,MAAM,IAAI,GAAe,EAAE,CAAC;YAC5B,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjE,MAAM,OAAO,CAAC,WAAW,CAAC,OAAkB,CAAC,CAAC;gBAC9C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,CAAC;YACD,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,iCAAiC;QAEjC,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,CAAC,MAAM,OAAO,CAAC,cAAc,CAAC,OAAkB,EAAE,GAAe,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,OAAO,GAAG,UAAqB,CAAC;YACtC,MAAM,SAAS,GAAc,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,MAAM,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,IAAgB,EAAE,SAAS,CAAC,CAAC;YACpE,MAAM,CAAC,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,IAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;QAEH,8BAA8B;QAE9B,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,CAAC,MAAM,OAAO,CAAC,oBAAoB,CAAC,OAAkB,EAAE,GAAe,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,OAAO,GAAG,WAAsB,CAAC;YACvC,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvD,MAAM,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAgB,EAAE,KAAK,CAAC,CAAC;YACtE,MAAM,CAAC,MAAM,OAAO,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;YAC7F,MAAM,OAAO,GAAG,SAAoB,CAAC;YACrC,MAAM,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAgB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;YACrF,MAAM,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAgB,EAAE,SAAS,CAAC,CAAC;YAC1E,MAAM,CAAC,MAAM,OAAO,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QAEH,iDAAiD;QAEjD,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,OAAO,GAAG,eAA0B,CAAC;YAC3C,MAAM,SAAS,GAAc,EAAE,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC;YACpE,MAAM,OAAO,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAgB,EAAE,SAAS,CAAC,CAAC;YAE3E,MAAM,OAAO,CAAC,yBAAyB,CAAC,OAAO,EAAE,IAAgB,CAAC,CAAC;YAEnE,MAAM,CAAC,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,IAAgB,CAAC,EAAE,yBAAyB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACpH,MAAM,CAAC,MAAM,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAgB,CAAC,EAAE,+BAA+B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7H,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;YAChG,MAAM,OAAO,GAAG,iBAA4B,CAAC;YAC7C,IAAI,KAAwB,CAAC;YAC7B,IAAI,CAAC;gBACJ,MAAM,OAAO,CAAC,yBAAyB,CAAC,OAAO,EAAE,MAAkB,CAAC,CAAC;YACtE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,KAAK,GAAG,GAAY,CAAC;YACtB,CAAC;YACD,MAAM,CAAC,KAAK,EAAE,qCAAqC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC7E,MAAM,CAAC,KAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,2CAA2C,OAAO,EAAE,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC;QAEH,gFAAgF;QAEhF,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;YAC/F,MAAM,OAAO,GAAG,YAAuB,CAAC;YACxC,MAAM,IAAI,GAAkB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAgB,EAAE,EAAE,CAAC;YACjG,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAE1C,yEAAyE;YACzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAO,CAAC,GAAG,GAAG,EAAE,CAAC;YAEtB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2GAA2G,EAAE,KAAK,IAAI,EAAE;YAC1H,MAAM,OAAO,GAAG,UAAqB,CAAC;YACtC,MAAM,IAAI,GAAc,EAAE,MAAM,EAAE,SAAS,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;YACrF,MAAM,SAAS,GAAc,EAAE,MAAM,EAAE,SAAS,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1F,MAAM,OAAO,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAgB,EAAE,IAAI,CAAC,CAAC;YACtE,MAAM,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,IAAgB,EAAE,SAAS,CAAC,CAAC;YAEpE,gFAAgF;YAC/E,IAAI,CAAC,MAAuC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YAClB,SAAS,CAAC,MAAuC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEzE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAgB,CAAC,CAAC;YAClF,MAAM,CAAE,UAAW,CAAC,MAAuC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;YACjG,MAAM,CAAC,UAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,IAAgB,CAAC,CAAC;YAChF,MAAM,CAAE,eAAgB,CAAC,MAAuC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;QACvG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0FAA0F,EAAE,KAAK,IAAI,EAAE;YACzG,MAAM,OAAO,GAAG,iBAA4B,CAAC;YAC7C,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAgB,EAAE,EAAE,CAAC,CAAC;YAE1G,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACjD,KAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAE5B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;YAChG,MAAM,OAAO,GAAG,WAAsB,CAAC;YACvC,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAC9D,MAAM,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAgB,EAAE,KAAK,CAAC,CAAC;YAEtE,0CAA0C;YACzC,KAAsC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE9D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAgB,CAAiC,CAAC;YAC7G,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,8CAA8C,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAEjG,qDAAqD;YACrD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAgB,CAAiC,CAAC;YAC7G,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,mDAAmD,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACvG,CAAC,CAAC,CAAC;QAEH,sEAAsE;QAEtE,EAAE,CAAC,sDAAsD,EAAE,KAAK;YAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;YAC1C,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;gBACxC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,CAAC;iBAAM,CAAC;gBACP,MAAM,OAAO,CAAC,YAAY,CAAC,IAAe,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC/E,MAAM,OAAO,CAAC,YAAY,CAAC,IAAe,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC/E,qEAAqE;gBACrE,MAAM,OAAO,CAAC,sBAAsB,CAAC,cAAyB,EAAE,GAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEnG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC/D,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAClD,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK;YACzD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;YAC1C,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;gBACxC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACrE,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,iEAAiE;QAEjE,EAAE,CAAC,+FAA+F,EAAE,KAAK,IAAI,EAAE;YAC9G,MAAM,OAAO,GAAG,eAA0B,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YAEpE,MAAM,IAAI,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,IAAgB;gBAC1B,UAAU,EAAE,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpF,MAAM,EAAE,GAAG;aACX,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAgB,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/G,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE1D,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,CAAC,IAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtC,6EAA6E;YAC7E,MAAM,CAAC,IAAK,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE1E,MAAM,GAAG,GAAG,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;YACnG,MAAM,OAAO,GAAG,kBAA6B,CAAC;YAC9C,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE9C,MAAM,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAgB,EAAE,CAAC,CAAC;YACjH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAChD,kFAAkF;YAClF,MAAM,CAAC,IAAK,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE5E,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAgB,EAAE,CAAC,CAAC;YAC7E,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAE/B,iFAAiF;YACjF,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,qCAAqC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACvF,yCAAyC;YACzC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,mCAAmC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACnH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"raw-storage-conformance.js","sourceRoot":"","sources":["../../../src/testing/raw-storage-conformance.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@optimystic/db-p2p",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.24.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "P2P database functionality for Optimystic",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"@multiformats/multiaddr": "^13.0.1",
|
|
88
88
|
"@noble/curves": "^2.0.1",
|
|
89
89
|
"@noble/hashes": "^2.0.1",
|
|
90
|
-
"@optimystic/db-core": "^0.
|
|
90
|
+
"@optimystic/db-core": "^0.24.0",
|
|
91
91
|
"async-mutex": "^0.5.0",
|
|
92
92
|
"debug": "^4.4.3",
|
|
93
93
|
"it-all": "^3.0.9",
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
"it-pushable": "^3.2.3",
|
|
97
97
|
"libp2p": "^3.1.3",
|
|
98
98
|
"multiformats": "^13.4.2",
|
|
99
|
-
"p2p-fret": "^0.
|
|
99
|
+
"p2p-fret": "^1.0.0-beta.1",
|
|
100
100
|
"protons-runtime": "^6.0.0",
|
|
101
101
|
"uint8arraylist": "^2.4.8",
|
|
102
102
|
"uint8arrays": "^6.1.1"
|