@vinhnt-sdk/core 0.9.7 → 0.10.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.
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Unified context budget — single owner for context-window related limits.
3
+ *
4
+ * Derives per-consumer limits from a single `maxContextTokens` so that
5
+ * guard sanitization, knowledge compression, subagent output, and
6
+ * compaction threshold stay coordinated instead of using scattered
7
+ * hardcoded constants (128k / 500 / 4096 / 0.75).
8
+ *
9
+ * @module context/context-budget
10
+ */
11
+ /** Unified context budget — all fields optional when partial. */
12
+ export interface ContextBudget {
13
+ /** Maximum context window in tokens. Default: 128_000. */
14
+ readonly maxContextTokens: number;
15
+ /** Max chars for a single tool output before truncation. Default: 500. */
16
+ readonly maxToolOutputChars: number;
17
+ /** Max chars for subagent output returned to parent. Default: 4096. */
18
+ readonly maxSubagentOutputChars: number;
19
+ /** Max chars for sanitizer truncation before LLM context. Default: 128_000. */
20
+ readonly sanitizeLimitChars: number;
21
+ /** Compaction threshold ratio (0-1). Default: 0.75. */
22
+ readonly compactionThreshold: number;
23
+ }
24
+ /** Default ratios derived from `maxContextTokens` (chars ≈ tokens * 4). */
25
+ export declare const DEFAULT_CONTEXT_BUDGET: ContextBudget;
26
+ /**
27
+ * Derive a full ContextBudget from partial overrides.
28
+ *
29
+ * When only `maxContextTokens` is provided, other limits are derived
30
+ * using sensible ratios relative to the window; when omitted, defaults apply.
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const budget = deriveContextBudget({ maxContextTokens: 200_000 });
35
+ * // sanitizeLimitChars stays 128_000 (absolute char cap, not token-derived)
36
+ * // maxToolOutputChars stays 500, etc.
37
+ * ```
38
+ */
39
+ export declare function deriveContextBudget(partial?: Partial<ContextBudget>): ContextBudget;
40
+ /**
41
+ * Build CompressorOptions-compatible fields from a budget.
42
+ * Used by knowledge package consumers without importing knowledge into core.
43
+ */
44
+ export declare function budgetToCompressorFields(budget: ContextBudget): {
45
+ maxToolOutputLength: number;
46
+ tokenBudget: number;
47
+ };
48
+ //# sourceMappingURL=context-budget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-budget.d.ts","sourceRoot":"","sources":["../../src/context/context-budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,0EAA0E;IAC1E,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,uEAAuE;IACvE,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,+EAA+E;IAC/E,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,uDAAuD;IACvD,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB,EAAE,aAMpC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CASnF;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,aAAa,GAAG;IAC/D,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB,CAKA"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Unified context budget — single owner for context-window related limits.
3
+ *
4
+ * Derives per-consumer limits from a single `maxContextTokens` so that
5
+ * guard sanitization, knowledge compression, subagent output, and
6
+ * compaction threshold stay coordinated instead of using scattered
7
+ * hardcoded constants (128k / 500 / 4096 / 0.75).
8
+ *
9
+ * @module context/context-budget
10
+ */
11
+ /** Default ratios derived from `maxContextTokens` (chars ≈ tokens * 4). */
12
+ export const DEFAULT_CONTEXT_BUDGET = {
13
+ maxContextTokens: 128_000,
14
+ maxToolOutputChars: 500,
15
+ maxSubagentOutputChars: 4096,
16
+ sanitizeLimitChars: 128_000,
17
+ compactionThreshold: 0.75,
18
+ };
19
+ /**
20
+ * Derive a full ContextBudget from partial overrides.
21
+ *
22
+ * When only `maxContextTokens` is provided, other limits are derived
23
+ * using sensible ratios relative to the window; when omitted, defaults apply.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * const budget = deriveContextBudget({ maxContextTokens: 200_000 });
28
+ * // sanitizeLimitChars stays 128_000 (absolute char cap, not token-derived)
29
+ * // maxToolOutputChars stays 500, etc.
30
+ * ```
31
+ */
32
+ export function deriveContextBudget(partial) {
33
+ if (!partial)
34
+ return DEFAULT_CONTEXT_BUDGET;
35
+ return {
36
+ maxContextTokens: partial.maxContextTokens ?? DEFAULT_CONTEXT_BUDGET.maxContextTokens,
37
+ maxToolOutputChars: partial.maxToolOutputChars ?? DEFAULT_CONTEXT_BUDGET.maxToolOutputChars,
38
+ maxSubagentOutputChars: partial.maxSubagentOutputChars ?? DEFAULT_CONTEXT_BUDGET.maxSubagentOutputChars,
39
+ sanitizeLimitChars: partial.sanitizeLimitChars ?? DEFAULT_CONTEXT_BUDGET.sanitizeLimitChars,
40
+ compactionThreshold: partial.compactionThreshold ?? DEFAULT_CONTEXT_BUDGET.compactionThreshold,
41
+ };
42
+ }
43
+ /**
44
+ * Build CompressorOptions-compatible fields from a budget.
45
+ * Used by knowledge package consumers without importing knowledge into core.
46
+ */
47
+ export function budgetToCompressorFields(budget) {
48
+ return {
49
+ maxToolOutputLength: budget.maxToolOutputChars,
50
+ tokenBudget: Math.floor(budget.maxContextTokens * budget.compactionThreshold),
51
+ };
52
+ }
53
+ //# sourceMappingURL=context-budget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-budget.js","sourceRoot":"","sources":["../../src/context/context-budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAgBH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,gBAAgB,EAAE,OAAO;IACzB,kBAAkB,EAAE,GAAG;IACvB,sBAAsB,EAAE,IAAI;IAC5B,kBAAkB,EAAE,OAAO;IAC3B,mBAAmB,EAAE,IAAI;CAC1B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAgC;IAClE,IAAI,CAAC,OAAO;QAAE,OAAO,sBAAsB,CAAC;IAC5C,OAAO;QACL,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,sBAAsB,CAAC,gBAAgB;QACrF,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,sBAAsB,CAAC,kBAAkB;QAC3F,sBAAsB,EAAE,OAAO,CAAC,sBAAsB,IAAI,sBAAsB,CAAC,sBAAsB;QACvG,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,sBAAsB,CAAC,kBAAkB;QAC3F,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,IAAI,sBAAsB,CAAC,mBAAmB;KAC/F,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAqB;IAI5D,OAAO;QACL,mBAAmB,EAAE,MAAM,CAAC,kBAAkB;QAC9C,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC;KAC9E,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -4,6 +4,8 @@ export { RunStateMachine } from "@vinhnt-sdk/step-executor";
4
4
  export type { AgentKernelConfig, ModelSettings, RunHandle, AgentRunHandle, AgentRunResult, RunUsage } from "./kernel/kernel-types.js";
5
5
  export { AgentRunContext } from "./kernel/run-context.js";
6
6
  export type { ApprovalRecord } from "./kernel/run-context.js";
7
+ export { DEFAULT_CONTEXT_BUDGET, deriveContextBudget, budgetToCompressorFields } from "./context/context-budget.js";
8
+ export type { ContextBudget } from "./context/context-budget.js";
7
9
  export { createAgent } from "./agent/agent-factory.js";
8
10
  export type { CreateAgentParams } from "./agent/agent-factory.js";
9
11
  export { agentAsTool, createHandoffTool } from "./kernel/agent-as-tool.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -8,6 +8,8 @@ export { AgentKernel, KernelError } from "./kernel/kernel.js";
8
8
  export { canTransitionRun, terminalRunStatuses } from "./kernel/state-machine.js";
9
9
  export { RunStateMachine } from "@vinhnt-sdk/step-executor";
10
10
  export { AgentRunContext } from "./kernel/run-context.js";
11
+ // === Context budget ===
12
+ export { DEFAULT_CONTEXT_BUDGET, deriveContextBudget, budgetToCompressorFields } from "./context/context-budget.js";
11
13
  // === Agent system ===
12
14
  export { createAgent } from "./agent/agent-factory.js";
13
15
  // === Agent-as-Tool ===
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-as-tool.d.ts","sourceRoot":"","sources":["../../src/kernel/agent-as-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEpE,MAAM,WAAW,kBAAkB;IACjC,kCAAkC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,mCAAmC;IACnC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,4DAA4D;IAC5D,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,cAAc,CAwBvE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D,GAAG,cAAc,CAuBjB"}
1
+ {"version":3,"file":"agent-as-tool.d.ts","sourceRoot":"","sources":["../../src/kernel/agent-as-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEpE,MAAM,WAAW,kBAAkB;IACjC,kCAAkC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,mCAAmC;IACnC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,4DAA4D;IAC5D,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,cAAc,CA4BvE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D,GAAG,cAAc,CAuBjB"}
@@ -48,7 +48,11 @@ export function agentAsTool(options) {
48
48
  const fullPrompt = input.context
49
49
  ? `${input.prompt}\n\nAdditional context:\n${input.context}`
50
50
  : input.prompt;
51
- return `[DELEGATE:${agentId}] ${fullPrompt}`;
51
+ let result = `[DELEGATE:${agentId}] ${fullPrompt}`;
52
+ if (maxOutputLength > 0 && result.length > maxOutputLength) {
53
+ result = result.slice(0, maxOutputLength) + "\n... [subagent output truncated]";
54
+ }
55
+ return result;
52
56
  },
53
57
  }).toDefinition();
