@guyghost/swarm-dao-cli 0.10.0 → 0.11.1

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.
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAw6CA,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsHvF"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAgiDA,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsHvF"}
package/dist/cli.js CHANGED
@@ -11,7 +11,9 @@ import { createGraphRunner } from "@guyghost/swarm-dao-graph";
11
11
  import { createHerdrHostAdapter, herdrAgentName } from "@guyghost/swarm-dao-herdr-adapter";
12
12
  import { assertNoActiveSeriesForScope, ensureSeriesWorktree, isHumanChannelEvent, loadProjectImprovementConfig, ORCHESTRATOR_MIN_COOLDOWN_MS, OrchestratorRunner, resolveAnchorCommands, resolveSandboxRunCommand, SAFE_HERDR_KIND, } from "@guyghost/swarm-dao-improvement";
13
13
  import { createProductRunner } from "@guyghost/swarm-dao-product";
14
+ import { createTmuxHostAdapter } from "@guyghost/swarm-dao-tmux-adapter";
14
15
  import { cmdDoctor } from "./doctor.js";
16
+ import { childSessionName, detectHostSession } from "./environment.js";
15
17
  import { cmdApprove, cmdImproveCancel, cmdImproveCancelCycle, cmdImproveReference, cmdImproveRestart, cmdImproveRetry, cmdImproveRetryWorkers, cmdReject, GateError, } from "./human-gates.js";
16
18
  import { cmdNext } from "./next.js";
17
19
  import { c, GLYPH, renderCyclesTable, renderGraphStatus, renderSeriesStatus, } from "./render.js";
@@ -81,35 +83,78 @@ async function ensureLoaded(cwd) {
81
83
  setRepository(repository);
82
84
  return repository;
83
85
  }
