@zhivex-ai/qwen 0.9.2 → 0.10.1
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/README.md +38 -5
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +232 -71
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -32,6 +32,28 @@ Supported region values are `singapore`, `beijing`, `hong-kong`, `tokyo`, `frank
|
|
|
32
32
|
|
|
33
33
|
Qwen speech downloads accept HTTPS audio URLs only, validate every redirect manually, and never forward the provider API key to the media host.
|
|
34
34
|
|
|
35
|
+
### Qwen 3.8 Max
|
|
36
|
+
|
|
37
|
+
`qwen3.8-max` is the production Qwen 3.8 flagship exposed through standard Alibaba Cloud Model Studio credentials and compatible endpoints, including regional workspace endpoints. It has a 1M-token context window and supports text, image and video understanding, hybrid reasoning, function calling, built-in tools, parallel function calls, and JSON structured output.
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
const qwen = createQwen({
|
|
41
|
+
apiKey: process.env.DASHSCOPE_API_KEY,
|
|
42
|
+
workspaceId: process.env.QWEN_WORKSPACE_ID,
|
|
43
|
+
region: "beijing"
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
const model = qwen("qwen3.8-max");
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Thinking is enabled by default but remains hybrid. Responses accepts the shared `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max` efforts directly. Chat Completions uses Qwen's native `low`, `medium`, and `xhigh` levels, so `minimal` maps to `low`, while `high` and `max` map to `xhigh`; `none` sends `enable_thinking: false`. A reasoning effort and a thinking budget are mutually exclusive, and budgets cannot exceed 262144 tokens. Chat requests always send `preserve_thinking: true`, while shared `maxTokens` uses the non-deprecated `max_completion_tokens` field.
|
|
50
|
+
|
|
51
|
+
Video input uses a `FilePart` with a `video/*` MIME type and automatically selects Chat Completions. Public HTTP(S) URLs, data URLs, and raw base64 strings are accepted; non-video `FilePart` values are rejected for this model. Set `providerOptions.parallel_tool_calls` to opt in to upstream parallel tool calls and `providerOptions.tool_stream` to select Chat tool-call streaming. While thinking is active, Qwen permits only `toolChoice: "auto"` or `"none"`; disable thinking before using `"required"` or selecting a named tool.
|
|
52
|
+
|
|
53
|
+
A standard Model Studio key is region-scoped, so keep the key, workspace, and selected region aligned. The adapter does not hard-code a region allowlist for this final model; model availability still depends on the selected Model Studio region.
|
|
54
|
+
|
|
55
|
+
Do not configure `QWEN_TOKEN_PLAN_BASE_URL` for `qwen3.8-max`. That endpoint and its dedicated `sk-sp-` credentials belong to the separate preview contract below; the adapter rejects this exact final-model mismatch before fetch.
|
|
56
|
+
|
|
35
57
|
### Qwen 3.8 Max Preview (Token Plan)
|
|
36
58
|
|
|
37
59
|
`qwen3.8-max-preview` is a preview model available only through QwenCloud Token Plan Personal or Team Edition in Singapore. Token Plan keys use the `sk-sp-` prefix; they are not interchangeable with pay-as-you-go keys, and the regular `dashscope-intl.aliyuncs.com` endpoint does not serve this model. Configure the dedicated Token Plan Base URL explicitly:
|
|
@@ -61,7 +83,7 @@ Token Plan terms limit these credentials to interactive use in programming and a
|
|
|
61
83
|
The default `apiMode: "auto"` selects the protocol required by the request:
|
|
62
84
|
|
|
63
85
|
- Responses for hosted tools, Qwen OCR file URLs, and `previous_response_id` continuation.
|
|
64
|
-
- Chat Completions for structured output, audio input, `maxTokens`, or `
|
|
86
|
+
- Chat Completions for structured output, audio/video input, `maxTokens`, `reasoning.budgetTokens`, or `providerOptions.tool_stream`.
|
|
65
87
|
- Either path for ordinary text and local function tools; automatic mode prefers Responses.
|
|
66
88
|
|
|
67
89
|
Use `providerOptions: { apiMode: "responses" }` or `{ apiMode: "chat" }` only when you need to force a compatible path. Unsupported combinations fail before the network request instead of silently dropping fields.
|
|
@@ -81,7 +103,9 @@ const result = await generateObject({
|
|
|
81
103
|
});
|
|
82
104
|
```
|
|
83
105
|
|
|
84
|
-
Responses reasoning maps shared `effort` to `reasoning.effort` (`low` becomes Qwen `minimal`)
|
|
106
|
+
For older Qwen families, Responses reasoning maps shared `effort` to `reasoning.effort` (`low` becomes Qwen `minimal`), while Chat reasoning maps to `enable_thinking` and `budgetTokens` to `thinking_budget`.
|
|
107
|
+
|
|
108
|
+
`qwen3.8-max` uses its stricter model-specific mapping described above, keeps native structured output enabled in thinking and non-thinking modes, accepts images through either compatible API, and routes video through Chat. With no explicit reasoning option, the provider leaves Qwen's thinking-enabled default intact.
|
|
85
109
|
|
|
86
110
|
`qwen3.8-max-preview` has a stricter contract:
|
|
87
111
|
|
|
@@ -90,9 +114,12 @@ Responses reasoning maps shared `effort` to `reasoning.effort` (`low` becomes Qw
|
|
|
90
114
|
- `reasoning.effort`/`providerOptions.reasoning_effort` cannot be combined with `reasoning.budgetTokens`/`providerOptions.thinking_budget`. Shared budgets must be positive and both paths enforce the model maximum of 262144; raw `thinking_budget` also accepts the documented value `0`.
|
|
91
115
|
- Automatic mode uses Responses for ordinary text, images, local functions, and hosted tools. A thinking budget selects Chat Completions because `thinking_budget` is not available in Responses. For Chat requests, shared `maxTokens` is sent as `max_completion_tokens`.
|
|
92
116
|
- Chat requests always send `preserve_thinking: true`, and reasoning returned by the adapter is kept as Qwen `reasoning_content` provider data so multi-turn and tool-call histories return it in the correct field. Setting `preserve_thinking: false` is rejected.
|
|
117
|
+
- Because this preview is always thinking, forced or named tool choices are rejected; use `toolChoice: "auto"` or `"none"`.
|
|
93
118
|
- The model supports text, images, function calling, and built-in tools. It does not support native structured output or JSON mode. `generateObject({ mode: "native" })` is rejected through its capabilities; the default `auto` mode can still use prompted output with local schema validation.
|
|
94
119
|
|
|
95
|
-
|
|
120
|
+
For the final model contract, see Alibaba Cloud Model Studio's official [model list](https://help.aliyun.com/en/model-studio/models), [deep-thinking controls](https://help.aliyun.com/en/model-studio/deep-thinking), [OpenAI-compatible Chat contract](https://help.aliyun.com/en/model-studio/qwen-api-via-openai-chat-completions), [Responses contract](https://help.aliyun.com/en/model-studio/qwen-api-via-openai-responses), and [structured-output guide](https://help.aliyun.com/en/model-studio/qwen-structured-output).
|
|
121
|
+
|
|
122
|
+
For the preview contract, see QwenCloud's official [Token Plan quickstart](https://docs.qwencloud.com/token-plan/quickstart), [Token Plan terms](https://docs.qwencloud.com/token-plan/personal/token-plan-personal-overview), [OpenAI-compatible Chat contract](https://docs.qwencloud.com/api-reference/chat/openai-chat), and [Responses contract](https://docs.qwencloud.com/api-reference/chat/openai-responses).
|
|
96
123
|
|
|
97
124
|
### Hosted tools
|
|
98
125
|
|
|
@@ -228,11 +255,15 @@ await session.sendMedia({ data: jpegBytes, mediaType: "image/jpeg" });
|
|
|
228
255
|
|
|
229
256
|
The realtime adapter maps text, audio, transcripts, function calls, response completion, and session completion into the shared `RealtimeEvent` contract. JPEG image frames are supported by Qwen Omni realtime; browser-token minting is not exposed.
|
|
230
257
|
|
|
258
|
+
Qwen Realtime supports callable tools with automatic selection. `toolChoice: "none"` is enforced locally by omitting tools from the upstream session; `"required"` and named-tool selection are rejected before the WebSocket opens because the upstream realtime contract does not support them. The adapter also rejects `providerOptions.enable_search: true` when callable tools are present because Qwen Realtime does not allow both in one session.
|
|
259
|
+
|
|
260
|
+
Sessions request text output by default with `modalities: ["text"]`. Audio output is enabled only when `voice` or `outputAudioMediaType` is configured, in which case the adapter sends `modalities: ["text", "audio"]`. These checks are fail-closed and reflect the provider's current realtime contract.
|
|
261
|
+
|
|
231
262
|
Authenticated realtime connections use the package's Node/Bun `ws` transport by default. `realtimeConnectionFactory` remains available for custom runtimes. Do not expose a Model Studio API key in browser code.
|
|
232
263
|
|
|
233
264
|
## Current catalog coverage
|
|
234
265
|
|
|
235
|
-
The default catalog includes current text and multimodal Qwen families plus the specialized IDs wired above: `qwen3.8-max-preview` for Token Plan, `qwen3.7-plus`, `qwen3.7-max`, `qwen3.6-flash`, `qwen3.5-omni-plus`, `qwen3.5-omni-plus-realtime`, `qwen3.5-ocr`, `tongyi-embedding-vision-plus` for international/Singapore, `qwen3-vl-embedding` for Beijing, `qwen3-rerank`, `qwen3-asr-flash`, `qwen3-tts-flash`, `qwen-image-2.0-pro`, and `wan2.7-t2v`.
|
|
266
|
+
The default catalog includes current text and multimodal Qwen families plus the specialized IDs wired above: `qwen3.8-max` for standard Model Studio production traffic, `qwen3.8-max-preview` for Token Plan, `qwen3.7-plus`, `qwen3.7-max`, `qwen3.6-flash`, `qwen3.5-omni-plus`, `qwen3.5-omni-plus-realtime`, `qwen3.5-ocr`, `tongyi-embedding-vision-plus` for international/Singapore, `qwen3-vl-embedding` for Beijing, `qwen3-rerank`, `qwen3-asr-flash`, `qwen3-tts-flash`, `qwen-image-2.0-pro`, and `wan2.7-t2v`.
|
|
236
267
|
|
|
237
268
|
Run opt-in live coverage with:
|
|
238
269
|
|
|
@@ -240,7 +271,9 @@ Run opt-in live coverage with:
|
|
|
240
271
|
QWEN_EXTENDED_INTEGRATION=1 bun --env-file=.env run test:integration:qwen
|
|
241
272
|
```
|
|
242
273
|
|
|
243
|
-
Set only the surfaces you want to exercise: `QWEN_MULTIMODAL_EMBEDDING_MODEL`, `QWEN_MULTIMODAL_IMAGE_URL`, `QWEN_RERANK_MODEL`, `QWEN_ASR_MODEL`, `QWEN_ASR_AUDIO_URL`, `QWEN_TTS_MODEL`, `QWEN_IMAGE_MODEL`, `QWEN_VIDEO_MODEL`, and `QWEN_REALTIME_MODEL`. For the default international endpoint, use `tongyi-embedding-vision-plus`; use `qwen3-vl-embedding` only with a Beijing workspace. Workspace and endpoint overrides use `QWEN_WORKSPACE_ID`, `QWEN_REGION`, `QWEN_BASE_URL`, `QWEN_TASK_BASE_URL`, and `QWEN_REALTIME_URL`.
|
|
274
|
+
The shared provider smoke keeps `qwen3.7-plus` as its compatibility default. Certify the final model explicitly with `QWEN_INTEGRATION_MODEL=qwen3.8-max`; the standard international endpoint can be used when the account exposes the model there, while `QWEN_WORKSPACE_ID` and `QWEN_REGION` select an explicit regional workspace (use `beijing` for the currently documented Responses model list). Set only the extended surfaces you want to exercise: `QWEN_MULTIMODAL_EMBEDDING_MODEL`, `QWEN_MULTIMODAL_IMAGE_URL`, `QWEN_RERANK_MODEL`, `QWEN_ASR_MODEL`, `QWEN_ASR_AUDIO_URL`, `QWEN_TTS_MODEL`, `QWEN_IMAGE_MODEL`, `QWEN_VIDEO_MODEL`, and `QWEN_REALTIME_MODEL`. For the default international endpoint, use `tongyi-embedding-vision-plus`; use `qwen3-vl-embedding` only with a Beijing workspace. Workspace and endpoint overrides use `QWEN_WORKSPACE_ID`, `QWEN_REGION`, `QWEN_BASE_URL`, `QWEN_TASK_BASE_URL`, and `QWEN_REALTIME_URL`.
|
|
275
|
+
|
|
276
|
+
The catalog intentionally omits a price for `qwen3.8-max` until Alibaba Cloud publishes a stable public rate for the final model.
|
|
244
277
|
|
|
245
278
|
Repository and full documentation:
|
|
246
279
|
|
package/dist/index.d.ts
CHANGED
|
@@ -25,7 +25,11 @@ export interface QwenLanguageModelOptions {
|
|
|
25
25
|
thinking_budget?: number;
|
|
26
26
|
preserve_thinking?: boolean;
|
|
27
27
|
reasoning_effort?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
|
|
28
|
+
parallel_tool_calls?: boolean;
|
|
29
|
+
tool_stream?: boolean;
|
|
28
30
|
top_p?: number;
|
|
31
|
+
top_k?: number;
|
|
32
|
+
repetition_penalty?: number;
|
|
29
33
|
frequency_penalty?: number;
|
|
30
34
|
presence_penalty?: number;
|
|
31
35
|
stop?: string | string[];
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -99,6 +99,10 @@ const openQwenRealtimeConnection = async (url, headers, options) => {
|
|
|
99
99
|
if (!Number.isSafeInteger(maxIncomingFrameBytes) || maxIncomingFrameBytes <= 0) {
|
|
100
100
|
throw new ValidationError('The realtime "maxIncomingFrameBytes" option must be a positive safe integer.');
|
|
101
101
|
}
|
|
102
|
+
if (options?.timeoutMs !== undefined &&
|
|
103
|
+
(!Number.isSafeInteger(options.timeoutMs) || options.timeoutMs <= 0)) {
|
|
104
|
+
throw new ValidationError('The realtime "timeoutMs" option must be a positive safe integer.');
|
|
105
|
+
}
|
|
102
106
|
const { default: WebSocket } = await import("ws");
|
|
103
107
|
const socket = options?.subprotocols?.length
|
|
104
108
|
? new WebSocket(url, options.subprotocols, { headers, maxPayload: maxIncomingFrameBytes })
|
|
@@ -148,6 +152,22 @@ const openQwenRealtimeConnection = async (url, headers, options) => {
|
|
|
148
152
|
reader.resolve(undefined);
|
|
149
153
|
}
|
|
150
154
|
};
|
|
155
|
+
const onSessionAbort = () => {
|
|
156
|
+
if (closed || connectionError) {
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
connectionError = options?.signal?.reason instanceof Error
|
|
160
|
+
? options.signal.reason
|
|
161
|
+
: new DOMException("The Qwen realtime session was aborted.", "AbortError");
|
|
162
|
+
rejectReaders(connectionError);
|
|
163
|
+
socket.close();
|
|
164
|
+
};
|
|
165
|
+
if (options?.signal?.aborted) {
|
|
166
|
+
onSessionAbort();
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
options?.signal?.addEventListener("abort", onSessionAbort, { once: true });
|
|
170
|
+
}
|
|
151
171
|
socket.on("message", (data) => {
|
|
152
172
|
const text = nodeWebSocketDataToText(data);
|
|
153
173
|
const reader = readers.shift();
|
|
@@ -174,6 +194,7 @@ const openQwenRealtimeConnection = async (url, headers, options) => {
|
|
|
174
194
|
});
|
|
175
195
|
socket.on("close", () => {
|
|
176
196
|
closed = true;
|
|
197
|
+
options?.signal?.removeEventListener("abort", onSessionAbort);
|
|
177
198
|
if (connectionError) {
|
|
178
199
|
rejectReaders(connectionError);
|
|
179
200
|
}
|
|
@@ -216,6 +237,7 @@ const openQwenRealtimeConnection = async (url, headers, options) => {
|
|
|
216
237
|
if (closed) {
|
|
217
238
|
return;
|
|
218
239
|
}
|
|
240
|
+
options?.signal?.removeEventListener("abort", onSessionAbort);
|
|
219
241
|
await new Promise((resolve) => {
|
|
220
242
|
const timer = setTimeout(() => {
|
|
221
243
|
socket.terminate();
|
|
@@ -344,14 +366,27 @@ const stripResponsesRequestOptions = (providerOptions) => {
|
|
|
344
366
|
"reasoning",
|
|
345
367
|
"previous_response_id",
|
|
346
368
|
"max_output_tokens",
|
|
347
|
-
"response_format"
|
|
369
|
+
"response_format",
|
|
370
|
+
"tool_stream"
|
|
348
371
|
]) {
|
|
349
372
|
delete next[key];
|
|
350
373
|
}
|
|
351
374
|
return next;
|
|
352
375
|
};
|
|
353
376
|
const modelFamily = (modelId) => modelId.toLowerCase();
|
|
377
|
+
const isQwen38Max = (modelId) => modelFamily(modelId) === "qwen3.8-max";
|
|
354
378
|
const isQwen38MaxPreview = (modelId) => modelFamily(modelId) === "qwen3.8-max-preview";
|
|
379
|
+
const isQwen38MaxFamily = (modelId) => isQwen38Max(modelId) || isQwen38MaxPreview(modelId);
|
|
380
|
+
const isQwenTokenPlanURL = (url) => {
|
|
381
|
+
const path = url.pathname.replace(/\/+$/, "");
|
|
382
|
+
const tokenPlanURL = new URL(QWEN_TOKEN_PLAN_BASE_URL);
|
|
383
|
+
return (url.origin === tokenPlanURL.origin &&
|
|
384
|
+
!url.username &&
|
|
385
|
+
!url.password &&
|
|
386
|
+
!url.search &&
|
|
387
|
+
!url.hash &&
|
|
388
|
+
path === "/compatible-mode/v1");
|
|
389
|
+
};
|
|
355
390
|
const validateQwen38BaseURL = (baseURL) => {
|
|
356
391
|
let url;
|
|
357
392
|
try {
|
|
@@ -360,17 +395,22 @@ const validateQwen38BaseURL = (baseURL) => {
|
|
|
360
395
|
catch {
|
|
361
396
|
throw new ConfigurationError("Qwen qwen3.8-max-preview requires a valid QwenCloud Token Plan baseURL.");
|
|
362
397
|
}
|
|
363
|
-
|
|
364
|
-
const tokenPlanURL = new URL(QWEN_TOKEN_PLAN_BASE_URL);
|
|
365
|
-
if (url.origin !== tokenPlanURL.origin ||
|
|
366
|
-
url.username ||
|
|
367
|
-
url.password ||
|
|
368
|
-
url.search ||
|
|
369
|
-
url.hash ||
|
|
370
|
-
path !== "/compatible-mode/v1") {
|
|
398
|
+
if (!isQwenTokenPlanURL(url)) {
|
|
371
399
|
throw new ConfigurationError(`Qwen qwen3.8-max-preview is Token Plan only. Configure baseURL with QWEN_TOKEN_PLAN_BASE_URL (${QWEN_TOKEN_PLAN_BASE_URL}); pay-as-you-go and workspace endpoints cannot serve this model.`);
|
|
372
400
|
}
|
|
373
401
|
};
|
|
402
|
+
const validateQwen38MaxBaseURL = (baseURL) => {
|
|
403
|
+
let url;
|
|
404
|
+
try {
|
|
405
|
+
url = new URL(baseURL);
|
|
406
|
+
}
|
|
407
|
+
catch {
|
|
408
|
+
return;
|
|
409
|
+
}
|
|
410
|
+
if (isQwenTokenPlanURL(url)) {
|
|
411
|
+
throw new ConfigurationError("Qwen qwen3.8-max uses standard Model Studio credentials and endpoints; QWEN_TOKEN_PLAN_BASE_URL is reserved for qwen3.8-max-preview.");
|
|
412
|
+
}
|
|
413
|
+
};
|
|
374
414
|
const stripQwen38ReasoningOptions = (providerOptions) => {
|
|
375
415
|
const next = { ...providerOptions };
|
|
376
416
|
delete next.enable_thinking;
|
|
@@ -388,6 +428,7 @@ const supportsQwenVision = (modelId) => {
|
|
|
388
428
|
model.includes("omni") ||
|
|
389
429
|
model.includes("ocr") ||
|
|
390
430
|
model.includes("vision") ||
|
|
431
|
+
isQwen38Max(modelId) ||
|
|
391
432
|
isQwen38MaxPreview(modelId) ||
|
|
392
433
|
/^qwen3\.7-plus(?:$|-)/.test(model) ||
|
|
393
434
|
/^qwen3\.6-flash(?:$|-)/.test(model));
|
|
@@ -399,24 +440,27 @@ const qwenLanguageCapabilities = (modelId) => {
|
|
|
399
440
|
const tools = supportsQwenTools(modelId);
|
|
400
441
|
const omni = isQwenOmniLanguageModel(modelId);
|
|
401
442
|
const reasoning = supportsQwenReasoning(modelId);
|
|
402
|
-
const
|
|
443
|
+
const qwen38Max = isQwen38Max(modelId);
|
|
444
|
+
const qwen38MaxPreview = isQwen38MaxPreview(modelId);
|
|
403
445
|
return {
|
|
404
446
|
...capabilities,
|
|
405
447
|
vision: supportsQwenVision(modelId),
|
|
406
448
|
tools,
|
|
407
|
-
structuredOutput: tools && !omni && !
|
|
408
|
-
jsonMode: tools && !omni && !
|
|
449
|
+
structuredOutput: tools && !omni && !qwen38MaxPreview,
|
|
450
|
+
jsonMode: tools && !omni && !qwen38MaxPreview,
|
|
409
451
|
toolChoice: tools,
|
|
410
|
-
parallelToolCalls:
|
|
452
|
+
parallelToolCalls: qwen38Max,
|
|
411
453
|
webSearch: tools && !omni,
|
|
412
|
-
files: supportsQwenFiles(modelId),
|
|
454
|
+
files: supportsQwenFiles(modelId) || qwen38Max,
|
|
413
455
|
audioInput: supportsQwenAudioInput(modelId),
|
|
414
456
|
reasoning,
|
|
415
|
-
reasoningEfforts:
|
|
416
|
-
? ["minimal", "low", "medium", "high", "xhigh", "max"]
|
|
417
|
-
:
|
|
418
|
-
? ["
|
|
419
|
-
:
|
|
457
|
+
reasoningEfforts: qwen38Max
|
|
458
|
+
? ["none", "minimal", "low", "medium", "high", "xhigh", "max"]
|
|
459
|
+
: qwen38MaxPreview
|
|
460
|
+
? ["minimal", "low", "medium", "high", "xhigh", "max"]
|
|
461
|
+
: reasoning
|
|
462
|
+
? ["none", "minimal", "low", "medium", "high"]
|
|
463
|
+
: undefined,
|
|
420
464
|
agentCapabilities: {
|
|
421
465
|
...capabilities.agentCapabilities,
|
|
422
466
|
supportTier: tools && !omni ? "tier-b" : "tier-c",
|
|
@@ -447,8 +491,26 @@ const videoGenerationCapabilities = {
|
|
|
447
491
|
};
|
|
448
492
|
const realtimeCapabilities = {
|
|
449
493
|
...capabilities,
|
|
494
|
+
streaming: false,
|
|
495
|
+
structuredOutput: false,
|
|
496
|
+
jsonMode: false,
|
|
497
|
+
toolChoice: false,
|
|
498
|
+
parallelToolCalls: false,
|
|
499
|
+
files: false,
|
|
450
500
|
audioInput: true,
|
|
451
501
|
audioOutput: true,
|
|
502
|
+
embeddings: false,
|
|
503
|
+
reasoning: false,
|
|
504
|
+
webSearch: false,
|
|
505
|
+
agentCapabilities: {
|
|
506
|
+
...capabilities.agentCapabilities,
|
|
507
|
+
toolChoiceNone: true,
|
|
508
|
+
hostedWebSearch: false,
|
|
509
|
+
hostedFileSearch: false,
|
|
510
|
+
remoteMcp: false,
|
|
511
|
+
codeExecution: false,
|
|
512
|
+
webExtraction: false
|
|
513
|
+
},
|
|
452
514
|
realtime: {
|
|
453
515
|
sessions: true,
|
|
454
516
|
audioInput: true,
|
|
@@ -486,8 +548,11 @@ const parseJson = async (response, options = {}) => {
|
|
|
486
548
|
abort: options.abort
|
|
487
549
|
});
|
|
488
550
|
};
|
|
551
|
+
const toQwenMediaURL = (data, mediaType) => /^(?:https?:\/\/|data:)/i.test(data) ? data : `data:${mediaType};base64,${data}`;
|
|
489
552
|
const mapContentParts = (message) => {
|
|
490
|
-
const hasMedia = message.parts.some((part) => part.type === "image" ||
|
|
553
|
+
const hasMedia = message.parts.some((part) => part.type === "image" ||
|
|
554
|
+
part.type === "audio" ||
|
|
555
|
+
(part.type === "file" && part.mediaType.toLowerCase().startsWith("video/")));
|
|
491
556
|
if (!hasMedia) {
|
|
492
557
|
return message.parts
|
|
493
558
|
.filter((part) => part.type === "text")
|
|
@@ -504,6 +569,17 @@ const mapContentParts = (message) => {
|
|
|
504
569
|
if (part.type === "audio") {
|
|
505
570
|
return [{ type: "input_audio", input_audio: { data: toDataURL(part.data, part.mediaType) } }];
|
|
506
571
|
}
|
|
572
|
+
if (part.type === "file") {
|
|
573
|
+
if (!part.mediaType.toLowerCase().startsWith("video/")) {
|
|
574
|
+
throw new UnsupportedFeatureError('Qwen Chat Completions accepts FilePart input only for video/* media. Use ImagePart for images or Responses with a supported OCR model for documents.');
|
|
575
|
+
}
|
|
576
|
+
return [
|
|
577
|
+
{
|
|
578
|
+
type: "video_url",
|
|
579
|
+
video_url: { url: toQwenMediaURL(part.data, part.mediaType) }
|
|
580
|
+
}
|
|
581
|
+
];
|
|
582
|
+
}
|
|
507
583
|
return [];
|
|
508
584
|
});
|
|
509
585
|
};
|
|
@@ -632,7 +708,7 @@ const withStructuredOutputMessages = (input) => {
|
|
|
632
708
|
];
|
|
633
709
|
};
|
|
634
710
|
const hasPreservedReasoning = (messages) => messages.some((message) => message.role === "assistant" && reasoningContentFromMessage(message));
|
|
635
|
-
const
|
|
711
|
+
const mapQwen38ChatReasoningEffort = (modelId, effort) => {
|
|
636
712
|
switch (effort) {
|
|
637
713
|
case undefined:
|
|
638
714
|
return undefined;
|
|
@@ -646,49 +722,86 @@ const mapQwen38ReasoningEffort = (effort) => {
|
|
|
646
722
|
case "max":
|
|
647
723
|
return "xhigh";
|
|
648
724
|
case "none":
|
|
649
|
-
|
|
725
|
+
if (isQwen38MaxPreview(modelId)) {
|
|
726
|
+
throw new UnsupportedFeatureError('Qwen model "qwen3.8-max-preview" is thinking-only and does not support reasoning effort "none".');
|
|
727
|
+
}
|
|
728
|
+
return undefined;
|
|
650
729
|
default:
|
|
651
|
-
throw new ConfigurationError(`Qwen
|
|
730
|
+
throw new ConfigurationError(`Qwen ${modelId} reasoning effort must be low, medium, or xhigh (or a documented OpenAI alias), not "${String(effort)}".`);
|
|
731
|
+
}
|
|
732
|
+
};
|
|
733
|
+
const validateQwenToolStream = (modelId, providerOptions, streaming) => {
|
|
734
|
+
if (providerOptions.tool_stream === true && !streaming) {
|
|
735
|
+
throw new ConfigurationError(`Qwen ${modelId} tool_stream requires streamText(); it cannot be used with generateText() or generateObject().`);
|
|
652
736
|
}
|
|
653
737
|
};
|
|
654
|
-
const
|
|
738
|
+
const validateQwen38Request = (modelId, input, providerOptions) => {
|
|
655
739
|
const sharedEffort = input.reasoning?.effort;
|
|
656
740
|
const providerEffort = providerOptions.reasoning_effort;
|
|
657
741
|
const sharedBudget = input.reasoning?.budgetTokens;
|
|
658
742
|
const providerBudget = providerOptions.thinking_budget;
|
|
659
|
-
if (
|
|
743
|
+
if (isQwen38MaxPreview(modelId) &&
|
|
744
|
+
(providerOptions.enable_thinking === false || providerEffort === "none")) {
|
|
660
745
|
throw new UnsupportedFeatureError('Qwen model "qwen3.8-max-preview" is thinking-only; thinking cannot be disabled.');
|
|
661
746
|
}
|
|
662
747
|
if (providerOptions.preserve_thinking === false) {
|
|
663
|
-
throw new ConfigurationError(
|
|
748
|
+
throw new ConfigurationError(`Qwen model "${modelId}" requires preserve_thinking so historical reasoning_content is retained.`);
|
|
664
749
|
}
|
|
665
750
|
if (sharedEffort !== undefined && providerEffort !== undefined) {
|
|
666
|
-
throw new ConfigurationError(
|
|
751
|
+
throw new ConfigurationError(`Configure ${modelId} reasoning effort with either reasoning.effort or providerOptions.reasoning_effort, not both.`);
|
|
667
752
|
}
|
|
668
753
|
if (sharedBudget !== undefined && providerBudget !== undefined) {
|
|
669
|
-
throw new ConfigurationError(
|
|
754
|
+
throw new ConfigurationError(`Configure ${modelId} thinking budget with either reasoning.budgetTokens or providerOptions.thinking_budget, not both.`);
|
|
670
755
|
}
|
|
671
756
|
const effort = sharedEffort ?? providerEffort;
|
|
672
757
|
const budget = sharedBudget ?? providerBudget;
|
|
673
758
|
if (effort !== undefined && budget !== undefined) {
|
|
674
|
-
throw new ConfigurationError(
|
|
759
|
+
throw new ConfigurationError(`Qwen ${modelId} does not allow reasoning_effort and thinking_budget in the same request.`);
|
|
675
760
|
}
|
|
676
|
-
|
|
761
|
+
mapQwen38ChatReasoningEffort(modelId, effort);
|
|
677
762
|
if (providerBudget !== undefined &&
|
|
678
763
|
(!Number.isInteger(providerBudget) || providerBudget < 0 || providerBudget > 262_144)) {
|
|
679
|
-
throw new ConfigurationError(
|
|
764
|
+
throw new ConfigurationError(`Qwen ${modelId} thinking_budget must be an integer between 0 and 262144.`);
|
|
680
765
|
}
|
|
681
766
|
if (sharedBudget !== undefined && sharedBudget > 262_144) {
|
|
682
|
-
throw new ConfigurationError(
|
|
767
|
+
throw new ConfigurationError(`Qwen ${modelId} reasoning.budgetTokens cannot exceed 262144.`);
|
|
768
|
+
}
|
|
769
|
+
if (isQwen38Max(modelId) &&
|
|
770
|
+
providerOptions.enable_thinking === false &&
|
|
771
|
+
((effort !== undefined && effort !== "none") || budget !== undefined)) {
|
|
772
|
+
throw new ConfigurationError("Qwen qwen3.8-max cannot disable thinking while also configuring a reasoning effort or thinking budget.");
|
|
773
|
+
}
|
|
774
|
+
if (isQwen38Max(modelId) && providerOptions.enable_thinking === true && effort === "none") {
|
|
775
|
+
throw new ConfigurationError('Qwen qwen3.8-max cannot enable thinking with reasoning effort "none".');
|
|
776
|
+
}
|
|
777
|
+
const thinkingEnabled = isQwen38MaxPreview(modelId) ||
|
|
778
|
+
!(effort === "none" || providerOptions.enable_thinking === false);
|
|
779
|
+
if (thinkingEnabled && (input.toolChoice === "required" || typeof input.toolChoice === "object")) {
|
|
780
|
+
throw new UnsupportedFeatureError(`Qwen ${modelId} supports toolChoice "required" or a named tool only when thinking is disabled.`);
|
|
781
|
+
}
|
|
782
|
+
if (isQwen38Max(modelId) &&
|
|
783
|
+
input.messages.some((message) => message.parts.some((part) => part.type === "file" && !part.mediaType.toLowerCase().startsWith("video/")))) {
|
|
784
|
+
throw new UnsupportedFeatureError("Qwen qwen3.8-max FilePart input is reserved for video/* media. Use ImagePart for images.");
|
|
683
785
|
}
|
|
684
786
|
};
|
|
685
787
|
const mapChatReasoning = (modelId, input, providerOptions) => {
|
|
686
|
-
if (
|
|
687
|
-
const
|
|
788
|
+
if (isQwen38MaxFamily(modelId)) {
|
|
789
|
+
const rawEffort = input.reasoning?.effort ?? providerOptions.reasoning_effort;
|
|
790
|
+
const thinkingDisabled = rawEffort === "none" || providerOptions.enable_thinking === false;
|
|
791
|
+
if (thinkingDisabled) {
|
|
792
|
+
return {
|
|
793
|
+
enable_thinking: false,
|
|
794
|
+
preserve_thinking: true
|
|
795
|
+
};
|
|
796
|
+
}
|
|
797
|
+
const effort = mapQwen38ChatReasoningEffort(modelId, input.reasoning?.effort ?? providerOptions.reasoning_effort);
|
|
688
798
|
const budget = input.reasoning?.budgetTokens ?? providerOptions.thinking_budget;
|
|
689
799
|
return {
|
|
690
800
|
...(effort ? { reasoning_effort: effort } : {}),
|
|
691
801
|
...(budget !== undefined ? { thinking_budget: budget } : {}),
|
|
802
|
+
...(providerOptions.enable_thinking === true && effort === undefined && budget === undefined
|
|
803
|
+
? { enable_thinking: true }
|
|
804
|
+
: {}),
|
|
692
805
|
preserve_thinking: true
|
|
693
806
|
};
|
|
694
807
|
}
|
|
@@ -705,16 +818,21 @@ const mapChatReasoning = (modelId, input, providerOptions) => {
|
|
|
705
818
|
};
|
|
706
819
|
const mapResponsesReasoning = (modelId, input, providerOptions) => {
|
|
707
820
|
const effort = input.reasoning?.effort ?? providerOptions.reasoning_effort;
|
|
708
|
-
|
|
821
|
+
const qwen38Effort = isQwen38Max(modelId) && providerOptions.enable_thinking === false && effort === undefined
|
|
822
|
+
? "none"
|
|
823
|
+
: effort;
|
|
824
|
+
if (!qwen38Effort) {
|
|
709
825
|
return undefined;
|
|
710
826
|
}
|
|
711
827
|
return {
|
|
712
828
|
reasoning: {
|
|
713
829
|
effort: isQwen38MaxPreview(modelId)
|
|
714
|
-
?
|
|
715
|
-
:
|
|
716
|
-
?
|
|
717
|
-
:
|
|
830
|
+
? mapQwen38ChatReasoningEffort(modelId, qwen38Effort)
|
|
831
|
+
: isQwen38Max(modelId)
|
|
832
|
+
? qwen38Effort
|
|
833
|
+
: qwen38Effort === "low"
|
|
834
|
+
? "minimal"
|
|
835
|
+
: qwen38Effort
|
|
718
836
|
}
|
|
719
837
|
};
|
|
720
838
|
};
|
|
@@ -738,15 +856,23 @@ const mapChatUsage = (usage) => usage
|
|
|
738
856
|
: undefined;
|
|
739
857
|
const hasHostedTools = (tools) => Object.values(tools ?? {}).some((tool) => !isCallableToolDefinition(tool));
|
|
740
858
|
const hasMessagePart = (messages, type) => messages.some((message) => message.parts.some((part) => part.type === type));
|
|
859
|
+
const hasVideoInput = (messages) => messages.some((message) => message.parts.some((part) => part.type === "file" && part.mediaType.toLowerCase().startsWith("video/")));
|
|
860
|
+
const hasNonVideoFileInput = (messages) => messages.some((message) => message.parts.some((part) => part.type === "file" && !part.mediaType.toLowerCase().startsWith("video/")));
|
|
741
861
|
const resolveApiMode = (modelId, requestedMode, input, providerOptions) => {
|
|
862
|
+
const videoInput = hasVideoInput(input.messages);
|
|
863
|
+
if (videoInput && !isQwen38Max(modelId)) {
|
|
864
|
+
throw new UnsupportedFeatureError(`Qwen model "${modelId}" does not support video FilePart input through this adapter.`);
|
|
865
|
+
}
|
|
742
866
|
const needsChat = input.maxTokens !== undefined ||
|
|
743
867
|
input.reasoning?.budgetTokens !== undefined ||
|
|
744
868
|
providerOptions.thinking_budget !== undefined ||
|
|
869
|
+
providerOptions.tool_stream === true ||
|
|
745
870
|
input.structuredOutput?.mode === "native" ||
|
|
746
|
-
hasMessagePart(input.messages, "audio")
|
|
747
|
-
|
|
871
|
+
hasMessagePart(input.messages, "audio") ||
|
|
872
|
+
videoInput;
|
|
873
|
+
const needsResponses = hasHostedTools(input.tools) || hasNonVideoFileInput(input.messages);
|
|
748
874
|
if (needsChat && needsResponses) {
|
|
749
|
-
throw new UnsupportedFeatureError("Qwen cannot combine Responses-only hosted/file inputs with Chat-only maxTokens, audio, reasoning budgets, or
|
|
875
|
+
throw new UnsupportedFeatureError("Qwen cannot combine Responses-only hosted/file inputs with Chat-only maxTokens, audio, video, reasoning budgets, structured output, or tool streaming.");
|
|
750
876
|
}
|
|
751
877
|
if (isQwenOmniLanguageModel(modelId)) {
|
|
752
878
|
if (requestedMode === "responses" || needsResponses) {
|
|
@@ -755,7 +881,7 @@ const resolveApiMode = (modelId, requestedMode, input, providerOptions) => {
|
|
|
755
881
|
return "chat";
|
|
756
882
|
}
|
|
757
883
|
if (requestedMode === "responses" && needsChat) {
|
|
758
|
-
throw new UnsupportedFeatureError('Qwen Responses does not process maxTokens, audio input, reasoning budgets,
|
|
884
|
+
throw new UnsupportedFeatureError('Qwen Responses does not process maxTokens, audio/video input, reasoning budgets, native structured output, or tool_stream; use apiMode "chat" or "auto".');
|
|
759
885
|
}
|
|
760
886
|
if (requestedMode === "chat" && needsResponses) {
|
|
761
887
|
throw new UnsupportedFeatureError('Qwen Chat Completions does not support Responses hosted tools or OCR file inputs.');
|
|
@@ -1068,8 +1194,14 @@ class QwenLanguageModel {
|
|
|
1068
1194
|
throw new UnsupportedFeatureError(`Qwen Omni model "${this.modelId}" is streaming-only. Use streamText() instead of generateText().`);
|
|
1069
1195
|
}
|
|
1070
1196
|
const providerOptions = { ...(input.providerOptions ?? {}) };
|
|
1197
|
+
validateQwenToolStream(this.modelId, providerOptions, false);
|
|
1198
|
+
if (isQwen38MaxFamily(this.modelId)) {
|
|
1199
|
+
validateQwen38Request(this.modelId, input, providerOptions);
|
|
1200
|
+
}
|
|
1201
|
+
if (isQwen38Max(this.modelId)) {
|
|
1202
|
+
validateQwen38MaxBaseURL(this.baseURL);
|
|
1203
|
+
}
|
|
1071
1204
|
if (isQwen38MaxPreview(this.modelId)) {
|
|
1072
|
-
validateQwen38Reasoning(input, providerOptions);
|
|
1073
1205
|
validateQwen38BaseURL(this.baseURL);
|
|
1074
1206
|
}
|
|
1075
1207
|
const apiMode = resolveApiMode(this.modelId, providerOptions.apiMode ?? "auto", input, providerOptions);
|
|
@@ -1079,7 +1211,7 @@ class QwenLanguageModel {
|
|
|
1079
1211
|
if (apiMode === "responses") {
|
|
1080
1212
|
const previousResponse = getProviderResponseId(input.messages);
|
|
1081
1213
|
const baseResponseProviderOptions = stripResponsesRequestOptions(providerOptions);
|
|
1082
|
-
const responseProviderOptions =
|
|
1214
|
+
const responseProviderOptions = isQwen38MaxFamily(this.modelId)
|
|
1083
1215
|
? stripQwen38ReasoningOptions(baseResponseProviderOptions)
|
|
1084
1216
|
: baseResponseProviderOptions;
|
|
1085
1217
|
const messages = previousResponse && previousResponse.index < input.messages.length - 1
|
|
@@ -1117,7 +1249,7 @@ class QwenLanguageModel {
|
|
|
1117
1249
|
};
|
|
1118
1250
|
}
|
|
1119
1251
|
const baseChatProviderOptions = stripHeaderOptions(providerOptions);
|
|
1120
|
-
const chatProviderOptions =
|
|
1252
|
+
const chatProviderOptions = isQwen38MaxFamily(this.modelId)
|
|
1121
1253
|
? stripQwen38ReasoningOptions(baseChatProviderOptions)
|
|
1122
1254
|
: baseChatProviderOptions;
|
|
1123
1255
|
const response = await withRetry(() => this.fetcher(`${this.baseURL}/chat/completions`, {
|
|
@@ -1132,8 +1264,8 @@ class QwenLanguageModel {
|
|
|
1132
1264
|
tool_choice: mapChatToolChoice(input.toolChoice),
|
|
1133
1265
|
response_format: mapStructuredOutput(input),
|
|
1134
1266
|
temperature: input.temperature,
|
|
1135
|
-
max_tokens:
|
|
1136
|
-
max_completion_tokens:
|
|
1267
|
+
max_tokens: isQwen38MaxFamily(this.modelId) ? undefined : input.maxTokens,
|
|
1268
|
+
max_completion_tokens: isQwen38MaxFamily(this.modelId) ? input.maxTokens : undefined,
|
|
1137
1269
|
stream: false,
|
|
1138
1270
|
...mapChatReasoning(this.modelId, input, providerOptions)
|
|
1139
1271
|
})
|
|
@@ -1160,8 +1292,14 @@ class QwenLanguageModel {
|
|
|
1160
1292
|
}
|
|
1161
1293
|
async stream(input) {
|
|
1162
1294
|
const providerOptions = { ...(input.providerOptions ?? {}) };
|
|
1295
|
+
validateQwenToolStream(this.modelId, providerOptions, true);
|
|
1296
|
+
if (isQwen38MaxFamily(this.modelId)) {
|
|
1297
|
+
validateQwen38Request(this.modelId, input, providerOptions);
|
|
1298
|
+
}
|
|
1299
|
+
if (isQwen38Max(this.modelId)) {
|
|
1300
|
+
validateQwen38MaxBaseURL(this.baseURL);
|
|
1301
|
+
}
|
|
1163
1302
|
if (isQwen38MaxPreview(this.modelId)) {
|
|
1164
|
-
validateQwen38Reasoning(input, providerOptions);
|
|
1165
1303
|
validateQwen38BaseURL(this.baseURL);
|
|
1166
1304
|
}
|
|
1167
1305
|
const apiMode = resolveApiMode(this.modelId, providerOptions.apiMode ?? "auto", input, providerOptions);
|
|
@@ -1170,7 +1308,7 @@ class QwenLanguageModel {
|
|
|
1170
1308
|
if (apiMode === "responses") {
|
|
1171
1309
|
const previousResponse = getProviderResponseId(input.messages);
|
|
1172
1310
|
const baseResponseProviderOptions = stripResponsesRequestOptions(providerOptions);
|
|
1173
|
-
const responseProviderOptions =
|
|
1311
|
+
const responseProviderOptions = isQwen38MaxFamily(this.modelId)
|
|
1174
1312
|
? stripQwen38ReasoningOptions(baseResponseProviderOptions)
|
|
1175
1313
|
: baseResponseProviderOptions;
|
|
1176
1314
|
const messages = previousResponse && previousResponse.index < input.messages.length - 1
|
|
@@ -1202,7 +1340,7 @@ class QwenLanguageModel {
|
|
|
1202
1340
|
})();
|
|
1203
1341
|
}
|
|
1204
1342
|
const baseChatProviderOptions = stripHeaderOptions(providerOptions);
|
|
1205
|
-
const chatProviderOptions =
|
|
1343
|
+
const chatProviderOptions = isQwen38MaxFamily(this.modelId)
|
|
1206
1344
|
? stripQwen38ReasoningOptions(baseChatProviderOptions)
|
|
1207
1345
|
: baseChatProviderOptions;
|
|
1208
1346
|
const response = await withRetry(() => this.fetcher(`${this.baseURL}/chat/completions`, {
|
|
@@ -1218,8 +1356,8 @@ class QwenLanguageModel {
|
|
|
1218
1356
|
tool_choice: mapChatToolChoice(input.toolChoice),
|
|
1219
1357
|
response_format: mapStructuredOutput(input),
|
|
1220
1358
|
temperature: input.temperature,
|
|
1221
|
-
max_tokens:
|
|
1222
|
-
max_completion_tokens:
|
|
1359
|
+
max_tokens: isQwen38MaxFamily(this.modelId) ? undefined : input.maxTokens,
|
|
1360
|
+
max_completion_tokens: isQwen38MaxFamily(this.modelId) ? input.maxTokens : undefined,
|
|
1223
1361
|
stream: true,
|
|
1224
1362
|
stream_options: { include_usage: true },
|
|
1225
1363
|
...mapChatReasoning(this.modelId, input, providerOptions)
|
|
@@ -2082,6 +2220,9 @@ const parseRealtimeEvent = (payload) => {
|
|
|
2082
2220
|
return [];
|
|
2083
2221
|
};
|
|
2084
2222
|
const mapRealtimeTools = (config) => {
|
|
2223
|
+
if (config.toolChoice === "none") {
|
|
2224
|
+
return undefined;
|
|
2225
|
+
}
|
|
2085
2226
|
const tools = toToolSet(config.tools);
|
|
2086
2227
|
if (!tools) {
|
|
2087
2228
|
return undefined;
|
|
@@ -2100,20 +2241,32 @@ const mapRealtimeTools = (config) => {
|
|
|
2100
2241
|
};
|
|
2101
2242
|
});
|
|
2102
2243
|
};
|
|
2103
|
-
const
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
|
|
2108
|
-
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
|
|
2244
|
+
const assertQwenRealtimeConfig = (config) => {
|
|
2245
|
+
if (config.toolChoice !== undefined && !["auto", "none"].includes(String(config.toolChoice))) {
|
|
2246
|
+
throw new UnsupportedFeatureError("Qwen realtime supports automatic tool selection or tool disabling, but not required or named tool choice.");
|
|
2247
|
+
}
|
|
2248
|
+
if (config.tools && config.providerOptions?.enable_search === true) {
|
|
2249
|
+
throw new UnsupportedFeatureError("Qwen realtime tools and providerOptions.enable_search cannot be enabled together.");
|
|
2250
|
+
}
|
|
2251
|
+
};
|
|
2252
|
+
const mapRealtimeSession = (config) => {
|
|
2253
|
+
assertQwenRealtimeConfig(config);
|
|
2254
|
+
return {
|
|
2255
|
+
...(config.providerOptions ?? {}),
|
|
2256
|
+
modalities: config.outputAudioMediaType || config.voice ? ["text", "audio"] : ["text"],
|
|
2257
|
+
instructions: config.instructions,
|
|
2258
|
+
voice: config.voice,
|
|
2259
|
+
input_audio_format: "pcm",
|
|
2260
|
+
output_audio_format: "pcm",
|
|
2261
|
+
turn_detection: config.turnDetection,
|
|
2262
|
+
input_audio_transcription: typeof config.inputAudioTranscription === "object"
|
|
2263
|
+
? config.inputAudioTranscription
|
|
2264
|
+
: config.inputAudioTranscription
|
|
2265
|
+
? {}
|
|
2266
|
+
: undefined,
|
|
2267
|
+
tools: mapRealtimeTools(config)
|
|
2268
|
+
};
|
|
2269
|
+
};
|
|
2117
2270
|
const encodeRealtimeData = (data) => {
|
|
2118
2271
|
if (typeof data === "string") {
|
|
2119
2272
|
return data.startsWith("data:") ? data.slice(data.indexOf(",") + 1) : data;
|
|
@@ -2134,6 +2287,7 @@ class QwenRealtimeModel {
|
|
|
2134
2287
|
this.connectionFactory = connectionFactory;
|
|
2135
2288
|
}
|
|
2136
2289
|
async connect(config = {}, options) {
|
|
2290
|
+
assertQwenRealtimeConfig(config);
|
|
2137
2291
|
const url = appendQuery(this.realtimeURL, { model: this.modelId });
|
|
2138
2292
|
const connection = await (this.connectionFactory ?? openQwenRealtimeConnection)(url, { authorization: `Bearer ${this.apiKey}` }, options);
|
|
2139
2293
|
const session = new CallbackRealtimeSession({
|
|
@@ -2145,17 +2299,24 @@ class QwenRealtimeModel {
|
|
|
2145
2299
|
callbacks: {
|
|
2146
2300
|
parseEvent: parseRealtimeEvent,
|
|
2147
2301
|
buildInitialPayloads: (value) => [{ type: "session.update", session: mapRealtimeSession(value) }],
|
|
2148
|
-
buildAudioPayloads: (frame) => [
|
|
2302
|
+
buildAudioPayloads: (frame, sessionConfig) => [
|
|
2303
|
+
{ type: "input_audio_buffer.append", audio: encodeRealtimeData(frame.data) },
|
|
2304
|
+
...(frame.isFinal ? [{ type: "input_audio_buffer.commit" }] : []),
|
|
2305
|
+
...(frame.isFinal && (sessionConfig.autoResponse ?? true) ? [{ type: "response.create" }] : [])
|
|
2306
|
+
],
|
|
2149
2307
|
buildMediaPayloads: (frame) => {
|
|
2150
2308
|
if (!/^image\/(jpeg|jpg)$/i.test(frame.mediaType)) {
|
|
2151
2309
|
throw new UnsupportedFeatureError("Qwen realtime media frames must be JPEG images.");
|
|
2152
2310
|
}
|
|
2153
2311
|
return [{ type: "input_image_buffer.append", image: encodeRealtimeData(frame.data) }];
|
|
2154
2312
|
},
|
|
2155
|
-
buildTextPayloads: (text) => [
|
|
2156
|
-
|
|
2313
|
+
buildTextPayloads: (text, sessionConfig) => [
|
|
2314
|
+
{ type: "conversation.item.create", item: { type: "message", role: "user", content: [{ type: "input_text", text }] } },
|
|
2315
|
+
...((sessionConfig.autoResponse ?? true) ? [{ type: "response.create" }] : [])
|
|
2316
|
+
],
|
|
2317
|
+
buildToolResultPayloads: (result, sessionConfig) => [
|
|
2157
2318
|
{ type: "conversation.item.create", item: { type: "function_call_output", call_id: result.toolCallId, output: JSON.stringify(result.isError ? result.error : result.output ?? null) } },
|
|
2158
|
-
{ type: "response.create" }
|
|
2319
|
+
...((sessionConfig.autoResponse ?? true) ? [{ type: "response.create" }] : [])
|
|
2159
2320
|
],
|
|
2160
2321
|
buildUpdatePayloads: (value) => [{ type: "session.update", session: mapRealtimeSession(value) }],
|
|
2161
2322
|
buildClosePayloads: () => []
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAGnC,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,UAAU,EACV,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,SAAS,EACT,iBAAiB,EAgDlB,MAAM,iBAAiB,CAAC;AAoBzB,MAAM,CAAC,MAAM,wBAAwB,GACnC,wEAAwE,CAAC;AAwE3E,MAAM,YAAY,GAAsB;IACtC,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,IAAI;IACX,gBAAgB,EAAE,IAAI;IACtB,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;IAChB,iBAAiB,EAAE,KAAK;IACxB,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,IAAI;IACf,iBAAiB,EAAE;QACjB,WAAW,EAAE,QAAQ;QACrB,cAAc,EAAE,IAAI;QACpB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,IAAI;QACtB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,KAAK;QAClB,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,KAAK;KAChB;CACF,CAAC;AAEF,MAAM,qBAAqB,GAAsB;IAC/C,SAAS,EAAE,KAAK;IAChB,KAAK,EAAE,KAAK;IACZ,gBAAgB,EAAE,KAAK;IACvB,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,KAAK;IACjB,iBAAiB,EAAE,KAAK;IACxB,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,iBAAiB,EAAE;QACjB,WAAW,EAAE,QAAQ;QACrB,cAAc,EAAE,KAAK;QACrB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,KAAK;QAClB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,KAAK;KAChB;CACF,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAE,EAAE;IAC9C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,SAAS,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAA+B;IACpD,SAAS,EAAE,kCAAkC;IAC7C,OAAO,EAAE,8BAA8B;IACvC,WAAW,EAAE,+BAA+B;IAC5C,KAAK,EAAE,kCAAkC;IACzC,SAAS,EAAE,gCAAgC;IAC3C,QAAQ,EAAE,2BAA2B;CACtC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,WAAmB,EAAE,MAAkB,EAAE,EAAE;IACpE,MAAM,MAAM,GACV,MAAM,KAAK,UAAU;QACnB,CAAC,CAAC,WAAW,iBAAiB,CAAC,MAAM,CAAC,EAAE;QACxC,CAAC,CAAC,WAAW,WAAW,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5D,OAAO;QACL,OAAO,EAAE,GAAG,MAAM,qBAAqB;QACvC,WAAW,EAAE,GAAG,MAAM,SAAS;QAC/B,WAAW,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,qBAAqB;KACvE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAEtC,MAAM,uBAAuB,GAAG,CAAC,IAAa,EAAE,EAAE;IAChD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QAChC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,+BAA+B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACzD,MAAM,4BAA4B,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AAEvD,MAAM,0BAA0B,GAA8B,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IAC5F,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC9D,OAAO,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,qBAAqB,GAAG,OAAO,EAAE,qBAAqB,IAAI,+BAA+B,CAAC;IAChG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAC,IAAI,qBAAqB,IAAI,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,eAAe,CACvB,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,EAAE,YAAY,EAAE,MAAM;QAC1C,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC;QAC1F,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAEvE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,MAAM,GAAG,CAAC,QAAoB,EAAE,EAAE;YACtC,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,KAAK,EAAE,CAAC;gBACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7B,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,OAAO,EAAE,SAAS;YAC9B,CAAC,CAAC,UAAU,CACR,GAAG,EAAE;gBACH,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,4CAA4C,OAAO,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC;YACtG,CAAC,EACD,OAAO,CAAC,SAAS,CAClB;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAGR,EAAE,CAAC;IACR,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,eAAkC,CAAC;IAEvC,MAAM,aAAa,GAAG,CAAC,KAAY,EAAE,EAAE;QACrC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;QAC5B,MAAM,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,IAAI,yBAAyB,EAAE,CAAC;YAC9C,eAAe,GAAG,IAAI,KAAK,CACzB,yCAAyC,yBAAyB,YAAY,CAC/E,CAAC;YACF,eAAe,CAAC,IAAI,GAAG,2BAA2B,CAAC;YACnD,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QAC3B,eAAe,GAAG,KAAK,CAAC;QACxB,aAAa,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACtB,MAAM,GAAG,IAAI,CAAC;QACd,IAAI,eAAe,EAAE,CAAC;YACpB,aAAa,CAAC,eAAe,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,YAAY,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAuB;QACrC,KAAK,CAAC,QAAQ,CAAC,OAAO;YACpB,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,eAAe,CAAC;YACxB,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC7C,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChB,CAAC;yBAAM,CAAC;wBACN,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,eAAe,CAAC;YACxB,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAG,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,KAAK,CAAC,KAAK;YACT,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5B,MAAM,CAAC,SAAS,EAAE,CAAC;oBACnB,OAAO,EAAE,CAAC;gBACZ,CAAC,EAAE,KAAK,CAAC,CAAC;gBACV,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;oBACxB,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,KAAK,EAAE,IAA8C,EAAuB,EAAE;IACjG,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QAChC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;QACxD,OAAO,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,IAA8C,EAAE,EAAE,CACxE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAE7F,MAAM,SAAS,GAAG,CAAC,IAAuC,EAAE,SAAiB,EAAE,EAAE;IAC/E,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GACX,OAAO,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/F,OAAO,QAAQ,SAAS,WAAW,OAAO,EAAE,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,KAAiB,EAAE,EAAE;IACvC,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,KAAK,CAAC,GAAG,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,kBAAkB,CAAC,+CAA+C,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,KAAK,EAAE,IAA8C,EAAE,SAAiB,EAAE,QAAgB,EAAE,EAAE;IAC/G,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;AAC7I,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,KAAkD,EAAE,EAAE;IACtF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,KAAa,EAAE,QAAgB,EAAE,EAAE;IAC/D,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,kBAAkB,CAAC,QAAQ,QAAQ,oEAAoE,CAAC,CAAC;IACrH,CAAC;IAED,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,OAAe,EAAE,EAAE,CAClD,4CAA4C,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAE7D,MAAM,4BAA4B,GAAG,CAAC,GAAQ,EAAE,EAAE,CAChD,CAAC,GAAG,CAAC,QAAQ;IACb,CAAC,GAAG,CAAC,QAAQ;IACb,8CAA8C,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEpE,MAAM,uBAAuB,GAAG,KAAK,EACnC,KAAa,EACb,SAAkD,EAClD,EAAE;IACF,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,iBAAiB,CAAC,+DAA+D,EAAE,GAAG,CAAC,CAAC;IACpG,CAAC;IAED,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,iBAAiB,CAAC,mDAAmD,EAAE,GAAG,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC;IACrF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,iBAAiB,CAAC,gGAAgG,EAAE,GAAG,CAAC,CAAC;IACrI,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,KAAK,EACnC,UAAkB,EAClB,OAAgC,EAChC,MAAmB,EACnB,SAAkD,EAClD,YAAoB,EACpB,EAAE;IACF,IAAI,GAAG,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAE/D,KAAK,IAAI,SAAS,GAAG,CAAC,GAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,SAAS,IAAI,YAAY,EAAE,CAAC;YAC9B,MAAM,IAAI,iBAAiB,CAAC,uCAAuC,YAAY,aAAa,EAAE,GAAG,CAAC,CAAC;QACrG,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,iBAAiB,CAAC,+DAA+D,EAAE,GAAG,CAAC,CAAC;QACpG,CAAC;QACD,GAAG,GAAG,MAAM,uBAAuB,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC;IACpF,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,eAAyC,EAAE,EAAE;IACpF,MAAM,OAAO,GAA2B,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC,2BAA2B,CAAC,CAAC;IACpE,IAAI,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC5D,OAAO,CAAC,2BAA2B,CAAC,GAAG,YAAY,CAAC;IACtD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,eAAoD,EAAE,EAAE;IAClF,MAAM,IAAI,GAAG,EAAE,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;IAC5C,OAAO,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,eAAoD,EAAE,EAAE;IAC5F,MAAM,IAAI,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACjD,KAAK,MAAM,GAAG,IAAI;QAChB,OAAO;QACP,OAAO;QACP,QAAQ;QACR,OAAO;QACP,aAAa;QACb,aAAa;QACb,WAAW;QACX,sBAAsB;QACtB,mBAAmB;QACnB,iBAAiB;KAClB,EAAE,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;AAC/D,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,qBAAqB,CAAC;AAC/F,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAE,EAAE;IAChD,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,kBAAkB,CAC1B,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACvD,IACE,GAAG,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;QAClC,GAAG,CAAC,QAAQ;QACZ,GAAG,CAAC,QAAQ;QACZ,GAAG,CAAC,MAAM;QACV,GAAG,CAAC,IAAI;QACR,IAAI,KAAK,qBAAqB,EAC9B,CAAC;QACD,MAAM,IAAI,kBAAkB,CAC1B,iGAAiG,wBAAwB,mEAAmE,CAC7L,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AACF,MAAM,2BAA2B,GAAG,CAAC,eAAwC,EAAE,EAAE;IAC/E,MAAM,IAAI,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;IACpC,OAAO,IAAI,CAAC,eAAe,CAAC;IAC5B,OAAO,IAAI,CAAC,eAAe,CAAC;IAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAC9B,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC7B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AACF,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAE,EAAE,CAChD,CAAC,uBAAuB,CAAC,OAAO,CAAC;IACjC,iBAAiB,CAAC,OAAO,CAAC;IAC1B,mDAAmD,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACpE,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAE,EAAE;IAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,CACL,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrB,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxB,kBAAkB,CAAC,OAAO,CAAC;QAC3B,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC;QACnC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CACrC,CAAC;AACJ,CAAC,CAAC;AACF,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,EAAE,CAC5C,CAAC,kFAAkF,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AACjH,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AACjG,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AAClG,MAAM,wBAAwB,GAAG,CAAC,OAAe,EAAqB,EAAE;IACtE,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE3C,OAAO;QACL,GAAG,YAAY;QACf,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC;QACnC,KAAK;QACL,gBAAgB,EAAE,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;QAC3C,QAAQ,EAAE,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;QACnC,UAAU,EAAE,KAAK;QACjB,iBAAiB,EAAE,KAAK;QACxB,SAAS,EAAE,KAAK,IAAI,CAAC,IAAI;QACzB,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;QACjC,UAAU,EAAE,sBAAsB,CAAC,OAAO,CAAC;QAC3C,SAAS;QACT,gBAAgB,EAAE,MAAM;YACtB,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;YACtD,CAAC,CAAC,SAAS;gBACT,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;gBAC9C,CAAC,CAAC,SAAS;QACf,iBAAiB,EAAE;YACjB,GAAG,YAAY,CAAC,iBAAkB;YAClC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;YACjD,cAAc,EAAE,KAAK;YACrB,eAAe,EAAE,KAAK,IAAI,CAAC,IAAI;YAC/B,gBAAgB,EAAE,KAAK,IAAI,CAAC,IAAI;YAChC,SAAS,EAAE,KAAK,IAAI,CAAC,IAAI;YACzB,aAAa,EAAE,KAAK,IAAI,CAAC,IAAI;YAC7B,aAAa,EAAE,KAAK,IAAI,CAAC,IAAI;SAC9B;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAsB;IACnD,GAAG,qBAAqB;IACxB,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,MAAM,kBAAkB,GAAsB;IAC5C,GAAG,qBAAqB;IACxB,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF,MAAM,2BAA2B,GAAsB;IACrD,GAAG,qBAAqB;IACxB,eAAe,EAAE,IAAI;CACtB,CAAC;AAEF,MAAM,2BAA2B,GAAsB;IACrD,GAAG,qBAAqB;IACxB,eAAe,EAAE,IAAI;CACtB,CAAC;AAEF,MAAM,oBAAoB,GAAsB;IAC9C,GAAG,YAAY;IACf,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,QAAQ,EAAE;QACR,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI;QACX,aAAa,EAAE,KAAK;KACrB;CACF,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAAC,OAAqB,EAAE,EAAE,CAC5D,OAAO,CAAC,KAAK;KACV,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;IACf,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC9D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAA+B,CAAC;IAClD,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAmB,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,CAAC;AACxF,CAAC,CAAC;KACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,MAAM,CAAE,IAAI,CAAC,IAAgC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KACrH,IAAI,CAAC,EAAE,CAAC,CAAC;AAEd,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACvC,cAAc,EAAE,kBAAkB;IAClC,aAAa,EAAE,UAAU,MAAM,EAAE;CAClC,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,KAAK,EACrB,QAAkB,EAClB,UAKI,EAAE,EACN,EAAE;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QAC5E,MAAM,IAAI,iBAAiB,CAAC,mCAAmC,QAAQ,CAAC,MAAM,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE;YAClG,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,iBAAiB,CAAM,QAAQ,EAAE;QACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,4BAA4B;QAC1D,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;AACL,CAAC,CAAC;AAOF,MAAM,eAAe,GAAG,CAAC,OAAqB,EAAE,EAAE;IAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAE9F,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,OAAO,CAAC,KAAK;aACjB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;aACtC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;aACxB,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAyB,CAAC,IAAI,EAAE,EAAE;QAC5D,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,OAAO,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QAChG,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,QAAwB,EAAE,EAAE,CAC/C,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;IACvB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QAE7E,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,UAAU,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAC/F,OAAO,EACL,UAAU,EAAE,IAAI,KAAK,aAAa;gBAChC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC5G,CAAC,CAAC,EAAE;SACT,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK;SAC5B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC;SAC3C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;QACpB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YACxB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;SAC/C;KACF,CAAC,CAAC,CAAC;IAEN,MAAM,OAAO,GAA4B;QACvC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC;KAClC,CAAC;IAEF,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC9D,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC/C,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IACjC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC,CAAC;AAEL,MAAM,YAAY,GAAG,CAAC,KAAkC,EAAE,EAAE,CAC1D,KAAK;IACH,CAAC,CAAC,CAAC,GAAG,EAAE;QACJ,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACvE,IAAI,aAAa,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,IAAI,uBAAuB,CAAC,gDAAgD,CAAC,CAAC;QACtF,CAAC;QAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;aACtC;SACF,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,EAAE;IACN,CAAC,CAAC,SAAS,CAAC;AAEhB,MAAM,iBAAiB,GAAG,CAAC,KAAkC,EAAE,EAAE,CAC/D,KAAK;IACH,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAChC,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;aACtC,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC9C,MAAM,IAAI,uBAAuB,CAC/B,wEAAwE,IAAI,CAAC,QAAQ,IAAI,CAC1F,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;SACvE,CAAC;IACJ,CAAC,CAAC;IACJ,CAAC,CAAC,SAAS,CAAC;AAEhB,MAAM,iBAAiB,GAAG,CAAC,UAA4C,EAAE,EAAE;IACzE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,UAAU,CAAC,QAAQ;SAC1B;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAC7B,UAA4C,EAC5C,KAAkC,EAClC,EAAE;IACF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,IAAI,UAAU,KAAK,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,uBAAuB,CAC/B,uFAAuF,CACxF,CAAC;QACJ,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;KACzD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,KAAyB,EAAE,EAAE;IACxD,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,KAAyB,EAAE,EAAE;IACjE,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxE,OAAO,KAAK,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3E,OAAO;QACL;YACE,IAAI,EAAE,QAAiB;YACvB,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,qDAAqD,MAAM,EAAE;iBACpE;aACF;SACF;QACD,GAAG,KAAK,CAAC,QAAQ;KAClB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,QAAwB,EAAE,EAAE,CACzD,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC;AAEnG,MAAM,wBAAwB,GAAG,CAAC,MAAe,EAAE,EAAE;IACnD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,SAAS,CAAC;QACf,KAAK,KAAK;YACR,OAAO,KAAc,CAAC;QACxB,KAAK,QAAQ;YACX,OAAO,QAAiB,CAAC;QAC3B,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,KAAK;YACR,OAAO,OAAgB,CAAC;QAC1B,KAAK,MAAM;YACT,MAAM,IAAI,uBAAuB,CAC/B,iGAAiG,CAClG,CAAC;QACJ;YACE,MAAM,IAAI,kBAAkB,CAC1B,gHAAgH,MAAM,CAAC,MAAM,CAAC,IAAI,CACnI,CAAC;IACN,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAC9B,KAAyB,EACzB,eAAyC,EACzC,EAAE;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC;IAC7C,MAAM,cAAc,GAAG,eAAe,CAAC,gBAAgB,CAAC;IACxD,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC;IACnD,MAAM,cAAc,GAAG,eAAe,CAAC,eAAe,CAAC;IAEvD,IAAI,eAAe,CAAC,eAAe,KAAK,KAAK,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QAC3E,MAAM,IAAI,uBAAuB,CAC/B,iFAAiF,CAClF,CAAC;IACJ,CAAC;IACD,IAAI,eAAe,CAAC,iBAAiB,KAAK,KAAK,EAAE,CAAC;QAChD,MAAM,IAAI,kBAAkB,CAC1B,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAC/D,MAAM,IAAI,kBAAkB,CAC1B,4HAA4H,CAC7H,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAC/D,MAAM,IAAI,kBAAkB,CAC1B,gIAAgI,CACjI,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,IAAI,cAAc,CAAC;IAC9C,MAAM,MAAM,GAAG,YAAY,IAAI,cAAc,CAAC;IAC9C,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACjD,MAAM,IAAI,kBAAkB,CAC1B,mGAAmG,CACpG,CAAC;IACJ,CAAC;IACD,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAEjC,IACE,cAAc,KAAK,SAAS;QAC5B,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,OAAO,CAAC,EACrF,CAAC;QACD,MAAM,IAAI,kBAAkB,CAC1B,mFAAmF,CACpF,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,GAAG,OAAO,EAAE,CAAC;QACzD,MAAM,IAAI,kBAAkB,CAC1B,uEAAuE,CACxE,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,OAAe,EACf,KAAyB,EACzB,eAAyC,EACzC,EAAE;IACF,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,wBAAwB,CACrC,KAAK,CAAC,SAAS,EAAE,MAAM,IAAI,eAAe,CAAC,gBAAgB,CAC5D,CAAC;QACF,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,YAAY,IAAI,eAAe,CAAC,eAAe,CAAC;QAChF,OAAO;YACL,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,iBAAiB,EAAE,IAAI;SACxB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACjE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,YAAY,KAAK,SAAS;YACjF,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE;YACnD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9E,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,OAAe,EACf,KAAyB,EACzB,eAAyC,EACzC,EAAE;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,MAAM,IAAI,eAAe,CAAC,gBAAgB,CAAC;IAC3E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,SAAS,EAAE;YACT,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC;gBACjC,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC;gBAClC,CAAC,CAAC,MAAM,KAAK,KAAK;oBAChB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,MAAM;SACb;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAU,EAAE,EAAE,CACvC,KAAK;IACH,CAAC,CAAC;QACE,WAAW,EAAE,KAAK,CAAC,YAAY;QAC/B,iBAAiB,EAAE,KAAK,CAAC,oBAAoB,EAAE,aAAa;QAC5D,YAAY,EAAE,KAAK,CAAC,aAAa;QACjC,eAAe,EAAE,KAAK,CAAC,qBAAqB,EAAE,gBAAgB;QAC9D,WAAW,EAAE,KAAK,CAAC,YAAY;KAChC;IACH,CAAC,CAAC,SAAS,CAAC;AAEhB,MAAM,YAAY,GAAG,CAAC,KAAU,EAAE,EAAE,CAClC,KAAK;IACH,CAAC,CAAC;QACE,WAAW,EAAE,KAAK,CAAC,aAAa;QAChC,iBAAiB,EAAE,KAAK,CAAC,qBAAqB,EAAE,aAAa,IAAI,KAAK,CAAC,oBAAoB,EAAE,aAAa;QAC1G,YAAY,EAAE,KAAK,CAAC,iBAAiB;QACrC,eAAe,EAAE,KAAK,CAAC,yBAAyB,EAAE,gBAAgB,IAAI,KAAK,CAAC,qBAAqB,EAAE,gBAAgB;QACnH,WAAW,EAAE,KAAK,CAAC,YAAY;KAChC;IACH,CAAC,CAAC,SAAS,CAAC;AAEhB,MAAM,cAAc,GAAG,CAAC,KAAkC,EAAE,EAAE,CAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;AAE7E,MAAM,cAAc,GAAG,CAAC,QAAwB,EAAE,IAAsB,EAAE,EAAE,CAC1E,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;AAE/E,MAAM,cAAc,GAAG,CACrB,OAAe,EACf,aAAkD,EAClD,KAAyB,EACzB,eAAyC,EACnB,EAAE;IACxB,MAAM,SAAS,GACb,KAAK,CAAC,SAAS,KAAK,SAAS;QAC7B,KAAK,CAAC,SAAS,EAAE,YAAY,KAAK,SAAS;QAC3C,eAAe,CAAC,eAAe,KAAK,SAAS;QAC7C,KAAK,CAAC,gBAAgB,EAAE,IAAI,KAAK,QAAQ;QACzC,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAE7F,IAAI,SAAS,IAAI,cAAc,EAAE,CAAC;QAChC,MAAM,IAAI,uBAAuB,CAC/B,iIAAiI,CAClI,CAAC;IACJ,CAAC;IAED,IAAI,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,IAAI,aAAa,KAAK,WAAW,IAAI,cAAc,EAAE,CAAC;YACpD,MAAM,IAAI,uBAAuB,CAC/B,uGAAuG,CACxG,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,aAAa,KAAK,WAAW,IAAI,SAAS,EAAE,CAAC;QAC/C,MAAM,IAAI,uBAAuB,CAC/B,uIAAuI,CACxI,CAAC;IACJ,CAAC;IACD,IAAI,aAAa,KAAK,MAAM,IAAI,cAAc,EAAE,CAAC;QAC/C,MAAM,IAAI,uBAAuB,CAAC,mFAAmF,CAAC,CAAC;IACzH,CAAC;IAED,IAAI,aAAa,KAAK,WAAW,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC9D,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,OAAO,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,OAAY,EAAgB,EAAE,CAAC,CAAC;IAC7D,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE;QACL,GAAG,CAAC,OAAO,OAAO,CAAC,iBAAiB,KAAK,QAAQ,IAAI,OAAO,CAAC,iBAAiB;YAC5E,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;YACxG,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO;YACxD,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAW,CAAC;YACpD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC;YACjD,IAAI,EAAE,WAAoB;YAC1B,QAAQ,EAAE;gBACR,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;gBACxB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC;aACnD;SACF,CAAC,CAAC,IAAI,EAAE,CAAC;KACX;CACF,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,QAAwB,EAAE,EAAE;IACzD,KAAK,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CACrC,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,KAAK,eAAe;YAC7B,IAAI,CAAC,QAAQ,KAAK,MAAM;YACxB,IAAI,CAAC,IAAI;YACT,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC7B,OAAQ,IAAI,CAAC,IAAgC,CAAC,UAAU,KAAK,QAAQ,CACxE,CAAC;QAEF,IAAI,YAAY,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;YAC3C,OAAO;gBACL,UAAU,EAAG,YAAY,CAAC,IAA+B,CAAC,UAAU;gBACpE,KAAK;aACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,OAAqB,EAAE,EAAE,CAC7D,OAAO,CAAC,KAAK;KACV,MAAM,CAAC,CAAC,IAAI,EAA2E,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC;KACtH,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACd,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU;IACnC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC;CACzG,CAAC,CAAC,CAAC;AAER,MAAM,gBAAgB,GAAG,CAAC,QAAwB,EAAE,EAAE;IACpD,MAAM,KAAK,GAAmC,EAAE,CAAC;IAEjD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC,CAAC;YACrD,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAmC,EAAE,CAAC;QACnD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,MAAM;oBACT,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACtD,MAAM;gBACR,KAAK,OAAO;oBACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC7D,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBACrC,MAAM,IAAI,uBAAuB,CAC/B,gHAAgH,CACjH,CAAC;oBACJ,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,YAAY;wBAClB,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACtD,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,WAAW;oBACd,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBACjC,KAAK,CAAC,IAAI,CAAC;4BACT,IAAI,EAAE,eAAe;4BACrB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;4BACzB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;4BACxB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;yBAC/C,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM;gBACR,KAAK,eAAe;oBAClB,IACE,OAAO,CAAC,IAAI,KAAK,WAAW;wBAC5B,IAAI,CAAC,QAAQ,KAAK,MAAM;wBACxB,IAAI,CAAC,IAAI;wBACT,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;wBAC7B,OAAQ,IAAI,CAAC,IAAgC,CAAC,IAAI,KAAK,QAAQ,EAC/D,CAAC;wBACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAA+B,CAAC,CAAC;oBACnD,CAAC;oBACD,MAAM;YACV,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO;aACR,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,IAAa,EAAE,EAAE;IACnD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,IAA+B,CAAC;IAClD,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAChG,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,IAAiB,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,CAAC,IAAS,EAAgB,EAAE;IACjE,MAAM,KAAK,GAA0B,EAAE,CAAC;IAExC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1D,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBACzC,IAAI,OAAO,OAAO,EAAE,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBACtD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE;oBACR,EAAE,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;oBACtD,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;iBAC1C;aACF,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,YAAY,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5G,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,KAAK;KACN,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,CAAC,MAA0B,EAAE,YAAqB,EAAE,EAAE;IAC3F,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAqB,CAAC;IAC/B,CAAC;IAED,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,OAAO,MAAe,CAAC;IACzB,CAAC;IAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,OAAgB,CAAC;IAC1B,CAAC;IAED,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,KAAK,SAAS,CAAC,EACrC,QAAkB;IAElB,MAAM,WAAW,GAAG,IAAI,GAAG,EAA4E,CAAC;IACxG,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE;QACnC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,YAAY,GAAG,IAAI,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE;gBACR,EAAE,EAAE,QAAQ,CAAC,MAAM;gBACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;aACzC;SACoB,CAAC;IAC1B,CAAC,CAAC;IAEF,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAC;QAE7C,IAAI,IAAI,KAAK,4BAA4B,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5E,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAwB,CAAC;YAC1E,SAAS;QACX,CAAC;QAED,IACE,CAAC,IAAI,KAAK,uCAAuC,IAAI,IAAI,KAAK,+BAA+B,CAAC;YAC9F,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAC9B,CAAC;YACD,MAAM;gBACJ,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE;oBACJ,IAAI,EAAE,mBAAmB;oBACzB,gBAAgB,EAAE,IAAI,CAAC,KAAK;iBAC7B;aACoB,CAAC;YACxB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,4BAA4B,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;YAClF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,IAAI,IAAI,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;gBACnC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;gBAClF,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;oBACvC,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,GAAG;oBAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;oBACrB,IAAI,EAAE,EAAE;oBACR,OAAO,EAAE,KAAK;iBACf,CAAC;gBACF,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC;gBAClD,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBAClC,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;oBACvC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjC,CAAC;gBACD,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAE/B,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;oBACzC,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;oBAClC,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,OAAO,CAAC;oBAChB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,YAAY,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,YAAY,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;gBACzD,MAAM;oBACJ,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE,MAAM;oBAChB,IAAI,EAAE,YAAY;iBACG,CAAC;YAC1B,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,wCAAwC,EAAE,CAAC;YACtD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YACvE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;gBACvC,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,KAAK;aACf,CAAC;YACF,QAAQ,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,uCAAuC,EAAE,CAAC;YACrD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YACvE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;gBACvC,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,KAAK;aACf,CAAC;YACF,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACvC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,CAAC;YACD,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC/B,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,OAAO,CAAC;YAChB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,oBAAoB,IAAI,IAAI,KAAK,iBAAiB,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;YAClG,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;YACzC,IAAI,OAAO,YAAY,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACxC,MAAM;oBACJ,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE,MAAM;oBAChB,IAAI,EAAE,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,EAAE;iBAChB,CAAC;YAC1B,CAAC;YACD,MAAM;gBACJ,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,8BAA8B,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC;gBAC/E,oBAAoB,EAAE,YAAY,CAAC,MAAM;gBACzC,KAAK,EAAE,iBAAiB,CAAC,YAAY,CAAC,KAAK,CAAC;aACvB,CAAC;QAC1B,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,iBAAiB;IAKV;IACQ;IACA;IACA;IAPV,QAAQ,GAAG,MAAM,CAAC;IAClB,YAAY,CAAoB;IAEzC,YACW,OAAe,EACP,MAAc,EACd,OAAe,EACf,OAAgC;QAHxC,YAAO,GAAP,OAAO,CAAQ;QACP,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAQ;QACf,YAAO,GAAP,OAAO,CAAyB;QAEjD,IAAI,CAAC,YAAY,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAmD;QAChE,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,uBAAuB,CAC/B,oBAAoB,IAAI,CAAC,OAAO,kEAAkE,CACnG,CAAC;QACJ,CAAC;QACD,MAAM,eAAe,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,EAA8B,CAAC;QACzF,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,uBAAuB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YAChD,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,OAAO,IAAI,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;QACxG,OAAO,eAAe,CAAC,OAAO,CAAC;QAC/B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,CAAC;YACH,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;gBAC5B,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC/D,MAAM,2BAA2B,GAAG,4BAA4B,CAAC,eAAe,CAAC,CAAC;gBAClF,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;oBAC9D,CAAC,CAAC,2BAA2B,CAAC,2BAA2B,CAAC;oBAC1D,CAAC,CAAC,2BAA2B,CAAC;gBAChC,MAAM,QAAQ,GACZ,gBAAgB,IAAI,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;oBACpE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC;oBAClD,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACrB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,EAAE;oBACxC,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;oBACtD,MAAM;oBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,GAAG,uBAAuB;wBAC1B,KAAK,EAAE,IAAI,CAAC,OAAO;wBACnB,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClF,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACjE,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;wBACrC,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC;wBAClE,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC;wBAC9D,MAAM,EAAE,KAAK;qBACd,CAAC;iBACH,CAAC,EACJ,KAAK,CACN,CAAC;gBAEF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACvC,MAAM,gBAAgB,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC;gBAC9D,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;gBAEtF,OAAO;oBACL,QAAQ,EAAE,CAAC,gBAAgB,CAAC;oBAC5B,IAAI,EAAE,gBAAgB,CAAC,KAAK;yBACzB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;yBACtC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;yBACxB,IAAI,CAAC,EAAE,CAAC;oBACX,YAAY,EAAE,8BAA8B,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;oBACvE,oBAAoB,EAAE,IAAI,CAAC,MAAM;oBACjC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;oBACpC,WAAW,EAAE,IAAI;iBAClB,CAAC;YACJ,CAAC;YAED,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;YACpE,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC1D,CAAC,CAAC,2BAA2B,CAAC,uBAAuB,CAAC;gBACtD,CAAC,CAAC,uBAAuB,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,mBAAmB,EAAE;gBAC/C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;gBACtD,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,GAAG,mBAAmB;oBACtB,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,QAAQ,EAAE,WAAW,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;oBAC1D,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC;oBAChC,WAAW,EAAE,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC;oBAChD,eAAe,EAAE,mBAAmB,CAAC,KAAK,CAAC;oBAC3C,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;oBAC1E,qBAAqB,EAAE,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;oBACrF,MAAM,EAAE,KAAK;oBACb,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC;iBAC1D,CAAC;aACH,CAAC,EACJ,KAAK,CACN,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;YACtC,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAExD,OAAO;gBACL,QAAQ,EAAE,CAAC,gBAAgB,CAAC;gBAC5B,IAAI,EAAE,gBAAgB,CAAC,KAAK;qBACzB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;qBACtC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;qBACxB,IAAI,CAAC,EAAE,CAAC;gBACX,YAAY,EAAE,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC;gBAC1D,oBAAoB,EAAE,MAAM,EAAE,aAAa;gBAC3C,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC/B,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAmD;QAC9D,MAAM,eAAe,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,EAA8B,CAAC;QACzF,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,uBAAuB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YAChD,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,OAAO,IAAI,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;QACxG,OAAO,eAAe,CAAC,OAAO,CAAC;QAC/B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;YAC5B,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC/D,MAAM,2BAA2B,GAAG,4BAA4B,CAAC,eAAe,CAAC,CAAC;YAClF,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC9D,CAAC,CAAC,2BAA2B,CAAC,2BAA2B,CAAC;gBAC1D,CAAC,CAAC,2BAA2B,CAAC;YAChC,MAAM,QAAQ,GACZ,gBAAgB,IAAI,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACpE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC;gBAClD,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;YACrB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,EAAE;gBACxC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;gBACtD,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,GAAG,uBAAuB;oBAC1B,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClF,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjE,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;oBACrC,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC;oBAClE,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC;oBAC9D,MAAM,EAAE,IAAI;iBACb,CAAC;aACH,CAAC,EACJ,KAAK,CACN,CAAC;YAEF,OAAO,CAAC,KAAK,SAAS,CAAC;gBACrB,IAAI,CAAC;oBACH,KAAK,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBACnC,CAAC;wBAAS,CAAC;oBACT,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;QACP,CAAC;QAED,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;QACpE,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;YAC1D,CAAC,CAAC,2BAA2B,CAAC,uBAAuB,CAAC;YACtD,CAAC,CAAC,uBAAuB,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,mBAAmB,EAAE;YAC/C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;YACtD,MAAM;YACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,GAAG,mBAAmB;gBACtB,KAAK,EAAE,IAAI,CAAC,OAAO;gBACnB,UAAU,EAAE,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;gBACtG,QAAQ,EAAE,WAAW,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;gBAC1D,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC;gBAChC,WAAW,EAAE,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC;gBAChD,eAAe,EAAE,mBAAmB,CAAC,KAAK,CAAC;gBAC3C,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;gBAC1E,qBAAqB,EAAE,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBACrF,MAAM,EAAE,IAAI;gBACZ,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;gBACvC,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC;aAC1D,CAAC;SACH,CAAC,EACJ,KAAK,CACN,CAAC;QAEF,OAAO,CAAC,KAAK,SAAS,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,IAAI,GAAG,EAAwE,CAAC;gBAEpG,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC5B,OAAO;oBACT,CAAC;oBAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACpC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;oBACjC,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAC;oBAE5B,IAAI,KAAK,EAAE,iBAAiB,EAAE,CAAC;wBAC7B,MAAM;4BACJ,IAAI,EAAE,eAAe;4BACrB,QAAQ,EAAE,MAAM;4BAChB,IAAI,EAAE;gCACJ,IAAI,EAAE,mBAAmB;gCACzB,gBAAgB,EAAE,KAAK,CAAC,iBAAiB;6BAC1C;yBACoB,CAAC;oBAC1B,CAAC;oBAED,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;wBACnB,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,EAAwB,CAAC;oBAC/E,CAAC;oBAED,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC;wBAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;wBAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI;4BACzC,EAAE,EAAE,QAAQ,CAAC,EAAE,IAAI,GAAG,KAAK,EAAE;4BAC7B,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE;4BACnC,IAAI,EAAE,EAAE;4BACR,OAAO,EAAE,KAAK;yBACf,CAAC;wBACF,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,EAAE,CAAC;wBACzC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;wBAChD,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAC;wBACpD,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;oBACnC,CAAC;oBAED,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;wBAC1B,IAAI,MAAM,CAAC,aAAa,KAAK,YAAY,EAAE,CAAC;4BAC1C,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC5C,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oCACrB,SAAS;gCACX,CAAC;gCACD,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;gCACxB,MAAM;oCACJ,IAAI,EAAE,WAAW;oCACjB,QAAQ,EAAE;wCACR,EAAE,EAAE,QAAQ,CAAC,EAAE;wCACf,IAAI,EAAE,QAAQ,CAAC,IAAI;wCACnB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;qCACzC;iCACoB,CAAC;4BAC1B,CAAC;wBACH,CAAC;wBACD,MAAM;4BACJ,IAAI,EAAE,QAAQ;4BACd,YAAY,EAAE,qBAAqB,CAAC,MAAM,CAAC,aAAa,CAAC;4BACzD,oBAAoB,EAAE,MAAM,CAAC,aAAa;4BAC1C,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;yBACV,CAAC;oBAC1B,CAAC;gBACH,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;CACF;AAED,MAAM,kBAAkB;IAKX;IACQ;IACA;IACA;IAPV,QAAQ,GAAG,MAAM,CAAC;IAClB,YAAY,GAAG,qBAAqB,CAAC;IAE9C,YACW,OAAe,EACP,MAAc,EACd,OAAe,EACf,OAAgC;QAHxC,YAAO,GAAP,OAAO,CAAQ;QACP,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAQ;QACf,YAAO,GAAP,OAAO,CAAyB;IAChD,CAAC;IAEJ,KAAK,CAAC,KAAK,CAAC,KAAmH;QAC7H,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,IAAI,uBAAuB,CAAC,+DAA+D,CAAC,CAAC;YACrG,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,aAAa,EAAE;gBACzC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBACjC,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,KAAK,EAAE,MAAM;iBACd,CAAC;aACH,CAAC,EACJ,KAAK,CACN,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;gBAC1D,KAAK,EAAE;oBACL,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa;oBACtC,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY;iBACtC;gBACD,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,4BAA4B,GAAG,CAAC,KAAsB,EAAE,EAAE;IAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IACtC,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,IAAI,uBAAuB,CAAC,kEAAkE,CAAC,CAAC;QACxG,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,IAAI,uBAAuB,CAC/B,0EAA0E,KAAK,CAAC,SAAS,IAAI,CAC9F,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gCAAgC;IAQzB;IACQ;IACA;IACA;IAVV,QAAQ,GAAG,MAAM,CAAC;IAClB,YAAY,GAAsB;QACzC,GAAG,qBAAqB;QACxB,MAAM,EAAE,IAAI;KACb,CAAC;IAEF,YACW,OAAe,EACP,MAAc,EACd,WAAmB,EACnB,OAAgC;QAHxC,YAAO,GAAP,OAAO,CAAQ;QACP,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAQ;QACnB,YAAO,GAAP,OAAO,CAAyB;IAChD,CAAC;IAEJ,KAAK,CAAC,KAAK,CACT,KAMC;QAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CACV,GAAG,IAAI,CAAC,WAAW,gEAAgE,EACnF;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBACjC,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE;oBACnE,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM;wBACpE,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,eAAe,EAAE;wBACvC,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC;aACH,CACF,EACH,KAAK,CACN,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,OAAO;gBACL,UAAU,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;gBAChF,KAAK,EAAE;oBACL,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY;oBACrC,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY;iBACtC;gBACD,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,qBAAqB,GAAG,CAAC,IAAS,EAAgB,EAAE,CAAC,CAAC;IAC1D,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE;IAChD,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG;IACzB,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY;IAC9D,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS;IAC1D,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK;IAChC,WAAW,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW;IACnE,WAAW,EAAE,IAAI;IACjB,gBAAgB,EAAE,IAAI;CACvB,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,IAAS,EAAY,EAAE,CAAC,CAAC;IAClD,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;IAChC,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK;IAChC,IAAI,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACrH,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;IACvE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;IACvE,WAAW,EAAE,IAAI;IACjB,gBAAgB,EAAE,IAAI;CACvB,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,IAAS,EAAuB,EAAE,CAAC,CAAC;IAC9D,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;IACxE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;IAClH,QAAQ,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ;IACtC,KAAK,EACH,IAAI,CAAC,KAAK;QACV,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,KAAK,QAAQ;YACpC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE;YACnF,CAAC,CAAC,SAAS,CAAC;IAChB,QAAQ,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ;IACrC,WAAW,EAAE,IAAI;CAClB,CAAC,CAAC;AAEH,MAAM,eAAe;IAEA;IACA;IACA;IAHnB,YACmB,MAAc,EACd,OAAe,EACf,OAAgC;QAFhC,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAQ;QACf,YAAO,GAAP,OAAO,CAAyB;IAChD,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,KAAsB;QACjC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC;QAC7H,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC;QAC9E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;YACvE,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,QAAQ,EAAE;gBACpC,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE;gBACnD,MAAM;gBACN,IAAI,EAAE,IAAI;aACX,CAAC,EACJ,KAAK,CACN,CAAC;YACF,OAAO,qBAAqB,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1D,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAmB;QAC3B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,UAAU,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7J,OAAO,qBAAqB,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1D,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAuB,EAAE;QAClC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EACzK,KAAK,CACN,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,OAAO;gBACL,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC;gBACjE,aAAa,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa;gBAC9C,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAsB;QACjC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,UAAU,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAChK,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QACjD,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,iBAAiB;IAEF;IACA;IACA;IAHnB,YACmB,MAAc,EACd,OAAe,EACf,OAAgC;QAFhC,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAQ;QACf,YAAO,GAAP,OAAO,CAAyB;IAChD,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,KAAuB;QAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,IAAI,kBAAkB,CAAC,gFAAgF,CAAC,CAAC;QACjH,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,UAAU,EAAE;gBACtC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBACjC,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,GAAG,KAAK,CAAC,eAAe;oBACxB,aAAa,EAAE,KAAK,CAAC,QAAQ;oBAC7B,QAAQ,EAAE,KAAK,CAAC,eAAe,EAAE,QAAQ,IAAI,sBAAsB;oBACnE,iBAAiB,EAAE,KAAK,CAAC,eAAe,EAAE,iBAAiB,IAAI,KAAK;oBACpE,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;iBAC7E,CAAC;aACH,CAAC,EACJ,KAAK,CACN,CAAC;YACF,OAAO,iBAAiB,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtD,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAoB;QAC5B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAChK,OAAO,iBAAiB,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtD,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAwB,EAAE;QACnC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAC3K,KAAK,CACN,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAClJ,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAuB;QAClC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,OAAO,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YACxK,OAAO,iBAAiB,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtD,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAuB;QAClC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YACnK,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QACjD,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,sBAAsB;IAKf;IACQ;IACA;IACA;IACA;IARV,QAAQ,GAAG,MAAM,CAAC;IAClB,YAAY,GAAG,yBAAyB,CAAC;IAElD,YACW,OAAe,EACP,MAAc,EACd,OAAe,EACf,OAAgC,EAChC,iBAAiB,0BAA0B,EAAE;QAJrD,YAAO,GAAP,OAAO,CAAQ;QACP,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAQ;QACf,YAAO,GAAP,OAAO,CAAyB;QAChC,mBAAc,GAAd,cAAc,CAA+B;IAC7D,CAAC;IAEJ,KAAK,CAAC,UAAU,CAAC,KAAwM;QACvN,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,uBAAuB,CAC/B,wHAAwH,CACzH,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7D,MAAM,aAAa,GACjB,eAAe,CAAC,WAAW,IAAI,OAAO,eAAe,CAAC,WAAW,KAAK,QAAQ;YAC5E,CAAC,CAAE,eAAe,CAAC,WAAuC;YAC1D,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,eAAe,CAAC,WAAW,CAAC;QACnC,OAAO,eAAe,CAAC,KAAK,CAAC;QAC7B,OAAO,eAAe,CAAC,QAAQ,CAAC;QAChC,OAAO,eAAe,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,mBAAmB,EAAE;gBAC/C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBACjC,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,aAAa;oCACnB,WAAW,EAAE;wCACX,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;qCACzD;iCACF;6BACF;yBACF;qBACF;oBACD,MAAM,EAAE,KAAK;oBACb,WAAW,EAAE;wBACX,GAAG,eAAe;wBAClB,GAAG,aAAa;wBAChB,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACxD;iBACF,CAAC;aACH,CAAC,EACJ,KAAK,CACN,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE;gBACrC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,kBAAkB;gBAChD,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc;gBAClD,QAAQ,EAAE,kBAAkB;gBAC5B,KAAK;aACN,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;YACpD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBACjC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,CAAC,CAAC,OAAO,OAAO,KAAK,QAAQ;oBAC3B,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,EAAE,CAAC;YACT,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QACrC,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,eAAe;IAKR;IACQ;IACA;IACA;IACA;IACA;IACA;IAVV,QAAQ,GAAG,MAAM,CAAC;IAClB,YAAY,GAAG,kBAAkB,CAAC;IAE3C,YACW,OAAe,EACP,MAAc,EACd,WAAmB,EACnB,OAAgC,EAChC,iBAAiB,0BAA0B,EAAE,EAC7C,uBAAqD,EACrD,0BAA0B,CAAC;QANnC,YAAO,GAAP,OAAO,CAAQ;QACP,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAQ;QACnB,YAAO,GAAP,OAAO,CAAyB;QAChC,mBAAc,GAAd,cAAc,CAA+B;QAC7C,4BAAuB,GAAvB,uBAAuB,CAA8B;QACrD,4BAAuB,GAAvB,uBAAuB,CAAI;IAC3C,CAAC;IAEJ,KAAK,CAAC,cAAc,CAAC,KAAgL;QACnM,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7D,MAAM,WAAW,GACf,eAAe,CAAC,KAAK,IAAI,OAAO,eAAe,CAAC,KAAK,KAAK,QAAQ;YAChE,CAAC,CAAE,eAAe,CAAC,KAAiC;YACpD,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,UAAU,GACd,eAAe,CAAC,UAAU,IAAI,OAAO,eAAe,CAAC,UAAU,KAAK,QAAQ;YAC1E,CAAC,CAAE,eAAe,CAAC,UAAsC;YACzD,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,eAAe,CAAC,KAAK,CAAC;QAC7B,OAAO,eAAe,CAAC,UAAU,CAAC;QAClC,OAAO,eAAe,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,iDAAiD,EAAE;gBACjF,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBACjC,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,KAAK,EAAE;wBACL,GAAG,eAAe;wBAClB,GAAG,WAAW;wBACd,IAAI,EAAE,KAAK,CAAC,KAAK;wBACjB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,QAAQ;qBAC/B;oBACD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtC,CAAC;aACH,CAAC,EACJ,KAAK,CACN,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE;gBACrC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,eAAe;gBAC7C,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc;gBAClD,QAAQ,EAAE,kCAAkC;gBAC5C,KAAK;aACN,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;YAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC;YAC5D,MAAM,WAAW,GAAG;gBAClB,GAAG,IAAI;gBACP,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;oBAC9C,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE;oBACvF,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;oBAChD,CAAC,CAAC;wBACE,MAAM,EAAE;4BACN,GAAG,IAAI,CAAC,MAAM;4BACd,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ;gCAC5D,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE;gCAC9F,CAAC,CAAC,EAAE,CAAC;yBACR;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;YAEF,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBACxD,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW;oBACzC,QAAQ,EAAE,MAAM;oBAChB,QAAQ,EAAE,kCAAkC;oBAC5C,KAAK;iBACN,CAAC,CAAC;gBACH,OAAO;oBACL,KAAK,EAAE,YAAY;oBACnB,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,WAAW;oBAClF,WAAW;iBACZ,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpE,MAAM,IAAI,iBAAiB,CAAC,8EAA8E,EAAE,GAAG,CAAC,CAAC;YACnH,CAAC;YACD,MAAM,aAAa,GAAG,MAAM,SAAS,CACnC,GAAG,EAAE,CACH,uBAAuB,CACrB,QAAQ,EACR,IAAI,CAAC,OAAO,EACZ,MAAM,EACN,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,uBAAuB,CAC7B,EACH,KAAK,CACN,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;gBAC7F,MAAM,IAAI,iBAAiB,CAAC,0CAA0C,aAAa,CAAC,MAAM,GAAG,EAAE,aAAa,CAAC,MAAM,EAAE;oBACnH,YAAY,EAAE,IAAI;iBACnB,CAAC,CAAC;YACL,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,MAAM,iBAAiB,CAAC,aAAa,EAAE;oBAC5C,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW;oBACzC,QAAQ,EAAE,MAAM;oBAChB,QAAQ,EAAE,uBAAuB;oBACjC,KAAK;iBACN,CAAC;gBACF,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,WAAW;gBACrG,WAAW;aACZ,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,uBAAuB,GAAG,CAAC,IAAS,EAAE,gBAAwB,EAAkB,EAAE,CAAC,CAAC;IACxF,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS;IACzD,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM;QAChC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE;YAClD,QAAQ,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;YAC1B,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,kBAAkB;SAC7B,CAAC;QACJ,CAAC,CAAC,SAAS;IACb,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,gBAAgB;IAC/D,IAAI,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI;IACtC,gBAAgB,EAAE,IAAI;CACvB,CAAC,CAAC;AAEH,MAAM,wBAAwB;IAKjB;IACQ;IACA;IACA;IAPV,QAAQ,GAAG,MAAM,CAAC;IAClB,YAAY,GAAG,2BAA2B,CAAC;IAEpD,YACW,OAAe,EACP,MAAc,EACd,WAAmB,EACnB,OAAgC;QAHxC,YAAO,GAAP,OAAO,CAAQ;QACP,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAQ;QACnB,YAAO,GAAP,OAAO,CAAyB;IAChD,CAAC;IAEJ,KAAK,CAAC,aAAa,CAAC,KAA+R;QACjT,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7D,OAAO,eAAe,CAAC,QAAQ,CAAC;QAChC,MAAM,gBAAgB,GACpB,eAAe,CAAC,UAAU,IAAI,OAAO,eAAe,CAAC,UAAU,KAAK,QAAQ;YAC1E,CAAC,CAAE,eAAe,CAAC,UAAsC;YACzD,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,eAAe,CAAC,UAAU,CAAC;QAClC,OAAO,eAAe,CAAC,KAAK,CAAC;QAC7B,OAAO,eAAe,CAAC,KAAK,CAAC;QAC7B,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,WAAW,iDAAiD,CAAC;QACtF,MAAM,mBAAmB,GAA2B;YAClD,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,WAAW;SACnB,CAAC;QACF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACrB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBACjC,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,KAAK,EAAE;wBACL,QAAQ,EAAE;4BACR;gCACE,IAAI,EAAE,MAAM;gCACZ,OAAO,EAAE;oCACP,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oCACtE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE;iCACvB;6BACF;yBACF;qBACF;oBACD,UAAU,EAAE;wBACV,GAAG,eAAe;wBAClB,GAAG,gBAAgB;wBACnB,CAAC,EAAE,KAAK,CAAC,KAAK;wBACd,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC5F,eAAe,EAAE,KAAK,CAAC,cAAc;qBACtC;iBACF,CAAC;aACH,CAAC,EACJ,KAAK,CACN,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,IAAI,GACR,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;gBAC7E,IAAI,CAAC,MAAM,EAAE,OAAO;gBACpB,IAAI,CAAC,MAAM,EAAE,MAAM;gBACnB,IAAI,CAAC,IAAI;gBACT,EAAE,CAAC;YACL,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,IAAI,WAAW,CAAC,CAAC;gBACnG,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI;gBACvB,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,wBAAwB;IAKjB;IACQ;IACA;IACA;IAPV,QAAQ,GAAG,MAAM,CAAC;IAClB,YAAY,GAAG,2BAA2B,CAAC;IAEpD,YACW,OAAe,EACP,MAAc,EACd,WAAmB,EACnB,OAAgC;QAHxC,YAAO,GAAP,OAAO,CAAQ;QACP,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAQ;QACnB,YAAO,GAAP,OAAO,CAAyB;IAChD,CAAC;IAEJ,KAAK,CAAC,aAAa,CAAC,KAAkU;QACpV,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7D,OAAO,eAAe,CAAC,QAAQ,CAAC;QAChC,MAAM,WAAW,GACf,eAAe,CAAC,KAAK,IAAI,OAAO,eAAe,CAAC,KAAK,KAAK,QAAQ;YAChE,CAAC,CAAE,eAAe,CAAC,KAAiC;YACpD,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,gBAAgB,GACpB,eAAe,CAAC,UAAU,IAAI,OAAO,eAAe,CAAC,UAAU,KAAK,QAAQ;YAC1E,CAAC,CAAE,eAAe,CAAC,UAAsC;YACzD,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,eAAe,CAAC,KAAK,CAAC;QAC7B,OAAO,eAAe,CAAC,UAAU,CAAC;QAClC,OAAO,eAAe,CAAC,KAAK,CAAC;QAC7B,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,iDAAiD,EAAE;gBACjF,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE,QAAQ,EAAE;gBACvE,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,KAAK,EAAE;wBACL,GAAG,WAAW;wBACd,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,eAAe,EAAE,KAAK,CAAC,cAAc;wBACrC,GAAG,CAAC,KAAK,CAAC,KAAK;4BACb,CAAC,CAAC,OAAO;gCACP,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;gCACpE,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;4BACxC,CAAC,CAAC,EAAE,CAAC;qBACR;oBACD,UAAU,EAAE;wBACV,GAAG,eAAe;wBAClB,GAAG,gBAAgB;wBACnB,KAAK,EAAE,KAAK,CAAC,WAAW;wBACxB,QAAQ,EAAE,KAAK,CAAC,eAAe;wBAC/B,CAAC,EAAE,KAAK,CAAC,KAAK;wBACd,kBAAkB,EAAE,KAAK,CAAC,gBAAgB;qBAC3C;iBACF,CAAC;aACH,CAAC,EACJ,KAAK,CACN,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,KAAK,GACT,IAAI,CAAC,MAAM,EAAE,OAAO;gBACpB,IAAI,CAAC,MAAM,EAAE,MAAM;gBACnB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnE,OAAO;gBACL,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC5E,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO;gBACnD,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,mBAAmB;IAIZ;IACQ;IACA;IACA;IANV,QAAQ,GAAG,MAAe,CAAC;IAEpC,YACW,OAAe,EACP,MAAc,EACd,WAAmB,EACnB,OAAgC;QAHxC,YAAO,GAAP,OAAO,CAAQ;QACP,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAQ;QACnB,YAAO,GAAP,OAAO,CAAyB;IAChD,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,KAAsB;QACjC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChE,IACE,YAAY;YACZ,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,EACrG,CAAC;YACD,MAAM,IAAI,uBAAuB,CAAC,4DAA4D,CAAC,CAAC;QAClG,CAAC;QAED,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAE,EAAE;YACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACjF,CAAC;YACD,OAAO,4BAA4B,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,CAAC;QACF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CACV,GAAG,IAAI,CAAC,WAAW,0CAA0C,EAC7D;gBACA,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBACjC,MAAM;gBACJ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;oBACE,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,KAAK,EAAE;wBACL,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;wBAChE,SAAS,EAAE,YAAY;4BACrB,CAAC,CAAC,KAAK,CAAC,SAAS;4BACjB,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;qBACzC;oBACD,UAAU,EAAE;wBACV,gBAAgB,EAAE,IAAI;wBACtB,GAAG,KAAK,CAAC,eAAe;wBACxB,KAAK,EAAE,KAAK,CAAC,IAAI;qBAClB;iBACF,CACF;aACF,CACF,EACH,KAAK,CACN,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,OAAO;gBACL,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC;oBACzE,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE;oBACpE,cAAc,EAAE,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC;oBACzD,gBAAgB,EAAE,KAAK;iBACxB,CAAC,CAAC;gBACH,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,mBAAmB;IAEJ;IACA;IACA;IAHnB,YACmB,MAAc,EACd,WAAmB,EACnB,OAAgC;QAFhC,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAQ;QACnB,YAAO,GAAP,OAAO,CAAyB;IAChD,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,KAAoH;QAC5H,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,UAAU,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YACjK,OAAO,kBAAkB,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAoH;QAC/H,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,UAAU,MAAM,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YACzK,OAAO,kBAAkB,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,kBAAkB,GAAG,CAAC,OAAgC,EAAmB,EAAE;IAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,OAAoC,CAAC;IACtD,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,MAAM,UAAU,GAAG,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7F,IAAI,IAAI,KAAK,qBAAqB,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxE,OAAO,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrH,CAAC;IACD,IAAI,IAAI,KAAK,sBAAsB,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACzE,OAAO,CAAC;gBACN,IAAI,EAAE,uBAAuB;gBAC7B,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE;oBAC1C,QAAQ,EAAE,+BAA+B;oBACzC,QAAQ,EAAE,MAAM;oBAChB,QAAQ,EAAE,UAAU;iBACrB,CAAC;gBACF,SAAS,EAAE,WAAW;gBACtB,YAAY,EAAE,MAAM;gBACpB,QAAQ,EAAE,CAAC;gBACX,MAAM;gBACN,UAAU;gBACV,gBAAgB,EAAE,QAAQ;aAC3B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,KAAK,iCAAiC,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACpF,OAAO,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnJ,CAAC;IACD,IAAI,IAAI,KAAK,gCAAgC,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACxF,OAAO,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvJ,CAAC;IACD,IAAI,IAAI,KAAK,mDAAmD,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAChI,OAAO,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnH,CAAC;IACD,IAAI,IAAI,KAAK,uDAAuD,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC/G,OAAO,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtI,CAAC;IACD,IAAI,IAAI,KAAK,uCAAuC,EAAE,CAAC;QACrD,OAAO,CAAC;gBACN,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE;oBACR,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,gBAAgB,CAAC;oBAClE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;oBAChC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;iBACpF;aACF,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAA+C,CAAC;QACzE,OAAO,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,MAAM,EAAE,OAAO,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1J,CAAC;IACD,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAChC,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAA4C,CAAC;QACnE,OAAO,CAAC;gBACN,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,qBAAqB,CAAC;gBAC3E,gBAAgB,EAAE,QAAQ;aAC3B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,MAA6B,EAAE,EAAE;IACzD,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACvC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,uBAAuB,CAAC,sDAAsD,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;aACtC;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,MAA6B,EAAE,EAAE,CAAC,CAAC;IAC7D,GAAG,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC,YAAY;IACjC,KAAK,EAAE,MAAM,CAAC,KAAK;IACnB,kBAAkB,EAAE,KAAK;IACzB,mBAAmB,EAAE,KAAK;IAC1B,cAAc,EAAE,MAAM,CAAC,aAAa;IACpC,yBAAyB,EACvB,OAAO,MAAM,CAAC,uBAAuB,KAAK,QAAQ;QAChD,CAAC,CAAC,MAAM,CAAC,uBAAuB;QAChC,CAAC,CAAC,MAAM,CAAC,uBAAuB;YAC9B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,SAAS;IACjB,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC;CAChC,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,IAAuC,EAAE,EAAE;IACrE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7E,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAClG,CAAC,CAAC;AAEF,MAAM,iBAAiB;IAKV;IACQ;IACA;IACA;IAPV,QAAQ,GAAG,MAAM,CAAC;IAClB,YAAY,GAAG,oBAAoB,CAAC;IAE7C,YACW,OAAe,EACP,MAAc,EACd,WAAmB,EACnB,iBAA6C;QAHrD,YAAO,GAAP,OAAO,CAAQ;QACP,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAQ;QACnB,sBAAiB,GAAjB,iBAAiB,CAA4B;IAC7D,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,SAAgC,EAAE,EAAE,OAAgC;QAChF,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,0BAA0B,CAAC,CAC7E,GAAG,EACH,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE,EAC1C,OAAO,CACR,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,uBAAuB,CAAC;YAC1C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,MAAM;YACN,UAAU;YACV,SAAS,EAAE;gBACT,UAAU,EAAE,kBAAkB;gBAC9B,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjG,kBAAkB,EAAE,CAAC,KAAiB,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzH,kBAAkB,EAAE,CAAC,KAAiB,EAAE,EAAE;oBACxC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;wBAClD,MAAM,IAAI,uBAAuB,CAAC,iDAAiD,CAAC,CAAC;oBACvF,CAAC;oBACD,OAAO,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxF,CAAC;gBACD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;gBAClL,uBAAuB,EAAE,CAAC,MAA2B,EAAE,EAAE,CAAC;oBACxD,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,EAAE;oBACvL,EAAE,IAAI,EAAE,iBAAiB,EAAE;iBAC5B;gBACD,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChG,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAE;aAC7B;SACF,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,UAA+B,EAAE,EACnB,EAAE;IAChB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC3F,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW;QACvC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC;QACvE,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,OAAO,GAAG,qBAAqB,CACnC,OAAO,CAAC,OAAO,IAAI,aAAa,EAAE,OAAO,IAAI,wDAAwD,EACrG;QACE,KAAK,EAAE,cAAc;QACrB,SAAS,EAAE,CAAC,OAAO,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC,oBAAoB;KAC1C,CACF,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,qBAAqB,CACvC,OAAO,CAAC,WAAW,IAAI,aAAa,EAAE,WAAW,IAAI,mBAAmB,CAAC,OAAO,CAAC,EACjF;QACE,KAAK,EAAE,kBAAkB;QACzB,SAAS,EAAE,CAAC,OAAO,CAAC;QACpB,YAAY,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;QACzC,WAAW,EAAE,OAAO,CAAC,oBAAoB;KAC1C,CACF,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,qBAAqB,CACvC,OAAO,CAAC,WAAW;QACnB,aAAa,EAAE,WAAW;QAC1B,sDAAsD,EACtD;QACE,KAAK,EAAE,kBAAkB;QACzB,SAAS,EAAE,CAAC,KAAK,CAAC;QAClB,YAAY,EAAE,OAAO,CAAC,WAAW;YAC/B,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;YAC7B,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,6BAA6B,CAAC;QAC9D,WAAW,EAAE,OAAO,CAAC,oBAAoB;KAC1C,CACF,CAAC,QAAQ,EAAE,CAAC;IACb,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IAClD,MAAM,cAAc,GAAG,0BAA0B,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1E,MAAM,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,IAAI,CAAC,CAAC;IACrE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,uBAAuB,GAAG,CAAC,IAAI,uBAAuB,GAAG,EAAE,EAAE,CAAC;QAC9G,MAAM,IAAI,kBAAkB,CAAC,mEAAmE,CAAC,CAAC;IACpG,CAAC;IAED,OAAO,qBAAqB,CAAC;QAC3B,IAAI,EAAE,MAAM;QACZ,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QACpF,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QACtF,kBAAkB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC;QAC9G,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CACvB,IAAI,eAAe,CACjB,OAAO,EACP,MAAM,EACN,WAAW,EACX,OAAO,EACP,cAAc,EACd,OAAO,CAAC,uBAAuB,EAC/B,uBAAuB,CACxB;QACH,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC;QACtG,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC;QACtG,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,yBAAyB,CAAC;QAClH,KAAK,EAAE,IAAI,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QACpD,OAAO,EAAE,IAAI,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QACxD,WAAW,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,IAAI,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC;QAChG,wBAAwB,EAAE,CAAC,OAAe,EAAE,EAAE,CAC5C,IAAI,gCAAgC,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC;QAC7E,KAAK,EAAE,IAAI,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC;QAC5D,QAAQ,EAAE,OAAO;KAClB,CAAiB,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAkC,EAAE,EAAE,EAAE,CACxE,UAAU,CAAC;IACT,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,YAAY;IACvB,MAAM,EAAE,MAA8B;CACvC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,SAAkC,EAAE,EAAE,EAAE,CAC3E,UAAU,CAAC;IACT,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,eAAe;IACrB,SAAS,EAAE,gBAAgB;IAC3B,MAAM,EAAE,MAA8B;CACvC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,SAAkC,EAAE,EAAE,EAAE,CAC9E,UAAU,CAAC;IACT,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,kBAAkB;IACxB,SAAS,EAAE,gBAAgB;IAC3B,MAAM,EAAE,MAA8B;CACvC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAkC,EAAE,EAAE,EAAE,CACzE,UAAU,CAAC;IACT,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,aAAa;IACnB,SAAS,EAAE,aAAa;IACxB,MAAM,EAAE,MAA8B;CACvC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAA+B,EAAE,EAAE,CAC7D,UAAU,CAAC;IACT,IAAI,EAAE,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK;IAC3E,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,YAAY;IACvB,MAAM,EAAE,MAA8B;CACvC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAAkC,EAAE,EAAE,EAAE,CAC7E,UAAU,CAAC;IACT,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,kBAAkB;IACxB,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE,MAA8B;CACvC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAkC,EAAE,EAAE,EAAE,CAC1E,UAAU,CAAC;IACT,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,cAAc;IACpB,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE,MAA8B;CACvC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAGnC,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,UAAU,EACV,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,SAAS,EACT,iBAAiB,EAgDlB,MAAM,iBAAiB,CAAC;AAoBzB,MAAM,CAAC,MAAM,wBAAwB,GACnC,wEAAwE,CAAC;AA4E3E,MAAM,YAAY,GAAsB;IACtC,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,IAAI;IACX,gBAAgB,EAAE,IAAI;IACtB,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;IAChB,iBAAiB,EAAE,KAAK;IACxB,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,IAAI;IACf,iBAAiB,EAAE;QACjB,WAAW,EAAE,QAAQ;QACrB,cAAc,EAAE,IAAI;QACpB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,IAAI;QACtB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,KAAK;QAClB,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,KAAK;KAChB;CACF,CAAC;AAEF,MAAM,qBAAqB,GAAsB;IAC/C,SAAS,EAAE,KAAK;IAChB,KAAK,EAAE,KAAK;IACZ,gBAAgB,EAAE,KAAK;IACvB,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,KAAK;IACjB,iBAAiB,EAAE,KAAK;IACxB,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,iBAAiB,EAAE;QACjB,WAAW,EAAE,QAAQ;QACrB,cAAc,EAAE,KAAK;QACrB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,KAAK;QAClB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,KAAK;KAChB;CACF,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAE,EAAE;IAC9C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,SAAS,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAA+B;IACpD,SAAS,EAAE,kCAAkC;IAC7C,OAAO,EAAE,8BAA8B;IACvC,WAAW,EAAE,+BAA+B;IAC5C,KAAK,EAAE,kCAAkC;IACzC,SAAS,EAAE,gCAAgC;IAC3C,QAAQ,EAAE,2BAA2B;CACtC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,WAAmB,EAAE,MAAkB,EAAE,EAAE;IACpE,MAAM,MAAM,GACV,MAAM,KAAK,UAAU;QACnB,CAAC,CAAC,WAAW,iBAAiB,CAAC,MAAM,CAAC,EAAE;QACxC,CAAC,CAAC,WAAW,WAAW,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5D,OAAO;QACL,OAAO,EAAE,GAAG,MAAM,qBAAqB;QACvC,WAAW,EAAE,GAAG,MAAM,SAAS;QAC/B,WAAW,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,qBAAqB;KACvE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAEtC,MAAM,uBAAuB,GAAG,CAAC,IAAa,EAAE,EAAE;IAChD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QAChC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,+BAA+B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACzD,MAAM,4BAA4B,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AAEvD,MAAM,0BAA0B,GAA8B,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IAC5F,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC9D,OAAO,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,qBAAqB,GAAG,OAAO,EAAE,qBAAqB,IAAI,+BAA+B,CAAC;IAChG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAC,IAAI,qBAAqB,IAAI,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,eAAe,CACvB,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IACD,IACE,OAAO,EAAE,SAAS,KAAK,SAAS;QAChC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,EACpE,CAAC;QACD,MAAM,IAAI,eAAe,CAAC,kEAAkE,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,EAAE,YAAY,EAAE,MAAM;QAC1C,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC;QAC1F,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAEvE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,MAAM,GAAG,CAAC,QAAoB,EAAE,EAAE;YACtC,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,KAAK,EAAE,CAAC;gBACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7B,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,OAAO,EAAE,SAAS;YAC9B,CAAC,CAAC,UAAU,CACR,GAAG,EAAE;gBACH,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,4CAA4C,OAAO,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC;YACtG,CAAC,EACD,OAAO,CAAC,SAAS,CAClB;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAGR,EAAE,CAAC;IACR,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,eAAkC,CAAC;IAEvC,MAAM,aAAa,GAAG,CAAC,KAAY,EAAE,EAAE;QACrC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CAAC;IACF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,IAAI,MAAM,IAAI,eAAe,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,eAAe,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,KAAK;YACxD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;YACvB,CAAC,CAAC,IAAI,YAAY,CAAC,wCAAwC,EAAE,YAAY,CAAC,CAAC;QAC7E,aAAa,CAAC,eAAe,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC;IACF,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC7B,cAAc,EAAE,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;QAC5B,MAAM,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,IAAI,yBAAyB,EAAE,CAAC;YAC9C,eAAe,GAAG,IAAI,KAAK,CACzB,yCAAyC,yBAAyB,YAAY,CAC/E,CAAC;YACF,eAAe,CAAC,IAAI,GAAG,2BAA2B,CAAC;YACnD,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QAC3B,eAAe,GAAG,KAAK,CAAC;QACxB,aAAa,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACtB,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC9D,IAAI,eAAe,EAAE,CAAC;YACpB,aAAa,CAAC,eAAe,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,YAAY,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAuB;QACrC,KAAK,CAAC,QAAQ,CAAC,OAAO;YACpB,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,eAAe,CAAC;YACxB,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC7C,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChB,CAAC;yBAAM,CAAC;wBACN,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,eAAe,CAAC;YACxB,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAG,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,KAAK,CAAC,KAAK;YACT,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAC9D,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5B,MAAM,CAAC,SAAS,EAAE,CAAC;oBACnB,OAAO,EAAE,CAAC;gBACZ,CAAC,EAAE,KAAK,CAAC,CAAC;gBACV,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;oBACxB,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,KAAK,EAAE,IAA8C,EAAuB,EAAE;IACjG,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QAChC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;QACxD,OAAO,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,IAA8C,EAAE,EAAE,CACxE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAE7F,MAAM,SAAS,GAAG,CAAC,IAAuC,EAAE,SAAiB,EAAE,EAAE;IAC/E,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GACX,OAAO,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/F,OAAO,QAAQ,SAAS,WAAW,OAAO,EAAE,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,KAAiB,EAAE,EAAE;IACvC,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,KAAK,CAAC,GAAG,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,kBAAkB,CAAC,+CAA+C,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,KAAK,EAAE,IAA8C,EAAE,SAAiB,EAAE,QAAgB,EAAE,EAAE;IAC/G,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;AAC7I,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,KAAkD,EAAE,EAAE;IACtF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,KAAa,EAAE,QAAgB,EAAE,EAAE;IAC/D,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,kBAAkB,CAAC,QAAQ,QAAQ,oEAAoE,CAAC,CAAC;IACrH,CAAC;IAED,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,OAAe,EAAE,EAAE,CAClD,4CAA4C,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAE7D,MAAM,4BAA4B,GAAG,CAAC,GAAQ,EAAE,EAAE,CAChD,CAAC,GAAG,CAAC,QAAQ;IACb,CAAC,GAAG,CAAC,QAAQ;IACb,8CAA8C,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEpE,MAAM,uBAAuB,GAAG,KAAK,EACnC,KAAa,EACb,SAAkD,EAClD,EAAE;IACF,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,iBAAiB,CAAC,+DAA+D,EAAE,GAAG,CAAC,CAAC;IACpG,CAAC;IAED,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,iBAAiB,CAAC,mDAAmD,EAAE,GAAG,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC;IACrF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,iBAAiB,CAAC,gGAAgG,EAAE,GAAG,CAAC,CAAC;IACrI,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,KAAK,EACnC,UAAkB,EAClB,OAAgC,EAChC,MAAmB,EACnB,SAAkD,EAClD,YAAoB,EACpB,EAAE;IACF,IAAI,GAAG,GAAG,MAAM,uBAAuB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAE/D,KAAK,IAAI,SAAS,GAAG,CAAC,GAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,SAAS,IAAI,YAAY,EAAE,CAAC;YAC9B,MAAM,IAAI,iBAAiB,CAAC,uCAAuC,YAAY,aAAa,EAAE,GAAG,CAAC,CAAC;QACrG,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,iBAAiB,CAAC,+DAA+D,EAAE,GAAG,CAAC,CAAC;QACpG,CAAC;QACD,GAAG,GAAG,MAAM,uBAAuB,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC;IACpF,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,eAAyC,EAAE,EAAE;IACpF,MAAM,OAAO,GAA2B,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC,2BAA2B,CAAC,CAAC;IACpE,IAAI,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC5D,OAAO,CAAC,2BAA2B,CAAC,GAAG,YAAY,CAAC;IACtD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,eAAoD,EAAE,EAAE;IAClF,MAAM,IAAI,GAAG,EAAE,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;IAC5C,OAAO,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,eAAoD,EAAE,EAAE;IAC5F,MAAM,IAAI,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACjD,KAAK,MAAM,GAAG,IAAI;QAChB,OAAO;QACP,OAAO;QACP,QAAQ;QACR,OAAO;QACP,aAAa;QACb,aAAa;QACb,WAAW;QACX,sBAAsB;QACtB,mBAAmB;QACnB,iBAAiB;QACjB,aAAa;KACd,EAAE,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;AAC/D,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,aAAa,CAAC;AAChF,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,qBAAqB,CAAC;AAC/F,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACnG,MAAM,kBAAkB,GAAG,CAAC,GAAQ,EAAE,EAAE;IACtC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACvD,OAAO,CACL,GAAG,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;QAClC,CAAC,GAAG,CAAC,QAAQ;QACb,CAAC,GAAG,CAAC,QAAQ;QACb,CAAC,GAAG,CAAC,MAAM;QACX,CAAC,GAAG,CAAC,IAAI;QACT,IAAI,KAAK,qBAAqB,CAC/B,CAAC;AACJ,CAAC,CAAC;AACF,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAE,EAAE;IAChD,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,kBAAkB,CAC1B,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,kBAAkB,CAC1B,iGAAiG,wBAAwB,mEAAmE,CAC7L,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AACF,MAAM,wBAAwB,GAAG,CAAC,OAAe,EAAE,EAAE;IACnD,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,kBAAkB,CAC1B,sIAAsI,CACvI,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AACF,MAAM,2BAA2B,GAAG,CAAC,eAAwC,EAAE,EAAE;IAC/E,MAAM,IAAI,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;IACpC,OAAO,IAAI,CAAC,eAAe,CAAC;IAC5B,OAAO,IAAI,CAAC,eAAe,CAAC;IAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAC9B,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC7B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AACF,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAE,EAAE,CAChD,CAAC,uBAAuB,CAAC,OAAO,CAAC;IACjC,iBAAiB,CAAC,OAAO,CAAC;IAC1B,mDAAmD,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACpE,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAE,EAAE;IAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,CACL,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrB,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxB,WAAW,CAAC,OAAO,CAAC;QACpB,kBAAkB,CAAC,OAAO,CAAC;QAC3B,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC;QACnC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CACrC,CAAC;AACJ,CAAC,CAAC;AACF,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,EAAE,CAC5C,CAAC,kFAAkF,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AACjH,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AACjG,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AAClG,MAAM,wBAAwB,GAAG,CAAC,OAAe,EAAqB,EAAE;IACtE,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAErD,OAAO;QACL,GAAG,YAAY;QACf,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC;QACnC,KAAK;QACL,gBAAgB,EAAE,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB;QACrD,QAAQ,EAAE,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB;QAC7C,UAAU,EAAE,KAAK;QACjB,iBAAiB,EAAE,SAAS;QAC5B,SAAS,EAAE,KAAK,IAAI,CAAC,IAAI;QACzB,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,IAAI,SAAS;QAC9C,UAAU,EAAE,sBAAsB,CAAC,OAAO,CAAC;QAC3C,SAAS;QACT,gBAAgB,EAAE,SAAS;YACzB,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;YAC9D,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;gBACtD,CAAC,CAAC,SAAS;oBACT,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;oBAC9C,CAAC,CAAC,SAAS;QACf,iBAAiB,EAAE;YACjB,GAAG,YAAY,CAAC,iBAAkB;YAClC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;YACjD,cAAc,EAAE,KAAK;YACrB,eAAe,EAAE,KAAK,IAAI,CAAC,IAAI;YAC/B,gBAAgB,EAAE,KAAK,IAAI,CAAC,IAAI;YAChC,SAAS,EAAE,KAAK,IAAI,CAAC,IAAI;YACzB,aAAa,EAAE,KAAK,IAAI,CAAC,IAAI;YAC7B,aAAa,EAAE,KAAK,IAAI,CAAC,IAAI;SAC9B;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAsB;IACnD,GAAG,qBAAqB;IACxB,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,MAAM,kBAAkB,GAAsB;IAC5C,GAAG,qBAAqB;IACxB,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF,MAAM,2BAA2B,GAAsB;IACrD,GAAG,qBAAqB;IACxB,eAAe,EAAE,IAAI;CACtB,CAAC;AAEF,MAAM,2BAA2B,GAAsB;IACrD,GAAG,qBAAqB;IACxB,eAAe,EAAE,IAAI;CACtB,CAAC;AAEF,MAAM,oBAAoB,GAAsB;IAC9C,GAAG,YAAY;IACf,SAAS,EAAE,KAAK;IAChB,gBAAgB,EAAE,KAAK;IACvB,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,KAAK;IACjB,iBAAiB,EAAE,KAAK;IACxB,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,iBAAiB,EAAE;QACjB,GAAG,YAAY,CAAC,iBAAkB;QAClC,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,SAAS,EAAE,KAAK;QAChB,aAAa,EAAE,KAAK;QACpB,aAAa,EAAE,KAAK;KACrB;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI;QACX,aAAa,EAAE,KAAK;KACrB;CACF,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAAC,OAAqB,EAAE,EAAE,CAC5D,OAAO,CAAC,KAAK;KACV,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;IACf,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC9D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAA+B,CAAC;IAClD,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAmB,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,CAAC;AACxF,CAAC,CAAC;KACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,MAAM,CAAE,IAAI,CAAC,IAAgC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KACrH,IAAI,CAAC,EAAE,CAAC,CAAC;AAEd,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACvC,cAAc,EAAE,kBAAkB;IAClC,aAAa,EAAE,UAAU,MAAM,EAAE;CAClC,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,KAAK,EACrB,QAAkB,EAClB,UAKI,EAAE,EACN,EAAE;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QAC5E,MAAM,IAAI,iBAAiB,CAAC,mCAAmC,QAAQ,CAAC,MAAM,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE;YAClG,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,iBAAiB,CAAM,QAAQ,EAAE;QACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,4BAA4B;QAC1D,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;AACL,CAAC,CAAC;AAQF,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,SAAiB,EAAE,EAAE,CACzD,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,SAAS,WAAW,IAAI,EAAE,CAAC;AAEnF,MAAM,eAAe,GAAG,CAAC,OAAqB,EAAE,EAAE;IAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CACjC,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,KAAK,OAAO;QACrB,IAAI,CAAC,IAAI,KAAK,OAAO;QACrB,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAC9E,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,OAAO,CAAC,KAAK;aACjB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;aACtC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;aACxB,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAyB,CAAC,IAAI,EAAE,EAAE;QAC5D,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,OAAO,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,uBAAuB,CAC/B,sJAAsJ,CACvJ,CAAC;YACJ,CAAC;YACD,OAAO;gBACL;oBACE,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,EAAE,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE;iBAC9D;aACF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,QAAwB,EAAE,EAAE,CAC/C,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;IACvB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QAE7E,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,UAAU,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAC/F,OAAO,EACL,UAAU,EAAE,IAAI,KAAK,aAAa;gBAChC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC5G,CAAC,CAAC,EAAE;SACT,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK;SAC5B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC;SAC3C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;QACpB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YACxB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;SAC/C;KACF,CAAC,CAAC,CAAC;IAEN,MAAM,OAAO,GAA4B;QACvC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC;KAClC,CAAC;IAEF,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC9D,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC/C,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IACjC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC,CAAC;AAEL,MAAM,YAAY,GAAG,CAAC,KAAkC,EAAE,EAAE,CAC1D,KAAK;IACH,CAAC,CAAC,CAAC,GAAG,EAAE;QACJ,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACvE,IAAI,aAAa,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,IAAI,uBAAuB,CAAC,gDAAgD,CAAC,CAAC;QACtF,CAAC;QAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;aACtC;SACF,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,EAAE;IACN,CAAC,CAAC,SAAS,CAAC;AAEhB,MAAM,iBAAiB,GAAG,CAAC,KAAkC,EAAE,EAAE,CAC/D,KAAK;IACH,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAChC,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;aACtC,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC9C,MAAM,IAAI,uBAAuB,CAC/B,wEAAwE,IAAI,CAAC,QAAQ,IAAI,CAC1F,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;SACvE,CAAC;IACJ,CAAC,CAAC;IACJ,CAAC,CAAC,SAAS,CAAC;AAEhB,MAAM,iBAAiB,GAAG,CAAC,UAA4C,EAAE,EAAE;IACzE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,UAAU,CAAC,QAAQ;SAC1B;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAC7B,UAA4C,EAC5C,KAAkC,EAClC,EAAE;IACF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,IAAI,UAAU,KAAK,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,uBAAuB,CAC/B,uFAAuF,CACxF,CAAC;QACJ,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;KACzD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,KAAyB,EAAE,EAAE;IACxD,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,KAAyB,EAAE,EAAE;IACjE,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxE,OAAO,KAAK,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3E,OAAO;QACL;YACE,IAAI,EAAE,QAAiB;YACvB,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,qDAAqD,MAAM,EAAE;iBACpE;aACF;SACF;QACD,GAAG,KAAK,CAAC,QAAQ;KAClB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,QAAwB,EAAE,EAAE,CACzD,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC;AAEnG,MAAM,4BAA4B,GAAG,CAAC,OAAe,EAAE,MAAe,EAAE,EAAE;IACxE,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,SAAS,CAAC;QACf,KAAK,KAAK;YACR,OAAO,KAAc,CAAC;QACxB,KAAK,QAAQ;YACX,OAAO,QAAiB,CAAC;QAC3B,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,KAAK;YACR,OAAO,OAAgB,CAAC;QAC1B,KAAK,MAAM;YACT,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,uBAAuB,CAC/B,iGAAiG,CAClG,CAAC;YACJ,CAAC;YACD,OAAO,SAAS,CAAC;QACnB;YACE,MAAM,IAAI,kBAAkB,CAC1B,QAAQ,OAAO,wFAAwF,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1H,CAAC;IACN,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAC7B,OAAe,EACf,eAAyC,EACzC,SAAkB,EAClB,EAAE;IACF,IAAI,eAAe,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACvD,MAAM,IAAI,kBAAkB,CAC1B,QAAQ,OAAO,gGAAgG,CAChH,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,OAAe,EACf,KAAyB,EACzB,eAAyC,EACzC,EAAE;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC;IAC7C,MAAM,cAAc,GAAG,eAAe,CAAC,gBAAgB,CAAC;IACxD,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC;IACnD,MAAM,cAAc,GAAG,eAAe,CAAC,eAAe,CAAC;IAEvD,IACE,kBAAkB,CAAC,OAAO,CAAC;QAC3B,CAAC,eAAe,CAAC,eAAe,KAAK,KAAK,IAAI,cAAc,KAAK,MAAM,CAAC,EACxE,CAAC;QACD,MAAM,IAAI,uBAAuB,CAC/B,iFAAiF,CAClF,CAAC;IACJ,CAAC;IACD,IAAI,eAAe,CAAC,iBAAiB,KAAK,KAAK,EAAE,CAAC;QAChD,MAAM,IAAI,kBAAkB,CAC1B,eAAe,OAAO,2EAA2E,CAClG,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAC/D,MAAM,IAAI,kBAAkB,CAC1B,aAAa,OAAO,+FAA+F,CACpH,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAC/D,MAAM,IAAI,kBAAkB,CAC1B,aAAa,OAAO,mGAAmG,CACxH,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,IAAI,cAAc,CAAC;IAC9C,MAAM,MAAM,GAAG,YAAY,IAAI,cAAc,CAAC;IAC9C,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACjD,MAAM,IAAI,kBAAkB,CAC1B,QAAQ,OAAO,2EAA2E,CAC3F,CAAC;IACJ,CAAC;IACD,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAE9C,IACE,cAAc,KAAK,SAAS;QAC5B,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,OAAO,CAAC,EACrF,CAAC;QACD,MAAM,IAAI,kBAAkB,CAC1B,QAAQ,OAAO,2DAA2D,CAC3E,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,GAAG,OAAO,EAAE,CAAC;QACzD,MAAM,IAAI,kBAAkB,CAC1B,QAAQ,OAAO,+CAA+C,CAC/D,CAAC;IACJ,CAAC;IAED,IACE,WAAW,CAAC,OAAO,CAAC;QACpB,eAAe,CAAC,eAAe,KAAK,KAAK;QACzC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,CAAC,IAAI,MAAM,KAAK,SAAS,CAAC,EACrE,CAAC;QACD,MAAM,IAAI,kBAAkB,CAC1B,wGAAwG,CACzG,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,eAAe,KAAK,IAAI,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1F,MAAM,IAAI,kBAAkB,CAC1B,uEAAuE,CACxE,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GACnB,kBAAkB,CAAC,OAAO,CAAC;QAC3B,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,eAAe,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC;IACpE,IAAI,eAAe,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,UAAU,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,EAAE,CAAC;QACjG,MAAM,IAAI,uBAAuB,CAC/B,QAAQ,OAAO,iFAAiF,CACjG,CAAC;IACJ,CAAC;IAED,IACE,WAAW,CAAC,OAAO,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC9B,OAAO,CAAC,KAAK,CAAC,IAAI,CAChB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CACrF,CACF,EACD,CAAC;QACD,MAAM,IAAI,uBAAuB,CAC/B,0FAA0F,CAC3F,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,OAAe,EACf,KAAyB,EACzB,eAAyC,EACzC,EAAE;IACF,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,MAAM,IAAI,eAAe,CAAC,gBAAgB,CAAC;QAC9E,MAAM,gBAAgB,GAAG,SAAS,KAAK,MAAM,IAAI,eAAe,CAAC,eAAe,KAAK,KAAK,CAAC;QAC3F,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO;gBACL,eAAe,EAAE,KAAK;gBACtB,iBAAiB,EAAE,IAAI;aACxB,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,4BAA4B,CACzC,OAAO,EACP,KAAK,CAAC,SAAS,EAAE,MAAM,IAAI,eAAe,CAAC,gBAAgB,CAC5D,CAAC;QACF,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,YAAY,IAAI,eAAe,CAAC,eAAe,CAAC;QAChF,OAAO;YACL,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,eAAe,CAAC,eAAe,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;gBAC1F,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE;gBAC3B,CAAC,CAAC,EAAE,CAAC;YACP,iBAAiB,EAAE,IAAI;SACxB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACjE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,YAAY,KAAK,SAAS;YACjF,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE;YACnD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9E,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,OAAe,EACf,KAAyB,EACzB,eAAyC,EACzC,EAAE;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,MAAM,IAAI,eAAe,CAAC,gBAAgB,CAAC;IAC3E,MAAM,YAAY,GAChB,WAAW,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,eAAe,KAAK,KAAK,IAAI,MAAM,KAAK,SAAS;QACvF,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,MAAM,CAAC;IACb,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,SAAS,EAAE;YACT,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC;gBACjC,CAAC,CAAC,4BAA4B,CAAC,OAAO,EAAE,YAAY,CAAC;gBACrD,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;oBACpB,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,YAAY,KAAK,KAAK;wBACxB,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,YAAY;SACnB;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAU,EAAE,EAAE,CACvC,KAAK;IACH,CAAC,CAAC;QACE,WAAW,EAAE,KAAK,CAAC,YAAY;QAC/B,iBAAiB,EAAE,KAAK,CAAC,oBAAoB,EAAE,aAAa;QAC5D,YAAY,EAAE,KAAK,CAAC,aAAa;QACjC,eAAe,EAAE,KAAK,CAAC,qBAAqB,EAAE,gBAAgB;QAC9D,WAAW,EAAE,KAAK,CAAC,YAAY;KAChC;IACH,CAAC,CAAC,SAAS,CAAC;AAEhB,MAAM,YAAY,GAAG,CAAC,KAAU,EAAE,EAAE,CAClC,KAAK;IACH,CAAC,CAAC;QACE,WAAW,EAAE,KAAK,CAAC,aAAa;QAChC,iBAAiB,EAAE,KAAK,CAAC,qBAAqB,EAAE,aAAa,IAAI,KAAK,CAAC,oBAAoB,EAAE,aAAa;QAC1G,YAAY,EAAE,KAAK,CAAC,iBAAiB;QACrC,eAAe,EAAE,KAAK,CAAC,yBAAyB,EAAE,gBAAgB,IAAI,KAAK,CAAC,qBAAqB,EAAE,gBAAgB;QACnH,WAAW,EAAE,KAAK,CAAC,YAAY;KAChC;IACH,CAAC,CAAC,SAAS,CAAC;AAEhB,MAAM,cAAc,GAAG,CAAC,KAAkC,EAAE,EAAE,CAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;AAE7E,MAAM,cAAc,GAAG,CAAC,QAAwB,EAAE,IAAsB,EAAE,EAAE,CAC1E,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;AAE/E,MAAM,aAAa,GAAG,CAAC,QAAwB,EAAE,EAAE,CACjD,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACxB,OAAO,CAAC,KAAK,CAAC,IAAI,CAChB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CACpF,CACF,CAAC;AAEJ,MAAM,oBAAoB,GAAG,CAAC,QAAwB,EAAE,EAAE,CACxD,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACxB,OAAO,CAAC,KAAK,CAAC,IAAI,CAChB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CACrF,CACF,CAAC;AAEJ,MAAM,cAAc,GAAG,CACrB,OAAe,EACf,aAAkD,EAClD,KAAyB,EACzB,eAAyC,EACnB,EAAE;IACxB,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,UAAU,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,uBAAuB,CAC/B,eAAe,OAAO,+DAA+D,CACtF,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GACb,KAAK,CAAC,SAAS,KAAK,SAAS;QAC7B,KAAK,CAAC,SAAS,EAAE,YAAY,KAAK,SAAS;QAC3C,eAAe,CAAC,eAAe,KAAK,SAAS;QAC7C,eAAe,CAAC,WAAW,KAAK,IAAI;QACpC,KAAK,CAAC,gBAAgB,EAAE,IAAI,KAAK,QAAQ;QACzC,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC;QACvC,UAAU,CAAC;IACb,MAAM,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE3F,IAAI,SAAS,IAAI,cAAc,EAAE,CAAC;QAChC,MAAM,IAAI,uBAAuB,CAC/B,wJAAwJ,CACzJ,CAAC;IACJ,CAAC;IAED,IAAI,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,IAAI,aAAa,KAAK,WAAW,IAAI,cAAc,EAAE,CAAC;YACpD,MAAM,IAAI,uBAAuB,CAC/B,uGAAuG,CACxG,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,aAAa,KAAK,WAAW,IAAI,SAAS,EAAE,CAAC;QAC/C,MAAM,IAAI,uBAAuB,CAC/B,0JAA0J,CAC3J,CAAC;IACJ,CAAC;IACD,IAAI,aAAa,KAAK,MAAM,IAAI,cAAc,EAAE,CAAC;QAC/C,MAAM,IAAI,uBAAuB,CAAC,mFAAmF,CAAC,CAAC;IACzH,CAAC;IAED,IAAI,aAAa,KAAK,WAAW,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC9D,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,OAAO,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,OAAY,EAAgB,EAAE,CAAC,CAAC;IAC7D,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE;QACL,GAAG,CAAC,OAAO,OAAO,CAAC,iBAAiB,KAAK,QAAQ,IAAI,OAAO,CAAC,iBAAiB;YAC5E,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;YACxG,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO;YACxD,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAW,CAAC;YACpD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC;YACjD,IAAI,EAAE,WAAoB;YAC1B,QAAQ,EAAE;gBACR,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;gBACxB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC;aACnD;SACF,CAAC,CAAC,IAAI,EAAE,CAAC;KACX;CACF,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,QAAwB,EAAE,EAAE;IACzD,KAAK,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CACrC,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,KAAK,eAAe;YAC7B,IAAI,CAAC,QAAQ,KAAK,MAAM;YACxB,IAAI,CAAC,IAAI;YACT,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC7B,OAAQ,IAAI,CAAC,IAAgC,CAAC,UAAU,KAAK,QAAQ,CACxE,CAAC;QAEF,IAAI,YAAY,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;YAC3C,OAAO;gBACL,UAAU,EAAG,YAAY,CAAC,IAA+B,CAAC,UAAU;gBACpE,KAAK;aACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,OAAqB,EAAE,EAAE,CAC7D,OAAO,CAAC,KAAK;KACV,MAAM,CAAC,CAAC,IAAI,EAA2E,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC;KACtH,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACd,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU;IACnC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC;CACzG,CAAC,CAAC,CAAC;AAER,MAAM,gBAAgB,GAAG,CAAC,QAAwB,EAAE,EAAE;IACpD,MAAM,KAAK,GAAmC,EAAE,CAAC;IAEjD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC,CAAC;YACrD,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAmC,EAAE,CAAC;QACnD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,MAAM;oBACT,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACtD,MAAM;gBACR,KAAK,OAAO;oBACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC7D,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBACrC,MAAM,IAAI,uBAAuB,CAC/B,gHAAgH,CACjH,CAAC;oBACJ,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,YAAY;wBAClB,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACtD,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,WAAW;oBACd,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBACjC,KAAK,CAAC,IAAI,CAAC;4BACT,IAAI,EAAE,eAAe;4BACrB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;4BACzB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;4BACxB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;yBAC/C,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM;gBACR,KAAK,eAAe;oBAClB,IACE,OAAO,CAAC,IAAI,KAAK,WAAW;wBAC5B,IAAI,CAAC,QAAQ,KAAK,MAAM;wBACxB,IAAI,CAAC,IAAI;wBACT,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;wBAC7B,OAAQ,IAAI,CAAC,IAAgC,CAAC,IAAI,KAAK,QAAQ,EAC/D,CAAC;wBACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAA+B,CAAC,CAAC;oBACnD,CAAC;oBACD,MAAM;YACV,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO;aACR,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,IAAa,EAAE,EAAE;IACnD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,IAA+B,CAAC;IAClD,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAChG,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,IAAiB,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,CAAC,IAAS,EAAgB,EAAE;IACjE,MAAM,KAAK,GAA0B,EAAE,CAAC;IAExC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1D,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBACzC,IAAI,OAAO,OAAO,EAAE,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBACtD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE;oBACR,EAAE,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;oBACtD,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;iBAC1C;aACF,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,YAAY,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5G,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,KAAK;KACN,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,CAAC,MAA0B,EAAE,YAAqB,EAAE,EAAE;IAC3F,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAqB,CAAC;IAC/B,CAAC;IAED,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,OAAO,MAAe,CAAC;IACzB,CAAC;IAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,OAAgB,CAAC;IAC1B,CAAC;IAED,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,KAAK,SAAS,CAAC,EACrC,QAAkB;IAElB,MAAM,WAAW,GAAG,IAAI,GAAG,EAA4E,CAAC;IACxG,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE;QACnC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,YAAY,GAAG,IAAI,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE;gBACR,EAAE,EAAE,QAAQ,CAAC,MAAM;gBACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;aACzC;SACoB,CAAC;IAC1B,CAAC,CAAC;IAEF,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAC;QAE7C,IAAI,IAAI,KAAK,4BAA4B,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5E,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAwB,CAAC;YAC1E,SAAS;QACX,CAAC;QAED,IACE,CAAC,IAAI,KAAK,uCAAuC,IAAI,IAAI,KAAK,+BAA+B,CAAC;YAC9F,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAC9B,CAAC;YACD,MAAM;gBACJ,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE;oBACJ,IAAI,EAAE,mBAAmB;oBACzB,gBAAgB,EAAE,IAAI,CAAC,KAAK;iBAC7B;aACoB,CAAC;YACxB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,4BAA4B,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;YAClF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,IAAI,IAAI,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;gBACnC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;gBAClF,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;oBACvC,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,GAAG;oBAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;oBACrB,IAAI,EAAE,EAAE;oBACR,OAAO,EAAE,KAAK;iBACf,CAAC;gBACF,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC;gBAClD,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBAClC,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;oBACvC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjC,CAAC;gBACD,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAE/B,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;oBACzC,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;oBAClC,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,OAAO,CAAC;oBAChB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,YAAY,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,YAAY,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;gBACzD,MAAM;oBACJ,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE,MAAM;oBAChB,IAAI,EAAE,YAAY;iBACG,CAAC;YAC1B,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,wCAAwC,EAAE,CAAC;YACtD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YACvE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;gBACvC,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,KAAK;aACf,CAAC;YACF,QAAQ,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,uCAAuC,EAAE,CAAC;YACrD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YACvE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;gBACvC,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,KAAK;aACf,CAAC;YACF,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACvC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,CAAC;YACD,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC/B,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,OAAO,CAAC;YAChB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,oBAAoB,IAAI,IAAI,KAAK,iBAAiB,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;YAClG,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;YACzC,IAAI,OAAO,YAAY,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACxC,MAAM;oBACJ,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE,MAAM;oBAChB,IAAI,EAAE,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,EAAE;iBAChB,CAAC;YAC1B,CAAC;YACD,MAAM;gBACJ,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,8BAA8B,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC;gBAC/E,oBAAoB,EAAE,YAAY,CAAC,MAAM;gBACzC,KAAK,EAAE,iBAAiB,CAAC,YAAY,CAAC,KAAK,CAAC;aACvB,CAAC;QAC1B,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,iBAAiB;IAKV;IACQ;IACA;IACA;IAPV,QAAQ,GAAG,MAAM,CAAC;IAClB,YAAY,CAAoB;IAEzC,YACW,OAAe,EACP,MAAc,EACd,OAAe,EACf,OAAgC;QAHxC,YAAO,GAAP,OAAO,CAAQ;QACP,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAQ;QACf,YAAO,GAAP,OAAO,CAAyB;QAEjD,IAAI,CAAC,YAAY,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAmD;QAChE,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,uBAAuB,CAC/B,oBAAoB,IAAI,CAAC,OAAO,kEAAkE,CACnG,CAAC;QACJ,CAAC;QACD,MAAM,eAAe,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,EAA8B,CAAC;QACzF,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,OAAO,IAAI,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;QACxG,OAAO,eAAe,CAAC,OAAO,CAAC;QAC/B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,CAAC;YACH,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;gBAC5B,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC/D,MAAM,2BAA2B,GAAG,4BAA4B,CAAC,eAAe,CAAC,CAAC;gBAClF,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;oBAC7D,CAAC,CAAC,2BAA2B,CAAC,2BAA2B,CAAC;oBAC1D,CAAC,CAAC,2BAA2B,CAAC;gBAChC,MAAM,QAAQ,GACZ,gBAAgB,IAAI,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;oBACpE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC;oBAClD,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACrB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,EAAE;oBACxC,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;oBACtD,MAAM;oBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,GAAG,uBAAuB;wBAC1B,KAAK,EAAE,IAAI,CAAC,OAAO;wBACnB,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClF,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACjE,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;wBACrC,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC;wBAClE,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC;wBAC9D,MAAM,EAAE,KAAK;qBACd,CAAC;iBACH,CAAC,EACJ,KAAK,CACN,CAAC;gBAEF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACvC,MAAM,gBAAgB,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC;gBAC9D,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;gBAEtF,OAAO;oBACL,QAAQ,EAAE,CAAC,gBAAgB,CAAC;oBAC5B,IAAI,EAAE,gBAAgB,CAAC,KAAK;yBACzB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;yBACtC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;yBACxB,IAAI,CAAC,EAAE,CAAC;oBACX,YAAY,EAAE,8BAA8B,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;oBACvE,oBAAoB,EAAE,IAAI,CAAC,MAAM;oBACjC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;oBACpC,WAAW,EAAE,IAAI;iBAClB,CAAC;YACJ,CAAC;YAED,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;YACpE,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;gBACzD,CAAC,CAAC,2BAA2B,CAAC,uBAAuB,CAAC;gBACtD,CAAC,CAAC,uBAAuB,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,mBAAmB,EAAE;gBAC/C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;gBACtD,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,GAAG,mBAAmB;oBACtB,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,QAAQ,EAAE,WAAW,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;oBAC1D,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC;oBAChC,WAAW,EAAE,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC;oBAChD,eAAe,EAAE,mBAAmB,CAAC,KAAK,CAAC;oBAC3C,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;oBACzE,qBAAqB,EAAE,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;oBACpF,MAAM,EAAE,KAAK;oBACb,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC;iBAC1D,CAAC;aACH,CAAC,EACJ,KAAK,CACN,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;YACtC,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAExD,OAAO;gBACL,QAAQ,EAAE,CAAC,gBAAgB,CAAC;gBAC5B,IAAI,EAAE,gBAAgB,CAAC,KAAK;qBACzB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;qBACtC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;qBACxB,IAAI,CAAC,EAAE,CAAC;gBACX,YAAY,EAAE,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC;gBAC1D,oBAAoB,EAAE,MAAM,EAAE,aAAa;gBAC3C,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC/B,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAmD;QAC9D,MAAM,eAAe,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,EAA8B,CAAC;QACzF,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,OAAO,IAAI,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;QACxG,OAAO,eAAe,CAAC,OAAO,CAAC;QAC/B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;YAC5B,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC/D,MAAM,2BAA2B,GAAG,4BAA4B,CAAC,eAAe,CAAC,CAAC;YAClF,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC7D,CAAC,CAAC,2BAA2B,CAAC,2BAA2B,CAAC;gBAC1D,CAAC,CAAC,2BAA2B,CAAC;YAChC,MAAM,QAAQ,GACZ,gBAAgB,IAAI,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACpE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC;gBAClD,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;YACrB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,EAAE;gBACxC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;gBACtD,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,GAAG,uBAAuB;oBAC1B,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClF,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjE,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;oBACrC,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC;oBAClE,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC;oBAC9D,MAAM,EAAE,IAAI;iBACb,CAAC;aACH,CAAC,EACJ,KAAK,CACN,CAAC;YAEF,OAAO,CAAC,KAAK,SAAS,CAAC;gBACrB,IAAI,CAAC;oBACH,KAAK,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBACnC,CAAC;wBAAS,CAAC;oBACT,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;QACP,CAAC;QAED,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;QACpE,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;YACzD,CAAC,CAAC,2BAA2B,CAAC,uBAAuB,CAAC;YACtD,CAAC,CAAC,uBAAuB,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,mBAAmB,EAAE;YAC/C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;YACtD,MAAM;YACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,GAAG,mBAAmB;gBACtB,KAAK,EAAE,IAAI,CAAC,OAAO;gBACnB,UAAU,EAAE,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;gBACtG,QAAQ,EAAE,WAAW,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;gBAC1D,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC;gBAChC,WAAW,EAAE,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC;gBAChD,eAAe,EAAE,mBAAmB,CAAC,KAAK,CAAC;gBAC3C,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;gBACzE,qBAAqB,EAAE,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBACpF,MAAM,EAAE,IAAI;gBACZ,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;gBACvC,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC;aAC1D,CAAC;SACH,CAAC,EACJ,KAAK,CACN,CAAC;QAEF,OAAO,CAAC,KAAK,SAAS,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,IAAI,GAAG,EAAwE,CAAC;gBAEpG,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC5B,OAAO;oBACT,CAAC;oBAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACpC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;oBACjC,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAC;oBAE5B,IAAI,KAAK,EAAE,iBAAiB,EAAE,CAAC;wBAC7B,MAAM;4BACJ,IAAI,EAAE,eAAe;4BACrB,QAAQ,EAAE,MAAM;4BAChB,IAAI,EAAE;gCACJ,IAAI,EAAE,mBAAmB;gCACzB,gBAAgB,EAAE,KAAK,CAAC,iBAAiB;6BAC1C;yBACoB,CAAC;oBAC1B,CAAC;oBAED,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;wBACnB,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,EAAwB,CAAC;oBAC/E,CAAC;oBAED,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC;wBAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;wBAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI;4BACzC,EAAE,EAAE,QAAQ,CAAC,EAAE,IAAI,GAAG,KAAK,EAAE;4BAC7B,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE;4BACnC,IAAI,EAAE,EAAE;4BACR,OAAO,EAAE,KAAK;yBACf,CAAC;wBACF,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,EAAE,CAAC;wBACzC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;wBAChD,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAC;wBACpD,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;oBACnC,CAAC;oBAED,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;wBAC1B,IAAI,MAAM,CAAC,aAAa,KAAK,YAAY,EAAE,CAAC;4BAC1C,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;gCAC5C,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oCACrB,SAAS;gCACX,CAAC;gCACD,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;gCACxB,MAAM;oCACJ,IAAI,EAAE,WAAW;oCACjB,QAAQ,EAAE;wCACR,EAAE,EAAE,QAAQ,CAAC,EAAE;wCACf,IAAI,EAAE,QAAQ,CAAC,IAAI;wCACnB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;qCACzC;iCACoB,CAAC;4BAC1B,CAAC;wBACH,CAAC;wBACD,MAAM;4BACJ,IAAI,EAAE,QAAQ;4BACd,YAAY,EAAE,qBAAqB,CAAC,MAAM,CAAC,aAAa,CAAC;4BACzD,oBAAoB,EAAE,MAAM,CAAC,aAAa;4BAC1C,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;yBACV,CAAC;oBAC1B,CAAC;gBACH,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;CACF;AAED,MAAM,kBAAkB;IAKX;IACQ;IACA;IACA;IAPV,QAAQ,GAAG,MAAM,CAAC;IAClB,YAAY,GAAG,qBAAqB,CAAC;IAE9C,YACW,OAAe,EACP,MAAc,EACd,OAAe,EACf,OAAgC;QAHxC,YAAO,GAAP,OAAO,CAAQ;QACP,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAQ;QACf,YAAO,GAAP,OAAO,CAAyB;IAChD,CAAC;IAEJ,KAAK,CAAC,KAAK,CAAC,KAAmH;QAC7H,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,IAAI,uBAAuB,CAAC,+DAA+D,CAAC,CAAC;YACrG,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,aAAa,EAAE;gBACzC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBACjC,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,KAAK,EAAE,MAAM;iBACd,CAAC;aACH,CAAC,EACJ,KAAK,CACN,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;gBAC1D,KAAK,EAAE;oBACL,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa;oBACtC,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY;iBACtC;gBACD,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,4BAA4B,GAAG,CAAC,KAAsB,EAAE,EAAE;IAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IACtC,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,IAAI,uBAAuB,CAAC,kEAAkE,CAAC,CAAC;QACxG,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,IAAI,uBAAuB,CAC/B,0EAA0E,KAAK,CAAC,SAAS,IAAI,CAC9F,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gCAAgC;IAQzB;IACQ;IACA;IACA;IAVV,QAAQ,GAAG,MAAM,CAAC;IAClB,YAAY,GAAsB;QACzC,GAAG,qBAAqB;QACxB,MAAM,EAAE,IAAI;KACb,CAAC;IAEF,YACW,OAAe,EACP,MAAc,EACd,WAAmB,EACnB,OAAgC;QAHxC,YAAO,GAAP,OAAO,CAAQ;QACP,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAQ;QACnB,YAAO,GAAP,OAAO,CAAyB;IAChD,CAAC;IAEJ,KAAK,CAAC,KAAK,CACT,KAMC;QAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CACV,GAAG,IAAI,CAAC,WAAW,gEAAgE,EACnF;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBACjC,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE;oBACnE,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM;wBACpE,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,eAAe,EAAE;wBACvC,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC;aACH,CACF,EACH,KAAK,CACN,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,OAAO;gBACL,UAAU,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;gBAChF,KAAK,EAAE;oBACL,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY;oBACrC,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY;iBACtC;gBACD,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,qBAAqB,GAAG,CAAC,IAAS,EAAgB,EAAE,CAAC,CAAC;IAC1D,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE;IAChD,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG;IACzB,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY;IAC9D,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS;IAC1D,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK;IAChC,WAAW,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW;IACnE,WAAW,EAAE,IAAI;IACjB,gBAAgB,EAAE,IAAI;CACvB,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,IAAS,EAAY,EAAE,CAAC,CAAC;IAClD,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;IAChC,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK;IAChC,IAAI,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACrH,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;IACvE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;IACvE,WAAW,EAAE,IAAI;IACjB,gBAAgB,EAAE,IAAI;CACvB,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,IAAS,EAAuB,EAAE,CAAC,CAAC;IAC9D,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;IACxE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;IAClH,QAAQ,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ;IACtC,KAAK,EACH,IAAI,CAAC,KAAK;QACV,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,KAAK,QAAQ;YACpC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE;YACnF,CAAC,CAAC,SAAS,CAAC;IAChB,QAAQ,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ;IACrC,WAAW,EAAE,IAAI;CAClB,CAAC,CAAC;AAEH,MAAM,eAAe;IAEA;IACA;IACA;IAHnB,YACmB,MAAc,EACd,OAAe,EACf,OAAgC;QAFhC,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAQ;QACf,YAAO,GAAP,OAAO,CAAyB;IAChD,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,KAAsB;QACjC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC;QAC7H,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC;QAC9E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;YACvE,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,QAAQ,EAAE;gBACpC,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE;gBACnD,MAAM;gBACN,IAAI,EAAE,IAAI;aACX,CAAC,EACJ,KAAK,CACN,CAAC;YACF,OAAO,qBAAqB,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1D,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAmB;QAC3B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,UAAU,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7J,OAAO,qBAAqB,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1D,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAuB,EAAE;QAClC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EACzK,KAAK,CACN,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,OAAO;gBACL,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC;gBACjE,aAAa,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa;gBAC9C,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAsB;QACjC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,UAAU,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAChK,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QACjD,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,iBAAiB;IAEF;IACA;IACA;IAHnB,YACmB,MAAc,EACd,OAAe,EACf,OAAgC;QAFhC,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAQ;QACf,YAAO,GAAP,OAAO,CAAyB;IAChD,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,KAAuB;QAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,IAAI,kBAAkB,CAAC,gFAAgF,CAAC,CAAC;QACjH,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,UAAU,EAAE;gBACtC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBACjC,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,GAAG,KAAK,CAAC,eAAe;oBACxB,aAAa,EAAE,KAAK,CAAC,QAAQ;oBAC7B,QAAQ,EAAE,KAAK,CAAC,eAAe,EAAE,QAAQ,IAAI,sBAAsB;oBACnE,iBAAiB,EAAE,KAAK,CAAC,eAAe,EAAE,iBAAiB,IAAI,KAAK;oBACpE,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;iBAC7E,CAAC;aACH,CAAC,EACJ,KAAK,CACN,CAAC;YACF,OAAO,iBAAiB,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtD,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAoB;QAC5B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAChK,OAAO,iBAAiB,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtD,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAwB,EAAE;QACnC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAC3K,KAAK,CACN,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAClJ,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAuB;QAClC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,OAAO,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YACxK,OAAO,iBAAiB,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtD,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAuB;QAClC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YACnK,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QACjD,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,sBAAsB;IAKf;IACQ;IACA;IACA;IACA;IARV,QAAQ,GAAG,MAAM,CAAC;IAClB,YAAY,GAAG,yBAAyB,CAAC;IAElD,YACW,OAAe,EACP,MAAc,EACd,OAAe,EACf,OAAgC,EAChC,iBAAiB,0BAA0B,EAAE;QAJrD,YAAO,GAAP,OAAO,CAAQ;QACP,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAQ;QACf,YAAO,GAAP,OAAO,CAAyB;QAChC,mBAAc,GAAd,cAAc,CAA+B;IAC7D,CAAC;IAEJ,KAAK,CAAC,UAAU,CAAC,KAAwM;QACvN,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,uBAAuB,CAC/B,wHAAwH,CACzH,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7D,MAAM,aAAa,GACjB,eAAe,CAAC,WAAW,IAAI,OAAO,eAAe,CAAC,WAAW,KAAK,QAAQ;YAC5E,CAAC,CAAE,eAAe,CAAC,WAAuC;YAC1D,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,eAAe,CAAC,WAAW,CAAC;QACnC,OAAO,eAAe,CAAC,KAAK,CAAC;QAC7B,OAAO,eAAe,CAAC,QAAQ,CAAC;QAChC,OAAO,eAAe,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,mBAAmB,EAAE;gBAC/C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBACjC,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE;gCACP;oCACE,IAAI,EAAE,aAAa;oCACnB,WAAW,EAAE;wCACX,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;qCACzD;iCACF;6BACF;yBACF;qBACF;oBACD,MAAM,EAAE,KAAK;oBACb,WAAW,EAAE;wBACX,GAAG,eAAe;wBAClB,GAAG,aAAa;wBAChB,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACxD;iBACF,CAAC;aACH,CAAC,EACJ,KAAK,CACN,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE;gBACrC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,kBAAkB;gBAChD,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc;gBAClD,QAAQ,EAAE,kBAAkB;gBAC5B,KAAK;aACN,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;YACpD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBACjC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,CAAC,CAAC,OAAO,OAAO,KAAK,QAAQ;oBAC3B,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,EAAE,CAAC;YACT,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QACrC,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,eAAe;IAKR;IACQ;IACA;IACA;IACA;IACA;IACA;IAVV,QAAQ,GAAG,MAAM,CAAC;IAClB,YAAY,GAAG,kBAAkB,CAAC;IAE3C,YACW,OAAe,EACP,MAAc,EACd,WAAmB,EACnB,OAAgC,EAChC,iBAAiB,0BAA0B,EAAE,EAC7C,uBAAqD,EACrD,0BAA0B,CAAC;QANnC,YAAO,GAAP,OAAO,CAAQ;QACP,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAQ;QACnB,YAAO,GAAP,OAAO,CAAyB;QAChC,mBAAc,GAAd,cAAc,CAA+B;QAC7C,4BAAuB,GAAvB,uBAAuB,CAA8B;QACrD,4BAAuB,GAAvB,uBAAuB,CAAI;IAC3C,CAAC;IAEJ,KAAK,CAAC,cAAc,CAAC,KAAgL;QACnM,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7D,MAAM,WAAW,GACf,eAAe,CAAC,KAAK,IAAI,OAAO,eAAe,CAAC,KAAK,KAAK,QAAQ;YAChE,CAAC,CAAE,eAAe,CAAC,KAAiC;YACpD,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,UAAU,GACd,eAAe,CAAC,UAAU,IAAI,OAAO,eAAe,CAAC,UAAU,KAAK,QAAQ;YAC1E,CAAC,CAAE,eAAe,CAAC,UAAsC;YACzD,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,eAAe,CAAC,KAAK,CAAC;QAC7B,OAAO,eAAe,CAAC,UAAU,CAAC;QAClC,OAAO,eAAe,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,iDAAiD,EAAE;gBACjF,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBACjC,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,KAAK,EAAE;wBACL,GAAG,eAAe;wBAClB,GAAG,WAAW;wBACd,IAAI,EAAE,KAAK,CAAC,KAAK;wBACjB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,QAAQ;qBAC/B;oBACD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtC,CAAC;aACH,CAAC,EACJ,KAAK,CACN,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE;gBACrC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,eAAe;gBAC7C,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc;gBAClD,QAAQ,EAAE,kCAAkC;gBAC5C,KAAK;aACN,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;YAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC;YAC5D,MAAM,WAAW,GAAG;gBAClB,GAAG,IAAI;gBACP,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;oBAC9C,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE;oBACvF,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;oBAChD,CAAC,CAAC;wBACE,MAAM,EAAE;4BACN,GAAG,IAAI,CAAC,MAAM;4BACd,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ;gCAC5D,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE;gCAC9F,CAAC,CAAC,EAAE,CAAC;yBACR;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;YAEF,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBACxD,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW;oBACzC,QAAQ,EAAE,MAAM;oBAChB,QAAQ,EAAE,kCAAkC;oBAC5C,KAAK;iBACN,CAAC,CAAC;gBACH,OAAO;oBACL,KAAK,EAAE,YAAY;oBACnB,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,WAAW;oBAClF,WAAW;iBACZ,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpE,MAAM,IAAI,iBAAiB,CAAC,8EAA8E,EAAE,GAAG,CAAC,CAAC;YACnH,CAAC;YACD,MAAM,aAAa,GAAG,MAAM,SAAS,CACnC,GAAG,EAAE,CACH,uBAAuB,CACrB,QAAQ,EACR,IAAI,CAAC,OAAO,EACZ,MAAM,EACN,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,uBAAuB,CAC7B,EACH,KAAK,CACN,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;gBAC7F,MAAM,IAAI,iBAAiB,CAAC,0CAA0C,aAAa,CAAC,MAAM,GAAG,EAAE,aAAa,CAAC,MAAM,EAAE;oBACnH,YAAY,EAAE,IAAI;iBACnB,CAAC,CAAC;YACL,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,MAAM,iBAAiB,CAAC,aAAa,EAAE;oBAC5C,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW;oBACzC,QAAQ,EAAE,MAAM;oBAChB,QAAQ,EAAE,uBAAuB;oBACjC,KAAK;iBACN,CAAC;gBACF,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,WAAW;gBACrG,WAAW;aACZ,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,uBAAuB,GAAG,CAAC,IAAS,EAAE,gBAAwB,EAAkB,EAAE,CAAC,CAAC;IACxF,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS;IACzD,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM;QAChC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE;YAClD,QAAQ,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;YAC1B,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,kBAAkB;SAC7B,CAAC;QACJ,CAAC,CAAC,SAAS;IACb,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,gBAAgB;IAC/D,IAAI,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI;IACtC,gBAAgB,EAAE,IAAI;CACvB,CAAC,CAAC;AAEH,MAAM,wBAAwB;IAKjB;IACQ;IACA;IACA;IAPV,QAAQ,GAAG,MAAM,CAAC;IAClB,YAAY,GAAG,2BAA2B,CAAC;IAEpD,YACW,OAAe,EACP,MAAc,EACd,WAAmB,EACnB,OAAgC;QAHxC,YAAO,GAAP,OAAO,CAAQ;QACP,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAQ;QACnB,YAAO,GAAP,OAAO,CAAyB;IAChD,CAAC;IAEJ,KAAK,CAAC,aAAa,CAAC,KAA+R;QACjT,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7D,OAAO,eAAe,CAAC,QAAQ,CAAC;QAChC,MAAM,gBAAgB,GACpB,eAAe,CAAC,UAAU,IAAI,OAAO,eAAe,CAAC,UAAU,KAAK,QAAQ;YAC1E,CAAC,CAAE,eAAe,CAAC,UAAsC;YACzD,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,eAAe,CAAC,UAAU,CAAC;QAClC,OAAO,eAAe,CAAC,KAAK,CAAC;QAC7B,OAAO,eAAe,CAAC,KAAK,CAAC;QAC7B,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,WAAW,iDAAiD,CAAC;QACtF,MAAM,mBAAmB,GAA2B;YAClD,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,WAAW;SACnB,CAAC;QACF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACrB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBACjC,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,KAAK,EAAE;wBACL,QAAQ,EAAE;4BACR;gCACE,IAAI,EAAE,MAAM;gCACZ,OAAO,EAAE;oCACP,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oCACtE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE;iCACvB;6BACF;yBACF;qBACF;oBACD,UAAU,EAAE;wBACV,GAAG,eAAe;wBAClB,GAAG,gBAAgB;wBACnB,CAAC,EAAE,KAAK,CAAC,KAAK;wBACd,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC5F,eAAe,EAAE,KAAK,CAAC,cAAc;qBACtC;iBACF,CAAC;aACH,CAAC,EACJ,KAAK,CACN,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,IAAI,GACR,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;gBAC7E,IAAI,CAAC,MAAM,EAAE,OAAO;gBACpB,IAAI,CAAC,MAAM,EAAE,MAAM;gBACnB,IAAI,CAAC,IAAI;gBACT,EAAE,CAAC;YACL,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,IAAI,WAAW,CAAC,CAAC;gBACnG,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI;gBACvB,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,wBAAwB;IAKjB;IACQ;IACA;IACA;IAPV,QAAQ,GAAG,MAAM,CAAC;IAClB,YAAY,GAAG,2BAA2B,CAAC;IAEpD,YACW,OAAe,EACP,MAAc,EACd,WAAmB,EACnB,OAAgC;QAHxC,YAAO,GAAP,OAAO,CAAQ;QACP,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAQ;QACnB,YAAO,GAAP,OAAO,CAAyB;IAChD,CAAC;IAEJ,KAAK,CAAC,aAAa,CAAC,KAAkU;QACpV,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7D,OAAO,eAAe,CAAC,QAAQ,CAAC;QAChC,MAAM,WAAW,GACf,eAAe,CAAC,KAAK,IAAI,OAAO,eAAe,CAAC,KAAK,KAAK,QAAQ;YAChE,CAAC,CAAE,eAAe,CAAC,KAAiC;YACpD,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,gBAAgB,GACpB,eAAe,CAAC,UAAU,IAAI,OAAO,eAAe,CAAC,UAAU,KAAK,QAAQ;YAC1E,CAAC,CAAE,eAAe,CAAC,UAAsC;YACzD,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,eAAe,CAAC,KAAK,CAAC;QAC7B,OAAO,eAAe,CAAC,UAAU,CAAC;QAClC,OAAO,eAAe,CAAC,KAAK,CAAC;QAC7B,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,iDAAiD,EAAE;gBACjF,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE,QAAQ,EAAE;gBACvE,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,KAAK,EAAE;wBACL,GAAG,WAAW;wBACd,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,eAAe,EAAE,KAAK,CAAC,cAAc;wBACrC,GAAG,CAAC,KAAK,CAAC,KAAK;4BACb,CAAC,CAAC,OAAO;gCACP,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;gCACpE,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;4BACxC,CAAC,CAAC,EAAE,CAAC;qBACR;oBACD,UAAU,EAAE;wBACV,GAAG,eAAe;wBAClB,GAAG,gBAAgB;wBACnB,KAAK,EAAE,KAAK,CAAC,WAAW;wBACxB,QAAQ,EAAE,KAAK,CAAC,eAAe;wBAC/B,CAAC,EAAE,KAAK,CAAC,KAAK;wBACd,kBAAkB,EAAE,KAAK,CAAC,gBAAgB;qBAC3C;iBACF,CAAC;aACH,CAAC,EACJ,KAAK,CACN,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,KAAK,GACT,IAAI,CAAC,MAAM,EAAE,OAAO;gBACpB,IAAI,CAAC,MAAM,EAAE,MAAM;gBACnB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnE,OAAO;gBACL,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC5E,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO;gBACnD,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,mBAAmB;IAIZ;IACQ;IACA;IACA;IANV,QAAQ,GAAG,MAAe,CAAC;IAEpC,YACW,OAAe,EACP,MAAc,EACd,WAAmB,EACnB,OAAgC;QAHxC,YAAO,GAAP,OAAO,CAAQ;QACP,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAQ;QACnB,YAAO,GAAP,OAAO,CAAyB;IAChD,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,KAAsB;QACjC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChE,IACE,YAAY;YACZ,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,EACrG,CAAC;YACD,MAAM,IAAI,uBAAuB,CAAC,4DAA4D,CAAC,CAAC;QAClG,CAAC;QAED,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAE,EAAE;YACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACjF,CAAC;YACD,OAAO,4BAA4B,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,CAAC;QACF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CACV,GAAG,IAAI,CAAC,WAAW,0CAA0C,EAC7D;gBACA,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBACjC,MAAM;gBACJ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;oBACE,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,KAAK,EAAE;wBACL,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;wBAChE,SAAS,EAAE,YAAY;4BACrB,CAAC,CAAC,KAAK,CAAC,SAAS;4BACjB,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;qBACzC;oBACD,UAAU,EAAE;wBACV,gBAAgB,EAAE,IAAI;wBACtB,GAAG,KAAK,CAAC,eAAe;wBACxB,KAAK,EAAE,KAAK,CAAC,IAAI;qBAClB;iBACF,CACF;aACF,CACF,EACH,KAAK,CACN,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,OAAO;gBACL,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC;oBACzE,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE;oBACpE,cAAc,EAAE,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC;oBACzD,gBAAgB,EAAE,KAAK;iBACxB,CAAC,CAAC;gBACH,WAAW,EAAE,IAAI;aAClB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,mBAAmB;IAEJ;IACA;IACA;IAHnB,YACmB,MAAc,EACd,WAAmB,EACnB,OAAgC;QAFhC,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAQ;QACnB,YAAO,GAAP,OAAO,CAAyB;IAChD,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,KAAoH;QAC5H,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,UAAU,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YACjK,OAAO,kBAAkB,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAoH;QAC/H,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,UAAU,MAAM,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YACzK,OAAO,kBAAkB,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,MAAM,kBAAkB,GAAG,CAAC,OAAgC,EAAmB,EAAE;IAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,OAAoC,CAAC;IACtD,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,MAAM,UAAU,GAAG,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7F,IAAI,IAAI,KAAK,qBAAqB,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxE,OAAO,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrH,CAAC;IACD,IAAI,IAAI,KAAK,sBAAsB,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACzE,OAAO,CAAC;gBACN,IAAI,EAAE,uBAAuB;gBAC7B,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE;oBAC1C,QAAQ,EAAE,+BAA+B;oBACzC,QAAQ,EAAE,MAAM;oBAChB,QAAQ,EAAE,UAAU;iBACrB,CAAC;gBACF,SAAS,EAAE,WAAW;gBACtB,YAAY,EAAE,MAAM;gBACpB,QAAQ,EAAE,CAAC;gBACX,MAAM;gBACN,UAAU;gBACV,gBAAgB,EAAE,QAAQ;aAC3B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,KAAK,iCAAiC,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACpF,OAAO,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnJ,CAAC;IACD,IAAI,IAAI,KAAK,gCAAgC,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACxF,OAAO,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvJ,CAAC;IACD,IAAI,IAAI,KAAK,mDAAmD,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAChI,OAAO,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnH,CAAC;IACD,IAAI,IAAI,KAAK,uDAAuD,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC/G,OAAO,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtI,CAAC;IACD,IAAI,IAAI,KAAK,uCAAuC,EAAE,CAAC;QACrD,OAAO,CAAC;gBACN,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE;oBACR,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,gBAAgB,CAAC;oBAClE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;oBAChC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;iBACpF;aACF,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAA+C,CAAC;QACzE,OAAO,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,MAAM,EAAE,OAAO,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1J,CAAC;IACD,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAChC,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAA4C,CAAC;QACnE,OAAO,CAAC;gBACN,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,qBAAqB,CAAC;gBAC3E,gBAAgB,EAAE,QAAQ;aAC3B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,MAA6B,EAAE,EAAE;IACzD,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACvC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,uBAAuB,CAAC,sDAAsD,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;aACtC;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,MAA6B,EAAE,EAAE;IACjE,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAC7F,MAAM,IAAI,uBAAuB,CAC/B,2GAA2G,CAC5G,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,eAAe,EAAE,aAAa,KAAK,IAAI,EAAE,CAAC;QACnE,MAAM,IAAI,uBAAuB,CAAC,mFAAmF,CAAC,CAAC;IACzH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,MAA6B,EAAE,EAAE;IAC3D,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO;QACL,GAAG,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;QACjC,UAAU,EAAE,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACtF,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,kBAAkB,EAAE,KAAK;QACzB,mBAAmB,EAAE,KAAK;QAC1B,cAAc,EAAE,MAAM,CAAC,aAAa;QACpC,yBAAyB,EACvB,OAAO,MAAM,CAAC,uBAAuB,KAAK,QAAQ;YAChD,CAAC,CAAC,MAAM,CAAC,uBAAuB;YAChC,CAAC,CAAC,MAAM,CAAC,uBAAuB;gBAC9B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,SAAS;QACjB,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC;KAChC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,IAAuC,EAAE,EAAE;IACrE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7E,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAClG,CAAC,CAAC;AAEF,MAAM,iBAAiB;IAKV;IACQ;IACA;IACA;IAPV,QAAQ,GAAG,MAAM,CAAC;IAClB,YAAY,GAAG,oBAAoB,CAAC;IAE7C,YACW,OAAe,EACP,MAAc,EACd,WAAmB,EACnB,iBAA6C;QAHrD,YAAO,GAAP,OAAO,CAAQ;QACP,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAQ;QACnB,sBAAiB,GAAjB,iBAAiB,CAA4B;IAC7D,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,SAAgC,EAAE,EAAE,OAAgC;QAChF,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,0BAA0B,CAAC,CAC7E,GAAG,EACH,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE,EAC1C,OAAO,CACR,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,uBAAuB,CAAC;YAC1C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,MAAM;YACN,UAAU;YACV,SAAS,EAAE;gBACT,UAAU,EAAE,kBAAkB;gBAC9B,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjG,kBAAkB,EAAE,CAAC,KAAiB,EAAE,aAAa,EAAE,EAAE,CAAC;oBACxD,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBAC5E,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjE,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChG;gBACD,kBAAkB,EAAE,CAAC,KAAiB,EAAE,EAAE;oBACxC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;wBAClD,MAAM,IAAI,uBAAuB,CAAC,iDAAiD,CAAC,CAAC;oBACvF,CAAC;oBACD,OAAO,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxF,CAAC;gBACD,iBAAiB,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC;oBAC1C,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;oBACtH,GAAG,CAAC,CAAC,aAAa,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/E;gBACD,uBAAuB,EAAE,CAAC,MAA2B,EAAE,aAAa,EAAE,EAAE,CAAC;oBACvE,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,EAAE;oBACvL,GAAG,CAAC,CAAC,aAAa,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/E;gBACD,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChG,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAE;aAC7B;SACF,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,UAA+B,EAAE,EACnB,EAAE;IAChB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC3F,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW;QACvC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC;QACvE,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,OAAO,GAAG,qBAAqB,CACnC,OAAO,CAAC,OAAO,IAAI,aAAa,EAAE,OAAO,IAAI,wDAAwD,EACrG;QACE,KAAK,EAAE,cAAc;QACrB,SAAS,EAAE,CAAC,OAAO,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC,oBAAoB;KAC1C,CACF,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,qBAAqB,CACvC,OAAO,CAAC,WAAW,IAAI,aAAa,EAAE,WAAW,IAAI,mBAAmB,CAAC,OAAO,CAAC,EACjF;QACE,KAAK,EAAE,kBAAkB;QACzB,SAAS,EAAE,CAAC,OAAO,CAAC;QACpB,YAAY,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;QACzC,WAAW,EAAE,OAAO,CAAC,oBAAoB;KAC1C,CACF,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,qBAAqB,CACvC,OAAO,CAAC,WAAW;QACnB,aAAa,EAAE,WAAW;QAC1B,sDAAsD,EACtD;QACE,KAAK,EAAE,kBAAkB;QACzB,SAAS,EAAE,CAAC,KAAK,CAAC;QAClB,YAAY,EAAE,OAAO,CAAC,WAAW;YAC/B,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;YAC7B,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,6BAA6B,CAAC;QAC9D,WAAW,EAAE,OAAO,CAAC,oBAAoB;KAC1C,CACF,CAAC,QAAQ,EAAE,CAAC;IACb,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IAClD,MAAM,cAAc,GAAG,0BAA0B,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1E,MAAM,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,IAAI,CAAC,CAAC;IACrE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,uBAAuB,GAAG,CAAC,IAAI,uBAAuB,GAAG,EAAE,EAAE,CAAC;QAC9G,MAAM,IAAI,kBAAkB,CAAC,mEAAmE,CAAC,CAAC;IACpG,CAAC;IAED,OAAO,qBAAqB,CAAC;QAC3B,IAAI,EAAE,MAAM;QACZ,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QACpF,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QACtF,kBAAkB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC;QAC9G,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CACvB,IAAI,eAAe,CACjB,OAAO,EACP,MAAM,EACN,WAAW,EACX,OAAO,EACP,cAAc,EACd,OAAO,CAAC,uBAAuB,EAC/B,uBAAuB,CACxB;QACH,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC;QACtG,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC;QACtG,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,yBAAyB,CAAC;QAClH,KAAK,EAAE,IAAI,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QACpD,OAAO,EAAE,IAAI,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QACxD,WAAW,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,IAAI,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC;QAChG,wBAAwB,EAAE,CAAC,OAAe,EAAE,EAAE,CAC5C,IAAI,gCAAgC,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC;QAC7E,KAAK,EAAE,IAAI,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC;QAC5D,QAAQ,EAAE,OAAO;KAClB,CAAiB,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAkC,EAAE,EAAE,EAAE,CACxE,UAAU,CAAC;IACT,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,YAAY;IACvB,MAAM,EAAE,MAA8B;CACvC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,SAAkC,EAAE,EAAE,EAAE,CAC3E,UAAU,CAAC;IACT,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,eAAe;IACrB,SAAS,EAAE,gBAAgB;IAC3B,MAAM,EAAE,MAA8B;CACvC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,SAAkC,EAAE,EAAE,EAAE,CAC9E,UAAU,CAAC;IACT,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,kBAAkB;IACxB,SAAS,EAAE,gBAAgB;IAC3B,MAAM,EAAE,MAA8B;CACvC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAkC,EAAE,EAAE,EAAE,CACzE,UAAU,CAAC;IACT,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,aAAa;IACnB,SAAS,EAAE,aAAa;IACxB,MAAM,EAAE,MAA8B;CACvC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAA+B,EAAE,EAAE,CAC7D,UAAU,CAAC;IACT,IAAI,EAAE,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK;IAC3E,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,YAAY;IACvB,MAAM,EAAE,MAA8B;CACvC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAAkC,EAAE,EAAE,EAAE,CAC7E,UAAU,CAAC;IACT,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,kBAAkB;IACxB,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE,MAA8B;CACvC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAkC,EAAE,EAAE,EAAE,CAC1E,UAAU,CAAC;IACT,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,cAAc;IACpB,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE,MAA8B;CACvC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhivex-ai/qwen",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.1",
|
|
4
4
|
"description": "Qwen adapter for Zhivex AI SDK.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"access": "public"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@zhivex-ai/core": "^1.0
|
|
44
|
+
"@zhivex-ai/core": "^1.4.0",
|
|
45
45
|
"ws": "^8.21.1",
|
|
46
46
|
"zod": "^4.4.3"
|
|
47
47
|
}
|