wicked-crew 0.7.26 → 0.7.28

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 (79) hide show
  1. package/dist/api/routes.d.ts +8 -0
  2. package/dist/api/routes.d.ts.map +1 -1
  3. package/dist/api/routes.js +9 -2
  4. package/dist/api/routes.js.map +1 -1
  5. package/dist/api/server.d.ts +13 -0
  6. package/dist/api/server.d.ts.map +1 -1
  7. package/dist/api/server.js +14 -0
  8. package/dist/api/server.js.map +1 -1
  9. package/dist/cli/index.js +46 -18
  10. package/dist/cli/index.js.map +1 -1
  11. package/dist/core/adapter.d.ts.map +1 -1
  12. package/dist/core/adapter.js +22 -18
  13. package/dist/core/adapter.js.map +1 -1
  14. package/dist/core/deliver.d.ts +26 -10
  15. package/dist/core/deliver.d.ts.map +1 -1
  16. package/dist/core/deliver.js +27 -11
  17. package/dist/core/deliver.js.map +1 -1
  18. package/dist/core/deliverable-floor.d.ts.map +1 -1
  19. package/dist/core/deliverable-floor.js +5 -4
  20. package/dist/core/deliverable-floor.js.map +1 -1
  21. package/dist/interactive/bridge-pool.d.ts +130 -2
  22. package/dist/interactive/bridge-pool.d.ts.map +1 -1
  23. package/dist/interactive/bridge-pool.js +281 -8
  24. package/dist/interactive/bridge-pool.js.map +1 -1
  25. package/dist/interactive/bus-location.d.ts +65 -0
  26. package/dist/interactive/bus-location.d.ts.map +1 -0
  27. package/dist/interactive/bus-location.js +75 -0
  28. package/dist/interactive/bus-location.js.map +1 -0
  29. package/dist/interactive/chat-events.d.ts.map +1 -1
  30. package/dist/interactive/chat-events.js +29 -23
  31. package/dist/interactive/chat-events.js.map +1 -1
  32. package/dist/interactive/demo-events.d.ts +16 -1
  33. package/dist/interactive/demo-events.d.ts.map +1 -1
  34. package/dist/interactive/demo-events.js +262 -43
  35. package/dist/interactive/demo-events.js.map +1 -1
  36. package/dist/interactive/doc-grounding.d.ts +202 -0
  37. package/dist/interactive/doc-grounding.d.ts.map +1 -0
  38. package/dist/interactive/doc-grounding.js +647 -0
  39. package/dist/interactive/doc-grounding.js.map +1 -0
  40. package/dist/interactive/draft-events.d.ts +54 -1
  41. package/dist/interactive/draft-events.d.ts.map +1 -1
  42. package/dist/interactive/draft-events.js +234 -117
  43. package/dist/interactive/draft-events.js.map +1 -1
  44. package/dist/interactive/edit-events.d.ts.map +1 -1
  45. package/dist/interactive/edit-events.js +27 -21
  46. package/dist/interactive/edit-events.js.map +1 -1
  47. package/dist/interactive/proxy-routes.d.ts +78 -0
  48. package/dist/interactive/proxy-routes.d.ts.map +1 -1
  49. package/dist/interactive/proxy-routes.js +355 -14
  50. package/dist/interactive/proxy-routes.js.map +1 -1
  51. package/dist/interactive/repo-snapshot.d.ts +31 -0
  52. package/dist/interactive/repo-snapshot.d.ts.map +1 -1
  53. package/dist/interactive/repo-snapshot.js +56 -1
  54. package/dist/interactive/repo-snapshot.js.map +1 -1
  55. package/dist/qe/conformance.d.ts +10 -1
  56. package/dist/qe/conformance.d.ts.map +1 -1
  57. package/dist/qe/conformance.js +57 -4
  58. package/dist/qe/conformance.js.map +1 -1
  59. package/dist/skills/plugin-source.d.ts +149 -32
  60. package/dist/skills/plugin-source.d.ts.map +1 -1
  61. package/dist/skills/plugin-source.js +303 -108
  62. package/dist/skills/plugin-source.js.map +1 -1
  63. package/dist/skills/root-fence.d.ts +2 -2
  64. package/dist/skills/root-fence.js +4 -4
  65. package/dist/skills/root-fence.js.map +1 -1
  66. package/dist/skills/runtime.d.ts +19 -2
  67. package/dist/skills/runtime.d.ts.map +1 -1
  68. package/dist/skills/runtime.js +82 -8
  69. package/dist/skills/runtime.js.map +1 -1
  70. package/dist/skills/store.d.ts +2 -2
  71. package/dist/skills/store.d.ts.map +1 -1
  72. package/dist/skills/store.js +30 -9
  73. package/dist/skills/store.js.map +1 -1
  74. package/dist/studio/assets/index-CdmCMh2f.js +539 -0
  75. package/dist/studio/index.html +1 -1
  76. package/dist/studio/testid-inventory.json +125 -5
  77. package/endpoint-manifest.json +16 -1
  78. package/package.json +3 -3
  79. package/dist/studio/assets/index-FcZg3WDR.js +0 -539
@@ -74,10 +74,12 @@
74
74
  * before reshaping either def.
75
75
  */
76
76
  import { resolveProjectGraphBinding } from '../projects/graph.js';
