llm-relay 0.42.0 → 0.43.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.
package/dist/backend.d.ts CHANGED
@@ -131,6 +131,17 @@ export declare const TOOL_DIALECT_HEADER = "x-llm-relay-tool-dialect";
131
131
  * the stream drains. See `src/tool-use-ids.ts`.
132
132
  */
133
133
  export declare const TOOL_USE_IDS_HEADER = "x-llm-relay-tool-use-ids";
134
+ /**
135
+ * OUTBOUND tool-call ids were rewritten to this provider's stated id shape — value
136
+ * `"<n> rewritten"`. Today that is only mistral's `^[a-zA-Z0-9]{9}$` (`compat.toolCallIds:
137
+ * "strict9"`; see `src/openai-request.ts` for the 400 that states the rule).
138
+ *
139
+ * The request-direction sibling of `TOOL_USE_IDS_HEADER`, and the same maxim: an automatic fix is
140
+ * acceptable only because it is announced, a count and never an id. Unlike the response-direction
141
+ * mint the figure is final BEFORE the request is even sent, so it rides a streamed response's
142
+ * headers too.
143
+ */
144
+ export declare const TOOL_CALL_IDS_HEADER = "x-llm-relay-tool-call-ids";
134
145
  /**
135
146
  * The provider's `Retry-After` in milliseconds, or null.
136
147
  *
@@ -163,6 +174,17 @@ export declare function upstreamReportedModel(response: Response): string | unde
163
174
  * server reports end-of-stream facts, not before it writes headers.
164
175
  */
165
176
  export declare function toolUseIdRewrites(response: Response): number | undefined;
177
+ /**
178
+ * How many OUTBOUND tool-call ids this request had rewritten to the provider's stated shape, or
179
+ * `undefined` when none were. Final at request-mapping time, so it is readable as soon as the
180
+ * Response exists.
181
+ */
182
+ export declare function toolCallIdRewrites(response: Response): number | undefined;
183
+ /**
184
+ * How many replayed tool calls this request carried gemini's thought-signature sentinel on, or
185
+ * `undefined` when none did. Final at request-mapping time, like `toolCallIdRewrites`.
186
+ */
187
+ export declare function thoughtSignatureSentinels(response: Response): number | undefined;
166
188
  /**
167
189
  * Fetch the resolved provider target and return an ANTHROPIC-shaped `Response`,
168
190
  * regardless of the backend's native wire format. For kind="anthropic" this is a
package/dist/backend.js CHANGED
@@ -155,6 +155,17 @@ export const TOOL_DIALECT_HEADER = "x-llm-relay-tool-dialect";
155
155
  * the stream drains. See `src/tool-use-ids.ts`.
156
156
  */
157
157
  export const TOOL_USE_IDS_HEADER = "x-llm-relay-tool-use-ids";
158
+ /**
159
+ * OUTBOUND tool-call ids were rewritten to this provider's stated id shape — value
160
+ * `"<n> rewritten"`. Today that is only mistral's `^[a-zA-Z0-9]{9}$` (`compat.toolCallIds:
161
+ * "strict9"`; see `src/openai-request.ts` for the 400 that states the rule).
162
+ *
163
+ * The request-direction sibling of `TOOL_USE_IDS_HEADER`, and the same maxim: an automatic fix is
164
+ * acceptable only because it is announced, a count and never an id. Unlike the response-direction
165
+ * mint the figure is final BEFORE the request is even sent, so it rides a streamed response's
166
+ * headers too.
167
+ */
168
+ export const TOOL_CALL_IDS_HEADER = "x-llm-relay-tool-call-ids";
158
169
  /**
159
170
  * The provider's `Retry-After` in milliseconds, or null.
160
171
  *
@@ -207,6 +218,23 @@ export function toolUseIdRewrites(response) {
207
218
  const n = upstreamResponseMetadata.get(response)?.toolUseIdRewrites;
208
219
  return n !== undefined && n > 0 ? n : undefined;
209
220
  }
221
+ /**
222
+ * How many OUTBOUND tool-call ids this request had rewritten to the provider's stated shape, or
223
+ * `undefined` when none were. Final at request-mapping time, so it is readable as soon as the
224
+ * Response exists.
225
+ */
226
+ export function toolCallIdRewrites(response) {
227
+ const n = upstreamResponseMetadata.get(response)?.toolCallIdRewrites;
228
+ return n !== undefined && n > 0 ? n : undefined;
229
+ }
230
+ /**
231
+ * How many replayed tool calls this request carried gemini's thought-signature sentinel on, or
232
+ * `undefined` when none did. Final at request-mapping time, like `toolCallIdRewrites`.
233
+ */
234
+ export function thoughtSignatureSentinels(response) {
235
+ const n = upstreamResponseMetadata.get(response)?.thoughtSignatureSentinels;
236
+ return n !== undefined && n > 0 ? n : undefined;
237
+ }
210
238
  function attachUpstreamMetadata(response, metadata) {
211
239
  upstreamResponseMetadata.set(response, metadata);
212
240
  return response;
@@ -528,12 +556,26 @@ export async function fetchBackend(attempt, args, fetchFn = fetch) {
528
556
  return anthropicError(502, `document conversion failed: ${e.message}`, "local");
529
557
  }
530
558
  let openaiBody;
559
+ // Outbound id rewrites, from the RESOLVED compat mode on the target — the mapper is handed a
560
+ // decision, never a provider name to re-derive one from. `preserve` (everyone but mistral)
561
+ // leaves this 0 and the outbound bytes untouched.
562
+ let toolCallIdsRewritten = 0;
563
+ // The sibling pass, resolved the same way: `none` (everyone but Google's Generative Language
564
+ // API) leaves this 0 and adds nothing to the body.
565
+ let sentinelsStamped = 0;
531
566
  try {
532
567
  // The REQUEST direction is relay-owned (`openai-request.ts`); only the RESPONSE direction is
533
568
  // still llm-bridge's. llm-bridge's `universalToOpenAI` has no case for a tool_call/tool_result
534
569
  // block, so it stringified its own IR envelope into the outbound prompt — see
535
570
  // docs/tool-call-dialect-leak.md §"Second mechanism".
536
- openaiBody = anthropicRequestToOpenAi(reqJson, { model: target.model, stream: args.wantsStream });
571
+ openaiBody = anthropicRequestToOpenAi(reqJson, {
572
+ model: target.model,
573
+ stream: args.wantsStream,
574
+ ...(target.toolCallIds !== undefined ? { toolCallIds: target.toolCallIds } : {}),
575
+ onToolCallIdsRewritten: (n) => { toolCallIdsRewritten = n; },
576
+ ...(target.thoughtSignature !== undefined ? { thoughtSignature: target.thoughtSignature } : {}),
577
+ onThoughtSignatureSentinels: (n) => { sentinelsStamped = n; },
578
+ });
537
579
  }
538
580
  catch (e) {
539
581
  // A block we will not put on the wire is the caller's request being unrepresentable, not a
@@ -621,8 +663,20 @@ export async function fetchBackend(attempt, args, fetchFn = fetch) {
621
663
  // holdback is already paid by `stripThinkTagsInStream` above, and an event with no
622
664
  // `tool_use` substring costs one scan, so the gate would buy little and lose that case.
623
665
  const metadata = preflight.metadata;
666
+ if (toolCallIdsRewritten > 0)
667
+ metadata.toolCallIdRewrites = toolCallIdsRewritten;
668
+ if (sentinelsStamped > 0)
669
+ metadata.thoughtSignatureSentinels = sentinelsStamped;
624
670
  const body = rewriteToolUseIdsInStream(recovered, () => knownToolUseIds(args.reqJson), (count) => { metadata.toolUseIdRewrites = count; });
625
- return attachUpstreamMetadata(new Response(body, { status: res.status, headers: { "content-type": "text/event-stream" } }), metadata);
671
+ return attachUpstreamMetadata(new Response(body, {
672
+ status: res.status,
673
+ headers: {
674
+ "content-type": "text/event-stream",
675
+ // Unlike the response-direction mint, this count is a REQUEST fact and was final
676
+ // before a byte was sent — so a stream can announce it honestly.
677
+ ...(toolCallIdsRewritten > 0 ? { [TOOL_CALL_IDS_HEADER]: `${toolCallIdsRewritten} rewritten` } : {}),
678
+ },
679
+ }), metadata);
626
680
  }
627
681
  catch (e) {
628
682
  return anthropicError(502, `llm-relay: response translation failed: ${e.message}`, "local", {}, "relay_mapper_defect");
@@ -680,12 +734,20 @@ export async function fetchBackend(attempt, args, fetchFn = fetch) {
680
734
  ...(mintedIds.rewritten > 0
681
735
  ? { [TOOL_USE_IDS_HEADER]: `${mintedIds.rewritten} rewritten` }
682
736
  : {}),
737
+ ...(toolCallIdsRewritten > 0
738
+ ? { [TOOL_CALL_IDS_HEADER]: `${toolCallIdsRewritten} rewritten` }
739
+ : {}),
683
740
  },
684
741
  });
685
742
  const metadata = {};
686
743
  captureReportedModel(metadata, upstreamJson, "openai-chat", false);
687
744
  if (mintedIds.rewritten > 0)
688
745
  metadata.toolUseIdRewrites = mintedIds.rewritten;
746
+ if (toolCallIdsRewritten > 0)
747
+ metadata.toolCallIdRewrites = toolCallIdsRewritten;
748
+ // No header for this one — see `UpstreamResponseMetadata.thoughtSignatureSentinels`.
749
+ if (sentinelsStamped > 0)
750
+ metadata.thoughtSignatureSentinels = sentinelsStamped;
689
751
  return attachUpstreamMetadata(response, metadata);
690
752
  }
