dsh-kingdom 3.2.0 → 3.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 (51) hide show
  1. package/README.md +267 -246
  2. package/docs/CURRENT-USER-GUIDE.md +106 -0
  3. package/docs/DISPATCH-IDENTITY-PROBE.md +79 -0
  4. package/docs/V3.2-RELEASE-NOTES.md +108 -103
  5. package/docs/V3.2.1-RELEASE-NOTES.md +39 -0
  6. package/docs/V3.3-RELEASE-NOTES.md +46 -0
  7. package/lib/adapter/dsh-backend.js +189 -11
  8. package/lib/adapter/dsh-backend.js.map +1 -1
  9. package/lib/adapter/dsh-session-events.js +51 -7
  10. package/lib/adapter/dsh-session-events.js.map +1 -1
  11. package/lib/core/db.js +557 -546
  12. package/lib/core/db.js.map +1 -1
  13. package/lib/core/governed.js +20 -6
  14. package/lib/core/governed.js.map +1 -1
  15. package/lib/core/owner-binding-intent.js +168 -11
  16. package/lib/core/owner-binding-intent.js.map +1 -1
  17. package/lib/core/task-service.js +4 -1
  18. package/lib/core/task-service.js.map +1 -1
  19. package/lib/core/usage.js +10 -6
  20. package/lib/core/usage.js.map +1 -1
  21. package/lib/core/workspace-admission.js +31 -7
  22. package/lib/core/workspace-admission.js.map +1 -1
  23. package/lib/dispatch/service.js +141 -7
  24. package/lib/dispatch/service.js.map +1 -1
  25. package/lib/gui/console-app.js +34 -30
  26. package/lib/gui/console-app.js.map +1 -1
  27. package/lib/gui/local-control.js +59 -3
  28. package/lib/gui/local-control.js.map +1 -1
  29. package/lib/gui/owner-ui.js +71 -8
  30. package/lib/gui/owner-ui.js.map +1 -1
  31. package/lib/gui/server.js +1 -1
  32. package/lib/gui/server.js.map +1 -1
  33. package/lib/gui/workbench-ui.js +179 -10
  34. package/lib/gui/workbench-ui.js.map +1 -1
  35. package/lib/index.js +52 -13
  36. package/lib/index.js.map +1 -1
  37. package/lib/types/adapter/contract.d.ts +20 -0
  38. package/lib/types/adapter/dsh-backend.d.ts +5 -1
  39. package/lib/types/adapter/dsh-session-events.d.ts +10 -1
  40. package/lib/types/core/db.d.ts +2 -0
  41. package/lib/types/core/governed.d.ts +5 -0
  42. package/lib/types/core/owner-binding-intent.d.ts +26 -0
  43. package/lib/types/core/workspace-admission.d.ts +13 -1
  44. package/lib/types/dispatch/service.d.ts +18 -14
  45. package/lib/types/gui/console-app.d.ts +1 -1
  46. package/lib/types/gui/control-contract.d.ts +5 -3
  47. package/lib/types/gui/local-control.d.ts +14 -2
  48. package/lib/types/gui/owner-ui.d.ts +31 -0
  49. package/lib/worker/governed-executor.js +18 -0
  50. package/lib/worker/governed-executor.js.map +1 -1
  51. package/package.json +10 -4
@@ -14,7 +14,7 @@
14
14
  import { randomUUID } from 'node:crypto';
15
15
  import { cleanupDshEnforcement, materializeDshEnforcement, readEnforceableSet, } from '../capability/dsh-enforcement.js';
16
16
  import { terminalOutcomeOf } from '../dispatch/evidence.js';
17
- import { locateDshDispatchRef, readDshSessionEvents } from './dsh-session-events.js';
17
+ import { DSH_RECONCILE_EVENT_LIMIT, locateDshDispatchRef, readBoundedDshSessionEvents, readDshSessionEvents, } from './dsh-session-events.js';
18
18
  /** Deliberately not exported: only this backend can issue a fence token. */
