studiograph 1.3.48-next.279 → 1.3.48-next.280
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/agent/prompts/system.md +2 -0
- package/dist/server/routes/chat-turn-outcome.d.ts +46 -0
- package/dist/server/routes/chat-turn-outcome.js +51 -0
- package/dist/server/routes/chat-turn-outcome.js.map +1 -1
- package/dist/server/routes/chat.js +120 -12
- package/dist/server/routes/chat.js.map +1 -1
- package/dist/web/_app/immutable/chunks/{03YCa8No2.js → 0iYgHjxP2.js} +2 -2
- package/dist/web/_app/immutable/chunks/{CanuVrKZ.js → AdUGDNY9.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CjL4EB_I2.js → B41i8cw52.js} +1 -1
- package/dist/web/_app/immutable/chunks/{TjUfqg5e2.js → B8gdzLRB2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BRPZdoke2.js → BCMCHGnl2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{V6J5mysF2.js → BKZ9xpix2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BZWVk36y.js → BQQaOOf3.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CRZ2iCNu.js → BTFf1mFm.js} +1 -1
- package/dist/web/_app/immutable/chunks/{OuKHsCY_.js → BUcmsNfi.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DfU5Dg2Y2.js → BVKswxB62.js} +1 -1
- package/dist/web/_app/immutable/chunks/{C-5xnnAz.js → B_d4zq-4.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Dy0vXhNQ.js → Ba53qoVO.js} +1 -1
- package/dist/web/_app/immutable/chunks/{B74xyA0_2.js → BeF_YrEc2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Bx3aNSM-.js → BlsIMcBq.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DnFBOhZD.js → CA8NGDnJ.js} +1 -1
- package/dist/web/_app/immutable/chunks/{2LYjTYGv.js → CBDveU8k.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DhaLWYNa2.js → CEQy5B8f2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CZAhFROE.js → CI12Gaeg.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Ce3iNS7s.js → CIvNZDmy.js} +1 -1
- package/dist/web/_app/immutable/chunks/{TBlvSMtz2.js → CMttYaeT2.js} +2 -2
- package/dist/web/_app/immutable/chunks/{DgweY3Aq.js → C_A_y7x5.js} +1 -1
- package/dist/web/_app/immutable/chunks/Cakxkuk5.js +1 -0
- package/dist/web/_app/immutable/chunks/{DbaPCIOD.js → CbOk_o5_.js} +2 -2
- package/dist/web/_app/immutable/chunks/{DobWZer5.js → ChuPYjb5.js} +1 -1
- package/dist/web/_app/immutable/chunks/{AymRL-g9.js → ClIEtyi4.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CobWgNgp.js → CoyEQ_5V.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CnGNX5D_.js → CrM8HKY2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{B5x0AGM2.js → DHepCXpt.js} +1 -1
- package/dist/web/_app/immutable/chunks/{D_cBk3me2.js → DWH6DgCd2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{NgDkmZw1.js → DYi0TLhD.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CAUXsrnR.js → DbOFiaoY.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CRyNwtQ-2.js → DurEh4us2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DoDbcpKf.js → DvMpJfpG.js} +1 -1
- package/dist/web/_app/immutable/chunks/{D61vjDlv.js → DvylWUzx.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BAOdayQZ.js → DzaWUnWv.js} +3 -3
- package/dist/web/_app/immutable/chunks/{OHcaE62f.js → G_Qn9TDJ.js} +1 -1
- package/dist/web/_app/immutable/chunks/{HvMX6QL_2.js → Gk29olsw2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BJeH2M0P.js → HDLg5UkK.js} +1 -1
- package/dist/web/_app/immutable/chunks/NhtQS20X.js +1 -0
- package/dist/web/_app/immutable/chunks/{B8xy5vZj.js → aSBc8N1l.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BSz2o7pg.js → dCZb8Wbu.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BidwYl_c.js → jB_mSyDz.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CisHAjFD.js → rW9JG922.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DbmUSotT2.js → sE-xIBIx2.js} +1 -1
- package/dist/web/_app/immutable/entry/{app.DlWn1hz9.js → app.B7VOZHNw.js} +2 -2
- package/dist/web/_app/immutable/entry/start.CJX1xbb4.js +1 -0
- package/dist/web/_app/immutable/nodes/{0.dcPosA84.js → 0.DPFQMkmA.js} +2 -2
- package/dist/web/_app/immutable/nodes/{1.CZB66dp3.js → 1.BUg3EbJ_.js} +1 -1
- package/dist/web/_app/immutable/nodes/{10.DW9XYA4H.js → 10.CZbTqhAj.js} +1 -1
- package/dist/web/_app/immutable/nodes/{11.BHe-wSd-.js → 11.Z-Ou8FlB.js} +1 -1
- package/dist/web/_app/immutable/nodes/{12.DO9GHOl_.js → 12.BUp8Zhqh.js} +1 -1
- package/dist/web/_app/immutable/nodes/{13.Fzp9KUMX.js → 13.Po2Xe1O2.js} +1 -1
- package/dist/web/_app/immutable/nodes/{15.DWaWokSm.js → 15.Cn6zcfI1.js} +1 -1
- package/dist/web/_app/immutable/nodes/{16.M4q6R3Qh.js → 16.Dal2-WQp.js} +1 -1
- package/dist/web/_app/immutable/nodes/{18.BMl6eqir.js → 18.BzDlENiF.js} +1 -1
- package/dist/web/_app/immutable/nodes/{19.BGZ4XWFI.js → 19.CQhngMoM.js} +1 -1
- package/dist/web/_app/immutable/nodes/{2.C9-XTsRj.js → 2.BxjWYHmV.js} +4 -4
- package/dist/web/_app/immutable/nodes/{3.Yjuif87f.js → 3.B4lvM3dS.js} +1 -1
- package/dist/web/_app/immutable/nodes/{4.Be21kvvd.js → 4.CC_fNxyS.js} +3 -3
- package/dist/web/_app/immutable/nodes/{5.CYGwTt3Z.js → 5.DlfbHz3H.js} +1 -1
- package/dist/web/_app/immutable/nodes/{6.CDkAQ5ct.js → 6.BuwXsPuz.js} +1 -1
- package/dist/web/_app/immutable/nodes/{7.lyyseO0Q.js → 7.CWkwNeVy.js} +1 -1
- package/dist/web/_app/immutable/nodes/{8.i9-XjsOI.js → 8.bQx8gIIK.js} +1 -1
- package/dist/web/_app/immutable/nodes/{9.CosI2_L-.js → 9.3Mk3Iduz.js} +1 -1
- package/dist/web/_app/version.json +1 -1
- package/dist/web/index.html +13 -13
- package/package.json +1 -1
- package/dist/web/_app/immutable/chunks/Cm1zmF4A.js +0 -1
- package/dist/web/_app/immutable/chunks/D8BXtK4o.js +0 -1
- package/dist/web/_app/immutable/entry/start.dvTK5I1O.js +0 -1
|
@@ -246,6 +246,8 @@ The platform owns arrangement, stepping, and pagination — so **match the artif
|
|
|
246
246
|
|
|
247
247
|
After `create_artifact` / `patch_artifact`, the result reports the resolved frame structure (manifest) and any warnings — verify the frame count and per-frame layouts match what the user asked for (a deck is N `slides` frames, not one `app` frame); if they don't, or a warning fired, fix it before responding. Load the `artifact-canvas` skill before creating a canvas artifact, and additionally the `paged-documents` skill before creating or editing a multi-page document (a `pages` frame) — it is the reference for the native-columns letterhead model (`furniture`/`pageMargins`, `break-before:column`) and requires you to render-and-inspect the result. Canvas artifacts are graph entries that open in the center content well, with PDF, PNG, and HTML downloads available from the artifact toolbar. For 3D, data visualization, and animation, request curated local libraries in the bundle (`three`, `d3`, `motion`) rather than embedding CDN dependencies.
|
|
248
248
|
|
|
249
|
+
**Work within your response budget — reason economically and build large outputs in stages.** A single reply has a finite output-token limit, and it is shared by your thinking AND your visible output. If you spend it all reasoning, you hit the limit before producing anything and the turn fails with nothing to show. So: commit to an approach instead of re-deriving the same thing over and over (e.g. don't recompute a diagram's coordinates dozens of times — pick a method and go), and don't try to one-shot a large or pixel-exact artifact in a single turn. Build it **incrementally**: emit a structural first version with `create_artifact` (the overall layout, regions, and placeholders), then refine it with one or more `patch_artifact` calls (fill in a column, add the map, tune the type). Each tool call is a SEPARATE generation with its own fresh budget, so a big artifact never has to fit in one reply. For a genuinely large task, state a one-line plan, ship a first pass, then iterate — a rough-but-complete artifact you keep improving beats an exhaustive plan that never renders.
|
|
250
|
+
|
|
249
251
|
### Tool Selection
|
|
250
252
|
|
|
251
253
|
**IMPORTANT — match user intent to the right tool category:**
|
|
@@ -25,9 +25,28 @@ export type ChatTurnOutcome = {
|
|
|
25
25
|
} | {
|
|
26
26
|
kind: 'error';
|
|
27
27
|
message: string;
|
|
28
|
+
} | {
|
|
29
|
+
kind: 'truncated';
|
|
28
30
|
} | {
|
|
29
31
|
kind: 'resolve';
|
|
30
32
|
};
|
|
33
|
+
/** Honest, actionable copy for an OUTPUT-ceiling stop that produced nothing usable.
|
|
34
|
+
* Distinct from the context-window OVERFLOW copy (that's the INPUT side). Surfaced
|
|
35
|
+
* instead of a misleading "the AI provider did not respond" or a generic
|
|
36
|
+
* "no response" — the model didn't fail to respond, it spent its whole generation
|
|
37
|
+
* budget (usually on reasoning) before producing an answer. */
|
|
38
|
+
export declare const OUTPUT_LIMIT_MESSAGE: string;
|
|
39
|
+
/** Steering message sent to the MODEL (never shown to the user) for the single
|
|
40
|
+
* bounded recovery continuation after an output-ceiling truncation. The prior
|
|
41
|
+
* assistant turn spent its whole generation budget on reasoning and emitted
|
|
42
|
+
* nothing usable; this re-prompt tells the model to stop deliberating and emit
|
|
43
|
+
* the result incrementally so the next generation — a FRESH budget — produces
|
|
44
|
+
* something. Model-agnostic: providers that retain reasoning across a turn
|
|
45
|
+
* (e.g. Gemini's encrypted thoughtSignature) resume WITH their analysis intact,
|
|
46
|
+
* so the model can answer without re-deriving; providers that don't still get a
|
|
47
|
+
* clear instruction to act now. Kept here next to OUTPUT_LIMIT_MESSAGE so the
|
|
48
|
+
* two halves of the ceiling-recovery contract live together and stay testable. */
|
|
49
|
+
export declare const OUTPUT_LIMIT_CORRECTIVE_NUDGE: string;
|
|
31
50
|
export declare function decideChatTurnOutcome(input: {
|
|
32
51
|
/** Reactive context-overflow detection result (computed by the route). */
|
|
33
52
|
isOverflow: boolean;
|
|
@@ -37,6 +56,13 @@ export declare function decideChatTurnOutcome(input: {
|
|
|
37
56
|
lastStopReason?: string;
|
|
38
57
|
/** errorMessage of the last assistant message, if the run failed. */
|
|
39
58
|
lastErrorMessage?: string;
|
|
59
|
+
/** Whether the FINAL (length-stopped) assistant message produced usable output of
|
|
60
|
+
* its OWN — a non-empty text block or a tool call. Must reflect that message's own
|
|
61
|
+
* blocks, NOT turn-wide accumulators: in a multi-step turn the budget can be
|
|
62
|
+
* exhausted on a continuation that emits only thinking, while earlier messages
|
|
63
|
+
* already ran a tool. A `length` stop whose final message DID produce a tool call
|
|
64
|
+
* is productive (the tool runs), so it is NOT truncated. */
|
|
65
|
+
finalMessageHasOutput?: boolean;
|
|
40
66
|
}): ChatTurnOutcome;
|
|
41
67
|
export declare function isRetryableTurnError(message: string | undefined): boolean;
|
|
42
68
|
/**
|
|
@@ -66,6 +92,26 @@ export declare function isRetryableTurnError(message: string | undefined): boole
|
|
|
66
92
|
* (re-streaming would duplicate the partial), nor is a streamed-but-toolless
|
|
67
93
|
* initial turn.
|
|
68
94
|
*/
|
|
95
|
+
/**
|
|
96
|
+
* Whether to issue the single bounded CORRECTIVE continuation after an
|
|
97
|
+
* output-ceiling truncation (decideChatTurnOutcome → `truncated`). The model
|
|
98
|
+
* spent its whole generation budget on reasoning and emitted nothing usable; one
|
|
99
|
+
* re-prompt (OUTPUT_LIMIT_CORRECTIVE_NUDGE) tells it to stop deliberating and
|
|
100
|
+
* produce the result on a fresh budget. Strictly bounded to ONE attempt per turn:
|
|
101
|
+
* if the corrective continuation length-stops AGAIN, `correctiveAttempted` is set
|
|
102
|
+
* so this returns false and the route falls through to OUTPUT_LIMIT_MESSAGE — the
|
|
103
|
+
* backstop for a genuinely pathological prompt that just keeps re-spiralling.
|
|
104
|
+
* Skipped when the client has disconnected (no point re-prompting into a dead
|
|
105
|
+
* stream). Pure so the 1-attempt bound is unit-testable.
|
|
106
|
+
*/
|
|
107
|
+
export declare function shouldIssueCorrectiveContinuation(input: {
|
|
108
|
+
/** The settled turn hit the output-ceiling truncation outcome. */
|
|
109
|
+
truncated: boolean;
|
|
110
|
+
/** A corrective continuation was ALREADY issued this turn (enforces the bound). */
|
|
111
|
+
correctiveAttempted: boolean;
|
|
112
|
+
/** The SSE client has gone away — don't re-prompt into a dead stream. */
|
|
113
|
+
clientDisconnected: boolean;
|
|
114
|
+
}): boolean;
|
|
69
115
|
export declare function shouldRetryTransientFailure(input: {
|
|
70
116
|
attempt: number;
|
|
71
117
|
maxRetries: number;
|
|
@@ -1,4 +1,27 @@
|
|
|
1
1
|
const DEFAULT_PROVIDER_ERROR = 'The AI provider returned an error.';
|
|
2
|
+
/** Honest, actionable copy for an OUTPUT-ceiling stop that produced nothing usable.
|
|
3
|
+
* Distinct from the context-window OVERFLOW copy (that's the INPUT side). Surfaced
|
|
4
|
+
* instead of a misleading "the AI provider did not respond" or a generic
|
|
5
|
+
* "no response" — the model didn't fail to respond, it spent its whole generation
|
|
6
|
+
* budget (usually on reasoning) before producing an answer. */
|
|
7
|
+
export const OUTPUT_LIMIT_MESSAGE = 'I reached my response-length limit while working through this and didn’t get to a result. ' +
|
|
8
|
+
'This usually happens on a large or pixel-exact one-shot task — the reasoning fills the whole reply. ' +
|
|
9
|
+
'Try again, or ask me to build it in stages (a structural first pass, then refinements) so no single step runs over.';
|
|
10
|
+
/** Steering message sent to the MODEL (never shown to the user) for the single
|
|
11
|
+
* bounded recovery continuation after an output-ceiling truncation. The prior
|
|
12
|
+
* assistant turn spent its whole generation budget on reasoning and emitted
|
|
13
|
+
* nothing usable; this re-prompt tells the model to stop deliberating and emit
|
|
14
|
+
* the result incrementally so the next generation — a FRESH budget — produces
|
|
15
|
+
* something. Model-agnostic: providers that retain reasoning across a turn
|
|
16
|
+
* (e.g. Gemini's encrypted thoughtSignature) resume WITH their analysis intact,
|
|
17
|
+
* so the model can answer without re-deriving; providers that don't still get a
|
|
18
|
+
* clear instruction to act now. Kept here next to OUTPUT_LIMIT_MESSAGE so the
|
|
19
|
+
* two halves of the ceiling-recovery contract live together and stay testable. */
|
|
20
|
+
export const OUTPUT_LIMIT_CORRECTIVE_NUDGE = 'You hit your response-length limit while reasoning and produced no answer — you already have your analysis. ' +
|
|
21
|
+
'Stop planning and re-deriving, and produce the result NOW. Build it incrementally rather than in one shot: ' +
|
|
22
|
+
'start with a structural `create_artifact` (overall layout, regions, placeholders), then refine it with one or ' +
|
|
23
|
+
'more `patch_artifact` calls — each tool call is a SEPARATE generation with its own fresh budget. ' +
|
|
24
|
+
'Do not restate your plan; act.';
|
|
2
25
|
export function decideChatTurnOutcome(input) {
|
|
3
26
|
// Overflow wins: distinct, actionable copy ("conversation grew too large").
|
|
4
27
|
if (input.isOverflow)
|
|
@@ -18,6 +41,19 @@ export function decideChatTurnOutcome(input) {
|
|
|
18
41
|
if (input.lastErrorMessage || input.lastStopReason === 'error') {
|
|
19
42
|
return { kind: 'error', message: input.lastErrorMessage || DEFAULT_PROVIDER_ERROR };
|
|
20
43
|
}
|
|
44
|
+
// OUTPUT-ceiling stop (stopReason 'length') with NO usable output to show — no
|
|
45
|
+
// answer text anywhere in the turn AND the final message produced no tool call of
|
|
46
|
+
// its own. The model exhausted its generation budget (typically on extended
|
|
47
|
+
// thinking) before producing anything usable. This is NOT a context-window overflow
|
|
48
|
+
// (that's the INPUT side, caught above) and NOT a provider failure — it surfaces
|
|
49
|
+
// honest, retryable copy instead of the misleading "did not respond". Keyed off the
|
|
50
|
+
// FINAL message's own output (not turn-wide accumulators), so a continuation that
|
|
51
|
+
// length-stops on only thinking is caught even if an earlier step ran a tool. A
|
|
52
|
+
// turn that produced a preamble (content non-empty) keeps that partial output
|
|
53
|
+
// (resolve), and a final tool call stays productive (the tool runs).
|
|
54
|
+
if (input.lastStopReason === 'length' && !input.content.trim() && !input.finalMessageHasOutput) {
|
|
55
|
+
return { kind: 'truncated' };
|
|
56
|
+
}
|
|
21
57
|
return { kind: 'resolve' };
|
|
22
58
|
}
|
|
23
59
|
/**
|
|
@@ -100,6 +136,21 @@ export function isRetryableTurnError(message) {
|
|
|
100
136
|
* (re-streaming would duplicate the partial), nor is a streamed-but-toolless
|
|
101
137
|
* initial turn.
|
|
102
138
|
*/
|
|
139
|
+
/**
|
|
140
|
+
* Whether to issue the single bounded CORRECTIVE continuation after an
|
|
141
|
+
* output-ceiling truncation (decideChatTurnOutcome → `truncated`). The model
|
|
142
|
+
* spent its whole generation budget on reasoning and emitted nothing usable; one
|
|
143
|
+
* re-prompt (OUTPUT_LIMIT_CORRECTIVE_NUDGE) tells it to stop deliberating and
|
|
144
|
+
* produce the result on a fresh budget. Strictly bounded to ONE attempt per turn:
|
|
145
|
+
* if the corrective continuation length-stops AGAIN, `correctiveAttempted` is set
|
|
146
|
+
* so this returns false and the route falls through to OUTPUT_LIMIT_MESSAGE — the
|
|
147
|
+
* backstop for a genuinely pathological prompt that just keeps re-spiralling.
|
|
148
|
+
* Skipped when the client has disconnected (no point re-prompting into a dead
|
|
149
|
+
* stream). Pure so the 1-attempt bound is unit-testable.
|
|
150
|
+
*/
|
|
151
|
+
export function shouldIssueCorrectiveContinuation(input) {
|
|
152
|
+
return input.truncated && !input.correctiveAttempted && !input.clientDisconnected;
|
|
153
|
+
}
|
|
103
154
|
export function shouldRetryTransientFailure(input) {
|
|
104
155
|
if (input.attempt >= input.maxRetries)
|
|
105
156
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-turn-outcome.js","sourceRoot":"","sources":["../../../src/server/routes/chat-turn-outcome.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chat-turn-outcome.js","sourceRoot":"","sources":["../../../src/server/routes/chat-turn-outcome.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { validateArtifactBundle } from '../../core/artifact-frame-model.js';
|
|
|
10
10
|
import { parseFollowups } from '../../agent/followups.js';
|
|
11
11
|
import * as access from '../../services/access-control.js';
|
|
12
12
|
import { reqGitUser } from './graph-api-access.js';
|
|
13
|
-
import { decideChatTurnOutcome, shouldRetryTransientFailure } from './chat-turn-outcome.js';
|
|
13
|
+
import { decideChatTurnOutcome, shouldRetryTransientFailure, shouldIssueCorrectiveContinuation, OUTPUT_LIMIT_MESSAGE, OUTPUT_LIMIT_CORRECTIVE_NUDGE } from './chat-turn-outcome.js';
|
|
14
14
|
import { hashArtifactBody } from '../../agent/tools/artifact-tools.js';
|
|
15
15
|
import { log } from '../../utils/log.js';
|
|
16
16
|
import { addInferenceUsage, createCloudInferenceBillingClient, createInferenceUsageSummary, isStudiographCreditsMode, } from '../../services/cloud-inference-billing.js';
|
|
@@ -914,7 +914,13 @@ export async function registerChatRoutes(fastify, agent, wsHub, authService, mem
|
|
|
914
914
|
// One prompt()/continue() attempt. Subscribes for the result, triggers
|
|
915
915
|
// the run, and RESOLVES with the outcome (never rejects — a provider
|
|
916
916
|
// failure comes back as { kind: 'error' } so the loop can decide).
|
|
917
|
-
|
|
917
|
+
// `mode` picks the trigger: 'initial' issues the user prompt, 'retry'
|
|
918
|
+
// re-requests the next model step via continue() (transient-failure
|
|
919
|
+
// recovery), 'corrective' appends the steering nudge via prompt() to
|
|
920
|
+
// recover from an output-ceiling truncation (continue() would throw on
|
|
921
|
+
// the trailing length-stopped assistant message — it's a real message,
|
|
922
|
+
// not a popped failure).
|
|
923
|
+
const runTurnAttempt = (mode) => new Promise((resolve) => {
|
|
918
924
|
let content = '';
|
|
919
925
|
let assistantMessageCount = 0;
|
|
920
926
|
let toolCallCount = 0;
|
|
@@ -996,11 +1002,20 @@ export async function registerChatRoutes(fastify, agent, wsHub, authService, mem
|
|
|
996
1002
|
// Both failure kinds are content-INDEPENDENT: see
|
|
997
1003
|
// decideChatTurnOutcome — a stale preamble must not let a failed
|
|
998
1004
|
// turn resolve as if it were a complete answer.
|
|
1005
|
+
// Does the FINAL (possibly length-stopped) assistant message
|
|
1006
|
+
// produce usable output of its OWN — non-empty text or a tool
|
|
1007
|
+
// call? Keyed off this message's blocks, NOT turn-wide
|
|
1008
|
+
// accumulators, so a continuation that length-stops on only
|
|
1009
|
+
// thinking is detected even when an earlier step already ran a
|
|
1010
|
+
// tool (codex P1).
|
|
1011
|
+
const finalBlocks = (lastAssistantMessage?.content ?? []);
|
|
1012
|
+
const finalMessageHasOutput = finalBlocks.some((b) => (b?.type === 'text' && typeof b.text === 'string' && b.text.trim().length > 0) || b?.type === 'toolCall');
|
|
999
1013
|
const outcome = decideChatTurnOutcome({
|
|
1000
1014
|
isOverflow,
|
|
1001
1015
|
content,
|
|
1002
1016
|
lastStopReason,
|
|
1003
1017
|
lastErrorMessage,
|
|
1018
|
+
finalMessageHasOutput,
|
|
1004
1019
|
});
|
|
1005
1020
|
if (outcome.kind === 'overflow') {
|
|
1006
1021
|
const u = lastAssistantMessage.usage ?? {};
|
|
@@ -1032,6 +1047,22 @@ export async function registerChatRoutes(fastify, agent, wsHub, authService, mem
|
|
|
1032
1047
|
resolve({ kind: 'error', message: outcome.message, toolCallCount });
|
|
1033
1048
|
return;
|
|
1034
1049
|
}
|
|
1050
|
+
if (outcome.kind === 'truncated') {
|
|
1051
|
+
// OUTPUT-ceiling stop with no usable output: the model spent its
|
|
1052
|
+
// whole generation budget (typically on extended thinking) and
|
|
1053
|
+
// produced nothing. Resolve as a normal (empty) turn but flag it
|
|
1054
|
+
// so the post-loop fallback surfaces honest, retryable copy
|
|
1055
|
+
// (OUTPUT_LIMIT_MESSAGE) instead of the generic "no response" or
|
|
1056
|
+
// the misleading "AI provider did not respond". Usage IS billed
|
|
1057
|
+
// (the tokens were spent), so carry it through like any turn.
|
|
1058
|
+
const u = lastAssistantMessage?.usage ?? {};
|
|
1059
|
+
log.warn(`[chat/stream] turn hit output-token ceiling with no usable output ` +
|
|
1060
|
+
`(stopReason=length, outputTokens=${u.output ?? 0}, assistantMessages=${assistantMessageCount}, ` +
|
|
1061
|
+
`toolCalls=${toolCallCount}, blockTypes=${JSON.stringify(blockTypeCounts)}, ` +
|
|
1062
|
+
`sessionId=${resolvedSessionId}) prompt="${messageText.slice(0, 80)}"`);
|
|
1063
|
+
resolve({ kind: 'ok', content: '', usage, truncated: true });
|
|
1064
|
+
return;
|
|
1065
|
+
}
|
|
1035
1066
|
if (!content) {
|
|
1036
1067
|
// Legitimately-empty assistant turn (no error, no overflow):
|
|
1037
1068
|
// log for visibility; the downstream fallback renders a gentle
|
|
@@ -1047,9 +1078,11 @@ export async function registerChatRoutes(fastify, agent, wsHub, authService, mem
|
|
|
1047
1078
|
resolve({ kind: 'ok', content, usage });
|
|
1048
1079
|
}
|
|
1049
1080
|
});
|
|
1050
|
-
(
|
|
1051
|
-
? rawAgent.
|
|
1052
|
-
:
|
|
1081
|
+
(mode === 'corrective'
|
|
1082
|
+
? rawAgent.prompt(OUTPUT_LIMIT_CORRECTIVE_NUDGE)
|
|
1083
|
+
: mode === 'retry'
|
|
1084
|
+
? rawAgent.continue()
|
|
1085
|
+
: rawAgent.prompt(fullMessage, imageBlocks.length ? imageBlocks : undefined)).catch((err) => {
|
|
1053
1086
|
endSub();
|
|
1054
1087
|
resolve({ kind: 'error', message: err?.message ?? String(err), toolCallCount });
|
|
1055
1088
|
});
|
|
@@ -1079,15 +1112,85 @@ export async function registerChatRoutes(fastify, agent, wsHub, authService, mem
|
|
|
1079
1112
|
// dead listener onto the warm pooled agent.)
|
|
1080
1113
|
try {
|
|
1081
1114
|
let attempt = 0;
|
|
1115
|
+
// ONE bounded corrective continuation after an output-ceiling
|
|
1116
|
+
// truncation (separate budget from the transient-retry `attempt`
|
|
1117
|
+
// counter). `carryUsage` accumulates the truncated attempt's billed
|
|
1118
|
+
// tokens so they're added to whatever the corrective attempt spends —
|
|
1119
|
+
// unlike a transient failure (not billed, discarded), a length-stop's
|
|
1120
|
+
// tokens WERE spent and recorded, so settlement must include both.
|
|
1121
|
+
let correctiveAttempted = false;
|
|
1122
|
+
let issueCorrective = false;
|
|
1123
|
+
const carryUsage = createInferenceUsageSummary();
|
|
1124
|
+
const mergeUsage = (into, from) => {
|
|
1125
|
+
into.inputTokens += from.inputTokens;
|
|
1126
|
+
into.outputTokens += from.outputTokens;
|
|
1127
|
+
into.totalTokens += from.totalTokens;
|
|
1128
|
+
into.totalCostUsd += from.totalCostUsd;
|
|
1129
|
+
};
|
|
1082
1130
|
while (true) {
|
|
1083
|
-
const
|
|
1084
|
-
|
|
1085
|
-
|
|
1131
|
+
const mode = issueCorrective ? 'corrective' : attempt > 0 ? 'retry' : 'initial';
|
|
1132
|
+
issueCorrective = false; // consumed for this iteration
|
|
1133
|
+
const r = await runTurnAttempt(mode);
|
|
1134
|
+
if (r.kind === 'ok') {
|
|
1135
|
+
// Output-ceiling truncation (the model spent its whole generation
|
|
1136
|
+
// budget on reasoning, emitting nothing usable). Attempt exactly
|
|
1137
|
+
// ONE corrective continuation: re-prompt the model to stop
|
|
1138
|
+
// deliberating and emit the result incrementally — the next
|
|
1139
|
+
// generation is a FRESH budget, and providers that retain
|
|
1140
|
+
// reasoning across a turn resume with their analysis intact. The
|
|
1141
|
+
// truncated turn rendered nothing (it was all thinking), so the
|
|
1142
|
+
// corrective answer can't double-render. Bounded to one: if it
|
|
1143
|
+
// length-stops AGAIN, `correctiveAttempted` is set so we fall
|
|
1144
|
+
// through and surface OUTPUT_LIMIT_MESSAGE (the backstop for a
|
|
1145
|
+
// genuinely pathological prompt that just keeps re-spiralling).
|
|
1146
|
+
if (shouldIssueCorrectiveContinuation({ truncated: !!r.truncated, correctiveAttempted, clientDisconnected: streamDead })) {
|
|
1147
|
+
correctiveAttempted = true;
|
|
1148
|
+
issueCorrective = true;
|
|
1149
|
+
mergeUsage(carryUsage, r.usage);
|
|
1150
|
+
log.warn(`[chat/stream] output-ceiling truncation — issuing ONE corrective ` +
|
|
1151
|
+
`continuation (sessionId=${resolvedSessionId})`);
|
|
1152
|
+
// Let the truncated run fully settle before re-prompting —
|
|
1153
|
+
// prompt() throws "already processing" while activeRun is still
|
|
1154
|
+
// set (agent_end can resolve our outcome before the run promise
|
|
1155
|
+
// clears it). The length-stopped assistant message is REAL and
|
|
1156
|
+
// stays in history (no pop): the model needs to see its own
|
|
1157
|
+
// reasoning to resume. Re-check the client is still connected
|
|
1158
|
+
// after settling — it may have disconnected meanwhile.
|
|
1159
|
+
await rawAgent.waitForIdle().catch(() => { });
|
|
1160
|
+
// Client gone during settle — don't fire a doomed corrective
|
|
1161
|
+
// prompt; return the truncation with the carried (billed) usage.
|
|
1162
|
+
if (streamDead)
|
|
1163
|
+
return { content: r.content, usage: carryUsage, truncated: true };
|
|
1164
|
+
continue;
|
|
1165
|
+
}
|
|
1166
|
+
// Fold the carried truncated-attempt usage into the final usage so
|
|
1167
|
+
// billing settlement and the ledger reflect every token spent.
|
|
1168
|
+
mergeUsage(r.usage, carryUsage);
|
|
1169
|
+
return { content: r.content, usage: r.usage, truncated: r.truncated };
|
|
1170
|
+
}
|
|
1086
1171
|
if (r.kind === 'overflow')
|
|
1087
1172
|
throw new Error(OVERFLOW_MESSAGE);
|
|
1088
|
-
// r.kind === 'error'
|
|
1089
|
-
|
|
1090
|
-
|
|
1173
|
+
// r.kind === 'error'
|
|
1174
|
+
if (mode === 'corrective') {
|
|
1175
|
+
// The corrective continuation was a best-effort BONUS after an
|
|
1176
|
+
// output-ceiling truncation, and it failed on the provider call.
|
|
1177
|
+
// Don't surface that raw error and don't feed it into the
|
|
1178
|
+
// transient-retry path — a retryable corrective error would
|
|
1179
|
+
// otherwise be re-issued via continue() and fire a SECOND
|
|
1180
|
+
// corrective model call, breaking the exactly-one bound (the
|
|
1181
|
+
// initial truncation may not have streamed visible thinking, so
|
|
1182
|
+
// streamedToClient can't be relied on to block that retry). Fall
|
|
1183
|
+
// back to the truncation we ALREADY have: the honest, retryable
|
|
1184
|
+
// OUTPUT_LIMIT_MESSAGE, with the truncated attempt's billed usage
|
|
1185
|
+
// (carryUsage) preserved so settlement bills it instead of the
|
|
1186
|
+
// outer catch releasing the reservation and undercounting.
|
|
1187
|
+
log.warn(`[chat/stream] corrective continuation failed (${JSON.stringify(r.message)}) — ` +
|
|
1188
|
+
`falling back to OUTPUT_LIMIT_MESSAGE with carried usage (sessionId=${resolvedSessionId})`);
|
|
1189
|
+
return { content: '', usage: carryUsage, truncated: true };
|
|
1190
|
+
}
|
|
1191
|
+
// retry only the safe, transient initial-call failure: nothing
|
|
1192
|
+
// streamed, no tools ran, retryable error, client still connected,
|
|
1193
|
+
// attempts left.
|
|
1091
1194
|
const canRetry = shouldRetryTransientFailure({
|
|
1092
1195
|
attempt,
|
|
1093
1196
|
maxRetries: MAX_TRANSIENT_RETRIES,
|
|
@@ -1145,7 +1248,12 @@ export async function registerChatRoutes(fastify, agent, wsHub, authService, mem
|
|
|
1145
1248
|
// "Could you try rephrasing?" they didn't trigger.
|
|
1146
1249
|
let fallback = false;
|
|
1147
1250
|
if (!cleanContent.trim() && artifactCount === 0 && !streamDead) {
|
|
1148
|
-
|
|
1251
|
+
// An output-ceiling truncation (the model spent its whole generation budget
|
|
1252
|
+
// without producing output) gets honest, specific, retryable copy instead of
|
|
1253
|
+
// the generic "didn't have a response" \u2014 the model didn't fail to respond, it
|
|
1254
|
+
// ran out of room. Both render as a normal `fallback` message (no scary error
|
|
1255
|
+
// card); a typed prompt shows it, a silent auto-greet drops it.
|
|
1256
|
+
cleanContent = response.truncated ? OUTPUT_LIMIT_MESSAGE : '_I didn\u2019t have a response for that. Could you try rephrasing?_';
|
|
1149
1257
|
fallback = true;
|
|
1150
1258
|
}
|
|
1151
1259
|
sendEvent({ type: 'done', message: cleanContent, suggestions, fallback });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/server/routes/chat.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,sBAAsB,EAAuB,MAAM,oCAAoC,CAAC;AAEjG,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,KAAK,MAAM,MAAM,kCAAkC,CAAC;AAG3D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAmF,MAAM,qCAAqC,CAAC;AACxJ,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,iCAAiC,EACjC,2BAA2B,EAC3B,wBAAwB,GAGzB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAErF,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,GAElB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAI1D;;;;eAIe;AACf,MAAM,qBAAqB,GAAG;IAC5B,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO;CACI,CAAC;AAC9C,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAS,qBAAqB,CAAC,CAAC;AAExE;;;wBAGwB;AACxB,SAAS,wBAAwB,CAC/B,WAAwB,EACxB,MAA0B;IAE1B,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,QAAQ,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;QAChE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjE,OAAO,GAAoB,CAAC;QAC9B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;IACzC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAoBD;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,UAAmB,EAAE,eAAwB;IAC3E,MAAM,GAAG,GAAG,UAAU,IAAI,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC;QAC9D,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,eAAe;QAC3B,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG;QACrE,CAAC,CAAC,GAAG,CAAC;IACR,OAAO,CACL,aAAa,KAAK,KAAK,GAAG,SAAS;QACnC,6EAA6E;QAC7E,uDAAuD,GAAG,gBAAgB;QAC1E,yCAAyC,CAC1C,CAAC;AACJ,CAAC;AAED;;uDAEuD;AACvD,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEhC,SAAS,kBAAkB,CAAC,OAA2B;IACrD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IACnD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAe;IACpD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACrF,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,OAA2B,EAC3B,IAA0B,EAC1B,KAAqD,EACrD,WAAwB;IAExB,MAAM,gBAAgB,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC;IACrD,IAAI,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,CAAC;IAED,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,aAAa,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,CAAC;QAClG,OAAO,aAAa,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,QAAQ,GAAG,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,QAAQ,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,CAAC;YACxF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,EAAE,WAAW,CAAC;SAClE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;QACpF,EAAE,IAAI,IAAI,IAAI,CAAC;AACnB,CAAC;AAED,SAAS,yBAAyB,CAChC,MAAsC,EACtC,IAA0B,EAC1B,KAAqD,EACrD,WAAwB;IAExB,IAAI,CAAC,MAAM,EAAE,QAAQ;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,gBAAgB,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC;IACrD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,uCAAuC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC;YACH,KAAK,CAAC,GAAG,CAAC,UAAwB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,8BAA8B,MAAM,CAAC,QAAQ,QAAQ,MAAM,CAAC,IAAI,sHAAsH,CACvL,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,OAAO,GAA8C,EAAE,CAAC;IAC9D,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,CAAC;QAClF,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,WAAW,CAAC;YAAE,SAAS;QACnF,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,IAAI,CAAC;YACH,KAAK,CAAC,GAAG,CAAC,UAAwB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,QAAQ,gDAAgD,CAAC,CAAC;IACtG,CAAC;IACD,MAAM,IAAI,KAAK,CACb,8BAA8B,MAAM,CAAC,QAAQ,2JAA2J,CACzM,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,MAS7C;IACC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IACvF,8EAA8E;IAC9E,6EAA6E;IAC7E,wEAAwE;IACxE,iDAAiD;IACjD,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,gBAAgB,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC;IACrD,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,KAAK,GAAY,OAAO,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC;IAE/G,2EAA2E;IAC3E,0EAA0E;IAC1E,wEAAwE;IACxE,2EAA2E;IAC3E,uEAAuE;IACvE,yBAAyB;IACzB,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;QACvB,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,2NAA2N,CAAC,CAAC;QAC/O,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,uJAAuJ,CAAC,CAAC;QAC3K,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,0EAA0E;IAC1E,0EAA0E;IAC1E,kEAAkE;IAClE,MAAM,cAAc,GAAG,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAC/G,MAAM,YAAY,GAAG,cAAc;WAC9B,CAAC,CAAC,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,UAAU,KAAK,UAAU;YACjE,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE;YAChE,CAAC,CAAC,IAAI,CAAC,CAAC;IAEZ,IAAI,IAAmB,CAAC;IACxB,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;IAC3B,CAAC;SAAM,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;QACxB,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAChF,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IAEzD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;YAClD,MAAM;YACN,KAAK;YACL,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI;YACjE,QAAQ,EAAE,OAAO,EAAE,QAAQ;YAC3B,OAAO,EAAE,OAAO,EAAE,OAAO;SAC1B,CAAC,CAAC;QACH,4EAA4E;QAC5E,iFAAiF;QACjF,iFAAiF;QACjF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACtI,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,kBAAkB;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;QACtF,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;4DAC4D;AAC5D,SAAS,wBAAwB,CAAC,GAAuB;IACvD,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,iBAAiB;YACpB,OAAO,yJAAyJ,CAAC;QACnK,KAAK,OAAO;YACV,OAAO,2IAA2I,CAAC;QACrJ,KAAK,iBAAiB;YACpB,OAAO,oHAAoH,CAAC;QAC9H,KAAK,SAAS;YACZ,OAAO,+HAA+H,CAAC;QACzI,KAAK,SAAS,CAAC;QACf;YACE,OAAO,GAAG,CAAC,OAAO,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,cAA0C,EAC1C,IAAY,EACZ,SAAiB,EACjB,OAAe;IAEf,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAC/B,IAAI,QAAmB,CAAC;IACxB,IAAI,CAAC;QACH,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAChF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,8EAA8E;IAC9E,2CAA2C;IAC3C,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC;SAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SACtD,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC,CAAC,iBAAiB,GAAG,MAAM,KAAK,IAAI,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;QAC3C,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,gDAAgD;QACxF,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,CACL,2EAA2E;QAC3E,yBAAyB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CACrD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAA2B,EAC3B,IAA0B,EAC1B,KAAqD,EACrD,WAAwB,EACxB,cAA+B;IAE/B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAExB,MAAM,gBAAgB,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC;IACrD,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,CAAC;YAAE,OAAO,EAAE,CAAC;QAChF,OAAO,8BAA8B,IAAI,8HAA8H,IAAI,iCAAiC,CAAC;IAC/M,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,uBAAuB,OAAO,OAAO,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;IAC/B,MAAM,sBAAsB,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACpE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,CAAC;QAAE,OAAO,EAAE,CAAC;IAEhF,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YAC7B,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;iBAC/B,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBAClH,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzE,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,aAAa,GAAG,mBAAmB,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1E,MAAM,UAAU,GAAG,IAAI,KAAK,UAAU,CAAC;YACvC,2EAA2E;YAC3E,mEAAmE;YACnE,wEAAwE;YACxE,0EAA0E;YAC1E,yDAAyD;YACzD,IAAI,cAAsB,CAAC;YAC3B,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,UAAiB,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC;gBAC3E,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACpC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;wBAAE,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;gBACvE,CAAC;gBAAC,MAAM,CAAC,CAAC,0CAA0C,CAAC,CAAC;gBACtD,cAAc,GAAG,oBAAoB,UAAU,cAAc,QAAQ,CAAC,MAAM,gBAAgB,gBAAgB,CAAC,QAAQ,CAAC,gIAAgI,CAAC;YACzP,CAAC;iBAAM,CAAC;gBACN,cAAc,GAAG,oBAAoB,aAAa,EAAE,CAAC;YACvD,CAAC;YACD,MAAM,mBAAmB,GAAG,UAAU;gBACpC,CAAC,CAAC,ydAAyd;gBAC3d,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,oBAAoB,GAAG,sBAAsB;gBACjD,CAAC,CAAC,+BAA+B,sBAAsB,yKAAyK;gBAChO,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,6BAA6B,IAAI,IAAI,IAAI,IAAI,EAAE,6BAA6B,OAAO,OAAO,cAAc,KAAK,aAAa,GAAG,mBAAmB,GAAG,oBAAoB,sEAAsE,CAAC;QACvP,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,6BAA6B,IAAI,IAAI,IAAI,IAAI,EAAE,OAAO,CAAC;IAChE,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAwB,EACxB,KAAwB,EACxB,KAAY,EACZ,WAAwB,EACxB,aAA6B,EAC7B,cAA+B,EAC/B,kBAAuC;IAEvC,MAAM,YAAY,GAAG,iCAAiC,EAAE,CAAC;IACzD,MAAM,kBAAkB,GAAG,wBAAwB,EAAE,CAAC;IAEtD,mDAAmD;IACnD,OAAO,CAAC,IAAI,CACV,WAAW,EACX,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QACnB,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAE7B,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/D,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAI,GAAW,CAAC,IAAI,IAAI,IAAI,CAAC;YACvC,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/D,IAAI,kBAAkB,GAAqC,IAAI,CAAC;YAChE,IAAI,CAAC;gBACH,kBAAkB,GAAG,kBAAkB;oBACrC,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,MAAM,qBAAqB,CAAC,YAAY,EAAE,KAAK,EAAE,oCAAoC,CAAC,CAAC;gBAC3F,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC3F,MAAM,oBAAoB,CAAC,YAAY,EAAE,kBAAkB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC7E,kBAAkB,GAAG,IAAI,CAAC;gBAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;YAClF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,qBAAqB,CAAC,YAAY,EAAE,kBAAkB,EAAE,qDAAqD,CAAC,CAAC;gBACrH,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,IAAI,aAAa,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC,CACF,CAAC;IAEF,wEAAwE;IACxE,2EAA2E;IAC3E,0EAA0E;IAC1E,4EAA4E;IAC5E,qEAAqE;IACrE,OAAO,CAAC,IAAI,CACV,iBAAiB,EACjB,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QACnB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/D,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC;YACH,IAAI,kBAAkB,GAAqC,IAAI,CAAC;YAChE,IAAI,CAAC;gBACH,kBAAkB,GAAG,kBAAkB;oBACrC,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,MAAM,qBAAqB,CAAC,YAAY,EAAE,KAAK,EAAE,iCAAiC,CAAC,CAAC;gBACxF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,yBAAyB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;gBAC9E,MAAM,oBAAoB,CAAC,YAAY,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC5E,kBAAkB,GAAG,IAAI,CAAC;gBAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,qBAAqB,CAAC,YAAY,EAAE,kBAAkB,EAAE,iDAAiD,CAAC,CAAC;gBACjH,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;YACjD,mDAAmD;YACnD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,qDAAqD;IACrD,OAAO,CAAC,IAAI,CACV,kBAAkB,EAClB,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QACnB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAE5G,uEAAuE;QACvE,wEAAwE;QACxE,gDAAgD;QAChD,MAAM,WAAW,GAAoB;YACnC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;SACzC,CAAC;QAEF,2EAA2E;QAC3E,0DAA0D;QAC1D,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAE/D,MAAM,IAAI,GAAI,GAAW,CAAC,IAAI,IAAI,IAAI,CAAC;QACvC,MAAM,iBAAiB,GAAG,SAAS;YACjC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACrD,uEAAuE;YACvE,yEAAyE;YACzE,qEAAqE;YACrE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAEnD,kBAAkB;QAClB,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QACzD,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACjD,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAChD,0EAA0E;QAC1E,+DAA+D;QAC/D,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAC/C,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAEzB,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE;YACjC,IAAI,UAAU,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACtC,UAAU,GAAG,IAAI,CAAC;gBAClB,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvD,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC,CAAC;QAEF,wEAAwE;QACxE,4EAA4E;QAC5E,yEAAyE;QACzE,sEAAsE;QACtE,wEAAwE;QACxE,yEAAyE;QACzE,4EAA4E;QAC5E,4EAA4E;QAC5E,0EAA0E;QAC1E,sEAAsE;QACtE,2EAA2E;QAC3E,2EAA2E;QAC3E,IAAI,YAAY,GAA0C,WAAW,CAAC,GAAG,EAAE;YACzE,IAAI,UAAU,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ;gBAAE,OAAO;YAC9C,IAAI,CAAC;gBAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,UAAU,GAAG,IAAI,CAAC;YAAC,CAAC;QAC1E,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,IAAI,YAAY,EAAE,CAAC;gBAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBAAC,YAAY,GAAG,IAAI,CAAC;YAAC,CAAC;QACzE,CAAC,CAAC;QAEF,iEAAiE;QACjE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAExE,wEAAwE;QACxE,oEAAoE;QACpE,yEAAyE;QACzE,4DAA4D;QAC5D,MAAM,UAAU,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/E,MAAM,aAAa,GAAG;YACpB,IAAI,EAAE,UAAmB;YACzB,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;SACvD,CAAC;QAEF,uEAAuE;QACvE,wEAAwE;QACxE,sEAAsE;QACtE,mCAAmC;QACnC,sEAAsE;QACtE,iEAAiE;QACjE,2CAA2C;QAC3C,qEAAqE;QACrE,4BAA4B;QAC5B,mEAAmE;QACnE,gEAAgE;QAChE,0BAA0B;QAC1B,kEAAkE;QAClE,kEAAkE;QAClE,2BAA2B;QAC3B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,IAAI,iBAAiB,GAA0C,IAAI,CAAC;QACpE,SAAS,uBAAuB;YAC9B,IAAI,iBAAiB;gBAAE,OAAO;YAC9B,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;gBACnC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;oBAC/B,KAAK,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC,EAAE,KAAK,CAAC,CAAC;QACZ,CAAC;QACD,SAAS,qBAAqB;YAC5B,IAAI,iBAAiB,EAAE,CAAC;gBACtB,aAAa,CAAC,iBAAiB,CAAC,CAAC;gBACjC,iBAAiB,GAAG,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,IAAI,kBAAkB,GAAqC,IAAI,CAAC;QAEhE,IAAI,CAAC;YACH,kBAAkB,GAAG,kBAAkB;gBACrC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,MAAM,qBAAqB,CAAC,YAAY,EAAE,KAAK,EAAE,8CAA8C,CAAC,CAAC;YAErG,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,qBAAqB,GAAG,aAAa,EAAE,UAAU,KAAK,UAAU;gBACpE,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE;gBAChE,CAAC,CAAC,IAAI,CAAC;YAET,qEAAqE;YACrE,qEAAqE;YACrE,uCAAuC;YACvC,0EAA0E;YAC1E,qEAAqE;YACrE,0EAA0E;YAC1E,uEAAuE;YACvE,yEAAyE;YACzE,yDAAyD;YACzD,4EAA4E;YAC5E,IAAI,WAAW,GAAmB,EAAE,CAAC;YACrC,IAAI,iBAAiB,GAAa,EAAE,CAAC;YACrC,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,eAAe,GAAa,EAAE,CAAC;YACnC,0EAA0E;YAC1E,0DAA0D;YAC1D,MAAM,WAAW,GAAoB,CAAC,IAAI,IAAI,SAAS,IAAI,kBAAkB,CAAC;gBAC5E,CAAC,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC;qBAC5D,GAAG,CAAC,sBAAsB,CAAC;qBAC3B,MAAM,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;gBAClD,CAAC,CAAC,EAAE,CAAC;YACP,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrD,MAAM,MAAM,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC;gBAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC1C,uEAAuE;gBACvE,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;oBACzB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,iBAAiB,EAAE,EAAE,CAAC;wBAC7C,IAAI,CAAC;4BAAC,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4BAAC,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE;gCAAE,OAAO,CAAC,CAAC;wBAAC,CAAC;wBAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;oBACxG,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,EAAE,CAAC;gBACL,MAAM,IAAI,GAAG;oBACX,WAAW,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI;oBACtD,aAAa,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,IAAI,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC;oBACnG,aAAa,EAAE,CAAC,IAAY,EAAE,EAAU,EAAE,QAAgB,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC;oBACpH,aAAa,EAAE,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE,CAAC,kBAAkB,EAAE,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI;oBACjG,eAAe,EAAE,CAAC,OAAe,EAAE,EAAE;wBACnC,MAAM,GAAG,GAAG,YAAY,EAAE,eAAe,EAAE,EAAE,CAAC;wBAC9C,IAAI,CAAC,GAAG;4BAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;wBACzD,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC/B,CAAC;oBACD,aAAa,EAAE,IAAI,EAAE,EAAE;iBACxB,CAAC;gBACF,uEAAuE;gBACvE,yDAAyD;gBACzD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;wBAC3B,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;wBACvG,2EAA2E;wBAC3E,4EAA4E;wBAC5E,2EAA2E;wBAC3E,uEAAuE;wBACvE,uEAAuE;wBACvE,uEAAuE;wBACvE,uEAAuE;wBACvE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;wBACtE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,GACxD,MAAM,oBAAoB,CAAC,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;wBAC1F,WAAW,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC;wBAC7C,iBAAiB,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,eAAe,CAAC,CAAC;oBACjE,CAAC;yBAAM,CAAC;wBACN,yEAAyE;wBACzE,2EAA2E;wBAC3E,yEAAyE;wBACzE,mEAAmE;wBACnE,iBAAiB,GAAG,WAAW;6BAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;4BACZ,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;gCAAE,OAAO,IAAI,CAAC;4BACpC,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;4BACtD,IAAI,GAAG,EAAE,IAAI,KAAK,OAAO;gCAAE,OAAO,IAAI,CAAC;4BACvC,OAAO,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,iBAAiB,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;wBACpG,CAAC,CAAC;6BACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACnD,CAAC;gBACH,CAAC;gBACD,yEAAyE;gBACzE,mEAAmE;gBACnE,qEAAqE;gBACrE,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,iBAAiB,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9G,CAAC;YACD,MAAM,sBAAsB,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,eAAe,CAAC,CAAC;YAE1E,wEAAwE;YACxE,wEAAwE;YACxE,MAAM,cAAc,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAEjD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,CAC9C,iBAAiB,EACjB;gBACE,IAAI;gBACJ,8DAA8D;gBAC9D,kEAAkE;gBAClE,eAAe,EAAE,SAAS;gBAC1B,qBAAqB;gBACrB,WAAW,EAAE,CAAC,GAAa,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;gBAChF,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE;oBACjD,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC;wBAC7C,MAAM;wBACN,OAAO;wBACP,MAAM;wBACN,IAAI;wBACJ,KAAK;wBACL,WAAW;wBACX,OAAO;wBACP,OAAO,EAAE,YAAY;qBACtB,CAAC,CAAC;oBACH,aAAa,EAAE,CAAC;oBAChB,mEAAmE;oBACnE,uEAAuE;oBACvE,sEAAsE;oBACtE,0BAA0B;oBAC1B,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;oBAC/D,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;wBACnB,SAAS,CAAC;4BACR,IAAI,EAAE,UAAU;4BAChB,MAAM,EAAE,QAAQ,CAAC,MAAM;4BACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;4BAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;yBAC5B,CAAC,CAAC;wBACH,KAAK,CAAC,SAAS,CAAC;4BACd,IAAI,EAAE,eAAe;4BACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;4BACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;4BAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;4BAC3B,KAAK,EAAE,IAAI,EAAE,WAAW,IAAI,OAAO;4BACnC,MAAM,EAAE,KAAK;4BACb,KAAK,EAAE,aAAa;4BACpB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;yBACpC,CAAC,CAAC;oBACL,CAAC;oBACD,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBACD,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;oBAChB,sEAAsE;oBACtE,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAChH,8DAA8D;oBAC9D,6DAA6D;oBAC7D,0DAA0D;oBAC1D,iEAAiE;oBACjE,KAAK,CAAC,SAAS,CAAC;wBACd,IAAI,EAAE,eAAe;wBACrB,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,UAAU,EAAE,CAAC,CAAC,UAAU;wBACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,KAAK,EAAE,IAAI,EAAE,WAAW,IAAI,OAAO;wBACnC,MAAM,EAAE,KAAK;wBACb,KAAK,EAAE,aAAa;wBACpB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC,CAAC,CAAC;oBACH,+DAA+D;oBAC/D,gEAAgE;oBAChE,wDAAwD;oBACxD,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;wBACf,KAAK,CAAC,SAAS,CAAC;4BACd,IAAI,EAAE,WAAW;4BACjB,IAAI,EAAE,CAAC,CAAC,IAAI;4BACZ,KAAK,EAAE,IAAI,EAAE,WAAW,IAAI,OAAO;4BACnC,MAAM,EAAE,KAAK;4BACb,OAAO,EAAE,gBAAgB;4BACzB,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,mBAAmB,EAAE,CAAC;4BAC1E,KAAK,EAAE,aAAa;4BACpB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;yBACpC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,eAAe,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;oBAChC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;wBACvB,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACtB,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;wBACxD,uBAAuB,EAAE,CAAC;oBAC5B,CAAC;oBACD,6DAA6D;oBAC7D,iEAAiE;oBACjE,4DAA4D;oBAC5D,gBAAgB;oBAChB,IAAI,MAAM,KAAK,WAAW,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBACpD,KAAK,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;oBAC9D,CAAC;gBACH,CAAC;aACF,EACD,KAAK,EAAE,QAAQ,EAAE,EAAE;gBACjB,gEAAgE;gBAChE,oEAAoE;gBACpE,mEAAmE;gBACnE,kEAAkE;gBAClE,wDAAwD;gBACxD,QAAQ,CAAC,KAAK,CAAC,aAAa,GAAG,wBAAwB,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBAE/E,0CAA0C;gBAC1C,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,IAAI,YAAY,GAAG,KAAK,CAAC;gBACzB,sEAAsE;gBACtE,sEAAsE;gBACtE,mEAAmE;gBACnE,uEAAuE;gBACvE,kEAAkE;gBAClE,6BAA6B;gBAC7B,IAAI,gBAAgB,GAAG,KAAK,CAAC;gBAC7B,sEAAsE;gBACtE,uEAAuE;gBACvE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,mEAAmE;gBACnE,sEAAsE;gBACtE,iDAAiD;gBACjD,IAAI,qBAAqB,GAAG,KAAK,CAAC;gBAClC,qEAAqE;gBACrE,iEAAiE;gBACjE,qEAAqE;gBACrE,mEAAmE;gBACnE,iEAAiE;gBACjE,iEAAiE;gBACjE,6DAA6D;gBAC7D,sEAAsE;gBACtE,oEAAoE;gBACpE,qEAAqE;gBACrE,sDAAsD;gBACtD,MAAM,aAAa,GAAG,IAAI,CAAC;gBAC3B,MAAM,oBAAoB,GAAG,GAAG,CAAC;gBACjC,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,yCAAyC;gBAC3E,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAC;gBACtE,MAAM,aAAa,GAAG,CAAC,EAAsB,EAAE,EAAE;oBAC/C,IAAI,CAAC,EAAE;wBAAE,OAAO,KAAK,CAAC;oBACtB,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBAC3B,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBACvD,CAAC,CAAC;gBAIF,wEAAwE;gBACxE,mEAAmE;gBACnE,MAAM,aAAa,GAAG,CAAC,IAAa,EAAc,EAAE;oBAClD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;gBACzH,CAAC,CAAC;gBACF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;gBAClD,MAAM,gBAAgB,GAAG,CAAC,CAAa,EAAE,KAAc,EAAE,EAAE;oBACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvB,wEAAwE;oBACxE,qEAAqE;oBACrE,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa,CAAC;oBACjE,IAAI,CAAC,KAAK,IAAI,GAAG,GAAG,CAAC,CAAC,UAAU,GAAG,MAAM;wBAAE,OAAO;oBAClD,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAClB,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC;oBACnB,kEAAkE;oBAClE,uEAAuE;oBACvE,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACzD,SAAS,CAAC;wBACR,IAAI,EAAE,eAAe;wBACrB,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,MAAM,EAAE,UAAU,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;wBACnE,QAAQ,EAAE,UAAU,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;wBAC9F,SAAS,EAAE,GAAG,GAAG,CAAC,CAAC,OAAO;qBAC3B,CAAC,CAAC;gBACL,CAAC,CAAC;gBACF,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAU,EAAE,EAAE;oBACpD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;wBACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,qBAAqB,CAAC;wBAC7C,IAAI,QAAQ,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;4BACpC,IAAI,YAAY,IAAI,UAAU,EAAE,CAAC;gCAC/B,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;4BAC7C,CAAC;4BACD,YAAY,GAAG,KAAK,CAAC;4BACrB,UAAU,GAAG,IAAI,CAAC;4BAClB,gBAAgB,GAAG,IAAI,CAAC;4BACxB,qBAAqB,GAAG,IAAI,CAAC;4BAC7B,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;wBACrD,CAAC;6BAAM,IAAI,QAAQ,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;4BAC/C,wDAAwD;4BACxD,2DAA2D;4BAC3D,iDAAiD;4BACjD,gBAAgB,GAAG,IAAI,CAAC;4BACxB,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;wBACxD,CAAC;6BAAM,IAAI,QAAQ,EAAE,IAAI,KAAK,cAAc,EAAE,CAAC;4BAC7C,6DAA6D;4BAC7D,yCAAyC;4BACzC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;wBACtC,CAAC;6BAAM,IAAI,QAAQ,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;4BAC/C,gEAAgE;4BAChE,kEAAkE;4BAClE,wDAAwD;4BACxD,iEAAiE;4BACjE,oEAAoE;4BACpE,gBAAgB,GAAG,IAAI,CAAC;4BACxB,qBAAqB,GAAG,IAAI,CAAC;4BAC7B,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC;4BACvC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;wBAC9E,CAAC;6BAAM,IAAI,QAAQ,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;4BAC/C,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC;4BACvC,IAAI,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;4BAC7B,IAAI,CAAC,CAAC,EAAE,CAAC;gCACP,gDAAgD;gCAChD,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;gCAC1D,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;4BAC1B,CAAC;4BACD,IAAI,CAAC,CAAC,CAAC,IAAI;gCAAE,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;4BAC7D,MAAM,KAAK,GAAG,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;4BACvE,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;4BAC5C,gEAAgE;4BAChE,+DAA+D;4BAC/D,kEAAkE;4BAClE,4DAA4D;4BAC5D,8DAA8D;4BAC9D,gEAAgE;4BAChE,iEAAiE;4BACjE,mEAAmE;4BACnE,kEAAkE;4BAClE,kEAAkE;4BAClE,oEAAoE;4BACpE,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;4BAC5B,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;4BAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCACpC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC;oCAC5E,CAAC,CAAC,WAAW,EAAE,CAAC,CAAY,0BAA0B;oCACtD,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAQ,iCAAiC;oCAC7D,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,yCAAyC;oCACxE,SAAS;gCACX,CAAC;gCACD,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oCACrE,CAAC,CAAC,aAAa,EAAE,CAAC;gCACpB,CAAC;4BACH,CAAC;4BACD,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BACjD,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;wBAC7B,CAAC;oBACH,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;wBACxC,mEAAmE;wBACnE,+DAA+D;wBAC/D,6DAA6D;wBAC7D,WAAW,CAAC,KAAK,EAAE,CAAC;wBACpB,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;4BACxC,YAAY,GAAG,IAAI,CAAC;4BACpB,IAAI,WAAW,GAAG,KAAK,CAAC;4BACxB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gCAChD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oCAC5C,gBAAgB,GAAG,IAAI,CAAC;oCACxB,WAAW,GAAG,IAAI,CAAC;oCACnB,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gCACtD,CAAC;4BACH,CAAC;4BACD,iEAAiE;4BACjE,oEAAoE;4BACpE,oEAAoE;4BACpE,2DAA2D;4BAC3D,IAAI,WAAW;gCAAE,qBAAqB,GAAG,KAAK,CAAC;wBACjD,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,oEAAoE;gBACpE,MAAM,aAAa,GAAG,sBAAsB,CAAC,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;gBAE7G,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvG,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;gBAChE,mEAAmE;gBACnE,wEAAwE;gBACxE,MAAM,oBAAoB,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC7E,MAAM,QAAQ,GAAG,4BAA4B,CAAC,WAAW,EAAE,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;gBACzG,uEAAuE;gBACvE,sEAAsE;gBACtE,0BAA0B;gBAC1B,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,MAAM,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;gBAiBlF,MAAM,gBAAgB,GACpB,6DAA6D;oBAC7D,wDAAwD;oBACxD,wCAAwC,CAAC;gBAC3C,MAAM,qBAAqB,GAAG,CAAC,CAAC;gBAChC,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACpC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAE1E,uEAAuE;gBACvE,qEAAqE;gBACrE,mEAAmE;gBACnE,MAAM,cAAc,GAAG,CAAC,OAAgB,EAA2B,EAAE,CACnE,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,EAAE;oBACtC,IAAI,OAAO,GAAG,EAAE,CAAC;oBACjB,IAAI,qBAAqB,GAAG,CAAC,CAAC;oBAC9B,IAAI,aAAa,GAAG,CAAC,CAAC;oBACtB,MAAM,eAAe,GAA2B,EAAE,CAAC;oBACnD,IAAI,cAAkC,CAAC;oBACvC,IAAI,gBAAoC,CAAC;oBACzC,IAAI,oBAAyB,CAAC;oBAC9B,MAAM,KAAK,GAAG,2BAA2B,EAAE,CAAC;oBAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAU,EAAE,EAAE;wBAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;4BACxE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;4BAC9C,oBAAoB,GAAG,KAAK,CAAC,OAAO,CAAC;4BACrC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU;gCAAE,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;4BACxE,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY;gCAAE,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;4BAC9E,8DAA8D;4BAC9D,+DAA+D;4BAC/D,gEAAgE;4BAChE,8DAA8D;4BAC9D,gCAAgC;4BAChC,MAAM,aAAa,GACjB,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,OAAO;gCACpC,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS;gCACtC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;4BAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;gCACnB,aAAa,CAAC;oCACZ,OAAO,EAAE,MAAM;oCACf,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ;oCAC3D,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,cAAc,CAAC,OAAO;oCACtD,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;oCAC1B,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI;oCACxB,SAAS,EAAE,iBAAiB;iCAC7B,CAAC,CAAC;4BACL,CAAC;4BACD,qBAAqB,EAAE,CAAC;4BACxB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;4BAC3C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gCACvB,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;4BAC/D,CAAC;4BACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;4BAChE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;4BACpE,aAAa,IAAI,UAAU,CAAC,MAAM,CAAC;4BACnC,8DAA8D;4BAC9D,+DAA+D;4BAC/D,+CAA+C;4BAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BAC7D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;gCAAE,OAAO,GAAG,QAAQ,CAAC;wBAC9C,CAAC;6BAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;4BACtC,MAAM,EAAE,CAAC;4BACT,+DAA+D;4BAC/D,gEAAgE;4BAChE,+DAA+D;4BAC/D,iEAAiE;4BACjE,+DAA+D;4BAC/D,2DAA2D;4BAC3D,8DAA8D;4BAC9D,4DAA4D;4BAC5D,gEAAgE;4BAChE,wDAAwD;4BACxD,gEAAgE;4BAChE,wBAAwB;4BACxB,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,EAAE,IAAI,SAAS,CAAC;4BACxD,4DAA4D;4BAC5D,6DAA6D;4BAC7D,gEAAgE;4BAChE,4DAA4D;4BAC5D,8DAA8D;4BAC9D,qCAAqC;4BACrC,IAAI,UAAU,GAAG,KAAK,CAAC;4BACvB,IAAI,CAAC;gCACH,UAAU,GAAG,CAAC,CAAC,oBAAoB,IAAI,iBAAiB,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;4BAC5F,CAAC;4BAAC,MAAM,CAAC;gCAAC,UAAU,GAAG,KAAK,CAAC;4BAAC,CAAC;4BAC/B,6DAA6D;4BAC7D,kDAAkD;4BAClD,iEAAiE;4BACjE,gDAAgD;4BAChD,MAAM,OAAO,GAAG,qBAAqB,CAAC;gCACpC,UAAU;gCACV,OAAO;gCACP,cAAc;gCACd,gBAAgB;6BACjB,CAAC,CAAC;4BACH,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gCAChC,MAAM,CAAC,GAAG,oBAAoB,CAAC,KAAK,IAAI,EAAE,CAAC;gCAC3C,GAAG,CAAC,IAAI,CACN,uDAAuD,cAAc,GAAG;oCACxE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,cAAc,SAAS,GAAG;oCAC3E,gBAAgB,IAAI,CAAC,SAAS,CAAC,gBAAgB,IAAI,IAAI,CAAC,cAAc,iBAAiB,EAAE,CAC1F,CAAC;gCACF,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;gCAC9B,OAAO;4BACT,CAAC;4BACD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gCAC7B,6DAA6D;gCAC7D,8DAA8D;gCAC9D,8DAA8D;gCAC9D,8DAA8D;gCAC9D,+DAA+D;gCAC/D,0DAA0D;gCAC1D,0DAA0D;gCAC1D,0DAA0D;gCAC1D,4DAA4D;gCAC5D,2DAA2D;gCAC3D,6DAA6D;gCAC7D,+DAA+D;gCAC/D,GAAG,CAAC,IAAI,CACN,oCAAoC;oCACpC,iBAAiB,OAAO,CAAC,MAAM,uBAAuB,qBAAqB,IAAI;oCAC/E,aAAa,aAAa,gBAAgB,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI;oCAC7E,cAAc,cAAc,IAAI,KAAK,IAAI;oCACzC,gBAAgB,IAAI,CAAC,SAAS,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAI;oCAC5D,YAAY,gBAAgB,eAAe,iBAAiB,aAAa,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CACrG,CAAC;gCACF,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;gCACpE,OAAO;4BACT,CAAC;4BACD,IAAI,CAAC,OAAO,EAAE,CAAC;gCACb,6DAA6D;gCAC7D,+DAA+D;gCAC/D,2DAA2D;gCAC3D,iEAAiE;gCACjE,GAAG,CAAC,IAAI,CACN,uCAAuC;oCACvC,sBAAsB,qBAAqB,eAAe,aAAa,IAAI;oCAC3E,cAAc,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI;oCACjD,cAAc,cAAc,IAAI,KAAK,IAAI;oCACzC,gBAAgB,IAAI,CAAC,SAAS,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAI;oCAC5D,aAAa,iBAAiB,aAAa,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CACvE,CAAC;4BACJ,CAAC;4BACD,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;wBAC1C,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,CAAC,OAAO;wBACN,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE;wBACrB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAC7E,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;wBACd,MAAM,EAAE,CAAC;wBACT,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;oBAClF,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEL,qEAAqE;gBACrE,wEAAwE;gBACxE,qEAAqE;gBACrE,mEAAmE;gBACnE,uEAAuE;gBACvE,kEAAkE;gBAClE,mEAAmE;gBACnE,oEAAoE;gBACpE,oEAAoE;gBACpE,0CAA0C;gBAC1C,MAAM,6BAA6B,GAAG,GAAY,EAAE;oBAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAiB,CAAC;oBAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACnC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;wBAC5F,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAQ,CAAC;oBACrD,CAAC;oBACD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAQ,CAAC;oBACnF,OAAO,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC;gBACnD,CAAC,CAAC;gBAEF,qEAAqE;gBACrE,uEAAuE;gBACvE,qEAAqE;gBACrE,6CAA6C;gBAC7C,IAAI,CAAC;oBACH,IAAI,OAAO,GAAG,CAAC,CAAC;oBAChB,OAAO,IAAI,EAAE,CAAC;wBACZ,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;wBAC5C,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI;4BAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;wBACnE,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;4BAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;wBAC7D,mEAAmE;wBACnE,mEAAmE;wBACnE,kCAAkC;wBAClC,MAAM,QAAQ,GAAG,2BAA2B,CAAC;4BAC3C,OAAO;4BACP,UAAU,EAAE,qBAAqB;4BACjC,OAAO,EAAE,CAAC,CAAC,OAAO;4BAClB,gBAAgB;4BAChB,aAAa,EAAE,CAAC,CAAC,aAAa;4BAC9B,kBAAkB,EAAE,UAAU;4BAC9B,2BAA2B,EAAE,qBAAqB;yBACnD,CAAC,CAAC;wBACH,IAAI,CAAC,QAAQ;4BAAE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;wBAC1C,GAAG,CAAC,IAAI,CACN,gDAAgD;4BAChD,YAAY,OAAO,GAAG,CAAC,IAAI,qBAAqB,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;4BACtF,aAAa,iBAAiB,GAAG,CAClC,CAAC;wBACF,mEAAmE;wBACnE,+DAA+D;wBAC/D,gEAAgE;wBAChE,sDAAsD;wBACtD,kDAAkD;wBAClD,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;wBAC7C,IAAI,CAAC,6BAA6B,EAAE;4BAAE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;wBACjE,iEAAiE;wBACjE,mEAAmE;wBACnE,gDAAgD;wBAChD,MAAM,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACxF,IAAI,UAAU;4BAAE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;wBAC3C,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC;wBAAS,CAAC;oBACT,WAAW,EAAE,CAAC;gBAChB,CAAC;YACH,CAAC,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,CAC/C,CAAC;YAEF,MAAM,oBAAoB,CAAC,YAAY,EAAE,kBAAkB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7E,kBAAkB,GAAG,IAAI,CAAC;YAE1B,4CAA4C;YAC5C,IAAI,aAAa,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,SAAS,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBAChL,aAAa,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBACzF,CAAC;gBAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;YAC7B,CAAC;YAED,wEAAwE;YACxE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACjF,IAAI,YAAY,GAAG,aAAa,CAAC;YAEjC,oEAAoE;YACpE,mEAAmE;YACnE,mEAAmE;YACnE,qEAAqE;YACrE,oEAAoE;YACpE,mEAAmE;YACnE,mDAAmD;YACnD,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,aAAa,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC/D,YAAY,GAAG,qEAAqE,CAAC;gBACrF,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YACD,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,qBAAqB,CAAC,YAAY,EAAE,kBAAkB,EAAE,qDAAqD,CAAC,CAAC;YACrH,kEAAkE;YAClE,mEAAmE;YACnE,GAAG,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC;YAC3E,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,aAAa,EAAE,CAAC,CAAC;QACtE,CAAC;gBAAS,CAAC;YACT,iEAAiE;YACjE,+DAA+D;YAC/D,+DAA+D;YAC/D,sDAAsD;YACtD,qBAAqB,EAAE,CAAC;YACxB,gBAAgB,EAAE,CAAC;YACnB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;YAC1D,CAAC;YACD,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC,CACF,CAAC;IAEF,wEAAwE;IACxE,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAC1D,IAAI,CAAC;YACH,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;YACzE,uCAAuC;YACvC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,+DAA+D;IAC/D,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,0DAA0D;IAC1D,OAAO,CAAC,IAAI,CAAmC,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QACrF,IAAI,CAAC;YACH,MAAM,IAAI,GAAI,GAAW,CAAC,IAAI,IAAI,IAAI,CAAC;YACvC,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC;YACtC,MAAM,iBAAiB,GAAG,SAAS;gBACjC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBACrD,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACnD,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC/B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/server/routes/chat.ts"],"names":[],"mappings":"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"}
|