n8n-mcp 2.7.9 → 2.7.11
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 +20 -42
- package/data/nodes.db +0 -0
- package/dist/database/database-adapter.d.ts +1 -0
- package/dist/database/database-adapter.d.ts.map +1 -1
- package/dist/database/database-adapter.js +20 -0
- package/dist/database/database-adapter.js.map +1 -1
- package/dist/http-server-single-session.d.ts +2 -0
- package/dist/http-server-single-session.d.ts.map +1 -1
- package/dist/http-server-single-session.js +65 -11
- package/dist/http-server-single-session.js.map +1 -1
- package/dist/http-server.d.ts.map +1 -1
- package/dist/http-server.js +41 -8
- package/dist/http-server.js.map +1 -1
- package/dist/mcp/server.d.ts +7 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +334 -10
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools-documentation.d.ts.map +1 -1
- package/dist/mcp/tools-documentation.js +832 -52
- package/dist/mcp/tools-documentation.js.map +1 -1
- package/dist/mcp/tools-n8n-manager.d.ts.map +1 -1
- package/dist/mcp/tools-n8n-manager.js +10 -112
- package/dist/mcp/tools-n8n-manager.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +42 -36
- package/dist/mcp/tools.js.map +1 -1
- package/dist/scripts/fetch-templates.d.ts.map +1 -1
- package/dist/scripts/fetch-templates.js +37 -0
- package/dist/scripts/fetch-templates.js.map +1 -1
- package/dist/scripts/test-error-handling-validation.d.ts +3 -0
- package/dist/scripts/test-error-handling-validation.d.ts.map +1 -0
- package/dist/scripts/test-error-handling-validation.js +340 -0
- package/dist/scripts/test-error-handling-validation.js.map +1 -0
- package/dist/scripts/test-node-level-properties.d.ts +3 -0
- package/dist/scripts/test-node-level-properties.d.ts.map +1 -0
- package/dist/scripts/test-node-level-properties.js +196 -0
- package/dist/scripts/test-node-level-properties.js.map +1 -0
- package/dist/services/config-validator.d.ts +2 -2
- package/dist/services/config-validator.d.ts.map +1 -1
- package/dist/services/config-validator.js +123 -5
- package/dist/services/config-validator.js.map +1 -1
- package/dist/services/enhanced-config-validator.d.ts +2 -0
- package/dist/services/enhanced-config-validator.d.ts.map +1 -1
- package/dist/services/enhanced-config-validator.js +31 -1
- package/dist/services/enhanced-config-validator.js.map +1 -1
- package/dist/services/example-generator.d.ts.map +1 -1
- package/dist/services/example-generator.js +442 -28
- package/dist/services/example-generator.js.map +1 -1
- package/dist/services/n8n-validation.d.ts +10 -10
- package/dist/services/node-specific-validators.d.ts +8 -1
- package/dist/services/node-specific-validators.d.ts.map +1 -1
- package/dist/services/node-specific-validators.js +608 -59
- package/dist/services/node-specific-validators.js.map +1 -1
- package/dist/services/task-templates.d.ts +1 -0
- package/dist/services/task-templates.d.ts.map +1 -1
- package/dist/services/task-templates.js +858 -16
- package/dist/services/task-templates.js.map +1 -1
- package/dist/services/workflow-diff-engine.d.ts.map +1 -1
- package/dist/services/workflow-diff-engine.js +1 -0
- package/dist/services/workflow-diff-engine.js.map +1 -1
- package/dist/services/workflow-validator.d.ts +9 -0
- package/dist/services/workflow-validator.d.ts.map +1 -1
- package/dist/services/workflow-validator.js +270 -0
- package/dist/services/workflow-validator.js.map +1 -1
- package/dist/sse-server.d.ts +8 -0
- package/dist/sse-server.d.ts.map +1 -0
- package/dist/sse-server.js +652 -0
- package/dist/sse-server.js.map +1 -0
- package/dist/templates/template-repository.d.ts +4 -0
- package/dist/templates/template-repository.d.ts.map +1 -1
- package/dist/templates/template-repository.js +119 -7
- package/dist/templates/template-repository.js.map +1 -1
- package/dist/templates/template-service.d.ts.map +1 -1
- package/dist/templates/template-service.js +2 -0
- package/dist/templates/template-service.js.map +1 -1
- package/dist/types/n8n-api.d.ts +2 -1
- package/dist/types/n8n-api.d.ts.map +1 -1
- package/dist/types/n8n-api.js.map +1 -1
- package/dist/types/sse.d.ts +42 -0
- package/dist/types/sse.d.ts.map +1 -0
- package/dist/types/sse.js +3 -0
- package/dist/types/sse.js.map +1 -0
- package/dist/utils/sse-session-manager.d.ts +23 -0
- package/dist/utils/sse-session-manager.d.ts.map +1 -0
- package/dist/utils/sse-session-manager.js +178 -0
- package/dist/utils/sse-session-manager.js.map +1 -0
- package/package.json +1 -1
package/dist/mcp/server.js
CHANGED
|
@@ -184,7 +184,7 @@ class N8NDocumentationMCPServer {
|
|
|
184
184
|
case 'get_node_info':
|
|
185
185
|
return this.getNodeInfo(args.nodeType);
|
|
186
186
|
case 'search_nodes':
|
|
187
|
-
return this.searchNodes(args.query, args.limit);
|
|
187
|
+
return this.searchNodes(args.query, args.limit, { mode: args.mode });
|
|
188
188
|
case 'list_ai_tools':
|
|
189
189
|
return this.listAITools();
|
|
190
190
|
case 'get_node_documentation':
|
|
@@ -346,8 +346,226 @@ class N8NDocumentationMCPServer {
|
|
|
346
346
|
aiToolCapabilities
|
|
347
347
|
};
|
|
348
348
|
}
|
|
349
|
-
async searchNodes(query, limit = 20) {
|
|
349
|
+
async searchNodes(query, limit = 20, options) {
|
|
350
350
|
await this.ensureInitialized();
|
|
351
|
+
if (!this.db)
|
|
352
|
+
throw new Error('Database not initialized');
|
|
353
|
+
const searchMode = options?.mode || 'OR';
|
|
354
|
+
const ftsExists = this.db.prepare(`
|
|
355
|
+
SELECT name FROM sqlite_master
|
|
356
|
+
WHERE type='table' AND name='nodes_fts'
|
|
357
|
+
`).get();
|
|
358
|
+
if (ftsExists) {
|
|
359
|
+
return this.searchNodesFTS(query, limit, searchMode);
|
|
360
|
+
}
|
|
361
|
+
else {
|
|
362
|
+
return this.searchNodesLIKE(query, limit);
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
async searchNodesFTS(query, limit, mode) {
|
|
366
|
+
if (!this.db)
|
|
367
|
+
throw new Error('Database not initialized');
|
|
368
|
+
const cleanedQuery = query.trim();
|
|
369
|
+
if (!cleanedQuery) {
|
|
370
|
+
return { query, results: [], totalCount: 0 };
|
|
371
|
+
}
|
|
372
|
+
if (mode === 'FUZZY') {
|
|
373
|
+
return this.searchNodesFuzzy(cleanedQuery, limit);
|
|
374
|
+
}
|
|
375
|
+
let ftsQuery;
|
|
376
|
+
if (cleanedQuery.startsWith('"') && cleanedQuery.endsWith('"')) {
|
|
377
|
+
ftsQuery = cleanedQuery;
|
|
378
|
+
}
|
|
379
|
+
else {
|
|
380
|
+
const words = cleanedQuery.split(/\s+/).filter(w => w.length > 0);
|
|
381
|
+
switch (mode) {
|
|
382
|
+
case 'AND':
|
|
383
|
+
ftsQuery = words.join(' AND ');
|
|
384
|
+
break;
|
|
385
|
+
case 'OR':
|
|
386
|
+
default:
|
|
387
|
+
ftsQuery = words.join(' OR ');
|
|
388
|
+
break;
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
try {
|
|
392
|
+
const nodes = this.db.prepare(`
|
|
393
|
+
SELECT
|
|
394
|
+
n.*,
|
|
395
|
+
rank
|
|
396
|
+
FROM nodes n
|
|
397
|
+
JOIN nodes_fts ON n.rowid = nodes_fts.rowid
|
|
398
|
+
WHERE nodes_fts MATCH ?
|
|
399
|
+
ORDER BY
|
|
400
|
+
rank,
|
|
401
|
+
CASE
|
|
402
|
+
WHEN n.display_name = ? THEN 0
|
|
403
|
+
WHEN n.display_name LIKE ? THEN 1
|
|
404
|
+
WHEN n.node_type LIKE ? THEN 2
|
|
405
|
+
ELSE 3
|
|
406
|
+
END,
|
|
407
|
+
n.display_name
|
|
408
|
+
LIMIT ?
|
|
409
|
+
`).all(ftsQuery, cleanedQuery, `%${cleanedQuery}%`, `%${cleanedQuery}%`, limit);
|
|
410
|
+
const scoredNodes = nodes.map(node => {
|
|
411
|
+
const relevanceScore = this.calculateRelevanceScore(node, cleanedQuery);
|
|
412
|
+
return { ...node, relevanceScore };
|
|
413
|
+
});
|
|
414
|
+
scoredNodes.sort((a, b) => {
|
|
415
|
+
if (a.display_name.toLowerCase() === cleanedQuery.toLowerCase())
|
|
416
|
+
return -1;
|
|
417
|
+
if (b.display_name.toLowerCase() === cleanedQuery.toLowerCase())
|
|
418
|
+
return 1;
|
|
419
|
+
if (a.relevanceScore !== b.relevanceScore) {
|
|
420
|
+
return b.relevanceScore - a.relevanceScore;
|
|
421
|
+
}
|
|
422
|
+
return a.rank - b.rank;
|
|
423
|
+
});
|
|
424
|
+
const hasHttpRequest = scoredNodes.some(n => n.node_type === 'nodes-base.httpRequest');
|
|
425
|
+
if (cleanedQuery.toLowerCase().includes('http') && !hasHttpRequest) {
|
|
426
|
+
logger_1.logger.debug('FTS missed HTTP Request node, augmenting with LIKE search');
|
|
427
|
+
return this.searchNodesLIKE(query, limit);
|
|
428
|
+
}
|
|
429
|
+
const result = {
|
|
430
|
+
query,
|
|
431
|
+
results: scoredNodes.map(node => ({
|
|
432
|
+
nodeType: node.node_type,
|
|
433
|
+
displayName: node.display_name,
|
|
434
|
+
description: node.description,
|
|
435
|
+
category: node.category,
|
|
436
|
+
package: node.package_name,
|
|
437
|
+
relevance: this.calculateRelevance(node, cleanedQuery)
|
|
438
|
+
})),
|
|
439
|
+
totalCount: scoredNodes.length
|
|
440
|
+
};
|
|
441
|
+
if (mode !== 'OR') {
|
|
442
|
+
result.mode = mode;
|
|
443
|
+
}
|
|
444
|
+
return result;
|
|
445
|
+
}
|
|
446
|
+
catch (error) {
|
|
447
|
+
logger_1.logger.warn('FTS5 search failed, falling back to LIKE search:', error.message);
|
|
448
|
+
if (error.message.includes('syntax error') || error.message.includes('fts5')) {
|
|
449
|
+
logger_1.logger.warn(`FTS5 syntax error for query "${query}" in mode ${mode}`);
|
|
450
|
+
const likeResult = await this.searchNodesLIKE(query, limit);
|
|
451
|
+
return {
|
|
452
|
+
...likeResult,
|
|
453
|
+
mode
|
|
454
|
+
};
|
|
455
|
+
}
|
|
456
|
+
return this.searchNodesLIKE(query, limit);
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
async searchNodesFuzzy(query, limit) {
|
|
460
|
+
if (!this.db)
|
|
461
|
+
throw new Error('Database not initialized');
|
|
462
|
+
const words = query.toLowerCase().split(/\s+/).filter(w => w.length > 0);
|
|
463
|
+
if (words.length === 0) {
|
|
464
|
+
return { query, results: [], totalCount: 0, mode: 'FUZZY' };
|
|
465
|
+
}
|
|
466
|
+
const candidateNodes = this.db.prepare(`
|
|
467
|
+
SELECT * FROM nodes
|
|
468
|
+
`).all();
|
|
469
|
+
const scoredNodes = candidateNodes.map(node => {
|
|
470
|
+
const score = this.calculateFuzzyScore(node, query);
|
|
471
|
+
return { node, score };
|
|
472
|
+
});
|
|
473
|
+
const matchingNodes = scoredNodes
|
|
474
|
+
.filter(item => item.score >= 200)
|
|
475
|
+
.sort((a, b) => b.score - a.score)
|
|
476
|
+
.slice(0, limit)
|
|
477
|
+
.map(item => item.node);
|
|
478
|
+
if (matchingNodes.length === 0) {
|
|
479
|
+
const topScores = scoredNodes
|
|
480
|
+
.sort((a, b) => b.score - a.score)
|
|
481
|
+
.slice(0, 5);
|
|
482
|
+
logger_1.logger.debug(`FUZZY search for "${query}" - no matches above 400. Top scores:`, topScores.map(s => ({ name: s.node.display_name, score: s.score })));
|
|
483
|
+
}
|
|
484
|
+
return {
|
|
485
|
+
query,
|
|
486
|
+
mode: 'FUZZY',
|
|
487
|
+
results: matchingNodes.map(node => ({
|
|
488
|
+
nodeType: node.node_type,
|
|
489
|
+
displayName: node.display_name,
|
|
490
|
+
description: node.description,
|
|
491
|
+
category: node.category,
|
|
492
|
+
package: node.package_name
|
|
493
|
+
})),
|
|
494
|
+
totalCount: matchingNodes.length
|
|
495
|
+
};
|
|
496
|
+
}
|
|
497
|
+
calculateFuzzyScore(node, query) {
|
|
498
|
+
const queryLower = query.toLowerCase();
|
|
499
|
+
const displayNameLower = node.display_name.toLowerCase();
|
|
500
|
+
const nodeTypeLower = node.node_type.toLowerCase();
|
|
501
|
+
const nodeTypeClean = nodeTypeLower.replace(/^nodes-base\./, '').replace(/^nodes-langchain\./, '');
|
|
502
|
+
if (displayNameLower === queryLower || nodeTypeClean === queryLower) {
|
|
503
|
+
return 1000;
|
|
504
|
+
}
|
|
505
|
+
const nameDistance = this.getEditDistance(queryLower, displayNameLower);
|
|
506
|
+
const typeDistance = this.getEditDistance(queryLower, nodeTypeClean);
|
|
507
|
+
const nameWords = displayNameLower.split(/\s+/);
|
|
508
|
+
let minWordDistance = Infinity;
|
|
509
|
+
for (const word of nameWords) {
|
|
510
|
+
const distance = this.getEditDistance(queryLower, word);
|
|
511
|
+
if (distance < minWordDistance) {
|
|
512
|
+
minWordDistance = distance;
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
const bestDistance = Math.min(nameDistance, typeDistance, minWordDistance);
|
|
516
|
+
let matchedLen = queryLower.length;
|
|
517
|
+
if (minWordDistance === bestDistance) {
|
|
518
|
+
for (const word of nameWords) {
|
|
519
|
+
if (this.getEditDistance(queryLower, word) === minWordDistance) {
|
|
520
|
+
matchedLen = Math.max(queryLower.length, word.length);
|
|
521
|
+
break;
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
else if (typeDistance === bestDistance) {
|
|
526
|
+
matchedLen = Math.max(queryLower.length, nodeTypeClean.length);
|
|
527
|
+
}
|
|
528
|
+
else {
|
|
529
|
+
matchedLen = Math.max(queryLower.length, displayNameLower.length);
|
|
530
|
+
}
|
|
531
|
+
const similarity = 1 - (bestDistance / matchedLen);
|
|
532
|
+
if (displayNameLower.includes(queryLower) || nodeTypeClean.includes(queryLower)) {
|
|
533
|
+
return 800 + (similarity * 100);
|
|
534
|
+
}
|
|
535
|
+
if (displayNameLower.startsWith(queryLower) ||
|
|
536
|
+
nodeTypeClean.startsWith(queryLower) ||
|
|
537
|
+
nameWords.some(w => w.startsWith(queryLower))) {
|
|
538
|
+
return 700 + (similarity * 100);
|
|
539
|
+
}
|
|
540
|
+
if (bestDistance <= 2) {
|
|
541
|
+
return 500 + ((2 - bestDistance) * 100) + (similarity * 50);
|
|
542
|
+
}
|
|
543
|
+
if (bestDistance <= 3 && queryLower.length >= 4) {
|
|
544
|
+
return 400 + ((3 - bestDistance) * 50) + (similarity * 50);
|
|
545
|
+
}
|
|
546
|
+
return similarity * 300;
|
|
547
|
+
}
|
|
548
|
+
getEditDistance(s1, s2) {
|
|
549
|
+
const m = s1.length;
|
|
550
|
+
const n = s2.length;
|
|
551
|
+
const dp = Array(m + 1).fill(null).map(() => Array(n + 1).fill(0));
|
|
552
|
+
for (let i = 0; i <= m; i++)
|
|
553
|
+
dp[i][0] = i;
|
|
554
|
+
for (let j = 0; j <= n; j++)
|
|
555
|
+
dp[0][j] = j;
|
|
556
|
+
for (let i = 1; i <= m; i++) {
|
|
557
|
+
for (let j = 1; j <= n; j++) {
|
|
558
|
+
if (s1[i - 1] === s2[j - 1]) {
|
|
559
|
+
dp[i][j] = dp[i - 1][j - 1];
|
|
560
|
+
}
|
|
561
|
+
else {
|
|
562
|
+
dp[i][j] = 1 + Math.min(dp[i - 1][j], dp[i][j - 1], dp[i - 1][j - 1]);
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
return dp[m][n];
|
|
567
|
+
}
|
|
568
|
+
async searchNodesLIKE(query, limit) {
|
|
351
569
|
if (!this.db)
|
|
352
570
|
throw new Error('Database not initialized');
|
|
353
571
|
if (query.startsWith('"') && query.endsWith('"')) {
|
|
@@ -355,19 +573,19 @@ class N8NDocumentationMCPServer {
|
|
|
355
573
|
const nodes = this.db.prepare(`
|
|
356
574
|
SELECT * FROM nodes
|
|
357
575
|
WHERE node_type LIKE ? OR display_name LIKE ? OR description LIKE ?
|
|
358
|
-
ORDER BY display_name
|
|
359
576
|
LIMIT ?
|
|
360
|
-
`).all(`%${exactPhrase}%`, `%${exactPhrase}%`, `%${exactPhrase}%`, limit);
|
|
577
|
+
`).all(`%${exactPhrase}%`, `%${exactPhrase}%`, `%${exactPhrase}%`, limit * 3);
|
|
578
|
+
const rankedNodes = this.rankSearchResults(nodes, exactPhrase, limit);
|
|
361
579
|
return {
|
|
362
580
|
query,
|
|
363
|
-
results:
|
|
581
|
+
results: rankedNodes.map(node => ({
|
|
364
582
|
nodeType: node.node_type,
|
|
365
583
|
displayName: node.display_name,
|
|
366
584
|
description: node.description,
|
|
367
585
|
category: node.category,
|
|
368
586
|
package: node.package_name
|
|
369
587
|
})),
|
|
370
|
-
totalCount:
|
|
588
|
+
totalCount: rankedNodes.length
|
|
371
589
|
};
|
|
372
590
|
}
|
|
373
591
|
const words = query.toLowerCase().split(/\s+/).filter(w => w.length > 0);
|
|
@@ -376,23 +594,23 @@ class N8NDocumentationMCPServer {
|
|
|
376
594
|
}
|
|
377
595
|
const conditions = words.map(() => '(node_type LIKE ? OR display_name LIKE ? OR description LIKE ?)').join(' OR ');
|
|
378
596
|
const params = words.flatMap(w => [`%${w}%`, `%${w}%`, `%${w}%`]);
|
|
379
|
-
params.push(limit);
|
|
597
|
+
params.push(limit * 3);
|
|
380
598
|
const nodes = this.db.prepare(`
|
|
381
599
|
SELECT DISTINCT * FROM nodes
|
|
382
600
|
WHERE ${conditions}
|
|
383
|
-
ORDER BY display_name
|
|
384
601
|
LIMIT ?
|
|
385
602
|
`).all(...params);
|
|
603
|
+
const rankedNodes = this.rankSearchResults(nodes, query, limit);
|
|
386
604
|
return {
|
|
387
605
|
query,
|
|
388
|
-
results:
|
|
606
|
+
results: rankedNodes.map(node => ({
|
|
389
607
|
nodeType: node.node_type,
|
|
390
608
|
displayName: node.display_name,
|
|
391
609
|
description: node.description,
|
|
392
610
|
category: node.category,
|
|
393
611
|
package: node.package_name
|
|
394
612
|
})),
|
|
395
|
-
totalCount:
|
|
613
|
+
totalCount: rankedNodes.length
|
|
396
614
|
};
|
|
397
615
|
}
|
|
398
616
|
calculateRelevance(node, query) {
|
|
@@ -405,6 +623,112 @@ class N8NDocumentationMCPServer {
|
|
|
405
623
|
return 'medium';
|
|
406
624
|
return 'low';
|
|
407
625
|
}
|
|
626
|
+
calculateRelevanceScore(node, query) {
|
|
627
|
+
const query_lower = query.toLowerCase();
|
|
628
|
+
const name_lower = node.display_name.toLowerCase();
|
|
629
|
+
const type_lower = node.node_type.toLowerCase();
|
|
630
|
+
const type_without_prefix = type_lower.replace(/^nodes-base\./, '').replace(/^nodes-langchain\./, '');
|
|
631
|
+
let score = 0;
|
|
632
|
+
if (name_lower === query_lower) {
|
|
633
|
+
score = 1000;
|
|
634
|
+
}
|
|
635
|
+
else if (type_without_prefix === query_lower) {
|
|
636
|
+
score = 950;
|
|
637
|
+
}
|
|
638
|
+
else if (query_lower === 'webhook' && node.node_type === 'nodes-base.webhook') {
|
|
639
|
+
score = 900;
|
|
640
|
+
}
|
|
641
|
+
else if ((query_lower === 'http' || query_lower === 'http request' || query_lower === 'http call') && node.node_type === 'nodes-base.httpRequest') {
|
|
642
|
+
score = 900;
|
|
643
|
+
}
|
|
644
|
+
else if (query_lower.includes('http') && query_lower.includes('call') && node.node_type === 'nodes-base.httpRequest') {
|
|
645
|
+
score = 890;
|
|
646
|
+
}
|
|
647
|
+
else if (query_lower.includes('http') && node.node_type === 'nodes-base.httpRequest') {
|
|
648
|
+
score = 850;
|
|
649
|
+
}
|
|
650
|
+
else if (query_lower.includes('webhook') && node.node_type === 'nodes-base.webhook') {
|
|
651
|
+
score = 850;
|
|
652
|
+
}
|
|
653
|
+
else if (name_lower.startsWith(query_lower)) {
|
|
654
|
+
score = 800;
|
|
655
|
+
}
|
|
656
|
+
else if (new RegExp(`\\b${query_lower}\\b`, 'i').test(node.display_name)) {
|
|
657
|
+
score = 700;
|
|
658
|
+
}
|
|
659
|
+
else if (name_lower.includes(query_lower)) {
|
|
660
|
+
score = 600;
|
|
661
|
+
}
|
|
662
|
+
else if (type_without_prefix.includes(query_lower)) {
|
|
663
|
+
score = 500;
|
|
664
|
+
}
|
|
665
|
+
else if (node.description?.toLowerCase().includes(query_lower)) {
|
|
666
|
+
score = 400;
|
|
667
|
+
}
|
|
668
|
+
return score;
|
|
669
|
+
}
|
|
670
|
+
rankSearchResults(nodes, query, limit) {
|
|
671
|
+
const query_lower = query.toLowerCase();
|
|
672
|
+
const scoredNodes = nodes.map(node => {
|
|
673
|
+
const name_lower = node.display_name.toLowerCase();
|
|
674
|
+
const type_lower = node.node_type.toLowerCase();
|
|
675
|
+
const type_without_prefix = type_lower.replace(/^nodes-base\./, '').replace(/^nodes-langchain\./, '');
|
|
676
|
+
let score = 0;
|
|
677
|
+
if (name_lower === query_lower) {
|
|
678
|
+
score = 1000;
|
|
679
|
+
}
|
|
680
|
+
else if (type_without_prefix === query_lower) {
|
|
681
|
+
score = 950;
|
|
682
|
+
}
|
|
683
|
+
else if (query_lower === 'webhook' && node.node_type === 'nodes-base.webhook') {
|
|
684
|
+
score = 900;
|
|
685
|
+
}
|
|
686
|
+
else if ((query_lower === 'http' || query_lower === 'http request' || query_lower === 'http call') && node.node_type === 'nodes-base.httpRequest') {
|
|
687
|
+
score = 900;
|
|
688
|
+
}
|
|
689
|
+
else if (query_lower.includes('webhook') && node.node_type === 'nodes-base.webhook') {
|
|
690
|
+
score = 850;
|
|
691
|
+
}
|
|
692
|
+
else if (query_lower.includes('http') && node.node_type === 'nodes-base.httpRequest') {
|
|
693
|
+
score = 850;
|
|
694
|
+
}
|
|
695
|
+
else if (name_lower.startsWith(query_lower)) {
|
|
696
|
+
score = 800;
|
|
697
|
+
}
|
|
698
|
+
else if (new RegExp(`\\b${query_lower}\\b`, 'i').test(node.display_name)) {
|
|
699
|
+
score = 700;
|
|
700
|
+
}
|
|
701
|
+
else if (name_lower.includes(query_lower)) {
|
|
702
|
+
score = 600;
|
|
703
|
+
}
|
|
704
|
+
else if (type_without_prefix.includes(query_lower)) {
|
|
705
|
+
score = 500;
|
|
706
|
+
}
|
|
707
|
+
else if (node.description?.toLowerCase().includes(query_lower)) {
|
|
708
|
+
score = 400;
|
|
709
|
+
}
|
|
710
|
+
const words = query_lower.split(/\s+/).filter(w => w.length > 0);
|
|
711
|
+
if (words.length > 1) {
|
|
712
|
+
const allWordsInName = words.every(word => name_lower.includes(word));
|
|
713
|
+
const allWordsInDesc = words.every(word => node.description?.toLowerCase().includes(word));
|
|
714
|
+
if (allWordsInName)
|
|
715
|
+
score += 200;
|
|
716
|
+
else if (allWordsInDesc)
|
|
717
|
+
score += 100;
|
|
718
|
+
if (query_lower === 'http call' && name_lower === 'http request') {
|
|
719
|
+
score = 920;
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
return { node, score };
|
|
723
|
+
});
|
|
724
|
+
scoredNodes.sort((a, b) => {
|
|
725
|
+
if (a.score !== b.score) {
|
|
726
|
+
return b.score - a.score;
|
|
727
|
+
}
|
|
728
|
+
return a.node.display_name.localeCompare(b.node.display_name);
|
|
729
|
+
});
|
|
730
|
+
return scoredNodes.slice(0, limit).map(item => item.node);
|
|
731
|
+
}
|
|
408
732
|
async listAITools() {
|
|
409
733
|
await this.ensureInitialized();
|
|
410
734
|
if (!this.repository)
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wEAAmE;AACnE,wEAAiF;AACjF,iEAI4C;AAC5C,2BAAgC;AAChC,gDAAwB;AACxB,mCAAqD;AACrD,2DAAyD;AACzD,4CAAyC;AACzC,iEAA6D;AAC7D,mEAAsF;AACtF,iEAA6D;AAC7D,qEAAiE;AACjE,+DAA2D;AAE3D,qFAAmH;AACnH,6EAAyE;AACzE,wDAAoD;AACpD,oEAAgE;AAChE,uEAAmE;AACnE,+CAAuD;AACvD,oEAAsD;AACtD,qEAAuE;AACvE,+DAA+E;AAC/E,8CAAmD;AAoBnD,MAAa,yBAAyB;IAQpC;QANQ,OAAE,GAA2B,IAAI,CAAC;QAClC,eAAU,GAA0B,IAAI,CAAC;QACzC,oBAAe,GAA2B,IAAI,CAAC;QAE/C,UAAK,GAAG,IAAI,0BAAW,EAAE,CAAC;QAIhC,MAAM,aAAa,GAAG;YACpB,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC;YAC5C,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC;YAC9C,iBAAiB;SAClB,CAAC;QAEF,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9B,IAAI,IAAA,eAAU,EAAC,CAAC,CAAC,EAAE,CAAC;gBAClB,MAAM,GAAG,CAAC,CAAC;gBACX,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,eAAM,CAAC,KAAK,CAAC,sDAAsD,EAAE,aAAa,CAAC,CAAC;YACpF,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;QAGD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAEnD,eAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAGzD,MAAM,aAAa,GAAG,IAAA,4BAAkB,GAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC;YAChC,kCAA0B,CAAC,MAAM,GAAG,sCAAkB,CAAC,MAAM,CAAC,CAAC;YAC/D,kCAA0B,CAAC,MAAM,CAAC;QAEpC,eAAM,CAAC,IAAI,CAAC,+BAA+B,UAAU,oBAAoB,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAE7H,IAAI,CAAC,MAAM,GAAG,IAAI,iBAAM,CACtB;YACE,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EAAE,OAAO;SACjB,EACD;YACE,YAAY,EAAE;gBACZ,KAAK,EAAE,EAAE;aACV;SACF,CACF,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,MAAc;QAC7C,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,GAAG,MAAM,IAAA,wCAAqB,EAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC,eAAe,GAAG,IAAI,kCAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpD,eAAM,CAAC,IAAI,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QAC1G,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,MAAM,IAAI,CAAC,WAAW,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAEO,aAAa;QAEnB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,kCAAuB,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,QAAQ,GAAG;gBACf,eAAe,EAAE,YAAY;gBAC7B,YAAY,EAAE;oBACZ,KAAK,EAAE,EAAE;iBACV;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,uBAAuB;oBAC7B,OAAO,EAAE,yBAAe;iBACzB;aACF,CAAC;YAGF,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;gBACrC,eAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,iCAAsB,EAAE,KAAK,IAAI,EAAE;YAE/D,MAAM,KAAK,GAAG,CAAC,GAAG,kCAA0B,CAAC,CAAC;YAC9C,MAAM,YAAY,GAAG,IAAA,4BAAkB,GAAE,CAAC;YAE1C,IAAI,YAAY,EAAE,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,GAAG,sCAAkB,CAAC,CAAC;gBAClC,eAAM,CAAC,KAAK,CAAC,iBAAiB,KAAK,CAAC,MAAM,qBAAqB,kCAA0B,CAAC,MAAM,oBAAoB,sCAAkB,CAAC,MAAM,cAAc,CAAC,CAAC;YAC/J,CAAC;iBAAM,CAAC;gBACN,eAAM,CAAC,KAAK,CAAC,iBAAiB,KAAK,CAAC,MAAM,uCAAuC,CAAC,CAAC;YACrF,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,gCAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACrE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAEjD,IAAI,CAAC;gBACH,eAAM,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAClD,eAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,wBAAwB,CAAC,CAAC;gBACnD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,eAAM,CAAC,KAAK,CAAC,wBAAwB,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;gBACpD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,wBAAwB,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;yBAClG;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,IAAS;QACvC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,qBAAqB;gBACxB,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5D,KAAK,YAAY;gBACf,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9B,KAAK,eAAe;gBAClB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,KAAK,cAAc;gBACjB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACvE,KAAK,eAAe;gBAClB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5B,KAAK,wBAAwB;gBAC3B,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClD,KAAK,yBAAyB;gBAC5B,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACtC,KAAK,qBAAqB;gBACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/C,KAAK,wBAAwB;gBAC3B,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/E,KAAK,mBAAmB;gBACtB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,KAAK,YAAY;gBACf,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,KAAK,yBAAyB;gBAC5B,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACxF,KAAK,uBAAuB;gBAC1B,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9D,KAAK,2BAA2B;gBAC9B,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAClE,KAAK,uBAAuB;gBAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/C,KAAK,qBAAqB;gBACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5D,KAAK,cAAc;gBACjB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3C,KAAK,kBAAkB;gBACrB,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACtD,KAAK,wBAAwB;gBAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,KAAK,mBAAmB;gBACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5D,KAAK,+BAA+B;gBAClC,OAAO,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzD,KAAK,+BAA+B;gBAClC,OAAO,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAGzD,KAAK,qBAAqB;gBACxB,OAAO,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAChD,KAAK,kBAAkB;gBACrB,OAAO,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC7C,KAAK,0BAA0B;gBAC7B,OAAO,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACpD,KAAK,4BAA4B;gBAC/B,OAAO,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;YACtD,KAAK,0BAA0B;gBAC7B,OAAO,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACpD,KAAK,0BAA0B;gBAC7B,OAAO,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAChD,KAAK,6BAA6B;gBAChC,OAAO,IAAA,oDAA2B,EAAC,IAAI,CAAC,CAAC;YAC3C,KAAK,qBAAqB;gBACxB,OAAO,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAChD,KAAK,oBAAoB;gBACvB,OAAO,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC/C,KAAK,uBAAuB;gBAC1B,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC/B,IAAI,CAAC,IAAI,CAAC,UAAU;oBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBACpE,OAAO,WAAW,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACnE,KAAK,8BAA8B;gBACjC,OAAO,WAAW,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;YACxD,KAAK,mBAAmB;gBACtB,OAAO,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9C,KAAK,qBAAqB;gBACxB,OAAO,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAChD,KAAK,sBAAsB;gBACzB,OAAO,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACjD,KAAK,kBAAkB;gBACrB,OAAO,WAAW,CAAC,iBAAiB,EAAE,CAAC;YACzC,KAAK,0BAA0B;gBAC7B,OAAO,WAAW,CAAC,wBAAwB,EAAE,CAAC;YAChD,KAAK,gBAAgB;gBACnB,OAAO,WAAW,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YAEvE;gBACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,UAAe,EAAE;QACvC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,IAAI,KAAK,GAAG,+BAA+B,CAAC;QAC5C,MAAM,MAAM,GAAU,EAAE,CAAC;QAIzB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAEpB,MAAM,eAAe,GAAG;gBACtB,OAAO,CAAC,OAAO;gBACf,QAAQ,OAAO,CAAC,OAAO,EAAE;gBACzB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;aACrC,CAAC;YACF,KAAK,IAAI,wBAAwB,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACnF,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,KAAK,IAAI,mBAAmB,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,KAAK,IAAI,4BAA4B,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACnC,KAAK,IAAI,qBAAqB,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;QAED,KAAK,IAAI,wBAAwB,CAAC;QAElC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,KAAK,IAAI,UAAU,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,EAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAc,CAAC;QAElE,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxB,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,WAAW,EAAE,IAAI,CAAC,YAAY;gBAC9B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,YAAY;gBAC1B,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;gBACxC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBACvC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBACxC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;aAC7C,CAAC,CAAC;YACH,UAAU,EAAE,KAAK,CAAC,MAAM;SACzB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,QAAgB;QACxC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACpE,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,CAAC,IAAI,EAAE,CAAC;YAEV,MAAM,YAAY,GAAG;gBACnB,QAAQ;gBACR,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBACvC,kBAAkB,QAAQ,EAAE;gBAC5B,QAAQ,CAAC,WAAW,EAAE;aACvB,CAAC;YAEF,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5C,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,GAAG,KAAK,CAAC;oBACb,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,YAAY,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAGD,MAAM,kBAAkB,GAAG;YACzB,eAAe,EAAE,IAAI;YACrB,uBAAuB,EAAE,IAAI,CAAC,QAAQ;YACtC,2BAA2B,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,gBAAgB;YAChF,kBAAkB,EAAE,SAAS;YAC7B,kBAAkB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC/D,sBAAsB,EAAE,IAAI,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC;gBACzD,8CAA8C,CAAC,CAAC;gBAChD,IAAI;SACP,CAAC;QAEF,OAAO;YACL,GAAG,IAAI;YACP,kBAAkB;SACnB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,KAAa,EACb,QAAgB,EAAE,EAClB,OAGC;QAED,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAE1D,MAAM,UAAU,GAAG,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC;QAGzC,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAGjC,CAAC,CAAC,GAAG,EAAE,CAAC;QAET,IAAI,SAAS,EAAE,CAAC;YAEd,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YAEN,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,KAAa,EAAE,IAA4B;QACrF,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAG1D,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QAC/C,CAAC;QAGD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,QAAgB,CAAC;QAGrB,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAE/D,QAAQ,GAAG,YAAY,CAAC;QAC1B,CAAC;aAAM,CAAC;YAEN,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAElE,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,KAAK;oBAER,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC/B,MAAM;gBAER,KAAK,IAAI,CAAC;gBACV;oBAEE,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC9B,MAAM;YACV,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YAEH,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;OAiB7B,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,YAAY,GAAG,EAAE,IAAI,YAAY,GAAG,EAAE,KAAK,CAAmC,CAAC;YAGlH,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACnC,MAAM,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBACxE,OAAO,EAAE,GAAG,IAAI,EAAE,cAAc,EAAE,CAAC;YACrC,CAAC,CAAC,CAAC;YAGH,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAExB,IAAI,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE;oBAAE,OAAO,CAAC,CAAC,CAAC;gBAC3E,IAAI,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE;oBAAE,OAAO,CAAC,CAAC;gBAG1E,IAAI,CAAC,CAAC,cAAc,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC;oBAC1C,OAAO,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC;gBAC7C,CAAC;gBAGD,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;YACzB,CAAC,CAAC,CAAC;YAGH,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,wBAAwB,CAAC,CAAC;YACvF,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBAEnE,eAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;gBAC1E,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,MAAM,GAAQ;gBAClB,KAAK;gBACL,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAChC,QAAQ,EAAE,IAAI,CAAC,SAAS;oBACxB,WAAW,EAAE,IAAI,CAAC,YAAY;oBAC9B,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,OAAO,EAAE,IAAI,CAAC,YAAY;oBAC1B,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,YAAY,CAAC;iBACvD,CAAC,CAAC;gBACH,UAAU,EAAE,WAAW,CAAC,MAAM;aAC/B,CAAC;YAGF,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACrB,CAAC;YAED,OAAO,MAAM,CAAC;QAEhB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAEpB,eAAM,CAAC,IAAI,CAAC,kDAAkD,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAG/E,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7E,eAAM,CAAC,IAAI,CAAC,gCAAgC,KAAK,aAAa,IAAI,EAAE,CAAC,CAAC;gBAGtE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC5D,OAAO;oBACL,GAAG,UAAU;oBACb,IAAI;iBACL,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,KAAa,EAAE,KAAa;QACzD,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAG1D,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEzE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC9D,CAAC;QAID,MAAM,cAAc,GAAG,IAAI,CAAC,EAAG,CAAC,OAAO,CAAC;;KAEvC,CAAC,CAAC,GAAG,EAAe,CAAC;QAGtB,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACpD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAGH,MAAM,aAAa,GAAG,WAAW;aAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC;aACjC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;aACf,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAG1B,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,WAAW;iBAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;iBACjC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACf,eAAM,CAAC,KAAK,CAAC,qBAAqB,KAAK,uCAAuC,EAC5E,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;QAED,OAAO;YACL,KAAK;YACL,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClC,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,WAAW,EAAE,IAAI,CAAC,YAAY;gBAC9B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,YAAY;aAC3B,CAAC,CAAC;YACH,UAAU,EAAE,aAAa,CAAC,MAAM;SACjC,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,IAAa,EAAE,KAAa;QACtD,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QAGnG,IAAI,gBAAgB,KAAK,UAAU,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC;QACd,CAAC;QAGD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAGrE,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,eAAe,GAAG,QAAQ,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACxD,IAAI,QAAQ,GAAG,eAAe,EAAE,CAAC;gBAC/B,eAAe,GAAG,QAAQ,CAAC;YAC7B,CAAC;QACH,CAAC;QAGD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;QAG3E,IAAI,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;QACnC,IAAI,eAAe,KAAK,YAAY,EAAE,CAAC;YAErC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,eAAe,EAAE,CAAC;oBAC/D,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;oBACtD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;YACzC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,YAAY,GAAG,UAAU,CAAC,CAAC;QAGnD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAChF,OAAO,GAAG,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;QAClC,CAAC;QAGD,IAAI,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC;YACvC,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC;YACpC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAClD,OAAO,GAAG,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;QAClC,CAAC;QAGD,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC9D,CAAC;QAGD,IAAI,YAAY,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAChD,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC7D,CAAC;QAGD,OAAO,UAAU,GAAG,GAAG,CAAC;IAC1B,CAAC;IAEO,eAAe,CAAC,EAAU,EAAE,EAAU;QAE5C,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;QACpB,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;QACpB,MAAM,EAAE,GAAe,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBAC5B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,KAAa,EAAE,KAAa;QACxD,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAI1D,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,EAAG,CAAC,OAAO,CAAC;;;;OAI9B,CAAC,CAAC,GAAG,CAAC,IAAI,WAAW,GAAG,EAAE,IAAI,WAAW,GAAG,EAAE,IAAI,WAAW,GAAG,EAAE,KAAK,GAAG,CAAC,CAAc,CAAC;YAG3F,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YAEtE,OAAO;gBACL,KAAK;gBACL,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAChC,QAAQ,EAAE,IAAI,CAAC,SAAS;oBACxB,WAAW,EAAE,IAAI,CAAC,YAAY;oBAC9B,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,OAAO,EAAE,IAAI,CAAC,YAAY;iBAC3B,CAAC,CAAC;gBACH,UAAU,EAAE,WAAW,CAAC,MAAM;aAC/B,CAAC;QACJ,CAAC;QAGD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEzE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QAC/C,CAAC;QAGD,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAChC,iEAAiE,CAClE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEf,MAAM,MAAM,GAAU,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzE,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAEvB,MAAM,KAAK,GAAG,IAAI,CAAC,EAAG,CAAC,OAAO,CAAC;;cAErB,UAAU;;KAEnB,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAc,CAAC;QAG/B,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAEhE,OAAO;YACL,KAAK;YACL,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChC,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,WAAW,EAAE,IAAI,CAAC,YAAY;gBAC9B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,YAAY;aAC3B,CAAC,CAAC;YACH,UAAU,EAAE,WAAW,CAAC,MAAM;SAC/B,CAAC;IACJ,CAAC;IAEO,kBAAkB,CAAC,IAAa,EAAE,KAAa;QACrD,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,MAAM,CAAC;QACrE,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,MAAM,CAAC;QACxE,IAAI,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,QAAQ,CAAC;QAC1E,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,uBAAuB,CAAC,IAAa,EAAE,KAAa;QAC1D,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QAEtG,IAAI,KAAK,GAAG,CAAC,CAAC;QAGd,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAC/B,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;aAEI,IAAI,mBAAmB,KAAK,WAAW,EAAE,CAAC;YAC7C,KAAK,GAAG,GAAG,CAAC;QACd,CAAC;aAEI,IAAI,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,oBAAoB,EAAE,CAAC;YAC9E,KAAK,GAAG,GAAG,CAAC;QACd,CAAC;aACI,IAAI,CAAC,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,cAAc,IAAI,WAAW,KAAK,WAAW,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,wBAAwB,EAAE,CAAC;YAClJ,KAAK,GAAG,GAAG,CAAC;QACd,CAAC;aAEI,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,wBAAwB,EAAE,CAAC;YACrH,KAAK,GAAG,GAAG,CAAC;QACd,CAAC;aACI,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,wBAAwB,EAAE,CAAC;YACrF,KAAK,GAAG,GAAG,CAAC;QACd,CAAC;aAEI,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,oBAAoB,EAAE,CAAC;YACpF,KAAK,GAAG,GAAG,CAAC;QACd,CAAC;aAEI,IAAI,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5C,KAAK,GAAG,GAAG,CAAC;QACd,CAAC;aAEI,IAAI,IAAI,MAAM,CAAC,MAAM,WAAW,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACzE,KAAK,GAAG,GAAG,CAAC;QACd,CAAC;aAEI,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1C,KAAK,GAAG,GAAG,CAAC;QACd,CAAC;aAEI,IAAI,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACnD,KAAK,GAAG,GAAG,CAAC;QACd,CAAC;aAEI,IAAI,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/D,KAAK,GAAG,GAAG,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,iBAAiB,CAAC,KAAgB,EAAE,KAAa,EAAE,KAAa;QACtE,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAGxC,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACnC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YACnD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;YAEtG,IAAI,KAAK,GAAG,CAAC,CAAC;YAGd,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;gBAC/B,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;iBAEI,IAAI,mBAAmB,KAAK,WAAW,EAAE,CAAC;gBAC7C,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;iBAEI,IAAI,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,oBAAoB,EAAE,CAAC;gBAC9E,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;iBACI,IAAI,CAAC,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,cAAc,IAAI,WAAW,KAAK,WAAW,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,wBAAwB,EAAE,CAAC;gBAClJ,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;iBAEI,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,oBAAoB,EAAE,CAAC;gBACpF,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;iBAEI,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,wBAAwB,EAAE,CAAC;gBACrF,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;iBAEI,IAAI,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC5C,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;iBAEI,IAAI,IAAI,MAAM,CAAC,MAAM,WAAW,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBACzE,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;iBAEI,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC1C,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;iBAEI,IAAI,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnD,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;iBAEI,IAAI,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/D,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;YAGD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACjE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtE,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBAE3F,IAAI,cAAc;oBAAE,KAAK,IAAI,GAAG,CAAC;qBAC5B,IAAI,cAAc;oBAAE,KAAK,IAAI,GAAG,CAAC;gBAGtC,IAAI,WAAW,KAAK,WAAW,IAAI,UAAU,KAAK,cAAc,EAAE,CAAC;oBACjE,KAAK,GAAG,GAAG,CAAC;gBACd,CAAC;YACH,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAGH,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACxB,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;gBACxB,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YAC3B,CAAC;YACD,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAGH,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAG3C,MAAM,OAAO,GAAG,IAAI,CAAC,EAAG,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC,GAAG,EAAS,CAAC;QAO7G,OAAO;YACL,KAAK;YACL,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,YAAY,EAAE;gBACZ,mBAAmB,EAAE,8CAA8C;gBACnE,YAAY,EAAE,oBAAoB;aACnC;YACD,KAAK,EAAE;gBACL,WAAW,EAAE,mGAAmG;gBAChH,IAAI,EAAE,qGAAqG;gBAC3G,QAAQ,EAAE;oBACR,+EAA+E;oBAC/E,4FAA4F;oBAC5F,4DAA4D;iBAC7D;aACF;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,QAAgB;QACjD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAG,CAAC,OAAO,CAAC;;;;KAI7B,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAwB,CAAC;QAExC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,YAAY,CAAC,CAAC;QAChD,CAAC;QAGD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAE1D,OAAO;gBACL,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,WAAW,EAAE,IAAI,CAAC,YAAY;gBAC9B,aAAa,EAAE;IACnB,IAAI,CAAC,YAAY;;EAEnB,IAAI,CAAC,WAAW,IAAI,2BAA2B;;;;EAI/C,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAC3C,OAAO,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9D,CAAC,IAAI,CAAC,MAAM,CAAC;;;;CAIb;gBACO,gBAAgB,EAAE,KAAK;aACxB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,gBAAgB,EAAE,IAAI;SACvB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,qBAAqB;QACjC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,EAAG,CAAC,OAAO,CAAC;;;;;;;;;;KAU9B,CAAC,CAAC,GAAG,EAAS,CAAC;QAEhB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAG,CAAC,OAAO,CAAC;;;;KAIjC,CAAC,CAAC,GAAG,EAAW,CAAC;QAElB,OAAO;YACL,UAAU,EAAE,KAAK,CAAC,KAAK;YACvB,UAAU,EAAE;gBACV,OAAO,EAAE,KAAK,CAAC,QAAQ;gBACvB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,cAAc,EAAE,KAAK,CAAC,SAAS;gBAC/B,sBAAsB,EAAE,KAAK,CAAC,SAAS;gBACvC,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG;gBAC9E,cAAc,EAAE,KAAK,CAAC,QAAQ;gBAC9B,gBAAgB,EAAE,KAAK,CAAC,UAAU;aACnC;YACD,gBAAgB,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACrC,OAAO,EAAE,GAAG,CAAC,YAAY;gBACzB,SAAS,EAAE,GAAG,CAAC,KAAK;aACrB,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QAC9C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAGpE,MAAM,QAAQ,GAAG,cAAc,QAAQ,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAG1B,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,CAAC,IAAI,EAAE,CAAC;YAEV,MAAM,YAAY,GAAG;gBACnB,QAAQ;gBACR,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBACvC,kBAAkB,QAAQ,EAAE;gBAC5B,QAAQ,CAAC,WAAW,EAAE;aACvB,CAAC;YAEF,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5C,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,GAAG,KAAK,CAAC;oBACb,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,YAAY,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAGD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QAG5C,MAAM,UAAU,GAAG,gCAAc,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAG9E,MAAM,QAAQ,GAAG,oCAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAGzE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QAEzC,MAAM,MAAM,GAAG;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,GAAG;YAC5B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;YACtC,kBAAkB,EAAE,UAAU,CAAC,QAAQ;YACvC,gBAAgB,EAAE,UAAU,CAAC,MAAM;YACnC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,SAAS;gBAC7B,WAAW,EAAE,EAAE,CAAC,WAAW;gBAC3B,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,QAAQ,EAAE,EAAE,CAAC,QAAQ;aACtB,CAAC,CAAC;YACH,QAAQ;YACR,QAAQ,EAAE;gBACR,eAAe,EAAE,aAAa,CAAC,MAAM;gBACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;gBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,cAAc;aAC1D;SACF,CAAC;QAGF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAEvC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,QAAgB,EAAE,KAAa,EAAE,aAAqB,EAAE;QACzF,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAGpE,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,CAAC,IAAI,EAAE,CAAC;YAEV,MAAM,YAAY,GAAG;gBACnB,QAAQ;gBACR,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBACvC,kBAAkB,QAAQ,EAAE;gBAC5B,QAAQ,CAAC,WAAW,EAAE;aACvB,CAAC;YAEF,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5C,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,GAAG,KAAK,CAAC;oBACb,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,YAAY,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAGD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,gCAAc,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAElF,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK;YACL,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC;gBACpC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI;gBAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC,CAAC;YACH,YAAY,EAAE,OAAO,CAAC,MAAM;YAC5B,UAAU,EAAE,aAAa,CAAC,MAAM,GAAG,aAAa;SACjD,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAAY;QACvC,MAAM,QAAQ,GAAG,8BAAa,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAErD,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEd,MAAM,OAAO,GAAG,8BAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,IAAI;gBACzB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;oBACjB,CAAC,CAAC,iBAAiB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;oBACpD,CAAC,CAAC,0CAA0C,CAAC,CAChD,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB,IAAI,EAAE;YACzD,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC3B,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ,CAAC,QAAQ;oBACvB,UAAU,EAAE,QAAQ,CAAC,aAAa;iBACnC;gBACD,gBAAgB,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACnD,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC;oBACvE,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;iBACnB,CAAC,CAAC;aACJ;SACF,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,MAAW,EAAE,IAAY;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,GAAG,MAAM,CAAC;QAEnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAEzB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAClD,IAAI,UAAU,EAAE,CAAC;gBACf,KAAK,GAAG,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,QAAiB;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,8BAAa,CAAC,iBAAiB,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YAEnC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,qBAAqB,QAAQ,2BAA2B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7F,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,QAAQ;gBACR,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACtB,MAAM,QAAQ,GAAG,8BAAa,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBACrD,OAAO;wBACL,IAAI;wBACJ,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,EAAE;wBACxC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,EAAE;qBACnC,CAAC;gBACJ,CAAC,CAAC;aACH,CAAC;QACJ,CAAC;QAGD,MAAM,UAAU,GAAG,8BAAa,CAAC,iBAAiB,EAAE,CAAC;QACrD,MAAM,MAAM,GAAQ;YAClB,UAAU,EAAE,8BAAa,CAAC,WAAW,EAAE,CAAC,MAAM;YAC9C,UAAU,EAAE,EAAE;SACf,CAAC;QAEF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACtD,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACxC,MAAM,QAAQ,GAAG,8BAAa,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACrD,OAAO;oBACL,IAAI;oBACJ,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,EAAE;oBACxC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,EAAE;iBACnC,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,QAAgB,EAChB,MAA2B,EAC3B,OAAuB,WAAW,EAClC,UAA6B,aAAa;QAE1C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAGpE,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,CAAC,IAAI,EAAE,CAAC;YAEV,MAAM,YAAY,GAAG;gBACnB,QAAQ;gBACR,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBACvC,kBAAkB,QAAQ,EAAE;gBAC5B,QAAQ,CAAC,WAAW,EAAE;aACvB,CAAC;YAEF,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5C,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,GAAG,KAAK,CAAC;oBACb,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,YAAY,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAGD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QAGzC,MAAM,gBAAgB,GAAG,mDAAuB,CAAC,gBAAgB,CAC/D,IAAI,CAAC,QAAQ,EACb,MAAM,EACN,UAAU,EACV,IAAI,EACJ,OAAO,CACR,CAAC;QAGF,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,GAAG,gBAAgB;YACnB,OAAO,EAAE;gBACP,SAAS,EAAE,CAAC,gBAAgB,CAAC,KAAK;gBAClC,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM;gBAC1C,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC,MAAM;gBAC9C,eAAe,EAAE,gBAAgB,CAAC,WAAW,CAAC,MAAM;aACrD;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,QAAgB,EAAE,MAA4B;QAClF,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAGpE,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,CAAC,IAAI,EAAE,CAAC;YAEV,MAAM,YAAY,GAAG;gBACnB,QAAQ;gBACR,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBACvC,kBAAkB,QAAQ,EAAE;gBAC5B,QAAQ,CAAC,WAAW,EAAE;aACvB,CAAC;YAEF,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5C,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,GAAG,KAAK,CAAC;oBACb,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,YAAY,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAGD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QAGzC,MAAM,QAAQ,GAAG,4CAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAG1D,IAAI,gBAAgB,GAAG,IAAI,CAAC;QAC5B,IAAI,MAAM,EAAE,CAAC;YACX,gBAAgB,GAAG,4CAAoB,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAClF,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,GAAG,QAAQ;YACX,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;gBACtB,cAAc,EAAE,MAAM;gBACtB,gBAAgB;aACjB,CAAC,CAAC,CAAC,SAAS;SACd,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QAC9C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAGpE,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,CAAC,IAAI,EAAE,CAAC;YAEV,MAAM,YAAY,GAAG;gBACnB,QAAQ;gBACR,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBACvC,kBAAkB,QAAQ,EAAE;gBAC5B,QAAQ,CAAC,WAAW,EAAE;aACvB,CAAC;YAEF,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5C,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,GAAG,KAAK,CAAC;oBACb,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,YAAY,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAGD,MAAM,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAGnE,MAAM,kBAAkB,GAAG;YACzB,eAAe,EAAE,IAAI;YACrB,uBAAuB,EAAE,IAAI,CAAC,QAAQ;YACtC,2BAA2B,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,gBAAgB;YAChF,cAAc,EAAE,SAAS;YACzB,cAAc;YACd,YAAY,EAAE;gBACZ,UAAU,EAAE,mDAAmD;gBAC/D,WAAW,EAAE,IAAI,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC;oBAC9C,sEAAsE,CAAC,CAAC;oBACxE,4DAA4D;aAC/D;YACD,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC/C,IAAI,EAAE;gBACJ,kEAAkE;gBAClE,4EAA4E;gBAC5E,4DAA4D;gBAC5D,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACb,0CAA0C,CAAC,CAAC;oBAC5C,uDAAuD;aAC1D;SACF,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,gBAAgB,EAAE,IAAI,CAAC,QAAQ;YAC/B,kBAAkB;SACnB,CAAC;IACJ,CAAC;IAEO,uBAAuB,CAAC,QAAgB;QAC9C,MAAM,UAAU,GAA6B;YAC3C,kBAAkB,EAAE;gBAClB,0CAA0C;gBAC1C,0BAA0B;gBAC1B,sBAAsB;gBACtB,6BAA6B;aAC9B;YACD,yBAAyB,EAAE;gBACzB,wBAAwB;gBACxB,yBAAyB;gBACzB,4BAA4B;gBAC5B,gBAAgB;aACjB;YACD,kBAAkB,EAAE;gBAClB,0BAA0B;gBAC1B,yBAAyB;gBACzB,4BAA4B;gBAC5B,8BAA8B;aAC/B;YACD,wBAAwB,EAAE;gBACxB,oBAAoB;gBACpB,8BAA8B;gBAC9B,eAAe;gBACf,6BAA6B;aAC9B;YACD,qBAAqB,EAAE;gBACrB,gCAAgC;gBAChC,wBAAwB;gBACxB,sCAAsC;gBACtC,4BAA4B;aAC7B;YACD,oBAAoB,EAAE;gBACpB,2BAA2B;gBAC3B,2BAA2B;gBAC3B,sBAAsB;gBACtB,iCAAiC;aAClC;SACF,CAAC;QAGF,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACzD,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;QAGD,OAAO;YACL,2BAA2B;YAC3B,kCAAkC;YAClC,4BAA4B;YAC5B,8BAA8B;SAC/B,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,QAAgB;QACxC,MAAM,UAAU,GAAwB;YACtC,kBAAkB,EAAE;gBAClB,QAAQ,EAAE,oBAAoB;gBAC9B,eAAe,EAAE,0HAA0H;gBAC3I,UAAU,EAAE;oBACV,QAAQ,EAAE,SAAS;oBACnB,SAAS,EAAE,MAAM;oBACjB,OAAO,EAAE,0EAA0E;oBACnF,IAAI,EAAE,0DAA0D;iBACjE;aACF;YACD,yBAAyB,EAAE;gBACzB,QAAQ,EAAE,qBAAqB;gBAC/B,eAAe,EAAE,sHAAsH;gBACvI,UAAU,EAAE;oBACV,SAAS,EAAE,QAAQ;oBACnB,OAAO,EAAE,eAAe;oBACxB,KAAK,EAAE,KAAK;oBACZ,QAAQ,EAAE,SAAS;iBACpB;aACF;YACD,wBAAwB,EAAE;gBACxB,QAAQ,EAAE,UAAU;gBACpB,eAAe,EAAE,oHAAoH;gBACrI,UAAU,EAAE;oBACV,MAAM,EAAE,iEAAiE;oBACzE,GAAG,EAAE,wDAAwD;oBAC7D,QAAQ,EAAE,IAAI;oBACd,eAAe,EAAE,MAAM;oBACvB,QAAQ,EAAE,uDAAuD;iBAClE;aACF;SACF,CAAC;QAGF,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACxD,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QAGD,OAAO;YACL,QAAQ,EAAE,aAAa;YACvB,eAAe,EAAE,gFAAgF;YACjG,UAAU,EAAE;gBACV,IAAI,EAAE,uDAAuD;aAC9D;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,QAAgB,EAAE,MAA2B;QAC7E,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAGpE,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,CAAC,IAAI,EAAE,CAAC;YAEV,MAAM,YAAY,GAAG;gBACnB,QAAQ;gBACR,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBACvC,kBAAkB,QAAQ,EAAE;gBAC5B,QAAQ,CAAC,WAAW,EAAE;aACvB,CAAC;YAEF,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5C,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,GAAG,KAAK,CAAC;oBACb,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,YAAY,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAGD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QAGzC,MAAM,gBAAgB,GAAG;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC;QAGF,MAAM,aAAa,GAAa,EAAE,CAAC;QAEnC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAE9B,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAG7B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,SAAS,GAAG,IAAI,CAAC;gBAGrB,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;oBAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;wBACrE,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;wBAChC,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;wBAEjE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;4BAC1C,SAAS,GAAG,KAAK,CAAC;4BAClB,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBAGD,IAAI,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;oBAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;wBACrE,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;wBAChC,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;wBAEjE,IAAI,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;4BACzC,SAAS,GAAG,KAAK,CAAC;4BAClB,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,SAAS;oBAAE,SAAS;YAC3B,CAAC;YAGD,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC;gBAC3B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC;YACjC,qBAAqB,EAAE,aAAa;SACrC,CAAC;IACJ,CAAC;IAIO,KAAK,CAAC,qBAAqB,CAAC,KAAc,EAAE,QAA+B,YAAY;QAC7F,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YACnC,OAAO,IAAA,sCAAgB,EAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,IAAA,0CAAoB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAGD,KAAK,CAAC,OAAO,CAAC,SAAc;QAC1B,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrC,eAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAClC,aAAa,EAAE,SAAS,CAAC,WAAW,CAAC,IAAI;SAC1C,CAAC,CAAC;IACL,CAAC;IAGO,KAAK,CAAC,iBAAiB,CAAC,SAAmB,EAAE,QAAgB,EAAE;QACrE,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAE/E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAEjF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACL,OAAO,EAAE,mCAAmC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAClE,GAAG,EAAE,mGAAmG;gBACxG,SAAS,EAAE,EAAE;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,SAAS;YACT,KAAK,EAAE,SAAS,CAAC,MAAM;YACvB,GAAG,EAAE,6EAA6E;SACnF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,UAAkB;QAC1C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAE/E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEpE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,KAAK,EAAE,YAAY,UAAU,YAAY;gBACzC,GAAG,EAAE,yEAAyE;aAC/E,CAAC;QACJ,CAAC;QAED,OAAO;YACL,QAAQ;YACR,KAAK,EAAE,6FAA6F;SACrG,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,KAAa,EAAE,QAAgB,EAAE;QAC7D,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAE/E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE3E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACL,OAAO,EAAE,iCAAiC,KAAK,GAAG;gBAClD,GAAG,EAAE,qFAAqF;gBAC1F,SAAS,EAAE,EAAE;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,SAAS;YACT,KAAK,EAAE,SAAS,CAAC,MAAM;YACvB,KAAK;SACN,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,IAAY;QAC5C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAE/E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC;QAEjE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACL,OAAO,EAAE,gCAAgC,IAAI,EAAE;gBAC/C,cAAc;gBACd,GAAG,EAAE,kEAAkE;aACxE,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI;YACJ,SAAS;YACT,KAAK,EAAE,SAAS,CAAC,MAAM;YACvB,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;SAC3C,CAAC;IACJ,CAAC;IAEO,kBAAkB,CAAC,IAAY;QACrC,MAAM,YAAY,GAA2B;YAC3C,eAAe,EAAE,kEAAkE;YACnF,WAAW,EAAE,4DAA4D;YACzE,oBAAoB,EAAE,yDAAyD;YAC/E,kBAAkB,EAAE,iDAAiD;YACrE,mBAAmB,EAAE,6DAA6D;YAClF,qBAAqB,EAAE,uCAAuC;YAC9D,iBAAiB,EAAE,qDAAqD;YACxE,YAAY,EAAE,qDAAqD;YACnE,iBAAiB,EAAE,2CAA2C;YAC9D,qBAAqB,EAAE,oDAAoD;SAC5E,CAAC;QAEF,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,kCAAkC,CAAC;IAClE,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,QAAa,EAAE,OAAa;QACzD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAGpE,MAAM,SAAS,GAAG,IAAI,sCAAiB,CACrC,IAAI,CAAC,UAAU,EACf,mDAAuB,CACxB,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAGnE,MAAM,QAAQ,GAAQ;gBACpB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE;oBACP,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU;oBACxC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY;oBAC5C,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY;oBAC5C,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,gBAAgB;oBACpD,kBAAkB,EAAE,MAAM,CAAC,UAAU,CAAC,kBAAkB;oBACxD,oBAAoB,EAAE,MAAM,CAAC,UAAU,CAAC,oBAAoB;oBAC5D,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;oBAChC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;iBACrC;aACF,CAAC;YAEF,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACxC,IAAI,EAAE,CAAC,CAAC,QAAQ,IAAI,UAAU;oBAC9B,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,OAAO,EAAE,CAAC,CAAC,OAAO;iBACnB,CAAC,CAAC,CAAC;YACN,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC5C,IAAI,EAAE,CAAC,CAAC,QAAQ,IAAI,UAAU;oBAC9B,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,OAAO,EAAE,CAAC,CAAC,OAAO;iBACnB,CAAC,CAAC,CAAC;YACN,CAAC;YAED,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;YAC5C,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YAClD,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mCAAmC;gBACnF,GAAG,EAAE,sEAAsE;aAC5E,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,2BAA2B,CAAC,QAAa;QACrD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAGpE,MAAM,SAAS,GAAG,IAAI,sCAAiB,CACrC,IAAI,CAAC,UAAU,EACf,mDAAuB,CACxB,CAAC;QAEF,IAAI,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE;gBACxD,aAAa,EAAE,KAAK;gBACpB,mBAAmB,EAAE,IAAI;gBACzB,mBAAmB,EAAE,KAAK;aAC3B,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAQ;gBACpB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBACjC,UAAU,EAAE;oBACV,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU;oBACxC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY;oBAC5C,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,gBAAgB;oBACpD,kBAAkB,EAAE,MAAM,CAAC,UAAU,CAAC,kBAAkB;iBACzD;aACF,CAAC;YAGF,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAChD,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAChC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC3B,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC/B,CAAC;YAEF,MAAM,kBAAkB,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACpD,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAChC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC9B,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC9B,CAAC;YAEF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,QAAQ,CAAC,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC3C,IAAI,EAAE,CAAC,CAAC,QAAQ,IAAI,UAAU;oBAC9B,OAAO,EAAE,CAAC,CAAC,OAAO;iBACnB,CAAC,CAAC,CAAC;YACN,CAAC;YAED,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,QAAQ,CAAC,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC/C,IAAI,EAAE,CAAC,CAAC,QAAQ,IAAI,UAAU;oBAC9B,OAAO,EAAE,CAAC,CAAC,OAAO;iBACnB,CAAC,CAAC,CAAC;YACN,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;YAC9D,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sCAAsC;aACvF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,2BAA2B,CAAC,QAAa;QACrD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAGpE,MAAM,SAAS,GAAG,IAAI,sCAAiB,CACrC,IAAI,CAAC,UAAU,EACf,mDAAuB,CACxB,CAAC;QAEF,IAAI,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE;gBACxD,aAAa,EAAE,KAAK;gBACpB,mBAAmB,EAAE,KAAK;gBAC1B,mBAAmB,EAAE,IAAI;aAC1B,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAQ;gBACpB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBACjC,UAAU,EAAE;oBACV,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU;oBACxC,oBAAoB,EAAE,MAAM,CAAC,UAAU,CAAC,oBAAoB;iBAC7D;aACF,CAAC;YAGF,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAChD,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAChC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACvB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CACzB,CAAC;YAEF,MAAM,kBAAkB,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACpD,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAChC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACvB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CACzB,CAAC;YAEF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,QAAQ,CAAC,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC3C,IAAI,EAAE,CAAC,CAAC,QAAQ,IAAI,UAAU;oBAC9B,OAAO,EAAE,CAAC,CAAC,OAAO;iBACnB,CAAC,CAAC,CAAC;YACN,CAAC;YAED,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,QAAQ,CAAC,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC/C,IAAI,EAAE,CAAC,CAAC,QAAQ,IAAI,UAAU;oBAC9B,OAAO,EAAE,CAAC,CAAC,OAAO;iBACnB,CAAC,CAAC,CAAC;YACN,CAAC;YAGD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjE,QAAQ,CAAC,IAAI,GAAG;oBACd,+BAA+B;oBAC/B,wCAAwC;oBACxC,oDAAoD;oBACpD,yCAAyC;iBAC1C,CAAC;YACJ,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;YAC9D,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sCAAsC;aACvF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG;QAEP,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAIrC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YAEnD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAChE,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,UAAS,KAAU,EAAE,QAAc,EAAE,QAAc;gBACxE,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAExD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC;QACJ,CAAC;QAED,eAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QAGvE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC;CACF;AAz4DD,8DAy4DC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools-documentation.d.ts","sourceRoot":"","sources":["../../src/mcp/tools-documentation.ts"],"names":[],"mappings":"AAAA,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE;QACV,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,CAAC;IACF,IAAI,EAAE;QACJ,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QACtF,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;CACH;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"tools-documentation.d.ts","sourceRoot":"","sources":["../../src/mcp/tools-documentation.ts"],"names":[],"mappings":"AAAA,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE;QACV,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,CAAC;IACF,IAAI,EAAE;QACJ,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QACtF,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;CACH;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAqmChE,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,YAAY,GAAG,MAAqB,GAAG,MAAM,CAuD1G;AAED,wBAAgB,gBAAgB,CAAC,KAAK,GAAE,YAAY,GAAG,MAAqB,GAAG,MAAM,CA8LpF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAY/D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAI7D;AAED,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAM3C"}
|