54
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent-as-tool.js","sourceRoot":"","sources":["../../src/kernel/agent-as-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAuB,MAAM,mBAAmB,CAAC;AAapE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,WAAW,CAAC,OAA2B;IACrD,MAAM,EACJ,OAAO,EACP,QAAQ,GAAG,eAAe,OAAO,EAAE,EACnC,eAAe,EACf,eAAe,GAAG,IAAI,GACvB,GAAG,OAAO,CAAC;IAEZ,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE,OAAgB;QACtB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;YACvF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;SACjF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO;gBAC9B,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,4BAA4B,KAAK,CAAC,OAAO,EAAE;gBAC5D,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YAEjB,OAAO,aAAa,OAAO,KAAK,UAAU,EAAE,CAAC;QAC/C,CAAC;KACF,CAAC,CAAC,YAAY,EAAE,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAKjC;IACC,MAAM,EACJ,OAAO,EACP,QAAQ,GAAG,eAAe,OAAO,EAAE,EACnC,eAAe,EACf,SAAS,GACV,GAAG,OAAO,CAAC;IAEZ,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE,OAAgB;QACtB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACrD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;SAC1E,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,YAAY,OAAO,YAAY,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1G,CAAC;KACF,CAAC,CAAC,YAAY,EAAE,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"agent-as-tool.js","sourceRoot":"","sources":["../../src/kernel/agent-as-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAuB,MAAM,mBAAmB,CAAC;AAapE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,WAAW,CAAC,OAA2B;IACrD,MAAM,EACJ,OAAO,EACP,QAAQ,GAAG,eAAe,OAAO,EAAE,EACnC,eAAe,EACf,eAAe,GAAG,IAAI,GACvB,GAAG,OAAO,CAAC;IAEZ,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE,OAAgB;QACtB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;YACvF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;SACjF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO;gBAC9B,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,4BAA4B,KAAK,CAAC,OAAO,EAAE;gBAC5D,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YAEjB,IAAI,MAAM,GAAG,aAAa,OAAO,KAAK,UAAU,EAAE,CAAC;YACnD,IAAI,eAAe,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;gBAC3D,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,GAAG,mCAAmC,CAAC;YAClF,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC,CAAC,YAAY,EAAE,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAKjC;IACC,MAAM,EACJ,OAAO,EACP,QAAQ,GAAG,eAAe,OAAO,EAAE,EACnC,eAAe,EACf,SAAS,GACV,GAAG,OAAO,CAAC;IAEZ,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE,OAAgB;QACtB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACrD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;SAC1E,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,YAAY,OAAO,YAAY,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1G,CAAC;KACF,CAAC,CAAC,YAAY,EAAE,CAAC;AACpB,CAAC"}
@@ -167,6 +167,15 @@ export interface AgentKernelConfig {
167
167
  readonly workspaceRoot?: string;
168
168
  /** Context compaction threshold ratio (0-1). Default: 0.75. */
169
169
  readonly compactionThreshold?: number;
170
+ /**
171
+ * Unified context budget — coordinates sanitizer/compressor/subagent limits.
172
+ * Partial overrides; omitted fields fall back to {@link DEFAULT_CONTEXT_BUDGET}.
173
+ */
174
+ readonly contextBudget?: Partial<import("../context/context-budget.js").ContextBudget>;
175
+ /**
176
+ * Scrub secrets from tool outputs before persist/send (P1-7). Default: true.
177
+ */
178
+ readonly redactToolOutputs?: boolean;
170
179
  /** If true, disable event persistence (ephemeral runs). */
171
180
  readonly noStore?: boolean;
172
181
  /** Termination policy for advanced stop conditions. */
@@ -1 +1 @@
1
- {"version":3,"file":"kernel-types.d.ts","sourceRoot":"","sources":["../../src/kernel/kernel-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kernel-types.d.ts","sourceRoot":"","sources":["../../src/kernel/kernel-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"kernel-types.js","sourceRoot":"","sources":["../../src/kernel/kernel-types.ts"],"names":[],"mappings":"AAuVA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,eAAe,CAAC,MAA+B;IAC7D,MAAM,UAAU,GAA4B,EAAE,GAAG,MAAM,EAAE,CAAC;IAE1D,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,UAAU,CAAC,OAAO,GAAG;YACnB,IAAI,EAAE,UAAU,CAAC,WAAW;YAC5B,KAAK,EAAE,UAAU,CAAC,YAAY;YAC9B,SAAS,EAAE,UAAU,CAAC,gBAAgB;SACvC,CAAC;QACF,OAAO,UAAU,CAAC,WAAW,CAAC;QAC9B,OAAO,UAAU,CAAC,YAAY,CAAC;QAC/B,OAAO,UAAU,CAAC,gBAAgB,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAC5B,UAAU,CAAC,WAAW,GAAG;YACvB,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;YACnD,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;YAC3D,qBAAqB,EAAE,UAAU,CAAC,qBAAqB;YACvD,sBAAsB,EAAE,UAAU,CAAC,sBAAsB;YACzD,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;SAC5D,CAAC;QACF,OAAO,UAAU,CAAC,aAAa,CAAC;QAChC,OAAO,UAAU,CAAC,mBAAmB,CAAC;QACtC,OAAO,UAAU,CAAC,uBAAuB,CAAC;QAC1C,OAAO,UAAU,CAAC,qBAAqB,CAAC;QACxC,OAAO,UAAU,CAAC,sBAAsB,CAAC;QACzC,OAAO,UAAU,CAAC,uBAAuB,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAC7B,UAAU,CAAC,YAAY,GAAG;YACxB,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;YAC7C,aAAa,EAAE,UAAU,CAAC,aAAa;SACxC,CAAC;QACF,OAAO,UAAU,CAAC,cAAc,CAAC;QACjC,OAAO,UAAU,CAAC,YAAY,CAAC;QAC/B,OAAO,UAAU,CAAC,gBAAgB,CAAC;QACnC,OAAO,UAAU,CAAC,aAAa,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,UAAU,CAAC,KAAK,GAAG;YACjB,KAAK,EAAE,UAAU,CAAC,WAAW;SAC9B,CAAC;QACF,OAAO,UAAU,CAAC,WAAW,CAAC;IAChC,CAAC;IAED,OAAO,UAA0C,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"kernel-types.js","sourceRoot":"","sources":["../../src/kernel/kernel-types.ts"],"names":[],"mappings":"AAgWA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,eAAe,CAAC,MAA+B;IAC7D,MAAM,UAAU,GAA4B,EAAE,GAAG,MAAM,EAAE,CAAC;IAE1D,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,UAAU,CAAC,OAAO,GAAG;YACnB,IAAI,EAAE,UAAU,CAAC,WAAW;YAC5B,KAAK,EAAE,UAAU,CAAC,YAAY;YAC9B,SAAS,EAAE,UAAU,CAAC,gBAAgB;SACvC,CAAC;QACF,OAAO,UAAU,CAAC,WAAW,CAAC;QAC9B,OAAO,UAAU,CAAC,YAAY,CAAC;QAC/B,OAAO,UAAU,CAAC,gBAAgB,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAC5B,UAAU,CAAC,WAAW,GAAG;YACvB,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;YACnD,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;YAC3D,qBAAqB,EAAE,UAAU,CAAC,qBAAqB;YACvD,sBAAsB,EAAE,UAAU,CAAC,sBAAsB;YACzD,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;SAC5D,CAAC;QACF,OAAO,UAAU,CAAC,aAAa,CAAC;QAChC,OAAO,UAAU,CAAC,mBAAmB,CAAC;QACtC,OAAO,UAAU,CAAC,uBAAuB,CAAC;QAC1C,OAAO,UAAU,CAAC,qBAAqB,CAAC;QACxC,OAAO,UAAU,CAAC,sBAAsB,CAAC;QACzC,OAAO,UAAU,CAAC,uBAAuB,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAC7B,UAAU,CAAC,YAAY,GAAG;YACxB,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;YAC7C,aAAa,EAAE,UAAU,CAAC,aAAa;SACxC,CAAC;QACF,OAAO,UAAU,CAAC,cAAc,CAAC;QACjC,OAAO,UAAU,CAAC,YAAY,CAAC;QAC/B,OAAO,UAAU,CAAC,gBAAgB,CAAC;QACnC,OAAO,UAAU,CAAC,aAAa,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,UAAU,CAAC,KAAK,GAAG;YACjB,KAAK,EAAE,UAAU,CAAC,WAAW;SAC9B,CAAC;QACF,OAAO,UAAU,CAAC,WAAW,CAAC;IAChC,CAAC;IAED,OAAO,UAA0C,CAAC;AACpD,CAAC"}
@@ -57,6 +57,9 @@ export declare class AgentKernel {
57
57
  private sessionState;
58
58
  private readonly toolRegistry;
59
59
  private readonly toolProviderRegistry;
60
+ private readonly modelRegistry;
61
+ private readonly modelRouting;
62
+ private readonly contextBudget;
60
63
  private readonly sessionTitleGenerator;
61
64
  private saga;
62
65
  private readonly runSagas;
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../src/kernel/kernel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../src/kernel/kernel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAc,MAAM,oBAAoB,CAAC;AAErI,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAsC,MAAM,mBAAmB,CAAC;AAQ5F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOxD,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,oIAAoI,CAAC;AAEzK,+CAA+C;AAC/C,eAAO,MAAM,kBAAkB,OAAO,CAAC;AACvC,sCAAsC;AACtC,eAAO,MAAM,oBAAoB,SAAU,CAAC;AAC5C,yDAAyD;AACzD,eAAO,MAAM,iCAAiC,IAAI,CAAC;AACnD,+CAA+C;AAC/C,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAC7C,gDAAgD;AAChD,eAAO,MAAM,4BAA4B,OAAO,CAAC;AAGjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAyB,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAelF,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,cAAc,EAAkB,MAAM,mBAAmB,CAAC;AAEtG,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,KAAK,YAAY,EAAE,KAAK,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACnI,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAQxD;;;;GAIG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2B;IACxD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2B;IACxD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAmC;IACxE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6D;IAC1F,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmE;IACjG,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAoD;IAC1F,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,WAAW,CAA0C;IAC7D,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgC;IAC5D,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwD;IACxF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwD;IACzF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqD;IACtF,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyC;IAC3E,0FAA0F;IAC1F,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D,wFAAwF;IACxF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAuC;IACxE,yFAAyF;IACzF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgC;IAC5D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;gBAExC,MAAM,EAAE,iBAAiB;IA0OrC,gFAAgF;IAChF,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IASxC,wFAAwF;IACxF,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAM9C,+EAA+E;IAC/E,OAAO,CAAC,SAAS;IASjB,0DAA0D;IAC1D,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,iBAAiB;IAuFzB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,QAAQ;IAIhB,+FAA+F;IAC/F,OAAO,CAAC,OAAO;IAQf,oEAAoE;IAC9D,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C,uEAAuE;IACvE,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAKzC,8DAA8D;IACxD,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAS9D,4CAA4C;IAC5C,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C,wFAAwF;IACxF,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAchD,8EAA8E;IAC9E,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIvC,oEAAoE;IACpE,gBAAgB,IAAI,kBAAkB;IAItC,gEAAgE;IAChE,gBAAgB,IAAI,aAAa,GAAG,SAAS;IAI7C,6DAA6D;IAC7D,aAAa,IAAI,aAAa;IAI9B,iFAAiF;IAC3E,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAKrJ,mFAAmF;IACnF,OAAO,CAAC,iBAAiB;IAOzB;;;;OAIG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,SAAS,kBAAkB,EAAE,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,SAAS;IAgDtJ;;;;;;;;;;;OAWG;IACG,SAAS,CACb,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,cAAc,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,WAAW,GAC1B,OAAO,CAAC,SAAS,CAAC;IAuDrB,kGAAkG;IAC5F,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI9C;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,eAAe,CACb,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,cAAc,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,SAAS,kBAAkB,EAAE,EAChD,aAAa,CAAC,EAAE,WAAW,GAC1B,cAAc;IAsJjB;;;OAGG;IACH,SAAS,CACP,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,cAAc,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,SAAS,kBAAkB,EAAE,EAChD,aAAa,CAAC,EAAE,WAAW,GAC1B;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;KAAE;IAWzD,OAAO,CAAC,aAAa;IAIrB,8EAA8E;IAC9E,OAAO,CAAC,gBAAgB;IAKxB,qEAAqE;IAC/D,iBAAiB,CACrB,KAAK,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,EAClD,GAAG,EAAE,cAAc,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,KAAK,EACnB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC;IAKlB,+FAA+F;IAC/F,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,SAAS,kBAAkB,EAAE;;;;;;;;;;;;;IAgBjH,sFAAsF;IACtF,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ;IAQhC,uEAAuE;IACvE,iBAAiB,IAAI,cAAc;IAInC,kEAAkE;IAClE,cAAc,IAAI,WAAW;IAI7B;;;;;;;OAOG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,EACjD,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,aAAa,GAAG,gBAAgB,GAAG,gBAAgB,GACxF,qBAAqB,GAAG,aAAa,GAAG,YAAY,GAAG,gBAAgB,GAAG,mBAAmB,CAC9F,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IA4CnC,+DAA+D;IAC/D,iBAAiB,IAAI,cAAc;IAInC,2EAA2E;IAC3E,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS;IAI/C,wEAAwE;IACxE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,MAAM,IAAI;IAI/E,2EAA2E;IAC3E,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3C,kGAAkG;IAClG,OAAO,CAAC,iBAAiB;IAWzB,yFAAyF;IACzF,OAAO,CAAC,mBAAmB;YAgBb,cAAc;IAU5B;;;OAGG;YACW,oBAAoB;IAyBlC,uFAAuF;YACzE,kBAAkB;IAiBhC,4CAA4C;IAC5C,gBAAgB,IAAI,IAAI;IAIxB,2DAA2D;IAC3D,yBAAyB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAI5D,uCAAuC;IACvC,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI7C,+DAA+D;IACzD,QAAQ,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,OAAO,CAAA;SAAE,EAAE,CAAA;KAAE,CAAC;YAK5E,OAAO;IA4IrB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,QAAQ;CAIjB"}
@@ -60,6 +60,9 @@ export class AgentKernel {
60
60
  sessionState;
61
61
  toolRegistry;
62
62
  toolProviderRegistry;
63
+ modelRegistry;
64
+ modelRouting;
65
+ contextBudget;
63
66
  sessionTitleGenerator;
64
67
  saga;
65
68
  runSagas = new Map();
@@ -129,6 +132,17 @@ export class AgentKernel {
129
132
  this.sessionState = normalized.sessionState;
130
133
  this.toolRegistry = normalized.toolRegistry;
131
134
  this.toolProviderRegistry = normalized.toolProviderRegistry;
135
+ this.modelRegistry = normalized.modelRegistry;
136
+ this.modelRouting = normalized.modelRouting;
137
+ this.contextBudget = normalized.contextBudget
138
+ ? Object.freeze({
139
+ maxContextTokens: normalized.contextBudget.maxContextTokens ?? 128_000,
140
+ maxToolOutputChars: normalized.contextBudget.maxToolOutputChars ?? 500,
141
+ maxSubagentOutputChars: normalized.contextBudget.maxSubagentOutputChars ?? 4096,
142
+ sanitizeLimitChars: normalized.contextBudget.sanitizeLimitChars ?? 128_000,
143
+ compactionThreshold: normalized.contextBudget.compactionThreshold ?? 0.75,
144
+ })
145
+ : undefined;
132
146
  this.sessionTitleGenerator = normalized.sessionTitleGenerator;
133
147
  this.stepTimeout = normalized.stepTimeout ?? DEFAULT_STEP_TIMEOUT;
134
148
  this.doomLoopThreshold = normalized.doomLoopThreshold ?? DOOM_LOOP_THRESHOLD;
@@ -254,6 +268,7 @@ export class AgentKernel {
254
268
  sagaForRun: (runId) => this.runContexts.get(runId)?.saga ?? this.saga,
255
269
  findTool: (name, runId) => self.findTool(name, runId),
256
270
  hasTool: (name) => self.hasTool(name),
271
+ ...(normalized.redactToolOutputs !== undefined ? { redactToolOutputs: normalized.redactToolOutputs } : {}),
257
272
  });
258
273
  if (normalized.tools) {
259
274
  this.tools = [...normalized.tools];
@@ -1082,6 +1097,11 @@ export class AgentKernel {
1082
1097
  ...(this.outputGuardrails.length > 0 ? { outputGuardrails: this.outputGuardrails } : {}),
1083
1098
  ...(this.outputType !== 'text' ? { outputType: this.outputType } : {}),
1084
1099
  ...(resolvedWorkspaceRoot !== undefined ? { workspaceRoot: resolvedWorkspaceRoot } : {}),
1100
+ ...(this.modelRegistry ? { modelRegistry: this.modelRegistry } : {}),
1101
+ ...(this.modelRouting?.failoverModels?.length
1102
+ ? { failoverModels: this.modelRouting.failoverModels }
1103
+ : {}),
1104
+ ...(this.contextBudget ? { contextBudget: this.contextBudget } : {}),
1085
1105
  addSessionMessage: (sid, role, content, extra) => this.addSessionMessage(sid, role, content, extra),
1086
1106
  beforeRun: async () => {
1087
1107
  const parentRunId = this.stateMachine.runIdStack.at(-2);
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../src/kernel/kernel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../src/kernel/kernel.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,12 @@ export interface RunLoopDeps {
45
45
  readonly workspaceRoot?: string;
46
46
  /** Optional judge model for `llm-judge` stop conditions (defaults to the active run model). */
47
47
  readonly judgeModel?: ModelProvider;
48
+ /** Fallback model ids to try when the primary model fails (P1-2 failover). */
49
+ readonly failoverModels?: readonly string[];
50
+ /** Model registry used to resolve failover model ids. */
51
+ readonly modelRegistry?: import("../model.js").ModelRegistry;
52
+ /** Unified context budget (P1-1). */
53
+ readonly contextBudget?: import("../context/context-budget.js").ContextBudget;
48
54
  /** Await once before the loop starts, e.g. re-queuing persisted pending inputs (RV-21). */
49
55
  readonly beforeRun?: (runId: RunId) => Promise<void> | void;
50
56
  /** Called with the texts drained from the input queue after a step drains it (RV-21). */
@@ -1 +1 @@
1
- {"version":3,"file":"run-loop.d.ts","sourceRoot":"","sources":["../../src/kernel/run-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-loop.d.ts","sourceRoot":"","sources":["../../src/kernel/run-loop.ts"],"names":[],"mappings":"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"}
@@ -231,19 +231,89 @@ async function processStep(deps, input) {
231
231
  stepFailed: { reason: "timeout", error: `Model call timed out after ${deps.stepTimeout}ms` },
232
232
  };
233
233
  }
234
- const circuitErr = err;
235
- if (circuitErr?.constructor?.name === "CircuitBreakerOpenError") {
236
- throw new KernelError("model_unavailable", err.message, err);
237
- }
238
- const errMsg = err instanceof Error ? err.message : String(err);
239
- if (isContextOverflowError(errMsg) && deps.compactor && input.step > 0) {
240
- const compactor = deps.compactor;
241
- messages = await compactOnOverflow(messages, compactor, input.step, stepTimeoutController.signal, sessionId, deps.addSessionMessage);
242
- runSessionState?.resetMessages(messages);
243
- response = await deps.circuitBreaker.call(() => deps.modelCaller.callModelStream(messages, input.step, runId, ctx, stepTimeoutController.signal, deps.currentAgent?.permissions?.maxTokens, input.disableTools, input.forceToolChoice ? "required" : undefined), stepTimeoutController.signal);
234
+ // P1-2: failover to secondary model on non-retryable / circuit-open failures.
235
+ // Skip when user aborted — cancel must not resurrect a different model.
236
+ // Context overflow goes to the compactor path below (not a failover candidate).
237
+ const canFailover = !runAbort.signal.aborted &&
238
+ !stepTimeoutController.signal.aborted &&
239
+ (deps.failoverModels?.length ?? 0) > 0 &&
240
+ deps.modelRegistry !== undefined &&
241
+ !isContextOverflowError(err instanceof Error ? err.message : String(err));
242
+ if (canFailover) {
243
+ const fromModel = deps.modelCaller.getActiveModel(runId);
244
+ const errMsg = err instanceof Error ? err.message : String(err);
245
+ const circuitOpen = err?.constructor?.name === "CircuitBreakerOpenError";
246
+ const reason = circuitOpen ? "circuit_open" : errMsg.slice(0, 200);
247
+ let failoverResponse;
248
+ for (const failoverId of deps.failoverModels) {
249
+ const alt = deps.modelRegistry.get(failoverId);
250
+ if (!alt)
251
+ continue;
252
+ if (alt.model === fromModel.model && alt.provider === fromModel.provider)
253
+ continue;
254
+ try {
255
+ deps.modelCaller.setModelForRun(runId, alt);
256
+ await input.emitEvent?.({
257
+ id: `evt-failover-${runId}-${input.step}-${failoverId}`,
258
+ runId,
259
+ type: "llm.failover",
260
+ occurredAt: new Date().toISOString(),
261
+ traceId: ctx.traceId,
262
+ data: {
263
+ fromProvider: fromModel.provider,
264
+ fromModel: fromModel.model,
265
+ toProvider: alt.provider,
266
+ toModel: alt.model,
267
+ reason,
268
+ },
269
+ });
270
+ failoverResponse = await deps.circuitBreaker.call(() => deps.modelCaller.callModelStream(messages, input.step, runId, ctx, stepTimeoutController.signal, deps.currentAgent?.permissions?.maxTokens, input.disableTools, input.forceToolChoice ? "required" : undefined), stepTimeoutController.signal);
271
+ break;
272
+ }
273
+ catch {
274
+ if (stepTimeoutController.signal.aborted && !runAbort.signal.aborted) {
275
+ return {
276
+ messages,
277
+ step: input.step,
278
+ runId,
279
+ totalInputTokens: input.totalInputTokens,
280
+ totalOutputTokens: input.totalOutputTokens,
281
+ finalOutput: input.finalOutput,
282
+ completed: false,
283
+ toolCallCount: 0,
284
+ lastStepToolOutcomes: [],
285
+ stepFailed: { reason: "timeout", error: `Model call timed out after ${deps.stepTimeout}ms` },
286
+ };
287
+ }
288
+ // try next failover candidate
289
+ }
290
+ }
291
+ if (failoverResponse) {
292
+ response = failoverResponse;
293
+ }
294
+ else if (circuitOpen) {
295
+ throw new KernelError("model_unavailable", errMsg, err);
296
+ }
297
+ else {
298
+ throw err;
299
+ }
244
300
  }
245
301
  else {
246
- throw err;
302
+ const circuitErr = err;
303
+ if (circuitErr?.constructor?.name === "CircuitBreakerOpenError") {
304
+ throw new KernelError("model_unavailable", err.message, err);
305
+ }
306
+ // Context-overflow compaction path (original behavior).
307
+ const errMsg = err instanceof Error ? err.message : String(err);
308
+ if (isContextOverflowError(errMsg) && deps.compactor && input.step > 0) {
309
+ const compactor = deps.compactor;
310
+ messages = await compactOnOverflow(messages, compactor, input.step, stepTimeoutController.signal, sessionId, deps.addSessionMessage);
311
+ runSessionState?.resetMessages(messages);
312
+ response = await deps.circuitBreaker.call(() => deps.modelCaller.callModelStream(messages, input.step, runId, ctx, stepTimeoutController.signal, deps.currentAgent?.permissions?.maxTokens, input.disableTools, input.forceToolChoice ? "required" : undefined), stepTimeoutController.signal);
313
+ }
314
+ else {
315
+ throw err;
316
+ }
247
317
  }
248
318
  }
249
319
  // RV-42: single authoritative token accounting — prefer the provider's usage
@@ -318,8 +388,10 @@ async function processStep(deps, input) {
318
388
  } : {}),
319
389
  });
320
390
  const asstTokens = { input: input.totalInputTokens, output: input.totalOutputTokens };
321
- const asstModel = runModel.model;
322
- const msgCost = deps.modelCaller.calculateCost(asstTokens.input, asstTokens.output, runModel);
391
+ // After failover the active model may differ from the loop's runModel — re-read it.
392
+ const activeAfter = deps.modelCaller.getActiveModel(runId);
393
+ const asstModel = activeAfter.model ?? runModel.model;
394
+ const msgCost = deps.modelCaller.calculateCost(asstTokens.input, asstTokens.output, activeAfter);
323
395
  await deps.addSessionMessage(sessionId, "assistant", finalContent, {
324
396
  tokens: asstTokens,
325
397
  ...(asstModel ? { model: asstModel } : {}),
@@ -690,6 +762,7 @@ export async function runLoop(deps, input) {
690
762
  toolCallRepairAttempts,
691
763
  claimRepairAttempts,
692
764
  forceToolChoice: forceToolChoiceNext,
765
+ emitEvent,
693
766
  });
694
767
  messages = stepResult.messages;
695
768
  totalInputTokens = stepResult.totalInputTokens;
@@ -1 +1 @@
1
- {"version":3,"file":"run-loop.js","sourceRoot":"","sources":["../../src/kernel/run-loop.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAO/E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAOxD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG1G,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE;;;GAGG;AACH,SAAS,mBAAmB,CAAC,MAAoB,EAAE,IAAY;IAC7D,MAAM,UAAU,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;SACvD,CAAC;IACJ,CAAC;IACD,qCAAqC;IACrC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,SAAS,wBAAwB,CAAC,MAAoB,EAAE,MAAc;IACpE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AA8GD;;;uBAGuB;AACvB,SAAS,eAAe,CAAC,QAAuB;IAC9C,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,aAA8B,EAC9B,QAAuB;IAEvB,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;IAC5C,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;YACzF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC1E,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,GAAG,QAAQ,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC1H,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAClE,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,aAA8B,EAC9B,QAAuB,EACvB,IAAY;IAEZ,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,CAAC;IAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC/C,4EAA4E;QAC5E,6EAA6E;QAC7E,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3F,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC1E,CAAC;QACD,uFAAuF;QACvF,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC5H,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QAC3C,8DAA8D;QAC9D,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC9B,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC1E,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAClE,CAAC;AAWD,KAAK,UAAU,YAAY,CACzB,QAAuB,EACvB,QAA8E,EAC9E,IAAiB,EACjB,MAAmB,EACnB,SAA6B,EAC7B,SAA0E;IAE1E,IAAI,CAAC,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAE5D,IAAI,aAAa,GAAG,IAAI,CAAC;IACzB,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,WAAY,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9G,MAAM,aAAa,GAAG,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC;QACpD,aAAa,GAAG,cAAc,GAAG,SAAS,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAE3D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjE,IAAI,SAAS,CAAC,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACtF,MAAM,SAAS,EAAE,CAAC,oBAAoB,EAAE;YACtC,aAAa,EAAE,SAAS,CAAC,OAAO,CAAC,oBAAoB;YACrD,eAAe,EAAE,SAAS,CAAC,OAAO,CAAC,sBAAsB;YACzD,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7E,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,qBAAqB,EAAE;YACxD,aAAa,EAAE,SAAS,CAAC,OAAO,CAAC,oBAAoB;YACrD,eAAe,EAAE,SAAS,CAAC,OAAO,CAAC,sBAAsB;SAC1D,CAAC,CAAC;QAEH,4EAA4E;QAC5E,uEAAuE;QACvE,0EAA0E;QAC1E,kEAAkE;QAClE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO;gBAC3C,CAAC,CAAC,GAAG,yBAAyB,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE;gBAC5D,CAAC,CAAC,GAAG,yBAAyB,cAAc,SAAS,CAAC,OAAO,CAAC,oBAAoB,MAAM,SAAS,CAAC,OAAO,CAAC,sBAAsB,WAAW,CAAC;YAC9I,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;oBACnC,OAAO,CAAC,IAAI,CAAC,kDAAkD,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACjE,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AACzC,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,QAAuB,EACvB,SAAgC,EAChC,IAAY,EACZ,MAAmB,EACnB,SAA6B,EAC7B,iBAA6H;IAE7H,IAAI,IAAI,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAC7G,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5D,6EAA6E;IAC7E,yEAAyE;IACzE,IAAI,SAAS,CAAC,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,OAAO,CAAC,oBAAoB,IAAI,SAAS,EAAE,CAAC;QACnG,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO;YAC3C,CAAC,CAAC,GAAG,yBAAyB,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE;YAC5D,CAAC,CAAC,GAAG,yBAAyB,cAAc,SAAS,CAAC,OAAO,CAAC,oBAAoB,MAAM,SAAS,CAAC,OAAO,CAAC,sBAAsB,WAAW,CAAC;QAC9I,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;gBACnC,OAAO,CAAC,IAAI,CAAC,2DAA2D,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9H,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAW;IACzC,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAChC,OAAO,CACL,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACrH,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CACtD,CAAC;AACJ,CAAC;AA4DD;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,OAAe,EAAE,YAAgC;IAC/E,MAAM,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjE,gFAAgF;IAChF,IAAI,EAAE,KAAK,YAAY,IAAI,EAAE,KAAK,UAAU,IAAI,EAAE,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAChF,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IACnC,+DAA+D;IAC/D,MAAM,OAAO,GAAG,yHAAyH,CAAC;IAC1I,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,6EAA6E;IAC7E,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5E,wFAAwF;IACxF,MAAM,iBAAiB,GAAG,2EAA2E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjH,OAAO,QAAQ,IAAI,CAAC,MAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;AACpF,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAiB,EAAE,KAAgB;IAC5D,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAC7E,MAAM,qBAAqB,GAAG,IAAI,eAAe,EAAE,CAAC;IACpD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpF,MAAM,UAAU,GAAG,GAAG,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACrF,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtE,IAAI,CAAC;QACH,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC5B,wEAAwE;YACxE,yEAAyE;YACzE,uDAAuD;YACvD,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5G,MAAM,IAAI,WAAW,CAAC,qBAAqB,EAAE,8BAA8B,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAClI,CAAC;QAED,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAE9B,yCAAyC;QACzC,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YAC3E,MAAM,YAAY,GAAG,WAAW,EAAE,OAAO,IAAI,EAAE,CAAC;YAChD,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE;gBACrE,SAAS,EAAE,OAAO;gBAClB,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE;aACtE,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;gBAC5B,wCAAwC;gBACxC,MAAM,IAAI,WAAW,CAAC,kBAAkB,EAAE,2BAA2B,eAAe,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC,CAAC;YACrH,CAAC;YACD,oDAAoD;YACpD,IAAI,eAAe,CAAC,eAAe,KAAK,SAAS,IAAI,WAAW,EAAE,CAAC;gBACjE,MAAM,YAAY,GAAG,OAAO,eAAe,CAAC,eAAe,KAAK,QAAQ;oBACtE,CAAC,CAAC,eAAe,CAAC,eAAe;oBACjC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;gBACpD,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5B,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CACxD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACxG,CAAC;QAED,IAAI,QAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAC7C,IAAI,CAAC,WAAW,CAAC,eAAe,CAC9B,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,qBAAqB,CAAC,MAAM,EAC9D,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,EACzC,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAC/C,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,IAAI,qBAAqB,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACrE,6EAA6E;gBAC7E,OAAO;oBACL,QAAQ;oBACR,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK;oBACL,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;oBACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;oBAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,SAAS,EAAE,KAAK;oBAChB,aAAa,EAAE,CAAC;oBAChB,oBAAoB,EAAE,EAAE;oBACxB,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,8BAA8B,IAAI,CAAC,WAAW,IAAI,EAAE;iBAC7F,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAAG,GAAuD,CAAC;YAC3E,IAAI,UAAU,EAAE,WAAW,EAAE,IAAI,KAAK,yBAAyB,EAAE,CAAC;gBAChE,MAAM,IAAI,WAAW,CAAC,mBAAmB,EAAG,GAAa,CAAC,OAAO,EAAE,GAAY,CAAC,CAAC;YACnF,CAAC;YACD,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,IAAI,sBAAsB,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACvE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjC,QAAQ,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACrI,eAAe,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACzC,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAC7C,IAAI,CAAC,WAAW,CAAC,eAAe,CAC9B,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,qBAAqB,CAAC,MAAM,EAC9D,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,EACzC,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAC/C,EACD,qBAAqB,CAAC,MAAM,CAC7B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,mEAAmE;QACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;QAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;QAClD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACzC,KAAK,CAAC,gBAAgB,IAAI,OAAO,CAAC;QACpC,CAAC;aAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YAChC,KAAK,CAAC,gBAAgB,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,WAAY,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnH,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC3C,KAAK,CAAC,iBAAiB,IAAI,QAAQ,CAAC;QACtC,CAAC;aAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YAChC,KAAK,CAAC,iBAAiB,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpE,CAAC;QAED,6CAA6C;QAC7C,IAAI,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;QACpC,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE;gBACtE,SAAS,EAAE,QAAQ;gBACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;aAC3H,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;gBAC5B,yCAAyC;gBACzC,MAAM,IAAI,WAAW,CAAC,kBAAkB,EAAE,4BAA4B,eAAe,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC,CAAC;YACtH,CAAC;YACD,0DAA0D;YAC1D,IAAI,eAAe,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;gBAClD,YAAY,GAAG,OAAO,eAAe,CAAC,eAAe,KAAK,QAAQ;oBAChE,CAAC,CAAC,eAAe,CAAC,eAAe;oBACjC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,yDAAyD;QACzD,IAAI,eAAe,GAAY,SAAS,CAAC;QACzC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAClD,IAAI,CAAC;gBACH,eAAe,GAAG,wBAAwB,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;gBAC1E,yDAAyD;gBACzD,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,MAAM,IAAI,WAAW,CAAC,kBAAkB,EAAE,wCAAwC,MAAM,EAAE,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;QAE3C,qEAAqE;QACrE,yEAAyE;QACzE,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAChF,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAChC,IAAI,kBAAkB,GAAG,SAAS,CAAC;QACnC,IACE,SAAS,CAAC,MAAM,GAAG,CAAC;YACpB,CAAC,QAAQ,KAAK,gBAAgB,IAAI,QAAQ,KAAK,gBAAgB;gBAC7D,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,CAAC,EAClF,CAAC;YACD,kBAAkB,GAAG,EAAE,CAAC;YACxB,mBAAmB,GAAG,IAAI,CAAC;QAC7B,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,YAAY;YACrB,GAAG,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAClC,SAAS,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACzC,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,IAAI,EAAE,EAAE,CAAC,IAA+B;iBACzC,CAAC,CAAC;aACJ,CAAC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC;QACtF,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9F,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE;YACjE,MAAM,EAAE,UAAU;YAClB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,CAAC,CAAC;QAEH,IAAI,mBAAmB,EAAE,CAAC;YACxB,4EAA4E;YAC5E,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,0DAA0D,QAAQ,CAAC,YAAY,qHAAqH;aAC9M,CAAC,CAAC;YACH,OAAO;gBACL,QAAQ;gBACR,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK;gBACL,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;gBAC1C,WAAW,EAAE,YAAY;gBACzB,SAAS,EAAE,KAAK;gBAChB,aAAa,EAAE,CAAC;gBAChB,oBAAoB,EAAE,EAAE;gBACxB,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChF,CAAC;QACJ,CAAC;QAED,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,sEAAsE;YACtE,wEAAwE;YACxE,0DAA0D;YAC1D,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC1E,MAAM,YAAY,GAAG,EAAE,KAAK,YAAY,IAAI,EAAE,KAAK,UAAU,IAAI,EAAE,KAAK,UAAU,CAAC;YACnF,MAAM,OAAO,GAAG,KAAK,CAAC,sBAAsB,IAAI,CAAC,CAAC;YAClD,IAAI,YAAY,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBACvD,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,wOAAwO;iBAClP,CAAC,CAAC;gBACH,OAAO;oBACL,QAAQ;oBACR,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK;oBACL,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;oBACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;oBAC1C,WAAW,EAAE,QAAQ,CAAC,OAAO;oBAC7B,SAAS,EAAE,KAAK;oBAChB,aAAa,EAAE,CAAC;oBAChB,oBAAoB,EAAE,EAAE;oBACxB,sBAAsB,EAAE,OAAO,GAAG,CAAC;iBACpC,CAAC;YACJ,CAAC;YACD,IAAI,YAAY,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBACxC,sEAAsE;gBACtE,mDAAmD;gBACnD,MAAM,IAAI,WAAW,CACnB,mBAAmB,EACnB,oDAAoD,OAAO,kBAAkB,CAC9E,CAAC;YACJ,CAAC;YAED,yEAAyE;YACzE,oEAAoE;YACpE,MAAM,YAAY,GAAG,KAAK,CAAC,mBAAmB,IAAI,CAAC,CAAC;YACpD,IACE,CAAC,KAAK,CAAC,YAAY;gBACnB,YAAY,GAAG,CAAC;gBAChB,sBAAsB,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC3D,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,sQAAsQ;iBAChR,CAAC,CAAC;gBACH,OAAO;oBACL,QAAQ;oBACR,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK;oBACL,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;oBACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;oBAC1C,WAAW,EAAE,QAAQ,CAAC,OAAO;oBAC7B,SAAS,EAAE,KAAK;oBAChB,aAAa,EAAE,CAAC;oBAChB,oBAAoB,EAAE,EAAE;oBACxB,mBAAmB,EAAE,YAAY,GAAG,CAAC;oBACrC,mBAAmB,EAAE,IAAI;iBAC1B,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,QAAQ;gBACR,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK;gBACL,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;gBAC1C,WAAW,EAAE,QAAQ,CAAC,OAAO;gBAC7B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,CAAC;gBAChB,oBAAoB,EAAE,EAAE;gBACxB,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChF,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CACzG,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EACrF,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,qBAAqB,EAAE,SAAS,EAAE,QAAQ,CAC7E,CAAC;QAEF,oDAAoD;QACpD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,SAAS,CAAC;YAC1D,+EAA+E;YAE/E,kEAAkE;YAClE,OAAO;gBACL,QAAQ;gBACR,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK;gBACL,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;gBAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,SAAS,EAAE,KAAK;gBAChB,aAAa;gBACb,oBAAoB,EAAE,WAAW;gBACjC,OAAO,EAAE;oBACP,aAAa,EAAE,OAAO,CAAC,aAAa;oBACpC,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB;aACF,CAAC;QACJ,CAAC;QAED,IAAI,qBAAqB,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrE,4EAA4E;YAC5E,8EAA8E;YAC9E,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;oBACvE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,+BAA+B,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;gBACnH,CAAC;YACH,CAAC;YACD,OAAO;gBACL,QAAQ;gBACR,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK;gBACL,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;gBAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,SAAS,EAAE,KAAK;gBAChB,aAAa;gBACb,oBAAoB,EAAE,WAAW;gBACjC,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,kCAAkC,IAAI,CAAC,WAAW,IAAI,EAAE;aACjG,CAAC;QACJ,CAAC;QAED,oDAAoD;QACpD,KAAK,CAAC,gBAAgB,IAAI,iBAAiB,CAAC,KAAK,CAAC;QAClD,KAAK,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,CAAC;QAEpD,IAAI,eAAe,EAAE,CAAC;YACpB,eAAe,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;YACtC,eAAe,CAAC,aAAa,IAAI,aAAa,CAAC;QACjD,CAAC;QAED,yEAAyE;QACzE,mEAAmE;QACnE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE;gBACnC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC;gBACpB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;gBAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;gBACnC,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACxG,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ;YACR,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK;YACL,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK;YAChB,aAAa;YACb,oBAAoB,EAAE,WAAW;YACjC,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChF,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,SAAS,CAAC,CAAC;QACxB,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,IAAiB,EACjB,KAAmB;IAEnB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAExK,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,QAAQ,GAAkB,EAAE,CAAC;IACjC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,gBAAgB,GAAY,SAAS,CAAC;IAC1C,IAAI,aAAiJ,CAAC;IACtJ,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,sBAAsB,GAAG,CAAC,CAAC;IAC/B,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,6EAA6E;IAC7E,8EAA8E;IAC9E,qBAAqB;IACrB,MAAM,UAAU,GAAkB,KAAK,CAAC,YAAY;QAClD,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;QACnD,CAAC,CAAC,EAAE,CAAC;IAEP,uEAAuE;IACvE,2EAA2E;IAC3E,qEAAqE;IACrE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAC1B,IAAI,CAAC,WAAW,EAAE,QAAQ,IAAI,MAAM,CAAC,iBAAiB,EACtD,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,IAAI,MAAM,CAAC,iBAAiB,EACpE,IAAI,CAAC,QAAQ,CACd,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,IAA6B,EAAE,EAAE,CAC9D,SAAS,CAAC;QACR,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI;QACpC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO;QAC1D,IAAI;KACL,CAAC,CAAC;IAEL,MAAM,iBAAiB,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;QACjD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE;gBACnC,IAAI,EAAE,IAAI,GAAG,CAAC;gBACd,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,gBAAgB;gBAChB,iBAAiB;gBACjB,WAAW;gBACX,SAAS;gBACT,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;gBACnC,OAAO,CAAC,IAAI,CAAC,2CAA2C,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9G,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,2EAA2E;IAC3E,yEAAyE;IACzE,8EAA8E;IAC9E,yEAAyE;IACzE,8CAA8C;IAC9C,MAAM,SAAS,GAAG,KAAK,EAAE,KAAa,EAA0B,EAAE;QAChE,MAAM,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9D,MAAM,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC;QACjI,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC7B,IAAI,eAAe;YAAE,eAAe,CAAC,SAAS,GAAG,KAAK,CAAC;QACvD,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACrC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;IAC7H,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAE3B,sFAAsF;QACtF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC;QACpC,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC;QACzD,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QAE7C,4DAA4D;QAC5D,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,2EAA2E;YAC3E,wEAAwE;YACxE,MAAM,eAAe,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClF,MAAM,OAAO,CAAC,aAAa,EAAE;gBAC3B,MAAM,EAAE,eAAe;gBACvB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvD,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAEtE,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC;YACpC,MAAM,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAC/C,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CACrD,CAAC;YAEF,QAAQ,GAAG;gBACT,GAAG,UAAU;gBACb,gBAAgB,EAAE,MAAM;oBACtB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,gBAAqD,EAAE;oBAC3F,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,MAAM,EAAE;aAC/C,CAAC;QACJ,CAAC;QAED,8EAA8E;QAC9E,6EAA6E;QAC7E,oEAAoE;QACpE,0EAA0E;QAC1E,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,eAAe,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3D,QAAQ,GAAG,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC3C,CAAC;YACD,IAAI,MAAM;gBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7D,uEAAuE;YACvE,gEAAgE;YAChE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;gBACxE,QAAQ,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;aAAM,IAAI,eAAe,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClE,QAAQ,GAAG;gBACT,GAAG,UAAU;gBACb,GAAG,eAAe,CAAC,QAAQ;gBAC3B,gBAAgB,EAAE,MAAM;oBACtB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,gBAAqD,EAAE;oBAC3F,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,MAAM,EAAE;aAC/C,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,uDAAuD;QACvD,MAAM,WAAW,GAAG,eAAe,EAAE,IAAI,IAAI,CAAC,CAAC;QAE/C,KAAK,IAAI,GAAG,WAAW,EAAE,IAAI,GAAG,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC;YACpD,MAAM,OAAO,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAE9C,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC5B,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC3D,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gBACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,CAAC;YACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrD,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YACnD,CAAC;YAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACxB,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;oBAC3E,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;oBAC3B,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAChF,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;oBAC3B,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;gBACjD,CAAC;YACH,CAAC;YAED,MAAM,OAAO,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,MAAM,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAE9D,kEAAkE;YAClE,IAAI,SAAS,GAAG,QAAQ,CAAC;YACzB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACnF,IAAI,aAAa,EAAE,KAAK,EAAE,CAAC;wBACzB,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC;oBAClC,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;wBACnC,OAAO,CAAC,IAAI,CAAC,qDAAqD,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBACxH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,YAAY,CACtC,QAAQ,EACR;gBACE,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxF,EACD,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,EAChC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CACpC,CAAC;YACF,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;gBAC7B,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;gBAClC,eAAe,EAAE,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACvD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,kBAAkB,GAAG,KAAK,CAAC;gBAC7B,CAAC;YACH,CAAC;YAED,IAAI,IAAI,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,kDAAkD,WAAW,6HAA6H;iBACpM,CAAC,CAAC;YACL,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,IAAI,WAAW,GAAG,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE;gBACzC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ;gBACpC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,QAAQ,EAAE,SAAS;gBACnB,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,gBAAgB,EAAE,iBAAiB,EAAE,WAAW;gBAChD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,sBAAsB;gBACtB,mBAAmB;gBACnB,eAAe,EAAE,mBAAmB;aACrC,CAAC,CAAC;YAEH,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;YAC/B,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;YAC/C,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;YACjD,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;YACrC,IAAI,UAAU,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;gBACpD,sBAAsB,GAAG,UAAU,CAAC,sBAAsB,CAAC;YAC7D,CAAC;YACD,IAAI,UAAU,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBACjD,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC;YACvD,CAAC;YACD,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,KAAK,IAAI,CAAC;YAC9D,IAAI,UAAU,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBAC9C,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;YACjD,CAAC;YAED,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC1B,MAAM,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC7J,MAAM,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACrL,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;gBACnF,MAAM,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;YAC3G,CAAC;YAED,oDAAoD;YACpD,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,qBAAqB;gBACrB,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,SAAS,CAAC;gBAC1D,MAAM,OAAO,CAAC,eAAe,EAAE;oBAC7B,WAAW,EAAE,cAAc;oBAC3B,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,aAAa;oBAC3C,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM;oBACjC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO;iBACpC,CAAC,CAAC;gBAEH,wDAAwD;gBACxD,WAAW,GAAG,qBAAqB,UAAU,CAAC,OAAO,CAAC,aAAa,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACrG,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC;gBACnC,MAAM;YACR,CAAC;YAED,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzB,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;gBACrC,MAAM,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC/D,MAAM;YACR,CAAC;YAED,yEAAyE;YACzE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACrC,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC;gBACxC,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,KAAK,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;oBACnD,MAAM,IAAI,GACR,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC;wBAC/D,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;wBAClE,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBACvD,IAAI,IAAI,EAAE,CAAC;wBACT,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO;4BAAE,OAAO,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;wBACxD,MAAM,MAAM,GAAG,0BAA0B,KAAK,UAAU,CAAC;wBACzD,MAAM,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;wBACzF,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;wBAC9B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;wBAC1B,OAAO,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;oBAC7H,CAAC;gBACH,CAAC;gBAED,MAAM,OAAO,GAA4B;oBACvC,KAAK,EAAE,IAAI;oBACX,WAAW;oBACX,gBAAgB,EAAE,iBAAiB;oBACnC,oBAAoB,EAAE,UAAU,CAAC,oBAAoB;iBACtD,CAAC;gBAEF,IAAI,UAA2D,CAAC;gBAChE,IAAI,CAAC,WAAW,CAAC,cAAc,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;oBAC1D,sBAAsB;gBACxB,CAAC;qBAAM,CAAC;oBACN,MAAM,WAAW,GAAG,sBAAsB,CACxC,CAAC,WAAW,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,EAChG,OAAO,CACR,CAAC;oBACF,IAAI,WAAW,EAAE,CAAC;wBAChB,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACN,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;4BACpD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;gCAAE,SAAS;4BACxC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;4BAC7E,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,QAAQ,CACnC,EAAE,QAAQ,EAAE,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,cAAc,CAAkB,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EACvH,QAAQ,CAAC,MAAM,CAChB,CAAC;4BACF,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;gCACvC,UAAU,GAAG,WAAW,CAAC;gCACzB,MAAM;4BACR,CAAC;wBACH,CAAC;wBACD,IAAI,CAAC,UAAU,EAAE,CAAC;4BAChB,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;gCAC/C,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;oCACjD,UAAU,GAAG,WAAW,CAAC;oCACzB,MAAM;gCACR,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,UAAU,EAAE,CAAC;oBACf,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO;wBAAE,OAAO,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;oBACxD,MAAM,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;oBAC/D,MAAM,aAAa,CAAC;wBAClB,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe;wBACrD,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO;wBAC1D,IAAI,EAAE;4BACJ,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC;4BAC9D,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;4BAClC,aAAa,EAAE,UAAU;4BACzB,UAAU;4BACV,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAClE,GAAG,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBACtE;qBACF,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;oBACvE,MAAM,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;oBAC9H,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;oBAC7B,IAAI,eAAe,EAAE,CAAC;wBACpB,eAAe,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACxC,eAAe,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;wBAChC,eAAe,CAAC,SAAS,GAAG,KAAK,CAAC;oBACpC,CAAC;oBACL,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;oBACrC,OAAO;wBACL,UAAU,EAAE,IAAI,GAAG,CAAC;wBACpB,MAAM,EAAE,WAAW;wBACnB,gBAAgB;wBAChB,iBAAiB;wBACjB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;wBAClC,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAChE,CAAC;gBACA,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC1C,IAAI,IAAI,IAAI,WAAW,EAAE,CAAC;YACxB,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACxD,MAAM,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;YAChE,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,aAAa,CAAC;oBAClB,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe;oBACrD,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO;oBAC1D,IAAI,EAAE;wBACJ,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC;wBAC9D,UAAU;wBACV,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClE,GAAG,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACtE;iBACF,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;gBACvE,MAAM,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;gBACnG,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,qBAAqB,IAAI,SAAS,EAAE,CAAC;oBACjE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;oBAChF,IAAI,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,aAAa,CAAC,EAAE,CAAC;wBACnE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;wBACvE,IAAI,KAAK,EAAE,CAAC;4BACV,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gCACxE,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;oCACnC,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC/G,CAAC;4BACH,CAAC,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAC7B,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBACrC,OAAO,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9J,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACxD,MAAM,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,uBAAuB,WAAW,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;YACpI,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC1B,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;QACjG,CAAC;aAAM,CAAC;YACN,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACxD,MAAM,aAAa,CAAC;gBAClB,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe;gBACrD,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO;gBAC1D,IAAI,EAAE;oBACJ,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC;oBAC9D,UAAU;oBACV,UAAU,EAAE,UAAU;oBACtB,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClE,GAAG,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtE;aACF,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;YAEvE,MAAM,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;YAEnG,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,qBAAqB,IAAI,SAAS,EAAE,CAAC;gBACjE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBAChF,IAAI,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,aAAa,CAAC,EAAE,CAAC;oBACnE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;oBACvE,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;4BACxE,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;gCACnC,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;4BAC/G,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAE7B,IAAI,eAAe,EAAE,CAAC;YACpB,eAAe,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxC,eAAe,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;YAChC,eAAe,CAAC,SAAS,GAAG,KAAK,CAAC;QACpC,CAAC;QAED,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACrC,OAAO,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;IAChI,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,0EAA0E;QAC1E,wEAAwE;QACxE,6DAA6D;QAC7D,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClE,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC9C,uFAAuF;QACvF,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAC;QAC3G,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC1B,IAAI,eAAe;YAAE,eAAe,CAAC,SAAS,GAAG,KAAK,CAAC;QACvD,OAAO,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;IACrH,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"run-loop.js","sourceRoot":"","sources":["../../src/kernel/run-loop.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAO/E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAOxD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG1G,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE;;;GAGG;AACH,SAAS,mBAAmB,CAAC,MAAoB,EAAE,IAAY;IAC7D,MAAM,UAAU,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;SACvD,CAAC;IACJ,CAAC;IACD,qCAAqC;IACrC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,SAAS,wBAAwB,CAAC,MAAoB,EAAE,MAAc;IACpE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAoHD;;;uBAGuB;AACvB,SAAS,eAAe,CAAC,QAAuB;IAC9C,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,aAA8B,EAC9B,QAAuB;IAEvB,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;IAC5C,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;YACzF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC1E,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,GAAG,QAAQ,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC1H,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAClE,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,aAA8B,EAC9B,QAAuB,EACvB,IAAY;IAEZ,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,CAAC;IAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC/C,4EAA4E;QAC5E,6EAA6E;QAC7E,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3F,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC1E,CAAC;QACD,uFAAuF;QACvF,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC5H,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QAC3C,8DAA8D;QAC9D,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC9B,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC1E,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAClE,CAAC;AAWD,KAAK,UAAU,YAAY,CACzB,QAAuB,EACvB,QAA8E,EAC9E,IAAiB,EACjB,MAAmB,EACnB,SAA6B,EAC7B,SAA0E;IAE1E,IAAI,CAAC,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAE5D,IAAI,aAAa,GAAG,IAAI,CAAC;IACzB,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,WAAY,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9G,MAAM,aAAa,GAAG,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC;QACpD,aAAa,GAAG,cAAc,GAAG,SAAS,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAE3D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjE,IAAI,SAAS,CAAC,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACtF,MAAM,SAAS,EAAE,CAAC,oBAAoB,EAAE;YACtC,aAAa,EAAE,SAAS,CAAC,OAAO,CAAC,oBAAoB;YACrD,eAAe,EAAE,SAAS,CAAC,OAAO,CAAC,sBAAsB;YACzD,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7E,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,qBAAqB,EAAE;YACxD,aAAa,EAAE,SAAS,CAAC,OAAO,CAAC,oBAAoB;YACrD,eAAe,EAAE,SAAS,CAAC,OAAO,CAAC,sBAAsB;SAC1D,CAAC,CAAC;QAEH,4EAA4E;QAC5E,uEAAuE;QACvE,0EAA0E;QAC1E,kEAAkE;QAClE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO;gBAC3C,CAAC,CAAC,GAAG,yBAAyB,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE;gBAC5D,CAAC,CAAC,GAAG,yBAAyB,cAAc,SAAS,CAAC,OAAO,CAAC,oBAAoB,MAAM,SAAS,CAAC,OAAO,CAAC,sBAAsB,WAAW,CAAC;YAC9I,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;oBACnC,OAAO,CAAC,IAAI,CAAC,kDAAkD,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACjE,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AACzC,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,QAAuB,EACvB,SAAgC,EAChC,IAAY,EACZ,MAAmB,EACnB,SAA6B,EAC7B,iBAA6H;IAE7H,IAAI,IAAI,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAC7G,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5D,6EAA6E;IAC7E,yEAAyE;IACzE,IAAI,SAAS,CAAC,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,OAAO,CAAC,oBAAoB,IAAI,SAAS,EAAE,CAAC;QACnG,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO;YAC3C,CAAC,CAAC,GAAG,yBAAyB,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE;YAC5D,CAAC,CAAC,GAAG,yBAAyB,cAAc,SAAS,CAAC,OAAO,CAAC,oBAAoB,MAAM,SAAS,CAAC,OAAO,CAAC,sBAAsB,WAAW,CAAC;QAC9I,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;gBACnC,OAAO,CAAC,IAAI,CAAC,2DAA2D,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9H,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAW;IACzC,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAChC,OAAO,CACL,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACrH,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CACtD,CAAC;AACJ,CAAC;AA8DD;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,OAAe,EAAE,YAAgC;IAC/E,MAAM,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjE,gFAAgF;IAChF,IAAI,EAAE,KAAK,YAAY,IAAI,EAAE,KAAK,UAAU,IAAI,EAAE,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAChF,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IACnC,+DAA+D;IAC/D,MAAM,OAAO,GAAG,yHAAyH,CAAC;IAC1I,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,6EAA6E;IAC7E,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5E,wFAAwF;IACxF,MAAM,iBAAiB,GAAG,2EAA2E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjH,OAAO,QAAQ,IAAI,CAAC,MAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;AACpF,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAiB,EAAE,KAAgB;IAC5D,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAC7E,MAAM,qBAAqB,GAAG,IAAI,eAAe,EAAE,CAAC;IACpD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpF,MAAM,UAAU,GAAG,GAAG,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACrF,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtE,IAAI,CAAC;QACH,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC5B,wEAAwE;YACxE,yEAAyE;YACzE,uDAAuD;YACvD,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5G,MAAM,IAAI,WAAW,CAAC,qBAAqB,EAAE,8BAA8B,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAClI,CAAC;QAED,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAE9B,yCAAyC;QACzC,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YAC3E,MAAM,YAAY,GAAG,WAAW,EAAE,OAAO,IAAI,EAAE,CAAC;YAChD,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE;gBACrE,SAAS,EAAE,OAAO;gBAClB,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE;aACtE,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;gBAC5B,wCAAwC;gBACxC,MAAM,IAAI,WAAW,CAAC,kBAAkB,EAAE,2BAA2B,eAAe,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC,CAAC;YACrH,CAAC;YACD,oDAAoD;YACpD,IAAI,eAAe,CAAC,eAAe,KAAK,SAAS,IAAI,WAAW,EAAE,CAAC;gBACjE,MAAM,YAAY,GAAG,OAAO,eAAe,CAAC,eAAe,KAAK,QAAQ;oBACtE,CAAC,CAAC,eAAe,CAAC,eAAe;oBACjC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;gBACpD,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5B,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CACxD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACxG,CAAC;QAED,IAAI,QAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAC7C,IAAI,CAAC,WAAW,CAAC,eAAe,CAC9B,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,qBAAqB,CAAC,MAAM,EAC9D,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,EACzC,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAC/C,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,IAAI,qBAAqB,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACrE,6EAA6E;gBAC7E,OAAO;oBACL,QAAQ;oBACR,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK;oBACL,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;oBACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;oBAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,SAAS,EAAE,KAAK;oBAChB,aAAa,EAAE,CAAC;oBAChB,oBAAoB,EAAE,EAAE;oBACxB,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,8BAA8B,IAAI,CAAC,WAAW,IAAI,EAAE;iBAC7F,CAAC;YACJ,CAAC;YAED,8EAA8E;YAC9E,wEAAwE;YACxE,gFAAgF;YAChF,MAAM,WAAW,GACf,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;gBACxB,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO;gBACrC,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;gBACtC,IAAI,CAAC,aAAa,KAAK,SAAS;gBAChC,CAAC,sBAAsB,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAE5E,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBACzD,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,MAAM,WAAW,GAAI,GAA2C,EAAE,WAAW,EAAE,IAAI,KAAK,yBAAyB,CAAC;gBAClH,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACnE,IAAI,gBAA2C,CAAC;gBAEhD,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,cAAe,EAAE,CAAC;oBAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,aAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAChD,IAAI,CAAC,GAAG;wBAAE,SAAS;oBACnB,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ;wBAAE,SAAS;oBAEnF,IAAI,CAAC;wBACH,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;wBAE5C,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;4BACtB,EAAE,EAAE,gBAAgB,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,UAAU,EAAE;4BACvD,KAAK;4BACL,IAAI,EAAE,cAAc;4BACpB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BACpC,OAAO,EAAE,GAAG,CAAC,OAAO;4BACpB,IAAI,EAAE;gCACJ,YAAY,EAAE,SAAS,CAAC,QAAQ;gCAChC,SAAS,EAAE,SAAS,CAAC,KAAK;gCAC1B,UAAU,EAAE,GAAG,CAAC,QAAQ;gCACxB,OAAO,EAAE,GAAG,CAAC,KAAK;gCAClB,MAAM;6BACP;yBACF,CAAC,CAAC;wBAEH,gBAAgB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CACrD,IAAI,CAAC,WAAW,CAAC,eAAe,CAC9B,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,qBAAqB,CAAC,MAAM,EAC9D,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,EACzC,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAC/C,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;wBACnC,MAAM;oBACR,CAAC;oBAAC,MAAM,CAAC;wBACP,IAAI,qBAAqB,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;4BACrE,OAAO;gCACL,QAAQ;gCACR,IAAI,EAAE,KAAK,CAAC,IAAI;gCAChB,KAAK;gCACL,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gCACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;gCAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;gCAC9B,SAAS,EAAE,KAAK;gCAChB,aAAa,EAAE,CAAC;gCAChB,oBAAoB,EAAE,EAAE;gCACxB,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,8BAA8B,IAAI,CAAC,WAAW,IAAI,EAAE;6BAC7F,CAAC;wBACJ,CAAC;wBACD,8BAA8B;oBAChC,CAAC;gBACH,CAAC;gBAED,IAAI,gBAAgB,EAAE,CAAC;oBACrB,QAAQ,GAAG,gBAAgB,CAAC;gBAC9B,CAAC;qBAAM,IAAI,WAAW,EAAE,CAAC;oBACvB,MAAM,IAAI,WAAW,CAAC,mBAAmB,EAAE,MAAM,EAAE,GAAY,CAAC,CAAC;gBACnE,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,GAAuD,CAAC;gBAC3E,IAAI,UAAU,EAAE,WAAW,EAAE,IAAI,KAAK,yBAAyB,EAAE,CAAC;oBAChE,MAAM,IAAI,WAAW,CAAC,mBAAmB,EAAG,GAAa,CAAC,OAAO,EAAE,GAAY,CAAC,CAAC;gBACnF,CAAC;gBAED,wDAAwD;gBACxD,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,IAAI,sBAAsB,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBACvE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;oBACjC,QAAQ,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBACrI,eAAe,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACzC,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAC7C,IAAI,CAAC,WAAW,CAAC,eAAe,CAC9B,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,qBAAqB,CAAC,MAAM,EAC9D,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,EACzC,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAC/C,EACD,qBAAqB,CAAC,MAAM,CAC7B,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,mEAAmE;QACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;QAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;QAClD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACzC,KAAK,CAAC,gBAAgB,IAAI,OAAO,CAAC;QACpC,CAAC;aAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YAChC,KAAK,CAAC,gBAAgB,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,WAAY,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnH,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC3C,KAAK,CAAC,iBAAiB,IAAI,QAAQ,CAAC;QACtC,CAAC;aAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YAChC,KAAK,CAAC,iBAAiB,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpE,CAAC;QAED,6CAA6C;QAC7C,IAAI,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;QACpC,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE;gBACtE,SAAS,EAAE,QAAQ;gBACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;aAC3H,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;gBAC5B,yCAAyC;gBACzC,MAAM,IAAI,WAAW,CAAC,kBAAkB,EAAE,4BAA4B,eAAe,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC,CAAC;YACtH,CAAC;YACD,0DAA0D;YAC1D,IAAI,eAAe,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;gBAClD,YAAY,GAAG,OAAO,eAAe,CAAC,eAAe,KAAK,QAAQ;oBAChE,CAAC,CAAC,eAAe,CAAC,eAAe;oBACjC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,yDAAyD;QACzD,IAAI,eAAe,GAAY,SAAS,CAAC;QACzC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAClD,IAAI,CAAC;gBACH,eAAe,GAAG,wBAAwB,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;gBAC1E,yDAAyD;gBACzD,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,MAAM,IAAI,WAAW,CAAC,kBAAkB,EAAE,wCAAwC,MAAM,EAAE,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;QAE3C,qEAAqE;QACrE,yEAAyE;QACzE,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAChF,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAChC,IAAI,kBAAkB,GAAG,SAAS,CAAC;QACnC,IACE,SAAS,CAAC,MAAM,GAAG,CAAC;YACpB,CAAC,QAAQ,KAAK,gBAAgB,IAAI,QAAQ,KAAK,gBAAgB;gBAC7D,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,CAAC,EAClF,CAAC;YACD,kBAAkB,GAAG,EAAE,CAAC;YACxB,mBAAmB,GAAG,IAAI,CAAC;QAC7B,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,YAAY;YACrB,GAAG,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAClC,SAAS,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACzC,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,IAAI,EAAE,EAAE,CAAC,IAA+B;iBACzC,CAAC,CAAC;aACJ,CAAC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC;QACtF,oFAAoF;QACpF,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACjG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE;YACjE,MAAM,EAAE,UAAU;YAClB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,CAAC,CAAC;QAEH,IAAI,mBAAmB,EAAE,CAAC;YACxB,4EAA4E;YAC5E,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,0DAA0D,QAAQ,CAAC,YAAY,qHAAqH;aAC9M,CAAC,CAAC;YACH,OAAO;gBACL,QAAQ;gBACR,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK;gBACL,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;gBAC1C,WAAW,EAAE,YAAY;gBACzB,SAAS,EAAE,KAAK;gBAChB,aAAa,EAAE,CAAC;gBAChB,oBAAoB,EAAE,EAAE;gBACxB,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChF,CAAC;QACJ,CAAC;QAED,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,sEAAsE;YACtE,wEAAwE;YACxE,0DAA0D;YAC1D,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC1E,MAAM,YAAY,GAAG,EAAE,KAAK,YAAY,IAAI,EAAE,KAAK,UAAU,IAAI,EAAE,KAAK,UAAU,CAAC;YACnF,MAAM,OAAO,GAAG,KAAK,CAAC,sBAAsB,IAAI,CAAC,CAAC;YAClD,IAAI,YAAY,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBACvD,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,wOAAwO;iBAClP,CAAC,CAAC;gBACH,OAAO;oBACL,QAAQ;oBACR,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK;oBACL,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;oBACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;oBAC1C,WAAW,EAAE,QAAQ,CAAC,OAAO;oBAC7B,SAAS,EAAE,KAAK;oBAChB,aAAa,EAAE,CAAC;oBAChB,oBAAoB,EAAE,EAAE;oBACxB,sBAAsB,EAAE,OAAO,GAAG,CAAC;iBACpC,CAAC;YACJ,CAAC;YACD,IAAI,YAAY,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBACxC,sEAAsE;gBACtE,mDAAmD;gBACnD,MAAM,IAAI,WAAW,CACnB,mBAAmB,EACnB,oDAAoD,OAAO,kBAAkB,CAC9E,CAAC;YACJ,CAAC;YAED,yEAAyE;YACzE,oEAAoE;YACpE,MAAM,YAAY,GAAG,KAAK,CAAC,mBAAmB,IAAI,CAAC,CAAC;YACpD,IACE,CAAC,KAAK,CAAC,YAAY;gBACnB,YAAY,GAAG,CAAC;gBAChB,sBAAsB,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC3D,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,sQAAsQ;iBAChR,CAAC,CAAC;gBACH,OAAO;oBACL,QAAQ;oBACR,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK;oBACL,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;oBACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;oBAC1C,WAAW,EAAE,QAAQ,CAAC,OAAO;oBAC7B,SAAS,EAAE,KAAK;oBAChB,aAAa,EAAE,CAAC;oBAChB,oBAAoB,EAAE,EAAE;oBACxB,mBAAmB,EAAE,YAAY,GAAG,CAAC;oBACrC,mBAAmB,EAAE,IAAI;iBAC1B,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,QAAQ;gBACR,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK;gBACL,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;gBAC1C,WAAW,EAAE,QAAQ,CAAC,OAAO;gBAC7B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,CAAC;gBAChB,oBAAoB,EAAE,EAAE;gBACxB,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChF,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CACzG,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EACrF,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,qBAAqB,EAAE,SAAS,EAAE,QAAQ,CAC7E,CAAC;QAEF,oDAAoD;QACpD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,SAAS,CAAC;YAC1D,+EAA+E;YAE/E,kEAAkE;YAClE,OAAO;gBACL,QAAQ;gBACR,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK;gBACL,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;gBAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,SAAS,EAAE,KAAK;gBAChB,aAAa;gBACb,oBAAoB,EAAE,WAAW;gBACjC,OAAO,EAAE;oBACP,aAAa,EAAE,OAAO,CAAC,aAAa;oBACpC,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB;aACF,CAAC;QACJ,CAAC;QAED,IAAI,qBAAqB,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrE,4EAA4E;YAC5E,8EAA8E;YAC9E,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;oBACvE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,+BAA+B,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;gBACnH,CAAC;YACH,CAAC;YACD,OAAO;gBACL,QAAQ;gBACR,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK;gBACL,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;gBAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,SAAS,EAAE,KAAK;gBAChB,aAAa;gBACb,oBAAoB,EAAE,WAAW;gBACjC,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,kCAAkC,IAAI,CAAC,WAAW,IAAI,EAAE;aACjG,CAAC;QACJ,CAAC;QAED,oDAAoD;QACpD,KAAK,CAAC,gBAAgB,IAAI,iBAAiB,CAAC,KAAK,CAAC;QAClD,KAAK,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,CAAC;QAEpD,IAAI,eAAe,EAAE,CAAC;YACpB,eAAe,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;YACtC,eAAe,CAAC,aAAa,IAAI,aAAa,CAAC;QACjD,CAAC;QAED,yEAAyE;QACzE,mEAAmE;QACnE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE;gBACnC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC;gBACpB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;gBAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;gBACnC,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACxG,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ;YACR,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK;YACL,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK;YAChB,aAAa;YACb,oBAAoB,EAAE,WAAW;YACjC,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChF,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,SAAS,CAAC,CAAC;QACxB,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,IAAiB,EACjB,KAAmB;IAEnB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAExK,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,QAAQ,GAAkB,EAAE,CAAC;IACjC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,gBAAgB,GAAY,SAAS,CAAC;IAC1C,IAAI,aAAiJ,CAAC;IACtJ,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,sBAAsB,GAAG,CAAC,CAAC;IAC/B,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,6EAA6E;IAC7E,8EAA8E;IAC9E,qBAAqB;IACrB,MAAM,UAAU,GAAkB,KAAK,CAAC,YAAY;QAClD,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;QACnD,CAAC,CAAC,EAAE,CAAC;IAEP,uEAAuE;IACvE,2EAA2E;IAC3E,qEAAqE;IACrE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAC1B,IAAI,CAAC,WAAW,EAAE,QAAQ,IAAI,MAAM,CAAC,iBAAiB,EACtD,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,IAAI,MAAM,CAAC,iBAAiB,EACpE,IAAI,CAAC,QAAQ,CACd,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,IAA6B,EAAE,EAAE,CAC9D,SAAS,CAAC;QACR,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI;QACpC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO;QAC1D,IAAI;KACL,CAAC,CAAC;IAEL,MAAM,iBAAiB,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;QACjD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE;gBACnC,IAAI,EAAE,IAAI,GAAG,CAAC;gBACd,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,gBAAgB;gBAChB,iBAAiB;gBACjB,WAAW;gBACX,SAAS;gBACT,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;gBACnC,OAAO,CAAC,IAAI,CAAC,2CAA2C,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9G,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,2EAA2E;IAC3E,yEAAyE;IACzE,8EAA8E;IAC9E,yEAAyE;IACzE,8CAA8C;IAC9C,MAAM,SAAS,GAAG,KAAK,EAAE,KAAa,EAA0B,EAAE;QAChE,MAAM,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9D,MAAM,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC;QACjI,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC7B,IAAI,eAAe;YAAE,eAAe,CAAC,SAAS,GAAG,KAAK,CAAC;QACvD,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACrC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;IAC7H,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAE3B,sFAAsF;QACtF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC;QACpC,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC;QACzD,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QAE7C,4DAA4D;QAC5D,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,2EAA2E;YAC3E,wEAAwE;YACxE,MAAM,eAAe,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClF,MAAM,OAAO,CAAC,aAAa,EAAE;gBAC3B,MAAM,EAAE,eAAe;gBACvB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvD,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAEtE,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC;YACpC,MAAM,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAC/C,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CACrD,CAAC;YAEF,QAAQ,GAAG;gBACT,GAAG,UAAU;gBACb,gBAAgB,EAAE,MAAM;oBACtB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,gBAAqD,EAAE;oBAC3F,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,MAAM,EAAE;aAC/C,CAAC;QACJ,CAAC;QAED,8EAA8E;QAC9E,6EAA6E;QAC7E,oEAAoE;QACpE,0EAA0E;QAC1E,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,eAAe,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3D,QAAQ,GAAG,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC3C,CAAC;YACD,IAAI,MAAM;gBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7D,uEAAuE;YACvE,gEAAgE;YAChE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;gBACxE,QAAQ,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;aAAM,IAAI,eAAe,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClE,QAAQ,GAAG;gBACT,GAAG,UAAU;gBACb,GAAG,eAAe,CAAC,QAAQ;gBAC3B,gBAAgB,EAAE,MAAM;oBACtB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,gBAAqD,EAAE;oBAC3F,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,MAAM,EAAE;aAC/C,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,uDAAuD;QACvD,MAAM,WAAW,GAAG,eAAe,EAAE,IAAI,IAAI,CAAC,CAAC;QAE/C,KAAK,IAAI,GAAG,WAAW,EAAE,IAAI,GAAG,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC;YACpD,MAAM,OAAO,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAE9C,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC5B,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC3D,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gBACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,CAAC;YACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrD,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YACnD,CAAC;YAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACxB,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;oBAC3E,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;oBAC3B,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAChF,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;oBAC3B,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;gBACjD,CAAC;YACH,CAAC;YAED,MAAM,OAAO,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,MAAM,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAE9D,kEAAkE;YAClE,IAAI,SAAS,GAAG,QAAQ,CAAC;YACzB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACnF,IAAI,aAAa,EAAE,KAAK,EAAE,CAAC;wBACzB,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC;oBAClC,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;wBACnC,OAAO,CAAC,IAAI,CAAC,qDAAqD,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBACxH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,YAAY,CACtC,QAAQ,EACR;gBACE,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxF,EACD,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,EAChC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CACpC,CAAC;YACF,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;gBAC7B,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;gBAClC,eAAe,EAAE,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACvD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,kBAAkB,GAAG,KAAK,CAAC;gBAC7B,CAAC;YACH,CAAC;YAED,IAAI,IAAI,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,kDAAkD,WAAW,6HAA6H;iBACpM,CAAC,CAAC;YACL,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,IAAI,WAAW,GAAG,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE;gBACzC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ;gBACpC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,QAAQ,EAAE,SAAS;gBACnB,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,gBAAgB,EAAE,iBAAiB,EAAE,WAAW;gBAChD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,sBAAsB;gBACtB,mBAAmB;gBACnB,eAAe,EAAE,mBAAmB;gBACpC,SAAS;aACV,CAAC,CAAC;YAEH,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;YAC/B,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;YAC/C,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;YACjD,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;YACrC,IAAI,UAAU,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;gBACpD,sBAAsB,GAAG,UAAU,CAAC,sBAAsB,CAAC;YAC7D,CAAC;YACD,IAAI,UAAU,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBACjD,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC;YACvD,CAAC;YACD,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,KAAK,IAAI,CAAC;YAC9D,IAAI,UAAU,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBAC9C,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;YACjD,CAAC;YAED,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC1B,MAAM,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC7J,MAAM,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACrL,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;gBACnF,MAAM,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;YAC3G,CAAC;YAED,oDAAoD;YACpD,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,qBAAqB;gBACrB,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,SAAS,CAAC;gBAC1D,MAAM,OAAO,CAAC,eAAe,EAAE;oBAC7B,WAAW,EAAE,cAAc;oBAC3B,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,aAAa;oBAC3C,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM;oBACjC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO;iBACpC,CAAC,CAAC;gBAEH,wDAAwD;gBACxD,WAAW,GAAG,qBAAqB,UAAU,CAAC,OAAO,CAAC,aAAa,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACrG,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC;gBACnC,MAAM;YACR,CAAC;YAED,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzB,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;gBACrC,MAAM,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC/D,MAAM;YACR,CAAC;YAED,yEAAyE;YACzE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACrC,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC;gBACxC,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,KAAK,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;oBACnD,MAAM,IAAI,GACR,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC;wBAC/D,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;wBAClE,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBACvD,IAAI,IAAI,EAAE,CAAC;wBACT,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO;4BAAE,OAAO,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;wBACxD,MAAM,MAAM,GAAG,0BAA0B,KAAK,UAAU,CAAC;wBACzD,MAAM,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;wBACzF,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;wBAC9B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;wBAC1B,OAAO,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;oBAC7H,CAAC;gBACH,CAAC;gBAED,MAAM,OAAO,GAA4B;oBACvC,KAAK,EAAE,IAAI;oBACX,WAAW;oBACX,gBAAgB,EAAE,iBAAiB;oBACnC,oBAAoB,EAAE,UAAU,CAAC,oBAAoB;iBACtD,CAAC;gBAEF,IAAI,UAA2D,CAAC;gBAChE,IAAI,CAAC,WAAW,CAAC,cAAc,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;oBAC1D,sBAAsB;gBACxB,CAAC;qBAAM,CAAC;oBACN,MAAM,WAAW,GAAG,sBAAsB,CACxC,CAAC,WAAW,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,EAChG,OAAO,CACR,CAAC;oBACF,IAAI,WAAW,EAAE,CAAC;wBAChB,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACN,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;4BACpD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;gCAAE,SAAS;4BACxC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;4BAC7E,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,QAAQ,CACnC,EAAE,QAAQ,EAAE,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,cAAc,CAAkB,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EACvH,QAAQ,CAAC,MAAM,CAChB,CAAC;4BACF,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;gCACvC,UAAU,GAAG,WAAW,CAAC;gCACzB,MAAM;4BACR,CAAC;wBACH,CAAC;wBACD,IAAI,CAAC,UAAU,EAAE,CAAC;4BAChB,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;gCAC/C,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;oCACjD,UAAU,GAAG,WAAW,CAAC;oCACzB,MAAM;gCACR,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,UAAU,EAAE,CAAC;oBACf,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO;wBAAE,OAAO,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;oBACxD,MAAM,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;oBAC/D,MAAM,aAAa,CAAC;wBAClB,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe;wBACrD,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO;wBAC1D,IAAI,EAAE;4BACJ,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC;4BAC9D,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;4BAClC,aAAa,EAAE,UAAU;4BACzB,UAAU;4BACV,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAClE,GAAG,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBACtE;qBACF,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;oBACvE,MAAM,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;oBAC9H,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;oBAC7B,IAAI,eAAe,EAAE,CAAC;wBACpB,eAAe,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACxC,eAAe,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;wBAChC,eAAe,CAAC,SAAS,GAAG,KAAK,CAAC;oBACpC,CAAC;oBACL,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;oBACrC,OAAO;wBACL,UAAU,EAAE,IAAI,GAAG,CAAC;wBACpB,MAAM,EAAE,WAAW;wBACnB,gBAAgB;wBAChB,iBAAiB;wBACjB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;wBAClC,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAChE,CAAC;gBACA,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC1C,IAAI,IAAI,IAAI,WAAW,EAAE,CAAC;YACxB,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACxD,MAAM,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;YAChE,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,aAAa,CAAC;oBAClB,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe;oBACrD,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO;oBAC1D,IAAI,EAAE;wBACJ,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC;wBAC9D,UAAU;wBACV,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClE,GAAG,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACtE;iBACF,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;gBACvE,MAAM,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;gBACnG,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,qBAAqB,IAAI,SAAS,EAAE,CAAC;oBACjE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;oBAChF,IAAI,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,aAAa,CAAC,EAAE,CAAC;wBACnE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;wBACvE,IAAI,KAAK,EAAE,CAAC;4BACV,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gCACxE,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;oCACnC,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC/G,CAAC;4BACH,CAAC,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAC7B,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBACrC,OAAO,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9J,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACxD,MAAM,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,uBAAuB,WAAW,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;YACpI,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC1B,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;QACjG,CAAC;aAAM,CAAC;YACN,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACxD,MAAM,aAAa,CAAC;gBAClB,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe;gBACrD,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO;gBAC1D,IAAI,EAAE;oBACJ,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC;oBAC9D,UAAU;oBACV,UAAU,EAAE,UAAU;oBACtB,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClE,GAAG,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtE;aACF,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;YAEvE,MAAM,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;YAEnG,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,qBAAqB,IAAI,SAAS,EAAE,CAAC;gBACjE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBAChF,IAAI,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,aAAa,CAAC,EAAE,CAAC;oBACnE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;oBACvE,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;4BACxE,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;gCACnC,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;4BAC/G,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAE7B,IAAI,eAAe,EAAE,CAAC;YACpB,eAAe,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxC,eAAe,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;YAChC,eAAe,CAAC,SAAS,GAAG,KAAK,CAAC;QACpC,CAAC;QAED,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACrC,OAAO,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;IAChI,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,0EAA0E;QAC1E,wEAAwE;QACxE,6DAA6D;QAC7D,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClE,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC9C,uFAAuF;QACvF,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAC;QAC3G,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC1B,IAAI,eAAe;YAAE,eAAe,CAAC,SAAS,GAAG,KAAK,CAAC;QACvD,OAAO,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;IACrH,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vinhnt-sdk/core",
3
- "version": "0.9.7",
3
+ "version": "0.10.0",
4
4
  "description": "Core agent engine for VNT Agent - kernel, tools, sessions, plugins, permissions, and knowledge",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -53,18 +53,18 @@
53
53
  "prepublishOnly": "pnpm build"
54
54
  },
55
55
  "dependencies": {
56
- "@vinhnt-sdk/event": "workspace:*",
57
- "@vinhnt-sdk/guard": "workspace:*",
58
- "@vinhnt-sdk/guardrails": "workspace:*",
59
- "@vinhnt-sdk/knowledge": "workspace:*",
60
- "@vinhnt-sdk/llm": "workspace:*",
61
- "@vinhnt-sdk/permission": "workspace:*",
62
- "@vinhnt-sdk/sandbox": "workspace:*",
63
- "@vinhnt-sdk/schema": "workspace:*",
64
- "@vinhnt-sdk/session": "workspace:*",
65
- "@vinhnt-sdk/step-executor": "workspace:*",
66
- "@vinhnt-sdk/tools": "workspace:*",
67
- "@vinhnt-sdk/workflow": "workspace:*",
56
+ "@vinhnt-sdk/event": "0.4.2",
57
+ "@vinhnt-sdk/guard": "0.4.4",
58
+ "@vinhnt-sdk/guardrails": "0.4.2",
59
+ "@vinhnt-sdk/knowledge": "0.4.3",
60
+ "@vinhnt-sdk/llm": "0.5.8",
61
+ "@vinhnt-sdk/permission": "0.4.4",
62
+ "@vinhnt-sdk/sandbox": "0.4.2",
63
+ "@vinhnt-sdk/schema": "0.5.8",
64
+ "@vinhnt-sdk/session": "0.4.2",
65
+ "@vinhnt-sdk/step-executor": "0.5.0",
66
+ "@vinhnt-sdk/tools": "0.4.7",
67
+ "@vinhnt-sdk/workflow": "0.4.2",
68
68
  "zod": "^4.4.3"
69
69
  }
70
70
  }