@cplace/test-mcp-server 0.1.15 → 1.0.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/README.md +248 -113
- package/dist/conditional-registration.d.ts.map +1 -1
- package/dist/conditional-registration.js +19 -3
- package/dist/conditional-registration.js.map +1 -1
- package/dist/index.js +21 -93
- package/dist/index.js.map +1 -1
- package/dist/preference-file.d.ts +16 -0
- package/dist/preference-file.d.ts.map +1 -0
- package/dist/preference-file.js +133 -0
- package/dist/preference-file.js.map +1 -0
- package/dist/profiles.d.ts +1 -3
- package/dist/profiles.d.ts.map +1 -1
- package/dist/profiles.js +60 -112
- package/dist/profiles.js.map +1 -1
- package/dist/searchConversion.d.ts.map +1 -1
- package/dist/searchConversion.js +18 -5
- package/dist/searchConversion.js.map +1 -1
- package/dist/searchSchema.d.ts +25 -25
- package/dist/searchSchema.d.ts.map +1 -1
- package/dist/searchSchema.js +5 -5
- package/dist/searchSchema.js.map +1 -1
- package/dist/token-hashing.d.ts +3 -0
- package/dist/token-hashing.d.ts.map +1 -0
- package/dist/token-hashing.js +18 -0
- package/dist/token-hashing.js.map +1 -0
- package/dist/tool-metadata.d.ts +2 -0
- package/dist/tool-metadata.d.ts.map +1 -0
- package/dist/tool-metadata.js +43 -0
- package/dist/tool-metadata.js.map +1 -0
- package/dist/tools/change-listeners.d.ts +30 -0
- package/dist/tools/change-listeners.d.ts.map +1 -1
- package/dist/tools/change-listeners.js +24 -18
- package/dist/tools/change-listeners.js.map +1 -1
- package/dist/tools/common-schemas.d.ts +2 -0
- package/dist/tools/common-schemas.d.ts.map +1 -1
- package/dist/tools/common-schemas.js +16 -0
- package/dist/tools/common-schemas.js.map +1 -1
- package/dist/tools/csv-export.d.ts +1849 -0
- package/dist/tools/csv-export.d.ts.map +1 -0
- package/dist/tools/csv-export.js +61 -0
- package/dist/tools/csv-export.js.map +1 -0
- package/dist/tools/generic-layouts.d.ts +302 -0
- package/dist/tools/generic-layouts.d.ts.map +1 -1
- package/dist/tools/generic-layouts.js +102 -70
- package/dist/tools/generic-layouts.js.map +1 -1
- package/dist/tools/get-operations.d.ts +16 -0
- package/dist/tools/get-operations.d.ts.map +1 -0
- package/dist/tools/get-operations.js +63 -0
- package/dist/tools/get-operations.js.map +1 -0
- package/dist/tools/pages.d.ts +55 -0
- package/dist/tools/pages.d.ts.map +1 -1
- package/dist/tools/pages.js +173 -257
- package/dist/tools/pages.js.map +1 -1
- package/dist/tools/ppt-export-schemas.d.ts +16 -16
- package/dist/tools/ppt-export.d.ts +1493 -0
- package/dist/tools/ppt-export.d.ts.map +1 -1
- package/dist/tools/ppt-export.js +23 -17
- package/dist/tools/ppt-export.js.map +1 -1
- package/dist/tools/profile-management.d.ts +20 -0
- package/dist/tools/profile-management.d.ts.map +1 -0
- package/dist/tools/profile-management.js +250 -0
- package/dist/tools/profile-management.js.map +1 -0
- package/dist/tools/references.d.ts +36 -0
- package/dist/tools/references.d.ts.map +1 -1
- package/dist/tools/references.js +48 -45
- package/dist/tools/references.js.map +1 -1
- package/dist/tools/richstring-widgets.d.ts +51 -0
- package/dist/tools/richstring-widgets.d.ts.map +1 -0
- package/dist/tools/richstring-widgets.js +173 -0
- package/dist/tools/richstring-widgets.js.map +1 -0
- package/dist/tools/schedule.d.ts +14 -0
- package/dist/tools/schedule.d.ts.map +1 -1
- package/dist/tools/schedule.js +7 -3
- package/dist/tools/schedule.js.map +1 -1
- package/dist/tools/script-logs.d.ts +29 -0
- package/dist/tools/script-logs.d.ts.map +1 -0
- package/dist/tools/script-logs.js +144 -0
- package/dist/tools/script-logs.js.map +1 -0
- package/dist/tools/search.d.ts +1870 -0
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +49 -75
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/system.d.ts.map +1 -1
- package/dist/tools/system.js +4 -2
- package/dist/tools/system.js.map +1 -1
- package/dist/tools/type-layouts.d.ts +37 -0
- package/dist/tools/type-layouts.d.ts.map +1 -1
- package/dist/tools/type-layouts.js +30 -22
- package/dist/tools/type-layouts.js.map +1 -1
- package/dist/tools/type-management.d.ts +134 -0
- package/dist/tools/type-management.d.ts.map +1 -0
- package/dist/tools/{workspace.js → type-management.js} +67 -307
- package/dist/tools/type-management.js.map +1 -0
- package/dist/tools/users.d.ts +19 -0
- package/dist/tools/users.d.ts.map +1 -1
- package/dist/tools/users.js +14 -28
- package/dist/tools/users.js.map +1 -1
- package/dist/tools/validators.d.ts +28 -0
- package/dist/tools/validators.d.ts.map +1 -1
- package/dist/tools/validators.js +21 -15
- package/dist/tools/validators.js.map +1 -1
- package/dist/tools/version-check.d.ts.map +1 -1
- package/dist/tools/version-check.js +11 -9
- package/dist/tools/version-check.js.map +1 -1
- package/dist/tools/version-history.d.ts +48 -0
- package/dist/tools/version-history.d.ts.map +1 -1
- package/dist/tools/version-history.js +39 -29
- package/dist/tools/version-history.js.map +1 -1
- package/dist/tools/widgets.d.ts +182 -0
- package/dist/tools/widgets.d.ts.map +1 -1
- package/dist/tools/widgets.js +122 -343
- package/dist/tools/widgets.js.map +1 -1
- package/dist/tools/workflow-scripts.d.ts +40 -0
- package/dist/tools/workflow-scripts.d.ts.map +1 -0
- package/dist/tools/workflow-scripts.js +186 -0
- package/dist/tools/workflow-scripts.js.map +1 -0
- package/dist/tools/workflow.d.ts +70 -0
- package/dist/tools/workflow.d.ts.map +1 -0
- package/dist/tools/workflow.js +259 -0
- package/dist/tools/workflow.js.map +1 -0
- package/dist/tools/workspace-admin.d.ts +40 -0
- package/dist/tools/workspace-admin.d.ts.map +1 -0
- package/dist/tools/workspace-admin.js +125 -0
- package/dist/tools/workspace-admin.js.map +1 -0
- package/dist/tools/workspace-core.d.ts +45 -0
- package/dist/tools/workspace-core.d.ts.map +1 -0
- package/dist/tools/workspace-core.js +153 -0
- package/dist/tools/workspace-core.js.map +1 -0
- package/dist/types.d.ts +3 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/dateValidation.d.ts +5 -0
- package/dist/utils/dateValidation.d.ts.map +1 -0
- package/dist/utils/dateValidation.js +57 -0
- package/dist/utils/dateValidation.js.map +1 -0
- package/dist/utils.js +7 -7
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- package/dist/tools/workspace.d.ts +0 -4
- package/dist/tools/workspace.d.ts.map +0 -1
- package/dist/tools/workspace.js.map +0 -1
package/dist/tools/widgets.js
CHANGED
|
@@ -2,8 +2,14 @@ import { z } from "zod";
|
|
|
2
2
|
import { debugLogWithTag } from "../logger.js";
|
|
3
3
|
import { transformMultiplicityToBoolean } from '../utils.js';
|
|
4
4
|
import { PositionSchema, WIDGET_CONFIG_DESCRIPTION } from './common-schemas.js';
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
const TOOL_LIST_WIDGET_DEFINITIONS = 'cplace_list_widget_definitions';
|
|
6
|
+
const TOOL_GET_WIDGET_DEFINITION = 'cplace_get_widget_definition';
|
|
7
|
+
const TOOL_GET_WIDGET_DETAILS = 'cplace_get_widget_details';
|
|
8
|
+
const TOOL_GET_EMBEDDED_LAYOUT = 'cplace_get_embedded_layout';
|
|
9
|
+
const TOOL_ADD_WIDGET_TO_EMBEDDED_LAYOUT = 'cplace_add_widget_to_embedded_layout';
|
|
10
|
+
const TOOL_REMOVE_WIDGET_FROM_EMBEDDED_LAYOUT = 'cplace_remove_widget_from_embedded_layout';
|
|
11
|
+
export const WIDGET_TOOL_DEFINITIONS = {
|
|
12
|
+
[TOOL_LIST_WIDGET_DEFINITIONS]: {
|
|
7
13
|
description: "Get a list of all available widget definitions in the system that support the specified embedding context, with their basic metadata including names, descriptions, and apps",
|
|
8
14
|
inputSchema: {
|
|
9
15
|
embeddingContext: z.enum(["AS_WIDGET", "INSIDE_RICHSTRING", "INSIDE_WIDGET"]).default("AS_WIDGET").describe(`Filter widgets by embedding context support:
|
|
@@ -12,7 +18,109 @@ export function registerWidgetTools(server, client) {
|
|
|
12
18
|
- INSIDE_WIDGET: Widgets that can be embedded inside other widgets without frame`)
|
|
13
19
|
},
|
|
14
20
|
annotations: { title: "List Widget Definitions" }
|
|
15
|
-
},
|
|
21
|
+
},
|
|
22
|
+
[TOOL_GET_WIDGET_DEFINITION]: {
|
|
23
|
+
description: "Get detailed widget configuration schema.\n\n🔍 ALWAYS USE BEFORE ADDING/CONFIGURING WIDGETS to understand:\n- Required vs optional attributes\n- Correct attribute names (often not intuitive!)\n- Expected data types and formats\n- Available enumeration values\n\nCOMMON GOTCHAS:\n- Bar charts use 'attributeName' not 'attribute'\n- Connected charts need 'tableWidgetId' to link to tables\n- Attribute names often need single quotes: \"'cf.cplace.myAttribute'\"\n- LocalizedString format: {\"en\": \"English\", \"de\": \"German\"}\n\nWidget kinds: 'cf.platform.connectedBarChart', 'cf.platform.wiki', etc.",
|
|
24
|
+
inputSchema: {
|
|
25
|
+
widgetKind: z.string().describe("The widget kind identifier (e.g., 'cf.cplace.platform.table', 'cf.platform.wiki')")
|
|
26
|
+
},
|
|
27
|
+
annotations: { title: "Get Widget Definition Details" }
|
|
28
|
+
},
|
|
29
|
+
[TOOL_GET_WIDGET_DETAILS]: {
|
|
30
|
+
description: "Get detailed configuration for a specific widget within a page layout. Use this after cplace_get_page_layout_overview to examine specific widget configurations.",
|
|
31
|
+
inputSchema: {
|
|
32
|
+
pageUID: z.string().describe("The unique identifier (UID) of the page containing the widget"),
|
|
33
|
+
widgetId: z.string().describe("The unique widget identifier from the layout (e.g., 'id_123', 'id_456')")
|
|
34
|
+
},
|
|
35
|
+
annotations: { title: "Get Widget Details" }
|
|
36
|
+
},
|
|
37
|
+
[TOOL_GET_EMBEDDED_LAYOUT]: {
|
|
38
|
+
description: "Get embedded widget layout structure for page or type. Retrieves the widget layout structure of embedded widgets within container widgets like AttributesGroup widgets.",
|
|
39
|
+
inputSchema: {
|
|
40
|
+
context: z.union([
|
|
41
|
+
z.object({
|
|
42
|
+
type: z.literal("page"),
|
|
43
|
+
pageUID: z.string().describe("Page UID (e.g., 'page/abc123')"),
|
|
44
|
+
containerWidgetId: z.string().describe("Container widget ID (e.g., 'id_abc123')"),
|
|
45
|
+
layoutAttributeName: z.string().describe("Layout attribute name (e.g., 'detailsLayout')")
|
|
46
|
+
}),
|
|
47
|
+
z.object({
|
|
48
|
+
type: z.literal("type"),
|
|
49
|
+
workspaceId: z.string().describe("Workspace ID (e.g., 'workspace123')"),
|
|
50
|
+
typeInternalName: z.string().describe("Type internal name (e.g., 'cf.example.myType')"),
|
|
51
|
+
alternativeLayoutName: z.string().optional().describe("Alternative layout name (optional)"),
|
|
52
|
+
containerWidgetId: z.string().describe("Container widget ID (e.g., 'id_abc123')"),
|
|
53
|
+
layoutAttributeName: z.string().describe("Layout attribute name (e.g., 'detailsLayout')")
|
|
54
|
+
})
|
|
55
|
+
]).describe("Embedded layout target - specify whether operating on page or type embedded layout")
|
|
56
|
+
},
|
|
57
|
+
annotations: { title: "Get Embedded Layout" }
|
|
58
|
+
},
|
|
59
|
+
[TOOL_ADD_WIDGET_TO_EMBEDDED_LAYOUT]: {
|
|
60
|
+
description: "Add widget to page or type embedded layout. Enables adding widgets to nested layouts like those within AttributesGroup widgets.",
|
|
61
|
+
inputSchema: {
|
|
62
|
+
context: z.union([
|
|
63
|
+
z.object({
|
|
64
|
+
type: z.literal("page"),
|
|
65
|
+
pageUID: z.string().describe("Page UID (e.g., 'page/abc123')"),
|
|
66
|
+
containerWidgetId: z.string().describe("Container widget ID (e.g., 'id_abc123')"),
|
|
67
|
+
layoutAttributeName: z.string().describe("Layout attribute name (e.g., 'detailsLayout')")
|
|
68
|
+
}),
|
|
69
|
+
z.object({
|
|
70
|
+
type: z.literal("type"),
|
|
71
|
+
workspaceId: z.string().describe("Workspace ID (e.g., 'workspace123')"),
|
|
72
|
+
typeInternalName: z.string().describe("Type internal name (e.g., 'cf.example.myType')"),
|
|
73
|
+
alternativeLayoutName: z.string().optional().describe("Alternative layout name (optional)"),
|
|
74
|
+
containerWidgetId: z.string().describe("Container widget ID (e.g., 'id_abc123')"),
|
|
75
|
+
layoutAttributeName: z.string().describe("Layout attribute name (e.g., 'detailsLayout')")
|
|
76
|
+
})
|
|
77
|
+
]).describe("Embedded layout target - specify whether operating on page or type embedded layout"),
|
|
78
|
+
widgetType: z.string().describe("Widget type identifier (e.g., 'cf.cplace.platform.table', 'cf.platform.wiki')"),
|
|
79
|
+
position: PositionSchema,
|
|
80
|
+
configuration: z.record(z.any()).optional().describe(WIDGET_CONFIG_DESCRIPTION)
|
|
81
|
+
},
|
|
82
|
+
annotations: { title: "Add Widget to Embedded Layout" }
|
|
83
|
+
},
|
|
84
|
+
[TOOL_REMOVE_WIDGET_FROM_EMBEDDED_LAYOUT]: {
|
|
85
|
+
description: "Remove widget from page or type embedded layout. Enables removing widgets from nested layouts like those within AttributesGroup widgets.",
|
|
86
|
+
inputSchema: {
|
|
87
|
+
context: z.union([
|
|
88
|
+
z.object({
|
|
89
|
+
type: z.literal("page"),
|
|
90
|
+
pageUID: z.string().describe("Page UID (e.g., 'page/abc123')"),
|
|
91
|
+
containerWidgetId: z.string().describe("Container widget ID (e.g., 'id_abc123')"),
|
|
92
|
+
layoutAttributeName: z.string().describe("Layout attribute name (e.g., 'detailsLayout')")
|
|
93
|
+
}),
|
|
94
|
+
z.object({
|
|
95
|
+
type: z.literal("type"),
|
|
96
|
+
workspaceId: z.string().describe("Workspace ID (e.g., 'workspace123')"),
|
|
97
|
+
typeInternalName: z.string().describe("Type internal name (e.g., 'cf.example.myType')"),
|
|
98
|
+
alternativeLayoutName: z.string().optional().describe("Alternative layout name (optional)"),
|
|
99
|
+
containerWidgetId: z.string().describe("Container widget ID (e.g., 'id_abc123')"),
|
|
100
|
+
layoutAttributeName: z.string().describe("Layout attribute name (e.g., 'detailsLayout')")
|
|
101
|
+
})
|
|
102
|
+
]).describe("Embedded layout target - specify whether operating on page or type embedded layout"),
|
|
103
|
+
widgetId: z.string().describe("The ID of the existing widget to remove from the embedded layout")
|
|
104
|
+
},
|
|
105
|
+
annotations: { title: "Remove Widget from Embedded Layout" }
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
export function registerWidgetTools(server, client) {
|
|
109
|
+
const WIDGET_ATTRIBUTE_ENHANCEMENTS = {
|
|
110
|
+
'cf.cplace.platform.attributesGroup': {
|
|
111
|
+
'cf.cplace.platform.attributesGroup.pageSelection': {
|
|
112
|
+
validValues: {
|
|
113
|
+
'embedding': 'Use the current embedding page (the page containing this widget)',
|
|
114
|
+
'parent': 'Use the parent page of the embedding page',
|
|
115
|
+
'absolute': 'Use an absolute page reference (requires cf.cplace.platform.attributesGroup.absoluteSelection)',
|
|
116
|
+
'relative': 'Use a relative reference through an attribute (requires cf.cplace.platform.attributesGroup.relativeSelection)'
|
|
117
|
+
},
|
|
118
|
+
defaultValue: 'embedding',
|
|
119
|
+
note: 'This attribute determines which page\'s attributes are displayed in the widget'
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
server.registerTool(TOOL_LIST_WIDGET_DEFINITIONS, WIDGET_TOOL_DEFINITIONS[TOOL_LIST_WIDGET_DEFINITIONS], async ({ embeddingContext = "AS_WIDGET" }) => {
|
|
16
124
|
debugLogWithTag('WIDGETS', `Starting widget definitions list request with embeddingContext: ${embeddingContext}`);
|
|
17
125
|
try {
|
|
18
126
|
const result = await client.makeApiRequest('json/widget-definitions', 'GET', { embeddingContext });
|
|
@@ -31,27 +139,7 @@ export function registerWidgetTools(server, client) {
|
|
|
31
139
|
};
|
|
32
140
|
}
|
|
33
141
|
});
|
|
34
|
-
|
|
35
|
-
'cf.cplace.platform.attributesGroup': {
|
|
36
|
-
'cf.cplace.platform.attributesGroup.pageSelection': {
|
|
37
|
-
validValues: {
|
|
38
|
-
'embedding': 'Use the current embedding page (the page containing this widget)',
|
|
39
|
-
'parent': 'Use the parent page of the embedding page',
|
|
40
|
-
'absolute': 'Use an absolute page reference (requires cf.cplace.platform.attributesGroup.absoluteSelection)',
|
|
41
|
-
'relative': 'Use a relative reference through an attribute (requires cf.cplace.platform.attributesGroup.relativeSelection)'
|
|
42
|
-
},
|
|
43
|
-
defaultValue: 'embedding',
|
|
44
|
-
note: 'This attribute determines which page\'s attributes are displayed in the widget'
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
};
|
|
48
|
-
server.registerTool("cplace_get_widget_definition", {
|
|
49
|
-
description: "Get detailed widget configuration schema.\n\n🔍 ALWAYS USE BEFORE ADDING/CONFIGURING WIDGETS to understand:\n- Required vs optional attributes\n- Correct attribute names (often not intuitive!)\n- Expected data types and formats\n- Available enumeration values\n\nCOMMON GOTCHAS:\n- Bar charts use 'attributeName' not 'attribute'\n- Connected charts need 'tableWidgetId' to link to tables\n- Attribute names often need single quotes: \"'cf.cplace.myAttribute'\"\n- LocalizedString format: {\"en\": \"English\", \"de\": \"German\"}\n\nWidget kinds: 'cf.platform.connectedBarChart', 'cf.platform.wiki', etc.",
|
|
50
|
-
inputSchema: {
|
|
51
|
-
widgetKind: z.string().describe("The widget kind identifier (e.g., 'cf.cplace.platform.table', 'cf.platform.wiki')")
|
|
52
|
-
},
|
|
53
|
-
annotations: { title: "Get Widget Definition Details" }
|
|
54
|
-
}, async ({ widgetKind }) => {
|
|
142
|
+
server.registerTool(TOOL_GET_WIDGET_DEFINITION, WIDGET_TOOL_DEFINITIONS[TOOL_GET_WIDGET_DEFINITION], async ({ widgetKind }) => {
|
|
55
143
|
debugLogWithTag('WIDGETS', `Starting widget definition request for: ${widgetKind}`);
|
|
56
144
|
try {
|
|
57
145
|
const result = await client.makeApiRequest('json/widget-definition', 'GET', { widgetKind });
|
|
@@ -84,14 +172,7 @@ export function registerWidgetTools(server, client) {
|
|
|
84
172
|
};
|
|
85
173
|
}
|
|
86
174
|
});
|
|
87
|
-
server.registerTool(
|
|
88
|
-
description: "Get detailed configuration for a specific widget within a page layout. Use this after cplace_get_page_layout_overview to examine specific widget configurations.",
|
|
89
|
-
inputSchema: {
|
|
90
|
-
pageUID: z.string().describe("The unique identifier (UID) of the page containing the widget"),
|
|
91
|
-
widgetId: z.string().describe("The unique widget identifier from the layout (e.g., 'id_123', 'id_456')")
|
|
92
|
-
},
|
|
93
|
-
annotations: { title: "Get Widget Details" }
|
|
94
|
-
}, async ({ pageUID, widgetId }) => {
|
|
175
|
+
server.registerTool(TOOL_GET_WIDGET_DETAILS, WIDGET_TOOL_DEFINITIONS[TOOL_GET_WIDGET_DETAILS], async ({ pageUID, widgetId }) => {
|
|
95
176
|
debugLogWithTag('LAYOUT', `Starting widget details request for widget ${widgetId} in page ${pageUID}`);
|
|
96
177
|
try {
|
|
97
178
|
const result = await client.makeApiRequest('json/pageLayout', 'GET', { pageUID });
|
|
@@ -120,302 +201,22 @@ export function registerWidgetTools(server, client) {
|
|
|
120
201
|
};
|
|
121
202
|
}
|
|
122
203
|
debugLogWithTag('LAYOUT', `Retrieved widget details for: ${widgetId} in page`);
|
|
123
|
-
return {
|
|
124
|
-
content: [{ type: "text", text: JSON.stringify(foundWidget, null, 2) }]
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
catch (error) {
|
|
128
|
-
return {
|
|
129
|
-
content: [{
|
|
130
|
-
type: "text",
|
|
131
|
-
text: `Error retrieving widget details for ${widgetId} in page ${pageUID}: ${error instanceof Error ? error.message : String(error)}`
|
|
132
|
-
}],
|
|
133
|
-
isError: true
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
server.registerTool("cplace_add_widget_to_layout", {
|
|
138
|
-
description: "Add a new widget to a page layout at a specific position.\n\n⚠️ REQUIRED BEFORE USE:\n- ALWAYS call cplace_get_widget_definition FIRST to understand required fields\n- Many widgets have non-obvious required attributes that will cause validation errors\n- Widget configurations must match the schema exactly\n\nCRITICAL BEHAVIOR:\n- Row creation: ❌ NOT automatic - use cplace_add_row_to_page_layout to create rows first\n- Column creation: ❌ NOT automatic - columnIndex only references existing columns\n- Invalid columnIndex: Falls back to last existing column (no error)\n\nTO CREATE SIDE-BY-SIDE LAYOUTS:\n1. First use cplace_add_row_to_page_layout to create multi-column structure\n2. Then add widgets to the created columns\n\nEXAMPLES:\n- Add to new row 0: Creates single-column row, widget goes to column 0\n- Add to column 1 when only column 0 exists: Widget goes to column 0 (fallback)\n- Add to pre-created 6/6 row: Works correctly if columns exist\n\nTIP: Always check current layout with cplace_get_page_layout_overview before adding widgets.\n\nSupports both page-level layouts (default) and embedded layouts within container widgets like AttributesGroup.",
|
|
139
|
-
inputSchema: {
|
|
140
|
-
pageUID: z.string().describe("The unique identifier (UID) of the page to add the widget to"),
|
|
141
|
-
widgetType: z.string().describe("The widget type identifier (e.g., 'cf.cplace.platform.table', 'cf.platform.wiki', 'cf.platform.singleAttribute')"),
|
|
142
|
-
configuration: z.record(z.any()).optional().describe(`${WIDGET_CONFIG_DESCRIPTION}
|
|
143
|
-
|
|
144
|
-
WIDGET-SPECIFIC PATTERNS:
|
|
145
|
-
- Connected widgets (bar/pie charts): Use 'tableWidgetId' to connect to existing table widget
|
|
146
|
-
Example: {'tableWidgetId': 'id_abc123', 'title': {'en': 'Chart Title'}}
|
|
147
|
-
- Attribute widgets: Use 'cf.platform.quotedAttributeName' with single quotes
|
|
148
|
-
Example: {'cf.platform.quotedAttributeName': "'cf.cplace.myAttribute'", 'cf.platform.withLabel': true}
|
|
149
|
-
- Search widgets: Use 'search' with JSON search string
|
|
150
|
-
Example: {'search': '{"filters":[{"types":["test.project"]}]}', 'title': {'en': 'Results'}}
|
|
151
|
-
|
|
152
|
-
For embedded attribute widgets: {'cf.platform.quotedAttributeName': "'cf.cplace.myAttribute'", 'cf.platform.withLabel': true}`),
|
|
153
|
-
position: PositionSchema.extend({}).describe("Grid position where the widget should be added"),
|
|
154
|
-
layoutContext: z.enum(["page", "widget"]).default("page").describe("Layout context: 'page' for page-level layout (default), 'widget' for embedded layout within a container widget"),
|
|
155
|
-
containerWidgetId: z.string().optional().describe("Required when layoutContext is 'widget'. The unique identifier of the container widget (e.g., AttributesGroup widget) that contains the embedded layout to modify"),
|
|
156
|
-
layoutAttributeName: z.string().optional().describe("Optional layout attribute name for embedded layouts. If not provided, it will be auto-detected based on the container widget type")
|
|
157
|
-
},
|
|
158
|
-
annotations: { title: "Add Widget to Layout" }
|
|
159
|
-
}, async ({ pageUID, widgetType, configuration, position, layoutContext = "page", containerWidgetId, layoutAttributeName }) => {
|
|
160
|
-
debugLogWithTag('LAYOUT_MODIFY', `Starting add widget operation: ${widgetType} to ${layoutContext === "widget" ? "embedded layout in container " + containerWidgetId : "page layout"} ${pageUID} at position ${JSON.stringify(position)}`);
|
|
161
|
-
try {
|
|
162
|
-
if (layoutContext === "widget") {
|
|
163
|
-
if (!containerWidgetId) {
|
|
164
|
-
return {
|
|
165
|
-
content: [{ type: "text", text: "containerWidgetId is required when layoutContext is 'widget'" }]
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
debugLogWithTag('LAYOUT_MODIFY', `Adding to embedded layout in container widget: ${containerWidgetId}`);
|
|
169
|
-
}
|
|
170
|
-
const operation = {
|
|
171
|
-
type: "ADD",
|
|
172
|
-
widgetType,
|
|
173
|
-
position: {
|
|
174
|
-
rowIndex: position.rowIndex,
|
|
175
|
-
columnIndex: position.columnIndex,
|
|
176
|
-
widgetIndex: position.widgetIndex
|
|
177
|
-
}
|
|
178
|
-
};
|
|
179
|
-
if (configuration && Object.keys(configuration).length > 0) {
|
|
180
|
-
operation.configuration = configuration;
|
|
181
|
-
debugLogWithTag('LAYOUT_MODIFY', `Including configuration: ${JSON.stringify(Object.keys(configuration))}`);
|
|
182
|
-
}
|
|
183
|
-
const requestBody = {
|
|
184
|
-
pageUID,
|
|
185
|
-
layoutContext,
|
|
186
|
-
operation
|
|
187
|
-
};
|
|
188
|
-
if (layoutContext === "widget") {
|
|
189
|
-
requestBody.containerWidgetId = containerWidgetId;
|
|
190
|
-
if (layoutAttributeName) {
|
|
191
|
-
requestBody.layoutAttributeName = layoutAttributeName;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
debugLogWithTag('LAYOUT_MODIFY', `Request body: ${JSON.stringify(requestBody, null, 2)}`);
|
|
195
|
-
const result = await client.makeApiRequest('json/pageLayout', 'PATCH', undefined, requestBody);
|
|
196
|
-
debugLogWithTag('LAYOUT_MODIFY', `Successfully added widget ${widgetType} to page ${pageUID}`);
|
|
197
|
-
const response = {
|
|
198
|
-
operation: "ADD",
|
|
199
|
-
status: "SUCCESS",
|
|
200
|
-
pageUID,
|
|
201
|
-
widgetType,
|
|
202
|
-
position,
|
|
203
|
-
layoutContext,
|
|
204
|
-
...(layoutContext === "widget" && containerWidgetId && { containerWidgetId }),
|
|
205
|
-
message: layoutContext === "widget"
|
|
206
|
-
? "Widget added successfully to embedded layout"
|
|
207
|
-
: "Widget added successfully"
|
|
208
|
-
};
|
|
209
|
-
return {
|
|
210
|
-
content: [{ type: "text", text: JSON.stringify(response, null, 2) }]
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
catch (error) {
|
|
214
|
-
debugLogWithTag('LAYOUT_MODIFY', `Error adding widget: ${error instanceof Error ? error.message : String(error)}`);
|
|
215
|
-
const errorResponse = {
|
|
216
|
-
operation: "ADD",
|
|
217
|
-
status: "ERROR",
|
|
218
|
-
pageUID,
|
|
219
|
-
widgetType,
|
|
220
|
-
position,
|
|
221
|
-
layoutContext,
|
|
222
|
-
...(layoutContext === "widget" && containerWidgetId && { containerWidgetId }),
|
|
223
|
-
error: error instanceof Error ? error.message : String(error),
|
|
224
|
-
message: "Failed to add widget"
|
|
225
|
-
};
|
|
226
|
-
return {
|
|
227
|
-
content: [{ type: "text", text: JSON.stringify(errorResponse, null, 2) }],
|
|
228
|
-
isError: true
|
|
229
|
-
};
|
|
230
|
-
}
|
|
231
|
-
});
|
|
232
|
-
server.registerTool("cplace_remove_widget_from_layout", {
|
|
233
|
-
description: "Remove an existing widget from a page layout",
|
|
234
|
-
inputSchema: {
|
|
235
|
-
pageUID: z.string().describe("The unique identifier (UID) of the page containing the widget"),
|
|
236
|
-
widgetId: z.string().describe("The unique identifier of the widget to remove")
|
|
237
|
-
},
|
|
238
|
-
annotations: { title: "Remove Widget from Layout" }
|
|
239
|
-
}, async ({ pageUID, widgetId }) => {
|
|
240
|
-
debugLogWithTag('LAYOUT_MODIFY', `Starting remove widget operation: ${widgetId} from page ${pageUID}`);
|
|
241
|
-
try {
|
|
242
|
-
const requestBody = {
|
|
243
|
-
pageUID,
|
|
244
|
-
operation: {
|
|
245
|
-
type: "REMOVE",
|
|
246
|
-
widgetId
|
|
247
|
-
}
|
|
248
|
-
};
|
|
249
|
-
debugLogWithTag('LAYOUT_MODIFY', `Request body: ${JSON.stringify(requestBody, null, 2)}`);
|
|
250
|
-
const result = await client.makeApiRequest('json/pageLayout', 'PATCH', undefined, requestBody);
|
|
251
|
-
debugLogWithTag('LAYOUT_MODIFY', `Successfully removed widget ${widgetId} from page ${pageUID}`);
|
|
252
204
|
const response = {
|
|
253
|
-
operation: "REMOVE",
|
|
254
|
-
status: "SUCCESS",
|
|
255
|
-
pageUID,
|
|
256
|
-
widgetId,
|
|
257
|
-
message: "Widget removed successfully"
|
|
258
|
-
};
|
|
259
|
-
return {
|
|
260
|
-
content: [{ type: "text", text: JSON.stringify(response, null, 2) }]
|
|
261
|
-
};
|
|
262
|
-
}
|
|
263
|
-
catch (error) {
|
|
264
|
-
debugLogWithTag('LAYOUT_MODIFY', `Error removing widget: ${error instanceof Error ? error.message : String(error)}`);
|
|
265
|
-
const errorResponse = {
|
|
266
|
-
operation: "REMOVE",
|
|
267
|
-
status: "ERROR",
|
|
268
|
-
pageUID,
|
|
269
|
-
widgetId,
|
|
270
|
-
error: error instanceof Error ? error.message : String(error),
|
|
271
|
-
message: "Failed to remove widget"
|
|
272
|
-
};
|
|
273
|
-
return {
|
|
274
|
-
content: [{ type: "text", text: JSON.stringify(errorResponse, null, 2) }],
|
|
275
|
-
isError: true
|
|
276
|
-
};
|
|
277
|
-
}
|
|
278
|
-
});
|
|
279
|
-
server.registerTool("cplace_update_widget_in_layout", {
|
|
280
|
-
description: "Modify widget configuration or display properties.\nUSE CASES:\n- Restore configuration after widget moves (configurations may be lost during moves)\n- Update widget connections (e.g., change tableWidgetId after layout modifications)\n- Modify display properties (titles, collapse state, etc.)\n\nTIP: Widget IDs may change after layout operations - always use current IDs from latest layout overview.",
|
|
281
|
-
inputSchema: {
|
|
282
|
-
pageUID: z.string().describe("The unique identifier (UID) of the page containing the widget"),
|
|
283
|
-
widgetId: z.string().describe("The unique identifier of the widget to update"),
|
|
284
|
-
newConfiguration: z.record(z.any()).optional().describe(`Updated widget configuration as key-value pairs (optional). ${WIDGET_CONFIG_DESCRIPTION}`),
|
|
285
|
-
collapsed: z.boolean().optional().describe("Widget collapse state (optional)")
|
|
286
|
-
},
|
|
287
|
-
annotations: { title: "Update Widget in Layout" }
|
|
288
|
-
}, async ({ pageUID, widgetId, newConfiguration, collapsed }) => {
|
|
289
|
-
debugLogWithTag('LAYOUT_MODIFY', `Starting update widget operation: ${widgetId} in page ${pageUID}`);
|
|
290
|
-
try {
|
|
291
|
-
const operation = {
|
|
292
|
-
type: "UPDATE",
|
|
293
|
-
widgetId
|
|
294
|
-
};
|
|
295
|
-
if (newConfiguration && Object.keys(newConfiguration).length > 0) {
|
|
296
|
-
operation.newConfiguration = newConfiguration;
|
|
297
|
-
debugLogWithTag('LAYOUT_MODIFY', `Including new configuration: ${JSON.stringify(Object.keys(newConfiguration))}`);
|
|
298
|
-
}
|
|
299
|
-
if (collapsed !== undefined) {
|
|
300
|
-
operation.collapsed = collapsed;
|
|
301
|
-
debugLogWithTag('LAYOUT_MODIFY', `Setting collapsed state to: ${collapsed}`);
|
|
302
|
-
}
|
|
303
|
-
if (!operation.newConfiguration && operation.collapsed === undefined) {
|
|
304
|
-
return {
|
|
305
|
-
content: [{ type: "text", text: "No updates specified. At least one of newConfiguration or collapsed must be provided." }]
|
|
306
|
-
};
|
|
307
|
-
}
|
|
308
|
-
const requestBody = {
|
|
309
|
-
pageUID,
|
|
310
|
-
operation
|
|
311
|
-
};
|
|
312
|
-
debugLogWithTag('LAYOUT_MODIFY', `Request body: ${JSON.stringify(requestBody, null, 2)}`);
|
|
313
|
-
const result = await client.makeApiRequest('json/pageLayout', 'PATCH', undefined, requestBody);
|
|
314
|
-
debugLogWithTag('LAYOUT_MODIFY', `Successfully updated widget ${widgetId} in page ${pageUID}`);
|
|
315
|
-
const response = {
|
|
316
|
-
operation: "UPDATE",
|
|
317
|
-
status: "SUCCESS",
|
|
318
|
-
pageUID,
|
|
319
|
-
widgetId,
|
|
320
|
-
message: "Widget updated successfully"
|
|
321
|
-
};
|
|
322
|
-
return {
|
|
323
|
-
content: [{ type: "text", text: JSON.stringify(response, null, 2) }]
|
|
324
|
-
};
|
|
325
|
-
}
|
|
326
|
-
catch (error) {
|
|
327
|
-
debugLogWithTag('LAYOUT_MODIFY', `Error updating widget: ${error instanceof Error ? error.message : String(error)}`);
|
|
328
|
-
const errorResponse = {
|
|
329
|
-
operation: "UPDATE",
|
|
330
|
-
status: "ERROR",
|
|
331
|
-
pageUID,
|
|
332
205
|
widgetId,
|
|
333
|
-
error: error instanceof Error ? error.message : String(error),
|
|
334
|
-
message: "Failed to update widget"
|
|
335
|
-
};
|
|
336
|
-
return {
|
|
337
|
-
content: [{ type: "text", text: JSON.stringify(errorResponse, null, 2) }],
|
|
338
|
-
isError: true
|
|
339
|
-
};
|
|
340
|
-
}
|
|
341
|
-
});
|
|
342
|
-
server.registerTool("cplace_move_widget_in_layout", {
|
|
343
|
-
description: "Relocate a widget to a different position in the layout.\n\nMOVE BEHAVIOR:\n- ✅ Can move between existing rows and columns\n- ❌ Cannot create new columns (only references existing ones)\n- Invalid columnIndex: Falls back to last column in target row\n\nCRITICAL WARNINGS:\n- Widget configurations may be LOST during moves\n- Widget IDs may CHANGE - always get new IDs from response\n- Connected widgets (charts) may lose their tableWidgetId references\n\nPOST-MOVE CHECKLIST:\n1. Get new widget ID from response\n2. Use cplace_get_widget_details to check if configuration was preserved\n3. If lost, use cplace_update_widget_in_layout to restore configuration\n4. Update any widgets that referenced the moved widget's old ID\n\nTIP: For complex layouts, consider removing and re-adding widgets instead of moving.",
|
|
344
|
-
inputSchema: {
|
|
345
|
-
pageUID: z.string().describe("The unique identifier (UID) of the page containing the widget"),
|
|
346
|
-
widgetId: z.string().describe("The unique identifier of the widget to move"),
|
|
347
|
-
newPosition: PositionSchema.extend({}).describe("Target grid position for the widget")
|
|
348
|
-
},
|
|
349
|
-
annotations: { title: "Move Widget in Layout" }
|
|
350
|
-
}, async ({ pageUID, widgetId, newPosition }) => {
|
|
351
|
-
debugLogWithTag('LAYOUT_MODIFY', `Starting move widget operation: ${widgetId} in page ${pageUID} to position ${JSON.stringify(newPosition)}`);
|
|
352
|
-
try {
|
|
353
|
-
const requestBody = {
|
|
354
206
|
pageUID,
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
widgetId,
|
|
358
|
-
newPosition: {
|
|
359
|
-
rowIndex: newPosition.rowIndex,
|
|
360
|
-
columnIndex: newPosition.columnIndex,
|
|
361
|
-
widgetIndex: newPosition.widgetIndex
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
};
|
|
365
|
-
debugLogWithTag('LAYOUT_MODIFY', `Request body: ${JSON.stringify(requestBody, null, 2)}`);
|
|
366
|
-
const result = await client.makeApiRequest('json/pageLayout', 'PATCH', undefined, requestBody);
|
|
367
|
-
debugLogWithTag('LAYOUT_MODIFY', `Successfully moved widget ${widgetId} in page ${pageUID}`);
|
|
368
|
-
let newWidgetId = widgetId;
|
|
369
|
-
let widgetIdChanged = false;
|
|
370
|
-
try {
|
|
371
|
-
const layoutString = result.result;
|
|
372
|
-
const layout = JSON.parse(layoutString);
|
|
373
|
-
if (layout.rows && layout.rows[newPosition.rowIndex]) {
|
|
374
|
-
const targetRow = layout.rows[newPosition.rowIndex];
|
|
375
|
-
if (targetRow.columns && targetRow.columns[newPosition.columnIndex]) {
|
|
376
|
-
const targetColumn = targetRow.columns[newPosition.columnIndex];
|
|
377
|
-
if (targetColumn.widgets && targetColumn.widgets[newPosition.widgetIndex]) {
|
|
378
|
-
const movedWidget = targetColumn.widgets[newPosition.widgetIndex];
|
|
379
|
-
if (movedWidget.id && movedWidget.id !== widgetId) {
|
|
380
|
-
newWidgetId = movedWidget.id;
|
|
381
|
-
widgetIdChanged = true;
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
catch (parseError) {
|
|
388
|
-
debugLogWithTag('LAYOUT_MODIFY', `Could not parse layout to detect ID change: ${parseError}`);
|
|
389
|
-
}
|
|
390
|
-
const response = {
|
|
391
|
-
operation: "MOVE",
|
|
392
|
-
status: "SUCCESS",
|
|
393
|
-
pageUID,
|
|
394
|
-
oldWidgetId: widgetId,
|
|
395
|
-
newWidgetId,
|
|
396
|
-
newPosition,
|
|
397
|
-
widgetIdChanged,
|
|
398
|
-
message: widgetIdChanged
|
|
399
|
-
? "Widget moved successfully - widget ID changed, please update any references"
|
|
400
|
-
: "Widget moved successfully"
|
|
207
|
+
widget: foundWidget,
|
|
208
|
+
validationStatus: foundWidget.validationStatus || null
|
|
401
209
|
};
|
|
402
210
|
return {
|
|
403
211
|
content: [{ type: "text", text: JSON.stringify(response, null, 2) }]
|
|
404
212
|
};
|
|
405
213
|
}
|
|
406
214
|
catch (error) {
|
|
407
|
-
debugLogWithTag('LAYOUT_MODIFY', `Error moving widget: ${error instanceof Error ? error.message : String(error)}`);
|
|
408
|
-
const errorResponse = {
|
|
409
|
-
operation: "MOVE",
|
|
410
|
-
status: "ERROR",
|
|
411
|
-
pageUID,
|
|
412
|
-
oldWidgetId: widgetId,
|
|
413
|
-
newPosition,
|
|
414
|
-
error: error instanceof Error ? error.message : String(error),
|
|
415
|
-
message: "Failed to move widget"
|
|
416
|
-
};
|
|
417
215
|
return {
|
|
418
|
-
content: [{
|
|
216
|
+
content: [{
|
|
217
|
+
type: "text",
|
|
218
|
+
text: `Error retrieving widget details for ${widgetId} in page ${pageUID}: ${error instanceof Error ? error.message : String(error)}`
|
|
219
|
+
}],
|
|
419
220
|
isError: true
|
|
420
221
|
};
|
|
421
222
|
}
|
|
@@ -466,13 +267,7 @@ For embedded attribute widgets: {'cf.platform.quotedAttributeName': "'cf.cplace.
|
|
|
466
267
|
const operationVerb = operation === "ADD" ? "added" : "removed";
|
|
467
268
|
return `Widget ${operationVerb} successfully`;
|
|
468
269
|
}
|
|
469
|
-
server.registerTool(
|
|
470
|
-
description: "Get embedded widget layout structure for page or type. Retrieves the widget layout structure of embedded widgets within container widgets like AttributesGroup widgets.",
|
|
471
|
-
inputSchema: {
|
|
472
|
-
context: EmbeddedLayoutContextSchema
|
|
473
|
-
},
|
|
474
|
-
annotations: { title: "Get Embedded Layout" }
|
|
475
|
-
}, async ({ context }) => {
|
|
270
|
+
server.registerTool(TOOL_GET_EMBEDDED_LAYOUT, WIDGET_TOOL_DEFINITIONS[TOOL_GET_EMBEDDED_LAYOUT], async ({ context }) => {
|
|
476
271
|
try {
|
|
477
272
|
debugLogWithTag('EMBEDDED_LAYOUT', `Getting embedded layout for ${context.type} context: ${JSON.stringify({ context, endpoint: determineEmbeddedApiEndpoint(context) })}`);
|
|
478
273
|
const endpoint = determineEmbeddedApiEndpoint(context);
|
|
@@ -497,16 +292,7 @@ For embedded attribute widgets: {'cf.platform.quotedAttributeName': "'cf.cplace.
|
|
|
497
292
|
};
|
|
498
293
|
}
|
|
499
294
|
});
|
|
500
|
-
server.registerTool(
|
|
501
|
-
description: "Add widget to page or type embedded layout. Enables adding widgets to nested layouts like those within AttributesGroup widgets.",
|
|
502
|
-
inputSchema: {
|
|
503
|
-
context: EmbeddedLayoutContextSchema,
|
|
504
|
-
widgetType: z.string().describe("Widget type identifier (e.g., 'cf.cplace.platform.table', 'cf.platform.wiki')"),
|
|
505
|
-
position: PositionSchema,
|
|
506
|
-
configuration: z.record(z.any()).optional().describe(WIDGET_CONFIG_DESCRIPTION)
|
|
507
|
-
},
|
|
508
|
-
annotations: { title: "Add Widget to Embedded Layout" }
|
|
509
|
-
}, async ({ context, widgetType, position, configuration }) => {
|
|
295
|
+
server.registerTool(TOOL_ADD_WIDGET_TO_EMBEDDED_LAYOUT, WIDGET_TOOL_DEFINITIONS[TOOL_ADD_WIDGET_TO_EMBEDDED_LAYOUT], async ({ context, widgetType, position, configuration }) => {
|
|
510
296
|
try {
|
|
511
297
|
debugLogWithTag('EMBEDDED_LAYOUT_ADD', `Adding widget to ${context.type} embedded layout: ${JSON.stringify({ context, widgetType, position, hasConfiguration: !!configuration })}`);
|
|
512
298
|
const endpoint = determineEmbeddedApiEndpoint(context);
|
|
@@ -542,14 +328,7 @@ For embedded attribute widgets: {'cf.platform.quotedAttributeName': "'cf.cplace.
|
|
|
542
328
|
};
|
|
543
329
|
}
|
|
544
330
|
});
|
|
545
|
-
server.registerTool(
|
|
546
|
-
description: "Remove widget from page or type embedded layout. Enables removing widgets from nested layouts like those within AttributesGroup widgets.",
|
|
547
|
-
inputSchema: {
|
|
548
|
-
context: EmbeddedLayoutContextSchema,
|
|
549
|
-
widgetId: z.string().describe("The ID of the existing widget to remove from the embedded layout")
|
|
550
|
-
},
|
|
551
|
-
annotations: { title: "Remove Widget from Embedded Layout" }
|
|
552
|
-
}, async ({ context, widgetId }) => {
|
|
331
|
+
server.registerTool(TOOL_REMOVE_WIDGET_FROM_EMBEDDED_LAYOUT, WIDGET_TOOL_DEFINITIONS[TOOL_REMOVE_WIDGET_FROM_EMBEDDED_LAYOUT], async ({ context, widgetId }) => {
|
|
553
332
|
try {
|
|
554
333
|
debugLogWithTag('EMBEDDED_LAYOUT_REMOVE', `Removing widget from ${context.type} embedded layout: ${JSON.stringify({ context, widgetId })}`);
|
|
555
334
|
const endpoint = determineEmbeddedApiEndpoint(context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgets.js","sourceRoot":"","sources":["../../src/tools/widgets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AA2BhF,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,MAAuB;IAE5E,MAAM,CAAC,YAAY,CAAC,gCAAgC,EAChD;QACI,WAAW,EAAE,8KAA8K;QAC3L,WAAW,EAAE;YACT,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,mBAAmB,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC;;;iFAGzC,CAAC;SACvE;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE;KACpD,EACD,KAAK,EAAE,EAAE,gBAAgB,GAAG,WAAW,EAAE,EAAE,EAAE;QACzC,eAAe,CAAC,SAAS,EAAE,mEAAmE,gBAAgB,EAAE,CAAC,CAAC;QAElH,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,yBAAyB,EAAE,KAAK,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAEnG,eAAe,CAAC,SAAS,EAAE,6CAA6C,gBAAgB,EAAE,CAAC,CAAC;YAE5F,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACrE,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO;gBACH,OAAO,EAAE,CAAC;wBACN,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,wCAAwC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBACzG,CAAC;gBACF,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;IACL,CAAC,CACJ,CAAC;IAGF,MAAM,6BAA6B,GAAwC;QACvE,oCAAoC,EAAE;YAClC,kDAAkD,EAAE;gBAChD,WAAW,EAAE;oBACT,WAAW,EAAE,kEAAkE;oBAC/E,QAAQ,EAAE,2CAA2C;oBACrD,UAAU,EAAE,gGAAgG;oBAC5G,UAAU,EAAE,+GAA+G;iBAC9H;gBACD,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,gFAAgF;aACzF;SACJ;KAKJ,CAAC;IAGF,MAAM,CAAC,YAAY,CAAC,8BAA8B,EAC9C;QACI,WAAW,EAAE,8lBAA8lB;QAC3mB,WAAW,EAAE;YACT,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mFAAmF,CAAC;SACvH;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,+BAA+B,EAAE;KAC1D,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QACrB,eAAe,CAAC,SAAS,EAAE,2CAA2C,UAAU,EAAE,CAAC,CAAC;QAEpF,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,wBAAwB,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YAG5F,IAAI,MAAM,IAAI,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAC;gBAChF,MAAM,CAAC,mBAAmB,CAAC,UAAU,GAAG,8BAA8B,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBAG9G,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,UAAU,CAAC,CAAC;gBACrE,IAAI,kBAAkB,EAAE,CAAC;oBACrB,MAAM,CAAC,mBAAmB,CAAC,UAAU,GAAG,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;wBAC5F,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAClD,IAAI,WAAW,EAAE,CAAC;4BAEd,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;4BACnC,eAAe,CAAC,SAAS,EAAE,sBAAsB,IAAI,CAAC,IAAI,wBAAwB,CAAC,CAAC;wBACxF,CAAC;wBACD,OAAO,IAAI,CAAC;oBAChB,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;YAED,eAAe,CAAC,SAAS,EAAE,oCAAoC,UAAU,EAAE,CAAC,CAAC;YAE7E,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACrE,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO;gBACH,OAAO,EAAE,CAAC;wBACN,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,0CAA0C,UAAU,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBAC1H,CAAC;gBACF,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;IACL,CAAC,CACJ,CAAC;IAIF,MAAM,CAAC,YAAY,CAAC,2BAA2B,EAC3C;QACI,WAAW,EAAE,kKAAkK;QAC/K,WAAW,EAAE;YACT,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;YAC7F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yEAAyE,CAAC;SAC3G;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE;KAC/C,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC5B,eAAe,CAAC,QAAQ,EAAE,8CAA8C,QAAQ,YAAY,OAAO,EAAE,CAAC,CAAC;QAEvG,IAAI,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAGlF,IAAI,WAAW,GAAG,IAAI,CAAC;YAEvB,MAAM,UAAU,GAAG,CAAC,IAAW,EAAO,EAAE;gBACpC,KAAK,MAAM,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;oBAC3B,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;wBACrC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;4BACxC,IAAI,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gCACzB,OAAO,MAAM,CAAC;4BAClB,CAAC;4BAED,IAAI,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;gCAC7B,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gCAC3D,IAAI,YAAY;oCAAE,OAAO,YAAY,CAAC;4BAC1C,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC;YAEF,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEtC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,OAAO;oBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,QAAQ,sBAAsB,OAAO,EAAE,EAAE,CAAC;iBAC/F,CAAC;YACN,CAAC;YAED,eAAe,CAAC,QAAQ,EAAE,iCAAiC,QAAQ,UAAU,CAAC,CAAC;YAE/E,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC1E,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO;gBACH,OAAO,EAAE,CAAC;wBACN,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,uCAAuC,QAAQ,YAAY,OAAO,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBACxI,CAAC;gBACF,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;IACL,CAAC,CACJ,CAAC;IAGF,MAAM,CAAC,YAAY,CAAC,6BAA6B,EAC7C;QACI,WAAW,EAAE,ipCAAipC;QAC9pC,WAAW,EAAE;YACT,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;YAC5F,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kHAAkH,CAAC;YACnJ,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,yBAAyB;;;;;;;;;;8HAU+B,CAAC;YACjH,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC;YAC9F,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,gHAAgH,CAAC;YACpL,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mKAAmK,CAAC;YACtN,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mIAAmI,CAAC;SAC3L;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE;KACjD,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,EAAE,EAAE;QACvH,eAAe,CAAC,eAAe,EAAE,kCAAkC,UAAU,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,+BAA+B,GAAG,iBAAiB,CAAC,CAAC,CAAC,aAAa,IAAI,OAAO,gBAAgB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE3O,IAAI,CAAC;YAED,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;gBAC7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACrB,OAAO;wBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,8DAA8D,EAAE,CAAC;qBACpG,CAAC;gBACN,CAAC;gBACD,eAAe,CAAC,eAAe,EAAE,kDAAkD,iBAAiB,EAAE,CAAC,CAAC;YAC5G,CAAC;YAED,MAAM,SAAS,GAAQ;gBACnB,IAAI,EAAE,KAAK;gBACX,UAAU;gBACV,QAAQ,EAAE;oBACN,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,WAAW,EAAE,QAAQ,CAAC,WAAW;iBACpC;aACJ,CAAC;YAEF,IAAI,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzD,SAAS,CAAC,aAAa,GAAG,aAAa,CAAC;gBACxC,eAAe,CAAC,eAAe,EAAE,4BAA4B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/G,CAAC;YAED,MAAM,WAAW,GAAQ;gBACrB,OAAO;gBACP,aAAa;gBACb,SAAS;aACZ,CAAC;YAGF,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;gBAC7B,WAAW,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;gBAClD,IAAI,mBAAmB,EAAE,CAAC;oBACtB,WAAW,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;gBAC1D,CAAC;YACL,CAAC;YAED,eAAe,CAAC,eAAe,EAAE,iBAAiB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAE1F,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAE/F,eAAe,CAAC,eAAe,EAAE,6BAA6B,UAAU,YAAY,OAAO,EAAE,CAAC,CAAC;YAE/F,MAAM,QAAQ,GAAG;gBACb,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,SAAS;gBACjB,OAAO;gBACP,UAAU;gBACV,QAAQ;gBACR,aAAa;gBACb,GAAG,CAAC,aAAa,KAAK,QAAQ,IAAI,iBAAiB,IAAI,EAAE,iBAAiB,EAAE,CAAC;gBAC7E,OAAO,EAAE,aAAa,KAAK,QAAQ;oBAC/B,CAAC,CAAC,8CAA8C;oBAChD,CAAC,CAAC,2BAA2B;aACpC,CAAC;YAEF,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACvE,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,eAAe,CAAC,eAAe,EAAE,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEnH,MAAM,aAAa,GAAG;gBAClB,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,OAAO;gBACf,OAAO;gBACP,UAAU;gBACV,QAAQ;gBACR,aAAa;gBACb,GAAG,CAAC,aAAa,KAAK,QAAQ,IAAI,iBAAiB,IAAI,EAAE,iBAAiB,EAAE,CAAC;gBAC7E,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,OAAO,EAAE,sBAAsB;aAClC,CAAC;YAEF,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBACzE,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;IACL,CAAC,CACJ,CAAC;IAGF,MAAM,CAAC,YAAY,CAAC,kCAAkC,EAClD;QACI,WAAW,EAAE,8CAA8C;QAC3D,WAAW,EAAE;YACT,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;YAC7F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;SACjF;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE;KACtD,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC5B,eAAe,CAAC,eAAe,EAAE,qCAAqC,QAAQ,cAAc,OAAO,EAAE,CAAC,CAAC;QAEvG,IAAI,CAAC;YACD,MAAM,WAAW,GAAG;gBAChB,OAAO;gBACP,SAAS,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,QAAQ;iBACX;aACJ,CAAC;YAEF,eAAe,CAAC,eAAe,EAAE,iBAAiB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAE1F,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAE/F,eAAe,CAAC,eAAe,EAAE,+BAA+B,QAAQ,cAAc,OAAO,EAAE,CAAC,CAAC;YAEjG,MAAM,QAAQ,GAAG;gBACb,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE,SAAS;gBACjB,OAAO;gBACP,QAAQ;gBACR,OAAO,EAAE,6BAA6B;aACzC,CAAC;YAEF,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACvE,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,eAAe,CAAC,eAAe,EAAE,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAErH,MAAM,aAAa,GAAG;gBAClB,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE,OAAO;gBACf,OAAO;gBACP,QAAQ;gBACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,OAAO,EAAE,yBAAyB;aACrC,CAAC;YAEF,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBACzE,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;IACL,CAAC,CACJ,CAAC;IAGF,MAAM,CAAC,YAAY,CAAC,gCAAgC,EAChD;QACI,WAAW,EAAE,mZAAmZ;QACha,WAAW,EAAE;YACT,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;YAC7F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;YAC9E,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,yBAAyB,EAAE,CAAC;YACnJ,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;SACjF;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE;KACpD,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,EAAE;QACzD,eAAe,CAAC,eAAe,EAAE,qCAAqC,QAAQ,YAAY,OAAO,EAAE,CAAC,CAAC;QAErG,IAAI,CAAC;YACD,MAAM,SAAS,GAAQ;gBACnB,IAAI,EAAE,QAAQ;gBACd,QAAQ;aACX,CAAC;YAEF,IAAI,gBAAgB,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/D,SAAS,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;gBAC9C,eAAe,CAAC,eAAe,EAAE,gCAAgC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;YACtH,CAAC;YAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC1B,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;gBAChC,eAAe,CAAC,eAAe,EAAE,+BAA+B,SAAS,EAAE,CAAC,CAAC;YACjF,CAAC;YAGD,IAAI,CAAC,SAAS,CAAC,gBAAgB,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACnE,OAAO;oBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,uFAAuF,EAAE,CAAC;iBAC7H,CAAC;YACN,CAAC;YAED,MAAM,WAAW,GAAG;gBAChB,OAAO;gBACP,SAAS;aACZ,CAAC;YAEF,eAAe,CAAC,eAAe,EAAE,iBAAiB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAE1F,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAC/F,eAAe,CAAC,eAAe,EAAE,+BAA+B,QAAQ,YAAY,OAAO,EAAE,CAAC,CAAC;YAE/F,MAAM,QAAQ,GAAG;gBACb,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE,SAAS;gBACjB,OAAO;gBACP,QAAQ;gBACR,OAAO,EAAE,6BAA6B;aACzC,CAAC;YAEF,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACvE,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,eAAe,CAAC,eAAe,EAAE,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAErH,MAAM,aAAa,GAAG;gBAClB,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE,OAAO;gBACf,OAAO;gBACP,QAAQ;gBACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,OAAO,EAAE,yBAAyB;aACrC,CAAC;YAEF,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBACzE,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;IACL,CAAC,CACJ,CAAC;IAGF,MAAM,CAAC,YAAY,CAAC,8BAA8B,EAC9C;QACI,WAAW,EAAE,6yBAA6yB;QAC1zB,WAAW,EAAE;YACT,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;YAC7F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YAC5E,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC;SACzF;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE;KAClD,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE;QACzC,eAAe,CAAC,eAAe,EAAE,mCAAmC,QAAQ,YAAY,OAAO,gBAAgB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAE9I,IAAI,CAAC;YACD,MAAM,WAAW,GAAG;gBAChB,OAAO;gBACP,SAAS,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,QAAQ;oBACR,WAAW,EAAE;wBACT,QAAQ,EAAE,WAAW,CAAC,QAAQ;wBAC9B,WAAW,EAAE,WAAW,CAAC,WAAW;wBACpC,WAAW,EAAE,WAAW,CAAC,WAAW;qBACvC;iBACJ;aACJ,CAAC;YAEF,eAAe,CAAC,eAAe,EAAE,iBAAiB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAE1F,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAE/F,eAAe,CAAC,eAAe,EAAE,6BAA6B,QAAQ,YAAY,OAAO,EAAE,CAAC,CAAC;YAG7F,IAAI,WAAW,GAAG,QAAQ,CAAC;YAC3B,IAAI,eAAe,GAAG,KAAK,CAAC;YAE5B,IAAI,CAAC;gBAED,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;gBACnC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAGxC,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACnD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;oBACpD,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;wBAClE,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;wBAChE,IAAI,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;4BACxE,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;4BAClE,IAAI,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;gCAChD,WAAW,GAAG,WAAW,CAAC,EAAE,CAAC;gCAC7B,eAAe,GAAG,IAAI,CAAC;4BAC3B,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBAElB,eAAe,CAAC,eAAe,EAAE,+CAA+C,UAAU,EAAE,CAAC,CAAC;YAClG,CAAC;YAED,MAAM,QAAQ,GAAG;gBACb,SAAS,EAAE,MAAM;gBACjB,MAAM,EAAE,SAAS;gBACjB,OAAO;gBACP,WAAW,EAAE,QAAQ;gBACrB,WAAW;gBACX,WAAW;gBACX,eAAe;gBACf,OAAO,EAAE,eAAe;oBACpB,CAAC,CAAC,6EAA6E;oBAC/E,CAAC,CAAC,2BAA2B;aACpC,CAAC;YAEF,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACvE,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,eAAe,CAAC,eAAe,EAAE,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEnH,MAAM,aAAa,GAAG;gBAClB,SAAS,EAAE,MAAM;gBACjB,MAAM,EAAE,OAAO;gBACf,OAAO;gBACP,WAAW,EAAE,QAAQ;gBACrB,WAAW;gBACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,OAAO,EAAE,uBAAuB;aACnC,CAAC;YAEF,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBACzE,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;IACL,CAAC,CACJ,CAAC;IAOF,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC;QAC1C,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YAC9D,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YACjF,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;SAC1F,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;YACvE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;YACvF,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YAC3F,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YACjF,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;SAC1F,CAAC;KACH,CAAC,CAAC,QAAQ,CAAC,oFAAoF,CAAC,CAAC;IAGlG,SAAS,4BAA4B,CAAC,OAAoD;QACxF,OAAO,OAAO,CAAC,IAAI,KAAK,MAAM;YAC5B,CAAC,CAAC,gCAAgC;YAClC,CAAC,CAAC,gCAAgC,CAAC;IACvC,CAAC;IAED,SAAS,0BAA0B,CACjC,OAAoD,EACpD,mBAAwB,EAAE;QAE1B,MAAM,YAAY,GAAG;YACnB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,GAAG,gBAAgB;SACpB,CAAC;QAEF,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAO;gBACL,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,GAAG,YAAY;aAChB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,GAAG,CAAC,OAAO,CAAC,qBAAqB,IAAI,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE,CAAC;gBAC9F,GAAG,YAAY;aAChB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,SAAS,yBAAyB,CAAC,MAAW,EAAE,SAAiB;QAE/D,MAAM,aAAa,GAAG,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,OAAO,UAAU,aAAa,eAAe,CAAC;IAChD,CAAC;IAOD,MAAM,CAAC,YAAY,CAAC,4BAA4B,EAAE;QAChD,WAAW,EAAE,yKAAyK;QACtL,WAAW,EAAE;YACX,OAAO,EAAE,2BAA2B;SACrC;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE;KAC9C,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACvB,IAAI,CAAC;YACH,eAAe,CAAC,iBAAiB,EAAE,+BAA+B,OAAO,CAAC,IAAI,aAAa,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,4BAA4B,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAE3K,MAAM,QAAQ,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;YAE1D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;YAE3E,eAAe,CAAC,iBAAiB,EAAE,8CAA8C,OAAO,CAAC,IAAI,aAAa,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAG9J,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC5E,CAAC;aACH,CAAC;QAEJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAe,CAAC,iBAAiB,EAAE,qCAAqC,OAAO,CAAC,IAAI,aAAa,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAE/L,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBACjG,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAGH,MAAM,CAAC,YAAY,CAAC,sCAAsC,EAAE;QAC1D,WAAW,EAAE,iIAAiI;QAC9I,WAAW,EAAE;YACX,OAAO,EAAE,2BAA2B;YACpC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+EAA+E,CAAC;YAChH,QAAQ,EAAE,cAAc;YACxB,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;SAChF;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,+BAA+B,EAAE;KACxD,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE;QAC5D,IAAI,CAAC;YACH,eAAe,CAAC,qBAAqB,EAAE,oBAAoB,OAAO,CAAC,IAAI,qBAAqB,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;YAEpL,MAAM,QAAQ,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;YAC1D,MAAM,aAAa,GAAG,KAAK,CAAC;YAE5B,MAAM,WAAW,GAAG;gBAClB,GAAG,aAAa;gBAChB,SAAS,EAAE;oBACT,IAAI,EAAE,aAAa;oBACnB,UAAU;oBACV,QAAQ;oBACR,GAAG,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC;iBACjF;aACF,CAAC;YAEF,eAAe,CAAC,qBAAqB,EAAE,0BAA0B,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAEvK,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAEtF,eAAe,CAAC,qBAAqB,EAAE,gCAAgC,OAAO,CAAC,IAAI,qBAAqB,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAElK,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yBAAyB,CAAC,MAAM,EAAE,KAAK,CAAC;qBAC/C,CAAC;aACH,CAAC;QAEJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAe,CAAC,qBAAqB,EAAE,2BAA2B,OAAO,CAAC,IAAI,qBAAqB,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAE7M,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBACxF,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAGH,MAAM,CAAC,YAAY,CAAC,2CAA2C,EAAE;QAC/D,WAAW,EAAE,0IAA0I;QACvJ,WAAW,EAAE;YACX,OAAO,EAAE,2BAA2B;YACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;SAClG;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,oCAAoC,EAAE;KAC7D,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QACjC,IAAI,CAAC;YACH,eAAe,CAAC,wBAAwB,EAAE,wBAAwB,OAAO,CAAC,IAAI,qBAAqB,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YAE5I,MAAM,QAAQ,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;YAC1D,MAAM,aAAa,GAAG,QAAQ,CAAC;YAE/B,MAAM,WAAW,GAAG;gBAClB,GAAG,aAAa;gBAChB,SAAS,EAAE;oBACT,IAAI,EAAE,aAAa;oBACnB,QAAQ;iBACT;aACF,CAAC;YAEF,eAAe,CAAC,wBAAwB,EAAE,6BAA6B,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YAE5I,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAEtF,eAAe,CAAC,wBAAwB,EAAE,oCAAoC,OAAO,CAAC,IAAI,qBAAqB,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAEvK,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC;qBAClD,CAAC;aACH,CAAC;QAEJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAe,CAAC,wBAAwB,EAAE,gCAAgC,OAAO,CAAC,IAAI,qBAAqB,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAEnN,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBAC3F,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AAGL,CAAC"}
|
|
1
|
+
{"version":3,"file":"widgets.js","sourceRoot":"","sources":["../../src/tools/widgets.ts"],"names":[],"mappings":"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"}
|