@ng-primitives/mcp 0.95.0
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/package.json +30 -0
- package/src/generated/api-data.json +2802 -0
- package/src/generated/primitives-data.json +1521 -0
- package/src/generated/reusable-components.json +226 -0
- package/src/generated/types.d.ts +26 -0
- package/src/generated/types.js +4 -0
- package/src/generated/types.js.map +1 -0
- package/src/index.d.ts +2 -0
- package/src/index.js +31 -0
- package/src/index.js.map +1 -0
- package/src/primitives-registry.d.ts +40 -0
- package/src/primitives-registry.js +97 -0
- package/src/primitives-registry.js.map +1 -0
- package/src/tools.d.ts +9 -0
- package/src/tools.js +259 -0
- package/src/tools.js.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitives-registry.js","sourceRoot":"","sources":["../../../../packages/mcp/src/primitives-registry.ts"],"names":[],"mappings":"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"}
|
package/src/tools.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
/**
|
|
3
|
+
* Register all MCP tools on the server
|
|
4
|
+
*/
|
|
5
|
+
export declare function registerTools(server: McpServer): void;
|
|
6
|
+
/**
|
|
7
|
+
* Clear the cache (useful for testing)
|
|
8
|
+
*/
|
|
9
|
+
export declare function clearCache(): void;
|
package/src/tools.js
ADDED
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerTools = registerTools;
|
|
4
|
+
exports.clearCache = clearCache;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
const primitives_registry_js_1 = require("./primitives-registry.js");
|
|
8
|
+
// Global registry cache
|
|
9
|
+
let PRIMITIVES_CACHE = null;
|
|
10
|
+
let REUSABLE_COMPONENTS_CACHE = null;
|
|
11
|
+
function getPrimitivesRegistry() {
|
|
12
|
+
if (!PRIMITIVES_CACHE) {
|
|
13
|
+
PRIMITIVES_CACHE = (0, primitives_registry_js_1.getEnrichedPrimitivesRegistry)();
|
|
14
|
+
}
|
|
15
|
+
return PRIMITIVES_CACHE;
|
|
16
|
+
}
|
|
17
|
+
function getReusableComponents() {
|
|
18
|
+
if (!REUSABLE_COMPONENTS_CACHE) {
|
|
19
|
+
REUSABLE_COMPONENTS_CACHE = (0, primitives_registry_js_1.loadReusableComponentsData)();
|
|
20
|
+
}
|
|
21
|
+
return REUSABLE_COMPONENTS_CACHE;
|
|
22
|
+
}
|
|
23
|
+
function getAvailableCategories() {
|
|
24
|
+
const primitives = getPrimitivesRegistry();
|
|
25
|
+
const categories = new Set(primitives.map((p) => p.category));
|
|
26
|
+
return Array.from(categories).sort();
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Register all MCP tools on the server
|
|
30
|
+
*/
|
|
31
|
+
function registerTools(server) {
|
|
32
|
+
server.registerTool('list_primitives', {
|
|
33
|
+
title: 'List Angular Primitives',
|
|
34
|
+
description: 'List available Angular Primitives with optional filtering',
|
|
35
|
+
inputSchema: {
|
|
36
|
+
category: zod_1.z.string().optional().describe('Filter primitives by category'),
|
|
37
|
+
search: zod_1.z.string().optional().describe('Search primitives by name or description'),
|
|
38
|
+
},
|
|
39
|
+
}, (_a) => tslib_1.__awaiter(this, [_a], void 0, function* ({ category, search }) {
|
|
40
|
+
const allPrimitives = getPrimitivesRegistry();
|
|
41
|
+
let filteredPrimitives = allPrimitives;
|
|
42
|
+
if (category) {
|
|
43
|
+
filteredPrimitives = filteredPrimitives.filter((p) => p.category === category);
|
|
44
|
+
}
|
|
45
|
+
if (search) {
|
|
46
|
+
const searchLower = search.toLowerCase();
|
|
47
|
+
filteredPrimitives = filteredPrimitives.filter((p) => p.name.toLowerCase().includes(searchLower) ||
|
|
48
|
+
p.description.toLowerCase().includes(searchLower));
|
|
49
|
+
}
|
|
50
|
+
const availableCategories = getAvailableCategories();
|
|
51
|
+
return {
|
|
52
|
+
content: [
|
|
53
|
+
{
|
|
54
|
+
type: 'text',
|
|
55
|
+
text: JSON.stringify({
|
|
56
|
+
availableCategories,
|
|
57
|
+
primitives: filteredPrimitives.map((p) => ({
|
|
58
|
+
name: p.name,
|
|
59
|
+
description: p.description,
|
|
60
|
+
category: p.category,
|
|
61
|
+
entryPoint: p.entryPoint,
|
|
62
|
+
})),
|
|
63
|
+
}, null, 2),
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
};
|
|
67
|
+
}));
|
|
68
|
+
server.registerTool('get_primitive_details', {
|
|
69
|
+
title: 'Get Primitive Details',
|
|
70
|
+
description: 'Get detailed information about a specific primitive',
|
|
71
|
+
inputSchema: {
|
|
72
|
+
name: zod_1.z.string().describe('The name of the primitive'),
|
|
73
|
+
},
|
|
74
|
+
}, (_a) => tslib_1.__awaiter(this, [_a], void 0, function* ({ name }) {
|
|
75
|
+
const allPrimitives = getPrimitivesRegistry();
|
|
76
|
+
const primitive = allPrimitives.find((p) => p.name === name);
|
|
77
|
+
if (!primitive) {
|
|
78
|
+
return {
|
|
79
|
+
content: [
|
|
80
|
+
{
|
|
81
|
+
type: 'text',
|
|
82
|
+
text: `Primitive "${name}" not found. Available primitives: ${allPrimitives.map((p) => p.name).join(', ')}`,
|
|
83
|
+
},
|
|
84
|
+
],
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
content: [
|
|
89
|
+
{
|
|
90
|
+
type: 'text',
|
|
91
|
+
text: JSON.stringify(Object.assign(Object.assign(Object.assign({}, primitive), { installCommand: `npm install ng-primitives`, importStatement: `import { ${primitive.exports.join(', ')} } from '${primitive.entryPoint}';`, usageExample: (0, primitives_registry_js_1.generateUsageExample)(primitive) }), (primitive.apiData && {
|
|
92
|
+
apiDetails: {
|
|
93
|
+
selector: primitive.apiData.selector,
|
|
94
|
+
exportAs: primitive.apiData.exportAs,
|
|
95
|
+
inputs: primitive.apiData.inputs,
|
|
96
|
+
outputs: primitive.apiData.outputs,
|
|
97
|
+
},
|
|
98
|
+
})), null, 2),
|
|
99
|
+
},
|
|
100
|
+
],
|
|
101
|
+
};
|
|
102
|
+
}));
|
|
103
|
+
server.registerTool('get_install_command', {
|
|
104
|
+
title: 'Get Install Command',
|
|
105
|
+
description: 'Generate npm install command for Angular Primitives',
|
|
106
|
+
inputSchema: {
|
|
107
|
+
primitives: zod_1.z.array(zod_1.z.string()).describe('Array of primitive names to install'),
|
|
108
|
+
},
|
|
109
|
+
}, (_a) => tslib_1.__awaiter(this, [_a], void 0, function* ({ primitives }) {
|
|
110
|
+
const allPrimitives = getPrimitivesRegistry();
|
|
111
|
+
const invalidPrimitives = primitives.filter((name) => !allPrimitives.find((p) => p.name === name));
|
|
112
|
+
if (invalidPrimitives.length > 0) {
|
|
113
|
+
return {
|
|
114
|
+
content: [
|
|
115
|
+
{
|
|
116
|
+
type: 'text',
|
|
117
|
+
text: `Invalid primitives: ${invalidPrimitives.join(', ')}. Available: ${allPrimitives.map((p) => p.name).join(', ')}`,
|
|
118
|
+
},
|
|
119
|
+
],
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
content: [
|
|
124
|
+
{
|
|
125
|
+
type: 'text',
|
|
126
|
+
text: JSON.stringify({
|
|
127
|
+
installCommand: 'npm install ng-primitives',
|
|
128
|
+
note: 'All primitives are included in the main ng-primitives package',
|
|
129
|
+
selectedPrimitives: primitives.map((name) => {
|
|
130
|
+
const primitive = allPrimitives.find((p) => p.name === name);
|
|
131
|
+
return {
|
|
132
|
+
name: primitive.name,
|
|
133
|
+
entryPoint: primitive.entryPoint,
|
|
134
|
+
exports: primitive.exports,
|
|
135
|
+
};
|
|
136
|
+
}),
|
|
137
|
+
}, null, 2),
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
};
|
|
141
|
+
}));
|
|
142
|
+
server.registerTool('list_reusable_components', {
|
|
143
|
+
title: 'List Reusable Components',
|
|
144
|
+
description: 'List available reusable component implementations with variants and size support information',
|
|
145
|
+
inputSchema: {},
|
|
146
|
+
}, () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
147
|
+
const components = getReusableComponents();
|
|
148
|
+
return {
|
|
149
|
+
content: [
|
|
150
|
+
{
|
|
151
|
+
type: 'text',
|
|
152
|
+
text: JSON.stringify(components.map((c) => ({
|
|
153
|
+
name: c.name,
|
|
154
|
+
primitive: c.primitive,
|
|
155
|
+
hasVariants: c.hasVariants,
|
|
156
|
+
hasSizes: c.hasSizes,
|
|
157
|
+
})), null, 2),
|
|
158
|
+
},
|
|
159
|
+
],
|
|
160
|
+
};
|
|
161
|
+
}));
|
|
162
|
+
server.registerTool('get_reusable_component', {
|
|
163
|
+
title: 'Get Reusable Component Code',
|
|
164
|
+
description: 'Get the full source code for a reusable component implementation',
|
|
165
|
+
inputSchema: {
|
|
166
|
+
name: zod_1.z.string().describe('The name of the reusable component'),
|
|
167
|
+
},
|
|
168
|
+
}, (_a) => tslib_1.__awaiter(this, [_a], void 0, function* ({ name }) {
|
|
169
|
+
const components = getReusableComponents();
|
|
170
|
+
const component = components.find((c) => c.name === name);
|
|
171
|
+
if (!component) {
|
|
172
|
+
return {
|
|
173
|
+
content: [
|
|
174
|
+
{
|
|
175
|
+
type: 'text',
|
|
176
|
+
text: `Reusable component "${name}" not found. Available components: ${components.map((c) => c.name).join(', ')}`,
|
|
177
|
+
},
|
|
178
|
+
],
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
182
|
+
content: [
|
|
183
|
+
{
|
|
184
|
+
type: 'text',
|
|
185
|
+
text: JSON.stringify({
|
|
186
|
+
name: component.name,
|
|
187
|
+
primitive: component.primitive,
|
|
188
|
+
hasVariants: component.hasVariants,
|
|
189
|
+
hasSizes: component.hasSizes,
|
|
190
|
+
code: component.code,
|
|
191
|
+
}, null, 2),
|
|
192
|
+
},
|
|
193
|
+
],
|
|
194
|
+
};
|
|
195
|
+
}));
|
|
196
|
+
server.registerTool('get_setup_guide', {
|
|
197
|
+
title: 'Get Setup Guide',
|
|
198
|
+
description: 'Get setup instructions for Angular Primitives',
|
|
199
|
+
inputSchema: {},
|
|
200
|
+
}, () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
201
|
+
const setupGuide = {
|
|
202
|
+
title: 'Angular Primitives Setup Guide',
|
|
203
|
+
steps: [
|
|
204
|
+
{
|
|
205
|
+
step: 1,
|
|
206
|
+
title: 'Install the package',
|
|
207
|
+
command: 'npm install ng-primitives',
|
|
208
|
+
description: 'Install the main ng-primitives package which contains all primitives',
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
step: 2,
|
|
212
|
+
title: 'Import primitives',
|
|
213
|
+
description: 'Import the primitives you need from their respective entry points',
|
|
214
|
+
example: "import { NgpButton } from 'ng-primitives/button';",
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
step: 3,
|
|
218
|
+
title: 'Add to component imports',
|
|
219
|
+
description: 'Add the primitive directives to your component imports array',
|
|
220
|
+
example: `@Component({
|
|
221
|
+
imports: [NgpButton],
|
|
222
|
+
template: '<button ngpButton>Click me</button>'
|
|
223
|
+
})`,
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
step: 4,
|
|
227
|
+
title: 'Style your components',
|
|
228
|
+
description: 'ng-primitives provides unstyled, accessible components. Add your own CSS or use with your preferred styling solution (Tailwind, CSS-in-JS, etc.)',
|
|
229
|
+
example: `[ngpButton] {
|
|
230
|
+
padding: 0.5rem 1rem;
|
|
231
|
+
border-radius: 0.25rem;
|
|
232
|
+
background: blue;
|
|
233
|
+
color: white;
|
|
234
|
+
}`,
|
|
235
|
+
},
|
|
236
|
+
],
|
|
237
|
+
resources: [
|
|
238
|
+
'Documentation: https://angularprimitives.com',
|
|
239
|
+
'GitHub: https://github.com/ng-primitives/ng-primitives',
|
|
240
|
+
],
|
|
241
|
+
};
|
|
242
|
+
return {
|
|
243
|
+
content: [
|
|
244
|
+
{
|
|
245
|
+
type: 'text',
|
|
246
|
+
text: JSON.stringify(setupGuide, null, 2),
|
|
247
|
+
},
|
|
248
|
+
],
|
|
249
|
+
};
|
|
250
|
+
}));
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Clear the cache (useful for testing)
|
|
254
|
+
*/
|
|
255
|
+
function clearCache() {
|
|
256
|
+
PRIMITIVES_CACHE = null;
|
|
257
|
+
REUSABLE_COMPONENTS_CACHE = null;
|
|
258
|
+
}
|
|
259
|
+
//# sourceMappingURL=tools.js.map
|
package/src/tools.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../../packages/mcp/src/tools.ts"],"names":[],"mappings":";;AAoCA,sCA2SC;AAKD,gCAGC;;AAtVD,6BAAwB;AACxB,qEAKkC;AAElC,wBAAwB;AACxB,IAAI,gBAAgB,GAAiC,IAAI,CAAC;AAC1D,IAAI,yBAAyB,GAAiB,IAAI,CAAC;AAEnD,SAAS,qBAAqB;IAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,gBAAgB,GAAG,IAAA,sDAA6B,GAAE,CAAC;IACrD,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,qBAAqB;IAC5B,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC/B,yBAAyB,GAAG,IAAA,mDAA0B,GAAE,CAAC;IAC3D,CAAC;IACD,OAAO,yBAAyB,CAAC;AACnC,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnF,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,MAAiB;IAC7C,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,2DAA2D;QACxE,WAAW,EAAE;YACX,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YACzE,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;SACnF;KACF,EACD,KAAqE,EAAE,kDAAhE,EAAE,QAAQ,EAAE,MAAM,EAA0C;QACjE,MAAM,aAAa,GAAG,qBAAqB,EAAE,CAAC;QAC9C,IAAI,kBAAkB,GAAG,aAAa,CAAC;QAEvC,IAAI,QAAQ,EAAE,CAAC;YACb,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAC5C,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CACpD,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YACzC,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAC5C,CAAC,CAAsB,EAAE,EAAE,CACzB,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC1C,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CACpD,CAAC;QACJ,CAAC;QAED,MAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAC;QAErD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,mBAAmB;wBACnB,UAAU,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC;4BAC9D,IAAI,EAAE,CAAC,CAAC,IAAI;4BACZ,WAAW,EAAE,CAAC,CAAC,WAAW;4BAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;4BACpB,UAAU,EAAE,CAAC,CAAC,UAAU;yBACzB,CAAC,CAAC;qBACJ,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CAAA,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,qDAAqD;QAClE,WAAW,EAAE;YACX,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;SACvD;KACF,EACD,KAAmC,EAAE,kDAA9B,EAAE,IAAI,EAAoB;QAC/B,MAAM,aAAa,GAAG,qBAAqB,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAElF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,cAAc,IAAI,sCAAsC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBACjI;iBACF;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,+CAEb,SAAS,KACZ,cAAc,EAAE,2BAA2B,EAC3C,eAAe,EAAE,YAAY,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,SAAS,CAAC,UAAU,IAAI,EAC7F,YAAY,EAAE,IAAA,6CAAoB,EAAC,SAAS,CAAC,KAC1C,CAAC,SAAS,CAAC,OAAO,IAAI;wBACvB,UAAU,EAAE;4BACV,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,QAAQ;4BACpC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,QAAQ;4BACpC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM;4BAChC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO;yBACnC;qBACF,CAAC,GAEJ,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CAAA,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,qDAAqD;QAClE,WAAW,EAAE;YACX,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC;SAChF;KACF,EACD,KAAiD,EAAE,kDAA5C,EAAE,UAAU,EAA4B;QAC7C,MAAM,aAAa,GAAG,qBAAqB,EAAE,CAAC;QAE9C,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CACzC,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CACnF,CAAC;QAEF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,uBAAuB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBAC5I;iBACF;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,cAAc,EAAE,2BAA2B;wBAC3C,IAAI,EAAE,+DAA+D;wBACrE,kBAAkB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE;4BAClD,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAClC,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAC3C,CAAC;4BACH,OAAO;gCACL,IAAI,EAAE,SAAS,CAAC,IAAI;gCACpB,UAAU,EAAE,SAAS,CAAC,UAAU;gCAChC,OAAO,EAAE,SAAS,CAAC,OAAO;6BAC3B,CAAC;wBACJ,CAAC,CAAC;qBACH,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CAAA,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,KAAK,EAAE,0BAA0B;QACjC,WAAW,EACT,8FAA8F;QAChG,WAAW,EAAE,EAAE;KAChB,EACD,GAAS,EAAE;QACT,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;QAE3C,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;wBAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,WAAW,EAAE,CAAC,CAAC,WAAW;wBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;qBACrB,CAAC,CAAC,EACH,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CAAA,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,KAAK,EAAE,6BAA6B;QACpC,WAAW,EAAE,kEAAkE;QAC/E,WAAW,EAAE;YACX,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;SAChE;KACF,EACD,KAAmC,EAAE,kDAA9B,EAAE,IAAI,EAAoB;QAC/B,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAE/D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,uBAAuB,IAAI,sCAAsC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBACvH;iBACF;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,IAAI,EAAE,SAAS,CAAC,IAAI;wBACpB,SAAS,EAAE,SAAS,CAAC,SAAS;wBAC9B,WAAW,EAAE,SAAS,CAAC,WAAW;wBAClC,QAAQ,EAAE,SAAS,CAAC,QAAQ;wBAC5B,IAAI,EAAE,SAAS,CAAC,IAAI;qBACrB,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CAAA,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,+CAA+C;QAC5D,WAAW,EAAE,EAAE;KAChB,EACD,GAAS,EAAE;QACT,MAAM,UAAU,GAAG;YACjB,KAAK,EAAE,gCAAgC;YACvC,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,qBAAqB;oBAC5B,OAAO,EAAE,2BAA2B;oBACpC,WAAW,EAAE,sEAAsE;iBACpF;gBACD;oBACE,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,mBAAmB;oBAC1B,WAAW,EAAE,mEAAmE;oBAChF,OAAO,EAAE,mDAAmD;iBAC7D;gBACD;oBACE,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,0BAA0B;oBACjC,WAAW,EAAE,8DAA8D;oBAC3E,OAAO,EAAE;;;GAGlB;iBACQ;gBACD;oBACE,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,uBAAuB;oBAC9B,WAAW,EACT,kJAAkJ;oBACpJ,OAAO,EAAE;;;;;EAKnB;iBACS;aACF;YACD,SAAS,EAAE;gBACT,8CAA8C;gBAC9C,wDAAwD;aACzD;SACF,CAAC;QAEF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC1C;aACF;SACF,CAAC;IACJ,CAAC,CAAA,CACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU;IACxB,gBAAgB,GAAG,IAAI,CAAC;IACxB,yBAAyB,GAAG,IAAI,CAAC;AACnC,CAAC"}
|