@arcaelas/whatsapp 3.5.0 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/build/cjs/index.d.ts +1 -1
  2. package/build/cjs/index.js +4 -1
  3. package/build/cjs/index.js.map +1 -1
  4. package/build/cjs/lib/bot/decorator.d.ts +18 -1
  5. package/build/cjs/lib/bot/decorator.js +20 -14
  6. package/build/cjs/lib/bot/decorator.js.map +1 -1
  7. package/build/cjs/lib/bot/decorators.d.ts +1 -1
  8. package/build/cjs/lib/bot/decorators.js +6 -20
  9. package/build/cjs/lib/bot/decorators.js.map +1 -1
  10. package/build/cjs/lib/contact/index.d.ts +33 -10
  11. package/build/cjs/lib/contact/index.js +28 -6
  12. package/build/cjs/lib/contact/index.js.map +1 -1
  13. package/build/cjs/lib/message/index.d.ts +101 -1
  14. package/build/cjs/lib/message/index.js +189 -3
  15. package/build/cjs/lib/message/index.js.map +1 -1
  16. package/build/cjs/lib/store/engine/index.d.ts +1 -0
  17. package/build/cjs/lib/store/engine/index.js +3 -1
  18. package/build/cjs/lib/store/engine/index.js.map +1 -1
  19. package/build/cjs/lib/store/engine/lib/file_system/index.js +1 -7
  20. package/build/cjs/lib/store/engine/lib/file_system/index.js.map +1 -1
  21. package/build/cjs/lib/store/engine/lib/redis/index.js +1 -7
  22. package/build/cjs/lib/store/engine/lib/redis/index.js.map +1 -1
  23. package/build/cjs/lib/store/engine/lib/s3/index.d.ts +66 -0
  24. package/build/cjs/lib/store/engine/lib/s3/index.js +169 -0
  25. package/build/cjs/lib/store/engine/lib/s3/index.js.map +1 -0
  26. package/build/cjs/lib/store/index.d.ts +1 -1
  27. package/build/cjs/lib/store/index.js +2 -1
  28. package/build/cjs/lib/store/index.js.map +1 -1
  29. package/build/cjs/lib/whatsapp/index.d.ts +8 -3
  30. package/build/cjs/lib/whatsapp/index.js +54 -70
  31. package/build/cjs/lib/whatsapp/index.js.map +1 -1
  32. package/build/esm/index.d.ts +1 -1
  33. package/build/esm/index.js +1 -1
  34. package/build/esm/index.js.map +1 -1
  35. package/build/esm/lib/bot/decorator.d.ts +18 -1
  36. package/build/esm/lib/bot/decorator.js +18 -14
  37. package/build/esm/lib/bot/decorator.js.map +1 -1
  38. package/build/esm/lib/bot/decorators.d.ts +1 -1
  39. package/build/esm/lib/bot/decorators.js +7 -21
  40. package/build/esm/lib/bot/decorators.js.map +1 -1
  41. package/build/esm/lib/contact/index.d.ts +33 -10
  42. package/build/esm/lib/contact/index.js +27 -6
  43. package/build/esm/lib/contact/index.js.map +1 -1
  44. package/build/esm/lib/message/index.d.ts +101 -1
  45. package/build/esm/lib/message/index.js +185 -2
  46. package/build/esm/lib/message/index.js.map +1 -1
  47. package/build/esm/lib/store/engine/index.d.ts +1 -0
  48. package/build/esm/lib/store/engine/index.js +1 -0
  49. package/build/esm/lib/store/engine/index.js.map +1 -1
  50. package/build/esm/lib/store/engine/lib/file_system/index.js +1 -7
  51. package/build/esm/lib/store/engine/lib/file_system/index.js.map +1 -1
  52. package/build/esm/lib/store/engine/lib/redis/index.js +1 -7
  53. package/build/esm/lib/store/engine/lib/redis/index.js.map +1 -1
  54. package/build/esm/lib/store/engine/lib/s3/index.d.ts +66 -0
  55. package/build/esm/lib/store/engine/lib/s3/index.js +165 -0
  56. package/build/esm/lib/store/engine/lib/s3/index.js.map +1 -0
  57. package/build/esm/lib/store/index.d.ts +1 -1
  58. package/build/esm/lib/store/index.js +1 -1
  59. package/build/esm/lib/store/index.js.map +1 -1
  60. package/build/esm/lib/whatsapp/index.d.ts +8 -3
  61. package/build/esm/lib/whatsapp/index.js +55 -71
  62. package/build/esm/lib/whatsapp/index.js.map +1 -1
  63. package/package.json +3 -2
@@ -28,6 +28,11 @@ const MESSAGE_TYPE_MAP = {
28
28
  pollCreationMessage: 'poll',
29
29
  pollCreationMessageV2: 'poll',
30
30
  pollCreationMessageV3: 'poll',
31
+ documentMessage: 'document',
32
+ documentWithCaptionMessage: 'document',
33
+ contactMessage: 'vcard',
34
+ contactsArrayMessage: 'vcard',
35
+ eventMessage: 'event',
31
36
  };
