oc2token 0.1.4 → 0.1.6

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 (45) hide show
  1. package/README.md +15 -15
  2. package/dist/src/application.js +91 -7
  3. package/dist/src/application.js.map +1 -1
  4. package/dist/src/cache/schema.js +8 -2
  5. package/dist/src/cache/schema.js.map +1 -1
  6. package/dist/src/cli.d.ts +2 -0
  7. package/dist/src/cli.js +218 -39
  8. package/dist/src/cli.js.map +1 -1
  9. package/dist/src/dashboard/render/ansi.d.ts +11 -0
  10. package/dist/src/dashboard/render/ansi.js +19 -0
  11. package/dist/src/dashboard/render/ansi.js.map +1 -1
  12. package/dist/src/dashboard/render/dashboard.d.ts +17 -0
  13. package/dist/src/dashboard/render/dashboard.js +268 -156
  14. package/dist/src/dashboard/render/dashboard.js.map +1 -1
  15. package/dist/src/dashboard/render/format.js +3 -3
  16. package/dist/src/dashboard/render/format.js.map +1 -1
  17. package/dist/src/dashboard/render/types.d.ts +4 -0
  18. package/dist/src/dashboard/render/types.js +12 -10
  19. package/dist/src/dashboard/render/types.js.map +1 -1
  20. package/dist/src/dashboard/settings/index.d.ts +4 -0
  21. package/dist/src/dashboard/settings/index.js +15 -2
  22. package/dist/src/dashboard/settings/index.js.map +1 -1
  23. package/dist/src/domain/contracts.d.ts +2 -0
  24. package/dist/src/domain/contracts.js.map +1 -1
  25. package/dist/src/domain/windows.d.ts +11 -5
  26. package/dist/src/domain/windows.js +24 -7
  27. package/dist/src/domain/windows.js.map +1 -1
  28. package/dist/src/opencode/client.d.ts +1 -0
  29. package/dist/src/opencode/client.js +49 -4
  30. package/dist/src/opencode/client.js.map +1 -1
  31. package/dist/src/opencode/index.d.ts +1 -0
  32. package/dist/src/opencode/index.js +1 -0
  33. package/dist/src/opencode/index.js.map +1 -1
  34. package/dist/src/opencode/native.d.ts +24 -0
  35. package/dist/src/opencode/native.js +215 -0
  36. package/dist/src/opencode/native.js.map +1 -0
  37. package/dist/src/opencode/stats.js +52 -7
  38. package/dist/src/opencode/stats.js.map +1 -1
  39. package/dist/src/opencode/transport.js +4 -1
  40. package/dist/src/opencode/transport.js.map +1 -1
  41. package/dist/src/output/json.d.ts +1 -1
  42. package/dist/src/output/json.js +1 -1
  43. package/dist/src/output/table.js +31 -15
  44. package/dist/src/output/table.js.map +1 -1
  45. package/package.json +1 -1
package/dist/src/cli.js CHANGED
@@ -2,7 +2,8 @@
2
2
  import process from "node:process";
3
3
  import { basename } from "node:path";
4
4
  import { createRequire } from "node:module";
5
- import { ANSI, createStableRedraw, getCardHitRegions, renderDashboard, renderJSON, renderTable, } from "./output/index.js";
5
+ import { spawn } from "node:child_process";
6
+ import { ANSI, createStableRedraw, footerClickAction, footerTokenAtX, getCardHitRegions, GITHUB_URL, REFRESH_PRESETS, renderDashboard, renderJSON, renderTable, stripAnsi, } from "./output/index.js";
6
7
  import { createApplicationSource, emptyCollectionResult, newCollectionRequest, readCachedSnapshot, } from "./application.js";
7
8
  import { RefreshCoordinator } from "./dashboard/state/index.js";
8
9
  import { createUsageWindows, isProviderKind, } from "./domain/index.js";
@@ -10,6 +11,19 @@ import { runOpenCodeDoctor } from "./opencode/index.js";
10
11
  import { runCodexDoctor } from "./codex/doctor.js";
11
12
  import { runAntigravityDoctor } from "./antigravity/doctor.js";
12
13
  import { ALL_PROVIDER_KINDS, SETTINGS_DEFAULT_REFRESH_SECONDS, SETTINGS_MAX_REFRESH_SECONDS, SETTINGS_MIN_REFRESH_SECONDS, adjustRefreshIntervalByPreset, clampRefreshIntervalSeconds, loadDashboardSettings, saveDashboardSettings, } from "./dashboard/settings/index.js";
