cueline 0.1.6 → 0.2.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 (188) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +50 -0
  4. package/README.ja.md +77 -30
  5. package/README.ko.md +77 -30
  6. package/README.md +71 -29
  7. package/README.zh-CN.md +77 -30
  8. package/README.zh-TW.md +74 -29
  9. package/config/routing.schema.json +3 -0
  10. package/dist/src/api-caller-work.js +58 -14
  11. package/dist/src/api-caller-work.js.map +1 -1
  12. package/dist/src/api-contracts.d.ts +56 -0
  13. package/dist/src/api-controller-handoff.d.ts +5 -1
  14. package/dist/src/api-controller-handoff.js +178 -38
  15. package/dist/src/api-controller-handoff.js.map +1 -1
  16. package/dist/src/api-run-verification.d.ts +3 -0
  17. package/dist/src/api-run-verification.js +174 -0
  18. package/dist/src/api-run-verification.js.map +1 -0
  19. package/dist/src/api-runtime-lifecycle.d.ts +6 -1
  20. package/dist/src/api-runtime-lifecycle.js +97 -8
  21. package/dist/src/api-runtime-lifecycle.js.map +1 -1
  22. package/dist/src/api.d.ts +26 -4
  23. package/dist/src/api.js +111 -40
  24. package/dist/src/api.js.map +1 -1
  25. package/dist/src/browser/browser-adapter.d.ts +41 -0
  26. package/dist/src/browser/codex-iab/bootstrap.d.ts +21 -0
  27. package/dist/src/browser/codex-iab/bootstrap.js +174 -9
  28. package/dist/src/browser/codex-iab/bootstrap.js.map +1 -1
  29. package/dist/src/browser/codex-iab/chatgpt-client.d.ts +3 -0
  30. package/dist/src/browser/codex-iab/chatgpt-client.js +216 -70
  31. package/dist/src/browser/codex-iab/chatgpt-client.js.map +1 -1
  32. package/dist/src/browser/codex-iab/probe.d.ts +36 -0
  33. package/dist/src/browser/codex-iab/probe.js +217 -0
  34. package/dist/src/browser/codex-iab/probe.js.map +1 -0
  35. package/dist/src/browser/codex-iab/recovery-evidence.d.ts +1 -1
  36. package/dist/src/browser/codex-iab/recovery-evidence.js +7 -10
  37. package/dist/src/browser/codex-iab/recovery-evidence.js.map +1 -1
  38. package/dist/src/browser/codex-iab/selectors.d.ts +1 -0
  39. package/dist/src/browser/codex-iab/selectors.js +1 -0
  40. package/dist/src/browser/codex-iab/selectors.js.map +1 -1
  41. package/dist/src/browser/codex-iab/send-button.d.ts +5 -0
  42. package/dist/src/browser/codex-iab/send-button.js +62 -0
  43. package/dist/src/browser/codex-iab/send-button.js.map +1 -0
  44. package/dist/src/browser/codex-iab/submission-url.js +6 -15
  45. package/dist/src/browser/codex-iab/submission-url.js.map +1 -1
  46. package/dist/src/browser/codex-iab/tab-discovery.js +45 -12
  47. package/dist/src/browser/codex-iab/tab-discovery.js.map +1 -1
  48. package/dist/src/browser/codex-iab/timing-options.d.ts +1 -0
  49. package/dist/src/browser/codex-iab/timing-options.js +5 -0
  50. package/dist/src/browser/codex-iab/timing-options.js.map +1 -0
  51. package/dist/src/cli/health-commands.d.ts +2 -0
  52. package/dist/src/cli/health-commands.js +265 -0
  53. package/dist/src/cli/health-commands.js.map +1 -0
  54. package/dist/src/cli/io.d.ts +4 -0
  55. package/dist/src/cli/io.js +2 -0
  56. package/dist/src/cli/io.js.map +1 -0
  57. package/dist/src/cli/main.d.ts +1 -5
  58. package/dist/src/cli/main.js +187 -84
  59. package/dist/src/cli/main.js.map +1 -1
  60. package/dist/src/cli/observation-commands.d.ts +2 -0
  61. package/dist/src/cli/observation-commands.js +350 -0
  62. package/dist/src/cli/observation-commands.js.map +1 -0
  63. package/dist/src/cli/run-status-view.d.ts +87 -0
  64. package/dist/src/cli/run-status-view.js +121 -0
  65. package/dist/src/cli/run-status-view.js.map +1 -0
  66. package/dist/src/core/controller-command-execution.d.ts +2 -2
  67. package/dist/src/core/controller-command-execution.js +82 -16
  68. package/dist/src/core/controller-command-execution.js.map +1 -1
  69. package/dist/src/core/controller-conversation-archive.d.ts +11 -0
  70. package/dist/src/core/controller-conversation-archive.js +109 -0
  71. package/dist/src/core/controller-conversation-archive.js.map +1 -0
  72. package/dist/src/core/controller-loop.d.ts +7 -1
  73. package/dist/src/core/controller-loop.js +136 -23
  74. package/dist/src/core/controller-loop.js.map +1 -1
  75. package/dist/src/core/controller-turn.d.ts +21 -3
  76. package/dist/src/core/controller-turn.js +182 -41
  77. package/dist/src/core/controller-turn.js.map +1 -1
  78. package/dist/src/core/controller-types.d.ts +2 -0
  79. package/dist/src/core/conversation-url.d.ts +3 -0
  80. package/dist/src/core/conversation-url.js +34 -0
  81. package/dist/src/core/conversation-url.js.map +1 -0
  82. package/dist/src/core/run-status.d.ts +17 -2
  83. package/dist/src/core/run-status.js +64 -25
  84. package/dist/src/core/run-status.js.map +1 -1
  85. package/dist/src/core/state-machine.d.ts +36 -1
  86. package/dist/src/core/state-machine.js +242 -13
  87. package/dist/src/core/state-machine.js.map +1 -1
  88. package/dist/src/core/timing.d.ts +9 -0
  89. package/dist/src/core/timing.js +22 -0
  90. package/dist/src/core/timing.js.map +1 -0
  91. package/dist/src/diagnostics/run-doctor.d.ts +22 -0
  92. package/dist/src/diagnostics/run-doctor.js +197 -0
  93. package/dist/src/diagnostics/run-doctor.js.map +1 -0
  94. package/dist/src/jobs/status.d.ts +5 -2
  95. package/dist/src/jobs/status.js +172 -12
  96. package/dist/src/jobs/status.js.map +1 -1
  97. package/dist/src/jobs/supervisor.js +57 -8
  98. package/dist/src/jobs/supervisor.js.map +1 -1
  99. package/dist/src/observation/run-diff.d.ts +39 -0
  100. package/dist/src/observation/run-diff.js +67 -0
  101. package/dist/src/observation/run-diff.js.map +1 -0
  102. package/dist/src/observation/run-graph.d.ts +17 -0
  103. package/dist/src/observation/run-graph.js +77 -0
  104. package/dist/src/observation/run-graph.js.map +1 -0
  105. package/dist/src/observation/run-handoff.d.ts +86 -0
  106. package/dist/src/observation/run-handoff.js +309 -0
  107. package/dist/src/observation/run-handoff.js.map +1 -0
  108. package/dist/src/observation/run-status-at.d.ts +41 -0
  109. package/dist/src/observation/run-status-at.js +65 -0
  110. package/dist/src/observation/run-status-at.js.map +1 -0
  111. package/dist/src/observation/run-timeline.d.ts +32 -0
  112. package/dist/src/observation/run-timeline.js +279 -0
  113. package/dist/src/observation/run-timeline.js.map +1 -0
  114. package/dist/src/observation/run-watch.d.ts +15 -0
  115. package/dist/src/observation/run-watch.js +82 -0
  116. package/dist/src/observation/run-watch.js.map +1 -0
  117. package/dist/src/protocol/limits.d.ts +3 -0
  118. package/dist/src/protocol/limits.js +4 -0
  119. package/dist/src/protocol/limits.js.map +1 -0
  120. package/dist/src/protocol/lint-command.d.ts +24 -0
  121. package/dist/src/protocol/lint-command.js +210 -0
  122. package/dist/src/protocol/lint-command.js.map +1 -0
  123. package/dist/src/protocol/parse-command.js +4 -0
  124. package/dist/src/protocol/parse-command.js.map +1 -1
  125. package/dist/src/protocol/types.d.ts +12 -0
  126. package/dist/src/protocol/validate-command.js +76 -3
  127. package/dist/src/protocol/validate-command.js.map +1 -1
  128. package/dist/src/router/config-loader.js +23 -2
  129. package/dist/src/router/config-loader.js.map +1 -1
  130. package/dist/src/router/explain.d.ts +28 -0
  131. package/dist/src/router/explain.js +86 -0
  132. package/dist/src/router/explain.js.map +1 -0
  133. package/dist/src/router/resolver.d.ts +2 -1
  134. package/dist/src/router/resolver.js +11 -6
  135. package/dist/src/router/resolver.js.map +1 -1
  136. package/dist/src/runners/process-runner.js +55 -12
  137. package/dist/src/runners/process-runner.js.map +1 -1
  138. package/dist/src/runners/runner-adapter.d.ts +2 -0
  139. package/dist/src/runners/runner-adapter.js.map +1 -1
  140. package/dist/src/state/atomic-write.d.ts +6 -0
  141. package/dist/src/state/atomic-write.js +43 -2
  142. package/dist/src/state/atomic-write.js.map +1 -1
  143. package/dist/src/state/cancellation.js +38 -4
  144. package/dist/src/state/cancellation.js.map +1 -1
  145. package/dist/src/state/event-log.js +5 -4
  146. package/dist/src/state/event-log.js.map +1 -1
  147. package/dist/src/state/private-directory.d.ts +5 -0
  148. package/dist/src/state/private-directory.js +37 -0
  149. package/dist/src/state/private-directory.js.map +1 -0
  150. package/dist/src/state/runtime-lease.js +19 -39
  151. package/dist/src/state/runtime-lease.js.map +1 -1
  152. package/dist/src/state/runtime-record-validation.d.ts +6 -0
  153. package/dist/src/state/runtime-record-validation.js +44 -0
  154. package/dist/src/state/runtime-record-validation.js.map +1 -0
  155. package/dist/src/state/runtime-retirement.js +58 -18
  156. package/dist/src/state/runtime-retirement.js.map +1 -1
  157. package/dist/src/state/runtime-takeover-intent.js +2 -2
  158. package/dist/src/state/runtime-takeover-intent.js.map +1 -1
  159. package/dist/src/state/store.d.ts +1 -0
  160. package/dist/src/state/store.js +12 -6
  161. package/dist/src/state/store.js.map +1 -1
  162. package/dist/src/version.d.ts +1 -1
  163. package/dist/src/version.js +1 -1
  164. package/docs/architecture.md +4 -4
  165. package/docs/assets/README.md +3 -1
  166. package/docs/assets/cueline-architecture-en.svg +63 -0
  167. package/docs/assets/cueline-architecture-ja.svg +63 -0
  168. package/docs/assets/cueline-architecture-ko.svg +63 -0
  169. package/docs/assets/cueline-architecture-zh-CN.svg +63 -0
  170. package/docs/assets/cueline-architecture-zh-TW.svg +63 -0
  171. package/docs/assets/cueline-states-en.svg +50 -0
  172. package/docs/assets/cueline-states-ja.svg +48 -0
  173. package/docs/assets/cueline-states-ko.svg +48 -0
  174. package/docs/assets/cueline-states-zh-CN.svg +48 -0
  175. package/docs/assets/cueline-states-zh-TW.svg +48 -0
  176. package/docs/compatibility.md +1 -1
  177. package/docs/controller-protocol.md +44 -7
  178. package/docs/experiments/protocol-lint.md +40 -0
  179. package/docs/experiments/run-doctor.md +39 -0
  180. package/docs/experiments/run-handoff.md +39 -0
  181. package/docs/experiments/run-timeline.md +35 -0
  182. package/docs/experiments/run-watch.md +31 -0
  183. package/docs/multi-model-routing.md +256 -0
  184. package/docs/runner-contract.md +4 -3
  185. package/docs/state-and-recovery.md +45 -5
  186. package/package.json +1 -1
  187. package/schemas/controller-command.schema.json +89 -4
  188. package/skills/cueline/SKILL.md +13 -7
