@cotal-ai/connector-opencode 0.79.0 → 0.82.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.
@@ -27,6 +27,9 @@ export interface OpenCodeMapperOptions {
27
27
  threadId: string;
28
28
  /** Mints a `runId`. Connector-minted, so every `RUN_STARTED` carries `runIdSource: "connector"`. */
29
29
  mintRunId: () => string;
30
+ /** The run the write-ahead log has open when this mapper is built, so a mapper built for a
31
+ * re-established plane attributes the next records to it instead of dropping them. */
32
+ resumeRunId?: string;
30
33
  /** Emit `REASONING_*` for reasoning parts. Off by default (§7 Q1). */
31
34
  reasoning?: boolean;
32
35
  /** Arrival clock, for the records carrying no usable source stamp. Injectable for determinism. */
@@ -1 +1 @@
1
- {"version":3,"file":"agui-map.d.ts","sourceRoot":"","sources":["../src/agui-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAEL,KAAK,YAAY,EAalB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,qBAAqB;IACpC,gGAAgG;IAChG,QAAQ,EAAE,MAAM,CAAC;IACjB,oGAAoG;IACpG,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kGAAkG;IAClG,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IAClC;;;;OAIG;IACH,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAkDD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,cAAc,CAuGhF"}
1
+ {"version":3,"file":"agui-map.d.ts","sourceRoot":"","sources":["../src/agui-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAEL,KAAK,YAAY,EAalB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,qBAAqB;IACpC,gGAAgG;IAChG,QAAQ,EAAE,MAAM,CAAC;IACjB,oGAAoG;IACpG,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB;2FACuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kGAAkG;IAClG,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IAClC;;;;OAIG;IACH,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAkDD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,cAAc,CAuGhF"}
@@ -107,16 +107,34 @@ export interface OpenCodeSessionSourceOptions {
107
107
  * so the divergence is visible instead of silent.
108
108
  */
109
109
  onVanished?: (cursor: string) => void;
110
+ /**
111
+ * The cursor of the session's end when the connector last reported a turn over, if it has. A
112
+ * record at or before it is settled whatever its own marks say: the turn it belongs to has
113
+ * ended, so nothing more is coming for it. A part still filling when its turn died never gets
114
+ * its end mark and its message never reports completed, and with only the marks to go by every
115
+ * later read stopped at that part and no later turn was ever published (Sol, round 16 of
116
+ * 2026-10-13, through the built plugin).
117
+ */
118
+ endedAt?: () => string | undefined;
110
119
  }
111
120
  export declare class OpenCodeSessionSource implements DurableSource<OpenCodeRecord> {
112
121
  readonly kind = "opencode-session";
113
122
  private readonly read0;
114
123
  private readonly onVanished?;
124
+ private readonly endedAt?;
115
125
  /** The last cursor already reported as vanished. A revert leaves the cursor absent on EVERY read
116
126
  * until it advances past the removed region, so reporting per read would turn one divergence
117
127
  * into a log flood and bury the next, different one. */
118
128
  private reportedVanished?;
119
129
  constructor(opts: OpenCodeSessionSourceOptions);
130
+ /** Settled by its own marks, or by the turn it belongs to having ended. */
131
+ private settled;
132
+ /** The session's records in session order: messages by id (measured monotonic with creation
133
+ * time, 0 disagreements over the corpus), parts by id within a message. */
134
+ private ordered;
135
+ /** The position of the end: the last record's cursor, or the empty cursor of an empty session,
136
+ * which the next read with it treats as `undefined` does. */
137
+ end(): Promise<string>;
120
138
  read(cursor: string | undefined): Promise<SourceRead<OpenCodeRecord>>;
121
139
  /**
122
140
  * The contiguous run of settled records from the front, and the cursor of the last of them.
@@ -1 +1 @@
1
- {"version":3,"file":"agui-source.d.ts","sourceRoot":"","sources":["../src/agui-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE1E;6FAC6F;AAC7F,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACjD;AAED;6EAC6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,mBAAmB,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACvH,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,oEAAoE;AACpE,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,8FAA8F;AAC9F,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC;AAS5E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAazD;AAED,2FAA2F;AAC3F,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAEvD;AAgBD,MAAM,WAAW,4BAA4B;IAC3C,yBAAyB;IACzB,IAAI,EAAE,mBAAmB,CAAC;IAC1B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,qBAAa,qBAAsB,YAAW,aAAa,CAAC,cAAc,CAAC;IACzE,QAAQ,CAAC,IAAI,sBAAsB;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAA2B;IACvD;;6DAEyD;IACzD,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAEtB,IAAI,EAAE,4BAA4B;IAKxC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAmC3E;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;CAQtB"}
1
+ {"version":3,"file":"agui-source.d.ts","sourceRoot":"","sources":["../src/agui-source.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../src/launch.ts"],"names":[],"mappings":"AAgDA,eAAO,MAAM,GAAG,QAAuB,CAAC;AA+ExC;kEACkE;AAClE,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAA;CAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAEtH;;0BAE0B;AAC1B,MAAM,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,UAAU,CAAC;AAEhE,wBAAsB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA6JjF"}
1
+ {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../src/launch.ts"],"names":[],"mappings":"AAgDA,eAAO,MAAM,GAAG,QAAuB,CAAC;AA+ExC;kEACkE;AAClE,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAA;CAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAEtH;;0BAE0B;AAC1B,MAAM,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,UAAU,CAAC;AAEhE,wBAAsB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwKjF"}
package/dist/launch.js CHANGED
@@ -3,7 +3,7 @@ import { execFileSync, spawn } from "node:child_process";
3
3
  import { createServer } from "node:net";
4
4
  import { once } from "node:events";
5
5
  import { randomBytes } from "node:crypto";
6
- import { existsSync, mkdirSync, readFileSync, rmdirSync, rmSync, writeFileSync } from "node:fs";
6
+ import { existsSync, mkdirSync, readdirSync, readFileSync, rmdirSync, rmSync, writeFileSync } from "node:fs";
7
7
  import { delimiter, join } from "node:path";
8
8
 
9
9
  // src/opencode-line.ts
@@ -93,27 +93,35 @@ async function launch(tuiArgv, serveEnv) {
93
93
  if (!dataRoot) throw new Error("COTAL_OPENCODE_HOME is not set \u2014 the connector must pin the agent's data root");
94
94
  const agentHome = join(dataRoot, ".cotal", "opencode", name);
95
95
  const dbPath = join(agentHome, "opencode.db");
96
- const pidFile = join(agentHome, "serve.pid");
97
- let recorded;
96
+ let records = [];
98
97
  try {
99
- try {
100
- recorded = readFileSync(pidFile, "utf8");
101
- } catch (e) {
102
- if (e.code !== "EISDIR") throw e;
103
- rmdirSync(pidFile);
104
- }
98
+ records = readdirSync(agentHome).filter((file) => /^serve(?:\.[0-9a-f]{32})?\.pid$/.test(file));
105
99
  } catch (e) {
106
100
  if (e.code !== "ENOENT") throw e;
107
101
  }
108
- if (recorded !== void 0) {
102
+ for (const file of records) {
103
+ const record = join(agentHome, file);
104
+ let recorded;
105
+ try {
106
+ try {
107
+ recorded = readFileSync(record, "utf8");
108
+ } catch (e) {
109
+ if (e.code !== "EISDIR") throw e;
110
+ rmdirSync(record);
111
+ }
112
+ } catch (e) {
113
+ if (e.code !== "ENOENT") throw e;
114
+ }
115
+ if (recorded === void 0) continue;
109
116
  const pid = Number(recorded);
110
117
  if (isLiveOpencodeServe(pid))
111
118
  throw new Error(`agent "${name}" is already running (opencode serve pid ${pid}) \u2014 kill it first`);
112
- rmSync(pidFile, { force: true });
119
+ rmSync(record, { force: true });
113
120
  }
114
121
  const versionRaw = execFileSync(BIN, ["--version"], { encoding: "utf8" }).trim();
115
122
  const line = opencodeLine(versionRaw, BIN);
116
123
  mkdirSync(agentHome, { recursive: true });
124
+ const pidFile = join(agentHome, `serve.${randomBytes(16).toString("hex")}.pid`);
117
125
  const serveArgv = [BIN, "serve", "--hostname", "127.0.0.1", "--port", port];
118
126
  const [serveCommand, ...serveArgs] = process.platform === "win32" ? serveArgv : ["/bin/sh", "-c", RECORD_THEN_EXEC, "cotal-serve", pidFile, ...serveArgv];
119
127
  const serve = spawn(serveCommand, serveArgs, {
@@ -130,6 +138,12 @@ async function launch(tuiArgv, serveEnv) {
130
138
  });
131
139
  if (process.platform === "win32") writeFileSync(pidFile, String(serve.pid));
132
140
  serve.on("exit", () => rmSync(pidFile, { force: true }));
141
+ let tui;
142
+ for (const sig of ["SIGINT", "SIGTERM"])
143
+ process.on(sig, () => {
144
+ void terminate(serve);
145
+ if (tui) void terminate(tui);
146
+ });
133
147
  let sessionId;
134
148
  let attached = false;
135
149
  let onSession;
@@ -175,8 +189,6 @@ async function launch(tuiArgv, serveEnv) {
175
189
  if (process.env.COTAL_SERVE_HEADLESS?.trim() === "1") {
176
190
  process.stdout.write(`[cotal-serve] ${JSON.stringify({ port: Number(port), session: id })}
177
191
  `);
178
- for (const sig of ["SIGINT", "SIGTERM"])
179
- process.on(sig, () => void terminate(serve).then(() => process.exit(0)));
180
192
  return;
181
193
  }
182
194
  const tuiEnv = {
@@ -189,12 +201,7 @@ async function launch(tuiArgv, serveEnv) {
189
201
  for (const k of Object.keys(tuiEnv)) if (k.startsWith("COTAL_")) delete tuiEnv[k];
190
202
  attached = true;
191
203
  const [command, ...args] = tuiArgv({ url, session: id, line });
192
- const tui = spawn(command, args, { env: tuiEnv, stdio: "inherit" });
193
- for (const sig of ["SIGINT", "SIGTERM"])
194
- process.on(sig, () => {
195
- tui.kill(sig);
196
- serve.kill(sig);
197
- });
204
+ tui = spawn(command, args, { env: tuiEnv, stdio: "inherit" });
198
205
  serve.on("exit", () => void terminate(tui));
199
206
  tui.on("exit", (code, signal) => {
200
207
  void terminate(serve).then(() => process.exit(code ?? (signal ? 1 : 0)));
@@ -11,6 +11,12 @@
11
11
  export interface OpenCode2Event {
12
12
  id?: string;
13
13
  type: string;
14
+ /** The event's position in its aggregate's durable log, on every durable event (the
15
+ * `session.execution.*` lifecycle included, keyed by session). */
16
+ durable?: {
17
+ aggregateID: string;
18
+ seq: number;
19
+ };
14
20
  data?: Record<string, unknown>;
15
21
  }
16
22
  export interface OpenCode2EventSubscribe {
@@ -1 +1 @@
1
- {"version":3,"file":"opencode2-types.d.ts","sourceRoot":"","sources":["../src/opencode2-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,6FAA6F;AAC7F,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,oBAAoB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3F,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,0BAA0B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzG;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7H,IAAI,IAAI,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,+BAA+B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9G,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,mBAAmB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjF;AAED,4FAA4F;AAC5F,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,qBAAqB,CAAC;IAC/B,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE;QAAE,SAAS,EAAE,uBAAuB,CAAA;KAAE,CAAC;CAC/C"}
1
+ {"version":3,"file":"opencode2-types.d.ts","sourceRoot":"","sources":["../src/opencode2-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,6FAA6F;AAC7F,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb;uEACmE;IACnE,OAAO,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,oBAAoB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3F,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,0BAA0B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzG;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7H,IAAI,IAAI,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,+BAA+B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9G,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,mBAAmB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjF;AAED,4FAA4F;AAC5F,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,qBAAqB,CAAC;IAC/B,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE;QAAE,SAAS,EAAE,uBAAuB,CAAA;KAAE,CAAC;CAC/C"}