691
753
  /**
@@ -1317,7 +1379,16 @@ export async function fetchOpenAiFront(attempt, args, fetchFn = fetch) {
1317
1379
  const targetProtocol = protocol === "responses" ? "openai-responses" : "openai";
1318
1380
  try {
1319
1381
  const output = handleUniversalStreamRequest(preflight.body, "anthropic", targetProtocol);
1320
- const response = new Response(output, { status: backendRes.status, headers: { "content-type": "text/event-stream" } });
1382
+ // Same rule as the buffered rebuild below: rebuilding the response must not swallow the
1383
+ // announcement of a fix the relay applied one Response ago.
1384
+ const rewritten = backendRes.headers.get(TOOL_CALL_IDS_HEADER);
1385
+ const response = new Response(output, {
1386
+ status: backendRes.status,
1387
+ headers: {
1388
+ "content-type": "text/event-stream",
1389
+ ...(rewritten ? { [TOOL_CALL_IDS_HEADER]: rewritten } : {}),
1390
+ },
1391
+ });
1321
1392
  return metadata ? attachUpstreamMetadata(response, metadata) : response;
1322
1393
  }
1323
1394
  catch (e) {
@@ -1347,11 +1418,14 @@ export async function fetchOpenAiFront(attempt, args, fetchFn = fetch) {
1347
1418
  // announcement — an automatic fix is acceptable only because it is announced, and the count
1348
1419
  // is as true here as it was one Response ago.
1349
1420
  const minted = backendRes.headers.get(TOOL_USE_IDS_HEADER);
1421
+ // …and the outbound-id rewrite the same request mapper applied on the way IN.
1422
+ const rewritten = backendRes.headers.get(TOOL_CALL_IDS_HEADER);
1350
1423
  const response = new Response(JSON.stringify(anthropicMessageToOpenAi(body, protocol, target.model ?? String(base.model ?? ""))), {
1351
1424
  status: backendRes.status,
1352
1425
  headers: {
1353
1426
  "content-type": "application/json",
1354
1427
  ...(minted ? { [TOOL_USE_IDS_HEADER]: minted } : {}),
1428
+ ...(rewritten ? { [TOOL_CALL_IDS_HEADER]: rewritten } : {}),
1355
1429
  },
1356
1430
  });
1357
1431
  return metadata ? attachUpstreamMetadata(response, metadata) : response;
@@ -1 +1 @@
1
- {"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAwB,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,GAEjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAyB,MAAM,qBAAqB,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IACpB;IAA5B,YAA4B,OAAe;QACzC,KAAK,CAAC,mCAAmC,OAAO,6BAA6B,CAAC,CAAC;QADrD,YAAO,GAAP,OAAO,CAAQ;QAEzC,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,0BAA0B,CAAC;AAK9D,kEAAkE;AAClE,MAAM,UAAU,WAAW,CAAC,GAAa;IACvC,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC/C,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AAExD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;AAChE,uEAAuE;AACvE,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAC1D,MAAM,CAAC,MAAM,0BAA0B,GAAG,iCAAiC,CAAC;AAE5E;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,6BAA6B,CAAC;AAIpE,SAAS,YAAY,CACnB,OAAqB,EACrB,MAAmB,EACnB,QAAmB;IAEnB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAChC,OAAO,GAAG,IAAI,CAAC;YACf,QAAQ,EAAE,EAAE,CAAC;QACf,CAAC;QACD,OAAO,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAEtD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;AAEhE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAEpD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAE9C,gGAAgG;AAChG,MAAM,CAAC,MAAM,mBAAmB,GAAG,0BAA0B,CAAC;AAE9D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,0BAA0B,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAgC,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAClF,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAElC,kFAAkF;IAClF,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,KAAK,GAAG,EAAE,GAAG,GAAG,CAAC;IACvB,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC;AAcD,+EAA+E;AAC/E,wEAAwE;AACxE,MAAM,wBAAwB,GAAG,IAAI,OAAO,EAAsC,CAAC;AAcnF,MAAM,sBAAsB,GAAG,IAAI,OAAO,EAAmC,CAAC;AAE9E,SAAS,2BAA2B,CAAC,QAAkB,EAAE,KAAc;IACrE,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,CAAC,CAAC;IAClF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,qBAAqB,CAAC,QAAkB;IACtD,OAAO,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,qBAAqB,CAAC,QAAkB;IACtD,OAAO,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAkB;IAClD,MAAM,CAAC,GAAG,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IACpE,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAkB,EAAE,QAAkC;IACpF,wBAAwB,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,KAAc,EAAE,QAA0B,EAAE,QAAiB;IAC1F,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,wBAAwB,CAAC;IAEtD,8FAA8F;IAC9F,6FAA6F;IAC7F,0FAA0F;IAC1F,4FAA4F;IAC5F,0FAA0F;IAC1F,8FAA8F;IAC9F,wFAAwF;IACxF,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjG,OAAO,OAAO;YACZ,CAAC,CAAC,8CAA8C,OAAO,EAAE;YACzD,CAAC,CAAC,2CAA2C,CAAC;IAClD,CAAC;IAED,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,OAAO,uBAAuB,CAAC;QAClE,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC;QACtE,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,qBAAqB,CAAC;QAC7D,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,OAAO,yBAAyB,CAAC;YAC3D,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;YAC/D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,2BAA2B,CAAC;YAClG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBACjF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;oBAAE,OAAO,oCAAoC,CAAC;gBACpF,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;oBACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;wBAAE,OAAO,mBAAmB,CAAC;oBAClF,IAAI,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;wBAChG,OAAO,uBAAuB,CAAC;oBACjC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC;gBACnF,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;gBACxF,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY;oBAAE,OAAO,4CAA4C,CAAC;YACxF,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,OAAO,uBAAuB,CAAC;QAClE,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,uBAAuB,CAAC;YAC7F,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,4BAA4B,CAAC;YACvG,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,gCAAgC,CAAC;QACjH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC;QACZ,KAAK,cAAc,CAAC;QACpB,KAAK,oBAAoB;YACvB,OAAO,IAAI,CAAC;QACd,KAAK,eAAe;YAClB,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kCAAkC,CAAC;QAC7E,KAAK,qBAAqB;YACxB,OAAO,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,8CAA8C,CAAC;QAC/F,KAAK,qBAAqB,CAAC;QAC3B,KAAK,eAAe;YAClB,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC;QACjF,KAAK,OAAO;YACV,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,8BAA8B,CAAC;QACvE;YACE,OAAO,yCAAyC,CAAC;IACrD,CAAC;AACH,CAAC;AAMD,SAAS,oBAAoB,CAC3B,QAAkC,EAClC,KAAc,EACd,QAA0B,EAC1B,QAAiB;IAEjB,IAAI,QAAQ,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO;IACrE,MAAM,QAAQ,GAAG,QAAQ,KAAK,oBAAoB,IAAI,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe;QAC9F,CAAC,CAAC,KAAK,CAAC,OAAO;QACf,CAAC,CAAC,KAAK,CAAC;IACV,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC7D,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,KAAK,UAAU,uBAAuB,CACpC,IAAgC,EAChC,QAA0B;IAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAChC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,QAAQ,GAA6B,EAAE,CAAC;IAC9C,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,MAAM,qBAAqB,GAAG,CAAC,KAAK,GAAG,KAAK,EAAQ,EAAE;QACpD,IAAI,QAAgC,CAAC;QACrC,MAAM,SAAS,GAAG,aAAa,CAAC;QAChC,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC/D,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC;YACxB,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE;YAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,GAAoB,EAAE;QACnC,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,wEAAwE;QACxE,yEAAyE;QACzE,6DAA6D;QAC7D,qBAAqB,EAAE,CAAC;QACxB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,cAAc,CAAa;gBAChE,KAAK,CAAC,IAAI,CAAC,UAAU;oBACnB,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;wBAChC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAE,CAAC,CAAC;wBAC3C,OAAO;oBACT,CAAC;oBACD,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;wBACjC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;4BACd,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;4BAC7B,qBAAqB,CAAC,IAAI,CAAC,CAAC;4BAC5B,UAAU,CAAC,KAAK,EAAE,CAAC;wBACrB,CAAC;6BAAM,CAAC;4BACN,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;4BACzD,qBAAqB,EAAE,CAAC;4BACxB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACjC,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC;gBACD,KAAK,CAAC,MAAM,CAAC,cAAc;oBACzB,MAAM,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACtD,CAAC;aACF,CAAC,EAAE,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,KAAK,EAAE,MAAc,EAA4B,EAAE;QAC9D,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,KAAa,EAA6B,EAAE;QAChE,MAAM,IAAI,GAAG,KAAK;aACf,KAAK,CAAC,OAAO,CAAC;aACd,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;aAC1C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;aACxC,IAAI,CAAC,IAAI,CAAC;aACV,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAC5B,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,sCAAsC,CAAC;QACrE,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,8BAA8B,CAAC;QACxC,CAAC;QACD,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACvD,OAAO,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAQ,EAAE;QAChD,MAAM,IAAI,GAAG,KAAK;aACf,KAAK,CAAC,OAAO,CAAC;aACd,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;aAC1C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;aACxC,IAAI,CAAC,IAAI,CAAC;aACV,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO;QACvC,IAAI,CAAC;YACH,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;QAC1E,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,UAAU,IAAI,sBAAsB,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,gCAAgC,CAAC,CAAC;QACjE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7B,IAAI,WAAW,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACvE,iFAAiF;YACjF,4EAA4E;YAC5E,IAAI,WAAW,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjD,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACpC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACxD,WAAW,GAAG,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC/D,CAAC;gBAAC,MAAM,CAAC;oBACP,qDAAqD;gBACvD,CAAC;YACH,CAAC;YACD,IAAI,WAAW,KAAK,IAAI;gBAAE,OAAO,MAAM,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,WAAW,IAAI,sCAAsC,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QACpC,IAAI,UAAU,GAAG,sBAAsB;YAAE,OAAO,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACjG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAEzD,IAAI,QAAgC,CAAC;QACrC,MAAM,SAAS,GAAG,aAAa,CAAC;QAChC,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC/D,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,MAAM,KAAK,SAAS;gBAAE,SAAS;YACnC,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;YAEzC,OAAO,MAAM,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,0CAA0C,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAwB,EACxB,IAUC,EACD,UAAwB,KAAK;IAE7B,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,MAAM,IAAI,GAAgB,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACvG,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK;YACpB,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;YACtF,CAAC,CAAC,MAAM,CAAC;QACX,sFAAsF;QACtF,sFAAsF;QACtF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC;QACnE,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,YAAY;YAAE,OAAO,GAAG,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAC3G,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,cAAc,CAAC,GAAG,EAAE,8DAA8D,EAAE,UAAU,EAAE;oBACrG,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;iBACjC,EAAE,2BAA2B,CAAC,CAAC;YAClC,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;YAChF,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;gBAClB,OAAO,cAAc,CAAC,GAAG,EAAE,mDAAmD,SAAS,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE;oBAC5G,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;iBACjC,EAAE,2BAA2B,CAAC,CAAC;YAClC,CAAC;YACD,OAAO,sBAAsB,CAC3B,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,EAC1E,SAAS,CAAC,QAAQ,CACnB,CAAC;QACJ,CAAC;QAED,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC;gBAAE,OAAO,2BAA2B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACpF,OAAO,cAAc,CAAC,GAAG,EAAE,wEAAwE,EAAE,UAAU,EAAE;gBAC/G,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;aACjC,EAAE,2BAA2B,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,aAAa,GAAG,qBAAqB,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAC/E,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,cAAc,CAAC,GAAG,EAAE,mDAAmD,aAAa,EAAE,EAAE,UAAU,EAAE;gBACzG,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;aACjC,EAAE,2BAA2B,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,QAAQ,GAA6B,EAAE,CAAC;QAC9C,oBAAoB,CAAC,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAClE,OAAO,sBAAsB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,oBAAoB;IACpB,2FAA2F;IAC3F,wFAAwF;IACxF,4FAA4F;IAC5F,sFAAsF;IACtF,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC3B,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,sFAAsF;QACtF,sFAAsF;QACtF,IAAI,CAAC,YAAY,aAAa;YAAE,OAAO,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/F,OAAO,cAAc,CAAC,GAAG,EAAE,+BAAgC,CAAW,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7F,CAAC;IAED,IAAI,UAAmC,CAAC;IACxC,IAAI,CAAC;QACH,6FAA6F;QAC7F,+FAA+F;QAC/F,8EAA8E;QAC9E,sDAAsD;QACtD,UAAU,GAAG,wBAAwB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACpG,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,2FAA2F;QAC3F,wEAAwE;QACxE,IAAI,CAAC,YAAY,mBAAmB;YAAE,OAAO,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QACrG,OAAO,cAAc,CAAC,GAAG,EAAE,+BAAgC,CAAW,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7F,CAAC;IACD,sFAAsF;IACtF,qFAAqF;IACrF,mFAAmF;IACnF,IAAI,IAAI,CAAC,WAAW;QAAE,UAAU,CAAC,cAAc,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAE1E,MAAM,IAAI,GAAG,CAAC,IAA6B,EAAE,EAAE,CAC7C,WAAW,CAAC,MAAM,CAAC,IAAI,GAAG,mBAAmB,EAAE;QAC7C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC;QACpC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;IAEL,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;IAEjC,oFAAoF;IACpF,6EAA6E;IAC7E,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,UAAU,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC;QACvF,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACzC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,GAAG,UAAU,CAAC;QAC9D,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,cAAc,GAAG,wBAAwB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvE,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,2BAA2B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;QACD,6EAA6E;QAC7E,sEAAsE;QACtE,2DAA2D;QAC3D,MAAM,IAAI,GACR,GAAG,CAAC,MAAM,KAAK,GAAG;YAChB,CAAC,CAAC,aAAa,MAAM,CAAC,KAAK,gCAAgC,MAAM,CAAC,QAAQ,yDAAyD;YACnI,CAAC,CAAC,EAAE,CAAC;QACT,2FAA2F;QAC3F,2FAA2F;QAC3F,6FAA6F;QAC7F,oFAAoF;QACpF,OAAO,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,uBAAuB,GAAG,CAAC,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE;YAC/G,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,cAAc,CAAC,GAAG,EAAE,2DAA2D,EAAE,UAAU,EAAE;gBAClG,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;aACjC,EAAE,2BAA2B,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACzE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;YAClB,OAAO,cAAc,CAAC,GAAG,EAAE,gDAAgD,SAAS,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE;gBACzG,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;aACjC,EAAE,2BAA2B,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,4BAA4B,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YACvF,sFAAsF;YACtF,wFAAwF;YACxF,iFAAiF;YACjF,MAAM,cAAc,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;YAC1D,4FAA4F;YAC5F,2FAA2F;YAC3F,0CAA0C;YAC1C,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAqF,CAAC;YAChI,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YACtG,6FAA6F;YAC7F,6FAA6F;YAC7F,uFAAuF;YACvF,2FAA2F;YAC3F,2FAA2F;YAC3F,6FAA6F;YAC7F,6FAA6F;YAC7F,0FAA0F;YAC1F,mFAAmF;YACnF,wFAAwF;YACxF,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;YACpC,MAAM,IAAI,GAAG,yBAAyB,CACpC,SAAS,EACT,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EACnC,CAAC,KAAK,EAAE,EAAE,GAAG,QAAQ,CAAC,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,CACnD,CAAC;YACF,OAAO,sBAAsB,CAC3B,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,mBAAmB,EAAE,EAAE,CAAC,EAC5F,QAAQ,CACT,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,cAAc,CAAC,GAAG,EAAE,2CAA4C,CAAW,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAC;QACpI,CAAC;IACH,CAAC;IAED,IAAI,YAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,YAAY,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC;YAAE,OAAO,2BAA2B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACpF,OAAO,cAAc,CAAC,GAAG,EAAE,qEAAqE,EAAE,UAAU,EAAE;YAC5G,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;SACjC,EAAE,2BAA2B,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,aAAa,GAAG,qBAAqB,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IAChF,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,cAAc,CAAC,GAAG,EAAE,gDAAgD,aAAa,EAAE,EAAE,UAAU,EAAE;YACtG,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;SACjC,EAAE,2BAA2B,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,aAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAqF,CAAC;QAChI,aAAa,GAAG,yBAAyB,CAAC,YAAuC,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAClH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,uBAAuB,EAAE,CAAC;YACzC,2FAA2F;YAC3F,0FAA0F;YAC1F,oFAAoF;YACpF,OAAO,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,0BAA0B,CAAC,CAAC;QACpG,CAAC;QACD,0FAA0F;QAC1F,mEAAmE;QACnE,OAAO,cAAc,CAAC,GAAG,EAAE,2CAA4C,CAAW,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAC;IACpI,CAAC;IACD,gGAAgG;IAChG,iGAAiG;IACjG,iGAAiG;IACjG,iEAAiE;IACjE,MAAM,SAAS,GAAG,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACpE,IAAI,SAAS,CAAC,OAAO;QAAE,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC;IACzD,gGAAgG;IAChG,8FAA8F;IAC9F,yEAAyE;IACzE,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;QAC3D,MAAM,EAAE,GAAG;QACX,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC;gBACzB,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,EAAE,GAAG,SAAS,CAAC,SAAS,YAAY,EAAE;gBAC/D,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC,CAAC;IACH,MAAM,QAAQ,GAA6B,EAAE,CAAC;IAC9C,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IACnE,IAAI,SAAS,CAAC,SAAS,GAAG,CAAC;QAAE,QAAQ,CAAC,iBAAiB,GAAG,SAAS,CAAC,SAAS,CAAC;IAC9E,OAAO,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAC3B,OAAe,EACf,OAAgB;IAEhB,MAAM,OAAO,GAAI,OAAiC,CAAC,OAAO,CAAC;IAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;QAC1F,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACzC,CAAC;IACD,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,IAAI,GAAG,CAAC,SAAS,KAAK,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAChE,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;AACrF,CAAC;AAED,uFAAuF;AACvF,SAAS,kBAAkB,CAAC,OAAe;IACzC,MAAM,OAAO,GAAI,OAAwD,CAAC,OAAO,IAAI,EAAE,CAAC;IACxF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAC/G,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,CAA0B,EAC1B,KAAa,EACb,OAA0F;IAE1F,MAAM,MAAM,GAAI,CAAC,CAAC,OAAsD,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACpF,MAAM,GAAG,GAAI,MAAM,CAAC,OAA+C,IAAI,EAAE,CAAC;IAC1E,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,SAAS,GAAI,GAAG,CAAC,UAAyD,IAAI,EAAE,CAAC;IACrF,6FAA6F;IAC7F,4EAA4E;IAC5E,MAAM,WAAW,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE/F,4FAA4F;IAC5F,uEAAuE;IACvE,IAAI,SAAS,GAAsB,EAAE,CAAC;IACtC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7E,MAAM,GAAG,GAAG,gBAAgB,CAAC,WAAW,EAAE,OAAO,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;QAChE,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC5B,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC;YACtB,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACrC,yFAAyF;YACzF,wFAAwF;YACxF,yFAAyF;YACzF,2FAA2F;YAC3F,MAAM,IAAI,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;SAAM,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACnC,EAAE,EAAE,gBAAgB,CAAC,EAAE;YACvB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;SAC/D,CAAC,CAAC,CAAC;IACN,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAI,EAAE,CAAC,QAAgD,IAAI,EAAE,CAAC;QACtE,IAAI,KAAc,CAAC;QACnB,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAE,EAAE,CAAC,SAAoB,IAAI,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,KAAK,GAAG,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC;QAAC,CAAC;QACnG,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAG,EAAE,CAAC,EAAa,IAAI,IAAI,EAAE,IAAI,EAAG,EAAE,CAAC,IAAe,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5G,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAmC,CAAC;IAC1D,MAAM,UAAU,GACd,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,UAAU,CAAC;IACjI,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,MAAM,KAAK,GAAG,QAAQ;QACpB,CAAC,OAAO,QAAQ,CAAC,aAAa,KAAK,QAAQ,IAAI,OAAO,QAAQ,CAAC,iBAAiB,KAAK,QAAQ,CAAC;QAC9F,CAAC,CAAC;YACE,GAAG,4BAA4B,CAAC,QAAQ,CAAC;YACzC,GAAG,CAAC,OAAO,QAAQ,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzG;QACH,CAAC,CAAC,IAAI,CAAC;IACT,OAAO;QACL,EAAE,EAAG,CAAC,CAAC,EAAa,IAAI,gBAAgB;QACxC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,KAAK,IAAI,CAAE,CAAC,CAAC,KAAgB,IAAI,EAAE,CAAC;QAC3C,OAAO;QACP,WAAW,EAAE,UAAU;QACvB,aAAa,EAAE,IAAI;QACnB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5B,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,SAAS,gBAAgB,CAAC,EAAW;IACnC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAChC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,cAAc,CACrB,MAAc,EACd,OAAe,EACf,MAAmB,EACnB,QAAgC,EAAE,EAClC,IAAI,GAAG,WAAW;IAElB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE;QAC/E,MAAM;QACN,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE;KACzF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAClB,MAAc,EACd,OAAe,EACf,MAAmB,EACnB,IAAI,GAAG,uBAAuB,EAC9B,QAAgC,EAAE;IAElC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE;QAChE,MAAM;QACN,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE;KACzF,CAAC,CAAC;AACL,CAAC;AAID;;;;GAIG;AACH,SAAS,mCAAmC,CAAC,IAAgC;IAC3E,IAAI,OAAO,GAAgC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,CAAC,IAAiC,EAAE,KAAkC,EAA+B,EAAE;QACpH,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACd,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,KAAiB,EAAiB,EAAE;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YACzD,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACrI,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,KAAiB,EAAW,EAAE;QACjD,IAAI,KAAa,CAAC;QAClB,IAAI,CAAC;YACH,yEAAyE;YACzE,KAAK,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,GAAG,KAAK;aACf,KAAK,CAAC,OAAO,CAAC;aACd,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;aAC1C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;aACxC,IAAI,CAAC,IAAI,CAAC;aACV,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;YAC3C,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,UAAwD,EAAE,KAAK,GAAG,KAAK,EAAQ,EAAE;QAC9F,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,GAAG,KAAK,IAAI;gBAAE,MAAM;YACxB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACpC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;gBAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;QACD,uFAAuF;QACvF,2DAA2D;QAC3D,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YACxE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC;IACF,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,eAAe,CAAyB;QAClE,SAAS,CAAC,KAAK,EAAE,UAAU;YACzB,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACjC,KAAK,CAAC,UAAU,CAAC,CAAC;QACpB,CAAC;QACD,KAAK,CAAC,UAAU;YACd,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAkB,EAAE,WAAoB;IACxE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACvE,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAClF,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,IAA6B,EAC7B,QAA6B,EAC7B,aAAa,GAAG,EAAE;IAElB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAmC,EAAE,CAAC;IAErD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;YAAE,SAAS;QACtD,MAAM,KAAK,GAAG,GAA8B,CAAC;QAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5D,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YAChC,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,SAAS,CAAC,MAAM,EAAE;gBAC7E,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;oBACtD,SAAS,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;iBACrE;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;IACxF,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,OAAO,GAA4B;YACvC,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,IAAI,IAAI,IAAI;SACtB,CAAC;QACF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;QACzD,MAAM,GAAG,GAA4B;YACnC,EAAE,EAAE,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;YAC5D,MAAM,EAAE,iBAAiB;YACzB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YACtC,KAAK;YACL,OAAO,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,OAAO;oBACP,aAAa,EAAE,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;iBAC1E,CAAC;SACH,CAAC;QACF,IAAI,KAAK;YAAE,GAAG,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,MAAM,GAAmC,EAAE,CAAC;IAClD,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,OAAO,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;YAC5D,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;SAC1D,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,QAAmC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,eAAe;YACrB,EAAE,EAAE,MAAM,IAAI,CAAC,EAAE,EAAE;YACnB,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,MAAM,EAAE,WAAW;SACpB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,GAAG,GAA4B;QACnC,EAAE,EAAE,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;QACxD,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACzC,MAAM,EAAE,WAAW;QACnB,KAAK;QACL,MAAM;QACN,WAAW,EAAE,IAAI;KAClB,CAAC;IACF,IAAI,KAAK;QAAE,GAAG,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,CAAU;IACrC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/E,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,WAAW,CAAC,GAAY;IAC/B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,KAAK,GAAG,GAA8B,CAAC;IAC7C,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,+FAA+F;IAC/F,wFAAwF;IACxF,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAChF,MAAM,GAAG,GAA+G;QACtH,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/F,CAAC;IACF,yFAAyF;IACzF,0EAA0E;IAC1E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,GAAG,CAAC,qBAAqB,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,4BAA4B,CACnC,QAAiC;IAEjC,IAAI,OAAO,QAAQ,CAAC,aAAa,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC1D,0FAA0F;IAC1F,6FAA6F;IAC7F,yDAAyD;IACzD,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;QACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,qBAAqB,CAAC;QAC/C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QACtE,OAAO,mBAAmB,CAAE,OAAmC,CAAC,aAAa,CAAC,CAAC;IACjF,CAAC,CAAC,EAAE,CAAC;IACL,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC5D,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,aAAa,EAAE,CAAC;IAClD,CAAC;IACD,OAAO;QACL,YAAY,EAAE,QAAQ,CAAC,aAAa,GAAG,MAAM;QAC7C,uBAAuB,EAAE,MAAM;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAA6D;IACpF,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;QAC3F,OAAO,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC;IACnF,CAAC;IACD,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAmB,EAAE,YAAqB;IACpE,IAAI,YAAY,IAAI,UAAU,KAAK,UAAU;QAAE,OAAO,YAAY,CAAC;IACnE,IAAI,UAAU,KAAK,YAAY;QAAE,OAAO,QAAQ,CAAC;IACjD,IAAI,UAAU,KAAK,gBAAgB;QAAE,OAAO,gBAAgB,CAAC;IAC7D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kFAAkF;AAClF,SAAS,sBAAsB,CAAC,IAAY,EAAE,MAAc;IAC1D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QAC3C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClD,MAAM,GAAG,GAAG,MAAiC,CAAC;YAC9C,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAgC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjH,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACjD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE;wBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB;wBACtE,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC5D,EAAE,CAAC,CAAC;YACP,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iFAAiF;IACnF,CAAC;IACD,OAAO,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC;AACxD,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY,EAAE,MAAc;IACnE,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,0BAA0B,MAAM,qBAAqB,CAAC;QACpG,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,CAAU,EAA2C,EAAE,CACvE,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,OAAQ,CAAyB,CAAC,KAAK,KAAK,QAAQ,IAAK,CAAyB,CAAC,KAAK,KAAK,IAAI,CAAC;IAE3I,IAAI,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,6BAA6B;IAEhE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,OAAO;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,KAAK,EAAE;YACL,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,0BAA0B,MAAM,qBAAqB;YAC5F,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,MAAM;SACb;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAwB;IAClD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACvC,OAAO;QACL,cAAc,EAAE,kBAAkB;QAClC,GAAG,gBAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC;KACzD,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAwB,EACxB,IASC,EACD,UAAwB,KAAK;IAE7B,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC;IACzC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAA4B,CAAC;IAC7D,0FAA0F;IAC1F,mFAAmF;IACnF,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,KAAK,IAAI,CAAC;QACzG,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,oBAAoB,CAAC;QAClE,MAAM,IAAI,GAA4B,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjG,MAAM,YAAY,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;QACjC,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,cAAc,GAAG;gBACpB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,aAAa,EAAE,IAAI;aACpB,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,WAAoC,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,GAAG,mBAAmB,EAAE;YACpG,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC;YACpC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;YACjC,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,uFAAuF;QACvF,mCAAmC;QACnC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,eAAe,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC;YAC7E,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACzC,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,cAAc,GAAG,wBAAwB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACvE,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,GAAG,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAC3G,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,WAAW,CAAC,GAAG,EAAE,2DAA2D,EAAE,UAAU,EAAE,2BAA2B,EAAE,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/J,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YACzE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;gBAClB,OAAO,WAAW,CAAC,GAAG,EAAE,gDAAgD,SAAS,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,2BAA2B,EAAE,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YACtK,CAAC;YACD,IAAI,QAAQ,GAAoB,IAAI,CAAC;YACrC,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC;gBACnC,CAAC,CAAC,gCAAgC,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE;oBAC7D,SAAS,GAAG,IAAI,CAAC;oBACjB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;gBAC1D,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC;gBAC/B,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;YACnB,QAAQ,GAAG,IAAI,QAAQ,CACrB,eAAe,CAAC,CAAC,CAAC,mCAAmC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,EAClF,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAC7C,CAAC;YACF,IAAI,SAAS;gBAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;YACtE,OAAO,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,YAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC;gBAAE,OAAO,2BAA2B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACpF,OAAO,WAAW,CAAC,GAAG,EAAE,qEAAqE,EAAE,UAAU,EAAE,2BAA2B,EAAE,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACzK,CAAC;QACD,MAAM,aAAa,GAAG,qBAAqB,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAChF,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,WAAW,CAAC,GAAG,EAAE,gDAAgD,aAAa,EAAE,EAAE,UAAU,EAAE,2BAA2B,EAAE,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACnK,CAAC;QACD,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,0BAA0B,CACzC,YAAuC,EACvC,OAAO,EACP,IAAI,CAAC,oBAAoB,CAC1B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAChB,GAAG,EACH,cAAc,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACtE,UAAU,EACV,2BAA2B,CAC5B,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACnC,OAAO,WAAW,CAChB,GAAG,EACH,8CAA8C,QAAQ,CAAC,OAAO,6BAA6B,EAC3F,UAAU,EACV,0BAA0B,CAC3B,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAA6B,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;QAC9E,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAChE,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;YAC9C,OAAO,sBAAsB,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;gBACpE,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO;aACR,CAAC,EAAE,QAAQ,CAAC,CAAC;QAChB,CAAC;QACD,OAAO,sBAAsB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,aAAsC,CAAC;IAC3C,IAAI,CAAC;QACH,wFAAwF;QACxF,6FAA6F;QAC7F,2FAA2F;QAC3F,0FAA0F;QAC1F,yFAAyF;QACzF,2DAA2D;QAC3D,aAAa,GAAG,QAAQ,KAAK,WAAW;YACtC,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC;YACzC,CAAC,CAAC,yBAAyB,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAa,CAA4B,CAAC;QAC/F,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACnE,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;IAC1C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,2FAA2F;QAC3F,yEAAyE;QACzE,IAAI,CAAC,YAAY,mBAAmB;YAAE,OAAO,WAAW,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QAClG,OAAO,WAAW,CAAC,GAAG,EAAE,0CAA2C,CAAW,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACrG,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE;QAC7C,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,MAAM;QACd,MAAM;QACN,OAAO,EAAE,aAAa;QACtB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,EAAE;QAC7C,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtD,EAAE,OAAO,CAAC,CAAC;IACZ,MAAM,QAAQ,GAAG,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1D,IAAI,qBAAqB,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAEzD,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,2BAA2B,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;QACrD,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;YAClC,CAAC,mBAAmB,CAAC,EAAE,MAAM;YAC7B,GAAG,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC;SACxC,CAAC;QACF,OAAO,IAAI,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAClH,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC;YAC9C,OAAO,WAAW,CAChB,GAAG,EACH,SAAS,CAAC,CAAC,CAAC,qDAAqD,CAAC,CAAC,CAAC,8DAA8D,EAClI,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAChC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,2BAA2B,EAC/D,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,CACrC,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,UAAU,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QACvF,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC;YAC9C,OAAO,WAAW,CAChB,GAAG,EACH,SAAS;gBACP,CAAC,CAAC,sEAAsE,SAAS,CAAC,MAAM,EAAE;gBAC1F,CAAC,CAAC,mDAAmD,SAAS,CAAC,MAAM,EAAE,EACzE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAChC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,2BAA2B,EAC/D,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,CACrC,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,GAAG,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC;QAChF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,4BAA4B,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;YACzF,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;YACvH,OAAO,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC1E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,WAAW,CAAC,GAAG,EAAE,2CAA4C,CAAW,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAC7H,CAAC;IACH,CAAC;IAED,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC;YAAE,OAAO,2BAA2B,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC3F,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC;QAC9C,OAAO,WAAW,CAChB,GAAG,EACH,SAAS,CAAC,CAAC,CAAC,qDAAqD,CAAC,CAAC,CAAC,wEAAwE,EAC5I,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAChC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,2BAA2B,EAC/D,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,CACrC,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,qBAAqB,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;IAC/E,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC;QAC9C,OAAO,WAAW,CAChB,GAAG,EACH,SAAS;YACP,CAAC,CAAC,sEAAsE,aAAa,EAAE;YACvF,CAAC,CAAC,mDAAmD,aAAa,EAAE,EACtE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAChC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,2BAA2B,EAC/D,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,CACrC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,+FAA+F;QAC/F,sFAAsF;QACtF,4FAA4F;QAC5F,8CAA8C;QAC9C,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,IAA+B,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;YAC3J,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrD;SACF,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC1E,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,WAAW,CAAC,GAAG,EAAE,2CAA4C,CAAW,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC;IAC7H,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -43,6 +43,73 @@ export interface ReshaperConfig {
43
43
  * `authEnv` of its own. See `buildForwardHeaders`.
44
44
  */
