@talkjs/core 1.7.0 → 1.8.1

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.
@@ -238,8 +238,8 @@ class b {
238
238
  void 0 !== this.timeout && (clearTimeout(this.timeout), this.timeout = void 0);
239
239
  }
240
240
  }
241
- const y = "undefined" != typeof window ? (_a = window.queueMicrotask) != null ? _a : setTimeout : setTimeout;
242
- class w {
241
+ const w = "undefined" != typeof window ? (_a = window.queueMicrotask) != null ? _a : setTimeout : setTimeout;
242
+ class y {
243
243
  constructor() {
244
244
  this.i = -1;
245
245
  }
@@ -252,7 +252,7 @@ class w {
252
252
  }
253
253
  class k {
254
254
  constructor(e2, t2) {
255
- this.handlers = t2, this.seqCounter = new w(), this.responseHandlers = {}, this.heartbeats = new C(this), this.socket = new v(e2, { onUpstreamRestarting: () => {
255
+ this.handlers = t2, this.seqCounter = new y(), this.responseHandlers = {}, this.heartbeats = new S(this), this.socket = new v(e2, { onUpstreamRestarting: () => {
256
256
  this.heartbeats.serverActive(), this.handlers.onUpstreamRestarting();
257
257
  }, onOpen: () => {
258
258
  this.heartbeats.clientActive(), this.heartbeats.serverActive(), this.handlers.onReady();
@@ -270,7 +270,7 @@ class k {
270
270
  }
271
271
  sync() {
272
272
  return __async(this, null, function* () {
273
- yield new Promise((e3) => y(() => e3()));
273
+ yield new Promise((e3) => w(() => e3()));
274
274
  const e2 = Object.values(this.responseHandlers).map((e3) => e3.promise.catch(() => {
275
275
  }));
276
276
  return Promise.all(e2);
@@ -303,7 +303,7 @@ class k {
303
303
  this.socket.terminate();
304
304
  }
305
305
  }
306
- class C {
306
+ class S {
307
307
  constructor(e2) {
308
308
  this.connection = e2, this.clientInactivityTimer = new b(25e3), this.serverInactivityTimer = new b(1e4), this.serverTimeoutTimer = new b(5e3);
309
309
  }
@@ -327,7 +327,7 @@ class C {
327
327
  });
328
328
  }
329
329
  }
330
- class T {
330
+ class C {
331
331
  constructor(e2, t2, s2) {
332
332
  this.authProvider = t2, this.handlers = s2, this.stateMachine = new i("AuthenticatedConnection", ["WAITING_FOR_WS", "LOGGING_IN", "RENEWING_SESSION", "READY", "TERMINATED"], { logIn: { from: ["WAITING_FOR_WS"], to: "LOGGING_IN", afterTransition: () => __async(this, null, function* () {
333
333
  yield this.renewSession();
@@ -413,7 +413,7 @@ class I {
413
413
  }), this.handlers.onReady();
414
414
  } }, destroy: { from: "ANY", to: "TERMINATED", afterTransition: () => {
415
415
  this.inactivityTimer.stop(), this.connection.destroy();
416
- } } }), this.pendingCalls = 0, this.activeSubscriptions = 0, this.inactivityTimer = new b(3e3), this.connection = new T(e2, t2, { onUpstreamRestarting: () => {
416
+ } } }), this.pendingCalls = 0, this.activeSubscriptions = 0, this.inactivityTimer = new b(3e3), this.connection = new C(e2, t2, { onUpstreamRestarting: () => {
417
417
  this.handlers.onUpstreamRestarting();
418
418
  }, onReady: () => {
419
419
  this.stateMachine.transition("ready");
@@ -452,7 +452,7 @@ class I {
452
452
  logTrace(e2, t2, s2) {
453
453
  }
454
454
  }
455
- class x {
455
+ class T {
456
456
  constructor(e2, t2, s2) {
457
457
  this.handlers = s2, this.stateMachine = new i("QueuedConnection", ["NOT_READY", "PROCESSING_QUEUE", "READY", "TERMINATED"], { processQueue: { from: ["NOT_READY"], to: "PROCESSING_QUEUE", afterTransition: () => {
458
458
  this.sendQueuedCalls();
@@ -523,11 +523,11 @@ class x {
523
523
  return "READY" === this.stateMachine.state || "PROCESSING_QUEUE" === this.stateMachine.state;
524
524
  }
525
525
  }
526
- function S(e2) {
526
+ function x(e2) {
527
527
  return Object.freeze(e2);
528
528
  }
529
529
  function E(e2) {
530
- return S(e2.map((e3) => (function(e4) {
530
+ return x(e2.map((e3) => (function(e4) {
531
531
  switch (e4.type) {
532
532
  case "text":
533
533
  return Object.freeze({ type: "text", children: M(e4.children) });
@@ -538,7 +538,7 @@ function E(e2) {
538
538
  })(e3)));
539
539
  }
540
540
  function M(e2) {
541
- return S(e2.map((e3) => (function(e4) {
541
+ return x(e2.map((e3) => (function(e4) {
542
542
  if ("string" == typeof e4) return e4;
543
543
  switch (e4.type) {
544
544
  case "bold":
@@ -558,44 +558,44 @@ function M(e2) {
558
558
  }
559
559
  })(e3)));
560
560
  }
561
- function A(e2, t2) {
561
+ function _(e2, t2) {
562
562
  return void 0 === t2 ? e2 : t2;
563
563
  }
564
- function N(e2, t2) {
565
- return void 0 === t2 ? e2 : S(t2);
564
+ function A(e2, t2) {
565
+ return void 0 === t2 ? e2 : x(t2);
566
566
  }
567
- function R(e2, t2) {
567
+ function N(e2, t2) {
568
568
  if (void 0 === t2) return e2;
569
- if (null === t2) return S({});
569
+ if (null === t2) return x({});
570
570
  const s2 = __spreadValues({}, e2);
571
571
  for (const e3 in t2) {
572
572
  const n2 = t2[e3];
573
573
  null === n2 ? delete s2[e3] : s2[e3] = n2;
574
574
  }
575
- return S(s2);
575
+ return x(s2);
576
576
  }
577
- function _(e2, t2) {
577
+ function D(e2, t2) {
578
578
  if (e2 === t2) return true;
579
579
  if (!e2 || !t2) return false;
580
580
  if ("object" != typeof e2 || "object" != typeof t2) return false;
581
581
  if (e2.constructor !== t2.constructor) return false;
582
582
  if (Array.isArray(e2) && Array.isArray(t2)) {
583
583
  if (e2.length !== t2.length) return false;
584
- for (let s2 = 0; s2 < e2.length; s2++) if (!_(e2[s2], t2[s2])) return false;
584
+ for (let s2 = 0; s2 < e2.length; s2++) if (!D(e2[s2], t2[s2])) return false;
585
585
  } else {
586
586
  const s2 = Object.keys(e2);
587
587
  if (s2.length !== Object.keys(t2).length) return false;
588
588
  for (const n2 of s2) {
589
589
  if (!Object.hasOwnProperty.call(t2, n2)) return false;
590
- if (!_(e2[n2], t2[n2])) return false;
590
+ if (!D(e2[n2], t2[n2])) return false;
591
591
  }
592
592
  }
593
593
  return true;
594
594
  }
595
- const D = "undefined" != typeof window ? (_b = window.queueMicrotask) != null ? _b : setTimeout : setTimeout;
595
+ const R = "undefined" != typeof window ? (_b = window.queueMicrotask) != null ? _b : setTimeout : setTimeout;
596
596
  class O {
597
597
  constructor(e2, t2, s2) {
598
- this.headers = e2, this.clearPendingBatch = t2, this.sendCalls = s2, this.sent = false, D(() => this.send());
598
+ this.headers = e2, this.clearPendingBatch = t2, this.sendCalls = s2, this.sent = false, R(() => this.send());
599
599
  }
600
600
  send() {
601
601
  this.sent || (this.sent = true, this.clearPendingBatch(), this.sendCalls());
@@ -611,7 +611,7 @@ class P extends O {
611
611
  }), this.connection = e2, this.getCalls = [], this.subscribeCalls = [];
612
612
  }
613
613
  canPush(e2) {
614
- return P.isCorrectBatchTypeFor(e2) && _(this.headers, e2.headers);
614
+ return P.isCorrectBatchTypeFor(e2) && D(this.headers, e2.headers);
615
615
  }
616
616
  static isCorrectBatchTypeFor(t2) {
617
617
  const s2 = e(t2.path, ["users", "*"]), n2 = "GET" === t2.method || "SUBSCRIBE" === t2.method;
@@ -638,12 +638,12 @@ class P extends O {
638
638
  this.connection.call({ method: "SUBSCRIBE", path: ["users"], data: { ids: e2 }, headers: this.headers }).then((e3) => this.subscribeCalls.forEach((t2) => t2.deferred.resolve(e3)));
639
639
  }
640
640
  }
641
- class $ extends O {
641
+ class j extends O {
642
642
  constructor(e2, t2, s2, n2) {
643
643
  super(s2, n2, () => this.sendMutate()), this.conversationId = e2, this.connection = t2, this.calls = [];
644
644
  }
645
645
  canPush(e2) {
646
- return !(!$.isCorrectBatchTypeFor(e2) || e2.path[1] !== this.conversationId || !_(this.headers, e2.headers));
646
+ return !(!j.isCorrectBatchTypeFor(e2) || e2.path[1] !== this.conversationId || !D(this.headers, e2.headers));
647
647
  }
648
648
  static isCorrectBatchTypeFor(t2) {
649
649
  if (e(t2.path, ["conversations", "*", "participants", "*"])) {
@@ -667,9 +667,9 @@ class $ extends O {
667
667
  });
668
668
  }
669
669
  }
670
- class U {
670
+ class $ {
671
671
  constructor(e2, t2, s2) {
672
- this.pendingBatch = null, this.connection = new x(e2, t2, s2);
672
+ this.pendingBatch = null, this.connection = new T(e2, t2, s2);
673
673
  }
674
674
  sync() {
675
675
  return __async(this, null, function* () {
@@ -695,17 +695,17 @@ class U {
695
695
  createEmptyBatchFor(e2) {
696
696
  var _a2, _b2;
697
697
  if (P.isCorrectBatchTypeFor(e2)) return new P(this.connection, (_a2 = e2.headers) != null ? _a2 : {}, () => this.pendingBatch = null);
698
- if ($.isCorrectBatchTypeFor(e2)) {
698
+ if (j.isCorrectBatchTypeFor(e2)) {
699
699
  const t2 = e2.path[1];
700
- return new $(t2, this.connection, (_b2 = e2.headers) != null ? _b2 : {}, () => this.pendingBatch = null);
700
+ return new j(t2, this.connection, (_b2 = e2.headers) != null ? _b2 : {}, () => this.pendingBatch = null);
701
701
  }
702
702
  return null;
703
703
  }
704
704
  }
705
- const j = { 200: "RESOLVE", 400: "RESOLVE", 401: "RETRY", 402: "RESOLVE", 403: "RESOLVE", 404: "RESOLVE", 405: "RESOLVE", 409: "RESOLVE", 429: "DELAY", 500: "DELAY" };
705
+ const U = { 200: "RESOLVE", 400: "RESOLVE", 401: "RETRY", 402: "RESOLVE", 403: "RESOLVE", 404: "RESOLVE", 405: "RESOLVE", 409: "RESOLVE", 429: "DELAY", 500: "DELAY" };
706
706
  class W {
707
707
  constructor(e2, t2, s2) {
708
- this.throttler = new q(), this.alive = true, this.connection = new U(e2, t2, s2);
708
+ this.throttler = new q(), this.alive = true, this.connection = new $(e2, t2, s2);
709
709
  }
710
710
  sync() {
711
711
  return __async(this, null, function* () {
@@ -719,7 +719,7 @@ class W {
719
719
  const s2 = yield this.connection.call(e2);
720
720
  if ((s2.ok || "client" !== s2.where || "SOCKET_NOT_READY" !== s2.value) && (s2.ok || "server" !== s2.where || 500 !== s2.value.status) || t2++, 10 === t2) return s2;
721
721
  if (s2.ok || "client" !== s2.where) {
722
- const e3 = s2.value, t3 = e3.status, n2 = j[t3];
722
+ const e3 = s2.value, t3 = e3.status, n2 = U[t3];
723
723
  if ("RESOLVE" === n2) return this.throttler.resetDelay(), s2;
724
724
  if ("RETRY" === n2) continue;
725
725
  if ("DELAY" === n2) {
@@ -756,21 +756,21 @@ class q {
756
756
  this.currentDelayMs = this.initialDelayMs;
757
757
  }
758
758
  }
759
- function B(e2) {
759
+ function L(e2) {
760
760
  return e2.map((e3) => encodeURIComponent(e3)).join();
761
761
  }
762
- class L {
762
+ class B {
763
763
  constructor() {
764
764
  this.paths = {};
765
765
  }
766
766
  add(e2) {
767
- this.paths[B(e2)] = e2;
767
+ this.paths[L(e2)] = e2;
768
768
  }
769
769
  delete(e2) {
770
- delete this.paths[B(e2)];
770
+ delete this.paths[L(e2)];
771
771
  }
772
772
  has(e2) {
773
- return Object.hasOwnProperty.call(this.paths, B(e2));
773
+ return Object.hasOwnProperty.call(this.paths, L(e2));
774
774
  }
775
775
  clear() {
776
776
  this.paths = {};
@@ -781,7 +781,7 @@ class L {
781
781
  }
782
782
  class G {
783
783
  constructor(e2, t2, s2) {
784
- this.handlers = s2, this.targetSubscriptions = new L(), this.connection = new W(e2, t2, { onUpstreamRestarting: () => this.handlers.onUpstreamRestarting(), onSubscriptionsLost: () => {
784
+ this.handlers = s2, this.targetSubscriptions = new B(), this.connection = new W(e2, t2, { onUpstreamRestarting: () => this.handlers.onUpstreamRestarting(), onSubscriptionsLost: () => {
785
785
  this.targetSubscriptions.forEach((e3) => {
786
786
  this.resubscribe(e3);
787
787
  }), this.handlers.onResubscribeSent();
@@ -870,7 +870,7 @@ class H {
870
870
  return this.getPointer;
871
871
  }
872
872
  }
873
- class J extends H {
873
+ class z extends H {
874
874
  constructor(e2, t2) {
875
875
  super(e2), this.onTeardown = t2, this._error = null, this._lastGoodState = Promise.resolve(void 0), this.registerNewState(e2.resultPromise);
876
876
  }
@@ -899,7 +899,7 @@ class J extends H {
899
899
  }));
900
900
  }
901
901
  }
902
- class z extends J {
902
+ class J extends z {
903
903
  constructor(e2, t2) {
904
904
  const s2 = new Promise((e3) => setTimeout(e3)).then(() => this.fetchInitial(e2));
905
905
  super({ seq: e2, resultPromise: s2 }, t2.onTeardown), this.initialSeq = e2, this.getDeepMutex = new F(), this.lastDeep = void 0;
@@ -945,7 +945,7 @@ class z extends J {
945
945
  });
946
946
  }
947
947
  }
948
- class Y extends z {
948
+ class Y extends J {
949
949
  constructor(e2, t2, s2) {
950
950
  super(e2, s2), this.emitMutex = t2, this.externallyIdleTimer = new Q(), this.externallyIdle = true, this.internallyIdleTimer = new Q(), this.internallyIdle = true, this.referencedByOtherStores = 0, this.listeners = [], this.lastEmitSeq = void 0, this.lastEmitResult = void 0, t2.runExclusive(() => __async(this, null, function* () {
951
951
  yield this.emit(e2);
@@ -1145,14 +1145,14 @@ function oe(e2, t2) {
1145
1145
  }).join("");
1146
1146
  }
1147
1147
  function ce(e2) {
1148
- return S({ id: e2.id, name: e2.name, custom: S(e2.custom), locale: e2.locale, photoUrl: e2.photoUrl, role: e2.role, welcomeMessage: e2.welcomeMessage });
1148
+ return x({ id: e2.id, name: e2.name, custom: x(e2.custom), locale: e2.locale, photoUrl: e2.photoUrl, role: e2.role, welcomeMessage: e2.welcomeMessage });
1149
1149
  }
1150
1150
  function le(e2, t2) {
1151
- return S({ user: t2, access: e2.access, notify: e2.notify, joinedAt: e2.joinedAt });
1151
+ return x({ user: t2, access: e2.access, notify: e2.notify, joinedAt: e2.joinedAt });
1152
1152
  }
1153
1153
  function he(e2) {
1154
- const t2 = Object.entries(e2).map(([e3, t3]) => S({ emoji: e3, count: t3.count, currentUserReacted: t3.currentUserReacted }));
1155
- return t2.sort((e3, t3) => e3.emoji.localeCompare(t3.emoji)), S(t2);
1154
+ const t2 = Object.entries(e2).map(([e3, t3]) => x({ emoji: e3, count: t3.count, currentUserReacted: t3.currentUserReacted }));
1155
+ return t2.sort((e3, t3) => e3.emoji.localeCompare(t3.emoji)), x(t2);
1156
1156
  }
1157
1157
  class ue extends Y {
1158
1158
  constructor(e2, t2, s2, n2, a2) {
@@ -1165,7 +1165,7 @@ class ue extends Y {
1165
1165
  });
1166
1166
  }
1167
1167
  equal(e2, t2) {
1168
- return _(e2.snapshot, t2.snapshot);
1168
+ return D(e2.snapshot, t2.snapshot);
1169
1169
  }
1170
1170
  loadNested(e2, t2) {
1171
1171
  return __async(this, null, function* () {
@@ -1179,7 +1179,7 @@ class ue extends Y {
1179
1179
  this.mutate(e2, (s2) => {
1180
1180
  const n2 = s2.value.snapshot;
1181
1181
  if (null === n2) return console.warn("[TalkJS] Received a 'used edited' event for a user that we thought didn't exist."), s2;
1182
- return o({ snapshot: { id: n2.id, name: A(n2.name, t2.diff.name), custom: R(n2.custom, t2.diff.custom), locale: A(n2.locale, t2.diff.locale), photoUrl: A(n2.photoUrl, t2.diff.photoUrl), role: A(n2.role, t2.diff.role), welcomeMessage: A(n2.welcomeMessage, t2.diff.welcomeMessage) }, lastChanged: e2 });
1182
+ return o({ snapshot: { id: n2.id, name: _(n2.name, t2.diff.name), custom: N(n2.custom, t2.diff.custom), locale: _(n2.locale, t2.diff.locale), photoUrl: _(n2.photoUrl, t2.diff.photoUrl), role: _(n2.role, t2.diff.role), welcomeMessage: _(n2.welcomeMessage, t2.diff.welcomeMessage) }, lastChanged: e2 });
1183
1183
  });
1184
1184
  }
1185
1185
  getFromCache() {
@@ -1196,7 +1196,7 @@ class ue extends Y {
1196
1196
  });
1197
1197
  }
1198
1198
  }
1199
- class de extends z {
1199
+ class de extends J {
1200
1200
  constructor(e2, t2, s2, n2) {
1201
1201
  super(e2, {}), this.conversationId = t2, this.message = s2, this.realtimeClient = n2;
1202
1202
  }
@@ -1212,14 +1212,14 @@ class de extends z {
1212
1212
  if (!e3.ok) return e3;
1213
1213
  t2 = e3.value.data;
1214
1214
  }
1215
- return o({ lastChanged: e2, sender: null === t2.senderId ? null : this.realtimeClient.internalSubscribe(["users", t2.senderId]), data: { id: t2.id, type: t2.type, custom: S(t2.custom), createdAt: t2.createdAt, editedAt: t2.editedAt, referencedMessageId: t2.referencedMessageId, origin: t2.origin, plaintext: ie(t2.content, {}), content: E(t2.content), reactions: he(t2.reactions) } });
1215
+ return o({ lastChanged: e2, sender: null === t2.senderId ? null : this.realtimeClient.internalSubscribe(["users", t2.senderId]), data: { id: t2.id, type: t2.type, custom: x(t2.custom), createdAt: t2.createdAt, editedAt: t2.editedAt, referencedMessageId: t2.referencedMessageId, origin: t2.origin, plaintext: ie(t2.content, {}), content: E(t2.content), reactions: he(t2.reactions) } });
1216
1216
  });
1217
1217
  }
1218
1218
  refetch(e2) {
1219
1219
  throw "Do not call refetch on message data stores, it can return outdated data. Destroy and remake them instead";
1220
1220
  }
1221
1221
  equal(e2, t2) {
1222
- return _(e2.data, t2.data);
1222
+ return D(e2.data, t2.data);
1223
1223
  }
1224
1224
  teardownNested(e2) {
1225
1225
  var _a2;
@@ -1239,7 +1239,7 @@ class de extends z {
1239
1239
  if (false === (s2 == null ? void 0 : s2.ok)) return s2;
1240
1240
  if (null === t2.data) return o({ snapshot: null });
1241
1241
  const n2 = s2 == null ? void 0 : s2.value;
1242
- return o({ snapshot: S({ sender: (_c = n2 == null ? void 0 : n2.snapshot) != null ? _c : null, id: t2.data.id, type: t2.data.type, custom: S(t2.data.custom), createdAt: t2.data.createdAt, editedAt: t2.data.editedAt, origin: t2.data.origin, plaintext: t2.data.plaintext, content: t2.data.content, referencedMessageId: t2.data.referencedMessageId, reactions: t2.data.reactions }) });
1242
+ return o({ snapshot: x({ sender: (_c = n2 == null ? void 0 : n2.snapshot) != null ? _c : null, id: t2.data.id, type: t2.data.type, custom: x(t2.data.custom), createdAt: t2.data.createdAt, editedAt: t2.data.editedAt, origin: t2.data.origin, plaintext: t2.data.plaintext, content: t2.data.content, referencedMessageId: t2.data.referencedMessageId, reactions: t2.data.reactions }) });
1243
1243
  });
1244
1244
  }
1245
1245
  messageEdited(e2, t2) {
@@ -1248,7 +1248,7 @@ class de extends z {
1248
1248
  const n2 = s2.value.data.content, a2 = (r2 = n2, void 0 === (i2 = t2.diff.content) ? r2 : E(i2));
1249
1249
  var r2, i2;
1250
1250
  const c2 = n2 === a2 ? s2.value.data.plaintext : ie(a2, {});
1251
- return o({ lastChanged: e2, sender: s2.value.sender, data: { id: s2.value.data.id, type: s2.value.data.type, createdAt: s2.value.data.createdAt, origin: s2.value.data.origin, referencedMessageId: s2.value.data.referencedMessageId, editedAt: A(s2.value.data.editedAt, t2.diff.editedAt), custom: R(s2.value.data.custom, t2.diff.custom), plaintext: c2, content: a2, reactions: pe(s2.value.data.reactions, t2.diff.reactions) } });
1251
+ return o({ lastChanged: e2, sender: s2.value.sender, data: { id: s2.value.data.id, type: s2.value.data.type, createdAt: s2.value.data.createdAt, origin: s2.value.data.origin, referencedMessageId: s2.value.data.referencedMessageId, editedAt: _(s2.value.data.editedAt, t2.diff.editedAt), custom: N(s2.value.data.custom, t2.diff.custom), plaintext: c2, content: a2, reactions: pe(s2.value.data.reactions, t2.diff.reactions) } });
1252
1252
  });
1253
1253
  }
1254
1254
  messageDeleted(e2, t2) {
@@ -1273,15 +1273,15 @@ function pe(e2, t2) {
1273
1273
  if (void 0 === t2) return e2;
1274
1274
  const s2 = e2.map((e3) => {
1275
1275
  const s3 = t2[e3.emoji];
1276
- return void 0 === s3 ? e3 : S(null === s3 ? __spreadProps(__spreadValues({}, e3), { count: 0 }) : { emoji: e3.emoji, count: A(e3.count, s3.count), currentUserReacted: A(e3.currentUserReacted, s3.currentUserReacted) });
1276
+ return void 0 === s3 ? e3 : x(null === s3 ? __spreadProps(__spreadValues({}, e3), { count: 0 }) : { emoji: e3.emoji, count: _(e3.count, s3.count), currentUserReacted: _(e3.currentUserReacted, s3.currentUserReacted) });
1277
1277
  }).filter((e3) => e3.count > 0), n2 = new Set(s2.map((e3) => e3.emoji));
1278
1278
  for (const e3 in t2) {
1279
1279
  const a2 = t2[e3];
1280
- a2 && !n2.has(e3) && s2.push(S({ emoji: e3, count: a2.count, currentUserReacted: a2.currentUserReacted }));
1280
+ a2 && !n2.has(e3) && s2.push(x({ emoji: e3, count: a2.count, currentUserReacted: a2.currentUserReacted }));
1281
1281
  }
1282
- return s2.sort((e3, t3) => e3.emoji.localeCompare(t3.emoji)), S(s2);
1282
+ return s2.sort((e3, t3) => e3.emoji.localeCompare(t3.emoji)), x(s2);
1283
1283
  }
1284
- class me extends z {
1284
+ class me extends J {
1285
1285
  constructor(e2, t2, s2, n2) {
1286
1286
  super(e2, {}), this.createdAt = t2, this.dataStore = s2, this.referencedDataStore = n2;
1287
1287
  }
@@ -1317,7 +1317,7 @@ class me extends z {
1317
1317
  const a2 = yield (_a2 = t2.referencedDataStore) == null ? void 0 : _a2.getDeep(e2);
1318
1318
  if (a2 && !a2.ok) return a2;
1319
1319
  const r2 = (_b2 = a2 == null ? void 0 : a2.value) != null ? _b2 : null, i2 = (_c = r2 == null ? void 0 : r2.snapshot) != null ? _c : null;
1320
- return o({ snapshot: S({ id: n2.snapshot.id, type: n2.snapshot.type, sender: n2.snapshot.sender, custom: S(n2.snapshot.custom), createdAt: n2.snapshot.createdAt, editedAt: n2.snapshot.editedAt, referencedMessage: i2, origin: n2.snapshot.origin, plaintext: n2.snapshot.plaintext, content: n2.snapshot.content, reactions: n2.snapshot.reactions }) });
1320
+ return o({ snapshot: x({ id: n2.snapshot.id, type: n2.snapshot.type, sender: n2.snapshot.sender, custom: x(n2.snapshot.custom), createdAt: n2.snapshot.createdAt, editedAt: n2.snapshot.editedAt, referencedMessage: i2, origin: n2.snapshot.origin, plaintext: n2.snapshot.plaintext, content: n2.snapshot.content, reactions: n2.snapshot.reactions }) });
1321
1321
  });
1322
1322
  }
1323
1323
  }
@@ -1329,7 +1329,7 @@ class fe extends Y {
1329
1329
  return this.onlyUsedInternally && this.mostRecentState.resultPromise.then((e3) => {
1330
1330
  if (e3.ok && null !== e3.value.inWindow) {
1331
1331
  const t2 = 30 - e3.value.inWindow.length;
1332
- t2 > 0 && this._loadMoreMessages(t2);
1332
+ t2 > 0 && this.loadMore(t2);
1333
1333
  }
1334
1334
  }), super.listen(e2);
1335
1335
  }
@@ -1367,30 +1367,32 @@ class fe extends Y {
1367
1367
  });
1368
1368
  }
1369
1369
  equal(e2, t2) {
1370
- return null === e2.stores && null === t2.stores || null !== e2.stores && null !== t2.stores && (!!_(Object.keys(e2.stores), Object.keys(t2.stores)) && (!!_(e2.inWindow.map((e3) => e3.messageId), t2.inWindow.map((e3) => e3.messageId)) && _(e2.windowEnd, t2.windowEnd)));
1370
+ return null === e2.stores && null === t2.stores || null !== e2.stores && null !== t2.stores && (!!D(Object.keys(e2.stores), Object.keys(t2.stores)) && (!!D(e2.inWindow.map((e3) => e3.messageId), t2.inWindow.map((e3) => e3.messageId)) && D(e2.windowEnd, t2.windowEnd)));
1371
1371
  }
1372
1372
  loadNested(e2, t2) {
1373
1373
  return __async(this, null, function* () {
1374
1374
  if (null === t2.stores) return o({ snapshot: null, loadedAll: true });
1375
1375
  const s2 = yield Promise.all(t2.inWindow.map((t3) => t3.getDeep(e2))), n2 = s2.find((e3) => !e3.ok);
1376
1376
  if (n2) return n2;
1377
- return o({ snapshot: S(s2.filter((e3) => null !== e3.value.snapshot).map((e3) => e3.value.snapshot)), loadedAll: null === t2.windowEnd });
1377
+ return o({ snapshot: x(s2.filter((e3) => null !== e3.value.snapshot).map((e3) => e3.value.snapshot)), loadedAll: null === t2.windowEnd });
1378
1378
  });
1379
1379
  }
1380
- loadMore(e2) {
1380
+ loadMore(e2 = 30) {
1381
1381
  return __async(this, null, function* () {
1382
1382
  if (this.pendingLoadMore) return this.pendingLoadMore;
1383
1383
  const t2 = r();
1384
- this.pendingLoadMore = t2.promise, yield this._loadMoreMessages(e2), t2.resolve(), this.pendingLoadMore = void 0;
1385
- });
1386
- }
1387
- _loadMoreMessages(e2 = 30) {
1388
- return __async(this, null, function* () {
1389
- const t2 = yield this.mostRecentState.resultPromise;
1390
- if (!t2.ok) return;
1391
- if (null === t2.value.windowEnd) return;
1392
- const s2 = t2.value.windowEnd.cursor, n2 = yield ge({ count: e2, cursor: s2, conversationId: this.conversationId, realtimeClient: this.realtimeClient });
1393
- yield this.handlers.onLoadedMore({ type: "virtual.messages.loadedmore", conversationId: this.conversationId, data: n2 });
1384
+ this.pendingLoadMore = t2.promise;
1385
+ const s2 = yield this.mostRecentState.resultPromise;
1386
+ if (!s2.ok) {
1387
+ if ("client" === s2.where) throw t2.reject(s2.value), this.pendingLoadMore = void 0, s2.value;
1388
+ {
1389
+ const e3 = p("Loading more messages", s2.value);
1390
+ throw t2.reject(s2.value), this.pendingLoadMore = void 0, e3;
1391
+ }
1392
+ }
1393
+ if (null === s2.value.windowEnd) return t2.resolve(), void (this.pendingLoadMore = void 0);
1394
+ const n2 = s2.value.windowEnd.cursor, a2 = yield ge({ count: e2, cursor: n2, conversationId: this.conversationId, realtimeClient: this.realtimeClient });
1395
+ t2.resolve(), this.pendingLoadMore = void 0, yield this.handlers.onLoadedMore({ type: "virtual.messages.loadedmore", conversationId: this.conversationId, data: a2 });
1394
1396
  });
1395
1397
  }
1396
1398
  loadedMore(e2, t2) {
@@ -1525,13 +1527,13 @@ class be extends Y {
1525
1527
  });
1526
1528
  }
1527
1529
  }
1528
- function ye(e2, t2) {
1530
+ function we(e2, t2) {
1529
1531
  for (let s2 in e2) Object.prototype.hasOwnProperty.call(e2, s2) && t2(e2[s2], s2);
1530
1532
  }
1531
- function we(e2, t2) {
1533
+ function ye(e2, t2) {
1532
1534
  return (function(e3, t3) {
1533
1535
  let s2 = {}, n2 = 0;
1534
- return ye(e3, (e4, a2) => {
1536
+ return we(e3, (e4, a2) => {
1535
1537
  const [r2, i2] = t3([a2, e4], n2++);
1536
1538
  s2[r2] = i2;
1537
1539
  }), s2;
@@ -1549,24 +1551,24 @@ class ke extends Y {
1549
1551
  if (!t2.ok) return t2;
1550
1552
  const s2 = t2.value.data;
1551
1553
  if (s2.many) return o({ data: { usersTyping: null, many: true }, userSubscriptions: {}, lastChanged: e2 });
1552
- return o({ data: s2, userSubscriptions: we(s2.usersTyping, (e3, t3) => this.realtimeClient.internalSubscribe(["users", t3])), lastChanged: e2 });
1554
+ return o({ data: s2, userSubscriptions: ye(s2.usersTyping, (e3, t3) => this.realtimeClient.internalSubscribe(["users", t3])), lastChanged: e2 });
1553
1555
  });
1554
1556
  }
1555
1557
  equal(e2, t2) {
1556
- return _(e2.data, t2.data);
1558
+ return D(e2.data, t2.data);
1557
1559
  }
1558
1560
  loadNested(e2, t2) {
1559
1561
  return __async(this, null, function* () {
1560
1562
  if (null === t2.data) return o({ snapshot: null, lastChanged: t2.lastChanged });
1561
- if (t2.data.many) return o({ snapshot: S({ many: true }), lastChanged: t2.lastChanged });
1563
+ if (t2.data.many) return o({ snapshot: x({ many: true }), lastChanged: t2.lastChanged });
1562
1564
  const s2 = Object.entries(t2.data.usersTyping).sort(([e3, t3], [s3, n3]) => t3 - n3).map(([e3, t3]) => e3).map((s3) => t2.userSubscriptions[s3].store.getDeep(e2)), n2 = yield Promise.all(s2), a2 = n2.find((e3) => !e3.ok);
1563
1565
  if (a2) return a2;
1564
1566
  const r2 = n2.map((e3) => e3.value), i2 = r2.map((e3) => e3.snapshot), c2 = r2.map((e3) => e3.lastChanged), l2 = Math.max(t2.lastChanged, ...c2);
1565
- return o({ snapshot: S({ users: S(i2), many: false }), lastChanged: l2 });
1567
+ return o({ snapshot: x({ users: x(i2), many: false }), lastChanged: l2 });
1566
1568
  });
1567
1569
  }
1568
1570
  typingAvailable(e2, t2) {
1569
- this.mutate(e2, () => o({ data: t2.state, userSubscriptions: t2.state.many ? {} : we(t2.state.usersTyping, (e3, t3) => this.realtimeClient.internalSubscribe(["users", t3])), lastChanged: e2 }));
1571
+ this.mutate(e2, () => o({ data: t2.state, userSubscriptions: t2.state.many ? {} : ye(t2.state.usersTyping, (e3, t3) => this.realtimeClient.internalSubscribe(["users", t3])), lastChanged: e2 }));
1570
1572
  }
1571
1573
  typingChanged(e2, t2) {
1572
1574
  this.mutate(e2, (s2) => {
@@ -1574,7 +1576,7 @@ class ke extends Y {
1574
1576
  if (void 0 === t2.diff.many) {
1575
1577
  if (true === s2.value.data.many) return s2;
1576
1578
  const n2 = __spreadValues({}, s2.value.data.usersTyping), a2 = __spreadValues({}, s2.value.userSubscriptions);
1577
- return ye(t2.diff.usersTyping, (e3, t3) => {
1579
+ return we(t2.diff.usersTyping, (e3, t3) => {
1578
1580
  var _a2;
1579
1581
  "number" == typeof e3 ? (n2[t3] = e3, a2[t3] = this.realtimeClient.internalSubscribe(["users", t3])) : null === e3 && (delete n2[t3], (_a2 = a2[t3]) == null ? void 0 : _a2.unsubscribe(), delete a2[t3]);
1580
1582
  }), o({ data: { usersTyping: n2, many: false }, userSubscriptions: a2, lastChanged: e2 });
@@ -1582,7 +1584,7 @@ class ke extends Y {
1582
1584
  if (true === t2.diff.many) return s2.value.data.many ? s2 : o({ data: { usersTyping: null, many: true }, userSubscriptions: {}, lastChanged: e2 });
1583
1585
  if (false === t2.diff.many) {
1584
1586
  if (false === s2.value.data.many) return s2;
1585
- const n2 = we(t2.diff.usersTyping, (e3, t3) => this.realtimeClient.internalSubscribe(["users", t3]));
1587
+ const n2 = ye(t2.diff.usersTyping, (e3, t3) => this.realtimeClient.internalSubscribe(["users", t3]));
1586
1588
  return o({ data: t2.diff, userSubscriptions: n2, lastChanged: e2 });
1587
1589
  }
1588
1590
  throw t2.diff, "Unreachable";
@@ -1592,7 +1594,7 @@ class ke extends Y {
1592
1594
  this.mutate(e2, (t3) => null === t3.value.data ? t3 : o({ data: null, lastChanged: e2 }));
1593
1595
  }
1594
1596
  teardownNested(e2) {
1595
- e2.data && ye(e2.userSubscriptions, (e3) => e3.unsubscribe());
1597
+ e2.data && we(e2.userSubscriptions, (e3) => e3.unsubscribe());
1596
1598
  }
1597
1599
  anyChildChanged(e2, t2, s2) {
1598
1600
  return __async(this, null, function* () {
@@ -1606,13 +1608,19 @@ class ke extends Y {
1606
1608
  });
1607
1609
  }
1608
1610
  }
1609
- class Ce extends z {
1610
- constructor(e2, t2, s2, n2) {
1611
- super(e2, {}), this.conversationId = t2, this.participantData = s2, this.realtimeClient = n2;
1611
+ class Se extends Y {
1612
+ constructor(e2, t2, s2, n2, a2, r2) {
1613
+ super(e2, a2, r2), this.conversationId = t2, this.participant = s2, this.realtimeClient = n2, this.unsubscribeDebounceMs = 0;
1614
+ }
1615
+ get userId() {
1616
+ return "string" == typeof this.participant ? this.participant : this.participant.id;
1612
1617
  }
1613
1618
  fetchInitial(e2) {
1614
1619
  return __async(this, null, function* () {
1615
- return o({ lastChanged: e2, user: this.realtimeClient.internalSubscribe(["users", this.participantData.id]), data: this.participantData });
1620
+ const t2 = this.realtimeClient.internalSubscribe(["users", this.userId]);
1621
+ if ("object" == typeof this.participant) return o({ lastChanged: e2, user: t2, data: this.participant });
1622
+ const s2 = yield Ce(this.conversationId, this.userId, this.realtimeClient);
1623
+ return s2.ok ? o({ lastChanged: e2, user: t2, data: s2.value }) : (t2.unsubscribe(), s2);
1616
1624
  });
1617
1625
  }
1618
1626
  refetch(e2) {
@@ -1620,15 +1628,15 @@ class Ce extends z {
1620
1628
  }
1621
1629
  equal(e2, t2) {
1622
1630
  var _a2, _b2, _c, _d;
1623
- return ((_b2 = (_a2 = e2.user) == null ? void 0 : _a2.store) == null ? void 0 : _b2.userId) === ((_d = (_c = t2.user) == null ? void 0 : _c.store) == null ? void 0 : _d.userId) && _(e2.data, t2.data);
1631
+ return ((_b2 = (_a2 = e2.user) == null ? void 0 : _a2.store) == null ? void 0 : _b2.userId) === ((_d = (_c = t2.user) == null ? void 0 : _c.store) == null ? void 0 : _d.userId) && D(e2.data, t2.data);
1624
1632
  }
1625
1633
  teardownNested(e2) {
1626
- var _a2;
1627
- (_a2 = e2.user) == null ? void 0 : _a2.unsubscribe();
1634
+ e2.user.unsubscribe();
1628
1635
  }
1629
1636
  anyChildChanged(e2, t2, s2) {
1630
1637
  return __async(this, null, function* () {
1631
1638
  var _a2;
1639
+ if (null === s2.data) return false;
1632
1640
  const n2 = (_a2 = s2.user) == null ? void 0 : _a2.store;
1633
1641
  return true === (yield n2 == null ? void 0 : n2.changedBetween(e2, t2));
1634
1642
  });
@@ -1642,14 +1650,31 @@ class Ce extends z {
1642
1650
  return o({ snapshot: le(t2.data, n2) });
1643
1651
  });
1644
1652
  }
1653
+ participantCreated(e2, t2) {
1654
+ this.mutate(e2, (s2) => {
1655
+ if (null !== s2.value.data) return s2;
1656
+ return o({ lastChanged: e2, user: s2.value.user, data: t2.state });
1657
+ });
1658
+ }
1645
1659
  participantEdited(e2, t2) {
1646
1660
  this.mutate(e2, (s2) => {
1647
1661
  if (null === s2.value.data) return s2;
1648
- return o({ lastChanged: e2, user: s2.value.user, data: { id: s2.value.data.id, access: A(s2.value.data.access, t2.diff.access), notify: A(s2.value.data.notify, t2.diff.notify), joinedAt: s2.value.data.joinedAt } });
1662
+ return o({ lastChanged: e2, user: s2.value.user, data: { id: s2.value.data.id, access: _(s2.value.data.access, t2.diff.access), notify: _(s2.value.data.notify, t2.diff.notify), joinedAt: s2.value.data.joinedAt } });
1649
1663
  });
1650
1664
  }
1651
1665
  participantDeleted(e2, t2) {
1652
- this.mutate(e2, (t3) => null === t3.value.data ? t3 : (this.teardownNested(t3.value), o({ lastChanged: e2, user: null, data: null })));
1666
+ this.mutate(e2, (t3) => null === t3.value.data ? t3 : o({ lastChanged: e2, user: t3.value.user, data: null }));
1667
+ }
1668
+ sideCreated(e2, t2) {
1669
+ const s2 = Ce(this.conversationId, this.userId, this.realtimeClient);
1670
+ this.mutate(e2, (t3) => __async(this, null, function* () {
1671
+ if (null !== t3.value.data) return t3;
1672
+ const n2 = yield s2;
1673
+ return n2.ok ? o({ lastChanged: e2, user: t3.value.user, data: n2.value }) : (this.teardownNested(t3.value), n2);
1674
+ }));
1675
+ }
1676
+ sideDeleted(e2, t2) {
1677
+ this.mutate(e2, (t3) => null === t3.value.data ? t3 : o({ lastChanged: e2, user: t3.value.user, data: null }));
1653
1678
  }
1654
1679
  getFromCache() {
1655
1680
  return __async(this, null, function* () {
@@ -1662,86 +1687,81 @@ class Ce extends z {
1662
1687
  });
1663
1688
  }
1664
1689
  }
1665
- class Te extends Y {
1666
- constructor(e2, t2, s2, n2, a2) {
1667
- super(e2, n2, a2), this.conversationId = t2, this.realtimeClient = s2, this.handlers = a2, this.unsubscribeDebounceMs = 3e4, this.pendingLoadMore = void 0;
1690
+ function Ce(e2, t2, s2) {
1691
+ return __async(this, null, function* () {
1692
+ const n2 = yield s2.call({ method: "GET", path: ["me", "conversations", e2, "participants", t2], data: {}, flags: { bypassCache: true } });
1693
+ return n2.ok ? o(n2.value.data) : "server" === n2.where && 404 === n2.value.status || "server" === n2.where && 403 === n2.value.status && "NOT_A_PARTICIPANT" === n2.value.errorCode ? o(null) : n2;
1694
+ });
1695
+ }
1696
+ class Ie extends Y {
1697
+ constructor(e2, t2, s2, n2, a2, r2) {
1698
+ super(e2, a2, r2), this.getParticipantDataStore = t2, this.conversationId = s2, this.realtimeClient = n2, this.handlers = r2, this.unsubscribeDebounceMs = 3e4, this.pendingLoadMore = void 0;
1668
1699
  }
1669
1700
  fetchInitial(e2) {
1670
1701
  return __async(this, null, function* () {
1671
- const t2 = yield Ie({ realtimeClient: this.realtimeClient, conversationId: this.conversationId, count: 10 });
1672
- return t2.ok ? null === t2.value.participants ? o({ lastChanged: e2, stores: null, inWindow: null, windowEnd: null }) : xe({ seq: e2, participants: t2.value.participants, cursor: t2.value.nextCursor, conversationId: this.conversationId, realtimeClient: this.realtimeClient }) : t2;
1702
+ const t2 = yield Te({ realtimeClient: this.realtimeClient, conversationId: this.conversationId, count: 10 });
1703
+ return t2.ok ? null === t2.value.participants ? o({ lastChanged: e2, stores: null, inWindow: null, windowEnd: null }) : xe({ seq: e2, participants: t2.value.participants, cursor: t2.value.nextCursor, getParticipantDataStore: this.getParticipantDataStore }) : t2;
1673
1704
  });
1674
1705
  }
1675
1706
  teardownNested(e2) {
1676
- if (e2.stores) {
1677
- const t2 = c("TERMINATED");
1678
- Object.values(e2.stores).forEach((e3) => e3.setError(t2));
1679
- }
1707
+ null !== e2.stores && Object.values(e2.stores).forEach((e3) => e3.unsubscribe());
1680
1708
  }
1681
1709
  anyChildChanged(e2, t2, s2) {
1682
1710
  return __async(this, null, function* () {
1711
+ var _a2;
1683
1712
  for (const n2 in s2.stores) {
1684
1713
  const a2 = s2.stores[n2];
1685
- if (true === (yield a2 == null ? void 0 : a2.changedBetween(e2, t2))) return true;
1714
+ if (true === (yield (_a2 = a2 == null ? void 0 : a2.store) == null ? void 0 : _a2.changedBetween(e2, t2))) return true;
1686
1715
  }
1687
1716
  return false;
1688
1717
  });
1689
1718
  }
1690
1719
  equal(e2, t2) {
1691
- return null === e2.stores && null === t2.stores || null !== e2.stores && null !== t2.stores && (!!_(Object.keys(e2.stores), Object.keys(t2.stores)) && _(e2.windowEnd, t2.windowEnd));
1720
+ return null === e2.stores && null === t2.stores || null !== e2.stores && null !== t2.stores && (!!D(Object.keys(e2.stores), Object.keys(t2.stores)) && D(e2.windowEnd, t2.windowEnd));
1692
1721
  }
1693
1722
  loadNested(e2, t2) {
1694
1723
  return __async(this, null, function* () {
1695
1724
  if (null === t2.stores) return o({ snapshot: null, loadedAll: true });
1696
- const s2 = yield Promise.all(Object.values(t2.stores).map((t3) => t3.getDeep(e2))), n2 = s2.find((e3) => !e3.ok);
1725
+ const s2 = yield Promise.all(Object.values(t2.stores).map((t3) => t3.store.getDeep(e2))), n2 = s2.find((e3) => !e3.ok);
1697
1726
  if (n2) return n2;
1698
1727
  const a2 = s2.filter((e3) => null !== e3.value.snapshot).map((e3) => e3.value.snapshot);
1699
- return a2.sort((e3, t3) => t3.joinedAt - e3.joinedAt), o({ snapshot: S(a2), loadedAll: null === t2.windowEnd });
1728
+ return a2.sort((e3, t3) => t3.joinedAt - e3.joinedAt), o({ snapshot: x(a2), loadedAll: null === t2.windowEnd });
1700
1729
  });
1701
1730
  }
1702
- loadMore(e2) {
1731
+ loadMore(e2 = 10) {
1703
1732
  return __async(this, null, function* () {
1704
1733
  if (this.pendingLoadMore) return this.pendingLoadMore;
1705
1734
  const t2 = r();
1706
- this.pendingLoadMore = t2.promise, yield this._loadMoreParticipants(e2), t2.resolve(), this.pendingLoadMore = void 0;
1707
- });
1708
- }
1709
- _loadMoreParticipants(e2 = 10) {
1710
- return __async(this, null, function* () {
1711
- const t2 = yield this.mostRecentState.resultPromise;
1712
- if (!t2.ok) return;
1713
- if (null === t2.value.windowEnd) return;
1714
- const s2 = t2.value.windowEnd.cursor, n2 = yield Ie({ count: e2, cursor: s2, conversationId: this.conversationId, realtimeClient: this.realtimeClient });
1715
- yield this.handlers.onLoadedMore({ type: "virtual.participants.loadedmore", conversationId: this.conversationId, data: n2 });
1735
+ this.pendingLoadMore = t2.promise;
1736
+ const s2 = yield this.mostRecentState.resultPromise;
1737
+ if (!s2.ok) {
1738
+ if ("client" === s2.where) throw t2.reject(s2.value), this.pendingLoadMore = void 0, s2.value;
1739
+ {
1740
+ const e3 = p("Loading more participants", s2.value);
1741
+ throw t2.reject(e3), this.pendingLoadMore = void 0, e3;
1742
+ }
1743
+ }
1744
+ if (null === s2.value.windowEnd) return t2.resolve(), void (this.pendingLoadMore = void 0);
1745
+ const n2 = s2.value.windowEnd.cursor, a2 = yield Te({ count: e2, cursor: n2, conversationId: this.conversationId, realtimeClient: this.realtimeClient });
1746
+ t2.resolve(), this.pendingLoadMore = void 0, yield this.handlers.onLoadedMore({ type: "virtual.participants.loadedmore", conversationId: this.conversationId, data: a2 });
1716
1747
  });
1717
1748
  }
1718
1749
  loadedMore(e2, t2) {
1719
- this.mutate(e2, (s2) => null === s2.value.windowEnd ? s2 : t2.data.ok ? null === t2.data.value.participants ? (console.warn("[TalkJS] When loading more participants, the conversation no longer existed. We should have been told about this."), s2) : xe({ seq: e2, prevStores: s2.value.stores, participants: t2.data.value.participants, cursor: t2.data.value.nextCursor, conversationId: this.conversationId, realtimeClient: this.realtimeClient }) : t2.data);
1750
+ this.mutate(e2, (s2) => null === s2.value.windowEnd ? s2 : t2.data.ok ? null === t2.data.value.participants ? (console.warn("[TalkJS] When loading more participants, the conversation no longer existed. We should have been told about this."), s2) : xe({ seq: e2, prevStores: s2.value.stores, participants: t2.data.value.participants, cursor: t2.data.value.nextCursor, getParticipantDataStore: this.getParticipantDataStore }) : t2.data);
1720
1751
  }
1721
1752
  participantCreated(e2, t2) {
1722
- this.mutate(e2, (s2) => {
1723
- if (null === s2.value.stores) return console.warn("[TalkJS] Received a 'participant.created' event for a nonexistent conversation."), s2;
1724
- if (s2.value.windowEnd && t2.state.joinedAt < s2.value.windowEnd.oldestParticipantTs) return s2;
1725
- if (Object.hasOwnProperty.call(s2.value.stores, t2.state.id)) return s2;
1726
- const n2 = __spreadValues({}, s2.value.stores), a2 = new Ce(e2, this.conversationId, t2.state, this.realtimeClient);
1727
- n2[t2.state.id] = a2;
1728
- return o({ lastChanged: e2, stores: n2, windowEnd: s2.value.windowEnd });
1729
- });
1730
- }
1731
- participantEdited(e2, t2) {
1732
- this.mutate(e2, (s2) => {
1733
- var _a2;
1734
- return null === s2.value.stores ? (console.warn("[TalkJS] Received a 'participant.edited' event for a nonexistent conversation."), s2) : ((_a2 = s2.value.stores[t2.userId]) == null ? void 0 : _a2.participantEdited(e2, t2), s2);
1753
+ const s2 = this.getParticipantDataStore(t2.state);
1754
+ this.mutate(e2, (n2) => {
1755
+ let a2 = n2.value.stores;
1756
+ return null === a2 && (console.warn("[TalkJS] Received a 'participant.created' event when we thought the conversation didn't exist."), a2 = {}), Object.hasOwnProperty.call(a2, t2.userId) ? (s2.unsubscribe(), n2) : o({ lastChanged: e2, stores: __spreadProps(__spreadValues({}, a2), { [t2.userId]: s2 }), windowEnd: n2.value.windowEnd });
1735
1757
  });
1736
1758
  }
1737
1759
  participantDeleted(e2, t2) {
1738
1760
  this.mutate(e2, (s2) => {
1739
- if (null === s2.value.stores) return console.warn("[TalkJS] Received a 'participant.deleted' event for a conversation that we thought didn't exist."), s2;
1740
- const n2 = s2.value.stores[t2.userId];
1741
- if (void 0 === n2) return s2;
1742
- n2.participantDeleted(e2, t2);
1743
- const a2 = __spreadValues({}, s2.value.stores);
1744
- return delete a2[t2.userId], o({ lastChanged: e2, stores: a2, windowEnd: s2.value.windowEnd });
1761
+ var _a2;
1762
+ if (!Object.hasOwnProperty.call(s2.value.stores, t2.conversationId)) return s2;
1763
+ const n2 = __spreadValues({}, s2.value.stores);
1764
+ return (_a2 = n2[t2.userId]) == null ? void 0 : _a2.unsubscribe(), delete n2[t2.userId], o({ lastChanged: e2, stores: n2, windowEnd: s2.value.windowEnd });
1745
1765
  });
1746
1766
  }
1747
1767
  sideCreated(e2, t2) {
@@ -1753,17 +1773,8 @@ class Te extends Y {
1753
1773
  sideDeleted(e2, t2) {
1754
1774
  this.mutate(e2, (t3) => null === t3.value.stores ? t3 : (this.teardownNested(t3.value), o({ lastChanged: e2, stores: null, inWindow: null, windowEnd: null })));
1755
1775
  }
1756
- getParticipantFromCache(e2) {
1757
- return __async(this, null, function* () {
1758
- const t2 = yield this.mostRecentState.resultPromise;
1759
- if (!t2.ok) return c("NOT_IN_CACHE");
1760
- if (null === t2.value.stores) return c("NOT_IN_CACHE");
1761
- const s2 = t2.value.stores[e2];
1762
- return void 0 === s2 ? c("NOT_IN_CACHE") : s2.getFromCache();
1763
- });
1764
- }
1765
1776
  }
1766
- function Ie(_0) {
1777
+ function Te(_0) {
1767
1778
  return __async(this, arguments, function* ({ cursor: e2, realtimeClient: t2, conversationId: s2, count: n2 }) {
1768
1779
  const a2 = { limit: n2, cursor: e2 }, r2 = yield t2.call({ method: "GET", path: ["me", "conversations", s2, "participants"], data: a2, flags: { bypassCache: true } });
1769
1780
  if (r2.ok) {
@@ -1773,23 +1784,20 @@ function Ie(_0) {
1773
1784
  return (r2.ok || "server" !== r2.where || 404 !== r2.value.status) && (r2.ok || "server" !== r2.where || 403 !== r2.value.status || "NOT_A_PARTICIPANT" !== r2.value.errorCode) ? r2 : o({ participants: null, nextCursor: null });
1774
1785
  });
1775
1786
  }
1776
- function xe({ seq: e2, prevStores: t2, participants: s2, cursor: n2, conversationId: a2, realtimeClient: r2 }) {
1777
- const i2 = t2 ? __spreadValues({}, t2) : {};
1778
- for (const t3 of s2) if (void 0 === i2[t3.id]) {
1779
- const s3 = new Ce(e2, a2, t3, r2);
1780
- i2[t3.id] = s3;
1781
- }
1782
- if (null === n2) return o({ lastChanged: e2, stores: i2, windowEnd: null });
1783
- return o({ lastChanged: e2, stores: i2, windowEnd: { cursor: n2, oldestParticipantTs: s2[s2.length - 1].joinedAt } });
1787
+ function xe({ seq: e2, prevStores: t2, participants: s2, cursor: n2, getParticipantDataStore: a2 }) {
1788
+ const r2 = t2 ? __spreadValues({}, t2) : {};
1789
+ for (const e3 of s2) void 0 === r2[e3.id] && (r2[e3.id] = a2(e3));
1790
+ if (null === n2) return o({ lastChanged: e2, stores: r2, windowEnd: null });
1791
+ return o({ lastChanged: e2, stores: r2, windowEnd: { cursor: n2, oldestParticipantTs: s2[s2.length - 1].joinedAt } });
1784
1792
  }
1785
- class Se extends Y {
1793
+ class Ee extends Y {
1786
1794
  constructor(e2, t2, s2, n2, a2) {
1787
1795
  super(e2, n2, a2), this.getConvDataStore = t2, this.realtimeClient = s2, this.handlers = a2, this.unsubscribeDebounceMs = 1e4, this.pendingLoadMore = void 0;
1788
1796
  }
1789
1797
  fetchInitial(e2) {
1790
1798
  return __async(this, null, function* () {
1791
- const t2 = yield Ee({ realtimeClient: this.realtimeClient, count: 20 });
1792
- return t2.ok ? null === t2.value.conversations ? o({ lastChanged: e2, stores: null, windowEnd: null }) : Me({ seq: e2, conversations: t2.value.conversations, cursor: t2.value.nextCursor, getConvDataStore: this.getConvDataStore }) : t2;
1799
+ const t2 = yield Me({ realtimeClient: this.realtimeClient, count: 20 });
1800
+ return t2.ok ? null === t2.value.conversations ? o({ lastChanged: e2, stores: null, windowEnd: null }) : _e({ seq: e2, conversations: t2.value.conversations, cursor: t2.value.nextCursor, getConvDataStore: this.getConvDataStore }) : t2;
1793
1801
  });
1794
1802
  }
1795
1803
  teardownNested(e2) {
@@ -1806,11 +1814,11 @@ class Se extends Y {
1806
1814
  });
1807
1815
  }
1808
1816
  equal(e2, t2) {
1809
- return null === e2.stores && null === t2.stores || null !== e2.stores && null !== t2.stores && (!!_(Object.keys(e2.stores), Object.keys(t2.stores)) && _(e2.windowEnd, t2.windowEnd));
1817
+ return null === e2.stores && null === t2.stores || null !== e2.stores && null !== t2.stores && (!!D(Object.keys(e2.stores), Object.keys(t2.stores)) && D(e2.windowEnd, t2.windowEnd));
1810
1818
  }
1811
1819
  loadNested(e2, t2) {
1812
1820
  return __async(this, null, function* () {
1813
- if (null === t2.stores) return o({ snapshot: S([]), loadedAll: true });
1821
+ if (null === t2.stores) return o({ snapshot: x([]), loadedAll: true });
1814
1822
  const s2 = yield Promise.all(Object.values(t2.stores).map((t3) => t3.store.getDeep(e2))), n2 = s2.find((e3) => !e3.ok);
1815
1823
  if (n2) return n2;
1816
1824
  const a2 = s2.filter((e3) => null !== e3.value.snapshot).map((e3) => e3.value.snapshot);
@@ -1818,36 +1826,29 @@ class Se extends Y {
1818
1826
  var _a2, _b2, _c, _d;
1819
1827
  const s3 = (_b2 = (_a2 = e3.lastMessage) == null ? void 0 : _a2.createdAt) != null ? _b2 : e3.joinedAt;
1820
1828
  return ((_d = (_c = t3.lastMessage) == null ? void 0 : _c.createdAt) != null ? _d : t3.joinedAt) - s3;
1821
- }), o({ snapshot: S(a2), loadedAll: null === t2.windowEnd });
1829
+ }), o({ snapshot: x(a2), loadedAll: null === t2.windowEnd });
1822
1830
  });
1823
1831
  }
1824
- loadMore(e2) {
1832
+ loadMore(e2 = 20) {
1825
1833
  return __async(this, null, function* () {
1826
1834
  if (this.pendingLoadMore) return this.pendingLoadMore;
1827
1835
  const t2 = r();
1828
- this.pendingLoadMore = t2.promise, yield this._loadMoreConversations(e2), t2.resolve(), this.pendingLoadMore = void 0;
1829
- });
1830
- }
1831
- _loadMoreConversations(e2 = 20) {
1832
- return __async(this, null, function* () {
1833
- const t2 = yield this.mostRecentState.resultPromise;
1834
- if (!t2.ok) return;
1835
- if (null === t2.value.windowEnd) return;
1836
- const s2 = t2.value.windowEnd.cursor, n2 = yield Ee({ count: e2, cursor: s2, realtimeClient: this.realtimeClient });
1837
- yield this.handlers.onLoadedMore({ type: "virtual.conversations.loadedmore", data: n2 });
1838
- });
1839
- }
1840
- getConvFromCache(e2) {
1841
- return __async(this, null, function* () {
1842
- const t2 = yield this.mostRecentState.resultPromise;
1843
- if (!t2.ok) return c("NOT_IN_CACHE");
1844
- if (null === t2.value.stores) return l({ status: 404, errorCode: "USER_NOT_FOUND", reasons: ["No user with that ID exists"] });
1845
- const s2 = t2.value.stores[e2];
1846
- return void 0 === s2 ? c("NOT_IN_CACHE") : s2.store.getFromCache();
1836
+ this.pendingLoadMore = t2.promise;
1837
+ const s2 = yield this.mostRecentState.resultPromise;
1838
+ if (!s2.ok) {
1839
+ if ("client" === s2.where) throw t2.reject(s2.value), this.pendingLoadMore = void 0, s2.value;
1840
+ {
1841
+ const e3 = p("Loading more conversations", s2.value);
1842
+ throw t2.reject(e3), this.pendingLoadMore = void 0, e3;
1843
+ }
1844
+ }
1845
+ if (null === s2.value.windowEnd) return t2.resolve(), void (this.pendingLoadMore = void 0);
1846
+ const n2 = s2.value.windowEnd.cursor, a2 = yield Me({ count: e2, cursor: n2, realtimeClient: this.realtimeClient });
1847
+ t2.resolve(), this.pendingLoadMore = void 0, yield this.handlers.onLoadedMore({ type: "virtual.conversations.loadedmore", data: a2 });
1847
1848
  });
1848
1849
  }
1849
1850
  loadedMore(e2, t2) {
1850
- this.mutate(e2, (s2) => null === s2.value.windowEnd ? s2 : t2.data.ok ? null === t2.data.value.conversations ? (console.warn("[TalkJS] When loading more conversations, the user stopped existing, which should be impossible."), s2) : Me({ seq: e2, prevStores: s2.value.stores, conversations: t2.data.value.conversations, cursor: t2.data.value.nextCursor, getConvDataStore: this.getConvDataStore }) : t2.data);
1851
+ this.mutate(e2, (s2) => null === s2.value.windowEnd ? s2 : t2.data.ok ? null === t2.data.value.conversations ? (console.warn("[TalkJS] When loading more conversations, the user stopped existing, which should be impossible."), s2) : _e({ seq: e2, prevStores: s2.value.stores, conversations: t2.data.value.conversations, cursor: t2.data.value.nextCursor, getConvDataStore: this.getConvDataStore }) : t2.data);
1851
1852
  }
1852
1853
  userCreated(e2, t2) {
1853
1854
  this.mutate(e2, (e3) => null !== e3.value.stores ? e3 : o({ lastChanged: e3.value.lastChanged, stores: {}, windowEnd: null }));
@@ -1886,7 +1887,7 @@ class Se extends Y {
1886
1887
  });
1887
1888
  }
1888
1889
  }
1889
- function Ee(_0) {
1890
+ function Me(_0) {
1890
1891
  return __async(this, arguments, function* ({ cursor: e2, realtimeClient: t2, count: s2 }) {
1891
1892
  const n2 = { limit: s2, cursor: e2 }, a2 = yield t2.call({ method: "GET", path: ["me", "conversations"], data: n2, flags: { bypassCache: true } });
1892
1893
  if (a2.ok) {
@@ -1896,7 +1897,7 @@ function Ee(_0) {
1896
1897
  return a2.ok || "server" !== a2.where || 404 !== a2.value.status || "USER_NOT_FOUND" !== a2.value.errorCode ? a2 : o({ conversations: null, nextCursor: null });
1897
1898
  });
1898
1899
  }
1899
- function Me({ seq: e2, prevStores: t2, conversations: s2, cursor: n2, getConvDataStore: a2 }) {
1900
+ function _e({ seq: e2, prevStores: t2, conversations: s2, cursor: n2, getConvDataStore: a2 }) {
1900
1901
  const r2 = t2 ? __spreadValues({}, t2) : {};
1901
1902
  for (const e3 of s2) void 0 === r2[e3.id] && (r2[e3.id] = a2(e3));
1902
1903
  if (null === n2) return o({ lastChanged: e2, stores: r2, windowEnd: null });
@@ -1934,7 +1935,7 @@ class Ae extends Y {
1934
1935
  });
1935
1936
  }
1936
1937
  equal(e2, t2) {
1937
- return _(e2.snapshot, t2.snapshot);
1938
+ return D(e2.snapshot, t2.snapshot);
1938
1939
  }
1939
1940
  loadNested(e2, t2) {
1940
1941
  return __async(this, null, function* () {
@@ -1943,7 +1944,7 @@ class Ae extends Y {
1943
1944
  const s2 = yield t2.messageWindow.store.getDeep(e2);
1944
1945
  if (!s2.ok) return s2;
1945
1946
  const n2 = s2.value.snapshot, a2 = (_a2 = n2 == null ? void 0 : n2[0]) != null ? _a2 : null;
1946
- return o({ snapshot: S(__spreadProps(__spreadValues({}, t2.snapshot), { custom: S(t2.snapshot.custom), welcomeMessages: S(t2.snapshot.welcomeMessages), lastMessage: a2 })) });
1947
+ return o({ snapshot: x(__spreadProps(__spreadValues({}, t2.snapshot), { custom: x(t2.snapshot.custom), welcomeMessages: x(t2.snapshot.welcomeMessages), lastMessage: a2 })) });
1947
1948
  });
1948
1949
  }
1949
1950
  participantEdited(e2, t2) {
@@ -1970,9 +1971,9 @@ class Ae extends Y {
1970
1971
  }
1971
1972
  function Ne(e2, t2) {
1972
1973
  const s2 = t2;
1973
- return { id: e2.id, createdAt: e2.createdAt, subject: A(e2.subject, s2.subject), photoUrl: A(e2.photoUrl, s2.photoUrl), welcomeMessages: N(e2.welcomeMessages, s2.welcomeMessages), custom: R(e2.custom, s2.custom), lastMessageAt: A(e2.lastMessageAt, s2.lastMessageAt), unreadMessageCount: A(e2.unreadMessageCount, s2.unreadMessageCount), isUnread: A(e2.isUnread, s2.isUnread), access: A(e2.access, s2.access), notify: A(e2.notify, s2.notify), readUntil: A(e2.readUntil, s2.readUntil), everyoneReadUntil: A(e2.everyoneReadUntil, s2.everyoneReadUntil), joinedAt: e2.joinedAt };
1974
+ return { id: e2.id, createdAt: e2.createdAt, subject: _(e2.subject, s2.subject), photoUrl: _(e2.photoUrl, s2.photoUrl), welcomeMessages: A(e2.welcomeMessages, s2.welcomeMessages), custom: N(e2.custom, s2.custom), lastMessageAt: _(e2.lastMessageAt, s2.lastMessageAt), unreadMessageCount: _(e2.unreadMessageCount, s2.unreadMessageCount), isUnread: _(e2.isUnread, s2.isUnread), access: _(e2.access, s2.access), notify: _(e2.notify, s2.notify), readUntil: _(e2.readUntil, s2.readUntil), everyoneReadUntil: _(e2.everyoneReadUntil, s2.everyoneReadUntil), joinedAt: e2.joinedAt };
1974
1975
  }
1975
- class Re extends Y {
1976
+ class De extends Y {
1976
1977
  constructor(e2, t2, s2, n2, a2) {
1977
1978
  super(e2, n2, a2), this.userId = t2, this.realtimeClient = s2, this.unsubscribeDebounceMs = 3e4;
1978
1979
  }
@@ -1983,7 +1984,7 @@ class Re extends Y {
1983
1984
  });
1984
1985
  }
1985
1986
  equal(e2, t2) {
1986
- return _(e2.data, t2.data);
1987
+ return D(e2.data, t2.data);
1987
1988
  }
1988
1989
  teardownNested(e2) {
1989
1990
  e2.user.unsubscribe();
@@ -1998,7 +1999,7 @@ class Re extends Y {
1998
1999
  const s2 = yield t2.user.store.getDeep(e2);
1999
2000
  if (!s2.ok) return s2;
2000
2001
  const n2 = s2.value.snapshot;
2001
- return null === t2.data || null === n2 ? o({ snapshot: null }) : o({ snapshot: S(__spreadProps(__spreadValues({}, t2.data), { user: n2 })) });
2002
+ return null === t2.data || null === n2 ? o({ snapshot: null }) : o({ snapshot: x(__spreadProps(__spreadValues({}, t2.data), { user: n2 })) });
2002
2003
  });
2003
2004
  }
2004
2005
  userCreated(e2, t2) {
@@ -2022,9 +2023,35 @@ class Re extends Y {
2022
2023
  });
2023
2024
  }
2024
2025
  }
2025
- class _e {
2026
+ class Re extends Y {
2027
+ constructor(e2, t2, s2, n2, a2) {
2028
+ super(e2, n2, a2), this.participantData = t2, this.realtimeClient = s2, this.unsubscribeDebounceMs = 3e4;
2029
+ }
2030
+ fetchInitial(e2) {
2031
+ return __async(this, null, function* () {
2032
+ return o({ lastChanged: e2, participantData: this.participantData });
2033
+ });
2034
+ }
2035
+ teardownNested(e2) {
2036
+ e2.participantData.unsubscribe();
2037
+ }
2038
+ anyChildChanged(e2, t2, s2) {
2039
+ return __async(this, null, function* () {
2040
+ return s2.participantData.store.changedBetween(e2, t2);
2041
+ });
2042
+ }
2043
+ equal(e2, t2) {
2044
+ return true;
2045
+ }
2046
+ loadNested(e2, t2) {
2047
+ return __async(this, null, function* () {
2048
+ return t2.participantData.store.getDeep(e2);
2049
+ });
2050
+ }
2051
+ }
2052
+ class Oe {
2026
2053
  constructor(e2, t2, s2) {
2027
- this.realtimeClient = s2, this.convDataStores = {}, this.storeMap = {}, this.emitMutex = new F(), this.virtualSeqOffset = 0, this.realPublishSeq = 0, this.refetchOnNextNetworkLoss = true, this.connection = new G(e2, t2, { onUpstreamRestarting: () => {
2054
+ this.realtimeClient = s2, this.convDataStores = {}, this.participantDataStores = {}, this.storeMap = {}, this.emitMutex = new F(), this.virtualSeqOffset = 0, this.realPublishSeq = 0, this.refetchOnNextNetworkLoss = true, this.connection = new G(e2, t2, { onUpstreamRestarting: () => {
2028
2055
  this.refetchOnNextNetworkLoss = false;
2029
2056
  }, onReady: () => {
2030
2057
  this.refetchOnNextNetworkLoss = true;
@@ -2036,7 +2063,7 @@ class _e {
2036
2063
  }
2037
2064
  }, onResubscribeError: (e3, t3) => {
2038
2065
  var _a2;
2039
- (_a2 = this.storeMap[De(e3)]) == null ? void 0 : _a2.setError(t3);
2066
+ (_a2 = this.storeMap[Pe(e3)]) == null ? void 0 : _a2.setError(t3);
2040
2067
  }, onPublish: (e3, t3) => {
2041
2068
  this.realPublishSeq = e3;
2042
2069
  const s3 = this.virtualSeq;
@@ -2062,52 +2089,53 @@ class _e {
2062
2089
  }));
2063
2090
  }
2064
2091
  handlePublish(e2, t2) {
2065
- var _a2, _b2, _c, _d, _e3, _f, _g, _h, _i, _j, _k, _l, _m, _n2, _o, _p, _q, _r, _s2, _t3, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D;
2092
+ var _a2, _b2, _c, _d, _e3, _f, _g, _h, _i, _j, _k, _l, _m, _n2, _o, _p, _q, _r, _s2, _t3, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K;
2066
2093
  switch (t2.type) {
2067
2094
  case "user.created":
2068
2095
  return (_a2 = this.storeMap[`/users/${t2.userId}`]) == null ? void 0 : _a2.userCreated(e2, t2), (_b2 = this.storeMap["/me/conversations"]) == null ? void 0 : _b2.userCreated(e2, t2), void ((_c = this.storeMap[`/users/${t2.userId}/online`]) == null ? void 0 : _c.userCreated(e2, t2));
2069
2096
  case "user.edited":
2070
2097
  return void ((_d = this.storeMap[`/users/${t2.userId}`]) == null ? void 0 : _d.userEdited(e2, t2));
2071
2098
  case "side.created":
2072
- return (_e3 = this.convDataStores[t2.conversationId]) == null ? void 0 : _e3.sideCreated(e2, t2), (_f = this.storeMap[`/me/conversations/${t2.conversationId}/messages`]) == null ? void 0 : _f.sideCreated(e2, t2), (_g = this.storeMap[`/me/conversations/${t2.conversationId}/participants`]) == null ? void 0 : _g.sideCreated(e2, t2), void ((_h = this.storeMap["/me/conversations"]) == null ? void 0 : _h.sideCreated(e2, t2));
2099
+ return (_e3 = this.convDataStores[t2.conversationId]) == null ? void 0 : _e3.sideCreated(e2, t2), Object.values((_f = this.participantDataStores[t2.conversationId]) != null ? _f : {}).forEach((s2) => s2.sideCreated(e2, t2)), (_g = this.storeMap[`/me/conversations/${t2.conversationId}/messages`]) == null ? void 0 : _g.sideCreated(e2, t2), (_h = this.storeMap[`/me/conversations/${t2.conversationId}/participants`]) == null ? void 0 : _h.sideCreated(e2, t2), void ((_i = this.storeMap["/me/conversations"]) == null ? void 0 : _i.sideCreated(e2, t2));
2073
2100
  case "side.edited":
2074
- return (_i = this.convDataStores[t2.conversationId]) == null ? void 0 : _i.sideEdited(e2, t2), void ((_j = this.storeMap["/me/conversations"]) == null ? void 0 : _j.sideEdited(e2, t2));
2101
+ return (_j = this.convDataStores[t2.conversationId]) == null ? void 0 : _j.sideEdited(e2, t2), void ((_k = this.storeMap["/me/conversations"]) == null ? void 0 : _k.sideEdited(e2, t2));
2075
2102
  case "side.deleted":
2076
- return (_k = this.convDataStores[t2.conversationId]) == null ? void 0 : _k.sideDeleted(e2, t2), (_l = this.storeMap[`/me/conversations/${t2.conversationId}/messages`]) == null ? void 0 : _l.sideDeleted(e2, t2), (_m = this.storeMap[`/me/conversations/${t2.conversationId}/participants`]) == null ? void 0 : _m.sideDeleted(e2, t2), (_n2 = this.storeMap[`/me/conversations/${t2.conversationId}/typing`]) == null ? void 0 : _n2.sideDeleted(e2, t2), void ((_o = this.storeMap["/me/conversations"]) == null ? void 0 : _o.sideDeleted(e2, t2));
2103
+ return (_l = this.convDataStores[t2.conversationId]) == null ? void 0 : _l.sideDeleted(e2, t2), Object.values((_m = this.participantDataStores[t2.conversationId]) != null ? _m : {}).forEach((s2) => s2.sideDeleted(e2, t2)), (_n2 = this.storeMap[`/me/conversations/${t2.conversationId}/messages`]) == null ? void 0 : _n2.sideDeleted(e2, t2), (_o = this.storeMap[`/me/conversations/${t2.conversationId}/participants`]) == null ? void 0 : _o.sideDeleted(e2, t2), (_p = this.storeMap[`/me/conversations/${t2.conversationId}/typing`]) == null ? void 0 : _p.sideDeleted(e2, t2), void ((_q = this.storeMap["/me/conversations"]) == null ? void 0 : _q.sideDeleted(e2, t2));
2077
2104
  case "conversation.edited":
2078
- return void ((_p = this.convDataStores[t2.conversationId]) == null ? void 0 : _p.conversationEdited(e2, t2));
2105
+ return void ((_r = this.convDataStores[t2.conversationId]) == null ? void 0 : _r.conversationEdited(e2, t2));
2079
2106
  case "message.created":
2080
- return void ((_q = this.storeMap[`/me/conversations/${t2.conversationId}/messages`]) == null ? void 0 : _q.messageCreated(e2, t2));
2107
+ return void ((_s2 = this.storeMap[`/me/conversations/${t2.conversationId}/messages`]) == null ? void 0 : _s2.messageCreated(e2, t2));
2081
2108
  case "message.edited":
2082
- return void ((_r = this.storeMap[`/me/conversations/${t2.conversationId}/messages`]) == null ? void 0 : _r.messageEdited(e2, t2));
2109
+ return void ((_t3 = this.storeMap[`/me/conversations/${t2.conversationId}/messages`]) == null ? void 0 : _t3.messageEdited(e2, t2));
2083
2110
  case "message.deleted":
2084
- return void ((_s2 = this.storeMap[`/me/conversations/${t2.conversationId}/messages`]) == null ? void 0 : _s2.messageDeleted(e2, t2));
2111
+ return void ((_u = this.storeMap[`/me/conversations/${t2.conversationId}/messages`]) == null ? void 0 : _u.messageDeleted(e2, t2));
2085
2112
  case "typing.available":
2086
- return void ((_t3 = this.storeMap[`/me/conversations/${t2.conversationId}/typing`]) == null ? void 0 : _t3.typingAvailable(e2, t2));
2113
+ return void ((_v = this.storeMap[`/me/conversations/${t2.conversationId}/typing`]) == null ? void 0 : _v.typingAvailable(e2, t2));
2087
2114
  case "typing.changed":
2088
- return void ((_u = this.storeMap[`/me/conversations/${t2.conversationId}/typing`]) == null ? void 0 : _u.typingChanged(e2, t2));
2115
+ return void ((_w = this.storeMap[`/me/conversations/${t2.conversationId}/typing`]) == null ? void 0 : _w.typingChanged(e2, t2));
2089
2116
  case "conversation.cleared":
2090
- return void ((_v = this.storeMap[`/me/conversations/${t2.conversationId}/messages`]) == null ? void 0 : _v.conversationCleared(e2, t2));
2117
+ return void ((_x = this.storeMap[`/me/conversations/${t2.conversationId}/messages`]) == null ? void 0 : _x.conversationCleared(e2, t2));
2091
2118
  case "participant.edited":
2092
- return (_w = this.convDataStores[t2.conversationId]) == null ? void 0 : _w.participantEdited(e2, t2), void ((_x = this.storeMap[`/me/conversations/${t2.conversationId}/participants`]) == null ? void 0 : _x.participantEdited(e2, t2));
2119
+ return (_y = this.convDataStores[t2.conversationId]) == null ? void 0 : _y.participantEdited(e2, t2), void ((_A = (_z = this.participantDataStores[t2.conversationId]) == null ? void 0 : _z[t2.userId]) == null ? void 0 : _A.participantEdited(e2, t2));
2093
2120
  case "participant.created":
2094
- return void ((_y = this.storeMap[`/me/conversations/${t2.conversationId}/participants`]) == null ? void 0 : _y.participantCreated(e2, t2));
2121
+ return (_C = (_B = this.participantDataStores[t2.conversationId]) == null ? void 0 : _B[t2.userId]) == null ? void 0 : _C.participantCreated(e2, t2), void ((_D = this.storeMap[`/me/conversations/${t2.conversationId}/participants`]) == null ? void 0 : _D.participantCreated(e2, t2));
2095
2122
  case "participant.deleted":
2096
- return void ((_z = this.storeMap[`/me/conversations/${t2.conversationId}/participants`]) == null ? void 0 : _z.participantDeleted(e2, t2));
2123
+ return (_F = (_E = this.participantDataStores[t2.conversationId]) == null ? void 0 : _E[t2.userId]) == null ? void 0 : _F.participantDeleted(e2, t2), void ((_G = this.storeMap[`/me/conversations/${t2.conversationId}/participants`]) == null ? void 0 : _G.participantDeleted(e2, t2));
2097
2124
  case "user.online.changed":
2098
- return void ((_A = this.storeMap[`/users/${t2.userId}/online`]) == null ? void 0 : _A.userOnlineChanged(e2, t2));
2125
+ return void ((_H = this.storeMap[`/users/${t2.userId}/online`]) == null ? void 0 : _H.userOnlineChanged(e2, t2));
2099
2126
  case "virtual.conversations.loadedmore":
2100
- return void ((_B = this.storeMap["/me/conversations"]) == null ? void 0 : _B.loadedMore(e2, t2));
2127
+ return void ((_I = this.storeMap["/me/conversations"]) == null ? void 0 : _I.loadedMore(e2, t2));
2101
2128
  case "virtual.messages.loadedmore":
2102
- return void ((_C = this.storeMap[`/me/conversations/${t2.conversationId}/messages`]) == null ? void 0 : _C.loadedMore(e2, t2));
2129
+ return void ((_J = this.storeMap[`/me/conversations/${t2.conversationId}/messages`]) == null ? void 0 : _J.loadedMore(e2, t2));
2103
2130
  case "virtual.participants.loadedmore":
2104
- return void ((_D = this.storeMap[`/me/conversations/${t2.conversationId}/participants`]) == null ? void 0 : _D.loadedMore(e2, t2));
2131
+ return void ((_K = this.storeMap[`/me/conversations/${t2.conversationId}/participants`]) == null ? void 0 : _K.loadedMore(e2, t2));
2105
2132
  }
2106
2133
  }
2107
2134
  call(_0) {
2108
2135
  return __async(this, arguments, function* ({ method: t2, path: s2, data: n2, headers: a2, flags: r2 }) {
2136
+ var _a2;
2109
2137
  if (true !== (r2 == null ? void 0 : r2.bypassCache) && "GET" === t2) {
2110
- const t3 = De(s2);
2138
+ const t3 = Pe(s2);
2111
2139
  if (t3 in this.storeMap) {
2112
2140
  const e2 = t3, s3 = this.storeMap[e2];
2113
2141
  if (s3 && "getFromCache" in s3) {
@@ -2123,17 +2151,17 @@ class _e {
2123
2151
  if ("NOT_IN_CACHE" !== t4.value) return t4;
2124
2152
  }
2125
2153
  } else if (e(s2, ["me", "conversations", "*", "participants", "*"])) {
2126
- const e2 = this.storeMap[`/me/conversations/${s2[2]}/participants`];
2154
+ const e2 = (_a2 = this.participantDataStores[s2[2]]) == null ? void 0 : _a2[s2[4]];
2127
2155
  if (e2) {
2128
2156
  yield this.sync();
2129
- const t4 = yield e2.getParticipantFromCache(s2[4]);
2157
+ const t4 = yield e2.getFromCache();
2130
2158
  if ("NOT_IN_CACHE" !== t4.value) return t4;
2131
2159
  }
2132
2160
  } else if (e(s2, ["me", "conversations", "*"])) {
2133
- const e2 = this.storeMap["/me/conversations"];
2161
+ const e2 = this.convDataStores[s2[2]];
2134
2162
  if (e2) {
2135
2163
  yield this.sync();
2136
- const t4 = yield e2.getConvFromCache(s2[2]);
2164
+ const t4 = yield e2.getFromCache();
2137
2165
  if ("NOT_IN_CACHE" !== t4.value) return t4;
2138
2166
  }
2139
2167
  }
@@ -2183,7 +2211,7 @@ class _e {
2183
2211
  });
2184
2212
  }
2185
2213
  getOrCreateStore(e2) {
2186
- const t2 = De(e2);
2214
+ const t2 = Pe(e2);
2187
2215
  if (t2 in this.storeMap) return this.storeMap[t2];
2188
2216
  this.connection.subscribe(e2).then((e3) => {
2189
2217
  e3.ok || s2.setError(e3);
@@ -2194,7 +2222,7 @@ class _e {
2194
2222
  return this.storeMap[t2] = s2, s2;
2195
2223
  }
2196
2224
  destroy() {
2197
- this.storeMap = {}, this.convDataStores = {}, this.connection.destroy();
2225
+ this.storeMap = {}, this.convDataStores = {}, this.participantDataStores = {}, this.connection.destroy();
2198
2226
  }
2199
2227
  isConnected() {
2200
2228
  return this.connection.isConnected();
@@ -2203,10 +2231,11 @@ class _e {
2203
2231
  if (e(t2, ["users", "*"])) return new ue(this.virtualSeq, t2[1], this.realtimeClient, this.emitMutex, { onTeardown: s2 });
2204
2232
  if (e(t2, ["me", "conversations", "*"])) return new be(this.virtualSeq, this.subscribeConvData(t2[2]), this.realtimeClient, this.emitMutex, { onTeardown: s2 });
2205
2233
  if (e(t2, ["me", "conversations", "*", "messages"])) return new fe(this.virtualSeq, t2[2], this.realtimeClient, this.emitMutex, { onTeardown: s2, onLoadedMore: (e2) => this.onVirtualPublish(e2) });
2206
- if (e(t2, ["me", "conversations", "*", "participants"])) return new Te(this.virtualSeq, t2[2], this.realtimeClient, this.emitMutex, { onTeardown: s2, onLoadedMore: (e2) => this.onVirtualPublish(e2) });
2234
+ if (e(t2, ["me", "conversations", "*", "participants"])) return new Ie(this.virtualSeq, (e2) => this.subscribeParticipantData(t2[2], e2), t2[2], this.realtimeClient, this.emitMutex, { onTeardown: s2, onLoadedMore: (e2) => this.onVirtualPublish(e2) });
2235
+ if (e(t2, ["me", "conversations", "*", "participants", "*"])) return new Re(this.virtualSeq, this.subscribeParticipantData(t2[2], t2[4]), this.realtimeClient, this.emitMutex, { onTeardown: s2 });
2207
2236
  if (e(t2, ["me", "conversations", "*", "typing"])) return new ke(this.virtualSeq, t2[2], this.realtimeClient, this.emitMutex, { onTeardown: s2 });
2208
- if (e(t2, ["me", "conversations"])) return new Se(this.virtualSeq, (e2) => this.subscribeConvData(e2), this.realtimeClient, this.emitMutex, { onTeardown: s2, onLoadedMore: (e2) => this.onVirtualPublish(e2) });
2209
- if (e(t2, ["users", "*", "online"])) return new Re(this.virtualSeq, t2[1], this.realtimeClient, this.emitMutex, { onTeardown: s2 });
2237
+ if (e(t2, ["me", "conversations"])) return new Ee(this.virtualSeq, (e2) => this.subscribeConvData(e2), this.realtimeClient, this.emitMutex, { onTeardown: s2, onLoadedMore: (e2) => this.onVirtualPublish(e2) });
2238
+ if (e(t2, ["users", "*", "online"])) return new De(this.virtualSeq, t2[1], this.realtimeClient, this.emitMutex, { onTeardown: s2 });
2210
2239
  throw "Unreachable";
2211
2240
  }
2212
2241
  subscribeConvData(e2) {
@@ -2220,11 +2249,20 @@ class _e {
2220
2249
  } });
2221
2250
  return this.convDataStores[t2] = s2, { store: s2, unsubscribe: s2.registerInternalSubscription() };
2222
2251
  }
2252
+ subscribeParticipantData(e2, t2) {
2253
+ var _a2, _b2;
2254
+ const s2 = "string" == typeof t2 ? t2 : t2.id, n2 = (_a2 = this.participantDataStores[e2]) == null ? void 0 : _a2[s2];
2255
+ if (n2) return { store: n2, unsubscribe: n2.registerInternalSubscription() };
2256
+ const a2 = (_b2 = this.participantDataStores[e2]) != null ? _b2 : {}, r2 = new Se(this.virtualSeq, e2, t2, this.realtimeClient, this.emitMutex, { onTeardown: () => {
2257
+ delete a2[s2], 0 === Object.keys(a2).length && delete this.participantDataStores[e2];
2258
+ } });
2259
+ return a2[s2] = r2, this.participantDataStores[e2] = a2, { store: r2, unsubscribe: r2.registerInternalSubscription() };
2260
+ }
2223
2261
  }
2224
- function De(e2) {
2262
+ function Pe(e2) {
2225
2263
  return `/${e2.join("/")}`;
2226
2264
  }
2227
- class Oe {
2265
+ class je {
2228
2266
  constructor(e2, t2) {
2229
2267
  this.id = e2, this._realtimeClient = t2;
2230
2268
  }
@@ -2234,7 +2272,7 @@ class Oe {
2234
2272
  get() {
2235
2273
  return __async(this, null, function* () {
2236
2274
  const e2 = yield this._realtimeClient.getUser(this.brandedId);
2237
- return Xn("Get user " + this.id, e2);
2275
+ return ca("Get user " + this.id, e2);
2238
2276
  });
2239
2277
  }
2240
2278
  set(e2) {
@@ -2258,49 +2296,6 @@ class Oe {
2258
2296
  return this._realtimeClient.subscribe(["users", this.brandedId, "online"], e2);
2259
2297
  }
2260
2298
  }
2261
- class Pe {
2262
- constructor(e2, t2, s2) {
2263
- this.userId = e2, this.conversationId = t2, this._realtimeClient = s2;
2264
- }
2265
- get brandedUserId() {
2266
- return this.userId;
2267
- }
2268
- get brandedConversationId() {
2269
- return this.conversationId;
2270
- }
2271
- get() {
2272
- return __async(this, null, function* () {
2273
- const e2 = yield this._realtimeClient.call({ method: "GET", path: ["me", "conversations", this.brandedConversationId, "participants", this.brandedUserId], data: {} }), t2 = yield this._realtimeClient.call({ method: "GET", path: ["users", this.brandedUserId], data: { includePrivateFields: false } }), [s2, n2] = yield Promise.all([e2, t2]);
2274
- if (!s2.ok && "server" === s2.where && 404 === s2.value.status) return null;
2275
- if (!n2.ok && "server" === n2.where && 404 === n2.value.status) return null;
2276
- return le(d(`Get participant ${this.userId} in conversation ${this.conversationId}`, s2), ce(d(`Get user ${this.userId}`, n2)));
2277
- });
2278
- }
2279
- set() {
2280
- return __async(this, arguments, function* (e2 = {}) {
2281
- const t2 = yield this._realtimeClient.call({ method: "PUT", path: ["conversations", this.brandedConversationId, "participants", this.brandedUserId], data: e2 });
2282
- d(`Set participant ${this.userId} in conversation ${this.conversationId}`, t2);
2283
- });
2284
- }
2285
- edit() {
2286
- return __async(this, arguments, function* (e2 = {}) {
2287
- const t2 = yield this._realtimeClient.call({ method: "PATCH", path: ["conversations", this.brandedConversationId, "participants", this.brandedUserId], data: e2 });
2288
- d(`Edit participant ${this.userId} in conversation ${this.conversationId}`, t2);
2289
- });
2290
- }
2291
- createIfNotExists() {
2292
- return __async(this, arguments, function* (e2 = {}) {
2293
- const t2 = yield this._realtimeClient.call({ method: "POST", path: ["conversations", this.brandedConversationId, "participants", this.brandedUserId], data: e2 });
2294
- (t2.ok || "server" !== t2.where || 409 !== t2.value.status) && d(`Add participant ${this.userId} to conversation ${this.conversationId}`, t2);
2295
- });
2296
- }
2297
- delete() {
2298
- return __async(this, null, function* () {
2299
- const e2 = yield this._realtimeClient.call({ method: "DELETE", path: ["conversations", this.brandedConversationId, "participants", this.brandedUserId], data: {} });
2300
- (e2.ok || "server" !== e2.where || 404 !== e2.value.status) && d(`Remove participant ${this.userId} from conversation ${this.conversationId}`, e2);
2301
- });
2302
- }
2303
- }
2304
2299
  function $e(e2) {
2305
2300
  const t2 = "-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz";
2306
2301
  let s2 = 0;
@@ -2354,7 +2349,7 @@ const Ue = (e2, t2, s2 = void 0) => (function(e3, t3) {
2354
2349
  return [e3];
2355
2350
  }
2356
2351
  });
2357
- function je(e2, t2) {
2352
+ function We(e2, t2) {
2358
2353
  return (s2) => {
2359
2354
  const n2 = s2;
2360
2355
  let a2 = 0;
@@ -2367,29 +2362,29 @@ function je(e2, t2) {
2367
2362
  return a2 < s2.length && r2.push(s2.substring(a2)), r2;
2368
2363
  };
2369
2364
  }
2370
- const We = "’'()[]{}<>:,‒–—―…!.«»-‐?‘’“”;/⁄␠·&@*\\•^¤¢$€£¥₩₪†‡°¡¿¬#№%‰‱¶′§~¨_|¦⁂☞∴‽※".replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
2371
- var qe = ((e2) => (e2[e2.italic = 1] = "italic", e2[e2.strikethrough = 2] = "strikethrough", e2[e2.bold = 4] = "bold", e2))(qe || {});
2365
+ const qe = "’'()[]{}<>:,‒–—―…!.«»-‐?‘’“”;/⁄␠·&@*\\•^¤¢$€£¥₩₪†‡°¡¿¬#№%‰‱¶′§~¨_|¦⁂☞∴‽※".replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
2366
+ var Le = ((e2) => (e2[e2.italic = 1] = "italic", e2[e2.strikethrough = 2] = "strikethrough", e2[e2.bold = 4] = "bold", e2))(Le || {});
2372
2367
  const Be = [0, 1, 2, 3, 4, 5, 6].map((e2) => {
2373
2368
  const t2 = [];
2374
2369
  return 1 & e2 || t2.push(/_([^\s_].*?[^\s_])_|_([^\s_])_/), 2 & e2 || t2.push(/~([^\s~].*?[^\s~])~|~([^\s~])~/), 4 & e2 || t2.push(/\*([^\s*].*?[^\s*])\*|\*([^\s*])\*/), new RegExp(t2.map((e3) => e3.source).join("|"), "g");
2375
- }), Le = { _: 1, "*": 4, "~": 2 };
2376
- function Ge(e2) {
2377
- return Fe(e2, 0);
2370
+ }), Ge = { _: 1, "*": 4, "~": 2 };
2371
+ function Fe(e2) {
2372
+ return He(e2, 0);
2378
2373
  }
2379
- function Fe(e2, t2 = 0) {
2374
+ function He(e2, t2 = 0) {
2380
2375
  const s2 = Be[t2], n2 = s2 ? (function(e3) {
2381
- const t3 = He.getOrCompute(e3, () => new RegExp(`(?:^|[\\s${We}])(?:${e3.source})(?=[\\s${We}]|$)`, "g")), s3 = je(t3, (e4) => {
2376
+ const t3 = ze.getOrCompute(e3, () => new RegExp(`(?:^|[\\s${qe}])(?:${e3.source})(?=[\\s${qe}]|$)`, "g")), s3 = We(t3, (e4) => {
2382
2377
  const t4 = e4[0][1], s4 = e4[1] || e4[2] || e4[3] || e4[4] || e4[5] || e4[6];
2383
- return [" ", { type: qe[Le[t4]], children: [s4] }];
2378
+ return [" ", { type: Le[Ge[t4]], children: [s4] }];
2384
2379
  });
2385
2380
  return (e4) => {
2386
2381
  const [t4, ...n3] = s3(" " + e4);
2387
2382
  return t4.length > 1 && n3.unshift(t4.substring(1)), n3;
2388
2383
  };
2389
2384
  })(s2) : () => [e2];
2390
- return Ue(n2(e2), (e3, s3) => "bold" === s3 || "italic" === s3 || "strikethrough" === s3 ? Fe(e3, t2 | qe[s3]) : [e3]);
2385
+ return Ue(n2(e2), (e3, s3) => "bold" === s3 || "italic" === s3 || "strikethrough" === s3 ? He(e3, t2 | Le[s3]) : [e3]);
2391
2386
  }
2392
- const He = (function() {
2387
+ const ze = (function() {
2393
2388
  const e2 = (function() {
2394
2389
  try {
2395
2390
  return /* @__PURE__ */ new WeakMap();
@@ -2412,31 +2407,31 @@ var Je = function(e2, t2) {
2412
2407
  for (var s2 in t3) Object.prototype.hasOwnProperty.call(t3, s2) && (e3[s2] = t3[s2]);
2413
2408
  }, Je(e2, t2);
2414
2409
  };
2415
- function ze(e2, t2) {
2410
+ function Ye(e2, t2) {
2416
2411
  if ("function" != typeof t2 && null !== t2) throw new TypeError("Class extends value " + String(t2) + " is not a constructor or null");
2417
2412
  function s2() {
2418
2413
  this.constructor = e2;
2419
2414
  }
2420
2415
  Je(e2, t2), e2.prototype = null === t2 ? Object.create(t2) : (s2.prototype = t2.prototype, new s2());
2421
2416
  }
2422
- var Ye = function() {
2423
- return Ye = Object.assign || function(e2) {
2417
+ var Qe = function() {
2418
+ return Qe = Object.assign || function(e2) {
2424
2419
  for (var t2, s2 = 1, n2 = arguments.length; s2 < n2; s2++) for (var a2 in t2 = arguments[s2]) Object.prototype.hasOwnProperty.call(t2, a2) && (e2[a2] = t2[a2]);
2425
2420
  return e2;
2426
- }, Ye.apply(this, arguments);
2421
+ }, Qe.apply(this, arguments);
2427
2422
  };
2428
2423
  "function" == typeof SuppressedError && SuppressedError;
2429
- var Qe = Object.prototype.hasOwnProperty;
2430
- function Ve(e2) {
2424
+ var Ve = Object.prototype.hasOwnProperty;
2425
+ function Ke(e2) {
2431
2426
  return "boolean" == typeof e2;
2432
2427
  }
2433
- function Ke(e2, t2) {
2428
+ function Ze(e2, t2) {
2434
2429
  for (var s2 = e2.length - 1; s2 >= 0; s2--) true === t2(e2[s2]) && e2.splice(s2, 1);
2435
2430
  }
2436
- function Ze(e2) {
2431
+ function Xe(e2) {
2437
2432
  throw new Error("Unhandled case for value: '".concat(e2, "'"));
2438
2433
  }
2439
- var Xe = /\s+/, et = (function() {
2434
+ var et = /\s+/, tt = (function() {
2440
2435
  function e2(e3) {
2441
2436
  void 0 === e3 && (e3 = {}), this.tagName = "", this.attrs = {}, this.innerHTML = "", this.tagName = e3.tagName || "", this.attrs = e3.attrs || {}, this.innerHTML = e3.innerHtml || e3.innerHTML || "";
2442
2437
  }
@@ -2455,10 +2450,10 @@ var Xe = /\s+/, et = (function() {
2455
2450
  }, e2.prototype.setClass = function(e3) {
2456
2451
  return this.setAttr("class", e3);
2457
2452
  }, e2.prototype.addClass = function(e3) {
2458
- for (var t2, s2 = this.getClass(), n2 = s2 ? s2.split(Xe) : [], a2 = e3.split(Xe); t2 = a2.shift(); ) -1 === n2.indexOf(t2) && n2.push(t2);
2453
+ for (var t2, s2 = this.getClass(), n2 = s2 ? s2.split(et) : [], a2 = e3.split(et); t2 = a2.shift(); ) -1 === n2.indexOf(t2) && n2.push(t2);
2459
2454
  return this.getAttrs().class = n2.join(" "), this;
2460
2455
  }, e2.prototype.removeClass = function(e3) {
2461
- for (var t2, s2 = this.getClass(), n2 = s2 ? s2.split(Xe) : [], a2 = e3.split(Xe); n2.length && (t2 = a2.shift()); ) {
2456
+ for (var t2, s2 = this.getClass(), n2 = s2 ? s2.split(et) : [], a2 = e3.split(et); n2.length && (t2 = a2.shift()); ) {
2462
2457
  var r2 = n2.indexOf(t2);
2463
2458
  -1 !== r2 && n2.splice(r2, 1);
2464
2459
  }
@@ -2480,24 +2475,24 @@ var Xe = /\s+/, et = (function() {
2480
2475
  return ["<", e3, t2 = t2 ? " " + t2 : "", ">", this.getInnerHtml(), "</", e3, ">"].join("");
2481
2476
  }, e2.prototype.buildAttrsStr = function() {
2482
2477
  var e3 = this.getAttrs(), t2 = [];
2483
- for (var s2 in e3) Qe.call(e3, s2) && t2.push(s2 + '="' + e3[s2] + '"');
2478
+ for (var s2 in e3) Ve.call(e3, s2) && t2.push(s2 + '="' + e3[s2] + '"');
2484
2479
  return t2.join(" ");
2485
2480
  }, e2;
2486
2481
  })();
2487
- function tt(e2) {
2482
+ function st(e2) {
2488
2483
  var t2 = "";
2489
2484
  return e2.scheme && e2.host && (t2 += e2.scheme + "://"), e2.host && (t2 += e2.host), e2.path && (t2 += "/" + e2.path), e2.query && (t2 += "?" + e2.query), e2.fragment && (t2 += "#" + e2.fragment), t2;
2490
2485
  }
2491
- function st(e2, t2, s2) {
2486
+ function nt(e2, t2, s2) {
2492
2487
  var n2 = t2 / 2, a2 = Math.ceil(n2), r2 = -1 * Math.floor(n2), i2 = "";
2493
2488
  return r2 < 0 && (i2 = e2.substr(r2)), e2.substr(0, a2) + s2 + i2;
2494
2489
  }
2495
- var nt = (function() {
2490
+ var at = (function() {
2496
2491
  function e2(e3) {
2497
2492
  void 0 === e3 && (e3 = {}), this.newWindow = false, this.truncate = {}, this.className = "", this.newWindow = e3.newWindow || false, this.truncate = e3.truncate || {}, this.className = e3.className || "";
2498
2493
  }
2499
2494
  return e2.prototype.build = function(e3) {
2500
- return new et({ tagName: "a", attrs: this.createAttrs(e3), innerHtml: this.processAnchorText(e3.getAnchorText()) });
2495
+ return new tt({ tagName: "a", attrs: this.createAttrs(e3), innerHtml: this.processAnchorText(e3.getAnchorText()) });
2501
2496
  }, e2.prototype.createAttrs = function(e3) {
2502
2497
  var t2 = { href: e3.getAnchorHref() }, s2 = this.createCssClass(e3);
2503
2498
  return s2 && (t2.class = s2), this.newWindow && (t2.target = "_blank", t2.rel = "noopener noreferrer"), this.truncate.length && this.truncate.length < e3.getAnchorText().length && (t2.title = e3.getAnchorHref()), t2;
@@ -2523,20 +2518,20 @@ var nt = (function() {
2523
2518
  })(e4);
2524
2519
  if (i2.query) {
2525
2520
  var o2 = i2.query.match(/^(.*?)(?=(\?|#))(.*?)$/i);
2526
- o2 && (i2.query = i2.query.substr(0, o2[1].length), e4 = tt(i2));
2521
+ o2 && (i2.query = i2.query.substr(0, o2[1].length), e4 = st(i2));
2527
2522
  }
2528
2523
  if (e4.length <= t3) return e4;
2529
- if (i2.host && (i2.host = i2.host.replace(/^www\./, ""), e4 = tt(i2)), e4.length <= t3) return e4;
2524
+ if (i2.host && (i2.host = i2.host.replace(/^www\./, ""), e4 = st(i2)), e4.length <= t3) return e4;
2530
2525
  var c2 = "";
2531
- if (i2.host && (c2 += i2.host), c2.length >= r2) return i2.host.length === t3 ? (i2.host.substr(0, t3 - a2) + s3).substr(0, r2 + n3) : st(c2, r2, s3).substr(0, r2 + n3);
2526
+ if (i2.host && (c2 += i2.host), c2.length >= r2) return i2.host.length === t3 ? (i2.host.substr(0, t3 - a2) + s3).substr(0, r2 + n3) : nt(c2, r2, s3).substr(0, r2 + n3);
2532
2527
  var l2 = "";
2533
2528
  if (i2.path && (l2 += "/" + i2.path), i2.query && (l2 += "?" + i2.query), l2) {
2534
- if ((c2 + l2).length >= r2) return (c2 + l2).length == t3 ? (c2 + l2).substr(0, t3) : (c2 + st(l2, r2 - c2.length, s3)).substr(0, r2 + n3);
2529
+ if ((c2 + l2).length >= r2) return (c2 + l2).length == t3 ? (c2 + l2).substr(0, t3) : (c2 + nt(l2, r2 - c2.length, s3)).substr(0, r2 + n3);
2535
2530
  c2 += l2;
2536
2531
  }
2537
2532
  if (i2.fragment) {
2538
2533
  var h2 = "#" + i2.fragment;
2539
- if ((c2 + h2).length >= r2) return (c2 + h2).length == t3 ? (c2 + h2).substr(0, t3) : (c2 + st(h2, r2 - c2.length, s3)).substr(0, r2 + n3);
2534
+ if ((c2 + h2).length >= r2) return (c2 + h2).length == t3 ? (c2 + h2).substr(0, t3) : (c2 + nt(h2, r2 - c2.length, s3)).substr(0, r2 + n3);
2540
2535
  c2 += h2;
2541
2536
  }
2542
2537
  if (i2.scheme && i2.host) {
@@ -2559,7 +2554,7 @@ var nt = (function() {
2559
2554
  })(e4, t3, s3);
2560
2555
  })(e3, s2);
2561
2556
  }, e2;
2562
- })(), at = (function() {
2557
+ })(), rt = (function() {
2563
2558
  function e2(e3) {
2564
2559
  this._ = null, this.matchedText = "", this.offset = 0, this.tagBuilder = e3.tagBuilder, this.matchedText = e3.matchedText, this.offset = e3.offset;
2565
2560
  }
@@ -2575,55 +2570,55 @@ var nt = (function() {
2575
2570
  return this.tagBuilder.build(this);
2576
2571
  }, e2;
2577
2572
  })();
2578
- function rt(e2) {
2573
+ function it(e2) {
2579
2574
  return e2 >= 65 && e2 <= 90 || e2 >= 97 && e2 <= 122;
2580
2575
  }
2581
- function it(e2) {
2576
+ function ot(e2) {
2582
2577
  return e2 >= 48 && e2 <= 57;
2583
2578
  }
2584
- function ot(e2) {
2579
+ function ct(e2) {
2585
2580
  return 34 == e2 || 39 == e2;
2586
2581
  }
2587
- function ct(e2) {
2582
+ function lt(e2) {
2588
2583
  return e2 < 8232 ? e2 < 160 ? e2 >= 9 && e2 <= 13 || 32 == e2 : e2 < 5760 ? 160 == e2 : 5760 == e2 || e2 >= 8192 && e2 <= 8202 : e2 < 8287 ? e2 >= 8232 && e2 <= 8233 || 8239 == e2 : e2 < 12288 ? 8287 == e2 : 12288 == e2 || 65279 == e2;
2589
2584
  }
2590
- function lt(e2) {
2585
+ function ht(e2) {
2591
2586
  return e2 < 4800 ? e2 < 2949 ? e2 < 2451 ? e2 < 1425 ? e2 < 768 ? e2 < 192 ? e2 < 169 ? e2 < 65 ? e2 >= 48 && e2 <= 57 : e2 >= 65 && e2 <= 90 || e2 >= 97 && e2 <= 122 : e2 < 181 ? e2 >= 169 && e2 <= 170 || 174 == e2 : 181 == e2 || 186 == e2 : e2 < 710 ? e2 < 216 ? e2 >= 192 && e2 <= 214 : e2 >= 216 && e2 <= 246 || e2 >= 248 && e2 <= 705 : e2 < 748 ? e2 >= 710 && e2 <= 721 || e2 >= 736 && e2 <= 740 : 748 == e2 || 750 == e2 : e2 < 910 ? e2 < 895 ? e2 < 886 ? e2 >= 768 && e2 <= 884 : e2 >= 886 && e2 <= 887 || e2 >= 890 && e2 <= 893 : e2 < 904 ? 895 == e2 || 902 == e2 : e2 >= 904 && e2 <= 906 || 908 == e2 : e2 < 1155 ? e2 < 931 ? e2 >= 910 && e2 <= 929 : e2 >= 931 && e2 <= 1013 || e2 >= 1015 && e2 <= 1153 : e2 < 1369 ? e2 >= 1155 && e2 <= 1327 || e2 >= 1329 && e2 <= 1366 : 1369 == e2 || e2 >= 1377 && e2 <= 1415 : e2 < 1808 ? e2 < 1552 ? e2 < 1476 ? e2 < 1471 ? e2 >= 1425 && e2 <= 1469 : 1471 == e2 || e2 >= 1473 && e2 <= 1474 : e2 < 1488 ? e2 >= 1476 && e2 <= 1477 || 1479 == e2 : e2 >= 1488 && e2 <= 1514 || e2 >= 1520 && e2 <= 1522 : e2 < 1749 ? e2 < 1568 ? e2 >= 1552 && e2 <= 1562 : e2 >= 1568 && e2 <= 1641 || e2 >= 1646 && e2 <= 1747 : e2 < 1770 ? e2 >= 1749 && e2 <= 1756 || e2 >= 1759 && e2 <= 1768 : e2 >= 1770 && e2 <= 1788 || 1791 == e2 : e2 < 2230 ? e2 < 2042 ? e2 < 1869 ? e2 >= 1808 && e2 <= 1866 : e2 >= 1869 && e2 <= 1969 || e2 >= 1984 && e2 <= 2037 : e2 < 2112 ? 2042 == e2 || e2 >= 2048 && e2 <= 2093 : e2 >= 2112 && e2 <= 2139 || e2 >= 2208 && e2 <= 2228 : e2 < 2406 ? e2 < 2260 ? e2 >= 2230 && e2 <= 2237 : e2 >= 2260 && e2 <= 2273 || e2 >= 2275 && e2 <= 2403 : e2 < 2437 ? e2 >= 2406 && e2 <= 2415 || e2 >= 2417 && e2 <= 2435 : e2 >= 2437 && e2 <= 2444 || e2 >= 2447 && e2 <= 2448 : e2 < 2693 ? e2 < 2579 ? e2 < 2519 ? e2 < 2486 ? e2 < 2474 ? e2 >= 2451 && e2 <= 2472 : e2 >= 2474 && e2 <= 2480 || 2482 == e2 : e2 < 2503 ? e2 >= 2486 && e2 <= 2489 || e2 >= 2492 && e2 <= 2500 : e2 >= 2503 && e2 <= 2504 || e2 >= 2507 && e2 <= 2510 : e2 < 2534 ? e2 < 2524 ? 2519 == e2 : e2 >= 2524 && e2 <= 2525 || e2 >= 2527 && e2 <= 2531 : e2 < 2565 ? e2 >= 2534 && e2 <= 2545 || e2 >= 2561 && e2 <= 2563 : e2 >= 2565 && e2 <= 2570 || e2 >= 2575 && e2 <= 2576 : e2 < 2631 ? e2 < 2613 ? e2 < 2602 ? e2 >= 2579 && e2 <= 2600 : e2 >= 2602 && e2 <= 2608 || e2 >= 2610 && e2 <= 2611 : e2 < 2620 ? e2 >= 2613 && e2 <= 2614 || e2 >= 2616 && e2 <= 2617 : 2620 == e2 || e2 >= 2622 && e2 <= 2626 : e2 < 2649 ? e2 < 2635 ? e2 >= 2631 && e2 <= 2632 : e2 >= 2635 && e2 <= 2637 || 2641 == e2 : e2 < 2662 ? e2 >= 2649 && e2 <= 2652 || 2654 == e2 : e2 >= 2662 && e2 <= 2677 || e2 >= 2689 && e2 <= 2691 : e2 < 2821 ? e2 < 2759 ? e2 < 2730 ? e2 < 2703 ? e2 >= 2693 && e2 <= 2701 : e2 >= 2703 && e2 <= 2705 || e2 >= 2707 && e2 <= 2728 : e2 < 2741 ? e2 >= 2730 && e2 <= 2736 || e2 >= 2738 && e2 <= 2739 : e2 >= 2741 && e2 <= 2745 || e2 >= 2748 && e2 <= 2757 : e2 < 2784 ? e2 < 2763 ? e2 >= 2759 && e2 <= 2761 : e2 >= 2763 && e2 <= 2765 || 2768 == e2 : e2 < 2809 ? e2 >= 2784 && e2 <= 2787 || e2 >= 2790 && e2 <= 2799 : 2809 == e2 || e2 >= 2817 && e2 <= 2819 : e2 < 2887 ? e2 < 2858 ? e2 < 2831 ? e2 >= 2821 && e2 <= 2828 : e2 >= 2831 && e2 <= 2832 || e2 >= 2835 && e2 <= 2856 : e2 < 2869 ? e2 >= 2858 && e2 <= 2864 || e2 >= 2866 && e2 <= 2867 : e2 >= 2869 && e2 <= 2873 || e2 >= 2876 && e2 <= 2884 : e2 < 2911 ? e2 < 2902 ? e2 >= 2887 && e2 <= 2888 || e2 >= 2891 && e2 <= 2893 : e2 >= 2902 && e2 <= 2903 || e2 >= 2908 && e2 <= 2909 : e2 < 2929 ? e2 >= 2911 && e2 <= 2915 || e2 >= 2918 && e2 <= 2927 : 2929 == e2 || e2 >= 2946 && e2 <= 2947 : e2 < 3517 ? e2 < 3205 ? e2 < 3046 ? e2 < 2984 ? e2 < 2969 ? e2 < 2958 ? e2 >= 2949 && e2 <= 2954 : e2 >= 2958 && e2 <= 2960 || e2 >= 2962 && e2 <= 2965 : e2 < 2974 ? e2 >= 2969 && e2 <= 2970 || 2972 == e2 : e2 >= 2974 && e2 <= 2975 || e2 >= 2979 && e2 <= 2980 : e2 < 3014 ? e2 < 2990 ? e2 >= 2984 && e2 <= 2986 : e2 >= 2990 && e2 <= 3001 || e2 >= 3006 && e2 <= 3010 : e2 < 3024 ? e2 >= 3014 && e2 <= 3016 || e2 >= 3018 && e2 <= 3021 : 3024 == e2 || 3031 == e2 : e2 < 3142 ? e2 < 3086 ? e2 < 3072 ? e2 >= 3046 && e2 <= 3055 : e2 >= 3072 && e2 <= 3075 || e2 >= 3077 && e2 <= 3084 : e2 < 3114 ? e2 >= 3086 && e2 <= 3088 || e2 >= 3090 && e2 <= 3112 : e2 >= 3114 && e2 <= 3129 || e2 >= 3133 && e2 <= 3140 : e2 < 3160 ? e2 < 3146 ? e2 >= 3142 && e2 <= 3144 : e2 >= 3146 && e2 <= 3149 || e2 >= 3157 && e2 <= 3158 : e2 < 3174 ? e2 >= 3160 && e2 <= 3162 || e2 >= 3168 && e2 <= 3171 : e2 >= 3174 && e2 <= 3183 || e2 >= 3200 && e2 <= 3203 : e2 < 3333 ? e2 < 3274 ? e2 < 3242 ? e2 < 3214 ? e2 >= 3205 && e2 <= 3212 : e2 >= 3214 && e2 <= 3216 || e2 >= 3218 && e2 <= 3240 : e2 < 3260 ? e2 >= 3242 && e2 <= 3251 || e2 >= 3253 && e2 <= 3257 : e2 >= 3260 && e2 <= 3268 || e2 >= 3270 && e2 <= 3272 : e2 < 3296 ? e2 < 3285 ? e2 >= 3274 && e2 <= 3277 : e2 >= 3285 && e2 <= 3286 || 3294 == e2 : e2 < 3313 ? e2 >= 3296 && e2 <= 3299 || e2 >= 3302 && e2 <= 3311 : e2 >= 3313 && e2 <= 3314 || e2 >= 3329 && e2 <= 3331 : e2 < 3423 ? e2 < 3389 ? e2 < 3342 ? e2 >= 3333 && e2 <= 3340 : e2 >= 3342 && e2 <= 3344 || e2 >= 3346 && e2 <= 3386 : e2 < 3402 ? e2 >= 3389 && e2 <= 3396 || e2 >= 3398 && e2 <= 3400 : e2 >= 3402 && e2 <= 3406 || e2 >= 3412 && e2 <= 3415 : e2 < 3458 ? e2 < 3430 ? e2 >= 3423 && e2 <= 3427 : e2 >= 3430 && e2 <= 3439 || e2 >= 3450 && e2 <= 3455 : e2 < 3482 ? e2 >= 3458 && e2 <= 3459 || e2 >= 3461 && e2 <= 3478 : e2 >= 3482 && e2 <= 3505 || e2 >= 3507 && e2 <= 3515 : e2 < 3804 ? e2 < 3722 ? e2 < 3570 ? e2 < 3535 ? e2 < 3520 ? 3517 == e2 : e2 >= 3520 && e2 <= 3526 || 3530 == e2 : e2 < 3544 ? e2 >= 3535 && e2 <= 3540 || 3542 == e2 : e2 >= 3544 && e2 <= 3551 || e2 >= 3558 && e2 <= 3567 : e2 < 3664 ? e2 < 3585 ? e2 >= 3570 && e2 <= 3571 : e2 >= 3585 && e2 <= 3642 || e2 >= 3648 && e2 <= 3662 : e2 < 3716 ? e2 >= 3664 && e2 <= 3673 || e2 >= 3713 && e2 <= 3714 : 3716 == e2 || e2 >= 3719 && e2 <= 3720 : e2 < 3754 ? e2 < 3737 ? e2 < 3725 ? 3722 == e2 : 3725 == e2 || e2 >= 3732 && e2 <= 3735 : e2 < 3749 ? e2 >= 3737 && e2 <= 3743 || e2 >= 3745 && e2 <= 3747 : 3749 == e2 || 3751 == e2 : e2 < 3776 ? e2 < 3757 ? e2 >= 3754 && e2 <= 3755 : e2 >= 3757 && e2 <= 3769 || e2 >= 3771 && e2 <= 3773 : e2 < 3784 ? e2 >= 3776 && e2 <= 3780 || 3782 == e2 : e2 >= 3784 && e2 <= 3789 || e2 >= 3792 && e2 <= 3801 : e2 < 4176 ? e2 < 3902 ? e2 < 3872 ? e2 < 3840 ? e2 >= 3804 && e2 <= 3807 : 3840 == e2 || e2 >= 3864 && e2 <= 3865 : e2 < 3895 ? e2 >= 3872 && e2 <= 3881 || 3893 == e2 : 3895 == e2 || 3897 == e2 : e2 < 3974 ? e2 < 3913 ? e2 >= 3902 && e2 <= 3911 : e2 >= 3913 && e2 <= 3948 || e2 >= 3953 && e2 <= 3972 : e2 < 4038 ? e2 >= 3974 && e2 <= 3991 || e2 >= 3993 && e2 <= 4028 : 4038 == e2 || e2 >= 4096 && e2 <= 4169 : e2 < 4688 ? e2 < 4301 ? e2 < 4256 ? e2 >= 4176 && e2 <= 4253 : e2 >= 4256 && e2 <= 4293 || 4295 == e2 : e2 < 4348 ? 4301 == e2 || e2 >= 4304 && e2 <= 4346 : e2 >= 4348 && e2 <= 4680 || e2 >= 4682 && e2 <= 4685 : e2 < 4746 ? e2 < 4698 ? e2 >= 4688 && e2 <= 4694 || 4696 == e2 : e2 >= 4698 && e2 <= 4701 || e2 >= 4704 && e2 <= 4744 : e2 < 4786 ? e2 >= 4746 && e2 <= 4749 || e2 >= 4752 && e2 <= 4784 : e2 >= 4786 && e2 <= 4789 || e2 >= 4792 && e2 <= 4798 : e2 < 11035 ? e2 < 7416 ? e2 < 6176 ? e2 < 5873 ? e2 < 4992 ? e2 < 4824 ? e2 < 4802 ? 4800 == e2 : e2 >= 4802 && e2 <= 4805 || e2 >= 4808 && e2 <= 4822 : e2 < 4888 ? e2 >= 4824 && e2 <= 4880 || e2 >= 4882 && e2 <= 4885 : e2 >= 4888 && e2 <= 4954 || e2 >= 4957 && e2 <= 4959 : e2 < 5121 ? e2 < 5024 ? e2 >= 4992 && e2 <= 5007 : e2 >= 5024 && e2 <= 5109 || e2 >= 5112 && e2 <= 5117 : e2 < 5761 ? e2 >= 5121 && e2 <= 5740 || e2 >= 5743 && e2 <= 5759 : e2 >= 5761 && e2 <= 5786 || e2 >= 5792 && e2 <= 5866 : e2 < 6002 ? e2 < 5920 ? e2 < 5888 ? e2 >= 5873 && e2 <= 5880 : e2 >= 5888 && e2 <= 5900 || e2 >= 5902 && e2 <= 5908 : e2 < 5984 ? e2 >= 5920 && e2 <= 5940 || e2 >= 5952 && e2 <= 5971 : e2 >= 5984 && e2 <= 5996 || e2 >= 5998 && e2 <= 6e3 : e2 < 6108 ? e2 < 6016 ? e2 >= 6002 && e2 <= 6003 : e2 >= 6016 && e2 <= 6099 || 6103 == e2 : e2 < 6155 ? e2 >= 6108 && e2 <= 6109 || e2 >= 6112 && e2 <= 6121 : e2 >= 6155 && e2 <= 6157 || e2 >= 6160 && e2 <= 6169 : e2 < 6783 ? e2 < 6512 ? e2 < 6400 ? e2 < 6272 ? e2 >= 6176 && e2 <= 6263 : e2 >= 6272 && e2 <= 6314 || e2 >= 6320 && e2 <= 6389 : e2 < 6448 ? e2 >= 6400 && e2 <= 6430 || e2 >= 6432 && e2 <= 6443 : e2 >= 6448 && e2 <= 6459 || e2 >= 6470 && e2 <= 6509 : e2 < 6608 ? e2 < 6528 ? e2 >= 6512 && e2 <= 6516 : e2 >= 6528 && e2 <= 6571 || e2 >= 6576 && e2 <= 6601 : e2 < 6688 ? e2 >= 6608 && e2 <= 6617 || e2 >= 6656 && e2 <= 6683 : e2 >= 6688 && e2 <= 6750 || e2 >= 6752 && e2 <= 6780 : e2 < 7040 ? e2 < 6832 ? e2 < 6800 ? e2 >= 6783 && e2 <= 6793 : e2 >= 6800 && e2 <= 6809 || 6823 == e2 : e2 < 6992 ? e2 >= 6832 && e2 <= 6846 || e2 >= 6912 && e2 <= 6987 : e2 >= 6992 && e2 <= 7001 || e2 >= 7019 && e2 <= 7027 : e2 < 7245 ? e2 < 7168 ? e2 >= 7040 && e2 <= 7155 : e2 >= 7168 && e2 <= 7223 || e2 >= 7232 && e2 <= 7241 : e2 < 7376 ? e2 >= 7245 && e2 <= 7293 || e2 >= 7296 && e2 <= 7304 : e2 >= 7376 && e2 <= 7378 || e2 >= 7380 && e2 <= 7414 : e2 < 8450 ? e2 < 8130 ? e2 < 8025 ? e2 < 7960 ? e2 < 7424 ? e2 >= 7416 && e2 <= 7417 : e2 >= 7424 && e2 <= 7669 || e2 >= 7675 && e2 <= 7957 : e2 < 8008 ? e2 >= 7960 && e2 <= 7965 || e2 >= 7968 && e2 <= 8005 : e2 >= 8008 && e2 <= 8013 || e2 >= 8016 && e2 <= 8023 : e2 < 8031 ? e2 < 8027 ? 8025 == e2 : 8027 == e2 || 8029 == e2 : e2 < 8118 ? e2 >= 8031 && e2 <= 8061 || e2 >= 8064 && e2 <= 8116 : e2 >= 8118 && e2 <= 8124 || 8126 == e2 : e2 < 8205 ? e2 < 8150 ? e2 < 8134 ? e2 >= 8130 && e2 <= 8132 : e2 >= 8134 && e2 <= 8140 || e2 >= 8144 && e2 <= 8147 : e2 < 8178 ? e2 >= 8150 && e2 <= 8155 || e2 >= 8160 && e2 <= 8172 : e2 >= 8178 && e2 <= 8180 || e2 >= 8182 && e2 <= 8188 : e2 < 8305 ? e2 < 8252 ? 8205 == e2 : 8252 == e2 || 8265 == e2 : e2 < 8336 ? 8305 == e2 || 8319 == e2 : e2 >= 8336 && e2 <= 8348 || e2 >= 8400 && e2 <= 8432 : e2 < 8579 ? e2 < 8486 ? e2 < 8469 ? e2 < 8455 ? 8450 == e2 : 8455 == e2 || e2 >= 8458 && e2 <= 8467 : e2 < 8482 ? 8469 == e2 || e2 >= 8473 && e2 <= 8477 : 8482 == e2 || 8484 == e2 : e2 < 8495 ? e2 < 8488 ? 8486 == e2 : 8488 == e2 || e2 >= 8490 && e2 <= 8493 : e2 < 8517 ? e2 >= 8495 && e2 <= 8505 || e2 >= 8508 && e2 <= 8511 : e2 >= 8517 && e2 <= 8521 || 8526 == e2 : e2 < 9410 ? e2 < 9e3 ? e2 < 8592 ? e2 >= 8579 && e2 <= 8580 : e2 >= 8592 && e2 <= 8703 || e2 >= 8986 && e2 <= 8987 : e2 < 9193 ? 9e3 == e2 || 9167 == e2 : e2 >= 9193 && e2 <= 9203 || e2 >= 9208 && e2 <= 9210 : e2 < 9723 ? e2 < 9654 ? 9410 == e2 || e2 >= 9642 && e2 <= 9643 : 9654 == e2 || 9664 == e2 : e2 < 10548 ? e2 >= 9723 && e2 <= 9726 || e2 >= 9728 && e2 <= 10175 : e2 >= 10548 && e2 <= 10549 || e2 >= 11013 && e2 <= 11015 : e2 < 43259 ? e2 < 12445 ? e2 < 11688 ? e2 < 11520 ? e2 < 11264 ? e2 < 11088 ? e2 >= 11035 && e2 <= 11036 : 11088 == e2 || 11093 == e2 : e2 < 11360 ? e2 >= 11264 && e2 <= 11310 || e2 >= 11312 && e2 <= 11358 : e2 >= 11360 && e2 <= 11492 || e2 >= 11499 && e2 <= 11507 : e2 < 11568 ? e2 < 11559 ? e2 >= 11520 && e2 <= 11557 : 11559 == e2 || 11565 == e2 : e2 < 11647 ? e2 >= 11568 && e2 <= 11623 || 11631 == e2 : e2 >= 11647 && e2 <= 11670 || e2 >= 11680 && e2 <= 11686 : e2 < 11744 ? e2 < 11712 ? e2 < 11696 ? e2 >= 11688 && e2 <= 11694 : e2 >= 11696 && e2 <= 11702 || e2 >= 11704 && e2 <= 11710 : e2 < 11728 ? e2 >= 11712 && e2 <= 11718 || e2 >= 11720 && e2 <= 11726 : e2 >= 11728 && e2 <= 11734 || e2 >= 11736 && e2 <= 11742 : e2 < 12330 ? e2 < 11823 ? e2 >= 11744 && e2 <= 11775 : 11823 == e2 || e2 >= 12293 && e2 <= 12294 : e2 < 12353 ? e2 >= 12330 && e2 <= 12341 || e2 >= 12347 && e2 <= 12349 : e2 >= 12353 && e2 <= 12438 || e2 >= 12441 && e2 <= 12442 : e2 < 42512 ? e2 < 12951 ? e2 < 12549 ? e2 < 12449 ? e2 >= 12445 && e2 <= 12447 : e2 >= 12449 && e2 <= 12538 || e2 >= 12540 && e2 <= 12543 : e2 < 12704 ? e2 >= 12549 && e2 <= 12589 || e2 >= 12593 && e2 <= 12686 : e2 >= 12704 && e2 <= 12730 || e2 >= 12784 && e2 <= 12799 : e2 < 19968 ? e2 < 12953 ? 12951 == e2 : 12953 == e2 || e2 >= 13312 && e2 <= 19893 : e2 < 42192 ? e2 >= 19968 && e2 <= 40917 || e2 >= 40960 && e2 <= 42124 : e2 >= 42192 && e2 <= 42237 || e2 >= 42240 && e2 <= 42508 : e2 < 42891 ? e2 < 42623 ? e2 < 42560 ? e2 >= 42512 && e2 <= 42539 : e2 >= 42560 && e2 <= 42610 || e2 >= 42612 && e2 <= 42621 : e2 < 42775 ? e2 >= 42623 && e2 <= 42725 || e2 >= 42736 && e2 <= 42737 : e2 >= 42775 && e2 <= 42783 || e2 >= 42786 && e2 <= 42888 : e2 < 43072 ? e2 < 42928 ? e2 >= 42891 && e2 <= 42926 : e2 >= 42928 && e2 <= 42935 || e2 >= 42999 && e2 <= 43047 : e2 < 43216 ? e2 >= 43072 && e2 <= 43123 || e2 >= 43136 && e2 <= 43205 : e2 >= 43216 && e2 <= 43225 || e2 >= 43232 && e2 <= 43255 : e2 < 55243 ? e2 < 43744 ? e2 < 43488 ? e2 < 43312 ? e2 < 43261 ? 43259 == e2 : 43261 == e2 || e2 >= 43264 && e2 <= 43309 : e2 < 43392 ? e2 >= 43312 && e2 <= 43347 || e2 >= 43360 && e2 <= 43388 : e2 >= 43392 && e2 <= 43456 || e2 >= 43471 && e2 <= 43481 : e2 < 43600 ? e2 < 43520 ? e2 >= 43488 && e2 <= 43518 : e2 >= 43520 && e2 <= 43574 || e2 >= 43584 && e2 <= 43597 : e2 < 43642 ? e2 >= 43600 && e2 <= 43609 || e2 >= 43616 && e2 <= 43638 : e2 >= 43642 && e2 <= 43714 || e2 >= 43739 && e2 <= 43741 : e2 < 43824 ? e2 < 43785 ? e2 < 43762 ? e2 >= 43744 && e2 <= 43759 : e2 >= 43762 && e2 <= 43766 || e2 >= 43777 && e2 <= 43782 : e2 < 43808 ? e2 >= 43785 && e2 <= 43790 || e2 >= 43793 && e2 <= 43798 : e2 >= 43808 && e2 <= 43814 || e2 >= 43816 && e2 <= 43822 : e2 < 44012 ? e2 < 43868 ? e2 >= 43824 && e2 <= 43866 : e2 >= 43868 && e2 <= 43877 || e2 >= 43888 && e2 <= 44010 : e2 < 44032 ? e2 >= 44012 && e2 <= 44013 || e2 >= 44016 && e2 <= 44025 : e2 >= 44032 && e2 <= 55203 || e2 >= 55216 && e2 <= 55238 : e2 < 64848 ? e2 < 64298 ? e2 < 64112 ? e2 < 55296 ? e2 >= 55243 && e2 <= 55291 : e2 >= 55296 && e2 <= 57343 || e2 >= 63744 && e2 <= 64109 : e2 < 64275 ? e2 >= 64112 && e2 <= 64217 || e2 >= 64256 && e2 <= 64262 : e2 >= 64275 && e2 <= 64279 || e2 >= 64285 && e2 <= 64296 : e2 < 64320 ? e2 < 64312 ? e2 >= 64298 && e2 <= 64310 : e2 >= 64312 && e2 <= 64316 || 64318 == e2 : e2 < 64326 ? e2 >= 64320 && e2 <= 64321 || e2 >= 64323 && e2 <= 64324 : e2 >= 64326 && e2 <= 64433 || e2 >= 64467 && e2 <= 64829 : e2 < 65296 ? e2 < 65024 ? e2 < 64914 ? e2 >= 64848 && e2 <= 64911 : e2 >= 64914 && e2 <= 64967 || e2 >= 65008 && e2 <= 65019 : e2 < 65136 ? e2 >= 65024 && e2 <= 65039 || e2 >= 65056 && e2 <= 65071 : e2 >= 65136 && e2 <= 65140 || e2 >= 65142 && e2 <= 65276 : e2 < 65474 ? e2 < 65345 ? e2 >= 65296 && e2 <= 65305 || e2 >= 65313 && e2 <= 65338 : e2 >= 65345 && e2 <= 65370 || e2 >= 65382 && e2 <= 65470 : e2 < 65490 ? e2 >= 65474 && e2 <= 65479 || e2 >= 65482 && e2 <= 65487 : e2 >= 65490 && e2 <= 65495 || e2 >= 65498 && e2 <= 65500;
2592
2587
  }
2593
- function ht(e2) {
2588
+ function ut(e2) {
2594
2589
  return e2 < 58 ? e2 < 44 ? 33 == e2 : 44 == e2 || 46 == e2 : e2 < 63 ? e2 >= 58 && e2 <= 59 : 63 == e2 || 94 == e2;
2595
2590
  }
2596
- function ut(e2) {
2591
+ function dt(e2) {
2597
2592
  return e2 < 91 ? 40 == e2 : 91 == e2 || 123 == e2;
2598
2593
  }
2599
- function dt(e2) {
2594
+ function pt(e2) {
2600
2595
  return e2 < 93 ? 41 == e2 : 93 == e2 || 125 == e2;
2601
2596
  }
2602
- var pt = /^(?:xn--vermgensberatung-pwb|xn--vermgensberater-ctb|xn--clchc0ea0b2g2a9gcd|xn--w4r85el8fhu5dnra|travelersinsurance|vermögensberatung|xn--5su34j936bgsg|xn--bck1b9a5dre4c|xn--mgbah1a3hjkrd|xn--mgbai9azgqp6j|xn--mgberp4a5d4ar|xn--xkc2dl3a5ee0h|vermögensberater|xn--fzys8d69uvgm|xn--mgba7c0bbn0a|xn--mgbcpq6gpa1a|xn--xkc2al3hye2a|americanexpress|kerryproperties|sandvikcoromant|xn--i1b6b1a6a2e|xn--kcrx77d1x4a|xn--lgbbat1ad8j|xn--mgba3a4f16a|xn--mgbc0a9azcg|xn--nqv7fs00ema|americanfamily|weatherchannel|xn--54b7fta0cc|xn--6qq986b3xl|xn--80aqecdr1a|xn--b4w605ferd|xn--fiq228c5hs|xn--h2breg3eve|xn--jlq480n2rg|xn--mgba3a3ejt|xn--mgbaam7a8h|xn--mgbayh7gpa|xn--mgbbh1a71e|xn--mgbca7dzdo|xn--mgbi4ecexp|xn--mgbx4cd0ab|xn--rvc1e0am3e|international|lifeinsurance|wolterskluwer|xn--cckwcxetd|xn--eckvdtc9d|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--h2brj9c8c|xn--tiq49xqyj|xn--yfro4i67o|xn--ygbi2ammx|construction|lplfinancial|scholarships|versicherung|xn--3e0b707e|xn--45br5cyl|xn--4dbrk0ce|xn--80adxhks|xn--80asehdb|xn--8y0a063a|xn--gckr3f0f|xn--mgb9awbf|xn--mgbab2bd|xn--mgbgu82a|xn--mgbpl2fh|xn--mgbt3dhd|xn--mk1bu44c|xn--ngbc5azd|xn--ngbe9e0a|xn--ogbpf8fl|xn--qcka1pmc|accountants|barclaycard|blackfriday|blockbuster|bridgestone|calvinklein|contractors|creditunion|engineering|enterprises|investments|kerryhotels|lamborghini|motorcycles|olayangroup|photography|playstation|productions|progressive|redumbrella|williamhill|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--3bst00m|xn--3ds443g|xn--3hcrj9c|xn--42c2d9a|xn--45brj9c|xn--55qw42g|xn--6frz82g|xn--80ao21a|xn--9krt00a|xn--cck2b3b|xn--czr694b|xn--d1acj3b|xn--efvy88h|xn--fct429k|xn--fjq720a|xn--flw351e|xn--g2xx48c|xn--gecrj9c|xn--gk3at1e|xn--h2brj9c|xn--hxt814e|xn--imr513n|xn--j6w193g|xn--jvr189m|xn--kprw13d|xn--kpry57d|xn--mgbbh1a|xn--mgbtx2b|xn--mix891f|xn--nyqy26a|xn--otu796d|xn--pgbs0dh|xn--q9jyb4c|xn--rhqv96g|xn--rovu88b|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--vuq861b|xn--w4rs40l|xn--xhq521b|xn--zfr164b|சிங்கப்பூர்|accountant|apartments|associates|basketball|bnpparibas|boehringer|capitalone|consulting|creditcard|cuisinella|eurovision|extraspace|foundation|healthcare|immobilien|industries|management|mitsubishi|nextdirect|properties|protection|prudential|realestate|republican|restaurant|schaeffler|tatamotors|technology|university|vlaanderen|xn--30rr7y|xn--3pxu8k|xn--45q11c|xn--4gbrim|xn--55qx5d|xn--5tzm5g|xn--80aswg|xn--90a3ac|xn--9dbq2a|xn--9et52u|xn--c2br7g|xn--cg4bki|xn--czrs0t|xn--czru2d|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--io0a7i|xn--kput3i|xn--mxtq1m|xn--o3cw4h|xn--pssy2u|xn--q7ce6a|xn--unup4y|xn--wgbh1c|xn--wgbl6a|xn--y9a3aq|accenture|allfinanz|amsterdam|analytics|aquarelle|barcelona|bloomberg|christmas|community|directory|education|equipment|fairwinds|financial|firestone|fresenius|furniture|goldpoint|hisamitsu|homedepot|homegoods|homesense|institute|insurance|kuokgroup|landrover|lifestyle|marketing|marshalls|melbourne|microsoft|panasonic|pramerica|richardli|shangrila|solutions|statebank|statefarm|stockholm|travelers|vacations|xn--90ais|xn--c1avg|xn--d1alf|xn--e1a4c|xn--fhbei|xn--j1aef|xn--j1amh|xn--l1acc|xn--ngbrx|xn--nqv7f|xn--p1acf|xn--qxa6a|xn--tckwe|xn--vhquv|yodobashi|موريتانيا|abudhabi|airforce|allstate|attorney|barclays|barefoot|bargains|baseball|boutique|bradesco|broadway|brussels|builders|business|capetown|catering|catholic|cipriani|cleaning|clinique|clothing|commbank|computer|delivery|deloitte|democrat|diamonds|discount|discover|download|engineer|ericsson|exchange|feedback|fidelity|firmdale|football|frontier|goodyear|grainger|graphics|hdfcbank|helsinki|holdings|hospital|infiniti|ipiranga|istanbul|jpmorgan|lighting|lundbeck|marriott|mckinsey|memorial|merckmsd|mortgage|observer|partners|pharmacy|pictures|plumbing|property|redstone|reliance|saarland|samsclub|security|services|shopping|softbank|software|stcgroup|supplies|training|vanguard|ventures|verisign|woodside|xn--90ae|xn--node|xn--p1ai|xn--qxam|yokohama|السعودية|abogado|academy|agakhan|alibaba|android|athleta|auction|audible|auspost|banamex|bauhaus|bestbuy|booking|brother|capital|caravan|careers|channel|charity|chintai|citadel|clubmed|college|cologne|company|compare|contact|cooking|corsica|country|coupons|courses|cricket|cruises|dentist|digital|domains|exposed|express|farmers|fashion|ferrari|ferrero|finance|fishing|fitness|flights|florist|flowers|forsale|frogans|fujitsu|gallery|genting|godaddy|grocery|guitars|hamburg|hangout|hitachi|holiday|hosting|hotmail|hyundai|ismaili|jewelry|juniper|kitchen|komatsu|lacaixa|lanxess|lasalle|latrobe|leclerc|limited|lincoln|markets|monster|netbank|netflix|network|neustar|okinawa|organic|origins|philips|pioneer|politie|realtor|recipes|rentals|reviews|rexroth|samsung|sandvik|schmidt|schwarz|science|shiksha|singles|staples|storage|support|surgery|systems|temasek|theater|theatre|tickets|toshiba|trading|walmart|wanggou|watches|weather|website|wedding|whoswho|windows|winners|yamaxun|youtube|zuerich|католик|البحرين|الجزائر|العليان|پاکستان|كاثوليك|இந்தியா|abbott|abbvie|africa|agency|airbus|airtel|alipay|alsace|alstom|amazon|anquan|aramco|author|bayern|beauty|berlin|bharti|bostik|boston|broker|camera|career|casino|center|chanel|chrome|church|circle|claims|clinic|coffee|comsec|condos|coupon|credit|cruise|dating|datsun|dealer|degree|dental|design|direct|doctor|dunlop|dupont|durban|emerck|energy|estate|events|expert|family|flickr|futbol|gallup|garden|george|giving|global|google|gratis|health|hermes|hiphop|hockey|hotels|hughes|imamat|insure|intuit|jaguar|joburg|juegos|kaufen|kindle|kosher|latino|lawyer|lefrak|living|locker|london|luxury|madrid|maison|makeup|market|mattel|mobile|monash|mormon|moscow|museum|nagoya|nissan|nissay|norton|nowruz|office|olayan|online|oracle|orange|otsuka|pfizer|photos|physio|pictet|quebec|racing|realty|reisen|repair|report|review|rogers|ryukyu|safety|sakura|sanofi|school|schule|search|secure|select|shouji|soccer|social|stream|studio|supply|suzuki|swatch|sydney|taipei|taobao|target|tattoo|tennis|tienda|tjmaxx|tkmaxx|toyota|travel|unicom|viajes|viking|villas|virgin|vision|voting|voyage|walter|webcam|xihuan|yachts|yandex|zappos|москва|онлайн|ابوظبي|ارامكو|الاردن|المغرب|امارات|فلسطين|مليسيا|भारतम्|இலங்கை|ファッション|actor|adult|aetna|amfam|amica|apple|archi|audio|autos|azure|baidu|beats|bible|bingo|black|boats|bosch|build|canon|cards|chase|cheap|cisco|citic|click|cloud|coach|codes|crown|cymru|dance|deals|delta|drive|dubai|earth|edeka|email|epson|faith|fedex|final|forex|forum|gallo|games|gifts|gives|glass|globo|gmail|green|gripe|group|gucci|guide|homes|honda|horse|house|hyatt|ikano|irish|jetzt|koeln|kyoto|lamer|lease|legal|lexus|lilly|loans|locus|lotte|lotto|mango|media|miami|money|movie|music|nexus|nikon|ninja|nokia|nowtv|omega|osaka|paris|parts|party|phone|photo|pizza|place|poker|praxi|press|prime|promo|quest|radio|rehab|reise|ricoh|rocks|rodeo|rugby|salon|sener|seven|sharp|shell|shoes|skype|sling|smart|smile|solar|space|sport|stada|store|study|style|sucks|swiss|tatar|tires|tirol|tmall|today|tokyo|tools|toray|total|tours|trade|trust|tunes|tushu|ubank|vegas|video|vodka|volvo|wales|watch|weber|weibo|works|world|xerox|yahoo|ישראל|ایران|بازار|بھارت|سودان|سورية|همراه|भारोत|संगठन|বাংলা|భారత్|ഭാരതം|嘉里大酒店|aarp|able|aero|akdn|ally|amex|arab|army|arpa|arte|asda|asia|audi|auto|baby|band|bank|bbva|beer|best|bike|bing|blog|blue|bofa|bond|book|buzz|cafe|call|camp|care|cars|casa|case|cash|cbre|cern|chat|citi|city|club|cool|coop|cyou|data|date|dclk|deal|dell|desi|diet|dish|docs|dvag|erni|fage|fail|fans|farm|fast|fido|film|fire|fish|flir|food|ford|free|fund|game|gbiz|gent|ggee|gift|gmbh|gold|golf|goog|guge|guru|hair|haus|hdfc|help|here|host|hsbc|icbc|ieee|imdb|immo|info|itau|java|jeep|jobs|jprs|kddi|kids|kiwi|kpmg|kred|land|lego|lgbt|lidl|life|like|limo|link|live|loan|love|ltda|luxe|maif|meet|meme|menu|mini|mint|mobi|moda|moto|name|navy|news|next|nico|nike|ollo|open|page|pars|pccw|pics|ping|pink|play|plus|pohl|porn|post|prod|prof|qpon|read|reit|rent|rest|rich|room|rsvp|ruhr|safe|sale|sarl|save|saxo|scot|seat|seek|sexy|shia|shop|show|silk|sina|site|skin|sncf|sohu|song|sony|spot|star|surf|talk|taxi|team|tech|teva|tiaa|tips|town|toys|tube|vana|visa|viva|vivo|vote|voto|wang|weir|wien|wiki|wine|work|xbox|yoga|zara|zero|zone|дети|сайт|بارت|بيتك|ڀارت|تونس|شبكة|عراق|عمان|موقع|भारत|ভারত|ভাৰত|ਭਾਰਤ|ભારત|ଭାରତ|ಭಾರತ|ලංකා|アマゾン|グーグル|クラウド|ポイント|组织机构|電訊盈科|香格里拉|aaa|abb|abc|aco|ads|aeg|afl|aig|anz|aol|app|art|aws|axa|bar|bbc|bbt|bcg|bcn|bet|bid|bio|biz|bms|bmw|bom|boo|bot|box|buy|bzh|cab|cal|cam|car|cat|cba|cbn|ceo|cfa|cfd|com|cpa|crs|dad|day|dds|dev|dhl|diy|dnp|dog|dot|dtv|dvr|eat|eco|edu|esq|eus|fan|fit|fly|foo|fox|frl|ftr|fun|fyi|gal|gap|gay|gdn|gea|gle|gmo|gmx|goo|gop|got|gov|hbo|hiv|hkt|hot|how|ibm|ice|icu|ifm|inc|ing|ink|int|ist|itv|jcb|jio|jll|jmp|jnj|jot|joy|kfh|kia|kim|kpn|krd|lat|law|lds|llc|llp|lol|lpl|ltd|man|map|mba|med|men|mil|mit|mlb|mls|mma|moe|moi|mom|mov|msd|mtn|mtr|nab|nba|nec|net|new|nfl|ngo|nhk|now|nra|nrw|ntt|nyc|obi|one|ong|onl|ooo|org|ott|ovh|pay|pet|phd|pid|pin|pnc|pro|pru|pub|pwc|red|ren|ril|rio|rip|run|rwe|sap|sas|sbi|sbs|scb|sew|sex|sfr|ski|sky|soy|spa|srl|stc|tab|tax|tci|tdk|tel|thd|tjx|top|trv|tui|tvs|ubs|uno|uol|ups|vet|vig|vin|vip|wed|win|wme|wow|wtc|wtf|xin|xxx|xyz|you|yun|zip|бел|ком|қаз|мкд|мон|орг|рус|срб|укр|հայ|קום|عرب|قطر|كوم|مصر|कॉम|नेट|คอม|ไทย|ລາວ|ストア|セール|みんな|中文网|亚马逊|天主教|我爱你|新加坡|淡马锡|飞利浦|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|ελ|ευ|бг|ею|рф|გე|닷넷|닷컴|삼성|한국|コム|世界|中信|中国|中國|企业|佛山|信息|健康|八卦|公司|公益|台湾|台灣|商城|商店|商标|嘉里|在线|大拿|娱乐|家電|广东|微博|慈善|手机|招聘|政务|政府|新闻|时尚|書籍|机构|游戏|澳門|点看|移动|网址|网店|网站|网络|联通|谷歌|购物|通販|集团|食品|餐厅|香港)$/, mt = /https?:\/\//i, ft = new RegExp("^" + mt.source, "i"), gt = /^(javascript|vbscript):/i, vt = /^[A-Za-z][-.+A-Za-z0-9]*:(\/\/)?([^:/]*)/, bt = /^(?:\/\/)?([^/#?:]+)/, yt = rt;
2603
- function wt(e2) {
2604
- return rt(e2) || it(e2) || 43 === e2 || 45 === e2 || 46 === e2;
2597
+ var mt = /^(?:xn--vermgensberatung-pwb|xn--vermgensberater-ctb|xn--clchc0ea0b2g2a9gcd|xn--w4r85el8fhu5dnra|travelersinsurance|vermögensberatung|xn--5su34j936bgsg|xn--bck1b9a5dre4c|xn--mgbah1a3hjkrd|xn--mgbai9azgqp6j|xn--mgberp4a5d4ar|xn--xkc2dl3a5ee0h|vermögensberater|xn--fzys8d69uvgm|xn--mgba7c0bbn0a|xn--mgbcpq6gpa1a|xn--xkc2al3hye2a|americanexpress|kerryproperties|sandvikcoromant|xn--i1b6b1a6a2e|xn--kcrx77d1x4a|xn--lgbbat1ad8j|xn--mgba3a4f16a|xn--mgbc0a9azcg|xn--nqv7fs00ema|americanfamily|weatherchannel|xn--54b7fta0cc|xn--6qq986b3xl|xn--80aqecdr1a|xn--b4w605ferd|xn--fiq228c5hs|xn--h2breg3eve|xn--jlq480n2rg|xn--mgba3a3ejt|xn--mgbaam7a8h|xn--mgbayh7gpa|xn--mgbbh1a71e|xn--mgbca7dzdo|xn--mgbi4ecexp|xn--mgbx4cd0ab|xn--rvc1e0am3e|international|lifeinsurance|wolterskluwer|xn--cckwcxetd|xn--eckvdtc9d|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--h2brj9c8c|xn--tiq49xqyj|xn--yfro4i67o|xn--ygbi2ammx|construction|lplfinancial|scholarships|versicherung|xn--3e0b707e|xn--45br5cyl|xn--4dbrk0ce|xn--80adxhks|xn--80asehdb|xn--8y0a063a|xn--gckr3f0f|xn--mgb9awbf|xn--mgbab2bd|xn--mgbgu82a|xn--mgbpl2fh|xn--mgbt3dhd|xn--mk1bu44c|xn--ngbc5azd|xn--ngbe9e0a|xn--ogbpf8fl|xn--qcka1pmc|accountants|barclaycard|blackfriday|blockbuster|bridgestone|calvinklein|contractors|creditunion|engineering|enterprises|investments|kerryhotels|lamborghini|motorcycles|olayangroup|photography|playstation|productions|progressive|redumbrella|williamhill|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--3bst00m|xn--3ds443g|xn--3hcrj9c|xn--42c2d9a|xn--45brj9c|xn--55qw42g|xn--6frz82g|xn--80ao21a|xn--9krt00a|xn--cck2b3b|xn--czr694b|xn--d1acj3b|xn--efvy88h|xn--fct429k|xn--fjq720a|xn--flw351e|xn--g2xx48c|xn--gecrj9c|xn--gk3at1e|xn--h2brj9c|xn--hxt814e|xn--imr513n|xn--j6w193g|xn--jvr189m|xn--kprw13d|xn--kpry57d|xn--mgbbh1a|xn--mgbtx2b|xn--mix891f|xn--nyqy26a|xn--otu796d|xn--pgbs0dh|xn--q9jyb4c|xn--rhqv96g|xn--rovu88b|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--vuq861b|xn--w4rs40l|xn--xhq521b|xn--zfr164b|சிங்கப்பூர்|accountant|apartments|associates|basketball|bnpparibas|boehringer|capitalone|consulting|creditcard|cuisinella|eurovision|extraspace|foundation|healthcare|immobilien|industries|management|mitsubishi|nextdirect|properties|protection|prudential|realestate|republican|restaurant|schaeffler|tatamotors|technology|university|vlaanderen|xn--30rr7y|xn--3pxu8k|xn--45q11c|xn--4gbrim|xn--55qx5d|xn--5tzm5g|xn--80aswg|xn--90a3ac|xn--9dbq2a|xn--9et52u|xn--c2br7g|xn--cg4bki|xn--czrs0t|xn--czru2d|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--io0a7i|xn--kput3i|xn--mxtq1m|xn--o3cw4h|xn--pssy2u|xn--q7ce6a|xn--unup4y|xn--wgbh1c|xn--wgbl6a|xn--y9a3aq|accenture|allfinanz|amsterdam|analytics|aquarelle|barcelona|bloomberg|christmas|community|directory|education|equipment|fairwinds|financial|firestone|fresenius|furniture|goldpoint|hisamitsu|homedepot|homegoods|homesense|institute|insurance|kuokgroup|landrover|lifestyle|marketing|marshalls|melbourne|microsoft|panasonic|pramerica|richardli|shangrila|solutions|statebank|statefarm|stockholm|travelers|vacations|xn--90ais|xn--c1avg|xn--d1alf|xn--e1a4c|xn--fhbei|xn--j1aef|xn--j1amh|xn--l1acc|xn--ngbrx|xn--nqv7f|xn--p1acf|xn--qxa6a|xn--tckwe|xn--vhquv|yodobashi|موريتانيا|abudhabi|airforce|allstate|attorney|barclays|barefoot|bargains|baseball|boutique|bradesco|broadway|brussels|builders|business|capetown|catering|catholic|cipriani|cleaning|clinique|clothing|commbank|computer|delivery|deloitte|democrat|diamonds|discount|discover|download|engineer|ericsson|exchange|feedback|fidelity|firmdale|football|frontier|goodyear|grainger|graphics|hdfcbank|helsinki|holdings|hospital|infiniti|ipiranga|istanbul|jpmorgan|lighting|lundbeck|marriott|mckinsey|memorial|merckmsd|mortgage|observer|partners|pharmacy|pictures|plumbing|property|redstone|reliance|saarland|samsclub|security|services|shopping|softbank|software|stcgroup|supplies|training|vanguard|ventures|verisign|woodside|xn--90ae|xn--node|xn--p1ai|xn--qxam|yokohama|السعودية|abogado|academy|agakhan|alibaba|android|athleta|auction|audible|auspost|banamex|bauhaus|bestbuy|booking|brother|capital|caravan|careers|channel|charity|chintai|citadel|clubmed|college|cologne|company|compare|contact|cooking|corsica|country|coupons|courses|cricket|cruises|dentist|digital|domains|exposed|express|farmers|fashion|ferrari|ferrero|finance|fishing|fitness|flights|florist|flowers|forsale|frogans|fujitsu|gallery|genting|godaddy|grocery|guitars|hamburg|hangout|hitachi|holiday|hosting|hotmail|hyundai|ismaili|jewelry|juniper|kitchen|komatsu|lacaixa|lanxess|lasalle|latrobe|leclerc|limited|lincoln|markets|monster|netbank|netflix|network|neustar|okinawa|organic|origins|philips|pioneer|politie|realtor|recipes|rentals|reviews|rexroth|samsung|sandvik|schmidt|schwarz|science|shiksha|singles|staples|storage|support|surgery|systems|temasek|theater|theatre|tickets|toshiba|trading|walmart|wanggou|watches|weather|website|wedding|whoswho|windows|winners|yamaxun|youtube|zuerich|католик|البحرين|الجزائر|العليان|پاکستان|كاثوليك|இந்தியா|abbott|abbvie|africa|agency|airbus|airtel|alipay|alsace|alstom|amazon|anquan|aramco|author|bayern|beauty|berlin|bharti|bostik|boston|broker|camera|career|casino|center|chanel|chrome|church|circle|claims|clinic|coffee|comsec|condos|coupon|credit|cruise|dating|datsun|dealer|degree|dental|design|direct|doctor|dunlop|dupont|durban|emerck|energy|estate|events|expert|family|flickr|futbol|gallup|garden|george|giving|global|google|gratis|health|hermes|hiphop|hockey|hotels|hughes|imamat|insure|intuit|jaguar|joburg|juegos|kaufen|kindle|kosher|latino|lawyer|lefrak|living|locker|london|luxury|madrid|maison|makeup|market|mattel|mobile|monash|mormon|moscow|museum|nagoya|nissan|nissay|norton|nowruz|office|olayan|online|oracle|orange|otsuka|pfizer|photos|physio|pictet|quebec|racing|realty|reisen|repair|report|review|rogers|ryukyu|safety|sakura|sanofi|school|schule|search|secure|select|shouji|soccer|social|stream|studio|supply|suzuki|swatch|sydney|taipei|taobao|target|tattoo|tennis|tienda|tjmaxx|tkmaxx|toyota|travel|unicom|viajes|viking|villas|virgin|vision|voting|voyage|walter|webcam|xihuan|yachts|yandex|zappos|москва|онлайн|ابوظبي|ارامكو|الاردن|المغرب|امارات|فلسطين|مليسيا|भारतम्|இலங்கை|ファッション|actor|adult|aetna|amfam|amica|apple|archi|audio|autos|azure|baidu|beats|bible|bingo|black|boats|bosch|build|canon|cards|chase|cheap|cisco|citic|click|cloud|coach|codes|crown|cymru|dance|deals|delta|drive|dubai|earth|edeka|email|epson|faith|fedex|final|forex|forum|gallo|games|gifts|gives|glass|globo|gmail|green|gripe|group|gucci|guide|homes|honda|horse|house|hyatt|ikano|irish|jetzt|koeln|kyoto|lamer|lease|legal|lexus|lilly|loans|locus|lotte|lotto|mango|media|miami|money|movie|music|nexus|nikon|ninja|nokia|nowtv|omega|osaka|paris|parts|party|phone|photo|pizza|place|poker|praxi|press|prime|promo|quest|radio|rehab|reise|ricoh|rocks|rodeo|rugby|salon|sener|seven|sharp|shell|shoes|skype|sling|smart|smile|solar|space|sport|stada|store|study|style|sucks|swiss|tatar|tires|tirol|tmall|today|tokyo|tools|toray|total|tours|trade|trust|tunes|tushu|ubank|vegas|video|vodka|volvo|wales|watch|weber|weibo|works|world|xerox|yahoo|ישראל|ایران|بازار|بھارت|سودان|سورية|همراه|भारोत|संगठन|বাংলা|భారత్|ഭാരതം|嘉里大酒店|aarp|able|aero|akdn|ally|amex|arab|army|arpa|arte|asda|asia|audi|auto|baby|band|bank|bbva|beer|best|bike|bing|blog|blue|bofa|bond|book|buzz|cafe|call|camp|care|cars|casa|case|cash|cbre|cern|chat|citi|city|club|cool|coop|cyou|data|date|dclk|deal|dell|desi|diet|dish|docs|dvag|erni|fage|fail|fans|farm|fast|fido|film|fire|fish|flir|food|ford|free|fund|game|gbiz|gent|ggee|gift|gmbh|gold|golf|goog|guge|guru|hair|haus|hdfc|help|here|host|hsbc|icbc|ieee|imdb|immo|info|itau|java|jeep|jobs|jprs|kddi|kids|kiwi|kpmg|kred|land|lego|lgbt|lidl|life|like|limo|link|live|loan|love|ltda|luxe|maif|meet|meme|menu|mini|mint|mobi|moda|moto|name|navy|news|next|nico|nike|ollo|open|page|pars|pccw|pics|ping|pink|play|plus|pohl|porn|post|prod|prof|qpon|read|reit|rent|rest|rich|room|rsvp|ruhr|safe|sale|sarl|save|saxo|scot|seat|seek|sexy|shia|shop|show|silk|sina|site|skin|sncf|sohu|song|sony|spot|star|surf|talk|taxi|team|tech|teva|tiaa|tips|town|toys|tube|vana|visa|viva|vivo|vote|voto|wang|weir|wien|wiki|wine|work|xbox|yoga|zara|zero|zone|дети|сайт|بارت|بيتك|ڀارت|تونس|شبكة|عراق|عمان|موقع|भारत|ভারত|ভাৰত|ਭਾਰਤ|ભારત|ଭାରତ|ಭಾರತ|ලංකා|アマゾン|グーグル|クラウド|ポイント|组织机构|電訊盈科|香格里拉|aaa|abb|abc|aco|ads|aeg|afl|aig|anz|aol|app|art|aws|axa|bar|bbc|bbt|bcg|bcn|bet|bid|bio|biz|bms|bmw|bom|boo|bot|box|buy|bzh|cab|cal|cam|car|cat|cba|cbn|ceo|cfa|cfd|com|cpa|crs|dad|day|dds|dev|dhl|diy|dnp|dog|dot|dtv|dvr|eat|eco|edu|esq|eus|fan|fit|fly|foo|fox|frl|ftr|fun|fyi|gal|gap|gay|gdn|gea|gle|gmo|gmx|goo|gop|got|gov|hbo|hiv|hkt|hot|how|ibm|ice|icu|ifm|inc|ing|ink|int|ist|itv|jcb|jio|jll|jmp|jnj|jot|joy|kfh|kia|kim|kpn|krd|lat|law|lds|llc|llp|lol|lpl|ltd|man|map|mba|med|men|mil|mit|mlb|mls|mma|moe|moi|mom|mov|msd|mtn|mtr|nab|nba|nec|net|new|nfl|ngo|nhk|now|nra|nrw|ntt|nyc|obi|one|ong|onl|ooo|org|ott|ovh|pay|pet|phd|pid|pin|pnc|pro|pru|pub|pwc|red|ren|ril|rio|rip|run|rwe|sap|sas|sbi|sbs|scb|sew|sex|sfr|ski|sky|soy|spa|srl|stc|tab|tax|tci|tdk|tel|thd|tjx|top|trv|tui|tvs|ubs|uno|uol|ups|vet|vig|vin|vip|wed|win|wme|wow|wtc|wtf|xin|xxx|xyz|you|yun|zip|бел|ком|қаз|мкд|мон|орг|рус|срб|укр|հայ|קום|عرب|قطر|كوم|مصر|कॉम|नेट|คอม|ไทย|ລາວ|ストア|セール|みんな|中文网|亚马逊|天主教|我爱你|新加坡|淡马锡|飞利浦|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|ελ|ευ|бг|ею|рф|გე|닷넷|닷컴|삼성|한국|コム|世界|中信|中国|中國|企业|佛山|信息|健康|八卦|公司|公益|台湾|台灣|商城|商店|商标|嘉里|在线|大拿|娱乐|家電|广东|微博|慈善|手机|招聘|政务|政府|新闻|时尚|書籍|机构|游戏|澳門|点看|移动|网址|网店|网站|网络|联通|谷歌|购物|通販|集团|食品|餐厅|香港)$/, ft = /https?:\/\//i, gt = new RegExp("^" + ft.source, "i"), vt = /^(javascript|vbscript):/i, bt = /^[A-Za-z][-.+A-Za-z0-9]*:(\/\/)?([^:/]*)/, wt = /^(?:\/\/)?([^/#?:]+)/, yt = it;
2598
+ function kt(e2) {
2599
+ return it(e2) || ot(e2) || 43 === e2 || 45 === e2 || 46 === e2;
2605
2600
  }
2606
- var kt = lt;
2601
+ var St = ht;
2607
2602
  function Ct(e2) {
2608
- return 95 === e2 || kt(e2);
2603
+ return 95 === e2 || St(e2);
2609
2604
  }
2610
- function Tt(e2) {
2611
- return lt(e2) || ((t2 = e2) < 91 ? t2 < 47 ? t2 >= 35 && t2 <= 43 || 45 == t2 : t2 < 61 ? 47 == t2 : 61 == t2 || 64 == t2 : t2 < 95 ? 91 == t2 || 93 == t2 : t2 < 123 ? 95 == t2 : t2 >= 123 && t2 <= 126 || 10003 == t2) || ht(e2);
2605
+ function It(e2) {
2606
+ return ht(e2) || ((t2 = e2) < 91 ? t2 < 47 ? t2 >= 35 && t2 <= 43 || 45 == t2 : t2 < 61 ? 47 == t2 : 61 == t2 || 64 == t2 : t2 < 95 ? 91 == t2 || 93 == t2 : t2 < 123 ? 95 == t2 : t2 >= 123 && t2 <= 126 || 10003 == t2) || ut(e2);
2612
2607
  var t2;
2613
2608
  }
2614
- function It(e2) {
2609
+ function Tt(e2) {
2615
2610
  return 47 === e2 || 63 === e2 || 35 === e2;
2616
2611
  }
2617
2612
  function xt(e2) {
2618
- return pt.test(e2.toLowerCase());
2613
+ return mt.test(e2.toLowerCase());
2619
2614
  }
2620
- var St = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/, Et = /[:/?#]/;
2621
- var Mt = /^(https?:\/\/)?(?:www\.)?/i, At = /^\/\//, Nt = (function(e2) {
2615
+ var Et = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/, Mt = /[:/?#]/;
2616
+ var _t = /^(https?:\/\/)?(?:www\.)?/i, At = /^\/\//, Nt = (function(e2) {
2622
2617
  function t2(t3) {
2623
2618
  var s2 = e2.call(this, t3) || this;
2624
2619
  return s2.type = "url", s2.url = "", s2.urlMatchType = "scheme", s2.protocolRelativeMatch = false, s2.stripPrefix = { scheme: true, www: true }, s2.stripTrailingSlash = true, s2.decodePercentEncoding = true, s2.protocolPrepended = false, s2.urlMatchType = t3.urlMatchType, s2.url = t3.url, s2.protocolRelativeMatch = t3.protocolRelativeMatch, s2.stripPrefix = t3.stripPrefix, s2.stripTrailingSlash = t3.stripTrailingSlash, s2.decodePercentEncoding = t3.decodePercentEncoding, s2;
2625
2620
  }
2626
- return ze(t2, e2), t2.prototype.getType = function() {
2621
+ return Ye(t2, e2), t2.prototype.getType = function() {
2627
2622
  return "url";
2628
2623
  }, t2.prototype.getUrlMatchType = function() {
2629
2624
  return this.urlMatchType;
@@ -2634,8 +2629,8 @@ var Mt = /^(https?:\/\/)?(?:www\.)?/i, At = /^\/\//, Nt = (function(e2) {
2634
2629
  return this.getUrl().replace(/&amp;/g, "&");
2635
2630
  }, t2.prototype.getAnchorText = function() {
2636
2631
  var e3 = this.getMatchedText();
2637
- return this.protocolRelativeMatch && (e3 = e3.replace(At, "")), this.stripPrefix.scheme && (e3 = e3.replace(ft, "")), this.stripPrefix.www && (e3 = (function(e4) {
2638
- return e4.includes("www.") ? e4.replace(Mt, "$1") : e4;
2632
+ return this.protocolRelativeMatch && (e3 = e3.replace(At, "")), this.stripPrefix.scheme && (e3 = e3.replace(gt, "")), this.stripPrefix.www && (e3 = (function(e4) {
2633
+ return e4.includes("www.") ? e4.replace(_t, "$1") : e4;
2639
2634
  })(e3)), this.stripTrailingSlash && (e3 = (function(e4) {
2640
2635
  "/" === e4.charAt(e4.length - 1) && (e4 = e4.slice(0, -1));
2641
2636
  return e4;
@@ -2650,18 +2645,18 @@ var Mt = /^(https?:\/\/)?(?:www\.)?/i, At = /^\/\//, Nt = (function(e2) {
2650
2645
  return t3;
2651
2646
  })(e3)), e3;
2652
2647
  }, t2;
2653
- })(at);
2654
- var Rt = /^mailto:/i, _t = lt;
2655
- function Dt(e2) {
2656
- return _t(e2) || ((t2 = e2) < 47 ? t2 < 42 ? 33 == t2 || t2 >= 35 && t2 <= 39 : t2 >= 42 && t2 <= 43 || 45 == t2 : t2 < 63 ? 47 == t2 || 61 == t2 : t2 < 94 ? 63 == t2 : t2 >= 94 && t2 <= 96 || t2 >= 123 && t2 <= 126);
2648
+ })(rt);
2649
+ var Dt = /^mailto:/i, Rt = ht;
2650
+ function Ot(e2) {
2651
+ return Rt(e2) || ((t2 = e2) < 47 ? t2 < 42 ? 33 == t2 || t2 >= 35 && t2 <= 39 : t2 >= 42 && t2 <= 43 || 45 == t2 : t2 < 63 ? 47 == t2 || 61 == t2 : t2 < 94 ? 63 == t2 : t2 >= 94 && t2 <= 96 || t2 >= 123 && t2 <= 126);
2657
2652
  var t2;
2658
2653
  }
2659
- var Ot = (function(e2) {
2654
+ var Pt = (function(e2) {
2660
2655
  function t2(t3) {
2661
2656
  var s2 = e2.call(this, t3) || this;
2662
2657
  return s2.type = "email", s2.email = "", s2.email = t3.email, s2;
2663
2658
  }
2664
- return ze(t2, e2), t2.prototype.getType = function() {
2659
+ return Ye(t2, e2), t2.prototype.getType = function() {
2665
2660
  return "email";
2666
2661
  }, t2.prototype.getEmail = function() {
2667
2662
  return this.email;
@@ -2670,16 +2665,16 @@ var Ot = (function(e2) {
2670
2665
  }, t2.prototype.getAnchorText = function() {
2671
2666
  return this.email;
2672
2667
  }, t2;
2673
- })(at);
2674
- function Pt(e2) {
2675
- return 95 === e2 || lt(e2);
2668
+ })(rt);
2669
+ function jt(e2) {
2670
+ return 95 === e2 || ht(e2);
2676
2671
  }
2677
2672
  var $t = ["twitter", "facebook", "instagram", "tiktok", "youtube"], Ut = (function(e2) {
2678
2673
  function t2(t3) {
2679
2674
  var s2 = e2.call(this, t3) || this;
2680
2675
  return s2.type = "hashtag", s2.serviceName = "twitter", s2.hashtag = "", s2.serviceName = t3.serviceName, s2.hashtag = t3.hashtag, s2;
2681
2676
  }
2682
- return ze(t2, e2), t2.prototype.getType = function() {
2677
+ return Ye(t2, e2), t2.prototype.getType = function() {
2683
2678
  return "hashtag";
2684
2679
  }, t2.prototype.getServiceName = function() {
2685
2680
  return this.serviceName;
@@ -2699,7 +2694,7 @@ var $t = ["twitter", "facebook", "instagram", "tiktok", "youtube"], Ut = (functi
2699
2694
  case "youtube":
2700
2695
  return "https://youtube.com/hashtag/" + t3;
2701
2696
  default:
2702
- Ze(e3);
2697
+ Xe(e3);
2703
2698
  }
2704
2699
  }, t2.prototype.getAnchorText = function() {
2705
2700
  return "#" + this.hashtag;
@@ -2707,16 +2702,16 @@ var $t = ["twitter", "facebook", "instagram", "tiktok", "youtube"], Ut = (functi
2707
2702
  var t3 = e2.prototype.getCssClassSuffixes.call(this), s2 = this.getServiceName();
2708
2703
  return s2 && t3.push(s2), t3;
2709
2704
  }, t2;
2710
- })(at), jt = { twitter: /^@\w{1,15}$/, instagram: /^@[_\w]{1,30}$/, soundcloud: /^@[-a-z0-9_]{3,25}$/, tiktok: /^@[.\w]{1,23}[\w]$/, youtube: /^@[-.·\w]{3,30}$/ };
2711
- function Wt(e2) {
2712
- return 45 === e2 || 46 === e2 || 95 === e2 || rt(e2) || it(e2);
2705
+ })(rt), Wt = { twitter: /^@\w{1,15}$/, instagram: /^@[_\w]{1,30}$/, soundcloud: /^@[-a-z0-9_]{3,25}$/, tiktok: /^@[.\w]{1,23}[\w]$/, youtube: /^@[-.·\w]{3,30}$/ };
2706
+ function qt(e2) {
2707
+ return 45 === e2 || 46 === e2 || 95 === e2 || it(e2) || ot(e2);
2713
2708
  }
2714
- var qt = ["twitter", "instagram", "soundcloud", "tiktok", "youtube"], Bt = (function(e2) {
2709
+ var Lt = ["twitter", "instagram", "soundcloud", "tiktok", "youtube"], Bt = (function(e2) {
2715
2710
  function t2(t3) {
2716
2711
  var s2 = e2.call(this, t3) || this;
2717
2712
  return s2.type = "mention", s2.serviceName = "twitter", s2.mention = "", s2.mention = t3.mention, s2.serviceName = t3.serviceName, s2;
2718
2713
  }
2719
- return ze(t2, e2), t2.prototype.getType = function() {
2714
+ return Ye(t2, e2), t2.prototype.getType = function() {
2720
2715
  return "mention";
2721
2716
  }, t2.prototype.getMention = function() {
2722
2717
  return this.mention;
@@ -2735,7 +2730,7 @@ var qt = ["twitter", "instagram", "soundcloud", "tiktok", "youtube"], Bt = (func
2735
2730
  case "youtube":
2736
2731
  return "https://youtube.com/@" + this.mention;
2737
2732
  default:
2738
- Ze(this.serviceName);
2733
+ Xe(this.serviceName);
2739
2734
  }
2740
2735
  }, t2.prototype.getAnchorText = function() {
2741
2736
  return "@" + this.mention;
@@ -2743,11 +2738,11 @@ var qt = ["twitter", "instagram", "soundcloud", "tiktok", "youtube"], Bt = (func
2743
2738
  var t3 = e2.prototype.getCssClassSuffixes.call(this), s2 = this.getServiceName();
2744
2739
  return s2 && t3.push(s2), t3;
2745
2740
  }, t2;
2746
- })(at), Lt = /[-. ()]/, Gt = new RegExp("^".concat(/(?:(?:(?:(\+)?\d{1,3}[-. ]?)?\(?\d{3}\)?[-. ]?\d{3}[-. ]?\d{4})|(?:(\+)(?:9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)[-. ]?(?:\d[-. ]?){6,12}\d+))([,;]+[0-9]+#?)*/.source, "|").concat(/(0([1-9]-?[1-9]\d{3}|[1-9]{2}-?\d{3}|[1-9]{2}\d{1}-?\d{2}|[1-9]{2}\d{2}-?\d{1})-?\d{4}|0[789]0-?\d{4}-?\d{4}|050-?\d{4}-?\d{4})/.source, "$"));
2747
- function Ft(e2) {
2741
+ })(rt), Gt = /[-. ()]/, Ft = new RegExp("^".concat(/(?:(?:(?:(\+)?\d{1,3}[-. ]?)?\(?\d{3}\)?[-. ]?\d{3}[-. ]?\d{4})|(?:(\+)(?:9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)[-. ]?(?:\d[-. ]?){6,12}\d+))([,;]+[0-9]+#?)*/.source, "|").concat(/(0([1-9]-?[1-9]\d{3}|[1-9]{2}-?\d{3}|[1-9]{2}\d{1}-?\d{2}|[1-9]{2}\d{2}-?\d{1})-?\d{4}|0[789]0-?\d{4}-?\d{4}|050-?\d{4}-?\d{4})/.source, "$"));
2742
+ function Ht(e2) {
2748
2743
  return 45 === e2 || 46 === e2 || 32 === e2;
2749
2744
  }
2750
- function Ht(e2) {
2745
+ function zt(e2) {
2751
2746
  return 44 === e2 || 59 === e2;
2752
2747
  }
2753
2748
  var Jt = (function(e2) {
@@ -2755,7 +2750,7 @@ var Jt = (function(e2) {
2755
2750
  var s2 = e2.call(this, t3) || this;
2756
2751
  return s2.type = "phone", s2.number = "", s2.plusSign = false, s2.number = t3.number, s2.plusSign = t3.plusSign, s2;
2757
2752
  }
2758
- return ze(t2, e2), t2.prototype.getType = function() {
2753
+ return Ye(t2, e2), t2.prototype.getType = function() {
2759
2754
  return "phone";
2760
2755
  }, t2.prototype.getPhoneNumber = function() {
2761
2756
  return this.number;
@@ -2766,171 +2761,171 @@ var Jt = (function(e2) {
2766
2761
  }, t2.prototype.getAnchorText = function() {
2767
2762
  return this.matchedText;
2768
2763
  }, t2;
2769
- })(at), zt = (function() {
2764
+ })(rt), Yt = (function() {
2770
2765
  function e2(e3, t2) {
2771
2766
  this.charIdx = 0, this.matches = [], this._stateMachines = [], this.schemeUrlMachinesCount = 0, this.text = e3, this.tagBuilder = t2.tagBuilder, this.stripPrefix = t2.stripPrefix, this.stripTrailingSlash = t2.stripTrailingSlash, this.decodePercentEncoding = t2.decodePercentEncoding, this.hashtagServiceName = t2.hashtagServiceName, this.mentionServiceName = t2.mentionServiceName;
2772
2767
  }
2773
2768
  return Object.defineProperty(e2.prototype, "stateMachines", { get: function() {
2774
2769
  return this._stateMachines;
2775
2770
  }, enumerable: false, configurable: true }), e2.prototype.addMachine = function(e3) {
2776
- this._stateMachines.push(e3), Gs(e3) && this.schemeUrlMachinesCount++;
2771
+ this._stateMachines.push(e3), Fs(e3) && this.schemeUrlMachinesCount++;
2777
2772
  }, e2.prototype.removeMachine = function(e3) {
2778
2773
  this._stateMachines = this._stateMachines.filter(function(t2) {
2779
2774
  return t2 !== e3;
2780
- }), Gs(e3) && this.schemeUrlMachinesCount--;
2775
+ }), Fs(e3) && this.schemeUrlMachinesCount--;
2781
2776
  }, e2.prototype.hasSchemeUrlMachine = function() {
2782
2777
  return this.schemeUrlMachinesCount > 0;
2783
2778
  }, e2;
2784
2779
  })();
2785
- function Yt(e2, t2, s2) {
2780
+ function Qt(e2, t2, s2) {
2786
2781
  var n2 = e2.charIdx;
2787
2782
  if (35 === s2) e2.addMachine({ type: 2, startIdx: n2, state: 28, acceptStateReached: false });
2788
2783
  else if (64 === s2) e2.addMachine(/* @__PURE__ */ (function(e3, t3) {
2789
2784
  return { type: 3, startIdx: e3, state: t3, acceptStateReached: false };
2790
2785
  })(n2, 30));
2791
2786
  else if (47 === s2) e2.addMachine(Bs(n2, 11));
2792
- else if (43 === s2) e2.addMachine(Ls(n2, 37));
2793
- else if (40 === s2) e2.addMachine(Ls(n2, 32));
2787
+ else if (43 === s2) e2.addMachine(Gs(n2, 37));
2788
+ else if (40 === s2) e2.addMachine(Gs(n2, 32));
2794
2789
  else {
2795
- if (it(s2) && (e2.addMachine(Ls(n2, 38)), e2.addMachine(/* @__PURE__ */ (function(e3, t3) {
2790
+ if (ot(s2) && (e2.addMachine(Gs(n2, 38)), e2.addMachine(/* @__PURE__ */ (function(e3, t3) {
2796
2791
  return { type: 0, startIdx: e3, state: t3, acceptStateReached: false, matchType: 2, octetsEncountered: 1 };
2797
- })(n2, 13))), _t(s2)) {
2792
+ })(n2, 13))), Rt(s2)) {
2798
2793
  var a2 = "m" === t2.toLowerCase() ? 15 : 22;
2799
2794
  e2.addMachine(/* @__PURE__ */ (function(e3, t3) {
2800
2795
  return { type: 1, startIdx: e3, state: t3, acceptStateReached: false };
2801
2796
  })(n2, a2));
2802
2797
  }
2803
- yt(s2) && e2.addMachine(qs(n2, 0)), lt(s2) && e2.addMachine(Bs(n2, 5));
2798
+ yt(s2) && e2.addMachine(Ls(n2, 0)), ht(s2) && e2.addMachine(Bs(n2, 5));
2804
2799
  }
2805
2800
  }
2806
- function Qt(e2, t2, s2) {
2807
- 58 === s2 ? t2.state = 2 : 45 === s2 ? t2.state = 1 : wt(s2) || e2.removeMachine(t2);
2808
- }
2809
2801
  function Vt(e2, t2, s2) {
2810
- var n2 = e2.charIdx;
2811
- 45 === s2 || (47 === s2 ? (e2.removeMachine(t2), e2.addMachine(Bs(n2, 11))) : wt(s2) ? t2.state = 0 : e2.removeMachine(t2));
2802
+ 58 === s2 ? t2.state = 2 : 45 === s2 ? t2.state = 1 : kt(s2) || e2.removeMachine(t2);
2812
2803
  }
2813
2804
  function Kt(e2, t2, s2) {
2814
2805
  var n2 = e2.charIdx;
2815
- 47 === s2 ? t2.state = 3 : 46 === s2 ? e2.removeMachine(t2) : kt(s2) ? (t2.state = 5, yt(s2) && e2.addMachine(qs(n2, 0))) : e2.removeMachine(t2);
2806
+ 45 === s2 || (47 === s2 ? (e2.removeMachine(t2), e2.addMachine(Bs(n2, 11))) : kt(s2) ? t2.state = 0 : e2.removeMachine(t2));
2816
2807
  }
2817
2808
  function Zt(e2, t2, s2) {
2818
- 47 === s2 ? t2.state = 4 : Tt(s2) ? (t2.state = 10, t2.acceptStateReached = true) : Us(e2, t2);
2809
+ var n2 = e2.charIdx;
2810
+ 47 === s2 ? t2.state = 3 : 46 === s2 ? e2.removeMachine(t2) : St(s2) ? (t2.state = 5, yt(s2) && e2.addMachine(Ls(n2, 0))) : e2.removeMachine(t2);
2819
2811
  }
2820
- function Xt(e2, t2, s2, n2) {
2821
- 47 === n2 ? (t2.state = 10, t2.acceptStateReached = true) : kt(n2) ? (t2.state = 5, t2.acceptStateReached = true) : e2.removeMachine(t2);
2812
+ function Xt(e2, t2, s2) {
2813
+ 47 === s2 ? t2.state = 4 : It(s2) ? (t2.state = 10, t2.acceptStateReached = true) : Us(e2, t2);
2822
2814
  }
2823
- function es(e2, t2, s2) {
2824
- 47 === s2 ? t2.state = 12 : e2.removeMachine(t2);
2815
+ function es(e2, t2, s2, n2) {
2816
+ 47 === n2 ? (t2.state = 10, t2.acceptStateReached = true) : St(n2) ? (t2.state = 5, t2.acceptStateReached = true) : e2.removeMachine(t2);
2825
2817
  }
2826
2818
  function ts(e2, t2, s2) {
2827
- kt(s2) ? t2.state = 5 : e2.removeMachine(t2);
2819
+ 47 === s2 ? t2.state = 12 : e2.removeMachine(t2);
2828
2820
  }
2829
2821
  function ss(e2, t2, s2) {
2830
- 46 === s2 ? t2.state = 7 : 45 === s2 ? t2.state = 6 : 58 === s2 ? t2.state = 8 : It(s2) ? t2.state = 10 : Ct(s2) || Us(e2, t2);
2822
+ St(s2) ? t2.state = 5 : e2.removeMachine(t2);
2831
2823
  }
2832
- function ns(e2, t2, s2, n2) {
2833
- 45 === n2 || (46 === n2 ? Us(e2, t2) : kt(n2) ? t2.state = 5 : Us(e2, t2));
2824
+ function ns(e2, t2, s2) {
2825
+ 46 === s2 ? t2.state = 7 : 45 === s2 ? t2.state = 6 : 58 === s2 ? t2.state = 8 : Tt(s2) ? t2.state = 10 : Ct(s2) || Us(e2, t2);
2834
2826
  }
2835
2827
  function as(e2, t2, s2, n2) {
2836
- 46 === n2 ? Us(e2, t2) : kt(n2) ? (t2.state = 5, t2.acceptStateReached = true) : Us(e2, t2);
2828
+ 45 === n2 || (46 === n2 ? Us(e2, t2) : St(n2) ? t2.state = 5 : Us(e2, t2));
2837
2829
  }
2838
- function rs(e2, t2, s2) {
2839
- 46 === s2 ? t2.state = 14 : 58 === s2 ? t2.state = 8 : it(s2) || (It(s2) ? t2.state = 10 : lt(s2) ? e2.removeMachine(t2) : Us(e2, t2));
2830
+ function rs(e2, t2, s2, n2) {
2831
+ 46 === n2 ? Us(e2, t2) : St(n2) ? (t2.state = 5, t2.acceptStateReached = true) : Us(e2, t2);
2840
2832
  }
2841
2833
  function is(e2, t2, s2) {
2842
- it(s2) ? (t2.octetsEncountered++, 4 === t2.octetsEncountered && (t2.acceptStateReached = true), t2.state = 13) : Us(e2, t2);
2834
+ 46 === s2 ? t2.state = 14 : 58 === s2 ? t2.state = 8 : ot(s2) || (Tt(s2) ? t2.state = 10 : ht(s2) ? e2.removeMachine(t2) : Us(e2, t2));
2843
2835
  }
2844
2836
  function os(e2, t2, s2) {
2845
- it(s2) ? t2.state = 9 : Us(e2, t2);
2837
+ ot(s2) ? (t2.octetsEncountered++, 4 === t2.octetsEncountered && (t2.acceptStateReached = true), t2.state = 13) : Us(e2, t2);
2846
2838
  }
2847
2839
  function cs(e2, t2, s2) {
2848
- it(s2) || (It(s2) ? t2.state = 10 : Us(e2, t2));
2840
+ ot(s2) ? t2.state = 9 : Us(e2, t2);
2849
2841
  }
2850
2842
  function ls(e2, t2, s2) {
2851
- Tt(s2) || Us(e2, t2);
2843
+ ot(s2) || (Tt(s2) ? t2.state = 10 : Us(e2, t2));
2852
2844
  }
2853
- function hs(e2, t2, s2, n2) {
2854
- "a" === s2.toLowerCase() ? t2.state = 16 : vs(e2, t2, n2);
2845
+ function hs(e2, t2, s2) {
2846
+ It(s2) || Us(e2, t2);
2855
2847
  }
2856
2848
  function us(e2, t2, s2, n2) {
2857
- "i" === s2.toLowerCase() ? t2.state = 17 : vs(e2, t2, n2);
2849
+ "a" === s2.toLowerCase() ? t2.state = 16 : bs(e2, t2, n2);
2858
2850
  }
2859
2851
  function ds(e2, t2, s2, n2) {
2860
- "l" === s2.toLowerCase() ? t2.state = 18 : vs(e2, t2, n2);
2852
+ "i" === s2.toLowerCase() ? t2.state = 17 : bs(e2, t2, n2);
2861
2853
  }
2862
2854
  function ps(e2, t2, s2, n2) {
2863
- "t" === s2.toLowerCase() ? t2.state = 19 : vs(e2, t2, n2);
2855
+ "l" === s2.toLowerCase() ? t2.state = 18 : bs(e2, t2, n2);
2864
2856
  }
2865
2857
  function ms(e2, t2, s2, n2) {
2866
- "o" === s2.toLowerCase() ? t2.state = 20 : vs(e2, t2, n2);
2858
+ "t" === s2.toLowerCase() ? t2.state = 19 : bs(e2, t2, n2);
2867
2859
  }
2868
- function fs(e2, t2, s2) {
2869
- 58 === s2 ? t2.state = 21 : vs(e2, t2, s2);
2860
+ function fs(e2, t2, s2, n2) {
2861
+ "o" === s2.toLowerCase() ? t2.state = 20 : bs(e2, t2, n2);
2870
2862
  }
2871
2863
  function gs(e2, t2, s2) {
2872
- Dt(s2) ? t2.state = 22 : e2.removeMachine(t2);
2864
+ 58 === s2 ? t2.state = 21 : bs(e2, t2, s2);
2873
2865
  }
2874
2866
  function vs(e2, t2, s2) {
2875
- 46 === s2 ? t2.state = 23 : 64 === s2 ? t2.state = 24 : Dt(s2) ? t2.state = 22 : e2.removeMachine(t2);
2867
+ Ot(s2) ? t2.state = 22 : e2.removeMachine(t2);
2876
2868
  }
2877
2869
  function bs(e2, t2, s2) {
2878
- 46 === s2 || 64 === s2 ? e2.removeMachine(t2) : Dt(s2) ? t2.state = 22 : e2.removeMachine(t2);
2870
+ 46 === s2 ? t2.state = 23 : 64 === s2 ? t2.state = 24 : Ot(s2) ? t2.state = 22 : e2.removeMachine(t2);
2871
+ }
2872
+ function ws(e2, t2, s2) {
2873
+ 46 === s2 || 64 === s2 ? e2.removeMachine(t2) : Ot(s2) ? t2.state = 22 : e2.removeMachine(t2);
2879
2874
  }
2880
2875
  function ys(e2, t2, s2) {
2881
- kt(s2) ? t2.state = 25 : e2.removeMachine(t2);
2876
+ St(s2) ? t2.state = 25 : e2.removeMachine(t2);
2882
2877
  }
2883
- function ws(e2, t2, s2) {
2878
+ function ks(e2, t2, s2) {
2884
2879
  46 === s2 ? t2.state = 27 : 45 === s2 ? t2.state = 26 : Ct(s2) || Us(e2, t2);
2885
2880
  }
2886
- function ks(e2, t2, s2) {
2881
+ function Ss(e2, t2, s2) {
2887
2882
  45 === s2 || 46 === s2 ? Us(e2, t2) : Ct(s2) ? t2.state = 25 : Us(e2, t2);
2888
2883
  }
2889
2884
  function Cs(e2, t2, s2) {
2890
- 46 === s2 || 45 === s2 ? Us(e2, t2) : kt(s2) ? (t2.state = 25, t2.acceptStateReached = true) : Us(e2, t2);
2891
- }
2892
- function Ts(e2, t2, s2) {
2893
- Pt(s2) ? (t2.state = 29, t2.acceptStateReached = true) : e2.removeMachine(t2);
2885
+ 46 === s2 || 45 === s2 ? Us(e2, t2) : St(s2) ? (t2.state = 25, t2.acceptStateReached = true) : Us(e2, t2);
2894
2886
  }
2895
2887
  function Is(e2, t2, s2) {
2896
- Pt(s2) || Us(e2, t2);
2888
+ jt(s2) ? (t2.state = 29, t2.acceptStateReached = true) : e2.removeMachine(t2);
2897
2889
  }
2898
- function xs(e2, t2, s2) {
2899
- Wt(s2) ? (t2.state = 31, t2.acceptStateReached = true) : e2.removeMachine(t2);
2890
+ function Ts(e2, t2, s2) {
2891
+ jt(s2) || Us(e2, t2);
2900
2892
  }
2901
- function Ss(e2, t2, s2) {
2902
- Wt(s2) || (lt(s2) ? e2.removeMachine(t2) : Us(e2, t2));
2893
+ function xs(e2, t2, s2) {
2894
+ qt(s2) ? (t2.state = 31, t2.acceptStateReached = true) : e2.removeMachine(t2);
2903
2895
  }
2904
- function Es(e2, t2, s2, n2) {
2905
- it(n2) ? t2.state = 38 : (e2.removeMachine(t2), Yt(e2, s2, n2));
2896
+ function Es(e2, t2, s2) {
2897
+ qt(s2) || (ht(s2) ? e2.removeMachine(t2) : Us(e2, t2));
2906
2898
  }
2907
2899
  function Ms(e2, t2, s2, n2) {
2908
- it(n2) ? t2.state = 33 : e2.removeMachine(t2), Yt(e2, s2, n2);
2900
+ ot(n2) ? t2.state = 38 : (e2.removeMachine(t2), Qt(e2, s2, n2));
2901
+ }
2902
+ function _s(e2, t2, s2, n2) {
2903
+ ot(n2) ? t2.state = 33 : e2.removeMachine(t2), Qt(e2, s2, n2);
2909
2904
  }
2910
2905
  function As(e2, t2, s2) {
2911
- it(s2) ? t2.state = 34 : e2.removeMachine(t2);
2906
+ ot(s2) ? t2.state = 34 : e2.removeMachine(t2);
2912
2907
  }
2913
2908
  function Ns(e2, t2, s2) {
2914
- it(s2) ? t2.state = 35 : e2.removeMachine(t2);
2909
+ ot(s2) ? t2.state = 35 : e2.removeMachine(t2);
2915
2910
  }
2916
- function Rs(e2, t2, s2) {
2911
+ function Ds(e2, t2, s2) {
2917
2912
  41 === s2 ? t2.state = 36 : e2.removeMachine(t2);
2918
2913
  }
2919
- function _s(e2, t2, s2, n2) {
2920
- it(n2) ? t2.state = 38 : Ft(n2) ? t2.state = 39 : e2.removeMachine(t2);
2914
+ function Rs(e2, t2, s2, n2) {
2915
+ ot(n2) ? t2.state = 38 : Ht(n2) ? t2.state = 39 : e2.removeMachine(t2);
2921
2916
  }
2922
- function Ds(e2, t2, s2, n2) {
2917
+ function Os(e2, t2, s2, n2) {
2923
2918
  var a2 = e2.charIdx;
2924
- t2.acceptStateReached = true, Ht(n2) ? t2.state = 40 : 35 === n2 ? t2.state = 41 : it(n2) || (40 === n2 ? t2.state = 32 : Ft(n2) ? t2.state = 39 : (Us(e2, t2), yt(n2) && e2.addMachine(qs(a2, 0))));
2919
+ t2.acceptStateReached = true, zt(n2) ? t2.state = 40 : 35 === n2 ? t2.state = 41 : ot(n2) || (40 === n2 ? t2.state = 32 : Ht(n2) ? t2.state = 39 : (Us(e2, t2), yt(n2) && e2.addMachine(Ls(a2, 0))));
2925
2920
  }
2926
- function Os(e2, t2, s2, n2) {
2927
- it(n2) ? t2.state = 38 : 40 === n2 ? t2.state = 32 : (Us(e2, t2), Yt(e2, s2, n2));
2921
+ function Ps(e2, t2, s2, n2) {
2922
+ ot(n2) ? t2.state = 38 : 40 === n2 ? t2.state = 32 : (Us(e2, t2), Qt(e2, s2, n2));
2928
2923
  }
2929
- function Ps(e2, t2, s2) {
2930
- Ht(s2) || (35 === s2 ? t2.state = 41 : it(s2) ? t2.state = 38 : Us(e2, t2));
2924
+ function js(e2, t2, s2) {
2925
+ zt(s2) || (35 === s2 ? t2.state = 41 : ot(s2) ? t2.state = 38 : Us(e2, t2));
2931
2926
  }
2932
2927
  function $s(e2, t2, s2) {
2933
- Ht(s2) ? t2.state = 40 : it(s2) ? e2.removeMachine(t2) : Us(e2, t2);
2928
+ zt(s2) ? t2.state = 40 : ot(s2) ? e2.removeMachine(t2) : Us(e2, t2);
2934
2929
  }
2935
2930
  function Us(e2, t2) {
2936
2931
  var s2 = e2.matches, n2 = e2.text, a2 = e2.charIdx, r2 = e2.tagBuilder, i2 = e2.stripPrefix, o2 = e2.stripTrailingSlash, c2 = e2.decodePercentEncoding, l2 = e2.hashtagServiceName, h2 = e2.mentionServiceName;
@@ -2939,18 +2934,18 @@ function Us(e2, t2) {
2939
2934
  switch (m2 = (function(e3) {
2940
2935
  for (var t3 = { "(": 0, "{": 0, "[": 0 }, s3 = 0; s3 < e3.length; s3++) {
2941
2936
  var n3 = e3.charAt(s3);
2942
- ut(r3 = e3.charCodeAt(s3)) ? t3[n3]++ : dt(r3) && t3[Ws[n3]]--;
2937
+ dt(r3 = e3.charCodeAt(s3)) ? t3[n3]++ : pt(r3) && t3[qs[n3]]--;
2943
2938
  }
2944
2939
  var a3 = e3.length - 1;
2945
2940
  for (; a3 >= 0; ) {
2946
2941
  var r3;
2947
2942
  n3 = e3.charAt(a3);
2948
- if (dt(r3 = e3.charCodeAt(a3))) {
2949
- var i3 = Ws[n3];
2943
+ if (pt(r3 = e3.charCodeAt(a3))) {
2944
+ var i3 = qs[n3];
2950
2945
  if (!(t3[i3] < 0)) break;
2951
2946
  t3[i3]++, a3--;
2952
2947
  } else {
2953
- if (!ht(r3)) break;
2948
+ if (!ut(r3)) break;
2954
2949
  a3--;
2955
2950
  }
2956
2951
  }
@@ -2960,10 +2955,10 @@ function Us(e2, t2) {
2960
2955
  if (64 === n2.charCodeAt(t2.startIdx - 1)) return;
2961
2956
  switch (t2.matchType) {
2962
2957
  case 0:
2963
- var f2 = mt.exec(m2);
2958
+ var f2 = ft.exec(m2);
2964
2959
  if (f2 && (p2 += f2.index, m2 = m2.slice(f2.index)), !(function(e3) {
2965
- if (gt.test(e3)) return false;
2966
- var t3 = e3.match(vt);
2960
+ if (vt.test(e3)) return false;
2961
+ var t3 = e3.match(bt);
2967
2962
  if (!t3) return false;
2968
2963
  var s3 = !!t3[1], n3 = t3[2];
2969
2964
  return !!s3 || !(-1 === n3.indexOf(".") || !/[A-Za-z]/.test(n3));
@@ -2971,43 +2966,43 @@ function Us(e2, t2) {
2971
2966
  break;
2972
2967
  case 1:
2973
2968
  if (!(function(e3) {
2974
- var t3 = e3.match(bt);
2969
+ var t3 = e3.match(wt);
2975
2970
  if (!t3) return false;
2976
2971
  var s3 = t3[0].split(".");
2977
2972
  return !(s3.length < 2 || !xt(s3[s3.length - 1]));
2978
2973
  })(m2)) return;
2979
2974
  break;
2980
2975
  case 2:
2981
- if (d2 = m2.split(Et, 1)[0], !St.test(d2)) return;
2976
+ if (d2 = m2.split(Mt, 1)[0], !Et.test(d2)) return;
2982
2977
  break;
2983
2978
  default:
2984
- Ze(t2);
2979
+ Xe(t2);
2985
2980
  }
2986
- s2.push(new Nt({ tagBuilder: r2, matchedText: m2, offset: p2, urlMatchType: js(t2.matchType), url: m2, protocolRelativeMatch: "//" === m2.slice(0, 2), stripPrefix: i2, stripTrailingSlash: o2, decodePercentEncoding: c2 }));
2981
+ s2.push(new Nt({ tagBuilder: r2, matchedText: m2, offset: p2, urlMatchType: Ws(t2.matchType), url: m2, protocolRelativeMatch: "//" === m2.slice(0, 2), stripPrefix: i2, stripTrailingSlash: o2, decodePercentEncoding: c2 }));
2987
2982
  break;
2988
2983
  case 1:
2989
- xt(m2.split(".").pop()) && s2.push(new Ot({ tagBuilder: r2, matchedText: m2, offset: p2, email: m2.replace(Rt, "") }));
2984
+ xt(m2.split(".").pop()) && s2.push(new Pt({ tagBuilder: r2, matchedText: m2, offset: p2, email: m2.replace(Dt, "") }));
2990
2985
  break;
2991
2986
  case 2:
2992
2987
  m2.length <= 140 && s2.push(new Ut({ tagBuilder: r2, matchedText: m2, offset: p2, serviceName: l2, hashtag: m2.slice(1) }));
2993
2988
  break;
2994
2989
  case 3:
2995
2990
  (function(e3, t3) {
2996
- return jt[t3].test(e3);
2991
+ return Wt[t3].test(e3);
2997
2992
  })(m2, h2) && s2.push(new Bt({ tagBuilder: r2, matchedText: m2, offset: p2, serviceName: h2, mention: m2.slice(1) }));
2998
2993
  break;
2999
2994
  case 4:
3000
- if (m2 = m2.replace(/ +$/g, ""), ("+" === (u2 = m2).charAt(0) || Lt.test(u2)) && Gt.test(u2)) {
2995
+ if (m2 = m2.replace(/ +$/g, ""), ("+" === (u2 = m2).charAt(0) || Gt.test(u2)) && Ft.test(u2)) {
3001
2996
  var g2 = m2.replace(/[^0-9,;#]/g, "");
3002
2997
  s2.push(new Jt({ tagBuilder: r2, matchedText: m2, offset: p2, number: g2, plusSign: "+" === m2.charAt(0) }));
3003
2998
  }
3004
2999
  break;
3005
3000
  default:
3006
- Ze(t2);
3001
+ Xe(t2);
3007
3002
  }
3008
3003
  }
3009
3004
  }
3010
- function js(e2) {
3005
+ function Ws(e2) {
3011
3006
  switch (e2) {
3012
3007
  case 0:
3013
3008
  return "scheme";
@@ -3016,107 +3011,107 @@ function js(e2) {
3016
3011
  case 2:
3017
3012
  return "ipV4";
3018
3013
  default:
3019
- Ze(e2);
3014
+ Xe(e2);
3020
3015
  }
3021
3016
  }
3022
- var Ws = { ")": "(", "}": "{", "]": "[" };
3023
- function qs(e2, t2) {
3017
+ var qs = { ")": "(", "}": "{", "]": "[" };
3018
+ function Ls(e2, t2) {
3024
3019
  return { type: 0, startIdx: e2, state: t2, acceptStateReached: false, matchType: 0 };
3025
3020
  }
3026
3021
  function Bs(e2, t2) {
3027
3022
  return { type: 0, startIdx: e2, state: t2, acceptStateReached: false, matchType: 1 };
3028
3023
  }
3029
- function Ls(e2, t2) {
3024
+ function Gs(e2, t2) {
3030
3025
  return { type: 4, startIdx: e2, state: t2, acceptStateReached: false };
3031
3026
  }
3032
- function Gs(e2) {
3027
+ function Fs(e2) {
3033
3028
  return 0 === e2.type && 0 === e2.matchType;
3034
3029
  }
3035
- var Fs = function(e2) {
3030
+ var Hs = function(e2) {
3036
3031
  void 0 === e2 && (e2 = {}), this.idx = void 0 !== e2.idx ? e2.idx : -1, this.type = e2.type || "tag", this.name = e2.name || "", this.isOpening = !!e2.isOpening, this.isClosing = !!e2.isClosing;
3037
- }, Hs = new Fs(), Js = function(e2, t2) {
3038
- this.charIdx = 0, this.state = 0, this.currentDataIdx = 0, this.currentTag = Hs, this.html = e2, this.callbacks = t2;
3032
+ }, zs = new Hs(), Js = function(e2, t2) {
3033
+ this.charIdx = 0, this.state = 0, this.currentDataIdx = 0, this.currentTag = zs, this.html = e2, this.callbacks = t2;
3039
3034
  };
3040
- function zs(e2, t2) {
3041
- "<" === t2 && gn(e2);
3042
- }
3043
- function Ys(e2, t2, s2) {
3044
- "!" === t2 ? e2.state = 13 : "/" === t2 ? (e2.state = 2, e2.currentTag = new Fs(Ye(Ye({}, e2.currentTag), { isClosing: true }))) : "<" === t2 ? gn(e2) : rt(s2) ? (e2.state = 3, e2.currentTag = new Fs(Ye(Ye({}, e2.currentTag), { isOpening: true }))) : (e2.state = 0, e2.currentTag = Hs);
3035
+ function Ys(e2, t2) {
3036
+ "<" === t2 && vn(e2);
3045
3037
  }
3046
3038
  function Qs(e2, t2, s2) {
3047
- ct(s2) ? (e2.currentTag = new Fs(Ye(Ye({}, e2.currentTag), { name: bn(e2) })), e2.state = 4) : "<" === t2 ? gn(e2) : "/" === t2 ? (e2.currentTag = new Fs(Ye(Ye({}, e2.currentTag), { name: bn(e2) })), e2.state = 12) : ">" === t2 ? (e2.currentTag = new Fs(Ye(Ye({}, e2.currentTag), { name: bn(e2) })), vn(e2)) : rt(s2) || it(s2) || ":" === t2 || fn(e2);
3039
+ "!" === t2 ? e2.state = 13 : "/" === t2 ? (e2.state = 2, e2.currentTag = new Hs(Qe(Qe({}, e2.currentTag), { isClosing: true }))) : "<" === t2 ? vn(e2) : it(s2) ? (e2.state = 3, e2.currentTag = new Hs(Qe(Qe({}, e2.currentTag), { isOpening: true }))) : (e2.state = 0, e2.currentTag = zs);
3048
3040
  }
3049
3041
  function Vs(e2, t2, s2) {
3050
- ">" === t2 ? fn(e2) : rt(s2) ? e2.state = 3 : fn(e2);
3042
+ lt(s2) ? (e2.currentTag = new Hs(Qe(Qe({}, e2.currentTag), { name: wn(e2) })), e2.state = 4) : "<" === t2 ? vn(e2) : "/" === t2 ? (e2.currentTag = new Hs(Qe(Qe({}, e2.currentTag), { name: wn(e2) })), e2.state = 12) : ">" === t2 ? (e2.currentTag = new Hs(Qe(Qe({}, e2.currentTag), { name: wn(e2) })), bn(e2)) : it(s2) || ot(s2) || ":" === t2 || gn(e2);
3051
3043
  }
3052
3044
  function Ks(e2, t2, s2) {
3053
- var n2;
3054
- ct(s2) || ("/" === t2 ? e2.state = 12 : ">" === t2 ? vn(e2) : "<" === t2 ? gn(e2) : "=" === t2 || ot(s2) || ((n2 = s2) >= 0 && n2 <= 31 || 127 == n2) ? fn(e2) : e2.state = 5);
3045
+ ">" === t2 ? gn(e2) : it(s2) ? e2.state = 3 : gn(e2);
3055
3046
  }
3056
3047
  function Zs(e2, t2, s2) {
3057
- ct(s2) ? e2.state = 6 : "/" === t2 ? e2.state = 12 : "=" === t2 ? e2.state = 7 : ">" === t2 ? vn(e2) : "<" === t2 ? gn(e2) : ot(s2) && fn(e2);
3048
+ var n2;
3049
+ lt(s2) || ("/" === t2 ? e2.state = 12 : ">" === t2 ? bn(e2) : "<" === t2 ? vn(e2) : "=" === t2 || ct(s2) || ((n2 = s2) >= 0 && n2 <= 31 || 127 == n2) ? gn(e2) : e2.state = 5);
3058
3050
  }
3059
3051
  function Xs(e2, t2, s2) {
3060
- ct(s2) || ("/" === t2 ? e2.state = 12 : "=" === t2 ? e2.state = 7 : ">" === t2 ? vn(e2) : "<" === t2 ? gn(e2) : ot(s2) ? fn(e2) : e2.state = 5);
3052
+ lt(s2) ? e2.state = 6 : "/" === t2 ? e2.state = 12 : "=" === t2 ? e2.state = 7 : ">" === t2 ? bn(e2) : "<" === t2 ? vn(e2) : ct(s2) && gn(e2);
3061
3053
  }
3062
3054
  function en(e2, t2, s2) {
3063
- ct(s2) || ('"' === t2 ? e2.state = 8 : "'" === t2 ? e2.state = 9 : /[>=`]/.test(t2) ? fn(e2) : "<" === t2 ? gn(e2) : e2.state = 10);
3055
+ lt(s2) || ("/" === t2 ? e2.state = 12 : "=" === t2 ? e2.state = 7 : ">" === t2 ? bn(e2) : "<" === t2 ? vn(e2) : ct(s2) ? gn(e2) : e2.state = 5);
3064
3056
  }
3065
- function tn(e2, t2) {
3066
- '"' === t2 && (e2.state = 11);
3057
+ function tn(e2, t2, s2) {
3058
+ lt(s2) || ('"' === t2 ? e2.state = 8 : "'" === t2 ? e2.state = 9 : /[>=`]/.test(t2) ? gn(e2) : "<" === t2 ? vn(e2) : e2.state = 10);
3067
3059
  }
3068
3060
  function sn(e2, t2) {
3069
- "'" === t2 && (e2.state = 11);
3061
+ '"' === t2 && (e2.state = 11);
3070
3062
  }
3071
- function nn(e2, t2, s2) {
3072
- ct(s2) ? e2.state = 4 : ">" === t2 ? vn(e2) : "<" === t2 && gn(e2);
3063
+ function nn(e2, t2) {
3064
+ "'" === t2 && (e2.state = 11);
3073
3065
  }
3074
3066
  function an(e2, t2, s2) {
3075
- ct(s2) ? e2.state = 4 : "/" === t2 ? e2.state = 12 : ">" === t2 ? vn(e2) : "<" === t2 ? gn(e2) : (e2.state = 4, (function(e3) {
3067
+ lt(s2) ? e2.state = 4 : ">" === t2 ? bn(e2) : "<" === t2 && vn(e2);
3068
+ }
3069
+ function rn(e2, t2, s2) {
3070
+ lt(s2) ? e2.state = 4 : "/" === t2 ? e2.state = 12 : ">" === t2 ? bn(e2) : "<" === t2 ? vn(e2) : (e2.state = 4, (function(e3) {
3076
3071
  e3.charIdx--;
3077
3072
  })(e2));
3078
3073
  }
3079
- function rn(e2, t2) {
3080
- ">" === t2 ? (e2.currentTag = new Fs(Ye(Ye({}, e2.currentTag), { isClosing: true })), vn(e2)) : fn(e2);
3074
+ function on(e2, t2) {
3075
+ ">" === t2 ? (e2.currentTag = new Hs(Qe(Qe({}, e2.currentTag), { isClosing: true })), bn(e2)) : gn(e2);
3081
3076
  }
3082
- function on(e2) {
3077
+ function cn(e2) {
3083
3078
  var t2 = e2.html, s2 = e2.charIdx;
3084
- "--" === t2.slice(s2, s2 + 2) ? (e2.charIdx++, e2.currentTag = new Fs(Ye(Ye({}, e2.currentTag), { type: "comment" })), e2.state = 14) : "DOCTYPE" === t2.slice(s2, s2 + 7).toUpperCase() ? (e2.charIdx += 6, e2.currentTag = new Fs(Ye(Ye({}, e2.currentTag), { type: "doctype" })), e2.state = 20) : fn(e2);
3085
- }
3086
- function cn(e2, t2) {
3087
- "-" === t2 ? e2.state = 15 : ">" === t2 ? fn(e2) : e2.state = 16;
3079
+ "--" === t2.slice(s2, s2 + 2) ? (e2.charIdx++, e2.currentTag = new Hs(Qe(Qe({}, e2.currentTag), { type: "comment" })), e2.state = 14) : "DOCTYPE" === t2.slice(s2, s2 + 7).toUpperCase() ? (e2.charIdx += 6, e2.currentTag = new Hs(Qe(Qe({}, e2.currentTag), { type: "doctype" })), e2.state = 20) : gn(e2);
3088
3080
  }
3089
3081
  function ln(e2, t2) {
3090
- "-" === t2 ? e2.state = 18 : ">" === t2 ? fn(e2) : e2.state = 16;
3082
+ "-" === t2 ? e2.state = 15 : ">" === t2 ? gn(e2) : e2.state = 16;
3091
3083
  }
3092
3084
  function hn(e2, t2) {
3093
- "-" === t2 && (e2.state = 17);
3085
+ "-" === t2 ? e2.state = 18 : ">" === t2 ? gn(e2) : e2.state = 16;
3094
3086
  }
3095
3087
  function un(e2, t2) {
3096
- e2.state = "-" === t2 ? 18 : 16;
3088
+ "-" === t2 && (e2.state = 17);
3097
3089
  }
3098
3090
  function dn(e2, t2) {
3099
- ">" === t2 ? vn(e2) : "!" === t2 ? e2.state = 19 : "-" === t2 || (e2.state = 16);
3091
+ e2.state = "-" === t2 ? 18 : 16;
3100
3092
  }
3101
3093
  function pn(e2, t2) {
3102
- "-" === t2 ? e2.state = 17 : ">" === t2 ? vn(e2) : e2.state = 16;
3094
+ ">" === t2 ? bn(e2) : "!" === t2 ? e2.state = 19 : "-" === t2 || (e2.state = 16);
3103
3095
  }
3104
3096
  function mn(e2, t2) {
3105
- ">" === t2 ? vn(e2) : "<" === t2 && gn(e2);
3097
+ "-" === t2 ? e2.state = 17 : ">" === t2 ? bn(e2) : e2.state = 16;
3106
3098
  }
3107
- function fn(e2) {
3108
- e2.state = 0, e2.currentTag = Hs;
3099
+ function fn(e2, t2) {
3100
+ ">" === t2 ? bn(e2) : "<" === t2 && vn(e2);
3109
3101
  }
3110
3102
  function gn(e2) {
3111
- e2.state = 1, e2.currentTag = new Fs({ idx: e2.charIdx });
3103
+ e2.state = 0, e2.currentTag = zs;
3112
3104
  }
3113
3105
  function vn(e2) {
3106
+ e2.state = 1, e2.currentTag = new Hs({ idx: e2.charIdx });
3107
+ }
3108
+ function bn(e2) {
3114
3109
  var t2 = e2.html.slice(e2.currentDataIdx, e2.currentTag.idx);
3115
3110
  t2 && e2.callbacks.onText(t2, e2.currentDataIdx);
3116
3111
  var s2 = e2.currentTag;
3117
- "comment" === s2.type ? e2.callbacks.onComment(s2.idx) : "doctype" === s2.type ? e2.callbacks.onDoctype(s2.idx) : (s2.isOpening && e2.callbacks.onOpenTag(s2.name, s2.idx), s2.isClosing && e2.callbacks.onCloseTag(s2.name, s2.idx)), fn(e2), e2.currentDataIdx = e2.charIdx + 1;
3112
+ "comment" === s2.type ? e2.callbacks.onComment(s2.idx) : "doctype" === s2.type ? e2.callbacks.onDoctype(s2.idx) : (s2.isOpening && e2.callbacks.onOpenTag(s2.name, s2.idx), s2.isClosing && e2.callbacks.onCloseTag(s2.name, s2.idx)), gn(e2), e2.currentDataIdx = e2.charIdx + 1;
3118
3113
  }
3119
- function bn(e2) {
3114
+ function wn(e2) {
3120
3115
  var t2 = e2.currentTag.idx + (e2.currentTag.isClosing ? 2 : 1);
3121
3116
  return e2.html.slice(t2, e2.charIdx).toLowerCase();
3122
3117
  }
@@ -3124,16 +3119,16 @@ var yn = (function() {
3124
3119
  function e2(t2) {
3125
3120
  void 0 === t2 && (t2 = {}), this.version = e2.version, this.urls = {}, this.email = true, this.phone = true, this.hashtag = false, this.mention = false, this.newWindow = true, this.stripPrefix = { scheme: true, www: true }, this.stripTrailingSlash = true, this.decodePercentEncoding = true, this.truncate = { length: 0, location: "end" }, this.className = "", this.replaceFn = null, this.context = void 0, this.sanitizeHtml = false, this.tagBuilder = null, this.urls = (function(e3) {
3126
3121
  null == e3 && (e3 = true);
3127
- return Ve(e3) ? { schemeMatches: e3, tldMatches: e3, ipV4Matches: e3 } : { schemeMatches: !Ve(e3.schemeMatches) || e3.schemeMatches, tldMatches: !Ve(e3.tldMatches) || e3.tldMatches, ipV4Matches: !Ve(e3.ipV4Matches) || e3.ipV4Matches };
3128
- })(t2.urls), this.email = Ve(t2.email) ? t2.email : this.email, this.phone = Ve(t2.phone) ? t2.phone : this.phone, this.hashtag = t2.hashtag || this.hashtag, this.mention = t2.mention || this.mention, this.newWindow = Ve(t2.newWindow) ? t2.newWindow : this.newWindow, this.stripPrefix = (function(e3) {
3122
+ return Ke(e3) ? { schemeMatches: e3, tldMatches: e3, ipV4Matches: e3 } : { schemeMatches: !Ke(e3.schemeMatches) || e3.schemeMatches, tldMatches: !Ke(e3.tldMatches) || e3.tldMatches, ipV4Matches: !Ke(e3.ipV4Matches) || e3.ipV4Matches };
3123
+ })(t2.urls), this.email = Ke(t2.email) ? t2.email : this.email, this.phone = Ke(t2.phone) ? t2.phone : this.phone, this.hashtag = t2.hashtag || this.hashtag, this.mention = t2.mention || this.mention, this.newWindow = Ke(t2.newWindow) ? t2.newWindow : this.newWindow, this.stripPrefix = (function(e3) {
3129
3124
  null == e3 && (e3 = true);
3130
- return Ve(e3) ? { scheme: e3, www: e3 } : { scheme: !Ve(e3.scheme) || e3.scheme, www: !Ve(e3.www) || e3.www };
3131
- })(t2.stripPrefix), this.stripTrailingSlash = Ve(t2.stripTrailingSlash) ? t2.stripTrailingSlash : this.stripTrailingSlash, this.decodePercentEncoding = Ve(t2.decodePercentEncoding) ? t2.decodePercentEncoding : this.decodePercentEncoding, this.sanitizeHtml = t2.sanitizeHtml || false;
3125
+ return Ke(e3) ? { scheme: e3, www: e3 } : { scheme: !Ke(e3.scheme) || e3.scheme, www: !Ke(e3.www) || e3.www };
3126
+ })(t2.stripPrefix), this.stripTrailingSlash = Ke(t2.stripTrailingSlash) ? t2.stripTrailingSlash : this.stripTrailingSlash, this.decodePercentEncoding = Ke(t2.decodePercentEncoding) ? t2.decodePercentEncoding : this.decodePercentEncoding, this.sanitizeHtml = t2.sanitizeHtml || false;
3132
3127
  var s2 = this.mention;
3133
- if (false !== s2 && -1 === qt.indexOf(s2)) throw new Error("invalid `mention` cfg '".concat(s2, "' - see docs"));
3128
+ if (false !== s2 && -1 === Lt.indexOf(s2)) throw new Error("invalid `mention` cfg '".concat(s2, "' - see docs"));
3134
3129
  var n2, a2 = this.hashtag;
3135
3130
  if (false !== a2 && -1 === $t.indexOf(a2)) throw new Error("invalid `hashtag` cfg '".concat(a2, "' - see docs"));
3136
- this.truncate = "number" == typeof (n2 = t2.truncate) ? { length: n2, location: "end" } : Ye({ length: Number.POSITIVE_INFINITY, location: "end" }, n2), this.className = t2.className || this.className, this.replaceFn = t2.replaceFn || this.replaceFn, this.context = t2.context || this;
3131
+ this.truncate = "number" == typeof (n2 = t2.truncate) ? { length: n2, location: "end" } : Qe({ length: Number.POSITIVE_INFINITY, location: "end" }, n2), this.className = t2.className || this.className, this.replaceFn = t2.replaceFn || this.replaceFn, this.context = t2.context || this;
3137
3132
  }
3138
3133
  return e2.link = function(t2, s2) {
3139
3134
  return new e2(s2).link(t2);
@@ -3146,70 +3141,70 @@ var yn = (function() {
3146
3141
  var a3 = e4.charAt(s3.charIdx), r2 = e4.charCodeAt(s3.charIdx);
3147
3142
  switch (s3.state) {
3148
3143
  case 0:
3149
- zs(s3, a3);
3144
+ Ys(s3, a3);
3150
3145
  break;
3151
3146
  case 1:
3152
- Ys(s3, a3, r2);
3147
+ Qs(s3, a3, r2);
3153
3148
  break;
3154
3149
  case 2:
3155
- Vs(s3, a3, r2);
3150
+ Ks(s3, a3, r2);
3156
3151
  break;
3157
3152
  case 3:
3158
- Qs(s3, a3, r2);
3153
+ Vs(s3, a3, r2);
3159
3154
  break;
3160
3155
  case 4:
3161
- Ks(s3, a3, r2);
3156
+ Zs(s3, a3, r2);
3162
3157
  break;
3163
3158
  case 5:
3164
- Zs(s3, a3, r2);
3159
+ Xs(s3, a3, r2);
3165
3160
  break;
3166
3161
  case 6:
3167
- Xs(s3, a3, r2);
3162
+ en(s3, a3, r2);
3168
3163
  break;
3169
3164
  case 7:
3170
- en(s3, a3, r2);
3165
+ tn(s3, a3, r2);
3171
3166
  break;
3172
3167
  case 8:
3173
- tn(s3, a3);
3168
+ sn(s3, a3);
3174
3169
  break;
3175
3170
  case 9:
3176
- sn(s3, a3);
3171
+ nn(s3, a3);
3177
3172
  break;
3178
3173
  case 10:
3179
- nn(s3, a3, r2);
3174
+ an(s3, a3, r2);
3180
3175
  break;
3181
3176
  case 11:
3182
- an(s3, a3, r2);
3177
+ rn(s3, a3, r2);
3183
3178
  break;
3184
3179
  case 12:
3185
- rn(s3, a3);
3180
+ on(s3, a3);
3186
3181
  break;
3187
3182
  case 13:
3188
- on(s3);
3183
+ cn(s3);
3189
3184
  break;
3190
3185
  case 14:
3191
- cn(s3, a3);
3186
+ ln(s3, a3);
3192
3187
  break;
3193
3188
  case 15:
3194
- ln(s3, a3);
3189
+ hn(s3, a3);
3195
3190
  break;
3196
3191
  case 16:
3197
- hn(s3, a3);
3192
+ un(s3, a3);
3198
3193
  break;
3199
3194
  case 17:
3200
- un(s3, a3);
3195
+ dn(s3, a3);
3201
3196
  break;
3202
3197
  case 18:
3203
- dn(s3, a3);
3198
+ pn(s3, a3);
3204
3199
  break;
3205
3200
  case 19:
3206
- pn(s3, a3);
3201
+ mn(s3, a3);
3207
3202
  break;
3208
3203
  case 20:
3209
- mn(s3, a3);
3204
+ fn(s3, a3);
3210
3205
  break;
3211
3206
  default:
3212
- Ze(s3.state);
3207
+ Xe(s3.state);
3213
3208
  }
3214
3209
  s3.charIdx++;
3215
3210
  }
@@ -3255,7 +3250,7 @@ var yn = (function() {
3255
3250
  }, onDoctype: function() {
3256
3251
  } }), a2 = this.compactMatches(a2), a2 = this.removeUnwantedMatches(a2);
3257
3252
  }, e2.prototype.compactMatches = function(e3) {
3258
- e3.sort(wn);
3253
+ e3.sort(kn);
3259
3254
  for (var t2 = 0; t2 < e3.length - 1; ) {
3260
3255
  var s2 = e3[t2], n2 = s2.getOffset(), a2 = s2.getMatchedText().length;
3261
3256
  if (t2 + 1 < e3.length && e3[t2 + 1].getOffset() === n2) {
@@ -3265,129 +3260,129 @@ var yn = (function() {
3265
3260
  }
3266
3261
  return e3;
3267
3262
  }, e2.prototype.removeUnwantedMatches = function(e3) {
3268
- return this.hashtag || Ke(e3, function(e4) {
3263
+ return this.hashtag || Ze(e3, function(e4) {
3269
3264
  return "hashtag" === e4.getType();
3270
- }), this.email || Ke(e3, function(e4) {
3265
+ }), this.email || Ze(e3, function(e4) {
3271
3266
  return "email" === e4.getType();
3272
- }), this.phone || Ke(e3, function(e4) {
3267
+ }), this.phone || Ze(e3, function(e4) {
3273
3268
  return "phone" === e4.getType();
3274
- }), this.mention || Ke(e3, function(e4) {
3269
+ }), this.mention || Ze(e3, function(e4) {
3275
3270
  return "mention" === e4.getType();
3276
- }), this.urls.schemeMatches || Ke(e3, function(e4) {
3271
+ }), this.urls.schemeMatches || Ze(e3, function(e4) {
3277
3272
  return "url" === e4.getType() && "scheme" === e4.getUrlMatchType();
3278
- }), this.urls.tldMatches || Ke(e3, function(e4) {
3273
+ }), this.urls.tldMatches || Ze(e3, function(e4) {
3279
3274
  return "url" === e4.getType() && "tld" === e4.getUrlMatchType();
3280
- }), this.urls.ipV4Matches || Ke(e3, function(e4) {
3275
+ }), this.urls.ipV4Matches || Ze(e3, function(e4) {
3281
3276
  return "url" === e4.getType() && "ipV4" === e4.getUrlMatchType();
3282
3277
  }), e3;
3283
3278
  }, e2.prototype.parseText = function(e3, t2) {
3284
3279
  t2 = t2 || 0;
3285
3280
  for (var s2 = (function(e4, t3) {
3286
- for (var s3 = new zt(e4, t3); s3.charIdx < s3.text.length; s3.charIdx++) {
3281
+ for (var s3 = new Yt(e4, t3); s3.charIdx < s3.text.length; s3.charIdx++) {
3287
3282
  var n3 = e4.charAt(s3.charIdx), a3 = e4.charCodeAt(s3.charIdx);
3288
- if (0 === s3.stateMachines.length) Yt(s3, n3, a3);
3283
+ if (0 === s3.stateMachines.length) Qt(s3, n3, a3);
3289
3284
  else {
3290
3285
  for (var r2 = s3.stateMachines.length - 1; r2 >= 0; r2--) {
3291
3286
  var i2 = s3.stateMachines[r2];
3292
3287
  switch (i2.state) {
3293
3288
  case 11:
3294
- es(s3, i2, a3);
3289
+ ts(s3, i2, a3);
3295
3290
  break;
3296
3291
  case 12:
3297
- ts(s3, i2, a3);
3292
+ ss(s3, i2, a3);
3298
3293
  break;
3299
3294
  case 0:
3300
- Qt(s3, i2, a3);
3295
+ Vt(s3, i2, a3);
3301
3296
  break;
3302
3297
  case 1:
3303
- Vt(s3, i2, a3);
3298
+ Kt(s3, i2, a3);
3304
3299
  break;
3305
3300
  case 2:
3306
- Kt(s3, i2, a3);
3301
+ Zt(s3, i2, a3);
3307
3302
  break;
3308
3303
  case 3:
3309
- Zt(s3, i2, a3);
3304
+ Xt(s3, i2, a3);
3310
3305
  break;
3311
3306
  case 4:
3312
- Xt(s3, i2, 0, a3);
3307
+ es(s3, i2, 0, a3);
3313
3308
  break;
3314
3309
  case 5:
3315
- ss(s3, i2, a3);
3310
+ ns(s3, i2, a3);
3316
3311
  break;
3317
3312
  case 6:
3318
- ns(s3, i2, 0, a3);
3313
+ as(s3, i2, 0, a3);
3319
3314
  break;
3320
3315
  case 7:
3321
- as(s3, i2, 0, a3);
3316
+ rs(s3, i2, 0, a3);
3322
3317
  break;
3323
3318
  case 13:
3324
- rs(s3, i2, a3);
3319
+ is(s3, i2, a3);
3325
3320
  break;
3326
3321
  case 14:
3327
- is(s3, i2, a3);
3322
+ os(s3, i2, a3);
3328
3323
  break;
3329
3324
  case 8:
3330
- os(s3, i2, a3);
3325
+ cs(s3, i2, a3);
3331
3326
  break;
3332
3327
  case 9:
3333
- cs(s3, i2, a3);
3328
+ ls(s3, i2, a3);
3334
3329
  break;
3335
3330
  case 10:
3336
- ls(s3, i2, a3);
3331
+ hs(s3, i2, a3);
3337
3332
  break;
3338
3333
  case 15:
3339
- hs(s3, i2, n3, a3);
3334
+ us(s3, i2, n3, a3);
3340
3335
  break;
3341
3336
  case 16:
3342
- us(s3, i2, n3, a3);
3337
+ ds(s3, i2, n3, a3);
3343
3338
  break;
3344
3339
  case 17:
3345
- ds(s3, i2, n3, a3);
3340
+ ps(s3, i2, n3, a3);
3346
3341
  break;
3347
3342
  case 18:
3348
- ps(s3, i2, n3, a3);
3343
+ ms(s3, i2, n3, a3);
3349
3344
  break;
3350
3345
  case 19:
3351
- ms(s3, i2, n3, a3);
3346
+ fs(s3, i2, n3, a3);
3352
3347
  break;
3353
3348
  case 20:
3354
- fs(s3, i2, a3);
3349
+ gs(s3, i2, a3);
3355
3350
  break;
3356
3351
  case 21:
3357
- gs(s3, i2, a3);
3352
+ vs(s3, i2, a3);
3358
3353
  break;
3359
3354
  case 22:
3360
- vs(s3, i2, a3);
3355
+ bs(s3, i2, a3);
3361
3356
  break;
3362
3357
  case 23:
3363
- bs(s3, i2, a3);
3358
+ ws(s3, i2, a3);
3364
3359
  break;
3365
3360
  case 24:
3366
3361
  ys(s3, i2, a3);
3367
3362
  break;
3368
3363
  case 25:
3369
- ws(s3, i2, a3);
3364
+ ks(s3, i2, a3);
3370
3365
  break;
3371
3366
  case 26:
3372
- ks(s3, i2, a3);
3367
+ Ss(s3, i2, a3);
3373
3368
  break;
3374
3369
  case 27:
3375
3370
  Cs(s3, i2, a3);
3376
3371
  break;
3377
3372
  case 28:
3378
- Ts(s3, i2, a3);
3373
+ Is(s3, i2, a3);
3379
3374
  break;
3380
3375
  case 29:
3381
- Is(s3, i2, a3);
3376
+ Ts(s3, i2, a3);
3382
3377
  break;
3383
3378
  case 30:
3384
3379
  xs(s3, i2, a3);
3385
3380
  break;
3386
3381
  case 31:
3387
- Ss(s3, i2, a3);
3382
+ Es(s3, i2, a3);
3388
3383
  break;
3389
3384
  case 32:
3390
- Ms(s3, i2, n3, a3);
3385
+ _s(s3, i2, n3, a3);
3391
3386
  break;
3392
3387
  case 33:
3393
3388
  As(s3, i2, a3);
@@ -3396,33 +3391,33 @@ var yn = (function() {
3396
3391
  Ns(s3, i2, a3);
3397
3392
  break;
3398
3393
  case 35:
3399
- Rs(s3, i2, a3);
3394
+ Ds(s3, i2, a3);
3400
3395
  break;
3401
3396
  case 36:
3402
- _s(s3, i2, 0, a3);
3397
+ Rs(s3, i2, 0, a3);
3403
3398
  break;
3404
3399
  case 37:
3405
- Es(s3, i2, n3, a3);
3400
+ Ms(s3, i2, n3, a3);
3406
3401
  break;
3407
3402
  case 38:
3408
- Ds(s3, i2, 0, a3);
3403
+ Os(s3, i2, 0, a3);
3409
3404
  break;
3410
3405
  case 39:
3411
- Os(s3, i2, n3, a3);
3406
+ Ps(s3, i2, n3, a3);
3412
3407
  break;
3413
3408
  case 40:
3414
- Ps(s3, i2, a3);
3409
+ js(s3, i2, a3);
3415
3410
  break;
3416
3411
  case 41:
3417
3412
  $s(s3, i2, a3);
3418
3413
  break;
3419
3414
  default:
3420
- Ze(i2.state);
3415
+ Xe(i2.state);
3421
3416
  }
3422
3417
  }
3423
3418
  if (!s3.hasSchemeUrlMachine() && s3.charIdx > 0 && yt(a3)) {
3424
3419
  var o2 = s3.text.charCodeAt(s3.charIdx - 1);
3425
- yt(o2) || s3.addMachine(qs(s3.charIdx, 0));
3420
+ yt(o2) || s3.addMachine(Ls(s3.charIdx, 0));
3426
3421
  }
3427
3422
  }
3428
3423
  }
@@ -3442,92 +3437,92 @@ var yn = (function() {
3442
3437
  return s2.push(e3.substring(n2)), s2.join("");
3443
3438
  }, e2.prototype.createMatchReturnVal = function(e3) {
3444
3439
  var t2;
3445
- return this.replaceFn && (t2 = this.replaceFn.call(this.context, e3)), "string" == typeof t2 ? t2 : false === t2 ? e3.getMatchedText() : t2 instanceof et ? t2.toAnchorString() : e3.buildTag().toAnchorString();
3440
+ return this.replaceFn && (t2 = this.replaceFn.call(this.context, e3)), "string" == typeof t2 ? t2 : false === t2 ? e3.getMatchedText() : t2 instanceof tt ? t2.toAnchorString() : e3.buildTag().toAnchorString();
3446
3441
  }, e2.prototype.getTagBuilder = function() {
3447
3442
  var e3 = this.tagBuilder;
3448
- return e3 || (e3 = this.tagBuilder = new nt({ newWindow: this.newWindow, truncate: this.truncate, className: this.className })), e3;
3443
+ return e3 || (e3 = this.tagBuilder = new at({ newWindow: this.newWindow, truncate: this.truncate, className: this.className })), e3;
3449
3444
  }, e2.version = "4.1.5", e2;
3450
3445
  })();
3451
- function wn(e2, t2) {
3446
+ function kn(e2, t2) {
3452
3447
  return e2.getOffset() - t2.getOffset();
3453
3448
  }
3454
- function kn(e2, t2 = e2) {
3449
+ function Sn(e2, t2 = e2) {
3455
3450
  return { type: "autolink", url: e2, text: t2 };
3456
3451
  }
3457
- const Cn = je(/<!!mention:([^>\s]*?)\|(.*?)>/gm, ([e2, t2, s2]) => /* @__PURE__ */ (function(e3, t3) {
3452
+ const Cn = We(/<!!mention:([^>\s]*?)\|(.*?)>/gm, ([e2, t2, s2]) => /* @__PURE__ */ (function(e3, t3) {
3458
3453
  return { type: "mention", id: e3, text: t3 };
3459
- })(decodeURIComponent(t2), s2)), Tn = je(/<!!customemoji:(.*?)>/gm, ([e2, t2]) => /* @__PURE__ */ (function(e3) {
3454
+ })(decodeURIComponent(t2), s2)), In = We(/<!!customemoji:(.*?)>/gm, ([e2, t2]) => /* @__PURE__ */ (function(e3) {
3460
3455
  return { type: "customemoji", text: e3 };
3461
- })(t2)), In = je(/<((?:https?|mailto):.*?)\|(.*?)>/gi, ([e2, t2, s2]) => /* @__PURE__ */ (function(e3, t3 = []) {
3456
+ })(t2)), Tn = We(/<((?:https?|mailto):.*?)\|(.*?)>/gi, ([e2, t2, s2]) => /* @__PURE__ */ (function(e3, t3 = []) {
3462
3457
  return { type: "link", url: e3, children: t3 };
3463
- })(t2, [s2])), xn = je(/<actionlink:([^|]+)[|]([^>]*)>/gi, ([e2, t2, s2]) => {
3464
- const { action: n2, params: a2 } = En(t2);
3458
+ })(t2, [s2])), xn = We(/<actionlink:([^|]+)[|]([^>]*)>/gi, ([e2, t2, s2]) => {
3459
+ const { action: n2, params: a2 } = Mn(t2);
3465
3460
  return /* @__PURE__ */ (function(e3, t3, s3 = []) {
3466
3461
  return { type: "actionlink", action: e3, params: t3, children: s3 };
3467
3462
  })(n2, a2, [s2]);
3468
- }), Sn = je(/<actionbutton:([^|]+)[|]([^>]*)>/gi, ([e2, t2, s2]) => {
3469
- const { action: n2, params: a2 } = En(t2);
3463
+ }), En = We(/<actionbutton:([^|]+)[|]([^>]*)>/gi, ([e2, t2, s2]) => {
3464
+ const { action: n2, params: a2 } = Mn(t2);
3470
3465
  return /* @__PURE__ */ (function(e3, t3, s3 = []) {
3471
3466
  return { type: "actionbutton", action: e3, params: t3, children: s3 };
3472
3467
  })(n2, a2, [s2]);
3473
3468
  });
3474
- function En(e2) {
3469
+ function Mn(e2) {
3475
3470
  const t2 = e2.indexOf("?");
3476
3471
  if (-1 === t2) return { action: e2, params: {} };
3477
3472
  return { action: e2.slice(0, t2), params: Object.fromEntries(new URLSearchParams(e2.slice(t2))) };
3478
3473
  }
3479
- const Mn = je(/(?:^|\n)(?:\s*[-*+]\s+[^\n]+(?:\n|$))+/g, ([e2]) => /* @__PURE__ */ (function(e3 = []) {
3474
+ const _n = We(/(?:^|\n)(?:\s*[-*+]\s+[^\n]+(?:\n|$))+/g, ([e2]) => /* @__PURE__ */ (function(e3 = []) {
3480
3475
  return { type: "bulletlist", children: e3 };
3481
- })([e2.startsWith("\n") ? e2.slice(1) : e2])), An = je(/^\s*[-*+]\s+([^\n]+)(?:\n|$)/gm, ([e2, t2]) => ({ type: "bulletpoint", children: [t2] })), Nn = (e2) => {
3476
+ })([e2.startsWith("\n") ? e2.slice(1) : e2])), An = We(/^\s*[-*+]\s+([^\n]+)(?:\n|$)/gm, ([e2, t2]) => ({ type: "bulletpoint", children: [t2] })), Nn = (e2) => {
3482
3477
  const t2 = /(?:^|[^-:/\w])([(+]?[0-9](?:[-_+ ().]?[0-9]){5,11}[0-9])(?:[^-:/\w]|$)/g;
3483
3478
  let s2 = 0;
3484
3479
  const n2 = [];
3485
3480
  for (const a2 of Z(e2, t2)) {
3486
3481
  const t3 = a2[0], r2 = a2[1], i2 = t3.startsWith(r2) ? a2.index : a2.index + 1;
3487
3482
  i2 - s2 > 0 && n2.push(e2.substring(s2, i2));
3488
- const o2 = kn("tel:" + r2.replace(/[^0-9+]/g, ""), r2);
3483
+ const o2 = Sn("tel:" + r2.replace(/[^0-9+]/g, ""), r2);
3489
3484
  n2.push(o2), s2 = i2 + r2.length;
3490
3485
  }
3491
3486
  return s2 < e2.length && n2.push(e2.substring(s2)), n2;
3492
- }, Rn = (e2) => In(e2).flatMap((e3) => "string" == typeof e3 ? _n(e3) : ["<", ..._n(e3.url), ..._n("|" + e3.children[0] + ">")]), _n = (e2) => {
3487
+ }, Dn = (e2) => Tn(e2).flatMap((e3) => "string" == typeof e3 ? Rn(e3) : ["<", ...Rn(e3.url), ...Rn("|" + e3.children[0] + ">")]), Rn = (e2) => {
3493
3488
  const t2 = yn.parse(e2, { urls: true, email: true, phone: false, hashtag: false, mention: false }), s2 = [];
3494
3489
  let n2 = 0;
3495
3490
  for (const a2 of t2) {
3496
3491
  const t3 = a2.getOffset(), r2 = a2.getMatchedText(), i2 = r2.length;
3497
3492
  let o2 = r2;
3498
- a2 instanceof Ot ? o2 = "mailto:" + a2.getEmail() : a2 instanceof Nt && (o2 = a2.getUrl()), t3 > n2 && s2.push(e2.substring(n2, t3)), s2.push(kn(o2, r2)), n2 = t3 + i2;
3493
+ a2 instanceof Pt ? o2 = "mailto:" + a2.getEmail() : a2 instanceof Nt && (o2 = a2.getUrl()), t3 > n2 && s2.push(e2.substring(n2, t3)), s2.push(Sn(o2, r2)), n2 = t3 + i2;
3499
3494
  }
3500
3495
  return n2 < e2.length && s2.push(e2.substring(n2)), s2;
3501
- }, Dn = ["Codeblock", "Codespan", "FormattedLink", "Wikitext", "Autolink", "Actions", "Mention", "Mention", "BulletPoint", "CustomEmoji"];
3502
- function On(e2 = { except: [] }) {
3496
+ }, On = ["Codeblock", "Codespan", "FormattedLink", "Wikitext", "Autolink", "Actions", "Mention", "Mention", "BulletPoint", "CustomEmoji"];
3497
+ function Pn(e2 = { except: [] }) {
3503
3498
  var _a2;
3504
- const t2 = { multilineSteps: [], singlelineSteps: [] }, s2 = (_a2 = e2.except) != null ? _a2 : Dn.filter((t3) => !e2.only.includes(t3));
3505
- return s2.includes("BulletPoint") || t2.multilineSteps.push(Mn, An), s2.includes("Mention") || t2.singlelineSteps.push(Cn), s2.includes("CustomEmoji") || t2.singlelineSteps.push(Tn), s2.includes("Codespan") || t2.multilineSteps.push(je(/```([^]+?)```/g, ([e3, t3]) => ({ type: "codespan", text: t3.replace(/<!!mention:.*?\|([^>]*)>/gim, "@$1").replace(/<!!customemoji:(.*?)>/gim, "$1") }))), s2.includes("FormattedLink") || t2.singlelineSteps.push(In), s2.includes("Actions") || (t2.singlelineSteps.push(xn), t2.singlelineSteps.push(Sn)), s2.includes("Wikitext") || t2.singlelineSteps.push(Ge), s2.includes("Autolink") || t2.singlelineSteps.push(Rn, Nn), t2;
3499
+ const t2 = { multilineSteps: [], singlelineSteps: [] }, s2 = (_a2 = e2.except) != null ? _a2 : On.filter((t3) => !e2.only.includes(t3));
3500
+ return s2.includes("BulletPoint") || t2.multilineSteps.push(_n, An), s2.includes("Mention") || t2.singlelineSteps.push(Cn), s2.includes("CustomEmoji") || t2.singlelineSteps.push(In), s2.includes("Codespan") || t2.multilineSteps.push(We(/```([^]+?)```/g, ([e3, t3]) => ({ type: "codespan", text: t3.replace(/<!!mention:.*?\|([^>]*)>/gim, "@$1").replace(/<!!customemoji:(.*?)>/gim, "$1") }))), s2.includes("FormattedLink") || t2.singlelineSteps.push(Tn), s2.includes("Actions") || (t2.singlelineSteps.push(xn), t2.singlelineSteps.push(En)), s2.includes("Wikitext") || t2.singlelineSteps.push(Fe), s2.includes("Autolink") || t2.singlelineSteps.push(Dn, Nn), t2;
3506
3501
  }
3507
- const Pn = (function(e2) {
3502
+ const jn = (function(e2) {
3508
3503
  const t2 = RegExp(`[^${e2}]+${e2}?|${e2}`, "g");
3509
3504
  return (e3) => Array.from(e3.match(t2) || []);
3510
3505
  })("\n");
3511
3506
  function $n(e2, t2 = { except: [] }) {
3512
3507
  let s2 = (function(e3, t3) {
3513
3508
  let s3 = [e3];
3514
- return s3 = jn(s3, t3.multilineSteps), s3 = jn(s3, [Pn]), s3 = jn(s3, t3.singlelineSteps), s3 = Wn(s3), s3;
3515
- })(e2, On(t2));
3516
- return s2 = qn(s2, false), s2;
3509
+ return s3 = Wn(s3, t3.multilineSteps), s3 = Wn(s3, [jn]), s3 = Wn(s3, t3.singlelineSteps), s3 = qn(s3), s3;
3510
+ })(e2, Pn(t2));
3511
+ return s2 = Ln(s2, false), s2;
3517
3512
  }
3518
3513
  function Un(e2) {
3519
3514
  return $n(e2, { except: ["FormattedLink", "Actions"] });
3520
3515
  }
3521
- function jn(e2, t2) {
3516
+ function Wn(e2, t2) {
3522
3517
  return t2.reduce((e3, t3) => Ue(e3, t3), e2);
3523
3518
  }
3524
- function Wn(e2) {
3519
+ function qn(e2) {
3525
3520
  const t2 = [];
3526
3521
  let s2 = -1;
3527
- for (const n2 of e2) "string" == typeof n2 ? "string" == typeof t2[s2] ? t2[s2] += n2 : t2[++s2] = n2 : t2[++s2] = "children" in n2 ? __spreadProps(__spreadValues({}, n2), { children: Wn(n2.children) }) : n2;
3522
+ for (const n2 of e2) "string" == typeof n2 ? "string" == typeof t2[s2] ? t2[s2] += n2 : t2[++s2] = n2 : t2[++s2] = "children" in n2 ? __spreadProps(__spreadValues({}, n2), { children: qn(n2.children) }) : n2;
3528
3523
  return t2;
3529
3524
  }
3530
- function qn(e2, t2) {
3525
+ function Ln(e2, t2) {
3531
3526
  const s2 = [];
3532
3527
  let n2 = [];
3533
3528
  for (let a2 = 0; a2 < e2.length; a2++) {
@@ -3535,82 +3530,127 @@ function qn(e2, t2) {
3535
3530
  if ("string" == typeof r2) n2.push(r2);
3536
3531
  else if ("children" in r2) {
3537
3532
  n2.length > 0 && (s2.push(n2.join("")), n2 = []);
3538
- const e3 = qn(r2.children, t2 || "link" === r2.type || "actionbutton" === r2.type || "actionlink" === r2.type);
3533
+ const e3 = Ln(r2.children, t2 || "link" === r2.type || "actionbutton" === r2.type || "actionlink" === r2.type);
3539
3534
  s2.push(__spreadProps(__spreadValues({}, r2), { children: e3 }));
3540
3535
  } else "autolink" === r2.type && t2 ? n2.push(r2.text) : (n2.length > 0 && (s2.push(n2.join("")), n2 = []), s2.push(r2));
3541
3536
  }
3542
3537
  return n2.length > 0 && (s2.push(n2.join("")), n2 = []), s2;
3543
3538
  }
3544
- class Bn {
3545
- constructor(e2, t2, s2, n2) {
3546
- this.emoji = e2, this.messageId = t2, this.conversationId = s2, this._realtimeClient = n2;
3547
- }
3548
- get brandedMessageId() {
3549
- return this.messageId;
3550
- }
3551
- get brandedConversationId() {
3552
- return this.conversationId;
3553
- }
3554
- add() {
3555
- return __async(this, null, function* () {
3556
- const e2 = yield this._realtimeClient.call({ method: "PUT", path: ["conversations", this.brandedConversationId, "messages", this.brandedMessageId, "reactions", this.emoji, this._realtimeClient.userId], data: {} });
3557
- d(`Add ${this.emoji} reaction on message ${this.messageId} in conversation ${this.conversationId}`, e2);
3558
- });
3559
- }
3560
- remove() {
3561
- return __async(this, null, function* () {
3562
- const e2 = yield this._realtimeClient.call({ method: "DELETE", path: ["conversations", this.brandedConversationId, "messages", this.brandedMessageId, "reactions", this.emoji, this._realtimeClient.userId], data: {} });
3563
- (e2.ok || "server" !== e2.where || 404 !== e2.value.status) && d(`Remove ${this.emoji} reaction from message ${this.messageId} in conversation ${this.conversationId}`, e2);
3564
- });
3539
+ function Bn(e2, t2, s2) {
3540
+ return e2.primary < t2.primary ? "ASC" === s2.primaryOrder ? "before" : "after" : e2.primary > t2.primary ? "ASC" === s2.primaryOrder ? "after" : "before" : e2.secondary < t2.secondary ? "ASC" === s2.secondaryOrder ? "before" : "after" : e2.secondary > t2.secondary ? "ASC" === s2.secondaryOrder ? "after" : "before" : "equal";
3541
+ }
3542
+ function Gn(e2, t2, s2, n2) {
3543
+ if (0 === e2.length) return 0;
3544
+ var a2, r2, i2;
3545
+ a2 = 0, r2 = t2, i2 = e2.length - 1;
3546
+ const o2 = (t3) => {
3547
+ const a3 = e2[t3];
3548
+ return "after" === Bn(s2.getSortPointer(a3), n2, s2);
3549
+ };
3550
+ if (o2(t2 = Math.max(a2, Math.min(r2, i2)))) {
3551
+ for (let e3 = t2 - 1; e3 >= 0; e3--) if (!o2(e3)) return e3 + 1;
3552
+ return 0;
3565
3553
  }
3554
+ for (let s3 = t2 + 1; s3 < e2.length; s3++) if (o2(s3)) return s3;
3555
+ return e2.length;
3566
3556
  }
3567
- class Ln {
3568
- constructor(e2, t2, s2) {
3569
- this.id = e2, this.conversationId = t2, this._realtimeClient = s2;
3557
+ function Fn(e2, t2) {
3558
+ return t2 >= e2.length ? e2 : x(e2.slice(0, t2));
3559
+ }
3560
+ class Hn {
3561
+ constructor(e2, t2, s2, n2, a2) {
3562
+ this._onSnapshot = t2, this._pageSize = s2, this._maxPageSize = n2, this._sort = a2, this._windowStatus = void 0, this._loadMoreDeferred = void 0, this._connectedDefer = r(), this._underlyingSubscription = e2(this.handleSnapshot.bind(this)), this._underlyingSubscription.connected.catch((e3) => this._connectedDefer.reject(e3));
3570
3563
  }
3571
- get brandedId() {
3572
- return this.id;
3564
+ updateWindowStatusAndGetState(e2, t2) {
3565
+ var _a2, _b2;
3566
+ if (null === e2) {
3567
+ const s3 = { type: "active", latestSnapshot: e2, loadedAll: t2 };
3568
+ return this._windowStatus = void 0, s3;
3569
+ }
3570
+ if (0 === e2.length) {
3571
+ const s3 = { type: "active", latestSnapshot: e2, loadedAll: t2 };
3572
+ return this._windowStatus && (this._windowStatus.lastState = s3), s3;
3573
+ }
3574
+ if (void 0 === this._windowStatus) {
3575
+ const s3 = Fn(e2, this._pageSize), n3 = s3[s3.length - 1], a3 = this._sort.getSortPointer(n3), r3 = t2 ? 0 : this._pageSize - s3.length, i3 = { type: "active", latestSnapshot: s3, loadedAll: t2 && e2 === s3 };
3576
+ return this._windowStatus = { endPoint: a3, loadingMore: r3, lastState: i3 }, i3;
3577
+ }
3578
+ const s2 = Gn(e2, (_b2 = (_a2 = this._windowStatus.lastState.latestSnapshot) == null ? void 0 : _a2.length) != null ? _b2 : this._pageSize, this._sort, this._windowStatus.endPoint), n2 = Math.min(s2 + this._windowStatus.loadingMore, e2.length), a2 = (function(e3, t3, s3) {
3579
+ if (e3 === t3) return false;
3580
+ if (null === e3 || null === t3) return true;
3581
+ if (e3.length !== s3) return true;
3582
+ for (let n3 = 0; n3 < s3; n3++) if (e3[n3] !== t3[n3]) return true;
3583
+ return false;
3584
+ })(this._windowStatus.lastState.latestSnapshot, e2, n2), r2 = t2 && n2 === e2.length, i2 = this._windowStatus.lastState.loadedAll !== r2;
3585
+ if (!a2 && !i2) return this._windowStatus.lastState;
3586
+ const o2 = Fn(e2, n2), c2 = { type: "active", latestSnapshot: o2, loadedAll: r2 };
3587
+ if (0 === o2.length) return c2;
3588
+ const l2 = o2.length - s2, h2 = c2.loadedAll ? 0 : this._windowStatus.loadingMore - l2;
3589
+ if (h2 === this._windowStatus.loadingMore) return this._windowStatus = __spreadProps(__spreadValues({}, this._windowStatus), { lastState: c2 }), c2;
3590
+ const u2 = o2[o2.length - 1], d2 = this._sort.getSortPointer(u2), p2 = (m2 = d2, f2 = this._windowStatus.endPoint, g2 = this._sort, "after" === Bn(m2, f2, g2) ? m2 : f2);
3591
+ var m2, f2, g2;
3592
+ return this._windowStatus = { endPoint: p2, loadingMore: h2, lastState: c2 }, c2;
3593
+ }
3594
+ handleSnapshot(e2, t2) {
3595
+ var _a2, _b2;
3596
+ const s2 = (_a2 = this._windowStatus) == null ? void 0 : _a2.lastState, n2 = this.updateWindowStatusAndGetState(e2, t2);
3597
+ if (this._connectedDefer.resolve(n2), n2 !== s2 && ((_b2 = this._onSnapshot) == null ? void 0 : _b2.call(this, n2.latestSnapshot, n2.loadedAll)), this._loadMoreDeferred && void 0 === this._windowStatus && (this._loadMoreDeferred.resolve(), this._loadMoreDeferred = void 0), this._loadMoreDeferred && this._windowStatus && this._windowStatus.loadingMore <= 0 && (this._loadMoreDeferred.resolve(), this._loadMoreDeferred = void 0), this._windowStatus && this._windowStatus.loadingMore > 0) {
3598
+ const e3 = this._windowStatus.loadingMore;
3599
+ setTimeout(() => this._underlyingSubscription.loadMore(e3));
3600
+ }
3573
3601
  }
3574
- get brandedConversationId() {
3575
- return this.conversationId;
3602
+ get state() {
3603
+ const e2 = this._underlyingSubscription.state;
3604
+ return "active" === e2.type && null !== e2 ? this._windowStatus ? this._windowStatus.lastState : this.updateWindowStatusAndGetState(e2.latestSnapshot, e2.loadedAll) : e2;
3576
3605
  }
3577
- reaction(e2) {
3578
- if ("string" != typeof e2) throw new Error(`Creating ReactionRef failed because emoji "${e2}" is not a string`);
3579
- if ("" === e2) throw new Error(`Creating ReactionRef failed because emoji "${e2}" is an empty string`);
3580
- return this._realtimeClient.refs.reaction(this.brandedConversationId, this.brandedId, e2);
3606
+ get connected() {
3607
+ return this._connectedDefer.promise;
3581
3608
  }
3582
- get() {
3583
- return __async(this, null, function* () {
3584
- const e2 = yield this._realtimeClient.call({ method: "GET", path: ["me", "conversations", this.brandedConversationId, "messages", this.brandedId], data: {} });
3585
- if (!e2.ok && "server" === e2.where && 404 === e2.value.status) return null;
3586
- if (!e2.ok && "server" === e2.where && 403 === e2.value.status && "NOT_A_PARTICIPANT" === e2.value.errorCode) return null;
3587
- const t2 = d("Get message " + this.id, e2), s2 = yield this._realtimeClient.hydrateMessageData(t2, this.brandedConversationId);
3588
- return Xn("Get message " + this.id, s2);
3589
- });
3609
+ get terminated() {
3610
+ return this._underlyingSubscription.terminated;
3590
3611
  }
3591
- edit(e2) {
3592
- return __async(this, null, function* () {
3593
- const t2 = { content: Gn(e2), custom: "string" == typeof e2 ? void 0 : e2.custom }, s2 = yield this._realtimeClient.call({ method: "PATCH", path: ["conversations", this.brandedConversationId, "messages", this.brandedId], data: t2 });
3594
- d(`Edit message ${this.id} in conversation ${this.conversationId}`, s2);
3612
+ loadMore() {
3613
+ return __async(this, arguments, function* (e2 = this._pageSize) {
3614
+ var _a2, _b2, _c;
3615
+ if (e2 <= 0 || !Number.isInteger(e2)) throw new Error("Invalid count: must be a positive integer.");
3616
+ if (e2 > this._maxPageSize) throw new Error(`Invalid count: cannot load more than ${this._maxPageSize} items at once.`);
3617
+ if (void 0 === this._windowStatus) return Promise.resolve();
3618
+ if ("active" !== this._underlyingSubscription.state.type) return Promise.resolve();
3619
+ const t2 = this._underlyingSubscription.state.latestSnapshot;
3620
+ if (null === t2) return Promise.resolve();
3621
+ const s2 = this._underlyingSubscription.state.loadedAll, n2 = this.updateWindowStatusAndGetState(t2, s2), a2 = t2.length - n2.latestSnapshot.length, i2 = s2 ? a2 : Number.POSITIVE_INFINITY, o2 = Math.min(e2, i2);
3622
+ if (this._windowStatus.loadingMore = Math.max(this._windowStatus.loadingMore, o2), a2 > 0) {
3623
+ const e3 = this._windowStatus.lastState, n3 = this.updateWindowStatusAndGetState(t2, s2);
3624
+ n3 !== e3 && ((_a2 = this._onSnapshot) == null ? void 0 : _a2.call(this, n3.latestSnapshot, n3.loadedAll));
3625
+ }
3626
+ if (this._windowStatus.loadingMore <= 0) return (_b2 = this._loadMoreDeferred) == null ? void 0 : _b2.resolve(), void (this._loadMoreDeferred = void 0);
3627
+ const c2 = (_c = this._loadMoreDeferred) != null ? _c : r();
3628
+ this._loadMoreDeferred = c2, yield this._underlyingSubscription.loadMore(this._windowStatus.loadingMore), yield c2.promise;
3595
3629
  });
3596
3630
  }
3597
- delete() {
3598
- return __async(this, null, function* () {
3599
- const e2 = yield this._realtimeClient.call({ method: "DELETE", path: ["conversations", this.brandedConversationId, "messages", this.brandedId], data: {} });
3600
- (e2.ok || "server" !== e2.where || 404 !== e2.value.status) && d(`Delete message ${this.id} in conversation ${this.conversationId}`, e2);
3601
- });
3631
+ unsubscribe() {
3632
+ return this._underlyingSubscription.unsubscribe();
3602
3633
  }
3603
3634
  }
3604
- function Gn(e2) {
3605
- if ("string" == typeof e2) {
3606
- return [{ type: "text", children: $n(e2) }];
3635
+ class zn extends Hn {
3636
+ constructor(e2, t2, s2) {
3637
+ super((s3) => e2.subscribe(["me", "conversations", t2, "messages"], s3), s2, 30, 100, { getSortPointer: (e3) => ({ primary: e3.createdAt, secondary: e3.id }), primaryOrder: "DESC", secondaryOrder: "ASC" });
3607
3638
  }
3608
- if ("text" in e2 && e2.text) {
3609
- return [{ type: "text", children: $n(e2.text) }];
3639
+ }
3640
+ class Jn extends Hn {
3641
+ constructor(e2, t2, s2) {
3642
+ super((s3) => e2.subscribe(["me", "conversations", t2, "participants"], s3), s2, 10, 50, { getSortPointer: (e3) => ({ primary: e3.joinedAt, secondary: e3.user.id }), primaryOrder: "DESC", secondaryOrder: "ASC" });
3643
+ }
3644
+ }
3645
+ class Yn extends Hn {
3646
+ constructor(e2, t2) {
3647
+ super((t3) => e2.subscribe(["me", "conversations"], t3), t2, 20, 30, { getSortPointer: (e3) => {
3648
+ var _a2, _b2;
3649
+ return { primary: (_b2 = (_a2 = e3.lastMessage) == null ? void 0 : _a2.createdAt) != null ? _b2 : e3.createdAt, secondary: e3.id };
3650
+ }, primaryOrder: "DESC", secondaryOrder: "ASC" });
3610
3651
  }
3611
- if ("content" in e2 && e2.content) return e2.content;
3612
3652
  }
3613
- class Fn {
3653
+ class Qn {
3614
3654
  constructor(e2, t2) {
3615
3655
  this.id = e2, this._realtimeClient = t2, this.uselessObjForTypeCheck = { subject: null, photoUrl: null, welcomeMessages: null, custom: null, access: null, notify: null };
3616
3656
  }
@@ -3685,15 +3725,15 @@ class Fn {
3685
3725
  }
3686
3726
  send(e2) {
3687
3727
  return __async(this, null, function* () {
3688
- const t2 = { content: Hn(e2), referencedMessageId: Jn(e2), custom: "string" == typeof e2 ? void 0 : e2.custom, idempotencyKey: $e((/* @__PURE__ */ new Date()).getTime()) }, s2 = yield this._realtimeClient.call({ method: "POST", path: ["conversations", this.brandedId, "messages"], data: t2 }), n2 = d("Send message to conversation " + this.id, s2);
3728
+ const t2 = { content: Vn(e2), referencedMessageId: Kn(e2), custom: "string" == typeof e2 ? void 0 : e2.custom, idempotencyKey: $e((/* @__PURE__ */ new Date()).getTime()) }, s2 = yield this._realtimeClient.call({ method: "POST", path: ["conversations", this.brandedId, "messages"], data: t2 }), n2 = d("Send message to conversation " + this.id, s2);
3689
3729
  return this._realtimeClient.refs.message(this.brandedId, n2.id);
3690
3730
  });
3691
3731
  }
3692
3732
  subscribeMessages(e2) {
3693
- return this._realtimeClient.subscribe(["me", "conversations", this.brandedId, "messages"], e2);
3733
+ return new zn(this._realtimeClient, this.brandedId, e2);
3694
3734
  }
3695
3735
  subscribeParticipants(e2) {
3696
- return this._realtimeClient.subscribe(["me", "conversations", this.brandedId, "participants"], e2);
3736
+ return new Jn(this._realtimeClient, this.brandedId, e2);
3697
3737
  }
3698
3738
  subscribe(e2) {
3699
3739
  return this._realtimeClient.subscribe(["me", "conversations", this.brandedId], e2);
@@ -3708,7 +3748,7 @@ class Fn {
3708
3748
  });
3709
3749
  }
3710
3750
  }
3711
- function Hn(e2) {
3751
+ function Vn(e2) {
3712
3752
  if ("string" == typeof e2) {
3713
3753
  return [{ type: "text", children: Un(e2) }];
3714
3754
  }
@@ -3717,19 +3757,134 @@ function Hn(e2) {
3717
3757
  }
3718
3758
  return e2.content;
3719
3759
  }
3720
- function Jn(e2) {
3760
+ function Kn(e2) {
3721
3761
  if ("string" == typeof e2) return;
3722
3762
  const t2 = e2.referencedMessage;
3723
3763
  return void 0 !== t2 ? "string" == typeof t2 ? t2 : t2.id : void 0;
3724
3764
  }
3725
- const zn = "undefined" != typeof WeakRef ? WeakRef : class {
3765
+ class Zn {
3766
+ constructor(e2, t2, s2) {
3767
+ this.userId = e2, this.conversationId = t2, this._realtimeClient = s2;
3768
+ }
3769
+ get brandedUserId() {
3770
+ return this.userId;
3771
+ }
3772
+ get brandedConversationId() {
3773
+ return this.conversationId;
3774
+ }
3775
+ get() {
3776
+ return __async(this, null, function* () {
3777
+ const e2 = yield this._realtimeClient.call({ method: "GET", path: ["me", "conversations", this.brandedConversationId, "participants", this.brandedUserId], data: {} }), t2 = yield this._realtimeClient.call({ method: "GET", path: ["users", this.brandedUserId], data: { includePrivateFields: false } }), [s2, n2] = yield Promise.all([e2, t2]);
3778
+ if (!s2.ok && "server" === s2.where && 404 === s2.value.status) return null;
3779
+ if (!n2.ok && "server" === n2.where && 404 === n2.value.status) return null;
3780
+ return le(d(`Get participant ${this.userId} in conversation ${this.conversationId}`, s2), ce(d(`Get user ${this.userId}`, n2)));
3781
+ });
3782
+ }
3783
+ set() {
3784
+ return __async(this, arguments, function* (e2 = {}) {
3785
+ const t2 = yield this._realtimeClient.call({ method: "PUT", path: ["conversations", this.brandedConversationId, "participants", this.brandedUserId], data: e2 });
3786
+ d(`Set participant ${this.userId} in conversation ${this.conversationId}`, t2);
3787
+ });
3788
+ }
3789
+ edit() {
3790
+ return __async(this, arguments, function* (e2 = {}) {
3791
+ const t2 = yield this._realtimeClient.call({ method: "PATCH", path: ["conversations", this.brandedConversationId, "participants", this.brandedUserId], data: e2 });
3792
+ d(`Edit participant ${this.userId} in conversation ${this.conversationId}`, t2);
3793
+ });
3794
+ }
3795
+ createIfNotExists() {
3796
+ return __async(this, arguments, function* (e2 = {}) {
3797
+ const t2 = yield this._realtimeClient.call({ method: "POST", path: ["conversations", this.brandedConversationId, "participants", this.brandedUserId], data: e2 });
3798
+ (t2.ok || "server" !== t2.where || 409 !== t2.value.status) && d(`Add participant ${this.userId} to conversation ${this.conversationId}`, t2);
3799
+ });
3800
+ }
3801
+ delete() {
3802
+ return __async(this, null, function* () {
3803
+ const e2 = yield this._realtimeClient.call({ method: "DELETE", path: ["conversations", this.brandedConversationId, "participants", this.brandedUserId], data: {} });
3804
+ (e2.ok || "server" !== e2.where || 404 !== e2.value.status) && d(`Remove participant ${this.userId} from conversation ${this.conversationId}`, e2);
3805
+ });
3806
+ }
3807
+ subscribe(e2) {
3808
+ return this._realtimeClient.subscribe(["me", "conversations", this.brandedConversationId, "participants", this.brandedUserId], e2);
3809
+ }
3810
+ }
3811
+ class Xn {
3812
+ constructor(e2, t2, s2, n2) {
3813
+ this.emoji = e2, this.messageId = t2, this.conversationId = s2, this._realtimeClient = n2;
3814
+ }
3815
+ get brandedMessageId() {
3816
+ return this.messageId;
3817
+ }
3818
+ get brandedConversationId() {
3819
+ return this.conversationId;
3820
+ }
3821
+ add() {
3822
+ return __async(this, null, function* () {
3823
+ const e2 = yield this._realtimeClient.call({ method: "PUT", path: ["conversations", this.brandedConversationId, "messages", this.brandedMessageId, "reactions", this.emoji, this._realtimeClient.userId], data: {} });
3824
+ d(`Add ${this.emoji} reaction on message ${this.messageId} in conversation ${this.conversationId}`, e2);
3825
+ });
3826
+ }
3827
+ remove() {
3828
+ return __async(this, null, function* () {
3829
+ const e2 = yield this._realtimeClient.call({ method: "DELETE", path: ["conversations", this.brandedConversationId, "messages", this.brandedMessageId, "reactions", this.emoji, this._realtimeClient.userId], data: {} });
3830
+ (e2.ok || "server" !== e2.where || 404 !== e2.value.status) && d(`Remove ${this.emoji} reaction from message ${this.messageId} in conversation ${this.conversationId}`, e2);
3831
+ });
3832
+ }
3833
+ }
3834
+ class ea {
3835
+ constructor(e2, t2, s2) {
3836
+ this.id = e2, this.conversationId = t2, this._realtimeClient = s2;
3837
+ }
3838
+ get brandedId() {
3839
+ return this.id;
3840
+ }
3841
+ get brandedConversationId() {
3842
+ return this.conversationId;
3843
+ }
3844
+ reaction(e2) {
3845
+ if ("string" != typeof e2) throw new Error(`Creating ReactionRef failed because emoji "${e2}" is not a string`);
3846
+ if ("" === e2) throw new Error(`Creating ReactionRef failed because emoji "${e2}" is an empty string`);
3847
+ return this._realtimeClient.refs.reaction(this.brandedConversationId, this.brandedId, e2);
3848
+ }
3849
+ get() {
3850
+ return __async(this, null, function* () {
3851
+ const e2 = yield this._realtimeClient.call({ method: "GET", path: ["me", "conversations", this.brandedConversationId, "messages", this.brandedId], data: {} });
3852
+ if (!e2.ok && "server" === e2.where && 404 === e2.value.status) return null;
3853
+ if (!e2.ok && "server" === e2.where && 403 === e2.value.status && "NOT_A_PARTICIPANT" === e2.value.errorCode) return null;
3854
+ const t2 = d("Get message " + this.id, e2), s2 = yield this._realtimeClient.hydrateMessageData(t2, this.brandedConversationId);
3855
+ return ca("Get message " + this.id, s2);
3856
+ });
3857
+ }
3858
+ edit(e2) {
3859
+ return __async(this, null, function* () {
3860
+ const t2 = { content: ta(e2), custom: "string" == typeof e2 ? void 0 : e2.custom }, s2 = yield this._realtimeClient.call({ method: "PATCH", path: ["conversations", this.brandedConversationId, "messages", this.brandedId], data: t2 });
3861
+ d(`Edit message ${this.id} in conversation ${this.conversationId}`, s2);
3862
+ });
3863
+ }
3864
+ delete() {
3865
+ return __async(this, null, function* () {
3866
+ const e2 = yield this._realtimeClient.call({ method: "DELETE", path: ["conversations", this.brandedConversationId, "messages", this.brandedId], data: {} });
3867
+ (e2.ok || "server" !== e2.where || 404 !== e2.value.status) && d(`Delete message ${this.id} in conversation ${this.conversationId}`, e2);
3868
+ });
3869
+ }
3870
+ }
3871
+ function ta(e2) {
3872
+ if ("string" == typeof e2) {
3873
+ return [{ type: "text", children: $n(e2) }];
3874
+ }
3875
+ if ("text" in e2 && e2.text) {
3876
+ return [{ type: "text", children: $n(e2.text) }];
3877
+ }
3878
+ if ("content" in e2 && e2.content) return e2.content;
3879
+ }
3880
+ const sa = "undefined" != typeof WeakRef ? WeakRef : class {
3726
3881
  constructor(e2) {
3727
3882
  this.value = e2;
3728
3883
  }
3729
3884
  deref() {
3730
3885
  return this.value;
3731
3886
  }
3732
- }, Yn = globalThis.FinalizationRegistry, Qn = void 0 !== Yn ? Yn : class {
3887
+ }, na = globalThis.FinalizationRegistry, aa = void 0 !== na ? na : class {
3733
3888
  constructor(e2) {
3734
3889
  }
3735
3890
  register(e2, t2, s2) {
@@ -3737,9 +3892,9 @@ const zn = "undefined" != typeof WeakRef ? WeakRef : class {
3737
3892
  unregister(e2) {
3738
3893
  }
3739
3894
  };
3740
- class Vn {
3895
+ class ra {
3741
3896
  constructor(e2) {
3742
- this.client = e2, this.users = /* @__PURE__ */ new Map(), this.conversations = /* @__PURE__ */ new Map(), this.participants = /* @__PURE__ */ new Map(), this.messages = /* @__PURE__ */ new Map(), this.reactions = /* @__PURE__ */ new Map(), this.registry = new Qn(({ map: e3, key: t2 }) => {
3897
+ this.client = e2, this.users = /* @__PURE__ */ new Map(), this.conversations = /* @__PURE__ */ new Map(), this.participants = /* @__PURE__ */ new Map(), this.messages = /* @__PURE__ */ new Map(), this.reactions = /* @__PURE__ */ new Map(), this.registry = new aa(({ map: e3, key: t2 }) => {
3743
3898
  e3.delete(t2);
3744
3899
  });
3745
3900
  }
@@ -3747,41 +3902,41 @@ class Vn {
3747
3902
  var _a2;
3748
3903
  const t2 = (_a2 = this.users.get(e2)) == null ? void 0 : _a2.deref();
3749
3904
  if (t2) return t2;
3750
- const s2 = S(new Oe(e2, this.client));
3751
- return this.users.set(e2, new zn(s2)), this.registry.register(s2, { map: this.users, key: e2 }), s2;
3905
+ const s2 = x(new je(e2, this.client));
3906
+ return this.users.set(e2, new sa(s2)), this.registry.register(s2, { map: this.users, key: e2 }), s2;
3752
3907
  }
3753
3908
  conversation(e2) {
3754
3909
  var _a2;
3755
3910
  const t2 = (_a2 = this.conversations.get(e2)) == null ? void 0 : _a2.deref();
3756
3911
  if (t2) return t2;
3757
- const s2 = S(new Fn(e2, this.client));
3758
- return this.conversations.set(e2, new zn(s2)), this.registry.register(s2, { map: this.conversations, key: e2 }), s2;
3912
+ const s2 = x(new Qn(e2, this.client));
3913
+ return this.conversations.set(e2, new sa(s2)), this.registry.register(s2, { map: this.conversations, key: e2 }), s2;
3759
3914
  }
3760
3915
  participant(e2, t2) {
3761
3916
  var _a2;
3762
3917
  const s2 = `[${e2}][${t2}]`, n2 = (_a2 = this.participants.get(s2)) == null ? void 0 : _a2.deref();
3763
3918
  if (n2) return n2;
3764
- const a2 = S(new Pe(t2, e2, this.client));
3765
- return this.participants.set(s2, new zn(a2)), this.registry.register(a2, { map: this.participants, key: s2 }), a2;
3919
+ const a2 = x(new Zn(t2, e2, this.client));
3920
+ return this.participants.set(s2, new sa(a2)), this.registry.register(a2, { map: this.participants, key: s2 }), a2;
3766
3921
  }
3767
3922
  message(e2, t2) {
3768
3923
  var _a2;
3769
3924
  const s2 = `[${e2}][${t2}]`, n2 = (_a2 = this.messages.get(s2)) == null ? void 0 : _a2.deref();
3770
3925
  if (n2) return n2;
3771
- const a2 = S(new Ln(t2, e2, this.client));
3772
- return this.messages.set(s2, new zn(a2)), this.registry.register(a2, { map: this.messages, key: s2 }), a2;
3926
+ const a2 = x(new ea(t2, e2, this.client));
3927
+ return this.messages.set(s2, new sa(a2)), this.registry.register(a2, { map: this.messages, key: s2 }), a2;
3773
3928
  }
3774
3929
  reaction(e2, t2, s2) {
3775
3930
  var _a2;
3776
3931
  const n2 = `[${e2}][${t2}][${s2}]`, a2 = (_a2 = this.reactions.get(n2)) == null ? void 0 : _a2.deref();
3777
3932
  if (a2) return a2;
3778
- const r2 = S(new Bn(s2, t2, e2, this.client));
3779
- return this.reactions.set(n2, new zn(r2)), this.registry.register(r2, { map: this.reactions, key: n2 }), r2;
3933
+ const r2 = x(new Xn(s2, t2, e2, this.client));
3934
+ return this.reactions.set(n2, new sa(r2)), this.registry.register(r2, { map: this.reactions, key: n2 }), r2;
3780
3935
  }
3781
3936
  }
3782
- class Kn {
3937
+ class ia {
3783
3938
  constructor(e2, t2, s2) {
3784
- this.userId = t2, this.refs = new Vn(this), this.alive = true, this.connection = new _e(e2, s2, this), s2.onTokenRefreshFailed(() => {
3939
+ this.userId = t2, this.refs = new ra(this), this.alive = true, this.connection = new Oe(e2, s2, this), s2.onTokenRefreshFailed(() => {
3785
3940
  this.destroy();
3786
3941
  });
3787
3942
  }
@@ -3815,7 +3970,7 @@ class Kn {
3815
3970
  const r2 = yield n2;
3816
3971
  if (!r2.ok) return r2;
3817
3972
  const i2 = (function(e3, t3, s3) {
3818
- return S({ id: e3.id, type: e3.type, sender: t3, referencedMessage: s3, custom: S(e3.custom), createdAt: e3.createdAt, editedAt: e3.editedAt, origin: e3.origin, content: e3.content, reactions: he(e3.reactions), plaintext: ie(e3.content, {}) });
3973
+ return x({ id: e3.id, type: e3.type, sender: t3, referencedMessage: s3, custom: x(e3.custom), createdAt: e3.createdAt, editedAt: e3.editedAt, origin: e3.origin, content: e3.content, reactions: he(e3.reactions), plaintext: ie(e3.content, {}) });
3819
3974
  })(e2, a2.value, r2.value);
3820
3975
  return o(i2);
3821
3976
  });
@@ -3824,8 +3979,8 @@ class Kn {
3824
3979
  return __async(this, null, function* () {
3825
3980
  const s2 = this.listMessages(e2.id, { limit: 1 }, t2), n2 = yield this.call({ method: "GET", path: ["me", "conversations", e2.id], data: {}, headers: t2 });
3826
3981
  if (!n2.ok && "server" === n2.where && 404 === n2.value.status) return o(null);
3827
- const a2 = d("Get conversation " + e2.id, n2), r2 = Xn("Get last message in conversation " + e2.id, yield s2), i2 = (function(e3, t3) {
3828
- return S({ id: e3.id, subject: e3.subject, photoUrl: e3.photoUrl, welcomeMessages: S(e3.welcomeMessages), custom: S(e3.custom), createdAt: e3.createdAt, joinedAt: e3.joinedAt, lastMessageAt: e3.lastMessageAt, unreadMessageCount: e3.unreadMessageCount, isUnread: e3.isUnread, access: e3.access, notify: e3.notify, lastMessage: t3, readUntil: e3.readUntil, everyoneReadUntil: e3.everyoneReadUntil });
3982
+ const a2 = d("Get conversation " + e2.id, n2), r2 = ca("Get last message in conversation " + e2.id, yield s2), i2 = (function(e3, t3) {
3983
+ return x({ id: e3.id, subject: e3.subject, photoUrl: e3.photoUrl, welcomeMessages: x(e3.welcomeMessages), custom: x(e3.custom), createdAt: e3.createdAt, joinedAt: e3.joinedAt, lastMessageAt: e3.lastMessageAt, unreadMessageCount: e3.unreadMessageCount, isUnread: e3.isUnread, access: e3.access, notify: e3.notify, lastMessage: t3, readUntil: e3.readUntil, everyoneReadUntil: e3.everyoneReadUntil });
3829
3984
  })(a2, 0 === r2.length ? null : r2[0]);
3830
3985
  return o(i2);
3831
3986
  });
@@ -3833,7 +3988,7 @@ class Kn {
3833
3988
  listMessages(e2, t2, s2) {
3834
3989
  return __async(this, null, function* () {
3835
3990
  const n2 = yield this.call({ method: "GET", path: ["me", "conversations", e2, "messages"], data: t2, headers: s2 });
3836
- if (!n2.ok) return Zn(n2, "Listing messages in " + e2);
3991
+ if (!n2.ok) return oa(n2, "Listing messages in " + e2);
3837
3992
  const a2 = n2.value.data.data, r2 = yield Promise.all(a2.map((t3) => this.hydrateMessageData(t3, e2))), i2 = r2.find((e3) => !e3.ok);
3838
3993
  if (void 0 !== i2 && !i2.ok) return i2;
3839
3994
  return o(r2.map(({ value: e3 }) => e3));
@@ -3844,11 +3999,11 @@ class Kn {
3844
3999
  const s2 = yield this.call({ method: "GET", path: ["me", "conversations", e2, "messages", t2], data: {} });
3845
4000
  if (!s2.ok && "server" === s2.where && 404 === s2.value.status) return o(null);
3846
4001
  if (!s2.ok && "server" === s2.where && 403 === s2.value.status && "NOT_A_PARTICIPANT" === s2.value.errorCode) return o(null);
3847
- if (!s2.ok) return Zn(s2, `Fetching referenced message ${t2} in conversation ${e2}`);
4002
+ if (!s2.ok) return oa(s2, `Fetching referenced message ${t2} in conversation ${e2}`);
3848
4003
  const n2 = s2.value.data, a2 = yield this.getUser(n2.senderId);
3849
4004
  if (!a2.ok) return a2;
3850
4005
  const r2 = (function(e3, t3) {
3851
- return S({ id: e3.id, type: e3.type, sender: t3, referencedMessageId: e3.referencedMessageId, custom: S(e3.custom), createdAt: e3.createdAt, editedAt: e3.editedAt, origin: e3.origin, content: e3.content, reactions: he(e3.reactions), plaintext: ie(e3.content, {}) });
4006
+ return x({ id: e3.id, type: e3.type, sender: t3, referencedMessageId: e3.referencedMessageId, custom: x(e3.custom), createdAt: e3.createdAt, editedAt: e3.editedAt, origin: e3.origin, content: e3.content, reactions: he(e3.reactions), plaintext: ie(e3.content, {}) });
3852
4007
  })(n2, a2.value);
3853
4008
  return o(r2);
3854
4009
  });
@@ -3857,20 +4012,20 @@ class Kn {
3857
4012
  return __async(this, null, function* () {
3858
4013
  const t2 = yield this.call({ method: "GET", path: ["users", e2], data: { includePrivateFields: false } });
3859
4014
  if (!t2.ok && "server" === t2.where && 404 === t2.value.status) return o(null);
3860
- if (!t2.ok) return Zn(t2, "Get user " + e2);
4015
+ if (!t2.ok) return oa(t2, "Get user " + e2);
3861
4016
  return o(ce(t2.value.data));
3862
4017
  });
3863
4018
  }
3864
4019
  }
3865
- function Zn(e2, t2) {
4020
+ function oa(e2, t2) {
3866
4021
  return "server" === e2.where ? l(__spreadProps(__spreadValues({}, e2.value), { operation: t2 })) : e2;
3867
4022
  }
3868
- function Xn(e2, t2) {
4023
+ function ca(e2, t2) {
3869
4024
  var _a2;
3870
4025
  if (t2.ok) return t2.value;
3871
4026
  throw "SESSION_DESTROYED" === t2.value ? new Error(`${e2} failed because the session was destroyed`) : new Error(p((_a2 = t2.value.operation) != null ? _a2 : e2, t2.value));
3872
4027
  }
3873
- class ea {
4028
+ class la {
3874
4029
  constructor(e2, t2, s2) {
3875
4030
  this.realtimeWsApiUrl = e2, this.internalHttpApiUrl = t2, this.restApiHttpUrl = s2;
3876
4031
  }
@@ -3883,7 +4038,7 @@ class ea {
3883
4038
  }
3884
4039
  static fromHost(e2) {
3885
4040
  var _a2;
3886
- const t2 = new ea("wss://realtime.talkjs.com/v1", "https://app.talkjs.com/api/v0", "https://api.talkjs.com/v1");
4041
+ const t2 = new la("wss://realtime.talkjs.com/v1", "https://app.talkjs.com/api/v0", "https://api.talkjs.com/v1");
3887
4042
  if (!e2) return t2;
3888
4043
  if ("@currentHost" === e2) {
3889
4044
  if ("undefined" == typeof location) throw new Error("You can only use @currentHost in a browser.");
@@ -3893,17 +4048,17 @@ class ea {
3893
4048
  const s2 = e2.match(/^(?:\w+-)?([^.]+)\.talkjs\.com$/);
3894
4049
  if (s2) {
3895
4050
  const e3 = s2[1];
3896
- return ["app", "cdn", "api", "realtime"].includes(e3) ? t2 : new ea(`wss://realtime-${e3}.talkjs.com/v1`, `https://app-${e3}.talkjs.com/api/v0`, `https://api-${e3}.talkjs.com/v1`);
4051
+ return ["app", "cdn", "api", "realtime"].includes(e3) ? t2 : new la(`wss://realtime-${e3}.talkjs.com/v1`, `https://app-${e3}.talkjs.com/api/v0`, `https://api-${e3}.talkjs.com/v1`);
3897
4052
  }
3898
4053
  return t2;
3899
4054
  }
3900
- return e2.includes("localhost") || e2.includes("localtest.me") || /^\d+\.\d+\.\d+\.\d+(:\d+)?$/.test(e2) ? new ea(`ws://${e2}/public_api/v1`, `http://${e2}/api/v0`, `http://${e2}/public_api/v1`) : new ea(`wss://${e2}/public_api/v1`, `https://${e2}/api/v0`, `https://${e2}/public_api/v1`);
4055
+ return e2.includes("localhost") || e2.includes("localtest.me") || /^\d+\.\d+\.\d+\.\d+(:\d+)?$/.test(e2) ? new la(`ws://${e2}/public_api/v1`, `http://${e2}/api/v0`, `http://${e2}/public_api/v1`) : new la(`wss://${e2}/public_api/v1`, `https://${e2}/api/v0`, `https://${e2}/public_api/v1`);
3901
4056
  }
3902
4057
  }
3903
- function ta({ method: e2, url: t2, data: s2, options: n2, attempts: r2, shouldRetry: i2, authProvider: o2, errorTracker: c2, abortSignal: l2 }) {
4058
+ function ha({ method: e2, url: t2, data: s2, options: n2, attempts: r2, shouldRetry: i2, authProvider: o2, errorTracker: c2, abortSignal: l2 }) {
3904
4059
  var _a2;
3905
4060
  (!r2 || r2 <= 0) && (r2 = 1);
3906
- const h2 = { "x-talkjs-client-build": "jssdk-dev", "x-talkjs-client-date": "2026-01-27T09:14:45.741Z" };
4061
+ const h2 = { "x-talkjs-client-build": "jssdk-dev", "x-talkjs-client-date": "2026-02-03T10:48:11.175Z" };
3907
4062
  s2 instanceof FormData || (h2["Content-Type"] = (_a2 = n2 == null ? void 0 : n2.contentType) != null ? _a2 : "application/json");
3908
4063
  return a(r2, () => __async(null, null, function* () {
3909
4064
  if (o2) {
@@ -3927,12 +4082,12 @@ function ta({ method: e2, url: t2, data: s2, options: n2, attempts: r2, shouldRe
3927
4082
  throw s3;
3928
4083
  });
3929
4084
  }
3930
- class sa {
4085
+ class ua {
3931
4086
  constructor(e2) {
3932
4087
  __privateAdd(this, _e2);
3933
4088
  __privateAdd(this, _t2);
3934
4089
  var _a2, _b2, _c, _d;
3935
- this._timeCreated = Date.now(), __privateSet(this, _e2, (_b2 = (_a2 = globalThis.document) == null ? void 0 : _a2.referrer) != null ? _b2 : ""), __privateSet(this, _t2, ((_d = (_c = globalThis.location) == null ? void 0 : _c.href) != null ? _d : globalThis.HermesInternal) ? "React Native Hermes" : ""), this._trackJSData = { customer: { application: "", correlationId: "", sessionId: "", token: "", userId: "", version: "dev-2026-01-27T09:14:45.741Z" }, entry: "direct", environment: { age: Date.now() - this._timeCreated, dependencies: {}, originalUrl: __privateGet(this, _t2), referrer: __privateGet(this, _e2), userAgent: window.navigator.userAgent }, metadata: [], nav: [], network: [], url: __privateGet(this, _t2), stack: "", timestamp: (/* @__PURE__ */ new Date()).toISOString(), version: "dev-2026-01-27T09:14:45.741Z", throttled: 0 }, this._url = `https://capture.trackjs.com/capture?token=${e2}`, this._trackJSData.customer.token = e2;
4090
+ this._timeCreated = Date.now(), __privateSet(this, _e2, (_b2 = (_a2 = globalThis.document) == null ? void 0 : _a2.referrer) != null ? _b2 : ""), __privateSet(this, _t2, ((_d = (_c = globalThis.location) == null ? void 0 : _c.href) != null ? _d : globalThis.HermesInternal) ? "React Native Hermes" : ""), this._trackJSData = { customer: { application: "", correlationId: "", sessionId: "", token: "", userId: "", version: "dev-2026-02-03T10:48:11.175Z" }, entry: "direct", environment: { age: Date.now() - this._timeCreated, dependencies: {}, originalUrl: __privateGet(this, _t2), referrer: __privateGet(this, _e2), userAgent: window.navigator.userAgent }, metadata: [], nav: [], network: [], url: __privateGet(this, _t2), stack: "", timestamp: (/* @__PURE__ */ new Date()).toISOString(), version: "dev-2026-02-03T10:48:11.175Z", throttled: 0 }, this._url = `https://capture.trackjs.com/capture?token=${e2}`, this._trackJSData.customer.token = e2;
3936
4091
  }
3937
4092
  setData({ appId: e2, meId: t2, sessionId: s2 }) {
3938
4093
  this._trackJSData.customer.userId = e2, this._trackJSData.customer.sessionId = `${e2}/${t2}`, this._trackJSData.customer.correlationId = s2;
@@ -3942,7 +4097,7 @@ class sa {
3942
4097
  try {
3943
4098
  0;
3944
4099
  const t2 = __spreadProps(__spreadValues({}, this._trackJSData), { message: e2 });
3945
- yield ta({ method: "POST", url: this._url, data: JSON.stringify(t2), options: { contentType: "text/plain" } });
4100
+ yield ha({ method: "POST", url: this._url, data: JSON.stringify(t2), options: { contentType: "text/plain" } });
3946
4101
  } catch (e3) {
3947
4102
  console.error("[TalkJS] Failed when sending an error report. Error: ", e3);
3948
4103
  }
@@ -3951,9 +4106,9 @@ class sa {
3951
4106
  }
3952
4107
  _e2 = new WeakMap();
3953
4108
  _t2 = new WeakMap();
3954
- const na = { log: (e2) => Promise.resolve(), setData: (e2) => {
4109
+ const da = { log: (e2) => Promise.resolve(), setData: (e2) => {
3955
4110
  } };
3956
- class aa {
4111
+ class pa {
3957
4112
  constructor(e2, t2 = {}) {
3958
4113
  this._onSubscription = t2, this._handlers = {};
3959
4114
  for (const t3 in e2) Object.hasOwnProperty.call(e2, t3) && (this._handlers[t3] = []);
@@ -3998,7 +4153,7 @@ class aa {
3998
4153
  return this.on(e2, t2), { unsubscribe: () => this.off(e2, t2) };
3999
4154
  }
4000
4155
  }
4001
- class ra {
4156
+ class ma {
4002
4157
  constructor(e2) {
4003
4158
  this.handlers = e2, this.tokenResult = null, this.pendingToken = null;
4004
4159
  }
@@ -4020,9 +4175,9 @@ class ra {
4020
4175
  this.tokenResult = null, this.refreshToken();
4021
4176
  }
4022
4177
  }
4023
- class ia {
4178
+ class fa {
4024
4179
  constructor(e2, t2, s2, n2) {
4025
- this.apiUrls = e2, this.appId = t2, this.userId = s2, this.signature = n2, this.inner = new ra({ onChange: (e3) => {
4180
+ this.apiUrls = e2, this.appId = t2, this.userId = s2, this.signature = n2, this.inner = new ma({ onChange: (e3) => {
4026
4181
  e3.ok ? this.eventEmitter.emit("tokenChanged", e3.value) : this.emitTokenRefreshFailed(e3.value);
4027
4182
  }, onNeedToken: () => __async(this, null, function* () {
4028
4183
  if (this._usingBokens && !this.signature && !this._calledBokens && (yield new Promise((e3) => setTimeout(e3, 1))), this._usingBokens) yield this.sendBokenRequest().then((e3) => this.inner.setTokenResult(o(e3))).catch((e3) => this.inner.setTokenResult(l(e3)));
@@ -4031,12 +4186,12 @@ class ia {
4031
4186
  const e3 = c("Cannot refresh token, no `onNeedToken` provided.");
4032
4187
  this.inner.setTokenResult(e3);
4033
4188
  }
4034
- }) }), this._usingBokens = true, this._calledBokens = false, this.onNeedToken = void 0, this.eventEmitter = new aa({ tokenChanged(e3) {
4189
+ }) }), this._usingBokens = true, this._calledBokens = false, this.onNeedToken = void 0, this.eventEmitter = new pa({ tokenChanged(e3) {
4035
4190
  }, tokenRefreshFailed(e3) {
4036
4191
  }, tokenAccepted(e3) {
4037
4192
  } }), this.sessionExpiryWarningTimeoutId = void 0;
4038
4193
  const a2 = "undefined" != typeof window && e2.restApiHttpUrl.includes("api.talkjs.com");
4039
- this.errorTracker = a2 ? new sa("970cd0be0fb74630b75c8451051299dc") : na;
4194
+ this.errorTracker = a2 ? new ua("970cd0be0fb74630b75c8451051299dc") : da;
4040
4195
  }
4041
4196
  get usingBokens() {
4042
4197
  return this._usingBokens;
@@ -4111,7 +4266,7 @@ class ia {
4111
4266
  const e3 = (function(e4) {
4112
4267
  const t3 = e4.split(".");
4113
4268
  if (3 !== t3.length) throw "Token does not contain exactly two `.`. Check that you generated your JWT correctly. It should be `<header>.<payload>.<signature>`.";
4114
- return { header: oa(t3[0]), payload: oa(t3[1]) };
4269
+ return { header: ga(t3[0]), payload: ga(t3[1]) };
4115
4270
  })(s2);
4116
4271
  n2 = e3.header, a2 = e3.payload;
4117
4272
  } catch (e3) {
@@ -4155,7 +4310,7 @@ class ia {
4155
4310
  return __async(this, null, function* () {
4156
4311
  this._calledBokens = true;
4157
4312
  let e2 = 0;
4158
- const t2 = this.apiUrls.getBokensUrl(this.appId, this.userId, this.signature), s2 = yield ta({ method: "GET", url: t2, attempts: 1e4, shouldRetry: (t3) => {
4313
+ const t2 = this.apiUrls.getBokensUrl(this.appId, this.userId, this.signature), s2 = yield ha({ method: "GET", url: t2, attempts: 1e4, shouldRetry: (t3) => {
4159
4314
  if (t3 instanceof Error) return true;
4160
4315
  if (401 === t3.status) throw "Check that you provided a valid signature.";
4161
4316
  if (404 === t3.status) throw "Check that you specified the correct App ID.";
@@ -4168,7 +4323,7 @@ class ia {
4168
4323
  });
4169
4324
  }
4170
4325
  }
4171
- function oa(e2) {
4326
+ function ga(e2) {
4172
4327
  try {
4173
4328
  const t2 = e2.replace(/-/g, "+").replace(/_/g, "/"), s2 = decodeURIComponent(atob(t2).split("").map((e3) => "%" + ("00" + e3.charCodeAt(0).toString(16)).slice(-2)).join(""));
4174
4329
  return JSON.parse(s2);
@@ -4176,14 +4331,14 @@ function oa(e2) {
4176
4331
  throw `Could not base64-decode and JSON-parse token section: ${e2}. Check that you base-64 encoded the section correctly.`;
4177
4332
  }
4178
4333
  }
4179
- const ca = new class {
4334
+ const va = new class {
4180
4335
  constructor() {
4181
4336
  this.registry = {};
4182
4337
  }
4183
4338
  getOrCreate(e2) {
4184
4339
  const t2 = this.key(e2), s2 = this.registry[t2];
4185
4340
  if (s2) return s2;
4186
- const n2 = new ha(e2);
4341
+ const n2 = new wa(e2);
4187
4342
  return this.registry[t2] = n2, n2;
4188
4343
  }
4189
4344
  deregister(e2, t2) {
@@ -4194,11 +4349,11 @@ const ca = new class {
4194
4349
  return `${e2}:${t2}`;
4195
4350
  }
4196
4351
  }();
4197
- function la(e2) {
4352
+ function ba(e2) {
4198
4353
  if (!e2) throw new Error("[TalkJS] Must provide an options object to `getTalkSession`");
4199
- return e2.forceCreateNew ? new ha(e2) : ca.getOrCreate(e2);
4354
+ return e2.forceCreateNew ? new wa(e2) : va.getOrCreate(e2);
4200
4355
  }
4201
- class ha {
4356
+ class wa {
4202
4357
  constructor(e2) {
4203
4358
  this._onNeedToken = void 0, (function(e3) {
4204
4359
  function t3(e4, t4) {
@@ -4208,7 +4363,7 @@ class ha {
4208
4363
  void 0 !== e3.tokenFetcher && t3("function" == typeof e3.tokenFetcher, "The `tokenFetcher` property of the `getTalkSession` options must be a function.");
4209
4364
  })(e2);
4210
4365
  const { appId: t2, userId: s2, token: n2, tokenFetcher: a2, signature: i2 } = e2;
4211
- this._appId = t2, this._apiUrls = e2.apiUrls ? new ea(e2.apiUrls.realtimeWsApiUrl, e2.apiUrls.internalHttpApiUrl, e2.apiUrls.restApiHttpUrl) : ea.fromHost(e2.host), this._authProvider = new ia(this._apiUrls, t2, s2, i2), n2 && this._authProvider.setToken(n2), a2 && this._authProvider.setOnNeedToken(() => __async(this, null, function* () {
4366
+ this._appId = t2, this._apiUrls = e2.apiUrls ? new la(e2.apiUrls.realtimeWsApiUrl, e2.apiUrls.internalHttpApiUrl, e2.apiUrls.restApiHttpUrl) : la.fromHost(e2.host), this._authProvider = new fa(this._apiUrls, t2, s2, i2), n2 && this._authProvider.setToken(n2), a2 && this._authProvider.setOnNeedToken(() => __async(this, null, function* () {
4212
4367
  try {
4213
4368
  const e3 = yield a2();
4214
4369
  this._authProvider.setToken(e3);
@@ -4217,11 +4372,11 @@ class ha {
4217
4372
  }
4218
4373
  }));
4219
4374
  const o2 = Math.random().toString().split(".")[1];
4220
- this._realtimeClient = new Kn(this._apiUrls.getRealtimeWsUrl(t2, s2, "1.6.3", o2, e2.clientBuild), s2, this._authProvider), this.currentUser = this.user(s2), this._terminationReason = r(), this._terminationReason.promise.then((e3) => {
4375
+ this._realtimeClient = new ia(this._apiUrls.getRealtimeWsUrl(t2, s2, "1.8.0", o2, e2.clientBuild), s2, this._authProvider), this.currentUser = this.user(s2), this._terminationReason = r(), this._terminationReason.promise.then((e3) => {
4221
4376
  console.error(`[TalkJS] ${e3}`);
4222
4377
  }), (function(e3, t3) {
4223
4378
  return __async(this, null, function* () {
4224
- return ta({ method: "GET", url: `${t3}/${e3}` }).then((e4) => __async(null, null, function* () {
4379
+ return ha({ method: "GET", url: `${t3}/${e3}` }).then((e4) => __async(null, null, function* () {
4225
4380
  return 200 === e4.status || 404 !== e4.status && (console.warn(`[TalkJS] Received unexpected ${e4.status} status code when validating app ID. Assuming that the app ID is valid.`), true);
4226
4381
  })).catch((e4) => {
4227
4382
  if ("string" != typeof e4 && "status" in e4) {
@@ -4269,18 +4424,18 @@ class ha {
4269
4424
  return this._realtimeClient.refs.conversation(e2);
4270
4425
  }
4271
4426
  subscribeConversations(e2) {
4272
- return this._realtimeClient.subscribe(["me", "conversations"], e2);
4427
+ return new Yn(this._realtimeClient, e2);
4273
4428
  }
4274
4429
  searchMessages(e2) {
4275
4430
  let t2;
4276
- return { setQuery: (s2) => t2 && t2.searchString === s2 ? t2.currentState : (t2 && t2.cancel(), s2 && "" !== s2 ? (t2 = new da(e2, s2, `${this._apiUrls.restApiHttpUrl}/${this._appId}/me/messages/search`, (e3) => __async(this, null, function* () {
4431
+ return { setQuery: (s2) => t2 && t2.searchString === s2 ? t2.currentState : (t2 && t2.cancel(), s2 && "" !== s2 ? (t2 = new ka(e2, s2, `${this._apiUrls.restApiHttpUrl}/${this._appId}/me/messages/search`, (e3) => __async(this, null, function* () {
4277
4432
  const [t3, s3] = yield Promise.all([this.conversation(e3.conversationId).get(), this._realtimeClient.hydrateMessageData(e3, e3.conversationId)]);
4278
4433
  return null === t3 ? c("Message belongs to nonexistent conversation") : s3.ok ? o({ conversation: t3, message: s3.value }) : s3;
4279
4434
  }), this._authProvider), t2.loadMore(3)) : (t2 = void 0, e2 == null ? void 0 : e2([], "loadedAll"), Promise.resolve({ results: [], loadedAll: true }))), loadMore: (e3) => t2 ? t2.loadMore(e3 != null ? e3 : 10) : Promise.resolve({ results: [], loadedAll: true }) };
4280
4435
  }
4281
4436
  searchConversations(e2) {
4282
4437
  let t2;
4283
- return { setQuery: (s2) => t2 && t2.searchString === s2 ? t2.currentState : (t2 && t2.cancel(), s2 && "" !== s2 ? (t2 = new da(e2, s2, `${this._apiUrls.restApiHttpUrl}/${this._appId}/me/conversations/search`, (e3) => __async(this, null, function* () {
4438
+ return { setQuery: (s2) => t2 && t2.searchString === s2 ? t2.currentState : (t2 && t2.cancel(), s2 && "" !== s2 ? (t2 = new ka(e2, s2, `${this._apiUrls.restApiHttpUrl}/${this._appId}/me/conversations/search`, (e3) => __async(this, null, function* () {
4284
4439
  const t3 = yield this._realtimeClient.hydrateConvData(e3);
4285
4440
  if (!t3.ok) return t3;
4286
4441
  const s3 = t3.value;
@@ -4288,31 +4443,32 @@ class ha {
4288
4443
  }), this._authProvider), t2.loadMore(3)) : (t2 = void 0, e2 == null ? void 0 : e2([], "loadedAll"), Promise.resolve({ results: [], loadedAll: true }))), loadMore: (e3) => t2 ? t2.loadMore(e3 != null ? e3 : 10) : Promise.resolve({ results: [], loadedAll: true }) };
4289
4444
  }
4290
4445
  terminate(e2) {
4291
- ca.deregister(this._appId, this.currentUser.id), this._terminationReason.resolve(e2), this._realtimeClient.destroy();
4446
+ va.deregister(this._appId, this.currentUser.id), this._terminationReason.resolve(e2), this._realtimeClient.destroy();
4292
4447
  }
4293
4448
  _isConnected() {
4294
4449
  return this._realtimeClient.isConnected();
4295
4450
  }
4296
4451
  uploadFile(e2, t2) {
4297
- return ua(`${this._apiUrls.restApiHttpUrl}/${this._appId}/files`, this._authProvider, e2, t2);
4452
+ return ya(`${this._apiUrls.restApiHttpUrl}/${this._appId}/files`, this._authProvider, this._realtimeClient, e2, t2);
4298
4453
  }
4299
4454
  uploadImage(e2, t2) {
4300
- return ua(`${this._apiUrls.restApiHttpUrl}/${this._appId}/files`, this._authProvider, e2, __spreadValues({ subtype: "image" }, t2));
4455
+ return ya(`${this._apiUrls.restApiHttpUrl}/${this._appId}/files`, this._authProvider, this._realtimeClient, e2, __spreadValues({ subtype: "image" }, t2));
4301
4456
  }
4302
4457
  uploadVideo(e2, t2) {
4303
- return ua(`${this._apiUrls.restApiHttpUrl}/${this._appId}/files`, this._authProvider, e2, __spreadValues({ subtype: "video" }, t2));
4458
+ return ya(`${this._apiUrls.restApiHttpUrl}/${this._appId}/files`, this._authProvider, this._realtimeClient, e2, __spreadValues({ subtype: "video" }, t2));
4304
4459
  }
4305
4460
  uploadAudio(e2, t2) {
4306
- return ua(`${this._apiUrls.restApiHttpUrl}/${this._appId}/files`, this._authProvider, e2, __spreadValues({ subtype: "audio" }, t2));
4461
+ return ya(`${this._apiUrls.restApiHttpUrl}/${this._appId}/files`, this._authProvider, this._realtimeClient, e2, __spreadValues({ subtype: "audio" }, t2));
4307
4462
  }
4308
4463
  uploadVoice(e2, t2) {
4309
- return ua(`${this._apiUrls.restApiHttpUrl}/${this._appId}/files`, this._authProvider, e2, __spreadValues({ subtype: "voice" }, t2));
4464
+ return ya(`${this._apiUrls.restApiHttpUrl}/${this._appId}/files`, this._authProvider, this._realtimeClient, e2, __spreadValues({ subtype: "voice" }, t2));
4310
4465
  }
4311
4466
  }
4312
- function ua(_0, _1, _2, _3) {
4313
- return __async(this, arguments, function* (e2, t2, s2, { subtype: n2, filename: a2, width: r2, height: i2, duration: o2 }) {
4314
- const c2 = new FormData();
4315
- return c2.set("file", s2, a2), void 0 !== n2 && c2.set("subtype", n2), void 0 !== r2 && c2.set("width", r2.toString()), void 0 !== i2 && c2.set("height", i2.toString()), void 0 !== o2 && c2.set("duration", o2.toString()), ta({ method: "POST", url: e2, data: c2, authProvider: t2, errorTracker: t2.errorTracker }).then((e3) => e3.json()).then((e3) => e3.fileToken).catch((e3) => __async(null, null, function* () {
4467
+ function ya(_0, _1, _2, _3, _4) {
4468
+ return __async(this, arguments, function* (e2, t2, s2, n2, { subtype: a2, filename: r2, width: i2, height: o2, duration: c2 }) {
4469
+ d("Upload file", yield s2.call({ method: "POST", path: ["files", "validate"], data: { filename: r2, filesize: n2.size } }));
4470
+ const l2 = new FormData();
4471
+ return l2.set("file", n2, r2), void 0 !== a2 && l2.set("subtype", a2), void 0 !== i2 && l2.set("width", i2.toString()), void 0 !== o2 && l2.set("height", o2.toString()), void 0 !== c2 && l2.set("duration", c2.toString()), ha({ method: "POST", url: e2, data: l2, authProvider: t2, errorTracker: t2.errorTracker }).then((e3) => e3.json()).then((e3) => e3.fileToken).catch((e3) => __async(null, null, function* () {
4316
4472
  if (e3 instanceof Response) {
4317
4473
  const t3 = yield e3.json(), s3 = `Unexpected response when uploading file, status code ${e3.status} ${t3.errorCode}, ${t3.reasons}`;
4318
4474
  throw new Error(s3);
@@ -4321,7 +4477,7 @@ function ua(_0, _1, _2, _3) {
4321
4477
  }));
4322
4478
  });
4323
4479
  }
4324
- class da {
4480
+ class ka {
4325
4481
  constructor(e2, t2, s2, n2, a2) {
4326
4482
  this.onResults = e2, this.searchString = t2, this.baseUrl = s2, this.hydrateData = n2, this.authProvider = a2, this.error = void 0, this.lastCompletedQueryState = { results: [], loadedAll: false }, this.currentCursor = void 0, this.cancelQuery = () => {
4327
4483
  }, e2 == null ? void 0 : e2([], "searching");
@@ -4351,14 +4507,14 @@ class da {
4351
4507
  const s2 = this.buildUrl(e2), n2 = [], a2 = yield this._performSearch(s2, t2, (e3) => {
4352
4508
  const t3 = this.hydrateData(e3);
4353
4509
  n2.push(t3), void 0 !== this.onResults && Promise.all(n2).then((e4) => {
4354
- const t4 = u(e4), s3 = S([...this.lastCompletedQueryState.results, ...t4]);
4510
+ const t4 = u(e4), s3 = x([...this.lastCompletedQueryState.results, ...t4]);
4355
4511
  this.onResults(s3, "searching");
4356
4512
  });
4357
4513
  }), i2 = a2.ok ? a2.value : void 0;
4358
4514
  if (yield Promise.all(n2).then((e3) => {
4359
4515
  var _a3;
4360
- const t3 = u(e3), s3 = S([...this.lastCompletedQueryState.results, ...t3]), n3 = void 0 === i2;
4361
- this.lastCompletedQueryState = S({ results: s3, loadedAll: n3 }), this.currentCursor = i2;
4516
+ const t3 = u(e3), s3 = x([...this.lastCompletedQueryState.results, ...t3]), n3 = void 0 === i2;
4517
+ this.lastCompletedQueryState = x({ results: s3, loadedAll: n3 }), this.currentCursor = i2;
4362
4518
  const a3 = n3 ? "loadedAll" : "canLoadMore";
4363
4519
  (_a3 = this.onResults) == null ? void 0 : _a3.call(this, s3, a3);
4364
4520
  }), a2.ok) return (_a2 = this.loadingDeferred) == null ? void 0 : _a2.resolve(this.lastCompletedQueryState), this.loadingDeferred = void 0, this.lastCompletedQueryState;
@@ -4368,7 +4524,7 @@ class da {
4368
4524
  _performSearch(e2, t2, s2) {
4369
4525
  return __async(this, null, function* () {
4370
4526
  let n2;
4371
- return ta({ method: "GET", url: e2, authProvider: this.authProvider, errorTracker: this.authProvider.errorTracker, abortSignal: t2.signal }).then((e3) => __async(this, null, function* () {
4527
+ return ha({ method: "GET", url: e2, authProvider: this.authProvider, errorTracker: this.authProvider.errorTracker, abortSignal: t2.signal }).then((e3) => __async(this, null, function* () {
4372
4528
  if (!e3.body) return l("Search response was missing body");
4373
4529
  const t3 = e3.body.getReader(), a2 = new TextDecoder();
4374
4530
  let r2 = "", i2 = true;
@@ -4409,7 +4565,7 @@ class da {
4409
4565
  }
4410
4566
  }
4411
4567
  export {
4412
- la as getTalkSession,
4568
+ ba as getTalkSession,
4413
4569
  f as registerPolyfills
4414
4570
  };
4415
4571
  //# sourceMappingURL=talkSession.js.map