@peerbit/shared-log 13.2.12 → 13.2.14

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.
@@ -4,6 +4,10 @@ export class CheckedPruneCoordinator {
4
4
  responseReplicatorSet = new Map();
5
5
  retries = new Map();
6
6
  sessions = new Map();
7
+ grantSends = new Map();
8
+ peerRemovalFences = new Map();
9
+ restartReservations = new Map();
10
+ candidateTokens = new Map();
7
11
  getOrCreateSession(hash) {
8
12
  let session = this.sessions.get(hash);
9
13
  if (!session) {
@@ -11,6 +15,7 @@ export class CheckedPruneCoordinator {
11
15
  phase: "candidate",
12
16
  contacted: new Set(),
13
17
  confirmed: new Set(),
18
+ revoked: new Set(),
14
19
  };
15
20
  this.sessions.set(hash, session);
16
21
  }
@@ -30,22 +35,38 @@ export class CheckedPruneCoordinator {
30
35
  if (this.pendingDeletes.has(hash) ||
31
36
  this.requestIPruneSent.has(hash) ||
32
37
  this.responseReplicatorSet.has(hash) ||
33
- this.retries.has(hash)) {
38
+ this.retries.has(hash) ||
39
+ this.candidateTokens.has(hash)) {
34
40
  return;
35
41
  }
36
42
  this.sessions.delete(hash);
37
43
  }
38
44
  trackCandidate(hash, entry, leaders) {
45
+ this.restartReservations.delete(hash);
39
46
  const session = this.remember(hash, entry, leaders);
40
47
  if (!this.hasActiveWork(hash)) {
41
48
  session.phase = "candidate";
42
49
  }
50
+ const token = {};
51
+ this.candidateTokens.set(hash, token);
52
+ return token;
53
+ }
54
+ isCandidateTokenCurrent(hash, token) {
55
+ return this.candidateTokens.get(hash) === token;
56
+ }
57
+ hasCandidate(hash) {
58
+ return this.candidateTokens.has(hash);
59
+ }
60
+ invalidateCandidateToken(hash) {
61
+ this.candidateTokens.delete(hash);
62
+ this.deleteSessionIfIdle(hash);
43
63
  }
44
64
  hasActiveWork(hash) {
45
65
  return (this.pendingDeletes.has(hash) ||
46
66
  this.requestIPruneSent.has(hash) ||
47
67
  this.responseReplicatorSet.has(hash) ||
48
- this.retries.has(hash));
68
+ this.retries.has(hash) ||
69
+ this.candidateTokens.has(hash));
49
70
  }
50
71
  getPendingDelete(hash) {
51
72
  return this.pendingDeletes.get(hash);
@@ -53,19 +74,44 @@ export class CheckedPruneCoordinator {
53
74
  hasPendingDelete(hash) {
54
75
  return this.pendingDeletes.has(hash);
55
76
  }
77
+ getRestartCandidate(hash) {
78
+ const session = this.sessions.get(hash);
79
+ if (!session?.entry || !session.leaders) {
80
+ return undefined;
81
+ }
82
+ return {
83
+ hash,
84
+ entry: session.entry,
85
+ leaders: session.leaders instanceof Map
86
+ ? new Map(session.leaders)
87
+ : new Set(session.leaders),
88
+ };
89
+ }
56
90
  setPendingDelete(hash, pending, entry, leaders) {
91
+ this.restartReservations.delete(hash);
92
+ this.candidateTokens.delete(hash);
93
+ this.requestIPruneSent.delete(hash);
94
+ this.responseReplicatorSet.delete(hash);
57
95
  this.pendingDeletes.set(hash, pending);
58
96
  const session = this.remember(hash, entry, leaders);
59
97
  session.pending = pending;
98
+ session.contacted.clear();
99
+ session.confirmed.clear();
100
+ session.revoked.clear();
60
101
  session.phase = "requested";
61
102
  }
62
103
  deletePendingDelete(hash, pending) {
63
104
  const current = this.pendingDeletes.get(hash);
64
105
  if (!pending || current === pending) {
65
106
  this.pendingDeletes.delete(hash);
107
+ this.requestIPruneSent.delete(hash);
108
+ this.responseReplicatorSet.delete(hash);
66
109
  const session = this.sessions.get(hash);
67
110
  if (session && session.pending === current) {
68
111
  session.pending = undefined;
112
+ session.contacted.clear();
113
+ session.confirmed.clear();
114
+ session.revoked.clear();
69
115
  }
70
116
  this.deleteSessionIfIdle(hash);
71
117
  }
@@ -77,12 +123,16 @@ export class CheckedPruneCoordinator {
77
123
  return this.retries.has(hash);
78
124
  }
79
125
  setRetry(hash, state) {
126
+ this.restartReservations.delete(hash);
127
+ this.candidateTokens.delete(hash);
80
128
  this.retries.set(hash, state);
81
129
  const session = this.remember(hash, state.entry, state.leaders);
82
130
  session.retry = state;
83
131
  session.phase = "retrying";
84
132
  }
85
133
  clearRetry(hash) {
134
+ this.restartReservations.delete(hash);
135
+ this.candidateTokens.delete(hash);
86
136
  const state = this.retries.get(hash);
87
137
  if (state?.timer) {
88
138
  clearTimeout(state.timer);
@@ -102,33 +152,65 @@ export class CheckedPruneCoordinator {
102
152
  }
103
153
  return state;
104
154
  }
105
- addRequestSent(hash, peer) {
155
+ isCurrentRequest(hash, pending) {
156
+ return this.pendingDeletes.get(hash) === pending;
157
+ }
158
+ isCurrentRequestId(hash, pending, requestId) {
159
+ if (!this.isCurrentRequest(hash, pending)) {
160
+ return false;
161
+ }
162
+ if (pending.requestId.byteLength !== requestId.byteLength) {
163
+ return false;
164
+ }
165
+ return pending.requestId.every((value, index) => value === requestId[index]);
166
+ }
167
+ addRequestSent(hash, peer, pending) {
168
+ if (!this.isCurrentRequest(hash, pending)) {
169
+ return false;
170
+ }
171
+ const session = this.getOrCreateSession(hash);
172
+ if (session.revoked.has(peer)) {
173
+ return false;
174
+ }
106
175
  let set = this.requestIPruneSent.get(hash);
107
176
  if (!set) {
108
177
  set = new Set();
109
178
  this.requestIPruneSent.set(hash, set);
110
179
  }
111
180
  set.add(peer);
112
- const session = this.getOrCreateSession(hash);
113
181
  session.contacted.add(peer);
114
182
  if (session.phase === "candidate") {
115
183
  session.phase = "requested";
116
184
  }
185
+ return true;
117
186
  }
118
187
  removeRequestSent(hash, peer) {
119
188
  if (!peer) {
120
- this.requestIPruneSent.delete(hash);
121
189
  const session = this.sessions.get(hash);
190
+ if (session?.pending) {
191
+ for (const contactedPeer of session.contacted) {
192
+ session.revoked.add(contactedPeer);
193
+ }
194
+ }
195
+ this.requestIPruneSent.delete(hash);
122
196
  session?.contacted.clear();
197
+ this.clearConfirmedReplicators(hash);
123
198
  this.deleteSessionIfIdle(hash);
124
199
  return;
125
200
  }
201
+ const session = this.sessions.get(hash);
202
+ if (session?.pending) {
203
+ // A contact removed during this pending generation must never become
204
+ // authorized again by a delayed receipt carrying the old generation ID.
205
+ session.revoked.add(peer);
206
+ }
126
207
  const set = this.requestIPruneSent.get(hash);
127
208
  if (!set) {
209
+ this.removeConfirmedReplicator(hash, peer);
128
210
  return;
129
211
  }
130
212
  set.delete(peer);
131
- const session = this.sessions.get(hash);
213
+ this.removeConfirmedReplicator(hash, peer);
132
214
  session?.contacted.delete(peer);
133
215
  if (set.size === 0) {
134
216
  this.requestIPruneSent.delete(hash);
@@ -136,14 +218,15 @@ export class CheckedPruneCoordinator {
136
218
  }
137
219
  }
138
220
  removeRequestsSent(hashes, peer) {
139
- if (this.requestIPruneSent.size === 0) {
140
- return;
141
- }
142
221
  for (const hash of hashes) {
143
222
  this.removeRequestSent(hash, peer);
144
223
  }
145
224
  }
146
- addConfirmedReplicator(hash, peer) {
225
+ addConfirmedReplicator(hash, peer, pending, requestId) {
226
+ if (!this.isCurrentRequestId(hash, pending, requestId) ||
227
+ !this.requestIPruneSent.get(hash)?.has(peer)) {
228
+ return undefined;
229
+ }
147
230
  let set = this.responseReplicatorSet.get(hash);
148
231
  if (!set) {
149
232
  set = new Set();
@@ -196,22 +279,147 @@ export class CheckedPruneCoordinator {
196
279
  getContactedReplicators(hash) {
197
280
  return this.requestIPruneSent.get(hash);
198
281
  }
199
- markRemoving(hash) {
282
+ hasRevokedLeader(hash, pending, leaders) {
283
+ if (!this.isCurrentRequest(hash, pending)) {
284
+ return false;
285
+ }
286
+ const revoked = this.sessions.get(hash)?.revoked;
287
+ if (!revoked || revoked.size === 0) {
288
+ return false;
289
+ }
290
+ for (const leader of leaders.keys()) {
291
+ if (revoked.has(leader)) {
292
+ return true;
293
+ }
294
+ }
295
+ return false;
296
+ }
297
+ trackGrantSend(hashes, send) {
298
+ const uniqueHashes = [...new Set(hashes)];
299
+ const observed = send.then(() => undefined, () => undefined);
300
+ for (const hash of uniqueHashes) {
301
+ let sends = this.grantSends.get(hash);
302
+ if (!sends) {
303
+ sends = new Set();
304
+ this.grantSends.set(hash, sends);
305
+ }
306
+ sends.add(observed);
307
+ }
308
+ void observed.finally(() => {
309
+ for (const hash of uniqueHashes) {
310
+ const sends = this.grantSends.get(hash);
311
+ sends?.delete(observed);
312
+ if (sends?.size === 0) {
313
+ this.grantSends.delete(hash);
314
+ }
315
+ }
316
+ });
317
+ return observed;
318
+ }
319
+ waitForGrantSends(hash) {
320
+ const sends = this.grantSends.get(hash);
321
+ if (!sends || sends.size === 0) {
322
+ return undefined;
323
+ }
324
+ return Promise.all(sends).then(() => undefined);
325
+ }
326
+ reserveRestart(hash) {
327
+ const reservation = {};
328
+ this.restartReservations.set(hash, reservation);
329
+ return reservation;
330
+ }
331
+ consumeRestartReservation(hash, reservation) {
332
+ if (this.restartReservations.get(hash) !== reservation) {
333
+ return false;
334
+ }
335
+ this.restartReservations.delete(hash);
336
+ return true;
337
+ }
338
+ cancelRestartReservation(hash, reservation) {
339
+ if (this.restartReservations.get(hash) === reservation) {
340
+ this.restartReservations.delete(hash);
341
+ }
342
+ }
343
+ hasRestartReservation(hash) {
344
+ return this.restartReservations.has(hash);
345
+ }
346
+ getExactConfirmedReplicators(hash, pending) {
347
+ const exact = new Set();
348
+ if (!this.isCurrentRequest(hash, pending)) {
349
+ return exact;
350
+ }
351
+ const contacted = this.requestIPruneSent.get(hash);
352
+ const confirmed = this.responseReplicatorSet.get(hash);
353
+ const revoked = this.sessions.get(hash)?.revoked;
354
+ if (!contacted || !confirmed) {
355
+ return exact;
356
+ }
357
+ for (const peer of confirmed) {
358
+ if (contacted.has(peer) &&
359
+ !revoked?.has(peer) &&
360
+ !this.isPeerRemovalFenced(peer)) {
361
+ exact.add(peer);
362
+ }
363
+ }
364
+ return exact;
365
+ }
366
+ fencePeerRemoval(peer) {
367
+ this.peerRemovalFences.set(peer, (this.peerRemovalFences.get(peer) ?? 0) + 1);
368
+ let released = false;
369
+ return () => {
370
+ if (released) {
371
+ return;
372
+ }
373
+ released = true;
374
+ const remaining = (this.peerRemovalFences.get(peer) ?? 1) - 1;
375
+ if (remaining > 0) {
376
+ this.peerRemovalFences.set(peer, remaining);
377
+ }
378
+ else {
379
+ this.peerRemovalFences.delete(peer);
380
+ }
381
+ };
382
+ }
383
+ isPeerRemovalFenced(peer) {
384
+ return (this.peerRemovalFences.get(peer) ?? 0) > 0;
385
+ }
386
+ markRemoving(hash, pending) {
387
+ if (pending && !this.isCurrentRequest(hash, pending)) {
388
+ return false;
389
+ }
200
390
  const session = this.getOrCreateSession(hash);
201
391
  session.phase = "removing";
392
+ return true;
202
393
  }
203
- markDone(hash) {
394
+ markDone(hash, pending) {
395
+ if (pending && !this.isCurrentRequest(hash, pending)) {
396
+ return false;
397
+ }
204
398
  const session = this.sessions.get(hash);
205
399
  if (session) {
206
400
  session.phase = "done";
207
401
  }
402
+ this.restartReservations.delete(hash);
403
+ this.candidateTokens.delete(hash);
208
404
  this.pendingDeletes.delete(hash);
209
405
  this.requestIPruneSent.delete(hash);
210
406
  this.responseReplicatorSet.delete(hash);
211
407
  this.clearRetry(hash);
212
408
  this.sessions.delete(hash);
409
+ return true;
213
410
  }
214
- markCancelled(hash, options) {
411
+ markCancelled(hash, pendingOrOptions, options) {
412
+ const pending = pendingOrOptions && "promise" in pendingOrOptions
413
+ ? pendingOrOptions
414
+ : undefined;
415
+ const resolvedOptions = pending
416
+ ? options
417
+ : pendingOrOptions;
418
+ if (pending && !this.isCurrentRequest(hash, pending)) {
419
+ return false;
420
+ }
421
+ this.restartReservations.delete(hash);
422
+ this.candidateTokens.delete(hash);
215
423
  const retry = this.retries.get(hash);
216
424
  const session = this.sessions.get(hash);
217
425
  if (session) {
@@ -219,34 +427,52 @@ export class CheckedPruneCoordinator {
219
427
  session.pending = undefined;
220
428
  session.contacted.clear();
221
429
  session.confirmed.clear();
222
- if (!options?.preserveRetry || session.retry !== retry) {
430
+ session.revoked.clear();
431
+ if (!resolvedOptions?.preserveRetry || session.retry !== retry) {
223
432
  session.retry = undefined;
224
433
  }
225
434
  }
435
+ if (!pending || this.pendingDeletes.get(hash) === pending) {
436
+ this.pendingDeletes.delete(hash);
437
+ }
226
438
  this.requestIPruneSent.delete(hash);
227
439
  this.responseReplicatorSet.delete(hash);
228
- if (!options?.preserveRetry) {
440
+ if (!resolvedOptions?.preserveRetry) {
229
441
  this.clearRetry(hash);
230
442
  }
231
443
  this.deleteSessionIfIdle(hash);
444
+ return true;
232
445
  }
233
446
  cleanupPeer(peer) {
234
- for (const [hash, peers] of this.requestIPruneSent) {
235
- peers.delete(peer);
236
- this.sessions.get(hash)?.contacted.delete(peer);
237
- if (peers.size === 0) {
238
- this.requestIPruneSent.delete(hash);
239
- this.deleteSessionIfIdle(hash);
447
+ const invalidated = [];
448
+ // Fence the peer from every active generation, including generations that
449
+ // have not emitted their first request yet. A removal can begin between
450
+ // generation creation and message emission.
451
+ for (const [hash, session] of this.sessions) {
452
+ const pending = session.pending;
453
+ if (pending && this.pendingDeletes.get(hash) === pending) {
454
+ session.revoked.add(peer);
455
+ const candidate = this.getRestartCandidate(hash);
456
+ if (candidate &&
457
+ (session.contacted.has(peer) || candidate.leaders.has(peer))) {
458
+ invalidated.push({
459
+ ...candidate,
460
+ pending,
461
+ });
462
+ }
463
+ }
464
+ }
465
+ for (const [hash, peers] of [...this.requestIPruneSent]) {
466
+ if (peers.has(peer)) {
467
+ this.removeRequestSent(hash, peer);
240
468
  }
241
469
  }
242
- for (const [hash, peers] of this.responseReplicatorSet) {
243
- peers.delete(peer);
244
- this.sessions.get(hash)?.confirmed.delete(peer);
245
- if (peers.size === 0) {
246
- this.responseReplicatorSet.delete(hash);
247
- this.deleteSessionIfIdle(hash);
470
+ for (const [hash, peers] of [...this.responseReplicatorSet]) {
471
+ if (peers.has(peer)) {
472
+ this.removeConfirmedReplicator(hash, peer);
248
473
  }
249
474
  }
475
+ return invalidated;
250
476
  }
251
477
  close() {
252
478
  for (const [_hash, pending] of this.pendingDeletes) {
@@ -263,6 +489,10 @@ export class CheckedPruneCoordinator {
263
489
  this.responseReplicatorSet.clear();
264
490
  this.retries.clear();
265
491
  this.sessions.clear();
492
+ this.grantSends.clear();
493
+ this.peerRemovalFences.clear();
494
+ this.restartReservations.clear();
495
+ this.candidateTokens.clear();
266
496
  }
267
497
  }
268
498
  //# sourceMappingURL=checked-prune.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checked-prune.js","sourceRoot":"","sources":["../../src/checked-prune.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checked-prune.js","sourceRoot":"","sources":["../../src/checked-prune.ts"],"names":[],"mappings":"AAiEA,MAAM,OAAO,uBAAuB;IAC1B,cAAc,GAAG,IAAI,GAAG,EAAqC,CAAC;IAC9D,iBAAiB,GAAG,IAAI,GAAG,EAAuB,CAAC;IACnD,qBAAqB,GAAG,IAAI,GAAG,EAAuB,CAAC;IACvD,OAAO,GAAG,IAAI,GAAG,EAAwC,CAAC;IAClD,QAAQ,GAAG,IAAI,GAAG,EAAqC,CAAC;IACxD,UAAU,GAAG,IAAI,GAAG,EAA8B,CAAC;IACnD,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAErD,kBAAkB,CAAC,IAAY;QACtC,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,GAAG;gBACT,KAAK,EAAE,WAAW;gBAClB,SAAS,EAAE,IAAI,GAAG,EAAE;gBACpB,SAAS,EAAE,IAAI,GAAG,EAAE;gBACpB,OAAO,EAAE,IAAI,GAAG,EAAE;aAClB,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;IAEO,QAAQ,CACf,IAAY,EACZ,KAA+B,EAC/B,OAA6C;QAE7C,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;IAEO,mBAAmB,CAAC,IAAY;QACvC,IACC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;YAC7B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;YAChC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAC7B,CAAC;YACF,OAAO;QACR,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,cAAc,CACb,IAAY,EACZ,KAA8B,EAC9B,OAA4C;QAE5C,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC;QAC7B,CAAC;QACD,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,uBAAuB,CAAC,IAAY,EAAE,KAAa;QAClD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;IACjD,CAAC;IAED,YAAY,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,wBAAwB,CAAC,IAAY;QACpC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,aAAa,CAAC,IAAY;QACzB,OAAO,CACN,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;YAC7B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;YAChC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAC9B,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,mBAAmB,CAClB,IAAY;QAEZ,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACzC,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,OAAO;YACN,IAAI;YACJ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EACN,OAAO,CAAC,OAAO,YAAY,GAAG;gBAC7B,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC1B,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;SAC5B,CAAC;IACH,CAAC;IAED,gBAAgB,CACf,IAAY,EACZ,OAAkC,EAClC,KAA8B,EAC9B,OAA4C;QAE5C,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACpD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1B,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAC1B,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAC1B,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC;IAC7B,CAAC;IAED,mBAAmB,CAAC,IAAY,EAAE,OAAmC;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gBAC5C,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;gBAC5B,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBAC1B,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBAC1B,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACF,CAAC;IAED,QAAQ,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,QAAQ,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,KAAmC;QACzD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAChE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACtB,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC;IAC5B,CAAC;IAED,UAAU,CAAC,IAAY;QACtB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,KAAK,EAAE,KAAK,EAAE,CAAC;YAClB,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YACxC,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,eAAe,CAAC,IAAY;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,KAAK,EAAE,KAAK,EAAE,CAAC;YAClB,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;QACzB,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,IAAY,EAAE,OAAkC;QAChE,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC;IAClD,CAAC;IAED,kBAAkB,CACjB,IAAY,EACZ,OAAkC,EAClC,SAAqB;QAErB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,EAAE,CAAC;YAC3D,OAAO,KAAK,CAAC;QACd,CAAC;QACD,OAAO,OAAO,CAAC,SAAS,CAAC,KAAK,CAC7B,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,CAAC,CAC5C,CAAC;IACH,CAAC;IAED,cAAc,CACb,IAAY,EACZ,IAAY,EACZ,OAAkC;QAElC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,OAAO,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC;QAC7B,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,iBAAiB,CAAC,IAAY,EAAE,IAAa;QAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;gBACtB,KAAK,MAAM,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC/C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACpC,CAAC;YACF,CAAC;YACD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO;QACR,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACtB,qEAAqE;YACrE,wEAAwE;YACxE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC3C,OAAO;QACR,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACF,CAAC;IAED,kBAAkB,CAAC,MAAwB,EAAE,IAAa;QACzD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;IACF,CAAC;IAED,sBAAsB,CACrB,IAAY,EACZ,IAAY,EACZ,OAAkC,EAClC,SAAqB;QAErB,IACC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC;YAClD,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAC3C,CAAC;YACF,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3C,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC;QAC5B,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,yBAAyB,CAAC,IAAY,EAAE,IAAY;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACR,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACF,CAAC;IAED,0BAA0B,CAAC,MAAwB,EAAE,IAAY;QAChE,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO;QACR,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;IACF,CAAC;IAED,yBAAyB,CAAC,IAAY;QACrC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,8BAA8B,CAAC,MAAwB;QACtD,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO;QACR,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IAED,uBAAuB,CAAC,IAAY;QACnC,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,uBAAuB,CAAC,IAAY;QACnC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,gBAAgB,CACf,IAAY,EACZ,OAAkC,EAClC,OAA4C;QAE5C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QACjD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACd,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACrC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,cAAc,CAAC,MAAwB,EAAE,IAAmB;QAC3D,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACzB,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CACf,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YACjC,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACZ,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;gBAClB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAClC,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC;QACD,KAAK,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE;YAC1B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACxB,IAAI,KAAK,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;oBACvB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC9B,CAAC;YACF,CAAC;QACF,CAAC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,iBAAiB,CAAC,IAAY;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,cAAc,CAAC,IAAY;QAC1B,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAChD,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,yBAAyB,CAAC,IAAY,EAAE,WAAmB;QAC1D,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,wBAAwB,CAAC,IAAY,EAAE,WAAmB;QACzD,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YACxD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;IACF,CAAC;IAED,qBAAqB,CAAC,IAAY;QACjC,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,4BAA4B,CAC3B,IAAY,EACZ,OAAkC;QAElC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC;QACd,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QACjD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACd,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC9B,IACC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;gBACnB,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC;gBACnB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAC9B,CAAC;gBACF,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;QACF,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,IAAY;QAC5B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CACzB,IAAI,EACJ,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAC3C,CAAC;QACF,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,OAAO,GAAG,EAAE;YACX,IAAI,QAAQ,EAAE,CAAC;gBACd,OAAO;YACR,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9D,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;QACF,CAAC,CAAC;IACH,CAAC;IAED,mBAAmB,CAAC,IAAY;QAC/B,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,OAAmC;QAC7D,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YACtD,OAAO,KAAK,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC;QAC3B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,OAAmC;QACzD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YACtD,OAAO,KAAK,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,aAAa,CACZ,IAAY,EACZ,gBAA0E,EAC1E,OAAqC;QAErC,MAAM,OAAO,GACZ,gBAAgB,IAAI,SAAS,IAAI,gBAAgB;YAChD,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,eAAe,GAA4C,OAAO;YACvE,CAAC,CAAC,OAAO;YACT,CAAC,CAAE,gBAA4D,CAAC;QACjE,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YACtD,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC;YAC5B,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;YAC5B,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,EAAE,aAAa,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBAChE,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;YAC3B,CAAC;QACF,CAAC;QACD,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YAC3D,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,EAAE,aAAa,EAAE,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,WAAW,CAAC,IAAY;QACvB,MAAM,WAAW,GAA8C,EAAE,CAAC;QAClE,0EAA0E;QAC1E,wEAAwE;QACxE,4CAA4C;QAC5C,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAChC,IAAI,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;gBAC1D,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBACjD,IACC,SAAS;oBACT,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAC3D,CAAC;oBACF,WAAW,CAAC,IAAI,CAAC;wBAChB,GAAG,SAAS;wBACZ,OAAO;qBACP,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;QACF,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACzD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;QACF,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC7D,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC;QACF,CAAC;QACD,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,KAAK;QACJ,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACpD,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBACjB,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;CACD"}
@@ -220,6 +220,32 @@ export declare class ResponseIPrune extends TransportMessage {
220
220
  hashes: string[];
221
221
  });
222
222
  }
223
+ export declare class CheckedPruneRequest {
224
+ hash: string;
225
+ requestId: Uint8Array;
226
+ constructor(props: {
227
+ hash: string;
228
+ requestId: Uint8Array;
229
+ });
230
+ }
231
+ export declare class RequestIPruneV2 extends TransportMessage {
232
+ requests: CheckedPruneRequest[];
233
+ constructor(props: {
234
+ requests: Array<CheckedPruneRequest | {
235
+ hash: string;
236
+ requestId: Uint8Array;
237
+ }>;
238
+ });
239
+ }
240
+ export declare class ResponseIPruneV2 extends TransportMessage {
241
+ requests: CheckedPruneRequest[];
242
+ constructor(props: {
243
+ requests: Array<CheckedPruneRequest | {
244
+ hash: string;
245
+ requestId: Uint8Array;
246
+ }>;
247
+ });
248
+ }
223
249
  export declare const MAX_RAW_EXCHANGE_MESSAGE_SIZE: number;
224
250
  export declare const EXCHANGE_HEADS_RESOLVE_BATCH_SIZE = 256;
225
251
  export declare const createExchangeHeadsMessages: (log: Log<any>, heads: Entry<any>[] | string[] | Set<string>) => AsyncGenerator<ExchangeHeadsMessage<any>, void, void>;
@@ -271,6 +297,5 @@ export declare const materializeVerifiedRawExchangeHeadsMessage: (message: RawEx
271
297
  hashes: string[];
272
298
  }) => RawReceiveHashSelection | undefined | Promise<RawReceiveHashSelection | undefined>;
273
299
  }) => Promise<ExchangeHeadsMessage<any> | undefined>;
274
- export declare const allEntriesWithUniqueGids: (log: Log<any>, entry: Entry<any>) => Promise<Entry<any>[]>;
275
300
  export {};
276
301
  //# sourceMappingURL=exchange-heads.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exchange-heads.d.ts","sourceRoot":"","sources":["../../src/exchange-heads.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exchange-heads.d.ts","sourceRoot":"","sources":["../../src/exchange-heads.ts"],"names":[],"mappings":"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"}