45
45
  export type CredentialMode = "passthrough" | "contained";
46
+ /**
47
+ * What shape a provider's own validator demands of the tool-call ids the relay puts on the wire.
48
+ *
49
+ * - `"preserve"` — forward the caller's ids verbatim. The default everywhere, and what the relay
50
+ * did for its whole life before 2026-08-23: an id is linkage, so not touching it is the safest
51
+ * thing a translation can do.
52
+ * - `"strict9"` — rewrite every outbound `tool_calls[].id` / `tool_call_id` to mistral's stated
53
+ * `^[a-zA-Z0-9]{9}$` shape. Mistral's `mistral-common` validator enforces it on BOTH halves of
54
+ * the pair (and, from v13, linkage and uniqueness on top), so an Anthropic `toolu_01…` id is a
55
+ * hard 400 there — see `src/openai-request.ts`.
56
+ */
57
+ export type ToolCallIdMode = "preserve" | "strict9";
58
+ /**
59
+ * Whether a replayed assistant tool call must carry gemini 3.x's `thought_signature` field.
60
+ *
61
+ * - `"none"` — emit nothing. The default everywhere, and byte for byte what this relay put on the
62
+ * wire before 2026-08-23.
63
+ * - `"sentinel"` — stamp Google's own documented opt-out token,
64
+ * `skip_thought_signature_validator`, at `tool_calls[].extra_content.google.thought_signature`
65
+ * on every replayed tool call. See `src/openai-request.ts` for the 400 that states the rule and
66
+ * for why echoing a REAL signature is not an option here.
67
+ */
68
+ export type ThoughtSignatureMode = "none" | "sentinel";
69
+ /**
70
+ * Per-provider WIRE-SHAPE quirks — things a specific host's request validator demands that the
71
+ * protocol itself does not. Deliberately not routing configuration and deliberately not a
72
+ * per-provider switch in `src/`: a labelled provider fact may live in code only while config can
73
+ * override it (see the "Provider knowledge is data" invariant), which is exactly the shape here —
74
+ * a base-host default that any explicit value beats in both directions.
75
+ *
76
+ * Two keys today, one per vendor rule the relay has first-party evidence for. An unknown key or
77
+ * value is a HARD load error naming it: the `configured-limits` precedent — an ignored typo
78
+ * silently no-ops while reading like a declaration that took effect.
79
+ */
80
+ export interface ProviderCompatConfig {
81
+ /** Absent ⇒ resolved from the base host by `resolveToolCallIdMode`. */
82
+ toolCallIds?: ToolCallIdMode;
83
+ /** Absent ⇒ resolved from the base host by `resolveThoughtSignatureMode`. */
84
+ thoughtSignature?: ThoughtSignatureMode;
85
+ }
86
+ /**
87
+ * The resolved outbound tool-call-id shape for one provider.
88
+ *
89
+ * A LABELLED PROVIDER FACT, allowed by the "Provider knowledge is data, not routing configuration"
90
+ * invariant precisely because config overrides it: mistral's own validator states the rule
91
+ * (`^[a-zA-Z0-9]{9}$`, first-party evidence in `src/openai-request.ts`), so a mistral base host
92
+ * defaults to `"strict9"` and every other host to `"preserve"`. An explicit `compat.toolCallIds`
93
+ * wins in BOTH directions — `"preserve"` on a mistral host, `"strict9"` on anything else.
94
+ */
95
+ export declare function resolveToolCallIdMode(p: {
96
+ base: string;
97
+ compat?: ProviderCompatConfig;
98
+ }): ToolCallIdMode;
99
+ /**
100
+ * The resolved thought-signature mode for one provider.
101
+ *
102
+ * The SAME labelled-fact mechanism as `resolveToolCallIdMode`, and allowed by the SAME invariant —
103
+ * "Provider knowledge is data, not routing configuration" permits a labelled provider fact in
104
+ * `src/` only while config can override it. Google's Generative Language API states the rule (its
105
+ * gemini 3.x models 400 a replayed tool call carrying no signature; first-party evidence in
106
+ * `src/openai-request.ts`), so that base host defaults to `"sentinel"` and every other host to
107
+ * `"none"`. An explicit `compat.thoughtSignature` wins in BOTH directions.
108
+ */
109
+ export declare function resolveThoughtSignatureMode(p: {
110
+ base: string;
111
+ compat?: ProviderCompatConfig;
112
+ }): ThoughtSignatureMode;
46
113
  /** One HTTP backend provider in the registry (NIM, OpenRouter, Gemini API, …). */
