harness-dispatch 0.8.0 → 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.
Files changed (174) hide show
  1. package/CHANGELOG.md +1074 -2
  2. package/README.md +92 -36
  3. package/config.default.yaml +19 -3
  4. package/dist/auth.d.ts.map +1 -1
  5. package/dist/auth.js.map +1 -1
  6. package/dist/billing.d.ts +24 -0
  7. package/dist/billing.d.ts.map +1 -1
  8. package/dist/billing.js +24 -0
  9. package/dist/billing.js.map +1 -1
  10. package/dist/bin.d.ts.map +1 -1
  11. package/dist/bin.js +299 -48
  12. package/dist/bin.js.map +1 -1
  13. package/dist/circuit-breaker.d.ts +9 -1
  14. package/dist/circuit-breaker.d.ts.map +1 -1
  15. package/dist/circuit-breaker.js +15 -1
  16. package/dist/circuit-breaker.js.map +1 -1
  17. package/dist/client-register.d.ts +11 -1
  18. package/dist/client-register.d.ts.map +1 -1
  19. package/dist/client-register.js +15 -6
  20. package/dist/client-register.js.map +1 -1
  21. package/dist/config/coercions.d.ts +5 -0
  22. package/dist/config/coercions.d.ts.map +1 -1
  23. package/dist/config/coercions.js +8 -0
  24. package/dist/config/coercions.js.map +1 -1
  25. package/dist/config/protocol.js.map +1 -1
  26. package/dist/config/validation.d.ts +12 -0
  27. package/dist/config/validation.d.ts.map +1 -1
  28. package/dist/config/validation.js +133 -7
  29. package/dist/config/validation.js.map +1 -1
  30. package/dist/config.d.ts +15 -5
  31. package/dist/config.d.ts.map +1 -1
  32. package/dist/config.js +199 -152
  33. package/dist/config.js.map +1 -1
  34. package/dist/configure-yaml.d.ts +2 -0
  35. package/dist/configure-yaml.d.ts.map +1 -1
  36. package/dist/configure-yaml.js +114 -4
  37. package/dist/configure-yaml.js.map +1 -1
  38. package/dist/dispatch-log.d.ts.map +1 -1
  39. package/dist/dispatch-log.js +3 -1
  40. package/dist/dispatch-log.js.map +1 -1
  41. package/dist/dispatchers/generic-cli.d.ts.map +1 -1
  42. package/dist/dispatchers/generic-cli.js +281 -112
  43. package/dist/dispatchers/generic-cli.js.map +1 -1
  44. package/dist/dispatchers/openai-compatible.d.ts +0 -5
  45. package/dist/dispatchers/openai-compatible.d.ts.map +1 -1
  46. package/dist/dispatchers/openai-compatible.js +150 -83
  47. package/dist/dispatchers/openai-compatible.js.map +1 -1
  48. package/dist/dispatchers/shared/harness-login.d.ts +25 -0
  49. package/dist/dispatchers/shared/harness-login.d.ts.map +1 -0
  50. package/dist/dispatchers/shared/harness-login.js +73 -0
  51. package/dist/dispatchers/shared/harness-login.js.map +1 -0
  52. package/dist/dispatchers/shared/stream-subprocess.d.ts.map +1 -1
  53. package/dist/dispatchers/shared/stream-subprocess.js +71 -58
  54. package/dist/dispatchers/shared/stream-subprocess.js.map +1 -1
  55. package/dist/file-lock.d.ts +29 -1
  56. package/dist/file-lock.d.ts.map +1 -1
  57. package/dist/file-lock.js +53 -20
  58. package/dist/file-lock.js.map +1 -1
  59. package/dist/harness-presets.d.ts +51 -0
  60. package/dist/harness-presets.d.ts.map +1 -0
  61. package/dist/harness-presets.js +154 -0
  62. package/dist/harness-presets.js.map +1 -0
  63. package/dist/http/parse.d.ts +8 -1
  64. package/dist/http/parse.d.ts.map +1 -1
  65. package/dist/http/parse.js +10 -3
  66. package/dist/http/parse.js.map +1 -1
  67. package/dist/http/server.d.ts +2 -0
  68. package/dist/http/server.d.ts.map +1 -1
  69. package/dist/http/server.js +188 -16
  70. package/dist/http/server.js.map +1 -1
  71. package/dist/job-runner.js +6 -0
  72. package/dist/job-runner.js.map +1 -1
  73. package/dist/jobs/context.d.ts +0 -7
  74. package/dist/jobs/context.d.ts.map +1 -1
  75. package/dist/jobs/context.js +95 -7
  76. package/dist/jobs/context.js.map +1 -1
  77. package/dist/jobs/lifecycle.d.ts +100 -0
  78. package/dist/jobs/lifecycle.d.ts.map +1 -0
  79. package/dist/jobs/lifecycle.js +263 -0
  80. package/dist/jobs/lifecycle.js.map +1 -0
  81. package/dist/jobs/read.d.ts +17 -0
  82. package/dist/jobs/read.d.ts.map +1 -0
  83. package/dist/jobs/read.js +103 -0
  84. package/dist/jobs/read.js.map +1 -0
  85. package/dist/jobs/run.d.ts +45 -0
  86. package/dist/jobs/run.d.ts.map +1 -0
  87. package/dist/jobs/run.js +351 -0
  88. package/dist/jobs/run.js.map +1 -0
  89. package/dist/jobs/start.d.ts +9 -0
  90. package/dist/jobs/start.d.ts.map +1 -0
  91. package/dist/jobs/start.js +126 -0
  92. package/dist/jobs/start.js.map +1 -0
  93. package/dist/jobs/store.d.ts.map +1 -1
  94. package/dist/jobs/store.js +13 -3
  95. package/dist/jobs/store.js.map +1 -1
  96. package/dist/jobs/supervisor.d.ts +151 -0
  97. package/dist/jobs/supervisor.d.ts.map +1 -0
  98. package/dist/jobs/supervisor.js +679 -0
  99. package/dist/jobs/supervisor.js.map +1 -0
  100. package/dist/jobs/types.d.ts +8 -1
  101. package/dist/jobs/types.d.ts.map +1 -1
  102. package/dist/jobs.d.ts +15 -218
  103. package/dist/jobs.d.ts.map +1 -1
  104. package/dist/jobs.js +14 -1317
  105. package/dist/jobs.js.map +1 -1
  106. package/dist/leaderboard.d.ts.map +1 -1
  107. package/dist/leaderboard.js +44 -28
  108. package/dist/leaderboard.js.map +1 -1
  109. package/dist/mcp/config-hot-reload.d.ts +14 -3
  110. package/dist/mcp/config-hot-reload.d.ts.map +1 -1
  111. package/dist/mcp/config-hot-reload.js +27 -6
  112. package/dist/mcp/config-hot-reload.js.map +1 -1
  113. package/dist/mcp/dispatcher-factory.d.ts.map +1 -1
  114. package/dist/mcp/dispatcher-factory.js +15 -4
  115. package/dist/mcp/dispatcher-factory.js.map +1 -1
  116. package/dist/mcp/resources.d.ts.map +1 -1
  117. package/dist/mcp/resources.js +3 -2
  118. package/dist/mcp/resources.js.map +1 -1
  119. package/dist/mcp/tool-schemas.d.ts +1 -1
  120. package/dist/mcp/tool-schemas.d.ts.map +1 -1
  121. package/dist/mcp/tool-schemas.js +6 -3
  122. package/dist/mcp/tool-schemas.js.map +1 -1
  123. package/dist/mcp/tools.d.ts +20 -6
  124. package/dist/mcp/tools.d.ts.map +1 -1
  125. package/dist/mcp/tools.js +92 -14
  126. package/dist/mcp/tools.js.map +1 -1
  127. package/dist/mcp-clients.d.ts +9 -0
  128. package/dist/mcp-clients.d.ts.map +1 -1
  129. package/dist/mcp-clients.js +4 -0
  130. package/dist/mcp-clients.js.map +1 -1
  131. package/dist/observability/spans.d.ts.map +1 -1
  132. package/dist/observability/spans.js +10 -2
  133. package/dist/observability/spans.js.map +1 -1
  134. package/dist/quota.d.ts.map +1 -1
  135. package/dist/quota.js +16 -2
  136. package/dist/quota.js.map +1 -1
  137. package/dist/redaction.d.ts +90 -0
  138. package/dist/redaction.d.ts.map +1 -0
  139. package/dist/redaction.js +221 -0
  140. package/dist/redaction.js.map +1 -0
  141. package/dist/route-policy.d.ts +2 -1
  142. package/dist/route-policy.d.ts.map +1 -1
  143. package/dist/route-policy.js +54 -0
  144. package/dist/route-policy.js.map +1 -1
  145. package/dist/router.d.ts +12 -23
  146. package/dist/router.d.ts.map +1 -1
  147. package/dist/router.js +86 -223
  148. package/dist/router.js.map +1 -1
  149. package/dist/safety.d.ts.map +1 -1
  150. package/dist/safety.js +7 -1
  151. package/dist/safety.js.map +1 -1
  152. package/dist/state-dir.d.ts +10 -0
  153. package/dist/state-dir.d.ts.map +1 -1
  154. package/dist/state-dir.js +27 -1
  155. package/dist/state-dir.js.map +1 -1
  156. package/dist/status.d.ts +14 -3
  157. package/dist/status.d.ts.map +1 -1
  158. package/dist/status.js +36 -3
  159. package/dist/status.js.map +1 -1
  160. package/dist/types.d.ts +24 -1
  161. package/dist/types.d.ts.map +1 -1
  162. package/dist/workspace-lock.d.ts +20 -0
  163. package/dist/workspace-lock.d.ts.map +1 -1
  164. package/dist/workspace-lock.js +63 -0
  165. package/dist/workspace-lock.js.map +1 -1
  166. package/dist/workspace-resolve.d.ts +0 -9
  167. package/dist/workspace-resolve.d.ts.map +1 -1
  168. package/dist/workspace-resolve.js +115 -183
  169. package/dist/workspace-resolve.js.map +1 -1
  170. package/dist/workspaces.d.ts +15 -0
  171. package/dist/workspaces.d.ts.map +1 -1
  172. package/dist/workspaces.js +330 -90
  173. package/dist/workspaces.js.map +1 -1
  174. package/package.json +5 -4
