clanka 0.7.6 → 0.8.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 (51) hide show
  1. package/dist/Acp.d.ts +21 -2
  2. package/dist/Acp.d.ts.map +1 -1
  3. package/dist/Acp.js +68 -13
  4. package/dist/Acp.js.map +1 -1
  5. package/dist/Acp.test.js +118 -10
  6. package/dist/Acp.test.js.map +1 -1
  7. package/dist/AcpImage.test.js +1 -0
  8. package/dist/AcpImage.test.js.map +1 -1
  9. package/dist/Agent.d.ts.map +1 -1
  10. package/dist/Agent.js +10 -0
  11. package/dist/Agent.js.map +1 -1
  12. package/dist/Agent.test.js +47 -2
  13. package/dist/Agent.test.js.map +1 -1
  14. package/dist/AgentOutput.d.ts +8 -0
  15. package/dist/AgentOutput.d.ts.map +1 -1
  16. package/dist/AgentOutput.js +8 -0
  17. package/dist/AgentOutput.js.map +1 -1
  18. package/dist/AgentTools.d.ts.map +1 -1
  19. package/dist/AgentTools.js +22 -7
  20. package/dist/AgentTools.js.map +1 -1
  21. package/dist/AgentTools.test.d.ts +2 -0
  22. package/dist/AgentTools.test.d.ts.map +1 -0
  23. package/dist/AgentTools.test.js +63 -0
  24. package/dist/AgentTools.test.js.map +1 -0
  25. package/dist/bin/{Effect-DdkIoNCD.mjs → Effect-CeAMoJlg.mjs} +7 -2
  26. package/dist/bin/Effect-CeAMoJlg.mjs.map +1 -0
  27. package/dist/bin/{McpClient-0f-vTQC-.mjs → McpClient-zQibhsnA.mjs} +3 -3
  28. package/dist/bin/{McpClient-0f-vTQC-.mjs.map → McpClient-zQibhsnA.mjs.map} +1 -1
  29. package/dist/bin/{OutputFormatter-DN8OGwuK.mjs → OutputFormatter-C7Awn0DS.mjs} +3 -3
  30. package/dist/bin/{OutputFormatter-DN8OGwuK.mjs.map → OutputFormatter-C7Awn0DS.mjs.map} +1 -1
  31. package/dist/bin/{Schema-gTtf66A-.mjs → Schema-Bc06DxcV.mjs} +2 -2
  32. package/dist/bin/{Schema-gTtf66A-.mjs.map → Schema-Bc06DxcV.mjs.map} +1 -1
  33. package/dist/bin/{SemanticSearch-CBs6yELV.mjs → SemanticSearch-BPxQoRSC.mjs} +4 -4
  34. package/dist/bin/{SemanticSearch-CBs6yELV.mjs.map → SemanticSearch-BPxQoRSC.mjs.map} +1 -1
  35. package/dist/bin/{Stream-B5ebASRi.mjs → Stream-DlGXvw0L.mjs} +2 -2
  36. package/dist/bin/{Stream-B5ebASRi.mjs.map → Stream-DlGXvw0L.mjs.map} +1 -1
  37. package/dist/bin/cli.mjs +107 -40
  38. package/dist/bin/cli.mjs.map +1 -1
  39. package/dist/cli.js +17 -8
  40. package/dist/cli.js.map +1 -1
  41. package/package.json +1 -1
  42. package/src/Acp.test.ts +188 -9
  43. package/src/Acp.ts +92 -17
  44. package/src/AcpImage.test.ts +1 -0
  45. package/src/Agent.test.ts +54 -2
  46. package/src/Agent.ts +10 -0
  47. package/src/AgentOutput.ts +8 -0
  48. package/src/AgentTools.test.ts +116 -0
  49. package/src/AgentTools.ts +32 -12
  50. package/src/cli.ts +22 -9
  51. package/dist/bin/Effect-DdkIoNCD.mjs.map +0 -1
package/dist/Acp.d.ts CHANGED
@@ -37,6 +37,10 @@ export interface Options<RAgent, RModel> {
37
37
  * the server and resolved with `makeModel`.
38
38
  */
39
39
  readonly defaultModel: string;
40
+ /**
41
+ * Thought level used for new sessions.
42
+ */
43
+ readonly defaultThoughtLevel: ThoughtLevel;
40
44
  /**
41
45
  * Write one JSON-RPC message to the client.
42
46
  */
@@ -46,9 +50,10 @@ export interface Options<RAgent, RModel> {
46
50
  */
47
51
  readonly makeAgent: (cwd: string) => Effect.Effect<Agent.Agent, never, Scope.Scope | RAgent>;
48
52
  /**
49
- * Resolve a model id to the services an Agent needs. `None` rejects the id.
53
+ * Resolve a model id and thought level to the services an Agent needs.
54
+ * `None` rejects the combination.
50
55
  */
51
- readonly makeModel: (modelId: string) => Option.Option<Layer.Layer<ModelServices, never, RModel>>;
56
+ readonly makeModel: (modelId: string, thoughtLevel: ThoughtLevel) => Option.Option<Layer.Layer<ModelServices, never, RModel>>;
52
57
  }
53
58
  /**
54
59
  * @since 1.0.0
@@ -61,9 +66,23 @@ export interface Server<R = never> {
61
66
  */
62
67
  readonly handle: (line: string) => Effect.Effect<void, never, R>;
63
68
  }
69
+ /**
70
+ * Reasoning effort levels offered through the ACP `thought_level` config
71
+ * option.
72
+ *
73
+ * @since 1.0.0
74
+ * @category Models
75
+ */
76
+ export declare const ThoughtLevel: Schema.Literals<readonly ["none", "minimal", "low", "medium", "high", "xhigh", "max"]>;
77
+ /**
78
+ * @since 1.0.0
79
+ * @category Models
80
+ */
81
+ export type ThoughtLevel = typeof ThoughtLevel.Type;
64
82
  declare const SessionRecord_base: Schema.Class<SessionRecord, Schema.Struct<{
65
83
  readonly cwd: Schema.String;
66
84
  readonly model: Schema.String;
85
+ readonly thoughtLevel: Schema.Literals<readonly ["none", "minimal", "low", "medium", "high", "xhigh", "max"]>;
67
86
  readonly history: Schema.Codec<Prompt.Prompt, Prompt.PromptEncoded, never, never>;
68
87
  }>, {}>;
