@peerbit/pubsub 2.0.3 → 2.0.4
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/lib/esm/index.js +57 -58
- package/lib/esm/index.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +74 -76
package/lib/esm/index.js
CHANGED
|
@@ -57,7 +57,8 @@ export class DirectSub extends DirectStream {
|
|
|
57
57
|
if (newTopicsForTopicData.length > 0) {
|
|
58
58
|
const message = new DataMessage({
|
|
59
59
|
data: toUint8Array(new Subscribe({
|
|
60
|
-
topics: newTopicsForTopicData
|
|
60
|
+
topics: newTopicsForTopicData,
|
|
61
|
+
requestSubscribers: true
|
|
61
62
|
}).bytes()),
|
|
62
63
|
header: new MessageHeader({ mode: new SeekDelivery({ redundancy: 2 }) })
|
|
63
64
|
});
|
|
@@ -221,7 +222,8 @@ export class DirectSub extends DirectStream {
|
|
|
221
222
|
// tell the peer about all topics we subscribe to
|
|
222
223
|
this.publishMessage(this.publicKey, await new DataMessage({
|
|
223
224
|
data: toUint8Array(new Subscribe({
|
|
224
|
-
topics: [...this.subscriptions.keys()]
|
|
225
|
+
topics: [...this.subscriptions.keys()],
|
|
226
|
+
requestSubscribers: true
|
|
225
227
|
}).bytes()),
|
|
226
228
|
header: new MessageHeader({
|
|
227
229
|
mode: new SeekDelivery({ redundancy: 2 })
|
|
@@ -354,40 +356,37 @@ export class DirectSub extends DirectStream {
|
|
|
354
356
|
logger.info("Recieved subscription message with no topics");
|
|
355
357
|
return false;
|
|
356
358
|
}
|
|
357
|
-
if (
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
if (!existingSubscription) {
|
|
378
|
-
changed.push(topic);
|
|
359
|
+
if (this.subscriptionMessageIsLatest(message, pubsubMessage)) {
|
|
360
|
+
const changed = [];
|
|
361
|
+
pubsubMessage.topics.forEach((topic) => {
|
|
362
|
+
const peers = this.topics.get(topic);
|
|
363
|
+
if (peers == null) {
|
|
364
|
+
return;
|
|
365
|
+
}
|
|
366
|
+
this.initializePeer(sender);
|
|
367
|
+
// if no subscription data, or new subscription has data (and is newer) then overwrite it.
|
|
368
|
+
// subscription where data is undefined is not intended to replace existing data
|
|
369
|
+
const existingSubscription = peers.get(senderKey);
|
|
370
|
+
if (!existingSubscription ||
|
|
371
|
+
existingSubscription.timestamp < message.header.timetamp) {
|
|
372
|
+
peers.set(senderKey, new SubscriptionData({
|
|
373
|
+
timestamp: message.header.timetamp, // TODO update timestamps on all messages?
|
|
374
|
+
publicKey: sender
|
|
375
|
+
}));
|
|
376
|
+
if (!existingSubscription) {
|
|
377
|
+
changed.push(topic);
|
|
378
|
+
}
|
|
379
379
|
}
|
|
380
|
+
this.topicsToPeers.get(topic)?.add(senderKey);
|
|
381
|
+
this.peerToTopic.get(senderKey)?.add(topic);
|
|
382
|
+
});
|
|
383
|
+
if (changed.length > 0) {
|
|
384
|
+
this.dispatchEvent(new CustomEvent("subscribe", {
|
|
385
|
+
detail: new SubscriptionEvent(sender, changed)
|
|
386
|
+
}));
|
|
380
387
|
}
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
});
|
|
384
|
-
if (changed.length > 0) {
|
|
385
|
-
this.dispatchEvent(new CustomEvent("subscribe", {
|
|
386
|
-
detail: new SubscriptionEvent(sender, changed)
|
|
387
|
-
}));
|
|
388
|
-
// also send back a message telling the remote whether we are subsbscring
|
|
389
|
-
if (message.header.mode instanceof SeekDelivery) {
|
|
390
|
-
// only if Subscribe message is of 'seek' type we will respond with our subscriptions
|
|
388
|
+
if (pubsubMessage.requestSubscribers) {
|
|
389
|
+
// respond if we are subscribing
|
|
391
390
|
const mySubscriptions = changed
|
|
392
391
|
.map((x) => {
|
|
393
392
|
const subscription = this.subscriptions.get(x);
|
|
@@ -397,13 +396,14 @@ export class DirectSub extends DirectStream {
|
|
|
397
396
|
if (mySubscriptions.length > 0) {
|
|
398
397
|
const response = new DataMessage({
|
|
399
398
|
data: toUint8Array(new Subscribe({
|
|
400
|
-
topics: mySubscriptions
|
|
399
|
+
topics: mySubscriptions,
|
|
400
|
+
requestSubscribers: false
|
|
401
401
|
}).bytes()),
|
|
402
402
|
// needs to be Ack or Silent else we will run into a infite message loop
|
|
403
403
|
header: new MessageHeader({
|
|
404
|
-
mode: new
|
|
404
|
+
mode: new SeekDelivery({
|
|
405
405
|
redundancy: 2,
|
|
406
|
-
to: [
|
|
406
|
+
to: [senderKey]
|
|
407
407
|
})
|
|
408
408
|
})
|
|
409
409
|
});
|
|
@@ -416,27 +416,25 @@ export class DirectSub extends DirectStream {
|
|
|
416
416
|
this.relayMessage(from, message).catch(logError);
|
|
417
417
|
}
|
|
418
418
|
else if (pubsubMessage instanceof Unsubscribe) {
|
|
419
|
-
if (
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
419
|
+
if (this.subscriptionMessageIsLatest(message, pubsubMessage)) {
|
|
420
|
+
const changed = [];
|
|
421
|
+
for (const unsubscription of pubsubMessage.topics) {
|
|
422
|
+
const change = this.deletePeerFromTopic(unsubscription, senderKey);
|
|
423
|
+
if (change) {
|
|
424
|
+
changed.push(unsubscription);
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
if (changed.length > 0) {
|
|
428
|
+
this.dispatchEvent(new CustomEvent("unsubscribe", {
|
|
429
|
+
detail: new UnsubcriptionEvent(sender, changed)
|
|
430
|
+
}));
|
|
431
|
+
}
|
|
432
|
+
// Forwarding
|
|
433
|
+
if (message.header.mode instanceof SeekDelivery ||
|
|
434
|
+
message.header.mode instanceof SilentDelivery ||
|
|
435
|
+
message.header.mode instanceof AcknowledgeDelivery) {
|
|
436
|
+
this.addPeersOnTopic(message, pubsubMessage.topics);
|
|
428
437
|
}
|
|
429
|
-
}
|
|
430
|
-
if (changed.length > 0) {
|
|
431
|
-
this.dispatchEvent(new CustomEvent("unsubscribe", {
|
|
432
|
-
detail: new UnsubcriptionEvent(sender, changed)
|
|
433
|
-
}));
|
|
434
|
-
}
|
|
435
|
-
// Forward
|
|
436
|
-
if (message.header.mode instanceof SeekDelivery ||
|
|
437
|
-
message.header.mode instanceof SilentDelivery ||
|
|
438
|
-
message.header.mode instanceof AcknowledgeDelivery) {
|
|
439
|
-
this.addPeersOnTopic(message, pubsubMessage.topics);
|
|
440
438
|
}
|
|
441
439
|
// DONT await this since it might introduce a dead-lock
|
|
442
440
|
this.relayMessage(from, message).catch(logError);
|
|
@@ -453,7 +451,8 @@ export class DirectSub extends DirectStream {
|
|
|
453
451
|
// respond
|
|
454
452
|
this.publishMessage(this.publicKey, await new DataMessage({
|
|
455
453
|
data: toUint8Array(new Subscribe({
|
|
456
|
-
topics: subscriptionsToSend
|
|
454
|
+
topics: subscriptionsToSend,
|
|
455
|
+
requestSubscribers: false
|
|
457
456
|
}).bytes()),
|
|
458
457
|
header: new MessageHeader({
|
|
459
458
|
mode: new SilentDelivery({
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACN,mBAAmB,EACnB,QAAQ,EACR,WAAW,EAGX,aAAa,EACb,YAAY,EACZ,cAAc,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACN,YAAY,EAIZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACN,aAAa,EACb,SAAS,EACT,UAAU,EACV,YAAY,EACZ,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EAEjB,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AAClE,MAAM,QAAQ,GAAG,CAAC,CAAuB,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAevE,MAAM,OAAO,SAAU,SAAQ,YAA0B;IACjD,MAAM,CAA6C,CAAC,4EAA4E;IAChI,WAAW,CAA2B,CAAC,iBAAiB;IACxD,aAAa,CAA2B,CAAC,iBAAiB;IAC1D,aAAa,CAAmC,CAAC,4BAA4B;IAC7E,wBAAwB,GAC9B,IAAI,GAAG,EAAE,CAAC;IAEX,YAAY,UAA+B,EAAE,KAA2B;QACvE,KAAK,CAAC,UAAU,EAAE,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI;QACH,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAEO,eAAe,CAAC,KAAa;QACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IAC3E,CAAC;IAEO,cAAc,CAAC,SAAwB;QAC9C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,KAAa;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,qBAAqB,GAAa,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE;gBAC7B,OAAO,EAAE,CAAC;aACV,CAAC,CAAC;YAEH,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC;gBAC/B,IAAI,EAAE,YAAY,CACjB,IAAI,SAAS,CAAC;oBACb,MAAM,EAAE,qBAAqB;iBAC7B,CAAC,CAAC,KAAK,EAAE,CACV;gBACD,MAAM,EAAE,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;aACxE,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAChB,KAAa,EACb,OAA8C;QAE9C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEpD,MAAM,CAAC,KAAK,CACX,oBAAoB,KAAK,uCAAuC,aAAa,EAAE,CAC/E,CAAC;QAEF,IAAI,aAAa,EAAE,OAAO,IAAI,aAAa,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YAC3D,aAAa,CAAC,OAAO,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,YAAY,EAAE,CAAC;YAClB,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBACjC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC5C,CAAC;QACF,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,OAAO,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YAC/C,MAAM,IAAI,CAAC,cAAc,CACxB,IAAI,CAAC,SAAS,EACd,MAAM,IAAI,WAAW,CAAC;gBACrB,MAAM,EAAE,IAAI,aAAa,CAAC;oBACzB,IAAI,EAAE,IAAI,QAAQ,EAAC;;;wBAGf,CAAC;iBACL,CAAC;gBACF,IAAI,EAAE,YAAY,CAAC,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;aAChE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAClB,CAAC;YAEF,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEjC,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,cAAc,CAAC,KAAa;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,MAAM,GAAG,GAAoB,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAEO,oBAAoB,CAAC,KAAa;QACzC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,kBAAkB,CACvB,KAAwB,EACxB,EAAkB;QAElB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,SAAS,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,SAAS,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;QACR,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CACzB,IAAI,CAAC,SAAS,EACd,MAAM,IAAI,WAAW,CAAC;YACrB,IAAI,EAAE,YAAY,CAAC,IAAI,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YAC1D,MAAM,EAAE,IAAI,aAAa,CAAC;gBACzB,IAAI,EAAE,IAAI,YAAY,CAAC;oBACtB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC7B,UAAU,EAAE,CAAC;iBACb,CAAC;aACF,CAAC;SACF,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAClB,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,MAAgB;QAChC,MAAM,QAAQ,GAAgB,IAAI,GAAG,EAAE,CAAC;QACxC,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;YACpB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC9D,IAAI,YAAY,EAAE,CAAC;oBAClB,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC7B,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACpB,CAAC,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED;;;;;QAKI;IAEJ,KAAK,CAAC,OAAO,CACZ,IAA4B,EAC5B,OASuB;QAEvB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,MAAM,GACV,OAAgC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAE1E,MAAM,GAAG,GACP,OAAuD,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvE,CAAC,YAAY,aAAa;YACzB,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACd,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ;gBACtB,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CACxC,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEpC,+GAA+G;QAC/G,MAAM,WAAW,GAAG,IAAI;YACvB,CAAC,CAAC,IAAI,UAAU,CAAC;gBACf,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACvC,IAAI;gBACJ,MAAM,EAAE,CAAC,CAAE,OAA4B,EAAE,EAAE;aAC3C,CAAC;YACH,CAAC,CAAC,SAAS,CAAC;QAEb,MAAM,KAAK,GAAG,WAAW,EAAE,KAAK,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAEzE,IAAI,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,SAAS,EAAE;gBAC1B,MAAM,EAAE,IAAI,YAAY,CAAC;oBACxB,MAAM,EAAE,OAAO,EAAE,MAAM;oBACvB,IAAI,EAAE,WAAW;oBACjB,OAAO;iBACP,CAAC;aACF,CAAC,CACF,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAE9D,OAAO,OAAO,CAAC,EAAE,CAAC;IACnB,CAAC;IAEO,mBAAmB,CAAC,KAAa,EAAE,aAAqB;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,MAAM,GAAiC,SAAS,CAAC;QACrD,IAAI,KAAK,EAAE,CAAC;YACX,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QAE9C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;YAChD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QAErD,OAAO,MAAM,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,SAAwB;QACpD,gIAAgI;QAChI,6IAA6I;QAC7I,wEAAwE;QAExE,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpD,IAAI,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC3C,mBAAmB;YACnB,iDAAiD;YACjD,IAAI,CAAC,cAAc,CAClB,IAAI,CAAC,SAAS,EACd,MAAM,IAAI,WAAW,CAAC;gBACrB,IAAI,EAAE,YAAY,CACjB,IAAI,SAAS,CAAC;oBACb,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;iBACtC,CAAC,CAAC,KAAK,EAAE,CACV;gBACD,MAAM,EAAE,IAAI,aAAa,CAAC;oBACzB,IAAI,EAAE,IAAI,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;iBACzC,CAAC;aACF,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAClB;gBACA,CAAC,MAAM,CAAC,CAAC;QACX,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,iBAAiB,CAAC,aAAqB;QAC7C,KAAK,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAEvC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAEvD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,UAAU,EAAE,CAAC;YAChB,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;gBAC9D,IAAI,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;YACF,CAAC;QACF,CAAC;QACD,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAEpD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,CACjB,IAAI,WAAW,CAAqB,aAAa,EAAE;gBAClD,MAAM,EAAE,IAAI,kBAAkB,CAC7B,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,aAAa,CAAE,EAC/C,OAAO,CACP;aACD,CAAC,CACF,CAAC;QACH,CAAC;IACF,CAAC;IAEO,2BAA2B,CAClC,OAAoB,EACpB,aAAsC;QAEtC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,UAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAU,CAAC;QACvE,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,mDAAmD;QAEhG,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,wBAAwB;iBACjD,GAAG,CAAC,aAAa,CAAC;gBACnB,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;YAC/B,IAAI,aAAa,IAAI,IAAI,IAAI,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACtE,OAAO,KAAK,CAAC,CAAC,iBAAiB;YAChC,CAAC;QACF,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,eAAe,CACtB,OAAyE,EACzE,MAAgB;QAEhB,MAAM,aAAa,GAAgB,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnE,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEtD,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;YACtC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAED,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,aAAa,CAClB,IAAmB,EACnB,MAAmB,EACnB,OAAoB,EACpB,UAAkB;QAElB,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,aAAa,YAAY,UAAU,EAAE,CAAC;YACzC,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,YAAY,QAAQ,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC5D,CAAC;YAED;;eAEG;YAEH,IAAI,OAAgB,CAAC;YACrB,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC1B,OAAO;oBACN,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACrC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAC7B,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACP,OAAO;oBACN,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACrC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAC7B;wBACD,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;4BACjC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;oBACxD,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;oBAC/D,OAAO,KAAK,CAAC;gBACd,CAAC;gBAED,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;gBAE3D,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,MAAM,EAAE;wBACvB,MAAM,EAAE,IAAI,SAAS,CAAC;4BACrB,IAAI,EAAE,aAAa;4BACnB,OAAO;yBACP,CAAC;qBACF,CAAC,CACF,CAAC;gBACH,CAAC;YACF,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBAC5B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CACrD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,aAAa,CAC/B,CAAC;YACH,CAAC;YAED,UAAU;YACV,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC,eAAe,CACnB,OAEC,EACD,aAAa,CAAC,MAAM,CACpB,CAAC;YACH,CAAC;YAED,4CAA4C;YAC5C,mFAAmF;YACnF,gHAAgH;YAChH,IACC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM;gBAC9B,CAAC,GAAG,CAAC;gBACL,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC7D,OAAO,CAAC,MAAM,CAAC,IAAI,YAAY,YAAY,EAC1C,CAAC;gBACF,uDAAuD;gBACvD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAClD,CAAC;QACF,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;gBAChE,OAAO,KAAK,CAAC;YACd,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,CAAC,UAAW,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;gBAC7D,OAAO,KAAK,CAAC;YACd,CAAC;YAED,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YAE3D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,UAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAU,CAAC;YACnE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,mDAAmD;YAExF,IAAI,aAAa,YAAY,SAAS,EAAE,CAAC;gBACxC,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;oBAC5D,OAAO,KAAK,CAAC;gBACd,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC;oBAC/D,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;oBAClD,OAAO,KAAK,CAAC;gBACd,CAAC;gBAED,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAE5B,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACtC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACrC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;wBACnB,OAAO;oBACR,CAAC;oBAED,0FAA0F;oBAC1F,gFAAgF;oBAChF,MAAM,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAElD,IACC,CAAC,oBAAoB;wBACrB,oBAAoB,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EACvD,CAAC;wBACF,KAAK,CAAC,GAAG,CACR,SAAS,EACT,IAAI,gBAAgB,CAAC;4BACpB,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,0CAA0C;4BAC9E,SAAS,EAAE,MAAM;yBACjB,CAAC,CACF,CAAC;wBACF,IAAI,CAAC,oBAAoB,EAAE,CAAC;4BAC3B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACrB,CAAC;oBACF,CAAC;oBAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC9C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC7C,CAAC,CAAC,CAAC;gBACH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,aAAa,CACjB,IAAI,WAAW,CAAoB,WAAW,EAAE;wBAC/C,MAAM,EAAE,IAAI,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC;qBAC9C,CAAC,CACF,CAAC;oBAEF,yEAAyE;oBACzE,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,YAAY,YAAY,EAAE,CAAC;wBACjD,qFAAqF;wBACrF,MAAM,eAAe,GAAG,OAAO;6BAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;4BACV,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BAC/C,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBACrC,CAAC,CAAC;6BACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAa,CAAC;wBAEjC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAChC,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC;gCAChC,IAAI,EAAE,YAAY,CACjB,IAAI,SAAS,CAAC;oCACb,MAAM,EAAE,eAAe;iCACvB,CAAC,CAAC,KAAK,EAAE,CACV;gCACD,wEAAwE;gCACxE,MAAM,EAAE,IAAI,aAAa,CAAC;oCACzB,IAAI,EAAE,IAAI,mBAAmB,CAAC;wCAC7B,UAAU,EAAE,CAAC;wCACb,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;qCACvB,CAAC;iCACF,CAAC;6BACF,CAAC,CAAC;4BAEH,MAAM,IAAI,CAAC,cAAc,CACxB,IAAI,CAAC,SAAS,EACd,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAC9B,CAAC;wBACH,CAAC;oBACF,CAAC;gBACF,CAAC;gBAED,UAAU;gBACV,uDAAuD;gBACvD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAClD,CAAC;iBAAM,IAAI,aAAa,YAAY,WAAW,EAAE,CAAC;gBACjD,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC;oBAC/D,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;oBAClD,OAAO,KAAK,CAAC;gBACd,CAAC;gBAED,MAAM,OAAO,GAAa,EAAE,CAAC;gBAE7B,KAAK,MAAM,cAAc,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;oBACnD,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;oBACnE,IAAI,MAAM,EAAE,CAAC;wBACZ,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAC9B,CAAC;gBACF,CAAC;gBAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,aAAa,CACjB,IAAI,WAAW,CAAqB,aAAa,EAAE;wBAClD,MAAM,EAAE,IAAI,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC;qBAC/C,CAAC,CACF,CAAC;gBACH,CAAC;gBAED,UAAU;gBACV,IACC,OAAO,CAAC,MAAM,CAAC,IAAI,YAAY,YAAY;oBAC3C,OAAO,CAAC,MAAM,CAAC,IAAI,YAAY,cAAc;oBAC7C,OAAO,CAAC,MAAM,CAAC,IAAI,YAAY,mBAAmB,EACjD,CAAC;oBACF,IAAI,CAAC,eAAe,CACnB,OAEC,EACD,aAAa,CAAC,MAAM,CACpB,CAAC;gBACH,CAAC;gBAED,uDAAuD;gBACvD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAClD,CAAC;iBAAM,IAAI,aAAa,YAAY,cAAc,EAAE,CAAC;gBACpD,MAAM,mBAAmB,GAAa,EAAE,CAAC;gBACzC,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;oBAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACnD,IAAI,YAAY,EAAE,CAAC;wBAClB,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACjC,CAAC;gBACF,CAAC;gBAED,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,UAAU;oBACV,IAAI,CAAC,cAAc,CAClB,IAAI,CAAC,SAAS,EACd,MAAM,IAAI,WAAW,CAAC;wBACrB,IAAI,EAAE,YAAY,CACjB,IAAI,SAAS,CAAC;4BACb,MAAM,EAAE,mBAAmB;yBAC3B,CAAC,CAAC,KAAK,EAAE,CACV;wBACD,MAAM,EAAE,IAAI,aAAa,CAAC;4BACzB,IAAI,EAAE,IAAI,cAAc,CAAC;gCACxB,UAAU,EAAE,CAAC;gCACb,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;6BACvB,CAAC;yBACF,CAAC;qBACF,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAClB,CAAC,MAAM,CAAC,CACR,CAAC,CAAC,2BAA2B;gBAC/B,CAAC;gBAED,UAAU;gBACV,uDAAuD;gBACvD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAClD,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACtC,MAA2C,EAC3C,WAMW,EACX,KAAa,EACZ,EAAE;IACH,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAChD,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAEjB,MAAM,aAAa,GAAa,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3D,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACb,CAAC;QACD,MAAM,EAAE,GAAiC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;QAChE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACX,CAAC;QACD,OAAO,EAAE,YAAY,aAAa;YACjC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE;YACf,CAAC,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,0DAA0D;IAC1D,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5C,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YACvC,OAAO,IAAI,CAAC,CAAC;YACb,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;gBACnB,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACxB,MAAM,CACL,IAAI,KAAK,CAAC,iDAAiD,GAAG,KAAK,CAAC,CACpE,CAAC;YACH,CAAC;YACD,IAAI,CAAC;gBACJ,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC7D,MAAM,WAAW,GAChB,aAAa;qBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qBACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;gBAE3C,sDAAsD;gBACtD,IAAI,WAAW,EAAE,CAAC;oBACjB,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxB,OAAO,EAAE,CAAC;gBACX,CAAC;YACF,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACxB,MAAM,CAAC,CAAC,CAAC,CAAC;YACX,CAAC;QACF,CAAC,EAAE,GAAG,CAAC,CAAC;IACT,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/pubsub",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.4",
|
|
4
4
|
"description": "Direct streaming for libp2p",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -53,9 +53,9 @@
|
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@peerbit/logger": "1.0.2",
|
|
56
|
-
"@peerbit/stream": "2.0.
|
|
56
|
+
"@peerbit/stream": "2.0.4",
|
|
57
57
|
"@peerbit/uint8arrays": "3.0.1",
|
|
58
58
|
"libp2p": "^1.1.0"
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "c88b8601709962f01398be6c9e81f05f3daa3654"
|
|
61
61
|
}
|
package/src/index.ts
CHANGED
|
@@ -110,7 +110,8 @@ export class DirectSub extends DirectStream<PubSubEvents> implements PubSub {
|
|
|
110
110
|
const message = new DataMessage({
|
|
111
111
|
data: toUint8Array(
|
|
112
112
|
new Subscribe({
|
|
113
|
-
topics: newTopicsForTopicData
|
|
113
|
+
topics: newTopicsForTopicData,
|
|
114
|
+
requestSubscribers: true
|
|
114
115
|
}).bytes()
|
|
115
116
|
),
|
|
116
117
|
header: new MessageHeader({ mode: new SeekDelivery({ redundancy: 2 }) })
|
|
@@ -344,7 +345,8 @@ export class DirectSub extends DirectStream<PubSubEvents> implements PubSub {
|
|
|
344
345
|
await new DataMessage({
|
|
345
346
|
data: toUint8Array(
|
|
346
347
|
new Subscribe({
|
|
347
|
-
topics: [...this.subscriptions.keys()]
|
|
348
|
+
topics: [...this.subscriptions.keys()],
|
|
349
|
+
requestSubscribers: true
|
|
348
350
|
}).bytes()
|
|
349
351
|
),
|
|
350
352
|
header: new MessageHeader({
|
|
@@ -534,53 +536,50 @@ export class DirectSub extends DirectStream<PubSubEvents> implements PubSub {
|
|
|
534
536
|
return false;
|
|
535
537
|
}
|
|
536
538
|
|
|
537
|
-
if (
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
539
|
+
if (this.subscriptionMessageIsLatest(message, pubsubMessage)) {
|
|
540
|
+
const changed: string[] = [];
|
|
541
|
+
pubsubMessage.topics.forEach((topic) => {
|
|
542
|
+
const peers = this.topics.get(topic);
|
|
543
|
+
if (peers == null) {
|
|
544
|
+
return;
|
|
545
|
+
}
|
|
543
546
|
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
547
|
+
this.initializePeer(sender);
|
|
548
|
+
|
|
549
|
+
// if no subscription data, or new subscription has data (and is newer) then overwrite it.
|
|
550
|
+
// subscription where data is undefined is not intended to replace existing data
|
|
551
|
+
const existingSubscription = peers.get(senderKey);
|
|
552
|
+
|
|
553
|
+
if (
|
|
554
|
+
!existingSubscription ||
|
|
555
|
+
existingSubscription.timestamp < message.header.timetamp
|
|
556
|
+
) {
|
|
557
|
+
peers.set(
|
|
558
|
+
senderKey,
|
|
559
|
+
new SubscriptionData({
|
|
560
|
+
timestamp: message.header.timetamp, // TODO update timestamps on all messages?
|
|
561
|
+
publicKey: sender
|
|
562
|
+
})
|
|
563
|
+
);
|
|
564
|
+
if (!existingSubscription) {
|
|
565
|
+
changed.push(topic);
|
|
566
|
+
}
|
|
567
|
+
}
|
|
550
568
|
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
569
|
+
this.topicsToPeers.get(topic)?.add(senderKey);
|
|
570
|
+
this.peerToTopic.get(senderKey)?.add(topic);
|
|
571
|
+
});
|
|
554
572
|
|
|
555
|
-
if (
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
peers.set(
|
|
560
|
-
senderKey,
|
|
561
|
-
new SubscriptionData({
|
|
562
|
-
timestamp: message.header.timetamp, // TODO update timestamps on all messages?
|
|
563
|
-
publicKey: sender
|
|
573
|
+
if (changed.length > 0) {
|
|
574
|
+
this.dispatchEvent(
|
|
575
|
+
new CustomEvent<SubscriptionEvent>("subscribe", {
|
|
576
|
+
detail: new SubscriptionEvent(sender, changed)
|
|
564
577
|
})
|
|
565
578
|
);
|
|
566
|
-
if (!existingSubscription) {
|
|
567
|
-
changed.push(topic);
|
|
568
|
-
}
|
|
569
579
|
}
|
|
570
580
|
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
});
|
|
574
|
-
if (changed.length > 0) {
|
|
575
|
-
this.dispatchEvent(
|
|
576
|
-
new CustomEvent<SubscriptionEvent>("subscribe", {
|
|
577
|
-
detail: new SubscriptionEvent(sender, changed)
|
|
578
|
-
})
|
|
579
|
-
);
|
|
580
|
-
|
|
581
|
-
// also send back a message telling the remote whether we are subsbscring
|
|
582
|
-
if (message.header.mode instanceof SeekDelivery) {
|
|
583
|
-
// only if Subscribe message is of 'seek' type we will respond with our subscriptions
|
|
581
|
+
if (pubsubMessage.requestSubscribers) {
|
|
582
|
+
// respond if we are subscribing
|
|
584
583
|
const mySubscriptions = changed
|
|
585
584
|
.map((x) => {
|
|
586
585
|
const subscription = this.subscriptions.get(x);
|
|
@@ -592,14 +591,15 @@ export class DirectSub extends DirectStream<PubSubEvents> implements PubSub {
|
|
|
592
591
|
const response = new DataMessage({
|
|
593
592
|
data: toUint8Array(
|
|
594
593
|
new Subscribe({
|
|
595
|
-
topics: mySubscriptions
|
|
594
|
+
topics: mySubscriptions,
|
|
595
|
+
requestSubscribers: false
|
|
596
596
|
}).bytes()
|
|
597
597
|
),
|
|
598
598
|
// needs to be Ack or Silent else we will run into a infite message loop
|
|
599
599
|
header: new MessageHeader({
|
|
600
|
-
mode: new
|
|
600
|
+
mode: new SeekDelivery({
|
|
601
601
|
redundancy: 2,
|
|
602
|
-
to: [
|
|
602
|
+
to: [senderKey]
|
|
603
603
|
})
|
|
604
604
|
})
|
|
605
605
|
});
|
|
@@ -616,40 +616,37 @@ export class DirectSub extends DirectStream<PubSubEvents> implements PubSub {
|
|
|
616
616
|
// DONT await this since it might introduce a dead-lock
|
|
617
617
|
this.relayMessage(from, message).catch(logError);
|
|
618
618
|
} else if (pubsubMessage instanceof Unsubscribe) {
|
|
619
|
-
if (
|
|
620
|
-
|
|
621
|
-
return false;
|
|
622
|
-
}
|
|
623
|
-
|
|
624
|
-
const changed: string[] = [];
|
|
619
|
+
if (this.subscriptionMessageIsLatest(message, pubsubMessage)) {
|
|
620
|
+
const changed: string[] = [];
|
|
625
621
|
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
622
|
+
for (const unsubscription of pubsubMessage.topics) {
|
|
623
|
+
const change = this.deletePeerFromTopic(unsubscription, senderKey);
|
|
624
|
+
if (change) {
|
|
625
|
+
changed.push(unsubscription);
|
|
626
|
+
}
|
|
630
627
|
}
|
|
631
|
-
}
|
|
632
628
|
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
629
|
+
if (changed.length > 0) {
|
|
630
|
+
this.dispatchEvent(
|
|
631
|
+
new CustomEvent<UnsubcriptionEvent>("unsubscribe", {
|
|
632
|
+
detail: new UnsubcriptionEvent(sender, changed)
|
|
633
|
+
})
|
|
634
|
+
);
|
|
635
|
+
}
|
|
640
636
|
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
637
|
+
// Forwarding
|
|
638
|
+
if (
|
|
639
|
+
message.header.mode instanceof SeekDelivery ||
|
|
640
|
+
message.header.mode instanceof SilentDelivery ||
|
|
641
|
+
message.header.mode instanceof AcknowledgeDelivery
|
|
642
|
+
) {
|
|
643
|
+
this.addPeersOnTopic(
|
|
644
|
+
message as DataMessage<
|
|
645
|
+
SeekDelivery | SilentDelivery | AcknowledgeDelivery
|
|
646
|
+
>,
|
|
647
|
+
pubsubMessage.topics
|
|
648
|
+
);
|
|
649
|
+
}
|
|
653
650
|
}
|
|
654
651
|
|
|
655
652
|
// DONT await this since it might introduce a dead-lock
|
|
@@ -670,7 +667,8 @@ export class DirectSub extends DirectStream<PubSubEvents> implements PubSub {
|
|
|
670
667
|
await new DataMessage({
|
|
671
668
|
data: toUint8Array(
|
|
672
669
|
new Subscribe({
|
|
673
|
-
topics: subscriptionsToSend
|
|
670
|
+
topics: subscriptionsToSend,
|
|
671
|
+
requestSubscribers: false
|
|
674
672
|
}).bytes()
|
|
675
673
|
),
|
|
676
674
|
header: new MessageHeader({
|