84
- function herdrChildOptionsFrom(flags, projectConfig) {
85
- const config = projectConfig.herdr ?? {};
86
- const kindFlag = flags.kind;
87
- if (kindFlag !== undefined && (typeof kindFlag !== "string" || kindFlag.trim().length === 0)) {
88
- err("--kind requires a value (a herdr agent kind, e.g. pi, codex, claude)");
86
+ function childSessionOptionsFrom(flags, projectConfig) {
87
+ const hostFlag = flags.host;
88
+ if (hostFlag !== undefined && (typeof hostFlag !== "string" || hostFlag.trim().length === 0)) {
89
+ err("--host requires a value (herdr, tmux or auto)");
89
90
  }
90
- const kind = (typeof kindFlag === "string" ? kindFlag.trim() : undefined) ?? config.kind ?? "pi";
91
- if (!SAFE_HERDR_KIND.test(kind)) {
92
- err(`herdr kind '${kind}' is invalid — use a supported herdr agent kind (e.g. pi, codex, claude)`);
91
+ const requested = typeof hostFlag === "string" ? hostFlag.trim() : "auto";
92
+ if (requested !== "herdr" && requested !== "tmux" && requested !== "auto") {
93
+ err(`--host must be herdr, tmux or auto, got '${requested}'`);
93
94
  }
95
+ const detected = detectHostSession();
96
+ const host = requested === "auto" ? (detected === "tmux" ? "tmux" : "herdr") : requested;
97
+ const herdrConfig = projectConfig.herdr ?? {};
98
+ const tmuxConfig = projectConfig.tmux ?? {};
99
+ const timeoutMs = childTimeoutFrom(flags, host === "tmux" ? tmuxConfig.timeoutMs : herdrConfig.timeoutMs);
100
+ const keepPanes = flags["keep-panes"] === true;
101
+ if (host === "herdr") {
102
+ const kindFlag = flags.kind;
103
+ if (kindFlag !== undefined && (typeof kindFlag !== "string" || kindFlag.trim().length === 0)) {
104
+ err("--kind requires a value (a herdr agent kind, e.g. pi, codex, claude)");
105
+ }
106
+ const kind = (typeof kindFlag === "string" ? kindFlag.trim() : undefined) ?? herdrConfig.kind ?? "pi";
107
+ if (!SAFE_HERDR_KIND.test(kind)) {
108
+ err(`herdr kind '${kind}' is invalid — use a supported herdr agent kind (e.g. pi, codex, claude)`);
109
+ }
110
+ return {
111
+ host,
112
+ detected,
113
+ kind,
114
+ keepPanes: keepPanes || herdrConfig.keepPanes === true,
115
+ ...(timeoutMs !== undefined ? { timeoutMs } : {}),
116
+ };
117
+ }
118
+ if (flags.kind !== undefined) {
119
+ err("--kind applies to the herdr host — tmux children run the configured tmux.command");
120
+ }
121
+ const tmuxCommand = typeof tmuxConfig.command === "string" ? tmuxConfig.command.trim() : "";
122
+ if (tmuxCommand.length === 0) {
123
+ err('tmux children need an agent command: set { "tmux": { "command": "your-agent-cli \\"$PROMPT\\"" } } in .dao/config.json ($PROMPT carries the deliberation prompt), or run inside a herdr session / pass --host herdr.');
124
+ }
125
+ return {
126
+ host,
127
+ detected,
128
+ kind: "",
129
+ keepPanes: keepPanes || tmuxConfig.keepSessions === true,
130
+ ...(timeoutMs !== undefined ? { timeoutMs } : {}),
131
+ tmuxCommand,
132
+ };
133
+ }
134
+ function childTimeoutFrom(flags, configTimeout) {
94
135
  const timeoutFlag = flags["timeout-ms"];
95
- let timeoutMs;
96
136
  if (timeoutFlag !== undefined) {
97
137
  if (typeof timeoutFlag !== "string" || timeoutFlag.trim().length === 0)
98
138
  err("--timeout-ms requires a value");
99
- timeoutMs = Number(timeoutFlag);
139
+ const timeoutMs = Number(timeoutFlag);
100
140
  if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
101
- err("--timeout-ms must be a positive number of milliseconds (herdr ceiling: 300000)");
141
+ err("--timeout-ms must be a positive number of milliseconds");
102
142
  }
143
+ return timeoutMs;
103
144
  }
104
- else if (typeof config.timeoutMs === "number") {
105
- timeoutMs = config.timeoutMs;
106
- }
107
- const keepPanes = flags["keep-panes"] === true || config.keepPanes === true;
108
- return { kind, keepPanes, ...(timeoutMs !== undefined ? { timeoutMs } : {}) };
145
+ return typeof configTimeout === "number" ? configTimeout : undefined;
109
146
  }
110
- /** A herdr host adapter bound to `workDir` — the child agent's cwd (the repo,
111
- * or the proposal's isolated worktree for parallel implement). */
112
- function herdrChildAdapter(child, workDir) {
147
+ /** A host adapter bound to `workDir` — the child agent's cwd (the repo, or
148
+ * the proposal's isolated worktree for parallel implement). */
149
+ function childAdapter(child, workDir) {
150
+ if (child.host === "tmux") {
151
+ return createTmuxHostAdapter({
152
+ workDir,
153
+ command: child.tmuxCommand ?? "",
154
+ keepSessions: child.keepPanes,
155
+ ...(child.timeoutMs !== undefined ? { timeoutMs: child.timeoutMs } : {}),
156
+ });
157
+ }
113
158
  return createHerdrHostAdapter({
114
159
  workDir,
115
160
  kind: child.kind,
@@ -118,11 +163,18 @@ function herdrChildAdapter(child, workDir) {
118
163
  ...(child.timeoutMs !== undefined ? { timeoutMs: child.timeoutMs } : {}),
119
164
  });
120
165
  }
121
- function announceHerdrChildren(header, child, names) {
122
- info(`herdr parent session: this shell (${child.kind}) ${header}:`);
166
+ function childName(child, proposalId, agentId) {
167
+ return childSessionName(child.host, herdrAgentName, "swarm-dao", proposalId, agentId);
168
+ }
169
+ function announceChildren(header, child, names) {
170
+ const parent = child.host === "tmux" ? "tmux" : "herdr";
171
+ const detectedSuffix = child.detected === "none" ? "bare shell → herdr default" : `detected: ${child.detected}`;
172
+ info(`${parent} parent session: this shell (${detectedSuffix}) — ${header}:`);
123
173
  for (const name of names)
124
174
  info(` ${name}`);
125
- info(c.dim(" attach with `herdr` to watch any child live"));
175
+ info(child.host === "tmux"
176
+ ? c.dim(" attach with `tmux attach -t <session>` to watch any child live")
177
+ : c.dim(" attach with `herdr` to watch any child live"));
126
178
  }
127
179
  // ── Commands ────────────────────────────────────────────────
128
180
  /**
@@ -166,9 +218,9 @@ const CLI_IMPLEMENTED = [
166
218
  */
167
219
  const CLI_USAGE_DETAILS = {
168
220
  propose: " propose --title <t> --type <T> --description <d> [--by <name>]\n [--depends-on <id1,id2,...>]",
169
- deliberate: " deliberate <id> [--kind <pi|codex|claude|…>] [--keep-panes] [--timeout-ms <ms>]\n every agent votes as a real coding agent in its own herdr child session\n (kind default: .dao/config.json herdr.kind, else pi)",
170
- roundtable: " roundtable [--kind <pi|codex|claude|…>] [--keep-panes] [--timeout-ms <ms>]\n every agent suggests a proposal idea in its own herdr child session",
171
- implement: " implement <id> [<id>…] [--kind <pi|codex|claude|…>] [--keep-panes] [--timeout-ms <ms>]\n dispatch one herdr child agent per proposal; multiple ids develop in\n parallel, each in its own worktree (needs execution.isolation)",
221
+ deliberate: " deliberate <id> [--host <herdr|tmux|auto>] [--kind <pi|codex|claude|…>] [--keep-panes] [--timeout-ms <ms>]\n every agent votes as a real coding agent in its own child session —\n herdr by default; inside tmux, tmux sessions (--host overrides; herdr\n kind default: .dao/config.json herdr.kind, else pi; tmux needs\n .dao/config.json tmux.command)",
222
+ roundtable: " roundtable [--host <herdr|tmux|auto>] [--kind <pi|codex|claude|…>] [--keep-panes] [--timeout-ms <ms>]\n every agent suggests a proposal idea in its own child session",
223
+ implement: " implement <id> [<id>…] [--host <herdr|tmux|auto>] [--kind <pi|codex|claude|…>] [--keep-panes] [--timeout-ms <ms>]\n dispatch one child agent per proposal; multiple ids develop in\n parallel, each in its own worktree (needs execution.isolation)",
172
224
  list: " list [--status <s>] [--type <T>]",
173
225
  show: " show <id>",
174
226
  vote: " vote <id> --position <for|against|abstain> --reasoning <text>\n [--weight <n>] [--agent <name>]",
@@ -190,7 +242,16 @@ const CLI_USAGE_DETAILS = {
190
242
  improve: ` improve init --series-id <id> --scope <s> --reference-hash <hash> [--cooldown-ms <ms>]
191
243
  improve status --series-id <id>
192
244
  improve once --series-id <id> [--sandbox <docker|container|auto|none>] [--image <img>]
193
- improve submit --series-id <id> --event <file>`,
245
+ improve submit --series-id <id> --event <file>
246
+ improve cycles --series-id <id>
247
+ cycle human gates (see: swarm-dao attention --source improvement-loop)
248
+ improve retry --cycle-id <id> | --series-id <id> cycle 'retrying' → RETRY_AUTHORIZED
249
+ improve reference --cycle-id <id> --decision approve|reject cycle 'adjusting'
250
+ improve cancel-cycle --cycle-id <id> | --series-id <id> --reason "<text>"
251
+ series human gates (see: swarm-dao attention --source improvement-series)
252
+ improve retry-workers --series-id <id> series 'workerFailed'
253
+ improve restart --series-id <id> series 'halted'
254
+ improve cancel --series-id <id> --reason "<text>"`,
194
255
  };
195
256
  /** All commands in the registry, grouped by phase, for lookup by id. */
196
257
  const CLI_BY_PHASE = getDaoCommandsByPhase("cli");
@@ -308,19 +369,19 @@ async function cmdPropose(cwd, flags) {
308
369
  async function cmdDeliberate(cwd, positional, flags) {
309
370
  const idStr = positional[0];
310
371
  if (!idStr)
311
- err("usage: swarm-dao deliberate <id> [--kind <pi|codex|claude|…>] [--keep-panes] [--timeout-ms <ms>]");
372
+ err("usage: swarm-dao deliberate <id> [--host <herdr|tmux|auto>] [--kind <pi|codex|claude|…>] [--keep-panes] [--timeout-ms <ms>]");
312
373
  const id = Number(idStr);
313
374
  if (!Number.isInteger(id))
314
375
  err(`invalid proposal id '${idStr}'`);
315
376
  const projectConfig = await loadConfig(getDaoRoot(cwd));
316
- const child = herdrChildOptionsFrom(flags, projectConfig);
377
+ const child = childSessionOptionsFrom(flags, projectConfig);
317
378
  const repository = await ensureLoaded(cwd);
318
379
  if (!getProposal(id))
319
380
  err(`proposal #${id} not found`);
320
381
  const agents = await loadAgentDefinitions(getDaoRoot(cwd), projectConfig);
321
- announceHerdrChildren(`${agents.length} child sessions vote on proposal #${id}`, child, agents.map((a) => herdrAgentName("swarm-dao", id, a.id)));
382
+ announceChildren(`${agents.length} child sessions vote on proposal #${id}`, child, agents.map((a) => childName(child, id, a.id)));
322
383
  const presented = await handleDaoDeliberate({
323
- adapter: herdrChildAdapter(child, cwd),
384
+ adapter: childAdapter(child, cwd),
324
385
  workDir: cwd,
325
386
  deliberationMode: "auto",
326
387
  controlToolName: "dao_check",
@@ -334,14 +395,14 @@ async function cmdDeliberate(cwd, positional, flags) {
334
395
  * roundtable runs on the synthetic proposal #0). */
335
396
  async function cmdRoundtable(cwd, flags) {
336
397
  const projectConfig = await loadConfig(getDaoRoot(cwd));
337
- const child = herdrChildOptionsFrom(flags, projectConfig);
398
+ const child = childSessionOptionsFrom(flags, projectConfig);
338
399
  const repository = await ensureLoaded(cwd);
339
400
  if (!getState().initialized)
340
401
  err("DAO not initialized. Run: swarm-dao setup");
341
402
  const agents = await loadAgentDefinitions(getDaoRoot(cwd), projectConfig);
342
- announceHerdrChildren(`${agents.length} child sessions suggest proposal ideas`, child, agents.map((a) => herdrAgentName("swarm-dao", 0, a.id)));
403
+ announceChildren(`${agents.length} child sessions suggest proposal ideas`, child, agents.map((a) => childName(child, 0, a.id)));
343
404
  const presented = await handleDaoRoundtable({
344
- adapter: herdrChildAdapter(child, cwd),
405
+ adapter: childAdapter(child, cwd),
345
406
  workDir: cwd,
346
407
  deliberationMode: "auto",
347
408
  controlToolName: "dao_check",
@@ -607,14 +668,14 @@ function implementationPrompt(p) {
607
668
  * (worktree/sandbox isolation from .dao/config.json execution). */
608
669
  async function cmdImplement(cwd, positional, flags) {
609
670
  if (positional.length === 0) {
610
- err("usage: swarm-dao implement <id> [<id>…] [--kind <pi|codex|claude|…>] [--keep-panes] [--timeout-ms <ms>]");
671
+ err("usage: swarm-dao implement <id> [<id>…] [--host <herdr|tmux|auto>] [--kind <pi|codex|claude|…>] [--keep-panes] [--timeout-ms <ms>]");
611
672
  }
612
673
  const ids = positional.map((s) => Number(s));
613
674
  const bad = positional.find((_, i) => !Number.isInteger(ids[i]));
614
675
  if (bad !== undefined)
615
676
  err(`invalid proposal id '${bad}'`);
616
677
  const projectConfig = await loadConfig(getDaoRoot(cwd));
617
- const child = herdrChildOptionsFrom(flags, projectConfig);
678
+ const child = childSessionOptionsFrom(flags, projectConfig);
618
679
  await ensureLoaded(cwd);
619
680
  const proposals = [];
620
681
  for (const id of ids) {
@@ -630,7 +691,7 @@ async function cmdImplement(cwd, positional, flags) {
630
691
  err(`implementing ${proposals.length} proposals in parallel needs execution.isolation "worktree" (or "sandbox") in .dao/config.json — children would otherwise share one checkout`);
631
692
  }
632
693
  const workspace = createExecutionWorkspace(projectConfig.execution, cliRunner(), cwd);
633
- announceHerdrChildren(`${proposals.length} implementation child session(s) (${isolation ?? "none"} isolation)`, child, proposals.map((p) => herdrAgentName("swarm-dao", p.id, IMPLEMENTATION_AGENT.id)));
694
+ announceChildren(`${proposals.length} implementation child session(s) (${isolation ?? "none"} isolation)`, child, proposals.map((p) => childName(child, p.id, IMPLEMENTATION_AGENT.id)));
634
695
  const results = await Promise.all(proposals.map(async (p) => {
635
696
  let workDir = cwd;
636
697
  if (workspace) {
@@ -640,13 +701,13 @@ async function cmdImplement(cwd, positional, flags) {
640
701
  if (prep.path)
641
702
  workDir = prep.path;
642
703
  }
643
- const output = await herdrChildAdapter(child, workDir).spawnAgent({
704
+ const output = await childAdapter(child, workDir).spawnAgent({
644
705
  agent: IMPLEMENTATION_AGENT,
645
706
  proposal: p,
646
707
  systemPrompt: implementationPrompt(p),
647
708
  ...(child.timeoutMs !== undefined ? { timeoutMs: child.timeoutMs } : {}),
648
709
  });
649
- return { id: p.id, name: herdrAgentName("swarm-dao", p.id, IMPLEMENTATION_AGENT.id), workDir, output };
710
+ return { id: p.id, name: childName(child, p.id, IMPLEMENTATION_AGENT.id), workDir, output };
650
711
  }));
651
712
  // Audit after the fan-out: sequential writes to the shared DAO state.
652
713
  for (const r of results) {
@@ -875,7 +936,8 @@ const IMPROVE_SERIES_ROOT = ".dao/improvement-series";
875
936
  const IMPROVE_CYCLE_ROOT = ".dao/improvement-cycles";
876
937
  const IMPROVE_USAGE = `usage: swarm-dao improve <init|status|once|submit|cycles|retry|retry-workers|restart|cancel|reference> [options]
877
938
 
878
- init --series-id <id> --scope <s> --reference-hash <hash> [--cooldown-ms <ms>]
939
+ init --series-id <id> --scope <s> --reference-hash <hash> [--cooldown-ms <ms>] [--force]
940
+ (init replays an existing journal; --force acknowledges it — never a clean slate)
879
941
  status --series-id <id> [--json]
880
942
  cycles --series-id <id> [--json] cycle history for the series
881
943
  once --series-id <id> [--exec <branch|worktree|container>]
@@ -1016,6 +1078,19 @@ async function cmdImprove(cwd, positional, flags) {
1016
1078
  };
1017
1079
  const evidenceRoot = path.resolve(cwd, rootFlag("evidence-root", IMPROVE_SERIES_ROOT));
1018
1080
  const cycleRoot = path.resolve(cwd, rootFlag("cycle-root", IMPROVE_CYCLE_ROOT));
1081
+ /** Phantom-series guard (issue #144): the evidence root resolves relative
1082
+ * to the process CWD, so running from a subdirectory can silently answer
1083
+ * from a fresh idle snapshot and mislead the operator ("series is
1084
+ * terminal (idle)"). Read paths must prove the series exists at the
1085
+ * resolved root or fail with that path. */
1086
+ const requireSeriesEvidence = async (root) => {
1087
+ try {
1088
+ await fs.access(path.join(root, seriesId, "snapshot.json"));
1089
+ }
1090
+ catch {
1091
+ err(`no series '${seriesId}' under ${root} (no snapshot.json) — check --evidence-root, or run from the repository root`);
1092
+ }
1093
+ };
1019
1094
  if (sub === "init") {
1020
1095
  // Grounding needs gates: refuse a series whose project has no anchor config.
1021
1096
  await resolveAnchorCommands(cwd);
@@ -1030,6 +1105,18 @@ async function cmdImprove(cwd, positional, flags) {
1030
1105
  err(`--cooldown-ms must be an integer >= ${ORCHESTRATOR_MIN_COOLDOWN_MS}\n${IMPROVE_USAGE}`);
1031
1106
  }
1032
1107
  await assertNoActiveSeriesForScope(evidenceRoot, scope, seriesId);
1108
+ // init replays an existing journal (deterministic restore) — that is
1109
+ // never a clean slate (issue #144): after RESTART_SERIES the operator
1110
+ // re-running init would resurrect the pre-restart context. Refuse, and
1111
+ // require an explicit --force to continue from the existing journal.
1112
+ const journalPath = path.join(evidenceRoot, seriesId, "journal.ndjson");
1113
+ const journalExists = await fs
1114
+ .access(journalPath)
1115
+ .then(() => true)
1116
+ .catch(() => false);
1117
+ if (journalExists && flags.force !== true) {
1118
+ err(`series journal already exists at ${journalPath} — init replays it and is never a clean slate. Use a new --series-id for a fresh series, or pass --force to continue from the existing journal.`);
1119
+ }
1033
1120
  const runner = await OrchestratorRunner.create({ seriesId, evidenceRoot });
1034
1121
  const result = await runner.submit({ type: "START_SERIES", source: "human", scope, referenceHash, cooldownMs });
1035
1122
  info(JSON.stringify(result.snapshot, null, 2));
@@ -1039,6 +1126,7 @@ async function cmdImprove(cwd, positional, flags) {
1039
1126
  }
1040
1127
  if (sub === "status") {
1041
1128
  const located = await locateRoot(cwd, seriesId, SERIES_ROOT_CANDIDATES, rootFlagValue("evidence-root"));
1129
+ await requireSeriesEvidence(located.root);
1042
1130
  const runner = await OrchestratorRunner.create({ seriesId, evidenceRoot: located.root });
1043
1131
  const snapshot = runner.snapshot();
1044
1132
  if (flags.json === true) {
@@ -1121,7 +1209,7 @@ async function cmdImprove(cwd, positional, flags) {
1121
1209
  if (!isHumanChannelEvent(event)) {
1122
1210
  err("submit only forwards human events (RETRY_WORKERS, RESTART_SERIES, CANCEL_SERIES with a non-empty reason)");
1123
1211
  }
1124
- const runner = await OrchestratorRunner.create({ seriesId, evidenceRoot });
1212
+ const runner = await requireSeriesEvidence(evidenceRoot).then(() => OrchestratorRunner.create({ seriesId, evidenceRoot }));
1125
1213
  const result = await runner.submit(event);
1126
1214
  info(JSON.stringify(result.snapshot, null, 2));
1127
1215
  return result.accepted ? 0 : 2;
@@ -1154,6 +1242,7 @@ async function cmdImprove(cwd, positional, flags) {
1154
1242
  worker: workerOptionsFrom(flags, config),
1155
1243
  ...(runCommand ? { runCommand } : {}),
1156
1244
  };
1245
+ await requireSeriesEvidence(evidenceRoot);
1157
1246
  const runner = await OrchestratorRunner.create({ seriesId, evidenceRoot });
1158
1247
  const result = await runner.once(deps);
1159
1248
  info(JSON.stringify(result, null, 2));
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,+DAA+D;AAC/D,6BAA6B;AAC7B,+DAA+D;AAE/D,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAUtC,OAAO,EACL,iBAAiB,EAEjB,OAAO,EACP,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,0BAA0B,EAC1B,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,UAAU,EACV,WAAW,EACX,QAAQ,EACR,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,aAAa,EACb,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAC3F,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,EAC5B,4BAA4B,EAE5B,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,eAAe,GAEhB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,SAAS,EACT,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAGL,CAAC,EACD,KAAK,EAEL,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,qBAAqB,EACrB,cAAc,EACd,sBAAsB,GACvB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,+DAA+D;AAE/D,MAAM,QAAS,SAAQ,KAAK;CAAG;AAC/B,SAAS,GAAG,CAAC,GAAW;IACtB,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AACD,SAAS,IAAI,CAAC,GAAW;IACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,8EAA8E;AAC9E,SAAS,SAAS;IAChB,OAAO;QACL,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;YAC/B,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE;oBAClD,GAAG,EAAE,OAAO,EAAE,GAAG;oBACjB,OAAO,EAAE,OAAO,EAAE,OAAO;iBAC1B,CAAC,CAAC;gBACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;YACzC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAA8E,CAAC;gBAC/F,OAAO;oBACL,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;oBAC5B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,gBAAgB;oBAC7D,QAAQ,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC;iBAC5B,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAc;IAChC,MAAM,KAAK,GAAkC,EAAE,CAAC;IAChD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAW,CAAC;QAC5B,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;gBACd,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjD,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;oBACzB,CAAC,EAAE,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC/B,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,GAAW;IACrC,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1D,aAAa,CAAC,UAAU,CAAC,CAAC;IAC1B,OAAO,UAAU,CAAC;AACpB,CAAC;AAoBD,SAAS,qBAAqB,CAC5B,KAAoC,EACpC,aAAqF;IAErF,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;IAC5B,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAC7F,GAAG,CAAC,sEAAsE,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC;IACjG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,GAAG,CAAC,eAAe,IAAI,0EAA0E,CAAC,CAAC;IACrG,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IACxC,IAAI,SAA6B,CAAC;IAClC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7G,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,gFAAgF,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChD,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC;IAC5E,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAChF,CAAC;AAED;kEACkE;AAClE,SAAS,iBAAiB,CAAC,KAAwB,EAAE,OAAe;IAClE,OAAO,sBAAsB,CAAC;QAC5B,OAAO;QACP,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,MAAM,EAAE,WAAW;QACnB,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc,EAAE,KAAwB,EAAE,KAAe;IACtF,IAAI,CAAC,qCAAqC,KAAK,CAAC,IAAI,OAAO,MAAM,GAAG,CAAC,CAAC;IACtE,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,+DAA+D;AAE/D;;;;;GAKG;AACH,MAAM,eAAe,GAAG;IACtB,MAAM;IACN,OAAO;IACP,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,MAAM;IACN,MAAM;IACN,MAAM;IACN,iBAAiB;IACjB,MAAM;IACN,WAAW;IACX,eAAe;IACf,eAAe;IACf,WAAW;IACX,QAAQ;IACR,OAAO;IACP,WAAW;IACX,MAAM;IACN,QAAQ;IACR,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,SAAS;IACT,SAAS;IACT,MAAM;CACE,CAAC;AAEX;;;GAGG;AACH,MAAM,iBAAiB,GAA2B;IAChD,OAAO,EAAE,wGAAwG;IACjH,UAAU,EACR,kOAAkO;IACpO,UAAU,EACR,2JAA2J;IAC7J,SAAS,EACP,gPAAgP;IAClP,IAAI,EAAE,oCAAoC;IAC1C,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,0GAA0G;IAChH,iBAAiB,EAAE,wCAAwC;IAC3D,IAAI,EAAE,mCAAmC;IACzC,eAAe,EAAE,mDAAmD;IACpE,eAAe,EAAE,+BAA+B;IAChD,WAAW,EAAE,6CAA6C;IAC1D,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,2BAA2B;IAClC,SAAS,EAAE,iGAAiG;IAC5G,IAAI,EAAE,uEAAuE;IAC7E,KAAK,EAAE,mFAAmF;IAC1F,MAAM,EAAE,qFAAqF;IAC7F,OAAO,EACL,iIAAiI;IACnI,MAAM,EAAE,8FAA8F;IACtG,KAAK,EACH,8HAA8H;IAChI,OAAO,EACL,kIAAkI;IACpI,OAAO,EAAE;;;uDAG4C;CACtD,CAAC;AAEF,wEAAwE;AACxE,MAAM,YAAY,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAClD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAChC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;KACxB,IAAI,EAAE;KACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CACzB,CAAC;AAEF,SAAS,YAAY;IACnB,MAAM,KAAK,GAAa;QACtB,gCAAgC;QAChC,EAAE;QACF,QAAQ;QACR,iCAAiC;QACjC,EAAE;QACF,WAAW;KACZ,CAAC;IACF,KAAK,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,IAAI,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;YAC5B,IAAI,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,qBAAqB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7D,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;AAE5B,KAAK,UAAU,OAAO,CAAC,GAAW;IAChC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC7B,aAAa,CAAC,MAAM,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,MAAM,SAAS,EAAE,CAAC;IAClB,IAAI,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,GAAW;IACjC,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,IAAI,CAAC,gCAAgC,KAAK,CAAC,MAAM,CAAC,MAAM,UAAU,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;IACzB,MAAM,SAAS,EAAE,CAAC;IAClB,IAAI,CAAC,0BAA0B,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;IACvD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,KAAoC;IACzE,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,MAAM,WAAW,GAAG,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,MAAM,EAAE,GAAG,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAE3D,IAAI,CAAC,KAAK;QAAE,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACvC,IAAI,CAAC,IAAI;QAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACrC,IAAI,CAAC,WAAW;QAAE,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACnD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAoB,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,mBAAmB,IAAI,eAAe,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,kEAAkE;IAClE,IAAI,SAA+B,CAAC;IACpC,IAAI,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC;aAC5B,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAC;QACnB,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACxB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,GAAG,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,CAAC;YACtF,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,qBAAqB,CAAC;QAC7C,UAAU;QACV,KAAK,EAAE,WAAW;KACnB,CAAC,CAAC,OAAO,CAAC;QACT,KAAK;QACL,IAAI,EAAE,IAAoB;QAC1B,WAAW;QACX,UAAU,EAAE,EAAE;QACd,SAAS;QACT,WAAW,EAAE,kBAAkB;QAC/B,YAAY,EAAE,YAAY,KAAK,EAAE;KAClC,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,+BAA+B,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,6CAA6C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC1B,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,IAAI,CACF,CAAC,CAAC,GAAG,CACH,4BAA4B,CAAC,CAAC,EAAE,uCAAuC,CAAC,CAAC,EAAE,sDAAsD,CAClI,CACF,CAAC;IACF,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED;8EAC8E;AAC9E,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,UAAoB,EAAE,KAAoC;IAClG,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK;QAAE,GAAG,CAAC,kGAAkG,CAAC,CAAC;IACpH,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAAE,GAAG,CAAC,wBAAwB,KAAK,GAAG,CAAC,CAAC;IAEjE,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAAE,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;IAC1E,qBAAqB,CACnB,GAAG,MAAM,CAAC,MAAM,qCAAqC,EAAE,EAAE,EACzD,KAAK,EACL,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CACzD,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,mBAAmB,CACzC;QACE,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC;QACtC,OAAO,EAAE,GAAG;QACZ,gBAAgB,EAAE,MAAM;QACxB,eAAe,EAAE,WAAW;QAC5B,UAAU;QACV,sBAAsB,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,SAAS,EAAE,CAAC,CAAC;KAC3F,EACD,EAAE,CACH,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,CAAC;AAClB,CAAC;AAED;;qDAEqD;AACrD,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,KAAoC;IAC5E,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW;QAAE,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAE9E,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;IAC1E,qBAAqB,CACnB,GAAG,MAAM,CAAC,MAAM,wCAAwC,EACxD,KAAK,EACL,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CACxD,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC;QAC1C,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC;QACtC,OAAO,EAAE,GAAG;QACZ,gBAAgB,EAAE,MAAM;QACxB,eAAe,EAAE,WAAW;QAC5B,UAAU;KACX,CAAC,CAAC;IACH,IAAI,CAAC,SAAS,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,KAAoC;IACtE,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,KAAK,GAAG,aAAa,EAAE,CAAC;IAC5B,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACrC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACxG,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,UAAoB;IACtD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK;QAAE,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAAE,GAAG,CAAC,eAAe,KAAK,GAAG,CAAC,CAAC;IAExD,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC1B,IAAI,CAAC,CAAC;QAAE,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAEzC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,IAAI,CAAC,kBAAkB,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,CAAC,UAAU;QAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,IAAI,CAAC,cAAc,CAAC,CAAC;IACrB,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAClD,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACvB,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3E,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC7B,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC;YACtC,IAAI,CAAC,OAAO,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAW;IAClC,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,KAAoC;IACvE,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;IAC5G,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACrG,IAAI,CAAC,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,KAAoC;IAC3E,IAAI,OAA+C,CAAC;IACpD,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM;aAC3B,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAC;QACnB,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAoB,CAAC,CAAC,CAAC;QAC3F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,qBAAqB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClH,OAAO,GAAG,SAA8B,CAAC;IAC3C,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IACzE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAW;IAClC,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;IACrB,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QAC5B,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,qBAAqB,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,YAAY,GAAiC;IACjD,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,SAAS;IACjB,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,UAAoB,EAAE,KAAoC;IAC5F,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK;QAAE,GAAG,CAAC,gFAAgF,CAAC,CAAC;IAClG,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAAE,GAAG,CAAC,wBAAwB,KAAK,GAAG,CAAC,CAAC;IAEjE,MAAM,WAAW,GAAG,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,IAAI,CAAC,WAAW;QAAE,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAEhD,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,CAAC,QAAQ;QAAE,GAAG,CAAC,uBAAuB,WAAW,GAAG,CAAC,CAAC;IAE1D,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,IAAI,CAAC,SAAS;QAAE,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;IAEzE,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC1B,IAAI,CAAC,CAAC;QAAE,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAEzC,MAAM,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;IACrF,MAAM,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,QAAQ,OAAO,MAAM,MAAM,SAAS,EAAE,CAAC,CAAC;IACnG,MAAM,SAAS,EAAE,CAAC;IAClB,IAAI,CAAC,wBAAwB,EAAE,KAAK,WAAW,OAAO,KAAK,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,4BAA4B,EAAE,6CAA6C,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,GAAW,EACX,UAAoB,EACpB,KAAoC;IAEpC,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK;QAAE,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACzE,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAAE,GAAG,CAAC,wBAAwB,KAAK,GAAG,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,GAAG,CAAC,0DAA0D,CAAC,CAAC;IAEpF,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,qBAAqB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC;QACzF,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,UAAU;QACjB,MAAM;KACP,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,eAAe,EAAE,cAAc,MAAM,CAAC,GAAG,sBAAsB,CAAC,CAAC;IACtE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,+CAA+C,EAAE,EAAE,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,UAAoB,EAAE,KAAoC;IAC5F,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK;QAAE,GAAG,CAAC,kDAAkD,CAAC,CAAC;IACpE,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAAE,GAAG,CAAC,wBAAwB,KAAK,GAAG,CAAC,CAAC;IAEjE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;IAEnC,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAExD,yEAAyE;IACzE,wCAAwC;IACxC,IAAI,YAA+C,CAAC;IACpD,IAAI,aAAa,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ;YAAE,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,0BAA0B,CAAC;YAC5C,QAAQ;YACR,KAAK,EAAE,IAAI,gBAAgB,CAAC,GAAG,CAAC;YAChC,gBAAgB,EAAE,IAAI;YACtB,KAAK;YACL,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS;YACzD,OAAO,EAAE,EAAE,OAAO,EAAE;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,0CAA0C,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,mFAAmF,CAAC,CAAC;YAC1F,OAAO;QACT,CAAC;QACD,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,MAAM,SAAS,GAAG,wBAAwB,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;IACtF,MAAM,MAAM,GAAG,MAAM,IAAI,mBAAmB,CAAC;QAC3C,UAAU;QACV,KAAK,EAAE,WAAW;QAClB,SAAS;QACT,8DAA8D;QAC9D,+BAA+B;KAChC,CAAC,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/F,MAAM,YAAY,EAAE,EAAE,CAAC;IACvB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,oDAAoD,CAAC,CAAC;YAC3D,IAAI,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;YACzC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QACxE,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,cAAc,SAAS,KAAK,QAAQ,EAAE,KAAK,IAAI,UAAU,EAAE,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED,mEAAmE;AAEnE;8DAC8D;AAC9D,MAAM,oBAAoB,GAAa;IACrC,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,uEAAuE;IACpF,MAAM,EAAE,CAAC;IACT,YAAY,EAAE,EAAE;CACjB,CAAC;AAEF,SAAS,oBAAoB,CAAC,CAAW;IACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAClD,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACzF,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;QACL,uBAAuB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,IAAI;QACvD,EAAE;QACF,cAAc;QACd,CAAC,CAAC,WAAW;QACb,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,sBAAsB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,EAAE;QACF,uMAAuM;QACvM,8EAA8E;KAC/E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAUD;;oEAEoE;AACpE,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,UAAoB,EAAE,KAAoC;IACjG,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,GAAG,CAAC,yGAAyG,CAAC,CAAC;IACjH,CAAC;IACD,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,IAAI,GAAG,KAAK,SAAS;QAAE,GAAG,CAAC,wBAAwB,GAAG,GAAG,CAAC,CAAC;IAE3D,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC1D,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC;YAAE,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QACzC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,mEAAmE;IACnE,6DAA6D;IAC7D,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC;IACrD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAChF,GAAG,CACD,gBAAgB,SAAS,CAAC,MAAM,8IAA8I,CAC/K,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,wBAAwB,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;IAEtF,qBAAqB,CACnB,GAAG,SAAS,CAAC,MAAM,qCAAqC,SAAS,IAAI,MAAM,aAAa,EACxF,KAAK,EACL,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,oBAAoB,CAAC,EAAE,CAAC,CAAC,CACjF,CAAC;IAEF,MAAM,OAAO,GAAsB,MAAM,OAAO,CAAC,GAAG,CAClD,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAA4B,EAAE;QAClD,IAAI,OAAO,GAAG,GAAG,CAAC;QAClB,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,cAAc,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACrE,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QACrC,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC;YAChE,KAAK,EAAE,oBAAoB;YAC3B,QAAQ,EAAE,CAAC;YACX,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAAC;YACrC,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,oBAAoB,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACzG,CAAC,CAAC,CACH,CAAC;IAEF,sEAAsE;IACtE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,WAAW,CACf,CAAC,CAAC,EAAE,EACJ,UAAU,EACV,2BAA2B,EAC3B,KAAK,EACL,eAAe,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,CACvD,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,SAAS,EAAE,CAAC;IAElB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;YACpB,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAClD,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClF,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,QAAQ,6EAA6E,CAAC,CAAC,CAAC;IAC5G,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC,CAAC;IAC5F,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,KAAoC;IAC9E,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9D,IAAI,CAAC,KAAK;QAAE,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACvC,IAAI,CAAC,IAAI;QAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAErC,MAAM,YAAY,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAEnF,0EAA0E;IAC1E,oDAAoD;IACpD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACrD,IAAI,UAAU,GAA4B,EAAE,CAAC;IAC7C,IAAI,CAAC;QACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;IACD,UAAU,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;IAClF,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAE7E,+CAA+C;IAC/C,eAAe,CAAC,YAAY,CAAC,CAAC;IAC9B,IAAI,CAAC,wBAAwB,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,sGAAsG,CAAC,CAAC;IAC7G,IAAI,CACF,YAAY,CAAC,MAAM;QACjB,CAAC,CAAC,oDAAoD;QACtD,CAAC,CAAC,0DAA0D,CAC/D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,2BAA2B,CAAC,GAAW;IACpD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QACjC,IAAI,MAAM,EAAE,KAAK,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;YAClC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3G,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oBAAoB;IACtB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,UAAoB;IAC9D,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK;QAAE,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAChE,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAAE,GAAG,CAAC,wBAAwB,KAAK,GAAG,CAAC,CAAC;IAEjE,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC1B,IAAI,CAAC,CAAC;QAAE,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAEzC,MAAM,UAAU,GAAG,MAAM,2BAA2B,CAAC,GAAG,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACtC,GAAG,CAAC,uFAAuF,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM;QAAE,GAAG,CAAC,oDAAoD,CAAC,CAAC;IAEvE,IAAI,CAAC,qBAAqB,UAAU,UAAU,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3E,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,UAAoB,EAAE,KAAoC;IAChG,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK;QAAE,GAAG,CAAC,4DAA4D,CAAC,CAAC;IAC9E,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAAE,GAAG,CAAC,wBAAwB,KAAK,GAAG,CAAC,CAAC;IAEjE,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,IAAI,CAAC,UAAU;QAAE,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAElD,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC1B,IAAI,CAAC,CAAC;QAAE,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAEzC,MAAM,UAAU,GAAG,MAAM,2BAA2B,CAAC,GAAG,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACtC,GAAG,CAAC,uFAAuF,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IAC5D,IAAI,CAAC,MAAM;QAAE,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAEnE,IAAI,CAAC,kBAAkB,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,iEAAiE;AAEjE,MAAM,cAAc,GAAG,iBAAiB,CAAC;AACzC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAE9C,MAAM,WAAW,GAAG;;;;;;;;;wEASoD,CAAC;AAEzE,MAAM,aAAa,GAAG;;;;;;;;gEAQ0C,CAAC;AAiBjE;uDACuD;AACvD,KAAK,UAAU,aAAa,CAC1B,GAAW,EACX,UAAoB,EACpB,KAAoC,EACpC,IAAoB;IAEpB,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ;QAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE5E,MAAM,UAAU,GAAG,CAAC,IAAY,EAAsB,EAAE;QACtD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,GAAG,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;QAC9F,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK;QAAE,GAAG,CAAC,yBAAyB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IAExF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IAE1D,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAwC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9F,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,UAAU;QAAE,GAAG,CAAC,yBAAyB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,GAAmB;IACjC,WAAW,EAAE,cAAc;IAC3B,KAAK,EAAE,WAAW;IAClB,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;QACpC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpH,CAAC;IACD,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE;QACzB,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAA4B,CAAC;QACpE,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAuC,CAAC;QAC9E,MAAM,IAAI,GAAoB;YAC5B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;YACnC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,SAAS,CAAC;YAC1C,SAAS,EAAE,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;YAC3E,iBAAiB,EAAE,OAAO,OAAO,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI;YACnG,kBAAkB,EAAE,OAAO,OAAO,CAAC,kBAAkB,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI;YACtG,OAAO;SACR,CAAC;QACF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF,CAAC;AAEF,MAAM,YAAY,GAAmB;IACnC,WAAW,EAAE,gBAAgB;IAC7B,KAAK,EAAE,aAAa;IACpB,MAAM,EAAE,mBAAmB;CAC5B,CAAC;AAEF,SAAS,QAAQ,CAAC,GAAW,EAAE,UAAoB,EAAE,KAAoC;IACvF,OAAO,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,UAAU,CAAC,GAAW,EAAE,UAAoB,EAAE,KAAoC;IACzF,OAAO,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;AAC7D,CAAC;AAED,+DAA+D;AAE/D,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;AACtD,MAAM,kBAAkB,GAAG,yBAAyB,CAAC;AAErD,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAiCA,CAAC;AAEvB,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AACvE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;AAEhE,SAAS,kBAAkB,CACzB,KAAoC,EACpC,MAA+C;IAE/C,2EAA2E;IAC3E,6EAA6E;IAC7E,2EAA2E;IAC3E,kBAAkB;IAClB,MAAM,UAAU,GAAG,CAAC,IAAY,EAAsB,EAAE;QACtD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,GAAG,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;QAC9F,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,IAAY,EAAsB,EAAE;QACtD,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,GAAG,CAAC,KAAK,IAAI,2BAA2B,GAAG,GAAG,CAAC,CAAC;QAC9E,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACF,MAAM,aAAa,GACjB,MAAM,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,KAAK,IAAI;QAC7E,CAAC,CAAE,MAAM,CAAC,GAAG,CAAC,OAAmC;QACjD,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,YAAY,GAAG,CAAC,KAAc,EAAsB,EAAE,CAC1D,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3E,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACvE,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,6DAA6D,IAAI,GAAG,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAA+B;QACxC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC;QAC/D,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,aAAa,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACrG,QAAQ,EACN,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,aAAa,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;KAC/G,CAAC;AACJ,CAAC;AAED;;+CAE+C;AAC/C,SAAS,iBAAiB,CACxB,KAAoC,EACpC,MAA+C;IAE/C,MAAM,UAAU,GAAG,CAAC,IAAY,EAAsB,EAAE;QACtD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,GAAG,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;QAC9F,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,YAAY,GAChB,MAAM,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,IAAI;QAC3E,CAAC,CAAE,MAAM,CAAC,GAAG,CAAC,MAAkC;QAChD,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,UAAU,GACd,OAAO,YAAY,CAAC,IAAI,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/G,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC;IAC/C,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,2EAA2E,IAAI,GAAG,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC1C,MAAM,SAAS,GACb,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACvC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YACnG,CAAC,CAAE,YAAY,CAAC,SAAsB;YACtC,CAAC,CAAC,SAAS,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACxG,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,UAAoB,EAAE,KAAoC;IAC/F,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1B,6EAA6E;IAC7E,4EAA4E;IAC5E,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACxD,IAAI,GAAG,KAAK,eAAe;QAAE,OAAO,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACvE,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5D,IAAI,GAAG,KAAK,QAAQ;QAAE,OAAO,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC1D,IAAI,GAAG,KAAK,cAAc;QAAE,OAAO,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrE,IAAI,GAAG,KAAK,WAAW;QAAE,OAAO,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChE,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ;QAAE,GAAG,CAAC,aAAa,CAAC,CAAC;IAErH,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,IAAI,CAAC,QAAQ;QAAE,GAAG,CAAC,4BAA4B,aAAa,EAAE,CAAC,CAAC;IAChE,0EAA0E;IAC1E,iEAAiE;IACjE,kEAAkE;IAClE,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAU,EAAE;QAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC;QACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,GAAG,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;QAC9F,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,IAAY,EAAsB,EAAE;QACzD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,GAAG,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;QAC9F,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACvF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEhF,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,6EAA6E;QAC7E,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,IAAI,CAAC,KAAK;YAAE,GAAG,CAAC,wBAAwB,aAAa,EAAE,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,OAAO,KAAK,CAAC,gBAAgB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxG,IAAI,CAAC,aAAa;YAAE,GAAG,CAAC,iCAAiC,aAAa,EAAE,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9F,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,4BAA4B,EAAE,CAAC;YAC/E,GAAG,CAAC,uCAAuC,4BAA4B,KAAK,aAAa,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,MAAM,4BAA4B,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;QAChH,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,QAAQ;YACjB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,gDAAgD,QAAQ,+BAA+B,CAAC,CAAC,CAAC;QACvG,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,sBAAsB,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;QACxG,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACzF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACxC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,UAAU,GAAqB;YACnC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK;YAC7B,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa;YAC7C,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,kBAAkB;YAClD,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;YAC7C,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU;YACvC,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc;SAChD,CAAC;QACF,IAAI,SAAS,GAA2B,IAAI,CAAC;QAC7C,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,MAAM,UAAU,CACnC,GAAG,EACH,UAAU,CAAC,aAAa,EACxB,qBAAqB,EACrB,aAAa,CAAC,YAAY,CAAC,CAC5B,CAAC;YACF,MAAM,GAAG,GAAG,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAGlG,CAAC;YACT,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC;gBACjB,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAwD,CAAC;gBACnG,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAuB,CAAC;gBAChE,SAAS,GAAG;oBACV,OAAO,EAAE,UAAU,CAAC,aAAa;oBACjC,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,SAAS;oBAC7B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;oBACzC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;oBAC/C,WAAW,EAAE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;oBACnE,UAAU,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;oBACtF,WAAW,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,kBAAkB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI;oBACvG,OAAO;oBACP,cAAc,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI;iBACnG,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,CACF,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE;YACxC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;YACf,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,KAAK;SAC1B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,qEAAqE;QACrE,uDAAuD;QACvD,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,sBAAsB,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;QAC9G,MAAM,gBAAgB,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YACjF,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,yBAAyB,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC9E,MAAM,IAAI,GAAsB,EAAE,CAAC;QACnC,KAAK,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,MAAM,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;YACvE,MAAM,GAAG,GAAG,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAI1D,CAAC;YACT,IAAI,CAAC,GAAG,EAAE,OAAO;gBAAE,SAAS;YAC5B,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAuB,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC;gBACR,MAAM;gBACN,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAC1C,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,SAAS;gBAC7B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;gBACzC,WAAW,EAAE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gBACnE,UAAU,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;gBACtF,WAAW,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,kBAAkB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI;gBACvG,UAAU,EAAE,MAAM,qBAAqB,CAAC,GAAG,CAAC;aAC7C,CAAC,CAAC;QACL,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;;YACxD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,IAAI,CAAC,SAAS;YAAE,GAAG,CAAC,wBAAwB,aAAa,EAAE,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,0GAA0G,CAAC,CAAC;QAClH,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,wEAAwE;IACxE,iDAAiD;IACjD,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;IAC5B,wEAAwE;IACxE,4EAA4E;IAC5E,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAC7F,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,QAAmB,CAAC;IAC1E,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,GAAG,CAAC,yDAAyD,QAAQ,GAAG,CAAC,CAAC;IAEzG,IAAI,OAAO,GAAG,GAAG,CAAC;IAClB,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxE,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,MAAM,cAAc,GAAG,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzD,IAAI,QAAQ,KAAK,WAAW,IAAI,cAAc,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACrE,cAAc,CAAC,OAAO,GAAG,MAAM,CAAC;IAClC,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,wBAAwB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAyB;QACjC,OAAO;QACP,iBAAiB,EAAE,SAAS;QAC5B,MAAM,EAAE,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC;QACxC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,8DAA8D;AAE9D;;GAEG;AACH,SAAS,YAAY,CAAC,CAAS,EAAE,CAAS;IACxC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IAEnB,kDAAkD;IAClD,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;SACpB,IAAI,CAAC,CAAC,CAAC;SACP,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC1C,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3C,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QACD,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,KAAa;IACtC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,UAAU,GAA4C,EAAE,CAAC;IAE/D,KAAK,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC1C,oEAAoE;QACpE,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACd,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,mCAAmC;IACnC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC;IACnC,OAAO,iBAAiB,IAAI,CAAC,EAAE,MAAM,OAAO,EAAE,CAAC;AACjD,CAAC;AAED,+DAA+D;AAE/D,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAc,EAAE,MAAc,OAAO,CAAC,GAAG,EAAE;IACpE,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAE/C,wEAAwE;IACxE,IACE,GAAG,KAAK,SAAS;QACjB,GAAG,KAAK,MAAM;QACb,eAAqC,CAAC,QAAQ,CAAC,GAAG,CAAC;QACpD,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,EACzC,CAAC;QACD,MAAM,MAAM,GACV,GAAG,KAAK,SAAS;YACf,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,GAAG,KAAK,OAAO;gBACf,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,GAAG,KAAK,SAAS;oBACjB,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;QAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1F,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,SAAS,CAAC;YACf,KAAK,MAAM,CAAC;YACZ,KAAK,QAAQ,CAAC;YACd,KAAK,IAAI;gBACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3B,OAAO,CAAC,CAAC;YACX,KAAK,MAAM;gBACT,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;gBACnB,OAAO,CAAC,CAAC;YACX,KAAK,OAAO;gBACV,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpB,OAAO,CAAC,CAAC;YACX,KAAK,SAAS;gBACZ,MAAM,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC7B,OAAO,CAAC,CAAC;YACX,KAAK,YAAY;gBACf,MAAM,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC5C,OAAO,CAAC,CAAC;YACX,KAAK,YAAY;gBACf,MAAM,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAChC,OAAO,CAAC,CAAC;YACX,KAAK,WAAW;gBACd,MAAM,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC3C,OAAO,CAAC,CAAC;YACX,KAAK,MAAM;gBACT,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC1B,OAAO,CAAC,CAAC;YACX,KAAK,MAAM;gBACT,MAAM,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;gBAC/B,OAAO,CAAC,CAAC;YACX,KAAK,QAAQ;gBACX,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;gBACrB,OAAO,CAAC,CAAC;YACX,KAAK,OAAO;gBACV,MAAM,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC3B,OAAO,CAAC,CAAC;YACX,KAAK,WAAW;gBACd,MAAM,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC/B,OAAO,CAAC,CAAC;YACX,KAAK,MAAM;gBACT,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5B,KAAK,OAAO;gBACV,OAAO,MAAM,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACpC,KAAK,QAAQ;gBACX,OAAO,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;YAC9B,KAAK,SAAS;gBACZ,OAAO,MAAM,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACtC,KAAK,QAAQ;gBACX,OAAO,MAAM,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACrC,KAAK,QAAQ;gBACX,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;gBACrB,OAAO,CAAC,CAAC;YACX,KAAK,SAAS;gBACZ,OAAO,MAAM,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YAClD,KAAK,OAAO;gBACV,OAAO,MAAM,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YAChD,KAAK,SAAS;gBACZ,OAAO,MAAM,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YAClD,KAAK,MAAM;gBACT,MAAM,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;gBACtC,OAAO,CAAC,CAAC;YACX,KAAK,iBAAiB;gBACpB,MAAM,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;gBAChD,OAAO,CAAC,CAAC;YACX,KAAK,MAAM;gBACT,MAAM,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;gBACtC,OAAO,CAAC,CAAC;YACX,KAAK,eAAe;gBAClB,MAAM,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAClC,OAAO,CAAC,CAAC;YACX,KAAK,eAAe;gBAClB,MAAM,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;gBACvC,OAAO,CAAC,CAAC;YACX,KAAK,WAAW;gBACd,MAAM,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC1C,OAAO,CAAC,CAAC;YACX,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxD,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,GAAG,cAAc,OAAO,IAAI,EAAE,CAAC,CAAC;gBAC5E,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,SAAS,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;YACrD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,IAAI,CAAC,CAAC;QAC5C,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,4BAA4B;AAC5B,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;IACrB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC9F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEL,IAAI,QAAQ,EAAE,CAAC;IACb,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export type HostSession = "herdr" | "tmux" | "none";
2
+ export type ChildHost = "herdr" | "tmux";
3
+ export declare function detectHostSession(env?: NodeJS.ProcessEnv): HostSession;
4
+ /** Deterministic child-session name per host (shown to the operator, and the
5
+ * exact name herdr/tmux create). herdr names carry a stable hash suffix
6
+ * (herdrAgentName); tmux names are the plain sanitized session names the
7
+ * tmux adapter creates. */
8
+ export declare function childSessionName(host: ChildHost, herdrName: (prefix: string, proposalId: number, agentId: string) => string, prefix: string, proposalId: number, agentId: string): string;
9
+ /** Same charset/trim as the tmux adapter's sanitizeSessionName ([a-zA-Z0-9_-]). */
10
+ export declare function sanitizeTmuxName(raw: string): string;
11
+ //# sourceMappingURL=environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AACpD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzC,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,WAAW,CAInF;AAED;;;4BAG4B;AAC5B,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,EAC1E,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,MAAM,CAGR;AAED,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQpD"}
@@ -0,0 +1,41 @@
1
+ // ============================================================
2
+ // Swarm DAO CLI — parent-session detection
3
+ // ============================================================
4
+ // The CLI is the parent session that pilots herdr/tmux child sessions. To
5
+ // "behave accordingly" it detects the terminal multiplexer it runs inside:
6
+ //
7
+ // herdr → HERDR_ENV=1 (also HERDR_WORKSPACE_ID / HERDR_PANE_ID …)
8
+ // tmux → TMUX set (socket path; also TMUX_PANE)
9
+ // none → bare shell
10
+ //
11
+ // Auto mode (the default) picks the detected multiplexer for the child
12
+ // sessions; a bare shell falls back to herdr (the established CLI default).
13
+ export function detectHostSession(env = process.env) {
14
+ if (env.HERDR_ENV === "1")
15
+ return "herdr";
16
+ if (env.TMUX !== undefined && env.TMUX.length > 0)
17
+ return "tmux";
18
+ return "none";
19
+ }
20
+ /** Deterministic child-session name per host (shown to the operator, and the
21
+ * exact name herdr/tmux create). herdr names carry a stable hash suffix
22
+ * (herdrAgentName); tmux names are the plain sanitized session names the
23
+ * tmux adapter creates. */
24
+ export function childSessionName(host, herdrName, prefix, proposalId, agentId) {
25
+ if (host === "herdr")
26
+ return herdrName(prefix, proposalId, agentId);
27
+ return `${prefix}-p${proposalId}-${sanitizeTmuxName(agentId)}`;
28
+ }
29
+ /** Same charset/trim as the tmux adapter's sanitizeSessionName ([a-zA-Z0-9_-]). */
30
+ export function sanitizeTmuxName(raw) {
31
+ const collapsed = raw.replace(/[^a-zA-Z0-9_-]+/g, "-");
32
+ let start = 0;
33
+ let end = collapsed.length;
34
+ while (start < end && collapsed.charCodeAt(start) === 45)
35
+ start++;
36
+ while (end > start && collapsed.charCodeAt(end - 1) === 45)
37
+ end--;
38
+ const trimmed = collapsed.slice(start, end);
39
+ return trimmed.length > 0 ? trimmed : "agent";
40
+ }
41
+ //# sourceMappingURL=environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,2CAA2C;AAC3C,+DAA+D;AAC/D,0EAA0E;AAC1E,2EAA2E;AAC3E,EAAE;AACF,oEAAoE;AACpE,mDAAmD;AACnD,uBAAuB;AACvB,EAAE;AACF,uEAAuE;AACvE,4EAA4E;AAK5E,MAAM,UAAU,iBAAiB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACpE,IAAI,GAAG,CAAC,SAAS,KAAK,GAAG;QAAE,OAAO,OAAO,CAAC;IAC1C,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IACjE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;4BAG4B;AAC5B,MAAM,UAAU,gBAAgB,CAC9B,IAAe,EACf,SAA0E,EAC1E,MAAc,EACd,UAAkB,EAClB,OAAe;IAEf,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACpE,OAAO,GAAG,MAAM,KAAK,UAAU,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACvD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;IAC3B,OAAO,KAAK,GAAG,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,CAAC;IAClE,OAAO,GAAG,GAAG,KAAK,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE;QAAE,GAAG,EAAE,CAAC;IAClE,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAChD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guyghost/swarm-dao-cli",
3
- "version": "0.10.0",
3
+ "version": "0.11.1",
4
4
  "description": "Swarm DAO standalone CLI",
5
5
  "type": "module",
6
6
  "main": "./dist/cli.js",
@@ -25,11 +25,12 @@
25
25
  "prepublishOnly": "bun run build"
26
26
  },
27
27
  "dependencies": {
28
- "@guyghost/swarm-dao-core": "^0.15.0",
29
- "@guyghost/swarm-dao-graph": "^0.3.4",
30
- "@guyghost/swarm-dao-herdr-adapter": "^0.4.0",
31
- "@guyghost/swarm-dao-improvement": "^0.6.0",
32
- "@guyghost/swarm-dao-product": "^0.3.4"
28
+ "@guyghost/swarm-dao-core": "^0.16.2",
29
+ "@guyghost/swarm-dao-graph": "^0.3.5",
30
+ "@guyghost/swarm-dao-herdr-adapter": "^0.4.1",
31
+ "@guyghost/swarm-dao-improvement": "^0.6.3",
32
+ "@guyghost/swarm-dao-product": "^0.3.5",
33
+ "@guyghost/swarm-dao-tmux-adapter": "^0.3.1"
33
34
  },
34
35
  "devDependencies": {
35
36
  "@types/bun": "latest"