@guyghost/swarm-dao-pi-adapter 0.4.1 → 0.6.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.
package/README.md CHANGED
@@ -76,6 +76,15 @@ All tools are registered as MCP tools and can be invoked by the LLM or manually.
76
76
  | `dao_rollback` | Revert a proposal to its pre-execution snapshot | `proposalId` |
77
77
  | `dao_roundtable` | Ask every agent to suggest a proposal idea | *(none)* |
78
78
  | `dao_update_proposal` | Update structured fields on an open proposal | `proposalId`, `problemStatement?`, `acceptanceCriteria?`, `successMetrics?`, `rollbackConditions?` |
79
+ | `dao_attention` | List pending human gates across workflow runs (read-only) | `sources?` |
80
+ | `dao_graph_status` | Read a Graph Engineering run snapshot (read-only) | `runId`, `evidenceRoot?` |
81
+ | `dao_graph_submit` | Submit an AI-source signal to a graph run (human events stay on the CLI) | `runId`, `type`, `producer`, `payload?` (JSON), `evidence?`, `evidenceRoot?` |
82
+ | `dao_product_status` | Read a product-loop run snapshot (read-only) | `runId`, `evidenceRoot?` |
83
+ | `dao_product_submit` | Submit an AI-source signal to a product loop (human events stay on the CLI) | `runId`, `type`, `producer`, `payload?` (JSON), `evidence?`, `evidenceRoot?` |
84
+ | `dao_improve_status` | Read an improvement series snapshot (read-only) | `seriesId`, `evidenceRoot?` |
85
+ | `dao_improve_once` | Advance a series by one state-authorized effect (deterministic executor, persisted config, per-series worktree) | `seriesId`, `evidenceRoot?` |
86
+
87
+ The workflow-run submit tools route through the packages' AI channel, which forces `source: "ai"` — an agent can never emit human, tool, or system events. All of them are also reachable as `/dao <subcommand>` (`/dao graph-status <runId>`, `/dao graph-submit <runId> <TYPE> <producer> [payload JSON] [evidence a,b]`, …).
79
88
 
80
89
  ### Commands
81
90
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAA2B,MAAM,iCAAiC,CAAC;AAkG7F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAmBrD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAIvD;AAyUD,6DAA6D;AAC7D,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CA0BvD;AA4BD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CA6HrG;AAqGD,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAwBpE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAmBlF;AAID,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,EAAE,YAAY,QAytBzD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAA2B,MAAM,iCAAiC,CAAC;AAoH7F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAmBrD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAIvD;AAyUD,6DAA6D;AAC7D,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CA0BvD;AAqCD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAuKrG;AAqGD,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAwBpE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAmBlF;AAID,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,EAAE,YAAY,QAq5BzD"}
package/dist/index.js CHANGED
@@ -4,14 +4,18 @@
4
4
  // Bridges the Swarm DAO core to Pi's ExtensionAPI.
5
5
  // Registers tools, commands, and event hooks.
6
6
  import { spawn } from "node:child_process";
7
+ import path from "node:path";
7
8
  import { StringEnum } from "@earendil-works/pi-ai";