32
37
  /**
33
38
  * Construye el documento IMessage desde el raw de baileys.
@@ -38,6 +43,7 @@ export function build_message_doc(raw, self_id, edited = false) {
38
43
  const unwrapped = msg.viewOnceMessage?.message ??
39
44
  msg.viewOnceMessageV2?.message ??
40
45
  msg.viewOnceMessageV2Extension?.message ??
46
+ msg.documentWithCaptionMessage?.message ??
41
47
  msg;
42
48
  const content_type = getContentType(unwrapped);
43
49
  const msg_type = MESSAGE_TYPE_MAP[content_type ?? ''] ?? 'text';
@@ -49,9 +55,12 @@ export function build_message_doc(raw, self_id, edited = false) {
49
55
  ? (Number(raw.ephemeralStartTimestamp) + ephemeral_duration) * 1000
50
56
  : null;
51
57
  let mime = 'text/plain';
52
- if (msg_type === 'location' || msg_type === 'poll') {
58
+ if (msg_type === 'location' || msg_type === 'poll' || msg_type === 'event') {
53
59
  mime = 'application/json';
54
60
  }
61
+ else if (msg_type === 'vcard') {
62
+ mime = 'text/vcard';
63
+ }
55
64
  else if (msg_type !== 'text' && typeof msg_content === 'object') {
56
65
  mime = msg_content?.mimetype ?? 'application/octet-stream';
57
66
  }
@@ -59,11 +68,15 @@ export function build_message_doc(raw, self_id, edited = false) {
59
68
  if (typeof msg_content === 'string') {
60
69
  caption = msg_content;
61
70
  }
71
+ else if (msg_type === 'event') {
72
+ caption = msg_content?.description ?? '';
73
+ }
62
74
  else if (msg_content) {
63
75
  caption =
64
76
  msg_content.caption ??
65
77
  msg_content.text ??
66
78
  msg_content.name ??
79
+ msg_content.displayName ??
67
80
  '';
68
81
  }
69
82
  const author = key.fromMe && self_id
@@ -214,7 +227,11 @@ export class Message {
214
227
  /** Reenvía el mensaje a un destino (CID, Chat o Contact). */