@@ -1,3 +1,6 @@
1
+ import { readdir } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { boundedControllerEventEvidence } from "./core/controller-turn.js";
1
4
  import { CueLineError } from "./core/errors.js";
2
5
  import { loadPersistedRunState, loadPersistedRunStore, } from "./core/persisted-run.js";
3
6
  import { processOrGroupIsAlive } from "./core/process-liveness.js";
@@ -5,7 +8,7 @@ import { runtimeEnvironment } from "./core/runtime.js";
5
8
  import { acceptedControllerCommandEvidence, summarizeCueLineRunState, } from "./core/run-status.js";
6
9
  import { JobStatusStore } from "./jobs/status.js";
7
10
  import { readCancellationObservation, requestJobCancellation, requestRunCancellation, } from "./state/cancellation.js";
8
- import { defaultCueLineHome } from "./state/paths.js";
11
+ import { defaultCueLineHome, runPaths } from "./state/paths.js";
9
12
  import { readRuntimeLease, retireDeadRuntimeLease, RuntimeLease, } from "./state/runtime-lease.js";
10
13
  import { readAuthoritativeRunEvents } from "./state/store.js";
11
14
  function terminalResult(state) {
@@ -43,6 +46,90 @@ export async function loadCueLineRunStatus(runId, options = {}) {
43
46
  ]))).flatMap(([jobId, status]) => status === undefined ? [] : [[jobId, status]]));
44
47
  return summarizeCueLineRunState(store.state, store.lastSequence, runtime, cancellation, acceptedCommand, persistedJobStatuses);
45
48
  }
