browserclaw-agent 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/agent-loop.d.ts +23 -15
  2. package/dist/agent-loop.d.ts.map +1 -1
  3. package/dist/agent-loop.js +55 -32
  4. package/dist/agent-loop.js.map +1 -1
  5. package/dist/config.d.ts +10 -2
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js +29 -16
  8. package/dist/config.js.map +1 -1
  9. package/dist/index.d.ts +7 -16
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +3 -12
  12. package/dist/index.js.map +1 -1
  13. package/dist/lesson-store.d.ts +11 -0
  14. package/dist/lesson-store.d.ts.map +1 -0
  15. package/dist/lesson-store.js +323 -0
  16. package/dist/lesson-store.js.map +1 -0
  17. package/dist/llm.d.ts.map +1 -1
  18. package/dist/llm.js +37 -24
  19. package/dist/llm.js.map +1 -1
  20. package/dist/port-probe.d.ts +8 -0
  21. package/dist/port-probe.d.ts.map +1 -0
  22. package/dist/port-probe.js +22 -0
  23. package/dist/port-probe.js.map +1 -0
  24. package/dist/prompt-log.d.ts +17 -0
  25. package/dist/prompt-log.d.ts.map +1 -0
  26. package/dist/prompt-log.js +28 -0
  27. package/dist/prompt-log.js.map +1 -0
  28. package/dist/routes.d.ts +3 -0
  29. package/dist/routes.d.ts.map +1 -0
  30. package/dist/routes.js +227 -0
  31. package/dist/routes.js.map +1 -0
  32. package/dist/server.d.ts +2 -0
  33. package/dist/server.d.ts.map +1 -0
  34. package/dist/server.js +121 -0
  35. package/dist/server.js.map +1 -0
  36. package/dist/session-manager.d.ts +40 -0
  37. package/dist/session-manager.d.ts.map +1 -0
  38. package/dist/session-manager.js +635 -0
  39. package/dist/session-manager.js.map +1 -0
  40. package/dist/skill-generator.d.ts +5 -0
  41. package/dist/skill-generator.d.ts.map +1 -0
  42. package/dist/skill-generator.js +173 -0
  43. package/dist/skill-generator.js.map +1 -0
  44. package/dist/skill-store.d.ts +7 -0
  45. package/dist/skill-store.d.ts.map +1 -0
  46. package/dist/skill-store.js +85 -0
  47. package/dist/skill-store.js.map +1 -0
  48. package/dist/trajectory-store.d.ts +20 -0
  49. package/dist/trajectory-store.d.ts.map +1 -0
  50. package/dist/trajectory-store.js +61 -0
  51. package/dist/trajectory-store.js.map +1 -0
  52. package/package.json +6 -14
@@ -1,6 +1,7 @@
1
1
  import type { CrawlPage, BrowserClaw } from 'browserclaw';
2
2
  import type { UserMessage } from './types.js';
3
- import type { AgentAction, AgentLoopResult, CatalogSkill } from './types.js';
3
+ import type { AgentAction, AgentLoopResult, CatalogSkill, TaskLesson } from './types.js';
4
+ import type { AgentConfig } from './config.js';
4
5
  /**
5
6
  * Wrap drained user interjections in a nonce-tagged block so the LLM can
6
7
  * distinguish user data from system instructions. Sanitizes the text to
@@ -26,24 +27,31 @@ export declare function shouldCheckTermination(step: number): boolean;
26
27
  export interface PageHolder {
27
28
  page: CrawlPage;
28
29
  }
30
+ /**
31
+ * Extension points for consumers of the agent loop.
32
+ *
33
+ * - `systemPrompt` — Replace or extend the main system prompt.
34
+ * - `customActions` — Handle action types not built into the agent.
35
+ * Return `{ outcome }` to override the step outcome text.
36
+ * - `buildTask` — Pre-process the user prompt before the planner sees it.
37
+ * Useful for adding context or domain constraints.
38
+ * - `getLesson` — Inject a lesson provider (replaces the default S3-backed store).
39
+ * Return `null` to skip lesson loading.
40
+ */
41
+ export interface AgentLoopOptions {
42
+ systemPrompt?: string | ((defaultPrompt: string) => string);
43
+ customActions?: Record<string, (action: AgentAction, page: CrawlPage, browser?: BrowserClaw) => Promise<{
44
+ outcome?: string;
45
+ } | undefined>>;
46
+ buildTask?: (prompt: string) => string | Promise<string>;
47
+ getLesson?: (prompt: string) => Promise<TaskLesson | null>;
48
+ config?: Partial<AgentConfig>;
49
+ }
29
50
  export interface UserChatHooks {
30
51
  /** Drain all pending user interjections. Called at the top of each step. */
31
52
  drainMessages: () => UserMessage[];
32
53
  /** Per-session random token used to wrap user-interjection content so the LLM can't confuse user data for system instructions. */
33
54
  nonce: string;
34
55
  }
35
- export interface AgentLoopOptions {
36
- waitForUser?: () => Promise<string>;
37
- browser?: BrowserClaw;
38
- domainSkill?: CatalogSkill | null;
39
- maxSteps?: number;
40
- userChat?: UserChatHooks;
41
- /** Custom action handlers keyed by action name. Called before built-in actions. */
42
- customActions?: Record<string, (action: AgentAction, page: CrawlPage) => Promise<void>>;
43
- /** Override the default agent system prompt. */
44
- systemPrompt?: string;
45
- /** Transform the prompt before it reaches the planner and agent loop. */
46
- buildTask?: (prompt: string) => string;
47
- }
48
- export declare function runAgentLoop(prompt: string, pageOrHolder: CrawlPage | PageHolder, emit: (event: string, data: unknown) => void, signal: AbortSignal, options?: AgentLoopOptions): Promise<AgentLoopResult>;
56
+ export declare function runAgentLoop(prompt: string, pageOrHolder: CrawlPage | PageHolder, emit: (event: string, data: unknown) => void, signal: AbortSignal, waitForUser?: () => Promise<string>, browser?: BrowserClaw, domainSkill?: CatalogSkill | null, maxSteps?: number, userChat?: UserChatHooks, options?: AgentLoopOptions): Promise<AgentLoopResult>;
49
57
  //# sourceMappingURL=agent-loop.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../src/agent-loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAU1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C,OAAO,KAAK,EAAE,WAAW,EAAa,eAAe,EAAiB,YAAY,EAAc,MAAM,YAAY,CAAC;AAanH;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiC5F;AA8kBD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAsB1D;AAMD,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAIvE;AA0ND,MAAM,MAAM,mBAAmB,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtG;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG5D;AA2CD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,4EAA4E;IAC5E,aAAa,EAAE,MAAM,WAAW,EAAE,CAAC;IACnC,kIAAkI;IAClI,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,WAAW,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,mFAAmF;IACnF,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACxF,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,SAAS,GAAG,UAAU,EACpC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,EAC5C,MAAM,EAAE,WAAW,EACnB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC,CAm1B1B"}
1
+ {"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../src/agent-loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAU1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,KAAK,EAAE,WAAW,EAAa,eAAe,EAAiB,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACnH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAc/C;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiC5F;AA8kBD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAsB1D;AAMD,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAIvE;AAkND,MAAM,MAAM,mBAAmB,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtG;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG5D;AA2CD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IAC5D,aAAa,CAAC,EAAE,MAAM,CACpB,MAAM,EACN,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAC3G,CAAC;IACF,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,4EAA4E;IAC5E,aAAa,EAAE,MAAM,WAAW,EAAE,CAAC;IACnC,kIAAkI;IAClI,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,SAAS,GAAG,UAAU,EACpC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,EAC5C,MAAM,EAAE,WAAW,EACnB,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EACnC,OAAO,CAAC,EAAE,WAAW,EACrB,WAAW,CAAC,EAAE,YAAY,GAAG,IAAI,EACjC,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC,CAu1B1B"}
@@ -8,10 +8,21 @@ import { TabManager } from './skills/tab-manager.js';
8
8
  import { getCdpBaseUrl, activateCdpTarget } from './skills/cdp-utils.js';
9
9
  import { webSearch } from './web-search.js';
10
10
  import { llmJson, llmVision, sanitizeErrorText, getTokenUsage } from './llm.js';
11
- import { getLesson, formatLessonForPrompt } from './lesson-store.js';
12
11
  import { LlmParseError } from './types.js';
12
+ import { defaultAgentConfig, INTERJECTION_INJECTION_MAX_CHARS } from './config.js';
13
13
  import { logger } from './logger.js';