8
- import {
9
+ import { ATTENTION_SOURCES,
9
10
  // Commands registry (source of truth for the /dao surface)
10
- buildDaoCommandHelp, computeHealthScore,
11
+ buildDaoCommandHelp, collectAttention, computeHealthScore,
11
12
  // Delivery
12
- execCommand, FileDaoStateRepository, formatAllArtefacts, formatAuditTrail, formatHealthScore, formatPlan, generateAllArtefacts, generateDashboard, getAllAuditLog, getDaoCommands, getPlan, getProposal, getState, handleDaoCheckEdit, handleDaoConfigGithub, handleDaoControl, handleDaoDeliberate, handleDaoDryRun, handleDaoExecute, handleDaoGithubCreateBranch, handleDaoGithubOpenPr, handleDaoPropose, handleDaoRate, handleDaoRollback, handleDaoRoundtable, handleDaoSetup, handleDaoShip, handleDaoUpdateProposal, logger,
13
+ execCommand, FileDaoStateRepository, FsAttentionStore, formatAllArtefacts, formatAttention, formatAuditTrail, formatHealthScore, formatPlan, generateAllArtefacts, generateDashboard, getAllAuditLog, getDaoCommands, getPlan, getProposal, getState, handleDaoCheckEdit, handleDaoConfigGithub, handleDaoControl, handleDaoDeliberate, handleDaoDryRun, handleDaoExecute, handleDaoGithubCreateBranch, handleDaoGithubOpenPr, handleDaoPropose, handleDaoRate, handleDaoRollback, handleDaoRoundtable, handleDaoSetup, handleDaoShip, handleDaoUpdateProposal, logger,
13
14
  // Types
14
15
  PROPOSAL_TYPES, readFileContained, resolveDaoCommand, setRepository, suggestDaoCommand, writeFileContained, } from "@guyghost/swarm-dao-core";
16
+ import { createGraphRunner, GRAPH_AI_EVENT_TYPES, submitAiGraphSignal, } from "@guyghost/swarm-dao-graph";
17
+ import { advanceSeriesOnce, OrchestratorRunner } from "@guyghost/swarm-dao-improvement";
18
+ import { createProductRunner, PRODUCT_AI_EVENT_TYPES, submitAiProductSignal, } from "@guyghost/swarm-dao-product";
15
19
  import { Type } from "typebox";
16
20
  /** Grace period before escalating a timed-out subprocess from SIGTERM to SIGKILL. */
17
21
  const PI_KILL_GRACE_MS = 5_000;
@@ -391,6 +395,13 @@ const DAO_ARG_USAGE = {
391
395
  dao_github_create_branch: "/dao github-branch <proposalId>",
392
396
  dao_github_open_pr: "/dao github-pr <proposalId> <headBranch>",
393
397
  dao_roundtable: "/dao roundtable",
398
+ dao_attention: "/dao attention [--source <graph-engineering|improvement-loop|improvement-series|product-loop>,...]",
399
+ dao_graph_status: "/dao graph-status <runId> [--evidence-root <dir>]",
400
+ dao_graph_submit: "/dao graph-submit <runId> <MODEL_DRAFTED|IMPLEMENTATION_READY|IMPLEMENTATION_FAILED> <producer> [payload JSON] [evidence a,b]",
401
+ dao_product_status: "/dao product-status <runId> [--evidence-root <dir>]",
402
+ dao_product_submit: "/dao product-submit <runId> <AGENT_SIGNAL|FEEDBACK_AGGREGATED|PROPOSAL_DRAFTED> <producer> [payload JSON] [evidence a,b]",
403
+ dao_improve_status: "/dao improve-status <seriesId> [--evidence-root <dir>]",
404
+ dao_improve_once: "/dao improve-once <seriesId> [--evidence-root <dir>]",
394
405
  };
395
406
  function daoUsage(toolName) {
396
407
  return `Usage: ${DAO_ARG_USAGE[toolName] ?? "`/dao help`"}`;
@@ -527,6 +538,51 @@ export function parseDaoToolArgs(toolName, tokens) {
527
538
  return usage;
528
539
  return { proposalId, headBranch };
529
540
  }
541
+ case "dao_attention": {
542
+ const split = splitFlags({ source: "string" });
543
+ if (typeof split === "string")
544
+ return split;
545
+ const sources = typeof split.flags.source === "string" ? commaList(split.flags.source) : undefined;
546
+ return { sources };
547
+ }
548
+ case "dao_graph_status": {
549
+ const split = splitFlags({ "evidence-root": "string" });
550
+ if (typeof split === "string")
551
+ return split;
552
+ const runId = split.positional[0];
553
+ if (!runId)
554
+ return usage;
555
+ return { runId, ...(split.flags["evidence-root"] ? { evidenceRoot: split.flags["evidence-root"] } : {}) };
556
+ }
557
+ case "dao_product_status":
558
+ case "dao_improve_status":
559
+ case "dao_improve_once": {
560
+ const split = splitFlags({ "evidence-root": "string" });
561
+ if (typeof split === "string")
562
+ return split;
563
+ const id = split.positional[0];
564
+ if (!id)
565
+ return usage;
566
+ const key = toolName === "dao_improve_status" || toolName === "dao_improve_once" ? "seriesId" : "runId";
567
+ return { [key]: id, ...(split.flags["evidence-root"] ? { evidenceRoot: split.flags["evidence-root"] } : {}) };
568
+ }
569
+ case "dao_graph_submit":
570
+ case "dao_product_submit": {
571
+ const split = splitFlags({ "evidence-root": "string" });
572
+ if (typeof split === "string")
573
+ return split;
574
+ const [runId, type, producer, rawPayload, rawEvidence] = split.positional;
575
+ if (!runId || !type || !producer)
576
+ return usage;
577
+ return {
578
+ runId,
579
+ type,
580
+ producer,
581
+ ...(rawPayload !== undefined ? { payload: rawPayload } : {}),
582
+ ...(rawEvidence !== undefined ? { evidence: commaList(rawEvidence) } : { evidence: [] }),
583
+ ...(split.flags["evidence-root"] ? { evidenceRoot: split.flags["evidence-root"] } : {}),
584
+ };
585
+ }
530
586
  default:
531
587
  return {};
532
588
  }
@@ -603,7 +659,21 @@ export default function swarmDaoExtension(pi) {
603
659
  // dispatcher invokes these directly so slash commands run the same logic
604
660
  // as the LLM-facing tools instead of routing users to them.
605
661
  const daoToolExecutors = new Map();
606
- /** Register a dao tool with Pi and capture its executor for `/dao`. */
662
+ /** Normalise the JSON-encoded payload parameter of run-submit tools. */
663
+ const parsePayloadParam = (raw) => {
664
+ if (raw === undefined)
665
+ return {};
666
+ try {
667
+ const parsed = JSON.parse(raw);
668
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
669
+ return "Payload must be a JSON object.";
670
+ }
671
+ return parsed;
672
+ }
673
+ catch {
674
+ return "Invalid payload JSON.";
675
+ }
676
+ };
607
677
  const registerDaoTool = (tool) => {
608
678
  daoToolExecutors.set(tool.name, tool.execute);
609
679
  pi.registerTool(tool);
@@ -659,7 +729,7 @@ export default function swarmDaoExtension(pi) {
659
729
  }
660
730
  }
661
731
  daoContext += `\n- Config: quorum=${state.config.quorumPercent}%, approval=${state.config.approvalThreshold}%, risk=${state.config.riskThreshold}/10`;
662
- daoContext += `\n\nAvailable tools: dao_setup, dao_propose, dao_deliberate, dao_check, dao_plan, dao_execute, dao_ship, dao_audit, dao_artefacts, dao_rate, dao_dashboard, dao_dry_run, dao_rollback, dao_roundtable, dao_update_proposal, dao_check_edit, dao_config_github, dao_github_create_branch, dao_github_open_pr`;
732
+ daoContext += `\n\nAvailable tools: dao_setup, dao_propose, dao_deliberate, dao_check, dao_plan, dao_execute, dao_ship, dao_audit, dao_artefacts, dao_rate, dao_dashboard, dao_dry_run, dao_rollback, dao_roundtable, dao_update_proposal, dao_check_edit, dao_config_github, dao_github_create_branch, dao_github_open_pr, dao_attention, dao_graph_status, dao_graph_submit, dao_product_status, dao_product_submit, dao_improve_status, dao_improve_once`;
663
733
  return { systemPrompt: event.systemPrompt + daoContext };
664
734
  });
665
735
  // ── Tool: dao_setup ──────────────────────────────────────
@@ -988,7 +1058,157 @@ export default function swarmDaoExtension(pi) {
988
1058
  }, params.proposalId));
989
1059
  },
990
1060
  });
