crewly 1.20.203 → 1.20.204
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/config/skills/agent/core/reply/SKILL.md +1 -0
- package/config/skills/agent/core/reply/execute.sh +7 -1
- package/config/skills/agent/core/reply-channel/SKILL.md +4 -0
- package/config/skills/agent/core/reply-channel/execute.sh +12 -1
- package/dist/backend/backend/src/constants.d.ts +60 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +60 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat/agent-reply.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/agent-reply.controller.js +1 -0
- package/dist/backend/backend/src/controllers/chat/agent-reply.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.js +1 -0
- package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js +50 -0
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts +6 -0
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +2 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +9 -1
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +117 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +165 -9
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/room-context-backlog.d.ts +93 -0
- package/dist/backend/backend/src/services/chat-v2/room-context-backlog.d.ts.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/room-context-backlog.js +138 -0
- package/dist/backend/backend/src/services/chat-v2/room-context-backlog.js.map +1 -0
- package/dist/backend/backend/src/services/decisions/decision-card.d.ts.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision-card.js +5 -1
- package/dist/backend/backend/src/services/decisions/decision-card.js.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision.service.d.ts +26 -1
- package/dist/backend/backend/src/services/decisions/decision.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision.service.js +83 -5
- package/dist/backend/backend/src/services/decisions/decision.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +21 -0
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js +48 -3
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/liveness-monitor.service.d.ts +27 -1
- package/dist/backend/backend/src/services/monitoring/liveness-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/monitoring/liveness-monitor.service.js +51 -2
- package/dist/backend/backend/src/services/monitoring/liveness-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/orc/orc-chat-owner-mirror.d.ts +51 -4
- package/dist/backend/backend/src/services/orc/orc-chat-owner-mirror.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orc/orc-chat-owner-mirror.js +83 -6
- package/dist/backend/backend/src/services/orc/orc-chat-owner-mirror.js.map +1 -1
- package/dist/backend/backend/src/services/orc/reply-destination.wiring.d.ts +16 -0
- package/dist/backend/backend/src/services/orc/reply-destination.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orc/reply-destination.wiring.js +22 -2
- package/dist/backend/backend/src/services/orc/reply-destination.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/restart/in-flight-turn-tracker.service.d.ts +9 -0
- package/dist/backend/backend/src/services/restart/in-flight-turn-tracker.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/restart/in-flight-turn-tracker.service.js +11 -0
- package/dist/backend/backend/src/services/restart/in-flight-turn-tracker.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/room-responder.d.ts +144 -0
- package/dist/backend/backend/src/services/slack/room-responder.d.ts.map +1 -0
- package/dist/backend/backend/src/services/slack/room-responder.js +236 -0
- package/dist/backend/backend/src/services/slack/room-responder.js.map +1 -0
- package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-initializer.js +36 -2
- package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +107 -2
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +403 -13
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-thread-context.service.d.ts +27 -0
- package/dist/backend/backend/src/services/slack/slack-thread-context.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-thread-context.service.js +52 -0
- package/dist/backend/backend/src/services/slack/slack-thread-context.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts +9 -0
- package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js +20 -0
- package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/ticket-channel-hooks.d.ts +13 -1
- package/dist/backend/backend/src/services/v3/ticket-channel-hooks.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/ticket-channel-hooks.js +36 -3
- package/dist/backend/backend/src/services/v3/ticket-channel-hooks.js.map +1 -1
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +54 -3
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +117 -9
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
- package/dist/backend/backend/src/types/decision.types.d.ts +7 -0
- package/dist/backend/backend/src/types/decision.types.d.ts.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +60 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +60 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +117 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +165 -9
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/room-context-backlog.d.ts +93 -0
- package/dist/cli/backend/src/services/chat-v2/room-context-backlog.d.ts.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/room-context-backlog.js +138 -0
- package/dist/cli/backend/src/services/chat-v2/room-context-backlog.js.map +1 -0
- package/dist/cli/backend/src/services/decisions/decision-card.d.ts.map +1 -1
- package/dist/cli/backend/src/services/decisions/decision-card.js +5 -1
- package/dist/cli/backend/src/services/decisions/decision-card.js.map +1 -1
- package/dist/cli/backend/src/services/decisions/decision.service.d.ts +26 -1
- package/dist/cli/backend/src/services/decisions/decision.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/decisions/decision.service.js +83 -5
- package/dist/cli/backend/src/services/decisions/decision.service.js.map +1 -1
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +21 -0
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js +48 -3
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
- package/dist/cli/backend/src/services/restart/in-flight-turn-tracker.service.d.ts +9 -0
- package/dist/cli/backend/src/services/restart/in-flight-turn-tracker.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/restart/in-flight-turn-tracker.service.js +11 -0
- package/dist/cli/backend/src/services/restart/in-flight-turn-tracker.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/room-responder.d.ts +144 -0
- package/dist/cli/backend/src/services/slack/room-responder.d.ts.map +1 -0
- package/dist/cli/backend/src/services/slack/room-responder.js +236 -0
- package/dist/cli/backend/src/services/slack/room-responder.js.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +107 -2
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +403 -13
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-thread-context.service.d.ts +27 -0
- package/dist/cli/backend/src/services/slack/slack-thread-context.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-thread-context.service.js +52 -0
- package/dist/cli/backend/src/services/slack/slack-thread-context.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts +9 -0
- package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js +20 -0
- package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
- package/dist/cli/backend/src/services/v3/ticket-channel-hooks.d.ts +13 -1
- package/dist/cli/backend/src/services/v3/ticket-channel-hooks.d.ts.map +1 -1
- package/dist/cli/backend/src/services/v3/ticket-channel-hooks.js +36 -3
- package/dist/cli/backend/src/services/v3/ticket-channel-hooks.js.map +1 -1
- package/dist/cli/backend/src/types/decision.types.d.ts +7 -0
- package/dist/cli/backend/src/types/decision.types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
*/
|
|
22
22
|
import type { ChatChannelDTO, ChatMessageDTO } from './types.js';
|
|
23
23
|
import type { ChatV2MentionResolver, MentionTarget } from './chat-v2.mention-resolver.js';
|
|
24
|
+
import { RoomContextBacklog } from './room-context-backlog.js';
|
|
24
25
|
/**
|
|
25
26
|
* Minimal surface the dispatcher needs from the agent-registration service.
|
|
26
27
|
* Typed explicitly so tests can pass a stub without pulling in the full
|
|
@@ -69,6 +70,12 @@ export interface HuddleDispatchOutcome {
|
|
|
69
70
|
responseMode: 'required' | 'optional';
|
|
70
71
|
/** Whether the prompt was successfully queued for the member. */
|
|
71
72
|
dispatched: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* The agent was busy: the prompt waits on its queue (`[AGENT_BUSY]` hold)
|
|
75
|
+
* and reaches it when it is idle. It holds the message — nobody else should
|
|
76
|
+
* be handed it meanwhile.
|
|
77
|
+
*/
|
|
78
|
+
queued?: boolean;
|
|
72
79
|
/** Error message, if delivery failed. */
|
|
73
80
|
error?: string;
|
|
74
81
|
/**
|
|
@@ -109,6 +116,51 @@ export interface DispatchMessageResult {
|
|
|
109
116
|
* `responseMode: 'required'`; the rest are `'optional'`.
|
|
110
117
|
*/
|
|
111
118
|
huddleOutcomes?: HuddleDispatchOutcome[];
|
|
119
|
+
/**
|
|
120
|
+
* One-responder dispatches (Slack rooms): local members that were not
|
|
121
|
+
* delivered the message but got it queued as context only, for their
|
|
122
|
+
* next prompt from this room (specs/2026-10-03-one-responder-per-message.md).
|
|
123
|
+
*/
|
|
124
|
+
contextOnly?: string[];
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* A responder fixed by the caller from data only it has
|
|
128
|
+
* (specs/2026-10-03-one-responder-per-message.md §1 a / c).
|
|
129
|
+
*/
|
|
130
|
+
export interface PinnedResponder {
|
|
131
|
+
/**
|
|
132
|
+
* The local member that answers. Null: nobody here answers — the
|
|
133
|
+
* decision path already delivered it, or the responder runs on another
|
|
134
|
+
* machine.
|
|
135
|
+
*/
|
|
136
|
+
session: string | null;
|
|
137
|
+
/** The responder's display name, for the context-only line */
|
|
138
|
+
name?: string;
|
|
139
|
+
/** Why this responder */
|
|
140
|
+
reason: 'decision' | 'decision-consumed' | 'thread-owner' | 'deferred';
|
|
141
|
+
/** Who answers it, wherever it runs (local session or Cloud's name); recorded for the reply gate */
|
|
142
|
+
answeredBy?: string;
|
|
143
|
+
/**
|
|
144
|
+
* Nobody here answers, but this machine runs the 90 s unanswered watch
|
|
145
|
+
* (it is the room's owner machine): an owner message is never left
|
|
146
|
+
* without a watcher (specs/2026-10-03-one-responder-per-message.md §4).
|
|
147
|
+
*/
|
|
148
|
+
watchHere?: boolean;
|
|
149
|
+
/**
|
|
150
|
+
* With `watchHere`: this machine only tells the owner if nobody has
|
|
151
|
+
* answered by `NOTE_ONLY_WATCH_MS`, and never hands the message over — it
|
|
152
|
+
* is not the room's watcher, or cannot tell whether it is.
|
|
153
|
+
*/
|
|
154
|
+
watchNoteOnly?: boolean;
|
|
155
|
+
/** A local member that already holds the message (the decision's asker): no context entry for it */
|
|
156
|
+
alreadyHas?: string;
|
|
157
|
+
}
|
|
158
|
+
/** One responder per owner message (Slack rooms). */
|
|
159
|
+
export interface OneResponderOptions {
|
|
160
|
+
/** Set when the caller already knows the responder (decision card, Slack thread owner) */
|
|
161
|
+
pinned?: PinnedResponder;
|
|
162
|
+
/** Display name of a local session, for the context-only line */
|
|
163
|
+
nameFor?: (agentSession: string) => string | undefined;
|
|
112
164
|
}
|
|
113
165
|
/** Constructor options for {@link ChatV2DispatcherService}. */
|
|
114
166
|
export interface ChatV2DispatcherOptions {
|
|
@@ -182,6 +234,8 @@ export interface ChatV2DispatcherOptions {
|
|
|
182
234
|
* would rather not spend the tokens simply leaves it out.
|
|
183
235
|
*/
|
|
184
236
|
recentTurnsFor?: (channelId: string, threadId?: string) => readonly ChatContextTurn[];
|
|
237
|
+
/** Context-only queue (one-responder rooms); a private one when omitted */
|
|
238
|
+
contextBacklog?: RoomContextBacklog;
|
|
185
239
|
}
|
|
186
240
|
/** One earlier message, as the prompt will show it. */
|
|
187
241
|
export interface ChatContextTurn {
|
|
@@ -279,6 +333,13 @@ export interface FormatPromptArgs {
|
|
|
279
333
|
slackThreadKey?: string;
|
|
280
334
|
/** See {@link DispatchMessageOptions.peopleAddressing}. */
|
|
281
335
|
peopleAddressing?: PeopleAddressing;
|
|
336
|
+
/**
|
|
337
|
+
* Set when this agent is the one responder the harness chose for the
|
|
338
|
+
* room; the others only got the message as context.
|
|
339
|
+
*/
|
|
340
|
+
soleResponder?: boolean;
|
|
341
|
+
/** Context-only room messages queued since this agent's last prompt from the room, rendered */
|
|
342
|
+
contextOnlyBlock?: string;
|
|
282
343
|
}
|
|
283
344
|
/**
|
|
284
345
|
* Who a Slack room message was meant for, when people are involved — the
|
|
@@ -333,6 +394,12 @@ export interface DispatchMessageOptions {
|
|
|
333
394
|
slackContextFor?: (agentSession: string) => string;
|
|
334
395
|
/** People the message (or the exchange it may continue) was addressed to; rendered as an `Addressed to:` line. */
|
|
335
396
|
peopleAddressing?: PeopleAddressing;
|
|
397
|
+
/**
|
|
398
|
+
* Choose exactly one responder; every other member gets the message as
|
|
399
|
+
* context only (specs/2026-10-03-one-responder-per-message.md). Omitted:
|
|
400
|
+
* the older fan-out (chat-UI huddles, agent-authored messages).
|
|
401
|
+
*/
|
|
402
|
+
oneResponder?: OneResponderOptions;
|
|
336
403
|
}
|
|
337
404
|
/** What the Slack bridge knows about a room's presence, from this machine's point of view. */
|
|
338
405
|
export interface HuddleRoomState {
|
|
@@ -414,6 +481,11 @@ export declare function isSilentByDefault(addressing: PeopleAddressing | undefin
|
|
|
414
481
|
* @returns The line, or null when there is nothing to say
|
|
415
482
|
*/
|
|
416
483
|
export declare function peopleAddressingLine(args: FormatPromptArgs, mode: 'required' | 'optional'): string | null;
|
|
484
|
+
/**
|
|
485
|
+
* Told to the one agent the harness picked to answer a room message
|
|
486
|
+
* (specs/2026-10-03-one-responder-per-message.md).
|
|
487
|
+
*/
|
|
488
|
+
export declare const SOLE_RESPONDER_LINE = "Responder: you are the one agent answering this for the room; the others only see it as context and will not reply. If a colleague should answer instead, @ them in your reply.";
|
|
417
489
|
export declare function defaultFormatPrompt(args: FormatPromptArgs): string;
|
|
418
490
|
/**
|
|
419
491
|
* Dispatches user-origin chat messages to the agent session bound to the
|
|
@@ -432,6 +504,8 @@ export declare class ChatV2DispatcherService {
|
|
|
432
504
|
private readonly recentTurnsFor?;
|
|
433
505
|
private readonly onDispatched?;
|
|
434
506
|
private readonly refuseDelivery?;
|
|
507
|
+
/** Room messages queued as context only, shown on each agent's next prompt from the room */
|
|
508
|
+
readonly contextBacklog: RoomContextBacklog;
|
|
435
509
|
private readonly logger;
|
|
436
510
|
constructor(options: ChatV2DispatcherOptions);
|
|
437
511
|
/**
|
|
@@ -519,6 +593,18 @@ export declare class ChatV2DispatcherService {
|
|
|
519
593
|
* @returns Aggregate result with one outcome per member.
|
|
520
594
|
*/
|
|
521
595
|
private dispatchHuddleBroadcast;
|
|
596
|
+
/**
|
|
597
|
+
* Queue a room message as context only for the members that are not
|
|
598
|
+
* answering it — no turn, no wake-up. Each sees it at the top of its next
|
|
599
|
+
* prompt from this room (specs/2026-10-03-one-responder-per-message.md).
|
|
600
|
+
*
|
|
601
|
+
* @param channel - The room
|
|
602
|
+
* @param message - The message
|
|
603
|
+
* @param options - Dispatch options (thread id)
|
|
604
|
+
* @param sessions - Members that only listen
|
|
605
|
+
* @param responderName - Who answers it, when anyone does
|
|
606
|
+
*/
|
|
607
|
+
private queueContextOnly;
|
|
522
608
|
/**
|
|
523
609
|
* Who a huddle message will be delivered to, and which of them owe a reply —
|
|
524
610
|
* without delivering it.
|
|
@@ -547,6 +633,37 @@ export declare class ChatV2DispatcherService {
|
|
|
547
633
|
* @returns Targets with their reply obligation, who was @'d, and who was woken to route it
|
|
548
634
|
*/
|
|
549
635
|
private computeHuddleTargets;
|
|
636
|
+
/**
|
|
637
|
+
* Exactly one responder (specs/2026-10-03-one-responder-per-message.md §1):
|
|
638
|
+
* b. @-mentioned members (an explicit @ always wins) → required;
|
|
639
|
+
* a/c. the caller's pinned responder — the decision's asker, or the
|
|
640
|
+
* Slack thread's owner (null: nobody here) → required;
|
|
641
|
+
* c'. no pin, a thread reply: the agent that spoke last in it here;
|
|
642
|
+
* d. otherwise the room rules, narrowed to one: the leader when awake,
|
|
643
|
+
* else the awake agent that spoke last in the room, else the first
|
|
644
|
+
* awake one — optional, as the leader always was. Nobody awake: the
|
|
645
|
+
* existing wake-up rules.
|
|
646
|
+
* Every other member listens: context only.
|
|
647
|
+
*
|
|
648
|
+
* @param channel - The huddle
|
|
649
|
+
* @param message - The message
|
|
650
|
+
* @param options - Dispatch options
|
|
651
|
+
* @param one - The one-responder options
|
|
652
|
+
* @param memberSet - Members that may hear it (author excluded)
|
|
653
|
+
* @param mentioned - Members @'d
|
|
654
|
+
* @returns Targets, context-only members and the responder's name
|
|
655
|
+
*/
|
|
656
|
+
private computeOneResponder;
|
|
657
|
+
/**
|
|
658
|
+
* Of several awake members, the one that answers an un-@'d message: the
|
|
659
|
+
* room's leader, else whoever of them spoke last in the room, else the
|
|
660
|
+
* first by session name (a stable choice).
|
|
661
|
+
*
|
|
662
|
+
* @param channelId - The room
|
|
663
|
+
* @param awake - Awake members (non-empty)
|
|
664
|
+
* @returns One of them
|
|
665
|
+
*/
|
|
666
|
+
private pickOneAwake;
|
|
550
667
|
/**
|
|
551
668
|
* Deliver a huddle message to the targets {@link computeHuddleTargets} chose.
|
|
552
669
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-v2.dispatcher.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/chat-v2/chat-v2.dispatcher.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EACV,qBAAqB,EAErB,aAAa,EACd,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-v2.dispatcher.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/chat-v2/chat-v2.dispatcher.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ import { ticketLineOf } from '../v3/ticket-channel-hooks.js';
|
|
|
25
25
|
import { isSlackDm, OrcReplyRouteService } from '../orc/orc-reply-route.service.js';
|
|
26
26
|
import { getActingFor } from '../people/acting-for.service.js';
|
|
27
27
|
import { formatSlackThreadKey, slackThreadOfMetadata, slackThreadTag, parseSlackThreadKey } from '../slack/slack-thread-key.js';
|
|
28
|
+
import { RoomContextBacklog, renderContextOnlyBlock } from './room-context-backlog.js';
|
|
28
29
|
// ---------------------------------------------------------------------------
|
|
29
30
|
// Prompt formatter
|
|
30
31
|
// ---------------------------------------------------------------------------
|
|
@@ -164,6 +165,11 @@ export function peopleAddressingLine(args, mode) {
|
|
|
164
165
|
return null;
|
|
165
166
|
return `Addressed to: nobody was @'d, and this conversation's recent messages were people talking to ${who}. This message may continue that person-to-person exchange, not a question for you. Reply only if asked. By default, stay silent.`;
|
|
166
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Told to the one agent the harness picked to answer a room message
|
|
170
|
+
* (specs/2026-10-03-one-responder-per-message.md).
|
|
171
|
+
*/
|
|
172
|
+
export const SOLE_RESPONDER_LINE = 'Responder: you are the one agent answering this for the room; the others only see it as context and will not reply. If a colleague should answer instead, @ them in your reply.';
|
|
167
173
|
export function defaultFormatPrompt(args) {
|
|
168
174
|
const { channelId, channelName, senderId, content, clientMessageId, responseMode, threadId, replyVia, channelRoster } = args;
|
|
169
175
|
// Nobody named this agent, so it may be reading someone else's
|
|
@@ -208,7 +214,7 @@ export function defaultFormatPrompt(args) {
|
|
|
208
214
|
: args.wakeRole === 'team-leader'
|
|
209
215
|
? `分派本频道的消息: 消息没有 @ 任何人,而频道里此刻没有一个 agent 醒着,所以叫醒了你(本频道负责人)来决定该谁回答。若该你回答:**先**运行 \`${workingCmd}\`,再用 \`reply-channel\` skill 回复(${cmd})。若该别的成员回答:用 reply-channel 发一句简短的话 @他(例如「@名字 这个你来」),他会被叫醒并接手;你自己不要替他回答。若与谁都无关,什么都不做。`
|
|
210
216
|
: mode === 'optional'
|
|
211
|
-
? `回复本频道: 这条消息没有 @
|
|
217
|
+
? `回复本频道: 这条消息没有 @ 你,转给你是让你自己判断要不要回${args.soleResponder ? '' : '(频道里醒着的 agent 都会收到,各自判断)'}。若你是本频道的负责人(team leader),关于团队本身的问题(谁负责、有哪些成员、在做什么)由你来答,依据下面的成员名单和你的团队上下文,不要说"没有记录"。若与你的工作相关、你有对应的上下文或知识而决定回复:**先**运行 \`${workingCmd}\`,让对方看到你接手了,再用 \`reply-channel\` skill 回复(${cmd})。若是频道里的人之间在交流、或与你无关,什么都不要做——不要回复,不要发 --working,也不要为此展开调查。${args.roomPresence ? wakeColleague : ''}`
|
|
212
218
|
: `回复本频道: 用 \`reply-channel\` skill(${cmd})——命令原样运行${identity ? ',开头的 CREWLY_SESSION_NAME=… 不要删,它告诉系统是你在回复' : ''};reply-channel 报错时把命令原样再跑一次,或改用上面的 \`reply\`;不要换别的回复方式(别的方式发不到这个 thread,对方看不到)。回复会以你的名字发到 Slack 同一个 thread;之后这个 thread 里的追问会直接转给你,不需要再被 @。需要同事(本机或其他机器上的 agent)接手时,在回复里写 @名字 即可,会转成真正的 Slack 提及并送达对方。多个 agent 讨论时必须收敛:每人在同一个 thread 里最多发言两轮;team leader(没有则第一个发言的人)负责在两轮后汇总结论并明确写「结论」;结论发出后其他人不再回复,除非有明确反对并说明理由。不要为了礼貌互相致谢或复述对方观点。`;
|
|
213
219
|
}
|
|
214
220
|
else if (args.slackDmChannelId && mode === 'required') {
|
|
@@ -252,11 +258,13 @@ export function defaultFormatPrompt(args) {
|
|
|
252
258
|
...(threadParts ? [slackThreadTag(threadParts.slackChannelId, threadParts.threadTs)] : []),
|
|
253
259
|
...(args.ticketLine ? [args.ticketLine] : []),
|
|
254
260
|
``,
|
|
261
|
+
...(args.contextOnlyBlock ? [args.contextOnlyBlock, ``] : []),
|
|
255
262
|
...(contextBlock ? [contextBlock, ``] : []),
|
|
256
263
|
trimmed,
|
|
257
264
|
``,
|
|
258
265
|
`---`,
|
|
259
266
|
replyHint + actionGuard,
|
|
267
|
+
...(args.soleResponder ? [SOLE_RESPONDER_LINE] : []),
|
|
260
268
|
...(addressedTo ? [addressedTo] : []),
|
|
261
269
|
...(channelRoster ? [`本频道成员(可 @ 的同事): ${channelRoster}`] : []),
|
|
262
270
|
...(args.roomPresence ? [`此刻谁醒着: ${args.roomPresence}`] : []),
|
|
@@ -282,6 +290,8 @@ export class ChatV2DispatcherService {
|
|
|
282
290
|
recentTurnsFor;
|
|
283
291
|
onDispatched;
|
|
284
292
|
refuseDelivery;
|
|
293
|
+
/** Room messages queued as context only, shown on each agent's next prompt from the room */
|
|
294
|
+
contextBacklog;
|
|
285
295
|
logger;
|
|
286
296
|
constructor(options) {
|
|
287
297
|
this.agentSink = options.agentSink;
|
|
@@ -295,6 +305,7 @@ export class ChatV2DispatcherService {
|
|
|
295
305
|
this.recentTurnsFor = options.recentTurnsFor;
|
|
296
306
|
this.onDispatched = options.onDispatched;
|
|
297
307
|
this.refuseDelivery = options.refuseDelivery;
|
|
308
|
+
this.contextBacklog = options.contextBacklog ?? new RoomContextBacklog();
|
|
298
309
|
this.logger = LoggerService.getInstance().createComponentLogger('ChatV2Dispatcher');
|
|
299
310
|
}
|
|
300
311
|
/**
|
|
@@ -491,13 +502,51 @@ export class ChatV2DispatcherService {
|
|
|
491
502
|
reason: 'huddle has no members',
|
|
492
503
|
};
|
|
493
504
|
}
|
|
494
|
-
const { targets, mentioned, wakeRoles } = await this.computeHuddleTargets(channel, message, options, members);
|
|
505
|
+
const { targets, mentioned, wakeRoles, contextOnly, responderName } = await this.computeHuddleTargets(channel, message, options, members);
|
|
495
506
|
// Dedicated agents never get another person's message (issue #968).
|
|
496
507
|
for (const sessionName of [...targets.keys()]) {
|
|
497
508
|
if (await this.isRefused(sessionName, message))
|
|
498
509
|
targets.delete(sessionName);
|
|
499
510
|
}
|
|
500
|
-
|
|
511
|
+
const listeners = [];
|
|
512
|
+
for (const sessionName of contextOnly) {
|
|
513
|
+
if (!(await this.isRefused(sessionName, message)))
|
|
514
|
+
listeners.push(sessionName);
|
|
515
|
+
}
|
|
516
|
+
this.queueContextOnly(channel, message, options, listeners, responderName);
|
|
517
|
+
const result = await this.deliverToHuddleTargets(channel, message, options, members, targets, mentioned, wakeRoles);
|
|
518
|
+
return options.oneResponder ? { ...result, contextOnly: listeners } : result;
|
|
519
|
+
}
|
|
520
|
+
/**
|
|
521
|
+
* Queue a room message as context only for the members that are not
|
|
522
|
+
* answering it — no turn, no wake-up. Each sees it at the top of its next
|
|
523
|
+
* prompt from this room (specs/2026-10-03-one-responder-per-message.md).
|
|
524
|
+
*
|
|
525
|
+
* @param channel - The room
|
|
526
|
+
* @param message - The message
|
|
527
|
+
* @param options - Dispatch options (thread id)
|
|
528
|
+
* @param sessions - Members that only listen
|
|
529
|
+
* @param responderName - Who answers it, when anyone does
|
|
530
|
+
*/
|
|
531
|
+
queueContextOnly(channel, message, options, sessions, responderName) {
|
|
532
|
+
if (sessions.length === 0)
|
|
533
|
+
return;
|
|
534
|
+
const threadId = options.threadId && options.threadId !== message.id ? options.threadId : message.threadId;
|
|
535
|
+
for (const session of sessions) {
|
|
536
|
+
this.contextBacklog.add(session, channel.id, {
|
|
537
|
+
messageId: message.id,
|
|
538
|
+
sender: message.senderId,
|
|
539
|
+
content: message.content,
|
|
540
|
+
...(threadId ? { threadId } : {}),
|
|
541
|
+
...(responderName ? { responderName } : {}),
|
|
542
|
+
});
|
|
543
|
+
}
|
|
544
|
+
this.logger.info('Room message queued as context only for the listening members', {
|
|
545
|
+
channelId: channel.id,
|
|
546
|
+
messageId: message.id,
|
|
547
|
+
listeners: sessions,
|
|
548
|
+
responder: responderName ?? null,
|
|
549
|
+
});
|
|
501
550
|
}
|
|
502
551
|
/**
|
|
503
552
|
* Who a huddle message will be delivered to, and which of them owe a reply —
|
|
@@ -564,7 +613,10 @@ export class ChatV2DispatcherService {
|
|
|
564
613
|
const targets = new Map();
|
|
565
614
|
for (const m of mentioned)
|
|
566
615
|
targets.set(m, 'required');
|
|
567
|
-
return { targets, mentioned, wakeRoles: new Map() };
|
|
616
|
+
return { targets, mentioned, wakeRoles: new Map(), contextOnly: [] };
|
|
617
|
+
}
|
|
618
|
+
if (options.oneResponder) {
|
|
619
|
+
return this.computeOneResponder(channel, message, options, options.oneResponder, memberSet, mentioned);
|
|
568
620
|
}
|
|
569
621
|
const engaged = options.threadId && this.threadParticipantsFor
|
|
570
622
|
? this.threadParticipantsFor(channel.id, options.threadId).filter((m) => memberSet.has(m))
|
|
@@ -613,7 +665,104 @@ export class ChatV2DispatcherService {
|
|
|
613
665
|
targets.set(leader, 'optional');
|
|
614
666
|
}
|
|
615
667
|
}
|
|
616
|
-
return { targets, mentioned, wakeRoles };
|
|
668
|
+
return { targets, mentioned, wakeRoles, contextOnly: [] };
|
|
669
|
+
}
|
|
670
|
+
/**
|
|
671
|
+
* Exactly one responder (specs/2026-10-03-one-responder-per-message.md §1):
|
|
672
|
+
* b. @-mentioned members (an explicit @ always wins) → required;
|
|
673
|
+
* a/c. the caller's pinned responder — the decision's asker, or the
|
|
674
|
+
* Slack thread's owner (null: nobody here) → required;
|
|
675
|
+
* c'. no pin, a thread reply: the agent that spoke last in it here;
|
|
676
|
+
* d. otherwise the room rules, narrowed to one: the leader when awake,
|
|
677
|
+
* else the awake agent that spoke last in the room, else the first
|
|
678
|
+
* awake one — optional, as the leader always was. Nobody awake: the
|
|
679
|
+
* existing wake-up rules.
|
|
680
|
+
* Every other member listens: context only.
|
|
681
|
+
*
|
|
682
|
+
* @param channel - The huddle
|
|
683
|
+
* @param message - The message
|
|
684
|
+
* @param options - Dispatch options
|
|
685
|
+
* @param one - The one-responder options
|
|
686
|
+
* @param memberSet - Members that may hear it (author excluded)
|
|
687
|
+
* @param mentioned - Members @'d
|
|
688
|
+
* @returns Targets, context-only members and the responder's name
|
|
689
|
+
*/
|
|
690
|
+
async computeOneResponder(channel, message, options, one, memberSet, mentioned) {
|
|
691
|
+
const targets = new Map();
|
|
692
|
+
const wakeRoles = new Map();
|
|
693
|
+
const pinned = one.pinned;
|
|
694
|
+
const isThreadReply = !!options.threadId && options.threadId !== message.id;
|
|
695
|
+
if (mentioned.length > 0) {
|
|
696
|
+
for (const m of mentioned)
|
|
697
|
+
targets.set(m, 'required');
|
|
698
|
+
}
|
|
699
|
+
else if (pinned) {
|
|
700
|
+
if (pinned.session && pinned.reason !== 'decision-consumed' && memberSet.has(pinned.session)) {
|
|
701
|
+
targets.set(pinned.session, 'required');
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
else {
|
|
705
|
+
const lastSpeaker = isThreadReply && this.lastThreadSpeakerFor ? this.lastThreadSpeakerFor(channel.id, options.threadId) : null;
|
|
706
|
+
if (lastSpeaker && memberSet.has(lastSpeaker)) {
|
|
707
|
+
targets.set(lastSpeaker, 'required');
|
|
708
|
+
}
|
|
709
|
+
else {
|
|
710
|
+
const room = options.room;
|
|
711
|
+
const awakeHere = room ? room.awakeHere.filter((m) => memberSet.has(m)) : [];
|
|
712
|
+
if (room && awakeHere.length > 0) {
|
|
713
|
+
targets.set(await this.pickOneAwake(channel.id, awakeHere), 'optional');
|
|
714
|
+
}
|
|
715
|
+
else if (room && room.awakeElsewhere) {
|
|
716
|
+
// Colleagues on another machine are awake and have it.
|
|
717
|
+
}
|
|
718
|
+
else if (room && room.wakeWhenAllAsleep) {
|
|
719
|
+
targets.set(room.wakeWhenAllAsleep.agentSession, 'optional');
|
|
720
|
+
wakeRoles.set(room.wakeWhenAllAsleep.agentSession, room.wakeWhenAllAsleep.kind);
|
|
721
|
+
}
|
|
722
|
+
else if ((!room || room.wakeWhenAllAsleep === undefined) && this.huddleLeaderFor) {
|
|
723
|
+
const leader = await this.huddleLeaderFor(channel.id).catch(() => null);
|
|
724
|
+
if (leader && memberSet.has(leader))
|
|
725
|
+
targets.set(leader, 'optional');
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
}
|
|
729
|
+
const holder = pinned?.alreadyHas;
|
|
730
|
+
const contextOnly = [...memberSet].filter((m) => !targets.has(m) && m !== holder);
|
|
731
|
+
const first = [...targets.keys()][0];
|
|
732
|
+
const responderName = pinned && mentioned.length === 0
|
|
733
|
+
? pinned.name ?? (pinned.session ? one.nameFor?.(pinned.session) ?? pinned.session : undefined)
|
|
734
|
+
: first
|
|
735
|
+
? [...targets.keys()].map((s) => one.nameFor?.(s) ?? s).join(', ')
|
|
736
|
+
: undefined;
|
|
737
|
+
return { targets, mentioned, wakeRoles, contextOnly, ...(responderName ? { responderName } : {}) };
|
|
738
|
+
}
|
|
739
|
+
/**
|
|
740
|
+
* Of several awake members, the one that answers an un-@'d message: the
|
|
741
|
+
* room's leader, else whoever of them spoke last in the room, else the
|
|
742
|
+
* first by session name (a stable choice).
|
|
743
|
+
*
|
|
744
|
+
* @param channelId - The room
|
|
745
|
+
* @param awake - Awake members (non-empty)
|
|
746
|
+
* @returns One of them
|
|
747
|
+
*/
|
|
748
|
+
async pickOneAwake(channelId, awake) {
|
|
749
|
+
if (awake.length === 1)
|
|
750
|
+
return awake[0];
|
|
751
|
+
const leader = this.huddleLeaderFor ? await this.huddleLeaderFor(channelId).catch(() => null) : null;
|
|
752
|
+
if (leader && awake.includes(leader))
|
|
753
|
+
return leader;
|
|
754
|
+
let turns = [];
|
|
755
|
+
try {
|
|
756
|
+
turns = this.recentTurnsFor?.(channelId, undefined) ?? [];
|
|
757
|
+
}
|
|
758
|
+
catch {
|
|
759
|
+
turns = [];
|
|
760
|
+
}
|
|
761
|
+
for (let i = turns.length - 1; i >= 0; i--) {
|
|
762
|
+
if (awake.includes(turns[i].senderId))
|
|
763
|
+
return turns[i].senderId;
|
|
764
|
+
}
|
|
765
|
+
return [...awake].sort()[0];
|
|
617
766
|
}
|
|
618
767
|
/**
|
|
619
768
|
* Deliver a huddle message to the targets {@link computeHuddleTargets} chose.
|
|
@@ -639,7 +788,7 @@ export class ChatV2DispatcherService {
|
|
|
639
788
|
const outcomes = [];
|
|
640
789
|
let anyDispatched = false;
|
|
641
790
|
const namedExplicitly = new Set(mentioned);
|
|
642
|
-
const promptFor = (sessionName, responseMode) => this.formatPrompt({
|
|
791
|
+
const promptFor = (sessionName, responseMode, contextOnlyBlock) => this.formatPrompt({
|
|
643
792
|
channelId: channel.id,
|
|
644
793
|
channelName: channel.name,
|
|
645
794
|
addressedDirectly: namedExplicitly.has(sessionName),
|
|
@@ -660,15 +809,22 @@ export class ChatV2DispatcherService {
|
|
|
660
809
|
slackContext: slackContextOf(options, sessionName),
|
|
661
810
|
ticketLine: ticketLineOf(message),
|
|
662
811
|
...(options.peopleAddressing ? { peopleAddressing: options.peopleAddressing } : {}),
|
|
812
|
+
...(options.oneResponder ? { soleResponder: true } : {}),
|
|
813
|
+
...(contextOnlyBlock ? { contextOnlyBlock } : {}),
|
|
663
814
|
});
|
|
664
815
|
/** One delivery attempt; false when the sink refused (typically: no session). */
|
|
665
816
|
const attempt = async (sessionName, responseMode) => {
|
|
817
|
+
// What this agent only listened to in the room since its last prompt here.
|
|
818
|
+
const heard = this.contextBacklog.take(sessionName, channel.id, message.id);
|
|
666
819
|
try {
|
|
667
820
|
this.noteActingFor(sessionName, message);
|
|
668
|
-
const result = await this.agentSink.sendMessageToAgent(sessionName, promptFor(sessionName, responseMode));
|
|
669
|
-
|
|
821
|
+
const result = await this.agentSink.sendMessageToAgent(sessionName, promptFor(sessionName, responseMode, renderContextOnlyBlock(heard)));
|
|
822
|
+
if (!result.success)
|
|
823
|
+
this.contextBacklog.restore(sessionName, channel.id, heard);
|
|
824
|
+
return result.success ? { ok: true, ...(result.queued ? { queued: true } : {}) } : { ok: false, error: result.error ?? 'unknown sink failure' };
|
|
670
825
|
}
|
|
671
826
|
catch (err) {
|
|
827
|
+
this.contextBacklog.restore(sessionName, channel.id, heard);
|
|
672
828
|
const errMsg = err instanceof Error ? err.message : String(err);
|
|
673
829
|
this.logger.error('chat-v2 huddle dispatch threw', { channelId: channel.id, sessionName, err: errMsg });
|
|
674
830
|
return { ok: false, error: errMsg };
|
|
@@ -698,7 +854,7 @@ export class ChatV2DispatcherService {
|
|
|
698
854
|
}
|
|
699
855
|
if (result.ok) {
|
|
700
856
|
const silent = isSilentByDefault(options.peopleAddressing, responseMode, namedExplicitly.has(sessionName));
|
|
701
|
-
outcomes.push({ sessionName, responseMode, dispatched: true, ...(silent ? { silentByDefault: true } : {}) });
|
|
857
|
+
outcomes.push({ sessionName, responseMode, dispatched: true, ...(silent ? { silentByDefault: true } : {}), ...(result.queued ? { queued: true } : {}) });
|
|
702
858
|
anyDispatched = true;
|
|
703
859
|
this.noteOriginThread(sessionName, channel.id, options.threadId ?? message.threadId ?? message.id);
|
|
704
860
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-v2.dispatcher.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/chat-v2/chat-v2.dispatcher.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAQH,OAAO,EAAE,aAAa,EAAmB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAClK,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAqVhI,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAyC;IACxE,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC9B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;IAC/B,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAyC;IACxE,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC9B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IACvD,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxF,CAAC;AAED;;;;;;;;GAQG;AACH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAiC;IAClE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,OAAO,GACZ,IAAI,CAAC,MAAM,GAAG,sBAAsB,CAAC,iBAAiB;YACrD,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,GAAG;YAC/D,CAAC,CAAC,IAAI,CAAC;QACT,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,OAAO;QACN,oBAAoB;QACpB,GAAG,KAAK;QACR,yDAAyD;KACzD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,OAAwD,EAAE,YAAoB;IACpG,IAAI,CAAC,OAAO,CAAC,eAAe;QAAE,OAAO,SAAS,CAAC;IAC/C,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAA+C,EAC/C,IAA6B,EAC7B,iBAAsC;IAEtC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,iBAAiB;QAAE,OAAO,KAAK,CAAC;IACrF,IAAI,UAAU,CAAC,IAAI,KAAK,kBAAkB;QAAE,OAAO,IAAI,CAAC;IACxD,IAAI,UAAU,CAAC,IAAI,KAAK,iBAAiB;QAAE,OAAO,IAAI,KAAK,UAAU,CAAC;IACtE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAsB,EAAE,IAA6B;IACxF,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC;IACzC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/D,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,UAAU,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,iBAAiB;YAC3B,CAAC,CAAC,yBAAyB,GAAG,oFAAoF;YAClH,CAAC,CAAC,iBAAiB,GAAG,0FAA0F,CAAC;IACrH,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;QAClD,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QACxC,OAAO,6DAA6D,GAAG,kGAAkG,CAAC;IAC5K,CAAC;IACD,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9E,OAAO,gGAAgG,GAAG,mIAAmI,CAAC;AAChP,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAsB;IACxD,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAC7H,+DAA+D;IAC/D,kEAAkE;IAClE,mEAAmE;IACnE,kEAAkE;IAClE,6BAA6B;IAC7B,MAAM,WAAW,GACf,IAAI,CAAC,iBAAiB,KAAK,KAAK;QAC9B,CAAC,CAAC,+GAA+G;QACjH,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,UAAU,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,oEAAoE;IACpE,oEAAoE;IACpE,qCAAqC;IACrC,MAAM,IAAI,GAAG,YAAY,IAAI,UAAU,CAAC;IACxC,IAAI,SAAiB,CAAC;IACtB,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;QACjC,qEAAqE;QACrE,yEAAyE;QACzE,uEAAuE;QACvE,wEAAwE;QACxE,mEAAmE;QACnE,wEAAwE;QACxE,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,uBAAuB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtH,MAAM,KAAK,GAAG,GAAG,QAAQ,wDAAwD,CAAC;QAClF,MAAM,GAAG,GAAG,GAAG,KAAK,cAAc,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,2BAA2B,CAAC;QACjH,wEAAwE;QACxE,qEAAqE;QACrE,yEAAyE;QACzE,+CAA+C;QAC/C,MAAM,UAAU,GAAG,GAAG,KAAK,cAAc,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;QACzG,yEAAyE;QACzE,0EAA0E;QAC1E,iEAAiE;QACjE,MAAM,UAAU,GAAG,GAAG,KAAK,cAAc,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC;QACvK,0EAA0E;QAC1E,MAAM,aAAa,GAAG,8DAA8D,CAAC;QACrF,SAAS,GAAG,IAAI,CAAC,QAAQ,KAAK,cAAc;YAC1C,CAAC,CAAC,4IAA4I,UAAU,+EAA+E;YACvO,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,aAAa;gBAC/B,CAAC,CAAC,kFAAkF,UAAU,oCAAoC,GAAG,sFAAsF;gBAC3N,CAAC,CAAC,IAAI,KAAK,UAAU;oBACvB,CAAC,CAAC,kLAAkL,UAAU,8CAA8C,GAAG,6DAA6D,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE;oBACpV,CAAC,CAAC,oCAAoC,GAAG,YAAY,QAAQ,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAC,EAAE,oUAAoU,CAAC;IACzb,CAAC;SAAM,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxD,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7F,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,SAAS;YACP,0BAA0B,IAAI,CAAC,gBAAgB,0BAA0B,SAAS,gDAAgD,SAAS,mCAAmC;gBAC9K,CAAC,SAAS;oBACR,CAAC,CAAC,gBAAgB,SAAS,uBAAuB,SAAS,yEAAyE,SAAS,GAAG,SAAS,oEAAoE,SAAS,GAAG,SAAS,IAAI;wBACpP,6EAA6E;oBAC/E,CAAC,CAAC,EAAE,CAAC;gBACP,gGAAgG,CAAC;IACrG,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,IAAI,KAAK,UAAU;YAC7B,CAAC,CAAC,6IAA6I,SAAS,6BAA6B;YACrL,CAAC,CAAC,qDAAqD,SAAS,2BAA2B,CAAC;IAChG,CAAC;IACD,2EAA2E;IAC3E,2EAA2E;IAC3E,uEAAuE;IACvE,sEAAsE;IACtE,IAAI,IAAI,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,uBAAuB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3H,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC;IACxG,CAAC;IACD,wEAAwE;IACxE,oEAAoE;IACpE,yEAAyE;IACzE,IAAI,IAAI,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;QACrC,MAAM,UAAU,GACd,QAAQ,KAAK,eAAe;YAC1B,CAAC,CAAC,6CAA6C;YAC/C,CAAC,CAAC,wBAAwB,CAAC;QAC/B,SAAS,IAAI,GAAG,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAChF,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7D,OAAO;QACL,SAAS,SAAS,IAAI,MAAM,KAAK,QAAQ,IAAI,WAAW,GAAG;QAC3D,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,EAAE;QACF,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,OAAO;QACP,EAAE;QACF,KAAK;QACL,SAAS,GAAG,WAAW;QACvB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,mBAAmB,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,OAAO,uBAAuB;IACjB,SAAS,CAAmB;IAC5B,YAAY,CAAqC;IACjD,eAAe,CAAyB;IACxC,gBAAgB,CAA4C;IAC5D,qBAAqB,CAA8D;IACnF,oBAAoB,CAA0D;IAC9E,eAAe,CAAiD;IAChE,aAAa,CAA8C;IAC3D,cAAc,CAAwE;IACtF,YAAY,CAA2C;IACvD,cAAc,CAA6C;IAC3D,MAAM,CAAkB;IAEzC,YAAY,OAAgC;QAC1C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,mBAAmB,CAAC;QAChE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;QAC3D,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACzD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IACtF,CAAC;IAED;;;;;;;;;;;OAWG;IACK,UAAU,CAAC,SAAiB,EAAE,QAAiB;QACrD,IAAI,CAAC,sBAAsB,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACvD,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,WAAW,CAAC;YAC9F,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,CAAC,UAAU,CAAC;YAC9D,OAAO,KAAK;iBACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBACZ,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACnC,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YACnD,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gEAAgE;YAChE,8BAA8B;YAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;gBAChD,SAAS;gBACT,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,eAAe,CACnB,OAAuB,EACvB,OAAuB,EACvB,UAAkC,EAAE;QAEpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;oBACpD,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACtD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,SAAS,CAAC,WAAmB,EAAE,OAAuB;QAClE,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QACvC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,aAAa,CAAC,WAAmB,EAAE,OAAuB;QAChE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,MAAM,EAAE,CAAC;gBACX,YAAY,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YACD,MAAM,WAAW,GAAG,OAAO,OAAO,CAAC,QAAQ,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAE,OAAO,CAAC,QAAQ,CAAC,WAAsB,CAAC,CAAC,CAAC,IAAI,CAAC;YACxH,YAAY,EAAE,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,4CAA4C;QAC9C,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,gBAAgB,CAAC,WAAmB,EAAE,SAAiB,EAAE,QAA4B;QAC3F,IAAI,CAAC;YACH,oBAAoB,CAAC,WAAW,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxF,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,KAAK,CACjB,OAAuB,EACvB,OAAuB,EACvB,OAA+B;QAE/B,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAClC,OAAO;gBACL,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,2BAA2B;aACpC,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;QAED,gEAAgE;QAChE,qEAAqE;QACrE,qCAAqC;QACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACvE,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACK,KAAK,CAAC,uBAAuB,CACnC,OAAuB,EACvB,OAAuB,EACvB,UAAkC,EAAE;QAEpC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,EAAE;gBAC5E,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,SAAS,EAAE,OAAO,CAAC,EAAE;aACtB,CAAC,CAAC;YACH,OAAO;gBACL,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,oCAAoC;aAC7C,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,uBAAuB;aAChC,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9G,oEAAoE;QACpE,KAAK,MAAM,WAAW,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC9C,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC;gBAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACxG,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,iBAAiB,CACrB,OAAuB,EACvB,OAAuB,EACvB,UAAkC,EAAE;QAEpC,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO,IAAI,GAAG,EAAE,CAAC;QAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,GAAG,EAAE,CAAC;QAC3C,OAAO,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACvF,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,oBAAoB,CAChC,OAAuB,EACvB,OAAuB,EACvB,OAA+B,EAC/B,OAA0B;QAM1B,sEAAsE;QACtE,sEAAsE;QACtE,mEAAmE;QACnE,2BAA2B;QAC3B,6CAA6C;QAC7C,qEAAqE;QACrE,mEAAmE;QACnE,sEAAsE;QACtE,sEAAsE;QACtE,qEAAqE;QACrE,yEAAyE;QACzE,oEAAoE;QACpE,0DAA0D;QAC1D,2DAA2D;QAC3D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,eAAe,IAAI,EAAE;YAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5G,iDAAiD;QACjD,mEAAmE;QACnE,wEAAwE;QACxE,mEAAmE;QACnE,mEAAmE;QACnE,8CAA8C;QAC9C,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,4BAA4B,CAAC,4BAA4B,CAAC,CAAC;QACtG,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QACrF,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmC,CAAC;YAC3D,KAAK,MAAM,CAAC,IAAI,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YACtD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;QACtD,CAAC;QACD,MAAM,OAAO,GACX,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,qBAAqB;YAC5C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC1F,CAAC,CAAC,EAAE,CAAC;QACT,wEAAwE;QACxE,uEAAuE;QACvE,sEAAsE;QACtE,8DAA8D;QAC9D,kEAAkE;QAClE,4CAA4C;QAC5C,MAAM,WAAW,GACf,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,oBAAoB;YACrE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmC,CAAC;QAC3D,KAAK,MAAM,CAAC,IAAI,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC7B,oEAAoE;YACpE,iEAAiE;YACjE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,GAAG,EAA0C,CAAC;QACpE,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,oEAAoE;YACpE,wEAAwE;YACxE,wEAAwE;YACxE,uDAAuD;YACvD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,KAAK,MAAM,CAAC,IAAI,SAAS;oBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YACxD,CAAC;iBAAM,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACvC,uDAAuD;YACzD,CAAC;iBAAM,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;gBAC7D,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAClF,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBACxE,IAAI,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAC3C,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,sBAAsB,CAClC,OAAuB,EACvB,OAAuB,EACvB,OAA+B,EAC/B,OAA0B,EAC1B,OAA6C,EAC7C,SAA4B,EAC5B,YAAiE,IAAI,GAAG,EAAE;QAE1E,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,EAAE;gBAC7E,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,OAAO,EAAE,OAAO,CAAC,MAAM;aACxB,CAAC,CAAC;YACH,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;QACjF,CAAC;QAED,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,IAAI,aAAa,GAAG,KAAK,CAAC;QAE1B,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,CAAC,WAAmB,EAAE,YAAqC,EAAU,EAAE,CACvF,IAAI,CAAC,YAAY,CAAC;YAChB,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,WAAW,EAAE,OAAO,CAAC,IAAI;YACzB,iBAAiB,EAAE,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC;YACnD,YAAY,EAAE,WAAW;YACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,eAAe,EACb,OAAO,OAAO,CAAC,QAAQ,EAAE,eAAe,KAAK,QAAQ;gBACnD,CAAC,CAAE,OAAO,CAAC,QAAQ,CAAC,eAA0B;gBAC9C,CAAC,CAAC,SAAS;YACf,YAAY;YACZ,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;YACpC,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC;YACtD,YAAY,EAAE,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC;YAClD,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC;YACjC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpF,CAAC,CAAC;QAEL,iFAAiF;QACjF,MAAM,OAAO,GAAG,KAAK,EAAE,WAAmB,EAAE,YAAqC,EAA4C,EAAE;YAC7H,IAAI,CAAC;gBACH,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;gBAC1G,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,sBAAsB,EAAE,CAAC;YACtG,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;gBACxG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YACtC,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,OAAO,EAAE,CAAC;YAClD,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrC,wEAAwE;gBACxE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8DAA8D,EAAE;oBAC/E,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,WAAW;oBACX,YAAY;iBACb,CAAC,CAAC;gBACH,IAAI,SAAS,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC;oBACH,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBACpD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;wBACzD,WAAW;wBACX,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACtD,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,SAAS;oBAAE,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,EAAE,YAAY,EAAE,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC3G,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC7G,aAAa,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;YACrG,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE;oBAC3D,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,WAAW;oBACX,GAAG,EAAE,MAAM,CAAC,KAAK;iBAClB,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,sBAAsB,EAAE,CAAC,CAAC;YACjH,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,kBAAkB;YAC5B,UAAU,EAAE,aAAa;YACzB,cAAc,EAAE,QAAQ;SACzB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,uBAAuB,CACnC,OAAuB,EACvB,OAAuB;QAEvB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,EAAE;gBACxE,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,SAAS,EAAE,OAAO,CAAC,EAAE;aACtB,CAAC,CAAC;YACH,OAAO;gBACL,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,4CAA4C;aACrD,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,qCAAqC;aAC9C,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAA2B,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAElE,MAAM,QAAQ,GAA6B,EAAE,CAAC;QAC9C,IAAI,aAAa,GAAG,KAAK,CAAC;QAE1B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC;gBACtD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC,CAAC;gBACnF,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;gBAC/B,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,YAAY,EAAE,MAAM,CAAC,WAAW;gBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,eAAe,EACb,OAAO,OAAO,CAAC,QAAQ,EAAE,eAAe,KAAK,QAAQ;oBACnD,CAAC,CAAE,OAAO,CAAC,QAAQ,CAAC,eAA0B;oBAC9C,CAAC,CAAC,SAAS;gBACf,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;gBACnE,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC;aAClC,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBACnF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC5C,aAAa,GAAG,IAAI,CAAC;oBACrB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxF,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE;wBAC5D,SAAS,EAAE,OAAO,CAAC,EAAE;wBACrB,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,GAAG,EAAE,MAAM,CAAC,KAAK;qBAClB,CAAC,CAAC;oBACH,QAAQ,CAAC,IAAI,CAAC;wBACZ,MAAM;wBACN,UAAU,EAAE,KAAK;wBACjB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,sBAAsB;qBAC9C,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE;oBAClD,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,GAAG,EAAE,MAAM;iBACZ,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,kBAAkB;YAC5B,UAAU,EAAE,aAAa;YACzB,eAAe,EAAE,QAAQ;SAC1B,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,CAAC,eAAe,CACnB,OAAuB,EACvB,OAAuB,EACvB,UAA2D,EAAE;QAE7D,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAClC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE;gBAC7D,SAAS,EAAE,OAAO,CAAC,EAAE;aACtB,CAAC,CAAC;YACH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC;QACpE,CAAC;QACD,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC;YACxD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC;QACrE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YAC/B,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,WAAW,EAAE,OAAO,CAAC,IAAI;YACzB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,eAAe,EACb,OAAO,OAAO,CAAC,QAAQ,EAAE,eAAe,KAAK,QAAQ;gBACnD,CAAC,CAAE,OAAO,CAAC,QAAQ,CAAC,eAA0B;gBAC9C,CAAC,CAAC,SAAS;YACf,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;YACnE,YAAY,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC;YAC3D,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC;YACjC,gBAAgB,EAAE,gBAAgB,CAAC,OAAO,CAAC;YAC3C,cAAc,EAAE,gBAAgB,CAAC,OAAO,CAAC;SAC1C,CAAC,CAAC;QAEH,IAAI,MAAmE,CAAC;QACxE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACjF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;gBAC1C,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,GAAG,EAAE,MAAM;aACZ,CAAC,CAAC;YACH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,uEAAuE;YACvE,uEAAuE;YACvE,sEAAsE;YACtE,mEAAmE;YACnE,oCAAoC;YACpC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uDAAuD,EAAE;oBACxE,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,YAAY,EAAE,OAAO,CAAC,YAAY;iBACnC,CAAC,CAAC;gBACH,IAAI,SAAS,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC;oBACH,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAC7D,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE;wBAClD,YAAY,EAAE,OAAO,CAAC,YAAY;wBAClC,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACtD,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;oBACjF,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO;4BACL,UAAU,EAAE,KAAK;4BACjB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;yBACxD,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;oBACpD,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,GAAG,EAAE,MAAM,CAAC,KAAK;iBAClB,CAAC,CAAC;gBACH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,sBAAsB,EAAE,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE;YACtC,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK;SAC/B,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACnE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,OAAyC;IACrE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC/G,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAClB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE;YAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACzD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"chat-v2.dispatcher.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/chat-v2/chat-v2.dispatcher.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAQH,OAAO,EAAE,aAAa,EAAmB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAClK,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAChI,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAyZvF,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAyC;IACxE,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC9B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;IAC/B,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAyC;IACxE,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC9B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IACvD,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxF,CAAC;AAED;;;;;;;;GAQG;AACH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAiC;IAClE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,OAAO,GACZ,IAAI,CAAC,MAAM,GAAG,sBAAsB,CAAC,iBAAiB;YACrD,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,GAAG;YAC/D,CAAC,CAAC,IAAI,CAAC;QACT,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,OAAO;QACN,oBAAoB;QACpB,GAAG,KAAK;QACR,yDAAyD;KACzD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,OAAwD,EAAE,YAAoB;IACpG,IAAI,CAAC,OAAO,CAAC,eAAe;QAAE,OAAO,SAAS,CAAC;IAC/C,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAA+C,EAC/C,IAA6B,EAC7B,iBAAsC;IAEtC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,iBAAiB;QAAE,OAAO,KAAK,CAAC;IACrF,IAAI,UAAU,CAAC,IAAI,KAAK,kBAAkB;QAAE,OAAO,IAAI,CAAC;IACxD,IAAI,UAAU,CAAC,IAAI,KAAK,iBAAiB;QAAE,OAAO,IAAI,KAAK,UAAU,CAAC;IACtE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAsB,EAAE,IAA6B;IACxF,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC;IACzC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/D,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,UAAU,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,iBAAiB;YAC3B,CAAC,CAAC,yBAAyB,GAAG,oFAAoF;YAClH,CAAC,CAAC,iBAAiB,GAAG,0FAA0F,CAAC;IACrH,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;QAClD,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QACxC,OAAO,6DAA6D,GAAG,kGAAkG,CAAC;IAC5K,CAAC;IACD,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9E,OAAO,gGAAgG,GAAG,mIAAmI,CAAC;AAChP,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAC9B,iLAAiL,CAAC;AAEpL,MAAM,UAAU,mBAAmB,CAAC,IAAsB;IACxD,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAC7H,+DAA+D;IAC/D,kEAAkE;IAClE,mEAAmE;IACnE,kEAAkE;IAClE,6BAA6B;IAC7B,MAAM,WAAW,GACf,IAAI,CAAC,iBAAiB,KAAK,KAAK;QAC9B,CAAC,CAAC,+GAA+G;QACjH,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,UAAU,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,oEAAoE;IACpE,oEAAoE;IACpE,qCAAqC;IACrC,MAAM,IAAI,GAAG,YAAY,IAAI,UAAU,CAAC;IACxC,IAAI,SAAiB,CAAC;IACtB,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;QACjC,qEAAqE;QACrE,yEAAyE;QACzE,uEAAuE;QACvE,wEAAwE;QACxE,mEAAmE;QACnE,wEAAwE;QACxE,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,uBAAuB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtH,MAAM,KAAK,GAAG,GAAG,QAAQ,wDAAwD,CAAC;QAClF,MAAM,GAAG,GAAG,GAAG,KAAK,cAAc,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,2BAA2B,CAAC;QACjH,wEAAwE;QACxE,qEAAqE;QACrE,yEAAyE;QACzE,+CAA+C;QAC/C,MAAM,UAAU,GAAG,GAAG,KAAK,cAAc,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;QACzG,yEAAyE;QACzE,0EAA0E;QAC1E,iEAAiE;QACjE,MAAM,UAAU,GAAG,GAAG,KAAK,cAAc,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC;QACvK,0EAA0E;QAC1E,MAAM,aAAa,GAAG,8DAA8D,CAAC;QACrF,SAAS,GAAG,IAAI,CAAC,QAAQ,KAAK,cAAc;YAC1C,CAAC,CAAC,4IAA4I,UAAU,+EAA+E;YACvO,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,aAAa;gBAC/B,CAAC,CAAC,kFAAkF,UAAU,oCAAoC,GAAG,sFAAsF;gBAC3N,CAAC,CAAC,IAAI,KAAK,UAAU;oBACvB,CAAC,CAAC,mCAAmC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,0HAA0H,UAAU,8CAA8C,GAAG,6DAA6D,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE;oBACnX,CAAC,CAAC,oCAAoC,GAAG,YAAY,QAAQ,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAC,EAAE,oUAAoU,CAAC;IACzb,CAAC;SAAM,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxD,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7F,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,SAAS;YACP,0BAA0B,IAAI,CAAC,gBAAgB,0BAA0B,SAAS,gDAAgD,SAAS,mCAAmC;gBAC9K,CAAC,SAAS;oBACR,CAAC,CAAC,gBAAgB,SAAS,uBAAuB,SAAS,yEAAyE,SAAS,GAAG,SAAS,oEAAoE,SAAS,GAAG,SAAS,IAAI;wBACpP,6EAA6E;oBAC/E,CAAC,CAAC,EAAE,CAAC;gBACP,gGAAgG,CAAC;IACrG,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,IAAI,KAAK,UAAU;YAC7B,CAAC,CAAC,6IAA6I,SAAS,6BAA6B;YACrL,CAAC,CAAC,qDAAqD,SAAS,2BAA2B,CAAC;IAChG,CAAC;IACD,2EAA2E;IAC3E,2EAA2E;IAC3E,uEAAuE;IACvE,sEAAsE;IACtE,IAAI,IAAI,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,uBAAuB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3H,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC;IACxG,CAAC;IACD,wEAAwE;IACxE,oEAAoE;IACpE,yEAAyE;IACzE,IAAI,IAAI,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;QACrC,MAAM,UAAU,GACd,QAAQ,KAAK,eAAe;YAC1B,CAAC,CAAC,6CAA6C;YAC/C,CAAC,CAAC,wBAAwB,CAAC;QAC/B,SAAS,IAAI,GAAG,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAChF,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7D,OAAO;QACL,SAAS,SAAS,IAAI,MAAM,KAAK,QAAQ,IAAI,WAAW,GAAG;QAC3D,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,EAAE;QACF,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,OAAO;QACP,EAAE;QACF,KAAK;QACL,SAAS,GAAG,WAAW;QACvB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,mBAAmB,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,OAAO,uBAAuB;IACjB,SAAS,CAAmB;IAC5B,YAAY,CAAqC;IACjD,eAAe,CAAyB;IACxC,gBAAgB,CAA4C;IAC5D,qBAAqB,CAA8D;IACnF,oBAAoB,CAA0D;IAC9E,eAAe,CAAiD;IAChE,aAAa,CAA8C;IAC3D,cAAc,CAAwE;IACtF,YAAY,CAA2C;IACvD,cAAc,CAA6C;IAC5E,4FAA4F;IACnF,cAAc,CAAqB;IAC3B,MAAM,CAAkB;IAEzC,YAAY,OAAgC;QAC1C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,mBAAmB,CAAC;QAChE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;QAC3D,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACzD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,kBAAkB,EAAE,CAAC;QACzE,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IACtF,CAAC;IAED;;;;;;;;;;;OAWG;IACK,UAAU,CAAC,SAAiB,EAAE,QAAiB;QACrD,IAAI,CAAC,sBAAsB,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACvD,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,WAAW,CAAC;YAC9F,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,CAAC,UAAU,CAAC;YAC9D,OAAO,KAAK;iBACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBACZ,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACnC,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YACnD,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gEAAgE;YAChE,8BAA8B;YAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;gBAChD,SAAS;gBACT,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,eAAe,CACnB,OAAuB,EACvB,OAAuB,EACvB,UAAkC,EAAE;QAEpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;oBACpD,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACtD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,SAAS,CAAC,WAAmB,EAAE,OAAuB;QAClE,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QACvC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,aAAa,CAAC,WAAmB,EAAE,OAAuB;QAChE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,MAAM,EAAE,CAAC;gBACX,YAAY,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YACD,MAAM,WAAW,GAAG,OAAO,OAAO,CAAC,QAAQ,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAE,OAAO,CAAC,QAAQ,CAAC,WAAsB,CAAC,CAAC,CAAC,IAAI,CAAC;YACxH,YAAY,EAAE,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,4CAA4C;QAC9C,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,gBAAgB,CAAC,WAAmB,EAAE,SAAiB,EAAE,QAA4B;QAC3F,IAAI,CAAC;YACH,oBAAoB,CAAC,WAAW,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxF,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,KAAK,CACjB,OAAuB,EACvB,OAAuB,EACvB,OAA+B;QAE/B,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAClC,OAAO;gBACL,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,2BAA2B;aACpC,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;QAED,gEAAgE;QAChE,qEAAqE;QACrE,qCAAqC;QACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACvE,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACK,KAAK,CAAC,uBAAuB,CACnC,OAAuB,EACvB,OAAuB,EACvB,UAAkC,EAAE;QAEpC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,EAAE;gBAC5E,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,SAAS,EAAE,OAAO,CAAC,EAAE;aACtB,CAAC,CAAC;YACH,OAAO;gBACL,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,oCAAoC;aAC7C,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,uBAAuB;aAChC,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1I,oEAAoE;QACpE,KAAK,MAAM,WAAW,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC9C,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC;gBAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,WAAW,IAAI,WAAW,EAAE,CAAC;YACtC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACpH,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC/E,CAAC;IAED;;;;;;;;;;OAUG;IACK,gBAAgB,CACtB,OAAuB,EACvB,OAAuB,EACvB,OAA+B,EAC/B,QAA2B,EAC3B,aAAiC;QAEjC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC3G,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE;gBAC3C,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,MAAM,EAAE,OAAO,CAAC,QAAQ;gBACxB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5C,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+DAA+D,EAAE;YAChF,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,SAAS,EAAE,QAAQ;YACnB,SAAS,EAAE,aAAa,IAAI,IAAI;SACjC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,iBAAiB,CACrB,OAAuB,EACvB,OAAuB,EACvB,UAAkC,EAAE;QAEpC,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO,IAAI,GAAG,EAAE,CAAC;QAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,GAAG,EAAE,CAAC;QAC3C,OAAO,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACvF,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,oBAAoB,CAChC,OAAuB,EACvB,OAAuB,EACvB,OAA+B,EAC/B,OAA0B;QAU1B,sEAAsE;QACtE,sEAAsE;QACtE,mEAAmE;QACnE,2BAA2B;QAC3B,6CAA6C;QAC7C,qEAAqE;QACrE,mEAAmE;QACnE,sEAAsE;QACtE,sEAAsE;QACtE,qEAAqE;QACrE,yEAAyE;QACzE,oEAAoE;QACpE,0DAA0D;QAC1D,2DAA2D;QAC3D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,eAAe,IAAI,EAAE;YAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5G,iDAAiD;QACjD,mEAAmE;QACnE,wEAAwE;QACxE,mEAAmE;QACnE,mEAAmE;QACnE,8CAA8C;QAC9C,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,4BAA4B,CAAC,4BAA4B,CAAC,CAAC;QACtG,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QACrF,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmC,CAAC;YAC3D,KAAK,MAAM,CAAC,IAAI,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YACtD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QACvE,CAAC;QACD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACzG,CAAC;QACD,MAAM,OAAO,GACX,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,qBAAqB;YAC5C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC1F,CAAC,CAAC,EAAE,CAAC;QACT,wEAAwE;QACxE,uEAAuE;QACvE,sEAAsE;QACtE,8DAA8D;QAC9D,kEAAkE;QAClE,4CAA4C;QAC5C,MAAM,WAAW,GACf,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,oBAAoB;YACrE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmC,CAAC;QAC3D,KAAK,MAAM,CAAC,IAAI,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC7B,oEAAoE;YACpE,iEAAiE;YACjE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,GAAG,EAA0C,CAAC;QACpE,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,oEAAoE;YACpE,wEAAwE;YACxE,wEAAwE;YACxE,uDAAuD;YACvD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,KAAK,MAAM,CAAC,IAAI,SAAS;oBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YACxD,CAAC;iBAAM,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACvC,uDAAuD;YACzD,CAAC;iBAAM,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;gBAC7D,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAClF,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBACxE,IAAI,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IAC5D,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACK,KAAK,CAAC,mBAAmB,CAC/B,OAAuB,EACvB,OAAuB,EACvB,OAA+B,EAC/B,GAAwB,EACxB,SAA8B,EAC9B,SAAmB;QAQnB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmC,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,GAAG,EAA0C,CAAC;QACpE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;QAC5E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,KAAK,MAAM,CAAC,IAAI,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,mBAAmB,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7F,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GACf,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACxH,IAAI,WAAW,IAAI,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC;gBAC1E,CAAC;qBAAM,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACvC,uDAAuD;gBACzD,CAAC;qBAAM,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;oBAC7D,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAClF,CAAC;qBAAM,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACnF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;oBACxE,IAAI,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;wBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,EAAE,UAAU,CAAC;QAClC,MAAM,WAAW,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,aAAa,GACjB,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAC9B,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/F,CAAC,CAAC,KAAK;gBACL,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClE,CAAC,CAAC,SAAS,CAAC;QAClB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACrG,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,KAAwB;QACpE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrG,IAAI,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QACpD,IAAI,KAAK,GAA+B,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,GAAG,EAAE,CAAC;QACb,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAClE,CAAC;QACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,sBAAsB,CAClC,OAAuB,EACvB,OAAuB,EACvB,OAA+B,EAC/B,OAA0B,EAC1B,OAA6C,EAC7C,SAA4B,EAC5B,YAAiE,IAAI,GAAG,EAAE;QAE1E,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,EAAE;gBAC7E,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,OAAO,EAAE,OAAO,CAAC,MAAM;aACxB,CAAC,CAAC;YACH,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;QACjF,CAAC;QAED,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,IAAI,aAAa,GAAG,KAAK,CAAC;QAE1B,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,CAAC,WAAmB,EAAE,YAAqC,EAAE,gBAAyB,EAAU,EAAE,CAClH,IAAI,CAAC,YAAY,CAAC;YAChB,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,WAAW,EAAE,OAAO,CAAC,IAAI;YACzB,iBAAiB,EAAE,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC;YACnD,YAAY,EAAE,WAAW;YACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,eAAe,EACb,OAAO,OAAO,CAAC,QAAQ,EAAE,eAAe,KAAK,QAAQ;gBACnD,CAAC,CAAE,OAAO,CAAC,QAAQ,CAAC,eAA0B;gBAC9C,CAAC,CAAC,SAAS;YACf,YAAY;YACZ,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;YACpC,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC;YACtD,YAAY,EAAE,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC;YAClD,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC;YACjC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC,CAAC;QAEL,iFAAiF;QACjF,MAAM,OAAO,GAAG,KAAK,EAAE,WAAmB,EAAE,YAAqC,EAA8D,EAAE;YAC/I,2EAA2E;YAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5E,IAAI,CAAC;gBACH,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CACpD,WAAW,EACX,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,CACpE,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,OAAO;oBAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACjF,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,sBAAsB,EAAE,CAAC;YAClJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC5D,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;gBACxG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YACtC,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,OAAO,EAAE,CAAC;YAClD,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrC,wEAAwE;gBACxE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8DAA8D,EAAE;oBAC/E,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,WAAW;oBACX,YAAY;iBACb,CAAC,CAAC;gBACH,IAAI,SAAS,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC;oBACH,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBACpD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;wBACzD,WAAW;wBACX,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACtD,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,SAAS;oBAAE,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,EAAE,YAAY,EAAE,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC3G,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACzJ,aAAa,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;YACrG,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE;oBAC3D,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,WAAW;oBACX,GAAG,EAAE,MAAM,CAAC,KAAK;iBAClB,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,sBAAsB,EAAE,CAAC,CAAC;YACjH,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,kBAAkB;YAC5B,UAAU,EAAE,aAAa;YACzB,cAAc,EAAE,QAAQ;SACzB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,uBAAuB,CACnC,OAAuB,EACvB,OAAuB;QAEvB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,EAAE;gBACxE,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,SAAS,EAAE,OAAO,CAAC,EAAE;aACtB,CAAC,CAAC;YACH,OAAO;gBACL,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,4CAA4C;aACrD,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,qCAAqC;aAC9C,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAA2B,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAElE,MAAM,QAAQ,GAA6B,EAAE,CAAC;QAC9C,IAAI,aAAa,GAAG,KAAK,CAAC;QAE1B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC;gBACtD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC,CAAC;gBACnF,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;gBAC/B,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,YAAY,EAAE,MAAM,CAAC,WAAW;gBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,eAAe,EACb,OAAO,OAAO,CAAC,QAAQ,EAAE,eAAe,KAAK,QAAQ;oBACnD,CAAC,CAAE,OAAO,CAAC,QAAQ,CAAC,eAA0B;oBAC9C,CAAC,CAAC,SAAS;gBACf,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;gBACnE,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC;aAClC,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBACnF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC5C,aAAa,GAAG,IAAI,CAAC;oBACrB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxF,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE;wBAC5D,SAAS,EAAE,OAAO,CAAC,EAAE;wBACrB,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,GAAG,EAAE,MAAM,CAAC,KAAK;qBAClB,CAAC,CAAC;oBACH,QAAQ,CAAC,IAAI,CAAC;wBACZ,MAAM;wBACN,UAAU,EAAE,KAAK;wBACjB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,sBAAsB;qBAC9C,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE;oBAClD,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,GAAG,EAAE,MAAM;iBACZ,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,kBAAkB;YAC5B,UAAU,EAAE,aAAa;YACzB,eAAe,EAAE,QAAQ;SAC1B,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,CAAC,eAAe,CACnB,OAAuB,EACvB,OAAuB,EACvB,UAA2D,EAAE;QAE7D,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAClC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE;gBAC7D,SAAS,EAAE,OAAO,CAAC,EAAE;aACtB,CAAC,CAAC;YACH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC;QACpE,CAAC;QACD,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC;YACxD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC;QACrE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YAC/B,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,WAAW,EAAE,OAAO,CAAC,IAAI;YACzB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,eAAe,EACb,OAAO,OAAO,CAAC,QAAQ,EAAE,eAAe,KAAK,QAAQ;gBACnD,CAAC,CAAE,OAAO,CAAC,QAAQ,CAAC,eAA0B;gBAC9C,CAAC,CAAC,SAAS;YACf,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;YACnE,YAAY,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC;YAC3D,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC;YACjC,gBAAgB,EAAE,gBAAgB,CAAC,OAAO,CAAC;YAC3C,cAAc,EAAE,gBAAgB,CAAC,OAAO,CAAC;SAC1C,CAAC,CAAC;QAEH,IAAI,MAAmE,CAAC;QACxE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACjF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;gBAC1C,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,GAAG,EAAE,MAAM;aACZ,CAAC,CAAC;YACH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,uEAAuE;YACvE,uEAAuE;YACvE,sEAAsE;YACtE,mEAAmE;YACnE,oCAAoC;YACpC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uDAAuD,EAAE;oBACxE,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,YAAY,EAAE,OAAO,CAAC,YAAY;iBACnC,CAAC,CAAC;gBACH,IAAI,SAAS,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC;oBACH,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAC7D,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE;wBAClD,YAAY,EAAE,OAAO,CAAC,YAAY;wBAClC,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACtD,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;oBACjF,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO;4BACL,UAAU,EAAE,KAAK;4BACjB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;yBACxD,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;oBACpD,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,GAAG,EAAE,MAAM,CAAC,KAAK;iBAClB,CAAC,CAAC;gBACH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,sBAAsB,EAAE,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE;YACtC,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK;SAC/B,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACnE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,OAAyC;IACrE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC/G,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAClB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE;YAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACzD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|