47
114
  export interface ProviderConfig {
48
115
  base: string;
@@ -93,6 +160,12 @@ export interface ProviderConfig {
93
160
  * availability/headroom surfaces.
94
161
  */
95
162
  limits?: ProviderLimitsConfig;
163
+ /**
164
+ * Wire-shape quirks this host's own request validator enforces. Absent keys fall back to a
165
+ * labelled base-host default (`resolveToolCallIdMode`, `resolveThoughtSignatureMode`); an
166
+ * explicit value always wins.
167
+ */
168
+ compat?: ProviderCompatConfig;
96
169
  /** Web URL where users can sign up or obtain API keys. */
97
170
  signupUrl?: string;
98
171
  }
@@ -335,6 +408,20 @@ export interface ResolvedTarget {
335
408
  timeoutMs: number;
336
409
  /** Carried from the provider: inter-byte stall watchdog for streamed responses. */
337
410
  stallTimeoutMs?: number;
411
+ /**
412
+ * RESOLVED outbound tool-call-id shape (`resolveToolCallIdMode`) — an explicit
413
+ * `compat.toolCallIds` or the labelled base-host default. Resolved here so the request mapper
414
+ * is handed a mode and never a provider identity to re-derive one from. Absent (a hand-built
415
+ * target) reads as `"preserve"`, which is the pre-2026-08-23 behaviour byte for byte.
416
+ */
417
+ toolCallIds?: ToolCallIdMode;
418
+ /**
419
+ * RESOLVED thought-signature mode (`resolveThoughtSignatureMode`) — an explicit
420
+ * `compat.thoughtSignature` or the labelled base-host default. Resolved here for the same reason
421
+ * as `toolCallIds`: the request mapper is handed a mode, never a provider identity to sniff one
422
+ * from. Absent (a hand-built target) reads as `"none"` — the pre-2026-08-23 bytes exactly.
423
+ */
424
+ thoughtSignature?: ThoughtSignatureMode;
338
425
  }
339
426
  export interface Config {
340
427
  host: string;
package/dist/config.js CHANGED
@@ -5,6 +5,93 @@ import { CREDENTIAL_LABEL_PATTERN, makeCredentialId } from "./credential-id.js";
5
5
  import { parseConfiguredLimits } from "./configured-limits.js";
6
6
  import { providerCredentialSlots } from "./credential-fleet.js";
7
7
  const EFFORT_LEVELS = new Set(["low", "medium", "high", "xhigh"]);
8
+ /** The closed set of `compat` keys, so an unknown one can be named in the error. */
9
+ const COMPAT_KEYS = ["toolCallIds", "thoughtSignature"];
10
+ const TOOL_CALL_ID_MODES = ["preserve", "strict9"];
11
+ const THOUGHT_SIGNATURE_MODES = ["none", "sentinel"];
12
+ /**
13
+ * Parse a provider's `compat` block. Adding the next key is one entry in `COMPAT_KEYS` plus its
14
+ * own value check below.
15
+ */
16
+ function parseProviderCompat(raw, where) {
17
+ if (raw === undefined)
18
+ return undefined;
19
+ if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
20
+ throw new Error(`${where} must be an object`);
21
+ }
22
+ const out = {};
23
+ for (const [key, value] of Object.entries(raw)) {
24
+ if (!COMPAT_KEYS.includes(key)) {
25
+ throw new Error(`${where}.${key} is not a known compat option (known: ${COMPAT_KEYS.join(", ")})`);
26
+ }
27
+ if (key === "toolCallIds") {
28
+ if (typeof value !== "string" || !TOOL_CALL_ID_MODES.includes(value)) {
29
+ throw new Error(`${where}.toolCallIds must be one of: ${TOOL_CALL_ID_MODES.join(", ")}`);
30
+ }
31
+ out.toolCallIds = value;
32
+ }
33
+ if (key === "thoughtSignature") {
34
+ if (typeof value !== "string" || !THOUGHT_SIGNATURE_MODES.includes(value)) {
35
+ throw new Error(`${where}.thoughtSignature must be one of: ${THOUGHT_SIGNATURE_MODES.join(", ")}`);
36
+ }
37
+ out.thoughtSignature = value;
38
+ }
39
+ }
40
+ return Object.keys(out).length > 0 ? out : {};
41
+ }
42
+ /** The host of a base URL, lowercased — or null when it is not a URL at all. */
43
+ function baseHost(base) {
44
+ try {
45
+ return new URL(base).hostname.toLowerCase();
46
+ }
47
+ catch {
48
+ return null;
49
+ }
50
+ }
51
+ /** Is this base URL's host mistral's — `api.mistral.ai`, `codestral.mistral.ai`, any of them? */
52
+ function isMistralHost(base) {
53
+ const host = baseHost(base);
54
+ if (host === null)
55
+ return false;
56
+ return host === "mistral.ai" || host.endsWith(".mistral.ai");
57
+ }
58
+ /**
59
+ * Is this base URL Google's Generative Language API — the host whose gemini 3.x models enforce the
60
+ * `thought_signature` rule? Deliberately the ONE exact host, not `*.googleapis.com`: Vertex and
61
+ * every other Google surface are different products with different validators.
62
+ */
63
+ function isGoogleGenerativeLanguageHost(base) {
64
+ return baseHost(base) === "generativelanguage.googleapis.com";
65
+ }
66
+ /**
67
+ * The resolved outbound tool-call-id shape for one provider.
68
+ *
69
+ * A LABELLED PROVIDER FACT, allowed by the "Provider knowledge is data, not routing configuration"
70
+ * invariant precisely because config overrides it: mistral's own validator states the rule
71
+ * (`^[a-zA-Z0-9]{9}$`, first-party evidence in `src/openai-request.ts`), so a mistral base host
72
+ * defaults to `"strict9"` and every other host to `"preserve"`. An explicit `compat.toolCallIds`
73
+ * wins in BOTH directions — `"preserve"` on a mistral host, `"strict9"` on anything else.
74
+ */
75
+ export function resolveToolCallIdMode(p) {
76
+ if (p.compat?.toolCallIds !== undefined)
77
+ return p.compat.toolCallIds;
78
+ return isMistralHost(p.base) ? "strict9" : "preserve";
79
+ }
80
+ /**
81
+ * The resolved thought-signature mode for one provider.
82
+ *
83
+ * The SAME labelled-fact mechanism as `resolveToolCallIdMode`, and allowed by the SAME invariant —
84
+ * "Provider knowledge is data, not routing configuration" permits a labelled provider fact in
85
+ * `src/` only while config can override it. Google's Generative Language API states the rule (its
86
+ * gemini 3.x models 400 a replayed tool call carrying no signature; first-party evidence in
87
+ * `src/openai-request.ts`), so that base host defaults to `"sentinel"` and every other host to
88
+ * `"none"`. An explicit `compat.thoughtSignature` wins in BOTH directions.
89
+ */
90
+ export function resolveThoughtSignatureMode(p) {
91
+ if (p.compat?.thoughtSignature !== undefined)
92
+ return p.compat.thoughtSignature;
93
+ return isGoogleGenerativeLanguageHost(p.base) ? "sentinel" : "none";
94
+ }
8
95
  /**
9
96
  * Validate `routing.quota`. A malformed block is a hard error rather than silently ignored:
10
97
  * an operator who wrote `"enforceLearned": "yes"` believes they opted into gating on learned
@@ -426,6 +513,8 @@ function resolveSingleSpec(spec, cfg, modelForError) {
426
513
  ...(p.authEnv ? { authEnv: p.authEnv } : {}),
427
514
  credentialSlots: providerCredentialSlots(provider, p),
428
515
  ...(p.credentialMode !== undefined ? { credentialMode: p.credentialMode } : {}),
516
+ toolCallIds: resolveToolCallIdMode(p),
517
+ thoughtSignature: resolveThoughtSignatureMode(p),
429
518
  };
430
519
  }
431
520
  /**
@@ -797,6 +886,9 @@ function parseProviders(raw, warnings = [], disabled = new Set()) {
797
886
  // purely syntactic (no provider-map lookups), so it cannot reintroduce the failure shape
798
887
  // where a tier naming a degraded provider aborts startup.
799
888
  const limits = parseConfiguredLimits(p.limits, `config.providers.${name}.limits`);
889
+ // Same reasoning, same placement: a compat typo that were merely ignored would read as a
890
+ // declaration that took effect while changing nothing on the wire.
891
+ const compat = parseProviderCompat(p.compat, `config.providers.${name}.compat`);
800
892
  if (expanded.missing.length > 0) {
801
893
  warnings.push(`provider "${name}" DISABLED — base references unset env var ` +
802
894
  `${expanded.missing.map((n) => `\${${n}}`).join(", ")}. ` +
@@ -833,6 +925,7 @@ function parseProviders(raw, warnings = [], disabled = new Set()) {
833
925
  ? { tierType: p.tierType }
834
926
  : {}),
835
927
  ...(limits !== undefined ? { limits } : {}),
928
+ ...(compat !== undefined ? { compat } : {}),
836
929
  ...(typeof p.signupUrl === "string" && p.signupUrl.length > 0 ? { signupUrl: p.signupUrl } : {}),
837
930
  };
838
931
  }