@nitrostack/core 1.0.3 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -83
- package/dist/core/app-mode.d.ts +54 -0
- package/dist/core/app-mode.d.ts.map +1 -0
- package/dist/core/app-mode.js +67 -0
- package/dist/core/app-mode.js.map +1 -0
- package/dist/core/builders.d.ts +2 -2
- package/dist/core/builders.d.ts.map +1 -1
- package/dist/core/builders.js +10 -5
- package/dist/core/builders.js.map +1 -1
- package/dist/core/component.d.ts +1 -0
- package/dist/core/component.d.ts.map +1 -1
- package/dist/core/component.js +4 -0
- package/dist/core/component.js.map +1 -1
- package/dist/core/decorators.d.ts +36 -7
- package/dist/core/decorators.d.ts.map +1 -1
- package/dist/core/decorators.js +29 -7
- package/dist/core/decorators.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +2 -1
- package/dist/core/logger.js.map +1 -1
- package/dist/core/resource.d.ts +9 -1
- package/dist/core/resource.d.ts.map +1 -1
- package/dist/core/resource.js +19 -0
- package/dist/core/resource.js.map +1 -1
- package/dist/core/server.d.ts +17 -2
- package/dist/core/server.d.ts.map +1 -1
- package/dist/core/server.js +195 -53
- package/dist/core/server.js.map +1 -1
- package/dist/core/tool.d.ts +5 -0
- package/dist/core/tool.d.ts.map +1 -1
- package/dist/core/tool.js +49 -21
- package/dist/core/tool.js.map +1 -1
- package/dist/core/widget-bundle-paths.d.ts +5 -0
- package/dist/core/widget-bundle-paths.d.ts.map +1 -0
- package/dist/core/widget-bundle-paths.js +25 -0
- package/dist/core/widget-bundle-paths.js.map +1 -0
- package/dist/core/widget-html-mime.d.ts +7 -0
- package/dist/core/widget-html-mime.d.ts.map +1 -0
- package/dist/core/widget-html-mime.js +7 -0
- package/dist/core/widget-html-mime.js.map +1 -0
- package/dist/core/widget-mcp-meta.d.ts +18 -0
- package/dist/core/widget-mcp-meta.d.ts.map +1 -0
- package/dist/core/widget-mcp-meta.js +92 -0
- package/dist/core/widget-mcp-meta.js.map +1 -0
- package/dist/core/widget-mime.d.ts +29 -0
- package/dist/core/widget-mime.d.ts.map +1 -0
- package/dist/core/widget-mime.js +41 -0
- package/dist/core/widget-mime.js.map +1 -0
- package/dist/ui-next/index.d.ts +3 -0
- package/dist/ui-next/index.d.ts.map +1 -1
- package/dist/ui-next/index.js +4 -1
- package/dist/ui-next/index.js.map +1 -1
- package/package.json +4 -1
package/dist/core/server.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { Server as McpServer } from '@modelcontextprotocol/sdk/server/index.js';
|
|
2
2
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
3
|
+
import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js';
|
|
3
4
|
import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, ListResourceTemplatesRequestSchema, SubscribeRequestSchema, UnsubscribeRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
4
5
|
import { ResourceTemplate, createResource } from './resource.js';
|
|
6
|
+
import { buildResourceReadContentsMeta } from './widget-mcp-meta.js';
|
|
7
|
+
import { getWidgetMimeType, isMcpAppMode, isOpenAiMode, getAppMode } from './app-mode.js';
|
|
5
8
|
import { createLogger } from './logger.js';
|
|
6
|
-
import { ToolExecutionError, ValidationError, ResourceNotFoundError } from './errors.js';
|
|
9
|
+
import { ToolExecutionError, ValidationError, ResourceNotFoundError, PromptNotFoundError } from './errors.js';
|
|
7
10
|
import { v4 as uuidv4 } from 'uuid';
|
|
8
11
|
import { isModule, getModuleMetadata } from './module.js';
|
|
9
12
|
import { buildController } from './builders.js';
|
|
@@ -33,6 +36,10 @@ export class NitroStackServer {
|
|
|
33
36
|
_transportType;
|
|
34
37
|
/** HTTP transport instance (when using http or dual mode) */
|
|
35
38
|
_httpTransport;
|
|
39
|
+
/** SDK legacy HTTP+SSE routes (GET /sse + POST /mcp/messages) attached once per Express app */
|
|
40
|
+
_legacySseRoutesAttached = false;
|
|
41
|
+
/** Active sessions for @modelcontextprotocol/sdk SSEServerTransport clients */
|
|
42
|
+
legacySdkSseSessions = new Map();
|
|
36
43
|
/** Task manager for MCP Tasks support */
|
|
37
44
|
taskManager;
|
|
38
45
|
constructor(config) {
|
|
@@ -58,29 +65,109 @@ export class NitroStackServer {
|
|
|
58
65
|
this.mcpServer = new McpServer({
|
|
59
66
|
name: this.config.name,
|
|
60
67
|
version: this.config.version,
|
|
61
|
-
},
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
68
|
+
}, NitroStackServer.mcpServerOptions);
|
|
69
|
+
this.setupHandlersOn(this.mcpServer);
|
|
70
|
+
}
|
|
71
|
+
/** Shared MCP server constructor options (main + per legacy SSE session) */
|
|
72
|
+
static mcpServerOptions = {
|
|
73
|
+
capabilities: {
|
|
74
|
+
tools: {
|
|
75
|
+
listChanged: true,
|
|
76
|
+
},
|
|
77
|
+
resources: {
|
|
78
|
+
subscribe: true,
|
|
79
|
+
listChanged: true,
|
|
80
|
+
},
|
|
81
|
+
prompts: {
|
|
82
|
+
listChanged: true,
|
|
83
|
+
},
|
|
84
|
+
tasks: {
|
|
85
|
+
list: {},
|
|
86
|
+
cancel: {},
|
|
87
|
+
requests: {
|
|
88
|
+
tools: { call: {} },
|
|
80
89
|
},
|
|
81
90
|
},
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* SDK-compatible legacy HTTP+SSE: GET /sse (SSEServerTransport) and POST /mcp/messages?sessionId=.
|
|
95
|
+
* Streamable HTTP stays on GET/POST /mcp.
|
|
96
|
+
*/
|
|
97
|
+
attachLegacySdkSseRoutes(app) {
|
|
98
|
+
if (this._legacySseRoutesAttached) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
this._legacySseRoutesAttached = true;
|
|
102
|
+
const LEGACY_SSE_PATH = '/sse';
|
|
103
|
+
const LEGACY_MESSAGES_PATH = '/mcp/messages';
|
|
104
|
+
app.get(LEGACY_SSE_PATH, async (req, res) => {
|
|
105
|
+
try {
|
|
106
|
+
const sessionMcp = new McpServer({
|
|
107
|
+
name: this.config.name,
|
|
108
|
+
version: this.config.version,
|
|
109
|
+
}, NitroStackServer.mcpServerOptions);
|
|
110
|
+
this.setupHandlersOn(sessionMcp);
|
|
111
|
+
const transport = new SSEServerTransport(LEGACY_MESSAGES_PATH, res);
|
|
112
|
+
const sessionId = transport.sessionId;
|
|
113
|
+
this.legacySdkSseSessions.set(sessionId, { server: sessionMcp, transport });
|
|
114
|
+
let closing = false;
|
|
115
|
+
transport.onclose = async () => {
|
|
116
|
+
if (closing) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
closing = true;
|
|
120
|
+
this.legacySdkSseSessions.delete(sessionId);
|
|
121
|
+
try {
|
|
122
|
+
await sessionMcp.close();
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
// ignore
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
transport.onerror = (err) => {
|
|
129
|
+
this.logger.error('Legacy SDK SSE transport error', {
|
|
130
|
+
error: err instanceof Error ? err.message : String(err),
|
|
131
|
+
});
|
|
132
|
+
};
|
|
133
|
+
await sessionMcp.connect(transport);
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
137
|
+
this.logger.error('Failed to start legacy SDK SSE session', { error: message });
|
|
138
|
+
if (!res.headersSent) {
|
|
139
|
+
res.status(500).end('Failed to establish SSE connection');
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
app.post(LEGACY_MESSAGES_PATH, async (req, res) => {
|
|
144
|
+
const sessionId = typeof req.query.sessionId === 'string' ? req.query.sessionId : undefined;
|
|
145
|
+
if (!sessionId) {
|
|
146
|
+
res.status(400).send('Missing sessionId query parameter');
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
const session = this.legacySdkSseSessions.get(sessionId);
|
|
150
|
+
if (!session) {
|
|
151
|
+
res.status(404).send('Unknown session');
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
try {
|
|
155
|
+
await session.transport.handlePostMessage(req, res, req.body);
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
this.logger.error('Legacy SDK SSE POST failed', {
|
|
159
|
+
error: error instanceof Error ? error.message : String(error),
|
|
160
|
+
});
|
|
161
|
+
if (!res.headersSent) {
|
|
162
|
+
res.status(500).end('Failed to process message');
|
|
163
|
+
}
|
|
164
|
+
}
|
|
82
165
|
});
|
|
83
|
-
|
|
166
|
+
}
|
|
167
|
+
attachLegacySdkSseIfNeeded(transport) {
|
|
168
|
+
if (typeof transport.getApp === 'function') {
|
|
169
|
+
this.attachLegacySdkSseRoutes(transport.getApp());
|
|
170
|
+
}
|
|
84
171
|
}
|
|
85
172
|
/**
|
|
86
173
|
* Add a tool to the server
|
|
@@ -111,7 +198,7 @@ export class NitroStackServer {
|
|
|
111
198
|
uri: component.getResourceUri(),
|
|
112
199
|
name: component.name,
|
|
113
200
|
description: component.description || `UI component for ${component.name}`,
|
|
114
|
-
mimeType:
|
|
201
|
+
mimeType: getWidgetMimeType(),
|
|
115
202
|
handler: async (uri, context) => {
|
|
116
203
|
context.logger.info(`Serving component: ${uri}`);
|
|
117
204
|
// In production, serve the bundled HTML file if available
|
|
@@ -152,11 +239,9 @@ export class NitroStackServer {
|
|
|
152
239
|
};
|
|
153
240
|
},
|
|
154
241
|
});
|
|
155
|
-
// Add resource metadata - use type assertion for internal property
|
|
156
242
|
const metadata = component.getResourceMetadata();
|
|
157
243
|
if (metadata && Object.keys(metadata).length > 0) {
|
|
158
|
-
|
|
159
|
-
resourceWithMetadata.metadata = metadata;
|
|
244
|
+
resource.attachWidgetReadMeta(metadata);
|
|
160
245
|
}
|
|
161
246
|
// Register resource
|
|
162
247
|
this.resource(resource);
|
|
@@ -335,11 +420,11 @@ export class NitroStackServer {
|
|
|
335
420
|
};
|
|
336
421
|
}
|
|
337
422
|
/**
|
|
338
|
-
*
|
|
423
|
+
* Register MCP protocol handlers on the given server instance (main or per legacy SSE session).
|
|
339
424
|
*/
|
|
340
|
-
|
|
425
|
+
setupHandlersOn(mcp) {
|
|
341
426
|
// List tools
|
|
342
|
-
|
|
427
|
+
mcp.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
343
428
|
this.logger.debug('Listing tools');
|
|
344
429
|
const tools = await Promise.all(Array.from(this.tools.values()).map((tool) => tool.toMcpTool()));
|
|
345
430
|
return {
|
|
@@ -347,7 +432,7 @@ export class NitroStackServer {
|
|
|
347
432
|
};
|
|
348
433
|
});
|
|
349
434
|
// Call tool
|
|
350
|
-
|
|
435
|
+
mcp.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
351
436
|
const { name, arguments: args } = request.params;
|
|
352
437
|
const tool = this.tools.get(name);
|
|
353
438
|
if (!tool) {
|
|
@@ -418,9 +503,24 @@ export class NitroStackServer {
|
|
|
418
503
|
const transformedData = await component.transformData(result, context);
|
|
419
504
|
response.structuredContent = transformedData;
|
|
420
505
|
// 2. Get _meta (for widget state, hidden from model)
|
|
421
|
-
const widgetMeta = await component.getWidgetMeta(result, context);
|
|
422
|
-
|
|
423
|
-
|
|
506
|
+
const widgetMeta = (await component.getWidgetMeta(result, context)) || {};
|
|
507
|
+
response._meta = widgetMeta;
|
|
508
|
+
// 3. Add mode-specific metadata
|
|
509
|
+
const meta = response._meta;
|
|
510
|
+
if (isMcpAppMode()) {
|
|
511
|
+
// MCP Apps mode: Always ensure _meta.ui.resourceUri is present
|
|
512
|
+
if (!meta.ui) {
|
|
513
|
+
meta.ui = { resourceUri: component.getResourceUri() };
|
|
514
|
+
}
|
|
515
|
+
else if (typeof meta.ui === 'object' && meta.ui !== null && !('resourceUri' in meta.ui)) {
|
|
516
|
+
meta.ui.resourceUri = component.getResourceUri();
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
if (isOpenAiMode()) {
|
|
520
|
+
// OpenAI mode: Always ensure _meta['openai/outputTemplate'] is present
|
|
521
|
+
if (!meta['openai/outputTemplate']) {
|
|
522
|
+
meta['openai/outputTemplate'] = component.getResourceUri();
|
|
523
|
+
}
|
|
424
524
|
}
|
|
425
525
|
context.logger.info(`Tool response includes structured content for component: ${component.id}`);
|
|
426
526
|
}
|
|
@@ -448,7 +548,7 @@ export class NitroStackServer {
|
|
|
448
548
|
// MCP Tasks: tasks/get
|
|
449
549
|
// Returns current task status. Blocks until terminal if needed.
|
|
450
550
|
// ----------------------------------------------------------------
|
|
451
|
-
this.registerCustomHandler('tasks/get', async (params) => {
|
|
551
|
+
this.registerCustomHandler(mcp, 'tasks/get', async (params) => {
|
|
452
552
|
const { taskId } = params;
|
|
453
553
|
if (!taskId) {
|
|
454
554
|
throw { code: -32602, message: 'Invalid params: taskId is required' };
|
|
@@ -468,7 +568,7 @@ export class NitroStackServer {
|
|
|
468
568
|
// Blocks until the task is in a terminal state, then returns the
|
|
469
569
|
// underlying tool call result or error.
|
|
470
570
|
// ----------------------------------------------------------------
|
|
471
|
-
this.registerCustomHandler('tasks/result', async (params) => {
|
|
571
|
+
this.registerCustomHandler(mcp, 'tasks/result', async (params) => {
|
|
472
572
|
const { taskId } = params;
|
|
473
573
|
if (!taskId) {
|
|
474
574
|
throw { code: -32602, message: 'Invalid params: taskId is required' };
|
|
@@ -504,7 +604,7 @@ export class NitroStackServer {
|
|
|
504
604
|
// MCP Tasks: tasks/list
|
|
505
605
|
// Lists tasks with cursor-based pagination.
|
|
506
606
|
// ----------------------------------------------------------------
|
|
507
|
-
this.registerCustomHandler('tasks/list', async (params) => {
|
|
607
|
+
this.registerCustomHandler(mcp, 'tasks/list', async (params) => {
|
|
508
608
|
const { cursor } = (params || {});
|
|
509
609
|
try {
|
|
510
610
|
return this.taskManager.listTasks(cursor);
|
|
@@ -521,7 +621,7 @@ export class NitroStackServer {
|
|
|
521
621
|
// MCP Tasks: tasks/cancel
|
|
522
622
|
// Cancels an active task.
|
|
523
623
|
// ----------------------------------------------------------------
|
|
524
|
-
this.registerCustomHandler('tasks/cancel', async (params) => {
|
|
624
|
+
this.registerCustomHandler(mcp, 'tasks/cancel', async (params) => {
|
|
525
625
|
const { taskId } = params;
|
|
526
626
|
if (!taskId) {
|
|
527
627
|
throw { code: -32602, message: 'Invalid params: taskId is required' };
|
|
@@ -540,14 +640,14 @@ export class NitroStackServer {
|
|
|
540
640
|
}
|
|
541
641
|
});
|
|
542
642
|
// List resources
|
|
543
|
-
|
|
643
|
+
mcp.setRequestHandler(ListResourcesRequestSchema, async () => {
|
|
544
644
|
this.logger.debug('Listing resources');
|
|
545
645
|
return {
|
|
546
646
|
resources: Array.from(this.resources.values()).map((resource) => resource.toMcpResource()),
|
|
547
647
|
};
|
|
548
648
|
});
|
|
549
649
|
// Read resource
|
|
550
|
-
|
|
650
|
+
mcp.setRequestHandler(ReadResourceRequestSchema, async (request) => {
|
|
551
651
|
const { uri } = request.params;
|
|
552
652
|
let resource = this.resources.get(uri);
|
|
553
653
|
// If not found as a static resource, check templates
|
|
@@ -593,6 +693,7 @@ export class NitroStackServer {
|
|
|
593
693
|
mimeType: resource.mimeType || 'application/json',
|
|
594
694
|
text: JSON.stringify(content.data, null, 2),
|
|
595
695
|
};
|
|
696
|
+
break;
|
|
596
697
|
default:
|
|
597
698
|
// Fallback: if content doesn't match ResourceContent shape, treat as JSON
|
|
598
699
|
responseContent = {
|
|
@@ -601,6 +702,10 @@ export class NitroStackServer {
|
|
|
601
702
|
text: JSON.stringify(content, null, 2),
|
|
602
703
|
};
|
|
603
704
|
}
|
|
705
|
+
const contentsMeta = buildResourceReadContentsMeta(resource.getWidgetReadMeta());
|
|
706
|
+
if (contentsMeta) {
|
|
707
|
+
responseContent._meta = contentsMeta;
|
|
708
|
+
}
|
|
604
709
|
this.stats.resourceReads++;
|
|
605
710
|
return {
|
|
606
711
|
contents: [responseContent],
|
|
@@ -613,14 +718,14 @@ export class NitroStackServer {
|
|
|
613
718
|
}
|
|
614
719
|
});
|
|
615
720
|
// List resource templates (RFC 6570 URI templates)
|
|
616
|
-
|
|
721
|
+
mcp.setRequestHandler(ListResourceTemplatesRequestSchema, async () => {
|
|
617
722
|
this.logger.debug('Listing resource templates');
|
|
618
723
|
return {
|
|
619
724
|
resourceTemplates: Array.from(this.resourceTemplates.values()).map((template) => template.toMcpResourceTemplate()),
|
|
620
725
|
};
|
|
621
726
|
});
|
|
622
727
|
// Subscribe to resource updates
|
|
623
|
-
|
|
728
|
+
mcp.setRequestHandler(SubscribeRequestSchema, async (request) => {
|
|
624
729
|
const { uri } = request.params;
|
|
625
730
|
const resource = this.resources.get(uri);
|
|
626
731
|
if (!resource) {
|
|
@@ -633,7 +738,7 @@ export class NitroStackServer {
|
|
|
633
738
|
return {};
|
|
634
739
|
});
|
|
635
740
|
// Unsubscribe from resource updates
|
|
636
|
-
|
|
741
|
+
mcp.setRequestHandler(UnsubscribeRequestSchema, async (request) => {
|
|
637
742
|
const { uri } = request.params;
|
|
638
743
|
const resource = this.resources.get(uri);
|
|
639
744
|
if (!resource) {
|
|
@@ -644,18 +749,18 @@ export class NitroStackServer {
|
|
|
644
749
|
return {};
|
|
645
750
|
});
|
|
646
751
|
// List prompts
|
|
647
|
-
|
|
752
|
+
mcp.setRequestHandler(ListPromptsRequestSchema, async () => {
|
|
648
753
|
this.logger.debug('Listing prompts');
|
|
649
754
|
return {
|
|
650
755
|
prompts: Array.from(this.prompts.values()).map((prompt) => prompt.toMcpPrompt()),
|
|
651
756
|
};
|
|
652
757
|
});
|
|
653
758
|
// Get prompt
|
|
654
|
-
|
|
759
|
+
mcp.setRequestHandler(GetPromptRequestSchema, async (request) => {
|
|
655
760
|
const { name, arguments: args } = request.params;
|
|
656
761
|
const prompt = this.prompts.get(name);
|
|
657
762
|
if (!prompt) {
|
|
658
|
-
throw new
|
|
763
|
+
throw new PromptNotFoundError(name);
|
|
659
764
|
}
|
|
660
765
|
const context = this.createContext();
|
|
661
766
|
try {
|
|
@@ -683,7 +788,7 @@ export class NitroStackServer {
|
|
|
683
788
|
}
|
|
684
789
|
});
|
|
685
790
|
// Error handler
|
|
686
|
-
|
|
791
|
+
mcp.onerror = (error) => {
|
|
687
792
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
688
793
|
this.logger.error('MCP Server error', { error: errorMessage });
|
|
689
794
|
this.stats.errors++;
|
|
@@ -708,7 +813,7 @@ export class NitroStackServer {
|
|
|
708
813
|
// Use explicit transport if set, otherwise infer from NODE_ENV
|
|
709
814
|
const transportType = explicitTransport || (isDevelopment ? 'stdio' : 'dual');
|
|
710
815
|
this._transportType = transportType;
|
|
711
|
-
|
|
816
|
+
this.logger.debug(`NitroStackServer.start(): NODE_ENV=${process.env.NODE_ENV}, MCP_TRANSPORT_TYPE=${explicitTransport}, transportType=${transportType}`);
|
|
712
817
|
// Call onModuleInit for all modules
|
|
713
818
|
for (const moduleClass of this.modules) {
|
|
714
819
|
const moduleInstance = DIContainer.getInstance().resolve(moduleClass);
|
|
@@ -740,6 +845,7 @@ export class NitroStackServer {
|
|
|
740
845
|
version: this.config.version,
|
|
741
846
|
description: this.config.description,
|
|
742
847
|
});
|
|
848
|
+
this.attachLegacySdkSseIfNeeded(httpTransport);
|
|
743
849
|
await httpTransport.start();
|
|
744
850
|
// Store HTTP transport reference BEFORE modules start
|
|
745
851
|
// This allows OAuthModule to register discovery endpoints
|
|
@@ -793,6 +899,7 @@ export class NitroStackServer {
|
|
|
793
899
|
enableSessions: false, // Disable sessions for simpler backward compat
|
|
794
900
|
enableCors: transportOptions?.enableCors !== false, // Enable CORS by default for web clients
|
|
795
901
|
});
|
|
902
|
+
this.attachLegacySdkSseIfNeeded(httpTransport);
|
|
796
903
|
await httpTransport.start();
|
|
797
904
|
this._httpTransport = httpTransport;
|
|
798
905
|
}
|
|
@@ -835,8 +942,10 @@ export class NitroStackServer {
|
|
|
835
942
|
const stdioTransport = new StdioServerTransport();
|
|
836
943
|
await this.mcpServer.connect(stdioTransport);
|
|
837
944
|
this.logger.info(`${this.config.name} started successfully (DUAL MODE)`);
|
|
945
|
+
this.logger.info(`✨ Mode: ${getAppMode().toUpperCase()} (via NITROSTACK_APP_MODE)`);
|
|
838
946
|
this.logger.info(`📡 STDIO: Ready for direct MCP connections`);
|
|
839
|
-
this.logger.info(`🌐 HTTP
|
|
947
|
+
this.logger.info(`🌐 Streamable HTTP: http://${transportOptions?.host || 'localhost'}:${transportOptions?.port || 3000}${transportOptions?.endpoint || '/mcp'}`);
|
|
948
|
+
this.logger.info(`🌐 Legacy SDK SSE: http://${transportOptions?.host || 'localhost'}:${transportOptions?.port || 3000}/sse`);
|
|
840
949
|
}
|
|
841
950
|
else if (transportType === 'http') {
|
|
842
951
|
// HTTP-only transport (Streamable HTTP with SSE)
|
|
@@ -861,6 +970,7 @@ export class NitroStackServer {
|
|
|
861
970
|
version: this.config.version,
|
|
862
971
|
description: this.config.description,
|
|
863
972
|
});
|
|
973
|
+
this.attachLegacySdkSseIfNeeded(transport);
|
|
864
974
|
// Start HTTP server first
|
|
865
975
|
await transport.start();
|
|
866
976
|
httpTransport = transport;
|
|
@@ -869,12 +979,16 @@ export class NitroStackServer {
|
|
|
869
979
|
// Then connect MCP server
|
|
870
980
|
await this.mcpServer.connect(httpTransport);
|
|
871
981
|
this.logger.info(`${this.config.name} started successfully (HTTP SSE transport)`);
|
|
982
|
+
this.logger.info(`✨ Mode: ${getAppMode().toUpperCase()} (via NITROSTACK_APP_MODE)`);
|
|
983
|
+
this.logger.info(`🌐 Streamable HTTP: http://${transportOptions?.host || 'localhost'}:${transportOptions?.port || 3000}${transportOptions?.endpoint || '/mcp'}`);
|
|
984
|
+
this.logger.info(`🌐 Legacy SDK SSE: http://${transportOptions?.host || 'localhost'}:${transportOptions?.port || 3000}/sse`);
|
|
872
985
|
}
|
|
873
986
|
else {
|
|
874
987
|
// STDIO-only transport (default)
|
|
875
988
|
const transport = new StdioServerTransport();
|
|
876
989
|
await this.mcpServer.connect(transport);
|
|
877
990
|
this.logger.info(`${this.config.name} started successfully (STDIO transport)`);
|
|
991
|
+
this.logger.info(`✨ Mode: ${getAppMode().toUpperCase()} (via NITROSTACK_APP_MODE)`);
|
|
878
992
|
}
|
|
879
993
|
}
|
|
880
994
|
catch (error) {
|
|
@@ -904,9 +1018,22 @@ export class NitroStackServer {
|
|
|
904
1018
|
const component = tool.getComponent();
|
|
905
1019
|
const transformedData = await component.transformData(result, context);
|
|
906
1020
|
response.structuredContent = transformedData;
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
1021
|
+
response._meta = (await component.getWidgetMeta(result, context)) || {};
|
|
1022
|
+
const meta = response._meta;
|
|
1023
|
+
if (isMcpAppMode()) {
|
|
1024
|
+
// MCP Apps mode: Always ensure _meta.ui.resourceUri is present
|
|
1025
|
+
if (!meta.ui) {
|
|
1026
|
+
meta.ui = { resourceUri: component.getResourceUri() };
|
|
1027
|
+
}
|
|
1028
|
+
else if (typeof meta.ui === 'object' && meta.ui !== null && !('resourceUri' in meta.ui)) {
|
|
1029
|
+
meta.ui.resourceUri = component.getResourceUri();
|
|
1030
|
+
}
|
|
1031
|
+
}
|
|
1032
|
+
if (isOpenAiMode()) {
|
|
1033
|
+
// OpenAI mode: Always ensure _meta['openai/outputTemplate'] is present
|
|
1034
|
+
if (!meta['openai/outputTemplate']) {
|
|
1035
|
+
meta['openai/outputTemplate'] = component.getResourceUri();
|
|
1036
|
+
}
|
|
910
1037
|
}
|
|
911
1038
|
}
|
|
912
1039
|
this.taskManager.completeTask(taskId, response);
|
|
@@ -933,11 +1060,10 @@ export class NitroStackServer {
|
|
|
933
1060
|
* The MCP SDK's setRequestHandler only works with pre-defined schemas,
|
|
934
1061
|
* so we hook into the transport-level message handling.
|
|
935
1062
|
*/
|
|
936
|
-
registerCustomHandler(method, handler) {
|
|
1063
|
+
registerCustomHandler(mcp, method, handler) {
|
|
937
1064
|
// Store handler for use in message routing (dual/HTTP mode)
|
|
938
1065
|
this._customHandlers.set(method, handler);
|
|
939
|
-
|
|
940
|
-
const mcpServerInternal = this.mcpServer;
|
|
1066
|
+
const mcpServerInternal = mcp;
|
|
941
1067
|
if (mcpServerInternal._requestHandlers) {
|
|
942
1068
|
mcpServerInternal._requestHandlers.set(method, async (req) => {
|
|
943
1069
|
return handler(req.params || {});
|
|
@@ -986,6 +1112,22 @@ export class NitroStackServer {
|
|
|
986
1112
|
}
|
|
987
1113
|
// Destroy task manager (stops cleanup interval)
|
|
988
1114
|
this.taskManager.destroy();
|
|
1115
|
+
for (const { server: sessionMcp, transport: legacyTransport } of this.legacySdkSseSessions.values()) {
|
|
1116
|
+
try {
|
|
1117
|
+
await legacyTransport.close();
|
|
1118
|
+
}
|
|
1119
|
+
catch {
|
|
1120
|
+
// ignore
|
|
1121
|
+
}
|
|
1122
|
+
try {
|
|
1123
|
+
await sessionMcp.close();
|
|
1124
|
+
}
|
|
1125
|
+
catch {
|
|
1126
|
+
// ignore
|
|
1127
|
+
}
|
|
1128
|
+
}
|
|
1129
|
+
this.legacySdkSseSessions.clear();
|
|
1130
|
+
this._legacySseRoutesAttached = false;
|
|
989
1131
|
// Close HTTP transport if running in dual mode
|
|
990
1132
|
if (this._httpTransport) {
|
|
991
1133
|
await this._httpTransport.close();
|
package/dist/core/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAG7E,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,kCAAkC,EAClC,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAY,gBAAgB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAY3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC9G,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,WAAW,EACX,WAAW,EAGX,iBAAiB,EACjB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,WAAW,CAAC;AAwDnB;;GAEG;AACH,MAAM,OAAO,gBAAgB;IACnB,SAAS,CAAY;IACrB,KAAK,GAAsB,IAAI,GAAG,EAAE,CAAC;IACrC,SAAS,GAA0B,IAAI,GAAG,EAAE,CAAC;IAC7C,iBAAiB,GAAkC,IAAI,GAAG,EAAE,CAAC;IAC7D,iBAAiB,GAA0B,IAAI,GAAG,EAAE,CAAC;IACrD,OAAO,GAAwB,IAAI,GAAG,EAAE,CAAC;IACzC,OAAO,GAAuB,EAAE,CAAC;IACjC,MAAM,CAAkB;IACxB,MAAM,CAAS;IACf,KAAK,GAAgB;QAC3B,SAAS,EAAE,CAAC;QACZ,aAAa,EAAE,CAAC;QAChB,gBAAgB,EAAE,CAAC;QACnB,MAAM,EAAE,CAAC;KACV,CAAC;IACM,6BAA6B,GAAoB,EAAE,CAAC;IAE5D,wCAAwC;IAChC,cAAc,CAA6B;IAEnD,6DAA6D;IACrD,cAAc,CAAiB;IAEvC,+FAA+F;IACvF,wBAAwB,GAAG,KAAK,CAAC;IAEzC,+EAA+E;IAC9D,oBAAoB,GAAG,IAAI,GAAG,EAG5C,CAAC;IAEJ,yCAAyC;IACjC,WAAW,CAAc;IAEjC,YAAY,MAAwB;QAClC,2EAA2E;QAC3E,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI;YACtB,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,OAAO;SACjB,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC;YACzB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,MAAM;YAC3C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI;YAC/B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YAC7B,aAAa,EAAE,KAAK,EAAE,mDAAmD;SAC1E,CAAC,CAAC;QAEH,gDAAgD;QAChD,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC;YACjC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,cAAc,EAAE,CAAC,QAAkB,EAAE,EAAE;gBACrC,2DAA2D;gBAC3D,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAC5B;YACE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;SAC7B,EACD,gBAAgB,CAAC,gBAAgB,CAClC,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,4EAA4E;IACpE,MAAM,CAAU,gBAAgB,GAAG;QACzC,YAAY,EAAE;YACZ,KAAK,EAAE;gBACL,WAAW,EAAE,IAAI;aAClB;YACD,SAAS,EAAE;gBACT,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,IAAI;aAClB;YACD,OAAO,EAAE;gBACP,WAAW,EAAE,IAAI;aAClB;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,EAAE;gBACR,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE;oBACR,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;iBACpB;aACF;SACF;KACF,CAAC;IAEF;;;OAGG;IACK,wBAAwB,CAAC,GAAY;QAC3C,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QAErC,MAAM,eAAe,GAAG,MAAM,CAAC;QAC/B,MAAM,oBAAoB,GAAG,eAAe,CAAC;QAE7C,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAC1C,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,SAAS,CAC9B;oBACE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;oBACtB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;iBAC7B,EACD,gBAAgB,CAAC,gBAAgB,CAClC,CAAC;gBACF,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;gBAEjC,MAAM,SAAS,GAAG,IAAI,kBAAkB,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;gBACpE,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;gBACtC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;gBAE5E,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,SAAS,CAAC,OAAO,GAAG,KAAK,IAAI,EAAE;oBAC7B,IAAI,OAAO,EAAE,CAAC;wBACZ,OAAO;oBACT,CAAC;oBACD,OAAO,GAAG,IAAI,CAAC;oBACf,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC5C,IAAI,CAAC;wBACH,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;oBAC3B,CAAC;oBAAC,MAAM,CAAC;wBACP,SAAS;oBACX,CAAC;gBACH,CAAC,CAAC;gBAEF,SAAS,CAAC,OAAO,GAAG,CAAC,GAAG,EAAE,EAAE;oBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE;wBAClD,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACxD,CAAC,CAAC;gBACL,CAAC,CAAC;gBAEF,MAAM,UAAU,CAAC,OAAO,CAAC,SAAgD,CAAC,CAAC;YAC7E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAChF,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAChD,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5F,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;gBAC1D,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACzD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACxC,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,SAAS,CAAC,iBAAiB,CACvC,GAAiC,EACjC,GAAgC,EAChC,GAAG,CAAC,IAAI,CACT,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;oBAC9C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,0BAA0B,CAAC,SAAwB;QACzD,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC3C,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAU;QACb,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAElD,sCAAsC;QACtC,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAG,CAAC;YACvC,qCAAqC;YACrC,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACzE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1F,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,IAAI,CAAC,IAAI,OAAO,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACxG,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,yBAAyB,CAAC,SAAoB;QAC1D,oBAAoB;QACpB,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;QAE1B,gCAAgC;QAChC,MAAM,QAAQ,GAAG,cAAc,CAAC;YAC9B,GAAG,EAAE,SAAS,CAAC,cAAc,EAAE;YAC/B,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,oBAAoB,SAAS,CAAC,IAAI,EAAE;YAC1E,QAAQ,EAAE,iBAAiB,EAAE;YAC7B,OAAO,EAAE,KAAK,EAAE,GAAW,EAAE,OAAO,EAAE,EAAE;gBACtC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;gBAEjD,0DAA0D;gBAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;oBAC7E,IAAI,CAAC;wBACH,qDAAqD;wBACrD,0DAA0D;wBAC1D,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC;wBAC9B,+EAA+E;wBAC/E,uEAAuE;wBAEvE,+BAA+B;wBAC/B,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;wBAElC,yCAAyC;wBACzC,MAAM,aAAa,GAAG;4BACpB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,EAAE,GAAG,QAAQ,OAAO,CAAC;4BAC/D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,kBAAkB,EAAE,GAAG,QAAQ,OAAO,CAAC;4BAChE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,GAAG,QAAQ,OAAO,CAAC;yBAC5D,CAAC;wBAEF,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;4BAC9B,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gCACrB,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gCACzC,OAAO;oCACL,IAAI,EAAE,MAAe;oCACrB,IAAI,EAAE,IAAI;iCACX,CAAC;4BACJ,CAAC;wBACH,CAAC;wBAED,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,QAAQ,kCAAkC,CAAC,CAAC;oBAClG,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;oBACjE,CAAC;gBACH,CAAC;gBAED,OAAO;oBACL,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE;iBAC5B,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC;QACjD,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,QAAQ,CAAC,oBAAoB,CAAC,QAAqC,CAAC,CAAC;QACvE,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,QAAkB;QACzB,mDAAmD;QACnD,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7D,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC;gBACpC,WAAW,EAAE,QAAQ,CAAC,GAAG;gBACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,WAAW,EAAE,QAAQ,CAAC,WAAW;aAClC,CAAC,CAAC;YACH,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC3D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,qEAAqE;QACrE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAc;QACnB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,QAA0B;QACzC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,0BAA0B;QACxB,IAAI,CAAC;YACH,2CAA2C;YAC3C,MAAM,yBAAyB,GAAG,IAAI,CAAC,SAEtC,CAAC;YACF,IAAI,yBAAyB,CAAC,YAAY,EAAE,CAAC;gBAC3C,yBAAyB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,sCAAsC,EAAE,CAAC;qBACvF,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACxJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QAClG,CAAC;IACH,CAAC;IAED;;OAEG;IACH,wBAAwB;QACtB,IAAI,CAAC;YACH,MAAM,yBAAyB,GAAG,IAAI,CAAC,SAEtC,CAAC;YACF,IAAI,yBAAyB,CAAC,YAAY,EAAE,CAAC;gBAC3C,yBAAyB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,oCAAoC,EAAE,CAAC;qBACrF,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACtJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IAED;;OAEG;IACH,sBAAsB;QACpB,IAAI,CAAC;YACH,MAAM,yBAAyB,GAAG,IAAI,CAAC,SAEtC,CAAC;YACF,IAAI,yBAAyB,CAAC,YAAY,EAAE,CAAC;gBAC3C,yBAAyB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,kCAAkC,EAAE,CAAC;qBACnF,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACpJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,GAAW;QAC/B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;gBAAE,OAAO;YAEpD,MAAM,yBAAyB,GAAG,IAAI,CAAC,SAEtC,CAAC;YACF,IAAI,yBAAyB,CAAC,YAAY,EAAE,CAAC;gBAC3C,yBAAyB,CAAC,YAAY,CAAC;oBACrC,MAAM,EAAE,iCAAiC;oBACzC,MAAM,EAAE,EAAE,GAAG,EAAE;iBAChB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAClJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,WAA6B;QAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/B,yBAAyB;QACzB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,SAAS,WAAW,CAAC,IAAI,wDAAwD,CAAC,CAAC;QACrG,CAAC;QAED,sBAAsB;QACtB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,qCAAqC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAEzD,wCAAwC;QACxC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;QAE/C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA6B,UAA+B,CAAC,IAAI,EAAE,CAAC,CAAC;YAEtF,0DAA0D;YAC1D,8DAA8D;YAC9D,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,UAAiB,CAAC,CAAC;YAEzE,iBAAiB;YACjB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,qBAAqB;YACrB,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC3B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YAEH,mBAAmB;YACnB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,iBAAiB,CAAC,CAAC;QAC9F,OAAO,IAAI,CAAC;IACd,CAAC;IAGD;;OAEG;IACH,QAAQ;QACN,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,OAA+D;QACnF,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,MAAM,EAAE;YACnB,QAAQ,EAAE,OAAO,EAAE,QAAQ;YAC3B,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE;SAClC,CAAC;IACJ,CAAC;IAGD;;OAEG;IACK,eAAe,CAAC,GAAc;QACpC,aAAa;QACb,GAAG,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAChE,CAAC;YACF,OAAO;gBACL,KAAK;aACN,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,YAAY;QACZ,GAAG,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAElC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,kBAAkB,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAClE,CAAC;YAED,mEAAmE;YACnE,4CAA4C;YAC5C,iEAAiE;YACjE,wBAAwB;YACxB,mEAAmE;YACnE,MAAM,aAAa,GAAG,OAAO,CAAC,MAAiC,CAAC;YAChE,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAA2B,CAAC;YAClE,MAAM,eAAe,GAAG,SAAS,KAAK,SAAS,CAAC;YAEhD,8CAA8C;YAC9C,IAAI,eAAe,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;gBACxD,MAAM;oBACJ,IAAI,EAAE,CAAC,KAAK;oBACZ,OAAO,EAAE,SAAS,IAAI,sCAAsC;iBAC7D,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;gBACxD,MAAM,IAAI,6BAA6B,EAAE,CAAC;YAC5C,CAAC;YAED,iEAAiE;YACjE,MAAM,UAAU,GAAG,CAAC,IAAI,IAAI,EAAE,CAA8B,CAAC;YAC7D,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,GAAG,UAAU,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;gBACjC,QAAQ,EAAE,KAA8C;gBACxD,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,mEAAmE;YACnE,kEAAkE;YAClE,mEAAmE;YACnE,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAE/B,gEAAgE;gBAChE,6CAA6C;gBAC7C,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC7D,OAAqD,CAAC,IAAI,GAAG,WAAW,CAAC;gBAE1E,oDAAoD;gBACpD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBAErD,sCAAsC;gBACtC,OAAO;oBACL,IAAI,EAAE,QAAQ;iBACf,CAAC;YACJ,CAAC;YAED,mEAAmE;YACnE,0BAA0B;YAC1B,mEAAmE;YACnE,IAAI,CAAC;gBACH,+CAA+C;gBAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAEjD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBAUvB,mCAAmC;gBACnC,MAAM,QAAQ,GAAiB;oBAC7B,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBAC5E;qBACF;iBACF,CAAC;gBAEF,2DAA2D;gBAC3D,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;oBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAG,CAAC;oBAEvC,kDAAkD;oBAClD,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBACvE,QAAQ,CAAC,iBAAiB,GAAG,eAA4B,CAAC;oBAE1D,qDAAqD;oBACrD,MAAM,UAAU,GAAG,CAAC,MAAM,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC1E,QAAQ,CAAC,KAAK,GAAG,UAAuC,CAAC;oBAEzD,gCAAgC;oBAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAM,CAAC;oBAC7B,IAAI,YAAY,EAAE,EAAE,CAAC;wBACnB,+DAA+D;wBAC/D,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;4BACb,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,cAAc,EAAE,EAAe,CAAC;wBACrE,CAAC;6BAAM,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;4BACzF,IAAI,CAAC,EAAU,CAAC,WAAW,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;wBAC5D,CAAC;oBACH,CAAC;oBAED,IAAI,YAAY,EAAE,EAAE,CAAC;wBACnB,uEAAuE;wBACvE,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC;4BACnC,IAAI,CAAC,uBAAuB,CAAC,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;wBAC7D,CAAC;oBACH,CAAC;oBAED,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,4DAA4D,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClG,CAAC;gBAED,OAAO,QAAQ,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;gBAEhF,MAAM,cAAc,GAAG,KAAK,YAAY,eAAe,IAAI,KAAK,YAAY,kBAAkB;oBAC5F,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,IAAI,kBAAkB,CAAC,IAAI,EAAE,KAAc,CAAC,CAAC;gBAEjD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,UAAU,cAAc,CAAC,OAAO,EAAE;yBACzC;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,mEAAmE;QACnE,uBAAuB;QACvB,gEAAgE;QAChE,mEAAmE;QACnE,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,MAA4B,CAAC;YAChD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC;YACxE,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;oBACrC,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC/C,CAAC;gBACD,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;YACpD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,mEAAmE;QACnE,0BAA0B;QAC1B,iEAAiE;QACjE,wCAAwC;QACxC,mEAAmE;QACnE,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,MAA4B,CAAC;YAChD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC;YACxE,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACnE,IAAI,KAAK,EAAE,CAAC;oBACV,oEAAoE;oBACpE,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,6CAA6C;gBAC7C,MAAM,cAAc,GAAG,MAAiC,CAAC;gBACzD,OAAO;oBACL,GAAG,cAAc;oBACjB,KAAK,EAAE;wBACL,GAAG,CAAC,cAAc,EAAE,KAAgC,IAAI,EAAE,CAAC;wBAC3D,sCAAsC,EAAE,EAAE,MAAM,EAAE;qBACnD;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;oBACrC,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC/C,CAAC;gBACD,6DAA6D;gBAC7D,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;oBACpD,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;YACpD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,mEAAmE;QACnE,wBAAwB;QACxB,4CAA4C;QAC5C,mEAAmE;QACnE,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC7D,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAwB,CAAC;YACzD,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;oBACrC,iBAAiB;oBACjB,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC;gBACpE,CAAC;gBACD,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;YACpD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,mEAAmE;QACnE,0BAA0B;QAC1B,0BAA0B;QAC1B,mEAAmE;QACnE,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,MAA4B,CAAC;YAChD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC;YACxE,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;oBACrC,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC/C,CAAC;gBACD,IAAI,GAAG,YAAY,wBAAwB,EAAE,CAAC;oBAC5C,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC/C,CAAC;gBACD,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;YACpD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,GAAG,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACvC,OAAO;gBACL,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC9D,QAAQ,CAAC,aAAa,EAAE,CACzB;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,GAAG,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACjE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAC/B,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEvC,qDAAqD;YACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,KAAK,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC/E,6BAA6B;oBAC7B,uEAAuE;oBACvE,+DAA+D;oBAC/D,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;oBAC3E,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;oBACtE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC;oBAE1C,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBACpB,QAAQ,GAAG,gBAAgB,CAAC;wBAC5B,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC;YACvC,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAErC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAWnD,IAAI,eAAwC,CAAC;gBAE7C,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;oBACrB,KAAK,MAAM;wBACT,eAAe,GAAG;4BAChB,GAAG,EAAE,GAAG;4BACR,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,YAAY;4BAC3C,IAAI,EAAE,OAAO,CAAC,IAAI;yBACnB,CAAC;wBACF,MAAM;oBACR,KAAK,QAAQ;wBACX,eAAe,GAAG;4BAChB,GAAG,EAAE,GAAG;4BACR,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,0BAA0B;4BACzD,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;yBACtC,CAAC;wBACF,MAAM;oBACR,KAAK,MAAM;wBACT,eAAe,GAAG;4BAChB,GAAG,EAAE,GAAG;4BACR,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,kBAAkB;4BACjD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;yBAC5C,CAAC;wBACF,MAAM;oBACR;wBACE,0EAA0E;wBAC1E,eAAe,GAAG;4BAChB,GAAG,EAAE,GAAG;4BACR,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,kBAAkB;4BACjD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;yBACvC,CAAC;gBACN,CAAC;gBAED,MAAM,YAAY,GAAG,6BAA6B,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;gBACjF,IAAI,YAAY,EAAE,CAAC;oBACjB,eAAe,CAAC,KAAK,GAAG,YAAY,CAAC;gBACvC,CAAC;gBAED,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;gBAE3B,OAAO;oBACL,QAAQ,EAAE,CAAC,eAAe,CAAC;iBAC5B,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC/E,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,mDAAmD;QACnD,GAAG,CAAC,iBAAiB,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YACnE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,OAAO;gBACL,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC9E,QAAQ,CAAC,qBAAqB,EAAE,CACjC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,gCAAgC;QAChC,GAAG,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC9D,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEzC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC;YACvC,CAAC;YAED,2EAA2E;YAC3E,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC;YAC9B,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAEjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;YAErE,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,oCAAoC;QACpC,GAAG,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAChE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEzC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC;YACvC,CAAC;YAED,mEAAmE;YACnE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC;YAE7D,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,eAAe;QACf,GAAG,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACzD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACrC,OAAO;gBACL,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACxD,MAAM,CAAC,WAAW,EAAE,CACrB;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,aAAa;QACb,GAAG,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC9D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YACjD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEtC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAErC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;gBAEzD,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAE9B,4CAA4C;gBAC5C,6EAA6E;gBAC7E,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACpC,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,GAAG,CAAC,OAAO;qBAClB;iBACF,CAAC,CAAC,CAAC;gBAEJ,OAAO;oBACL,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,QAAQ;iBACT,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;gBAClF,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,GAAG,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;YACtB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK;QACT,6CAA6C;QAC7C,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAA2D,CAAC;QAElG,yCAAyC;QACzC,4EAA4E;QAC5E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,OAAO,KAAK,aAAa,IAAI,OAAO,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC;QAEjF,+DAA+D;QAC/D,MAAM,aAAa,GAAG,iBAAiB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC9E,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,OAAO,CAAC,GAAG,CAAC,QAAQ,wBAAwB,iBAAiB,mBAAmB,aAAa,EAAE,CAAC,CAAC;QAEzJ,oCAAoC;QACpC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,cAAc,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAiB,WAAW,CAAC,CAAC;YACtF,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC;gBAChC,MAAM,cAAc,CAAC,YAAY,EAAE,CAAC;YACtC,CAAC;QACH,CAAC;QAED,mFAAmF;QACnF,gFAAgF;QAChF,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,WAAW,CAAC;YAE7C,wCAAwC;YACxC,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;YACpF,MAAM,aAAa,GAAG,IAAI,uBAAuB,CAAC;gBAChD,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,MAAM;gBAChB,cAAc,EAAE,KAAK,EAAE,iCAAiC;gBACxD,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,OAAO;aAChD,CAAC,CAAC;YAEH,iEAAiE;YACjE,aAAa,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;gBACxC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAChE,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YACH,aAAa,CAAC,eAAe,CAAC;gBAC5B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC5B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;aACrC,CAAC,CAAC;YAEH,IAAI,CAAC,0BAA0B,CAAC,aAA8B,CAAC,CAAC;YAEhE,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;YAE5B,sDAAsD;YACtD,0DAA0D;YAC1D,IAAI,CAAC,cAAc,GAAG,aAA8B,CAAC;QACvD,CAAC;QAED,iFAAiF;QACjF,yDAAyD;QACzD,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,cAAc,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAiB,WAAW,CAAC,CAAC;YACtF,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;gBACzB,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,WAAW,CAAC;QAE7C,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE;YAC3C,IAAI;YACJ,IAAI;YACJ,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,OAAO;SAChD,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,kBAAkB,CAC9B,gBAA2C,OAAO,EAClD,gBAA4F;QAE5F,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC;YACH,mDAAmD;YACnD,IAAI,IAAI,CAAC,6BAA6B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,6BAA6B,CAAC,MAAM,6BAA6B,CAAC,CAAC;gBACxG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;gBACtD,IAAI,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC,yBAAyB;gBAClE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;gBAC7B,mCAAmC;gBACnC,gEAAgE;gBAChE,sEAAsE;gBAEtE,oEAAoE;gBACpE,IAAI,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;gBACxC,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;oBACpF,aAAa,GAAG,IAAI,uBAAuB,CAAC;wBAC1C,IAAI,EAAE,gBAAgB,EAAE,IAAI,IAAI,IAAI;wBACpC,IAAI,EAAE,gBAAgB,EAAE,IAAI,IAAI,WAAW;wBAC3C,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,IAAI,MAAM;wBAC9C,cAAc,EAAE,KAAK,EAAE,+CAA+C;wBACtE,UAAU,EAAE,gBAAgB,EAAE,UAAU,KAAK,KAAK,EAAE,yCAAyC;qBAC9F,CAAkB,CAAC;oBACpB,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAC;oBAC/C,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;oBAC5B,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;gBACtC,CAAC;gBAED,gDAAgD;gBAChD,2EAA2E;gBAC3E,MAAM,SAAS,GAAG,aAAa,CAAC;gBAChC,SAAS,CAAC,SAAS,GAAG,KAAK,EAAE,OAAuB,EAAE,EAAE;oBACtD,+DAA+D;oBAC/D,IAAI,CAAC;wBACH,6DAA6D;wBAC7D,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAqG,CAAC;wBACrI,MAAM,QAAQ,GAAG,iBAAiB,CAAC,gBAAgB,CAAC;wBACpD,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;4BACtE,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;4BAC7C,IAAI,OAAO,EAAE,CAAC;gCACZ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;gCACtC,4CAA4C;gCAC5C,MAAM,SAAS,CAAC,IAAI,CAAC;oCACnB,OAAO,EAAE,KAAK;oCACd,EAAE,EAAE,OAAO,CAAC,EAAE;oCACd,MAAM;iCACP,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAc,EAAE,CAAC;wBACxB,MAAM,GAAG,GAAG,KAAc,CAAC;wBAC3B,sBAAsB;wBACtB,MAAM,SAAS,CAAC,IAAI,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI;4BACtB,KAAK,EAAE;gCACL,IAAI,EAAE,CAAC,KAAK;gCACZ,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,gBAAgB;6BACzC;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC;gBAEF,yDAAyD;gBACzD,MAAM,cAAc,GAAG,IAAI,oBAAoB,EAAE,CAAC;gBAClD,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAE7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,mCAAmC,CAAC,CAAC;gBACzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,UAAU,EAAE,CAAC,WAAW,EAAE,4BAA4B,CAAC,CAAC;gBACpF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,gBAAgB,EAAE,IAAI,IAAI,WAAW,IAAI,gBAAgB,EAAE,IAAI,IAAI,IAAI,GAAG,gBAAgB,EAAE,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC;gBACjK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,gBAAgB,EAAE,IAAI,IAAI,WAAW,IAAI,gBAAgB,EAAE,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC;YAE/H,CAAC;iBAAM,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;gBACpC,iDAAiD;gBACjD,sCAAsC;gBACtC,IAAI,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;gBACxC,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;oBACpF,MAAM,SAAS,GAAG,IAAI,uBAAuB,CAAC;wBAC5C,IAAI,EAAE,gBAAgB,EAAE,IAAI,IAAI,IAAI;wBACpC,IAAI,EAAE,gBAAgB,EAAE,IAAI,IAAI,WAAW;wBAC3C,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,IAAI,MAAM;wBAC9C,cAAc,EAAE,IAAI;wBACpB,UAAU,EAAE,gBAAgB,EAAE,UAAU,IAAI,KAAK;qBAClD,CAAC,CAAC;oBAEH,iEAAiE;oBACjE,SAAS,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;wBACpC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAChE,CAAC;wBACF,OAAO,KAAK,CAAC;oBACf,CAAC,CAAC,CAAC;oBACH,SAAS,CAAC,eAAe,CAAC;wBACxB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;wBACtB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;wBAC5B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;qBACrC,CAAC,CAAC;oBAEH,IAAI,CAAC,0BAA0B,CAAC,SAA0B,CAAC,CAAC;oBAE5D,0BAA0B;oBAC1B,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;oBACxB,aAAa,GAAG,SAA0B,CAAC;oBAC3C,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;gBACtC,CAAC;gBAED,0BAA0B;gBAC1B,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAgD,CAAC,CAAC;gBAE/E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,4CAA4C,CAAC,CAAC;gBAClF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,UAAU,EAAE,CAAC,WAAW,EAAE,4BAA4B,CAAC,CAAC;gBACpF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,gBAAgB,EAAE,IAAI,IAAI,WAAW,IAAI,gBAAgB,EAAE,IAAI,IAAI,IAAI,GAAG,gBAAgB,EAAE,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC;gBACjK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,gBAAgB,EAAE,IAAI,IAAI,WAAW,IAAI,gBAAgB,EAAE,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC;YAC/H,CAAC;iBAAM,CAAC;gBACN,iCAAiC;gBACjC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;gBAC7C,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAExC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,yCAAyC,CAAC,CAAC;gBAC/E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,UAAU,EAAE,CAAC,WAAW,EAAE,4BAA4B,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YACrE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,YAAY,CACxB,IAAU,EACV,IAAa,EACb,OAAyB,EACzB,MAAc,EACd,QAAgB;QAEhB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YAUvB,MAAM,QAAQ,GAAiB;gBAC7B,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC5E;iBACF;aACF,CAAC;YAEF,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAG,CAAC;gBACvC,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACvE,QAAQ,CAAC,iBAAiB,GAAG,eAA4B,CAAC;gBAE1D,QAAQ,CAAC,KAAK,GAAG,CAAC,MAAM,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAA8B,IAAI,EAA+B,CAAC;gBAElI,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAM,CAAC;gBAC7B,IAAI,YAAY,EAAE,EAAE,CAAC;oBACnB,+DAA+D;oBAC/D,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;wBACb,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,cAAc,EAAE,EAAe,CAAC;oBACrE,CAAC;yBAAM,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;wBACzF,IAAI,CAAC,EAAU,CAAC,WAAW,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;oBAC5D,CAAC;gBACH,CAAC;gBAED,IAAI,YAAY,EAAE,EAAE,CAAC;oBACnB,uEAAuE;oBACvE,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC;wBACnC,IAAI,CAAC,uBAAuB,CAAC,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;oBAC7D,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;YAEjG,+BAA+B;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC/C,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;gBAClC,CAAC,CAAC,IAAI,CAAC;YACT,IAAI,QAAQ,EAAE,MAAM,KAAK,WAAW,EAAE,CAAC;gBACrC,OAAO,CAAC,6CAA6C;YACvD,CAAC;YAED,MAAM,cAAc,GAAG,KAAK,YAAY,eAAe,IAAI,KAAK,YAAY,kBAAkB;gBAC5F,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,kBAAkB,CAAC,QAAQ,EAAE,KAAc,CAAC,CAAC;YAErD,IAAI,CAAC,WAAW,CAAC,QAAQ,CACvB,MAAM,EACN,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,EACjD,cAAc,CAAC,OAAO,CACvB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAC3B,GAAc,EACd,MAAc,EACd,OAA8D;QAE9D,4DAA4D;QAC5D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE1C,MAAM,iBAAiB,GAAG,GAEzB,CAAC;QACF,IAAI,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;YACvC,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC3D,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,iFAAiF;IACzE,eAAe,GAAuE,IAAI,GAAG,EAAE,CAAC;IAExG;;OAEG;IACK,0BAA0B,CAAC,QAAkB;QACnD,IAAI,CAAC;YACH,MAAM,yBAAyB,GAAG,IAAI,CAAC,SAEtC,CAAC;YACF,IAAI,yBAAyB,CAAC,YAAY,EAAE,CAAC;gBAC3C,yBAAyB,CAAC,YAAY,CAAC;oBACrC,MAAM,EAAE,4BAA4B;oBACpC,MAAM,EAAE,QAAQ;iBACjB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE;oBAC3D,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,4BAA4B;YAC5B,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACvC,MAAM,cAAc,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAiB,WAAW,CAAC,CAAC;gBACtF,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;oBACxB,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;gBAC9B,CAAC;YACH,CAAC;YAED,gDAAgD;YAChD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAE3B,KAAK,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC;gBACpG,IAAI,CAAC;oBACH,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;gBAChC,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;YACH,CAAC;YACD,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YAEtC,+CAA+C;YAC/C,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;gBAClC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAClC,CAAC;YAED,mBAAmB;YACnB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YACpE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;;AAGH;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,MAAuB;IAClD,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC"}
|