77
- import { copyFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
78
- import { join } from 'node:path';
77
+ import { copyFileSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
78
+ import { basename, dirname, join } from 'node:path';
79
79
  import { randomUUID } from 'node:crypto';
80
- import { DOC_CREATED, DOC_NAME, INTERACTIVE_DOMAIN, INTERACTIVE_PRODUCER, STATUS_POSTED, oneLine, } from './draft-events.js';
80
+ import { DOC_CREATED, DOC_NAME, GROUNDING_BINDING_WAIT_MS, INTERACTIVE_DOMAIN, INTERACTIVE_PRODUCER, STATUS_POSTED, docScope, groundablePath, oneLine, } from './draft-events.js';
81
+ import { runDirInsideRepo, snapshotRepo } from './repo-snapshot.js';
82
+ import { groundingNarration, resolveGroundingRepos, snapshotDirName, } from './doc-grounding.js';
81
83
  import { FEEDBACK_PROCESSED, handoffKey, parseStructuralFeedback, } from './edit-events.js';
82
84
  import { readDocHead } from './chat-events.js';
83
85
  import { resolveInteractiveRoot } from './bridge-root.js';
@@ -281,12 +283,24 @@ export function parseDemoDocCreated(eventType, payload) {
281
283
  * must land at. Deliberately NO doc-workspace path: the unbound worker could not read or
282
284
  * write it anyway (wicked-core#294) — crew installs the spec at finalize.
283
285
  */
284
- export function demoProblem(doc, outPath) {
286
+ export function demoProblem(doc, outPath, grounding) {
285
287
  const brief = doc.brief.trim().length > 0
286
288
  ? oneLine(doc.brief, 2000)
287
289
  : "(no brief provided — demonstrate the app's core flow)";
290
+ // F-046: the demo's SUBJECT — the application's own source, snapshotted into the inbox. LOCAL
291
+ // reads only (the re-author leg's Read+Read+Write shape lands green; it is the NETWORK fetch
292
+ // that costs the following write, wicked-core#293), and offered as context for routes and
293
+ // selectors, never as a substitute for inspecting the live page.
294
+ const subjects = grounding?.subjects ?? [];
295
+ const source = subjects.length > 0
296
+ ? `The application's source is the ${subjects.length === 1 ? 'repository' : 'repositories'} ` +
297
+ `${subjects.map((s) => (s.snapshotDir !== undefined ? `${s.name} (offline snapshot at ${s.snapshotDir})` : s.name)).join(', ')}` +
298
+ ` — you may read ${subjects.some((s) => s.snapshotDir !== undefined) ? 'the snapshot files locally' : 'it through the estate tools'} ` +
299
+ `to learn its routes and stable selectors before you inspect the live page; never treat a sibling ` +
300
+ `repository in the same project as this app. `
301
+ : '';
288
302
  return (`Author the Playwright demo spec for the wicked-interactive demo document "${doc.documentId}". ` +
289
- `Target application URL: ${doc.url} The user's brief: ${brief} ` +
303
+ `Target application URL: ${doc.url} The user's brief: ${brief} ${source}` +
290
304
  `The finished spec MUST be written to exactly this absolute file path: ${outPath}`);
291
305
  }
292
306
  /**
@@ -409,7 +423,35 @@ export async function startInteractiveDemoSubscriber(adapter, opts = {}) {
409
423
  const demoDir = opts.demoDir ?? join(defaultStateDir(), 'interactive-demos');
410
424
  const heartbeatMs = opts.heartbeatMs ?? 15_000;
411
425
  const resolveDocsRoot = opts.resolveDocsRoot ?? (() => resolveInteractiveRoot(null));
412
- const inFlight = new Map(); // runId → live state
426
+ const groundingStore = opts.groundingStore;
427
+ const inFlight = new Map(); // runId → live state (pre-launch placeholders included)
428
+ let closed = false; // set by stop(): a handler mid-snapshot must never launch after shutdown
429
+ /** Best-effort removal of a run's app-source snapshots (F-046) — a leftover is a disk-space
430
+ * wart, never a correctness one. Empties the array it is handed. */
431
+ function removeSnapshots(dirs) {
432
+ const parents = new Set();
433
+ for (const dir of dirs.splice(0)) {
434
+ try {
435
+ rmSync(dir, { recursive: true, force: true });
436
+ log(`[interactive-demo] removed repo snapshot ${dir}`);
437
+ parents.add(dirname(dir));
438
+ }
439
+ catch (err) {
440
+ log(`[interactive-demo] could not remove repo snapshot ${dir}: ${err instanceof Error ? err.message : String(err)}`);
441
+ }
442
+ }
443
+ // The per-run `repos/` parent held nothing but this run's snapshots — it goes too.
444
+ for (const parent of parents) {
445
+ if (basename(parent) !== 'repos')
446
+ continue;
447
+ try {
448
+ rmSync(parent, { recursive: true, force: true });
449
+ }
450
+ catch {
451
+ /* best-effort */
452
+ }
453
+ }
454
+ }
413
455
  /** Emit onto interactive's vocabulary as the `wi-crew` producer. Never throws into the
414
456
  * caller: narration/announce failures are logged — a lost status line must not kill the
415
457
  * subscription, and a duplicate demo.requested (WB-002) is the idempotency key WORKING. */
@@ -437,10 +479,15 @@ export async function startInteractiveDemoSubscriber(adapter, opts = {}) {
437
479
  return false;
438
480
  }
439
481
  }
482
+ /** Every `status.posted` this seam emits is typed as the published frame's payload (codex on
483
+ * crew#506: the wire type at the real boundary, not a detached alias) — `emitInteractive` adds `ts`. */
484
+ function emitStatus(payload) {
485
+ return emitInteractive(STATUS_POSTED, { ...payload });
486
+ }
440
487
  function narrate(flight, message) {
441
488
  flight.narration = message;
442
- emitInteractive(STATUS_POSTED, {
443
- document_id: flight.documentId,
489
+ emitStatus({
490
+ ...docScope(flight.documentId, flight.projectId),
444
491
  state: 'working',
445
492
  message,
446
493
  });
@@ -448,11 +495,45 @@ export async function startInteractiveDemoSubscriber(adapter, opts = {}) {
448
495
  function endFlight(runId) {
449
496
  const flight = inFlight.get(runId);
450
497
  if (flight) {
451
- clearInterval(flight.heartbeat);
498
+ if (flight.heartbeat !== undefined)
499
+ clearInterval(flight.heartbeat);
452
500
  inFlight.delete(runId);
453
501
  }
454
502
  return flight;
455
503
  }
504
+ /**
505
+ * The inbox must never sit inside a registered repository (codex on crew#506, CRITICAL): the
506
+ * run declares it as the worker's extra write root, so a demo dir configured inside a checkout
507
+ * would hand the unbound worker write access to live source whatever the run is about. Checked
508
+ * against the WHOLE registry before anything is created; a hit refuses the launch — error status,
509
+ * no directory, no run, no ledger row, the frame dead-lettered (replayable once the config is
510
+ * fixed). `null` when clear.
511
+ */
512
+ async function refuseRunDirInsideRepo(runDir, documentId, projectId) {
513
+ let inside;
514
+ try {
515
+ inside = await runDirInsideRepo(adapter, runDir);
516
+ }
517
+ catch (err) {
518
+ // A path that cannot be RESOLVED (EACCES/ELOOP on a component — never plain ENOENT, which
519
+ // the resolver walks past) cannot be proven clear of the registry either: fail closed WITH a
520
+ // user-facing status naming the cause, then dead-letter (Copilot on crew#506).
521
+ const why = err instanceof Error ? err.message : String(err);
522
+ const message = `Crew refused to author this demo: the configured demo directory (${demoDir}) could not be verified ` +
523
+ `against the registered repositories (${why}). Fix the path or its permissions, then replay the request.`;
524
+ emitStatus({ ...docScope(documentId, projectId), state: 'error', message });
525
+ log(`[interactive-demo] ${documentId}: REFUSING launch — run dir ${runDir} unverifiable: ${why}`);
526
+ throw new Error(message);
527
+ }
528
+ if (inside === null)
529
+ return;
530
+ const message = `Crew refused to author this demo: the configured demo directory (${demoDir}) overlaps the ` +
531
+ `registered repository ${inside}, so launching would give the worker write access inside live ` +
532
+ `source. Point the crew demo directory outside every registered repository, then replay the request.`;
533
+ emitStatus({ ...docScope(documentId, projectId), state: 'error', message });
534
+ log(`[interactive-demo] ${documentId}: REFUSING launch — run dir ${runDir} is inside repo ${inside}`);
535
+ throw new Error(message);
536
+ }
456
537
  /** Terminal-event fold: turn the governed run's own events into interactive narration, and
457
538
  * close the loop (copy spec → emit demo.requested) when the run lands. */
458
539
  const offCoreEvents = adapter.onEvent((event) => {
@@ -540,10 +621,11 @@ export async function startInteractiveDemoSubscriber(adapter, opts = {}) {
540
621
  }
541
622
  if (event.type === 'sessionFailed' || event.type === 'runCancelled') {
542
623
  endFlight(runId);
624
+ removeSnapshots(flight.snapshotDirs);
543
625
  ledger.recordFailure(flight.key);
544
626
  const why = flight.failureDetail !== undefined ? ` Reason: ${oneLine(flight.failureDetail, 600)}` : '';
545
- emitInteractive(STATUS_POSTED, {
546
- document_id: flight.documentId,
627
+ emitStatus({
628
+ ...docScope(flight.documentId, flight.projectId),
547
629
  state: 'error',
548
630
  message: `The crew run authoring this demo's spec ${event.type === 'runCancelled' ? 'was cancelled' : 'failed'} ` +
549
631
  `(run ${runId}).${why} Inspect it via the crew API (GET /api/v1/runs/${runId}); no recording was triggered.`,
@@ -560,10 +642,12 @@ export async function startInteractiveDemoSubscriber(adapter, opts = {}) {
560
642
  * service throwing "no demo.spec.mjs authored yet" at a request crew knew was hollow.
561
643
  */
562
644
  function finalize(flight, runId) {
563
- const { documentId, outPath, key } = flight;
645
+ // The run is terminal — its app-source snapshots are done serving reads, on every branch below.
646
+ removeSnapshots(flight.snapshotDirs);
647
+ const { documentId, projectId, outPath, key } = flight;
564
648
  const fail = (message) => {
565
649
  ledger.recordFailure(key);
566
- emitInteractive(STATUS_POSTED, { document_id: documentId, state: 'error', message });
650
+ emitStatus({ ...docScope(documentId, projectId), state: 'error', message });
567
651
  log(`[interactive-demo] run ${runId} for ${key} failed at finalize: ${message}`);
568
652
  };
569
653
  let spec = '';
@@ -610,14 +694,14 @@ export async function startInteractiveDemoSubscriber(adapter, opts = {}) {
610
694
  const idemKey = flight.leg === 'spec'
611
695
  ? demoIdempotencyKey(documentId)
612
696
  : demoReauthorIdempotencyKey(documentId, flight.version ?? 0);
613
- const emitted = emitInteractive(DEMO_REQUESTED, { document_id: documentId }, idemKey);
697
+ const emitted = emitInteractive(DEMO_REQUESTED, docScope(documentId, projectId), idemKey);
614
698
  if (!emitted) {
615
699
  // The bus refused the announce (non-WB-002): the spec IS installed but the recording was
616
700
  // never requested. Fail HONEST — and say exactly where things stand, because unlike the
617
701
  // sibling seams the doc is half-advanced (spec on disk, no video).
618
702
  ledger.recordFailure(key);
619
- emitInteractive(STATUS_POSTED, {
620
- document_id: documentId,
703
+ emitStatus({
704
+ ...docScope(documentId, projectId),
621
705
  state: 'error',
622
706
  message: `Crew installed the demo spec at ${join(docDir, DEMO_SPEC_FILE)} but could not request ` +
623
707
  `the recording on the bus (run ${runId}). Inspect the crew daemon log, then emit ` +
@@ -627,8 +711,8 @@ export async function startInteractiveDemoSubscriber(adapter, opts = {}) {
627
711
  return;
628
712
  }
629
713
  ledger.recordEmitted(key);
630
- emitInteractive(STATUS_POSTED, {
631
- document_id: documentId,
714
+ emitStatus({
715
+ ...docScope(documentId, projectId),
632
716
  state: 'complete',
633
717
  message: flight.leg === 'spec'
634
718
  ? 'Demo spec authored — recording now. Step-by-step progress will follow; highlight any step to refine it.'
@@ -645,7 +729,16 @@ export async function startInteractiveDemoSubscriber(adapter, opts = {}) {
645
729
  return false;
646
730
  }
647
731
  async function launchFlight(input) {
648
- const runId = randomUUID();
732
+ const { runId } = input;
733
+ const placeholder = inFlight.get(runId);
734
+ const snapshotDirs = placeholder?.snapshotDirs ?? [];
735
+ if (closed) {
736
+ // stop() ran during the caller's awaits: never launch after the subscriber detached.
737
+ endFlight(runId);
738
+ removeSnapshots(snapshotDirs);
739
+ log(`[interactive-demo] ${input.key}: subscriber stopped before launch — abandoned (a replay retries)`);
740
+ return;
741
+ }
649
742
  // Resolved BEFORE the launch and never indexing — a refresh is `wicked-estate index` per
650
743
  // member at up to 600s EACH, so doing it here would turn "record a demo" into an
651
744
  // unannounced multi-repo job. Missing or stale degrades to no binding; the run is unaffected.
@@ -698,40 +791,52 @@ export async function startInteractiveDemoSubscriber(adapter, opts = {}) {
698
791
  // delivery retries. The crash window between launch and this write is the reason the
699
792
  // demo.requested emit ALSO carries a deterministic idempotency key.
700
793
  ledger.recordLaunch(input.key, runId);
794
+ if (closed) {
795
+ // stop() ran while the engine was accepting the launch: its sweep already dropped the
796
+ // placeholder and the snapshots; the ledger row keeps a post-restart redelivery from
797
+ // double-launching, and the engine's workers die with the daemon.
798
+ return;
799
+ }
701
800
  if (input.projectId !== undefined)
702
801
  opts.onRunFiled?.(runId, input.projectId);
703
- const flight = {
802
+ // Upgrade the placeholder to a live flight: the heartbeat starts once the run exists.
803
+ const flight = placeholder ?? {
704
804
  key: input.key,
705
805
  leg: input.leg,
706
806
  documentId: input.documentId,
707
807
  projectId: input.projectId,
708
808
  version: input.version,
709
809
  outPath: input.outPath,
810
+ snapshotDirs,
710
811
  agentPhaseCount: input.agentPhaseCount,
711
- narration: input.leg === 'spec'
712
- ? 'Crew run launched — authoring your demo…'
713
- : 'Crew run launched — re-authoring your demo…',
714
- heartbeat: setInterval(() => {
715
- // Repeat the last real narration so the ~20s status.requested window is always
716
- // fed, even mid-phase when the engine is quiet.
717
- emitInteractive(STATUS_POSTED, {
718
- document_id: flight.documentId,
719
- state: 'working',
720
- message: flight.narration,
721
- });
722
- }, heartbeatMs),
812
+ narration: '',
723
813
  };
814
+ flight.narration =
815
+ input.leg === 'spec' ? 'Crew run launched — authoring your demo…' : 'Crew run launched — re-authoring your demo…';
816
+ flight.heartbeat = setInterval(() => {
817
+ // Repeat the last real narration so the ~20s status.requested window is always
818
+ // fed, even mid-phase when the engine is quiet.
819
+ emitStatus({
820
+ ...docScope(flight.documentId, flight.projectId),
821
+ state: 'working',
822
+ message: flight.narration,
823
+ });
824
+ }, heartbeatMs);
724
825
  // Do not keep the daemon alive for narration alone.
725
826
  flight.heartbeat.unref?.();
726
827
  inFlight.set(runId, flight);
727
828
  log(`[interactive-demo] ${input.key} → governed run ${runId} (${input.leg}, spec → ${input.outPath})`);
728
829
  })
729
830
  .catch((err) => {
831
+ // A launch that never happened keeps no flight and no snapshot (a replayed frame
832
+ // re-registers and re-snapshots fresh).
833
+ endFlight(runId);
834
+ removeSnapshots(snapshotDirs);
730
835
  // The 'processing' status is already on the thread — close it out honestly so the
731
836
  // canvas never sits in an in-between state on a launch that went nowhere.
732
837
  const reason = err instanceof Error ? err.message : String(err);
733
- emitInteractive(STATUS_POSTED, {
734
- document_id: input.documentId,
838
+ emitStatus({
839
+ ...docScope(input.documentId, input.projectId),
735
840
  state: 'error',
736
841
  message: `Crew could not start a run for this demo: ${reason}.`,
737
842
  });
@@ -757,23 +862,113 @@ export async function startInteractiveDemoSubscriber(adapter, opts = {}) {
757
862
  return;
758
863
  const runDir = join(demoDir, doc.documentId);
759
864
  const outPath = join(runDir, DEMO_SPEC_FILE);
865
+ const runId = randomUUID();
866
+ // PRE-LAUNCH placeholder (Copilot on crew#506): the awaits below (registry check, grounding,
867
+ // snapshots) open a window in which this doc has no `inFlight` entry — a replayed doc.created
868
+ // could start a second snapshot+launch, and stop()'s sweep could not find a half-made clone.
869
+ // Register the flight FIRST; every exit path below must endFlight() it.
870
+ const placeholder = {
871
+ key: doc.documentId,
872
+ leg: 'spec',
873
+ documentId: doc.documentId,
874
+ projectId: doc.projectId,
875
+ version: undefined,
876
+ outPath,
877
+ snapshotDirs: [],
878
+ agentPhaseCount: INTERACTIVE_DEMO_WORKFLOW_DEF.phases.length,
879
+ narration: 'Crew run launched — authoring your demo…',
880
+ };
881
+ inFlight.set(runId, placeholder);
882
+ try {
883
+ // NOTHING is created before the inbox is known to be clear of every registered repository.
884
+ await refuseRunDirInsideRepo(runDir, doc.documentId, doc.projectId);
885
+ }
886
+ catch (err) {
887
+ endFlight(runId);
888
+ throw err;
889
+ }
760
890
  mkdirSync(runDir, { recursive: true });
761
- emitInteractive(STATUS_POSTED, {
762
- document_id: doc.documentId,
891
+ emitStatus({
892
+ ...docScope(doc.documentId, doc.projectId),
763
893
  state: 'processing',
764
894
  message: 'A governed crew picked up your demo brief — planning the scenes and authoring the click-path…',
765
895
  });
896
+ // F-046: WHICH repository is this app? The create request's `repo_ref(s)` (recorded by the
897
+ // proxy, waited for while the create is still answering), else the ones the brief names, else
898
+ // the project's sole repo, else none — never the project's first member. Each resolved repo is
899
+ // snapshotted into the run's own inbox (readable by the unbound worker, wicked-core#259) and
900
+ // named in the task; the thread hears where the demo is grounded and why.
901
+ const subjects = [];
902
+ const snapshotDirs = placeholder.snapshotDirs; // tracked on the flight so stop() sweeps them
903
+ if (doc.projectId !== undefined) {
904
+ let binding;
905
+ let decision;
906
+ try {
907
+ binding =
908
+ groundingStore !== undefined
909
+ ? await groundingStore.waitFor(resolveDocsRoot(doc.projectId), doc.documentId, doc.projectId, GROUNDING_BINDING_WAIT_MS)
910
+ : undefined;
911
+ decision = await resolveGroundingRepos(adapter, doc.projectId, doc.brief, binding?.repo_refs, log);
912
+ }
913
+ catch (err) {
914
+ endFlight(runId);
915
+ throw err;
916
+ }
917
+ const snapshotted = [];
918
+ const taken = new Set();
919
+ for (const repo of decision.repos) {
920
+ const dest = join(runDir, 'repos', snapshotDirName(repo, taken));
921
+ if (!groundablePath(dest)) {
922
+ log(`[interactive-demo] ${doc.documentId}: snapshot dest ${dest} cannot ride the problem — no snapshot for ${repo.repoRef}`);
923
+ subjects.push({ name: repo.name });
924
+ continue;
925
+ }
926
+ snapshotDirs.push(dest); // BEFORE the await: a stop() mid-clone must find it
927
+ const snap = await snapshotRepo(repo.rootPath, dest, { maxBytes: opts.repoSnapshotMaxBytes, log });
928
+ if (snap.ok) {
929
+ snapshotted.push(repo);
930
+ subjects.push({ name: repo.name, snapshotDir: dest });
931
+ continue;
932
+ }
933
+ snapshotDirs.splice(snapshotDirs.indexOf(dest), 1); // nothing landed — snapshotRepo cleans its partials
934
+ if (snap.reason === 'dest-overlap') {
935
+ // FAIL CLOSED, exactly like the draft seam (Copilot on #506): the configured demo dir places
936
+ // this run's write root inside the live application repository (or the repo is registered
937
+ // at the inbox). The spec itself lands in the inbox, but `extraWriteRoots: [runDir]` would
938
+ // still hand the unbound worker write access INSIDE the live repo — so the launch is
939
+ // refused outright: sibling snapshots removed, no run, no ledger row. The status names the
940
+ // CONFIG problem; the thrown error dead-letters the frame, replayable once it is fixed.
941
+ endFlight(runId);
942
+ removeSnapshots(snapshotDirs);
943
+ const message = `Crew refused to author this demo: the configured demo directory (${demoDir}) overlaps the ` +
944
+ `application's repository (${repo.rootPath}), so launching would give the worker write access ` +
945
+ `inside the live repo. Point the crew demo directory outside every registered repository, then ` +
946
+ `replay the request.`;
947
+ emitStatus({ ...docScope(doc.documentId, doc.projectId), state: 'error', message });
948
+ log(`[interactive-demo] ${doc.documentId}: REFUSING launch — demo dir ${demoDir} overlaps repo ${repo.rootPath} (dest-overlap)`);
949
+ throw new Error(message);
950
+ }
951
+ // Any other failure degrades honestly: the subject is still NAMED, only its snapshot is
952
+ // missing, and the app is still inspected live.
953
+ log(`[interactive-demo] ${doc.documentId}: repo ${repo.rootPath} could not be snapshotted (${snap.reason}) — no snapshot for ${repo.repoRef}`);
954
+ subjects.push({ name: repo.name });
955
+ }
956
+ const line = groundingNarration(decision, snapshotted, 'demo');
957
+ if (line !== null)
958
+ emitStatus({ ...docScope(doc.documentId, doc.projectId), state: 'working', message: line });
959
+ }
766
960
  await launchFlight({
767
961
  key: doc.documentId,
768
962
  leg: 'spec',
769
963
  documentId: doc.documentId,
770
964
  projectId: doc.projectId,
771
965
  version: undefined,
772
- problem: demoProblem(doc, outPath),
966
+ problem: demoProblem(doc, outPath, subjects.length > 0 ? { subjects } : undefined),
773
967
  workflow: INTERACTIVE_DEMO_WORKFLOW,
774
968
  runDir,
775
969
  outPath,
776
970
  agentPhaseCount: INTERACTIVE_DEMO_WORKFLOW_DEF.phases.length,
971
+ runId,
777
972
  });
778
973
  }
779
974
  async function handleFeedbackProcessed(event) {
@@ -805,7 +1000,7 @@ export async function startInteractiveDemoSubscriber(adapter, opts = {}) {
805
1000
  // in-flight run lands, and say so on the thread instead of eating the user's feedback.
806
1001
  const message = `Crew is still authoring this demo's spec — your step feedback was set aside; ` +
807
1002
  `replay it (or resubmit) once the current run lands.`;
808
- emitInteractive(STATUS_POSTED, { document_id: handoff.documentId, state: 'error', message });
1003
+ emitStatus({ ...docScope(handoff.documentId, handoff.projectId), state: 'error', message });
809
1004
  log(`[interactive-demo] handoff ${key} arrived while doc ${handoff.documentId} is busy — dead-lettered`);
810
1005
  throw new Error(message);
811
1006
  }
@@ -818,12 +1013,31 @@ export async function startInteractiveDemoSubscriber(adapter, opts = {}) {
818
1013
  if (!existsSync(srcSpec)) {
819
1014
  const message = `This demo has no ${DEMO_SPEC_FILE} to revise yet — the step feedback was set aside; ` +
820
1015
  `replay it once the first spec is authored.`;
821
- emitInteractive(STATUS_POSTED, { document_id: handoff.documentId, state: 'error', message });
1016
+ emitStatus({ ...docScope(handoff.documentId, handoff.projectId), state: 'error', message });
822
1017
  log(`[interactive-demo] handoff ${key}: no spec at ${srcSpec} — dead-lettered`);
823
1018
  throw new Error(message);
824
1019
  }
825
1020
  const runDir = join(demoDir, key.replace(':', '-'));
826
1021
  const outPath = join(runDir, DEMO_SPEC_FILE);
1022
+ const runId = randomUUID();
1023
+ inFlight.set(runId, {
1024
+ key,
1025
+ leg: 'reauthor',
1026
+ documentId: handoff.documentId,
1027
+ projectId: handoff.projectId,
1028
+ version: handoff.version,
1029
+ outPath,
1030
+ snapshotDirs: [],
1031
+ agentPhaseCount: INTERACTIVE_DEMO_REAUTHOR_WORKFLOW_DEF.phases.length,
1032
+ narration: 'Crew run launched — re-authoring your demo…',
1033
+ });
1034
+ try {
1035
+ await refuseRunDirInsideRepo(runDir, handoff.documentId, handoff.projectId);
1036
+ }
1037
+ catch (err) {
1038
+ endFlight(runId);
1039
+ throw err;
1040
+ }
827
1041
  mkdirSync(runDir, { recursive: true });
828
1042
  const currentSpecPath = join(runDir, 'current.spec.mjs');
829
1043
  copyFileSync(srcSpec, currentSpecPath);
@@ -831,8 +1045,8 @@ export async function startInteractiveDemoSubscriber(adapter, opts = {}) {
831
1045
  // PTY prompt is single-line, so the items ride a JSON file in the inbox, not the problem.
832
1046
  const feedbackPath = join(runDir, 'feedback.json');
833
1047
  writeFileSync(feedbackPath, JSON.stringify({ document_id: handoff.documentId, version: handoff.version, items: handoff.items }, null, 2), 'utf8');
834
- emitInteractive(STATUS_POSTED, {
835
- document_id: handoff.documentId,
1048
+ emitStatus({
1049
+ ...docScope(handoff.documentId, handoff.projectId),
836
1050
  state: 'processing',
837
1051
  message: `A governed crew picked up your demo feedback — re-authoring the click-path (${handoff.items.length} change${handoff.items.length === 1 ? '' : 's'})…`,
838
1052
  });
@@ -847,6 +1061,7 @@ export async function startInteractiveDemoSubscriber(adapter, opts = {}) {
847
1061
  runDir,
848
1062
  outPath,
849
1063
  agentPhaseCount: INTERACTIVE_DEMO_REAUTHOR_WORKFLOW_DEF.phases.length,
1064
+ runId,
850
1065
  });
851
1066
  }
852
1067
  const subCreated = bus.subscribe({
@@ -881,9 +1096,13 @@ export async function startInteractiveDemoSubscriber(adapter, opts = {}) {
881
1096
  ledger,
882
1097
  inFlightDocs: () => [...new Set([...inFlight.values()].map((f) => f.documentId))],
883
1098
  stop: async () => {
1099
+ closed = true; // a handler mid-snapshot sees this and never launches
884
1100
  offCoreEvents();
885
- for (const runId of [...inFlight.keys()])
886
- endFlight(runId);
1101
+ for (const runId of [...inFlight.keys()]) {
1102
+ const flight = endFlight(runId);
1103
+ if (flight !== undefined)
1104
+ removeSnapshots(flight.snapshotDirs);
1105
+ }
887
1106
  await subCreated.stop();
888
1107
  await subFeedback.stop();
889
1108
  },
@@ -1 +1 @@
1
- {"version":3,"file":"demo-events.js","sourceRoot":"","sources":["../../src/interactive/demo-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"demo-events.js","sourceRoot":"","sources":["../../src/interactive/demo-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EG;AAEH,OAAO,EAAE,0BAA0B,EAA4B,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnG,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,WAAW,EACX,QAAQ,EACR,yBAAyB,EACzB,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,cAAc,EACd,OAAO,GAER,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,GAGhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,uBAAuB,GAExB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAI1D,gGAAgG;AAEhG,MAAM,CAAC,MAAM,cAAc,GAAG,mCAAmC,CAAC;AAElE;;qBAEqB;AACrB,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,WAAW,IAAI,kBAAkB,EAAE,CAAC;AAClF,MAAM,CAAC,MAAM,oCAAoC,GAAG,GAAG,kBAAkB,IAAI,kBAAkB,EAAE,CAAC;AAElG;;4EAE4E;AAC5E,MAAM,CAAC,MAAM,2BAA2B,GAAG,8BAA8B,CAAC;AAC1E,MAAM,CAAC,MAAM,oCAAoC,GAAG,uCAAuC,CAAC;AAE5F;4EAC4E;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAC;AAE9C,iGAAiG;AAEjG,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,CAAC;AAC5D,MAAM,CAAC,MAAM,kCAAkC,GAAG,2BAA2B,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAgB;IACxD,EAAE,EAAE,yBAAyB;IAC7B,SAAS,EAAE,IAAI;IACf,MAAM,EAAE;QACN;YACE,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,OAAO;YACb,YAAY,EACV,gjCAAgjC;YACljC,SAAS,EAAE,OAAO;YAClB,IAAI,EAAE,MAAM;YACZ,aAAa,EAAE,KAAK;YACpB,iBAAiB,EAAE,KAAK;YACxB,qBAAqB,EAAE,EAAE;YACzB,UAAU,EAAE,EAAE;YACd,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,EAAE;YAClB,aAAa,EAAE,IAAI;SACpB;QACD;YACE,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,OAAO;YACb,YAAY,EACV,s3DAAs3D;YACx3D,SAAS,EAAE,WAAW;YACtB,IAAI,EAAE,MAAM;YACZ,aAAa,EAAE,KAAK;YACpB,iBAAiB,EAAE,KAAK;YACxB,qBAAqB,EAAE,EAAE;YACzB,UAAU,EAAE,CAAC,QAAQ,CAAC;YACtB,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,EAAE;YAClB,aAAa,EAAE,IAAI;SACpB;KACF;CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAgB;IACjE,EAAE,EAAE,kCAAkC;IACtC,SAAS,EAAE,IAAI;IACf,MAAM,EAAE;QACN;YACE,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,OAAO;YACb,YAAY,EACV,4tDAA4tD;YAC9tD,SAAS,EAAE,WAAW;YACtB,IAAI,EAAE,MAAM;YACZ,aAAa,EAAE,KAAK;YACpB,iBAAiB,EAAE,KAAK;YACxB,qBAAqB,EAAE,EAAE;YACzB,UAAU,EAAE,EAAE;YACd,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,EAAE;YAClB,aAAa,EAAE,IAAI;SACpB;KACF;CACF,CAAC;AAcF;sFACsF;AACtF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AAEjC;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB,EAAE,OAAgB;IACrE,IAAI,SAAS,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjE,MAAM,CAAC,GAAG,OAAkC,CAAC;IAC7C,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,aAAa,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,YAAY,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAChG,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;IAC/E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,SAAS,GACb,OAAO,CAAC,CAAC,YAAY,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClG,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACvF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,GAAmB,EAAE,OAAe,EAAE,SAAyB;IACzF,MAAM,KAAK,GACT,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACzB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC;QAC1B,CAAC,CAAC,uDAAuD,CAAC;IAC9D,8FAA8F;IAC9F,6FAA6F;IAC7F,0FAA0F;IAC1F,iEAAiE;IACjE,MAAM,QAAQ,GAAG,SAAS,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC3C,MAAM,MAAM,GACV,QAAQ,CAAC,MAAM,GAAG,CAAC;QACjB,CAAC,CAAC,mCAAmC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,GAAG;YAC3F,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,yBAAyB,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAChI,mBAAmB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,6BAA6B,GAAG;YACtI,mGAAmG;YACnG,8CAA8C;QAChD,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,CACL,6EAA6E,GAAG,CAAC,UAAU,KAAK;QAChG,2BAA2B,GAAG,CAAC,GAAG,sBAAsB,KAAK,IAAI,MAAM,EAAE;QACzE,yEAAyE,OAAO,EAAE,CACnF,CAAC;AACJ,CAAC;AAQD;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAA0B,EAC1B,eAAuB,EACvB,YAAoB,EACpB,OAAe;IAEf,MAAM,IAAI,GAAG,OAAO,CAClB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAC9E,GAAG,CACJ,CAAC;IACF,OAAO,CACL,8EAA8E;QAC9E,IAAI,OAAO,CAAC,UAAU,mCAAmC,OAAO,CAAC,KAAK,CAAC,MAAM,cAAc;QAC3F,WAAW,OAAO,CAAC,OAAO,kEAAkE;QAC5F,UAAU,eAAe,oEAAoE;QAC7F,qDAAqD,YAAY,GAAG;QACpE,mBAAmB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,GAAG;QACtE,wEAAwE,OAAO,EAAE,CAClF,CAAC;AACJ,CAAC;AAED;;yEAEyE;AACzE,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,OAAO,yBAAyB,UAAU,OAAO,CAAC;AACpD,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,0BAA0B,CAAC,UAAkB,EAAE,OAAe;IAC5E,OAAO,yBAAyB,UAAU,KAAK,OAAO,EAAE,CAAC;AAC3D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,wBAAwB,CAAC;IAC9D,MAAM,WAAW,GACf,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1F,IAAI,CAAC,WAAW;QAAE,OAAO,iCAAiC,CAAC;IAC3D,2FAA2F;IAC3F,4FAA4F;IAC5F,yFAAyF;IACzF,0FAA0F;IAC1F,uFAAuF;IACvF,4FAA4F;IAC5F,mCAAmC;IACnC,MAAM,YAAY,GAAG,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,eAAe,GAAG,8CAA8C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClF,MAAM,WAAW,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,cAAc,GAClB,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;IACtE,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;QAClC,OAAO,8EAA8E,CAAC;IACxF,CAAC;IACD,IAAI,CAAC,YAAY,IAAI,CAAC,eAAe,IAAI,CAAC,WAAW,EAAE,CAAC;QACtD,OAAO,kDAAkD,CAAC;IAC5D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAmFD;;+EAE+E;AAC/E,SAAS,eAAe;IACtB,OAAO,aAAa,EAAE,CAAC;AACzB,CAAC;AAED;iGACiG;AACjG,SAAS,QAAQ,CAAC,OAAoB;IACpC,OAAQ,OAAO,CAAC,WAAkD,CAAC,MAAM,EAAE,CAAC;AAC9E,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,OAAoB,EACpB,OAA+B,EAAE;IAEjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1D,IAAI,GAAgC,CAAC;IACrC,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CACD,uFACE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE,CACH,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,EAA8B,CAAC;IACnC,IAAI,MAA+B,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnF,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CACD,+CACE,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EACrD,wCAAwC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC3F,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0FAA0F;IAC1F,yFAAyF;IACzF,iDAAiD;IACjD,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,CAAC;QAC9D,MAAM,OAAO,CAAC,gBAAgB,CAAC,sCAAsC,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CACD,qFAAqF;YACnF,aAAa,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAClE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,wBAAwB,CACzC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,8BAA8B,CAAC,CAC3E,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC;IAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC,CAAC,wDAAwD;IACtG,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,yEAAyE;IAE7F;yEACqE;IACrE,SAAS,eAAe,CAAC,IAAc;QACrC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9C,GAAG,CAAC,4CAA4C,GAAG,EAAE,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,qDAAqD,GAAG,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvH,CAAC;QACH,CAAC;QACD,mFAAmF;QACnF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,OAAO;gBAAE,SAAS;YAC3C,IAAI,CAAC;gBACH,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;gGAE4F;IAC5F,SAAS,eAAe,CACtB,IAAY,EACZ,OAAgC,EAChC,cAAuB;QAEvB,IAAI,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE;gBACnB,UAAU,EAAE,IAAI;gBAChB,6EAA6E;gBAC7E,gCAAgC;gBAChC,MAAM,EAAE,kBAAkB;gBAC1B,SAAS,EAAE,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;gBACtD,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,EAAE;gBACrD,WAAW,EAAE,oBAAoB;gBACjC,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7E,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,GAAI,GAA0B,CAAC,KAAK,CAAC;YAC/C,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,oFAAoF;gBACpF,OAAO,IAAI,CAAC;YACd,CAAC;YACD,GAAG,CACD,2BAA2B,IAAI,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC9F,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;6GACyG;IACzG,SAAS,UAAU,CAAC,OAA0B;QAC5C,OAAO,eAAe,CAAC,aAAa,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,SAAS,OAAO,CAAC,MAAgB,EAAE,OAAe;QAChD,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC;QAC3B,UAAU,CAAC;YACT,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;YAChD,KAAK,EAAE,SAAS;YAChB,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,SAAS,SAAS,CAAC,KAAa;QAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;gBAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,UAAU,sBAAsB,CAAC,MAAc,EAAE,UAAkB,EAAE,SAA6B;QACrG,IAAI,MAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,0FAA0F;YAC1F,6FAA6F;YAC7F,+EAA+E;YAC/E,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,OAAO,GACX,oEAAoE,OAAO,0BAA0B;gBACrG,wCAAwC,GAAG,8DAA8D,CAAC;YAC5G,UAAU,CAAC,EAAE,GAAG,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5E,GAAG,CAAC,sBAAsB,UAAU,+BAA+B,MAAM,kBAAkB,GAAG,EAAE,CAAC,CAAC;YAClG,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO;QAC5B,MAAM,OAAO,GACX,oEAAoE,OAAO,iBAAiB;YAC5F,yBAAyB,MAAM,gEAAgE;YAC/F,qGAAqG,CAAC;QACxG,UAAU,CAAC,EAAE,GAAG,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5E,GAAG,CAAC,sBAAsB,UAAU,+BAA+B,MAAM,mBAAmB,MAAM,EAAE,CAAC,CAAC;QACtG,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED;+EAC2E;IAC3E,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,KAAgB,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QAEjC,2FAA2F;QAC3F,oFAAoF;QACpF,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,6BAA6B,CAAC;QAEhG,2FAA2F;QAC3F,6FAA6F;QAC7F,4FAA4F;QAC5F,wFAAwF;QACxF,kFAAkF;QAClF,MAAM,UAAU,GAAG,CAAC,CAAY,EAAW,EAAE,CAC3C,OAAQ,CAAuB,CAAC,GAAG,KAAK,QAAQ;YAC/C,CAAqB,CAAC,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC;QAEtD,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACrC,IAAI,UAAU,CAAC,KAAK,CAAC;gBAAE,OAAO;YAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,yFAAyF;YACzF,mBAAmB;YACnB,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;YACpE,OAAO,CAAC,MAAM,EAAE,aAAa,OAAO,uBAAuB,SAAS,GAAG,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACrC,IAAI,UAAU,CAAC,KAAK,CAAC;gBAAE,OAAO;YAC9B,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;YACnE,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,aAAa,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;YAClG,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,aAAa,SAAS,GAAG,GAAG,GAAG,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACpC,0FAA0F;YAC1F,yFAAyF;YACzF,4CAA4C;YAC5C,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,aAAa,GAAG,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC;YACjD,MAAM,IAAI,GACR,GAAG,GAAG,MAAM,CAAC,eAAe;gBAC1B,CAAC,CAAC,8CAA8C;gBAChD,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,eAAe;oBAC7B,CAAC,CAAC,kCAAkC,SAAS,GAAG;oBAChD,CAAC,CAAC,2BAA2B,CAAC;YACpC,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,IAAI,KAAK;gBAAE,OAAO,CAAC,MAAM,EAAE,mBAAmB,KAAK,gBAAgB,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACxC,OAAO,CAAC,MAAM,EAAE,2DAA2D,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACzD,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,OAAO,CACL,MAAM,EACN,GAAG,GAAG,MAAM,CAAC,eAAe;gBAC1B,CAAC,CAAC,wEAAwE;gBAC1E,CAAC,CAAC,oDAAoD,CACzD,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;YAC3E,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,2DAA2D,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACtC,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,kFAAkF;YAClF,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC;YACrD,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACpE,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACrC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,GAAG,GACP,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7F,UAAU,CAAC;gBACT,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;gBAChD,KAAK,EAAE,OAAO;gBACd,OAAO,EACL,2CAA2C,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,GAAG;oBACxG,QAAQ,KAAK,KAAK,GAAG,kDAAkD,KAAK,gCAAgC;aAC/G,CAAC,CAAC;YACH,GAAG,CAAC,0BAA0B,KAAK,QAAQ,MAAM,CAAC,GAAG,WAAW,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH;;;;;;;OAOG;IACH,SAAS,QAAQ,CAAC,MAAgB,EAAE,KAAa;QAC/C,gGAAgG;QAChG,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACrC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;QACvD,MAAM,IAAI,GAAG,CAAC,OAAe,EAAQ,EAAE;YACrC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC1B,UAAU,CAAC,EAAE,GAAG,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5E,GAAG,CAAC,0BAA0B,KAAK,QAAQ,GAAG,wBAAwB,OAAO,EAAE,CAAC,CAAC;QACnF,CAAC,CAAC;QAEF,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,CAAC;YACH,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;QACnD,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,uDAAuD,OAAO,SAAS,KAAK,gCAAgC,CAAC,CAAC;YACnH,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,kFAAkF;YAClF,2FAA2F;YAC3F,gFAAgF;YAChF,IAAI,CACF,kFAAkF,SAAS,GAAG;gBAC5F,QAAQ,KAAK,qDAAqD,CACrE,CAAC;YACF,OAAO;QACT,CAAC;QAED,sFAAsF;QACtF,wFAAwF;QACxF,2FAA2F;QAC3F,2FAA2F;QAC3F,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;YAC/C,IAAI,CACF,mCAAmC,OAAO,mCAAmC,MAAM,KAAK;gBACtF,sHAAsH,CACzH,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CACF,6DAA6D,MAAM,KACjE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,SAAS,KAAK,gCAAgC,CAC/C,CAAC;YACF,OAAO;QACT,CAAC;QAED,wFAAwF;QACxF,oFAAoF;QACpF,4DAA4D;QAC5D,MAAM,OAAO,GACX,MAAM,CAAC,GAAG,KAAK,MAAM;YACnB,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC;YAChC,CAAC,CAAC,0BAA0B,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,eAAe,CAAC,cAAc,EAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;QAC1F,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,yFAAyF;YACzF,wFAAwF;YACxF,mEAAmE;YACnE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC1B,UAAU,CAAC;gBACT,GAAG,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;gBAClC,KAAK,EAAE,OAAO;gBACd,OAAO,EACL,mCAAmC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,yBAAyB;oBACxF,iCAAiC,KAAK,4CAA4C;oBAClF,mEAAmE;aACtE,CAAC,CAAC;YACH,GAAG,CAAC,qDAAqD,GAAG,SAAS,KAAK,yBAAyB,CAAC,CAAC;YACrG,OAAO;QACT,CAAC;QACD,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC1B,UAAU,CAAC;YACT,GAAG,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;YAClC,KAAK,EAAE,UAAU;YACjB,OAAO,EACL,MAAM,CAAC,GAAG,KAAK,MAAM;gBACnB,CAAC,CAAC,yGAAyG;gBAC3G,CAAC,CAAC,uEAAuE;SAC9E,CAAC,CAAC;QACH,GAAG,CAAC,kEAAkE,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC;IAC9F,CAAC;IAED;sFACkF;IAClF,SAAS,OAAO,CAAC,UAAkB;QACjC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE;YAAE,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU;gBAAE,OAAO,IAAI,CAAC;QAChF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,UAAU,YAAY,CACzB,KAcC;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QACxB,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,WAAW,EAAE,YAAY,IAAI,EAAE,CAAC;QACrD,IAAI,MAAM,EAAE,CAAC;YACX,qFAAqF;YACrF,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,eAAe,CAAC,YAAY,CAAC,CAAC;YAC9B,GAAG,CAAC,sBAAsB,KAAK,CAAC,GAAG,mEAAmE,CAAC,CAAC;YACxG,OAAO;QACT,CAAC;QACD,yFAAyF;QACzF,iFAAiF;QACjF,8FAA8F;QAC9F,EAAE;QACF,yFAAyF;QACzF,+FAA+F;QAC/F,0FAA0F;QAC1F,0FAA0F;QAC1F,2BAA2B;QAC3B,IAAI,mBAAmB,GAA+B,IAAI,CAAC;QAC3D,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,KAAK,CAC1F,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC;gBACjB,OAAO,EAAE,IAAI;gBACb,MAAM,EACJ,kDAAkD;oBAClD,IAAI,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK;oBACzD,wCAAwC;aAC3C,CAAC,CACH,CAAC;YACF,mBAAmB,GAAG,QAAQ,CAAC,OAAO,CAAC;YACvC,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,OAAO;aACX,SAAS,CAAC;YACT,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC5D,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,gFAAgF;YAChF,uFAAuF;YACvF,yDAAyD;YACzD,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,6EAA6E;YAC7E,8EAA8E;YAC9E,4EAA4E;YAC5E,GAAG,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,uFAAuF;YACvF,oFAAoF;YACpF,mFAAmF;YACnF,qFAAqF;YACrF,oFAAoF;YACpF,0CAA0C;YAC1C,eAAe,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;YAC/B,uFAAuF;YACvF,oFAAoF;YACpF,+EAA+E;YAC/E,4EAA4E;YAC5E,mBAAmB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;SACrC,CAAC;aACD,IAAI,CAAC,GAAG,EAAE;YACT,wFAAwF;YACxF,qFAAqF;YACrF,oEAAoE;YACpE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACtC,IAAI,MAAM,EAAE,CAAC;gBACX,sFAAsF;gBACtF,qFAAqF;gBACrF,kEAAkE;gBAClE,OAAO;YACT,CAAC;YACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;gBAAE,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC7E,sFAAsF;YACtF,MAAM,MAAM,GAAa,WAAW,IAAI;gBACtC,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,YAAY;gBACZ,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,SAAS,EAAE,EAAE;aACd,CAAC;YACF,MAAM,CAAC,SAAS;gBACd,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,6CAA6C,CAAC;YACpH,MAAM,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;gBAClC,+EAA+E;gBAC/E,gDAAgD;gBAChD,UAAU,CAAC;oBACT,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;oBAChD,KAAK,EAAE,SAAS;oBAChB,OAAO,EAAE,MAAM,CAAC,SAAS;iBAC1B,CAAC,CAAC;YACL,CAAC,EAAE,WAAW,CAAC,CAAC;YAChB,oDAAoD;YACpD,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;YAC3B,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC5B,GAAG,CAAC,sBAAsB,KAAK,CAAC,GAAG,mBAAmB,KAAK,KAAK,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;QACzG,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,iFAAiF;YACjF,wCAAwC;YACxC,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,eAAe,CAAC,YAAY,CAAC,CAAC;YAC9B,kFAAkF;YAClF,0EAA0E;YAC1E,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,UAAU,CAAC;gBACT,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC;gBAC9C,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,6CAA6C,MAAM,GAAG;aAChE,CAAC,CAAC;YACH,qFAAqF;YACrF,mFAAmF;YACnF,mFAAmF;YACnF,gCAAgC;YAChC,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,UAAU,gBAAgB,CAAC,KAAe;QAC7C,MAAM,GAAG,GAAG,mBAAmB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO;QAEzB,qFAAqF;QACrF,wFAAwF;QACxF,+CAA+C;QAC/C,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,GAAG,CACD,0BAA0B,GAAG,CAAC,UAAU,0BAA0B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK,oBAAoB,CACxH,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,OAAO;QAEpC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAE3B,6FAA6F;QAC7F,8FAA8F;QAC9F,6FAA6F;QAC7F,wEAAwE;QACxE,MAAM,WAAW,GAAa;YAC5B,GAAG,EAAE,GAAG,CAAC,UAAU;YACnB,GAAG,EAAE,MAAM;YACX,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,OAAO,EAAE,SAAS;YAClB,OAAO;YACP,YAAY,EAAE,EAAE;YAChB,eAAe,EAAE,6BAA6B,CAAC,MAAM,CAAC,MAAM;YAC5D,SAAS,EAAE,0CAA0C;SACtD,CAAC;QACF,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACjC,IAAI,CAAC;YACH,2FAA2F;YAC3F,MAAM,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEvC,UAAU,CAAC;YACT,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC;YAC1C,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,+FAA+F;SACzG,CAAC,CAAC;QAEH,2FAA2F;QAC3F,8FAA8F;QAC9F,+FAA+F;QAC/F,6FAA6F;QAC7F,0EAA0E;QAC1E,MAAM,QAAQ,GAA8B,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC,8CAA8C;QAC7F,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,OAAO,CAAC;YACZ,IAAI,QAAQ,CAAC;YACb,IAAI,CAAC;gBACH,OAAO;oBACL,cAAc,KAAK,SAAS;wBAC1B,CAAC,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,yBAAyB,CAAC;wBACxH,CAAC,CAAC,SAAS,CAAC;gBAChB,QAAQ,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YACrG,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjB,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,WAAW,GAAoB,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;YAChC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACjE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1B,GAAG,CAAC,sBAAsB,GAAG,CAAC,UAAU,mBAAmB,IAAI,8CAA8C,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC7H,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACnC,SAAS;gBACX,CAAC;gBACD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,oDAAoD;gBAC7E,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;gBACnG,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;oBACZ,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;oBACtD,SAAS;gBACX,CAAC;gBACD,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,oDAAoD;gBACxG,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;oBACnC,6FAA6F;oBAC7F,0FAA0F;oBAC1F,2FAA2F;oBAC3F,qFAAqF;oBACrF,2FAA2F;oBAC3F,wFAAwF;oBACxF,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjB,eAAe,CAAC,YAAY,CAAC,CAAC;oBAC9B,MAAM,OAAO,GACX,oEAAoE,OAAO,iBAAiB;wBAC5F,6BAA6B,IAAI,CAAC,QAAQ,qDAAqD;wBAC/F,gGAAgG;wBAChG,qBAAqB,CAAC;oBACxB,UAAU,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;oBACpF,GAAG,CAAC,sBAAsB,GAAG,CAAC,UAAU,gCAAgC,OAAO,kBAAkB,IAAI,CAAC,QAAQ,iBAAiB,CAAC,CAAC;oBACjI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC3B,CAAC;gBACD,wFAAwF;gBACxF,gDAAgD;gBAChD,GAAG,CAAC,sBAAsB,GAAG,CAAC,UAAU,UAAU,IAAI,CAAC,QAAQ,8BAA8B,IAAI,CAAC,MAAM,uBAAuB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/I,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACrC,CAAC;YACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YAC/D,IAAI,IAAI,KAAK,IAAI;gBAAE,UAAU,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACjH,CAAC;QAED,MAAM,YAAY,CAAC;YACjB,GAAG,EAAE,GAAG,CAAC,UAAU;YACnB,GAAG,EAAE,MAAM;YACX,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,QAAQ,EAAE,yBAAyB;YACnC,MAAM;YACN,OAAO;YACP,eAAe,EAAE,6BAA6B,CAAC,MAAM,CAAC,MAAM;YAC5D,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,uBAAuB,CAAC,KAAe;QACpD,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACzE,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO;QAE7B,wFAAwF;QACxF,kFAAkF;QAClF,0FAA0F;QAC1F,0FAA0F;QAC1F,iFAAiF;QACjF,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO;QAElD,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,GAAG,CACD,8BAA8B,GAAG,0BAA0B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,oBAAoB,CACtG,CAAC;YACF,OAAO;QACT,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG;gBAAE,OAAO;QAC5B,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,qFAAqF;YACrF,sFAAsF;YACtF,kFAAkF;YAClF,uFAAuF;YACvF,MAAM,OAAO,GACX,+EAA+E;gBAC/E,qDAAqD,CAAC;YACxD,UAAU,CAAC,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5F,GAAG,CAAC,8BAA8B,GAAG,sBAAsB,OAAO,CAAC,UAAU,0BAA0B,CAAC,CAAC;YACzG,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QAED,wFAAwF;QACxF,sFAAsF;QACtF,sFAAsF;QACtF,yFAAyF;QACzF,mCAAmC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,MAAM,OAAO,GACX,oBAAoB,cAAc,oDAAoD;gBACtF,4CAA4C,CAAC;YAC/C,UAAU,CAAC,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5F,GAAG,CAAC,8BAA8B,GAAG,gBAAgB,OAAO,kBAAkB,CAAC,CAAC;YAChF,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAC3B,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE;YAClB,GAAG;YACH,GAAG,EAAE,UAAU;YACf,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO;YACP,YAAY,EAAE,EAAE;YAChB,eAAe,EAAE,sCAAsC,CAAC,MAAM,CAAC,MAAM;YACrE,SAAS,EAAE,6CAA6C;SACzD,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QACzD,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACvC,0FAA0F;QAC1F,0FAA0F;QAC1F,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACnD,aAAa,CACX,YAAY,EACZ,IAAI,CAAC,SAAS,CACZ,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EACnF,IAAI,EACJ,CAAC,CACF,EACD,MAAM,CACP,CAAC;QAEF,UAAU,CAAC;YACT,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC;YAClD,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,+EAA+E,OAAO,CAAC,KAAK,CAAC,MAAM,UAAU,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI;SAChK,CAAC,CAAC;QAEH,MAAM,YAAY,CAAC;YACjB,GAAG;YACH,GAAG,EAAE,UAAU;YACf,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,mBAAmB,CAAC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,CAAC;YAC7E,QAAQ,EAAE,kCAAkC;YAC5C,MAAM;YACN,OAAO;YACP,eAAe,EAAE,sCAAsC,CAAC,MAAM,CAAC,MAAM;YACrE,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC;QAC/B,EAAE;QACF,MAAM,EAAE,2BAA2B;QACnC,MAAM,EAAE,2BAA2B;QACnC,uFAAuF;QACvF,yFAAyF;QACzF,WAAW,EAAE,QAAQ;QACrB,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI;QAC3C,wFAAwF;QACxF,mFAAmF;QACnF,UAAU,EAAE,CAAC;QACb,OAAO,EAAE,CAAC,KAAe,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC;QACrD,OAAO,EAAE,CAAC,GAAU,EAAE,KAAgB,EAAE,EAAE;YACxC,GAAG,CACD,6CAA6C,MAAM,CAAC,KAAK,EAAE,QAAQ,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CAC9F,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC;QAChC,EAAE;QACF,MAAM,EAAE,oCAAoC;QAC5C,MAAM,EAAE,oCAAoC;QAC5C,WAAW,EAAE,QAAQ;QACrB,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI;QAC3C,UAAU,EAAE,CAAC;QACb,OAAO,EAAE,CAAC,KAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC;QAC5D,OAAO,EAAE,CAAC,GAAU,EAAE,KAAgB,EAAE,EAAE;YACxC,GAAG,CACD,sDAAsD,MAAM,CAAC,KAAK,EAAE,QAAQ,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CACvG,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,OAAO;QACL,MAAM;QACN,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACjF,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,MAAM,GAAG,IAAI,CAAC,CAAC,sDAAsD;YACrE,aAAa,EAAE,CAAC;YAChB,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,MAAM,KAAK,SAAS;oBAAE,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;YACxB,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC;KACF,CAAC;AACJ,CAAC"}