69
88
  /**
package/dist/Acp.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Acp.d.ts","sourceRoot":"","sources":["../src/Acp.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C;;;;;;;;GAQG;AACH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,aAAa,MAAM,sBAAsB,CAAA;AAE1D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,aAAa,MAAM,kCAAkC,CAAA;AACtE,OAAO,KAAK,KAAK,KAAK,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAA;AAEnD,OAAO,KAAK,aAAa,MAAM,2CAA2C,CAAA;AAC1E,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AAKxC;;;GAGG;AACH,MAAM,MAAM,aAAa,GACrB,aAAa,CAAC,aAAa,GAC3B,KAAK,CAAC,YAAY,GAClB,KAAK,CAAC,SAAS,GACf,KAAK,CAAC,aAAa,CAAA;AAEvB;;;GAGG;AACH,MAAM,WAAW,OAAO,CAAC,MAAM,EAAE,MAAM;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACvD;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,CAClB,GAAG,EAAE,MAAM,KACR,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAA;IAC5D;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,CAClB,OAAO,EAAE,MAAM,KACZ,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;CAC9D;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC,GAAG,KAAK;IAC/B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;CACjE;;;;;;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,kBAMjC;CAAG;;;;;AAEL;;;GAGG;AACH,qBAAa,QAAS,SAAQ,aAG5B;CAAG;AA8JL;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAgC,MAAM,EAAE,MAAM,+HAkiB7D,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,EAAE,MAAM,WAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,KAC7C,MAAM,CAAC,MAAM,CACd,IAAI,EACJ,aAAa,CAAC,aAAa,EAC3B,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,aAAa,GAAG,MAAM,GAAG,MAAM,CAsBrC,CAAA"}
1
+ {"version":3,"file":"Acp.d.ts","sourceRoot":"","sources":["../src/Acp.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C;;;;;;;;GAQG;AACH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,aAAa,MAAM,sBAAsB,CAAA;AAE1D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,aAAa,MAAM,kCAAkC,CAAA;AACtE,OAAO,KAAK,KAAK,KAAK,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAA;AAEnD,OAAO,KAAK,aAAa,MAAM,2CAA2C,CAAA;AAC1E,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AAKxC;;;GAGG;AACH,MAAM,MAAM,aAAa,GACrB,aAAa,CAAC,aAAa,GAC3B,KAAK,CAAC,YAAY,GAClB,KAAK,CAAC,SAAS,GACf,KAAK,CAAC,aAAa,CAAA;AAEvB;;;GAGG;AACH,MAAM,WAAW,OAAO,CAAC,MAAM,EAAE,MAAM;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B;;OAEG;IACH,QAAQ,CAAC,mBAAmB,EAAE,YAAY,CAAA;IAC1C;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACvD;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,CAClB,GAAG,EAAE,MAAM,KACR,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAA;IAC5D;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,CAClB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,YAAY,KACvB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;CAC9D;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC,GAAG,KAAK;IAC/B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;CACjE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,wFAQvB,CAAA;AAEF;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;;;;;;;AAEnD;;;GAGG;AACH,qBAAa,aAAc,SAAQ,kBAOjC;CAAG;;;;;AAEL;;;GAGG;AACH,qBAAa,QAAS,SAAQ,aAG5B;CAAG;AAqKL;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAgC,MAAM,EAAE,MAAM,+HAwkB7D,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,EAAE,MAAM,WAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,KAC7C,MAAM,CAAC,MAAM,CACd,IAAI,EACJ,aAAa,CAAC,aAAa,EAC3B,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,aAAa,GAAG,MAAM,GAAG,MAAM,CAsBrC,CAAA"}
package/dist/Acp.js CHANGED
@@ -27,6 +27,22 @@ import * as HttpClient from "effect/unstable/http/HttpClient";
27
27
  import * as KeyValueStore from "effect/unstable/persistence/KeyValueStore";
28
28
  import * as Compaction from "./Compaction.js";
29
29
  import * as Image from "./Image.js";
30
+ /**
31
+ * Reasoning effort levels offered through the ACP `thought_level` config
32
+ * option.
33
+ *
34
+ * @since 1.0.0
35
+ * @category Models
36
+ */
37
+ export const ThoughtLevel = Schema.Literals([
38
+ "none",
39
+ "minimal",
40
+ "low",
41
+ "medium",
42
+ "high",
43
+ "xhigh",
44
+ "max",
45
+ ]);
30
46
  /**
31
47
  * @since 1.0.0
32
48
  * @category Models
@@ -34,6 +50,7 @@ import * as Image from "./Image.js";
34
50
  export class SessionRecord extends Schema.Class("clanka/Acp/SessionRecord")({
35
51
  cwd: Schema.String,
36
52
  model: Schema.String,
53
+ thoughtLevel: ThoughtLevel,
37
54
  history: Prompt.Prompt,
38
55
  }) {
39
56
  }
@@ -69,6 +86,11 @@ const SetModelParams = Schema.Struct({
69
86
  sessionId: Schema.String,
70
87
  modelId: Schema.String,
71
88
  });
89
+ const SetConfigOptionParams = Schema.Struct({
90
+ sessionId: Schema.String,
91
+ configId: Schema.Literal("thought_level"),
92
+ value: ThoughtLevel,
93
+ });
72
94
  const TextBlock = Schema.Struct({
73
95
  type: Schema.Literal("text"),
74
96
  text: Schema.String,
@@ -176,15 +198,29 @@ export const make = Effect.fnUntraced(function* (options) {
176
198
  const notify = (method, params) => options.send({ jsonrpc: "2.0", method, params });
177
199
  const update = (sessionId, update) => notify("session/update", { sessionId, update });
178
200
  const getSession = (sessionId) => Effect.fromOption(Option.fromNullishOr(sessions.get(sessionId)), () => sessionNotFound(sessionId));
179
- const requireModel = (modelId) => Effect.fromOption(options.makeModel(modelId), () => new RpcError({ code: -32602, message: `Unknown model: ${modelId}` }));
180
- const modelsInfo = (session) => ({
181
- availableModels: [...new Set([session.model, options.defaultModel])].map((modelId) => ({ modelId, name: modelId })),
182
- currentModelId: session.model,
201
+ const requireModel = (modelId, thoughtLevel) => Effect.fromOption(options.makeModel(modelId, thoughtLevel), () => new RpcError({ code: -32602, message: `Unknown model: ${modelId}` }));
202
+ const configOptions = (session) => [
203
+ {
204
+ id: "thought_level",
205
+ name: "Thought level",
206
+ category: "thought_level",
207
+ type: "select",
208
+ currentValue: session.thoughtLevel,
209
+ options: ThoughtLevel.literals.map((value) => ({ value, name: value })),
210
+ },
211
+ ];
212
+ const sessionState = (session) => ({
213
+ models: {
214
+ availableModels: [...new Set([session.model, options.defaultModel])].map((modelId) => ({ modelId, name: modelId })),
215
+ currentModelId: session.model,
216
+ },
217
+ configOptions: configOptions(session),
183
218
  });
184
219
  const persist = (session) => store
185
220
  .set(session.id, new SessionRecord({
186
221
  cwd: session.cwd,
187
222
  model: session.model,
223
+ thoughtLevel: session.thoughtLevel,
188
224
  history: session.agent.history.current,
189
225
  }))
190
226
  .pipe(Effect.catch((error) => Effect.logWarning("Failed to persist session", error)));
@@ -195,6 +231,7 @@ export const make = Effect.fnUntraced(function* (options) {
195
231
  id,
196
232
  cwd: record.cwd,
197
233
  model: record.model,
234
+ thoughtLevel: record.thoughtLevel,
198
235
  agent,
199
236
  running: undefined,
200
237
  toolCalls: 0,
@@ -381,6 +418,8 @@ export const make = Effect.fnUntraced(function* (options) {
381
418
  usage: {
382
419
  inputTokens: part.inputTokens,
383
420
  outputTokens: part.outputTokens,
421
+ cacheRead: part.cacheRead,
422
+ cacheWrite: part.cacheWrite,
384
423
  },
385
424
  });
386
425
  case "ErrorRetry":
@@ -427,16 +466,22 @@ export const make = Effect.fnUntraced(function* (options) {
427
466
  const newSession = Effect.fnUntraced(function* (params) {
428
467
  const { cwd, model } = yield* decodeParams(NewSessionParams, params);
429
468
  const modelId = model ?? options.defaultModel;
430
- yield* requireModel(modelId);
431
- const session = yield* openSession(crypto.randomUUID(), new SessionRecord({ cwd, model: modelId, history: Prompt.empty }));
469
+ const thoughtLevel = options.defaultThoughtLevel;
470
+ yield* requireModel(modelId, thoughtLevel);
471
+ const session = yield* openSession(crypto.randomUUID(), new SessionRecord({
472
+ cwd,
473
+ model: modelId,
474
+ thoughtLevel,
475
+ history: Prompt.empty,
476
+ }));
432
477
  yield* persist(session);
433
- return { sessionId: session.id, models: modelsInfo(session) };
478
+ return { sessionId: session.id, ...sessionState(session) };
434
479
  });
435
480
  const loadSession = Effect.fnUntraced(function* (params, replay) {
436
481
  const { sessionId, cwd, model } = yield* decodeParams(LoadSessionParams, params);
437
482
  const existing = sessions.get(sessionId);
438
483
  if (existing !== undefined) {
439
- return { models: modelsInfo(existing) };
484
+ return sessionState(existing);
440
485
  }
441
486
  const record = yield* store
442
487
  .get(sessionId)
@@ -445,25 +490,34 @@ export const make = Effect.fnUntraced(function* (options) {
445
490
  return yield* sessionNotFound(sessionId);
446
491
  }
447
492
  const modelId = model ?? record.value.model;
448
- yield* requireModel(modelId);
493
+ yield* requireModel(modelId, record.value.thoughtLevel);
449
494
  const session = yield* openSession(sessionId, new SessionRecord({
450
495
  cwd: cwd ?? record.value.cwd,
451
496
  model: modelId,
497
+ thoughtLevel: record.value.thoughtLevel,
452
498
  history: record.value.history,
453
499
  }));
454
500
  if (replay) {
455
501
  yield* replayHistory(session);
456
502
  }
457
- return { models: modelsInfo(session) };
503
+ return sessionState(session);
458
504
  });
459
505
  const setModel = Effect.fnUntraced(function* (params) {
460
506
  const { sessionId, modelId } = yield* decodeParams(SetModelParams, params);
461
507
  const session = yield* getSession(sessionId);
462
- yield* requireModel(modelId);
508
+ yield* requireModel(modelId, session.thoughtLevel);
463
509
  session.model = modelId;
464
510
  yield* persist(session);
465
511
  return {};
466
512
  });
513
+ const setConfigOption = Effect.fnUntraced(function* (params) {
514
+ const { sessionId, value } = yield* decodeParams(SetConfigOptionParams, params);
515
+ const session = yield* getSession(sessionId);
516
+ yield* requireModel(session.model, value);
517
+ session.thoughtLevel = value;
518
+ yield* persist(session);
519
+ return { configOptions: configOptions(session) };
520
+ });
467
521
  const prompt = Effect.fnUntraced(function* (params) {
468
522
  const { sessionId, prompt } = yield* decodeParams(PromptParams, params);
469
523
  const session = yield* getSession(sessionId);
@@ -473,7 +527,7 @@ export const make = Effect.fnUntraced(function* (options) {
473
527
  message: `Session ${sessionId} already has a prompt in progress`,
474
528
  });
475
529
  }
476
- const model = yield* requireModel(session.model);
530
+ const model = yield* requireModel(session.model, session.thoughtLevel);
477
531
  // Resolve images before the turn starts, so a bad block rejects the
478
532
  // request without a model call.
479
533
  const input = yield* promptFromBlocks(session.cwd, prompt);
@@ -500,8 +554,9 @@ export const make = Effect.fnUntraced(function* (options) {
500
554
  return initialize;
501
555
  case "authenticate":
502
556
  case "session/set_mode":
503
- case "session/set_config_option":
504
557
  return Effect.succeed({});
558
+ case "session/set_config_option":
559
+ return setConfigOption(params);
505
560
  case "session/new":
506
561
  return newSession(params);
507
562
  case "session/load":
package/dist/Acp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Acp.js","sourceRoot":"","sources":["../src/Acp.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C;;;;;;;;GAQG;AACH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AAEnC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAA;AACnD,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAA;AAC7D,OAAO,KAAK,aAAa,MAAM,2CAA2C,CAAA;AAG1E,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAqDnC;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,MAAM,CAAC,KAAK,CAC7C,0BAA0B,CAC3B,CAAC;IACA,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL;;;GAGG;AACH,MAAM,OAAO,QAAS,SAAQ,MAAM,CAAC,WAAW,EAAY,CAAC,aAAa,EAAE;IAC1E,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;AAE9D,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;CAC3C,CAAC,CAAA;AAEF,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CACxC,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CACvC,CAAA;AAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;CACzC,CAAC,CAAA;AAEF,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;CACzC,CAAC,CAAA;AAEF,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC,MAAM;CACzB,CAAC,CAAA;AAEF,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC,CAAA;AAEF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC,MAAM;CACpB,CAAC,CAAA;AAEF,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM;IACvB,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;CACvC,CAAC,CAAA;AAEF,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;IACrC,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;CAC5C,CAAC,CAAA;AAEF,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,GAAG,EAAE,MAAM,CAAC,MAAM;QAClB,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3C,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;QACvC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;KACxC,CAAC;CACH,CAAC,CAAA;AAEF,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC;IAChC,SAAS;IACT,UAAU;IACV,iBAAiB;IACjB,aAAa;CACd,CAAC,CAAA;AAEF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;CACnC,CAAC,CAAA;AAEF,MAAM,YAAY,GAAG,CAAuB,MAAS,EAAE,MAAe,EAAE,EAAE,CACxE,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAC7C,MAAM,CAAC,QAAQ,CACb,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAClE,CACF,CAAA;AAEH,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAE,EAAE,CAC5C,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,sBAAsB,SAAS,EAAE,EAAE,CAAC,CAAA;AAE5E,MAAM,UAAU,GAAG,CAAC,KAA2B,EAAE,EAAE;IACjD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACjC,OAAO,KAAK,YAAY,QAAQ;QAC9B,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;AAClE,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,IAAa,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,GAAG,KAAK,GAAG,GAAG,CAAA;AAE7E,2CAA2C;AAC3C,MAAM,kBAAkB,GAAG,YAAY,CAAA;AAEvC,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,EAAE,CACxC,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;AAEzC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE;IAClD,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACzD,OAAO,MAAM,CAAC,IAAI,CAChB,aAAa,CACX,iBAAiB,IAAI,gBAAgB,KAAK,CAAC,aAAa,mBAAmB,CAC5E,CACF,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAC3C,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS;QAC/B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QACjC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC,CAAA;AACxE,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,GAAuB,EAAsB,EAAE;IACjE,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACvC,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAC/D,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;AAE9D,MAAM,YAAY,GAAG,CAAC,IAAqB,EAAE,EAAE,CAC7C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5C,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC;IAClC,QAAQ,EAAE,IAAI,CAAC,SAAS;CACzB,CAAC,CAAC,CAAA;AAEL,MAAM,cAAc,GAAG,CAAC,OAAsB,EAAE,EAAE;IAChD,MAAM,OAAO,GAAkB,EAAE,CAAA;IACjC,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;YAAE,SAAQ;QACrE,IAAI,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAAE,SAAQ;QAClD,MAAM,aAAa,GACjB,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qBAAqB,CAAA;QACxE,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAClE,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9D,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;gBAClC,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;gBACzD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAWD;;;GAGG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAC7C,OAAgC;IAMhC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,aAAa,CAAA;IAC9C,yEAAyE;IACzE,0EAA0E;IAC1E,yEAAyE;IACzE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;IAC/D,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;IAC7D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnD,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CACvC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,EACrC,aAAa,CACd,CAAA;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;IACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAA;IAE3C,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,MAAc,EAAE,EAAE,CAChD,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAElD,MAAM,MAAM,GAAG,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE,CACnD,MAAM,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;IAEjD,MAAM,UAAU,GAAG,CAAC,SAAiB,EAAE,EAAE,CACvC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CACpE,eAAe,CAAC,SAAS,CAAC,CAC3B,CAAA;IAEH,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,EAAE,CACvC,MAAM,CAAC,UAAU,CACf,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAC1B,GAAG,EAAE,CACH,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,kBAAkB,OAAO,EAAE,EAAE,CAAC,CACvE,CAAA;IAEH,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC;QACxC,eAAe,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CACtE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAC1C;QACD,cAAc,EAAE,OAAO,CAAC,KAAK;KAC9B,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,CAAC,OAAgB,EAAE,EAAE,CACnC,KAAK;SACF,GAAG,CACF,OAAO,CAAC,EAAE,EACV,IAAI,aAAa,CAAC;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO;KACvC,CAAC,CACH;SACA,IAAI,CACH,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACrB,MAAM,CAAC,UAAU,CAAC,2BAA2B,EAAE,KAAK,CAAC,CACtD,CACF,CAAA;IAEL,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAC7C,EAAU,EACV,MAAqB;QAErB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;QACxE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC7C,MAAM,OAAO,GAAY;YACvB,EAAE;YACF,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK;YACL,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,CAAC;SACb,CAAA;QACD,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QACzB,OAAO,OAAO,CAAA;IAChB,CAAC,CAAC,CAAA;IAEF,MAAM,aAAa,GAAG,CAAC,OAAgB,EAAE,EAAE,CACzC,MAAM,CAAC,OAAO,CACZ,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAC7C,CAAC,aAAa,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC,EACpD,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAA;IAEH,wEAAwE;IACxE,wBAAwB;IACxB,wEAAwE;IAExE;;;OAGG;IACH,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAClC,QAAQ,CAAC,EAAE,GAAW;QACpB,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC,CAAC,aAAa,CACzB,sBAAsB,GAAG,2BAA2B,CACrD,CAAA;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACjE,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YACpD,OAAO,KAAK,CAAC,CAAC,aAAa,CACzB,yBAAyB,GAAG,UAAU,QAAQ,CAAC,MAAM,EAAE,CACxD,CAAA;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,EAAE,CACpB,aAAa,CACX,SAAS,GAAG,gBAAgB,KAAK,CAAC,aAAa,sBAAsB,CACtE,CAAA;QACH,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;YACrE,OAAO,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC1B,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC7D,CAAC,EACD,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAClC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CACd,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,KAAK,YAAY,QAAQ;QACvB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,aAAa,CAAC,yBAAyB,GAAG,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CACpE,CACF,CACJ,CAAA;IAED;;;OAGG;IACH,MAAM,cAAc,GAAG,CACrB,GAAW,EACX,GAAW,EAC0B,EAAE,CACvC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE;QACnC,MAAM,EAAE,GAAG,EAAE,CACX,MAAM,CAAC,IAAI,CACT,aAAa,CAAC,qBAAqB,GAAG,2BAA2B,CAAC,CACnE;QACH,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CACrB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBAC5B,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC;gBACvB,KAAK,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,qBAAqB,GAAG,EAAE,CAAC;aACvD,CAAC,CAAA;YACF,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,IAAI;iBACzB,WAAW,CAAC,GAAG,CAAC;iBAChB,IAAI,CACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC,CACjE,CAAA;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YAC5C,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACxC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAChB,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;aACtB,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CACnB,aAAa,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAC9C,CACF,CAAA;YACD,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7D,OAAO,KAAK,CAAC,CAAC,aAAa,CACzB,gDAAgD,GAAG,EAAE,CACtD,CAAA;YACH,CAAC;YACD,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAChD,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,aAAa,CAAC,wBAAwB,GAAG,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAC/D,CACF,CAAA;QACH,CAAC,CAAC;KACL,CAAC,CAAA;IAEJ,MAAM,eAAe,GAAG,CACtB,GAAW,EACX,GAAW,EAC0B,EAAE;QACvC,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,UAAU,CAAC,GAAG,CAAC,CAAA;QACrD,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACxD,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC,CAAA;IAC3E,CAAC,CAAA;IAED;;;OAGG;IACH,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAC3C,KAAiB,EACjB,QAA4B,EAC5B,QAA4B;QAE5B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CACvE,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC;YACxD,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,SAAS,CACd,CAAA;QACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC,CAAC,aAAa,CACzB,yBAAyB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,EAAE,CACzE,CAAA;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CACpE,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CACzD,CAAA;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC/C,IAAI,EAAE,QAAQ,CAAC,IAAI;SACpB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF;;;OAGG;IACH,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAClD,GAAW,EACX,MAA+C;QAE/C,MAAM,KAAK,GAAkC,EAAE,CAAA;QAC/C,IAAI,IAAI,GAAkB,EAAE,CAAA;QAC5B,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAC7B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;YAChE,IAAI,GAAG,EAAE,CAAA;QACX,CAAC,CAAA;QACD,MAAM,QAAQ,GAAG,CAAC,IAAqB,EAAE,EAAE;YACzC,KAAK,EAAE,CAAA;YACP,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClB,CAAC,CAAA;QAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,MAAM;oBACT,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBACrB,MAAK;gBACP,KAAK,OAAO,EAAE,CAAC;oBACb,MAAM,KAAK,GACT,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;wBACnB,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC;wBAChD,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS;4BACvB,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;4BACxC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAA;oBACvD,QAAQ,CACN,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAC/D,CAAA;oBACD,MAAK;gBACP,CAAC;gBACD,KAAK,eAAe,EAAE,CAAC;oBACrB,IACE,KAAK,CAAC,QAAQ,KAAK,SAAS;wBAC5B,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,EACtC,CAAC;wBACD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;wBACpD,QAAQ,CACN,KAAK,CAAC,CAAC,SAAS,CACd,KAAK,EACL,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CACpC,CACF,CAAA;oBACH,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;oBAC9C,CAAC;oBACD,MAAK;gBACP,CAAC;gBACD,KAAK,UAAU,EAAE,CAAC;oBAChB,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAA;oBAC1D,IACE,IAAI,KAAK,SAAS;wBAClB,QAAQ,KAAK,SAAS;wBACtB,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAChC,CAAC;wBACD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,EAAE,CAAC,CAAA;wBAC1D,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;oBAC9D,CAAC;yBAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC9B,IAAI,CAAC,IAAI,CAAC,kBAAkB,GAAG,OAAO,IAAI,eAAe,CAAC,CAAA;oBAC5D,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;oBAC5B,CAAC;oBACD,MAAK;gBACP,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,EAAE,CAAA;QACP,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EACzC,OAAgB,EAChB,MAAuB;QAEvB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QACpD,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,IAAI,UAAU,GAAG,EAAE,CAAA;QAEnB,MAAM,IAAI,GAAG,CAAC,IAAwB,EAAuB,EAAE;YAC7D,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,gBAAgB;oBACnB,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;wBACxB,aAAa,EAAE,qBAAqB;wBACpC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;qBACjC,CAAC,CAAA;gBACJ,KAAK,aAAa;oBAChB,MAAM,GAAG,EAAE,CAAA;oBACX,OAAO,MAAM,CAAC,IAAI,CAAA;gBACpB,KAAK,aAAa;oBAChB,MAAM,IAAI,IAAI,CAAC,KAAK,CAAA;oBACpB,OAAO,MAAM,CAAC,IAAI,CAAA;gBACpB,KAAK,WAAW;oBACd,UAAU,GAAG,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,CAAA;oBAC7C,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;wBACxB,aAAa,EAAE,WAAW;wBAC1B,UAAU;wBACV,KAAK,EAAE,aAAa,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;wBACtE,IAAI,EAAE,SAAS;wBACf,MAAM,EAAE,aAAa;wBACrB,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;wBAC7B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;qBAC7D,CAAC,CAAA;gBACJ,KAAK,cAAc;oBACjB,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;wBACxB,aAAa,EAAE,kBAAkB;wBACjC,UAAU;wBACV,MAAM,EAAE,WAAW;wBACnB,SAAS,EAAE,IAAI,CAAC,MAAM;wBACtB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;qBAClE,CAAC,CAAA;gBACJ,KAAK,OAAO;oBACV,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;wBACxB,aAAa,EAAE,cAAc;wBAC7B,KAAK,EAAE;4BACL,WAAW,EAAE,IAAI,CAAC,WAAW;4BAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;yBAChC;qBACF,CAAC,CAAA;gBACJ,KAAK,YAAY;oBACf,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;wBACxB,aAAa,EAAE,qBAAqB;wBACpC,OAAO,EAAE,WAAW,CAClB,yBAAyB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAChD;qBACF,CAAC,CAAA;gBACJ,KAAK,eAAe;oBAClB,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;wBACxB,aAAa,EAAE,WAAW;wBAC1B,UAAU,EAAE,YAAY,IAAI,CAAC,EAAE,EAAE;wBACjC,KAAK,EAAE,aAAa,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;wBAC3E,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE,aAAa;wBACrB,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;qBAClC,CAAC,CAAA;gBACJ,KAAK,kBAAkB;oBACrB,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;wBACxB,aAAa,EAAE,kBAAkB;wBACjC,UAAU,EAAE,YAAY,IAAI,CAAC,EAAE,EAAE;wBACjC,MAAM,EAAE,WAAW;wBACnB,SAAS,EAAE,IAAI,CAAC,OAAO;wBACvB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;qBACnE,CAAC,CAAA;gBACJ;oBACE,OAAO,MAAM,CAAC,IAAI,CAAA;YACtB,CAAC;QACH,CAAC,CAAA;QAED,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAChB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EACvB,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC5C,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;YACjB,aAAa,EAAE,qBAAqB;YACpC,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;SACvC,CAAC,CACH,CACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;QAChC,eAAe,EAAE,CAAC;QAClB,iBAAiB,EAAE;YACjB,WAAW,EAAE,IAAI;YACjB,kBAAkB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;YACxE,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;SAC7C;QACD,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;KACxD,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAe;QAC7D,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;QACpE,MAAM,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC,YAAY,CAAA;QAC7C,KAAK,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,WAAW,CAChC,MAAM,CAAC,UAAU,EAAE,EACnB,IAAI,aAAa,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAClE,CAAA;QACD,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACvB,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAC7C,MAAe,EACf,MAAe;QAEf,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,YAAY,CACnD,iBAAiB,EACjB,MAAM,CACP,CAAA;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACxC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAA;QACzC,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,KAAK;aACxB,GAAG,CAAC,SAAS,CAAC;aACd,IAAI,CACH,MAAM,CAAC,QAAQ,CACb,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAClE,CACF,CAAA;QACH,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;QAC1C,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAA;QAC3C,KAAK,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,WAAW,CAChC,SAAS,EACT,IAAI,aAAa,CAAC;YAChB,GAAG,EAAE,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG;YAC5B,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;SAC9B,CAAC,CACH,CAAA;QACD,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAC/B,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAA;IACxC,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAe;QAC3D,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;QAC1E,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QAC5C,KAAK,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QAC5B,OAAO,CAAC,KAAK,GAAG,OAAO,CAAA;QACvB,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACvB,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAe;QACzD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;QACvE,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QAC5C,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC,CAAC,IAAI,QAAQ,CAAC;gBACzB,IAAI,EAAE,CAAC,KAAK;gBACZ,OAAO,EAAE,WAAW,SAAS,mCAAmC;aACjE,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAChD,oEAAoE;QACpE,gCAAgC;QAChC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAC1D,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CACnD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EACrB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,SAAS,CACjB,CAAA;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;QAC5D,OAAO,CAAC,OAAO,GAAG,SAAS,CAAA;QAC3B,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACvB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAA;QAC3D,IAAI,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAA;QAC3E,OAAO,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAe;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;QAClE,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;QAChD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,CACf,MAAc,EACd,MAAe,EACmC,EAAE;QACpD,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,YAAY;gBACf,OAAO,UAAU,CAAA;YACnB,KAAK,cAAc,CAAC;YACpB,KAAK,kBAAkB,CAAC;YACxB,KAAK,2BAA2B;gBAC9B,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAC3B,KAAK,aAAa;gBAChB,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;YAC3B,KAAK,cAAc;gBACjB,OAAO,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YAClC,KAAK,gBAAgB;gBACnB,OAAO,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YACnC,KAAK,mBAAmB;gBACtB,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAA;YACzB,KAAK,gBAAgB;gBACnB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA;YACvB;gBACE,OAAO,MAAM,CAAC,IAAI,CAChB,IAAI,QAAQ,CAAC;oBACX,IAAI,EAAE,CAAC,KAAK;oBACZ,OAAO,EAAE,qBAAqB,MAAM,EAAE;iBACvC,CAAC,CACH,CAAA;QACL,CAAC;IACH,CAAC,CAAA;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAC9B,QAAQ,CAAC,EAAE,IAAY;QACrB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,OAAM;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAC3C,qEAAqE;QACrE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,OAAM;QACxC,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;gBACxC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC/B,CAAC;YACD,OAAM;QACR,CAAC;QACD,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;QACrB,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAClD,MAAM,CAAC,gBAAgB,CAAC;YACtB,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;YACnE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnB,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;gBAC/B,OAAO,OAAO,CAAC,IAAI,CAAC;oBAClB,OAAO,EAAE,KAAK;oBACd,EAAE;oBACF,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;iBACpD,CAAC,CAAA;YACJ,CAAC;SACF,CAAC,CACH,CAAA;IACH,CAAC,EACD,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACrB,MAAM,CAAC,UAAU,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAC9D,CACF,CAAA;IAED,OAAO,EAAE,MAAM,EAAE,CAAA;AACnB,CAAC,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,OAA8C,EAK9C,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAA;IAChC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,EAAsB,CAAA;IACtD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CACjD,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,EACjC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAC1B,MAAM,CAAC,UAAU,CAClB,CAAA;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC;QACzB,GAAG,OAAO;QACV,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAChB,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;KACnE,CAAC,CAAA;IACF,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CACrB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CACpE,CAAA;IACD,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACxB,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC3B,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA"}
1
+ {"version":3,"file":"Acp.js","sourceRoot":"","sources":["../src/Acp.ts"],"names":[],"mappings":"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"}
package/dist/Acp.test.js CHANGED
@@ -23,7 +23,7 @@ const executor = AgentExecutor.AgentExecutor.of({
23
23
  execute: () => Stream.make("script output"),
24
24
  executeUnsafe: () => Effect.die("executeUnsafe not implemented"),
25
25
  });
26
- const makeServer = (streamText, agentExecutor = executor) => Effect.gen(function* () {
26
+ const makeServer = (streamText, agentExecutor = executor, onMakeModel) => Effect.gen(function* () {
27
27
  const sent = [];
28
28
  const languageModel = yield* LanguageModel.make({
29
29
  generateText: () => Effect.succeed([]),
@@ -32,14 +32,18 @@ const makeServer = (streamText, agentExecutor = executor) => Effect.gen(function
32
32
  const modelLayer = Layer.mergeAll(Layer.succeed(LanguageModel.LanguageModel, languageModel), Layer.succeed(Model.ProviderName, "test"), Layer.succeed(Model.ModelName, "model"));
33
33
  const server = yield* Acp.make({
34
34
  version: "test",
35
- defaultModel: "test/model",
35
+ defaultModel: "test:model",
36
+ defaultThoughtLevel: "medium",
36
37
  send: (message) => Effect.sync(() => {
37
38
  sent.push(message);
38
39
  }),
39
40
  makeAgent: () => Agent.make.pipe(Effect.provideService(AgentExecutor.AgentExecutor, agentExecutor)),
40
- makeModel: (modelId) => modelId === "test/model"
41
- ? Option.some(Layer.merge(modelLayer, Agent.layerSubagentModel(modelLayer)))
42
- : Option.none(),
41
+ makeModel: (modelId, thoughtLevel) => {
42
+ onMakeModel?.(modelId, thoughtLevel);
43
+ return modelId === "test:model" || modelId === "other:model"
44
+ ? Option.some(Layer.merge(modelLayer, Agent.layerSubagentModel(modelLayer)))
45
+ : Option.none();
46
+ },
43
47
  });
44
48
  const request = (id, method, params) => server
45
49
  .handle(JSON.stringify({ jsonrpc: "2.0", id, method, params }))
@@ -66,7 +70,7 @@ describe("Acp", () => {
66
70
  mcpServers: [],
67
71
  });
68
72
  const sessionId = created.result.sessionId;
69
- assert.strictEqual(created.result.models.currentModelId, "test/model");
73
+ assert.strictEqual(created.result.models.currentModelId, "test:model");
70
74
  const done = yield* server.request(3, "session/prompt", {
71
75
  sessionId,
72
76
  prompt: [{ type: "text", text: "hello" }],
@@ -84,6 +88,90 @@ describe("Acp", () => {
84
88
  content: { type: "text", text: "hi there" },
85
89
  });
86
90
  }))));
91
+ it.effect("reports cache usage in the ACP usage extension", () => withStore(Effect.scoped(Effect.gen(function* () {
92
+ const server = yield* makeServer(() => parts({ type: "text-start", id: "1" }, { type: "text-delta", id: "1", delta: "done" }, { type: "text-end", id: "1" }, {
93
+ type: "finish",
94
+ reason: "stop",
95
+ usage: {
96
+ inputTokens: {
97
+ total: 120,
98
+ cacheRead: 30,
99
+ cacheWrite: 6,
100
+ },
101
+ outputTokens: { total: 12 },
102
+ },
103
+ }));
104
+ const created = yield* server.request(1, "session/new", {
105
+ cwd: "/tmp",
106
+ });
107
+ const sessionId = created.result.sessionId;
108
+ yield* server.request(2, "session/prompt", {
109
+ sessionId,
110
+ prompt: [{ type: "text", text: "hello" }],
111
+ });
112
+ assert.deepStrictEqual(server
113
+ .updates(sessionId)
114
+ .find((update) => update.sessionUpdate === "usage_update"), {
115
+ sessionUpdate: "usage_update",
116
+ usage: {
117
+ inputTokens: 120,
118
+ outputTokens: 12,
119
+ cacheRead: 30,
120
+ cacheWrite: 6,
121
+ },
122
+ });
123
+ }))));
124
+ it.effect("reports zero cache usage when the provider omits cache fields", () => withStore(Effect.scoped(Effect.gen(function* () {
125
+ const server = yield* makeServer(() => parts({ type: "text-start", id: "1" }, { type: "text-delta", id: "1", delta: "done" }, { type: "text-end", id: "1" }, {
126
+ type: "finish",
127
+ reason: "stop",
128
+ usage: {
129
+ inputTokens: { total: 120 },
130
+ outputTokens: { total: 12 },
131
+ },
132
+ }));
133
+ const created = yield* server.request(1, "session/new", {
134
+ cwd: "/tmp",
135
+ });
136
+ const sessionId = created.result.sessionId;
137
+ yield* server.request(2, "session/prompt", {
138
+ sessionId,
139
+ prompt: [{ type: "text", text: "hello" }],
140
+ });
141
+ assert.deepStrictEqual(server
142
+ .updates(sessionId)
143
+ .find((update) => update.sessionUpdate === "usage_update"), {
144
+ sessionUpdate: "usage_update",
145
+ usage: {
146
+ inputTokens: 120,
147
+ outputTokens: 12,
148
+ cacheRead: 0,
149
+ cacheWrite: 0,
150
+ },
151
+ });
152
+ }))));
153
+ it.effect("applies model and thought-level changes to the next turn", () => withStore(Effect.scoped(Effect.gen(function* () {
154
+ const resolved = [];
155
+ const server = yield* makeServer(() => assistantSays("done"), executor, (modelId, thoughtLevel) => resolved.push([modelId, thoughtLevel]));
156
+ const created = yield* server.request(1, "session/new", {
157
+ cwd: "/tmp",
158
+ });
159
+ const sessionId = created.result.sessionId;
160
+ yield* server.request(2, "session/set_model", {
161
+ sessionId,
162
+ modelId: "other:model",
163
+ });
164
+ const configured = yield* server.request(3, "session/set_config_option", { sessionId, configId: "thought_level", value: "high" });
165
+ assert.strictEqual(configured.result.configOptions[0].currentValue, "high");
166
+ const rejected = yield* server.request(4, "session/set_config_option", { sessionId, configId: "thought_level", value: "turbo" });
167
+ assert.strictEqual(rejected.error?.code, -32602);
168
+ resolved.length = 0;
169
+ yield* server.request(5, "session/prompt", {
170
+ sessionId,
171
+ prompt: [{ type: "text", text: "use the selected model" }],
172
+ });
173
+ assert.deepStrictEqual(resolved, [["other:model", "high"]]);
174
+ }))));
87
175
  for (const script of [
88
176
  "console.log(1)",
89
177
  'console.log("' + "x".repeat(200) + '")',
@@ -203,13 +291,31 @@ describe("Acp", () => {
203
291
  ]);
204
292
  assert.strictEqual(tools[1].rawOutput, summary);
205
293
  }))));
206
- it.effect("loads a persisted session into a new server", () => withStore(Effect.gen(function* () {
294
+ it.effect("reports canonical state for new and loaded sessions", () => withStore(Effect.gen(function* () {
207
295
  const sessionId = yield* Effect.scoped(Effect.gen(function* () {
208
296
  const server = yield* makeServer(() => assistantSays("first"));
209
297
  const created = yield* server.request(1, "session/new", {
210
298
  cwd: "/tmp",
211
299
  });
212
- yield* server.request(2, "session/prompt", {
300
+ assert.deepStrictEqual(created.result.models, {
301
+ availableModels: [{ modelId: "test:model", name: "test:model" }],
302
+ currentModelId: "test:model",
303
+ });
304
+ assert.deepInclude(created.result.configOptions[0], {
305
+ id: "thought_level",
306
+ currentValue: "medium",
307
+ });
308
+ const legacy = yield* server.request(2, "session/new", {
309
+ cwd: "/tmp",
310
+ model: "test/model/high",
311
+ });
312
+ assert.strictEqual(legacy.error?.code, -32602);
313
+ yield* server.request(3, "session/set_config_option", {
314
+ sessionId: created.result.sessionId,
315
+ configId: "thought_level",
316
+ value: "high",
317
+ });
318
+ yield* server.request(4, "session/prompt", {
213
319
  sessionId: created.result.sessionId,
214
320
  prompt: [{ type: "text", text: "hello" }],
215
321
  });
@@ -222,7 +328,8 @@ describe("Acp", () => {
222
328
  cwd: "/tmp",
223
329
  mcpServers: [],
224
330
  });
225
- assert.strictEqual(loaded.result.models.currentModelId, "test/model");
331
+ assert.strictEqual(loaded.result.models.currentModelId, "test:model");
332
+ assert.strictEqual(loaded.result.configOptions[0].currentValue, "high");
226
333
  assert.deepStrictEqual(server.updates(sessionId).map((u) => u.sessionUpdate), ["user_message_chunk", "agent_message_chunk"]);
227
334
  const missing = yield* server.request(2, "session/load", {
228
335
  sessionId: "nope",
@@ -253,7 +360,8 @@ describe("Acp", () => {
253
360
  });
254
361
  yield* store.set(sessionId, new Acp.SessionRecord({
255
362
  cwd: "/tmp",
256
- model: "test/model",
363
+ model: "test:model",
364
+ thoughtLevel: "medium",
257
365
  history,
258
366
  }));
259
367
  let modelPrompt;
@@ -1 +1 @@
1
- {"version":3,"file":"Acp.test.js","sourceRoot":"","sources":["../src/Acp.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Acp.test.js","sourceRoot":"","sources":["../src/Acp.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAA;AACnD,OAAO,KAAK,aAAa,MAAM,2CAA2C,CAAA;AAC1E,OAAO,KAAK,aAAa,MAAM,kCAAkC,CAAA;AACjE,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAA;AAEjD,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAU7C,MAAM,YAAY,GAAG,IAAI,aAAa,CAAC,YAAY,CAAC;IAClD,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE;IACvB,cAAc,EAAE,KAAK;IACrB,MAAM,EAAE,EAAE;CACX,CAAC,CAAA;AAEF,MAAM,QAAQ,GAAG,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;IAC9C,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;IAC1C,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;IAC3C,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC;CACjE,CAAC,CAAA;AAEF,MAAM,UAAU,GAAG,CACjB,UAAkE,EAClE,aAAa,GAAG,QAAQ,EACxB,WAA6D,EAC7D,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,IAAI,GAAmB,EAAE,CAAA;IAC/B,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC;QAC9C,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,UAAU;KACX,CAAC,CAAA;IACF,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAC/B,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,EACzD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,EACzC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CACxC,CAAA;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;QAC7B,OAAO,EAAE,MAAM;QACf,YAAY,EAAE,YAAY;QAC1B,mBAAmB,EAAE,QAAQ;QAC7B,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAChB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,OAAkB,CAAC,CAAA;QAC/B,CAAC,CAAC;QACJ,SAAS,EAAE,GAAG,EAAE,CACd,KAAK,CAAC,IAAI,CAAC,IAAI,CACb,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,CAClE;QACH,SAAS,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE;YACnC,WAAW,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;YACpC,OAAO,OAAO,KAAK,YAAY,IAAI,OAAO,KAAK,aAAa;gBAC1D,CAAC,CAAC,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAC9D;gBACH,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACnB,CAAC;KACF,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,MAAc,EAAE,MAAgB,EAAE,EAAE,CAC/D,MAAM;SACH,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;SAC9D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAE,CAAC,CAAC,CAAA;IAC3D,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,MAAgB,EAAE,EAAE,CAClD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IACnE,MAAM,OAAO,GAAG,CAAC,SAAiB,EAAE,EAAE,CACpC,IAAI;SACD,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,MAAM,KAAK,gBAAgB,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CACpE;SACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAChC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AAC3C,CAAC,CAAC,CAAA;AAEJ,MAAM,KAAK,GAAG,CACZ,GAAG,KAAgD,EACR,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;AAE1E,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CACrC,KAAK,CACH,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,EAC/B,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAC5C,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,CAC9B,CAAA;AAEH,MAAM,SAAS,GAAG,CAAU,MAA8B,EAAE,EAAE,CAC5D,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,OAAO,CACZ,KAAK,CAAC,KAAK,CACT,aAAa,CAAC,WAAW,EACzB,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CACnC,CACF,CACF,CAAA;AAEH,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;IACnB,EAAE,CAAC,MAAM,CAAC,oBAAoB,EAAE,GAAG,EAAE,CACnC,SAAS,CACP,MAAM,CAAC,MAAM,CACX,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAA;QAEjE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE;YAClD,eAAe,EAAE,CAAC;SACnB,CAAC,CAAA;QACF,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAA;QAClD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QAEnE,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE;YACtD,GAAG,EAAE,MAAM;YACX,UAAU,EAAE,EAAE;SACf,CAAC,CAAA;QACF,MAAM,SAAS,GAAW,OAAO,CAAC,MAAM,CAAC,SAAS,CAAA;QAClD,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;QAEtE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,gBAAgB,EAAE;YACtD,SAAS;YACT,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;SAC1C,CAAC,CAAA;QACF,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAA;QAE/D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACzC,MAAM,CAAC,eAAe,CACpB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,qBAAqB,CAAC,EAChE;YACE;gBACE,aAAa,EAAE,qBAAqB;gBACpC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE;aAC5C;SACF,CACF,CAAA;QACD,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YACrC,aAAa,EAAE,qBAAqB;YACpC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE;SAC5C,CAAC,CAAA;IACJ,CAAC,CAAC,CACH,CACF,CACF,CAAA;IAED,EAAE,CAAC,MAAM,CAAC,gDAAgD,EAAE,GAAG,EAAE,CAC/D,SAAS,CACP,MAAM,CAAC,MAAM,CACX,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CACpC,KAAK,CACH,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,EAC/B,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAC9C,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,EAC7B;YACE,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM;YACd,KAAK,EAAE;gBACL,WAAW,EAAE;oBACX,KAAK,EAAE,GAAG;oBACV,SAAS,EAAE,EAAE;oBACb,UAAU,EAAE,CAAC;iBACd;gBACD,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;aAC5B;SACF,CACF,CACF,CAAA;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE;YACtD,GAAG,EAAE,MAAM;SACZ,CAAC,CAAA;QACF,MAAM,SAAS,GAAW,OAAO,CAAC,MAAM,CAAC,SAAS,CAAA;QAElD,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,gBAAgB,EAAE;YACzC,SAAS;YACT,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;SAC1C,CAAC,CAAA;QAEF,MAAM,CAAC,eAAe,CACpB,MAAM;aACH,OAAO,CAAC,SAAS,CAAC;aAClB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,KAAK,cAAc,CAAC,EAC5D;YACE,aAAa,EAAE,cAAc;YAC7B,KAAK,EAAE;gBACL,WAAW,EAAE,GAAG;gBAChB,YAAY,EAAE,EAAE;gBAChB,SAAS,EAAE,EAAE;gBACb,UAAU,EAAE,CAAC;aACd;SACF,CACF,CAAA;IACH,CAAC,CAAC,CACH,CACF,CACF,CAAA;IAED,EAAE,CAAC,MAAM,CACP,+DAA+D,EAC/D,GAAG,EAAE,CACH,SAAS,CACP,MAAM,CAAC,MAAM,CACX,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CACpC,KAAK,CACH,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,EAC/B,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAC9C,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,EAC7B;YACE,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM;YACd,KAAK,EAAE;gBACL,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC3B,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;aAC5B;SACF,CACF,CACF,CAAA;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE;YACtD,GAAG,EAAE,MAAM;SACZ,CAAC,CAAA;QACF,MAAM,SAAS,GAAW,OAAO,CAAC,MAAM,CAAC,SAAS,CAAA;QAElD,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,gBAAgB,EAAE;YACzC,SAAS;YACT,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;SAC1C,CAAC,CAAA;QAEF,MAAM,CAAC,eAAe,CACpB,MAAM;aACH,OAAO,CAAC,SAAS,CAAC;aAClB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,KAAK,cAAc,CAAC,EAC5D;YACE,aAAa,EAAE,cAAc;YAC7B,KAAK,EAAE;gBACL,WAAW,EAAE,GAAG;gBAChB,YAAY,EAAE,EAAE;gBAChB,SAAS,EAAE,CAAC;gBACZ,UAAU,EAAE,CAAC;aACd;SACF,CACF,CAAA;IACH,CAAC,CAAC,CACH,CACF,CACJ,CAAA;IAED,EAAE,CAAC,MAAM,CAAC,0DAA0D,EAAE,GAAG,EAAE,CACzE,SAAS,CACP,MAAM,CAAC,MAAM,CACX,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,QAAQ,GAA4B,EAAE,CAAA;QAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,CAC9B,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAC3B,QAAQ,EACR,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAClE,CAAA;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE;YACtD,GAAG,EAAE,MAAM;SACZ,CAAC,CAAA;QACF,MAAM,SAAS,GAAW,OAAO,CAAC,MAAM,CAAC,SAAS,CAAA;QAElD,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,mBAAmB,EAAE;YAC5C,SAAS;YACT,OAAO,EAAE,aAAa;SACvB,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CACtC,CAAC,EACD,2BAA2B,EAC3B,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,CACxD,CAAA;QACD,MAAM,CAAC,WAAW,CAChB,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,EAC/C,MAAM,CACP,CAAA;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CACpC,CAAC,EACD,2BAA2B,EAC3B,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,CACzD,CAAA;QACD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAA;QAEhD,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;QACnB,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,gBAAgB,EAAE;YACzC,SAAS;YACT,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC;SAC3D,CAAC,CAAA;QACF,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAC7D,CAAC,CAAC,CACH,CACF,CACF,CAAA;IAED,KAAK,MAAM,MAAM,IAAI;QACnB,gBAAgB;QAChB,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI;QACxC,6CAA6C;KAC9C,EAAE,CAAC;QACF,EAAE,CAAC,MAAM,CACP,+CAA+C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EACvE,GAAG,EAAE,CACH,SAAS,CACP,MAAM,CAAC,MAAM,CACX,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,IAAI,KAAK,GAAG,CAAC,CAAA;YACb,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CACpC,KAAK,EAAE,KAAK,CAAC;gBACX,CAAC,CAAC,KAAK,CAAC;oBACJ,IAAI,EAAE,WAAW;oBACjB,EAAE,EAAE,QAAQ;oBACZ,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,EAAE,MAAM,EAAE;iBACnB,CAAC;gBACJ,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAC1B,CAAA;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE;gBACtD,GAAG,EAAE,MAAM;aACZ,CAAC,CAAA;YACF,MAAM,SAAS,GAAW,OAAO,CAAC,MAAM,CAAC,SAAS,CAAA;YAClD,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,gBAAgB,EAAE;gBACzC,SAAS;gBACT,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;aAC3C,CAAC,CAAA;YACF,MAAM,KAAK,GAAG,MAAM;iBACjB,OAAO,CAAC,SAAS,CAAC;iBAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAA;YACzD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACnC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;YACvD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;YAC5C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;YAClD,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;gBACvC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;aAC7D,CAAC,CAAA;YACF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAA;YACzD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;YACzC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;YAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;YAClD,MAAM,CAAC,WAAW,CAChB,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EACd,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CACrC,CAAA;YACD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;QACnE,CAAC,CAAC,CACH,CACF,CACJ,CAAA;IACH,CAAC;IAED,EAAE,CAAC,MAAM,CAAC,yDAAyD,EAAE,GAAG,EAAE,CACxE,SAAS,CACP,MAAM,CAAC,MAAM,CACX,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,MAAM,GAAG,6BAA6B,CAAA;QAC5C,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,CAC9B,GAAG,EAAE,CACH,KAAK,EAAE,KAAK,CAAC;YACX,CAAC,CAAC,KAAK,CAAC;gBACJ,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;aACrC,CAAC;YACJ,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,EAC3B;YACE,GAAG,QAAQ;YACX,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC;SAC9D,CACF,CAAA;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE;YACtD,GAAG,EAAE,MAAM;SACZ,CAAC,CAAA;QACF,MAAM,SAAS,GAAW,OAAO,CAAC,MAAM,CAAC,SAAS,CAAA;QAClD,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,gBAAgB,EAAE;YACzC,SAAS;YACT,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;SAC3C,CAAC,CAAA;QACF,MAAM,KAAK,GAAG,MAAM;aACjB,OAAO,CAAC,SAAS,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAA;QACzD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACnC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAA;QAC9D,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QAC5D,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QAChD,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;YACvC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;SAC7D,CAAC,CAAA;QACF,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAChD,CAAC,CAAC,CACH,CACF,CACF,CAAA;IAED,EAAE,CAAC,MAAM,CAAC,kDAAkD,EAAE,GAAG,EAAE,CACjE,SAAS,CACP,MAAM,CAAC,MAAM,CACX,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,MAAM,GACV,iDAAiD,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACrE,MAAM,OAAO,GAAG,iCAAiC,CAAA;QACjD,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,CAC9B,GAAG,EAAE,CACH,KAAK,EAAE,KAAK,CAAC;YACX,CAAC,CAAC,KAAK,CAAC;gBACJ,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;aACvC,CAAC;YACJ,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,EAC5B;YACE,GAAG,QAAQ;YACX,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAC1B,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;SACxC,CACF,CAAA;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE;YACtD,GAAG,EAAE,MAAM;SACZ,CAAC,CAAA;QACF,MAAM,SAAS,GAAW,OAAO,CAAC,MAAM,CAAC,SAAS,CAAA;QAClD,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,gBAAgB,EAAE;YACzC,SAAS;YACT,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;SAChD,CAAC,CAAA;QACF,MAAM,KAAK,GAAG,MAAM;aACjB,OAAO,CAAC,SAAS,CAAC;aAClB,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC;YACvC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CACvC,CAAA;QACH,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACnC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;QACvD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QAClD,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QACrD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC1C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAA;QAC9D,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QAC5D,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QAChD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,mCAAmC,CAAC,CAAA;QACjE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACzC,MAAM,CAAC,WAAW,CAChB,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EACd,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CACzD,CAAA;QACD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;QACpE,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;YACvC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;SAC9D,CAAC,CAAA;QACF,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC,CAAC,CACH,CACF,CACF,CAAA;IAED,EAAE,CAAC,MAAM,CAAC,qDAAqD,EAAE,GAAG,EAAE,CACpE,SAAS,CACP,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CACpC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;YAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE;gBACtD,GAAG,EAAE,MAAM;aACZ,CAAC,CAAA;YACF,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC5C,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;gBAChE,cAAc,EAAE,YAAY;aAC7B,CAAC,CAAA;YACF,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;gBAClD,EAAE,EAAE,eAAe;gBACnB,YAAY,EAAE,QAAQ;aACvB,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE;gBACrD,GAAG,EAAE,MAAM;gBACX,KAAK,EAAE,iBAAiB;aACzB,CAAC,CAAA;YACF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAA;YAE9C,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,2BAA2B,EAAE;gBACpD,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;gBACnC,QAAQ,EAAE,eAAe;gBACzB,KAAK,EAAE,MAAM;aACd,CAAC,CAAA;YACF,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,gBAAgB,EAAE;gBACzC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;gBACnC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;aAC1C,CAAC,CAAA;YACF,OAAO,OAAO,CAAC,MAAM,CAAC,SAAmB,CAAA;QAC3C,CAAC,CAAC,CACH,CAAA;QAED,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAA;YAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,cAAc,EAAE;gBACtD,SAAS;gBACT,GAAG,EAAE,MAAM;gBACX,UAAU,EAAE,EAAE;aACf,CAAC,CAAA;YACF,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EACnC,YAAY,CACb,CAAA;YACD,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,EAC3C,MAAM,CACP,CAAA;YACD,MAAM,CAAC,eAAe,CACpB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,EACrD,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAC9C,CAAA;YAED,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,cAAc,EAAE;gBACvD,SAAS,EAAE,MAAM;gBACjB,GAAG,EAAE,MAAM;aACZ,CAAC,CAAA;YACF,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAA;YAC/C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAA;QAC3D,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CACH,CACF,CAAA;IAED,EAAE,CAAC,MAAM,CACP,yFAAyF,EACzF,GAAG,EAAE,CACH,SAAS,CACP,MAAM,CAAC,MAAM,CACX,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,aAAa,CAAA;QAC9C,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CACvC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,EACrC,GAAG,CAAC,aAAa,CAClB,CAAA;QACD,MAAM,SAAS,GAAG,mBAAmB,CAAA;QACrC,MAAM,QAAQ,GACZ,kEAAkE,CAAA;QACpE,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;YACjC,MAAM,EAAE,MAAM,CAAC,IAAI,CACjB,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAC7D;YACD,OAAO,EAAE,4BAA4B;YACrC,IAAI,EAAE;gBACJ,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE;oBACzB,OAAO,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;iBACvD,CAAC;gBACF,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE;oBAC9B,OAAO,EAAE;wBACP,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;qBAC1D;iBACF,CAAC;aACH;SACF,CAAC,CAAA;QACF,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CACd,SAAS,EACT,IAAI,GAAG,CAAC,aAAa,CAAC;YACpB,GAAG,EAAE,MAAM;YACX,KAAK,EAAE,YAAY;YACnB,YAAY,EAAE,QAAQ;YACtB,OAAO;SACR,CAAC,CACH,CAAA;QAED,IAAI,WAAsC,CAAA;QAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3C,WAAW,GAAG,OAAO,CAAC,MAAM,CAAA;YAC5B,OAAO,aAAa,CAAC,wBAAwB,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,cAAc,EAAE;YACtD,SAAS;YACT,GAAG,EAAE,MAAM;SACZ,CAAC,CAAA;QACF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAChC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAExC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,gBAAgB,EAAE;YAC3D,SAAS;YACT,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;SAC7C,CAAC,CAAA;QACF,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAA;QACpE,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAC7B,MAAM,CAAC,eAAe,CACpB,UAAU,CAAC,mBAAmB,CAAC,WAAY,CAAC,EAC5C,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAC1C,CAAA;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;QAChE,MAAM,CAAC,eAAe,CACpB,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,EACjD,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAC1C,CAAA;QAED,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE;YAC7B;gBACE,aAAa,EAAE,oBAAoB;gBACnC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1C;YACD;gBACE,aAAa,EAAE,qBAAqB;gBACpC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE;aACxD;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CACH,CACF,CACJ,CAAA;IAED,EAAE,CAAC,MAAM,CAAC,oCAAoC,EAAE,GAAG,EAAE,CACnD,SAAS,CACP,MAAM,CAAC,MAAM,CACX,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE;YACtD,GAAG,EAAE,MAAM;YACX,KAAK,EAAE,eAAe;SACvB,CAAC,CAAA;QACF,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAA;QAE/C,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;QACnE,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,mBAAmB,EAAE;YACxD,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS;YAC9B,OAAO,EAAE,eAAe;SACzB,CAAC,CAAA;QACF,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAA;QAE3C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,CAAA;QAC5D,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAA;IACjD,CAAC,CAAC,CACH,CACF,CACF,CAAA;IAED,EAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE,CACvC,SAAS,CACP,MAAM,CAAC,MAAM,CACX,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CACpC,KAAK,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CACzC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAC5B,CACF,CAAA;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE;YACtD,GAAG,EAAE,MAAM;SACZ,CAAC,CAAA;QACF,MAAM,SAAS,GAAW,OAAO,CAAC,MAAM,CAAC,SAAS,CAAA;QAClD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM;aACzB,OAAO,CAAC,CAAC,EAAE,gBAAgB,EAAE;YAC5B,SAAS;YACT,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;SAC1C,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAC1B,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACvB,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAA;IAClE,CAAC,CAAC,CACH,CACF,CACF,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -55,6 +55,7 @@ const makeServer = Effect.fnUntraced(function* () {
55
55
  const server = yield* Acp.make({
56
56
  version: "test",
57
57
  defaultModel: "test/model",
58
+ defaultThoughtLevel: "medium",
58
59
  send: (message) => Effect.sync(() => {
59
60
  sent.push(message);
60
61
  }),