19
19
  class DshTrustFenceToken {
20
20
  // Runtime identity is checked through an Adapter-instance-private WeakMap;
@@ -48,6 +48,28 @@ function boundedFenceReason(value) {
48
48
  function fenceResult(ok, status, reservation, generation, reason) {
49
49
  return { ok, status, reservation, generation, reason: boundedFenceReason(reason) };
50
50
  }
51
+ const DEFAULT_DSH_IO_TIMEOUT_MS = 5000;
52
+ /** Timeout never cancels/resends a Runtime operation; its outcome stays uncertain. */
53
+ async function boundedWait(operation, milliseconds, code) {
54
+ let timer;
55
+ try {
56
+ return await Promise.race([
57
+ operation,
58
+ new Promise((_resolve, reject) => { timer = setTimeout(() => reject(new Error(code)), milliseconds); }),
59
+ ]);
60
+ }
61
+ finally {
62
+ if (timer !== undefined)
63
+ clearTimeout(timer);
64
+ }
65
+ }
66
+ function freezeUserMessage(text) {
67
+ const message = buildUserMessage(text);
68
+ Object.freeze(message.content[0]);
69
+ Object.freeze(message.content);
70
+ Object.freeze(message.source);
71
+ return Object.freeze(message);
72
+ }
51
73
  function asAgents(value) {
52
74
  return value;
53
75
  }
@@ -120,6 +142,8 @@ export class DshRuntimeAdapter {
120
142
  runtimeType = 'dsh';
121
143
  /** Fence tokens are accepted only by the exact Adapter instance that issued them. */
122
144
  trustFenceStates = new WeakMap();
145
+ /** The exposed ref cannot replace the original single-use preparation token. */
146
+ preparedDispatches = new WeakMap();
123
147
  deps;
124
148
  constructor(deps) {
125
149
  this.deps = {
@@ -128,6 +152,10 @@ export class DshRuntimeAdapter {
128
152
  model: deps.model ?? null,
129
153
  agents: asAgents(deps.agents),
130
154
  sessionPersistence: asPersistence(deps.sessionPersistence),
155
+ sessions: deps.sessions,
156
+ dispatchFlushTimeoutMs: Number.isFinite(deps.dispatchFlushTimeoutMs) && (deps.dispatchFlushTimeoutMs ?? 0) > 0
157
+ ? Math.min(deps.dispatchFlushTimeoutMs, DEFAULT_DSH_IO_TIMEOUT_MS)
158
+ : DEFAULT_DSH_IO_TIMEOUT_MS,
131
159
  presets: asPresets(deps.presets),
132
160
  policy: {
133
161
  toolDisclosure: deps.toolDisclosure,
@@ -535,12 +563,80 @@ export class DshRuntimeAdapter {
535
563
  return materializeDshEnforcement(this.deps.policy, ctx, request);
536
564
  }
537
565
  // ── Dispatch / Evidence / Reconcile ────────────────────────────────────────
566
+ async prepareDispatch(input) {
567
+ if (!input.kingdomDispatchId.trim() || !input.sessionRef.trim())
568
+ throw new Error('dsh prepare: DISPATCH_IDENTITY_REQUIRED');
569
+ const agent = this.deps.agents.get(input.sessionRef);
570
+ if (!agent || agent.id !== input.sessionRef)
571
+ throw new Error('dsh prepare: EXACT_LIVE_SESSION_REQUIRED');
572
+ const message = freezeUserMessage(input.text);
573
+ const baseline = readDshSessionEvents(agent.session);
574
+ if (baseline === null)
575
+ throw new Error('dsh prepare: BASELINE_UNREADABLE');
576
+ if (locateDshDispatchRef(baseline, message.id) >= 0)
577
+ throw new Error('dsh prepare: RUNTIME_REF_ALREADY_PRESENT');
578
+ const token = Object.freeze({ runtimeDispatchRef: message.id });
579
+ this.preparedDispatches.set(token, {
580
+ kingdomDispatchId: input.kingdomDispatchId,
581
+ sessionRef: input.sessionRef,
582
+ text: input.text,
583
+ message,
584
+ agent,
585
+ session: agent.session,
586
+ used: false,
587
+ });
588
+ return token;
589
+ }
538
590
  async dispatch(input) {
539
591
  const agent = this.deps.agents.get(input.sessionRef);
540
592
  if (!agent)
541
593
  throw new Error(`dsh dispatch: session ${input.sessionRef} 不在 live registry(无法 dispatch)`);
542
- const message = buildUserMessage(input.text);
543
- agent.followup(message); // 持久 splice 插入即「已接受」
594
+ let message;
595
+ if (input.preparedDispatch !== undefined) {
596
+ const prepared = input.preparedDispatch !== null && typeof input.preparedDispatch === 'object'
597
+ ? this.preparedDispatches.get(input.preparedDispatch)
598
+ : undefined;
599
+ if (!prepared)
600
+ throw new Error('dsh dispatch: UNKNOWN_PREPARED_TOKEN');
601
+ if (prepared.used)
602
+ throw new Error('dsh dispatch: PREPARED_TOKEN_ALREADY_USED');
603
+ if (prepared.kingdomDispatchId !== input.kingdomDispatchId || prepared.sessionRef !== input.sessionRef
604
+ || prepared.text !== input.text || prepared.agent !== agent || prepared.session !== agent.session
605
+ || agent.id !== input.sessionRef || prepared.message.id !== input.preparedDispatch.runtimeDispatchRef) {
606
+ throw new Error('dsh dispatch: PREPARED_IDENTITY_MISMATCH');
607
+ }
608
+ if (typeof this.deps.sessions?.flush !== 'function')
609
+ throw new Error('dsh dispatch: DURABILITY_BARRIER_UNAVAILABLE');
610
+ const baseline = readDshSessionEvents(agent.session);
611
+ if (baseline === null)
612
+ throw new Error('dsh dispatch: BASELINE_UNREADABLE');
613
+ if (locateDshDispatchRef(baseline, prepared.message.id) >= 0)
614
+ throw new Error('dsh dispatch: RUNTIME_REF_ALREADY_PRESENT');
615
+ // Consume before any side effect. A thrown followup or uncertain barrier
616
+ // must never make this token usable for an automatic second send.
617
+ prepared.used = true;
618
+ message = prepared.message;
619
+ agent.followup(message);
620
+ let durable;
621
+ try {
622
+ durable = await boundedWait(Promise.resolve(this.deps.sessions.flush(agent.session)), this.deps.dispatchFlushTimeoutMs, 'dsh dispatch: DURABILITY_BARRIER_TIMEOUT');
623
+ }
624
+ catch (error) {
625
+ throw new Error(error instanceof Error && error.message === 'dsh dispatch: DURABILITY_BARRIER_TIMEOUT'
626
+ ? 'dsh dispatch: DURABILITY_BARRIER_TIMEOUT'
627
+ : 'dsh dispatch: DURABILITY_BARRIER_UNCERTAIN');
628
+ }
629
+ if (durable !== true)
630
+ throw new Error('dsh dispatch: DURABILITY_BARRIER_NOT_CONFIRMED');
631
+ }
632
+ else {
633
+ // Explicit compatibility seam for historical direct Adapter consumers;
634
+ // correlated governed dispatch cannot fall back to this non-durable path.
635
+ if (input.kingdomDispatchId !== undefined)
636
+ throw new Error('dsh dispatch: PREPARED_TOKEN_REQUIRED');
637
+ message = buildUserMessage(input.text);
638
+ agent.followup(message);
639
+ }
544
640
  return {
545
641
  refs: {
546
642
  runtimeType: this.runtimeType,
@@ -557,23 +653,105 @@ export class DshRuntimeAdapter {
557
653
  return 'UNKNOWN';
558
654
  return reconstructExecutionObservation(live, refs.runtimeDispatchRef);
559
655
  }
656
+ async persistedEvents(sessionRef) {
657
+ const persistence = this.deps.sessionPersistence;
658
+ if (typeof persistence?.open !== 'function')
659
+ return { events: [], complete: false, reason: 'UNREADABLE' };
660
+ let reader;
661
+ let openTimedOut = false;
662
+ let result = { events: [], complete: false, reason: 'UNREADABLE' };
663
+ try {
664
+ const opening = Promise.resolve(persistence.open(sessionRef, 'read'));
665
+ // If open finishes after our deadline, release only its read handle.
666
+ void opening.then(handle => {
667
+ if (openTimedOut)
668
+ void Promise.resolve().then(() => handle.close()).catch(() => undefined);
669
+ }, () => undefined);
670
+ try {
671
+ reader = await boundedWait(opening, DEFAULT_DSH_IO_TIMEOUT_MS, 'PERSISTENCE_OPEN_TIMEOUT');
672
+ }
673
+ catch {
674
+ openTimedOut = true;
675
+ return result;
676
+ }
677
+ if (reader.id !== sessionRef || reader.access !== 'read' || typeof reader.read !== 'function' || typeof reader.close !== 'function')
678
+ return result;
679
+ const slice = await boundedWait(Promise.resolve(reader.read(0, DSH_RECONCILE_EVENT_LIMIT)), DEFAULT_DSH_IO_TIMEOUT_MS, 'PERSISTENCE_READ_TIMEOUT');
680
+ // At the exact limit we cannot know whether the log has a later tail.
681
+ result = readBoundedDshSessionEvents({ events: slice.events });
682
+ if (result.events.length === DSH_RECONCILE_EVENT_LIMIT)
683
+ result = { ...result, complete: false, reason: 'EVENT_LIMIT' };
684
+ }
685
+ catch {
686
+ result = { events: [], complete: false, reason: 'UNREADABLE' };
687
+ }
688
+ finally {
689
+ if (reader && typeof reader.close === 'function') {
690
+ try {
691
+ await boundedWait(Promise.resolve(reader.close()), DEFAULT_DSH_IO_TIMEOUT_MS, 'PERSISTENCE_CLOSE_TIMEOUT');
692
+ }
693
+ catch {
694
+ result = { events: [], complete: false, reason: 'UNREADABLE' };
695
+ }
696
+ }
697
+ }
698
+ return result;
699
+ }
560
700
  async reconcile(kingdomDispatchId, refs) {
561
- // session 维:live registry 或持久可恢复 → AVAILABLE;否则 UNKNOWN(GONE 需显式删除证据,S5 细化)
562
701
  const live = this.deps.agents.get(refs.sessionRef);
563
702
  let sessionObservation = 'UNKNOWN';
564
- if (live)
565
- sessionObservation = 'AVAILABLE';
566
- else if (this.deps.sessionPersistence?.has?.(refs.sessionRef) === true)
703
+ let source = 'NONE';
704
+ let projection = { events: [], complete: false, reason: 'UNREADABLE' };
705
+ if (live?.id === refs.sessionRef) {
567
706
  sessionObservation = 'AVAILABLE';
568
- // execution 维:live 会话事件链;不可判定 → UNKNOWN(fail-closed,不盲发、不 ABORT)
707
+ source = 'LIVE';
708
+ projection = readBoundedDshSessionEvents(live.session);
709
+ }
710
+ else if (typeof this.deps.sessionPersistence?.open === 'function') {
711
+ source = 'PERSISTED';
712
+ projection = await this.persistedEvents(refs.sessionRef);
713
+ if (projection.complete || projection.reason === 'EVENT_LIMIT')
714
+ sessionObservation = 'AVAILABLE';
715
+ }
716
+ if (sessionObservation === 'UNKNOWN') {
717
+ try {
718
+ // Presence metadata never establishes a dispatch or its terminal.
719
+ const persistence = this.deps.sessionPersistence;
720
+ const present = typeof persistence?.stat === 'function'
721
+ ? await boundedWait(Promise.resolve(persistence.stat(refs.sessionRef)), DEFAULT_DSH_IO_TIMEOUT_MS, 'PERSISTENCE_STAT_TIMEOUT')
722
+ : persistence?.has?.(refs.sessionRef) === true;
723
+ if (present)
724
+ sessionObservation = 'AVAILABLE';
725
+ }
726
+ catch { /* unknown presence stays unknown */ }
727
+ }
728
+ const located = Boolean(refs.runtimeDispatchRef && locateDshDispatchRef(projection.events, refs.runtimeDispatchRef) >= 0);
569
729
  let executionObservation = 'UNKNOWN';
570
- if (live && refs.runtimeDispatchRef) {
571
- executionObservation = reconstructExecutionObservation(live.session, refs.runtimeDispatchRef);
730
+ if (projection.complete && located && refs.runtimeDispatchRef) {
731
+ const start = locateDshDispatchRef(projection.events, refs.runtimeDispatchRef);
732
+ const foreign = projection.events.slice(start).some(event => {
733
+ if (event.type === 'user/message')
734
+ return eventMessageId(event) !== refs.runtimeDispatchRef;
735
+ return event.type === 'agent/inbox/spliced' && Array.isArray(event.data?.inserted)
736
+ && event.data.inserted.some(item => item === null || typeof item !== 'object' || item.id !== refs.runtimeDispatchRef);
737
+ });
738
+ if (!foreign)
739
+ executionObservation = reconstructExecutionObservation({ header: {}, events: projection.events }, refs.runtimeDispatchRef);
572
740
  }
573
741
  return {
574
742
  executionObservation,
575
743
  sessionObservation,
576
- evidence: { kingdomDispatchId, runtimeDispatchRef: refs.runtimeDispatchRef ?? null, observedAt: new Date().toISOString() },
744
+ evidence: {
745
+ kingdomDispatchId,
746
+ runtimeDispatchRef: refs.runtimeDispatchRef ?? null,
747
+ source,
748
+ located,
749
+ eventsRead: projection.events.length,
750
+ complete: projection.complete,
751
+ reason: projection.reason !== 'READABLE' ? projection.reason === 'EVENT_LIMIT' ? 'EVENT_LIMIT' : 'OBSERVATION_UNREADABLE'
752
+ : located ? 'EXACT_INPUT_FOUND' : 'INPUT_NOT_LOCATED',
753
+ observedAt: new Date().toISOString(),
754
+ },
577
755
  };
578
756
  }
579
757
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dsh-backend.js","sourceRoot":"","sources":["../../src/adapter/dsh-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dsh-backend.js","sourceRoot":"","sources":["../../src/adapter/dsh-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAyBxC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,GAGnB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,GAGrB,MAAM,yBAAyB,CAAA;AA6ChC,4EAA4E;AAC5E,MAAM,kBAAkB;IACtB,2EAA2E;IAC3E,0EAA0E;IAC1E,4CAA4C;IACnC,OAAO,GAAG,IAAI,CAAA;CACxB;AAED,MAAM,iBAAiB,GAA2C;IAChE,gBAAgB,EAAE,CAAC;IACnB,kBAAkB,EAAE,CAAC;IACrB,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,CAAC;CACX,CAAA;AAED,SAAS,QAAQ,CAAC,KAAmB;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,wBAAwB,CAAA;IACjC,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAmB;IACzC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,IAAK,KAAK,CAAC,IAAI,EAAE,OAAwC,EAAE,EAAE,CAAA;IACtF,OAAO,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAC3C,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IACzB,OAAO,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAA;AAC7D,CAAC;AAED,SAAS,WAAW,CAClB,EAAW,EACX,MAAwC,EACxC,WAAkD,EAClD,UAAyB,EACzB,MAAc;IAEd,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAA;AACpF,CAAC;AA4CD,MAAM,yBAAyB,GAAG,IAAI,CAAA;AAEtC,sFAAsF;AACtF,KAAK,UAAU,WAAW,CAAI,SAAqB,EAAE,YAAoB,EAAE,IAAY;IACrF,IAAI,KAAgD,CAAA;IACpD,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;YACxB,SAAS;YACT,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA,CAAC,CAAC,CAAC;SAC9G,CAAC,CAAA;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,KAAK,KAAK,SAAS;YAAE,YAAY,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACtC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACjC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7B,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC;AAOD,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAmB,CAAA;AAC5B,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAA2C,CAAA;AACpD,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAqC,CAAA;AAC9C,CAAC;AAED,qDAAqD;AACrD,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO;QACL,EAAE,EAAE,UAAU,EAAE;QAChB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;KACzB,CAAA;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,+BAA+B,CAC7C,OAAoB,EACpB,gBAAwB;IAExB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;QAC5C,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,SAAS,CAAA;QACrC,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;QACjE,IAAI,UAAU,KAAK,CAAC,CAAC;YAAE,OAAO,SAAS,CAAA,CAAC,0BAA0B;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,MAAM,CAAA;QACnE,IAAI,UAAU,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAA;QACrC,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAA;QAC5E,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAA;QACxE,MAAM,SAAS,GAAG,aAAa,EAAE,IAAI,EAAE,IAA0B,CAAA;QACjE,MAAM,OAAO,GAAG,WAAW,EAAE,IAAI,EAAE,IAA0B,CAAA;QAC7D,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;YACtB,MAAM,IAAI,GAAG,WAAW,EAAE,IAAI,IAAI,EAAE,CAAA;YACpC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;gBACxE,CAAC,CAAE,IAAI,CAAC,MAA6B,CAAC,IAAI;gBAC1C,CAAC,CAAC,SAAS,CAAA;YACb,OAAO,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACzG,CAAC,CAAC,EAAE,CAAA;QACJ,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAA;QACnE,MAAM,OAAO,GAAG,WAAW,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC/I,IAAI,WAAW,IAAI,OAAO,KAAK,WAAW,IAAI,YAAY;YAAE,OAAO,UAAU,CAAA;QAC7E,IAAI,WAAW,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,SAAS,CAAC;YAAE,OAAO,UAAU,CAAA,CAAC,gDAAgD;QACtI,IAAI,WAAW;YAAE,OAAO,SAAS,CAAA,CAAC,+DAA+D;QACjG,IAAI,aAAa;YAAE,OAAO,SAAS,CAAA;QACnC,OAAO,SAAS,CAAA;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,6BAA6B;AAC7B,MAAM,OAAO,iBAAiB;IACnB,WAAW,GAAG,KAAK,CAAA;IAC5B,qFAAqF;IACpE,gBAAgB,GAAG,IAAI,OAAO,EAAsB,CAAA;IACrE,gFAAgF;IAC/D,kBAAkB,GAAG,IAAI,OAAO,EAA+B,CAAA;IAC/D,IAAI,CAQpB;IAED,YAAY,IAAoB;QAC9B,IAAI,CAAC,IAAI,GAAG;YACV,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;YACzB,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YAC7B,kBAAkB,EAAE,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1D,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,sBAAsB,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,CAAC,GAAG,CAAC;gBAC5G,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAuB,EAAE,yBAAyB,CAAC;gBACnE,CAAC,CAAC,yBAAyB;YAC7B,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;YAChC,MAAM,EAAE;gBACN,cAAc,EAAE,IAAI,CAAC,cAAiD;gBACtE,UAAU,EAAE,IAAI,CAAC,UAAqD;gBACtE,aAAa,EAAE,IAAI,CAAC,aAA2D;gBAC/E,QAAQ,EAAE,IAAI,CAAC,QAAiD;aACjE;SACF,CAAA;IACH,CAAC;IAED,QAAQ;QACN,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC5F,CAAC;IAEO,YAAY;QAClB,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IACjG,CAAC;IAEO,YAAY,CAAC,WAAoB;QACvC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAA;QACxD,OAAO,KAAK,EAAE,QAAiB,EAAE,EAAE;YACjC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;QACvD,CAAC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAA+E;QACjG,MAAM,SAAS,GAAG,UAAU,EAAE,CAAA;QAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,SAAS;YACT,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;YAC1F,YAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;YACvJ,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC;SAC5C,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAgE;QAClF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,eAAe,EAAE,KAAK,CAAC,UAAU;YACjC,YAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;YACvJ,KAAK,EAAE,SAAS,EAAE,2DAA2D;SAC9E,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC9B,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,UAAkB;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC9C,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAA;QACvB,OAAO;YACL,IAAI,EAAE;gBACJ,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB;gBAChD,UAAU,EAAE,KAAK,CAAC,EAAE;aACrB;YACD,KAAK;YACL,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,wDAAwD;YAC1D,CAAC;SACF,CAAA;IACH,CAAC;IAEO,QAAQ,CAAC,MAAuB;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QAC1B,OAAO;YACL,IAAI,EAAE;gBACJ,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB;gBAChD,UAAU,EAAE,KAAK,CAAC,EAAE;aACrB;YACD,KAAK;YACL,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE;SAChC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAqB;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAkB,CAAA;QACvC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,MAAM,CAAA;QAC1C,OAAO,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAqB;QACvC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;IACxB,CAAC;IAED,6EAA6E;IAE7E;;;;OAIG;IACK,kBAAkB,CAAC,KAAiB;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACtD,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YAChH,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,CAAC,UAAU,8CAA8C,CAAC,CAAA;QACxG,CAAC;QACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,CAAC,UAAU,mCAAmC,CAAC,CAAA;QACvH,OAAO,MAAiC,CAAA;IAC1C,CAAC;IAEO,UAAU,CAAC,KAAiB,EAAE,MAAc;QAClD,KAAK,CAAC,MAAM,GAAG,SAAS,CAAA;QACxB,KAAK,CAAC,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;QAC9C,OAAO,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;IAC9F,CAAC;IAEO,YAAY,CAAC,KAAwB;QAC3C,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAA0B,CAAC,CAAA;IAC9D,CAAC;IAEO,qBAAqB,CAC3B,KAAiB,EACjB,WAAqD,EACrD,SAAiB;QAEjB,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;YAClF,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,SAAS,iCAAiC,CAAC,CAAA;QAC9E,CAAC;QACD,IAAI,WAAW,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,WAAW,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;YACzF,OAAO,IAAI,CAAC,UAAU,CACpB,KAAK,EACL,GAAG,SAAS,0BAA0B,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,GAAG;kBACtE,YAAY,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,UAAU,EAAE,CAChE,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,YAAY,CAClB,KAAiB,EACjB,KAA6B,EAC7B,WAAyC;QAEzC,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,eAAe,KAAK,EAAE,CAAC,CAAA;QACjG,IAAI,kBAAkB;YAAE,OAAO,kBAAkB,CAAA;QACjD,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAChC,OAAO,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAA;QAC/F,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,IAAI,iBAAiB,CAAC,CAAA;QACnH,CAAC;QACD,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/E,IAAI,iBAAiB,CAAC,KAAK,CAAC,GAAG,aAAa,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,iCAAiC,KAAK,CAAC,SAAS,OAAO,KAAK,EAAE,CAAC,CAAA;QAC/F,CAAC;QAED,IAAI,MAA+B,CAAA;QACnC,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;QACzC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACvF,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACjC,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,0CAA0C,CAAC,CAAA;QAC3E,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,yCAAyC,CAAC,EAAE,CAAC,CAAA;YAC7E,CAAC;QACH,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,kDAAkD,CAAC,EAAE,CAAC,CAAA;YACtF,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;YACtC,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAA;YAC5E,mEAAmE;YACnE,oEAAoE;YACpE,uEAAuE;YACvE,2DAA2D;YAC3D,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;gBACvB,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;oBAAE,SAAQ;gBAC3C,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;gBACvC,IAAI,SAAS,KAAK,KAAK,CAAC,kBAAkB,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC;oBACxF,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,2CAA2C,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;gBAC/G,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM;YAAE,KAAK,CAAC,UAAU,IAAI,CAAC,CAAA;QAC9D,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;QACrB,KAAK,CAAC,SAAS,GAAG,KAAK,CAAA;QACvB,OAAO,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAA;IAC7F,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAA6B;QAChD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;QAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QACxG,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC9C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,UAAU,EAAE,CAAC,CAAA;QACnH,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,UAAU,EAAE,CAAC,CAAA;QAC7F,IAAI,OAAO,KAAK,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,kEAAkE,UAAU,EAAE,CAAC,CAAA;QACjG,CAAC;QACD,MAAM,aAAa,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACzD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,UAAU,EAAE,CAAC,CAAA;QAC9G,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAChD,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACvD,IAAI,YAAY,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1G,MAAM,IAAI,KAAK,CAAC,6CAA6C,UAAU,EAAE,CAAC,CAAA;QAC5E,CAAC;QACD,IAAI,KAAK,CAAC,kBAAkB,KAAK,IAAI,IAAI,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAChF,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;QAC7E,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAA;QACtC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE;YAC/B,KAAK;YACL,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,UAAU;YACV,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;YAC5C,KAAK;YACL,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,YAAY;YACZ,QAAQ,EAAE,CAAC,GAAG,YAAY,CAAC;YAC3B,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,KAAK;YAClB,kBAAkB,EAAE,IAAI;YACxB,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,YAAY;SAC1B,CAAC,CAAA;QACF,OAAO,KAAqC,CAAA;IAC9C,CAAC;IAED,cAAc,CACZ,KAAwB,EACxB,kBAA0B,EAC1B,WAAyC;QAEzC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,2BAA2B,CAAC,CAAA;QAC9F,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAA;QAC7F,IAAI,kBAAkB;YAAE,OAAO,kBAAkB,CAAA;QACjD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,0CAA0C,CAAC,CAAA;QACzG,IAAI,KAAK,CAAC,kBAAkB,KAAK,IAAI,IAAI,KAAK,CAAC,kBAAkB,KAAK,kBAAkB,EAAE,CAAC;YACzF,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,6CAA6C,CAAC,CAAA;QAC9E,CAAC;QACD,KAAK,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC7C,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAA;IAChE,CAAC;IAED,eAAe,CACb,KAAwB,EACxB,KAA6B,EAC7B,WAAyC;QAEzC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,2BAA2B,CAAC,CAAA;QAC9F,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;IACrD,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,gBAAgB,CAC5B,OAA2B,EAC3B,OAA8B,EAC9B,KAAwB,EACxB,KAAiB,EACjB,WAAyC;QAEzC,IAAI,KAAK,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QAC7E,KAAK,CAAC,WAAW,GAAG,IAAI,CAAA;QACxB,IACE,OAAO,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;eACnC,OAAO,CAAC,KAAiB,KAAM,KAAK,CAAC,KAAiB;eACtD,OAAO,CAAC,KAAK,CAAC,OAAmB,KAAM,KAAK,CAAC,OAAmB,EACpE,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,0DAA0D,CAAC,CAAA;YAClF,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;QAC/D,CAAC;QAED,IAAI,aAA+C,CAAA;QACnD,IAAI,YAAuC,CAAA;QAC3C,IAAI,aAAa,GAAG,KAAK,CAAA;QACzB,MAAM,aAAa,GAAG,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnE,aAAa,GAAG,OAAO,CAAA;YACvB,YAAY,GAAG,MAAM,CAAA;QACvB,CAAC,CAAC,CAAA;QACF,IAAI,WAAwB,CAAA;QAC5B,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,GAAG,WAAW,GAAG,OAAO,CAAA,CAAC,CAAC,CAAC,CAAA;QACpE,KAAK,CAAC,kBAAkB,GAAG,WAAW,CAAA;QAEtC,MAAM,YAAY,GAAG,CAAC,MAAqB,EAAQ,EAAE;YACnD,IAAI,aAAa;gBAAE,OAAM;YACzB,aAAa,GAAG,IAAI,CAAA;YACpB,aAAa,CAAC,MAAM,CAAC,CAAA;QACvB,CAAC,CAAA;QACD,MAAM,YAAY,GAAG,CAAC,KAAc,EAAQ,EAAE;YAC5C,IAAI,aAAa;gBAAE,OAAM;YACzB,aAAa,GAAG,IAAI,CAAA;YACpB,YAAY,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC,CAAA;QAED,IAAI,CAAC;YACH,MAAM,WAAW,GAAI,KAAK,CAAC,KAAmB,CAAC,cAAc,CAAC,KAAK,EAAE,MAAmB,EAAE,EAAE;gBAC1F,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,yCAAyC,CAAC,CAAA;oBACjE,YAAY,CAAC,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAA;oBAClE,MAAM,IAAI,CAAA;oBACV,OAAM;gBACR,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAA;gBAC1E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;oBACxC,MAAM,IAAI,CAAA;oBACV,OAAM;gBACR,CAAC;gBACD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;gBACrE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;oBACrB,YAAY,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;oBAC5C,MAAM,IAAI,CAAA;oBACV,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC;oBACH,YAAY,CAAC,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAA;gBACpD,CAAC;gBAAC,OAAO,KAAc,EAAE,CAAC;oBACxB,YAAY,CAAC,KAAK,CAAC,CAAA;gBACrB,CAAC;gBACD,MAAM,IAAI,CAAA;YACZ,CAAC,CAAC,CAAA;YACF,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;gBAC5D,mEAAmE;gBACnE,qEAAqE;gBACrE,kEAAkE;gBAClE,kDAAkD;gBAClD,IAAI,CAAC,UAAU,CACb,KAAK,EACL,6CAA6C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACtG,CAAA;gBACD,YAAY,CAAC,KAAK,CAAC,CAAA;YACrB,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,2CAA2C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAC3H,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,KAAK,CAAC,WAAW,GAAG,IAAI,CAAA;QAC1B,CAAC;QACD,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,OAAO,CACL,OAA2B,EAC3B,OAAgB,EAChB,KAAyB,EACzB,WAA0C;QAE1C,MAAM,GAAG,GAAG,OAA4C,CAAA;QACxD,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAA;QACnF,IAAI,CAAC,KAAK;YAAE,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAA;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,CAAC,KAAK;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC,CAAA;QAC1F,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,qBAAqB,CAAC,CAAA;QAChG,IAAI,kBAAkB;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAA;QACnF,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,kBAAkB,EAAE,WAAY,CAAC,CAAA;QAC1E,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;QACjE,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,WAAY,CAAC,CAAA;IACxE,CAAC;IAED,iBAAiB,CACf,KAAwB,EACxB,OAAiC,EACjC,WAAyC;QAEzC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,CAAC,KAAK;YAAE,OAAO,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,2BAA2B,CAAC,CAAA;QAC9F,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,qBAAqB,CAAC,CAAA;QAChG,IAAI,kBAAkB;YAAE,OAAO,kBAAkB,CAAA;QACjD,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU;YAAE,OAAO,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAA;QAC1I,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;YAChE,IAAI,CAAC,OAAO,CAAC,EAAE;gBAAE,OAAO,OAAO,CAAA;QACjC,CAAC;QACD,KAAK,CAAC,MAAM,GAAG,UAAU,CAAA;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,kBAAkB,CAAA;QACxC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAA;QAC/B,OAAO,EAAE,EAAE,CAAA;QACX,OAAO,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,yBAAyB,OAAO,GAAG,CAAC,CAAA;IAChH,CAAC;IAED,6EAA6E;IAE7E;;;;;;;OAOG;IACH,KAAK,CAAC,YAAY,CAAC,OAAgB;QACjC,MAAM,GAAG,GAAG,OAA4C,CAAA;QACxD,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YACzB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;QAC/E,CAAC;QACD,OAAO,kBAAkB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IAChE,CAAC;IAED,yCAAyC;IACzC,KAAK,CAAC,SAAS,CAAC,OAA2B,EAAE,OAAgB;QAC3D,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,MAAM,GAAG,GAAG,OAA4C,CAAA;QACxD,IAAI,OAAO,CAAC,cAAc,KAAK,OAAO,EAAE,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,qDAAqD,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;QAC9F,CAAC;QACD,IAAI,OAAO,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,KAAK,UAAU,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC9G,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAA;QACjE,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAA;QACzE,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAA;QACpE,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,iBAAiB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;QAC5D,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;IAC9C,CAAC;IAED,sFAAsF;IACtF,KAAK,CAAC,WAAW,CAAC,OAA2B,EAAE,OAAgB;QAC7D,MAAM,GAAG,GAAG,OAA4C,CAAA;QACxD,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,sCAAsC,CAAC,EAAE,CAAA;QACrH,OAAO,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;IAClE,CAAC;IAED,8EAA8E;IAE9E,KAAK,CAAC,eAAe,CAAC,KAA2B;QAC/C,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC3H,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACpD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QACxG,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC7C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACpD,IAAI,QAAQ,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;QAC1E,IAAI,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAChH,MAAM,KAAK,GAA4B,MAAM,CAAC,MAAM,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;QACxF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE;YACjC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO;YACP,KAAK;YACL,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;QACF,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAoB;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACpD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,UAAU,gCAAgC,CAAC,CAAA;QACtG,IAAI,OAAwB,CAAA;QAC5B,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,gBAAgB,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ;gBAC5F,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBACrD,CAAC,CAAC,SAAS,CAAA;YACb,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;YACtE,IAAI,QAAQ,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;YAC/E,IAAI,QAAQ,CAAC,iBAAiB,KAAK,KAAK,CAAC,iBAAiB,IAAI,QAAQ,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;mBACjG,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;mBAC9F,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,UAAU,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;gBACxG,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;YAC7D,CAAC;YACD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;YACpH,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACpD,IAAI,QAAQ,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;YAC3E,IAAI,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;YAC1H,yEAAyE;YACzE,kEAAkE;YAClE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAA;YACpB,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;YAC1B,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YACvB,IAAI,OAAgB,CAAA;YACpB,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,WAAW,CACzB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EACxD,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAChC,0CAA0C,CAC3C,CAAA;YACH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,0CAA0C;oBACpG,CAAC,CAAC,0CAA0C;oBAC5C,CAAC,CAAC,4CAA4C,CAAC,CAAA;YACnD,CAAC;YACD,IAAI,OAAO,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;QACzF,CAAC;aAAM,CAAC;YACN,uEAAuE;YACvE,0EAA0E;YAC1E,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;YACnG,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACtC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACzB,CAAC;QACD,OAAO;YACL,IAAI,EAAE;gBACJ,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB;gBAChD,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,kBAAkB,EAAE,OAAO,CAAC,EAAE;aAC/B;YACD,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAyD,EAAE,OAAgB;QAChG,MAAM,IAAI,GAAG,OAAkC,CAAA;QAC/C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB;YAAE,OAAO,SAAS,CAAA;QACvD,OAAO,+BAA+B,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAA;IACvE,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,UAAkB;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAA;QAChD,IAAI,OAAO,WAAW,EAAE,IAAI,KAAK,UAAU;YAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;QACzG,IAAI,MAAoF,CAAA;QACxF,IAAI,YAAY,GAAG,KAAK,CAAA;QACxB,IAAI,MAAM,GAAqB,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;QACpF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAA;YACrE,qEAAqE;YACrE,KAAK,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACzB,IAAI,YAAY;oBAAE,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;YAC5F,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;YACnB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,CAAC,CAAA;YAC5F,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY,GAAG,IAAI,CAAA;gBACnB,OAAO,MAAM,CAAA;YACf,CAAC;YACD,IAAI,MAAM,CAAC,EAAE,KAAK,UAAU,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU;gBAAE,OAAO,MAAM,CAAA;YAClJ,MAAM,KAAK,GAAG,MAAM,WAAW,CAC7B,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,EAC1D,yBAAyB,EACzB,0BAA0B,CAC3B,CAAA;YACD,sEAAsE;YACtE,MAAM,GAAG,2BAA2B,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;YAC9D,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,yBAAyB;gBAAE,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;QACxH,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;QAChE,CAAC;gBAAS,CAAC;YACT,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACjD,IAAI,CAAC;oBACH,MAAM,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,yBAAyB,EAAE,2BAA2B,CAAC,CAAA;gBAC5G,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;gBAChE,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,iBAAyB,EAAE,IAAyD;QAClG,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAClD,IAAI,kBAAkB,GAA0C,SAAS,CAAA;QACzE,IAAI,MAAM,GAAkC,MAAM,CAAA;QAClD,IAAI,UAAU,GAAqB,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;QACxF,IAAI,IAAI,EAAE,EAAE,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,kBAAkB,GAAG,WAAW,CAAA;YAChC,MAAM,GAAG,MAAM,CAAA;YACf,UAAU,GAAG,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxD,CAAC;aAAM,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YACpE,MAAM,GAAG,WAAW,CAAA;YACpB,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACxD,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,KAAK,aAAa;gBAAE,kBAAkB,GAAG,WAAW,CAAA;QAClG,CAAC;QACD,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,kEAAkE;gBAClE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAA;gBAChD,MAAM,OAAO,GAAG,OAAO,WAAW,EAAE,IAAI,KAAK,UAAU;oBACrD,CAAC,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,yBAAyB,EAAE,0BAA0B,CAAC;oBAC9H,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;gBAChD,IAAI,OAAO;oBAAE,kBAAkB,GAAG,WAAW,CAAA;YAC/C,CAAC;YAAC,MAAM,CAAC,CAAC,oCAAoC,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,IAAI,oBAAoB,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAA;QACzH,IAAI,oBAAoB,GAAyB,SAAS,CAAA;QAC1D,IAAI,UAAU,CAAC,QAAQ,IAAI,OAAO,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC9D,MAAM,KAAK,GAAG,oBAAoB,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAA;YAC9E,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;oBAAE,OAAO,cAAc,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,kBAAkB,CAAA;gBAC3F,OAAO,KAAK,CAAC,IAAI,KAAK,qBAAqB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC;uBAC7E,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAK,IAAyB,CAAC,EAAE,KAAK,IAAI,CAAC,kBAAkB,CAAC,CAAA;YAC/I,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,OAAO;gBAAE,oBAAoB,GAAG,+BAA+B,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAC1I,CAAC;QACD,OAAO;YACL,oBAAoB;YACpB,kBAAkB;YAClB,QAAQ,EAAE;gBACR,iBAAiB;gBACjB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,IAAI;gBACnD,MAAM;gBACN,OAAO;gBACP,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM;gBACpC,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,wBAAwB;oBACvH,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB;gBACvD,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACrC;SACF,CAAA;IACH,CAAC;CACF"}
@@ -1,3 +1,53 @@
1
+ export const DSH_RECONCILE_EVENT_LIMIT = 10_000;
2
+ function validEvents(events) {
3
+ if (!Array.isArray(events))
4
+ return false;
5
+ // for-of visits sparse slots as undefined; Array.every would skip them and
6
+ // incorrectly admit a non-contiguous projection as readable evidence.
7
+ for (const event of events) {
8
+ if (event === null || typeof event !== 'object' || Array.isArray(event)
9
+ || typeof event.type !== 'string' || event.type.length === 0
10
+ || (event.data !== undefined && (event.data === null || typeof event.data !== 'object' || Array.isArray(event.data))))
11
+ return false;
12
+ }
13
+ return true;
14
+ }
15
+ /** Bounded read projection only; even a missing ID in a complete read is UNKNOWN. */
16
+ export function readBoundedDshSessionEvents(session, limit = DSH_RECONCILE_EVENT_LIMIT) {
17
+ if (session === null || typeof session !== 'object')
18
+ return { events: [], complete: false, reason: 'UNREADABLE' };
19
+ try {
20
+ const source = session;
21
+ let events;
22
+ let complete;
23
+ if ('snapshotEvents' in source) {
24
+ if (typeof source.snapshotEvents !== 'function')
25
+ return { events: [], complete: false, reason: 'UNREADABLE' };
26
+ const count = source.seq;
27
+ events = source.snapshotEvents(0, limit);
28
+ complete = typeof count === 'number' && Number.isSafeInteger(count) && count >= 0
29
+ ? count <= limit && Array.isArray(events) && events.length === count
30
+ : Array.isArray(events) && events.length < limit;
31
+ }
32
+ else {
33
+ events = source.events;
34
+ complete = Array.isArray(events) && events.length <= limit;
35
+ }
36
+ if (!Array.isArray(events))
37
+ return { events: [], complete: false, reason: 'UNREADABLE' };
38
+ const prefix = events.length > limit ? events.slice(0, limit) : events;
39
+ // Legacy arrays or a nonconforming snapshot implementation must not make
40
+ // validation itself traverse more than the observation budget.
41
+ if (!validEvents(prefix))
42
+ return { events: [], complete: false, reason: 'UNREADABLE' };
43
+ if (events.length > limit || !complete)
44
+ return { events: prefix, complete: false, reason: 'EVENT_LIMIT' };
45
+ return { events: prefix, complete: true, reason: 'READABLE' };
46
+ }
47
+ catch {
48
+ return { events: [], complete: false, reason: 'UNREADABLE' };
49
+ }
50
+ }
1
51
  /**
2
52
  * Read the current snapshot on every call. Only absence of the modern API
3
53
  * permits legacy access; a broken advertised API must not hide behind stale
@@ -18,14 +68,8 @@ export function readDshSessionEvents(session) {
18
68
  else {
19
69
  events = source.events;
20
70
  }
21
- if (!Array.isArray(events))
71
+ if (!validEvents(events))
22
72
  return null;
23
- for (const event of events) {
24
- if (event === null || typeof event !== 'object' || Array.isArray(event)
25
- || typeof event.type !== 'string' || event.type.length === 0
26
- || (event.data !== undefined && (event.data === null || typeof event.data !== 'object' || Array.isArray(event.data))))
27
- return null;
28
- }
29
73
  return events;
30
74
  }
31
75
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"dsh-session-events.js","sourceRoot":"","sources":["../../src/adapter/dsh-session-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dsh-session-events.js","sourceRoot":"","sources":["../../src/adapter/dsh-session-events.ts"],"names":[],"mappings":"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"}