14
- import { WAIT_AFTER_TYPE_MS, WAIT_AFTER_CLICK_MS, WAIT_AFTER_OTHER_MS, WAIT_ACTION_MS, SCROLL_PIXELS, LLM_MAX_TOKENS, MAX_STEPS, INTERJECTION_INJECTION_MAX_CHARS, } from './config.js';
14
+ function formatLessonForPrompt(lesson) {
15
+ const blocked = lesson.domains.filter((d) => d.status === 'blocked');
16
+ const worked = lesson.domains.filter((d) => d.status === 'worked');
17
+ if (blocked.length === 0 && worked.length === 0)
18
+ return '';
19
+ const lines = ['LESSONS FROM PREVIOUS RUNS:'];
20
+ for (const d of blocked)
21
+ lines.push(` AVOID ${d.domain} (${d.reason})`);
22
+ for (const d of worked)
23
+ lines.push(` USE ${d.domain} instead (${d.reason})`);
24
+ return lines.join('\n');
25
+ }
15
26
  /**
16
27
  * Wrap drained user interjections in a nonce-tagged block so the LLM can
17
28
  * distinguish user data from system instructions. Sanitizes the text to
@@ -571,11 +582,7 @@ export function assertExtractExpressionAllowed(expression) {
571
582
  throw new Error('extract: expression references disallowed API (cookies, storage, network, or eval)');
572
583
  }
573
584
  }
574
- async function executeAction(action, page, customActions) {
575
- if (customActions?.[action.action] !== undefined) {
576
- await customActions[action.action](action, page);
577
- return;
578
- }
585
+ async function executeAction(action, page, config) {
579
586
  switch (action.action) {
580
587
  case 'click':
581
588
  if (action.ref === undefined || action.ref === '')
@@ -612,11 +619,11 @@ async function executeAction(action, page, customActions) {
612
619
  break;
613
620
  case 'scroll':
614
621
  await page.evaluate(action.direction === 'up'
615
- ? `window.scrollBy(0, -${String(SCROLL_PIXELS)})`
616
- : `window.scrollBy(0, ${String(SCROLL_PIXELS)})`);
622
+ ? `window.scrollBy(0, -${String(config.scrollPixels)})`
623
+ : `window.scrollBy(0, ${String(config.scrollPixels)})`);
617
624
  break;
618
625
  case 'wait':
619
- await page.waitFor({ timeMs: WAIT_ACTION_MS });
626
+ await page.waitFor({ timeMs: config.waitActionMs });
620
627
  break;
621
628
  case 'done':
622
629
  case 'fail':
@@ -630,12 +637,12 @@ async function executeAction(action, page, customActions) {
630
637
  break;
631
638
  }
632
639
  }
633
- function getWaitMs(action) {
640
+ function getWaitMs(action, config) {
634
641
  switch (action) {
635
642
  case 'type':
636
- return WAIT_AFTER_TYPE_MS;
643
+ return config.waitAfterTypeMs;
637
644
  case 'click':
638
- return WAIT_AFTER_CLICK_MS;
645
+ return config.waitAfterClickMs;
639
646
  case 'navigate':
640
647
  case 'back':
641
648
  case 'select':
@@ -651,7 +658,7 @@ function getWaitMs(action) {
651
658
  case 'done':
652
659
  case 'fail':
653
660
  case 'ask_user':
654
- return WAIT_AFTER_OTHER_MS;
661
+ return config.waitAfterOtherMs;
655
662
  }
656
663
  }
657
664
  function describeActionError(action, err) {
@@ -808,8 +815,9 @@ Use ONLY data that appears in the memory or steps below — never invent values.
808
815
  return { ready: false, missing: 'judgment unavailable' };
809
816
  }
810
817
  }
811
- export async function runAgentLoop(prompt, pageOrHolder, emit, signal, options) {
812
- const { waitForUser, browser, domainSkill, maxSteps = MAX_STEPS, userChat, customActions, systemPrompt: customSystemPrompt, buildTask, } = options ?? {};
818
+ export async function runAgentLoop(prompt, pageOrHolder, emit, signal, waitForUser, browser, domainSkill, maxSteps, userChat, options) {
819
+ const cfg = defaultAgentConfig(options?.config);
820
+ maxSteps ??= cfg.maxSteps;
813
821
  // Accept either a bare CrawlPage or a PageHolder. When a PageHolder is
814
822
  // provided the caller's reference is updated on tab switches.
815
823
  const holder = 'page' in pageOrHolder && typeof pageOrHolder.page === 'object'
@@ -856,27 +864,29 @@ export async function runAgentLoop(prompt, pageOrHolder, emit, signal, options)
856
864
  final_url: currentUrl,
857
865
  };
858
866
  };
859
- const effectivePrompt = buildTask !== undefined ? buildTask(prompt) : prompt;
860
867
  // ── Load task lessons ──────────────────────────────────────────────────────
861
868
  let taskLesson = null;
862
- try {
863
- taskLesson = await getLesson(effectivePrompt);
864
- if (taskLesson !== null) {
865
- const blocked = taskLesson.domains.filter((d) => d.status === 'blocked').length;
866
- const worked = taskLesson.domains.filter((d) => d.status === 'worked').length;
867
- logger.info({ blocked, worked, hash: taskLesson.task_hash }, 'Loaded task lessons');
869
+ if (options?.getLesson !== undefined) {
870
+ try {
871
+ taskLesson = await options.getLesson(prompt);
872
+ if (taskLesson !== null) {
873
+ const blocked = taskLesson.domains.filter((d) => d.status === 'blocked').length;
874
+ const worked = taskLesson.domains.filter((d) => d.status === 'worked').length;
875
+ logger.info({ blocked, worked, hash: taskLesson.task_hash }, 'Loaded task lessons');
876
+ }
877
+ }
878
+ catch (err) {
879
+ logger.error({ err }, 'Failed to load task lessons');
868
880
  }
869
- }
870
- catch (err) {
871
- logger.error({ err }, 'Failed to load task lessons');
872
881
  }
873
882
  // ── Planning + goal refinement (single LLM call) ──────────────────────────
874
883
  // If the prompt is vague (e.g. "find apartments in Chelsea"), the planner
875
884
  // also produces a SMART task with clear scope and stopping criteria.
876
- let refinedPrompt = effectivePrompt;
885
+ let refinedPrompt = prompt;
877
886
  let planText = null;
878
887
  try {
879
- let planMessage = `User prompt: ${effectivePrompt}`;
888
+ const taskInput = options?.buildTask !== undefined ? await options.buildTask(prompt) : prompt;
889
+ let planMessage = `User prompt: ${taskInput}`;
880
890
  if (domainSkill !== undefined && domainSkill !== null) {
881
891
  planMessage += `\n\nWe have a proven skill for this site: "${domainSkill.skill.title}" — ${domainSkill.skill.description}`;
882
892
  planMessage += '\nLeverage it — no need to rediscover what already works.';
@@ -1165,13 +1175,18 @@ Respond with JSON: {"plan": "your revised plan here"}`,
1165
1175
  const userMessage = interjectionBlock !== null ? `${interjectionBlock}\n\n---\n\n${baseUserMessage}` : baseUserMessage;
1166
1176
  // On the last step, force the agent to produce a final answer
1167
1177
  const isLastStep = stepsRemaining === 0;
1168
- const systemPrompt = isLastStep ? LAST_STEP_PROMPT : (customSystemPrompt ?? SYSTEM_PROMPT);
1178
+ const resolvedSystemPrompt = options?.systemPrompt === undefined
1179
+ ? SYSTEM_PROMPT
1180
+ : typeof options.systemPrompt === 'function'
1181
+ ? options.systemPrompt(SYSTEM_PROMPT)
1182
+ : options.systemPrompt;
1183
+ const systemPrompt = isLastStep ? LAST_STEP_PROMPT : resolvedSystemPrompt;
1169
1184
  let actions;
1170
1185
  try {
1171
1186
  const parsed = await llmJson({
1172
1187
  system: systemPrompt,
1173
1188
  message: userMessage,
1174
- maxTokens: LLM_MAX_TOKENS,
1189
+ maxTokens: cfg.llmMaxTokens,
1175
1190
  });
1176
1191
  try {
1177
1192
  actions = parseActions(parsed);
@@ -1458,7 +1473,15 @@ Respond with JSON: {"plan": "your revised plan here"}`,
1458
1473
  // --- Normal actions ---
1459
1474
  const preActionUrl = await holder.page.url();
1460
1475
  try {
1461
- await executeAction(action, holder.page, customActions);
1476
+ const customHandler = options?.customActions?.[action.action];
1477
+ if (customHandler !== undefined) {
1478
+ const result = await customHandler(action, holder.page, browser);
1479
+ if (result?.outcome !== undefined)
1480
+ agentStep.outcome = result.outcome;
1481
+ }
1482
+ else {
1483
+ await executeAction(action, holder.page, cfg);
1484
+ }
1462
1485
  // After typing, detect autocomplete/combobox fields
1463
1486
  if (action.action === 'type') {
1464
1487
  await holder.page.waitFor({ timeMs: 400 });
@@ -1540,7 +1563,7 @@ Respond with JSON: {"plan": "your revised plan here"}`,
1540
1563
  break; // New tab opened — need new snapshot
1541
1564
  }
1542
1565
  }
1543
- const waitMs = getWaitMs(action.action);
1566
+ const waitMs = getWaitMs(action.action, cfg);
1544
1567
  await holder.page.waitFor({ timeMs: waitMs });
1545
1568
  step++;
1546
1569
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent-loop.js","sourceRoot":"","sources":["../src/agent-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-loop.js","sourceRoot":"","sources":["../src/agent-loop.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACtG,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,kBAAkB,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,SAAS,qBAAqB,CAAC,MAAkB;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3D,MAAM,KAAK,GAAa,CAAC,6BAA6B,CAAC,CAAC;IACxD,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACzE,KAAK,MAAM,CAAC,IAAI,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAuB,EAAE,KAAa;IAC3E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,0EAA0E;IAC1E,6DAA6D;IAC7D,MAAM,UAAU,GAAG,oEAAoE,CAAC;IAExF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,IAAI,KAAK,EAAE;YAAE,SAAS;QAC1B,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,gCAAgC,EAAE,CAAC;YAChE,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACzC,MAAM;QACR,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,UAAU,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhH,OAAO;QACL,kTAAkT;QAClT,EAAE;QACF,kBAAkB,KAAK,IAAI;QAC3B,IAAI,GAAG,MAAM;QACb,sBAAsB,KAAK,IAAI;KAChC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kHAkJ4F,CAAC;AAEnH,MAAM,gBAAgB,GAAG;;;;;;;;;;;0GAWiF,CAAC;AAE3G,SAAS,WAAW,CAAC,QAAgB;IACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAE9F,IAAI,YAAY,GAAG,EAAE;QAAE,OAAO,OAAO,CAAC;IACtC,IAAI,YAAY,GAAG,EAAE,IAAI,UAAU,GAAG,YAAY,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IAC1E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC,KAAK,UAAU,YAAY,CAAC,IAAe;IACzC,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClF,CAAC;IAAC,OAAO,QAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CACT,EAAE,KAAK,EAAE,iBAAiB,CAAC,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EACtF,4BAA4B,CAC7B,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC;YACH,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAClF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CACV,EAAE,KAAK,EAAE,iBAAiB,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAC5E,6BAA6B,CAC9B,CAAC;YACF,OAAO,8CAA8C,CAAC;QACxD,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,sCAAsC,CAAC,CAAC;QAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC;gBACH,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAChF,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,OAAO;oBAAE,MAAM;YAC/C,CAAC;YAAC,OAAO,QAAQ,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CACT,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,EACnF,8CAA8C,CAC/C,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAEtC;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAAC,IAAe,EAAE,QAAgB;IACjE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,SAAS,CAC/B,wJAAwJ,EACxJ,6CAA6C,EAC7C,MAAM,CACP,CAAC;QACF,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;YACrF,OAAO,GAAG,QAAQ,6EAA6E,SAAS,EAAE,CAAC;QAC7G,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,IAAe;IAC3C,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACrC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACrC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AACrC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AACtC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAEtC,SAAS,eAAe,CAAC,OAAoB,EAAE,cAAuB;IACpE,IAAI,OAAO,CAAC,MAAM,IAAI,qBAAqB,EAAE,CAAC;QAC5C,IAAI,GAAG,GAAG,qBAAqB,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,qBAAqB,CAAC,CAAC;IAErE,IAAI,GAAG,GAAG,qBAAqB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB,MAAM,CAAC,qBAAqB,CAAC,gBAAgB,CAAC;IAE3H,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;QAC1D,GAAG,IAAI,sBAAsB,cAAc,MAAM,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,wEAAwE;QACxE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,qBAAqB,CAAC,CAAC;QACvE,GAAG,IAAI,2BAA2B,CAAC;QACnC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpH,GAAG,IAAI,IAAI,CAAC;QAEZ,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAC7B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU;YAC9B,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;YAC9D,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAC7B,CAAC;QACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,GAAG,IAAI,6BAA6B,CAAC;YACrC,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrC,GAAG,IAAI,YAAY,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;gBAClG,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS;oBAAE,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;gBAC9C,GAAG,IAAI,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9C,GAAG,IAAI,wBAAwB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;IACxH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,IAAe;IACjC,IAAI,IAAI,GAAG,UAAU,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC;IAC7F,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;QAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,yBAAyB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,IAAI,IAAI,qBAAqB,OAAO,GAAG,SAAS,IAAI,CAAC;IACvD,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,IAAI,kBAAkB,IAAI,CAAC,OAAO,IAAI,CAAC;IAC7C,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAC7C,IAAI,IAAI,wBAAwB,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC;IACjE,CAAC;IACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,IAAI,wBAAwB,IAAI,CAAC,aAAa,KAAK,CAAC;IAC1D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,OAAoB;IACzC,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YAC9E,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAyBD,SAAS,gBAAgB,CACvB,IAAY,EACZ,QAAgB,EAChB,OAAoB,EACpB,GAAW,EACX,KAAa,EACb,IAA8B;IAE9B,MAAM,EACJ,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,WAAW,EACX,UAAU,EACV,cAAc,EACd,QAAQ,EAAE,UAAU,EACpB,eAAe,EACf,cAAc,EACd,QAAQ,EACR,YAAY,GAAG,MAAM,GACtB,GAAG,IAAI,IAAI,EAAE,CAAC;IACf,IAAI,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC;IAEhC,oEAAoE;IACpE,IAAI,YAAY,KAAK,MAAM,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAClF,OAAO,IAAI,WAAW,IAAI,IAAI,CAAC;IACjC,CAAC;IAED,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,IAAI,gIAAgI,CAAC;IAC9I,CAAC;SAAM,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,IAAI,EAAE,EAAE,CAAC;QAChE,OAAO,IAAI,qBAAqB,MAAM,CAAC,cAAc,CAAC,yFAAyF,CAAC;IAClJ,CAAC;SAAM,IACL,cAAc,KAAK,SAAS;QAC5B,UAAU,KAAK,SAAS;QACxB,UAAU,GAAG,CAAC;QACd,CAAC,UAAU,GAAG,cAAc,CAAC,GAAG,UAAU,IAAI,IAAI,EAClD,CAAC;QACD,OAAO,IAAI,yHAAyH,CAAC;IACvI,CAAC;SAAM,IACL,cAAc,KAAK,SAAS;QAC5B,UAAU,KAAK,SAAS;QACxB,UAAU,GAAG,CAAC;QACd,CAAC,UAAU,GAAG,cAAc,CAAC,GAAG,UAAU,IAAI,GAAG,EACjD,CAAC;QACD,OAAO,IAAI,2FAA2F,CAAC;IACzG,CAAC;IAED,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;YACtB,OAAO,IAAI,KAAK,UAAU,IAAI,CAAC;QACjC,CAAC;IACH,CAAC;IAED,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC9D,OAAO,IAAI,eAAe,CAAC;IAC7B,CAAC;IAED,IAAI,YAAY,KAAK,MAAM,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACjF,OAAO,IAAI,sDAAsD,CAAC;QAClE,OAAO,IAAI,MAAM,WAAW,CAAC,KAAK,CAAC,KAAK,OAAO,WAAW,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC;QACjF,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3C,IAAI,IAAI,GAAG,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5E,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE;gBAAE,IAAI,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACpF,OAAO,IAAI,GAAG,IAAI,IAAI,CAAC;QACzB,CAAC;QACD,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,yBAAyB,CAAC;YACrC,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACzC,OAAO,IAAI,OAAO,GAAG,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,IAAI,WAAW,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5F,OAAO,IAAI,yBAAyB,CAAC;YACrC,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC9C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,IAAI,WAAW,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChG,OAAO,IAAI,0CAA0C,CAAC;YACtD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;gBACnD,OAAO,IAAI,OAAO,IAAI,IAAI,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,wBAAwB,CAAC;IACtC,CAAC;IAED,4DAA4D;IAC5D,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,IAAI,kBAAkB,CAAC;QAC9B,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,gBAAgB,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,cAAc,QAAQ,CAAC,OAAO,IAAI,CAAC;QAC9C,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YACjC,OAAO,IAAI,mBAAmB,QAAQ,CAAC,UAAU,IAAI,CAAC;QACxD,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,IAAI,0CAA0C,UAAU,IAAI,CAAC;IACtE,CAAC;IAED,OAAO,IAAI,mBAAmB,KAAK,UAAU,GAAG,IAAI,CAAC;IACrD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,cAAc,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACnD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,OAAO,IAAI,MAAM,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;QAC/D,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QAClD,OAAO,IAAI,cAAc,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IAChD,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;QAChD,OAAO,IAAI,wBAAwB,SAAS,IAAI,CAAC;IACnD,CAAC;IACD,OAAO,IAAI,IAAI,CAAC;IAEhB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,gDAAgD;IAClD,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,gEAAgE;YAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnC,GAAG,CAAC;gBACJ,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE;aACnD,CAAC,CAAC,CAAC;YACJ,OAAO,IAAI,eAAe,CAAC,QAA0B,EAAE,cAAc,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,IAAI,CAAC;IAClB,CAAC;IAED,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,QAAQ;aACxB,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oEAAoE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjG,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,2CAA2C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACpF,CAAC;IACH,CAAC;IAED,OAAO,IAAI,mBAAmB,QAAQ,EAAE,CAAC;IAEzC,OAAO,OAAO,CAAC;AACjB,CAAC;AAgBD,SAAS,aAAa,CAAC,MAA+B;IACpD,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC5B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC9E,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,SAAsB,CAAC,CAAC,CAAC,EAAE;QACtE,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACvD,UAAU,EAAE,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;KAC9F,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,MAA+B;IACnD,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,QAAQ,GAAG;QACf,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAA4B;QAC3C,SAAS,EAAE,MAAM,CAAC,SAA+B;QACjD,wBAAwB,EAAE,MAAM,CAAC,wBAA8C;KAChF,CAAC;IAEF,gEAAgE;IAChE,IAAI,KAAyB,CAAC;IAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,KAAK,GAAG,MAAM,CAAC,OAA6B,CAAC;IAC/C,CAAC;SAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7C,KAAK,GAAG,CAAC,MAAqC,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC1D,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;QACzE,CAAC;QACD,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAA+B;YAC5C,2CAA2C;YAC3C,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,gBAAgB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACxF,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAqC;YACrD,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,wBAAwB,CAAC,GAAW;IAClD,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,CAAC,QAAQ,4BAA4B,CAAC,CAAC;IAC/F,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7G,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IACD,IACE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAC3B,IAAI,KAAK,0BAA0B;QACnC,IAAI,KAAK,eAAe;QACxB,IAAI,KAAK,uBAAuB,EAChC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,sFAAsF;AACtF,MAAM,iBAAiB,GACrB,kNAAkN,CAAC;AAErN,MAAM,UAAU,8BAA8B,CAAC,UAAkB;IAC/D,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;IACxG,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAAmB,EAAE,IAAe,EAAE,MAAmB;IACpF,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,OAAO;YACV,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,KAAK,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAChG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7B,MAAM;QAER,KAAK,MAAM;YACT,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,KAAK,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC/F,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAClG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5D,MAAM;QAER,KAAK,UAAU;YACb,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,KAAK,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACnG,wBAAwB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM;QAER,KAAK,MAAM;YACT,MAAM,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;YAC7C,MAAM;QAER,KAAK,UAAU;YACb,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,KAAK,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACnG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7B,MAAM;QAER,KAAK,QAAQ;YACX,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,KAAK,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YACjG,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;gBAC7D,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM;QAER,KAAK,QAAQ;YACX,MAAM,IAAI,CAAC,QAAQ,CACjB,MAAM,CAAC,SAAS,KAAK,IAAI;gBACvB,CAAC,CAAC,uBAAuB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG;gBACvD,CAAC,CAAC,sBAAsB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CACzD,CAAC;YACF,MAAM;QAER,KAAK,MAAM;YACT,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YACpD,MAAM;QAER,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,UAAU,CAAC;QAChB,KAAK,gBAAgB,CAAC;QACtB,KAAK,kBAAkB,CAAC;QACxB,KAAK,SAAS,CAAC;QACf,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY,CAAC;QAClB,KAAK,WAAW;YACd,MAAM;IACV,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,MAA6B,EAAE,MAAmB;IACnE,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,MAAM,CAAC,eAAe,CAAC;QAChC,KAAK,OAAO;YACV,OAAO,MAAM,CAAC,gBAAgB,CAAC;QACjC,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,gBAAgB,CAAC;QACtB,KAAK,kBAAkB,CAAC;QACxB,KAAK,SAAS,CAAC;QACf,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY,CAAC;QAClB,KAAK,WAAW,CAAC;QACjB,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,UAAU;YACb,OAAO,MAAM,CAAC,gBAAgB,CAAC;IACnC,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAmB,EAAE,GAAY;IAC5D,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC;IAC3E,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAChC,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxF,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC7D,OAAO,eAAe,MAAM,CAAC,GAAG,IAAI,GAAG,8HAA8H,CAAC;QACxK,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;YACxF,OAAO,gBAAgB,MAAM,CAAC,GAAG,IAAI,GAAG,yFAAyF,CAAC;QACpI,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;YACrD,OAAO,eAAe,MAAM,CAAC,GAAG,IAAI,GAAG,6FAA6F,CAAC;QACvI,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAClE,OAAO,eAAe,MAAM,CAAC,GAAG,IAAI,GAAG,4FAA4F,CAAC;IACxI,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC1D,OAAO,iBAAiB,MAAM,CAAC,GAAG,IAAI,KAAK,0EAA0E,CAAC;QACxH,IAAI,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAClE,OAAO,qBAAqB,MAAM,CAAC,GAAG,IAAI,KAAK,uDAAuD,CAAC;QACzG,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;YACxD,OAAO,iBAAiB,MAAM,CAAC,GAAG,IAAI,KAAK,2DAA2D,CAAC;IAC3G,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,cAAc,CACrB,MAAmB,EACnB,MAAc,EACd,OAAe,EACf,iBAAyB,EACzB,kBAA0B;IAE1B,MAAM,UAAU,GAAG,MAAM,KAAK,OAAO,CAAC;IACtC,MAAM,SAAS,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;IACzD,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,iBAAiB,GAAG,GAAG,CAAC;IAExE,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,OAAO;YACV,IAAI,UAAU;gBAAE,OAAO,0BAA0B,OAAO,EAAE,CAAC;YAC3D,IAAI,iBAAiB;gBAAE,OAAO,kCAAkC,CAAC;YACjE,OAAO,+GAA+G,CAAC;QACzH,KAAK,MAAM;YACT,OAAO,SAAS,CAAC,CAAC,yDAAyD;QAC7E,KAAK,UAAU;YACb,IAAI,UAAU;gBAAE,OAAO,iBAAiB,OAAO,EAAE,CAAC;YAClD,OAAO,sEAAsE,CAAC;QAChF,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,CAAC,kCAAkC;QACtD,KAAK,QAAQ;YACX,OAAO,gBAAgB,CAAC;QAC1B,KAAK,UAAU;YACb,IAAI,UAAU;gBAAE,OAAO,sCAAsC,OAAO,EAAE,CAAC;YACvE,IAAI,iBAAiB;gBAAE,OAAO,sCAAsC,CAAC;YACrE,OAAO,SAAS,CAAC;QACnB,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,UAAU,CAAC;QAChB,KAAK,gBAAgB,CAAC;QACtB,KAAK,kBAAkB,CAAC;QACxB,KAAK,SAAS,CAAC;QACf,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY,CAAC;QAClB,KAAK,WAAW;YACd,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,MAAc,EACd,OAAoB,EACpB,eAAqC;IAErC,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,OAAO;aAC1B,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,QAAQ,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACrL;aACA,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,WAAW,GACf,eAAe,KAAK,IAAI;YACtB,CAAC,CAAC,0BAA0B,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,eAAe,CAAC,OAAO,iBAAiB,eAAe,CAAC,UAAU,IAAI,MAAM,EAAE;YAC7J,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,MAAM,GAAG,MAAM,OAAO,CAAsB;YAChD,MAAM,EAAE;;;;;kGAKoF;YAC5F,OAAO,EAAE,SAAS,MAAM,GAAG,WAAW,qBAAqB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,aAAa,EAAE;YAC7G,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QAC9E,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,MAAc,EAAE,OAAoB;IACjE,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO;aAClB,KAAK,CAAC,CAAC,EAAE,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;aACvD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,OAAO,CAAqB;YAC/C,MAAM,EACJ,8ZAA8Z;YACha,OAAO,EAAE,SAAS,MAAM,gBAAgB,UAAU,IAAI,MAAM,sBAAsB,KAAK,EAAE;YACzF,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAID;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,IAAI,IAAI,GAAG,0BAA0B;QAAE,OAAO,KAAK,CAAC;IACpD,OAAO,IAAI,GAAG,0BAA0B,KAAK,CAAC,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAC7B,MAAc,EACd,MAAc,EACd,aAA0B;IAE1B,MAAM,KAAK,GAAG,aAAa;SACxB,KAAK,CAAC,CAAC,CAAC,CAAC;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;SACvD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAyD;YACnF,MAAM,EAAE;;;;;;;;;+EASiE;YACzE,OAAO,EAAE,kBAAkB,MAAM,sBAAsB,MAAM,IAAI,SAAS,sBAAsB,KAAK,IAAI,QAAQ,EAAE;YACnH,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAClG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAC3D,CAAC;AACH,CAAC;AAmCD,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,YAAoC,EACpC,IAA4C,EAC5C,MAAmB,EACnB,WAAmC,EACnC,OAAqB,EACrB,WAAiC,EACjC,QAAiB,EACjB,QAAwB,EACxB,OAA0B;IAE1B,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAChD,QAAQ,KAAK,GAAG,CAAC,QAAQ,CAAC;IAC1B,uEAAuE;IACvE,8DAA8D;IAC9D,MAAM,MAAM,GACV,MAAM,IAAI,YAAY,IAAI,OAAQ,YAAkC,CAAC,IAAI,KAAK,QAAQ;QACpF,CAAC,CAAE,YAAoC;QACvC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAyB,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,IAAI,wBAAwB,GAAG,CAAC,CAAC;IACjC,IAAI,sBAAsB,GAAG,CAAC,CAAC;IAC/B,IAAI,sBAAsB,GAAG,CAAC,CAAC;IAC/B,MAAM,2BAA2B,GAAG,CAAC,CAAC;IACtC,MAAM,6BAA6B,GAAG,CAAC,CAAC;IACxC,MAAM,gBAAgB,GAAG,CAAC,CAAC;IAC3B,MAAM,iBAAiB,GAAG,CAAC,CAAC;IAC5B,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,wBAAwB,GAAG,CAAC,CAAC;IACjC,IAAI,kBAAkB,GAAkB,IAAI,CAAC;IAC7C,IAAI,iBAAiB,GAAkB,IAAI,CAAC;IAC5C,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,IAAI,4BAA4B,GAAG,CAAC,CAAC;IAErC,MAAM,aAAa,GAAG,KAAK,EAAE,MAAc,EAAE,iBAA0B,EAA4B,EAAE;QACnG,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,iBAAiB,IAAI,CAAC,MAAM,eAAe,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;QACpF,MAAM,UAAU,GAAgB;YAC9B,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,MAAM;YACjB,MAAM;SACP,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC;YACX,IAAI;YACJ,MAAM,EAAE,UAAU;YAClB,GAAG,EAAE,UAAU;YACf,UAAU,EAAE,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;YACrC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,OAAO;YACd,MAAM;YACN,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACnC,SAAS,EAAE,UAAU;SACtB,CAAC;IACJ,CAAC,CAAC;IAEF,8EAA8E;IAC9E,IAAI,UAAU,GAAsB,IAAI,CAAC;IACzC,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;gBAChF,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;gBAC9E,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,SAAS,EAAE,EAAE,qBAAqB,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,6BAA6B,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,0EAA0E;IAC1E,qEAAqE;IACrE,IAAI,aAAa,GAAG,MAAM,CAAC;IAC3B,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9F,IAAI,WAAW,GAAG,gBAAgB,SAAS,EAAE,CAAC;QAC9C,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACtD,WAAW,IAAI,8CAA8C,WAAW,CAAC,KAAK,CAAC,KAAK,OAAO,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAC3H,WAAW,IAAI,2DAA2D,CAAC;QAC7E,CAAC;QACD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,MAAM,UAAU,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;gBACtB,WAAW,IAAI,OAAO,UAAU,4EAA4E,CAAC;YAC/G,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAkC;YAC1D,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;0EAoB4D;YACpE,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxE,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;YACrB,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YACrB,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,cAAc,GAAG,oBAAoB,CAAC;IAC1C,IAAI,cAAc,GAAG,cAAc,CAAC;IACpC,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,YAAY,GAAyB,IAAI,CAAC;IAC9C,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,8CAA8C;IAC3E,OAAO,IAAI,GAAG,QAAQ,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,iBAAiB;gBACxB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACpC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,yBAAyB,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;YAC3D,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,yBAAyB;gBAChC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACnC,SAAS,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;aAC5E,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAExC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,SAAS,GAAG,eAAe,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QAElF,2EAA2E;QAC3E,uEAAuE;QACvE,6EAA6E;QAC7E,IACE,WAAW,KAAK,IAAI;YACpB,WAAW,CAAC,QAAQ,CAAC,KAAK,UAAU;YACpC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,yBAAyB;YACjD,IAAI,GAAG,kBAAkB,IAAI,CAAC,EAC9B,CAAC;YACD,kBAAkB,GAAG,IAAI,CAAC;YAC1B,QAAQ,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,KAAK,EAAE,EAAE,CAAC,CAAC;QAEhE,8BAA8B;QAC9B,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,yBAAyB,KAAK,CAAC,EAAE,CAAC;YACvD,cAAc,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YAC7E,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,oBAAoB,CAAC,CAAC;gBAC5C,IAAI,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;YAC5C,IAAI,UAAU,KAAK,EAAE,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;gBACtD,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,UAAU,GAAG,aAAa,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,8CAA8C;QAChD,CAAC;QAED,iCAAiC;QACjC,wEAAwE;QACxE,+CAA+C;QAC/C,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,cAAc,CAAC;QAC9D,MAAM,YAAY,GAChB,CAAC,kBAAkB,IAAI,kBAAkB,IAAI,wBAAwB,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;QAExG,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,kBAAkB,GAAG,wBAAwB,EAAE,CAAC;gBAClD,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,+BAA+B;YACpF,CAAC;iBAAM,CAAC;gBACN,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gCAAgC;YACpF,CAAC;YACD,cAAc,GAAG,IAAI,GAAG,cAAc,CAAC;YACvC,kBAAkB,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC1C,MAAM,aAAa,GAAG,OAAO;qBAC1B,KAAK,CAAC,CAAC,CAAC,CAAC;qBACT,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CACxG;qBACA,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEd,MAAM,eAAe,GACnB,YAAY,KAAK,IAAI;oBACnB,CAAC,CAAC,0BAA0B,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,iBAAiB,YAAY,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACzL,CAAC,CAAC,EAAE,CAAC;gBACT,MAAM,YAAY,GAAG,aAAa;oBAChC,CAAC,CAAC,uCAAuC;oBACzC,CAAC,CAAC,oCAAoC,CAAC;gBAEzC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAmB;oBAC7C,MAAM,EAAE;;;;sDAIoC;oBAC5C,OAAO,EAAE,kBAAkB,aAAa,sBAAsB,QAAQ,IAAI,MAAM,qBAAqB,KAAK,KAAK,GAAG,IAAI,eAAe,eAAe,UAAU,IAAI,MAAM,wBAAwB,aAAa,YAAY,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY,GAAG;oBACjR,SAAS,EAAE,GAAG;iBACf,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;oBACvB,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;oBACvB,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,IAAI,eAAe,GAAkB,IAAI,CAAC;QAC1C,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,kBAAkB,GAAG,CAAC,EAAE,CAAC;YACzD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAClD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAC3C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,EAAE,6BAA6B,CAAC,CAAC;gBAEpF,IAAI,aAAqB,CAAC;gBAC1B,IAAI,CAAC;oBACH,aAAa,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;gBACxC,CAAC;gBAAC,MAAM,CAAC;oBACP,aAAa,GAAG,GAAG,CAAC;gBACtB,CAAC;gBACD,IAAI,aAAa,KAAK,kBAAkB,EAAE,CAAC;oBACzC,wBAAwB,EAAE,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,wBAAwB,GAAG,CAAC,CAAC;oBAC7B,kBAAkB,GAAG,aAAa,CAAC;gBACrC,CAAC;gBAED,IAAI,wBAAwB,IAAI,CAAC,EAAE,CAAC;oBAClC,eAAe,EAAE,CAAC;oBAClB,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,wBAAwB,EAAE,WAAW,EAAE,eAAe,EAAE,EACnG,mDAAmD,CACpD,CAAC;oBACF,IAAI,eAAe,GAAG,iBAAiB,EAAE,CAAC;wBACxC,OAAO,MAAM,aAAa,CACxB,aAAa,MAAM,CAAC,iBAAiB,CAAC,6CAA6C,CACpF,CAAC;oBACJ,CAAC;oBACD,wBAAwB,GAAG,CAAC,CAAC;oBAC7B,kBAAkB,GAAG,IAAI,CAAC;oBAC1B,eAAe,IAAI,uDAAuD,aAAa,gHAAgH,aAAa,oEAAoE,CAAC;oBACzR,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC;gBACzG,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,wBAAwB,GAAG,CAAC,CAAC;gBAC7B,kBAAkB,GAAG,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,gBAAgB,GAAkB,IAAI,CAAC;QAC3C,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;gBACrE,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACnB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,wCAAwC,CAAC,CAAC;oBAChE,OAAO,MAAM,aAAa,CAAC,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC1E,CAAC;gBACD,4BAA4B,EAAE,CAAC;gBAC/B,IAAI,4BAA4B,IAAI,mBAAmB,EAAE,CAAC;oBACxD,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,MAAM,EAAE,4BAA4B,EAAE,YAAY,EAAE,QAAQ,CAAC,OAAO,EAAE,EAC9E,sDAAsD,CACvD,CAAC;oBACF,OAAO,MAAM,aAAa,CACxB,YAAY,MAAM,CAAC,4BAA4B,CAAC,oDAAoD,QAAQ,CAAC,OAAO,GAAG,CACxH,CAAC;gBACJ,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,kCAAkC,CAAC,CAAC;gBACrF,gBAAgB,GAAG,yGAAyG,QAAQ,CAAC,OAAO,mHAAmH,MAAM,CAAC,4BAA4B,CAAC,OAAO,MAAM,CAAC,mBAAmB,CAAC,qFAAqF,CAAC;YAC7Z,CAAC;QACH,CAAC;QAED,oGAAoG;QACpG,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC/B,eAAe,GAAG,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC;YAC/F,iBAAiB,GAAG,IAAI,CAAC;QAC3B,CAAC;QAED,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;YAC9B,eAAe,GAAG,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC;QAChG,CAAC;QAED,IAAI,QAA4B,CAAC;QACjC,IAAI,IAA2B,CAAC;QAChC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAc,CAAC;gBACpD,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;gBAC1B,IAAI,QAAQ,GAAG,CAAC;oBAAE,IAAI,GAAG,OAAO,CAAC;YACnC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CACT,EAAE,KAAK,EAAE,iBAAiB,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAC5E,yBAAyB,CAC1B,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,IAAI,qBAAqB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7E,MAAM,aAAa,GAAG,IAAI,IAAI,oBAAoB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,yEAAyE;QACzE,MAAM,WAAW,GAAG,IAAI,IAAI,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,MAAM,cAAc,GAAG,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC;QAE3C,uEAAuE;QACvE,uFAAuF;QACvF,MAAM,YAAY,GAChB,wBAAwB,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAEjG,IAAI,iBAAiB,GAAkB,IAAI,CAAC;QAC5C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;YACzC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,iBAAiB,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACpE,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;oBAC/B,IAAI,CAAC,4BAA4B,EAAE;wBACjC,IAAI;wBACJ,KAAK,EAAE,OAAO,CAAC,MAAM;wBACrB,OAAO,EAAE,OAAO;6BACb,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;6BAC/B,IAAI,CAAC,KAAK,CAAC;6BACX,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;qBACjB,CAAC,CAAC;oBACH,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,eAAe,GAAG,gBAAgB,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE;YACrF,IAAI,EAAE,WAAW;YACjB,QAAQ;YACR,IAAI;YACJ,SAAS;YACT,WAAW,EAAE,YAAY;YACzB,UAAU,EAAE,aAAa;YACzB,cAAc;YACd,QAAQ;YACR,eAAe;YACf,cAAc;YACd,QAAQ,EAAE,YAAY;YACtB,YAAY;SACb,CAAC,CAAC;QAEH,kEAAkE;QAClE,iCAAiC;QACjC,MAAM,WAAW,GACf,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,iBAAiB,cAAc,eAAe,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;QAErG,8DAA8D;QAC9D,MAAM,UAAU,GAAG,cAAc,KAAK,CAAC,CAAC;QACxC,MAAM,oBAAoB,GACxB,OAAO,EAAE,YAAY,KAAK,SAAS;YACjC,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,OAAO,OAAO,CAAC,YAAY,KAAK,UAAU;gBAC1C,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC;gBACrC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QAC7B,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAC;QAE1E,IAAI,OAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAA0B;gBACpD,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE,WAAW;gBACpB,SAAS,EAAE,GAAG,CAAC,YAAY;aAC5B,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,QAAQ,EAAE,CAAC;gBAClB,MAAM,IAAI,aAAa,CACrB,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,EACzE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CACrC,CAAC;YACJ,CAAC;YACD,wBAAwB,GAAG,CAAC,CAAC;YAC7B,sBAAsB,GAAG,CAAC,CAAC;YAC3B,sBAAsB,GAAG,CAAC,CAAC;YAE3B,uFAAuF;YACvF,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBAC1B,YAAY,GAAG,YAAY,CAAC;YAC9B,CAAC;YACD,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,EACtG,YAAY,CACb,CAAC;YAEF,2FAA2F;YAC3F,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAClD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;oBACvB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,EAAE,YAAY,CAAC,CAAC;oBAC5D,IAAI,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC;oBAErC,6EAA6E;oBAC7E,0DAA0D;oBAC1D,IAAI,SAAS,CAAC,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;wBAClE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;4BAChC,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;4BACzC,YAAY,IAAI,4EAA4E,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;4BACxJ,YAAY;gCACV,oHAAoH,CAAC;wBACzH,CAAC;oBACH,CAAC;oBAED,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,YAAY,CAAC;oBACzC,kBAAkB,EAAE,CAAC;gBACvB,CAAC;YACH,CAAC;YAED,gEAAgE;YAChE,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtF,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC1C,IAAI,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;oBACrC,oBAAoB,EAAE,CAAC;oBACvB,IAAI,QAAgB,CAAC;oBACrB,IAAI,oBAAoB,IAAI,CAAC,EAAE,CAAC;wBAC9B,QAAQ;4BACN,4SAA4S,CAAC;oBACjT,CAAC;yBAAM,CAAC;wBACN,QAAQ;4BACN,2VAA2V,CAAC;oBAChW,CAAC;oBACD,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc;wBACvB,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACrG,CAAC;qBAAM,CAAC;oBACN,oBAAoB,GAAG,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACjC,yEAAyE;gBACzE,wBAAwB,EAAE,CAAC;gBAC3B,sBAAsB,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,WAAW,EAAE,wBAAwB,EAAE,SAAS,EAAE,sBAAsB,EAAE,EAClF,gCAAgC,CACjC,CAAC;gBACF,IAAI,CAAC,YAAY,EAAE;oBACjB,IAAI;oBACJ,KAAK,EAAE,iCAAiC;oBACxC,IAAI,EAAE,aAAa;oBACnB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC;iBACzE,CAAC,CAAC;gBAEH,iEAAiE;gBACjE,IAAI,sBAAsB,IAAI,6BAA6B,EAAE,CAAC;oBAC5D,OAAO,MAAM,aAAa,CACxB,GAAG,MAAM,CAAC,sBAAsB,CAAC,2DAA2D,CAC7F,CAAC;gBACJ,CAAC;gBAED,iDAAiD;gBACjD,IAAI,wBAAwB,IAAI,2BAA2B,EAAE,CAAC;oBAC5D,eAAe,EAAE,CAAC;oBAClB,IAAI,eAAe,GAAG,iBAAiB,EAAE,CAAC;wBACxC,OAAO,MAAM,aAAa,CACxB,aAAa,MAAM,CAAC,iBAAiB,CAAC,6CAA6C,CACpF,CAAC;oBACJ,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,0CAA0C,CAAC,CAAC;oBAChG,wBAAwB,GAAG,CAAC,CAAC;oBAC7B,IAAI,CAAC;wBACH,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBACxC,CAAC;oBAAC,MAAM,CAAC;wBACP,6BAA6B;oBAC/B,CAAC;oBACD,iBAAiB,GAAG,qDAAqD,MAAM,CAAC,2BAA2B,CAAC,8JAA8J,CAAC;oBAC3Q,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC;gBACxF,CAAC;gBACD,IAAI,EAAE,CAAC;gBACP,SAAS;YACX,CAAC;YAED,oEAAoE;YACpE,sBAAsB,EAAE,CAAC;YACzB,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,eAAe,CAAC,CAAC;YACxG,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,oCAAoC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YAC7F,IAAI,sBAAsB,IAAI,gBAAgB,EAAE,CAAC;gBAC/C,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,OAAO;oBACd,KAAK,EAAE,wCAAwC,MAAM,CAAC,gBAAgB,CAAC,8BAA8B;oBACrG,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACpC,CAAC;YACJ,CAAC;YACD,SAAS;QACX,CAAC;QAED,wCAAwC;QACxC,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC;YAChE,IAAI,IAAI,IAAI,QAAQ;gBAAE,MAAM;YAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAClC,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAErD,MAAM,SAAS,GAAc;gBAC3B,IAAI;gBACJ,MAAM;gBACN,GAAG,EAAE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5B,UAAU,EAAE,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;gBACrC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;YAEF,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAExB,IAAI,CAAC,MAAM,EAAE;gBACX,IAAI;gBACJ,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;gBACzD,GAAG,EAAE,SAAS,CAAC,GAAG;gBAClB,UAAU,EAAE,SAAS,CAAC,UAAU;aACjC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;YAEhC,2BAA2B;YAE3B,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC7B,MAAM,eAAe,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBAClF,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;oBAC7B,SAAS,CAAC,MAAM,CAAC,cAAc,GAAG,eAAe,CAAC;oBAClD,kBAAkB,EAAE,CAAC;oBACrB,IAAI,EAAE,CAAC;oBACP,MAAM;gBACR,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,OAAO;oBACd,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBACnC,SAAS,EAAE,SAAS,CAAC,GAAG;iBACzB,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC7B,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,OAAO;oBACd,KAAK,EAAE,MAAM,CAAC,SAAS;oBACvB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBACnC,SAAS,EAAE,SAAS,CAAC,GAAG;iBACzB,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;gBAEtE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC9B,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,OAAO;wBACd,KAAK,EAAE,kEAAkE;wBACzE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;qBACpC,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,MAAM,WAAW,EAAE,CAAC;oBACzC,SAAS,CAAC,aAAa,GAAG,YAAY,CAAC;oBACvC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;gBACtD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC;oBACnF,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;oBAC7C,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,OAAO;wBACd,KAAK,EAAE,OAAO;wBACd,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;qBACpC,CAAC;gBACJ,CAAC;gBACD,IAAI,EAAE,CAAC;gBACP,MAAM,CAAC,wCAAwC;YACjD,CAAC;YAED,4DAA4D;YAE5D,IAAI,MAAM,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;gBACvC,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5D,IAAI,EAAE,CAAC;gBACP,MAAM;YACR,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,kBAAkB,EAAE,CAAC;gBACzC,MAAM,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,EAAE,CAAC;gBACP,MAAM;YACR,CAAC;YAED,oDAAoD;YACpD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;oBAChE,IAAI,CAAC;wBACH,8BAA8B,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;wBAClD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;wBAC1D,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;wBACnE,SAAS,CAAC,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;wBAC5E,IAAI,MAAM,CAAC,MAAM,GAAG,wBAAwB,EAAE,CAAC;4BAC7C,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,gBAAgB,CAAC;wBACtD,CAAC;oBACH,CAAC;oBAAC,OAAO,OAAO,EAAE,CAAC;wBACjB,SAAS,CAAC,MAAM,CAAC,cAAc,GAAG,UAAU,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;oBACjH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,MAAM,CAAC,cAAc,GAAG,+BAA+B,CAAC;gBACpE,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;gBAC/F,IAAI,EAAE,CAAC;gBACP,MAAM;YACR,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBACnC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;oBACtD,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACnD,SAAS,CAAC,MAAM,CAAC,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;oBAClF,IAAI,YAAY,CAAC,MAAM,GAAG,wBAAwB,EAAE,CAAC;wBACnD,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,gBAAgB,CAAC;oBACtD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,MAAM,CAAC,cAAc,GAAG,0BAA0B,CAAC;gBAC/D,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC;gBAClG,IAAI,EAAE,CAAC;gBACP,MAAM;YACR,CAAC;YAED,mBAAmB;YACnB,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBACnC,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;oBACjF,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC3C,MAAM,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;wBAChD,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;wBACtB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC;oBAC/D,CAAC;oBAAC,OAAO,MAAM,EAAE,CAAC;wBAChB,SAAS,CAAC,MAAM,CAAC,cAAc,GAAG,yBAAyB,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;wBAClH,kBAAkB,EAAE,CAAC;oBACvB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,MAAM,CAAC,cAAc,GAAG,gDAAgD,CAAC;oBACnF,kBAAkB,EAAE,CAAC;gBACvB,CAAC;gBACD,IAAI,EAAE,CAAC;gBACP,MAAM;YACR,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;oBACjF,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;wBACrC,SAAS,CAAC,MAAM,CAAC,cAAc;4BAC7B,0FAA0F,CAAC;wBAC7F,kBAAkB,EAAE,CAAC;oBACvB,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC;4BACH,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;4BACnC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC;wBAC7D,CAAC;wBAAC,OAAO,MAAM,EAAE,CAAC;4BAChB,SAAS,CAAC,MAAM,CAAC,cAAc,GAAG,wBAAwB,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;4BACjH,kBAAkB,EAAE,CAAC;wBACvB,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,MAAM,CAAC,cAAc,GAAG,+CAA+C,CAAC;oBAClF,kBAAkB,EAAE,CAAC;gBACvB,CAAC;gBACD,IAAI,EAAE,CAAC;gBACP,MAAM;YACR,CAAC;YAED,yBAAyB;YAEzB,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAE7C,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9D,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBAChC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACjE,IAAI,MAAM,EAAE,OAAO,KAAK,SAAS;wBAAE,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBACxE,CAAC;qBAAM,CAAC;oBACN,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAChD,CAAC;gBAED,oDAAoD;gBACpD,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC7B,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC3C,IAAI,CAAC;wBACH,MAAM,gBAAgB,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;wBACrG,IAAI,yDAAyD,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;4BACrF,SAAS,CAAC,MAAM,CAAC,cAAc;gCAC7B,4JAA4J,CAAC;4BAC/J,IAAI,EAAE,CAAC;4BACP,MAAM,CAAC,gDAAgD;wBACzD,CAAC;oBACH,CAAC;oBAAC,OAAO,OAAO,EAAE,CAAC;wBACjB,MAAM,CAAC,IAAI,CACT,EAAE,KAAK,EAAE,iBAAiB,CAAC,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EACpF,2BAA2B,CAC5B,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,8DAA8D;gBAC9D,IAAI,aAAa,GAAG,YAAY,CAAC;gBACjC,IAAI,CAAC;oBACH,aAAa,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;oBACxC,MAAM,YAAY,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACjG,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;oBAC1G,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;wBAC1B,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,kDAAkD;gBACpD,CAAC;gBAED,0EAA0E;gBAC1E,wEAAwE;gBACxE,IAAI,aAAa,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;oBACpD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;oBACjD,SAAS,CAAC,OAAO,GAAG,gBAAgB,YAAY,MAAM,aAAa,eAAe,MAAM,CAAC,SAAS,CAAC,2DAA2D,CAAC;oBAC/J,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,iBAAiB,CAAC,CAAC;oBACjF,IAAI,EAAE,CAAC;oBACP,MAAM;gBACR,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAClD,MAAM,UAAU,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC;gBAClF,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,yBAAyB,CAAC,CAAC;gBAC5F,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;gBACvE,SAAS,CAAC,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC;gBAC3C,kBAAkB,EAAE,CAAC;gBACrB,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAE5C,IAAI,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnC,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClC,CAAC;gBACD,IAAI,EAAE,CAAC;gBACP,MAAM,CAAC,6CAA6C;YACtD,CAAC;YAED,iCAAiC;YACjC,IAAI,UAAU,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC9E,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBACzD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACrB,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC;wBACnC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;wBACvC,IAAI,MAAM,KAAK,EAAE,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;4BAC9C,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;wBAC7E,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;4BACtB,OAAO,CAAC,IAAI,CAAC;gCACX,IAAI;gCACJ,MAAM,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,2BAA2B,QAAQ,EAAE,EAAE;gCAChF,GAAG,EAAE,MAAM;gCACX,UAAU,EAAE,QAAQ;gCACpB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;6BACpC,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBAAC,OAAO,MAAM,EAAE,CAAC;wBAChB,MAAM,CAAC,IAAI,CACT,EAAE,KAAK,EAAE,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,EAC/D,8DAA8D,CAC/D,CAAC;oBACJ,CAAC;oBACD,IAAI,EAAE,CAAC;oBACP,MAAM,CAAC,qCAAqC;gBAC9C,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC7C,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9C,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,wEAAwE;IACxE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,sBAAsB,CAAC,CAAC;IACzE,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACzC,MAAM,QAAQ,GACZ,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACnB,CAAC,CAAC,MAAM,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,OAAO,CAAC;QACrD,CAAC,CAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAA0B,CAAC;IAC7E,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACnC,SAAS,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;SAC5E,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC/D,OAAO;QACL,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,+BAA+B,MAAM,CAAC,QAAQ,CAAC,qBAAqB,QAAQ,CAAC,OAAO,EAAE;QAC7F,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;QACnC,SAAS,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;KAC5E,CAAC;AACJ,CAAC"}
package/dist/config.d.ts CHANGED
@@ -1,5 +1,15 @@
1
1
  export declare function requireEnv(name: string): string;
2
2
  export declare function requireEnvInt(name: string): number;
3
+ export interface AgentConfig {
4
+ waitAfterTypeMs: number;
5
+ waitAfterClickMs: number;
6
+ waitAfterOtherMs: number;
7
+ waitActionMs: number;
8
+ scrollPixels: number;
9
+ maxSteps: number;
10
+ llmMaxTokens: number;
11
+ }
12
+ export declare function defaultAgentConfig(overrides?: Partial<AgentConfig>): AgentConfig;
3
13
  export declare const WAIT_AFTER_TYPE_MS: number;
4
14
  export declare const WAIT_AFTER_CLICK_MS: number;
5
15
  export declare const WAIT_AFTER_OTHER_MS: number;
@@ -8,8 +18,6 @@ export declare const SCROLL_PIXELS = 500;
8
18
  export declare const USER_RESPONSE_TIMEOUT_MS: number;
9
19
  export declare const MAX_STEPS: number;
10
20
  export declare const LLM_MAX_TOKENS: number;
11
- export declare const MAX_SESSIONS: number;
12
- export declare const SESSION_IDLE_TIMEOUT_MS: number;
13
21
  export declare const USER_INTERJECTION_ENABLED: boolean;
14
22
  export declare const MAX_INTERJECTIONS_PER_RUN = 20;
15
23
  export declare const INTERJECTION_MIN_INTERVAL_MS = 2000;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO/C;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYlD;AAUD,eAAO,MAAM,kBAAkB,QAAqC,CAAC;AACrE,eAAO,MAAM,mBAAmB,QAAsC,CAAC;AACvE,eAAO,MAAM,mBAAmB,QAAqC,CAAC;AACtE,eAAO,MAAM,cAAc,QAAiC,CAAC;AAC7D,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,eAAO,MAAM,wBAAwB,QAA8C,CAAC;AACpF,eAAO,MAAM,SAAS,QAA0B,CAAC;AACjD,eAAO,MAAM,cAAc,QAAiC,CAAC;AAC7D,eAAO,MAAM,YAAY,QAA6B,CAAC;AACvD,eAAO,MAAM,uBAAuB,QAA6C,CAAC;AAGlF,eAAO,MAAM,yBAAyB,SAAkD,CAAC;AACzF,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,4BAA4B,OAAQ,CAAC;AAClD,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAC7C,eAAO,MAAM,gCAAgC,OAAQ,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,cAAc,IAAI,WAAW,CAO5C;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,cAAc,IAAI,YAAY,CAkB7C"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO/C;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYlD;AAED,MAAM,WAAW,WAAW;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAYD,wBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAWhF;AAID,eAAO,MAAM,kBAAkB,QAAwD,CAAC;AACxF,eAAO,MAAM,mBAAmB,QAAyD,CAAC;AAC1F,eAAO,MAAM,mBAAmB,QAAyD,CAAC;AAC1F,eAAO,MAAM,cAAc,QAAqD,CAAC;AACjF,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,eAAO,MAAM,wBAAwB,QAAiE,CAAC;AACvG,eAAO,MAAM,SAAS,QAA8C,CAAC;AACrE,eAAO,MAAM,cAAc,QAAqD,CAAC;AAGjF,eAAO,MAAM,yBAAyB,SAAkD,CAAC;AACzF,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,4BAA4B,OAAQ,CAAC;AAClD,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAC7C,eAAO,MAAM,gCAAgC,OAAQ,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,cAAc,IAAI,WAAW,CAO5C;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,cAAc,IAAI,YAAY,CAkB7C"}
package/dist/config.js CHANGED
@@ -21,24 +21,37 @@ export function requireEnvInt(name) {
21
21
  }
22
22
  return parsed;
23
23
  }
24
- function envInt(name, fallback) {
25
- const raw = process.env[name];
26
- if (raw === undefined || raw === '')
27
- return fallback;
28
- const parsed = parseInt(raw, 10);
29
- return Number.isNaN(parsed) ? fallback : parsed;
24
+ const AGENT_DEFAULTS = {
25
+ waitAfterTypeMs: 800,
26
+ waitAfterClickMs: 500,
27
+ waitAfterOtherMs: 300,
28
+ waitActionMs: 2000,
29
+ scrollPixels: 500,
30
+ maxSteps: 50,
31
+ llmMaxTokens: 1024,
32
+ };
33
+ export function defaultAgentConfig(overrides) {
34
+ return {
35
+ waitAfterTypeMs: parseInt(process.env.WAIT_AFTER_TYPE_MS ?? String(AGENT_DEFAULTS.waitAfterTypeMs), 10),
36
+ waitAfterClickMs: parseInt(process.env.WAIT_AFTER_CLICK_MS ?? String(AGENT_DEFAULTS.waitAfterClickMs), 10),
37
+ waitAfterOtherMs: parseInt(process.env.WAIT_AFTER_OTHER_MS ?? String(AGENT_DEFAULTS.waitAfterOtherMs), 10),
38
+ waitActionMs: parseInt(process.env.WAIT_ACTION_MS ?? String(AGENT_DEFAULTS.waitActionMs), 10),
39
+ scrollPixels: AGENT_DEFAULTS.scrollPixels,
40
+ maxSteps: parseInt(process.env.MAX_STEPS ?? String(AGENT_DEFAULTS.maxSteps), 10),
41
+ llmMaxTokens: parseInt(process.env.LLM_MAX_TOKENS ?? String(AGENT_DEFAULTS.llmMaxTokens), 10),
42
+ ...overrides,
43
+ };
30
44
  }
31
- // Agent timing (ms) — env vars override defaults; safe to import without env
32
- export const WAIT_AFTER_TYPE_MS = envInt('WAIT_AFTER_TYPE_MS', 1500);
33
- export const WAIT_AFTER_CLICK_MS = envInt('WAIT_AFTER_CLICK_MS', 1500);
34
- export const WAIT_AFTER_OTHER_MS = envInt('WAIT_AFTER_OTHER_MS', 500);
35
- export const WAIT_ACTION_MS = envInt('WAIT_ACTION_MS', 2000);
45
+ // Agent timing (ms) — read from env with safe defaults; server.ts may override
46
+ // via requireEnvInt for strict validation, but the library needs no env vars set.
47
+ export const WAIT_AFTER_TYPE_MS = parseInt(process.env.WAIT_AFTER_TYPE_MS ?? '800', 10);
48
+ export const WAIT_AFTER_CLICK_MS = parseInt(process.env.WAIT_AFTER_CLICK_MS ?? '500', 10);
49
+ export const WAIT_AFTER_OTHER_MS = parseInt(process.env.WAIT_AFTER_OTHER_MS ?? '300', 10);
50
+ export const WAIT_ACTION_MS = parseInt(process.env.WAIT_ACTION_MS ?? '2000', 10);
36
51
  export const SCROLL_PIXELS = 500;
37
- export const USER_RESPONSE_TIMEOUT_MS = envInt('USER_RESPONSE_TIMEOUT_MS', 120_000);
38
- export const MAX_STEPS = envInt('MAX_STEPS', 50);
39
- export const LLM_MAX_TOKENS = envInt('LLM_MAX_TOKENS', 1024);
40
- export const MAX_SESSIONS = envInt('MAX_SESSIONS', 10);
41
- export const SESSION_IDLE_TIMEOUT_MS = envInt('SESSION_IDLE_TIMEOUT_MS', 300_000);
52
+ export const USER_RESPONSE_TIMEOUT_MS = parseInt(process.env.USER_RESPONSE_TIMEOUT_MS ?? '300000', 10);
53
+ export const MAX_STEPS = parseInt(process.env.MAX_STEPS ?? '50', 10);
54
+ export const LLM_MAX_TOKENS = parseInt(process.env.LLM_MAX_TOKENS ?? '1024', 10);
42
55
  // User-interjection limits (always-on user chat feature).
43
56
  export const USER_INTERJECTION_ENABLED = process.env.ENABLE_USER_INTERJECTION === 'true';
44
57
  export const MAX_INTERJECTIONS_PER_RUN = 20;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}