14
+ /** Launch a URL without blocking or inheriting the TUI's terminal streams. */
15
+ export function openGithubPage() {
16
+ const command = process.platform === "darwin" ? "open" : process.platform === "win32" ? "cmd" : "xdg-open";
17
+ const args = process.platform === "win32" ? ["/c", "start", "", GITHUB_URL] : [GITHUB_URL];
18
+ try {
19
+ const child = spawn(command, args, { detached: true, stdio: "ignore" });
20
+ child.once("error", () => undefined);
21
+ child.unref();
22
+ }
23
+ catch {
24
+ // Opening a browser is best-effort; never take down the dashboard.
25
+ }
26
+ }
13
27
  /**
14
28
  * CLI version is read from package.json (not hardcoded) so `--version` and
15
29
  * `--help` cannot drift. Falls back to "0.1.4" when the manifest is
@@ -47,7 +61,7 @@ function usage() {
47
61
  return `oc2token ${VERSION}
48
62
 
49
63
  Usage:
50
- oc2token [hour|day|week]
64
+ oc2token [hour|day|week|month]
51
65
  oc2token [options]
52
66
  oc2token doctor [--source <provider>] [--json]
53
67
 
@@ -66,7 +80,7 @@ Options:
66
80
  -h, --help Show this help
67
81
  -v, --version Show the version
68
82
 
69
- Dashboard keys: r refresh, 1/2/3 / click top card to select period, p projects, s settings, ? help, q quit.
83
+ Dashboard keys: r refresh, 1/2/3/4 to select period, p projects, s settings, ? help, q quit. Mouse: click cards, footer actions, and settings rows.
70
84
  `;
71
85
  }
72
86
  function failUsage(message) {
@@ -157,7 +171,7 @@ function parseArgs(args) {
157
171
  command = "doctor";
158
172
  continue;
159
173
  }
160
- if (arg === "hour" || arg === "day" || arg === "week") {
174
+ if (arg === "hour" || arg === "day" || arg === "week" || arg === "month") {
161
175
  if (periodSeen)
162
176
  failUsage("Only one period can be selected");
163
177
  period = arg;
@@ -387,11 +401,16 @@ async function runDashboard(options, io) {
387
401
  let help = false;
388
402
  let projectsVisible = false;
389
403
  let running = true;
404
+ // ANSI-stripped lines of the last drawn frame for mouse hit-testing.
405
+ // The cursor-home redraw paints frame line N on terminal row N (1-based).
406
+ let frameLines = [];
390
407
  // Settings UI state
391
408
  const settingsState = {
392
409
  visible: false,
393
410
  enabledProviders: new Set(initialSettingsEnabled),
394
411
  refreshIntervalSeconds: initialSettingsInterval,
412
+ showProvidersTable: persisted?.showProvidersTable !== false,
413
+ showProjectsTable: persisted?.showProjectsTable !== false,
395
414
  focusedIndex: 0,
396
415
  };
397
416
  let appliedEnabled = new Set(settingsState.enabledProviders);
@@ -400,6 +419,8 @@ async function runDashboard(options, io) {
400
419
  void saveDashboardSettings({
401
420
  enabledProviders: [...settingsState.enabledProviders],
402
421
  refreshIntervalSeconds: clampRefreshIntervalSeconds(settingsState.refreshIntervalSeconds),
422
+ showProvidersTable: settingsState.showProvidersTable,
423
+ showProjectsTable: settingsState.showProjectsTable,
403
424
  }, options.cacheDirectory);
404
425
  };
405
426
  const applySettings = () => {
@@ -455,18 +476,19 @@ async function runDashboard(options, io) {
455
476
  now: clock.wallNow(),
456
477
  selectedWindow: state.period,
457
478
  help,
458
- ...(settingsState.visible
459
- ? {
460
- settings: {
461
- visible: true,
462
- enabledProviders: [...settingsState.enabledProviders].sort(),
463
- refreshIntervalSeconds: settingsState.refreshIntervalSeconds,
464
- focusedIndex: settingsState.focusedIndex,
465
- },
466
- }
467
- : {}),
479
+ // Always pass table visibility so hidden tables stay hidden when the
480
+ // panel is closed; the panel itself only renders when visible.
481
+ settings: {
482
+ visible: settingsState.visible,
483
+ enabledProviders: [...settingsState.enabledProviders].sort(),
484
+ refreshIntervalSeconds: settingsState.refreshIntervalSeconds,
485
+ showProvidersTable: settingsState.showProvidersTable,
486
+ showProjectsTable: settingsState.showProjectsTable,
487
+ focusedIndex: settingsState.focusedIndex,
488
+ },
468
489
  ...(projectsVisible ? { projects: { visible: true } } : {}),
469
490
  });
491
+ frameLines = frame.split("\n").map((line) => stripAnsi(line));
470
492
  io.stdout.write(redraw.render(frame, { isTTY: true, ansi: true, color: options.color }));
471
493
  };
472
494
  const stop = async () => {
@@ -529,12 +551,159 @@ async function runDashboard(options, io) {
529
551
  escapeFlushTimer.unref();
530
552
  }
531
553
  };
554
+ /**
555
+ * Mouse click dispatch (SGR button-0 press at 1-based cx/cy). Mirrors the
556
+ * keyboard actions: footer tokens act like their keys, settings rows toggle
557
+ * providers / scrub the refresh slider, and top cards select the period.
558
+ */
559
+ const handleClick = (cx, cy) => {
560
+ // Settings panel rows capture their own clicks while open.
561
+ if (settingsState.visible) {
562
+ const line = frameLines[cy - 1];
563
+ if (line !== undefined) {
564
+ const hasBox = line.includes("◉") || line.includes("○");
565
+ if (hasBox && line.includes("Providers table")) {
566
+ settingsState.focusedIndex = 3;
567
+ settingsState.showProvidersTable = !settingsState.showProvidersTable;
568
+ persistCurrentSettings();
569
+ draw();
570
+ return;
571
+ }
572
+ if (hasBox && line.includes("Projects table")) {
573
+ settingsState.focusedIndex = 4;
574
+ settingsState.showProjectsTable = !settingsState.showProjectsTable;
575
+ persistCurrentSettings();
576
+ draw();
577
+ return;
578
+ }
579
+ const providers = [...ALL_KINDS];
580
+ const row = providers.findIndex((name) => (line.includes("◉") || line.includes("○")) && line.includes(name));
581
+ if (row !== -1) {
582
+ settingsState.focusedIndex = row;
583
+ const prov = providers[row];
584
+ if (settingsState.enabledProviders.has(prov)) {
585
+ if (settingsState.enabledProviders.size > 1) {
586
+ settingsState.enabledProviders.delete(prov);
587
+ applySettings();
588
+ draw();
589
+ }
590
+ }
591
+ else {
592
+ settingsState.enabledProviders.add(prov);
593
+ applySettings();
594
+ draw();
595
+ }
596
+ return;
597
+ }
598
+ const lo = line.indexOf("1m");
599
+ const hi = line.indexOf("4h");
600
+ if (lo !== -1 && hi > lo) {
601
+ const frac = Math.min(1, Math.max(0, (cx - 1 - lo) / (hi + 2 - lo)));
602
+ const preset = REFRESH_PRESETS[Math.round(frac * (REFRESH_PRESETS.length - 1))];
603
+ if (preset !== settingsState.refreshIntervalSeconds) {
604
+ settingsState.refreshIntervalSeconds = preset;
605
+ settingsState.focusedIndex = 5;
606
+ applySettings();
607
+ draw();
608
+ }
609
+ return;
610
+ }
611
+ }
612
+ }
613
+ // Mouse reporting is enabled for the whole TUI, so the terminal cannot
614
+ // always handle OSC-8 hyperlinks itself. Open the credit target directly
615
+ // when its line receives a left click.
616
+ const clickedLine = frameLines[cy - 1];
617
+ if (clickedLine !== undefined && (clickedLine.includes(GITHUB_URL) || clickedLine.includes("Kaan Yaren"))) {
618
+ openGithubPage();
619
+ return;
620
+ }
621
+ // Footer tokens (below the Status line, skipping panels and credit).
622
+ const statusIdx = frameLines.findIndex((line) => line.includes("Status:"));
623
+ const footerLine = cy - 1 > statusIdx && statusIdx !== -1 ? frameLines[cy - 1] : undefined;
624
+ if (footerLine !== undefined &&
625
+ footerLine.trim().length > 0 &&
626
+ !footerLine.includes("╭") && !footerLine.includes("╮") &&
627
+ !footerLine.includes("╰") && !footerLine.includes("│") &&
628
+ !footerLine.includes("Kaan Yaren")) {
629
+ const token = footerTokenAtX(footerLine, cx);
630
+ const action = footerClickAction(token ?? "");
631
+ if (action === "refresh") {
632
+ void coordinator.manualRefresh();
633
+ return;
634
+ }
635
+ if (action === "hour" || action === "day" || action === "week" || action === "month") {
636
+ coordinator.setPeriod(action);
637
+ draw();
638
+ return;
639
+ }
640
+ if (action === "projects") {
641
+ if (projectsVisible)
642
+ projectsVisible = false;
643
+ else {
644
+ projectsVisible = true;
645
+ help = false;
646
+ settingsState.visible = false;
647
+ }
648
+ draw();
649
+ return;
650
+ }
651
+ if (action === "settings") {
652
+ if (settingsState.visible)
653
+ settingsState.visible = false;
654
+ else {
655
+ settingsState.visible = true;
656
+ help = false;
657
+ projectsVisible = false;
658
+ }
659
+ draw();
660
+ return;
661
+ }
662
+ if (action === "quit") {
663
+ if (settingsState.visible) {
664
+ settingsState.visible = false;
665
+ draw();
666
+ }
667
+ else if (projectsVisible) {
668
+ projectsVisible = false;
669
+ draw();
670
+ }
671
+ else {
672
+ void stop();
673
+ }
674
+ return;
675
+ }
676
+ if (action === "help") {
677
+ if (!settingsState.visible) {
678
+ if (projectsVisible)
679
+ projectsVisible = false;
680
+ help = !help;
681
+ draw();
682
+ }
683
+ return;
684
+ }
685
+ if (token !== undefined)
686
+ return; // decorative footer token (Periods, Navigate, …)
687
+ }
688
+ // Top cards select the period (panels capture their own clicks above).
689
+ if (!settingsState.visible && !projectsVisible) {
690
+ const w = Math.max(20, io.stdout.columns || 100);
691
+ const regions = getCardHitRegions(w);
692
+ for (const r of regions) {
693
+ if (cx >= r.x1 && cx <= r.x2 && cy >= r.y1 && cy <= r.y2) {
694
+ coordinator.setPeriod(r.kind);
695
+ draw();
696
+ break;
697
+ }
698
+ }
699
+ }
700
+ };
532
701
  const onInput = (chunk) => {
533
702
  clearEscapeFlush();
534
703
  inputBuffer += chunk.toString();
535
704
  const value = inputBuffer;
536
705
  inputBuffer = "";
537
- const periods = ["hour", "day", "week"];
706
+ const periods = ["hour", "day", "week", "month"];
538
707
  const nextPeriod = () => {
539
708
  const current = coordinator.getState().period;
540
709
  const idx = periods.indexOf(current);
@@ -581,17 +750,7 @@ async function runDashboard(options, io) {
581
750
  const cx = Number(parts[1]);
582
751
  const cy = Number(parts[2]);
583
752
  if (Number.isFinite(cb) && Number.isFinite(cx) && Number.isFinite(cy) && cb === 0) {
584
- if (!settingsState.visible && !projectsVisible) {
585
- const w = Math.max(20, io.stdout.columns || 100);
586
- const regions = getCardHitRegions(w);
587
- for (const r of regions) {
588
- if (cx >= r.x1 && cx <= r.x2 && cy >= r.y1 && cy <= r.y2) {
589
- coordinator.setPeriod(r.kind);
590
- draw();
591
- break;
592
- }
593
- }
594
- }
753
+ handleClick(cx, cy);
595
754
  }
596
755
  }
597
756
  i = end + 1;
@@ -600,7 +759,7 @@ async function runDashboard(options, io) {
600
759
  if (value.startsWith("\u001b[", i)) {
601
760
  if (value.startsWith("\u001b[Z", i)) {
602
761
  if (settingsState.visible) {
603
- settingsState.focusedIndex = (settingsState.focusedIndex - 1 + 4) % 4;
762
+ settingsState.focusedIndex = (settingsState.focusedIndex - 1 + 6) % 6;
604
763
  draw();
605
764
  }
606
765
  else {
@@ -620,19 +779,19 @@ async function runDashboard(options, io) {
620
779
  const code = value[i + 2];
621
780
  if (settingsState.visible) {
622
781
  if (code === "A") {
623
- settingsState.focusedIndex = (settingsState.focusedIndex - 1 + 4) % 4;
782
+ settingsState.focusedIndex = (settingsState.focusedIndex - 1 + 6) % 6;
624
783
  draw();
625
784
  i += 3;
626
785
  continue;
627
786
  }
628
787
  if (code === "B") {
629
- settingsState.focusedIndex = (settingsState.focusedIndex + 1) % 4;
788
+ settingsState.focusedIndex = (settingsState.focusedIndex + 1) % 6;
630
789
  draw();
631
790
  i += 3;
632
791
  continue;
633
792
  }
634
793
  if (code === "C") {
635
- if (settingsState.focusedIndex === 3) {
794
+ if (settingsState.focusedIndex === 5) {
636
795
  const next = adjustRefreshIntervalByPreset(settingsState.refreshIntervalSeconds, 1);
637
796
  if (next !== settingsState.refreshIntervalSeconds) {
638
797
  settingsState.refreshIntervalSeconds = next;
@@ -644,7 +803,7 @@ async function runDashboard(options, io) {
644
803
  continue;
645
804
  }
646
805
  if (code === "D") {
647
- if (settingsState.focusedIndex === 3) {
806
+ if (settingsState.focusedIndex === 5) {
648
807
  const next = adjustRefreshIntervalByPreset(settingsState.refreshIntervalSeconds, -1);
649
808
  if (next !== settingsState.refreshIntervalSeconds) {
650
809
  settingsState.refreshIntervalSeconds = next;
@@ -711,7 +870,7 @@ async function runDashboard(options, io) {
711
870
  continue;
712
871
  }
713
872
  if (key === "1" || key === "2" || key === "3") {
714
- coordinator.setPeriod(key === "1" ? "hour" : key === "2" ? "day" : "week");
873
+ coordinator.setPeriod(key === "1" ? "hour" : key === "2" ? "day" : key === "3" ? "week" : "month");
715
874
  draw();
716
875
  i += 1;
717
876
  continue;
@@ -776,11 +935,21 @@ async function runDashboard(options, io) {
776
935
  draw();
777
936
  }
778
937
  }
938
+ else if (settingsState.focusedIndex === 3) {
939
+ settingsState.showProvidersTable = !settingsState.showProvidersTable;
940
+ persistCurrentSettings();
941
+ draw();
942
+ }
943
+ else if (settingsState.focusedIndex === 4) {
944
+ settingsState.showProjectsTable = !settingsState.showProjectsTable;
945
+ persistCurrentSettings();
946
+ draw();
947
+ }
779
948
  i += 1;
780
949
  continue;
781
950
  }
782
951
  if (key === "\t" || key === "\u0009") {
783
- settingsState.focusedIndex = (settingsState.focusedIndex + 1) % 4;
952
+ settingsState.focusedIndex = (settingsState.focusedIndex + 1) % 6;
784
953
  draw();
785
954
  i += 1;
786
955
  continue;
@@ -790,7 +959,7 @@ async function runDashboard(options, io) {
790
959
  continue;
791
960
  }
792
961
  if (key === "h" || key === "H") {
793
- if (settingsState.focusedIndex === 3) {
962
+ if (settingsState.focusedIndex === 5) {
794
963
  const next = adjustRefreshIntervalByPreset(settingsState.refreshIntervalSeconds, -1);
795
964
  if (next !== settingsState.refreshIntervalSeconds) {
796
965
  settingsState.refreshIntervalSeconds = next;
@@ -802,7 +971,7 @@ async function runDashboard(options, io) {
802
971
  continue;
803
972
  }
804
973
  if (key === "l" || key === "L") {
805
- if (settingsState.focusedIndex === 3) {
974
+ if (settingsState.focusedIndex === 5) {
806
975
  const next = adjustRefreshIntervalByPreset(settingsState.refreshIntervalSeconds, 1);
807
976
  if (next !== settingsState.refreshIntervalSeconds) {
808
977
  settingsState.refreshIntervalSeconds = next;
@@ -814,7 +983,7 @@ async function runDashboard(options, io) {
814
983
  continue;
815
984
  }
816
985
  if (key === "+" || key === "=") {
817
- if (settingsState.focusedIndex === 3) {
986
+ if (settingsState.focusedIndex === 5) {
818
987
  const next = adjustRefreshIntervalByPreset(settingsState.refreshIntervalSeconds, 1);
819
988
  if (next !== settingsState.refreshIntervalSeconds) {
820
989
  settingsState.refreshIntervalSeconds = next;
@@ -826,7 +995,7 @@ async function runDashboard(options, io) {
826
995
  continue;
827
996
  }
828
997
  if (key === "-" || key === "_") {
829
- if (settingsState.focusedIndex === 3) {
998
+ if (settingsState.focusedIndex === 5) {
830
999
  const next = adjustRefreshIntervalByPreset(settingsState.refreshIntervalSeconds, -1);
831
1000
  if (next !== settingsState.refreshIntervalSeconds) {
832
1001
  settingsState.refreshIntervalSeconds = next;
@@ -853,6 +1022,16 @@ async function runDashboard(options, io) {
853
1022
  draw();
854
1023
  }
855
1024
  }
1025
+ else if (settingsState.focusedIndex === 3) {
1026
+ settingsState.showProvidersTable = !settingsState.showProvidersTable;
1027
+ persistCurrentSettings();
1028
+ draw();
1029
+ }
1030
+ else if (settingsState.focusedIndex === 4) {
1031
+ settingsState.showProjectsTable = !settingsState.showProjectsTable;
1032
+ persistCurrentSettings();
1033
+ draw();
1034
+ }
856
1035
  i += 1;
857
1036
  continue;
858
1037
  }
@@ -886,8 +1065,8 @@ async function runDashboard(options, io) {
886
1065
  i += 1;
887
1066
  continue;
888
1067
  }
889
- if (key === "1" || key === "2" || key === "3") {
890
- coordinator.setPeriod(key === "1" ? "hour" : key === "2" ? "day" : "week");
1068
+ if (key === "1" || key === "2" || key === "3" || key === "4") {
1069
+ coordinator.setPeriod(key === "1" ? "hour" : key === "2" ? "day" : key === "3" ? "week" : "month");
891
1070
  }
892
1071
  if (key === "p" || key === "P") {
893
1072
  projectsVisible = true;
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EACL,IAAI,EACJ,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,eAAe,EACf,UAAU,EACV,WAAW,EACX,SAAS,GAEV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,GAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EACL,kBAAkB,EAClB,cAAc,GAGf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,gCAAgC,EAChC,4BAA4B,EAC5B,4BAA4B,EAC5B,6BAA6B,EAC7B,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,GAEtB,MAAM,+BAA+B,CAAC;AAEvC,8EAA8E;AAC9E,MAAM,UAAU,cAAc;IAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;IAC3G,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3F,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACrC,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;IACrE,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB;IACxB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,KAAK,MAAM,SAAS,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAA0B,CAAC;gBACxD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,GAAG,CAAC,OAAO,CAAC;YACpF,CAAC;YAAC,MAAM,CAAC;gBACP,iCAAiC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;IACtE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;AACpC;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,CAAU,CAAC;AACxC,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,IAAI,KAAK,CAAC;AAwBnF,SAAS,KAAK;IACZ,OAAO,YAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;CAuB3B,CAAC;AACF,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAChC,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,OAAO,KAAK,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/E,SAAS,CAAC,4DAA4D,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,SAAS,CAAC,IAAuB;IACxC,IAAI,MAAM,GAAoB,KAAK,CAAC;IACpC,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,MAAM,GAAyB,MAAM,CAAC;IAC1C,IAAI,sBAAsB,GAAG,GAAG,CAAC;IACjC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,QAAQ,GAAG,gBAAgB,CAAC;IAChC,IAAI,OAA2B,CAAC;IAChC,IAAI,cAAkC,CAAC;IACvC,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,OAA8B,CAAC;IACnC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,eAAe,GAAG,IAAI,GAAG,EAAgB,CAAC;IAEhD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;QACpD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,WAAW;YAAE,OAAO,SAAS,CAAC;QAC1D,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAAC,IAAI,GAAG,IAAI,CAAC;YAAC,SAAS;QAAC,CAAC;QAChD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAAC,IAAI,GAAG,IAAI,CAAC;YAAC,IAAI,GAAG,IAAI,CAAC;YAAC,MAAM,GAAG,MAAM,CAAC;YAAC,SAAS;QAAC,CAAC;QAC9E,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YAAC,KAAK,GAAG,KAAK,CAAC;YAAC,SAAS;QAAC,CAAC;QACtD,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACvB,cAAc,GAAG,IAAI,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,SAAS,CAAC,2BAA2B,CAAC,CAAC;YAC1F,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;gBACpB,eAAe,CAAC,KAAK,EAAE,CAAC;gBACxB,SAAS;YACX,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,SAAS,CAAC,mBAAmB,KAAK,kDAAkD,CAAC,CAAC;YACxF,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,KAAqB,CAAC,CAAC;YAC3C,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACtH,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,SAAS,CAAC,GAAG,GAAG,mBAAmB,CAAC,CAAC;YACxF,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;gBAAC,sBAAsB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBAAC,eAAe,GAAG,IAAI,CAAC;YAAC,CAAC;iBAC7F,IAAI,GAAG,KAAK,YAAY;gBAAE,QAAQ,GAAG,KAAK,CAAC;iBAC3C,IAAI,GAAG,KAAK,WAAW;gBAAE,OAAO,GAAG,KAAK,CAAC;iBACzC,IAAI,GAAG,KAAK,aAAa;gBAAE,cAAc,GAAG,KAAK,CAAC;iBAClD,CAAC;gBACJ,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;oBACvF,SAAS,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;gBAC/C,CAAC;gBACD,MAAM,GAAG,KAAK,CAAC;YACjB,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,IAAI,OAAO,KAAK,SAAS;gBAAE,SAAS,CAAC,kCAAkC,CAAC,CAAC;YACzE,OAAO,GAAG,QAAQ,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACzE,IAAI,UAAU;gBAAE,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC7D,MAAM,GAAG,GAAG,CAAC;YACb,UAAU,GAAG,IAAI,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAC7D,SAAS,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,UAAU,IAAI,MAAM,KAAK,WAAW;YAAE,SAAS,CAAC,6DAA6D,CAAC,CAAC;QACnH,IAAI,GAAG,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,KAAK,MAAM;QAAE,IAAI,GAAG,IAAI,CAAC;IACnC,IAAI,eAAe,IAAI,sBAAsB,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,4BAA4B,IAAI,sBAAsB,GAAG,4BAA4B,CAAC,EAAE,CAAC;QACxK,SAAS,CAAC,2CAA2C,4BAA4B,QAAQ,4BAA4B,gCAAgC,CAAC,CAAC;IACzJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,sBAAsB,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;AACrK,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;AAC/F,CAAC;AAED,SAAS,cAAc,CACrB,KAAiD,EACjD,QAAkD,EAClD,OAAa,EACb,YAAoB;IAEpB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,gBAAgB,IAAI,QAAQ,CAAC;IACpE,MAAM,cAAc,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC9D,cAAc,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK,CAAC,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;YAC7F,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,KAAK,SAAS;QACrD,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC;IACrE,OAAO;QACL,GAAG,MAAM;QACT,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU;QACnD,aAAa;QACb,QAAQ,EAAE,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAS,EAAE,KAAc,EAAE,IAAa;IAC1D,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,IAAI,IAAI,EAAE,CAAC;QACT,uEAAuE;QACvE,wEAAwE;QACxE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC7H,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,OAAO,IAAI,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,SAAS,SAAS,CAAC,EAAS,EAAE,OAAe,EAAE,KAAc;IAC3D,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI;QAAE,OAAO;IACzG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC9G,CAAC;AAED,SAAS,aAAa,CAAC,IAAuB;IAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;AAC3G,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,OAAmB,EAAE,EAAS;IACrD,MAAM,WAAW,GAAG,CAAC,QAAsB,EAAW,EAAE,CACtD,OAAO,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,IAAI,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE9E,MAAM,MAAM,GAA2F,EAAE,CAAC;IAC1G,IAAI,QAA4B,CAAC;IACjC,IAAI,OAA2B,CAAC;IAChC,IAAI,WAA+B,CAAC;IAEpC,MAAM,KAAK,GAAyB,EAAE,CAAC;IAEvC,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;YACrB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;gBACrC,MAAM,EAAE,KAAK;gBACb,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;aACvE,CAAC,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC;YAC5I,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAC/C,IAAI,MAAM,CAAC,QAAQ;gBAAE,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAChD,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC7C,IAAI,MAAM,CAAC,WAAW;gBAAE,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;YACzD,kEAAkE;QACpE,CAAC,CAAC,EAAE,CAAC,CAAC;IACR,CAAC;IAED,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;YACrB,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,EAAE,CAAC,CAAC;IACR,CAAC;IAED,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;YACrB,MAAM,KAAK,GAAG,MAAM,oBAAoB,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,EAAE,CAAC,CAAC;IACR,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEzB,oDAAoD;IACpD,MAAM,KAAK,GAAiC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IACtF,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAErD,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEzE,MAAM,MAAM,GAAG;QACb,EAAE;QACF,MAAM;QACN,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;QAC7C,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;KACtD,CAAC;IAEF,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC9C,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;QACrE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM;YAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QAChH,IAAI,MAAM,CAAC,QAAQ;YAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;QACvE,IAAI,MAAM,CAAC,OAAO;YAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,OAAmB,EAAE,EAAS;IACnD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,kBAAkB,GAAuB;QAC7C,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3F,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;KAC5F,CAAC;IACF,MAAM,EAAE,MAAM,EAAE,GAAG,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE;QAC1D,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;KACvE,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAC5F,IAAI,MAAM,KAAK,MAAM;QAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;SACpE,IAAI,MAAM,KAAK,OAAO;QAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;;QACpE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;IAC7H,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,8BAA8B,CACrC,eAAmC,EACnC,SAAwC,EACxC,eAAuB;IAEvB,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,iBAAiB,EAAE,CAAC;gBACpB,gBAAgB,EAAE,SAAS,KAAK,SAAS;oBACvC,CAAC,CAAC,2BAA2B,CAAC,SAAS,CAAC,sBAAsB,CAAC;oBAC/D,CAAC,CAAC,gCAAgC;aACrC,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,2BAA2B,CAAC,eAAe,CAAC,CAAC;QAC7D,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;IACnE,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,2BAA2B,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC9E,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;IACnE,CAAC;IACD,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,gBAAgB,EAAE,gCAAgC,EAAE,CAAC;IACtF,CAAC;IACD,MAAM,OAAO,GAAG,2BAA2B,CAAC,eAAe,CAAC,CAAC;IAC7D,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAAmB,EAAE,EAAS;IACxD,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,0EAA0E;IAC1E,gEAAgE;IAChE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAEhE,8EAA8E;IAC9E,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACtE,MAAM,SAAS,GAA4B,kBAAkB,CAAC;IAE9D,IAAI,sBAAsC,CAAC;IAC3C,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9G,CAAC;SAAM,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,sBAAsB,GAAG,CAAC,GAAG,SAAS,CAAC,gBAAgB,CAAmB,CAAC;IAC7E,CAAC;SAAM,CAAC;QACN,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9G,CAAC;IAED,+DAA+D;IAC/D,sBAAsB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAqB,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAiB,CAAC,CAAC,CAAC;IACxH,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC;QAAE,sBAAsB,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IAEjF,MAAM,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,GAC9F,8BAA8B,CAC5B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,EACpE,SAAS,EACT,OAAO,CAAC,sBAAsB,CAC/B,CAAC;IAEJ,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;QAC/E,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAEpC,MAAM,aAAa,GAAG,uBAAuB,CAAC;QAC5C,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,GAAG,CAAC,sBAAsB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,sBAAsB,EAAE,CAAC;KAC7F,CAAC,CAAC;IACH,MAAM,KAAK,GAAG;QACZ,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;QACzB,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS;KAChE,CAAC;IACF,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC;QACzC,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,KAAK;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QACtE,sBAAsB,EAAE,wBAAwB;QAChD,aAAa,EAAE,OAAO,CAAC,MAAM;QAC7B,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;KAC/E,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACpC,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,qEAAqE;IACrE,0EAA0E;IAC1E,IAAI,UAAU,GAAa,EAAE,CAAC;IAE9B,oBAAoB;IACpB,MAAM,aAAa,GAOf;QACF,OAAO,EAAE,KAAK;QACd,gBAAgB,EAAE,IAAI,GAAG,CAAC,sBAAsB,CAAC;QACjD,sBAAsB,EAAE,uBAAuB;QAC/C,kBAAkB,EAAE,SAAS,EAAE,kBAAkB,KAAK,KAAK;QAC3D,iBAAiB,EAAE,SAAS,EAAE,iBAAiB,KAAK,KAAK;QACzD,YAAY,EAAE,CAAC;KAChB,CAAC;IACF,IAAI,cAAc,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC7D,IAAI,eAAe,GAAG,wBAAwB,CAAC;IAE/C,MAAM,sBAAsB,GAAG,GAAS,EAAE;QACxC,KAAK,qBAAqB,CAAC;YACzB,gBAAgB,EAAE,CAAC,GAAG,aAAa,CAAC,gBAAgB,CAAmB;YACvE,sBAAsB,EAAE,2BAA2B,CAAC,aAAa,CAAC,sBAAsB,CAAC;YACzF,kBAAkB,EAAE,aAAa,CAAC,kBAAkB;YACpD,iBAAiB,EAAE,aAAa,CAAC,iBAAiB;SACnD,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAS,EAAE;QAC/B,YAAY;QACZ,MAAM,YAAY,GAAG,CAAC,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,YAAY,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3H,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,aAAa,CAAC,gBAAgB,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM;gBACxE,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YAC5C,6DAA6D;YAC7D,IAAI,CAAC;gBACH,aAAa,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,EAAE,EAAE,2CAA2C,EAAE,KAAK,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,CAAC;gBACH,aAAa,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,EAAE,EAAE,4CAA4C,EAAE,KAAK,CAAC,CAAC;YACrE,CAAC;YACD,cAAc,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YACzD,KAAK,WAAW,CAAC,aAAa,EAAE,CAAC;YACjC,sBAAsB,EAAE,CAAC;QAC3B,CAAC;QAED,WAAW;QACX,MAAM,OAAO,GAAG,2BAA2B,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;QAClF,IAAI,OAAO,KAAK,aAAa,CAAC,sBAAsB,EAAE,CAAC;YACrD,aAAa,CAAC,sBAAsB,GAAG,OAAO,CAAC;QACjD,CAAC;QACD,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,WAAW,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,EAAE,EAAE,kCAAkC,EAAE,KAAK,CAAC,CAAC;YAC3D,CAAC;YACD,eAAe,GAAG,OAAO,CAAC;YAC1B,sBAAsB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;QACrF,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE;YACnC,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC;YAC7C,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE;YACpB,cAAc,EAAE,KAAK,CAAC,MAAM;YAC5B,IAAI;YACJ,qEAAqE;YACrE,+DAA+D;YAC/D,QAAQ,EAAE;gBACR,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,gBAAgB,EAAE,CAAC,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE;gBAC5D,sBAAsB,EAAE,aAAa,CAAC,sBAAsB;gBAC5D,kBAAkB,EAAE,aAAa,CAAC,kBAAkB;gBACpD,iBAAiB,EAAE,aAAa,CAAC,iBAAiB;gBAClD,YAAY,EAAE,aAAa,CAAC,YAAY;aACzC;YACD,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC,CAAC;QACH,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,OAAO,GAAG,KAAK,CAAC;QAChB,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK;YAAE,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;QACjD,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjB,iDAAiD;QACjD,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK;YAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC,CAAC;IAEF,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,GAAG,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7B,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5B,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAClB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK;QAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvD,IAAI,EAAE,CAAC;IACP,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAEhD,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,gBAA2D,CAAC;IAChE,MAAM,gBAAgB,GAAG,GAAS,EAAE;QAClC,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,YAAY,CAAC,gBAAgB,CAAC,CAAC;YAC/B,gBAAgB,GAAG,SAAS,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC;IACF,MAAM,wBAAwB,GAAG,GAAS,EAAE;QAC1C,wEAAwE;QACxE,iEAAiE;QACjE,gBAAgB,GAAG,SAAS,CAAC;QAC7B,IAAI,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO;QAClE,WAAW,GAAG,EAAE,CAAC;QACjB,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;YAC9B,IAAI,EAAE,CAAC;QACT,CAAC;aAAM,IAAI,eAAe,EAAE,CAAC;YAC3B,eAAe,GAAG,KAAK,CAAC;YACxB,IAAI,EAAE,CAAC;QACT,CAAC;aAAM,IAAI,IAAI,EAAE,CAAC;YAChB,IAAI,GAAG,KAAK,CAAC;YACb,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,CAAC;IACF,MAAM,mBAAmB,GAAG,GAAS,EAAE;QACrC,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,GAAG,UAAU,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;QAC5D,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,KAAK,IAAI,IAAI,OAAO,IAAI,gBAAgB,EAAE,CAAC;YACpG,gBAAiD,CAAC,KAAK,EAAE,CAAC;QAC7D,CAAC;IACH,CAAC,CAAC;IACF;;;;OAIG;IACH,MAAM,WAAW,GAAG,CAAC,EAAU,EAAE,EAAU,EAAQ,EAAE;QACnD,2DAA2D;QAC3D,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAChC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACxD,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBAC/C,aAAa,CAAC,YAAY,GAAG,CAAC,CAAC;oBAC/B,aAAa,CAAC,kBAAkB,GAAG,CAAC,aAAa,CAAC,kBAAkB,CAAC;oBACrE,sBAAsB,EAAE,CAAC;oBACzB,IAAI,EAAE,CAAC;oBACP,OAAO;gBACT,CAAC;gBACD,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC9C,aAAa,CAAC,YAAY,GAAG,CAAC,CAAC;oBAC/B,aAAa,CAAC,iBAAiB,GAAG,CAAC,aAAa,CAAC,iBAAiB,CAAC;oBACnE,sBAAsB,EAAE,CAAC;oBACzB,IAAI,EAAE,CAAC;oBACP,OAAO;gBACT,CAAC;gBACD,MAAM,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;gBACjC,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAC7B,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC5E,CAAC;gBACF,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;oBACf,aAAa,CAAC,YAAY,GAAG,GAAG,CAAC;oBACjC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAE,CAAC;oBAC7B,IAAI,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7C,IAAI,aAAa,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;4BAC5C,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BAC5C,aAAa,EAAE,CAAC;4BAChB,IAAI,EAAE,CAAC;wBACT,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACzC,aAAa,EAAE,CAAC;wBAChB,IAAI,EAAE,CAAC;oBACT,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC9B,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;oBACzB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;oBACrE,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;oBACjF,IAAI,MAAM,KAAK,aAAa,CAAC,sBAAsB,EAAE,CAAC;wBACpD,aAAa,CAAC,sBAAsB,GAAG,MAAM,CAAC;wBAC9C,aAAa,CAAC,YAAY,GAAG,CAAC,CAAC;wBAC/B,aAAa,EAAE,CAAC;wBAChB,IAAI,EAAE,CAAC;oBACT,CAAC;oBACD,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QACD,uEAAuE;QACvE,yEAAyE;QACzE,uCAAuC;QACvC,MAAM,WAAW,GAAG,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC1G,cAAc,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,qEAAqE;QACrE,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,IAAI,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3F,IACE,UAAU,KAAK,SAAS;YACxB,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAC5B,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;YACtD,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;YACtD,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,EAClC,CAAC;YACD,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC9C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,KAAK,WAAW,CAAC,aAAa,EAAE,CAAC;gBACjC,OAAO;YACT,CAAC;YACD,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACrF,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC9B,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YACD,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC1B,IAAI,eAAe;oBAAE,eAAe,GAAG,KAAK,CAAC;qBACxC,CAAC;oBACJ,eAAe,GAAG,IAAI,CAAC;oBACvB,IAAI,GAAG,KAAK,CAAC;oBACb,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;gBAChC,CAAC;gBACD,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YACD,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC1B,IAAI,aAAa,CAAC,OAAO;oBAAE,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;qBACpD,CAAC;oBACJ,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC7B,IAAI,GAAG,KAAK,CAAC;oBACb,eAAe,GAAG,KAAK,CAAC;gBAC1B,CAAC;gBACD,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;oBAC1B,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC9B,IAAI,EAAE,CAAC;gBACT,CAAC;qBAAM,IAAI,eAAe,EAAE,CAAC;oBAC3B,eAAe,GAAG,KAAK,CAAC;oBACxB,IAAI,EAAE,CAAC;gBACT,CAAC;qBAAM,CAAC;oBACN,KAAK,IAAI,EAAE,CAAC;gBACd,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;oBAC3B,IAAI,eAAe;wBAAE,eAAe,GAAG,KAAK,CAAC;oBAC7C,IAAI,GAAG,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,CAAC;gBACT,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,CAAC,iDAAiD;QACpF,CAAC;QACD,uEAAuE;QACvE,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;oBACzD,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC9B,IAAI,EAAE,CAAC;oBACP,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,KAAsB,EAAE,EAAE;QACzC,gBAAgB,EAAE,CAAC;QACnB,WAAW,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,WAAW,CAAC;QAC1B,WAAW,GAAG,EAAE,CAAC;QACjB,MAAM,OAAO,GAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,GAAoB,EAAE;YACvC,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;YAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACrC,OAAO,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAE,CAAC;QAC9C,CAAC,CAAC;QACF,MAAM,UAAU,GAAG,GAAoB,EAAE;YACvC,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;YAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACrC,OAAO,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAE,CAAC;QAC/D,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACxB,8DAA8D;YAC9D,oEAAoE;YACpE,2DAA2D;YAC3D,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpD,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7B,mBAAmB,EAAE,CAAC;gBACtB,MAAM;YACR,CAAC;YACD,yDAAyD;YACzD,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5C,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;gBACb,IAAI,OAAO,GAAG,IAAI,CAAC;gBACnB,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,IAAI,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC;oBAC5D,GAAG,GAAG,KAAK,CAAC;oBACZ,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;qBAAM,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;oBAC5B,GAAG,GAAG,SAAS,CAAC;oBAChB,OAAO,GAAG,KAAK,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,gDAAgD;oBAChD,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;gBACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;oBAClC,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5B,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;wBAClF,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACtB,CAAC;gBACH,CAAC;gBACD,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACZ,SAAS;YACX,CAAC;YACD,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;gBACnC,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC;oBACpC,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;wBAC1B,aAAa,CAAC,YAAY,GAAG,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;wBACtE,IAAI,EAAE,CAAC;oBACT,CAAC;yBAAM,CAAC;wBACN,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;oBACtC,CAAC;oBACD,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,qEAAqE;gBACrE,wEAAwE;gBACxE,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC1B,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC7B,mBAAmB,EAAE,CAAC;oBACtB,MAAM;gBACR,CAAC;gBACD,CAAC;oBACC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC1B,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;wBAC1B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;4BACjB,aAAa,CAAC,YAAY,GAAG,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;4BACtE,IAAI,EAAE,CAAC;4BACP,CAAC,IAAI,CAAC,CAAC;4BACP,SAAS;wBACX,CAAC;wBACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;4BACjB,aAAa,CAAC,YAAY,GAAG,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;4BAClE,IAAI,EAAE,CAAC;4BACP,CAAC,IAAI,CAAC,CAAC;4BACP,SAAS;wBACX,CAAC;wBACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;4BACjB,IAAI,aAAa,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;gCACrC,MAAM,IAAI,GAAG,6BAA6B,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;gCACpF,IAAI,IAAI,KAAK,aAAa,CAAC,sBAAsB,EAAE,CAAC;oCAClD,aAAa,CAAC,sBAAsB,GAAG,IAAI,CAAC;oCAC5C,aAAa,EAAE,CAAC;oCAChB,IAAI,EAAE,CAAC;gCACT,CAAC;4BACH,CAAC;4BACD,CAAC,IAAI,CAAC,CAAC;4BACP,SAAS;wBACX,CAAC;wBACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;4BACjB,IAAI,aAAa,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;gCACrC,MAAM,IAAI,GAAG,6BAA6B,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC;gCACrF,IAAI,IAAI,KAAK,aAAa,CAAC,sBAAsB,EAAE,CAAC;oCAClD,aAAa,CAAC,sBAAsB,GAAG,IAAI,CAAC;oCAC5C,aAAa,EAAE,CAAC;oCAChB,IAAI,EAAE,CAAC;gCACT,CAAC;4BACH,CAAC;4BACD,CAAC,IAAI,CAAC,CAAC;4BACP,SAAS;wBACX,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;4BACjC,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;4BACpC,CAAC,IAAI,CAAC,CAAC;4BACP,SAAS;wBACX,CAAC;wBACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;4BACjC,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;4BACpC,CAAC,IAAI,CAAC,CAAC;4BACP,SAAS;wBACX,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;YACtB,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrB,KAAK,IAAI,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,IAAI,eAAe,EAAE,CAAC;gBACpB,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACnD,eAAe,GAAG,KAAK,CAAC;oBACxB,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAChB,eAAe,GAAG,KAAK,CAAC;oBACxB,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,eAAe,GAAG,KAAK,CAAC;oBACxB,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC7B,IAAI,GAAG,KAAK,CAAC;oBACb,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,KAAK,WAAW,CAAC,aAAa,EAAE,CAAC;oBACjC,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAChB,eAAe,GAAG,KAAK,CAAC;oBACxB,IAAI,GAAG,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC9C,WAAW,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBACnG,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACrC,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;oBACpC,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACjC,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC1B,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACpC,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC9B,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC9B,eAAe,GAAG,IAAI,CAAC;oBACvB,IAAI,GAAG,KAAK,CAAC;oBACb,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC9B,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,KAAK,WAAW,CAAC,aAAa,EAAE,CAAC;oBACjC,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAChB,iEAAiE;oBACjE,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAChB,IAAI,aAAa,CAAC,YAAY,IAAI,CAAC,IAAI,aAAa,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC;wBACvE,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,YAAY,CAAE,CAAC;wBACpD,IAAI,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC7C,IAAI,aAAa,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gCAC5C,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gCAC5C,aAAa,EAAE,CAAC;gCAChB,IAAI,EAAE,CAAC;4BACT,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4BACzC,aAAa,EAAE,CAAC;4BAChB,IAAI,EAAE,CAAC;wBACT,CAAC;oBACH,CAAC;yBAAM,IAAI,aAAa,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;wBAC5C,aAAa,CAAC,kBAAkB,GAAG,CAAC,aAAa,CAAC,kBAAkB,CAAC;wBACrE,sBAAsB,EAAE,CAAC;wBACzB,IAAI,EAAE,CAAC;oBACT,CAAC;yBAAM,IAAI,aAAa,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;wBAC5C,aAAa,CAAC,iBAAiB,GAAG,CAAC,aAAa,CAAC,iBAAiB,CAAC;wBACnE,sBAAsB,EAAE,CAAC;wBACzB,IAAI,EAAE,CAAC;oBACT,CAAC;oBACD,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACrC,aAAa,CAAC,YAAY,GAAG,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBAClE,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC9C,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,IAAI,aAAa,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;wBACrC,MAAM,IAAI,GAAG,6BAA6B,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC;wBACrF,IAAI,IAAI,KAAK,aAAa,CAAC,sBAAsB,EAAE,CAAC;4BAClD,aAAa,CAAC,sBAAsB,GAAG,IAAI,CAAC;4BAC5C,aAAa,EAAE,CAAC;4BAChB,IAAI,EAAE,CAAC;wBACT,CAAC;oBACH,CAAC;oBACD,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,IAAI,aAAa,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;wBACrC,MAAM,IAAI,GAAG,6BAA6B,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;wBACpF,IAAI,IAAI,KAAK,aAAa,CAAC,sBAAsB,EAAE,CAAC;4BAClD,aAAa,CAAC,sBAAsB,GAAG,IAAI,CAAC;4BAC5C,aAAa,EAAE,CAAC;4BAChB,IAAI,EAAE,CAAC;wBACT,CAAC;oBACH,CAAC;oBACD,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,IAAI,aAAa,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;wBACrC,MAAM,IAAI,GAAG,6BAA6B,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;wBACpF,IAAI,IAAI,KAAK,aAAa,CAAC,sBAAsB,EAAE,CAAC;4BAClD,aAAa,CAAC,sBAAsB,GAAG,IAAI,CAAC;4BAC5C,aAAa,EAAE,CAAC;4BAChB,IAAI,EAAE,CAAC;wBACT,CAAC;oBACH,CAAC;oBACD,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,IAAI,aAAa,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;wBACrC,MAAM,IAAI,GAAG,6BAA6B,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC;wBACrF,IAAI,IAAI,KAAK,aAAa,CAAC,sBAAsB,EAAE,CAAC;4BAClD,aAAa,CAAC,sBAAsB,GAAG,IAAI,CAAC;4BAC5C,aAAa,EAAE,CAAC;4BAChB,IAAI,EAAE,CAAC;wBACT,CAAC;oBACH,CAAC;oBACD,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACjC,IAAI,aAAa,CAAC,YAAY,IAAI,CAAC,IAAI,aAAa,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC;wBACvE,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,YAAY,CAAE,CAAC;wBACpD,IAAI,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC7C,IAAI,aAAa,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gCAC5C,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gCAC5C,aAAa,EAAE,CAAC;gCAChB,IAAI,EAAE,CAAC;4BACT,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4BACzC,aAAa,EAAE,CAAC;4BAChB,IAAI,EAAE,CAAC;wBACT,CAAC;oBACH,CAAC;yBAAM,IAAI,aAAa,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;wBAC5C,aAAa,CAAC,kBAAkB,GAAG,CAAC,aAAa,CAAC,kBAAkB,CAAC;wBACrE,sBAAsB,EAAE,CAAC;wBACzB,IAAI,EAAE,CAAC;oBACT,CAAC;yBAAM,IAAI,aAAa,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;wBAC5C,aAAa,CAAC,iBAAiB,GAAG,CAAC,aAAa,CAAC,iBAAiB,CAAC;wBACnE,sBAAsB,EAAE,CAAC;wBACzB,IAAI,EAAE,CAAC;oBACT,CAAC;oBACD,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACrB,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC9B,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAChB,KAAK,IAAI,EAAE,CAAC;oBACZ,OAAO;gBACT,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,KAAK,WAAW,CAAC,aAAa,EAAE,CAAC;oBACjC,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAChB,IAAI,GAAG,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACrC,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;oBACpC,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC7D,WAAW,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACrG,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,eAAe,GAAG,IAAI,CAAC;oBACvB,IAAI,GAAG,KAAK,CAAC;oBACb,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC9B,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBAC/B,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC7B,IAAI,GAAG,KAAK,CAAC;oBACb,eAAe,GAAG,KAAK,CAAC;oBACxB,IAAI,EAAE,CAAC;oBACP,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACrB,IAAI,IAAI,EAAE,CAAC;wBACT,IAAI,GAAG,KAAK,CAAC;wBACb,IAAI,EAAE,CAAC;oBACT,CAAC;oBACD,IAAI,eAAe,EAAE,CAAC;wBACpB,eAAe,GAAG,KAAK,CAAC;wBACxB,IAAI,EAAE,CAAC;oBACT,CAAC;oBACD,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,oEAAoE;IACpE,yEAAyE;IACzE,sEAAsE;IACtE,IAAI,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC;IACtF,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,YAAY,CAAC;QAC7C,IAAI,MAAM,IAAI,MAAM,KAAK,mBAAmB,EAAE,CAAC;YAC7C,mBAAmB,GAAG,MAAM,CAAC;YAC7B,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,EAAE,KAAK,CAAC,CAAC;IACV,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;QAC/E,SAA0C,CAAC,KAAK,EAAE,CAAC;IACtD,CAAC;IACD,qEAAqE;IACrE,IAAI,WAAsD,CAAC;IAC3D,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC1B,IAAI,WAAW,KAAK,SAAS;YAAE,YAAY,CAAC,WAAW,CAAC,CAAC;QACzD,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,WAAW,GAAG,SAAS,CAAC;YACxB,IAAI,OAAO;gBAAE,IAAI,EAAE,CAAC;QACtB,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,CAAC;IACF,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAChE,KAAK,EAAE,CAAC;IACV,CAAC,CAAC,CAAC;IACH,aAAa,CAAC,SAAS,CAAC,CAAC;IACzB,IAAI,WAAW,KAAK,SAAS;QAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACzD,gBAAgB,EAAE,CAAC;IACnB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACjC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAY;IACnE,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,MAAM,EAAE,OAAO,CAAC,MAAM;CACvB;IACC,IAAI,OAAoD,CAAC;IACzD,IAAI,CAAC;QACH,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAC/D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;YAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QACzE,4DAA4D;QAC5D,kBAAkB,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAChE,IAAI,OAAO,CAAC,IAAI;YAAE,OAAO,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACpD,OAAO,MAAM,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,IAAI,CAAC,WAAW,KAAK,UAAU,IAAI,WAAW,KAAK,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;IAClG,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -18,6 +18,8 @@ export declare const ANSI: Readonly<{
18
18
  yellow: "\u001B[33m";
19
19
  red: "\u001B[31m";
20
20
  white: "\u001B[37m";
21
+ whiteBright: "\u001B[97m";
22
+ bgZebra: "\u001B[48;5;236m";
21
23
  clearLine: "\u001B[2K";
22
24
  cursorHome: "\u001B[H";
23
25
  cursorHide: "\u001B[?25l";
@@ -44,6 +46,15 @@ export declare function themeOutUnderline(value: string, enabled: boolean): stri
44
46
  export declare function themeCacheUnderline(value: string, enabled: boolean): string;
45
47
  export declare function themeCost(value: string, enabled: boolean): string;
46
48
  export declare function themeYellow(value: string, enabled: boolean): string;
49
+ export declare function themeWhite(value: string, enabled: boolean, bright?: boolean): string;
50
+ /**
51
+ * Wrap a fully-composed row line with the zebra background. Inner segments
52
+ * each end with a reset that would clear the background, so re-emit it after
53
+ * every reset. Zero-width for layout: stripAnsi removes these escapes, so
54
+ * pad()/lineWidth() results are unaffected. Gated on color — plain output
55
+ * never receives background escapes.
56
+ */
57
+ export declare function zebraRow(value: string, striped: boolean, enabled: boolean): string;
47
58
  export declare function statusColor(value: string, state: "complete" | "partial" | "stale", enabled: boolean): string;
48
59
  /**
49
60
  * Return an in-place frame. It homes the cursor and erases each rendered line,