@@ -16,18 +16,71 @@ import path from "node:path";
16
16
  import which from "which";
17
17
  import { BaseDispatcher } from "./base.js";
18
18
  import { streamSubprocess } from "./shared/stream-subprocess.js";
19
+ import { redactSecretValue } from "../status.js";
19
20
  import { resolveCliCommand } from "./shared/windows-cmd.js";
20
21
  import { commandAvailable } from "./shared/which-available.js";
21
22
  const DEFAULT_TIMEOUT_MS = 600_000; // 10 minutes
22
23
  /**
23
24
  * "429" only counts next to HTTP context. A bare includes("429") flagged any
24
25
  * failed run whose transcript mentioned the number at all — a port, a line
25
- * number, a test count and one flag trips the breaker with NO threshold,
26
- * blocking the route for 300s and recording `rate_limited` in the counts the
27
- * orchestrator is told to trust. The phrase list below covers limiters that
26
+ * number, a test count. That claim was made once and was still false: an
27
+ * acceptance pass measured "Error on line 429 of the config" and two test
28
+ * assertions all flagging, because the gap allowed arbitrary WORDS between
29
+ * the keyword and the number. It now allows only separators, and a line that
30
+ * reads as a test assertion is excluded outright. One flag trips the breaker
31
+ * with NO threshold, blocking the route for 300s and recording `rate_limited`
32
+ * in the counts the orchestrator is told to trust. The phrase list below covers limiters that
28
33
  * spell it out; this pattern covers the ones that only send the status code.
29
34
  */
