@framers/agentos 0.10.30 → 0.10.31

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.
@@ -18,16 +18,31 @@ export interface OpenRouterProviderConfig {
18
18
  requestTimeout?: number;
19
19
  streamRequestTimeout?: number;
20
20
  }
21
+ /**
22
+ * OpenRouter's error envelope. It arrives as an HTTP error body, as the
23
+ * body of a 200 whose provider failed after accepting the request, on a
24
+ * choice (`finish_reason: 'error'`), or as a mid-stream SSE event. `code`
25
+ * is the HTTP status the failure maps to; `metadata.error_type` is
26
+ * OpenRouter's stable typed code (the OpenRouter error reference).
27
+ */
28
+ export interface OpenRouterErrorEnvelope {
29
+ code?: number | string;
30
+ message?: string;
31
+ metadata?: Record<string, unknown>;
32
+ }
21
33
  interface OpenRouterChatChoice {
22
34
  index: number;
23
35
  message?: {
24
36
  role: ChatMessage['role'];
25
37
  content: string | null;
26
38
  tool_calls?: ChatMessage['tool_calls'];
39
+ /** Set when the model declined as output (`finish_reason: 'content_filter'`). */
40
+ refusal?: string | null;
27
41
  };
28
42
  delta?: {
29
43
  role?: ChatMessage['role'];
30
44
  content?: string | null;
45
+ refusal?: string | null;
31
46
  tool_calls?: Array<{
32
47
  index: number;
33
48
  id?: string;
@@ -40,6 +55,8 @@ interface OpenRouterChatChoice {
40
55
  };
41
56
  finish_reason: string | null;
42
57
  logprobs?: unknown;
58
+ /** Present with `finish_reason: 'error'`: the provider failed mid-generation. */
59
+ error?: OpenRouterErrorEnvelope;
43
60
  }
44
61
  interface OpenRouterChatCompletionAPIResponse {
45
62
  id: string;
@@ -66,6 +83,8 @@ interface OpenRouterChatCompletionAPIResponse {
66
83
  cached_tokens?: number;
67
84
  };
68
85
  };
86
+ /** A 200 whose body reports a failure instead of choices, or a mid-stream error event. */
87
+ error?: OpenRouterErrorEnvelope;
69
88
  }
70
89
  export declare function defaultOpenRouterProviderPrefs(env?: NodeJS.ProcessEnv): Record<string, unknown> | undefined;
71
90
  /**
@@ -78,6 +97,37 @@ export declare function defaultOpenRouterProviderPrefs(env?: NodeJS.ProcessEnv):
78
97
  * downstream cache log light up for OpenRouter turns without caller changes.
79
98
  */
80
99
  export declare function mapOpenRouterUsage(apiUsage: OpenRouterChatCompletionAPIResponse['usage']): ModelUsage | undefined;
100
+ /** How OpenRouter declined a request, read from its error envelope. */
101
+ export interface OpenRouterDecline {
102
+ /**
103
+ * AgentOS's content-policy codes: `content_filter` for a model's own
104
+ * refusal, `content_policy_violation` for a filter around the model. Both
105
+ * are in `isContentPolicyRefusal`'s and the health registry's sets.
106
+ */
107
+ code: 'content_filter' | 'content_policy_violation';
108
+ /** What OpenRouter reported, kept for diagnostics. */
109
+ nativeType: 'refusal' | 'content_policy_violation' | 'moderation' | 'in_body_403' | 'content_filter_finish';
110
+ }
111
+ /**
112
+ * Classify an OpenRouter error envelope as a content decline, or not.
113
+ *
114
+ * - `metadata.error_type` `refusal`: the model refused (code `content_filter`).
115
+ * - `metadata.error_type` `content_policy_violation`: a filter flagged the
116
+ * input or output.
117
+ * - The documented moderation metadata (`reasons` + `flagged_input`) with no
118
+ * `error_type`.
119
+ * - With `inBody`, a numeric code 403 and no `error_type`: the error reference
120
+ * gives every in-body policy decline the code 403 once the HTTP line was
121
+ * already committed. Never applied to an HTTP 403 response, which without a
122
+ * decline type is a guardrail or permission block (`permission_denied`).
123
+ *
124
+ * @param error - The `error` object from an OpenRouter body, choice or event.
125
+ * @param opts.inBody - True when the error sits inside an HTTP 200 body.
126
+ * @returns The decline, or `undefined` when the error is not one.
127
+ */
128
+ export declare function classifyOpenRouterDecline(error: unknown, opts?: {
129
+ inBody?: boolean;
130
+ }): OpenRouterDecline | undefined;
81
131
  export declare class OpenRouterProvider implements IProvider {
82
132
  readonly providerId: string;
83
133
  isInitialized: boolean;
@@ -181,6 +231,34 @@ export declare class OpenRouterProvider implements IProvider {
181
231
  * jittered exponential backoff; 4xx request errors throw immediately.
182
232
  */
183
233
  private makeApiRequest;
234
+ /**
235
+ * The error a declined request raises. Code `content_filter` or
236
+ * `content_policy_violation` is what `isContentPolicyRefusal` and the
237
+ * health registry's exemption read, so the walkers move on and no breaker
238
+ * opens. The message is fixed: no HTTP status digits and no upstream text,
239
+ * which retry classifiers grep for. The response status, the upstream
240
+ * message (redacted, 300 chars), the provider, the refusal text (300), the
241
+ * partial text (2,000) and the billed usage ride `details`.
242
+ */
243
+ private declineError;
244
+ /**
245
+ * A 200 body that reports a failure instead of an answer throws before
246
+ * mapping, in this order: a body holding only `error` and no
247
+ * choice; a choice ended by `finish_reason: 'error'` with its own error
248
+ * object; a choice ended by `finish_reason: 'content_filter'` (the model
249
+ * declined as output). A choice with `finish_reason: 'error'` and no error
250
+ * object is not a documented shape and is mapped as before.
251
+ */
252
+ private throwOnInBodyError;
253
+ /**
254
+ * An error reported inside an HTTP 200 body: a decline becomes
255
+ * the decline error; anything else becomes the error an HTTP response with
256
+ * that code produces today, so `isRetryableError` and the breaker treat it
257
+ * by its code. The exception is a 401 or 403 that is not a decline: it is
258
+ * still retryable, but it carries no status, so it counts as a transient
259
+ * failure and not as a rejected key.
260
+ */
261
+ private inBodyError;
184
262
  /**
185
263
  * Masks the configured API keys (the raw config value and each key in a
186
264
  * comma-separated pool) and any base-URL credentials out of text bound
@@ -221,6 +299,8 @@ export declare class OpenRouterProvider implements IProvider {
221
299
  * @returns A plain description that is safe to log or serialize.
222
300
  */
223
301
  private describeError;
302
+ /** The usage a raw SSE line reports, when it is a data line that carries one. */
303
+ private usageOfSseLine;
224
304
  private parseSseStream;
225
305
  }
226
306
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"OpenRouterProvider.d.ts","sourceRoot":"","sources":["../../../../../src/core/llm/providers/implementations/OpenRouterProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenRouterProvider.d.ts","sourceRoot":"","sources":["../../../../../src/core/llm/providers/implementations/OpenRouterProvider.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AAGH,OAAO,EACL,SAAS,EACT,WAAW,EACX,sBAAsB,EACtB,uBAAuB,EACvB,SAAS,EACT,UAAU,EACV,wBAAwB,EACxB,yBAAyB,EAE1B,MAAM,cAAc,CAAC;AAQtB;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,UAAU,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;QACvC,iFAAiF;QACjF,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB,CAAC;IACF,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,UAAU,CAAC,EAAE,KAAK,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC;YACd,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,IAAI,CAAC,EAAE,UAAU,CAAC;YAClB,QAAQ,CAAC,EAAE;gBAAE,IAAI,CAAC,EAAE,MAAM,CAAC;gBAAC,SAAS,CAAC,EAAE,MAAM,CAAC;aAAE,CAAC;SACnD,CAAC,CAAC;KACJ,CAAC;IACF,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,KAAK,CAAC,EAAE,uBAAuB,CAAC;CACjC;AAED,UAAU,mCAAmC;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE;QACN,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;;;WAIG;QACH,qBAAqB,CAAC,EAAE;YAAE,aAAa,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACpD,CAAC;IACF,0FAA0F;IAC1F,KAAK,CAAC,EAAE,uBAAuB,CAAC;CACjC;AA4BD,wBAAgB,8BAA8B,CAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CA0BrC;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,mCAAmC,CAAC,OAAO,CAAC,GACrD,UAAU,GAAG,SAAS,CAkBxB;AAoHD,uEAAuE;AACvE,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,IAAI,EAAE,gBAAgB,GAAG,0BAA0B,CAAC;IACpD,sDAAsD;IACtD,UAAU,EAAE,SAAS,GAAG,0BAA0B,GAAG,YAAY,GAAG,aAAa,GAAG,uBAAuB,CAAC;CAC7G;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EACd,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9B,iBAAiB,GAAG,SAAS,CAe/B;AAED,qBAAa,kBAAmB,YAAW,SAAS;IAClD,SAAgB,UAAU,EAAE,MAAM,CAAgB;IAC3C,aAAa,EAAE,OAAO,CAAS;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IAG/B,OAAO,CAAC,MAAM,CAAmL;IACjM,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqC;;IAI7D,UAAU,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;YA0D1D,sBAAsB;IAkBpC,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,iBAAiB;IASzB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CAAC,8BAA8B;IA6GtC,OAAO,CAAC,uBAAuB;IAelB,kBAAkB,CAC7B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,uBAAuB,CAAC;IAmEnC;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAUjC;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IAY/B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,iCAAiC;IAwB3B,wBAAwB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,sBAAsB,GAC9B,cAAc,CAAC,uBAAuB,EAAE,IAAI,EAAE,SAAS,CAAC;IA+O9C,kBAAkB,CAC7B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,yBAAyB,CAAC;IA8CxB,mBAAmB,CAAC,MAAM,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAgB3E,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAa7D,WAAW,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IA4BjE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtC,OAAO,CAAC,0BAA0B;IAkClC,OAAO,CAAC,2BAA2B;IAmInC,yEAAyE;IACzE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAK;IACjD,qEAAqE;IACrE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAEpD;;;;;;;;;;;;;;;OAeG;YACW,cAAc;IAgI5B;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY;IAiCpB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;IA2CnB;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAMrB,+FAA+F;IAC/F,OAAO,CAAC,iBAAiB;IAOzB;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IAazB;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAYrB,iFAAiF;IACjF,OAAO,CAAC,cAAc;YAYP,cAAc;CAqC9B"}
@@ -161,6 +161,43 @@ function parseErrorBody(text) {
161
161
  return text;
162
162
  }
163
163
  }
164
+ /**
165
+ * Classify an OpenRouter error envelope as a content decline, or not.
166
+ *
167
+ * - `metadata.error_type` `refusal`: the model refused (code `content_filter`).
168
+ * - `metadata.error_type` `content_policy_violation`: a filter flagged the
169
+ * input or output.
170
+ * - The documented moderation metadata (`reasons` + `flagged_input`) with no
171
+ * `error_type`.
172
+ * - With `inBody`, a numeric code 403 and no `error_type`: the error reference
173
+ * gives every in-body policy decline the code 403 once the HTTP line was
174
+ * already committed. Never applied to an HTTP 403 response, which without a
175
+ * decline type is a guardrail or permission block (`permission_denied`).
176
+ *
177
+ * @param error - The `error` object from an OpenRouter body, choice or event.
178
+ * @param opts.inBody - True when the error sits inside an HTTP 200 body.
179
+ * @returns The decline, or `undefined` when the error is not one.
180
+ */
181
+ export function classifyOpenRouterDecline(error, opts = {}) {
182
+ if (!error || typeof error !== 'object')
183
+ return undefined;
184
+ const env = error;
185
+ const meta = env.metadata && typeof env.metadata === 'object' ? env.metadata : undefined;
186
+ const errorType = typeof meta?.error_type === 'string' ? meta.error_type : undefined;
187
+ if (errorType === 'refusal')
188
+ return { code: 'content_filter', nativeType: 'refusal' };
189
+ if (errorType === 'content_policy_violation') {
190
+ return { code: 'content_policy_violation', nativeType: 'content_policy_violation' };
191
+ }
192
+ if (errorType !== undefined)
193
+ return undefined;
194
+ if (Array.isArray(meta?.reasons) && typeof meta?.flagged_input === 'string') {
195
+ return { code: 'content_policy_violation', nativeType: 'moderation' };
196
+ }
197
+ if (opts.inBody && env.code === 403)
198
+ return { code: 'content_policy_violation', nativeType: 'in_body_403' };
199
+ return undefined;
200
+ }
164
201
  export class OpenRouterProvider {
165
202
  constructor() {
166
203
  this.providerId = 'openrouter';
@@ -451,6 +488,7 @@ export class OpenRouterProvider {
451
488
  throw error;
452
489
  apiResponseData = await this.makeApiRequest('/chat/completions', 'POST', options.requestTimeout ?? this.config.requestTimeout, payload);
453
490
  }
491
+ this.throwOnInBodyError(apiResponseData, modelId);
454
492
  return this.mapApiToCompletionResponse(apiResponseData, modelId);
455
493
  }
456
494
  /**
@@ -578,40 +616,95 @@ export class OpenRouterProvider {
578
616
  }
579
617
  const accumulatedToolCalls = new Map();
580
618
  const abortSignal = options.abortSignal;
619
+ // `usage` is what a refused turn billed before the abort; a consumer
620
+ // metering final chunks would otherwise lose it.
621
+ const abortChunk = (message, usage) => ({
622
+ id: `openrouter-abort-${Date.now()}`,
623
+ object: 'chat.completion.chunk',
624
+ created: Math.floor(Date.now() / 1000),
625
+ modelId,
626
+ choices: [],
627
+ error: { message, type: 'abort' },
628
+ isFinal: true,
629
+ ...(usage ? { usage } : {}),
630
+ });
581
631
  if (abortSignal?.aborted) {
582
- yield { id: `openrouter-abort-${Date.now()}`, object: 'chat.completion.chunk', created: Math.floor(Date.now() / 1000), modelId, choices: [], error: { message: 'Stream aborted prior to first chunk', type: 'abort' }, isFinal: true };
632
+ // The response is already open, and parseSseStream, which closes it,
633
+ // never runs on this path.
634
+ stream.destroy?.();
635
+ yield abortChunk('Stream aborted prior to first chunk');
583
636
  return;
584
637
  }
585
638
  const abortHandler = () => { };
586
639
  abortSignal?.addEventListener('abort', abortHandler, { once: true });
587
- for await (const rawChunk of this.parseSseStream(stream)) {
588
- if (abortSignal?.aborted) {
589
- yield { id: `openrouter-abort-${Date.now()}`, object: 'chat.completion.chunk', created: Math.floor(Date.now() / 1000), modelId, choices: [], error: { message: 'Stream aborted by caller', type: 'abort' }, isFinal: true };
590
- break;
591
- }
592
- if (rawChunk.startsWith('data: ') && rawChunk.includes('[DONE]')) {
593
- const doneData = rawChunk.substring('data: '.length).trim();
594
- if (doneData === '[DONE]')
595
- break;
596
- }
597
- if (rawChunk === 'data: [DONE]') {
598
- break;
599
- }
600
- if (rawChunk.startsWith('data: ')) {
601
- const jsonData = rawChunk.substring('data: '.length);
602
- try {
603
- const apiChunk = JSON.parse(jsonData);
640
+ // Text yielded so far (for the decline's partialText); the
641
+ // decline held back when a content_filter finish arrives, while the
642
+ // trailing usage chunk is read; a read error seen during that wait.
643
+ let yieldedText = '';
644
+ let held = null;
645
+ let readError;
646
+ const isDecline = (e) => e instanceof OpenRouterProviderError && (e.code === 'content_filter' || e.code === 'content_policy_violation');
647
+ try {
648
+ try {
649
+ for await (const rawChunk of this.parseSseStream(stream)) {
650
+ if (abortSignal?.aborted) {
651
+ // The line that shows the abort is usually the usage line a held
652
+ // decline was waiting for: read what it reports before leaving.
653
+ if (held)
654
+ held.usage = this.usageOfSseLine(rawChunk) ?? held.usage;
655
+ yield abortChunk('Stream aborted by caller', held?.usage);
656
+ return;
657
+ }
658
+ if (!rawChunk.startsWith('data: '))
659
+ continue;
660
+ const jsonData = rawChunk.substring('data: '.length);
661
+ if (jsonData.trim() === '[DONE]')
662
+ break;
663
+ // The parse has its own catch, so a decline thrown while HANDLING
664
+ // a chunk is never swallowed as a parse failure. A line that is not
665
+ // JSON, or is JSON but not an object, is skipped as before.
666
+ let apiChunk;
667
+ try {
668
+ apiChunk = JSON.parse(jsonData);
669
+ }
670
+ catch (error) {
671
+ console.warn('OpenRouterProvider: Failed to parse stream chunk JSON, skipping chunk. Data:', jsonData, 'Error:', error);
672
+ continue;
673
+ }
674
+ if (!apiChunk || typeof apiChunk !== 'object') {
675
+ console.warn('OpenRouterProvider: Stream chunk is not a JSON object, skipping chunk. Data:', jsonData);
676
+ continue;
677
+ }
604
678
  // OpenRouter reports upstream failures MID-STREAM as an SSE data
605
- // event carrying an `error` object and no choices. Previously this
606
- // fell into the empty-choices branch and surfaced as a generic
607
- // "Stream chunk contained no choices" — the real upstream reason
608
- // (provider outage, moderation, context overflow) was discarded,
609
- // which made every mid-stream failure look identical to callers'
610
- // retry/fallback routing. Surface the actual message + code and
611
- // terminate the stream.
679
+ // event carrying an `error` object. A content decline throws typed
680
+ // (the walkers move on before any output; after output the stream
681
+ // ends with an error part). Any other error still surfaces as an
682
+ // upstream_error chunk and ends the stream.
612
683
  if (apiChunk.error && typeof apiChunk.error === 'object') {
684
+ // The stream is an HTTP 200, so the in-body 403 row applies here too.
685
+ const decline = classifyOpenRouterDecline(apiChunk.error, { inBody: true });
686
+ if (decline) {
687
+ throw this.declineError(modelId, decline, {
688
+ httpStatus: typeof apiChunk.error.code === 'number' ? apiChunk.error.code : undefined,
689
+ error: apiChunk.error,
690
+ partialText: yieldedText,
691
+ // The event's own usage when it reports one, else what the
692
+ // held finish or the usage chunk reported.
693
+ usage: mapOpenRouterUsage(apiChunk.usage) ?? held?.usage,
694
+ });
695
+ }
613
696
  const errMessage = apiChunk.error.message || 'OpenRouter mid-stream error';
614
697
  const errCode = apiChunk.error.code;
698
+ const decorated = errCode !== undefined ? `[${errCode}] ${errMessage}` : errMessage;
699
+ if (held) {
700
+ // The answer already ended on a content_filter finish. A later
701
+ // upstream failure is the end of the read: it neither replaces
702
+ // the held decline nor loses the usage read so far.
703
+ if (apiChunk.usage)
704
+ held.usage = mapOpenRouterUsage(apiChunk.usage);
705
+ readError = new Error(decorated);
706
+ break;
707
+ }
615
708
  yield {
616
709
  id: apiChunk.id ?? `openrouter-error-${Date.now()}`,
617
710
  object: 'chat.completion.chunk',
@@ -620,25 +713,78 @@ export class OpenRouterProvider {
620
713
  choices: [],
621
714
  isFinal: true,
622
715
  error: {
623
- message: errCode !== undefined ? `[${errCode}] ${errMessage}` : errMessage,
716
+ message: decorated,
624
717
  type: 'upstream_error',
625
718
  },
626
719
  };
627
720
  break;
628
721
  }
629
- yield this.mapApiToStreamChunkResponse(apiChunk, modelId, accumulatedToolCalls);
722
+ if (held) {
723
+ // After a content_filter finish only the trailing usage-only
724
+ // chunk is wanted; nothing more is yielded.
725
+ if (apiChunk.usage)
726
+ held.usage = mapOpenRouterUsage(apiChunk.usage);
727
+ continue;
728
+ }
729
+ const choice = apiChunk.choices?.[0];
730
+ if (choice && choice.finish_reason === 'content_filter') {
731
+ held = {
732
+ decline: { code: 'content_filter', nativeType: 'content_filter_finish' },
733
+ refusal: choice.delta?.refusal ?? choice.message?.refusal ?? null,
734
+ usage: mapOpenRouterUsage(apiChunk.usage),
735
+ };
736
+ continue;
737
+ }
738
+ // A chunk of an unexpected shape (no choices array, a malformed
739
+ // tool call) is logged and skipped, as it was when the parse and
740
+ // the mapping shared one catch.
741
+ let mapped;
742
+ try {
743
+ mapped = this.mapApiToStreamChunkResponse(apiChunk, modelId, accumulatedToolCalls);
744
+ }
745
+ catch (error) {
746
+ console.warn('OpenRouterProvider: Failed to map stream chunk, skipping chunk. Data:', jsonData, 'Error:', this.describeError(error));
747
+ continue;
748
+ }
749
+ if (mapped.responseTextDelta)
750
+ yieldedText += mapped.responseTextDelta;
751
+ yield mapped;
630
752
  // Don't break on finish_reason: with stream_options.include_usage,
631
753
  // OpenRouter (like OpenAI) emits a trailing usage-only chunk AFTER
632
- // the finish_reason chunk and BEFORE [DONE]. Breaking here would
633
- // skip the usage chunk and zero out the caller's token totals. The
634
- // [DONE] marker check above is the right termination signal.
754
+ // the finish_reason chunk and BEFORE [DONE]. The [DONE] marker
755
+ // check above is the right termination signal.
635
756
  }
636
- catch (error) {
637
- console.warn('OpenRouterProvider: Failed to parse stream chunk JSON, skipping chunk. Data:', jsonData, 'Error:', error);
757
+ }
758
+ catch (error) {
759
+ if (isDecline(error))
760
+ throw error;
761
+ // A read error after a content_filter finish does not lose the
762
+ // decline: it is thrown below with the usage held so far.
763
+ if (held)
764
+ readError = error;
765
+ else
766
+ throw error;
767
+ }
768
+ if (held) {
769
+ // An abort during the wait wins over the decline. The loop only
770
+ // checks the signal when a line arrives, so a read that ended
771
+ // without one is checked here.
772
+ if (abortSignal?.aborted) {
773
+ yield abortChunk('Stream aborted by caller', held.usage);
774
+ return;
638
775
  }
776
+ throw this.declineError(modelId, held.decline, {
777
+ httpStatus: 200,
778
+ refusal: held.refusal,
779
+ partialText: yieldedText,
780
+ usage: held.usage,
781
+ readError,
782
+ });
639
783
  }
640
784
  }
641
- abortSignal?.removeEventListener('abort', abortHandler);
785
+ finally {
786
+ abortSignal?.removeEventListener('abort', abortHandler);
787
+ }
642
788
  }
643
789
  async generateEmbeddings(modelId, texts, options) {
644
790
  this.ensureInitialized();
@@ -947,7 +1093,8 @@ export class OpenRouterProvider {
947
1093
  }
948
1094
  if (errorData?.error && typeof errorData.error === 'object') {
949
1095
  errorMessage = errorData.error.message || errorMessage;
950
- errorType = errorData.error.type || errorType;
1096
+ const metaType = errorData.error.metadata?.error_type;
1097
+ errorType = (typeof metaType === 'string' ? metaType : undefined) || errorData.error.type || errorType;
951
1098
  }
952
1099
  else if (typeof errorData === 'string' && errorData.trim()) {
953
1100
  errorMessage = errorData;
@@ -959,6 +1106,16 @@ export class OpenRouterProvider {
959
1106
  else if (error instanceof Error) {
960
1107
  errorMessage = error.message;
961
1108
  }
1109
+ // A content decline is a verdict on the request, not provider
1110
+ // health: throw it typed at once (no in-provider retry, no key
1111
+ // cooldown) so the walkers move on and the breaker stays closed.
1112
+ const decline = classifyOpenRouterDecline(errorData?.error);
1113
+ if (decline) {
1114
+ throw this.declineError(String(body?.model ?? ''), decline, {
1115
+ httpStatus: statusCode,
1116
+ error: errorData.error,
1117
+ });
1118
+ }
962
1119
  // A throttled (429) or credit-exhausted (402) key must not be
963
1120
  // reused by the next attempt/request — cool it down in the pool.
964
1121
  if ((statusCode === 402 || statusCode === 429) && this.keyPool?.hasKeys) {
@@ -996,6 +1153,98 @@ export class OpenRouterProvider {
996
1153
  // the compiler + any future refactor honest.
997
1154
  throw lastError ?? new OpenRouterProviderError('OpenRouter request failed.', 'API_REQUEST_FAILED');
998
1155
  }
1156
+ /**
1157
+ * The error a declined request raises. Code `content_filter` or
1158
+ * `content_policy_violation` is what `isContentPolicyRefusal` and the
1159
+ * health registry's exemption read, so the walkers move on and no breaker
1160
+ * opens. The message is fixed: no HTTP status digits and no upstream text,
1161
+ * which retry classifiers grep for. The response status, the upstream
1162
+ * message (redacted, 300 chars), the provider, the refusal text (300), the
1163
+ * partial text (2,000) and the billed usage ride `details`.
1164
+ */
1165
+ declineError(modelId, decline, details) {
1166
+ const meta = details.error?.metadata;
1167
+ const bounded = (value, max) => typeof value === 'string' && value.length > 0 ? this.redactSecrets(value).slice(0, max) : undefined;
1168
+ return new OpenRouterProviderError(`OpenRouter declined the request on ${modelId || 'the requested model'} (${decline.nativeType}).`, decline.code, undefined, decline.nativeType, {
1169
+ httpStatus: details.httpStatus,
1170
+ upstreamMessage: bounded(details.error?.message, 300),
1171
+ providerName: typeof meta?.provider_name === 'string' ? meta.provider_name : undefined,
1172
+ providerCode: typeof meta?.provider_code === 'string' ? meta.provider_code : undefined,
1173
+ refusal: bounded(details.refusal, 300),
1174
+ partialText: bounded(details.partialText, 2000),
1175
+ usage: details.usage,
1176
+ ...(details.readError !== undefined ? { readError: this.describeError(details.readError) } : {}),
1177
+ });
1178
+ }
1179
+ /**
1180
+ * A 200 body that reports a failure instead of an answer throws before
1181
+ * mapping, in this order: a body holding only `error` and no
1182
+ * choice; a choice ended by `finish_reason: 'error'` with its own error
1183
+ * object; a choice ended by `finish_reason: 'content_filter'` (the model
1184
+ * declined as output). A choice with `finish_reason: 'error'` and no error
1185
+ * object is not a documented shape and is mapped as before.
1186
+ */
1187
+ throwOnInBodyError(body, modelId) {
1188
+ const choices = Array.isArray(body.choices) ? body.choices : [];
1189
+ const first = choices[0];
1190
+ const usage = mapOpenRouterUsage(body.usage);
1191
+ if (body.error && typeof body.error === 'object' && choices.length === 0) {
1192
+ throw this.inBodyError(body.error, modelId, { responseId: body.id, usage });
1193
+ }
1194
+ if (first && first.finish_reason === 'error' && first.error && typeof first.error === 'object') {
1195
+ throw this.inBodyError(first.error, modelId, {
1196
+ responseId: body.id,
1197
+ usage,
1198
+ partialText: first.message?.content ?? null,
1199
+ });
1200
+ }
1201
+ if (first && first.finish_reason === 'content_filter') {
1202
+ throw this.declineError(modelId, { code: 'content_filter', nativeType: 'content_filter_finish' }, {
1203
+ httpStatus: 200,
1204
+ refusal: first.message?.refusal ?? null,
1205
+ partialText: first.message?.content ?? null,
1206
+ usage,
1207
+ });
1208
+ }
1209
+ }
1210
+ /**
1211
+ * An error reported inside an HTTP 200 body: a decline becomes
1212
+ * the decline error; anything else becomes the error an HTTP response with
1213
+ * that code produces today, so `isRetryableError` and the breaker treat it
1214
+ * by its code. The exception is a 401 or 403 that is not a decline: it is
1215
+ * still retryable, but it carries no status, so it counts as a transient
1216
+ * failure and not as a rejected key.
1217
+ */
1218
+ inBodyError(error, modelId, extra) {
1219
+ const code = typeof error.code === 'number' ? error.code : undefined;
1220
+ const decline = classifyOpenRouterDecline(error, { inBody: true });
1221
+ if (decline) {
1222
+ return this.declineError(modelId, decline, {
1223
+ httpStatus: code,
1224
+ error,
1225
+ partialText: extra.partialText,
1226
+ usage: extra.usage,
1227
+ });
1228
+ }
1229
+ // The body is untyped network input: a message that is not a string
1230
+ // must not reach the redaction's string calls.
1231
+ const message = this.redactSecrets(typeof error.message === 'string' && error.message ? error.message : 'OpenRouter reported an error in a 200 response');
1232
+ const metaType = typeof error.metadata?.error_type === 'string' ? error.metadata.error_type : undefined;
1233
+ // The 200 means the configured key was accepted, so a 401 or 403 inside
1234
+ // the body describes an upstream attempt (a BYOK key, a failover leg),
1235
+ // not this account. Its code stays in the message, where the retry
1236
+ // classifiers read it, and in details; the error carries no status and
1237
+ // no `[NNN]` prefix, so the breaker counts one transient failure instead
1238
+ // of opening its auth policy (one failure, 30 minutes) on one response.
1239
+ const inBodyAuth = code === 401 || code === 403;
1240
+ return new OpenRouterProviderError(code === undefined ? message : inBodyAuth ? `OpenRouter in-body error ${code}: ${message}` : `[${code}] ${message}`, 'API_REQUEST_FAILED', inBodyAuth ? undefined : code, metaType ?? 'UNKNOWN_API_ERROR', {
1241
+ responseId: extra.responseId,
1242
+ ...(inBodyAuth ? { httpStatus: code } : {}),
1243
+ responseData: this.redactResponseData(error),
1244
+ partialText: typeof extra.partialText === 'string' ? this.redactSecrets(extra.partialText).slice(0, 2000) : undefined,
1245
+ usage: extra.usage,
1246
+ });
1247
+ }
999
1248
  /**
1000
1249
  * Masks the configured API keys (the raw config value and each key in a
1001
1250
  * comma-separated pool) and any base-URL credentials out of text bound
@@ -1078,6 +1327,20 @@ export class OpenRouterProvider {
1078
1327
  }
1079
1328
  return { message: this.redactSecrets(String(error)) };
1080
1329
  }
1330
+ /** The usage a raw SSE line reports, when it is a data line that carries one. */
1331
+ usageOfSseLine(rawChunk) {
1332
+ if (!rawChunk.startsWith('data: '))
1333
+ return undefined;
1334
+ try {
1335
+ const parsed = JSON.parse(rawChunk.substring('data: '.length));
1336
+ return parsed && typeof parsed === 'object'
1337
+ ? mapOpenRouterUsage(parsed.usage)
1338
+ : undefined;
1339
+ }
1340
+ catch {
1341
+ return undefined;
1342
+ }
1343
+ }
1081
1344
  async *parseSseStream(stream) {
1082
1345
  let buffer = '';
1083
1346
  const readableStream = stream;
@@ -1 +1 @@
1
- {"version":3,"file":"OpenRouterProvider.js","sourceRoot":"","sources":["../../../../../src/core/llm/providers/implementations/OpenRouterProvider.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF;;;;;;GAMG;AAEH,OAAO,KAAkD,MAAM,OAAO,CAAC;AAYvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC,CAAC,wBAAwB;AAC1G,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AA6DzE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;AAE9E,IAAI,yBAAyB,GAAG,KAAK,CAAC;AAEtC,MAAM,UAAU,8BAA8B,CAC5C,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,OAAO,GAAG,GAAG,CAAC,wBAAwB,EAAE,IAAI,EAAE,CAAC;IACrD,IAAI,IAAwB,CAAC;IAC7B,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,IAAI,GAAG,OAAO,CAAC;QACjB,CAAC;aAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACtC,oEAAoE;YACpE,yBAAyB,GAAG,IAAI,CAAC;YACjC,OAAO,CAAC,IAAI,CACV,0DAA0D,OAAO,iDAAiD,CACnH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,yBAAyB,EAAE,IAAI,EAAE,CAAC;IACvD,MAAM,KAAK,GAAG,QAAQ;QACpB,CAAC,CAAC,QAAQ;aACL,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC;QACpB,CAAC,CAAC,EAAE,CAAC;IACP,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACrE,CAAC;IACD,IAAI,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAsD;IAEtD,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,MAAM,YAAY,GAAG,QAAQ,CAAC,qBAAqB,EAAE,aAAa,CAAC;IACnE,OAAO;QACL,YAAY,EAAE,QAAQ,CAAC,aAAa;QACpC,gBAAgB,EAAE,QAAQ,CAAC,iBAAiB;QAC5C,WAAW,EAAE,QAAQ,CAAC,YAAY;QAClC,OAAO,EAAE,QAAQ,CAAC,IAAI;QACtB,qEAAqE;QACrE,mEAAmE;QACnE,+EAA+E;QAC/E,GAAG,CAAC,OAAO,QAAQ,CAAC,aAAa,KAAK,QAAQ;YAC5C,CAAC,CAAC,EAAE,oBAAoB,EAAE,QAAQ,CAAC,aAAa,EAAE;YAClD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,IAAI,CAAC;YACvD,CAAC,CAAC,EAAE,oBAAoB,EAAE,YAAY,EAAE;YACxC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AA0CD,gEAAgE;AAChE,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAEzC,wEAAwE;AACxE,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAE1C,gGAAgG;AAChG,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAA4B,CAAC,IAAI,KAAK,UAAU;QACxD,OAAQ,KAA0B,CAAC,EAAE,KAAK,UAAU,CACrD,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,eAAe,CAC5B,MAAwD;IAExD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,CAAC;QACH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;YAC/D,SAAS,MAAM;gBACb,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACtC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACpC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACvC,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,SAAS,KAAK;gBACZ,KAAK,GAAG,IAAI,CAAC;gBACb,MAAM,EAAE,CAAC;YACX,CAAC;YACD,SAAS,MAAM,CAAC,KAAsB;gBACpC,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACrE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;gBACrB,IAAI,IAAI,IAAI,2BAA2B;oBAAE,MAAM,EAAE,CAAC;YACpD,CAAC;YACD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;IACrB,CAAC;IACD,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrF,QAAQ,EAAE,KAAK,IAAI,IAAI,IAAI,2BAA2B;KACvD,CAAC;AACJ,CAAC;AAED,wFAAwF;AACxF,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,OAAO,kBAAkB;IAW7B;QAVgB,eAAU,GAAW,YAAY,CAAC;QAC3C,kBAAa,GAAY,KAAK,CAAC;QAK9B,YAAO,GAAsB,IAAI,CAAC;QAEzB,yBAAoB,GAA2B,IAAI,GAAG,EAAE,CAAC;IAE3D,CAAC;IAET,KAAK,CAAC,UAAU,CAAC,MAAgC;QACtD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,uBAAuB,CAC/B,6DAA6D,EAC7D,6BAA6B,CAC9B,CAAC;QACJ,CAAC;QACD,qFAAqF;QACrF,6DAA6D;QAC7D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,8BAA8B;YACzD,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,0DAA0D;YACjG,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,mBAAmB;YAC5C,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,mBAAmB;YAC5C,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,KAAK;YAC9C,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,MAAM;SAC5D,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,wCAAwC;QAE1F,sEAAsE;QACtE,wEAAwE;QACxE,gEAAgE;QAChE,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;YAClC,YAAY,EAAE,oCAAoC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,YAAY,GAAG;SACzF,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAChD,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACzB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,OAAO;SACR,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACpC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,kDAAkD,IAAI,CAAC,cAAc,IAAI,SAAS,WAAW,IAAI,CAAC,oBAAoB,CAAC,IAAI,yBAAyB,CAAC,CAAC;QACpK,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,MAAM,SAAS,GAAG,KAAK,YAAY,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAClE,uBAAuB,CAAE,kDAAkD;gBACzE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACzD,YAAY,CAAC,kBAAkB,EAAE,uCAAuC;gBACxE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,EAC/B,4CAA4C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACrG,CAAC;YACJ,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;YACjE,MAAM,SAAS,CAAC;QAClB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAClC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAC5C,SAAS,EACT,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,cAAc,CAC3B,CAAC;QAEF,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAkC,EAAE,EAAE;gBAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBACnD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAC;QAC1G,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,QAAkC;QAC1D,MAAM,YAAY,GAA8B,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACvE,IAAI,QAAQ,CAAC,YAAY,EAAE,QAAQ,KAAK,YAAY,EAAE,CAAC;YACrD,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,0BAA0B,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9G,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAC5F,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACvE,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,QAA4B,EAAE,eAAuB,OAAO,EAAsB,EAAE;YACtG,IAAI,OAAO,QAAQ,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YACnD,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YACnC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,YAAY,CAAC;QACzD,CAAC,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,EAAE;YACpB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,QAAQ,CAAC,IAAI;YAC1B,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;YAC/C,iBAAiB,EAAE,QAAQ,CAAC,cAAc,IAAI,SAAS;YACvD,qBAAqB,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1D,sBAAsB,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;YAC/D,iBAAiB,EAAE,IAAI;YACvB,MAAM,EAAE,QAAQ;SACjB,CAAC;IACJ,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,uBAAuB,CAC/B,mFAAmF,EACnF,0BAA0B,CAC3B,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACK,8BAA8B,CACpC,OAAe,EACf,UAAuC,EACvC,OAA+B;QAE/B,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,OAAO;QAQ5D,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC5B,sEAAsE;YACtE,iEAAiE;YACjE,mEAAmE;YACnE,uDAAuD;YACvD,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;gBACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;oBAAE,SAAS;gBAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAqB,CAAC;gBAC5C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,KAAK,SAAS,CAAC;oBAAE,SAAS;gBACpE,OAAgC,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC7D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;wBAAE,OAAO,IAAI,CAAC;oBAC3D,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;oBACnD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;YACD,OAAO;QACT,CAAC;QAED,6DAA6D;QAC7D,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;QAC9D,IAAI,YAAY,KAAK,GAAG,IAAI,YAAY,KAAK,OAAO;YAAE,OAAO;QAE7D,oEAAoE;QACpE,oEAAoE;QACpE,8DAA8D;QAC9D,qEAAqE;QACrE,8BAA8B;QAC9B,MAAM,WAAW,GAAG,CAAC,KAAc,EAAW,EAAE,CAC9C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACpB,KAAK,CAAC,IAAI,CACR,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,KAAK,IAAI;gBACd,OAAO,KAAK,KAAK,QAAQ;gBACxB,KAAiC,CAAC,aAAa,KAAK,SAAS,CACjE,CAAC;QACJ,MAAM,WAAW,GAAI,OAAO,CAAC,iBAAyD;YACpF,EAAE,KAAK,CAAC;QACV,IACE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9C,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;YAC1B,WAAW,CAAC,WAAW,CAAC,EACxB,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GACV,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI;YACzC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE;YAClC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAE5B,MAAM,WAAW,GAAG,CAAC,GAAyB,EAAW,EAAE;YACzD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACpC,IAAI,CAAC,GAAG,CAAC,OAAO;oBAAE,OAAO,KAAK,CAAC;gBAC9B,GAA4B,CAAC,OAAO,GAAG;oBACtC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE;iBAClE,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,mEAAmE;gBACnE,gEAAgE;gBAChE,kEAAkE;gBAClE,2DAA2D;gBAC3D,MAAM,KAAK,GAAG,GAAG,CAAC,OAAqB,CAAC;gBACxC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACtB,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC/E,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;wBAC3B,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;wBACnD,GAA4B,CAAC,OAAO,GAAG,IAAI,CAAC;wBAC7C,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,wEAAwE;QACxE,yEAAyE;QACzE,mEAAmE;QACnE,kBAAkB;QAClB,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpC,SAAS,GAAG,CAAC,CAAC;gBACd,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,SAAS,IAAI,CAAC;YAAE,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;QAEvD,qEAAqE;QACrE,6DAA6D;QAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,KAAK,SAAS;YAAE,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9E,CAAC;IAEO,uBAAuB,CAAC,QAAuB;QACrD,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACxB,MAAM,SAAS,GAAyB,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;YACjF,IAAI,GAAG,CAAC,IAAI;gBAAE,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACxC,qEAAqE;YACrE,qEAAqE;YACrE,6DAA6D;YAC7D,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBACnB,SAAS,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC1G,CAAC;YACD,IAAI,GAAG,CAAC,YAAY;gBAAE,SAAS,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;YAChE,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,OAAe,EACf,QAAuB,EACvB,OAA+B;QAE/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,MAAM,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,8BAA8B,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAE1E,MAAM,OAAO,GAA4B;YACvC,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,kBAAkB;YAC5B,MAAM,EAAE,KAAK;YACb,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;YAC9E,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC1D,yEAAyE;YACzE,2EAA2E;YAC3E,+EAA+E;YAC/E,6EAA6E;YAC7E,6EAA6E;YAC7E,oEAAoE;YACpE,uEAAuE;YACvE,uDAAuD;YACvD,UAAU,EAAE,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI;YACpE,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;YAC3F,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC9F,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3E,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7D,sEAAsE;YACtE,sEAAsE;YACtE,6DAA6D;YAC7D,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;YACzE,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YAC5D,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;YAC5E,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,KAAK,aAAa,IAAI,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC;YACnG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,KAAK,aAAa,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;YAClG,0DAA0D;YAC1D,kEAAkE;YAClE,sEAAsE;YACtE,8BAA8B;YAC9B,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACxB,oEAAoE;YACpE,iEAAiE;YACjE,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;SAC5D,CAAC;QACF,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE/C,IAAI,eAAoD,CAAC;QACzD,IAAI,CAAC;YACH,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CACzC,mBAAmB,EACnB,MAAM;YACN,2EAA2E;YAC3E,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EACpD,OAAO,CACR,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,iCAAiC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACxE,IAAI,CAAC,QAAQ;gBAAE,MAAM,KAAK,CAAC;YAC3B,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CACzC,mBAAmB,EACnB,MAAM,EACN,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EACpD,OAAO,CACR,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,0BAA0B,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED;;;;;OAKG;IACK,yBAAyB,CAAC,OAAgC;QAChE,MAAM,QAAQ,GAAG,8BAA8B,EAAE,CAAC;QAClD,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,QAAQ,GACZ,OAAO,CAAC,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;YACtD,CAAC,CAAE,OAAO,CAAC,QAAoC;YAC/C,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;IAClD,CAAC;IAED;;;;;;;;OAQG;IACK,uBAAuB,CAC7B,OAAgC,EAChC,OAA+B;QAE/B,IAAI,OAAO,CAAC,cAAc,EAAE,IAAI,KAAK,aAAa;YAAE,OAAO;QAC3D,MAAM,QAAQ,GACZ,OAAO,CAAC,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;YACtD,CAAC,CAAE,OAAO,CAAC,QAAoC;YAC/C,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;IAC/D,CAAC;IAED;;;;;;;;;;;OAWG;IACK,iCAAiC,CACvC,OAAgC,EAChC,KAAc;QAEd,MAAM,EAAE,GAAG,OAAO,CAAC,eAAgD,CAAC;QACpE,IAAI,EAAE,EAAE,IAAI,KAAK,aAAa;YAAE,OAAO,KAAK,CAAC;QAC7C,IAAI,CAAC,CAAC,KAAK,YAAY,uBAAuB,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9D,MAAM,WAAW,GACf,KAAK,CAAC,UAAU,KAAK,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QAE/B,OAAO,CAAC,IAAI,CACV,iEAAiE;YAC/D,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,6CAA6C,CACzE,CAAC;QACF,OAAO,CAAC,eAAe,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAA+C,CAAC;QACzE,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC7C,OAAO,QAAQ,CAAC,kBAAkB,CAAC;YACnC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,OAAO,CAAC,QAAQ,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,CAAC,wBAAwB,CACpC,OAAe,EACf,QAAuB,EACvB,OAA+B;QAE/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,MAAM,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,8BAA8B,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAE1E,MAAM,OAAO,GAA4B;YACvC,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,kBAAkB;YAC5B,MAAM,EAAE,IAAI;YACZ,uEAAuE;YACvE,uEAAuE;YACvE,6DAA6D;YAC7D,iEAAiE;YACjE,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;YACvC,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;YAC9E,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC1D,yEAAyE;YACzE,2EAA2E;YAC3E,+EAA+E;YAC/E,6EAA6E;YAC7E,6EAA6E;YAC7E,oEAAoE;YACpE,uEAAuE;YACvE,uDAAuD;YACvD,UAAU,EAAE,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI;YACpE,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;YAC3F,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC9F,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3E,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7D,sEAAsE;YACtE,sEAAsE;YACtE,6DAA6D;YAC7D,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;YACzE,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YAC5D,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;YAC5E,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,KAAK,aAAa,IAAI,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC;YACnG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,KAAK,aAAa,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;YAClG,0DAA0D;YAC1D,kEAAkE;YAClE,sEAAsE;YACtE,8BAA8B;YAC9B,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACxB,oEAAoE;YACpE,iEAAiE;YACjE,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;SAC5D,CAAC;QACF,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE/C,IAAI,MAA6B,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAChC,mBAAmB,EACnB,MAAM;YACN,yEAAyE;YACzE,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAC1D,OAAO,EACP,IAAI,CACL,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,iCAAiC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACxE,IAAI,CAAC,QAAQ;gBAAE,MAAM,KAAK,CAAC;YAC3B,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAChC,mBAAmB,EACnB,MAAM,EACN,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAC1D,OAAO,EACP,IAAI,CACL,CAAC;QACJ,CAAC;QAED,MAAM,oBAAoB,GAAuG,IAAI,GAAG,EAAE,CAAC;QAE3I,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;YACzB,MAAM,EAAE,EAAE,EAAE,oBAAoB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACrO,OAAO;QACT,CAAC;QACD,MAAM,YAAY,GAAG,GAAG,EAAE,GAA8C,CAAC,CAAC;QAC1E,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAErE,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;gBACzB,MAAM,EAAE,EAAE,EAAE,oBAAoB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC1N,MAAM;YACR,CAAC;YACD,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjE,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5D,IAAI,QAAQ,KAAK,QAAQ;oBAAE,MAAM;YACnC,CAAC;YACD,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;gBAChC,MAAM;YACR,CAAC;YAED,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACrD,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAEnC,CAAC;oBACF,iEAAiE;oBACjE,mEAAmE;oBACnE,+DAA+D;oBAC/D,iEAAiE;oBACjE,iEAAiE;oBACjE,iEAAiE;oBACjE,gEAAgE;oBAChE,wBAAwB;oBACxB,IAAI,QAAQ,CAAC,KAAK,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBACzD,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,IAAI,6BAA6B,CAAC;wBAC3E,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;wBACpC,MAAM;4BACJ,EAAE,EAAE,QAAQ,CAAC,EAAE,IAAI,oBAAoB,IAAI,CAAC,GAAG,EAAE,EAAE;4BACnD,MAAM,EAAE,uBAAuB;4BAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;4BAC1D,OAAO,EAAE,QAAQ,CAAC,KAAK,IAAI,OAAO;4BAClC,OAAO,EAAE,EAAE;4BACX,OAAO,EAAE,IAAI;4BACb,KAAK,EAAE;gCACL,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU;gCAC1E,IAAI,EAAE,gBAAgB;6BACvB;yBACF,CAAC;wBACF,MAAM;oBACR,CAAC;oBACD,MAAM,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;oBAChF,mEAAmE;oBACnE,mEAAmE;oBACnE,iEAAiE;oBACjE,mEAAmE;oBACnE,6DAA6D;gBAC/D,CAAC;gBAAC,OAAO,KAAc,EAAE,CAAC;oBACxB,OAAO,CAAC,IAAI,CAAC,8EAA8E,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC1H,CAAC;YACH,CAAC;QACH,CAAC;QACD,WAAW,EAAE,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC1D,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,OAAe,EACf,KAAe,EACf,OAAkC;QAElC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,uBAAuB,CAAC,8DAA8D,EAAE,oBAAoB,CAAC,CAAC;QAC1H,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,8BAA8B,OAAO,4EAA4E,CAAC,CAAC;QAClI,CAAC;QAED,MAAM,OAAO,GAA4B;YACvC,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,KAAK;YACZ,GAAG,CAAC,OAAO,EAAE,cAAc,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3E,GAAG,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;YAC9D,GAAG,CAAC,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,CAAC;SAC7D,CAAC;QACF,IAAI,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC,iBAAiB,IAAI,OAAO,OAAO,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YACpG,OAAO,CAAC,iBAA6C,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;QACxF,CAAC;aAAM,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,iBAAiB,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;QAChE,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAC/C,aAAa,EACb,MAAM,EACN,IAAI,CAAC,MAAM,CAAC,cAAc,EAC1B,OAAO,CACR,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnC,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAC,CAAC;YACH,KAAK,EAAE,eAAe,CAAC,KAAK;YAC5B,KAAK,EAAE;gBACL,aAAa,EAAE,eAAe,CAAC,KAAK,CAAC,aAAa;gBAClD,YAAY,EAAE,eAAe,CAAC,KAAK,CAAC,YAAY;aACjD;SACF,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,MAAgC;QAC/D,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACtC,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,yGAAyG,EAAE,YAAY,CAAC,CAAC;YACxI,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9D,IAAI,MAAM,EAAE,UAAU,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAW,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,OAAe;QACvC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,6BAA6B,OAAO,uCAAuC,CAAC,CAAC;gBACzF,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACtC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,kFAAkF,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;YACpH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAEM,KAAK,CAAC,WAAW;QACtB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,2DAA2D,EAAC,EAAC,CAAC;QAC/G,CAAC;QACD,IAAI,CAAC;YACH,oEAAoE;YACpE,sEAAsE;YACtE,6DAA6D;YAC7D,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE;gBAC/B,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,KAAK,EAAE,KAAK,CAAC;gBAC7D,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;iBAC5F;aACF,CAAC,CAAC;YACH,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,wDAAwD,EAAE,EAAE,CAAC;QAC7G,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,KAAmB,CAAC;YAChC,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE;oBACP,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,mCAAmC,GAAG,CAAC,OAAO,EAAE,CAAC;oBAC7E,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM;oBAC5B,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC;iBAC1D;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,QAAQ;QACnB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;IAClG,CAAC;IAEO,0BAA0B,CAChC,WAAgD,EAChD,gBAAwB;QAExB,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,uBAAuB,CAAC,+CAA+C,EAAE,wBAAwB,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QACrK,CAAC;QAED,MAAM,KAAK,GAA2B,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE5E,OAAO;YACL,EAAE,EAAE,WAAW,CAAC,EAAE;YAClB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,OAAO,EAAE,WAAW,CAAC,KAAK,IAAI,gBAAgB;YAC9C,uEAAuE;YACvE,oEAAoE;YACpE,4DAA4D;YAC5D,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrC,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,OAAO,EAAE;oBACP,IAAI,EAAE,CAAC,CAAC,OAAQ,CAAC,IAAI;oBACrB,OAAO,EAAE,CAAC,CAAC,OAAQ,CAAC,OAAO;oBAC3B,UAAU,EAAE,CAAC,CAAC,OAAQ,CAAC,UAAU;iBAClC;gBACD,YAAY,EAAE,CAAC,CAAC,aAAa;gBAC7B,QAAQ,EAAE,CAAC,CAAC,QAAQ;aACrB,CAAC,CAAC;YACH,KAAK;SACN,CAAC;IACJ,CAAC;IAEO,2BAA2B,CAC/B,QAA6C,EAC7C,gBAAwB,EACxB,oBAAwH;QAExH,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEnC,sEAAsE;QACtE,mEAAmE;QACnE,uEAAuE;QACvE,0EAA0E;QAC1E,0DAA0D;QAC1D,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC3E,OAAO;gBACL,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,OAAO,EAAE,QAAQ,CAAC,KAAK,IAAI,gBAAgB;gBAC3C,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC;aAC1C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACnE,OAAO,EAAE,QAAQ,CAAC,KAAK,IAAI,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI;gBACvE,KAAK,EAAE,EAAE,OAAO,EAAE,oCAAoC,EAAE,IAAI,EAAE,kBAAkB,EAAE;aACnF,CAAC;QACJ,CAAC;QAED,IAAI,iBAAqC,CAAC;QAC1C,IAAI,eAA2D,CAAC;QAEhE,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YAC1B,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAC3C,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC;YAC7B,eAAe,GAAG,EAAE,CAAC;YACrB,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACxC,IAAI,oBAAoB,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnE,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC1B,oBAAoB,GAAG,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAC,EAAE,CAAC;gBAClE,CAAC;gBAED,IAAI,OAAO,CAAC,EAAE;oBAAE,oBAAoB,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;gBACrD,IAAI,OAAO,CAAC,IAAI;oBAAE,oBAAoB,CAAC,IAAI,GAAG,OAAO,CAAC,IAAkB,CAAC;gBACzE,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI;oBAAE,oBAAoB,CAAC,QAAS,CAAC,IAAI,GAAG,CAAC,oBAAoB,CAAC,QAAS,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACtI,IAAI,OAAO,CAAC,QAAQ,EAAE,SAAS;oBAAE,oBAAoB,CAAC,QAAS,CAAC,SAAS,GAAG,CAAC,oBAAoB,CAAC,QAAS,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAE1J,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;gBAE9D,eAAgB,CAAC,IAAI,CAAC;oBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,IAAI,EAAE,OAAO,CAAC,IAAkB;oBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAC3B,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;wBAC3B,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS;qBAC5C,CAAC,CAAC,CAAC,SAAS;iBACd,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACvC,IAAI,UAAkC,CAAC;QACvC,MAAM,YAAY,GAA4B,EAAE,CAAC;QAEjD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,UAAU,GAAG;oBACX,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;oBAC1C,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,iBAAiB;oBAClD,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY;oBACxC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI;iBAC7B,CAAC;YACJ,CAAC;YACD,MAAM,YAAY,GAAgB;gBAChC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,oBAAoB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI,WAAW,CAAC;gBAC/G,OAAO,EAAE,iBAAiB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;gBAC/D,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC;qBAClD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;qBACxC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACb,EAAE,EAAE,KAAK,CAAC,EAAG;oBACb,IAAI,EAAE,KAAK,CAAC,IAAK;oBACjB,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,QAAS,CAAC,IAAK,EAAE,SAAS,EAAE,KAAK,CAAC,QAAS,CAAC,SAAU,EAAE;iBACjF,CAAC,CAAC;aACN,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrE,OAAO,YAAY,CAAC,UAAU,CAAC;YACjC,CAAC;YACD,IAAI,iBAAiB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI,oBAAoB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACrF,YAAY,CAAC,OAAO,GAAG,iBAAiB,CAAC;YAC3C,CAAC;iBAAM,IAAI,oBAAoB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;gBAC3F,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;YAC9B,CAAC;YAED,YAAY,CAAC,IAAI,CAAC;gBAChB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE,YAAY;gBACrB,YAAY,EAAE,MAAM,CAAC,aAAa;gBAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,IAAI,CAAC;gBAChB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,WAAW;oBACvC,OAAO,EAAE,iBAAiB,IAAI,IAAI;iBACnC;gBACD,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,OAAO,EAAE,QAAQ,CAAC,KAAK,IAAI,gBAAgB;YAC3C,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,OAAO,EAAE,YAAY;YACrB,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB;YAC1D,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe;YACtD,OAAO;YACP,KAAK,EAAE,UAAU;SAClB,CAAC;IACN,CAAC;IAOD;;;;;;;;;;;;;;;OAeG;IACK,KAAK,CAAC,cAAc,CAC1B,QAAgB,EAChB,MAAsB,EACtB,OAAgB,EAChB,IAA8B,EAC9B,eAAwB,KAAK;QAE7B,IAAI,SAAS,GAAmC,IAAI,CAAC;QAErD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAC,oBAAoB,EAAE,OAAO,EAAE,EAAE,CAAC;YACnF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAChF,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAI;oBAC5C,GAAG,EAAE,QAAQ;oBACb,MAAM;oBACN,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE;oBAC9C,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,QAAwB,CAAC,CAAC,CAAC,MAAsB;iBAC/E,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,UAA8B,CAAC;gBACnC,IAAI,SAAc,CAAC;gBACnB,IAAI,YAAY,GAAG,8BAA8B,CAAC;gBAClD,IAAI,SAAS,GAAG,mBAAmB,CAAC;gBACpC,IAAI,aAAiC,CAAC;gBACtC,IAAI,gBAAgB,GAAG,KAAK,CAAC;gBAE7B,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC9B,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;oBACpC,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC;oBACjC,+DAA+D;oBAC/D,4DAA4D;oBAC5D,4DAA4D;oBAC5D,0DAA0D;oBAC1D,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;wBAChC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;wBAC5D,4DAA4D;wBAC5D,iEAAiE;wBACjE,8DAA8D;wBAC9D,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACjG,CAAC;oBACD,gBAAgB,GAAG,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;oBAChD,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC;oBAC/D,MAAM,gBAAgB,GACpB,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oBACxE,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;wBAC9D,aAAa,GAAG,gBAAgB,CAAC;oBACnC,CAAC;oBACD,IAAI,SAAS,EAAE,KAAK,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC5D,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,YAAY,CAAC;wBACvD,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC;oBAChD,CAAC;yBAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;wBAC7D,YAAY,GAAG,SAAS,CAAC;oBAC3B,CAAC;yBAAM,IAAK,KAAe,CAAC,OAAO,EAAE,CAAC;wBACpC,YAAY,GAAI,KAAe,CAAC,OAAO,CAAC;oBAC1C,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;oBAClC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC/B,CAAC;gBAED,8DAA8D;gBAC9D,iEAAiE;gBACjE,IAAI,CAAC,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;oBACxE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC;gBAED,uEAAuE;gBACvE,yEAAyE;gBACzE,+DAA+D;gBAC/D,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;gBAC3G,SAAS,GAAG,IAAI,uBAAuB,CACrC,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT;oBACE,eAAe,EAAE,QAAQ;oBACzB,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS;oBACrF,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;oBAChD,8DAA8D;oBAC9D,8DAA8D;oBAC9D,2BAA2B;oBAC3B,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;iBAC3C,CACF,CAAC;gBAEF,MAAM,SAAS,GACb,gBAAgB;oBAChB,UAAU,KAAK,GAAG;oBAClB,UAAU,KAAK,GAAG;oBAClB,CAAC,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,IAAI,GAAG,IAAI,UAAU,GAAG,GAAG,CAAC,CAAC;gBAC5E,IAAI,CAAC,SAAS,IAAI,OAAO,KAAK,kBAAkB,CAAC,oBAAoB,GAAG,CAAC,EAAE,CAAC;oBAC1E,MAAM,SAAS,CAAC;gBAClB,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACtB,aAAa,KAAK,SAAS;oBACzB,CAAC,CAAC,aAAa,GAAG,IAAI;oBACtB,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,EACxD,kBAAkB,CAAC,kBAAkB,CACtC,CAAC;gBACF,OAAO,CAAC,IAAI,CACV,+BAA+B,OAAO,GAAG,CAAC,IAAI,kBAAkB,CAAC,oBAAoB,GAAG;oBACtF,WAAW,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,kBAAkB,OAAO,KAAK,CAC9E,CAAC;gBACF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,6CAA6C;QAC7C,MAAM,SAAS,IAAI,IAAI,uBAAuB,CAAC,4BAA4B,EAAE,oBAAoB,CAAC,CAAC;IACrG,CAAC;IAED;;;;;;;OAOG;IACK,aAAa,CAAC,IAAY;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACvE,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,+FAA+F;IACvF,iBAAiB;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;QAC1C,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CACrH,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAC9B,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACK,iBAAiB,CAAC,IAAY;QACpC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAC9C,KAAK,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;gBACnF,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;oBAC3C,GAAG,GAAG,MAAM,CAAC;oBACb,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,CAAC;IAED;;;;;;;;OAQG;IACK,kBAAkB,CAAC,IAAa;QACtC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACrD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,gBAAgB,CAAC,IAAI,CAAC;YAAE,OAAO,wBAAwB,CAAC;QAC5D,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClC,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,gCAAgC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,aAAa,CAAC,KAAc;QAClC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAI,KAA4B,CAAC,IAAI,CAAC;YAChD,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;aAC3C,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IACxD,CAAC;IAEO,KAAK,CAAC,CAAC,cAAc,CAAC,MAA6B;QACzD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,cAAc,GAAG,MAA0D,CAAC;QAElF,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC3B,IAAI,QAAQ,CAAC;gBACb,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;oBAClD,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;oBACxC,IAAI,IAAI,EAAE,CAAC;wBACT,MAAM,IAAI,CAAC;oBACb,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAChC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,yCAAyC,CACnF,CAAC;YACF,qEAAqE;YACrE,2CAA2C;YAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,CAAC,KAAK,CAAC,0DAA0D,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAChG,IAAI,KAAK,YAAY,uBAAuB;gBAAE,MAAM,KAAK,CAAC;YAC1D,MAAM,IAAI,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACxG,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,cAAc,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBACjD,cAAc,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC;iBAAM,IAAI,OAAQ,cAAsB,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC9D,cAAsB,CAAC,KAAK,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;;AAlQD,yEAAyE;AACjD,uCAAoB,GAAG,CAAC,AAAJ,CAAK;AACjD,qEAAqE;AAC7C,qCAAkB,GAAG,KAAM,AAAT,CAAU"}
1
+ {"version":3,"file":"OpenRouterProvider.js","sourceRoot":"","sources":["../../../../../src/core/llm/providers/implementations/OpenRouterProvider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@framers/agentos",
3
- "version": "0.10.30",
3
+ "version": "0.10.31",
4
4
  "description": "AgentOS: open-source TypeScript framework for autonomous AI agents. Unified graph orchestration, cognitive memory, runtime tool forging, multi-tier guardrails, voice pipeline, and 11 LLM providers.",
5
5
  "homepage": "https://agentos.sh",
6
6
  "repository": {