@kernlang/agon 0.1.8 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/{chunk-GMVFKWQA.js → chunk-24EWX243.js} +1393 -126
  2. package/dist/chunk-24EWX243.js.map +1 -0
  3. package/dist/{chunk-SUT2HDOY.js → chunk-47QQZGXP.js} +11 -1
  4. package/dist/{chunk-SUT2HDOY.js.map → chunk-47QQZGXP.js.map} +1 -1
  5. package/dist/{chunk-45YTXJWJ.js → chunk-4ZDVR5XR.js} +3 -1
  6. package/dist/{chunk-45YTXJWJ.js.map → chunk-4ZDVR5XR.js.map} +1 -1
  7. package/dist/{chunk-I2PMSXJ3.js → chunk-6GENPQFW.js} +2 -2
  8. package/dist/{chunk-KPU23NS2.js → chunk-6SOOHJZQ.js} +75 -13
  9. package/dist/chunk-6SOOHJZQ.js.map +1 -0
  10. package/dist/{chunk-GHAMYNRC.js → chunk-FORBHCTM.js} +41 -7
  11. package/dist/chunk-FORBHCTM.js.map +1 -0
  12. package/dist/{chunk-CQBQPSE4.js → chunk-MMPLPYSK.js} +219 -29
  13. package/dist/chunk-MMPLPYSK.js.map +1 -0
  14. package/dist/{chunk-BPKY4OF2.js → chunk-MWF4RHRU.js} +3072 -1011
  15. package/dist/chunk-MWF4RHRU.js.map +1 -0
  16. package/dist/{dispatch-J4RSWLXM.js → dispatch-FQQWL2YW.js} +2 -2
  17. package/dist/engines/agy.json +6 -0
  18. package/dist/engines/claude.json +4 -0
  19. package/dist/engines/codex.json +4 -0
  20. package/dist/engines/minimax-coding-plan-minimax-m3.json +4 -0
  21. package/dist/{forge-5QSRUNW6.js → forge-ZFCSXC3Z.js} +6 -6
  22. package/dist/index.js +16712 -14634
  23. package/dist/index.js.map +1 -1
  24. package/dist/mcp/engines/agy.json +6 -0
  25. package/dist/mcp/engines/claude.json +4 -0
  26. package/dist/mcp/engines/codex.json +4 -0
  27. package/dist/mcp/engines/minimax-coding-plan-minimax-m3.json +4 -0
  28. package/dist/mcp/index.js +34 -6
  29. package/dist/mcp/index.js.map +1 -1
  30. package/dist/plan-mode-I3BZOBFB.js +17 -0
  31. package/dist/{src-253BUXEF.js → src-WMV62WO7.js} +171 -9
  32. package/dist/{update-WLRTYR77.js → update-H3JQXPGO.js} +6 -6
  33. package/package.json +2 -2
  34. package/dist/chunk-BPKY4OF2.js.map +0 -1
  35. package/dist/chunk-CQBQPSE4.js.map +0 -1
  36. package/dist/chunk-GHAMYNRC.js.map +0 -1
  37. package/dist/chunk-GMVFKWQA.js.map +0 -1
  38. package/dist/chunk-KPU23NS2.js.map +0 -1
  39. package/dist/plan-mode-5IQ2SKIS.js +0 -17
  40. /package/dist/{chunk-I2PMSXJ3.js.map → chunk-6GENPQFW.js.map} +0 -0
  41. /package/dist/{dispatch-J4RSWLXM.js.map → dispatch-FQQWL2YW.js.map} +0 -0
  42. /package/dist/{forge-5QSRUNW6.js.map → forge-ZFCSXC3Z.js.map} +0 -0
  43. /package/dist/{plan-mode-5IQ2SKIS.js.map → plan-mode-I3BZOBFB.js.map} +0 -0
  44. /package/dist/{src-253BUXEF.js.map → src-WMV62WO7.js.map} +0 -0
  45. /package/dist/{update-WLRTYR77.js.map → update-H3JQXPGO.js.map} +0 -0
@@ -6,13 +6,14 @@ import {
6
6
  parseConfidence,
7
7
  runForge,
8
8
  sessionResultStore
9
- } from "./chunk-GMVFKWQA.js";
9
+ } from "./chunk-24EWX243.js";
10
10
  import {
11
11
  ENGINE_COLORS
12
- } from "./chunk-I2PMSXJ3.js";
12
+ } from "./chunk-6GENPQFW.js";
13
13
  import {
14
14
  RUNS_DIR,
15
15
  acquireApplyLock,
16
+ agonPath,
16
17
  applyPatchWithUndo,
17
18
  approvePlan,
18
19
  branchChanged,
@@ -36,12 +37,13 @@ import {
36
37
  scanProjectContext,
37
38
  snapshotWorkspace,
38
39
  startPlan,
39
- tracker
40
- } from "./chunk-BPKY4OF2.js";
40
+ tracker,
41
+ withFileLock
42
+ } from "./chunk-MWF4RHRU.js";
41
43
 
42
44
  // src/generated/handlers/forge.ts
43
- import { join as join4 } from "path";
44
- import { existsSync as existsSync2, mkdirSync as mkdirSync3, readFileSync as readFileSync4 } from "fs";
45
+ import { join as join5 } from "path";
46
+ import { existsSync as existsSync2, mkdirSync as mkdirSync3, readFileSync as readFileSync5 } from "fs";
45
47
  import { execFileSync } from "child_process";
46
48
 
47
49
  // src/generated/cesar/judge.ts
@@ -529,16 +531,199 @@ function recordCheckpoint(cp, runsDir) {
529
531
  }
530
532
 
531
533
  // src/telemetry/index.ts
532
- import { readFileSync as readFileSync3, writeFileSync as writeFileSync2, mkdirSync as mkdirSync2 } from "fs";
533
- import { join as join3, resolve } from "path";
534
+ import { readFileSync as readFileSync4, writeFileSync as writeFileSync3, mkdirSync as mkdirSync2 } from "fs";
535
+ import { join as join4, resolve } from "path";
534
536
  import { homedir } from "os";
537
+
538
+ // src/generated/signals/runs-store.ts
539
+ import { readFileSync as readFileSync3, writeFileSync as writeFileSync2 } from "fs";
540
+ import { readdir, stat, unlink } from "fs/promises";
541
+ import { join as join3 } from "path";
542
+ var RUN_KEEP_AGE_MS = 7 * 24 * 60 * 60 * 1e3;
543
+ var RUN_SOFT_CAP = 2e3;
544
+ var RUN_HARD_CAP = 5e3;
545
+ var RUN_PROTECT_MIN_AGE_MS = 10 * 60 * 1e3;
546
+ var RUN_PRUNE_COOLDOWN_MS = 60 * 60 * 1e3;
547
+ var RUN_PRUNE_CHUNK = 200;
548
+ var PRUNE_STAMP_NAME = ".prune-stamp";
549
+ function runsDirPath() {
550
+ return agonPath("runs");
551
+ }
552
+ function pruneStampPath() {
553
+ return join3(agonPath("runs"), PRUNE_STAMP_NAME);
554
+ }
555
+ async function listRunJsonFiles() {
556
+ const dir = runsDirPath();
557
+ let names;
558
+ try {
559
+ names = await readdir(dir);
560
+ } catch {
561
+ return [];
562
+ }
563
+ const out = [];
564
+ for (const entry of names) {
565
+ if (!entry.endsWith(".json")) continue;
566
+ try {
567
+ const st = await stat(join3(dir, entry));
568
+ if (st.isFile()) out.push({ name: entry, mtimeMs: st.mtimeMs });
569
+ } catch {
570
+ }
571
+ }
572
+ return out;
573
+ }
574
+ async function countRunJsonFiles() {
575
+ const dir = runsDirPath();
576
+ let names;
577
+ try {
578
+ names = await readdir(dir);
579
+ } catch {
580
+ return 0;
581
+ }
582
+ let count = 0;
583
+ for (const entry of names) {
584
+ if (entry.endsWith(".json")) count++;
585
+ }
586
+ return count;
587
+ }
588
+ function readPruneStamp() {
589
+ try {
590
+ const raw = readFileSync3(pruneStampPath(), "utf-8").trim();
591
+ const n = Number(raw);
592
+ return Number.isFinite(n) ? n : 0;
593
+ } catch {
594
+ return 0;
595
+ }
596
+ }
597
+ function writePruneStamp(ts) {
598
+ try {
599
+ writeFileSync2(pruneStampPath(), String(ts));
600
+ } catch {
601
+ }
602
+ }
603
+ function computeRunPruneTargets(files, now, activeRunIds) {
604
+ const isActive = (fileName) => activeRunIds.some((id) => {
605
+ if (!id) return false;
606
+ if (fileName === `${id}.json`) return true;
607
+ if (!fileName.startsWith(id)) return false;
608
+ const next = fileName.charAt(id.length);
609
+ return next !== "" && !/[A-Za-z0-9]/.test(next);
610
+ });
611
+ const deletable = files.filter((f) => !isActive(f.name) && now - f.mtimeMs >= RUN_PROTECT_MIN_AGE_MS).sort((a, b) => a.mtimeMs - b.mtimeMs);
612
+ const cutoff = now - RUN_KEEP_AGE_MS;
613
+ const deletableOld = deletable.filter((f) => f.mtimeMs < cutoff);
614
+ const removalSet = /* @__PURE__ */ new Map();
615
+ const softOverflow = Math.max(0, files.length - RUN_SOFT_CAP);
616
+ const softRemoveCount = Math.min(softOverflow, deletableOld.length);
617
+ for (let k = 0; k < softRemoveCount; k++) {
618
+ removalSet.set(deletableOld[k].name, true);
619
+ }
620
+ const mustRemoveForHardCap = Math.max(0, files.length - RUN_HARD_CAP);
621
+ let i = 0;
622
+ while (removalSet.size < mustRemoveForHardCap && i < deletable.length) {
623
+ removalSet.set(deletable[i].name, true);
624
+ i++;
625
+ }
626
+ return deletable.filter((f) => removalSet.has(f.name)).map((f) => f.name);
627
+ }
628
+ var RunsStore = class {
629
+ snap;
630
+ refreshTimer;
631
+ pruning;
632
+ constructor() {
633
+ this.snap = { count: 0, hydratedAt: 0 };
634
+ this.refreshTimer = null;
635
+ this.pruning = false;
636
+ }
637
+ snapshot() {
638
+ return this.snap;
639
+ }
640
+ runCount() {
641
+ return this.snap.count;
642
+ }
643
+ async hydrate() {
644
+ await new Promise((resolve2) => setTimeout(resolve2, 0));
645
+ const count = await countRunJsonFiles();
646
+ this.snap = { count, hydratedAt: Date.now() };
647
+ return this.snap;
648
+ }
649
+ scheduleRefresh(delayMs) {
650
+ const delay = typeof delayMs === "number" && delayMs >= 0 ? delayMs : 750;
651
+ if (this.refreshTimer) clearTimeout(this.refreshTimer);
652
+ const timer = setTimeout(() => {
653
+ this.refreshTimer = null;
654
+ void this.hydrate().catch(() => {
655
+ });
656
+ }, delay);
657
+ this.refreshTimer = timer;
658
+ if (typeof timer.unref === "function") timer.unref();
659
+ }
660
+ async maybePrune(opts) {
661
+ if (this.pruning) {
662
+ return { deleted: 0, skipped: true, reason: "in-progress" };
663
+ }
664
+ this.pruning = true;
665
+ try {
666
+ const force = opts?.force === true;
667
+ const now = Date.now();
668
+ let claimed = false;
669
+ try {
670
+ withFileLock(pruneStampPath() + ".lock", () => {
671
+ const lastPrune = readPruneStamp();
672
+ if (!force && lastPrune > 0 && now - lastPrune < RUN_PRUNE_COOLDOWN_MS) return;
673
+ writePruneStamp(now);
674
+ claimed = true;
675
+ });
676
+ } catch {
677
+ return { deleted: 0, skipped: true, reason: "lock-contended" };
678
+ }
679
+ if (!claimed) {
680
+ return { deleted: 0, skipped: true, reason: "cooldown" };
681
+ }
682
+ const files = await listRunJsonFiles();
683
+ const activeIds = Array.isArray(opts?.activeRunIds) ? opts.activeRunIds : [];
684
+ const toDelete = computeRunPruneTargets(files, now, activeIds);
685
+ if (toDelete.length === 0) {
686
+ this.snap = { count: files.length, hydratedAt: now };
687
+ return { deleted: 0, skipped: true, reason: "within-policy" };
688
+ }
689
+ const dir = runsDirPath();
690
+ let deleted = 0;
691
+ for (let idx = 0; idx < toDelete.length; idx++) {
692
+ try {
693
+ await unlink(join3(dir, toDelete[idx]));
694
+ deleted++;
695
+ } catch {
696
+ }
697
+ if ((idx + 1) % RUN_PRUNE_CHUNK === 0) {
698
+ await new Promise((resolve2) => setTimeout(resolve2, 0));
699
+ }
700
+ }
701
+ const finishedAt = Date.now();
702
+ try {
703
+ withFileLock(pruneStampPath() + ".lock", () => writePruneStamp(finishedAt));
704
+ } catch {
705
+ }
706
+ const remaining = await countRunJsonFiles();
707
+ this.snap = { count: remaining, hydratedAt: finishedAt };
708
+ if (deleted > 0 && process.env.AGON_DEBUG) {
709
+ console.error(`[agon] runs prune: removed ${deleted} old run record(s), kept ${remaining}`);
710
+ }
711
+ return { deleted, skipped: false, reason: "pruned" };
712
+ } finally {
713
+ this.pruning = false;
714
+ }
715
+ }
716
+ };
717
+ var runsStore = new RunsStore();
718
+
719
+ // src/telemetry/index.ts
535
720
  var DEFAULT_WINDOW = 50;
536
721
  function getAgonHome() {
537
722
  const override = process.env.AGON_HOME?.trim();
538
- return override ? resolve(override) : join3(homedir(), ".agon");
723
+ return override ? resolve(override) : join4(homedir(), ".agon");
539
724
  }
540
725
  function telemetryPath() {
541
- return join3(getAgonHome(), "telemetry.json");
726
+ return join4(getAgonHome(), "telemetry.json");
542
727
  }