991
- // ── Tool: dao_github_open_pr ────────────────────────────
1061
+ // ── Tool: dao_attention ──────────────────────────────
1062
+ registerDaoTool({
1063
+ name: "dao_attention",
1064
+ label: "DAO Attention",
1065
+ description: "List pending human gates across Graph Engineering runs, improvement cycles and series, and product loops (read-only projection of persisted snapshots)",
1066
+ parameters: Type.Object({
1067
+ sources: Type.Optional(Type.Array(StringEnum([...ATTENTION_SOURCES]))),
1068
+ }),
1069
+ async execute(_id, params) {
1070
+ let sources;
1071
+ if (Array.isArray(params.sources)) {
1072
+ const invalid = params.sources.filter((source) => !ATTENTION_SOURCES.includes(source));
1073
+ if (invalid.length > 0) {
1074
+ return toolResult(`Invalid source '${invalid.join(", ")}'. Allowed: ${ATTENTION_SOURCES.join(", ")}`);
1075
+ }
1076
+ sources = params.sources;
1077
+ }
1078
+ const items = await collectAttention(new FsAttentionStore(process.cwd()), sources);
1079
+ const lines = [formatAttention(items)];
1080
+ for (const item of items) {
1081
+ if (item.command)
1082
+ lines.push(` ${item.source}/${item.runId}: ${item.command}`);
1083
+ }
1084
+ return toolResult(lines.join("\n"));
1085
+ },
1086
+ });
1087
+ // ── Tool: dao_graph_status ────────────────────────────
1088
+ registerDaoTool({
1089
+ name: "dao_graph_status",
1090
+ label: "DAO Graph Status",
1091
+ description: "Read a Graph Engineering run snapshot (read-only)",
1092
+ parameters: Type.Object({
1093
+ runId: Type.String(),
1094
+ evidenceRoot: Type.Optional(Type.String()),
1095
+ }),
1096
+ async execute(_id, params) {
1097
+ const runner = await createGraphRunner({
1098
+ evidenceRoot: path.resolve(process.cwd(), params.evidenceRoot ?? ".dao/graph-runs"),
1099
+ runId: params.runId,
1100
+ });
1101
+ return toolResult(JSON.stringify(runner.snapshot(), null, 2));
1102
+ },
1103
+ });
1104
+ // ── Tool: dao_graph_submit ────────────────────────────
1105
+ registerDaoTool({
1106
+ name: "dao_graph_submit",
1107
+ label: "DAO Graph Submit",
1108
+ description: "Submit an AI-source signal (MODEL_DRAFTED, IMPLEMENTATION_READY, IMPLEMENTATION_FAILED) to a Graph Engineering run. Human events (MODEL_APPROVED, MODEL_REJECTED, RETRY_AUTHORIZED, CANCEL) go through the swarm-dao CLI, never through AI-facing tools.",
1109
+ parameters: Type.Object({
1110
+ runId: Type.String(),
1111
+ type: StringEnum([...GRAPH_AI_EVENT_TYPES]),
1112
+ producer: Type.String(),
1113
+ payload: Type.Optional(Type.String({ description: "JSON-encoded payload object" })),
1114
+ evidence: Type.Optional(Type.Array(Type.String())),
1115
+ evidenceRoot: Type.Optional(Type.String()),
1116
+ }),
1117
+ async execute(_id, params) {
1118
+ const payload = parsePayloadParam(params.payload);
1119
+ if (typeof payload === "string")
1120
+ return toolResult(payload);
1121
+ const result = await submitAiGraphSignal({ evidenceRoot: path.resolve(process.cwd(), params.evidenceRoot ?? ".dao/graph-runs") }, {
1122
+ runId: params.runId,
1123
+ type: params.type,
1124
+ producer: params.producer,
1125
+ payload,
1126
+ evidence: params.evidence ?? [],
1127
+ });
1128
+ const text = JSON.stringify(result, null, 2);
1129
+ return result.accepted ? toolResult(text) : toolResult(text);
1130
+ },
1131
+ });
1132
+ // ── Tool: dao_product_status ──────────────────────
1133
+ registerDaoTool({
1134
+ name: "dao_product_status",
1135
+ label: "DAO Product Status",
1136
+ description: "Read a product-loop run snapshot (read-only)",
1137
+ parameters: Type.Object({
1138
+ runId: Type.String(),
1139
+ evidenceRoot: Type.Optional(Type.String()),
1140
+ }),
1141
+ async execute(_id, params) {
1142
+ const runner = await createProductRunner({
1143
+ evidenceRoot: path.resolve(process.cwd(), params.evidenceRoot ?? ".dao/product-loops"),
1144
+ runId: params.runId,
1145
+ });
1146
+ return toolResult(JSON.stringify(runner.snapshot(), null, 2));
1147
+ },
1148
+ });
1149
+ // ── Tool: dao_product_submit ──────────────────────
1150
+ registerDaoTool({
1151
+ name: "dao_product_submit",
1152
+ label: "DAO Product Submit",
1153
+ description: "Submit an AI-source signal (AGENT_SIGNAL, FEEDBACK_AGGREGATED, PROPOSAL_DRAFTED) to a product-loop run. Human events (REVIEW_RESOLVED, RETRY_VERIFICATION_AUTHORIZED, CONTACT_RELAY_AUTHORIZED, CANCEL) go through the swarm-dao CLI, never through AI-facing tools.",
1154
+ parameters: Type.Object({
1155
+ runId: Type.String(),
1156
+ type: StringEnum([...PRODUCT_AI_EVENT_TYPES]),
1157
+ producer: Type.String(),
1158
+ payload: Type.Optional(Type.String({ description: "JSON-encoded payload object" })),
1159
+ evidence: Type.Optional(Type.Array(Type.String())),
1160
+ evidenceRoot: Type.Optional(Type.String()),
1161
+ }),
1162
+ async execute(_id, params) {
1163
+ const payload = parsePayloadParam(params.payload);
1164
+ if (typeof payload === "string")
1165
+ return toolResult(payload);
1166
+ const result = await submitAiProductSignal({ evidenceRoot: path.resolve(process.cwd(), params.evidenceRoot ?? ".dao/product-loops") }, {
1167
+ runId: params.runId,
1168
+ type: params.type,
1169
+ producer: params.producer,
1170
+ payload,
1171
+ evidence: params.evidence ?? [],
1172
+ });
1173
+ return toolResult(JSON.stringify(result, null, 2));
1174
+ },
1175
+ });
1176
+ // ── Tool: dao_improve_status ──────────────────────
1177
+ registerDaoTool({
1178
+ name: "dao_improve_status",
1179
+ label: "DAO Improve Status",
1180
+ description: "Read an improvement series snapshot (read-only): state, scope, cooldown, pending reason. Evidence root defaults to .dao/improvement-series under the workspace.",
1181
+ parameters: Type.Object({
1182
+ seriesId: Type.String(),
1183
+ evidenceRoot: Type.Optional(Type.String()),
1184
+ }),
1185
+ async execute(_id, params) {
1186
+ const runner = await OrchestratorRunner.create({
1187
+ seriesId: params.seriesId,
1188
+ evidenceRoot: path.resolve(process.cwd(), params.evidenceRoot ?? ".dao/improvement-series"),
1189
+ });
1190
+ return toolResult(JSON.stringify(runner.snapshot(), null, 2));
1191
+ },
1192
+ });
1193
+ // ── Tool: dao_improve_once ──────────────────────
1194
+ registerDaoTool({
1195
+ name: "dao_improve_once",
1196
+ label: "DAO Improve Once",
1197
+ description: "Advance an improvement series by exactly one state-authorized effect (deterministic executor). Runs workers/anchors from the persisted .dao/improvement.json configuration inside the per-series worktree — the caller supplies no execution options. No-op when the series waits on a human decision, has failed workers, is halted, or is terminal. Can be long-running (spawns worker agents).",
1198
+ parameters: Type.Object({
1199
+ seriesId: Type.String(),
1200
+ evidenceRoot: Type.Optional(Type.String()),
1201
+ }),
1202
+ async execute(_id, params) {
1203
+ const result = await advanceSeriesOnce({
1204
+ seriesId: params.seriesId,
1205
+ workDir: process.cwd(),
1206
+ ...(params.evidenceRoot !== undefined ? { evidenceRoot: params.evidenceRoot } : {}),
1207
+ });
1208
+ return toolResult(JSON.stringify(result, null, 2));
1209
+ },
1210
+ });
1211
+ // ── Tool: dao_github_open_pr ──────────────────────────
992
1212
  registerDaoTool({
993
1213
  name: "dao_github_open_pr",
994
1214
  label: "DAO GitHub PR",
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,yBAAyB;AACzB,+DAA+D;AAC/D,mDAAmD;AACnD,8CAA8C;AAE9C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AASnD,OAAO;AACL,2DAA2D;AAC3D,mBAAmB,EACnB,kBAAkB;AAClB,WAAW;AACX,WAAW,EACX,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,OAAO,EACP,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,2BAA2B,EAC3B,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,uBAAuB,EACvB,MAAM;AACN,QAAQ;AACR,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAM/B,qFAAqF;AACrF,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,yFAAyF;AACzF,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAEtC,IAAI,mBAAmB,GAAuB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAEnE,SAAS,wBAAwB,CAAC,GAA6B;IAC7D,OAAO,GAAG,EAAE,OAAO,EAAE,KAAK,IAAI,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC5E,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;QAC9C,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAiC,CAAC;YACjD,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC,OAAO,CAAC;YAC9D,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC;YACxD,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC,MAAM,CAAC;YAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO;qBACxB,MAAM,CAAC,CAAC,KAAK,EAA2C,EAAE;oBACzD,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;wBACzB,KAAK,KAAK,IAAI;wBACb,KAA2B,CAAC,IAAI,KAAK,MAAM;wBAC5C,OAAQ,KAA2B,CAAC,IAAI,KAAK,QAAQ,CACtD,CAAC;gBACJ,CAAC,CAAC;qBACD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;qBAC1B,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB;IACvB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,8EAA8E;IAC9E,2EAA2E;IAC3E,6EAA6E;IAC7E,0EAA0E;IAC1E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACrG,CAAC;IACD,+EAA+E;IAC/E,gFAAgF;IAChF,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,YAAoB,EACpB,KAAa,EACb,SAAkB;IAElB,IAAI,CAAC;QACH,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACzB,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC3C,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QAC5F,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACrF,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,SAAoD,CAAC;QACzD,MAAM,OAAO,GACX,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,GAAG,CAAC;YAC5C,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,oDAAoD;gBACpD,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC,CAAC;YACxE,CAAC,EAAE,SAAS,CAAC;YACf,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,OAAO;gBAAE,YAAY,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,SAAS;gBAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC;QACF,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;gBAC3E,cAAc,GAAG,IAAI,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC3B,gBAAgB,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC3B,gBAAgB,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,WAAW,EAAE,CAAC;YACd,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,WAAW,EAAE,CAAC;YACd,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,iCAAiC,SAAS,IAAI,EAAE,CAAC,CAAC;gBAClF,OAAO;YACT,CAAC;YACD,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,iCAAiC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;gBAChG,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,kCAAkC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClG,OAAO;YACT,CAAC;YACD,OAAO,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW;IACxE,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;IAC7B,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,WAAW;YACd,OAAO,kBAAkB,CAAC;QAC5B,KAAK,QAAQ;YACX,OAAO,iBAAiB,CAAC;QAC3B,KAAK,UAAU;YACb,OAAO,gBAAgB,CAAC;QAC1B,KAAK,aAAa;YAChB,OAAO,mBAAmB,CAAC;QAC7B;YACE,OAAO,iBAAiB,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAwB;IAC5D,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,4BAA4B,EAAE,CAAC;IACxJ,MAAM,WAAW,GACf,cAAc,KAAK,iBAAiB;QAClC,CAAC,CAAC,wIAAwI;QAC1I,CAAC,CAAC,yJAAyJ,CAAC;IAEhK,OAAO;aACI,KAAK;YACN,cAAc;mBACP,WAAW,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe,EAAE,QAAkB;IAC7D,IAAI,OAAO,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,iBAAiB,IAAI,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,EAAE,CAAC;QACjG,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,UAAU,IAAI,QAAQ,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAClE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,0BAA0B,CAAC,MAAwB;IAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,GAAG,QAAQ,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEpF,MAAM,cAAc,GAAiC;QACnD,iBAAiB,EAAE,CAAC;QACpB,kBAAkB,EAAE,CAAC;QACrB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,CAAC;QACnB,mBAAmB,EAAE,CAAC;KACvB,CAAC;IACF,MAAM,UAAU,GAAiC;QAC/C,iBAAiB,EAAE,CAAC;QACpB,kBAAkB,EAAE,CAAC;QACrB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,CAAC;QACnB,mBAAmB,EAAE,CAAC;KACvB,CAAC;IACF,MAAM,gBAAgB,GAAiC;QACrD,iBAAiB,EAAE,CAAC;QACpB,kBAAkB,EAAE,CAAC;QACrB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,CAAC;QACnB,mBAAmB,EAAE,CAAC;KACvB,CAAC;IAEF,MAAM,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChG,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5F,MAAM,YAAY,GAAG,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtG,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEtE,MAAM,aAAa,GACjB,IAAI,KAAK,KAAK;QACZ,CAAC,CAAC,uEAAuE;QACzE,CAAC,CAAC,IAAI,KAAK,SAAS;YAClB,CAAC,CAAC,uDAAuD;YACzD,CAAC,CAAC,6EAA6E,CAAC;IAEtF,OAAO;EACP,MAAM,CAAC,KAAK,CAAC,IAAI,uBAAuB,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI;;;EAGrE,IAAI;;;EAGJ,aAAa;;;gBAGC,UAAU;oBACN,cAAc;YACtB,MAAM;kBACA,YAAY;gBACd,UAAU;;;EAGxB,SAAS,EAAE,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAiB,EAAE,GAA6B;IAC3E,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAEzD,OAAO;QACL,MAAM,EAAE,IAAI;QAEZ,eAAe;YACb,OAAO,kBAAkB,CAAC;QAC5B,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,MAAM;YACrB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,yBAAyB,CAAC;YAErG,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,GAAG,CAAC;YACrE,IAAI,cAAc,IAAI,KAAK,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACnD,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;gBACzF,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBACvB,OAAO;wBACL,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;wBACxB,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;wBAC5B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;wBACvB,OAAO,EAAE,UAAU,CAAC,OAAO;wBAC3B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;qBACnC,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,CAAC,GAAG,CAAC;oBACb,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,YAAY;oBACrB,OAAO,EAAE,kCAAkC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,MAAM,UAAU,CAAC,KAAK,IAAI,cAAc,yBAAyB;iBACtI,CAAC,CAAC;YACL,CAAC;YAED,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YACzG,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;gBACxB,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;gBAC5B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;gBACvB,OAAO;gBACP,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACnC,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,MAAM;YACtB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;YACtD,MAAM,OAAO,GAAkB,EAAE,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC;gBACtD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAC9G,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;YAC3B,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,MAAM;YACd,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;YACxD,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;gBAC7B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;iBAAM,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,mBAAmB;YACjB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;QACvB,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,IAAY;YACzB,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,OAAe;YAC3C,OAAO,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,KAAK,CAAC,IAAI,CACR,OAAe,EACf,OAA4C;YAE5C,OAAO,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,aAAa,CAAC,UAAkB;YAC9B,MAAM,IAAI,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;YACvE,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,gEAAgE;AAEhE,SAAS,UAAU,CAAC,OAAe;IAIjC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACnD,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAyBD,0EAA0E;AAC1E,SAAS,iBAAiB,CAAC,MAAqB;IAC9C,OAAO,MAAM,CAAC,OAAO;SAClB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACzD,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,IAAI,KAAK,KAAK;gBAAE,KAAK,GAAG,IAAI,CAAC;;gBAC5B,OAAO,IAAI,IAAI,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,KAAK,GAAG,IAAI,CAAC;YACb,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO;gBAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxD,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,GAAG,KAAK,CAAC;YAChB,SAAS;QACX,CAAC;QACD,OAAO,IAAI,IAAI,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO;QAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,2EAA2E;AAC3E,MAAM,aAAa,GAA2B;IAC5C,WAAW,EACT,gJAAgJ;IAClJ,cAAc,EAAE,8BAA8B;IAC9C,SAAS,EAAE,yBAAyB;IACpC,WAAW,EAAE,2BAA2B;IACxC,QAAQ,EAAE,8CAA8C;IACxD,YAAY,EAAE,4BAA4B;IAC1C,QAAQ,EAAE,wBAAwB;IAClC,aAAa,EAAE,6BAA6B;IAC5C,WAAW,EAAE,2BAA2B;IACxC,QAAQ,EAAE,0CAA0C;IACpD,mBAAmB,EACjB,8GAA8G;IAChH,cAAc,EAAE,kCAAkC;IAClD,iBAAiB,EAAE,kEAAkE;IACrF,wBAAwB,EAAE,iCAAiC;IAC3D,kBAAkB,EAAE,0CAA0C;IAC9D,cAAc,EAAE,iBAAiB;CAClC,CAAC;AAEF,SAAS,QAAQ,CAAC,QAAgB;IAChC,OAAO,UAAU,aAAa,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,MAAgB;IACjE,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEjC,MAAM,UAAU,GAAG,CAAC,OAA6C,EAAE,EAAE;QACnE,MAAM,KAAK,GAAqC,EAAE,CAAC;QACnD,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC3B,IAAI,CAAC,IAAI;oBAAE,OAAO,mBAAmB,IAAI,OAAO,KAAK,EAAE,CAAC;gBACxD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;oBACnB,SAAS;gBACX,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5B,IAAI,KAAK,KAAK,SAAS;oBAAE,OAAO,uBAAuB,IAAI,OAAO,KAAK,EAAE,CAAC;gBAC1E,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBACpB,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,GAAuB,EAAmB,EAAE;QAClE,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO,0BAA0B,GAAG,UAAU,KAAK,EAAE,CAAC;QAC/E,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,GAAW,EAAY,EAAE,CAC1C,GAAG;SACA,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;IAErB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,gBAAgB;YACnB,OAAO,EAAE,CAAC;QAEZ,KAAK,gBAAgB,CAAC;QACtB,KAAK,WAAW,CAAC;QACjB,KAAK,aAAa,CAAC;QACnB,KAAK,cAAc,CAAC;QACpB,KAAK,UAAU,CAAC;QAChB,KAAK,eAAe,CAAC;QACrB,KAAK,aAAa,CAAC;QACnB,KAAK,0BAA0B,CAAC,CAAC,CAAC;YAChC,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,OAAO,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;QACtE,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACnE,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5C,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,IAAI,OAAO,UAAU,KAAK,QAAQ;gBAAE,OAAO,UAAU,CAAC;YACtD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAClG,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC,GAAG,MAAM,CAAC;YACnD,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAoB,CAAC,EAAE,CAAC;gBACnD,OAAO,mBAAmB,IAAI,wBAAwB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAC;YACjG,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnE,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,GAAG,MAAM,CAAC;YACnD,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACjF,MAAM,KAAK,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAClF,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5G,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACjE,CAAC;QAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC3G,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5C,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,IAAI,OAAO,UAAU,KAAK,QAAQ;gBAAE,OAAO,UAAU,CAAC;YACtD,MAAM,MAAM,GAA4B,EAAE,UAAU,EAAE,CAAC;YACvD,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ;gBAAE,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;YAC3F,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAAE,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC1G,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ;gBAAE,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpG,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAAE,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC1G,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACtC,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;QAChC,CAAC;QAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACzB,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC/E,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;YAChC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;YAChC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YACrG,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAChC,CAAC;QAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC;YACtD,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5C,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,IAAI,OAAO,UAAU,KAAK,QAAQ;gBAAE,OAAO,UAAU,CAAC;YACtD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACrE,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC5E,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;QACpC,CAAC;QAED;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,qBAAqB,GAAG;IAC5B,uBAAuB;IACvB,EAAE;IACF,6DAA6D;IAC7D,sDAAsD;IACtD,uGAAuG;CACxG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AA6Fb,wFAAwF;AACxF,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,QAAgB;IACxD,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;YAC3B,IAAI,OAAO,EAAE,CAAC;gBACZ,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClB,OAAO,GAAG,EAAE,CAAC;YACf,CAAC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,QAAQ;gBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;YACtF,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,GAAG,IAAI,CAAC;aACpC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ;YAAE,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC;aACxE,CAAC;YACJ,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClB,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IACD,IAAI,OAAO;QAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,IAAY,EAAE,KAAa;IACtE,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC,CAAC;QACrE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAChD,MAAM,KAAK,GAAa,CAAC,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gEAAgE;AAEhE,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAgB;IACxD,IAAI,UAA8C,CAAC;IAEnD,yEAAyE;IACzE,yEAAyE;IACzE,4DAA4D;IAC5D,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE3D,uEAAuE;IACvE,MAAM,eAAe,GAAG,CAAU,IAYjC,EAAQ,EAAE;QACT,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAoC,CAAC,CAAC;QAC3E,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC;IACF,iCAAiC;IACjC,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpD,aAAa,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sEAAsE;YACtE,oEAAoE;YACpE,mEAAmE;YACnE,sDAAsD;YACtD,UAAU,GAAG,SAAS,CAAC;YACvB,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,CAAC,IAAI,CAAC,8CAA8C,GAAG,KAAK,OAAO,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,0BAA0B;IAC1B,EAAE,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAChD,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,mBAAmB,GAAG,KAAK,CAAC,KAAK,CAAC;QACpC,CAAC;QAED,IAAI,KAA8C,CAAC;QACnD,IAAI,CAAC;YACH,KAAK,GAAG,QAAQ,EAAE,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;YACpE,yEAAyE;QAC3E,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;YACxB,OAAO;gBACL,YAAY,EACV,KAAK,CAAC,YAAY;oBAClB,gNAAgN;aACnN,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC;QAExG,IAAI,UAAU,GAAG,mFAAmF,CAAC;QACrG,UAAU,IAAI,sBAAsB,MAAM,CAAC,MAAM,KAAK,SAAS,qBAAqB,WAAW,EAAE,CAAC;QAClG,UAAU,IAAI,uBAAuB,aAAa,CAAC,MAAM,EAAE,CAAC;QAC5D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;gBAC9B,UAAU,IAAI,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;YACxE,CAAC;QACH,CAAC;QACD,UAAU,IAAI,sBAAsB,KAAK,CAAC,MAAM,CAAC,aAAa,eAAe,KAAK,CAAC,MAAM,CAAC,iBAAiB,WAAW,KAAK,CAAC,MAAM,CAAC,aAAa,KAAK,CAAC;QACtJ,UAAU,IAAI,6SAA6S,CAAC;QAE5T,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,GAAG,UAAU,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,4DAA4D;IAC5D,eAAe,CAAC;QACd,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,0CAA0C;QACvD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,oCAAoC,EAAE,CAAC,CAAC;SAChG,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAsB;YACvC,OAAO,UAAU,CACf,MAAM,cAAc,CAClB;gBACE,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,MAAM;gBACxB,eAAe,EAAE,WAAW;gBAC5B,UAAU;aACX,EACD,MAAM,CAAC,WAAW,KAAK,KAAK,CAC7B,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,eAAe,CAAC;QACd,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,uBAAuB;QACpC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;YACpB,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;YAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACrC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9C,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5D,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACxD,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5D,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACxD,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAwB;YACzC,OAAO,UAAU,CAAC,MAAM,gBAAgB,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAoB,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;QAC1G,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,eAAe,CAAC;QACd,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,sCAAsC;QACnD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;SAC1B,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAA2B,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG;YACpE,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC;oBACP,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,8BAA8B,MAAM,CAAC,UAAU,KAAK,EAAE,CAAC;oBACvF,OAAO,EAAE,EAAE;iBACZ,CAAC,CAAC;YACL,CAAC;YACD,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC7C,OAAO,UAAU,CACf,MAAM,mBAAmB,CACvB;gBACE,OAAO;gBACP,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,MAAM;gBACxB,eAAe,EAAE,WAAW;gBAC5B,iBAAiB,EAAE,IAAI;gBACvB,UAAU;gBACV,sBAAsB,EAAE,CAAC,MAAM,EAAE,EAAE;oBACjC,IAAI,QAAQ,EAAE,CAAC;wBACb,QAAQ,CAAC;4BACP,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;4BACzE,OAAO,EAAE,EAAE;yBACZ,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;aACF,EACD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAC1B,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,eAAe,CAAC;QACd,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,2BAA2B;QACxC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACtD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAsB;YACvC,OAAO,UAAU,CACf,MAAM,gBAAgB,CACpB;gBACE,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,MAAM;gBACxB,eAAe,EAAE,WAAW;gBAC5B,iBAAiB,EAAE,IAAI;gBACvB,UAAU;aACX,EACD,MAAM,CAAC,UAAU,CAClB,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,eAAe,CAAC;QACd,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,mBAAmB;QAChC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACtD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAqB;YACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ;gBAAE,OAAO,UAAU,CAAC,aAAa,MAAM,CAAC,UAAU,aAAa,CAAC,CAAC;YAC9E,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC/B,OAAO,UAAU,CACf,oHAAoH,CACrH,CAAC;gBACJ,CAAC;gBACD,IAAI,QAAQ,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;oBACvC,OAAO,UAAU,CACf,kGAAkG,CACnG,CAAC;gBACJ,CAAC;gBACD,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBACnC,OAAO,UAAU,CAAC,qFAAqF,CAAC,CAAC;gBAC3G,CAAC;gBACD,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;oBACrC,OAAO,UAAU,CAAC,yEAAyE,CAAC,CAAC;gBAC/F,CAAC;gBACD,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBACnC,OAAO,UAAU,CAAC,+CAA+C,CAAC,CAAC;gBACrE,CAAC;gBACD,OAAO,UAAU,CAAC,uCAAuC,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,eAAe,CAAC;QACd,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,+BAA+B;QAC5C,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACtD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAwB;YACzC,OAAO,UAAU,CACf,MAAM,gBAAgB,CACpB;gBACE,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,MAAM;gBACxB,eAAe,EAAE,WAAW;gBAC5B,UAAU;aACX,EACD,MAAM,CAAC,UAAU,CAClB,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,eAAe,CAAC;QACd,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,8DAA8D;QAC3E,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;YACzB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACtC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;SACrC,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAqB;YACtC,OAAO,UAAU,CACf,MAAM,aAAa,CACjB;gBACE,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,MAAM;gBACxB,eAAe,EAAE,WAAW;gBAC5B,UAAU;aACX,EACD,MAAM,CAAC,UAAU,EACjB,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CACjD,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,eAAe,CAAC;QACd,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,kBAAkB;QAC/B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;QACrE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAsB;YACvC,MAAM,OAAO,GACX,MAAM,CAAC,UAAU,KAAK,SAAS;gBAC7B,CAAC,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,CAAC;gBACpE,CAAC,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAClE,CAAC;KACF,CAAC,CAAC;IAEH,2DAA2D;IAC3D,eAAe,CAAC;QACd,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,8CAA8C;QAC3D,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACtD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAA0B;YAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ;gBAAE,OAAO,UAAU,CAAC,aAAa,MAAM,CAAC,UAAU,aAAa,CAAC,CAAC;YAC9E,MAAM,SAAS,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACjD,OAAO,UAAU,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;QACnD,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,eAAe,CAAC;QACd,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,oDAAoD;QACjE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;YACzB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;SACvB,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAqB;YACtC,OAAO,UAAU,CACf,MAAM,aAAa,CACjB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EACzB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAsB,EACzC,MAAM,CAAC,OAAO,EACd,UAAU,CACX,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,eAAe,CAAC;QACd,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,iCAAiC;QAC9C,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAA2B;YAC5C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,WAAW;gBAAE,OAAO,UAAU,CAAC,qBAAqB,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,iBAAiB,CACjC,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,MAAM,CAAC,aAAa,CAC3B,CAAC;YACF,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC/F,OAAO,UAAU,CAAC,GAAG,SAAS,OAAO,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,eAAe,CAAC;QACd,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,4CAA4C;QACzD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACtD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAuB;YACxC,OAAO,UAAU,CAAC,MAAM,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QAClF,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,eAAe,CAAC;QACd,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,qDAAqD;QAClE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACtD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAyB;YAC1C,OAAO,UAAU,CAAC,MAAM,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QACpF,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,eAAe,CAAC;QACd,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,4CAA4C;QACzD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAA4B,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG;YACtE,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC7C,OAAO,UAAU,CACf,MAAM,mBAAmB,CAAC;gBACxB,OAAO;gBACP,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,MAAM;gBACxB,eAAe,EAAE,WAAW;gBAC5B,eAAe,EAAE,GAAG,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC;gBACpD,UAAU;aACX,CAAC,CACH,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,eAAe,CAAC;QACd,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,8CAA8C;QAC3D,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;YACzB,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9C,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5D,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACxD,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC7D,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAA+B;YAChD,OAAO,UAAU,CACf,MAAM,uBAAuB,CAC3B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EACzB;gBACE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;gBAC7C,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;aAC9C,EACD,UAAU,CACX,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,eAAe,CAAC;QACd,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,sFAAsF;QACnG,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;SAC9E,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAA0B;YAC3C,OAAO,UAAU,CACf,MAAM,kBAAkB,CACtB;gBACE,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,MAAM;gBACxB,eAAe,EAAE,WAAW;gBAC5B,UAAU;aACX,EACD,MAAM,CAAC,KAAK,CACb,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,2DAA2D;IAC3D,eAAe,CAAC;QACd,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,uDAAuD;QACpE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC;YACnE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC;YACrE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;SACtD,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAA6B;YAC9C,OAAO,UAAU,CACf,MAAM,qBAAqB,CACzB;gBACE,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,MAAM;gBACxB,eAAe,EAAE,WAAW;gBAC5B,UAAU;aACX,EACD,MAAM,CACP,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,2DAA2D;IAC3D,eAAe,CAAC;QACd,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,yDAAyD;QACtE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACtD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAA6B;YAC9C,OAAO,UAAU,CACf,MAAM,2BAA2B,CAC/B;gBACE,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,MAAM;gBACxB,eAAe,EAAE,WAAW;gBAC5B,UAAU;aACX,EACD,MAAM,CAAC,UAAU,CAClB,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,2DAA2D;IAC3D,eAAe,CAAC;QACd,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,2CAA2C;QACxD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;YACzB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;SACvE,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAyB;YAC1C,OAAO,UAAU,CACf,MAAM,qBAAqB,CACzB;gBACE,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,gBAAgB,EAAE,MAAM;gBACxB,eAAe,EAAE,WAAW;gBAC5B,UAAU;aACX,EACD,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,UAAU,CAClB,CACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,4DAA4D;IAC5D,0EAA0E;IAC1E,0EAA0E;IAC1E,0EAA0E;IAC1E,+DAA+D;IAC/D,MAAM,eAAe,GAAG,CAAC,KAAkC,EAAU,EAAE;QACrE,+EAA+E;QAC/E,MAAM,SAAS,GAAG,iBAAiB,CACjC,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,MAAM,CAAC,aAAa,CAC3B,CAAC;QACF,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC/F,OAAO,GAAG,SAAS,OAAO,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;IACxD,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,IAAqB,EAAE;QAC9C,OAAO,cAAc,CAAC;YACpB,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;YACtB,gBAAgB,EAAE,MAAM;YACxB,eAAe,EAAE,WAAW;YAC5B,UAAU;SACX,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CACzB,KAAkC,EAClC,UAA8C,EAAE,EACxC,EAAE;QACV,IAAI,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAChC,IAAI,OAAO,CAAC,MAAM;YAAE,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QACrF,IAAI,OAAO,CAAC,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;YAC9C,OAAO,MAAM;gBACX,CAAC,CAAC,mCAAmC;gBACrC,CAAC,CAAC,6DAA6D,CAAC;QACpE,CAAC;QACD,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChG,OAAO,gBAAgB,SAAS,CAAC,MAAM,QAAQ,IAAI,EAAE,CAAC;IACxD,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,KAAkC,EAAU,EAAE;QACrE,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,uDAAuD,CAAC;QAC9F,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9F,OAAO,iBAAiB,KAAK,CAAC,MAAM,CAAC,MAAM,QAAQ,IAAI,EAAE,CAAC;IAC5D,CAAC,CAAC;IAEF,mFAAmF;IACnF,MAAM,gBAAgB,GAAG,CAAC,MAAgB,EAAsC,EAAE;QAChF,MAAM,OAAO,GAAuC,EAAE,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC3D,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;gBACtB,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,IAAI,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBAChE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;gBACpB,CAAC,EAAE,CAAC;YACN,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,uFAAuF;IACvF,MAAM,eAAe,GAAG,CAAC,KAAyB,EAAsB,EAAE;QACxE,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF;;;;;;;OAOG;IACH,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAwC,EAAE,KAAa,EAAE,IAAY,EAAE,EAAE;QACvG,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC;QACnB,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1C,IAAI,cAAc,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;oBACnD,cAAc,GAAG,IAAI,CAAC;oBACtB,OAAO;wBACL,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;wBAC5D,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;wBACpB,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE;4BAC5B,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,MAAM;gCAAE,IAAI,CAAC,SAAS,CAAC,CAAC;wBACzE,CAAC;qBACF,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACH,IAAI,cAAc;oBAAE,OAAO;gBAC3B,yEAAyE;YAC3E,CAAC;YAAC,MAAM,CAAC;gBACP,oEAAoE;YACtE,CAAC;QACH,CAAC;aAAM,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,OAAO,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;YAAC,MAAM,CAAC;gBACP,sCAAsC;YACxC,CAAC;QACH,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,uEAAuE;IACvE,yEAAyE;IACzE,MAAM,cAAc,GAAG;QACrB,MAAM;QACN,OAAO;QACP,MAAM;QACN,QAAQ;QACR,WAAW;QACX,MAAM;QACN,QAAQ;QACR,OAAO;QACP,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;KACrE;SACE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE;QACxB,WAAW,EAAE,sGAAsG;QACnH,sBAAsB,EAAE,CAAC,cAAsB,EAAE,EAAE;YACjD,yEAAyE;YACzE,sEAAsE;YACtE,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;YACnC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAClE,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvF,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3B,MAAM,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3E,CAAC;KACF,CAAC,CAAC;IAEH,gFAAgF;IAChF,MAAM,aAAa,GAAG,KAAK,EAAE,IAAY,EAAE,GAAwC,EAAmB,EAAE;QACtG,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE7B,cAAc;QACd,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC5E,OAAO,mBAAmB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,gEAAgE;QAChE,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;YACpD,OAAO,MAAM,WAAW,EAAE,CAAC;QAC7B,CAAC;QAED,2CAA2C;QAC3C,IAAI,KAAkC,CAAC;QACvC,IAAI,CAAC;YACH,KAAK,GAAG,QAAQ,EAAE,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,WAAW;YAAE,OAAO,qBAAqB,CAAC;QAErD,sCAAsC;QACtC,IAAI,UAAU,KAAK,EAAE,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAC/E,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,6EAA6E;QAC7E,IAAI,UAAU,KAAK,MAAM;YAAE,OAAO,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QACpF,IAAI,UAAU,KAAK,QAAQ;YAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBACtD,OAAO,0BAA0B,IAAI,CAAC,CAAC,CAAC,2CAA2C,CAAC;YACtF,CAAC;YACD,MAAM,OAAO,GACX,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;YAC5G,OAAO,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC/C,CAAC;QAED,oCAAoC;QACpC,MAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,GAAG;YAAE,OAAO,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAErD,qEAAqE;QACrE,wEAAwE;QACxE,oEAAoE;QACpE,wEAAwE;QACxE,wEAAwE;QACxE,WAAW;QACX,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YACrE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ;gBAAE,OAAO,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAChD,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YACtF,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guyghost/swarm-dao-pi-adapter",
3
- "version": "0.4.1",
3
+ "version": "0.6.0",
4
4
  "description": "Swarm DAO adapter for the Pi coding agent — multi-agent governance tools, commands, and event hooks",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -24,7 +24,10 @@
24
24
  "prepublishOnly": "bun run build"
25
25
  },
26
26
  "dependencies": {
27
- "@guyghost/swarm-dao-core": "^0.11.0"
27
+ "@guyghost/swarm-dao-core": "^0.11.3",
28
+ "@guyghost/swarm-dao-graph": "^0.3.0",
29
+ "@guyghost/swarm-dao-improvement": "^0.4.0",
30
+ "@guyghost/swarm-dao-product": "^0.3.0"
28
31
  },
29
32
  "peerDependencies": {
30
33
  "@earendil-works/pi-ai": ">=0.1.0",