215
228
  async forward(target) {
216
229
  const { _wa, _doc } = this;
217
- const to_cid = typeof target === 'string' ? target : target instanceof Chat ? target.id : target.chat.id;
230
+ const to_cid = typeof target === 'string'
231
+ ? target
232
+ : target instanceof Chat
233
+ ? target.id
234
+ : (await target.chat()).id;
218
235
  let ok = false;
219
236
  if (_wa._socket) {
220
237
  const jid = await _wa._resolve_jid(to_cid);
@@ -378,6 +395,18 @@ export class Message {
378
395
  async poll(poll, opts = {}) {
379
396
  return this._wa.Message.poll(this.cid, poll, { ...opts, mid: this.id });
380
397
  }
398
+ /** Responde con documento. */
399
+ async document(buf, opts) {
400
+ return this._wa.Message.document(this.cid, buf, { ...opts, mid: this.id });
401
+ }
402
+ /** Responde con tarjeta(s) de contacto. */
403
+ async vcard(contacts, opts = {}) {
404
+ return this._wa.Message.vcard(this.cid, contacts, { ...opts, mid: this.id });
405
+ }
406
+ /** Responde con evento. */
407
+ async event(data, opts = {}) {
408
+ return this._wa.Message.event(this.cid, data, { ...opts, mid: this.id });
409
+ }
381
410
  }
382
411
  /**
383
412
  * Mensaje de texto. Override `content()` para retornar el caption como Buffer sin pasar por engine.
@@ -603,6 +632,113 @@ export class Poll extends Message {
603
632
  return true;
604
633
  }
605
634
  }
635
+ /**
636
+ * Mensaje de documento. WhatsApp permite enviar cualquier archivo (PDF, imagen,
637
+ * audio, video, etc.) como documento; lo que lo distingue de image/video/audio es
638
+ * el tipo de mensaje (`documentMessage`), no el mimetype. Hereda `stream()` de la
639
+ * clase base; `content()` drena el stream (cache → download).
640
+ * Document message. WhatsApp lets you send any file (PDF, image, audio, video…)
641
+ * as a document; what sets it apart from image/video/audio is the message type
642
+ * (`documentMessage`), not the mimetype. Inherits `stream()` from the base class;
643
+ * `content()` drains the stream (cache → download).
644
+ */
645
+ export class Document extends Message {
646
+ get _doc_msg() {
647
+ const m = this._doc.raw.message;
648
+ return m?.documentMessage ?? m?.documentWithCaptionMessage?.message?.documentMessage;
649
+ }
650
+ /** Nombre del archivo. / File name. */
651
+ get file_name() {
652
+ return this._doc_msg?.fileName ?? '';
653
+ }
654
+ /** Tamaño en bytes (0 si se desconoce). / Size in bytes (0 if unknown). */
655
+ get size() {
656
+ return Number(this._doc_msg?.fileLength?.toString() ?? '0');
657
+ }
658
+ /** Número de páginas (PDF); 0 si no aplica. / Page count (PDF); 0 when not applicable. */
659
+ get pages() {
660
+ return this._doc_msg?.pageCount ?? 0;
661
+ }
662
+ /** Título del documento. / Document title. */
663
+ get title() {
664
+ return this._doc_msg?.title ?? '';
665
+ }
666
+ async content() {
667
+ return _drain(await this.stream());
668
+ }
669
+ }
670
+ /**
671
+ * Construye un vCard 3.0 mínimo con el teléfono enlazado como contacto de WhatsApp.
672
+ * Builds a minimal vCard 3.0 with the phone linked as a WhatsApp contact.
673
+ *
674
+ * @param name - Nombre mostrado / Display name
675
+ * @param phone - Teléfono en formato internacional / Phone in international format
676
+ * @returns String vCard (VCF) / vCard (VCF) string
677
+ */
678
+ function build_vcard(name, phone) {
679
+ const waid = phone.replace(/\D+/g, '');
680
+ return [
681
+ 'BEGIN:VCARD',
682
+ 'VERSION:3.0',
683
+ `FN:${name}`,
684
+ `TEL;type=CELL;waid=${waid}:${phone}`,
685
+ 'END:VCARD',
686
+ ].join('\n');
687
+ }
688
+ /**
689
+ * Mensaje de tarjeta(s) de contacto (vCard). Unifica `contactMessage` (uno) y
690
+ * `contactsArrayMessage` (varios) bajo una sola lista `contacts`.
691
+ * Contact card message (vCard). Unifies `contactMessage` (single) and
692
+ * `contactsArrayMessage` (multiple) under a single `contacts` list.
693
+ */
694
+ export class VCard extends Message {
695
+ /** Contactos de la tarjeta con nombre y teléfono. / Card contacts with name and phone. */
696
+ get contacts() {
697
+ const m = this._doc.raw.message;
698
+ const raw = m?.contactsArrayMessage?.contacts ?? (m?.contactMessage ? [m.contactMessage] : []);
699
+ return raw.map((c) => {
700
+ const tel = (c.vcard ?? '').match(/TEL[^:]*:(.+)/);
701
+ return { name: c.displayName ?? '', phone: tel ? tel[1].trim() : '' };
702
+ });
703
+ }
704
+ }
705
+ /**
706
+ * Mensaje de evento de calendario (`eventMessage`): nombre, descripción, rango de
707
+ * fechas, estado de cancelación, link de unión y ubicación.
708
+ * Calendar event message (`eventMessage`): name, description, date range,
709
+ * cancellation state, join link and location.
710
+ */
711
+ export class Event extends Message {
712
+ get _event() {
713
+ return this._doc.raw.message?.eventMessage;
714
+ }
715
+ /** Nombre del evento. / Event name. */
716
+ get name() {
717
+ return this._event?.name ?? '';
718
+ }
719
+ /** Epoch ms de inicio. / Start epoch ms. */
720
+ get start() {
721
+ return Number(this._event?.startTime?.toString() ?? '0') * 1000;
722
+ }
723
+ /** Epoch ms de fin, o null. / End epoch ms, or null. */
724
+ get end() {
725
+ const end = this._event?.endTime;
726
+ return end == null ? null : Number(end.toString()) * 1000;
727
+ }
728
+ /** true si el evento fue cancelado. / true if the event was canceled. */
729
+ get canceled() {
730
+ return this._event?.isCanceled ?? false;
731
+ }
732
+ /** Link de unión (audio/video), si aplica. / Join link (audio/video), if any. */
733
+ get link() {
734
+ return this._event?.joinLink ?? '';
735
+ }
736
+ /** Ubicación del evento, o null. / Event location, or null. */
737
+ get place() {
738
+ const loc = this._event?.location;
739
+ return loc ? { lat: loc.degreesLatitude ?? 0, lng: loc.degreesLongitude ?? 0 } : null;
740
+ }
741
+ }
606
742
  /**
607
743
  * Factoría que enlaza los statics a `wa` y expone las subclases.
608
744
  * Factory binding statics to `wa` and exposing subclasses.
@@ -628,6 +764,15 @@ export function message(wa) {
628
764
  if (doc.type === 'poll') {
629
765
  return new Poll(opts);
630
766
  }
767
+ if (doc.type === 'document') {
768
+ return new Document(opts);
769
+ }
770
+ if (doc.type === 'vcard') {
771
+ return new VCard(opts);
772
+ }
773
+ if (doc.type === 'event') {
774
+ return new Event(opts);
775
+ }
631
776
  return new Message(opts);
632
777
  }
633
778
  async function send(cid, content, binary, reply_to, doc_overrides) {
@@ -668,6 +813,9 @@ export function message(wa) {
668
813
  Audio,
669
814
  Gps,
670
815
  Poll,
816
+ Document,
817
+ VCard,
818
+ Event,
671
819
  // Helpers internos (usados por orquestador WhatsApp)
672
820
  build_message_doc,
673
821
  build_instance,
@@ -724,6 +872,41 @@ export function message(wa) {
724
872
  },
725
873
  }, undefined, opts.mid, { multiple });
726
874
  },
875
+ async document(cid, buf, opts) {
876
+ return send(cid, {
877
+ document: buf,
878
+ fileName: opts.file_name,
879
+ mimetype: opts.mimetype ?? 'application/octet-stream',
880
+ caption: opts.caption,
881
+ }, buf, opts.mid);
882
+ },
883
+ async vcard(cid, contacts, opts = {}) {
884
+ const built = contacts.map((c) => ({
885
+ displayName: c.name,
886
+ vcard: build_vcard(c.name, c.phone),
887
+ }));
888
+ const binary = Buffer.from(built.map((c) => c.vcard).join('\n'), 'utf-8');
889
+ return send(cid, { contacts: { contacts: built } }, binary, opts.mid);
890
+ },
891
+ async event(cid, data, opts = {}) {
892
+ const binary = Buffer.from(JSON.stringify({
893
+ name: data.name,
894
+ caption: data.caption,
895
+ start: data.start.getTime(),
896
+ end: data.end?.getTime() ?? null,
897
+ }), 'utf-8');
898
+ return send(cid, {
899
+ event: {
900
+ name: data.name,
901
+ description: data.caption,
902
+ startDate: data.start,
903
+ endDate: data.end,
904
+ location: data.place
905
+ ? { degreesLatitude: data.place.lat, degreesLongitude: data.place.lng }
906
+ : undefined,
907
+ },
908
+ }, binary, opts.mid);
909
+ },
727
910
  async edit(cid, mid, text) {
728
911
  const m = await api.get(cid, mid);
729
912
  return m ? m.edit(text) : false;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/message/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/message/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,aAAa,EACb,oBAAoB,EACpB,6BAA6B,EAC7B,iBAAiB,EACjB,4BAA4B,EAC5B,8BAA8B,EAC9B,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,KAAK,EACL,MAAM,EACN,2BAA2B,GAE9B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAuB,MAAM,YAAY,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAYrD,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACrB,mDAAS,CAAA;IACT,uDAAW,CAAA;IACX,6DAAc,CAAA;IACd,2DAAa,CAAA;IACb,iDAAQ,CAAA;IACR,qDAAU,CAAA;AACd,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAkFD,MAAM,gBAAgB,GAAgC;IAClD,YAAY,EAAE,MAAM;IACpB,mBAAmB,EAAE,MAAM;IAC3B,YAAY,EAAE,OAAO;IACrB,YAAY,EAAE,OAAO;IACrB,YAAY,EAAE,OAAO;IACrB,eAAe,EAAE,UAAU;IAC3B,mBAAmB,EAAE,UAAU;IAC/B,mBAAmB,EAAE,MAAM;IAC3B,qBAAqB,EAAE,MAAM;IAC7B,qBAAqB,EAAE,MAAM;IAC7B,eAAe,EAAE,UAAU;IAC3B,0BAA0B,EAAE,UAAU;IACtC,cAAc,EAAE,OAAO;IACvB,oBAAoB,EAAE,OAAO;IAC7B,YAAY,EAAE,OAAO;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAc,EAAE,OAAgB,EAAE,MAAM,GAAG,KAAK;IAC9E,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;IAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;IAC9B,MAAM,SAAS,GACX,GAAG,CAAC,eAAe,EAAE,OAAO;QAC5B,GAAG,CAAC,iBAAiB,EAAE,OAAO;QAC9B,GAAG,CAAC,0BAA0B,EAAE,OAAO;QACvC,GAAG,CAAC,0BAA0B,EAAE,OAAO;QACvC,GAAG,CAAC;IACR,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,IAAI,EAAE,CAAC,IAAI,MAAM,CAAC;IAChE,MAAM,WAAW,GAAG,SAAS,CAAC,YAAsC,CAGrD,CAAC;IAChB,MAAM,YAAY,GAAI,WAAgE;QAClF,EAAE,WAAW,CAAC;IAClB,MAAM,kBAAkB,GAAG,GAAG,CAAC,iBAAiB,IAAI,YAAY,EAAE,UAAU,CAAC;IAC7E,MAAM,UAAU,GACZ,GAAG,CAAC,uBAAuB,IAAI,IAAI,IAAI,kBAAkB,IAAI,IAAI;QAC7D,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,kBAAkB,CAAC,GAAG,IAAI;QACnE,CAAC,CAAC,IAAI,CAAC;IAEf,IAAI,IAAI,GAAG,YAAY,CAAC;IACxB,IAAI,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzE,IAAI,GAAG,kBAAkB,CAAC;IAC9B,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC9B,IAAI,GAAG,YAAY,CAAC;IACxB,CAAC;SAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QAChE,IAAI,GAAI,WAAW,EAAE,QAAmB,IAAI,0BAA0B,CAAC;IAC3E,CAAC;IAED,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,GAAG,WAAW,CAAC;IAC1B,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,GAAK,WAAmD,EAAE,WAAsB,IAAI,EAAE,CAAC;IAClG,CAAC;SAAM,IAAI,WAAW,EAAE,CAAC;QACrB,OAAO;YACF,WAAW,CAAC,OAAkB;gBAC9B,WAAW,CAAC,IAAe;gBAC3B,WAAW,CAAC,IAAe;gBAC3B,WAAW,CAAC,WAAsB;gBACnC,EAAE,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GACR,GAAG,CAAC,MAAM,IAAI,OAAO;QACjB,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC;QAC5B,CAAC,CAAC,GAAG,CAAC,WAAW,IAAK,GAAiC,CAAC,YAAY,IAAI,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;IAEpG,OAAO;QACH,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE;QAChB,GAAG,EAAG,GAAiC,CAAC,YAAY,IAAI,GAAG,CAAC,SAAS,IAAI,EAAE;QAC3E,GAAG,EAAE,YAAY,EAAE,QAAQ,IAAI,IAAI;QACnC,EAAE,EAAE,GAAG,CAAC,MAAM,IAAI,KAAK;QACvB,IAAI,EAAE,QAAQ;QACd,MAAM;QACN,MAAM,EAAG,GAAG,CAAC,MAAmC,IAAI,aAAa,CAAC,OAAO;QACzE,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,KAAK;QAC7B,SAAS,EAAE,YAAY,EAAE,WAAW,IAAI,KAAK;QAC7C,UAAU,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI;QAClF,UAAU;QACV,IAAI;QACJ,OAAO;QACP,MAAM;QACN,GAAG;KACN,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,OAAO;IAUhB,YAAY,OAAwC;QALpD,4FAA4F;QACpF,kBAAa,GAAoC,IAAI,CAAC;QAC9D,0FAA0F;QAClF,gBAAW,GAAiC,IAAI,CAAC;QAGrD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACxB,CAAC;IACD,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACzB,CAAC;IACD,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC1B,CAAC;IACD,+EAA+E;IAC/E,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC;IACD,yHAAyH;IACzH,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC1B,CAAC;IACD,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACzB,CAAC;IACD,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACxB,CAAC;IACD,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAC7B,CAAC;IACD,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/B,CAAC;IACD,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;IACzC,CAAC;IACD,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IAChC,CAAC;IACD,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IAChC,CAAC;IACD,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC;IACD,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM;QACR,OAAO,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACxE,OAAO,CACH,OAAO;gBACP,IAAI,GAAG,CAAC,OAAO,CACX;oBACI,EAAE,EAAE,IAAI,CAAC,MAAM;oBACf,GAAG,EAAE,IAAI;oBACT,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,IAAI;oBACZ,aAAa,EAAE,IAAI;oBACnB,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,IAAI;iBACf,EACD,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CACrE,CACJ,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI;QACN,OAAO,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,MAAM,GAAG,WAAW,CAAW,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC1F,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,CAAC;IAED,uFAAuF;IACvF,KAAK,CAAC,OAAO;QACT,MAAM,MAAM,GAAG,WAAW,CACtB,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CACtF,CAAC;QACF,OAAO,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM;QACR,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,uDAAuD;IACvD,KAAK,CAAC,KAAK,CAAC,KAAa;QACrB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC3B,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;aACrF,CAAC,CAAC;YACH,EAAE,GAAG,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,OAAO,CAAC,MAAqB;QAC/B,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC3B,MAAM,MAAM,GACR,OAAO,MAAM,KAAK,QAAQ;YACtB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,MAAM,YAAY,IAAI;gBACpB,CAAC,CAAC,MAAM,CAAC,EAAE;gBACX,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACvC,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,GAAG,EAAE,CAAC;gBACN,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;oBACnB,IAAI,CAAC;wBACD,MAAM,MAAM,GAAG,4BAA4B,CACvC,GAAG,EACH,6BAA6B,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAC9C,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAC1C,CAAC;wBACF,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;4BACnC,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;4BAClF,EAAE,GAAG,IAAI,CAAC;wBACd,CAAC;oBACL,CAAC;oBAAC,MAAM,CAAC;wBACL,oBAAoB;oBACxB,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,EAAE,EAAE,CAAC;oBACN,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACjB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;4BACvB,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;wBAChE,CAAC;6BAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BAC/B,EAAE;gCACE,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC;oCAC3E,IAAI,CAAC;wBACb,CAAC;6BAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BAC/B,EAAE;gCACE,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC;oCAC3E,IAAI,CAAC;wBACb,CAAC;6BAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BAC/B,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;wBACtD,CAAC;6BAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;4BAClC,IAAI,CAAC;gCACD,EAAE;oCACE,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CACvB,GAAG,EACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAoB,CAChD,CAAC,KAAK,IAAI,CAAC;4BACpB,CAAC;4BAAC,MAAM,CAAC;gCACL,qBAAqB;4BACzB,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,mCAAmC;IACnC,KAAK,CAAC,IAAI;QACN,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC3B,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC;gBAC3B,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE;aACxF,CAAC,CAAC;YACH,EAAE,GAAG,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,4CAA4C;IAC5C,KAAK,CAAC,IAAI,CAAC,KAAc;QACrB,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACpC,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CACvB;gBACI,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;aACpE,EACD,GAAG,CAAC,GAAG,CACV,CAAC;YACF,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1E,EAAE,GAAG,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,2GAA2G;IAC3G,KAAK,CAAC,MAAM,CAAC,MAAe,IAAI;QAC5B,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACpC,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE;oBAClC,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE;iBAC7D,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CACvB;oBACI,WAAW,EAAE;wBACT,WAAW,EAAE,KAAK;wBAClB,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE;wBACvD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;qBACxB;iBACJ,EACD,GAAG,CAAC,GAAG,CACV,CAAC;YACN,CAAC;YACD,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5D,EAAE,GAAG,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,mEAAmE;IACnE,KAAK,CAAC,IAAI,CAAC,IAAY;QACnB,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACpC,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,IAAI,EAAE,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACvB,IAAI,CAAC;gBACD,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE;oBAClC,IAAI;oBACJ,IAAI,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;iBAChD,CAAC,CAAC;gBACZ,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;gBAC3D,IAAI,YAAY,KAAK,cAAc,EAAE,CAAC;oBAClC,GAAG,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;gBAC7C,CAAC;qBAAM,IAAI,YAAY,KAAK,qBAAqB,EAAE,CAAC;oBAChD,GAAG,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;gBACxD,CAAC;gBACD,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;gBACnB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;gBAClB,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1E,EAAE,GAAG,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACL,EAAE,GAAG,KAAK,CAAC;YACf,CAAC;QACL,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,4GAA4G;IAC5G,KAAK,CAAC,OAA+B;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,EAAE;YAC9C,IAAI,OAAO,CAAC,GAAG,KAAK,GAAG,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC3C,OAAO,CAAC,OAAO,CAAC,CAAC;YACrB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAC,IAAI,CAAC,OAAe,EAAE,OAAoB,EAAE;QAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,2BAA2B;IAC3B,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,OAAyB,EAAE;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,OAAyB,EAAE;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,OAAyB,EAAE;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,8BAA8B;IAC9B,KAAK,CAAC,QAAQ,CAAC,GAAoB,EAAE,OAAoB,EAAE;QACvD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,6BAA6B;IAC7B,KAAK,CAAC,IAAI,CAAC,IAAiB,EAAE,OAAwB,EAAE;QACpD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,8BAA8B;IAC9B,KAAK,CAAC,QAAQ,CAAC,GAAW,EAAE,IAAyB;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,2CAA2C;IAC3C,KAAK,CAAC,KAAK,CAAC,QAAsB,EAAE,OAAoB,EAAE;QACtD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,2BAA2B;IAC3B,KAAK,CAAC,KAAK,CAAC,IAAgB,EAAE,OAAoB,EAAE;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,IAAK,SAAQ,OAAO;IAC7B,KAAK,CAAC,OAAO;QACT,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;CACJ;AAED,4FAA4F;AAC5F,KAAK,UAAU,aAAa,CAAC,GAAY;IACrC,MAAM,EAAE,GAAI,GAAoC,CAAC,GAAG,CAAC;IACrD,MAAM,GAAG,GAAI,GAAqC,CAAC,IAAI,CAAC;IACxD,MAAM,MAAM,GAAG,WAAW,CACtB,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,UAAU,CAAC,CACpE,CAAC;IACF,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;QACf,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,CAAC;YACD,OAAO,CAAC,MAAM,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAwB,CAAC;QACtF,CAAC;QAAC,MAAM,CAAC;YACL,oBAAoB;QACxB,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,+CAA+C;AAC/C,KAAK,UAAU,MAAM,CAAC,QAAkB;IACpC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,KAAM,SAAQ,OAAO;IAC9B,KAAK,CAAC,OAAO;QACT,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,KAAM,SAAQ,OAAO;IAC9B,KAAK,CAAC,OAAO;QACT,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,KAAM,SAAQ,OAAO;IAC9B,gFAAgF;IAChF,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7D,CAAC;IACD,KAAK,CAAC,OAAO;QACT,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,GAAI,SAAQ,OAAO;IAC5B,IAAY,IAAI;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC;IAChG,CAAC;IAED,gDAAgD;IAChD,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,IAAI,EAAE,eAAe,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,kDAAkD;IAClD,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,IAAI,EAAE,gBAAgB,IAAI,CAAC,CAAC;IAC5C,CAAC;IACD,0FAA0F;IAC1F,IAAI,IAAI;QACJ,OAAO,gCAAgC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC;IACtE,CAAC;IACD,sEAAsE;IACtE,IAAI,IAAI;QACJ,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAC/D,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,IAAK,SAAQ,OAAO;IAC7B,IAAY,KAAK;QACb,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QAChC,OAAO,CAAC,EAAE,mBAAmB,IAAI,CAAC,EAAE,qBAAqB,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC1F,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,QAAQ;QACR,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC9B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,sBAAsB,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,uFAAuF;IACvF,IAAI,OAAO;QACP,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;QACpD,+FAA+F;QAC/F,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpC,GAAG,CAAC;YACJ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACR,CAAC,CAAC;oBACE,GAAG,CAAC,CAAC,IAAI;oBACT,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACtD,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CACvD;iBACJ;gBACD,CAAC,CAAC,CAAC,CAAC,IAAI;SACf,CAAC,CAAC,CAAC;QACJ,MAAM,UAAU,GAAG,8BAA8B,CAC7C,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,EACrE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAC7B,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpB,OAAO,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE;YAC3B,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC;SAC7C,CAAC,CAAC,CAAC;IACR,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,KAAwB;QACjC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC;QACvC,MAAM,gBAAgB,GAAG,OAAO;aAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;aACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAE/D,yFAAyF;QACzF,4DAA4D;QAC5D,iFAAiF;QACjF,8DAA8D;QAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,kBAAkB,EAAE,aAAa,CAAC;QACvE,MAAM,YAAY,GACd,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACpF,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjE,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,2EAA2E;QAC3E,2EAA2E;QAC3E,0EAA0E;QAC1E,8EAA8E;QAC9E,0EAA0E;QAC1E,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAI,GAAG,CAAC,OAAO,CAAC,IAAyB,EAAE,GAAG,IAAI,EAAE,CAAC;QACnE,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC;QACzD,IAAI,gBAAwB,CAAC;QAC7B,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClB,gBAAgB,GAAG,QAAQ,IAAI,OAAO,CAAC;QAC3C,CAAC;aAAM,IAAI,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC;QAC1C,CAAC;aAAM,CAAC;YACJ,gBAAgB,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC;QAE5B,kFAAkF;QAClF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;YACxB,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;SACtB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC;YACjD,eAAe,EAAE,gBAAgB;SACpC,CAAC,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,OAAO,SAAS,EAAE,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,CAC1B,IAAI,CAAC,GAAG,EACR;YACI,iBAAiB,EAAE;gBACf,sBAAsB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG;gBACpC,IAAI,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE;gBAChD,iBAAiB,EAAE,IAAI,CAAC,GAAG,EAAE;aAChC;SACJ,EACD,EAAE,SAAS,EAAE,MAAM,EAAE,CACxB,CAAC;QACF,4EAA4E;QAC5E,2EAA2E;QAC3E,iFAAiF;QACjF,iFAAiF;QACjF,oFAAoF;QACpF,+EAA+E;QAC/E,MAAM,cAAc,GAAG;YACnB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,IAAI,IAAI,CAAC,GAAG;YAC9C,MAAM,EAAE,IAAI;YACZ,EAAE,EAAE,MAAM;SACb,CAAC;QACF,2BAA2B,CAAC,IAAI,CAAC,GAAG,EAAE;YAClC,oBAAoB,EAAE,cAAc;YACpC,IAAI,EAAE,EAAE,eAAe,EAAE,gBAAgB,EAAE;YAC3C,iBAAiB,EAAE,IAAI,CAAC,GAAG,EAAE;SAChC,CAAC,CAAC;QACH,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAChB,SAAS,IAAI,CAAC,GAAG,YAAY,IAAI,CAAC,EAAE,EAAE,EACtC,SAAS,CAAC,IAAI,CAAC,CAClB,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,QAAS,SAAQ,OAAO;IACjC,IAAY,QAAQ;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QAChC,OAAO,CAAC,EAAE,eAAe,IAAI,CAAC,EAAE,0BAA0B,EAAE,OAAO,EAAE,eAAe,CAAC;IACzF,CAAC;IAED,uCAAuC;IACvC,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC;IACzC,CAAC;IACD,2EAA2E;IAC3E,IAAI,IAAI;QACJ,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC;IAChE,CAAC;IACD,0FAA0F;IAC1F,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,QAAQ,EAAE,SAAS,IAAI,CAAC,CAAC;IACzC,CAAC;IACD,8CAA8C;IAC9C,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,OAAO;QACT,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;CACJ;AAED;;;;;;;GAOG;AACH,SAAS,WAAW,CAAC,IAAY,EAAE,KAAa;IAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvC,OAAO;QACH,aAAa;QACb,aAAa;QACb,MAAM,IAAI,EAAE;QACZ,sBAAsB,IAAI,IAAI,KAAK,EAAE;QACrC,WAAW;KACd,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,KAAM,SAAQ,OAAO;IAC9B,0FAA0F;IAC1F,IAAI,QAAQ;QACR,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QAChC,MAAM,GAAG,GAAG,CAAC,EAAE,oBAAoB,EAAE,QAAQ,IAAI,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/F,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACjB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACnD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1E,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,KAAM,SAAQ,OAAO;IAC9B,IAAY,MAAM;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/C,CAAC;IAED,uCAAuC;IACvC,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;IACnC,CAAC;IACD,4CAA4C;IAC5C,IAAI,KAAK;QACL,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;IACpE,CAAC;IACD,wDAAwD;IACxD,IAAI,GAAG;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;QACjC,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC;IAC9D,CAAC;IACD,yEAAyE;IACzE,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,KAAK,CAAC;IAC5C,CAAC;IACD,iFAAiF;IACjF,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;IACvC,CAAC;IACD,+DAA+D;IAC/D,IAAI,KAAK;QACL,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;QAClC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,eAAe,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,gBAAgB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1F,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,EAAY;IAChC,KAAK,UAAU,cAAc,CAAC,GAAa;QACvC,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;QACzB,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACvB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACvB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACvB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC1B,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC1B,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACvB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACvB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,UAAU,IAAI,CACf,GAAW,EACX,OAAgC,EAChC,MAAe,EACf,QAAiB,EACjB,aAAiC;QAEjC,IAAI,MAAM,GAAmB,IAAI,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,GAAG,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,MAA6B,CAAC;YAClC,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,WAAW,CACvB,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,YAAY,QAAQ,EAAE,CAAC,CAC1D,CAAC;gBACF,IAAI,OAAO,EAAE,CAAC;oBACV,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;gBACzB,CAAC;YACL,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE;gBAC1C,GAAG,OAAO;gBACV,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvB,CAAC,CAAC;YACZ,MAAM,OAAO,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;YAC7B,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBACzD,IAAI,aAAa,EAAE,CAAC;oBAChB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;gBACtC,CAAC;gBACD,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,YAAY,OAAO,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvE,IAAI,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CACf,SAAS,GAAG,YAAY,OAAO,UAAU,EACzC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CACjD,CAAC;gBACN,CAAC;gBACD,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,GAAG,GAAG;QACR,mCAAmC;QACnC,IAAI;QACJ,KAAK;QACL,KAAK;QACL,KAAK;QACL,GAAG;QACH,IAAI;QACJ,QAAQ;QACR,KAAK;QACL,KAAK;QAEL,qDAAqD;QACrD,iBAAiB;QACjB,cAAc;QAEd,sCAAsC;QACtC,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,GAAW;YAC9B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACP,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,MAAM,GAAG,GAAG,WAAW,CAAW,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC;YACtF,OAAO,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5C,CAAC;QAED,kCAAkC;QAClC,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE;YAC1C,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,MAAM,GAAc,EAAE,CAAC;YAC7B,IAAI,GAAG,EAAE,CAAC;gBACN,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;oBAC5E,MAAM,GAAG,GAAG,WAAW,CAAW,GAAG,CAAC,CAAC;oBACvC,IAAI,GAAG,EAAE,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC3C,CAAC;gBACL,CAAC;YACL,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,kCAAkC;QAClC,KAAK,CAAC,KAAK,CAAC,GAAW;YACnB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACvC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,OAAe,EAAE,OAAoB,EAAE;YAC3D,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7D,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,GAAW,EAAE,OAAyB,EAAE;YAC7D,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3E,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,GAAW,EAAE,OAAyB,EAAE;YAC7D,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3E,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,GAAW,EAAE,OAAyB,EAAE;YAC7D,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3E,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,GAAW,EAAE,GAAoB,EAAE,OAAoB,EAAE;YACpE,OAAO,IAAI,CACP,GAAG,EACH,EAAE,QAAQ,EAAE,EAAE,eAAe,EAAE,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,EACrE,SAAS,EACT,IAAI,CAAC,GAAG,CACX,CAAC;QACN,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,CAAc,EAAE,OAAwB,EAAE;YAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC;YACxC,OAAO,IAAI,CACP,GAAG,EACH;gBACI,IAAI,EAAE;oBACF,IAAI,EAAE,CAAC,CAAC,OAAO;oBACf,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;oBACvC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACpC;aACJ,EACD,SAAS,EACT,IAAI,CAAC,GAAG,EACR,EAAE,QAAQ,EAAE,CACf,CAAC;QACN,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,GAAW,EAAE,GAAW,EAAE,IAAyB;YAC9D,OAAO,IAAI,CACP,GAAG,EACH;gBACI,QAAQ,EAAE,GAAG;gBACb,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,0BAA0B;gBACrD,OAAO,EAAE,IAAI,CAAC,OAAO;aACxB,EACD,GAAG,EACH,IAAI,CAAC,GAAG,CACX,CAAC;QACN,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,QAAsB,EAAE,OAAoB,EAAE;YACnE,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,WAAW,EAAE,CAAC,CAAC,IAAI;gBACnB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;aACtC,CAAC,CAAC,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1E,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1E,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,IAAgB,EAAE,OAAoB,EAAE;YAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CACtB,IAAI,CAAC,SAAS,CAAC;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC3B,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,IAAI;aACnC,CAAC,EACF,OAAO,CACV,CAAC;YACF,OAAO,IAAI,CACP,GAAG,EACH;gBACI,KAAK,EAAE;oBACH,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,OAAO;oBACzB,SAAS,EAAE,IAAI,CAAC,KAAK;oBACrB,OAAO,EAAE,IAAI,CAAC,GAAG;oBACjB,QAAQ,EAAE,IAAI,CAAC,KAAK;wBAChB,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;wBACvE,CAAC,CAAC,SAAS;iBAClB;aACJ,EACD,MAAM,EACN,IAAI,CAAC,GAAG,CACX,CAAC;QACN,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,GAAW,EAAE,IAAY;YAC7C,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAClC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACpC,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,GAAW,EAAE,GAAG,GAAG,IAAI;YAC7C,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAClC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACrC,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,GAAW,EAAE,KAAa;YAC/C,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAClC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACtC,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,GAAW,EAAE,MAAqB;YACzD,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAClC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACzC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,GAAW;YAC/B,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAClC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,GAAW,EAAE,KAAc;YAC/C,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAClC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACrC,CAAC;QAED,KAAK,CAAC,GAAW,EAAE,GAAW,EAAE,OAA+B;YAC3D,OAAO,EAAE,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,EAAE;gBACxC,IAAI,OAAO,CAAC,GAAG,KAAK,GAAG,IAAI,OAAO,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC;oBAC5C,OAAO,CAAC,OAAO,CAAC,CAAC;gBACrB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;IAEF,OAAO,GAAG,CAAC;AACf,CAAC"}
@@ -32,3 +32,4 @@ export interface Engine {
32
32
  }
33
33
  export { FileSystemEngine } from '../../../lib/store/engine/lib/file_system/index.js';
34
34
  export { RedisEngine, type RedisClient } from '../../../lib/store/engine/lib/redis/index.js';
35
+ export { S3Engine } from '../../../lib/store/engine/lib/s3/index.js';
@@ -5,4 +5,5 @@
5
5
  */
6
6
  export { FileSystemEngine } from '../../../lib/store/engine/lib/file_system/index.js';
7
7
  export { RedisEngine } from '../../../lib/store/engine/lib/redis/index.js';
8
+ export { S3Engine } from '../../../lib/store/engine/lib/s3/index.js';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/store/engine/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmCH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAoB,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/store/engine/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmCH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAoB,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC"}
@@ -102,13 +102,7 @@ export class FileSystemEngine {
102
102
  return null;
103
103
  }
104
104
  }));