543
728
  function classifyTaskType(mode, intent) {
544
729
  const m = mode.toLowerCase();
@@ -567,7 +752,7 @@ var TelemetryLedger = class {
567
752
  /** Read the entire ledger file, returning an empty structure if missing/malformed. */
568
753
  read() {
569
754
  try {
570
- const raw = readFileSync3(this.filePath, "utf-8");
755
+ const raw = readFileSync4(this.filePath, "utf-8");
571
756
  const parsed = JSON.parse(raw);
572
757
  if (parsed && Array.isArray(parsed.runs)) return parsed;
573
758
  } catch {
@@ -576,9 +761,9 @@ var TelemetryLedger = class {
576
761
  }
577
762
  /** Persist the ledger to disk atomically. */
578
763
  write(data) {
579
- const dir = join3(this.filePath, "..");
764
+ const dir = join4(this.filePath, "..");
580
765
  mkdirSync2(dir, { recursive: true });
581
- writeFileSync2(this.filePath, JSON.stringify(data, null, 2));
766
+ writeFileSync3(this.filePath, JSON.stringify(data, null, 2));
582
767
  }
583
768
  /** Append a single run record. */
584
769
  append(record) {
@@ -636,6 +821,10 @@ function recordRun(result) {
636
821
  costEstimateUsd: stats?.totalCostUsd ?? void 0
637
822
  };
638
823
  defaultLedger.append(record);
824
+ try {
825
+ runsStore.scheduleRefresh();
826
+ } catch {
827
+ }
639
828
  return record;
640
829
  }
641
830
  function formatRunSummary(record) {
@@ -975,10 +1164,10 @@ function repairForgeTaskRepositoryLiteral(task, cwd) {
975
1164
  }
976
1165
  function describeProjectFitnessOptions(cwd) {
977
1166
  const lines = [];
978
- const packageJsonPath = join4(cwd, "package.json");
1167
+ const packageJsonPath = join5(cwd, "package.json");
979
1168
  if (existsSync2(packageJsonPath)) {
980
1169
  try {
981
- const pkg = JSON.parse(readFileSync4(packageJsonPath, "utf8"));
1170
+ const pkg = JSON.parse(readFileSync5(packageJsonPath, "utf8"));
982
1171
  const scripts = pkg && typeof pkg === "object" && pkg.scripts && typeof pkg.scripts === "object" ? Object.keys(pkg.scripts).sort() : [];
983
1172
  if (scripts.length > 0) {
984
1173
  lines.push(`package.json scripts: ${scripts.join(", ")}`);
@@ -987,16 +1176,16 @@ function describeProjectFitnessOptions(cwd) {
987
1176
  lines.push("package.json exists but could not be parsed");
988
1177
  }
989
1178
  }
990
- if (existsSync2(join4(cwd, "Cargo.toml"))) {
1179
+ if (existsSync2(join5(cwd, "Cargo.toml"))) {
991
1180
  lines.push("Cargo.toml present");
992
1181
  }
993
- if (existsSync2(join4(cwd, "go.mod"))) {
1182
+ if (existsSync2(join5(cwd, "go.mod"))) {
994
1183
  lines.push("go.mod present");
995
1184
  }
996
- if (existsSync2(join4(cwd, "pyproject.toml"))) {
1185
+ if (existsSync2(join5(cwd, "pyproject.toml"))) {
997
1186
  lines.push("pyproject.toml present");
998
1187
  }
999
- if (existsSync2(join4(cwd, "README.md"))) {
1188
+ if (existsSync2(join5(cwd, "README.md"))) {
1000
1189
  lines.push("README.md present");
1001
1190
  }
1002
1191
  const repoLiteral = detectGithubRemoteLiteral(cwd);
@@ -1017,7 +1206,7 @@ async function prepareForgeFitnessCommand(task, dispatch, ctx) {
1017
1206
  return null;
1018
1207
  }
1019
1208
  if (!engine) return null;
1020
- const outputDir = join4(RUNS_DIR, `fitness-${Date.now()}`);
1209
+ const outputDir = join5(RUNS_DIR, `fitness-${Date.now()}`);
1021
1210
  mkdirSync3(outputDir, { recursive: true });
1022
1211
  dispatch({ type: "info", message: `Cesar preparing fitness check with ${cesarEngineId}\u2026` });
1023
1212
  const prompt = [
@@ -1075,10 +1264,10 @@ ${describeProjectFitnessOptions(cwd)}`
1075
1264
  return null;
1076
1265
  }
1077
1266
  function inferProjectFitnessCommand(cwd) {
1078
- const packageJsonPath = join4(cwd, "package.json");
1267
+ const packageJsonPath = join5(cwd, "package.json");
1079
1268
  if (existsSync2(packageJsonPath)) {
1080
1269
  try {
1081
- const pkg = JSON.parse(readFileSync4(packageJsonPath, "utf8"));
1270
+ const pkg = JSON.parse(readFileSync5(packageJsonPath, "utf8"));
1082
1271
  const scripts = pkg && typeof pkg === "object" && pkg.scripts && typeof pkg.scripts === "object" ? pkg.scripts : {};
1083
1272
  const hasScript = (name) => typeof scripts[name] === "string" && String(scripts[name]).trim().length > 0;
1084
1273
  if (hasScript("test:ts")) return "npm run test:ts";
@@ -1088,9 +1277,9 @@ function inferProjectFitnessCommand(cwd) {
1088
1277
  } catch {
1089
1278
  }
1090
1279
  }
1091
- if (existsSync2(join4(cwd, "Cargo.toml"))) return "cargo test";
1092
- if (existsSync2(join4(cwd, "go.mod"))) return "go test ./...";
1093
- if (existsSync2(join4(cwd, "pyproject.toml"))) return "python -m pytest";
1280
+ if (existsSync2(join5(cwd, "Cargo.toml"))) return "cargo test";
1281
+ if (existsSync2(join5(cwd, "go.mod"))) return "go test ./...";
1282
+ if (existsSync2(join5(cwd, "pyproject.toml"))) return "python -m pytest";
1094
1283
  return "git diff --check";
1095
1284
  }
1096
1285
  async function handleForge(task, fitnessCmd, dispatch, ctx, existingPlan, hardened, skipPlanApproval) {
@@ -1178,7 +1367,7 @@ async function handleForge(task, fitnessCmd, dispatch, ctx, existingPlan, harden
1178
1367
  ctx.setCurrentPlan(plan);
1179
1368
  savePlan(plan);
1180
1369
  }
1181
- const forgeDir = join4(RUNS_DIR, `forge-${Date.now()}`);
1370
+ const forgeDir = join5(RUNS_DIR, `forge-${Date.now()}`);
1182
1371
  mkdirSync3(forgeDir, { recursive: true });
1183
1372
  dispatch({ type: "info", message: `Forge run dir: ${forgeDir}` });
1184
1373
  const projectCtx = scanProjectContext(forgeCwd, config.projectContext || void 0, config.contextFormat);
@@ -1365,7 +1554,7 @@ async function handleForge(task, fitnessCmd, dispatch, ctx, existingPlan, harden
1365
1554
  const convergedPath = await cesarConvergeForge(manifest, judgment, dispatch, ctx);
1366
1555
  if (convergedPath) {
1367
1556
  dispatch({ type: "success", message: "Convergence complete \u2014 merged patch ready" });
1368
- const convergedContent = readFileSync4(convergedPath, "utf-8");
1557
+ const convergedContent = readFileSync5(convergedPath, "utf-8");
1369
1558
  const applied = applyForgePatchToWorkspace("convergence", convergedContent, dispatch, preflightHead, preflightBranch);
1370
1559
  if (!applied) dispatch({ type: "patch-review", winnerId: "convergence", patchPath: convergedPath, patchContent: convergedContent });
1371
1560
  if (ctx.config.sessionContinuity === true) {
@@ -1448,7 +1637,7 @@ ${capped}`
1448
1637
  dispatch({ type: "info", message: `Patch: ${patchPath}` });
1449
1638
  if (patchPath) {
1450
1639
  try {
1451
- const patchContent = readFileSync4(patchPath, "utf-8");
1640
+ const patchContent = readFileSync5(patchPath, "utf-8");
1452
1641
  const applied = applyForgePatchToWorkspace(finalWinner, patchContent, dispatch, preflightHead, preflightBranch);
1453
1642
  if (!applied) dispatch({ type: "patch-review", winnerId: finalWinner, patchPath, patchContent });
1454
1643
  if (ctx.config.sessionContinuity === true) {
@@ -1550,6 +1739,7 @@ ${capped}`
1550
1739
  }
1551
1740
 
1552
1741
  export {
1742
+ runsStore,
1553
1743
  createScoreboard,
1554
1744
  scoreboardFinishEngine,
1555
1745
  scoreboardFailEngine,
@@ -1571,4 +1761,4 @@ export {
1571
1761
  inferProjectFitnessCommand,
1572
1762
  handleForge
1573
1763
  };
1574
- //# sourceMappingURL=chunk-CQBQPSE4.js.map
1764
+ //# sourceMappingURL=chunk-MMPLPYSK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/generated/handlers/forge.ts","../src/generated/cesar/judge.ts","../src/generated/cesar/scoreboard.ts","../src/generated/cesar/checkpoint.ts","../src/telemetry/index.ts","../src/generated/signals/runs-store.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAAS,QAAAA,aAAY;AAErB,SAAS,cAAAC,aAAY,aAAAC,YAAW,gBAAAC,qBAAoB;AAEpD,SAAS,oBAAoB;;;ACJ7B,SAAS,YAAY;AAErB,SAAS,cAAc,qBAAqB;AAkB5C,SAAS,mBAAmB,UAAkB,UAA6C;AAEzF,QAAM,WAAW,gBAAgB,QAAQ,EAAE;AAC3C,QAAM,QAAQ,SAAS,MAAM,IAAI;AACjC,MAAI,SAAS,SAAS,UAAU;AAChC,QAAM,YAAsE,CAAC;AAC7E,QAAM,kBAAsC,CAAC;AAC7C,MAAI,UAAU;AACd,MAAI,iBAAiB;AACrB,aAAW,QAAQ,OAAO;AACxB,UAAM,UAAU,KAAK,KAAK;AAE1B,UAAM,cAAc,QAAQ,MAAM,kBAAkB;AACpD,QAAI,aAAa;AACf,eAAS,YAAY,CAAC,EAAE,KAAK;AAAA,IAC/B;AAEA,UAAM,gBAAgB,QAAQ,MAAM,wBAAwB;AAC5D,QAAI,eAAe;AACjB,uBAAiB,cAAc,CAAC,EAAE,YAAY,MAAM;AAAA,IACtD;AAEA,UAAM,eAAe,QAAQ,MAAM,mBAAmB;AACtD,QAAI,cAAc;AAChB,gBAAU,aAAa,CAAC,EAAE,KAAK;AAAA,IACjC;AAEA,UAAM,gBAAgB,QAAQ,MAAM,oCAAoC;AACxE,QAAI,iBAAiB,CAAC,QAAQ,WAAW,SAAS,GAAG;AACnD,gBAAU,KAAK,EAAE,UAAU,cAAc,CAAC,GAAG,UAAU,cAAc,CAAC,GAAG,QAAQ,cAAc,CAAC,EAAE,CAAC;AAAA,IACrG;AAEA,UAAM,YAAY,QAAQ,MAAM,uDAAuD;AACvF,QAAI,WAAW;AACb,sBAAgB,KAAK,EAAE,MAAM,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,MAAM,UAAU,CAAC,GAAG,QAAQ,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC;AAAA,IAChH;AAAA,EACF;AACA,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AACA,SAAO,EAAE,QAAgB,WAAsB,iBAAkC,SAAkB,eAA+B;AACpI;AAMA,eAAsB,wBAAwB,UAAyB,UAAoB,KAAoC;AAC7H,MAAI;AACA,MAAI;AAAE,cAAU,MAAM,mBAAmB,GAAG;AAAA,EAAG,QACzC;AAAE;AAAA,EAAQ;AAChB,MAAI,CAAC,QAAQ,MAAO;AAEpB,QAAM,gBAAkB,IAAI,OAAe,eAAe,IAAI,OAAO,qBAAqB;AAC1F,QAAM,QAAQ,cAAc,aAAa,KAAK;AAG9C,MAAI,SAAS,OAAO;AAClB,UAAM,gBAAgB,SAAS,QAAQ,SAAS,IAC5C,uBAAuB,SAAS,QAAQ,KAAK,IAAI,CAAC,MAClD;AACJ,UAAM,cAAc;AAAA;AAAA,QAA4D,SAAS,IAAI;AAAA,mBAAsB,SAAS,UAAU;AAAA,SAAY,SAAS,KAAK;AAAA,EAAK,aAAa;AAAA;AAAA;AAClL,aAAS,EAAE,MAAM,iBAAiB,SAAS,qCAAgC,MAAM,CAAC;AAClF,QAAI,WAAW;AACf,QAAI;AACF,YAAM,MAAM,QAAQ,KAAK,EAAE,SAAS,aAAa,QAAQ,OAAU,CAAC;AACpE,uBAAiB,SAAS,KAAK;AAC7B,YAAI,MAAM,SAAS,OAAQ,aAAY,MAAM;AAC7C,YAAI,MAAM,SAAS,UAAU,MAAM,SAAS,QAAS;AAAA,MACvD;AAAA,IACF,QAAQ;AAAA,IAAqD;AAC7D,aAAS,EAAE,MAAM,eAAe,CAAC;AACjC,QAAI,SAAS,KAAK,GAAG;AACnB,eAAS,EAAE,MAAM,UAAU,OAAO,6BAAwB,CAAC;AAC3D,eAAS,EAAE,MAAM,gBAAgB,UAAU,eAAe,OAAO,SAAS,SAAS,KAAK,EAAE,CAAC;AAAA,IAC7F;AACA;AAAA,EACF;AAGA,MAAI,SAAS,kBAAkB;AAC7B,UAAM,kBAAkB,yEAAyE,SAAS,IAAI,0BAA0B,SAAS,UAAU;AAC3J,aAAS,EAAE,MAAM,iBAAiB,SAAS,qCAAgC,MAAM,CAAC;AAClF,QAAI,WAAW;AACf,QAAI;AACF,YAAM,MAAM,QAAQ,KAAK,EAAE,SAAS,iBAAiB,QAAQ,OAAU,CAAC;AACxE,uBAAiB,SAAS,KAAK;AAC7B,YAAI,MAAM,SAAS,OAAQ,aAAY,MAAM;AAC7C,YAAI,MAAM,SAAS,UAAU,MAAM,SAAS,QAAS;AAAA,MACvD;AAAA,IACF,QAAQ;AAAA,IAAgB;AACxB,aAAS,EAAE,MAAM,eAAe,CAAC;AACjC,QAAI,SAAS,KAAK,GAAG;AACnB,eAAS,EAAE,MAAM,UAAU,OAAO,iCAA4B,CAAC;AAC/D,eAAS,EAAE,MAAM,gBAAgB,UAAU,eAAe,OAAO,SAAS,SAAS,KAAK,EAAE,CAAC;AAAA,IAC7F;AACA;AAAA,EACF;AAGA,MAAI,SAAS,kBAAkB,SAAS,QAAQ;AAC9C,UAAM,WAAW,SAAS;AAC1B,UAAM,eAAgB,SAAS,QAAgB,QAAQ;AACvD,QAAI,cAAc;AAClB,UAAM,kBAAkB,SAAS,QAAQ,QAAQ;AACjD,QAAI,iBAAiB;AACnB,UAAI;AACF,cAAM,YAAY,aAAa,iBAAiB,OAAO;AACvD,cAAM,QAAQ,UAAU,MAAM,IAAI;AAClC,sBAAc,MAAM,MAAM,GAAG,GAAG,EAAE,KAAK,IAAI;AAC3C,YAAI,MAAM,SAAS,IAAK,gBAAe;AAAA,OAAU,MAAM,SAAS,GAAG;AAAA,MACrE,QAAQ;AAAE,sBAAc;AAAA,MAA2B;AAAA,IACrD;AACA,UAAM,aAAa,OAAO,QAAQ,SAAS,OAAc,EACtD,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,OAAO,YAAY,CAAE,EAAU,IAAI,EACvD,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,KAAM,EAAU,WAAW,MAAO,EAAU,aAAa,CAAC,WAAY,EAAU,OAAO,WAAW,QAAQ,EAAE,EACpI,KAAK,IAAI;AAEZ,UAAM,iBAAiB;AAAA;AAAA,UAErB,SAAS,IAAI;AAAA,qBACF,SAAS,UAAU;AAAA,mBACrB,QAAQ,YAAY,cAAc,SAAS,CAAC;AAAA;AAAA,IAE3D,cAAc,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,IAK/B,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oEAMgD,mBAAmB,iBAAiB;AAAA;AAAA;AAI3F,aAAS,EAAE,MAAM,iBAAiB,SAAS,mBAAmB,QAAQ,0BAAqB,MAAM,CAAC;AAClG,QAAI,WAAW;AACf,QAAI;AACF,YAAM,MAAM,QAAQ,KAAK,EAAE,SAAS,gBAAgB,QAAQ,OAAU,CAAC;AACvE,uBAAiB,SAAS,KAAK;AAC7B,YAAI,MAAM,SAAS,OAAQ,aAAY,MAAM;AAC7C,YAAI,MAAM,SAAS,UAAU,MAAM,SAAS,QAAS;AAAA,MACvD;AAAA,IACF,QAAQ;AAAA,IAAgB;AACxB,aAAS,EAAE,MAAM,eAAe,CAAC;AACjC,QAAI,SAAS,KAAK,GAAG;AACnB,eAAS,EAAE,MAAM,UAAU,OAAO,iCAA4B,QAAQ,IAAI,CAAC;AAC3E,eAAS,EAAE,MAAM,gBAAgB,UAAU,eAAe,OAAO,SAAS,SAAS,KAAK,EAAE,CAAC;AAAA,IAC7F;AACA;AAAA,EACF;AAGA,MAAI,CAAC,SAAS,QAAQ;AACpB,UAAM,iBAAiB,oBAAoB,SAAS,iBAAiB,sDAAsD,SAAS,IAAI;AAAA;AAAA,mBAAwB,SAAS,UAAU;AAAA;AAAA;AAAA,EAAyB,OAAO,QAAQ,SAAS,OAAc,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,UAAW,EAAU,IAAI,WAAY,EAAU,KAAK,KAAM,EAAU,aAAa,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC;AAAA;AAAA;AAClX,aAAS,EAAE,MAAM,iBAAiB,SAAS,wCAAmC,MAAM,CAAC;AACrF,QAAI,WAAW;AACf,QAAI;AACF,YAAM,MAAM,QAAQ,KAAK,EAAE,SAAS,gBAAgB,QAAQ,OAAU,CAAC;AACvE,uBAAiB,SAAS,KAAK;AAC7B,YAAI,MAAM,SAAS,OAAQ,aAAY,MAAM;AAC7C,YAAI,MAAM,SAAS,UAAU,MAAM,SAAS,QAAS;AAAA,MACvD;AAAA,IACF,QAAQ;AAAA,IAAgB;AACxB,aAAS,EAAE,MAAM,eAAe,CAAC;AACjC,QAAI,SAAS,KAAK,GAAG;AACnB,eAAS,EAAE,MAAM,UAAU,OAAO,yBAAoB,CAAC;AACvD,eAAS,EAAE,MAAM,gBAAgB,UAAU,eAAe,OAAO,SAAS,SAAS,KAAK,EAAE,CAAC;AAAA,IAC7F;AACA;AAAA,EACF;AAKN;AAMA,eAAsB,gBAAgB,UAAyB,UAAoB,KAAkD;AAE/H,MAAI;AACJ,MAAI;AACF,cAAU,MAAM,mBAAmB,GAAG;AAAA,EACxC,QAAQ;AACN,WAAO;AAAA,EACT;AACA,MAAI,CAAC,QAAQ,MAAO,QAAO;AAE3B,QAAM,gBAAkB,IAAI,OAAe,eAAe,IAAI,OAAO,qBAAqB;AAC1F,QAAM,QAAQ,cAAc,aAAa,KAAK;AAG9C,QAAM,kBAA4B,CAAC;AACnC,QAAM,aAAuB,CAAC;AAC9B,aAAW,CAAC,IAAI,MAAM,KAAK,OAAO,QAAQ,SAAS,OAAO,GAAsB;AAC9E,QAAI,eAAe;AACnB,UAAM,YAAY,SAAS,QAAQ,EAAE;AACrC,QAAI,WAAW;AACb,UAAI;AACF,cAAM,QAAQ,aAAa,WAAW,OAAO;AAC7C,mBAAW,KAAK,KAAK;AAErB,cAAM,QAAQ,MAAM,MAAM,IAAI;AAC9B,uBAAe,MAAM,MAAM,GAAG,GAAG,EAAE,KAAK,IAAI;AAC5C,YAAI,MAAM,SAAS,IAAK,iBAAgB;AAAA,OAAU,MAAM,SAAS,GAAG;AAAA,MACtE,QAAQ;AAAE,uBAAe;AAAA,MAAsB;AAAA,IACjD;AACA,oBAAgB;AAAA,MACd,OAAO,EAAE;AAAA,WACG,OAAO,KAAK,YAAY,OAAO,IAAI,YAAY,OAAO,SAAS,mBAAmB,OAAO,YAAY,YAAY,OAAO,WAAW;AAAA;AAAA,EAChI,YAAY;AAAA;AAAA,IAC7B;AAAA,EACF;AAEA,QAAM,cAAc;AAAA;AAAA,UAEhB,SAAS,IAAI;AAAA,qBACF,SAAS,UAAU;AAAA,sBAClB,SAAS,UAAU,MAAM;AAAA;AAAA;AAAA;AAAA,IAI3C,gBAAgB,KAAK,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoB1B,WAAS,EAAE,MAAM,iBAAiB,SAAS,qCAAgC,MAAM,CAAC;AAElF,MAAI,gBAAgB;AACpB,MAAI;AACF,UAAM,MAAM,QAAQ,KAAK,EAAE,SAAS,aAAa,QAAQ,OAAU,CAAC;AACpE,qBAAiB,SAAS,KAAK;AAC7B,UAAI,MAAM,SAAS,OAAQ,kBAAiB,MAAM;AAClD,UAAI,MAAM,SAAS,UAAU,MAAM,SAAS,QAAS;AAAA,IACvD;AAAA,EACF,QAAQ;AACN,aAAS,EAAE,MAAM,eAAe,CAAC;AACjC,WAAO;AAAA,EACT;AACA,WAAS,EAAE,MAAM,eAAe,CAAC;AAGjC,QAAM,WAAW,mBAAmB,eAAe,QAAQ;AAG3D,QAAM,OAAO,gBAAgB,aAAa;AAC1C,MAAI,KAAK,UAAU,MAAM;AACvB,aAAS,EAAE,MAAM,QAAQ,SAAS,gBAAgB,KAAK,KAAK,IAAI,iBAAiB,CAAC;AAAA,EACpF;AAGA,MAAI,UAAU;AACZ,QAAI;AACF;AAAA,QACE,SAAS;AAAA,QACT,SAAS,UAAU;AAAA,QACnB,OAAO,KAAK,SAAS,OAAO;AAAA,QAC5B,aAAa,SAAS,IAAI;AAAA,QAC1B,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,QACT,yBAAyB,WAAW,KAAK,IAAI,CAAC;AAAA,MAChD;AAAA,IACF,SAAS,KAAK;AACZ,cAAQ,KAAK,iDAAiD,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC,EAAE;AAAA,IAClH;AAEA,aAAS,EAAE,MAAM,UAAU,OAAO,mBAAoB,CAAC;AACvD,aAAS,EAAE,MAAM,WAAW,SAAS,WAAW,SAAS,MAAM,GAAG,CAAC;AAEnE,QAAI,SAAS,UAAU,SAAS,GAAG;AACjC,eAAS,EAAE,MAAM,QAAQ,SAAS,wBAAwB,CAAC;AAC3D,iBAAW,KAAK,SAAS,WAAW;AAClC,cAAM,SAAS,cAAc,EAAE,QAAQ,KAAK;AAC5C,iBAAS,EAAE,MAAM,gBAAgB,UAAU,EAAE,UAAU,OAAO,QAAQ,SAAS,GAAG,EAAE,QAAQ,WAAM,EAAE,MAAM,GAAG,CAAC;AAAA,MAChH;AAAA,IACF;AAEA,aAAS,EAAE,MAAM,QAAQ,SAAS,SAAS,QAAQ,CAAC;AAEpD,QAAI,SAAS,kBAAkB,SAAS,gBAAgB,SAAS,GAAG;AAClE,eAAS,EAAE,MAAM,UAAU,OAAO,mBAAmB,CAAC;AACtD,iBAAW,SAAS,SAAS,iBAAiB;AAC5C,cAAM,SAAS,cAAc,MAAM,IAAI,KAAK;AAC5C,iBAAS,EAAE,MAAM,gBAAgB,UAAU,MAAM,MAAM,OAAO,QAAQ,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,EAAE,WAAM,MAAM,MAAM,GAAG,CAAC;AAAA,MAChI;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACb;AAMA,eAAsB,mBAAmB,UAAyB,UAAyB,UAAoB,KAA2C;AACxJ,MAAI;AACA,MAAI;AACF,cAAU,MAAM,mBAAmB,GAAG;AAAA,EACxC,QAAQ;AAAE,WAAO;AAAA,EAAM;AACvB,MAAI,CAAC,QAAQ,MAAO,QAAO;AAE3B,QAAM,gBAAkB,IAAI,OAAe,eAAe,IAAI,OAAO,qBAAqB;AAC1F,QAAM,QAAQ,cAAc,aAAa,KAAK;AAG9C,QAAM,gBAAwC,CAAC;AAC/C,MAAI,SAAS,UAAU,SAAS,QAAQ,SAAS,MAAM,GAAG;AACxD,QAAI;AACF,oBAAc,SAAS,MAAM,IAAI,aAAa,SAAS,QAAQ,SAAS,MAAM,GAAG,OAAO;AAAA,IAC1F,QAAQ;AAAA,IAAwB;AAAA,EAClC;AACA,aAAW,SAAS,SAAS,iBAAiB;AAC5C,QAAI,CAAC,cAAc,MAAM,IAAI,KAAK,SAAS,QAAQ,MAAM,IAAI,GAAG;AAC9D,UAAI;AACF,sBAAc,MAAM,IAAI,IAAI,aAAa,SAAS,QAAQ,MAAM,IAAI,GAAG,OAAO;AAAA,MAChF,QAAQ;AAAA,MAAwB;AAAA,IAClC;AAAA,EACF;AAGA,QAAM,gBAAgB,OAAO,QAAQ,aAAa,EAAE,IAAI,CAAC,CAAC,IAAI,OAAO,MAAM;AACzE,UAAM,QAAQ,QAAQ,MAAM,IAAI;AAChC,UAAM,UAAU,MAAM,MAAM,GAAG,GAAG,EAAE,KAAK,IAAI;AAC7C,WAAO,OAAO,EAAE;AAAA;AAAA,EAAyB,OAAO;AAAA;AAAA,EAClD,CAAC,EAAE,KAAK,MAAM;AAEd,QAAM,YAAY,SAAS,gBAAgB;AAAA,IAAI,OAC7C,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,KAAK,EAAE,IAAI,YAAO,EAAE,MAAM;AAAA,EACzD,EAAE,KAAK,IAAI;AAEX,QAAM,iBAAiB;AAAA;AAAA,UAEnB,SAAS,IAAI;AAAA,YACX,SAAS,MAAM;AAAA;AAAA;AAAA,IAGvB,SAAS;AAAA;AAAA;AAAA,IAGT,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASX,WAAS,EAAE,MAAM,iBAAiB,SAAS,4CAAuC,MAAM,CAAC;AAEzF,MAAI,iBAAiB;AACrB,MAAI;AACF,UAAM,MAAM,QAAQ,KAAK,EAAE,SAAS,gBAAgB,QAAQ,OAAU,CAAC;AACvE,qBAAiB,SAAS,KAAK;AAC7B,UAAI,MAAM,SAAS,OAAQ,mBAAkB,MAAM;AACnD,UAAI,MAAM,SAAS,UAAU,MAAM,SAAS,QAAS;AAAA,IACvD;AAAA,EACF,QAAQ;AACN,aAAS,EAAE,MAAM,eAAe,CAAC;AACjC,WAAO;AAAA,EACT;AACA,WAAS,EAAE,MAAM,eAAe,CAAC;AAGjC,MAAI,QAAQ,eAAe,KAAK;AAChC,QAAM,aAAa,MAAM,MAAM,6BAA6B;AAC5D,MAAI,WAAY,SAAQ,WAAW,CAAC,EAAE,KAAK;AAE3C,MAAI,CAAC,SAAS,CAAC,MAAM,SAAS,KAAK,GAAG;AACpC,aAAS,EAAE,MAAM,WAAW,SAAS,kDAAkD,CAAC;AACxF,WAAO;AAAA,EACT;AAGA,QAAM,eAAe,KAAK,SAAS,UAAU,wBAAwB;AACrE,gBAAc,cAAc,OAAO,OAAO;AAE1C,SAAO;AACb;;;AC5YO,SAAS,iBAAiB,OAAe,MAAc,WAAiC;AAC7F,QAAM,MAAM,KAAK,IAAI;AACrB,SAAO,EAAE,OAAc,MAAY,WAAW,KAAK,SAAS,UAAU,IAAI,CAAC,OAAO,OAAO,OAAO,CAAC,GAAG,EAAE,UAAU,IAAI,OAAO,WAAoC,UAAU,EAAE,CAAC,CAAC,GAAG,cAAc,UAAU;AAC1M;AAGA,SAAS,eAAe,OAAmB,UAA6C;AACtF,SAAO,MAAM,QAAQ,KAAK,CAAC,MAAM,EAAE,aAAa,QAAQ;AAC1D;AAcO,SAAS,yBAAyB,OAAmB,UAAkB,UAA8B;AAC1G,QAAM,QAAQ,eAAe,OAAO,QAAQ;AAC5C,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AACA,QAAM,WAAW,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,KAAK,MAAM,QAAQ,CAAC,CAAC;AAChE,SAAO;AACT;AAGO,SAAS,uBAAuB,OAAmB,UAAkB,MAAmD;AAC7H,QAAM,QAAQ,eAAe,OAAO,QAAQ;AAC5C,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AACA,QAAM,QAAQ;AACd,QAAM,aAAa,KAAK,IAAI;AAC5B,QAAM,WAAW;AACjB,MAAI,MAAM,UAAU,QAAW;AAC7B,UAAM,QAAQ,KAAK;AAAA,EACrB;AACA,MAAI,MAAM,WAAW,QAAW;AAC9B,UAAM,SAAS,KAAK;AAAA,EACtB;AACA,6BAA2B,KAAK;AAChC,SAAO;AACT;AAGO,SAAS,qBAAqB,OAAmB,UAAkB,OAA2B;AACnG,QAAM,QAAQ,eAAe,OAAO,QAAQ;AAC5C,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AACA,QAAM,QAAQ;AACd,QAAM,aAAa,KAAK,IAAI;AAC5B,QAAM,QAAQ;AACd,6BAA2B,KAAK;AAChC,SAAO;AACT;AAeA,SAAS,2BAA2B,OAAyB;AAC3D,MAAI,MAAM,QAAQ,MAAM,CAAC,MAAM,EAAE,UAAU,MAAM,GAAG;AAClD,UAAM,eAAe;AAAA,EACvB,WAAW,MAAM,QAAQ,MAAM,CAAC,MAAM,EAAE,UAAU,QAAQ,GAAG;AAC3D,UAAM,eAAe;AAAA,EACvB,WAAW,MAAM,QAAQ,MAAM,CAAC,MAAM,EAAE,UAAU,UAAU,EAAE,UAAU,YAAY,EAAE,UAAU,WAAW,GAAG;AAC5G,UAAM,eAAe;AAAA,EACvB,WAAW,MAAM,QAAQ,KAAK,CAAC,MAAM,EAAE,UAAU,SAAS,GAAG;AAC3D,UAAM,eAAe;AAAA,EACvB;AACF;AAGO,SAAS,qBAAqB,OAAgC;AAEnE,QAAM,UAAiD;AAAA,IACrD,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,WAAW;AAAA,EACb;AACA,QAAM,QAAQ,cAAc,MAAM,QAAQ,KAAK;AAC/C,QAAM,OAAO,QAAQ,MAAM,KAAK;AAChC,QAAM,MAAM,MAAM,UAAU,YACxB,GAAG,MAAM,QAAQ,MAChB,MAAM,UAAU,UAAU,MAAM,SAAS,OACxC,SAAS,MAAM,KAAK,KACpB;AACN,QAAM,SAAS,MAAM,SAAS,WAAW,MAAM,MAAM,KAAK;AAC1D,QAAM,QAAQ,MAAM,QAAQ,KAAK,MAAM,KAAK,MAAM;AAClD,SAAO,aAAa,KAAK,IAAI,IAAI,IAAI,MAAM,QAAQ,GAAG,MAAM,IAAI,GAAG,KAAK,EAAE,GAAG,MAAM,GAAG,KAAK;AAC7F;AAGO,SAAS,iBAAiB,OAA2B;AAC1D,QAAM,QAAQ,MAAM,QAAQ,IAAI,CAAC,MAAM,qBAAqB,CAAC,CAAC;AAC9D,SAAO,MAAM,KAAK,IAAI;AACxB;;;AC7IA,SAAS,QAAAC,aAAY;AAErB,SAAS,WAAW,gBAAgB,YAAY,gBAAAC,qBAAoB;AAsBpE,SAAS,qBAA6B;AACpC,SAAO,OAAO,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC;AACjF;AAGO,SAAS,gBAAgB,OAAe,OAAwB,MAAc,WAAqB,UAA+C;AACvJ,QAAM,MAAM,kBAAkB;AAC9B,MAAI,SAAS;AACb,MAAI,eAAyB,CAAC;AAC9B,MAAI;AAAE,aAAS,cAAc,GAAG;AAAA,EAAG,QAAQ;AAAA,EAAa;AACxD,MAAI;AAAE,mBAAe,gBAAgB,GAAG;AAAA,EAAG,QAAQ;AAAA,EAAa;AAChE,SAAO;AAAA,IACL,IAAI,mBAAmB;AAAA,IACvB;AAAA,IACA;AAAA,IACA,IAAI,KAAK,IAAI;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAMO,SAAS,iBAAiB,IAAgB,SAAwB;AACvE,MAAI;AACF,UAAM,MAAM,WAAW;AACvB,cAAU,KAAK,EAAE,WAAW,KAAK,CAAC;AAClC,mBAAeC,MAAK,KAAK,mBAAmB,GAAG,KAAK,UAAU,EAAE,IAAI,IAAI;AAAA,EAC1E,QAAQ;AAAA,EAAiC;AAC3C;;;ACxDA,SAAS,gBAAAC,eAAc,iBAAAC,gBAAe,aAAAC,kBAAiB;AACvD,SAAS,QAAAC,OAAM,eAAe;AAC9B,SAAS,eAAe;;;ACLxB,SAAS,gBAAAC,eAAc,iBAAAC,sBAAqB;AAE5C,SAAS,SAAS,MAAM,cAAc;AAEtC,SAAS,QAAAC,aAAY;AAQd,IAAM,kBAA0B,IAAI,KAAK,KAAK,KAAK;AAMnD,IAAM,eAAuB;AAM7B,IAAM,eAAuB;AAM7B,IAAM,yBAAiC,KAAK,KAAK;AAMjD,IAAM,wBAAgC,KAAK,KAAK;AAMhD,IAAM,kBAA0B;AAMhC,IAAM,mBAA2B;AAsBxC,SAAS,cAAsB;AAC7B,SAAO,SAAS,MAAM;AACxB;AAGA,SAAS,iBAAyB;AAChC,SAAOC,MAAK,SAAS,MAAM,GAAG,gBAAgB;AAChD;AAMA,eAAe,mBAAiE;AAC9E,QAAM,MAAM,YAAY;AACxB,MAAI;AACJ,MAAI;AACF,YAAQ,MAAM,QAAQ,GAAG;AAAA,EAC3B,QAAQ;AACN,WAAO,CAAC;AAAA,EACV;AACA,QAAM,MAA2C,CAAC;AAClD,aAAW,SAAS,OAAO;AACzB,QAAI,CAAC,MAAM,SAAS,OAAO,EAAG;AAC9B,QAAI;AACF,YAAM,KAAK,MAAM,KAAKA,MAAK,KAAK,KAAK,CAAC;AACtC,UAAI,GAAG,OAAO,EAAG,KAAI,KAAK,EAAE,MAAM,OAAO,SAAS,GAAG,QAAQ,CAAC;AAAA,IAChE,QAAQ;AAAA,IAER;AAAA,EACF;AACA,SAAO;AACT;AAMA,eAAe,oBAAqC;AAClD,QAAM,MAAM,YAAY;AACxB,MAAI;AACJ,MAAI;AACF,YAAQ,MAAM,QAAQ,GAAG;AAAA,EAC3B,QAAQ;AACN,WAAO;AAAA,EACT;AACA,MAAI,QAAQ;AACZ,aAAW,SAAS,OAAO;AACzB,QAAI,MAAM,SAAS,OAAO,EAAG;AAAA,EAC/B;AACA,SAAO;AACT;AAMA,SAAS,iBAAyB;AAChC,MAAI;AACF,UAAM,MAAMC,cAAa,eAAe,GAAG,OAAO,EAAE,KAAK;AACzD,UAAM,IAAI,OAAO,GAAG;AACpB,WAAO,OAAO,SAAS,CAAC,IAAI,IAAI;AAAA,EAClC,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAMA,SAAS,gBAAgB,IAAkB;AACzC,MAAI;AACF,IAAAC,eAAc,eAAe,GAAG,OAAO,EAAE,CAAC;AAAA,EAC5C,QAAQ;AAAA,EAER;AACF;AAMO,SAAS,uBAAuB,OAA4C,KAAa,cAAkC;AAWhI,QAAM,WAAW,CAAC,aAChB,aAAa,KAAK,CAAC,OAAO;AACxB,QAAI,CAAC,GAAI,QAAO;AAChB,QAAI,aAAa,GAAG,EAAE,QAAS,QAAO;AACtC,QAAI,CAAC,SAAS,WAAW,EAAE,EAAG,QAAO;AACrC,UAAM,OAAO,SAAS,OAAO,GAAG,MAAM;AAEtC,WAAO,SAAS,MAAM,CAAC,cAAc,KAAK,IAAI;AAAA,EAChD,CAAC;AAIH,QAAM,YAAY,MACf,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,KAAK,MAAM,EAAE,WAAW,sBAAsB,EAC5E,KAAK,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,OAAO;AAEvC,QAAM,SAAS,MAAM;AACrB,QAAM,eAAe,UAAU,OAAO,CAAC,MAAM,EAAE,UAAU,MAAM;AAE/D,QAAM,aAAa,oBAAI,IAAkB;AAKzC,QAAM,eAAe,KAAK,IAAI,GAAG,MAAM,SAAS,YAAY;AAC5D,QAAM,kBAAkB,KAAK,IAAI,cAAc,aAAa,MAAM;AAClE,WAAS,IAAI,GAAG,IAAI,iBAAiB,KAAK;AACxC,eAAW,IAAI,aAAa,CAAC,EAAE,MAAM,IAAI;AAAA,EAC3C;AAIA,QAAM,uBAAuB,KAAK,IAAI,GAAG,MAAM,SAAS,YAAY;AACpE,MAAI,IAAI;AACR,SAAO,WAAW,OAAO,wBAAwB,IAAI,UAAU,QAAQ;AACrE,eAAW,IAAI,UAAU,CAAC,EAAE,MAAM,IAAI;AACtC;AAAA,EACF;AAGA,SAAO,UAAU,OAAO,CAAC,MAAM,WAAW,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI;AAC1E;AAMO,IAAM,YAAN,MAAgB;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EAER,cAAc;AACZ,SAAK,OAAO,EAAE,OAAO,GAAG,YAAY,EAAE;AACtC,SAAK,eAAe;AACpB,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,WAAyB;AACvB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,WAAmB;AACjB,WAAO,KAAK,KAAK;AAAA,EACnB;AAAA,EAEA,MAAM,UAAiC;AAGrC,UAAM,IAAI,QAAc,CAACC,aAAY,WAAWA,UAAS,CAAC,CAAC;AAG3D,UAAM,QAAQ,MAAM,kBAAkB;AACtC,SAAK,OAAO,EAAE,OAAO,YAAY,KAAK,IAAI,EAAE;AAC5C,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,gBAAgB,SAAwB;AACtC,UAAM,QAAQ,OAAO,YAAY,YAAY,WAAW,IAAI,UAAU;AACtE,QAAI,KAAK,aAAc,cAAa,KAAK,YAAY;AACrD,UAAM,QAAQ,WAAW,MAAM;AAC7B,WAAK,eAAe;AAEpB,WAAK,KAAK,QAAQ,EAAE,MAAM,MAAM;AAAA,MAA6B,CAAC;AAAA,IAChE,GAAG,KAAK;AACR,SAAK,eAAe;AAEpB,QAAI,OAAQ,MAAc,UAAU,WAAY,CAAC,MAAc,MAAM;AAAA,EACvE;AAAA,EAEA,MAAM,WAAW,MAA2C;AAK1D,QAAI,KAAK,SAAS;AAChB,aAAO,EAAE,SAAS,GAAG,SAAS,MAAM,QAAQ,cAAc;AAAA,IAC5D;AACA,SAAK,UAAU;AACf,QAAI;AACF,YAAM,QAAQ,MAAM,UAAU;AAC9B,YAAM,MAAM,KAAK,IAAI;AAUrB,UAAI,UAAU;AACd,UAAI;AACF,qBAAa,eAAe,IAAI,SAAS,MAAM;AAC7C,gBAAM,YAAY,eAAe;AACjC,cAAI,CAAC,SAAS,YAAY,KAAK,MAAM,YAAY,sBAAuB;AACxE,0BAAgB,GAAG;AACnB,oBAAU;AAAA,QACZ,CAAC;AAAA,MACH,QAAQ;AACN,eAAO,EAAE,SAAS,GAAG,SAAS,MAAM,QAAQ,iBAAiB;AAAA,MAC/D;AACA,UAAI,CAAC,SAAS;AACZ,eAAO,EAAE,SAAS,GAAG,SAAS,MAAM,QAAQ,WAAW;AAAA,MACzD;AAEA,YAAM,QAAQ,MAAM,iBAAiB;AACrC,YAAM,YAAY,MAAM,QAAQ,MAAM,YAAY,IAAI,KAAM,eAAgB,CAAC;AAC7E,YAAM,WAAW,uBAAuB,OAAO,KAAK,SAAS;AAE7D,UAAI,SAAS,WAAW,GAAG;AAEzB,aAAK,OAAO,EAAE,OAAO,MAAM,QAAQ,YAAY,IAAI;AACnD,eAAO,EAAE,SAAS,GAAG,SAAS,MAAM,QAAQ,gBAAgB;AAAA,MAC9D;AAEA,YAAM,MAAM,YAAY;AACxB,UAAI,UAAU;AACd,eAAS,MAAM,GAAG,MAAM,SAAS,QAAQ,OAAO;AAC9C,YAAI;AACF,gBAAM,OAAOH,MAAK,KAAK,SAAS,GAAG,CAAC,CAAC;AACrC;AAAA,QACF,QAAQ;AAAA,QAER;AAEA,aAAK,MAAM,KAAK,oBAAoB,GAAG;AACrC,gBAAM,IAAI,QAAc,CAACG,aAAY,WAAWA,UAAS,CAAC,CAAC;AAAA,QAC7D;AAAA,MACF;AAMA,YAAM,aAAa,KAAK,IAAI;AAC5B,UAAI;AACF,qBAAa,eAAe,IAAI,SAAS,MAAM,gBAAgB,UAAU,CAAC;AAAA,MAC5E,QAAQ;AAAA,MAAiF;AACzF,YAAM,YAAY,MAAM,kBAAkB;AAC1C,WAAK,OAAO,EAAE,OAAO,WAAW,YAAY,WAAW;AAEvD,UAAI,UAAU,KAAK,QAAQ,IAAI,YAAY;AAEzC,gBAAQ,MAAM,8BAA8B,OAAO,4BAA4B,SAAS,EAAE;AAAA,MAC5F;AACA,aAAO,EAAE,SAAS,SAAS,OAAO,QAAQ,SAAS;AAAA,IACrD,UAAE;AACA,WAAK,UAAU;AAAA,IACjB;AAAA,EACF;AACF;AAMO,IAAM,YAAY,IAAI,UAAU;;;ADzRhC,IAAM,iBAAiB;AAI9B,SAAS,cAAsB;AAC7B,QAAM,WAAW,QAAQ,IAAI,WAAW,KAAK;AAC7C,SAAO,WAAW,QAAQ,QAAQ,IAAIC,MAAK,QAAQ,GAAG,OAAO;AAC/D;AAEA,SAAS,gBAAwB;AAC/B,SAAOA,MAAK,YAAY,GAAG,gBAAgB;AAC7C;AAQO,SAAS,iBAAiB,MAAc,QAA2B;AACxE,QAAM,IAAI,KAAK,YAAY;AAC3B,QAAM,QAAQ,UAAU,IAAI,YAAY;AAGxC,MAAI,MAAM,SAAU,QAAO;AAG3B,MAAI,KAAK,SAAS,GAAG;AACnB,QAAI,gEAAgE,KAAK,IAAI,EAAG,QAAO;AACvF,QAAI,wDAAwD,KAAK,IAAI,EAAG,QAAO;AAC/E,QAAI,wFAAwF,KAAK,IAAI,EAAG,QAAO;AAC/G,QAAI,4CAA4C,KAAK,IAAI,EAAG,QAAO;AACnE,QAAI,8DAA8D,KAAK,IAAI,EAAG,QAAO;AAAA,EACvF;AAGA,MAAI,MAAM,WAAW,MAAM,WAAW,MAAM,gBAAgB,MAAM,aAAc,QAAO;AACvF,MAAI,MAAM,WAAY,QAAO;AAC7B,MAAI,MAAM,gBAAgB,MAAM,kBAAmB,QAAO;AAC1D,MAAI,MAAM,cAAc,MAAM,gBAAiB,QAAO;AACtD,MAAI,MAAM,WAAY,QAAO;AAC7B,MAAI,MAAM,WAAW,MAAM,gBAAgB,MAAM,YAAa,QAAO;AAErE,SAAO;AACT;AAIO,IAAM,kBAAN,MAAsB;AAAA,EACnB;AAAA,EAER,YAAY,UAAmB;AAC7B,SAAK,WAAW,YAAY,cAAc;AAAA,EAC5C;AAAA;AAAA,EAGA,OAAsB;AACpB,QAAI;AACF,YAAM,MAAMC,cAAa,KAAK,UAAU,OAAO;AAC/C,YAAM,SAAS,KAAK,MAAM,GAAG;AAC7B,UAAI,UAAU,MAAM,QAAQ,OAAO,IAAI,EAAG,QAAO;AAAA,IACnD,QAAQ;AAAA,IAER;AACA,WAAO,EAAE,SAAS,GAAG,MAAM,CAAC,EAAE;AAAA,EAChC;AAAA;AAAA,EAGA,MAAM,MAA2B;AAC/B,UAAM,MAAMD,MAAK,KAAK,UAAU,IAAI;AACpC,IAAAE,WAAU,KAAK,EAAE,WAAW,KAAK,CAAC;AAClC,IAAAC,eAAc,KAAK,UAAU,KAAK,UAAU,MAAM,MAAM,CAAC,CAAC;AAAA,EAC5D;AAAA;AAAA,EAGA,OAAO,QAAyB;AAC9B,UAAM,OAAO,KAAK,KAAK;AACvB,SAAK,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,KAAK,MAAM,MAAM,EAAE,CAAC;AAAA,EACtD;AAAA;AAAA,EAGA,WAAW,QAAgB,gBAAgB,MAA4B;AACrE,UAAM,OAAO,KAAK,KAAK;AACvB,QAAI,OAAO,KAAK;AAChB,QAAI,KAAM,QAAO,KAAK,OAAO,CAAC,MAAM,EAAE,SAAS,IAAI;AACnD,WAAO,KAAK,MAAM,CAAC,KAAK;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS,SAAiB,gBAAgC;AACxD,UAAM,OAAO,KAAK,WAAW,MAAM;AACnC,UAAM,SAAS,oBAAI,IAA6C;AAEhE,eAAW,KAAK,MAAM;AACpB,YAAM,QAAQ,OAAO,IAAI,EAAE,IAAI,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE;AACxD,YAAM,SAAS;AACf,UAAI,EAAE,QAAS,OAAM,QAAQ;AAC7B,aAAO,IAAI,EAAE,MAAM,KAAK;AAAA,IAC1B;AAEA,UAAM,UAA0B,CAAC;AACjC,eAAW,CAAC,MAAM,EAAE,OAAO,KAAK,CAAC,KAAK,QAAQ;AAC5C,cAAQ,KAAK,EAAE,MAAM,OAAO,MAAM,MAAM,QAAQ,IAAI,OAAO,QAAQ,EAAE,CAAC;AAAA,IACxE;AAGA,UAAM,eAAe,KAAK;AAC1B,UAAM,cAAc,KAAK,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE;AAClD,YAAQ,KAAK;AAAA,MACX,MAAM;AAAA,MACN,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM,eAAe,IAAI,cAAc,eAAe;AAAA,IACxD,CAAC;AAED,WAAO;AAAA,EACT;AACF;AAIA,IAAM,gBAAgB,IAAI,gBAAgB;AAMnC,SAAS,UAAU,QAAwC;AAChE,QAAM,QAAQ,OAAO,SAAS,aAAa,aAAa,QAAQ,SAAS,IAAI;AAC7E,QAAM,SAAoB;AAAA,IACxB,IAAI,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC;AAAA,IAC/D,WAAW,KAAK,IAAI;AAAA,IACpB,MAAM,OAAO;AAAA,IACb,UAAU,iBAAiB,OAAO,MAAM,OAAO,MAAM;AAAA,IACrD,QAAQ,OAAO;AAAA,IACf,SAAS,OAAO;AAAA,IAChB,YAAY,OAAO;AAAA,IACnB,WAAW,OAAO,aAAa,CAAC;AAAA,IAChC,iBAAiB,OAAO;AAAA,IACxB,iBAAiB,OAAO,gBAAgB;AAAA,EAC1C;AACA,gBAAc,OAAO,MAAM;AAM3B,MAAI;AAAE,cAAU,gBAAgB;AAAA,EAAG,QAAQ;AAAA,EAAqB;AAChE,SAAO;AACT;AAKO,SAAS,iBAAiB,QAAuF;AACtH,QAAM,OAAO,OAAO;AACpB,QAAM,SAAS,OAAO,UAAU;AAChC,QAAM,OAAO,OAAO,mBAAmB,OAAO,kBAAkB,IAC5D,IAAI,OAAO,gBAAgB,QAAQ,CAAC,CAAC,KACrC;AACJ,QAAM,OAAO,KAAK,MAAM,OAAO,aAAa,GAAK;AACjD,QAAM,OAAO,KAAK,MAAO,OAAO,aAAa,MAAS,GAAI;AAC1D,QAAM,OAAO,OAAO,IAAI,GAAG,IAAI,KAAK,IAAI,MAAM,GAAG,IAAI;AACrD,QAAM,WAAW,OAAO,SAAM,IAAI,KAAK;AACvC,SAAO,GAAG,IAAI,oBAAe,MAAM,OAAO,QAAQ,SAAM,IAAI;AAC9D;;;AJvMA,SAAS,iBAAiB,OAAY,MAAY,cAAqC,UAAoB,KAA2B;AACpI,MAAI,IAAI,aAAa,UAAU,YAAa,QAAO;AACnD,QAAM,KAAK,MAAM,YAAY;AAE7B,UAAQ,MAAM,MAAM;AAAA,IAClB,KAAK;AACH,aAAO,gBAAgB,MAAM,YAAY,EAAE,OAAO,WAAW,UAAU,CAAC,EAAE,YAAW,oBAAI,KAAK,GAAE,YAAY,EAAE,CAAC,EAAE,CAAC;AAClH;AAAA,IACF,KAAK;AACH,aAAO,gBAAgB,MAAM,YAAY,EAAE,OAAO,YAAY,CAAC;AAC/D,UAAI,MAAM,MAAM,QAAQ;AACtB,iBAAS,EAAE,MAAM,WAAW,SAAS,iJAA4I,CAAC;AAAA,MACpL;AACA;AAAA,IACF,KAAK;AACH,aAAO,gBAAgB,MAAM,YAAY,EAAE,OAAO,WAAW,UAAU,CAAC,EAAE,YAAW,oBAAI,KAAK,GAAE,YAAY,EAAE,CAAC,EAAE,CAAC;AAClH,mBAAa,EAAE,IAAI;AACnB;AAAA,IACF,KAAK;AACH,mBAAa,EAAE,IAAI;AACnB;AAAA,IACF,KAAK,mBAAmB;AACtB,UAAI,IAAI;AACN,qBAAa,EAAE,IAAI;AACnB,cAAM,eAAe,OAAO,MAAM,MAAM,gBAAgB,EAAE;AAC1D,YAAI,gBAAgB,aAAa,GAAG,EAAE,WAAW,MAAM,cAAc;AACnE,uBAAa,GAAG,EAAE,WAAW,IAAI;AACjC,mBAAS,EAAE,MAAM,QAAQ,SAAS,kBAAkB,EAAE,KAAK,YAAY,GAAG,CAAC;AAAA,QAC7E;AAAA,MACF;AACA;AAAA,IACF;AAAA,IACA,KAAK;AACH,eAAS,EAAE,MAAM,cAAc,UAAU,IAAI,KAAK,OAAO,MAAM,MAAM,OAAO,CAAC,GAAG,OAAO,MAAM,MAAM,MAAM,CAAQ;AACjH;AAAA,IACF,KAAK;AACH,eAAS,EAAE,MAAM,oBAAoB,UAAU,GAAG,CAAQ;AAC1D;AAAA,IACF,KAAK;AACH,mBAAa,OAAO,MAAM,MAAM,MAAM,EAAE,CAAC,IAAI;AAC7C,eAAS,EAAE,MAAM,WAAW,SAAS,GAAG,OAAO,MAAM,MAAM,QAAQ,EAAE,CAAC,kBAAkB,OAAO,MAAM,MAAM,SAAS,OAAO,CAAC,uBAAkB,OAAO,MAAM,MAAM,MAAM,UAAU,CAAC,GAAG,CAAC;AACtL;AAAA,IACF,KAAK,iBAAiB;AACpB,mBAAa,EAAE,IAAI;AACnB,mBAAa,GAAG,EAAE,QAAQ,IAAI;AAC9B,YAAM,SAAS,OAAO,MAAM,MAAM,SAAS,QAAQ;AACnD,mBAAa,GAAG,EAAE,QAAQ,IAAI;AAC9B,YAAM,UAAU,OAAO,SAAS,MAAM,OAAO,MAAM,GAAG,GAAG,IAAI,WAAM;AACnE,eAAS,EAAE,MAAM,WAAW,SAAS,GAAG,EAAE,YAAY,OAAO,GAAG,CAAC;AACjE,eAAS,EAAE,MAAM,oBAAoB,UAAU,GAAG,CAAQ;AAC1D;AAAA,IACF;AAAA,IACA,KAAK;AACH,mBAAa,EAAE,IAAI;AACnB,mBAAa,GAAG,EAAE,QAAQ,IAAI,OAAO,MAAM,MAAM,SAAS,GAAG;AAC7D;AAAA,IACF,KAAK;AAAA,IACL,KAAK,gBAAgB;AACnB,UAAI,IAAI;AACN,cAAM,SAAS,MAAM,MAAM,SAAS;AACpC,qBAAa,EAAE,IAAI,SAAS,SAAS;AACrC,qBAAa,GAAG,EAAE,QAAQ,IAAI,OAAO,MAAM,MAAM,SAAS,GAAG;AAC7D,YAAI,CAAC,OAAQ,cAAa,GAAG,EAAE,QAAQ,IAAI,OAAO,MAAM,MAAM,SAAS,CAAC,MAAM,IAAI,2CAA2C;AAAA,MAC/H;AACA,YAAM,YAAY,KAAK,MAAM,KAAK,CAAC,MAAW,EAAE,OAAO,OAAO;AAC9D,UAAI,aAAa,UAAU,OAAO,UAAU,WAAW;AACrD,eAAO,gBAAgB,MAAM,SAAS,EAAE,OAAO,WAAW,UAAU,CAAC,EAAE,YAAW,oBAAI,KAAK,GAAE,YAAY,EAAE,CAAC,EAAE,CAAC;AAAA,MACjH;AACA;AAAA,IACF;AAAA,IACA,KAAK,qBAAqB;AACxB,aAAO,gBAAgB,MAAM,YAAY,EAAE,OAAO,YAAY,CAAC;AAC/D,aAAO,gBAAgB,MAAM,SAAS,EAAE,OAAO,YAAY,CAAC;AAC5D,aAAO,gBAAgB,MAAM,UAAU,EAAE,OAAO,YAAY,CAAC;AAC7D,UAAI,MAAM,MAAM,QAAQ;AACtB,cAAM,WAAW,OAAO,MAAM,KAAK,MAAM;AACzC,qBAAa,QAAQ,IAAI;AACzB,qBAAa,GAAG,QAAQ,QAAQ,IAAI,OAAO,MAAM,KAAK,aAAa,GAAG;AACtE,qBAAa,UAAU,IAAI;AAAA,MAC7B;AACA;AAAA,IACF;AAAA,IACA,KAAK,2BAA2B;AAC9B,YAAM,QAAQ,OAAO,MAAM,MAAM,SAAS,CAAC;AAC3C,YAAM,gBAAgB,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAC3D,UAAI,gBAAgB,GAAG;AACrB,iBAAS,EAAE,MAAM,WAAW,SAAS,qCAAqC,aAAa,IAAI,KAAK,+DAA+D,CAAC;AAAA,MAClK,OAAO;AACL,iBAAS,EAAE,MAAM,WAAW,SAAS,yCAAyC,KAAK,cAAc,CAAC;AAAA,MACpG;AACA;AAAA,IACF;AAAA,IACA,KAAK,mBAAmB;AACtB,aAAO,gBAAgB,MAAM,aAAa,EAAE,OAAO,WAAW,UAAU,CAAC,EAAE,YAAW,oBAAI,KAAK,GAAE,YAAY,EAAE,CAAC,EAAE,CAAC;AACnH,YAAM,WAAW,MAAM,aAAa,UAAU,KAAK;AACnD,UAAI,SAAU,cAAa,QAAQ,IAAI;AACvC;AAAA,IACF;AAAA,IACA,KAAK,kBAAkB;AACrB,aAAO,gBAAgB,MAAM,aAAa,EAAE,OAAO,YAAY,CAAC;AAChE,YAAM,WAAW,MAAM,aAAa,UAAU,KAAK;AACnD,UAAI,YAAY,aAAa,QAAQ,MAAM,eAAgB,cAAa,QAAQ,IAAI;AACpF;AAAA,IACF;AAAA,EACF;AACA,MAAI,eAAe,IAAI;AACvB,SAAO;AACT;AAMA,SAAS,2BAA2B,UAAkB,cAAsB,UAAoB,SAAuB,YAAmC;AACxJ,MAAI,CAAC,aAAa,KAAK,GAAG;AACxB,aAAS,EAAE,MAAM,QAAQ,SAAS,UAAU,QAAQ,4BAA4B,CAAC;AACjF,WAAO;AAAA,EACT;AACA,QAAM,MAAM,kBAAkB;AAI9B,QAAM,YAAY,YAAY,KAAK,WAAW,IAAI;AAClD,MAAI,UAAU,SAAS;AACrB,aAAS,EAAE,MAAM,WAAW,SAAS,gBAAgB,WAAW,KAAK,MAAM,GAAG,CAAC,CAAC,YAAO,UAAU,WAAW,KAAK,MAAM,GAAG,CAAC,CAAC,yEAAoE,CAAC;AACjM,WAAO;AAAA,EACT;AACA,QAAM,cAAc,cAAc,KAAK,cAAc,IAAI;AACzD,MAAI,YAAY,SAAS;AACvB,aAAS,EAAE,MAAM,WAAW,SAAS,mBAAmB,UAAU,WAAM,YAAY,WAAW,GAAG,yEAAoE,CAAC;AACvK,WAAO;AAAA,EACT;AAGA,QAAM,OAAO,iBAAiB,KAAK,eAAe,QAAQ,EAAE;AAC5D,MAAI,CAAC,KAAK,UAAU;AAClB,UAAM,MAAM,KAAK,SAAS,SAAS,KAAK,OAAO,GAAG,KAAK,KAAK,OAAO,MAAM,MAAM;AAC/E,aAAS,EAAE,MAAM,WAAW,SAAS,gDAAgD,GAAG,kEAA6D,CAAC;AACtJ,WAAO;AAAA,EACT;AACA,MAAI;AACF,UAAM,SAAS,mBAAmB,KAAK,YAAY;AACnD,QAAI,OAAO,IAAI;AACb,eAAS,EAAE,MAAM,WAAW,SAAS,6BAA6B,QAAQ,GAAG,CAAC;AAC9E,UAAI,OAAO,UAAW,UAAS,EAAE,MAAM,QAAQ,SAAS,wBAAwB,CAAC;AACjF,aAAO;AAAA,IACT;AACA,aAAS,EAAE,MAAM,WAAW,SAAS,2CAA2C,OAAO,SAAS,eAAe,GAAG,CAAC;AACnH,WAAO;AAAA,EACT,UAAE;AACA,QAAI,KAAK,YAAa,kBAAiB,KAAK,KAAK,WAAW;AAAA,EAC9D;AACF;AAMO,SAAS,qCAAqC,QAA6B;AAChF,MAAI,OAAO,OAAO,UAAU,EAAE,EAAE,KAAK;AACrC,MAAI,CAAC,KAAM,QAAO;AAClB,SAAO,KACJ,QAAQ,6BAA6B,EAAE,EACvC,QAAQ,YAAY,EAAE,EACtB,KAAK;AAER,MAAI,YAA2B;AAC/B,QAAM,YAAY,KAAK,MAAM,aAAa;AAC1C,MAAI,WAAW;AACb,QAAI;AACF,YAAM,SAAS,KAAK,MAAM,UAAU,CAAC,CAAC;AACtC,UAAI,UAAU,OAAO,OAAO,eAAe,SAAU,aAAY,OAAO;AAAA,eAC/D,UAAU,OAAO,OAAO,YAAY,SAAU,aAAY,OAAO;AAAA,IAC5E,QAAQ;AAAA,IAER;AAAA,EACF;AACA,MAAI,CAAC,WAAW;AACd,gBAAY,KACT,MAAM,OAAO,EACb,IAAI,CAAC,SAAiB,KAAK,KAAK,CAAC,EACjC,KAAK,CAAC,SAAiB,KAAK,SAAS,KAAK,CAAC,qCAAqC,KAAK,IAAI,CAAC,KAAK;AAAA,EACpG;AACA,MAAI,CAAC,UAAW,QAAO;AACvB,cAAY,UAAU,QAAQ,UAAU,EAAE,EAAE,KAAK;AACjD,cAAY,UAAU,QAAQ,iCAAiC,EAAE,EAAE,KAAK;AACxE,MAAI,CAAC,aAAa,UAAU,SAAS,OAAO,WAAW,KAAK,SAAS,EAAG,QAAO;AAC/E,SAAO;AACT;AAGA,SAAS,sBAAsB,MAAwB;AACrD,SAAO,CAAC,GAAG,IAAI,KAAK,OAAO,QAAQ,EAAE,EAAE,MAAM,gEAAgE,KAAK,CAAC,GAAG,IAAI,CAAC,MAAc,EAAE,QAAQ,gBAAgB,EAAE,EAAE,QAAQ,mBAAmB,EAAE,CAAC,CAAC,CAAC;AACzM;AAMO,SAAS,iCAAiC,MAAc,SAAyB;AACtF,QAAM,WAAW,sBAAsB,IAAI;AAC3C,MAAI,SAAS,WAAW,EAAG,QAAO;AAClC,QAAM,aAAa,IAAI,IAAI,QAAQ;AACnC,MAAI,WAAW;AACf,aAAW,UAAU,sBAAsB,OAAO,GAAG;AACnD,QAAI,WAAW,IAAI,MAAM,EAAG;AAC5B,UAAM,WAAW,OAAO,MAAM,GAAG;AACjC,UAAM,cAAc,SAAS,WAAW,IACpC,SAAS,CAAC,IACV,SAAS,KAAK,CAAC,QAAgB;AAC7B,YAAM,QAAQ,IAAI,MAAM,GAAG;AAC3B,aAAO,MAAM,CAAC,GAAG,YAAY,MAAM,SAAS,CAAC,GAAG,YAAY;AAAA,IAC9D,CAAC;AACL,QAAI,aAAa;AACf,iBAAW,SAAS,MAAM,MAAM,EAAE,KAAK,WAAW;AAAA,IACpD;AAAA,EACF;AACA,SAAO;AACT;AAGO,SAAS,6BAA6B,QAA6B;AACxE,QAAM,MAAM,OAAO,UAAU,EAAE,EAAE,KAAK;AACtC,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AACA,QAAM,UAAU,IAAI,QAAQ,UAAU,EAAE;AACxC,QAAM,MAAM,QAAQ,MAAM,iCAAiC;AAC3D,MAAI,KAAK;AACP,WAAO,cAAc,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;AAAA,EACvC;AACA,QAAM,QAAQ,QAAQ,MAAM,yCAAyC;AACrE,MAAI,OAAO;AACT,WAAO,cAAc,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;AAAA,EAC3C;AACA,SAAO;AACT;AAGA,SAAS,0BAA0B,KAA0B;AAC3D,MAAI;AACF,UAAM,SAAS,aAAa,OAAO,CAAC,UAAU,WAAW,QAAQ,GAAG,EAAE,KAAU,UAAU,SAAS,OAAO,CAAC,QAAQ,QAAQ,QAAQ,EAAE,CAAC,EAAE,KAAK;AAC7I,WAAO,6BAA6B,MAAM;AAAA,EAC5C,SAAS,GAAG;AACV,WAAO;AAAA,EACT;AACF;AAMO,SAAS,sCAAsC,SAAiB,aAAkC;AACvG,MAAI,CAAC,aAAa;AAChB,WAAO;AAAA,EACT;AACA,MAAI,WAAW;AACf,aAAW,UAAU,sBAAsB,OAAO,GAAG;AACnD,QAAI,WAAW,aAAa;AAC1B;AAAA,IACF;AACA,eAAW,SAAS,MAAM,MAAM,EAAE,KAAK,WAAW;AAAA,EACpD;AACA,SAAO;AACT;AAGA,SAAS,8BAA8B,MAAc,SAA0B;AAC7E,QAAM,YAAY,OAAO,QAAQ,EAAE,EAAE,YAAY;AACjD,QAAM,eAAe,OAAO,WAAW,EAAE,EAAE,YAAY;AACvD,MAAI,CAAC,cAAc;AACjB,WAAO;AAAA,EACT;AACA,MAAI,UAAU,SAAS,YAAY,GAAG;AACpC,WAAO;AAAA,EACT;AACA,QAAM,UAAU,aAAa,QAAQ,uBAAuB,MAAM;AAClE,SAAO,IAAI,OAAO,4DAA4D,OAAO,OAAO,GAAG,EAAE,KAAK,SAAS;AACjH;AAMO,SAAS,6BAA6B,MAAuB;AAClE,QAAM,IAAI,OAAO,QAAQ,EAAE,EAAE,YAAY;AACzC,MAAI,2CAA2C,KAAK,CAAC,GAAG;AACtD,WAAO;AAAA,EACT;AACA,SAAO,sKAAsK,KAAK,CAAC;AACrL;AAMO,SAAS,iCAAiC,MAAc,SAAiB,aAAkC;AAChH,QAAM,YAAY,0BAA0B,SAAS,WAAW;AAChE,MAAI,UAAU,WAAW,KAAK,CAAC,YAAa,QAAO;AACnD,QAAM,QAAQ,YAAY,MAAM,GAAG;AACnC,QAAM,oBAAoB,oBAAI,IAAY;AAC1C,MAAI,MAAM,CAAC,EAAG,mBAAkB,IAAI,MAAM,CAAC,CAAC;AAC5C,MAAI,MAAM,CAAC,EAAG,mBAAkB,IAAI,MAAM,CAAC,CAAC;AAC5C,oBAAkB,IAAI,WAAW;AACjC,oBAAkB,IAAI,WAAW,WAAW,EAAE;AAE9C,QAAM,OAAO,UAAU,OAAO,CAAC,MAAc;AAC3C,UAAM,cAAc,CAAC,GAAG,iBAAiB,EAAE,KAAK,CAAC,MAAc,EAAE,YAAY,MAAM,EAAE,YAAY,CAAC;AAClG,QAAI,CAAC,YAAa,QAAO;AACzB,WAAO,8BAA8B,MAAM,CAAC;AAAA,EAC9C,CAAC;AACD,MAAI,KAAK,WAAW,UAAU,OAAQ,QAAO;AAE7C,QAAM,aAAa,KAAK,IAAI,CAAC,MAAc,IAAI,EAAE,QAAQ,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAK,CAAC,GAAG,EAAE,KAAK,GAAG;AACzG,SAAO,QAAQ,QAAQ,8BAA8B,cAAc,UAAU,GAAG;AAClF;AAGA,SAAS,0BAA0B,SAAiB,MAAwB;AAC1E,QAAM,KAAK,IAAI,OAAO,GAAG,IAAI,0BAA0B;AACvD,QAAM,QAAQ,OAAO,WAAW,EAAE,EAAE,MAAM,EAAE;AAC5C,MAAI,CAAC,MAAO,QAAO,CAAC;AACpB,QAAM,SAAmB,CAAC;AAC1B,QAAM,OAAO,MAAM,CAAC;AACpB,QAAM,WAAW;AACjB,MAAI;AACJ,UAAQ,IAAI,SAAS,KAAK,IAAI,OAAO,MAAM;AACzC,WAAO,KAAK,EAAE,CAAC,EAAE,QAAQ,eAAe,IAAI,CAAC;AAAA,EAC/C;AACA,SAAO;AACT;AAMO,SAAS,mCAAmC,SAAyB;AAC1E,QAAM,WAAW,0BAA0B,SAAS,UAAU;AAC9D,QAAM,YAAY,0BAA0B,SAAS,WAAW;AAChE,MAAI,SAAS,WAAW,KAAK,UAAU,WAAW,EAAG,QAAO;AAE5D,QAAM,OAAO,UAAU,OAAO,CAAC,MAAc;AAC3C,UAAM,QAAQ,EAAE,YAAY;AAC5B,WAAO,CAAC,SAAS,KAAK,CAAC,MAAc;AACnC,YAAM,MAAM,EAAE,YAAY;AAC1B,aAAO,IAAI,SAAS,KAAK,KAAK,MAAM,SAAS,GAAG;AAAA,IAClD,CAAC;AAAA,EACH,CAAC;AACD,MAAI,KAAK,WAAW,UAAU,OAAQ,QAAO;AAE7C,QAAM,aAAa,KAAK,IAAI,CAAC,MAAc,IAAI,EAAE,QAAQ,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAK,CAAC,GAAG,EAAE,KAAK,GAAG;AACzG,SAAO,QAAQ,QAAQ,8BAA8B,cAAc,UAAU,GAAG;AAClF;AAMO,SAAS,6BAA6B,MAAc,SAAiB,aAAuD;AACjI,QAAM,MAAM,OAAO,WAAW,EAAE;AAChC,MAAI,CAAC,IAAI,KAAK,GAAG;AACf,WAAO,EAAE,IAAI,OAAO,QAAQ,wBAAwB;AAAA,EACtD;AACA,QAAM,iBAAiB,sBAAsB,GAAG;AAChD,MAAI,eAAe,SAAS,KAAK,CAAC,6BAA6B,IAAI,GAAG;AACpE,WAAO,EAAE,IAAI,OAAO,QAAQ,gEAAgE,eAAe,KAAK,IAAI,CAAC,GAAG;AAAA,EAC1H;AACA,QAAM,WAAW,0BAA0B,KAAK,UAAU;AAC1D,QAAM,YAAY,0BAA0B,KAAK,WAAW;AAC5D,aAAW,KAAK,UAAU;AACxB,UAAM,MAAM,EAAE,YAAY;AAC1B,eAAW,KAAK,WAAW;AACzB,YAAM,OAAO,EAAE,YAAY;AAC3B,UAAI,IAAI,SAAS,IAAI,KAAK,KAAK,SAAS,GAAG,GAAG;AAC5C,eAAO,EAAE,IAAI,OAAO,QAAQ,qDAAqD,CAAC,IAAI;AAAA,MACxF;AAAA,IACF;AAAA,EACF;AACA,MAAI,aAAa;AACf,UAAM,QAAQ,YAAY,MAAM,GAAG,EAAE,CAAC,KAAK;AAC3C,QAAI,OAAO;AACT,YAAM,YAAY,UAAU,KAAK,CAAC,MAAc,EAAE,YAAY,MAAM,MAAM,YAAY,KAAK,CAAC,8BAA8B,MAAM,CAAC,CAAC;AAClI,UAAI,WAAW;AACb,eAAO,EAAE,IAAI,OAAO,QAAQ,wCAAwC,SAAS,iCAAiC;AAAA,MAChH;AAAA,IACF;AAAA,EACF;AACA,SAAO,EAAE,IAAI,KAAK;AACpB;AAMO,SAAS,iCAAiC,MAAc,KAAqB;AAClF,QAAM,cAAc,0BAA0B,GAAG;AACjD,SAAO,sCAAsC,MAAM,WAAW;AAChE;AAGA,SAAS,8BAA8B,KAAqB;AAC1D,QAAM,QAAkB,CAAC;AACzB,QAAM,kBAAkBC,MAAK,KAAK,cAAc;AAChD,MAAIC,YAAW,eAAe,GAAG;AAC/B,QAAI;AACF,YAAM,MAAM,KAAK,MAAMC,cAAa,iBAAiB,MAAM,CAAC;AAC5D,YAAM,UAAW,OAAO,OAAO,QAAQ,YAAY,IAAI,WAAW,OAAO,IAAI,YAAY,WAAY,OAAO,KAAK,IAAI,OAAkC,EAAE,KAAK,IAAI,CAAC;AACnK,UAAI,QAAQ,SAAS,GAAG;AACtB,cAAM,KAAK,yBAAyB,QAAQ,KAAK,IAAI,CAAC,EAAE;AAAA,MAC1D;AAAA,IACF,SAAS,GAAG;AACV,YAAM,KAAK,6CAA6C;AAAA,IAC1D;AAAA,EACF;AACA,MAAID,YAAWD,MAAK,KAAK,YAAY,CAAC,GAAG;AACvC,UAAM,KAAK,oBAAoB;AAAA,EACjC;AACA,MAAIC,YAAWD,MAAK,KAAK,QAAQ,CAAC,GAAG;AACnC,UAAM,KAAK,gBAAgB;AAAA,EAC7B;AACA,MAAIC,YAAWD,MAAK,KAAK,gBAAgB,CAAC,GAAG;AAC3C,UAAM,KAAK,wBAAwB;AAAA,EACrC;AACA,MAAIC,YAAWD,MAAK,KAAK,WAAW,CAAC,GAAG;AACtC,UAAM,KAAK,mBAAmB;AAAA,EAChC;AACA,QAAM,cAAc,0BAA0B,GAAG;AACjD,MAAI,aAAa;AACf,UAAM,KAAK,eAAe,WAAW,EAAE;AAAA,EACzC;AACA,SAAQ,MAAM,SAAS,IAAK,MAAM,KAAK,IAAI,IAAI;AACjD;AAMA,eAAsB,2BAA2B,MAAc,UAAoB,KAA2C;AAC5H,QAAM,SAAS,IAAI;AACnB,QAAM,MAAM,kBAAkB;AAC9B,QAAM,gBAAgB,OAAQ,OAAe,eAAe,OAAO,qBAAqB,IAAI,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK;AAC3H,MAAI,CAAC,cAAe,QAAO;AAE3B,MAAI,SAAc;AAClB,MAAI;AAAE,aAAS,IAAI,SAAS,IAAI,aAAa;AAAA,EAAG,QAAQ;AAAE,WAAO;AAAA,EAAM;AACvE,MAAI,CAAC,OAAQ,QAAO;AAEpB,QAAM,YAAYA,MAAK,UAAU,WAAW,KAAK,IAAI,CAAC,EAAE;AACxD,EAAAG,WAAU,WAAW,EAAE,WAAW,KAAK,CAAC;AACxC,WAAS,EAAE,MAAM,QAAQ,SAAS,sCAAsC,aAAa,SAAI,CAAC;AAE1F,QAAM,SAAS;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAU,IAAI;AAAA,IACd;AAAA,IACA;AAAA,EAAqB,8BAA8B,GAAG,CAAC;AAAA,EACzD,EAAE,KAAK,IAAI;AAEX,MAAI;AACF,UAAM,SAAS,MAAM,IAAI,QAAQ,SAAS;AAAA,MACxC;AAAA,MACA;AAAA,MACA;AAAA,MACA,MAAM;AAAA,MACN,SAAS,KAAK,IAAK,OAAO,WAAW,IAAK,EAAE;AAAA,MAC5C;AAAA,IACF,CAAC;AACD,UAAM,MAAM,qCAAqC,OAAO,OAAO,UAAU,EAAE,CAAC;AAC5E,QAAI,KAAK;AACP,YAAM,cAAc,0BAA0B,GAAG;AACjD,YAAM,eAAe,iCAAiC,MAAM,GAAG;AAC/D,YAAM,eAAe,sCAAsC,cAAc,WAAW;AACpF,YAAM,oBAAoB,iCAAiC,MAAM,cAAc,WAAW;AAC1F,YAAM,WAAW,mCAAmC,iBAAiB;AACrE,YAAM,aAAa,6BAA6B,MAAM,UAAU,WAAW;AAC3E,UAAI,CAAC,WAAW,IAAI;AAClB,iBAAS,EAAE,MAAM,WAAW,SAAS,iCAAiC,WAAW,MAAM,GAAG,CAAC;AAC3F,eAAO;AAAA,MACT;AACA,UAAI,aAAa,KAAK;AACpB,iBAAS,EAAE,MAAM,WAAW,SAAS,mCAAmC,GAAG,OAAO,QAAQ,GAAG,CAAC;AAAA,MAChG;AACA,eAAS,EAAE,MAAM,QAAQ,SAAS,wBAAwB,QAAQ,GAAG,CAAC;AACtE,aAAO;AAAA,IACT;AAAA,EACF,SAAS,KAAK;AACZ,aAAS,EAAE,MAAM,WAAW,SAAS,4CAA4C,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC,GAAG,CAAC;AAAA,EACvI;AACA,SAAO;AACT;AAMO,SAAS,2BAA2B,KAAqB;AAC9D,QAAM,kBAAkBH,MAAK,KAAK,cAAc;AAChD,MAAIC,YAAW,eAAe,GAAG;AAC/B,QAAI;AACF,YAAM,MAAM,KAAK,MAAMC,cAAa,iBAAiB,MAAM,CAAC;AAC5D,YAAM,UAAU,OAAO,OAAO,QAAQ,YAAY,IAAI,WAAW,OAAO,IAAI,YAAY,WACpF,IAAI,UACJ,CAAC;AACL,YAAM,YAAY,CAAC,SAAiB,OAAO,QAAQ,IAAI,MAAM,YAAY,OAAO,QAAQ,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS;AAC/G,UAAI,UAAU,SAAS,EAAG,QAAO;AACjC,UAAI,UAAU,MAAM,EAAG,QAAO;AAC9B,UAAI,UAAU,WAAW,EAAG,QAAO;AACnC,UAAI,UAAU,OAAO,EAAG,QAAO;AAAA,IACjC,QAAQ;AAAA,IAER;AAAA,EACF;AACA,MAAID,YAAWD,MAAK,KAAK,YAAY,CAAC,EAAG,QAAO;AAChD,MAAIC,YAAWD,MAAK,KAAK,QAAQ,CAAC,EAAG,QAAO;AAC5C,MAAIC,YAAWD,MAAK,KAAK,gBAAgB,CAAC,EAAG,QAAO;AACpD,SAAO;AACT;AAGA,eAAsB,YAAY,MAAc,YAAyB,UAAoB,KAAqB,cAAqB,UAAoB,kBAA4I;AACrS,QAAM,aAAa,IAAI,gBAAgB;AACvC,MAAI;AACF,mBAAe;AAEf,QAAI,CAAC,MAAM;AACT,eAAS,EAAE,MAAM,WAAW,SAAS,kEAAkE,CAAC;AACxG,aAAO;AAAA,IACT;AACA,UAAM,WAAW,kBAAkB;AAGnC,UAAM,iBAAgC,MAAM;AAAE,UAAI;AAAE,eAAO,QAAQ,QAAQ;AAAA,MAAG,QAAQ;AAAE,eAAO;AAAA,MAAM;AAAA,IAAE,GAAG;AAC1G,UAAM,mBAAkC,MAAM;AAAE,UAAI;AAAE,eAAO,cAAc,QAAQ;AAAA,MAAG,QAAQ;AAAE,eAAO;AAAA,MAAM;AAAA,IAAE,GAAG;AAClH,UAAM,eAAe;AACrB,WAAO,iCAAiC,MAAM,QAAQ;AACtD,QAAI,SAAS,cAAc;AACzB,eAAS,EAAE,MAAM,WAAW,SAAS,2DAA2D,CAAC;AAAA,IACnG;AAEA,QAAI,UAAU;AACd,QAAI,CAAC,SAAS;AACZ,gBAAU,MAAM,2BAA2B,MAAM,UAAU,GAAG;AAAA,IAChE;AACA,QAAI,CAAC,SAAS;AACZ,gBAAU,2BAA2B,kBAAkB,CAAC;AACxD,eAAS,EAAE,MAAM,WAAW,SAAS,2DAA2D,OAAO,GAAG,CAAC;AAAA,IAC7G;AAEA,UAAM,aAAa,IAAI,cAAc;AACrC,UAAM,UAAU,kCAAkC,UAAU;AAC5D,UAAM,WAAW,WAAW,OAAO,CAAC,OAAe,CAAC,QAAQ,SAAS,EAAE,CAAC;AACxE,QAAI,SAAS,SAAS,EAAG,UAAS,EAAE,MAAM,QAAQ,SAAS,4CAA4C,SAAS,KAAK,IAAI,CAAC,GAAG,CAAC;AAC9H,QAAI,QAAQ,WAAW,GAAG;AACxB,eAAS,EAAE,MAAM,SAAS,SAAS,0DAA0D,CAAC;AAC9F,aAAO;AAAA,IACT;AAEA,UAAM,SAAS,IAAI;AACnB,QAAI;AAEJ,QAAI,cAAc;AAChB,aAAO,UAAU,YAAY;AAC7B,UAAI,eAAe,IAAI;AACvB,eAAS,IAAI;AAAA,IACf,OAAO;AACL,YAAM,KAAK,mBAAmB;AAC9B,YAAM,WAAW,KACb,kBAAkB,EAAE,IACpB,EAAE,IAAI,OAAO,MAAM,UAAU,SAAS,WAAW,QAAQ,WAAW,OAAO,MAAM;AAErF,YAAM,aAA8B;AAAA,QAClC,EAAE,IAAI,YAAY,MAAM,WAAW,OAAO,0BAA0B,SAAS,CAAC,MAAM,EAAE;AAAA,QACtF,EAAE,IAAI,YAAY,MAAM,YAAY,OAAO,qBAAqB,QAAQ,KAAK,IAAI,CAAC,IAAI,SAAS,CAAC,QAAQ,SAAS,SAAS,EAAE;AAAA,QAC5H,EAAE,IAAI,SAAS,MAAM,WAAW,OAAO,wBAAwB,SAAS,CAAC,QAAQ,MAAM,EAAE;AAAA,QACzF,EAAE,IAAI,UAAU,MAAM,YAAY,OAAO,oBAAoB,SAAS,CAAC,MAAM,EAAE;AAAA,MACjF;AACA,UAAI,OAAO,sBAAsB;AAC/B,mBAAW,KAAK,EAAE,IAAI,aAAa,MAAM,aAAa,OAAO,yBAAyB,SAAS,CAAC,QAAQ,SAAS,SAAS,EAAE,CAAC;AAAA,MAC/H;AAEA,aAAO;AAAA,QACL,EAAE,MAAM,SAAS,MAAM,YAAY,SAAS,SAAS,UAAU,YAAY,MAAM;AAAA,QACjF;AAAA,QACA;AAAA,MACF;AACA,UAAI,eAAe,IAAI;AAEvB,eAAS,EAAE,MAAM,QAAQ,KAAK,CAAC;AAE/B,YAAM,gBAAiB,OAAO,iBAAiB;AAC/C,UAAI,CAAC,oBAAoB,kBAAkB,QAAQ;AACjD,cAAM,SAAS,MAAM,IAAI,YAAY,qBAAqB;AAC1D,YAAI,OAAO,KAAK,EAAE,YAAY,MAAM,KAAK;AACvC,iBAAO,WAAW,IAAI;AACtB,cAAI,eAAe,IAAI;AACvB,mBAAS,IAAI;AACb,mBAAS,EAAE,MAAM,QAAQ,SAAS,kBAAkB,CAAC;AACrD,iBAAO;AAAA,QACT;AAAA,MACF;AAEA,aAAO,YAAY,IAAI;AACvB,aAAO,UAAU,IAAI;AACrB,UAAI,eAAe,IAAI;AACvB,eAAS,IAAI;AAAA,IACf;AAEA,UAAM,WAAWA,MAAK,UAAU,SAAS,KAAK,IAAI,CAAC,EAAE;AACrD,IAAAG,WAAU,UAAU,EAAE,WAAW,KAAK,CAAC;AACvC,aAAS,EAAE,MAAM,QAAQ,SAAS,kBAAkB,QAAQ,GAAG,CAAC;AAEhE,UAAM,aAAa,mBAAmB,UAAU,OAAO,kBAAkB,QAAW,OAAO,aAAa;AAKxG,UAAM,eAAuC,CAAC;AAC9C,UAAM,YAAY,KAAK,IAAI;AAG3B,UAAM,QAAQ,SAAS,KAAK,IAAI,CAAC;AACjC,UAAM,aAAa,iBAAiB,OAAO,SAAS,OAAO;AAC3D,UAAM,QAAQ,gBAAgB,OAAO,gBAAgB,SAAS,SAAS,EAAE,MAAM,YAAY,SAAS,UAAU,YAAY,MAAM,CAAC;AACjI,qBAAiB,KAAK;AAItB,UAAM,iBAAiB,oBAAI,IAAY;AACvC,eAAW,MAAM,SAAS;AACxB,UAAI;AACF,cAAM,MAAM,IAAI,SAAS,IAAI,EAAE;AAC/B,YAAK,IAAY,SAAU,IAAY,IAAK,gBAAe,IAAI,EAAE;AAAA,MACnE,QAAQ;AAAA,MAAmD;AAAA,IAC7D;AASA,QAAI,mBAAmB;AACvB,UAAM,mBAAmB,YAAY,MAAM;AACzC,YAAM,UAAU,KAAK,OAAO,KAAK,IAAI,IAAI,aAAa,GAAI;AAC1D,YAAM,WAA6B,QAAQ,IAAI,CAAC,OAAe;AAC7D,cAAM,SAAS,aAAa,EAAE,KAAK;AACnC,eAAO;AAAA,UACL;AAAA,UACA,QAAQ,WAAW,SAAS,SAAS,aAAa,GAAG,EAAE,QAAQ,KAAK,GAAG,MAAM;AAAA,UAC7E;AAAA,UACA,MAAM,WAAW;AAAA,UACjB,QAAQ,WAAW;AAAA,UACnB,OAAO,aAAa,GAAG,EAAE,QAAQ;AAAA,UACjC,SAAS,eAAe,IAAI,EAAE;AAAA,QAChC;AAAA,MACF,CAAC;AACD,YAAM,MAAM,SAAS,IAAI,CAAC,MAAsB,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,GAAG,IAAI,IAAI,OAAO;AAC/G,UAAI,QAAQ,kBAAkB;AAC5B,2BAAmB;AACnB,iBAAS,EAAE,MAAM,mBAAmB,SAAS,SAAS,CAAC;AAAA,MACzD;AAEA,iBAAW,MAAM,SAAS;AACxB,cAAM,IAAI,aAAa,EAAE,KAAK;AAC9B,YAAI,MAAM,WAAY,0BAAyB,YAAY,IAAI,KAAK,IAAI,IAAI,UAAU,CAAC,CAAC;AAAA,iBAC/E,MAAM,OAAQ,wBAAuB,YAAY,IAAI,EAAE,OAAO,OAAO,aAAa,GAAG,EAAE,QAAQ,CAAC,KAAK,OAAU,CAAC;AAAA,iBAChH,MAAM,SAAU,sBAAqB,YAAY,IAAI,aAAa,GAAG,EAAE,QAAQ,KAAK,QAAQ;AAAA,MACvG;AAAA,IACF,GAAG,GAAG;AAEN,QAAI,eAAe,UAAU;AAE7B,QAAI;AACJ,QAAI;AACF,iBAAW,MAAM;AAAA,QACf;AAAA,UACE;AAAA,UACA,YAAY;AAAA,UACZ,KAAK;AAAA,UACL;AAAA,UACA;AAAA,UACA,SAAS;AAAA,UACT,UAAU,YAAY;AAAA;AAAA;AAAA;AAAA,UAItB,aAAa,OAAQ,IAAI,OAAe,eAAe,EAAE,EAAE,KAAK,KAAK;AAAA,UACrE,YAAY;AAAA,UACZ,QAAQ,WAAW;AAAA,QACrB;AAAA,QACA,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,CAAC,UAAe;AACd,iBAAO,iBAAiB,OAAO,MAAM,cAAc,UAAU,GAAG;AAAA,QAClE;AAAA,MACF;AAAA,IACF,SAAS,KAAK;AACZ,oBAAc,gBAAgB;AAC9B,eAAS,EAAE,MAAM,iBAAiB,CAAC;AACnC,UAAI,eAAe,IAAI;AACvB,UAAI,IAAI,aAAa,UAAU,aAAa;AAC1C,cAAM,WAAW,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAChE,eAAO,SAAS,MAAM,QAAQ;AAC9B,YAAI,eAAe,IAAI;AACvB,iBAAS,IAAI;AAAA,MACf;AACA,YAAM;AAAA,IACR;AAEA,kBAAc,gBAAgB;AAC9B,aAAS,EAAE,MAAM,iBAAiB,CAAC;AAKnC,QAAI,SAAS,OAAO;AAClB,eAAS,EAAE,MAAM,WAAW,SAAS,iBAAiB,SAAS,KAAK,GAAG,CAAC;AAExE,UAAI;AAAE,cAAM,wBAAwB,UAAU,UAAU,GAAG;AAAA,MAAG,SACvD,KAAK;AAAE,gBAAQ,KAAK,4CAA4C,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC,EAAE;AAAA,MAAG;AAI5H,UAAI,IAAI,aAAa,UAAU,aAAa;AAC1C,eAAO,SAAS,MAAM,SAAS,KAAK;AACpC,YAAI,eAAe,IAAI;AACvB,iBAAS,IAAI;AAAA,MACf;AACA,gBAAU;AAAA,QACR,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,YAAY,KAAK,IAAI,IAAI;AAAA,QACzB,WAAW;AAAA,QACX,YAAY,WAAW;AAAA,QACvB,iBAAiB;AAAA,QACjB,OAAO,SAAS;AAAA,MAClB,CAAC;AACD,UAAI,eAAe,IAAI;AACvB,aAAO;AAAA,IACT;AACA,QAAI,SAAS,kBAAkB;AAC7B,eAAS,EAAE,MAAM,QAAQ,SAAS,kGAA6F,CAAC;AAChI,UAAI;AAAE,cAAM,wBAAwB,UAAU,UAAU,GAAG;AAAA,MAAG,SACvD,KAAK;AAAE,gBAAQ,KAAK,wDAAwD,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC,EAAE;AAAA,MAAG;AAKxI,gBAAU;AAAA,QACR,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,YAAY,KAAK,IAAI,IAAI;AAAA,QACzB,WAAW;AAAA,QACX,YAAY,WAAW;AAAA,QACvB,iBAAiB;AAAA,MACnB,CAAC;AACD,UAAI,eAAe,IAAI;AACvB,aAAO,EAAE,QAAQ,MAAM,WAAW,MAAM,cAAc,GAAG,QAAQ,kBAAkB,MAAM,YAAY,QAAQ;AAAA,IAC/G;AACA,QAAI,SAAS,kBAAkB,SAAS,QAAQ;AAC9C,YAAM,SAAS,SAAS;AACxB,YAAM,QAAS,SAAS,QAAgB,MAAM,GAAG,SAAS;AAC1D,eAAS,EAAE,MAAM,WAAW,SAAS,QAAQ,MAAM,qCAAqC,KAAK,2BAA2B,CAAC;AAEzH,UAAI;AAAE,cAAM,wBAAwB,UAAU,UAAU,GAAG;AAAA,MAAG,SACvD,KAAK;AAAE,gBAAQ,KAAK,sDAAsD,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC,EAAE;AAAA,MAAG;AAAA,IACxI;AAMA,eAAW,MAAM,SAAS;AACxB,YAAM,IAAI,aAAa,EAAE,KAAK;AAC9B,UAAI,MAAM,OAAQ,wBAAuB,YAAY,IAAI,EAAE,OAAO,OAAO,aAAa,GAAG,EAAE,QAAQ,CAAC,KAAK,OAAU,CAAC;AAAA,eAC3G,MAAM,SAAU,sBAAqB,YAAY,IAAI,aAAa,GAAG,EAAE,QAAQ,KAAK,QAAQ;AAAA,IACvG;AACA,aAAS,EAAE,MAAM,QAAQ,SAAS,iBAAiB,UAAU,EAAE,CAAC;AAChE,UAAM,SAAS,gBAAgB,OAAO,iBAAiB,SAAS,SAAS,EAAE,QAAQ,SAAS,UAAU,MAAM,KAAK,CAAC;AAClH,qBAAiB,MAAM;AAEvB,UAAM,YAAY,OAAO,KAAK,SAAS,OAAO;AAC9C,UAAM,UAAU,OAAO,OAAO,SAAS,OAAO;AAE9C,aAAS;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,MACP;AAAA,MACA,QAAQ,SAAS,UAAU;AAAA,MAC3B,SAAS;AAAA,QACP,EAAE,OAAO,WAAW,QAAQ,QAAQ,IAAI,CAAC,MAAW,EAAE,OAAO,SAAS,EAAE,KAAK,MAAM,MAAM,EAAE;AAAA,QAC3F,EAAE,OAAO,SAAS,QAAQ,QAAQ,IAAI,CAAC,MAAW,OAAO,EAAE,KAAK,CAAC,EAAE;AAAA,QACnE,EAAE,OAAO,aAAa,QAAQ,QAAQ,IAAI,CAAC,MAAW,GAAG,EAAE,SAAS,QAAQ,EAAE;AAAA,QAC9E,EAAE,OAAO,iBAAiB,QAAQ,QAAQ,IAAI,CAAC,MAAW,OAAO,EAAE,YAAY,CAAC,EAAE;AAAA,QAClF,EAAE,OAAO,QAAQ,QAAQ,QAAQ,IAAI,CAAC,MAAW,GAAG,EAAE,WAAW,GAAG,EAAE;AAAA,MACxE;AAAA,IACF,CAAC;AAGD,QAAI,WAAgB;AACpB,UAAM,iBAAiB,OAAO,OAAO,SAAS,OAAO,EAAE,OAAO,CAAC,MAAW,EAAE,IAAI,EAAE;AAClF,QAAI,kBAAkB,KAAK,IAAI,cAAc;AAC3C,UAAI;AACF,mBAAW,MAAM,gBAAgB,UAAU,UAAU,GAAG;AAAA,MAC1D,SAAS,KAAK;AACZ,gBAAQ,KAAK,8BAA8B,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC,EAAE;AAAA,MAC/F;AAAA,IACF,WAAW,mBAAmB,KAAK,CAAC,SAAS,oBAAoB,IAAI,cAAc;AAGjF,UAAI;AAAE,cAAM,wBAAwB,UAAU,UAAU,GAAG;AAAA,MAAG,SACvD,KAAK;AAAE,gBAAQ,KAAK,gDAAgD,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC,EAAE;AAAA,MAAG;AAAA,IAClI;AAGA,UAAM,cAAc,UAAU,UAAU,SAAS;AAGjD,QAAI,UAAU,kBAAkB,SAAS,gBAAgB,SAAS,KAAK,aAAa;AAClF,eAAS,EAAE,MAAM,QAAQ,SAAS,uEAA6D,CAAC;AAChG,YAAM,SAAS,MAAM,IAAI,YAAY,6CAA6C;AAClF,UAAI,OAAO,KAAK,EAAE,YAAY,MAAM,KAAK;AACvC,YAAI;AACF,gBAAM,gBAAgB,MAAM,mBAAmB,UAAU,UAAU,UAAU,GAAG;AAChF,cAAI,eAAe;AACjB,qBAAS,EAAE,MAAM,WAAW,SAAS,iDAA4C,CAAC;AAClF,kBAAM,mBAAmBD,cAAa,eAAe,OAAO;AAC5D,kBAAM,UAAU,2BAA2B,eAAe,kBAAkB,UAAU,eAAe,eAAe;AACpH,gBAAI,CAAC,QAAS,UAAS,EAAE,MAAM,gBAAuB,UAAU,eAAe,WAAW,eAAe,cAAc,iBAAiB,CAAC;AAEzI,gBAAK,IAAI,OAAe,sBAAsB,MAAM;AAClD,kBAAI;AACF,sBAAM,iBAAiB,yBAAyB,kBAAkB,CAAC;AACnE,sBAAM,SAAS,iBAAiB,SAAS,MACrC,iBAAiB,MAAM,GAAG,GAAK,IAAI;AAAA;AAAA,OAAY,iBAAiB,SAAS,GAAK,8CAAyC,aAAa,MACpI;AACJ,+BAAe,OAAO;AAAA,kBACpB,MAAM;AAAA,kBACN,SAAS;AAAA,cAA6E,aAAa;AAAA;AAAA,EAAO,MAAM;AAAA,gBAClH,CAAC;AACD,sBAAM,eAAe,KAAK;AAAA,cAC5B,SAAS,WAAW;AAClB,yBAAS,EAAE,MAAM,WAAW,SAAS,6CAA6C,qBAAqB,QAAQ,UAAU,UAAU,OAAO,SAAS,CAAC,GAAG,CAAC;AAAA,cAC1J;AAAA,YACF;AAGA,qBAAS,EAAE,MAAM,QAAQ,SAAS,aAAa,QAAQ,iBAAiB,CAAC;AACzE,qBAAS,EAAE,MAAM,QAAQ,SAAS,kBAAkB,SAAS,oBAAoB,GAAG,QAAQ,cAAc,GAAG,CAAC;AAE9G,uBAAW,QAAQ,KAAK,OAAO;AAC7B,kBAAI,KAAK,OAAO,UAAU,aAAa,KAAK,OAAO,UAAU,WAAW;AACtE,uBAAO,gBAAgB,MAAM,KAAK,IAAI,EAAE,OAAO,YAAY,CAAC;AAAA,cAC9D;AAAA,YACF;AACA,kBAAME,mBAAkB;AAAA,cACtB,EAAE,MAAM,YAAqB,MAAM,GAAG,QAAQ,iBAAiB;AAAA,cAC/D,EAAE,MAAM,SAAkB,MAAM,eAAe,UAAU,cAAc;AAAA,YACzE;AACA,mBAAO,gBAAgB,MAAM,UAAU,EAAE,OAAO,aAAa,WAAWA,iBAAgB,CAAC;AACzF,gBAAI,eAAe,IAAI;AACvB,qBAAS,IAAI;AACf,qBAAS,EAAE,MAAM,QAAQ,SAAS,SAAS,KAAK,EAAE,GAAG,CAAC;AACtD,+BAAmB,IAAI;AAAA,cACnB,MAAM;AAAA,cACN,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,cAClC,UAAU;AAAA,cACV,SAAS;AAAA,cACT,QAAQ;AAAA,cACR,MAAM;AAAA,gBACJ,YAAY,UAAU,IAAI,CAAC,OAAe;AACxC,wBAAM,IAAK,SAAS,QAAgB,EAAE;AACtC,yBAAO,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM,OAAO,EAAE,OAAO,WAAW,EAAE,WAAW,cAAc,EAAE,cAAc,aAAa,EAAE,YAAY;AAAA,gBACxI,CAAC;AAAA,gBACD,QAAQ;AAAA,gBACR,WAAW,SAAS,aAAa;AAAA,cACnC;AAAA,YACF,CAAC;AACD,uBAAW,CAAC,IAAI,CAAC,KAAK,OAAO,QAAQ,SAAS,OAAO,GAAsB;AACzE,sBAAQ,OAAO,IAAI,EAAE,QAAQ,MAAM,UAAU,SAAS,EAAE,KAAK,SAAS,EAAE,SAAS,GAAG,CAAC;AAAA,YACvF;AACA,sBAAU;AAAA,cACR,MAAM;AAAA,cACN,QAAQ;AAAA,cACR,QAAQ;AAAA,cACR,SAAS;AAAA,cACT,YAAY,KAAK,IAAI,IAAI;AAAA,cACzB;AAAA,cACA,YAAY,WAAW;AAAA,cACvB,iBAAiB;AAAA,YACnB,CAAC;AACD,mBAAO;AAAA,cACL,QAAQ;AAAA,cACR,WAAW;AAAA,cACX,cAAc,GAAG,QAAQ;AAAA,cACzB;AAAA,cACA,YAAY;AAAA,YACd;AAAA,UACF;AAAA,QACF,SAAS,KAAK;AACZ,mBAAS,EAAE,MAAM,WAAW,SAAS,uBAAuB,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC,4BAA4B,CAAC;AAAA,QAC3I;AAAA,MACF;AAAA,IACF;AAEA,QAAI,aAAa;AACf,UAAI,CAAC,SAAU,UAAS,EAAE,MAAM,WAAW,SAAS,WAAW,WAAW,GAAG,CAAC;AAC9E,YAAM,YAAY,SAAS,QAAQ,WAAW;AAC9C,eAAS,EAAE,MAAM,QAAQ,SAAS,UAAU,SAAS,GAAG,CAAC;AACzD,UAAI,WAAW;AACb,YAAI;AACF,gBAAM,eAAeF,cAAa,WAAW,OAAO;AACpD,gBAAM,UAAU,2BAA2B,aAAa,cAAc,UAAU,eAAe,eAAe;AAC9G,cAAI,CAAC,QAAS,UAAS,EAAE,MAAM,gBAAuB,UAAU,aAAa,WAAW,aAAa,CAAC;AAEtG,cAAK,IAAI,OAAe,sBAAsB,MAAM;AAClD,gBAAI;AACF,oBAAM,MAAM,kBAAkB;AAC9B,oBAAM,cAAc,yBAAyB,GAAG;AAChD,oBAAM,SAAS,aAAa,SAAS,MACjC,aAAa,MAAM,GAAG,GAAK,IAAI;AAAA;AAAA,OAAY,aAAa,SAAS,GAAK,8CAAyC,SAAS,MACxH;AACJ,0BAAY,OAAO;AAAA,gBACjB,MAAM;AAAA,gBACN,SAAS,wBAAwB,WAAW;AAAA,cAAiB,SAAS;AAAA;AAAA,EAAO,MAAM;AAAA,cACrF,CAAC;AACD,oBAAM,YAAY,KAAK;AAAA,YACzB,SAAS,WAAW;AAClB,uBAAS,EAAE,MAAM,WAAW,SAAS,wCAAwC,qBAAqB,QAAQ,UAAU,UAAU,OAAO,SAAS,CAAC,GAAG,CAAC;AAAA,YACrJ;AAAA,UACF;AAAA,QACF,SAAS,KAAK;AACZ,kBAAQ,KAAK,uCAAuC,SAAS,KAAK,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC,EAAE;AAAA,QACtH;AAAA,MACF;AAAA,IACF,OAAO;AACL,UAAI,SAAS,eAAe;AAC1B,cAAM,UAAU,SAAS;AACzB,YAAI,OAAO,QAAQ,iBAAiB,CAAC,IAAI,GAAG;AAC1C,mBAAS,EAAE,MAAM,SAAS,SAAS,4BAAuB,QAAQ,aAAa,IAAI,QAAQ,KAAK,+DAA+D,CAAC;AAAA,QAClK,OAAO;AACL,mBAAS,EAAE,MAAM,WAAW,SAAS,mJAA8I,CAAC;AAAA,QACtL;AAAA,MACF,OAAO;AACL,iBAAS,EAAE,MAAM,SAAS,SAAS,sCAAiC,CAAC;AAAA,MACvE;AAAA,IACF;AACA,aAAS,EAAE,MAAM,QAAQ,SAAS,aAAa,QAAQ,iBAAiB,CAAC;AACzE,aAAS,EAAE,MAAM,QAAQ,SAAS,kBAAkB,SAAS,oBAAoB,GAAG,QAAQ,cAAc,GAAG,CAAC;AAE9G,eAAW,QAAQ,KAAK,OAAO;AAC7B,UAAI,KAAK,OAAO,UAAU,aAAa,KAAK,OAAO,UAAU,WAAW;AACtE,eAAO,gBAAgB,MAAM,KAAK,IAAI,EAAE,OAAO,YAAY,CAAC;AAAA,MAC9D;AAAA,IACF;AAEA,UAAM,YAAY,OAAO,OAAO,SAAS,OAAO,EAAE,KAAK,CAAC,MAAW,EAAE,IAAI;AAEzE,UAAM,gBAAgB,eAAe,SAAS;AAC9C,UAAM,kBAAkB;AAAA,MACtB,EAAE,MAAM,YAAqB,MAAM,GAAG,QAAQ,iBAAiB;AAAA,MAC/D,GAAI,iBAAiB,SAAS,QAAQ,aAAa,IAC/C,CAAC,EAAE,MAAM,SAAkB,MAAM,SAAS,QAAQ,aAAa,GAAG,UAAU,cAAc,CAAC,IAC3F,CAAC;AAAA,IACP;AACA,WAAO,gBAAgB,MAAM,UAAU,EAAE,OAAO,aAAa,WAAW,gBAAgB,CAAC;AAEzF,QAAI,CAAC,WAAW;AACd,aAAO,EAAE,GAAG,MAAM,OAAO,UAAU,eAAe,MAAM,YAAW,oBAAI,KAAK,GAAE,YAAY,EAAE;AAAA,IAC9F;AACA,QAAI,eAAe,IAAI;AACvB,aAAS,IAAI;AACb,aAAS,EAAE,MAAM,QAAQ,SAAS,SAAS,KAAK,EAAE,GAAG,CAAC;AAEtD,uBAAmB,IAAI;AAAA,MACrB,MAAM;AAAA,MACN,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,MAClC,UAAU;AAAA,MACV,SAAS;AAAA,MACT,QAAQ,eAAe;AAAA,MACvB,MAAM;AAAA,QACJ,YAAY,UAAU,IAAI,CAAC,IAAY,MAAc;AACnD,gBAAM,IAAI,QAAQ,CAAC;AACnB,iBAAO,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM,OAAO,EAAE,OAAO,WAAW,EAAE,WAAW,cAAc,EAAE,cAAc,aAAa,EAAE,YAAY;AAAA,QACxI,CAAC;AAAA,QACD,QAAQ,eAAe;AAAA,QACvB,WAAW,SAAS,aAAa;AAAA,MACnC;AAAA,IACF,CAAC;AAED,eAAW,CAAC,IAAI,CAAC,KAAK,OAAO,QAAQ,SAAS,OAAO,GAAsB;AACzE,cAAQ,OAAO,IAAI,EAAE,QAAQ,MAAM,UAAU,SAAS,EAAE,KAAK,SAAS,EAAE,SAAS,GAAG,CAAC;AAAA,IACvF;AAEA,UAAM,YAAY,UAAU;AAAA,MAC1B,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,QAAQ,eAAe;AAAA,MACvB,SAAS;AAAA,MACT,YAAY,KAAK,IAAI,IAAI;AAAA,MACzB;AAAA,MACA,YAAY,WAAW;AAAA,MACvB,iBAAiB;AAAA,IACnB,CAAC;AACD,QAAI,CAAC,QAAQ,IAAI,iBAAiB;AAChC,eAAS,EAAE,MAAM,QAAQ,SAAS,iBAAiB,SAAS,EAAE,CAAC;AAAA,IACjE;AAEA,WAAO;AAAA,MACL,QAAQ,eAAe;AAAA,MACvB,WAAW,eAAe,SAAS,QAAQ,WAAW,IAAI,SAAS,QAAQ,WAAW,IAAI;AAAA,MAC1F,cAAc,GAAG,QAAQ;AAAA,MACzB;AAAA,MACA,YAAY;AAAA,IACd;AAAA,EACF,UAAE;AACA,QAAI,eAAe,IAAI;AAAA,EACzB;AACF;","names":["join","existsSync","mkdirSync","readFileSync","join","readFileSync","join","readFileSync","writeFileSync","mkdirSync","join","readFileSync","writeFileSync","join","join","readFileSync","writeFileSync","resolve","join","readFileSync","mkdirSync","writeFileSync","join","existsSync","readFileSync","mkdirSync","winnerArtifacts"]}