30
- const HTTP_429_RE = /\b(?:http|status(?:[_\s]?code)?|error|code)\b[^\d\n]{0,12}429\b|\b429\b[\s:-]{0,3}too many requests/i;
35
+ const HTTP_429_RE = /\b(?:http|status(?:[_\s]?code)?|error(?:[_\s]?code)?|code)\b["'\s:=_,-]{0,4}429\b|\b429\b[\s:-]{0,3}too many requests/i;
36
+ /**
37
+ * Text that is TALKING ABOUT a 429 rather than reporting one.
38
+ *
39
+ * The pattern above still matched an assertion — "expected error code 429 but
40
+ * got 200", "assertion failed: status code 429 expected" — which is a test
41
+ * suite the delegate RAN, not a limiter the delegate HIT. Flagging it trips
42
+ * the breaker with no threshold and blocks the route for 300 seconds, and
43
+ * records a rate limit in the counts an orchestrator is told to trust.
44
+ *
45
+ * Checked per line, so an assertion elsewhere in a long transcript cannot mask
46
+ * a genuine 429 on its own line.
47
+ *
48
+ * The tick/cross and "Test Files"/"Tests " markers were added after this
49
+ * repository's OWN vitest output was measured flagging as rate-limited: a
50
+ * test NAME containing "usage limit" is not an assertion and carried no
51
+ * keyword, so nothing here caught it. A delegated "run the tests" task that
52
+ * exits non-zero then blocks its route for 300 seconds.
53
+ *
54
+ * This stays a HEURISTIC, and it is worth saying so rather than implying a
55
+ * solved problem: separating "the delegate hit a limiter" from "the delegate
56
+ * printed the words" is undecidable from text alone. The structural answer is
57
+ * to discriminate by STREAM — a harness reports its own limiter on stderr,
58
+ * while a test runner writes results to stdout — and that is deliberately not
59
+ * done here, because some CLIs do print limiter errors to stdout and getting
60
+ * it wrong in that direction MISSES a real limit, which is the worse failure.
61
+ *
62
+ * `should` was in this list and had to come out: it discards
63
+ * "429 received; the request should be retried", a REAL limiter message that
64
+ * matched before this filter existed. A guard against false positives that
65
+ * creates false negatives on the same surface is worse than the problem — a
66
+ * missed 429 means the router keeps hammering an exhausted route.
67
+ *
68
+ * `it(` and `describe(` are written without a trailing `\b`, which could never
69
+ * match: `(` followed by a quote is not a word boundary, so both alternatives
70
+ * were dead while the docblock named them as covered.
71
+ */
72
+ const ASSERTION_CONTEXT_RE = /\bassert\w*|\bexpect\w*|\btest case\b|\bit\(|\bdescribe\(|^\s*[✓✗×]|\bTest Files\b|\bTests\s\s/i;
73
+ /** Does any line report a 429 without reading as a test assertion? */
74
+ function mentions429(text) {
75
+ for (const line of text.split("\n")) {
76
+ if (!HTTP_429_RE.test(line))
77
+ continue;
78
+ if (ASSERTION_CONTEXT_RE.test(line))
79
+ continue;
80
+ return true;
81
+ }
82
+ return false;
83
+ }
31
84
  /**
32
85
  * Only the TAIL of each stream is scanned (per stream, before joining).
33
86
  * Failed runs carry up to 10 MB of agent transcript, and a rate-limit
@@ -39,19 +92,44 @@ const RATE_LIMIT_SCAN_TAIL_BYTES = 16 * 1024;
39
92
  export function rateLimitScanTail(text) {
40
93
  return text.length > RATE_LIMIT_SCAN_TAIL_BYTES ? text.slice(-RATE_LIMIT_SCAN_TAIL_BYTES) : text;
41
94
  }
95
+ /** Phrases a limiter actually uses, matched per line. */
96
+ const LIMITER_PHRASES = [
97
+ "rate limit",
98
+ // Anthropic's own error type, and OpenAI's 429 body text. Neither matched:
99
+ // the list had `rate limit` with a SPACE and `quota exceeded` in that order,
100
+ // so `rate_limit_error` and "You exceeded your current quota" both went
101
+ // through as ordinary failures. A missed limiter is the worse direction —
102
+ // the router keeps hammering a route that has already said stop.
103
+ "rate_limit_error",
104
+ "rate-limited",
105
+ "quota exceeded",
106
+ "exceeded your quota",
107
+ "exceeded your current quota",
108
+ "resource_exhausted",
109
+ "too many requests",
110
+ // "usage limit" is OpenAI Codex's real phrasing (confirmed live,
111
+ // 2026-07-24: "You've hit your usage limit... try again at Jul 28th,
112
+ // 2026 10:16 PM.") — none of the phrases above matched it, so a real
113
+ // Codex exhaustion was silently NOT flagged as rate-limited.
114
+ "usage limit",
115
+ ];
42
116
  /** Exported for tests: the false-positive space here is what trips breakers. */
43
117
  export function detectRateLimit(text) {
44
- const lowered = text.toLowerCase();
45
- const flagged = lowered.includes("rate limit") ||
46
- lowered.includes("quota exceeded") ||
47
- lowered.includes("resource_exhausted") ||
48
- lowered.includes("too many requests") ||
49
- // "usage limit" is OpenAI Codex's real phrasing (confirmed live,
50
- // 2026-07-24: "You've hit your usage limit... try again at Jul 28th,
51
- // 2026 10:16 PM.") none of the phrases above matched it, so a real
52
- // Codex exhaustion was silently NOT flagged as rate-limited.
53
- lowered.includes("usage limit") ||
54
- HTTP_429_RE.test(text);
118
+ // PER LINE, and past the assertion filter — like the 429 check beside it.
119
+ //
120
+ // These phrases were matched against the whole blob with no filter at all,
121
+ // so the assertion guard protected one half of this function and not the
122
+ // other. Measured: this repository's OWN vitest output, fed back in, flags
123
+ // as rate-limited — a delegated "run the tests" task that exits non-zero
124
+ // then trips the breaker with no threshold, blocks the route for 300s, and
125
+ // records a rate limit that never happened. The scan-tail comment above
126
+ // claims the tail exists to stop exactly that.
127
+ const flagged = text.split(/\r?\n/).some((line) => {
128
+ if (ASSERTION_CONTEXT_RE.test(line))
129
+ return false;
130
+ const lowered = line.toLowerCase();
131
+ return LIMITER_PHRASES.some((phrase) => lowered.includes(phrase)) || mentions429(line);
132
+ });
55
133
  if (!flagged)
56
134
  return { rateLimited: false, retryAfter: null };
57
135
  const match = /retry[_\s-]after[:\s]+(\d+(?:\.\d+)?)/i.exec(text);
@@ -322,10 +400,6 @@ function parseJsonBlob(source) {
322
400
  return undefined;
323
401
  }
324
402
  }
325
- function parseJsonField(stdout, fields) {
326
- const parsed = parseJsonBlob(stdout);
327
- return parsed !== undefined ? extractField(parsed, fields) : undefined;
328
- }
329
403
  /** Unique parent directories of absolute file paths, excluding workingDir itself — same rule for every harness. */
330
404
  function includedDirectories(files, workingDir) {
331
405
  const dirs = new Set();
@@ -425,46 +499,127 @@ class JsonlAccumulator {
425
499
  const matches = Object.entries(rule.when).every(([field, value]) => getPath(event, field) === value);
426
500
  if (!matches)
427
501
  continue;
428
- switch (rule.emit) {
429
- case "text": {
430
- const t = rule.textField ? getPath(event, rule.textField) : undefined;
431
- if (typeof t === "string" && t.length > 0)
432
- this.lastText = t;
433
- break;
434
- }
435
- case "tool_use": {
436
- const name = rule.nameField ? getPath(event, rule.nameField) : undefined;
437
- if (typeof name === "string") {
438
- out.push({ type: "tool_use", name, input: rule.inputField ? getPath(event, rule.inputField) : undefined });
439
- }
440
- break;
441
- }
442
- case "thinking": {
443
- const chunk = rule.chunkField ? getPath(event, rule.chunkField) : undefined;
444
- if (typeof chunk === "string" && chunk.length > 0)
445
- out.push({ type: "thinking", chunk });
446
- break;
447
- }
448
- case "usage": {
449
- const inTok = firstNumberAt(event, rule.inputTokenFields ?? []);
450
- const outTok = firstNumberAt(event, rule.outputTokenFields ?? []);
451
- if (inTok || outTok) {
452
- this.inputTokens += inTok;
453
- this.outputTokens += outTok;
454
- this.sawUsage = true;
455
- }
456
- break;
457
- }
458
- case "error": {
459
- const message = rule.messageField ? getPath(event, rule.messageField) : undefined;
460
- if (typeof message === "string" && message.length > 0)
461
- this.errorMessage = message;
462
- break;
463
- }
464
- }
502
+ out.push(...this.#apply(rule, event));
465
503
  }
466
504
  return out;
467
505
  }
506
+ /**
507
+ * One matched rule, applied.
508
+ *
509
+ * Split out of `process()`, where this switch sat inside the rule loop and
510
+ * reached seven levels of nesting — a dispatch table written as a chain.
511
+ * Each arm is independent, so reading one no longer means holding the loop
512
+ * and the switch in your head at the same time.
513
+ */
514
+ #apply(rule, event) {
515
+ if (rule.emit === "text") {
516
+ const text = rule.textField ? getPath(event, rule.textField) : undefined;
517
+ if (typeof text === "string" && text.length > 0)
518
+ this.lastText = text;
519
+ return [];
520
+ }
521
+ if (rule.emit === "tool_use") {
522
+ const name = rule.nameField ? getPath(event, rule.nameField) : undefined;
523
+ if (typeof name !== "string")
524
+ return [];
525
+ return [
526
+ {
527
+ type: "tool_use",
528
+ name,
529
+ input: rule.inputField ? getPath(event, rule.inputField) : undefined,
530
+ },
531
+ ];
532
+ }
533
+ if (rule.emit === "thinking") {
534
+ const chunk = rule.chunkField ? getPath(event, rule.chunkField) : undefined;
535
+ return typeof chunk === "string" && chunk.length > 0 ? [{ type: "thinking", chunk }] : [];
536
+ }
537
+ if (rule.emit === "usage") {
538
+ const inTok = firstNumberAt(event, rule.inputTokenFields ?? []);
539
+ const outTok = firstNumberAt(event, rule.outputTokenFields ?? []);
540
+ if (inTok || outTok) {
541
+ this.inputTokens += inTok;
542
+ this.outputTokens += outTok;
543
+ this.sawUsage = true;
544
+ }
545
+ return [];
546
+ }
547
+ if (rule.emit === "error") {
548
+ const message = rule.messageField ? getPath(event, rule.messageField) : undefined;
549
+ if (typeof message === "string" && message.length > 0)
550
+ this.errorMessage = message;
551
+ }
552
+ return [];
553
+ }
554
+ }
555
+ /**
556
+ * Every requested field, concatenated across a whole JSONL transcript.
557
+ *
558
+ * The poor-man's fallback for a harness whose protocol declares no
559
+ * `eventRules`: no line is authoritative, so every one that yields text
560
+ * contributes. A line that is not JSON is skipped rather than failing the
561
+ * parse, because harnesses interleave plain log lines with their events.
562
+ */
563
+ function concatJsonlFields(stdout, fields) {
564
+ const parts = [];
565
+ for (const line of stdout.split("\n")) {
566
+ const trimmed = line.trim();
567
+ if (!trimmed)
568
+ continue;
569
+ try {
570
+ const text = extractField(JSON.parse(trimmed), fields);
571
+ if (text)
572
+ parts.push(text);
573
+ }
574
+ catch {
575
+ // Not JSON — a log line, not an event.
576
+ }
577
+ }
578
+ return parts.join("") || undefined;
579
+ }
580
+ /**
581
+ * Token counts out of whichever JSON body carried them, or undefined.
582
+ *
583
+ * Lifted out of the `json_field` parsing arm, where it was one of two nested
584
+ * blocks that took that switch to seven levels. Returning undefined rather
585
+ * than mutating a variable in the caller is what lets the call site be one
586
+ * line: "these counts, if there are any".
587
+ */
588
+ function readUsage(source, usage) {
589
+ if (source === undefined || !usage)
590
+ return undefined;
591
+ const input = firstNumberAt(source, usage.input) + sumNumbersAt(source, usage.inputExtra);
592
+ const output = firstNumberAt(source, usage.output) + sumNumbersAt(source, usage.outputExtra);
593
+ return input || output ? { input, output } : undefined;
594
+ }
595
+ /**
596
+ * The error a CLI declared in its own output, or undefined.
597
+ *
598
+ * The fallback message matters: a harness that sets its error flag and gives
599
+ * nothing readable would otherwise fail with an empty string, which reads as
600
+ * a success with no output.
601
+ */
602
+ function readStructuredError(source, error, fallbackFields) {
603
+ if (source === undefined || !error)
604
+ return undefined;
605
+ if (getPath(source, error.field) !== true)
606
+ return undefined;
607
+ return (extractField(source, error.messageFields ?? fallbackFields) ??
608
+ `CLI reported an error (${error.field} set) with no extractable message`);
609
+ }
610
+ /**
611
+ * Complete lines out of a buffer, and whatever is left over.
612
+ *
613
+ * The remainder is the point: a real pipe splits wherever it flushes, so the
614
+ * tail of a chunk is routinely half a JSON line that only completes on the
615
+ * next read. Returned rather than mutated in place, so the caller's buffer
616
+ * handling is one assignment instead of an index walked inside four other
617
+ * conditions.
618
+ */
619
+ function takeCompleteLines(buffer) {
620
+ const parts = buffer.split("\n");
621
+ const rest = parts.pop() ?? "";
622
+ return { lines: parts, rest };
468
623
  }
469
624
  function firstNumberAt(obj, fields) {
470
625
  for (const field of fields) {
@@ -522,7 +677,50 @@ export class GenericCliDispatcher extends BaseDispatcher {
522
677
  return { service: this.id, source: "unknown" };
523
678
  }
524
679
  stream(prompt, files, workingDir, opts = {}) {
525
- return this.#runStream(prompt, files, workingDir, opts);
680
+ return this.#scrubbed(this.#runStream(prompt, files, workingDir, opts));
681
+ }
682
+ /**
683
+ * Remove this route's own api key from everything the child process said.
684
+ *
685
+ * A CLI harness is handed its credential in an environment variable, and a
686
+ * harness reporting an auth failure can quote it back — reproduced with a
687
+ * stub harness writing `auth error: rejected key <key>` to stderr, which
688
+ * arrived verbatim in the terminal AND in `logs/dispatches.jsonl`.
689
+ *
690
+ * Wrapped around the whole stream rather than applied at each result site,
691
+ * and that is the entire point. The same class of leak has now been found
692
+ * five times in this project, and four of those were "the fix landed in one
693
+ * branch and the sibling beside it kept leaking" — including twice inside a
694
+ * single file. `#runStream` has five separate result sites plus the chunk
695
+ * events, and a sixth added later would silently miss a per-site scrub. It
696
+ * cannot miss this one.
697
+ *
698
+ * Chunks are scrubbed too, not just completions: they become `partialOutput`
699
+ * and `stdout.log` on disk, which is the same disclosure a beat earlier.
700
+ *
701
+ * Costs nothing when the route has no key, which is every subscription CLI —
702
+ * `redactSecretValue` returns the input untouched for an undefined secret.
703
+ */
704
+ async *#scrubbed(inner) {
705
+ if (this.apiKey === undefined || this.apiKey === "") {
706
+ yield* inner;
707
+ return;
708
+ }
709
+ const clean = (text) => redactSecretValue(text, this.apiKey);
710
+ for await (const evt of inner) {
711
+ if (evt.type === "stdout" || evt.type === "stderr") {
712
+ yield { ...evt, chunk: clean(evt.chunk) };
713
+ continue;
714
+ }
715
+ if (evt.type === "completion") {
716
+ const result = { ...evt.result, output: clean(evt.result.output) };
717
+ if (result.error !== undefined)
718
+ result.error = clean(result.error);
719
+ yield { ...evt, result };
720
+ continue;
721
+ }
722
+ yield evt;
723
+ }
526
724
  }
527
725
  async *#runStream(prompt, files, workingDir, opts) {
528
726
  const protocol = this.protocol;
@@ -637,31 +835,30 @@ export class GenericCliDispatcher extends BaseDispatcher {
637
835
  const acc = eventDriven ? new JsonlAccumulator(protocol.output.eventRules) : undefined;
638
836
  let lineBuffer = "";
639
837
  for await (const evt of streamSubprocess(resolved.command, args, subOpts)) {
640
- if ("stream" in evt) {
641
- if (evt.stream === "stdout") {
642
- stdoutBuf.push(evt.chunk);
643
- yield { type: "stdout", chunk: evt.chunk };
644
- if (acc) {
645
- lineBuffer += evt.chunk;
646
- let newlineIdx = lineBuffer.indexOf("\n");
647
- while (newlineIdx >= 0) {
648
- const line = lineBuffer.slice(0, newlineIdx);
649
- lineBuffer = lineBuffer.slice(newlineIdx + 1);
650
- for (const out of acc.process(line))
651
- yield out;
652
- newlineIdx = lineBuffer.indexOf("\n");
653
- }
654
- }
655
- }
656
- else {
657
- stderrBuf.push(evt.chunk);
658
- yield { type: "stderr", chunk: evt.chunk };
659
- }
660
- }
661
- else {
838
+ // One `continue` per event kind, rather than nested ifs. This loop was
839
+ // seven levels deep — for/if/if/if/while/for around the one part that
840
+ // has to be exactly right: holding a partial line across reads.
841
+ if (!("stream" in evt)) {
662
842
  exitCode = evt.exitCode;
663
843
  durationMs = evt.durationMs;
664
844
  timedOut = evt.timedOut;
845
+ continue;
846
+ }
847
+ if (evt.stream === "stderr") {
848
+ stderrBuf.push(evt.chunk);
849
+ yield { type: "stderr", chunk: evt.chunk };
850
+ continue;
851
+ }
852
+ stdoutBuf.push(evt.chunk);
853
+ yield { type: "stdout", chunk: evt.chunk };
854
+ if (!acc)
855
+ continue;
856
+ lineBuffer += evt.chunk;
857
+ const split = takeCompleteLines(lineBuffer);
858
+ lineBuffer = split.rest;
859
+ for (const line of split.lines) {
860
+ for (const out of acc.process(line))
861
+ yield out;
665
862
  }
666
863
  }
667
864
  if (acc && lineBuffer.length > 0) {
@@ -725,41 +922,13 @@ export class GenericCliDispatcher extends BaseDispatcher {
725
922
  parsedOutput = stderrJson !== undefined ? extractField(stderrJson, fields) : undefined;
726
923
  usageSource = stderrJson ?? stdoutJson;
727
924
  }
728
- if (usageSource !== undefined && protocol.output.usage) {
729
- const inTok = firstNumberAt(usageSource, protocol.output.usage.input) +
730
- sumNumbersAt(usageSource, protocol.output.usage.inputExtra);
731
- const outTok = firstNumberAt(usageSource, protocol.output.usage.output) +
732
- sumNumbersAt(usageSource, protocol.output.usage.outputExtra);
733
- if (inTok || outTok)
734
- tokensUsed = { input: inTok, output: outTok };
735
- }
736
- if (usageSource !== undefined && protocol.output.error) {
737
- const flagged = getPath(usageSource, protocol.output.error.field) === true;
738
- if (flagged) {
739
- const messageFields = protocol.output.error.messageFields ?? fields;
740
- structuredError =
741
- extractField(usageSource, messageFields) ??
742
- `CLI reported an error (${protocol.output.error.field} set) with no extractable message`;
743
- }
744
- }
925
+ tokensUsed = readUsage(usageSource, protocol.output.usage) ?? tokensUsed;
926
+ structuredError =
927
+ readStructuredError(usageSource, protocol.output.error, fields) ?? structuredError;
745
928
  break;
746
929
  }
747
930
  case "jsonl_stream": {
748
- const parts = [];
749
- for (const line of stdout.split("\n")) {
750
- const trimmed = line.trim();
751
- if (!trimmed)
752
- continue;
753
- try {
754
- const text = extractField(JSON.parse(trimmed), fields);
755
- if (text)
756
- parts.push(text);
757
- }
758
- catch {
759
- // Non-JSON line — ignore rather than fail the whole parse.
760
- }
761
- }
762
- parsedOutput = parts.join("") || undefined;
931
+ parsedOutput = concatJsonlFields(stdout, fields);
763
932
  break;
764
933
  }
765
934
  }
@@ -836,7 +1005,7 @@ export class GenericCliDispatcher extends BaseDispatcher {
836
1005
  streamedNothing ??
837
1006
  (rawErrorFallback || `Exit code ${exitCode}`);
838
1007
  // Scan BOTH streams, not just whichever one errorDetail resolved to.
839
- // e78c87a narrowed this to detectRateLimit(errorDetail) while adding
1008
+ // This was narrowed to detectRateLimit(errorDetail) while adding
840
1009
  // structured-error support, so a 429 on the stream that lost the
841
1010
  // errorDetail race stopped being detected — for jsonl_stream that means a
842
1011
  // rate limit on stderr while stdout carries the event payload. The
@@ -1 +1 @@
1
- {"version":3,"file":"generic-cli.js","sourceRoot":"","sources":["../../src/dispatchers/generic-cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,OAAO,EAAE,cAAc,EAAqB,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,kBAAkB,GAAG,OAAO,CAAC,CAAC,aAAa;AAEjD;;;;;;;GAOG;AACH,MAAM,WAAW,GACf,sGAAsG,CAAC;AAEzG;;;;;;GAMG;AACH,MAAM,0BAA0B,GAAG,EAAE,GAAG,IAAI,CAAC;AAE7C,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,IAAI,CAAC,MAAM,GAAG,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACnG,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACnC,MAAM,OAAO,GACX,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAClC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACtC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACrC,iEAAiE;QACjE,qEAAqE;QACrE,qEAAqE;QACrE,6DAA6D;QAC7D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC9D,MAAM,KAAK,GAAG,wCAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,OAAO;QACL,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,UAAU,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;KACnF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,+BAA+B,CAAC,GAAG,OAAiB;IAClE,+CAA+C;IAC/C,EAAE;IACF,2EAA2E;IAC3E,2EAA2E;IAC3E,qEAAqE;IACrE,8DAA8D;IAC9D,EAAE;IACF,4EAA4E;IAC5E,oEAAoE;IACpE,sEAAsE;IACtE,yEAAyE;IACzE,iEAAiE;IACjE,EAAE;IACF,yEAAyE;IACzE,0EAA0E;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,wEAAwE;IACxE,kEAAkE;IAClE,EAAE;IACF,+DAA+D;IAC/D,0EAA0E;IAC1E,uEAAuE;IACvE,2EAA2E;IAC3E,sDAAsD;IACtD,2EAA2E;IAC3E,sEAAsE;IACtE,4EAA4E;IAC5E,sEAAsE;IACtE,6DAA6D;IAC7D,EAAE;IACF,0EAA0E;IAC1E,2EAA2E;IAC3E,4CAA4C;IAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qCAAqC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7F,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,CACL,sEAAsE;YACtE,yEAAyE;YACzE,qEAAqE;YACrE,0EAA0E;YAC1E,uBAAuB,CACxB,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACnC,MAAM,aAAa,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AACxC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAEnC;;;;;;;;;GASG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACxC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,aAAa,CAAC;IACvD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAChD,OAAO,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,oBAAoB,CAAC;AACvF,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,cAAc,GAAG,0BAA0B,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,yBAAyB,GAAG,0CAA0C,CAAC;AAE7E;;;;;;;;GAQG;AACH,SAAS,kBAAkB;IACzB,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,SAAS,cAAc,CAAC,MAAM,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAe;IACvC,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,iBAAiB,CAAC,GAAW,EAAE,qBAA8B;IACpE,IAAI,GAAG,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACpC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACzC,IAAI,qBAAqB;QAAE,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACpE,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,oBAAoB,CAAC,GAAW;IACvC,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,0EAA0E;IAC1E,aAAa;IACb,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAChD,uEAAuE;IACvE,qBAAqB;IACrB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAC5C,OAAO,IAAI,GAAG,GAAG,CAAC;AACpB,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,iBAAiB,CAAC,OAAe,EAAE,IAAc;IACxD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,iBAAiB,CAAC,OAAO,CAAC,KAAK,oBAAoB,EAAE,CAAC;QACxD,2EAA2E;QAC3E,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACvF,CAAC;IACD,wEAAwE;IACxE,4EAA4E;IAC5E,6CAA6C;IAC7C,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5F,6EAA6E;IAC7E,4EAA4E;IAC5E,sDAAsD;IACtD,OAAO,kBAAkB,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AACvD,CAAC;AAED,mEAAmE;AACnE,SAAS,OAAO,CAAC,KAAc,EAAE,IAAY;IAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAU,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAClD,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC9D,OAAQ,GAA+B,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC,EAAE,KAAK,CAAC,CAAC;AACZ,CAAC;AAED,SAAS,YAAY,CAAC,GAAY,EAAE,MAAgB;IAClD,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,MAAc,EAAE,MAAgB;IACtD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC;AAED,mHAAmH;AACnH,SAAS,mBAAmB,CAAC,KAAe,EAAE,UAAkB;IAC9D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,GAAG,KAAK,UAAU;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,QAA2B,EAAE,MAAc,EAAE,KAAe;IACnF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc;QAAE,OAAO,MAAM,CAAC;IAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,IAAI,IAAI,CAAC;IAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,GAAG,MAAM,OAAO,QAAQ,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;AAChE,CAAC;AAED,4IAA4I;AAC5I,SAAS,WAAW,CAClB,KAAa,EACb,QAA2B,EAC3B,MAAc,EACd,KAAe,EACf,UAAkB,EAClB,cAAkC,EAClC,aAA4B,EAC5B,UAAoB;IAEpB,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,YAAY;YACf,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACxC,KAAK,WAAW;YACd,OAAO,QAAQ,CAAC,KAAK,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,KAAK,YAAY;YACf,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,KAAK,iBAAiB;YACpB,OAAO,QAAQ,CAAC,UAAU,IAAI,UAAU;gBACtC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;gBACzF,CAAC,CAAC,EAAE,CAAC;QACT,KAAK,eAAe;YAClB,IAAI,CAAC,QAAQ,CAAC,QAAQ;gBAAE,OAAO,EAAE,CAAC;YAClC,OAAO,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACjG,KAAK,iBAAiB;YACpB,OAAO,UAAU,CAAC;QACpB;YACE,OAAO,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAChB,QAA2B,EAC3B,UAAoB,EACpB,MAAc,EACd,KAAe,EACf,UAAkB,EAClB,cAAkC,EAClC,UAAoB,EACpB,IAAkB;IAElB,MAAM,aAAa,GAAkB,IAAI,CAAC,aAAa,IAAI,gBAAgB,CAAC;IAC5E,MAAM,IAAI,GAAa,CAAC,GAAG,UAAU,CAAC,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;IACnH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,gBAAgB;IAoBS;IAnB7B,QAAQ,GAAG,EAAE,CAAC;IACd,WAAW,GAAG,CAAC,CAAC;IAChB,YAAY,GAAG,CAAC,CAAC;IACjB,QAAQ,GAAG,KAAK,CAAC;IACjB,UAAU,GAAG,KAAK,CAAC;IACnB,wFAAwF;IACxF,UAAU,GAAG,CAAC,CAAC;IACf;;;;;;;OAOG;IACH,aAAa,CAAqB;IAClC,sGAAsG;IACtG,YAAY,CAAqB;IAEjC,YAA6B,KAAqB;QAArB,UAAK,GAAL,KAAK,CAAgB;IAAG,CAAC;IAEtD,OAAO,CAAC,IAAY;QAClB,MAAM,GAAG,GAAsB,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,CAAC;QACzB,IAAI,KAAc,CAAC;QACnB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,CAAC;QACb,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACrB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACzC,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAElE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC;YACrG,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACtE,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;wBAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;oBAC7D,MAAM;gBACR,CAAC;gBACD,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACzE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC7B,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;oBAC7G,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC5E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;wBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;oBACzF,MAAM;gBACR,CAAC;gBACD,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;oBAChE,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;oBAClE,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;wBACpB,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC;wBAC1B,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC;wBAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACvB,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAClF,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;wBAAE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;oBACnF,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,SAAS,aAAa,CAAC,GAAY,EAAE,MAAgB;IACnD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,GAAY,EAAE,MAA4B;IAC9D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,KAAK,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,oBAAqB,SAAQ,cAAc;IAC7C,EAAE,CAAS;IACH,OAAO,CAAS;IAChB,QAAQ,CAAgC;IACxC,MAAM,CAAqB;IAC3B,eAAe,CAAqB;IACpC,YAAY,CAAgC;IAC5C,gBAAgB,CAAoC;IACpD,oBAAoB,CAAsB;IAE3D;;;;;;OAMG;IACH,YAAY,GAAmB,EAAE,oBAA0C;QACzE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,IAAI,IAAI,GAAG,EAAE,CAAC;QAC9D,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,IAAI,SAAS,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,QAAQ,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,MAAM,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,GAAG,EAAE,KAAK,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,GAAG,EAAE,YAAY,CAAC;QACtC,IAAI,CAAC,gBAAgB,GAAG,GAAG,EAAE,gBAAgB,CAAC;IAChD,CAAC;IAED,WAAW;QACT,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACjD,CAAC;IAED,MAAM,CACJ,MAAc,EACd,KAAe,EACf,UAAkB,EAClB,OAAqB,EAAE;QAEvB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,CAAC,UAAU,CACf,MAAc,EACd,KAAe,EACf,UAAkB,EAClB,IAAkB;QAElB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM;gBACJ,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE;oBACN,MAAM,EAAE,EAAE;oBACV,OAAO,EAAE,IAAI,CAAC,EAAE;oBAChB,OAAO,EAAE,KAAK;oBACd,KAAK,EACH,UAAU,IAAI,CAAC,EAAE,sDAAsD;wBACvE,gEAAgE;iBACnE;aACF,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM;gBACJ,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE;oBACN,MAAM,EAAE,EAAE;oBACV,OAAO,EAAE,IAAI,CAAC,EAAE;oBAChB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,IAAI,IAAI,CAAC,OAAO,qBAAqB;iBAC7C;aACF,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,mBAAmB,GACvB,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QACtF,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,eAAe,CAAC;QAClE,MAAM,UAAU,GACd,IAAI,CAAC,YAAY,KAAK,yBAAyB,IAAI,IAAI,CAAC,gBAAgB;YACtE,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAC9D,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,SAAS,CACpB,QAAQ,EACR,QAAQ,CAAC,UAAU,EACnB,UAAU,EACV,KAAK,EACL,mBAAmB,EACnB,cAAc,EACd,UAAU,EACV,IAAI,CACL,CAAC;QAEF,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,qEAAqE;QACrE,qEAAqE;QACrE,wEAAwE;QACxE,sEAAsE;QACtE,wDAAwD;QACxD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/C,IAAI,MAAM,KAAK,QAAQ,CAAC,YAAY;gBAAE,SAAS;YAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjD,CAAC;QACD,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YAChD,CAAC;iBAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC9C,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YACvC,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,EAAE;QACF,2EAA2E;QAC3E,qEAAqE;QACrE,6DAA6D;QAC7D,wEAAwE;QACxE,0EAA0E;QAC1E,EAAE;QACF,yEAAyE;QACzE,uEAAuE;QACvE,0EAA0E;QAC1E,kCAAkC;QAClC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACnE,IAAI,gBAAgB,GAAG,MAAM,EAAE,CAAC;gBAC9B,MAAM;oBACJ,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE;wBACN,MAAM,EAAE,EAAE;wBACV,OAAO,EAAE,IAAI,CAAC,EAAE;wBAChB,OAAO,EAAE,KAAK;wBACd,KAAK,EACH,uBAAuB,IAAI,CAAC,EAAE,oCAAoC;4BAClE,GAAG,gBAAgB,CAAC,cAAc,EAAE,qCAAqC;4BACzE,mBAAmB,MAAM,CAAC,cAAc,EAAE,KAAK,IAAI,CAAC,EAAE,0BAA0B;4BAChF,gFAAgF;4BAChF,2EAA2E;wBAC7E,yDAAyD;wBACzD,gCAAgC;wBAChC,aAAa,EAAE,IAAI;wBACnB,UAAU,EAAE,CAAC;qBACd;iBACF,CAAC;gBACF,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAC;QACvD,MAAM,OAAO,GAA2C,EAAE,SAAS,EAAE,CAAC;QACtE,IAAI,mBAAmB;YAAE,OAAO,CAAC,GAAG,GAAG,mBAAmB,CAAC;QAC3D,IAAI,QAAQ,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC;QAC/C,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,GAAG,QAAQ,CAAC;QAC7D,uEAAuE;QACvE,yEAAyE;QACzE,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE9C,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;QAClB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,IAAI,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;QAC1F,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxF,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAC1E,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;gBACpB,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC5B,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC1B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;oBAC3C,IAAI,GAAG,EAAE,CAAC;wBACR,UAAU,IAAI,GAAG,CAAC,KAAK,CAAC;wBACxB,IAAI,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAC1C,OAAO,UAAU,IAAI,CAAC,EAAE,CAAC;4BACvB,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;4BAC7C,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;4BAC9C,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;gCAAE,MAAM,GAAG,CAAC;4BAC/C,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBACxC,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC1B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;gBAC7C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;gBACxB,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;gBAC5B,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;gBAAE,MAAM,GAAG,CAAC;QACvD,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAElC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM;gBACJ,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE;oBACN,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,IAAI,CAAC,EAAE;oBAChB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,mBAAmB,SAAS,IAAI;oBACvC,UAAU;iBACX;aACF,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,YAAgC,CAAC;QACrC,IAAI,UAAyD,CAAC;QAC9D;;;;;;;;;WASG;QACH,IAAI,eAAmC,CAAC;QAExC,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;YACvB,oFAAoF;YACpF,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,MAAM,EAAE,CAAC;gBAC9B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;oBAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9D,CAAC;YACD,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7E,IAAI,GAAG,CAAC,QAAQ;gBAAE,UAAU,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;YACpF,eAAe,GAAG,GAAG,CAAC,YAAY,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YAClF,QAAQ,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC7B,KAAK,MAAM;oBACT,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;oBAC1C,MAAM;gBACR,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;oBACzC,MAAM,UAAU,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC3F,IAAI,WAAW,GAAG,UAAU,CAAC;oBAC7B,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;wBAC7B,YAAY,GAAG,UAAU,CAAC;oBAC5B,CAAC;yBAAM,CAAC;wBACN,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;wBACzC,YAAY,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBACvF,WAAW,GAAG,UAAU,IAAI,UAAU,CAAC;oBACzC,CAAC;oBACD,IAAI,WAAW,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBACvD,MAAM,KAAK,GACT,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;4BACvD,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;wBAC9D,MAAM,MAAM,GACV,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;4BACxD,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;wBAC/D,IAAI,KAAK,IAAI,MAAM;4BAAE,UAAU,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;oBACrE,CAAC;oBACD,IAAI,WAAW,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBACvD,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;wBAC3E,IAAI,OAAO,EAAE,CAAC;4BACZ,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC;4BACpE,eAAe;gCACb,YAAY,CAAC,WAAW,EAAE,aAAa,CAAC;oCACxC,0BAA0B,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,mCAAmC,CAAC;wBAC7F,CAAC;oBACH,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,KAAK,GAAa,EAAE,CAAC;oBAC3B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC5B,IAAI,CAAC,OAAO;4BAAE,SAAS;wBACvB,IAAI,CAAC;4BACH,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;4BACvD,IAAI,IAAI;gCAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC7B,CAAC;wBAAC,MAAM,CAAC;4BACP,2DAA2D;wBAC7D,CAAC;oBACH,CAAC;oBACD,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC;oBAC3C,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,qBAAqB,KAAK,KAAK,CAAC;QAEzD,qEAAqE;QACrE,wEAAwE;QACxE,mEAAmE;QACnE,6CAA6C;QAC7C,MAAM,UAAU,GAAG,+BAA+B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEnE,uEAAuE;QACvE,sEAAsE;QACtE,mEAAmE;QACnE,IAAI,eAAe,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC9D,IAAI,OAAO,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,YAAY,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChE,MAAM,MAAM,GAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;gBACvF,IAAI,UAAU;oBAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;gBAC/C,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YACD,IAAI,CAAC,OAAO,IAAI,QAAQ,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC/C,MAAM,MAAM,GAAmB,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;gBACrG,IAAI,UAAU;oBAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;gBAC/C,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,wEAAwE;QACxE,qEAAqE;QACrE,iEAAiE;QACjE,6DAA6D;QAC7D,MAAM,gBAAgB,GACpB,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM;YAC7B,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE;YAChC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACrC,0EAA0E;QAC1E,sEAAsE;QACtE,qEAAqE;QACrE,2EAA2E;QAC3E,0EAA0E;QAC1E,0EAA0E;QAC1E,2EAA2E;QAC3E,mEAAmE;QACnE,uEAAuE;QACvE,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,2EAA2E;QAC3E,iEAAiE;QACjE,yEAAyE;QACzE,gEAAgE;QAChE,kDAAkD;QAClD,EAAE;QACF,uDAAuD;QACvD,2EAA2E;QAC3E,uEAAuE;QACvE,sEAAsE;QACtE,2EAA2E;QAC3E,uEAAuE;QACvE,4DAA4D;QAC5D,MAAM,eAAe,GACnB,WAAW,IAAI,GAAG,IAAI,YAAY,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU;YAChE,CAAC,CAAC,wBAAwB,GAAG,CAAC,UAAU,SAAS,GAAG,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;gBACjF,UAAU,GAAG,CAAC,aAAa,IAAI,SAAS,0CAA0C;gBAClF,sBAAsB,QAAQ,qDAAqD;gBACnF,kEAAkE;YACpE,CAAC,CAAC,SAAS,CAAC;QAChB,4EAA4E;QAC5E,4EAA4E;QAC5E,8CAA8C;QAC9C,MAAM,WAAW,GACf,UAAU;YACV,eAAe;YACf,iBAAiB;YACjB,eAAe;YACf,CAAC,gBAAgB,IAAI,aAAa,QAAQ,EAAE,CAAC,CAAC;QAChD,qEAAqE;QACrE,qEAAqE;QACrE,iEAAiE;QACjE,0EAA0E;QAC1E,mEAAmE;QACnE,oEAAoE;QACpE,UAAU;QACV,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,eAAe,CACjD,CAAC,WAAW,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;aAChE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;QACF,MAAM,MAAM,GAAmB;YAC7B,MAAM,EAAE,YAAY,IAAI,WAAW;YACnC,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,WAAW;YAClB,UAAU;SACX,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;YAC1B,IAAI,UAAU,KAAK,IAAI;gBAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QAC1D,CAAC;QACD,IAAI,UAAU;YAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/C,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvC,CAAC;CACF;AAED,4EAA4E;AAC5E,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC"}
1
+ {"version":3,"file":"generic-cli.js","sourceRoot":"","sources":["../../src/dispatchers/generic-cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,OAAO,EAAE,cAAc,EAAqB,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,kBAAkB,GAAG,OAAO,CAAC,CAAC,aAAa;AAEjD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,GACf,wHAAwH,CAAC;AAE3H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,oBAAoB,GACxB,iGAAiG,CAAC;AAEpG,sEAAsE;AACtE,SAAS,WAAW,CAAC,IAAY;IAC/B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QACtC,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,0BAA0B,GAAG,EAAE,GAAG,IAAI,CAAC;AAE7C,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,IAAI,CAAC,MAAM,GAAG,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACnG,CAAC;AAED,yDAAyD;AACzD,MAAM,eAAe,GAAG;IACtB,YAAY;IACZ,2EAA2E;IAC3E,6EAA6E;IAC7E,wEAAwE;IACxE,0EAA0E;IAC1E,iEAAiE;IACjE,kBAAkB;IAClB,cAAc;IACd,gBAAgB;IAChB,qBAAqB;IACrB,6BAA6B;IAC7B,oBAAoB;IACpB,mBAAmB;IACnB,iEAAiE;IACjE,qEAAqE;IACrE,qEAAqE;IACrE,6DAA6D;IAC7D,aAAa;CACd,CAAC;AAEF,gFAAgF;AAChF,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,0EAA0E;IAC1E,EAAE;IACF,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,wEAAwE;IACxE,+CAA+C;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAChD,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC9D,MAAM,KAAK,GAAG,wCAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,OAAO;QACL,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,UAAU,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;KACnF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,+BAA+B,CAAC,GAAG,OAAiB;IAClE,+CAA+C;IAC/C,EAAE;IACF,2EAA2E;IAC3E,2EAA2E;IAC3E,qEAAqE;IACrE,8DAA8D;IAC9D,EAAE;IACF,4EAA4E;IAC5E,oEAAoE;IACpE,sEAAsE;IACtE,yEAAyE;IACzE,iEAAiE;IACjE,EAAE;IACF,yEAAyE;IACzE,0EAA0E;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,wEAAwE;IACxE,kEAAkE;IAClE,EAAE;IACF,+DAA+D;IAC/D,0EAA0E;IAC1E,uEAAuE;IACvE,2EAA2E;IAC3E,sDAAsD;IACtD,2EAA2E;IAC3E,sEAAsE;IACtE,4EAA4E;IAC5E,sEAAsE;IACtE,6DAA6D;IAC7D,EAAE;IACF,0EAA0E;IAC1E,2EAA2E;IAC3E,4CAA4C;IAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qCAAqC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7F,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,CACL,sEAAsE;YACtE,yEAAyE;YACzE,qEAAqE;YACrE,0EAA0E;YAC1E,uBAAuB,CACxB,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACnC,MAAM,aAAa,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AACxC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAEnC;;;;;;;;;GASG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACxC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,aAAa,CAAC;IACvD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAChD,OAAO,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,oBAAoB,CAAC;AACvF,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,cAAc,GAAG,0BAA0B,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,yBAAyB,GAAG,0CAA0C,CAAC;AAE7E;;;;;;;;GAQG;AACH,SAAS,kBAAkB;IACzB,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,SAAS,cAAc,CAAC,MAAM,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAe;IACvC,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,iBAAiB,CAAC,GAAW,EAAE,qBAA8B;IACpE,IAAI,GAAG,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACpC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACzC,IAAI,qBAAqB;QAAE,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACpE,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,oBAAoB,CAAC,GAAW;IACvC,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,0EAA0E;IAC1E,aAAa;IACb,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAChD,uEAAuE;IACvE,qBAAqB;IACrB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAC5C,OAAO,IAAI,GAAG,GAAG,CAAC;AACpB,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,iBAAiB,CAAC,OAAe,EAAE,IAAc;IACxD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,iBAAiB,CAAC,OAAO,CAAC,KAAK,oBAAoB,EAAE,CAAC;QACxD,2EAA2E;QAC3E,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACvF,CAAC;IACD,wEAAwE;IACxE,4EAA4E;IAC5E,6CAA6C;IAC7C,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5F,6EAA6E;IAC7E,4EAA4E;IAC5E,sDAAsD;IACtD,OAAO,kBAAkB,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AACvD,CAAC;AAED,mEAAmE;AACnE,SAAS,OAAO,CAAC,KAAc,EAAE,IAAY;IAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAU,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAClD,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC9D,OAAQ,GAA+B,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC,EAAE,KAAK,CAAC,CAAC;AACZ,CAAC;AAED,SAAS,YAAY,CAAC,GAAY,EAAE,MAAgB;IAClD,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,mHAAmH;AACnH,SAAS,mBAAmB,CAAC,KAAe,EAAE,UAAkB;IAC9D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,GAAG,KAAK,UAAU;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,QAA2B,EAAE,MAAc,EAAE,KAAe;IACnF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc;QAAE,OAAO,MAAM,CAAC;IAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,IAAI,IAAI,CAAC;IAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,GAAG,MAAM,OAAO,QAAQ,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;AAChE,CAAC;AAED,4IAA4I;AAC5I,SAAS,WAAW,CAClB,KAAa,EACb,QAA2B,EAC3B,MAAc,EACd,KAAe,EACf,UAAkB,EAClB,cAAkC,EAClC,aAA4B,EAC5B,UAAoB;IAEpB,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,YAAY;YACf,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACxC,KAAK,WAAW;YACd,OAAO,QAAQ,CAAC,KAAK,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,KAAK,YAAY;YACf,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,KAAK,iBAAiB;YACpB,OAAO,QAAQ,CAAC,UAAU,IAAI,UAAU;gBACtC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;gBACzF,CAAC,CAAC,EAAE,CAAC;QACT,KAAK,eAAe;YAClB,IAAI,CAAC,QAAQ,CAAC,QAAQ;gBAAE,OAAO,EAAE,CAAC;YAClC,OAAO,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACjG,KAAK,iBAAiB;YACpB,OAAO,UAAU,CAAC;QACpB;YACE,OAAO,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAChB,QAA2B,EAC3B,UAAoB,EACpB,MAAc,EACd,KAAe,EACf,UAAkB,EAClB,cAAkC,EAClC,UAAoB,EACpB,IAAkB;IAElB,MAAM,aAAa,GAAkB,IAAI,CAAC,aAAa,IAAI,gBAAgB,CAAC;IAC5E,MAAM,IAAI,GAAa,CAAC,GAAG,UAAU,CAAC,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;IACnH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,gBAAgB;IAoBS;IAnB7B,QAAQ,GAAG,EAAE,CAAC;IACd,WAAW,GAAG,CAAC,CAAC;IAChB,YAAY,GAAG,CAAC,CAAC;IACjB,QAAQ,GAAG,KAAK,CAAC;IACjB,UAAU,GAAG,KAAK,CAAC;IACnB,wFAAwF;IACxF,UAAU,GAAG,CAAC,CAAC;IACf;;;;;;;OAOG;IACH,aAAa,CAAqB;IAClC,sGAAsG;IACtG,YAAY,CAAqB;IAEjC,YAA6B,KAAqB;QAArB,UAAK,GAAL,KAAK,CAAgB;IAAG,CAAC;IAEtD,OAAO,CAAC,IAAY;QAClB,MAAM,GAAG,GAAsB,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,CAAC;QACzB,IAAI,KAAc,CAAC;QACnB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,CAAC;QACb,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACrB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACzC,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAElE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC;YACrG,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,IAAkB,EAAE,KAAc;QACvC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACtE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAC;YACxC,OAAO;gBACL;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI;oBACJ,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;iBACrE;aACF,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;YAClE,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;gBACpB,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC;gBAC1B,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC;gBAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QACrF,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAED;;;;;;;GAOG;AACH,SAAS,iBAAiB,CAAC,MAAc,EAAE,MAAgB;IACzD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;YACvD,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,uCAAuC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,SAAS,CAChB,MAAe,EACf,KAA2C;IAE3C,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IACrD,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC1F,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7F,OAAO,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAC1B,MAAe,EACf,KAA2C,EAC3C,cAAwB;IAExB,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IACrD,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,OAAO,CACL,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,IAAI,cAAc,CAAC;QAC3D,0BAA0B,KAAK,CAAC,KAAK,mCAAmC,CACzE,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,iBAAiB,CAAC,MAAc;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IAC/B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,aAAa,CAAC,GAAY,EAAE,MAAgB;IACnD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,GAAY,EAAE,MAA4B;IAC9D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,KAAK,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,oBAAqB,SAAQ,cAAc;IAC7C,EAAE,CAAS;IACH,OAAO,CAAS;IAChB,QAAQ,CAAgC;IACxC,MAAM,CAAqB;IAC3B,eAAe,CAAqB;IACpC,YAAY,CAAgC;IAC5C,gBAAgB,CAAoC;IACpD,oBAAoB,CAAsB;IAE3D;;;;;;OAMG;IACH,YAAY,GAAmB,EAAE,oBAA0C;QACzE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,IAAI,IAAI,GAAG,EAAE,CAAC;QAC9D,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,IAAI,SAAS,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,QAAQ,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,MAAM,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,GAAG,EAAE,KAAK,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,GAAG,EAAE,YAAY,CAAC;QACtC,IAAI,CAAC,gBAAgB,GAAG,GAAG,EAAE,gBAAgB,CAAC;IAChD,CAAC;IAED,WAAW;QACT,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACjD,CAAC;IAED,MAAM,CACJ,MAAc,EACd,KAAe,EACf,UAAkB,EAClB,OAAqB,EAAE;QAEvB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,CAAC,SAAS,CAAC,KAAqC;QACpD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACpD,KAAK,CAAC,CAAC,KAAK,CAAC;YACb,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7E,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YAC9B,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnD,MAAM,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1C,SAAS;YACX,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnE,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;oBAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnE,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAC,UAAU,CACf,MAAc,EACd,KAAe,EACf,UAAkB,EAClB,IAAkB;QAElB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM;gBACJ,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE;oBACN,MAAM,EAAE,EAAE;oBACV,OAAO,EAAE,IAAI,CAAC,EAAE;oBAChB,OAAO,EAAE,KAAK;oBACd,KAAK,EACH,UAAU,IAAI,CAAC,EAAE,sDAAsD;wBACvE,gEAAgE;iBACnE;aACF,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM;gBACJ,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE;oBACN,MAAM,EAAE,EAAE;oBACV,OAAO,EAAE,IAAI,CAAC,EAAE;oBAChB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,IAAI,IAAI,CAAC,OAAO,qBAAqB;iBAC7C;aACF,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,mBAAmB,GACvB,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QACtF,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,eAAe,CAAC;QAClE,MAAM,UAAU,GACd,IAAI,CAAC,YAAY,KAAK,yBAAyB,IAAI,IAAI,CAAC,gBAAgB;YACtE,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAC9D,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,SAAS,CACpB,QAAQ,EACR,QAAQ,CAAC,UAAU,EACnB,UAAU,EACV,KAAK,EACL,mBAAmB,EACnB,cAAc,EACd,UAAU,EACV,IAAI,CACL,CAAC;QAEF,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,qEAAqE;QACrE,qEAAqE;QACrE,wEAAwE;QACxE,sEAAsE;QACtE,wDAAwD;QACxD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/C,IAAI,MAAM,KAAK,QAAQ,CAAC,YAAY;gBAAE,SAAS;YAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjD,CAAC;QACD,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YAChD,CAAC;iBAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC9C,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YACvC,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,EAAE;QACF,2EAA2E;QAC3E,qEAAqE;QACrE,6DAA6D;QAC7D,wEAAwE;QACxE,0EAA0E;QAC1E,EAAE;QACF,yEAAyE;QACzE,uEAAuE;QACvE,0EAA0E;QAC1E,kCAAkC;QAClC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACnE,IAAI,gBAAgB,GAAG,MAAM,EAAE,CAAC;gBAC9B,MAAM;oBACJ,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE;wBACN,MAAM,EAAE,EAAE;wBACV,OAAO,EAAE,IAAI,CAAC,EAAE;wBAChB,OAAO,EAAE,KAAK;wBACd,KAAK,EACH,uBAAuB,IAAI,CAAC,EAAE,oCAAoC;4BAClE,GAAG,gBAAgB,CAAC,cAAc,EAAE,qCAAqC;4BACzE,mBAAmB,MAAM,CAAC,cAAc,EAAE,KAAK,IAAI,CAAC,EAAE,0BAA0B;4BAChF,gFAAgF;4BAChF,2EAA2E;wBAC7E,yDAAyD;wBACzD,gCAAgC;wBAChC,aAAa,EAAE,IAAI;wBACnB,UAAU,EAAE,CAAC;qBACd;iBACF,CAAC;gBACF,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAC;QACvD,MAAM,OAAO,GAA2C,EAAE,SAAS,EAAE,CAAC;QACtE,IAAI,mBAAmB;YAAE,OAAO,CAAC,GAAG,GAAG,mBAAmB,CAAC;QAC3D,IAAI,QAAQ,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC;QAC/C,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,GAAG,QAAQ,CAAC;QAC7D,uEAAuE;QACvE,yEAAyE;QACzE,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE9C,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;QAClB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,IAAI,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;QAC1F,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxF,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAC1E,uEAAuE;YACvE,wEAAwE;YACxE,gEAAgE;YAChE,IAAI,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,EAAE,CAAC;gBACvB,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;gBACxB,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;gBAC5B,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;gBACxB,SAAS;YACX,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC5B,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC1B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;gBAC3C,SAAS;YACX,CAAC;YAED,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;YAC3C,IAAI,CAAC,GAAG;gBAAE,SAAS;YAEnB,UAAU,IAAI,GAAG,CAAC,KAAK,CAAC;YACxB,MAAM,KAAK,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC5C,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;YACxB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/B,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;oBAAE,MAAM,GAAG,CAAC;YACjD,CAAC;QACH,CAAC;QACD,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;gBAAE,MAAM,GAAG,CAAC;QACvD,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAElC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM;gBACJ,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE;oBACN,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,IAAI,CAAC,EAAE;oBAChB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,mBAAmB,SAAS,IAAI;oBACvC,UAAU;iBACX;aACF,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,YAAgC,CAAC;QACrC,IAAI,UAAyD,CAAC;QAC9D;;;;;;;;;WASG;QACH,IAAI,eAAmC,CAAC;QAExC,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;YACvB,oFAAoF;YACpF,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,MAAM,EAAE,CAAC;gBAC9B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;oBAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9D,CAAC;YACD,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7E,IAAI,GAAG,CAAC,QAAQ;gBAAE,UAAU,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;YACpF,eAAe,GAAG,GAAG,CAAC,YAAY,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YAClF,QAAQ,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC7B,KAAK,MAAM;oBACT,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;oBAC1C,MAAM;gBACR,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;oBACzC,MAAM,UAAU,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC3F,IAAI,WAAW,GAAG,UAAU,CAAC;oBAC7B,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;wBAC7B,YAAY,GAAG,UAAU,CAAC;oBAC5B,CAAC;yBAAM,CAAC;wBACN,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;wBACzC,YAAY,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBACvF,WAAW,GAAG,UAAU,IAAI,UAAU,CAAC;oBACzC,CAAC;oBACD,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC;oBACzE,eAAe;wBACb,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,eAAe,CAAC;oBACrF,MAAM;gBACR,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,YAAY,GAAG,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBACjD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,qBAAqB,KAAK,KAAK,CAAC;QAEzD,qEAAqE;QACrE,wEAAwE;QACxE,mEAAmE;QACnE,6CAA6C;QAC7C,MAAM,UAAU,GAAG,+BAA+B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEnE,uEAAuE;QACvE,sEAAsE;QACtE,mEAAmE;QACnE,IAAI,eAAe,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC9D,IAAI,OAAO,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,YAAY,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChE,MAAM,MAAM,GAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;gBACvF,IAAI,UAAU;oBAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;gBAC/C,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YACD,IAAI,CAAC,OAAO,IAAI,QAAQ,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC/C,MAAM,MAAM,GAAmB,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;gBACrG,IAAI,UAAU;oBAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;gBAC/C,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,wEAAwE;QACxE,qEAAqE;QACrE,iEAAiE;QACjE,6DAA6D;QAC7D,MAAM,gBAAgB,GACpB,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM;YAC7B,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE;YAChC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACrC,0EAA0E;QAC1E,sEAAsE;QACtE,qEAAqE;QACrE,2EAA2E;QAC3E,0EAA0E;QAC1E,0EAA0E;QAC1E,2EAA2E;QAC3E,mEAAmE;QACnE,uEAAuE;QACvE,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,2EAA2E;QAC3E,iEAAiE;QACjE,yEAAyE;QACzE,gEAAgE;QAChE,kDAAkD;QAClD,EAAE;QACF,uDAAuD;QACvD,2EAA2E;QAC3E,uEAAuE;QACvE,sEAAsE;QACtE,2EAA2E;QAC3E,uEAAuE;QACvE,4DAA4D;QAC5D,MAAM,eAAe,GACnB,WAAW,IAAI,GAAG,IAAI,YAAY,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU;YAChE,CAAC,CAAC,wBAAwB,GAAG,CAAC,UAAU,SAAS,GAAG,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;gBACjF,UAAU,GAAG,CAAC,aAAa,IAAI,SAAS,0CAA0C;gBAClF,sBAAsB,QAAQ,qDAAqD;gBACnF,kEAAkE;YACpE,CAAC,CAAC,SAAS,CAAC;QAChB,4EAA4E;QAC5E,4EAA4E;QAC5E,8CAA8C;QAC9C,MAAM,WAAW,GACf,UAAU;YACV,eAAe;YACf,iBAAiB;YACjB,eAAe;YACf,CAAC,gBAAgB,IAAI,aAAa,QAAQ,EAAE,CAAC,CAAC;QAChD,qEAAqE;QACrE,iEAAiE;QACjE,iEAAiE;QACjE,0EAA0E;QAC1E,mEAAmE;QACnE,oEAAoE;QACpE,UAAU;QACV,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,eAAe,CACjD,CAAC,WAAW,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;aAChE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;QACF,MAAM,MAAM,GAAmB;YAC7B,MAAM,EAAE,YAAY,IAAI,WAAW;YACnC,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,WAAW;YAClB,UAAU;SACX,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;YAC1B,IAAI,UAAU,KAAK,IAAI;gBAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QAC1D,CAAC;QACD,IAAI,UAAU;YAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/C,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvC,CAAC;CACF;AAED,4EAA4E;AAC5E,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC"}
@@ -62,11 +62,6 @@ export declare class OpenAICompatibleDispatcher extends BaseDispatcher {
62
62
  constructor(svc: ServiceConfig);
63
63
  isAvailable(): boolean;
64
64
  checkQuota(): Promise<QuotaInfo>;
65
- /**
66
- * Buffered one-shot: POST with stream=false, parse a single JSON body.
67
- * Kept as a fast-path (no incremental parsing overhead) and to preserve
68
- * existing mocked-fetch tests.
69
- */
70
65
  dispatch(prompt: string, files: string[], _workingDir: string, opts?: DispatchOpts): Promise<DispatchResult>;
71
66
  stream(prompt: string, files: string[], workingDir: string, opts?: DispatchOpts): AsyncIterable<DispatcherEvent>;
72
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openai-compatible.d.ts","sourceRoot":"","sources":["../../src/dispatchers/openai-compatible.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAgB,MAAM,aAAa,CAAC;AAC3G,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAiB9D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAYjE;AA6ID,qBAAa,0BAA2B,SAAQ,cAAc;;IAC5D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,GAAG,EAAE,aAAa;IAY9B,WAAW,IAAI,OAAO;IAIhB,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAqQtC;;;;OAIG;IACY,QAAQ,CACrB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EAAE,EACf,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,cAAc,CAAC;IAwH1B,MAAM,CACJ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,YAAiB,GACtB,aAAa,CAAC,eAAe,CAAC;CAkQlC"}
1
+ {"version":3,"file":"openai-compatible.d.ts","sourceRoot":"","sources":["../../src/dispatchers/openai-compatible.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAgB,MAAM,aAAa,CAAC;AAC3G,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAiB9D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAYjE;AA4KD,qBAAa,0BAA2B,SAAQ,cAAc;;IAC5D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,GAAG,EAAE,aAAa;IAY9B,WAAW,IAAI,OAAO;IAIhB,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAoWvB,QAAQ,CACrB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EAAE,EACf,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,cAAc,CAAC;IAqG1B,MAAM,CACJ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,YAAiB,GACtB,aAAa,CAAC,eAAe,CAAC;CA8OlC"}