105
- const result = [];
106
- for (const value of values) {
107
- if (value !== null) {
108
- result.push(value);
109
- }
110
- }
111
- return result;
105
+ return values.filter((value) => value !== null);
112
106
  }
113
107
  catch {
114
108
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/lib/store/engine/lib/file_system/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,UAAU,GAAG,YAAY,CAAC;AAEhC;;;GAGG;AACH,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,gBAAgB;IAC3B,YAA6B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAI,CAAC;IAE/C,gBAAgB;IACR,IAAI,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB;IACR,KAAK,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,GAAG,CAAC,IAAY;QACpB,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,KAAa;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,OAAO;iBACJ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBAC9B,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACnB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC/C,IAAI,CAAC;oBACH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC;gBACrC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,CACL,CAAC;YAEF,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAwC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YACpF,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;YAEjD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;gBAC1B,IAAI,CAAC;oBACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACvC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,MAAM,OAAO,CAAC,GAAG,CACf,OAAO;iBACJ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBAC9B,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACnB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;oBAC9C,KAAK,EAAE,CAAC;gBACV,CAAC;gBAAC,MAAM,CAAC;oBACP,2BAA2B;gBAC7B,CAAC;YACH,CAAC,CAAC,CACL,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/lib/store/engine/lib/file_system/index.ts"],"names":[],"mappings":"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"}
@@ -85,13 +85,7 @@ export class RedisEngine {
85
85
  return [];
86
86
  }
87
87
  const raws = await this._client.mget(members.map((m) => this._doc_key(m)));
88
- const result = [];
89
- for (const raw of raws) {
90
- if (raw !== null) {
91
- result.push(raw);
92
- }
93
- }
94
- return result;
88
+ return raws.filter((raw) => raw !== null);
95
89
  }