49
+ function isNotFound(error) {
50
+ return (typeof error === "object" &&
51
+ error !== null &&
52
+ "code" in error &&
53
+ error.code === "ENOENT");
54
+ }
55
+ function runListErrorCode(error) {
56
+ return error instanceof CueLineError ? error.code : "RUN_UNREADABLE";
57
+ }
58
+ function validRunDirectory(home, name) {
59
+ try {
60
+ runPaths(home, name);
61
+ return true;
62
+ }
63
+ catch {
64
+ return false;
65
+ }
66
+ }
67
+ /**
68
+ * Returns a sanitized, read-only inventory. It intentionally omits requests,
69
+ * controller text, conversation URLs, job tasks, and worker output.
70
+ */
71
+ export async function listCueLineRuns(options = {}) {
72
+ const environment = options.environment ?? runtimeEnvironment();
73
+ const home = options.home ?? defaultCueLineHome(environment);
74
+ let directories;
75
+ try {
76
+ directories = await readdir(path.join(home, "runs"), { withFileTypes: true });
77
+ }
78
+ catch (error) {
79
+ if (isNotFound(error))
80
+ return [];
81
+ throw error;
82
+ }
83
+ const entries = [];
84
+ for (const directory of directories) {
85
+ if (!directory.isDirectory() || !validRunDirectory(home, directory.name))
86
+ continue;
87
+ try {
88
+ const [status, events] = await Promise.all([
89
+ loadCueLineRunStatus(directory.name, options),
90
+ readAuthoritativeRunEvents(home, directory.name),
91
+ ]);
92
+ const lastEvent = events.at(-1);
93
+ if (lastEvent === undefined) {
94
+ entries.push({
95
+ runId: directory.name,
96
+ readable: false,
97
+ errorCode: "RUN_NOT_FOUND",
98
+ });
99
+ continue;
100
+ }
101
+ entries.push({
102
+ runId: status.runId,
103
+ readable: true,
104
+ status: status.status,
105
+ executor: status.executor,
106
+ phase: status.phase,
107
+ round: status.round,
108
+ pendingTurns: status.controller.pendingTurns,
109
+ activeJobs: status.jobs.counts.pending + status.jobs.counts.running,
110
+ runtimeOwnership: status.runtime.ownership,
111
+ safeNextAction: status.safeNextAction,
112
+ lastEventSequence: status.lastEventSequence,
113
+ lastEventAt: lastEvent.timestamp,
114
+ });
115
+ }
116
+ catch (error) {
117
+ entries.push({
118
+ runId: directory.name,
119
+ readable: false,
120
+ errorCode: runListErrorCode(error),
121
+ });
122
+ }
123
+ }
124
+ return entries.sort((left, right) => {
125
+ if (left.readable !== right.readable)
126
+ return left.readable ? -1 : 1;
127
+ if (left.readable && right.readable && left.lastEventAt !== right.lastEventAt) {
128
+ return right.lastEventAt.localeCompare(left.lastEventAt);
129
+ }
130
+ return left.runId.localeCompare(right.runId);
131
+ });
132
+ }
46
133
  /**
47
134
  * Explicitly releases one exact stale owner. This is the operator-authorized
48
135
  * path for shared Node/REPL hosts whose PID remains alive after the outer tool
@@ -200,6 +287,13 @@ export async function reconcileCueLineRuntime(runId, options = {}) {
200
287
  }
201
288
  const statusStore = new JobStatusStore(home);
202
289
  const activeJobs = Object.values(store.state.jobs).filter((job) => job.status === "pending" || job.status === "running");
290
+ const persistedStatuses = new Map();
291
+ for (const job of activeJobs) {
292
+ const persisted = await statusStore.read(job.jobId);
293
+ if (persisted !== undefined)
294
+ assertPersistedJobIdentity(persisted, runId, job);
295
+ persistedStatuses.set(job.jobId, persisted);
296
+ }
203
297
  const survivingJobs = [];
204
298
  let affectedJobs = 0;
205
299
  await store.append("runtime_reconciliation_started", {
@@ -207,13 +301,12 @@ export async function reconcileCueLineRuntime(runId, options = {}) {
207
301
  active_job_ids: activeJobs.map((job) => job.jobId),
208
302
  });
209
303
  for (const job of activeJobs) {
210
- const persisted = await statusStore.read(job.jobId);
304
+ const persisted = persistedStatuses.get(job.jobId);
211
305
  if (persisted?.pid !== undefined && processOrGroupIsAlive(persisted.pid)) {
212
306
  survivingJobs.push(job.jobId);
213
307
  continue;
214
308
  }
215
309
  if (persisted !== undefined && isPersistedTerminalStatus(persisted)) {
216
- assertPersistedJobIdentity(persisted, runId, job);
217
310
  await store.append("job_status", persistedTerminalPayload(job, persisted));
218
311
  affectedJobs += 1;
219
312
  continue;
@@ -268,14 +361,10 @@ function assertPersistedJobIdentity(persisted, runId, job) {
268
361
  }
269
362
  }
270
363
  function persistedTerminalPayload(job, persisted) {
271
- const fullOutput = persisted.result?.output;
272
- const stdout = persisted.result?.stdout;
273
- const controllerOutput = persisted.status === "succeeded" && stdout?.trim() ? stdout : fullOutput;
274
364
  return {
275
365
  job_id: job.jobId,
276
366
  status: persisted.status,
277
- ...(controllerOutput === undefined ? {} : { output: controllerOutput }),
278
- ...(persisted.error === undefined ? {} : { error: persisted.error }),
367
+ ...boundedControllerEventEvidence(persisted),
279
368
  };
280
369
  }
281
370
  async function appendPersistedTerminalIfPresent(store, statusStore, runId, job) {
@@ -1 +1 @@
1
- {"version":3,"file":"api-runtime-lifecycle.js","sourceRoot":"","sources":["../../src/api-runtime-lifecycle.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EACL,iCAAiC,EACjC,wBAAwB,GAEzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAkB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,0BAA0B,EAAiB,MAAM,kBAAkB,CAAC;AAE7E,SAAS,cAAc,CAAC,KAAsB;IAC5C,IACE,KAAK,CAAC,MAAM,KAAK,UAAU;QAC3B,KAAK,CAAC,MAAM,KAAK,SAAS;QAC1B,KAAK,CAAC,MAAM,KAAK,WAAW,EAC5B,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,mDAAmD,CAAC,CAAC;IAClG,CAAC;IACD,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,CAAC,KAAK,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC3F,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC;QACrF,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC;QACrF,KAAK;KACN,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAa,EACb,OAAO,GAAwD,EAAE;IAEjE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAChE,OAAO,qBAAqB,CAAC,OAAO,CAAC,IAAI,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAa,EACb,OAAO,GAAgE,EAAE;IAEzE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;QAClD,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAC3D,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,2BAA2B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpE,MAAM,eAAe,GAAG,iCAAiC,CACvD,MAAM,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC,CAC9C,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAClC,CAAC,MAAM,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,KAAK;QACL,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;KACrB,CAAC,CACZ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAU,CAAC,CAAC,CACxF,CAAC;IACF,OAAO,wBAAwB,CAC7B,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,YAAY,EAClB,OAAO,EACP,YAAY,EACZ,eAAe,EACf,oBAAoB,CACrB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAAa,EACb,OAAO,GAAgE,EAAE;IAEzE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvD,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC9D,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;QAClD,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAC3D,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QACxE,OAAO;YACL,KAAK;YACL,OAAO,EAAE,mBAAmB;YAC5B,IAAI,EAAE,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,UAAU;SACtE,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,IAAI,YAAY,CACpB,uBAAuB,EACvB,QAAQ,KAAK,iEAAiE,CAC/E,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,YAAY,CACpB,iCAAiC,EACjC,QAAQ,KAAK,2DAA2D,CACzE,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACvE,MAAM,IAAI,YAAY,CACpB,mCAAmC,EACnC,QAAQ,KAAK,uEAAuE,CACrF,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/D,IAAI,KAAmB,CAAC;IACxB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC;YACvC,IAAI;YACJ,KAAK;YACL,eAAe,EAAE,OAAO,CAAC,OAAO;YAChC,mBAAmB,EAAE,OAAO,CAAC,WAAW;YACxC,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,YAAY;YAC7B,CAAC,KAAK,CAAC,IAAI,KAAK,uBAAuB;gBACrC,KAAK,CAAC,IAAI,KAAK,yBAAyB,CAAC,EAC3C,CAAC;YACD,MAAM,IAAI,YAAY,CACpB,uBAAuB,EACvB,QAAQ,KAAK,2GAA2G,EACxH,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,aAAa,CAAC,MAAM,CAAC,wCAAwC,EAAE;YACnE,iBAAiB,EAAE,OAAO,CAAC,OAAO;YAClC,qBAAqB,EAAE,OAAO,CAAC,WAAW;YAC1C,eAAe,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;YACtC,qBAAqB,EAAE,IAAI;YAC3B,mCAAmC,EAAE,IAAI;SAC1C,CAAC,CAAC;QACH,MAAM,aAAa,CAAC,MAAM,CAAC,wCAAwC,EAAE;YACnE,iBAAiB,EAAE,OAAO,CAAC,OAAO;YAClC,qBAAqB,EAAE,OAAO,CAAC,WAAW;YAC1C,eAAe,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;YACtC,qBAAqB,EAAE,IAAI;SAC5B,CAAC,CAAC;QACH,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC/B,OAAO;YACL,KAAK;YACL,OAAO,EAAE,YAAY;YACrB,IAAI,EACF,aAAa,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,UAAU;YAC/E,eAAe,EAAE,OAAO,CAAC,OAAO;SACjC,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAa,EACb,OAAO,GAAgE,EAAE;IAEzE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9D,IAAI,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO;YACL,KAAK;YACL,OAAO,EAAE,kBAAkB;YAC3B,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,EAAE;SAClB,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC7C,MAAM,IAAI,YAAY,CACpB,2BAA2B,EAC3B,QAAQ,KAAK,kEAAkE,CAChF,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;QAChD,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAC3D,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,IAAI,YAAY,CACpB,uBAAuB,EACvB,QAAQ,KAAK,8CAA8C,CAC5D,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QACpE,IACE,OAAO,CAAC,OAAO,KAAK,SAAS;YAC7B,CAAC,CAAC,MAAM,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,EAC7D,CAAC;YACD,OAAO;gBACL,KAAK;gBACL,OAAO,EAAE,aAAa;gBACtB,YAAY,EAAE,CAAC;gBACf,aAAa,EAAE,EAAE;aAClB,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QACxE,OAAO;YACL,KAAK;YACL,OAAO,EAAE,aAAa;YACtB,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,EAAE;SAClB,CAAC;IACJ,CAAC;IACD,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC;IAC5C,IAAI,KAAmB,CAAC;IACxB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC;YAC/B,IAAI;YACJ,KAAK;YACL,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,YAAY;YAC7B,CAAC,KAAK,CAAC,IAAI,KAAK,oBAAoB;gBAClC,KAAK,CAAC,IAAI,KAAK,uBAAuB;gBACtC,KAAK,CAAC,IAAI,KAAK,6BAA6B,CAAC,EAC/C,CAAC;YACD,OAAO;gBACL,KAAK;gBACL,OAAO,EAAE,aAAa;gBACtB,YAAY,EAAE,CAAC;gBACf,aAAa,EAAE,EAAE;aAClB,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvD,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACL,KAAK;gBACL,OAAO,EAAE,kBAAkB;gBAC3B,YAAY,EAAE,CAAC;gBACf,aAAa,EAAE,EAAE;aAClB,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACtC,MAAM,IAAI,YAAY,CACpB,2BAA2B,EAC3B,QAAQ,KAAK,kEAAkE,CAChF,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CACvD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAC9D,CAAC;QACF,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,KAAK,CAAC,MAAM,CAAC,gCAAgC,EAAE;YACnD,kBAAkB,EAAE,iBAAiB;YACrC,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;SACnD,CAAC,CAAC;QACH,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,SAAS,EAAE,GAAG,KAAK,SAAS,IAAI,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC9B,SAAS;YACX,CAAC;YACD,IAAI,SAAS,KAAK,SAAS,IAAI,yBAAyB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpE,0BAA0B,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;gBAClD,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC3E,YAAY,IAAI,CAAC,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;YACjE,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE;gBAC/B,MAAM,EAAE,GAAG,CAAC,KAAK;gBACjB,MAAM;gBACN,KAAK,EACH,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM;oBACtB,CAAC,CAAC,uFAAuF;oBACzF,CAAC,CAAC,oGAAoG;aAC3G,CAAC,CAAC;YACH,YAAY,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC3B,OAAO,EAAE,gCAAgC,aAAa,CAAC,MAAM,qEAAqE;aACnI,CAAC,CAAC;YACH,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YACvB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;QAC5E,CAAC;QACD,MAAM,KAAK,CAAC,MAAM,CAAC,+BAA+B,EAAE;YAClD,aAAa,EAAE,YAAY;SAC5B,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE;gBAC/B,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EACL,sGAAsG;gBACxG,KAAK,EAAE,wBAAwB;aAChC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;IAC3E,CAAC;YAAS,CAAC;QACT,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAsB;IAClD,OAAO,CACL,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,CAC1F,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAiB;IAClD,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;AACpE,CAAC;AAED,SAAS,0BAA0B,CACjC,SAAoB,EACpB,KAAa,EACb,GAAc;IAEd,MAAM,QAAQ,GACZ,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,KAAK,CAAC;QAC5D,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC;QACnE,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QAClE,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,YAAY,CACpB,8BAA8B,EAC9B,6BAA6B,GAAG,CAAC,KAAK,yBAAyB,KAAK,IAAI,CACzE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAC/B,GAAc,EACd,SAAoB;IAEpB,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACxC,MAAM,gBAAgB,GACpB,SAAS,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IAC3E,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,KAAK;QACjB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACvE,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;KACrE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gCAAgC,CAC7C,KAAgC,EAChC,WAA2B,EAC3B,KAAa,EACb,GAAc;IAEd,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACvF,0BAA0B,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAClD,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3E,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,IAAY,EACZ,KAAa,EACb,GAAc,EACd,MAAiC,EACjC,KAAa,EACb,GAAe;IAEf,MAAM,WAAW,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,QAAQ,KAAK,SAAS,IAAI,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClE,0BAA0B,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACjD,MAAM,IAAI,YAAY,CACpB,8BAA8B,EAC9B,QAAQ,GAAG,CAAC,KAAK,sEAAsE,CACxF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,WAAW,CAAC,KAAK,CAAC;QACtB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK;QACL,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;QACnB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;QACnB,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,YAAY;QAC9C,MAAM;QACN,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,SAAS;QAC3C,UAAU,EAAE,SAAS;QACrB,GAAG,CAAC,QAAQ,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC7D,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,IAAY,EACZ,IAAyB;IAEzB,MAAM,WAAW,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,SAAS,EAAE,GAAG,KAAK,SAAS,IAAI,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,yBAAyB,CAChC,GAAc;IAEd,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,KAAK,EACH,GAAG,CAAC,KAAK;gBACT,mEAAmE;SACtE,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,KAAK,EACH,GAAG,CAAC,KAAK;gBACT,gFAAgF;SACnF,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,IAAY,EACZ,KAAa,EACb,GAAc,EACd,GAAe;IAEf,MAAM,QAAQ,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO;IACnC,MAAM,SAAS,GAAG,MAAM,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjE,IAAI,SAAS,EAAE,MAAM,KAAK,QAAQ,CAAC,MAAM;QAAE,OAAO;IAClD,IACE,SAAS,KAAK,SAAS;QACvB,SAAS,CAAC,MAAM,KAAK,SAAS;QAC9B,SAAS,CAAC,MAAM,KAAK,SAAS,EAC9B,CAAC;QACD,OAAO;IACT,CAAC;IACD,MAAM,2BAA2B,CAC/B,IAAI,EACJ,KAAK,EACL,GAAG,EACH,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,KAAK,EACd,GAAG,CACJ,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,+BAA+B,CAC5C,IAAY,EACZ,KAAa,EACb,IAAyB,EACzB,GAAe;IAEf,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,6BAA6B,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAa,EACb,OAAO,GAEH,EAAE;IAEN,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7D,IAAI,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrD,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,+BAA+B,CACnC,IAAI,EACJ,KAAK,EACL,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAC/B,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAClC,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,iCAAiC,CAAC;IACnE,MAAM,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/D,IAAI,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;QAChD,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAC3D,CAAC,CAAC;IACH,MAAM,YAAY,GAChB,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC;QACjE,OAAO,CAAC,OAAO,KAAK,SAAS;QAC7B,CAAC,MAAM,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1D,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;QAC5D,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;YAC5C,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QACpE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IAC1D,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,IAAI,YAAY,CACpB,uBAAuB,EACvB,QAAQ,KAAK,sGAAsG,CACpH,CAAC;IACJ,CAAC;IACD,IAAI,KAAmB,CAAC;IACxB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC;YAC/B,IAAI;YACJ,KAAK;YACL,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,YAAY;YAC7B,CAAC,KAAK,CAAC,IAAI,KAAK,oBAAoB,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB,CAAC,EAC/E,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QAC1D,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjD,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,KAAK,CAAC,MAAM,CAAC,4BAA4B,EAAE;gBAC/C,QAAQ,EAAE,YAAY,CAAC,OAAO;gBAC9B,kBAAkB,EAAE,YAAY,CAAC,SAAS;aAC3C,CAAC,CAAC;QACL,CAAC;QACD,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,+BAA+B,CACnC,IAAI,EACJ,KAAK,EACL,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAC/B,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAClC,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QACjE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CACnD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAC9D,CAAC;QACF,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAC3B,OAAO,EACL,sFAAsF;oBACxF,iBAAiB,EAAE,aAAa;iBACjC,CAAC,CAAC;gBACH,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACvB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;YAC1D,CAAC;QACH,CAAC;QACD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,uBAAuB,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QACzD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IACE,CAAC,MAAM,gCAAgC,CACrC,KAAK,EACL,uBAAuB,EACvB,KAAK,EACL,GAAG,CACJ,CAAC,KAAK,SAAS,EAChB,CAAC;gBACD,SAAS;YACX,CAAC;YACD,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC;YACpF,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;YACjE,MAAM,aAAa,GAAG,aAAa;gBACjC,CAAC,CAAC,mEAAmE;gBACrE,CAAC,CAAC,gFAAgF,CAAC;YACrF,MAAM,2BAA2B,CAC/B,IAAI,EACJ,KAAK,EACL,GAAG,EACH,cAAc,EACd,aAAa,EACb,eAAe,CAChB,CAAC;YACF,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE;gBAC/B,MAAM,EAAE,GAAG,CAAC,KAAK;gBACjB,MAAM,EAAE,cAAc;gBACtB,KAAK,EAAE,aAAa;aACrB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACtE,CAAC;YAAS,CAAC;QACT,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAa,EACb,KAAa,EACb,OAAO,GAEH,EAAE;IAEN,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7D,IAAI,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrD,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,WAAW,KAAK,oBAAoB,KAAK,IAAI,CAAC,CAAC;IACzF,CAAC;IACD,IACE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,EACtD,CAAC;QACD,MAAM,6BAA6B,CACjC,IAAI,EACJ,KAAK,EACL,GAAG,EACH,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAClC,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;IACvD,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,qCAAqC,CAAC;IACvE,MAAM,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;QAChD,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAC3D,CAAC,CAAC;IACH,MAAM,YAAY,GAChB,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC;QACjE,OAAO,CAAC,OAAO,KAAK,SAAS;QAC7B,CAAC,MAAM,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1D,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;QAC5D,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;YAC5C,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QACpE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,IAAI,YAAY,CACpB,uBAAuB,EACvB,QAAQ,KAAK,0GAA0G,CACxH,CAAC;IACJ,CAAC;IACD,IAAI,KAAmB,CAAC;IACxB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC;YAC/B,IAAI;YACJ,KAAK;YACL,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,YAAY;YAC7B,CAAC,KAAK,CAAC,IAAI,KAAK,oBAAoB,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB,CAAC,EAC/E,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QAChD,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjD,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,KAAK,CAAC,MAAM,CAAC,4BAA4B,EAAE;gBAC/C,QAAQ,EAAE,YAAY,CAAC,OAAO;gBAC9B,kBAAkB,EAAE,YAAY,CAAC,SAAS;aAC3C,CAAC,CAAC;QACL,CAAC;QACD,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,WAAW,KAAK,oBAAoB,KAAK,IAAI,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACzD,MAAM,6BAA6B,CACjC,IAAI,EACJ,KAAK,EACL,GAAG,EACH,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAClC,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;QACvD,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClE,IACE,CAAC,MAAM,gCAAgC,CACrC,KAAK,EACL,IAAI,cAAc,CAAC,IAAI,CAAC,EACxB,KAAK,EACL,GAAG,CACJ,CAAC,KAAK,SAAS,EAChB,CAAC;gBACD,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;YACvD,CAAC;YACD,MAAM,KAAK,GAAG,mEAAmE,CAAC;YAClF,MAAM,2BAA2B,CAC/B,IAAI,EACJ,KAAK,EACL,GAAG,EACH,WAAW,EACX,KAAK,EACL,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAClC,CAAC;YACF,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE;gBAC/B,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,WAAW;gBACnB,KAAK;aACN,CAAC,CAAC;YACH,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QAChD,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC3B,OAAO,EAAE,kEAAkE,KAAK,kBAAkB;gBAClG,iBAAiB,EAAE,aAAa;aACjC,CAAC,CAAC;YACH,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QAChD,CAAC;QACD,IACE,CAAC,MAAM,gCAAgC,CACrC,KAAK,EACL,IAAI,cAAc,CAAC,IAAI,CAAC,EACxB,KAAK,EACL,GAAG,CACJ,CAAC,KAAK,SAAS,EAChB,CAAC;YACD,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;QACvD,CAAC;QACD,MAAM,cAAc,GAClB,gFAAgF,CAAC;QACnF,MAAM,2BAA2B,CAC/B,IAAI,EACJ,KAAK,EACL,GAAG,EACH,WAAW,EACX,cAAc,EACd,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAClC,CAAC;QACF,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE;YAC/B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,cAAc;SACtB,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE;gBAC/B,IAAI,EAAE,sCAAsC;gBAC5C,OAAO,EAAE,QAAQ,KAAK,2EAA2E;gBACjG,KAAK,EAAE,kBAAkB;aAC1B,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAChD,CAAC;YAAS,CAAC;QACT,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"api-runtime-lifecycle.js","sourceRoot":"","sources":["../../src/api-runtime-lifecycle.ts"],"names":[],"mappings":"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"}
package/dist/src/api.d.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  import type { ContinueCueLineRunOptions, StartCueLineRunOptions } from "./api-contracts.js";
2
+ import { verifyCueLineRun } from "./api-run-verification.js";
2
3
  import { claimCueLineCallerJob, heartbeatCueLineCallerJob, releaseCueLineCallerJob, startCueLineCallerJob } from "./api-caller-work.js";
3
4
  import type { BrowserAdapter } from "./browser/browser-adapter.js";
4
5
  import { createCodexIabAdapter } from "./browser/codex-iab/chatgpt-client.js";
6
+ import { probeCodexIab } from "./browser/codex-iab/probe.js";
5
7
  import { type CueLineResult } from "./core/controller-loop.js";
6
8
  import { type CueLineRunStatusSummary } from "./core/run-status.js";
7
9
  import type { CueLineRunState } from "./core/state-machine.js";
@@ -11,10 +13,30 @@ export declare function routingConfigPath(environment?: NodeJS.ProcessEnv, expli
11
13
  export declare function startCueLineRun(options: StartCueLineRunOptions): Promise<CueLineResult>;
12
14
  export declare function runCueLine(options: StartCueLineRunOptions): Promise<CueLineResult>;
13
15
  export declare function continueCueLineRun(options: ContinueCueLineRunOptions): Promise<CueLineResult>;
14
- export { confirmManualControllerSubmission, submitCueLineCallerJobResult, } from "./api-controller-handoff.js";
16
+ export { confirmManualControllerSubmission, confirmControllerTurnNotSent, submitCueLineCallerJobResult, } from "./api-controller-handoff.js";
15
17
  export { claimCueLineCallerJob, heartbeatCueLineCallerJob, releaseCueLineCallerJob, startCueLineCallerJob, };
16
- export { cancelCueLineJob, cancelCueLineRun, loadCueLineRunState, loadCueLineRunStatus, reconcileCueLineRuntime, takeoverCueLineRuntime, } from "./api-runtime-lifecycle.js";
17
- export { createCodexIabAdapter };
18
+ export { cancelCueLineJob, cancelCueLineRun, listCueLineRuns, loadCueLineRunState, loadCueLineRunStatus, reconcileCueLineRuntime, takeoverCueLineRuntime, } from "./api-runtime-lifecycle.js";
19
+ export { diagnoseCueLineRun, diagnoseCueLineRunStatus, } from "./diagnostics/run-doctor.js";
20
+ export { verifyCueLineRun };
21
+ export { createCodexIabAdapter, probeCodexIab };
22
+ export { waitForCueLineRunChange } from "./observation/run-watch.js";
23
+ export { lintControllerCommandText } from "./protocol/lint-command.js";
24
+ export { explainRoutingConfig } from "./router/explain.js";
25
+ export { buildCueLineRunHandoff, createCueLineRunHandoff, renderCueLineRunHandoffMarkdown, } from "./observation/run-handoff.js";
26
+ export { buildCueLineRunTimeline, loadCueLineRunTimeline, } from "./observation/run-timeline.js";
27
+ export { loadCueLineRunStatusAt } from "./observation/run-status-at.js";
28
+ export { compareCueLineRuns } from "./observation/run-diff.js";
29
+ export { buildCueLineRunGraph, loadCueLineRunGraph, } from "./observation/run-graph.js";
18
30
  export { CUELINE_VERSION } from "./version.js";
19
- export type { ContinueCueLineRunOptions, CueLineCallerJobResultInput, CueLineCallerJobSubmissionOptions, CueLineCallerJobSubmissionResult, CueLineCallerWorkClaimOptions, CueLineCallerWorkClaimProof, CueLineCallerWorkClaimResult, CueLineCallerWorkMutationOptions, CueLineCallerWorkMutationResult, CueLineJobCancellationResult, CueLineRunCancellationResult, CueLineRuntimeOptions, CueLineRuntimeReconciliationResult, CueLineRuntimeTakeoverResult, ManualControllerSubmissionConfirmation, StartCueLineRunOptions, } from "./api-contracts.js";
31
+ export type { ContinueCueLineRunOptions, CueLineCallerJobResultInput, CueLineCallerJobSubmissionOptions, CueLineCallerJobSubmissionResult, CueLineCallerWorkClaimOptions, CueLineCallerWorkClaimProof, CueLineCallerWorkClaimResult, CueLineCallerWorkMutationOptions, CueLineCallerWorkMutationResult, CueLineJobCancellationResult, CueLineRunListEntry, CueLineRunCancellationResult, CueLineRunVerificationFinding, CueLineRunVerificationOutcome, CueLineRunVerificationReport, CueLineRuntimeOptions, CueLineRuntimeReconciliationResult, CueLineRuntimeTakeoverResult, ManualControllerSubmissionConfirmation, StartCueLineRunOptions, } from "./api-contracts.js";
32
+ export type { CueLineDiagnosticSeverity, CueLineRunDiagnosis, CueLineRunDiagnosticFinding, CueLineRunDiagnosticOutcome, } from "./diagnostics/run-doctor.js";
33
+ export type { CueLineRunWatchOptions, CueLineRunWatchResult, } from "./observation/run-watch.js";
34
+ export type { CueLineProtocolLintIssue, CueLineProtocolLintOptions, CueLineProtocolLintResult, CueLineProtocolLintRouting, CueLineProtocolLintSeverity, } from "./protocol/lint-command.js";
35
+ export type { RoutingCandidateExplanation, RoutingCandidateReasonCode, RoutingExplanation, RoutingLaneExplanation, } from "./router/explain.js";
36
+ export type { CueLineRunHandoffBuildOptions, CueLineRunHandoffContent, CueLineRunHandoffOptions, CueLineRunHandoffPacket, } from "./observation/run-handoff.js";
37
+ export type { CueLineRunTimeline, CueLineRunTimelineEntry, CueLineRunTimelineOptions, CueLineTimelineCategory, } from "./observation/run-timeline.js";
38
+ export type { CueLineRunStatusAt, CueLineRunStatusAtOptions, } from "./observation/run-status-at.js";
39
+ export type { CueLineRunDiff, CueLineRunDiffChange, CueLineRunDiffOptions, CueLineRunDiffProjection, } from "./observation/run-diff.js";
40
+ export type { CueLineRunGraph, CueLineRunGraphOptions, } from "./observation/run-graph.js";
41
+ export type { CodexIabBrowserSource, CodexIabPageProbe, CodexIabProbeOptions, CodexIabProbeResult, CodexIabProbeStatus, CodexIabTabSource, } from "./browser/codex-iab/probe.js";
20
42
  export type { BrowserAdapter, CueLineResult, CueLineRunState, CueLineRunStatusSummary, RoutingConfig, };
package/dist/src/api.js CHANGED
@@ -1,17 +1,23 @@
1
+ import path from "node:path";
1
2
  import { fileURLToPath } from "node:url";
2
- import { confirmManualControllerSubmission } from "./api-controller-handoff.js";
3
+ import { confirmControllerTurnNotSent, confirmManualControllerSubmission, } from "./api-controller-handoff.js";
4
+ import { verifyCueLineRun } from "./api-run-verification.js";
3
5
  import { claimCueLineCallerJob, heartbeatCueLineCallerJob, reconcileExpiredCallerWorkClaims, releaseCueLineCallerJob, startCueLineCallerJob, } from "./api-caller-work.js";
4
6
  import { isTerminalRun, reconcileCueLineRuntime, terminalResult, } from "./api-runtime-lifecycle.js";
5
7
  import { createCodexIabAdapter } from "./browser/codex-iab/chatgpt-client.js";
6
- import { continueControllerLoop, createControllerRun, runControllerLoop, } from "./core/controller-loop.js";
8
+ import { probeCodexIab } from "./browser/codex-iab/probe.js";
9
+ import { continueControllerLoop, createControllerRun, runControllerLoop, validateControllerRuntimeOptions, } from "./core/controller-loop.js";
10
+ import { controllerConversationArchiveNeedsRecovery } from "./core/controller-conversation-archive.js";
11
+ import { sameChatGptConversationUrl } from "./core/conversation-url.js";
7
12
  import { CueLineError } from "./core/errors.js";
8
13
  import { loadPersistedRunState, loadPersistedRunStore, } from "./core/persisted-run.js";
9
14
  import { runtimeCwd, runtimeEnvironment } from "./core/runtime.js";
15
+ import { validatedTimerDelay } from "./core/timing.js";
10
16
  import { assertRunCanContinue, isSafeStaleCallerObservationRecovery, } from "./core/run-status.js";
11
17
  import { JobStatusStore } from "./jobs/status.js";
12
18
  import { JobSupervisor } from "./jobs/supervisor.js";
13
19
  import { executableAvailability } from "./router/availability.js";
14
- import { loadRoutingConfig } from "./router/config-loader.js";
20
+ import { loadRoutingConfig, parseRoutingConfig } from "./router/config-loader.js";
15
21
  import { materializeRunnerSpec } from "./router/materialize.js";
16
22
  import { resolveRoute, validateRouteReference } from "./router/resolver.js";
17
23
  import { ProcessRunner } from "./runners/process-runner.js";
@@ -30,18 +36,10 @@ export function defaultRoutingConfigPath() {
30
36
  export function routingConfigPath(environment = runtimeEnvironment(), explicitPath) {
31
37
  return explicitPath ?? environment.CUELINE_CONFIG ?? defaultRoutingConfigPath();
32
38
  }
33
- function normalizedConversationUrl(value) {
34
- try {
35
- const parsed = new URL(value);
36
- return `${parsed.origin}${parsed.pathname}`;
37
- }
38
- catch {
39
- return value;
40
- }
41
- }
42
39
  async function resolvedRoutingConfig(options, environment) {
43
- return (options.routingConfig ??
44
- (await loadRoutingConfig(routingConfigPath(environment, options.routingConfigPath))));
40
+ return options.routingConfig === undefined
41
+ ? loadRoutingConfig(routingConfigPath(environment, options.routingConfigPath))
42
+ : parseRoutingConfig(options.routingConfig);
45
43
  }
46
44
  function registryFor(config) {
47
45
  const executables = new Set();
@@ -69,12 +67,13 @@ function routingInstruction(config, availability, executor) {
69
67
  .map((candidate) => candidate.id);
70
68
  return `${name} [${candidates.length > 0 ? candidates.join(", ") : "unavailable"}]`;
71
69
  });
72
- return `Available routing lanes: ${lanes.join("; ")}. Use only a listed lane. Select an optional candidate with the field runner; never use runner_id or place a runner ID in lane.`;
70
+ return `Available routing lanes: ${lanes.join("; ")}. Use only a listed lane. Select an optional candidate with the field runner; never use runner_id or place a runner ID in lane. If you provide workdir, it must be an absolute path; omit it to use the workspace bound by the local runtime.`;
73
71
  }
74
72
  async function prepareRuntime(options, persistedConversationUrl, persistedExecutor) {
75
73
  const environment = options.environment ?? runtimeEnvironment();
76
74
  const home = options.home ?? defaultCueLineHome(environment);
77
- const cwd = options.cwd ?? runtimeCwd();
75
+ const cwd = path.resolve(options.cwd ?? runtimeCwd());
76
+ const executor = persistedExecutor ?? options.executor ?? "caller";
78
77
  const config = await resolvedRoutingConfig(options, environment);
79
78
  const availability = executableAvailability(environment, cwd);
80
79
  const registry = registryFor(config);
@@ -93,9 +92,18 @@ async function prepareRuntime(options, persistedConversationUrl, persistedExecut
93
92
  jobSupervisor,
94
93
  validateJobSpec(job) {
95
94
  validateRouteReference(job.lane, config, job.runner);
95
+ if (executor === "process") {
96
+ if (job.workdir !== undefined && !path.isAbsolute(job.workdir)) {
97
+ throw new CueLineError("PROCESS_WORKDIR_ABSOLUTE_REQUIRED", "Process jobs must use an absolute workdir; omit workdir to bind the run's current workspace.");
98
+ }
99
+ job.workdir = path.resolve(job.workdir ?? cwd);
100
+ }
96
101
  },
97
102
  resolveRunnerSpec(jobId, job) {
98
- const route = resolveRoute(job.lane, config, availability, job.runner);
103
+ const jobAvailability = job.workdir === undefined || job.workdir === cwd
104
+ ? availability
105
+ : executableAvailability(environment, job.workdir);
106
+ const route = resolveRoute(job.lane, config, jobAvailability, job.runner);
99
107
  return materializeRunnerSpec(jobId, job, route, {
100
108
  cwd,
101
109
  ...(options.defaultTimeoutMs === undefined
@@ -104,12 +112,20 @@ async function prepareRuntime(options, persistedConversationUrl, persistedExecut
104
112
  });
105
113
  },
106
114
  controllerInstructions: [
107
- routingInstruction(config, availability, persistedExecutor ?? options.executor ?? "caller"),
115
+ routingInstruction(config, availability, executor),
108
116
  ],
109
117
  ...(conversationUrl === undefined ? {} : { conversationUrl }),
110
118
  home,
111
119
  };
112
120
  }
121
+ function validateDefaultProcessTimeout(options) {
122
+ if (options.defaultTimeoutMs === undefined)
123
+ return;
124
+ validatedTimerDelay(options.defaultTimeoutMs, {
125
+ code: "PROCESS_TIMEOUT_INVALID",
126
+ name: "defaultTimeoutMs",
127
+ });
128
+ }
113
129
  export async function startCueLineRun(options) {
114
130
  assertNotNested(options.environment ?? runtimeEnvironment());
115
131
  return createControllerRun({
@@ -121,11 +137,18 @@ export async function startCueLineRun(options) {
121
137
  ? {}
122
138
  : { allowProcessExecution: options.allowProcessExecution }),
123
139
  ...(options.maxRounds === undefined ? {} : { maxRounds: options.maxRounds }),
140
+ ...(options.archiveControllerConversationOnComplete === undefined
141
+ ? {}
142
+ : {
143
+ archiveControllerConversationOnComplete: options.archiveControllerConversationOnComplete,
144
+ }),
124
145
  ...(options.now === undefined ? {} : { now: options.now }),
125
146
  });
126
147
  }
127
148
  export async function runCueLine(options) {
128
149
  assertNotNested(options.environment ?? runtimeEnvironment());
150
+ validateControllerRuntimeOptions(options);
151
+ validateDefaultProcessTimeout(options);
129
152
  const runtime = await prepareRuntime(options);
130
153
  return runControllerLoop({
131
154
  request: options.request,
@@ -135,6 +158,11 @@ export async function runCueLine(options) {
135
158
  ...(options.allowProcessExecution === undefined
136
159
  ? {}
137
160
  : { allowProcessExecution: options.allowProcessExecution }),
161
+ ...(options.archiveControllerConversationOnComplete === undefined
162
+ ? {}
163
+ : {
164
+ archiveControllerConversationOnComplete: options.archiveControllerConversationOnComplete,
165
+ }),
138
166
  returnAfterControllerSubmission: (options.executor ?? "caller") === "caller",
139
167
  ...(options.maxRounds === undefined ? {} : { maxRounds: options.maxRounds }),
140
168
  ...(options.maxRepairAttempts === undefined
@@ -157,9 +185,40 @@ export async function runCueLine(options) {
157
185
  export async function continueCueLineRun(options) {
158
186
  const environment = options.environment ?? runtimeEnvironment();
159
187
  const home = options.home ?? defaultCueLineHome(environment);
188
+ if (options.manualSendConfirmed === true && options.reconcileRequestId === undefined) {
189
+ throw new CueLineError("CONTROLLER_RECONCILIATION_REQUEST_REQUIRED", "manualSendConfirmed requires the exact reconcileRequestId.");
190
+ }
191
+ let state = await loadPersistedRunState(home, options.runId);
192
+ if (options.archiveControllerConversationOnComplete !== undefined &&
193
+ options.archiveControllerConversationOnComplete !==
194
+ (state.controllerConversationArchive?.enabled ?? false)) {
195
+ throw new CueLineError("CONTROLLER_CONVERSATION_ARCHIVE_POLICY_MISMATCH", `Run '${options.runId}' has a different durable controller conversation archive policy.`);
196
+ }
197
+ if (options.conversationUrl !== undefined &&
198
+ state.conversationUrl !== null &&
199
+ !sameChatGptConversationUrl(options.conversationUrl, state.conversationUrl)) {
200
+ throw new CueLineError("CONTROLLER_RECONCILIATION_CONVERSATION_MISMATCH", `Run '${options.runId}' is already bound to a different ChatGPT conversation.`);
201
+ }
202
+ let recoverControllerArchive = controllerConversationArchiveNeedsRecovery(state);
203
+ if (isTerminalRun(state) &&
204
+ !recoverControllerArchive &&
205
+ options.manualSendConfirmed !== true) {
206
+ return terminalResult(state);
207
+ }
208
+ let preparedRuntime;
160
209
  if (options.manualSendConfirmed === true) {
161
- if (options.reconcileRequestId === undefined) {
162
- throw new CueLineError("CONTROLLER_RECONCILIATION_REQUEST_REQUIRED", "manualSendConfirmed requires the exact reconcileRequestId.");
210
+ assertNotNested(environment);
211
+ validateControllerRuntimeOptions(options);
212
+ validateDefaultProcessTimeout(options);
213
+ if (options.executor !== undefined && options.executor !== state.executor) {
214
+ throw new CueLineError("RUN_EXECUTOR_MISMATCH", `Run '${options.runId}' uses executor '${state.executor}', not '${options.executor}'.`);
215
+ }
216
+ if (state.executor === "process" &&
217
+ (!state.allowProcessExecution || options.allowProcessExecution !== true)) {
218
+ throw new CueLineError("PROCESS_EXECUTION_NOT_AUTHORIZED", "Continuing a process run requires allowProcessExecution=true in addition to its persisted authorization.");
219
+ }
220
+ if (!isTerminalRun(state)) {
221
+ preparedRuntime = await prepareRuntime(options, state.conversationUrl ?? undefined, state.executor);
163
222
  }
164
223
  await confirmManualControllerSubmission(options.runId, {
165
224
  home,
@@ -168,15 +227,10 @@ export async function continueCueLineRun(options) {
168
227
  ? {}
169
228
  : { conversationUrl: options.conversationUrl }),
170
229
  });
230
+ state = await loadPersistedRunState(home, options.runId);
231
+ recoverControllerArchive = controllerConversationArchiveNeedsRecovery(state);
171
232
  }
172
- let state = await loadPersistedRunState(home, options.runId);
173
- if (options.conversationUrl !== undefined &&
174
- state.conversationUrl !== null &&
175
- normalizedConversationUrl(options.conversationUrl) !==
176
- normalizedConversationUrl(state.conversationUrl)) {
177
- throw new CueLineError("CONTROLLER_RECONCILIATION_CONVERSATION_MISMATCH", `Run '${options.runId}' is already bound to a different ChatGPT conversation.`);
178
- }
179
- if (isTerminalRun(state)) {
233
+ if (isTerminalRun(state) && !recoverControllerArchive) {
180
234
  return terminalResult(state);
181
235
  }
182
236
  let runtime = await readRuntimeLease(home, options.runId, {
@@ -235,23 +289,30 @@ export async function continueCueLineRun(options) {
235
289
  });
236
290
  }
237
291
  const cancellation = await readCancellationObservation(home, options.runId);
238
- if (!isSafeStaleCallerObservationRecovery(state, runtime, cancellation)) {
292
+ if (!recoverControllerArchive &&
293
+ !isSafeStaleCallerObservationRecovery(state, runtime, cancellation)) {
239
294
  assertRunCanContinue(state, runtime, cancellation);
240
295
  }
241
- assertNotNested(environment);
242
- if (options.executor !== undefined && options.executor !== state.executor) {
243
- throw new CueLineError("RUN_EXECUTOR_MISMATCH", `Run '${options.runId}' uses executor '${state.executor}', not '${options.executor}'.`);
244
- }
245
- if (state.executor === "process" &&
246
- (!state.allowProcessExecution || options.allowProcessExecution !== true)) {
247
- throw new CueLineError("PROCESS_EXECUTION_NOT_AUTHORIZED", "Continuing a process run requires allowProcessExecution=true in addition to its persisted authorization.");
296
+ if (preparedRuntime === undefined) {
297
+ assertNotNested(environment);
298
+ if (options.executor !== undefined && options.executor !== state.executor) {
299
+ throw new CueLineError("RUN_EXECUTOR_MISMATCH", `Run '${options.runId}' uses executor '${state.executor}', not '${options.executor}'.`);
300
+ }
301
+ if (!recoverControllerArchive &&
302
+ state.executor === "process" &&
303
+ (!state.allowProcessExecution || options.allowProcessExecution !== true)) {
304
+ throw new CueLineError("PROCESS_EXECUTION_NOT_AUTHORIZED", "Continuing a process run requires allowProcessExecution=true in addition to its persisted authorization.");
305
+ }
306
+ validateControllerRuntimeOptions(options);
307
+ validateDefaultProcessTimeout(options);
308
+ preparedRuntime = await prepareRuntime(options, state.conversationUrl ?? undefined, state.executor);
248
309
  }
249
- const preparedRuntime = await prepareRuntime(options, state.conversationUrl ?? undefined, state.executor);
250
310
  return continueControllerLoop({
251
311
  runId: options.runId,
252
312
  ...preparedRuntime,
253
313
  executor: state.executor,
254
314
  ...(state.executor === "process" ? { allowProcessExecution: true } : {}),
315
+ archiveControllerConversationOnComplete: state.controllerConversationArchive?.enabled === true,
255
316
  returnAfterControllerSubmission: state.executor === "caller",
256
317
  ...(options.reconcileRequestId === undefined
257
318
  ? {}
@@ -277,9 +338,19 @@ export async function continueCueLineRun(options) {
277
338
  : { laneConcurrency: options.laneConcurrency }),
278
339
  });
279
340
  }
280
- export { confirmManualControllerSubmission, submitCueLineCallerJobResult, } from "./api-controller-handoff.js";
341
+ export { confirmManualControllerSubmission, confirmControllerTurnNotSent, submitCueLineCallerJobResult, } from "./api-controller-handoff.js";
281
342
  export { claimCueLineCallerJob, heartbeatCueLineCallerJob, releaseCueLineCallerJob, startCueLineCallerJob, };
282
- export { cancelCueLineJob, cancelCueLineRun, loadCueLineRunState, loadCueLineRunStatus, reconcileCueLineRuntime, takeoverCueLineRuntime, } from "./api-runtime-lifecycle.js";
283
- export { createCodexIabAdapter };
343
+ export { cancelCueLineJob, cancelCueLineRun, listCueLineRuns, loadCueLineRunState, loadCueLineRunStatus, reconcileCueLineRuntime, takeoverCueLineRuntime, } from "./api-runtime-lifecycle.js";
344
+ export { diagnoseCueLineRun, diagnoseCueLineRunStatus, } from "./diagnostics/run-doctor.js";
345
+ export { verifyCueLineRun };
346
+ export { createCodexIabAdapter, probeCodexIab };
347
+ export { waitForCueLineRunChange } from "./observation/run-watch.js";
348
+ export { lintControllerCommandText } from "./protocol/lint-command.js";
349
+ export { explainRoutingConfig } from "./router/explain.js";
350
+ export { buildCueLineRunHandoff, createCueLineRunHandoff, renderCueLineRunHandoffMarkdown, } from "./observation/run-handoff.js";
351
+ export { buildCueLineRunTimeline, loadCueLineRunTimeline, } from "./observation/run-timeline.js";
352
+ export { loadCueLineRunStatusAt } from "./observation/run-status-at.js";
353
+ export { compareCueLineRuns } from "./observation/run-diff.js";
354
+ export { buildCueLineRunGraph, loadCueLineRunGraph, } from "./observation/run-graph.js";
284
355
  export { CUELINE_VERSION } from "./version.js";
285
356
  //# sourceMappingURL=api.js.map