96
90
  /**
97
91
  * Cuenta hijos directos en O(1) usando ZCARD.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/lib/store/engine/lib/redis/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/lib/store/engine/lib/redis/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @file store/engine/lib/s3/index.ts
3
+ * @description Driver de persistencia con AWS S3 (caché local opcional).
4
+ * AWS S3 persistence driver (optional local cache).
5
+ */
6
+ import { S3Client } from '@aws-sdk/client-s3';
7
+ import type { Engine } from '../../../../../lib/store/engine/index.js';
8
+ /**
9
+ * Configuración de la caché local. Cada entrada se limpia con un `setTimeout`
10
+ * (no hay campo de expiración en la lectura). `when` decide qué keys se cachean;
11
+ * el resto va directo a S3.
12
+ * Local cache configuration. Each entry is cleared with a `setTimeout` (no
13
+ * expiration field on read). `when` decides which keys get cached; everything
14
+ * else goes straight to S3.
15
+ */
16
+ interface CacheOptions {
17
+ /** Tiempo de vida de cada entrada en ms. / Time-to-live of each entry in ms. */
18
+ ttl: number;
19
+ /** Predicado que decide si un path se cachea. / Predicate deciding whether a path is cached. */
20
+ when(key: string): boolean;
21
+ }
22
+ interface S3EngineOptions {
23
+ /** Cliente S3 ya configurado. / Pre-configured S3 client. */
24
+ s3: S3Client;
25
+ /** Nombre del bucket. / Bucket name. */
26
+ bucket: string;
27
+ /** Prefijo base de las keys dentro del bucket. / Base key prefix inside the bucket. */
28
+ basedir: string;
29
+ /**
30
+ * Caché local: `false` la desactiva; un objeto `{ ttl, when }` la configura.
31
+ * Default: `false` (sin caché).
32
+ * Local cache: `false` disables it; an object `{ ttl, when }` configures it.
33
+ * Default: `false` (no cache).
34
+ */
35
+ cache?: false | CacheOptions;
36
+ }
37
+ export declare class S3Engine implements Engine {
38
+ private readonly _client;
39
+ private readonly _bucket;
40
+ private readonly _prefix;
41
+ private readonly _cache_opts;
42
+ /** @internal Caché local de documentos, con su timer de expiración. / Local cache of documents, with its expiration timer. */
43
+ private readonly _cache;
44
+ constructor(options: S3EngineOptions);
45
+ private _key;
46
+ /**
47
+ * Indica si un path es elegible para caché según la configuración `when`.
48
+ * Reports whether a path is eligible for caching per the `when` config.
49
+ */
50
+ private _cacheable;
51
+ /**
52
+ * Guarda un valor en la caché local y programa su limpieza con un `setTimeout`.
53
+ * Reemplaza el timer previo si la key ya estaba cacheada para no acumular timers.
54
+ * Stores a value in the local cache and schedules its cleanup with a `setTimeout`.
55
+ * Replaces the previous timer when the key was already cached so timers don't pile up.
56
+ */
57
+ private _cache_set;
58
+ get(key: string): Promise<string | null>;
59
+ set(key: string, value: string): Promise<void>;
60
+ list(path: string, offset?: number, limit?: number): Promise<string[]>;
61
+ delete_prefix(prefix: string): Promise<number>;
62
+ unset(path: string): Promise<boolean>;
63
+ count(path: string): Promise<number>;
64
+ clear(): Promise<void>;
65
+ }
66
+ export {};