snow-flow 1.1.61 → 1.1.63

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.
Files changed (153) hide show
  1. package/dist/agents/base/base-snow-agent.d.ts +75 -0
  2. package/dist/agents/base/base-snow-agent.d.ts.map +1 -0
  3. package/dist/agents/base/base-snow-agent.js +169 -0
  4. package/dist/agents/base/base-snow-agent.js.map +1 -0
  5. package/dist/agents/specialists/automation-specialist.agent.d.ts +44 -0
  6. package/dist/agents/specialists/automation-specialist.agent.d.ts.map +1 -0
  7. package/dist/agents/specialists/automation-specialist.agent.js +204 -0
  8. package/dist/agents/specialists/automation-specialist.agent.js.map +1 -0
  9. package/dist/agents/specialists/data-specialist.agent.d.ts +165 -0
  10. package/dist/agents/specialists/data-specialist.agent.d.ts.map +1 -0
  11. package/dist/agents/specialists/data-specialist.agent.js +484 -0
  12. package/dist/agents/specialists/data-specialist.agent.js.map +1 -0
  13. package/dist/agents/specialists/integration-specialist.agent.d.ts +227 -0
  14. package/dist/agents/specialists/integration-specialist.agent.d.ts.map +1 -0
  15. package/dist/agents/specialists/integration-specialist.agent.js +725 -0
  16. package/dist/agents/specialists/integration-specialist.agent.js.map +1 -0
  17. package/dist/agents/specialists/reporting-specialist.agent.d.ts +54 -0
  18. package/dist/agents/specialists/reporting-specialist.agent.d.ts.map +1 -0
  19. package/dist/agents/specialists/reporting-specialist.agent.js +193 -0
  20. package/dist/agents/specialists/reporting-specialist.agent.js.map +1 -0
  21. package/dist/agents/specialists/security-specialist.agent.d.ts +85 -0
  22. package/dist/agents/specialists/security-specialist.agent.d.ts.map +1 -0
  23. package/dist/agents/specialists/security-specialist.agent.js +309 -0
  24. package/dist/agents/specialists/security-specialist.agent.js.map +1 -0
  25. package/dist/agents/teams/adaptive/adaptive-coordinator.agent.d.ts +111 -0
  26. package/dist/agents/teams/adaptive/adaptive-coordinator.agent.d.ts.map +1 -0
  27. package/dist/agents/teams/adaptive/adaptive-coordinator.agent.js +383 -0
  28. package/dist/agents/teams/adaptive/adaptive-coordinator.agent.js.map +1 -0
  29. package/dist/agents/teams/base-team.d.ts +72 -0
  30. package/dist/agents/teams/base-team.d.ts.map +1 -0
  31. package/dist/agents/teams/base-team.js +253 -0
  32. package/dist/agents/teams/base-team.js.map +1 -0
  33. package/dist/agents/teams/team-types.d.ts +265 -0
  34. package/dist/agents/teams/team-types.d.ts.map +1 -0
  35. package/dist/agents/teams/team-types.js +3 -0
  36. package/dist/agents/teams/team-types.js.map +1 -0
  37. package/dist/agents/teams/widget/widget-architect.agent.d.ts +61 -0
  38. package/dist/agents/teams/widget/widget-architect.agent.d.ts.map +1 -0
  39. package/dist/agents/teams/widget/widget-architect.agent.js +436 -0
  40. package/dist/agents/teams/widget/widget-architect.agent.js.map +1 -0
  41. package/dist/agents/teams/widget/widget-backend.agent.d.ts +74 -0
  42. package/dist/agents/teams/widget/widget-backend.agent.d.ts.map +1 -0
  43. package/dist/agents/teams/widget/widget-backend.agent.js +1531 -0
  44. package/dist/agents/teams/widget/widget-backend.agent.js.map +1 -0
  45. package/dist/agents/teams/widget/widget-frontend.agent.d.ts +67 -0
  46. package/dist/agents/teams/widget/widget-frontend.agent.d.ts.map +1 -0
  47. package/dist/agents/teams/widget/widget-frontend.agent.js +1014 -0
  48. package/dist/agents/teams/widget/widget-frontend.agent.js.map +1 -0
  49. package/dist/agents/teams/widget/widget-platform.agent.d.ts +90 -0
  50. package/dist/agents/teams/widget/widget-platform.agent.d.ts.map +1 -0
  51. package/dist/agents/teams/widget/widget-platform.agent.js +1190 -0
  52. package/dist/agents/teams/widget/widget-platform.agent.js.map +1 -0
  53. package/dist/agents/teams/widget/widget-uiux.agent.d.ts +107 -0
  54. package/dist/agents/teams/widget/widget-uiux.agent.d.ts.map +1 -0
  55. package/dist/agents/teams/widget/widget-uiux.agent.js +1033 -0
  56. package/dist/agents/teams/widget/widget-uiux.agent.js.map +1 -0
  57. package/dist/assembly/team-assembler.d.ts +140 -0
  58. package/dist/assembly/team-assembler.d.ts.map +1 -0
  59. package/dist/assembly/team-assembler.js +502 -0
  60. package/dist/assembly/team-assembler.js.map +1 -0
  61. package/dist/cli.js +165 -12
  62. package/dist/cli.js.map +1 -1
  63. package/dist/intelligence/task-analyzer.d.ts +119 -0
  64. package/dist/intelligence/task-analyzer.d.ts.map +1 -0
  65. package/dist/intelligence/task-analyzer.js +494 -0
  66. package/dist/intelligence/task-analyzer.js.map +1 -0
  67. package/dist/patterns/adaptive-patterns.d.ts +140 -0
  68. package/dist/patterns/adaptive-patterns.d.ts.map +1 -0
  69. package/dist/patterns/adaptive-patterns.js +549 -0
  70. package/dist/patterns/adaptive-patterns.js.map +1 -0
  71. package/dist/sparc/coordinators/adaptive-coordinator.d.ts +54 -0
  72. package/dist/sparc/coordinators/adaptive-coordinator.d.ts.map +1 -0
  73. package/dist/sparc/coordinators/adaptive-coordinator.js +367 -0
  74. package/dist/sparc/coordinators/adaptive-coordinator.js.map +1 -0
  75. package/dist/sparc/coordinators/team-coordinator.d.ts +66 -0
  76. package/dist/sparc/coordinators/team-coordinator.d.ts.map +1 -0
  77. package/dist/sparc/coordinators/team-coordinator.js +402 -0
  78. package/dist/sparc/coordinators/team-coordinator.js.map +1 -0
  79. package/dist/sparc/modes/team-modes.d.ts +33 -0
  80. package/dist/sparc/modes/team-modes.d.ts.map +1 -0
  81. package/dist/sparc/modes/team-modes.js +399 -0
  82. package/dist/sparc/modes/team-modes.js.map +1 -0
  83. package/dist/sparc/sparc-help.d.ts +8 -0
  84. package/dist/sparc/sparc-help.d.ts.map +1 -0
  85. package/dist/sparc/sparc-help.js +299 -0
  86. package/dist/sparc/sparc-help.js.map +1 -0
  87. package/dist/sparc/team-sparc.d.ts +33 -0
  88. package/dist/sparc/team-sparc.d.ts.map +1 -0
  89. package/dist/sparc/team-sparc.js +217 -0
  90. package/dist/sparc/team-sparc.js.map +1 -0
  91. package/dist/sparc/teams/application-team.d.ts +73 -0
  92. package/dist/sparc/teams/application-team.d.ts.map +1 -0
  93. package/dist/sparc/teams/application-team.js +463 -0
  94. package/dist/sparc/teams/application-team.js.map +1 -0
  95. package/dist/sparc/teams/flow-team.d.ts +67 -0
  96. package/dist/sparc/teams/flow-team.d.ts.map +1 -0
  97. package/dist/sparc/teams/flow-team.js +373 -0
  98. package/dist/sparc/teams/flow-team.js.map +1 -0
  99. package/dist/sparc/teams/widget-team.d.ts +61 -0
  100. package/dist/sparc/teams/widget-team.d.ts.map +1 -0
  101. package/dist/sparc/teams/widget-team.js +280 -0
  102. package/dist/sparc/teams/widget-team.js.map +1 -0
  103. package/dist/specialists/app-specialists.d.ts +93 -0
  104. package/dist/specialists/app-specialists.d.ts.map +1 -0
  105. package/dist/specialists/app-specialists.js +1639 -0
  106. package/dist/specialists/app-specialists.js.map +1 -0
  107. package/dist/specialists/base-specialist.d.ts +19 -0
  108. package/dist/specialists/base-specialist.d.ts.map +1 -0
  109. package/dist/specialists/base-specialist.js +54 -0
  110. package/dist/specialists/base-specialist.js.map +1 -0
  111. package/dist/specialists/flow-specialists.d.ts +113 -0
  112. package/dist/specialists/flow-specialists.d.ts.map +1 -0
  113. package/dist/specialists/flow-specialists.js +1787 -0
  114. package/dist/specialists/flow-specialists.js.map +1 -0
  115. package/dist/specialists/individual-specialists.d.ts +67 -0
  116. package/dist/specialists/individual-specialists.d.ts.map +1 -0
  117. package/dist/specialists/individual-specialists.js +632 -0
  118. package/dist/specialists/individual-specialists.js.map +1 -0
  119. package/dist/specialists/widget-specialists.d.ts +70 -0
  120. package/dist/specialists/widget-specialists.d.ts.map +1 -0
  121. package/dist/specialists/widget-specialists.js +1264 -0
  122. package/dist/specialists/widget-specialists.js.map +1 -0
  123. package/dist/teams/adaptive-team.d.ts +81 -0
  124. package/dist/teams/adaptive-team.d.ts.map +1 -0
  125. package/dist/teams/adaptive-team.js +1153 -0
  126. package/dist/teams/adaptive-team.js.map +1 -0
  127. package/dist/teams/application-team.d.ts +30 -0
  128. package/dist/teams/application-team.d.ts.map +1 -0
  129. package/dist/teams/application-team.js +547 -0
  130. package/dist/teams/application-team.js.map +1 -0
  131. package/dist/teams/base-team.d.ts +55 -0
  132. package/dist/teams/base-team.d.ts.map +1 -0
  133. package/dist/teams/base-team.js +243 -0
  134. package/dist/teams/base-team.js.map +1 -0
  135. package/dist/teams/flow-team.d.ts +28 -0
  136. package/dist/teams/flow-team.d.ts.map +1 -0
  137. package/dist/teams/flow-team.js +525 -0
  138. package/dist/teams/flow-team.js.map +1 -0
  139. package/dist/teams/widget-team.d.ts +26 -0
  140. package/dist/teams/widget-team.d.ts.map +1 -0
  141. package/dist/teams/widget-team.js +459 -0
  142. package/dist/teams/widget-team.js.map +1 -0
  143. package/dist/types/index.d.ts +2 -0
  144. package/dist/types/index.d.ts.map +1 -1
  145. package/dist/types/index.js +17 -0
  146. package/dist/types/index.js.map +1 -1
  147. package/dist/utils/agent-detector.js +1 -1
  148. package/dist/utils/agent-detector.js.map +1 -1
  149. package/dist/version.d.ts +6 -1
  150. package/dist/version.d.ts.map +1 -1
  151. package/dist/version.js +44 -9
  152. package/dist/version.js.map +1 -1
  153. package/package.json +1 -1
@@ -0,0 +1,632 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IndividualSpecialists = exports.IndividualIntegrationSpecialist = exports.IndividualDataSpecialist = exports.IndividualSecuritySpecialist = exports.IndividualBackendSpecialist = exports.IndividualFrontendSpecialist = void 0;
4
+ const base_specialist_js_1 = require("./base-specialist.js");
5
+ // Individual specialist classes for standalone execution
6
+ // These are simplified, focused versions of the team specialists
7
+ class IndividualFrontendSpecialist extends base_specialist_js_1.BaseSpecialist {
8
+ constructor(options = {}) {
9
+ super('Frontend Developer', 'Frontend Developer', ['HTML', 'CSS', 'JavaScript', 'Responsive Design', 'UI Components'], options);
10
+ }
11
+ async execute(task, context) {
12
+ await this.logProgress(`Working on frontend task: ${task}`);
13
+ const analysis = await this.analyzeTask(task);
14
+ const requirements = this.analyzeFrontendNeeds(task);
15
+ const deliverables = {
16
+ template: await this.createQuickTemplate(requirements),
17
+ styles: await this.createQuickStyles(requirements),
18
+ clientScript: await this.createQuickClientScript(requirements)
19
+ };
20
+ return {
21
+ ...analysis,
22
+ specialist: 'Frontend Developer',
23
+ requirements,
24
+ deliverables,
25
+ quickImplementation: true
26
+ };
27
+ }
28
+ analyzeFrontendNeeds(task) {
29
+ const lowerTask = task.toLowerCase();
30
+ return {
31
+ type: lowerTask.includes('form') ? 'form' :
32
+ lowerTask.includes('list') ? 'list' :
33
+ lowerTask.includes('dashboard') ? 'dashboard' : 'generic',
34
+ responsive: lowerTask.includes('mobile') || lowerTask.includes('responsive'),
35
+ interactive: lowerTask.includes('click') || lowerTask.includes('interactive'),
36
+ styling: lowerTask.includes('style') || lowerTask.includes('css')
37
+ };
38
+ }
39
+ async createQuickTemplate(requirements) {
40
+ switch (requirements.type) {
41
+ case 'form':
42
+ return this.createFormTemplate();
43
+ case 'list':
44
+ return this.createListTemplate();
45
+ case 'dashboard':
46
+ return this.createDashboardTemplate();
47
+ default:
48
+ return this.createGenericTemplate();
49
+ }
50
+ }
51
+ createFormTemplate() {
52
+ return `
53
+ <div class="widget-form" role="form">
54
+ <h3>{{data.title || 'Form'}}</h3>
55
+ <form ng-submit="c.submitForm()">
56
+ <div ng-repeat="field in data.fields" class="form-group">
57
+ <label>{{field.label}}</label>
58
+ <input type="{{field.type || 'text'}}"
59
+ ng-model="c.formData[field.name]"
60
+ class="form-control"
61
+ ng-required="field.required">
62
+ </div>
63
+ <button type="submit" class="btn btn-primary">Submit</button>
64
+ </form>
65
+ </div>
66
+ `.trim();
67
+ }
68
+ createListTemplate() {
69
+ return `
70
+ <div class="widget-list">
71
+ <h3>{{data.title || 'List'}}</h3>
72
+ <div class="list-controls" ng-if="data.searchable">
73
+ <input type="search" ng-model="c.searchTerm" placeholder="Search...">
74
+ </div>
75
+ <div class="list-container">
76
+ <div ng-repeat="item in c.filteredItems" class="list-item" ng-click="c.selectItem(item)">
77
+ <h4>{{item.title || item.name}}</h4>
78
+ <p>{{item.description || item.short_description}}</p>
79
+ </div>
80
+ </div>
81
+ </div>
82
+ `.trim();
83
+ }
84
+ createDashboardTemplate() {
85
+ return `
86
+ <div class="widget-dashboard">
87
+ <h3>{{data.title || 'Dashboard'}}</h3>
88
+ <div class="dashboard-grid">
89
+ <div ng-repeat="widget in data.widgets" class="dashboard-widget">
90
+ <h4>{{widget.title}}</h4>
91
+ <div class="widget-content">{{widget.value}}</div>
92
+ </div>
93
+ </div>
94
+ </div>
95
+ `.trim();
96
+ }
97
+ createGenericTemplate() {
98
+ return `
99
+ <div class="widget-container">
100
+ <h3>{{data.title || 'Widget'}}</h3>
101
+ <div class="widget-content">
102
+ <p ng-if="data.message">{{data.message}}</p>
103
+ <div ng-repeat="item in data.items" class="widget-item">
104
+ {{item.name || item.title || item}}
105
+ </div>
106
+ </div>
107
+ </div>
108
+ `.trim();
109
+ }
110
+ async createQuickStyles(requirements) {
111
+ const baseStyles = `
112
+ .widget-container {
113
+ padding: 1rem;
114
+ border: 1px solid #ddd;
115
+ border-radius: 4px;
116
+ background: #fff;
117
+ }
118
+
119
+ .widget-container h3 {
120
+ margin-top: 0;
121
+ color: #333;
122
+ }
123
+ `;
124
+ const responsiveStyles = requirements.responsive ? `
125
+ @media (max-width: 768px) {
126
+ .widget-container {
127
+ padding: 0.5rem;
128
+ margin: 0.5rem;
129
+ }
130
+ }
131
+ ` : '';
132
+ return baseStyles + responsiveStyles;
133
+ }
134
+ async createQuickClientScript(requirements) {
135
+ return `
136
+ function($scope) {
137
+ var c = this;
138
+
139
+ c.init = function() {
140
+ // Initialize component
141
+ };
142
+
143
+ ${requirements.interactive ? `
144
+ c.selectItem = function(item) {
145
+ c.selectedItem = item;
146
+ };
147
+ ` : ''}
148
+
149
+ ${requirements.type === 'list' ? `
150
+ c.filteredItems = c.data.items || [];
151
+
152
+ $scope.$watch('c.searchTerm', function(newVal) {
153
+ if (!newVal) {
154
+ c.filteredItems = c.data.items || [];
155
+ return;
156
+ }
157
+ c.filteredItems = (c.data.items || []).filter(function(item) {
158
+ return JSON.stringify(item).toLowerCase().includes(newVal.toLowerCase());
159
+ });
160
+ });
161
+ ` : ''}
162
+
163
+ c.init();
164
+ }
165
+ `.trim();
166
+ }
167
+ }
168
+ exports.IndividualFrontendSpecialist = IndividualFrontendSpecialist;
169
+ class IndividualBackendSpecialist extends base_specialist_js_1.BaseSpecialist {
170
+ constructor(options = {}) {
171
+ super('Backend Developer', 'Backend Developer', ['Server Scripts', 'GlideRecord', 'Data Processing', 'API Integration'], options);
172
+ }
173
+ async execute(task, context) {
174
+ await this.logProgress(`Working on backend task: ${task}`);
175
+ const analysis = await this.analyzeTask(task);
176
+ const requirements = this.analyzeBackendNeeds(task);
177
+ const deliverables = {
178
+ serverScript: await this.createQuickServerScript(requirements),
179
+ dataAccess: await this.createDataAccessLayer(requirements),
180
+ apiIntegration: requirements.needsAPI ? await this.createAPIIntegration(requirements) : null
181
+ };
182
+ return {
183
+ ...analysis,
184
+ specialist: 'Backend Developer',
185
+ requirements,
186
+ deliverables,
187
+ quickImplementation: true
188
+ };
189
+ }
190
+ analyzeBackendNeeds(task) {
191
+ const lowerTask = task.toLowerCase();
192
+ return {
193
+ dataType: lowerTask.includes('incident') ? 'incident' :
194
+ lowerTask.includes('request') ? 'request' :
195
+ lowerTask.includes('user') ? 'user' : 'generic',
196
+ needsAPI: lowerTask.includes('api') || lowerTask.includes('integration'),
197
+ needsProcessing: lowerTask.includes('process') || lowerTask.includes('calculate'),
198
+ needsCaching: lowerTask.includes('cache') || lowerTask.includes('performance')
199
+ };
200
+ }
201
+ async createQuickServerScript(requirements) {
202
+ return `
203
+ (function() {
204
+ 'use strict';
205
+
206
+ var data = {};
207
+
208
+ try {
209
+ // Quick data retrieval
210
+ var gr = new GlideRecord('${this.getTableName(requirements.dataType)}');
211
+ gr.orderByDesc('sys_created_on');
212
+ gr.setLimit(10);
213
+ gr.query();
214
+
215
+ data.items = [];
216
+ while (gr.next()) {
217
+ data.items.push({
218
+ sys_id: gr.getUniqueValue(),
219
+ number: gr.getDisplayValue('number'),
220
+ short_description: gr.getDisplayValue('short_description'),
221
+ state: gr.getDisplayValue('state')
222
+ });
223
+ }
224
+
225
+ data.count = data.items.length;
226
+ data.title = 'Recent ${requirements.dataType}';
227
+
228
+ ${requirements.needsProcessing ? this.addProcessingLogic() : ''}
229
+
230
+ } catch (error) {
231
+ gs.error('Quick backend error: ' + error.message);
232
+ data.error = 'Error loading data';
233
+ }
234
+
235
+ })();
236
+ `.trim();
237
+ }
238
+ getTableName(dataType) {
239
+ switch (dataType) {
240
+ case 'incident': return 'incident';
241
+ case 'request': return 'sc_request';
242
+ case 'user': return 'sys_user';
243
+ default: return 'task';
244
+ }
245
+ }
246
+ addProcessingLogic() {
247
+ return `
248
+ // Additional processing
249
+ data.summary = {
250
+ total: data.count,
251
+ recent: data.items.filter(function(item) {
252
+ return item.state !== 'Closed';
253
+ }).length
254
+ };
255
+ `;
256
+ }
257
+ async createDataAccessLayer(requirements) {
258
+ return {
259
+ table: this.getTableName(requirements.dataType),
260
+ fields: ['number', 'short_description', 'state', 'sys_created_on'],
261
+ defaultQuery: 'active=true',
262
+ orderBy: 'sys_created_on DESC'
263
+ };
264
+ }
265
+ async createAPIIntegration(requirements) {
266
+ return `
267
+ // Quick API integration example
268
+ var restMessage = new sn_ws.RESTMessageV2();
269
+ restMessage.setHttpMethod('GET');
270
+ restMessage.setEndpoint('https://api.example.com/data');
271
+ restMessage.setRequestHeader('Accept', 'application/json');
272
+
273
+ var response = restMessage.execute();
274
+ if (response.getStatusCode() == 200) {
275
+ var responseBody = response.getBody();
276
+ var jsonData = JSON.parse(responseBody);
277
+ // Process API data
278
+ }
279
+ `.trim();
280
+ }
281
+ }
282
+ exports.IndividualBackendSpecialist = IndividualBackendSpecialist;
283
+ class IndividualSecuritySpecialist extends base_specialist_js_1.BaseSpecialist {
284
+ constructor(options = {}) {
285
+ super('Security Specialist', 'Security Specialist', ['Access Control', 'Security Validation', 'Compliance Check', 'Vulnerability Assessment'], options);
286
+ }
287
+ async execute(task, context) {
288
+ await this.logProgress(`Analyzing security for: ${task}`);
289
+ const analysis = await this.analyzeTask(task);
290
+ const securityAssessment = await this.performQuickSecurityAssessment(task);
291
+ return {
292
+ ...analysis,
293
+ specialist: 'Security Specialist',
294
+ securityAssessment,
295
+ recommendations: this.generateSecurityRecommendations(securityAssessment),
296
+ quickImplementation: true
297
+ };
298
+ }
299
+ async performQuickSecurityAssessment(task) {
300
+ const lowerTask = task.toLowerCase();
301
+ return {
302
+ riskLevel: this.assessRiskLevel(task),
303
+ vulnerabilities: this.identifyQuickVulnerabilities(task),
304
+ complianceChecks: this.performComplianceChecks(task),
305
+ accessControlNeeds: this.assessAccessControlNeeds(task)
306
+ };
307
+ }
308
+ assessRiskLevel(task) {
309
+ const lowerTask = task.toLowerCase();
310
+ if (lowerTask.includes('admin') || lowerTask.includes('system') || lowerTask.includes('global')) {
311
+ return 'high';
312
+ }
313
+ else if (lowerTask.includes('user') || lowerTask.includes('data') || lowerTask.includes('api')) {
314
+ return 'medium';
315
+ }
316
+ return 'low';
317
+ }
318
+ identifyQuickVulnerabilities(task) {
319
+ const vulnerabilities = [];
320
+ const lowerTask = task.toLowerCase();
321
+ if (lowerTask.includes('input') || lowerTask.includes('form')) {
322
+ vulnerabilities.push('input_validation_needed');
323
+ }
324
+ if (lowerTask.includes('api') || lowerTask.includes('integration')) {
325
+ vulnerabilities.push('authentication_required');
326
+ }
327
+ if (lowerTask.includes('script') || lowerTask.includes('code')) {
328
+ vulnerabilities.push('code_injection_risk');
329
+ }
330
+ return vulnerabilities;
331
+ }
332
+ performComplianceChecks(task) {
333
+ const lowerTask = task.toLowerCase();
334
+ return {
335
+ gdpr: lowerTask.includes('user') || lowerTask.includes('personal'),
336
+ sox: lowerTask.includes('financial') || lowerTask.includes('audit'),
337
+ hipaa: lowerTask.includes('health') || lowerTask.includes('medical'),
338
+ iso27001: lowerTask.includes('security') || lowerTask.includes('information')
339
+ };
340
+ }
341
+ assessAccessControlNeeds(task) {
342
+ const lowerTask = task.toLowerCase();
343
+ return {
344
+ rolesNeeded: lowerTask.includes('admin') ? ['admin'] : ['user'],
345
+ permissionLevel: lowerTask.includes('create') || lowerTask.includes('modify') ? 'write' : 'read',
346
+ restrictionLevel: lowerTask.includes('sensitive') ? 'high' : 'standard'
347
+ };
348
+ }
349
+ generateSecurityRecommendations(assessment) {
350
+ const recommendations = [];
351
+ if (assessment.riskLevel === 'high') {
352
+ recommendations.push('Implement comprehensive access controls');
353
+ recommendations.push('Require admin approval for deployment');
354
+ }
355
+ if (assessment.vulnerabilities.includes('input_validation_needed')) {
356
+ recommendations.push('Add input validation and sanitization');
357
+ }
358
+ if (assessment.vulnerabilities.includes('authentication_required')) {
359
+ recommendations.push('Implement strong authentication mechanisms');
360
+ }
361
+ if (assessment.complianceChecks.gdpr) {
362
+ recommendations.push('Ensure GDPR compliance for data handling');
363
+ }
364
+ return recommendations;
365
+ }
366
+ }
367
+ exports.IndividualSecuritySpecialist = IndividualSecuritySpecialist;
368
+ class IndividualDataSpecialist extends base_specialist_js_1.BaseSpecialist {
369
+ constructor(options = {}) {
370
+ super('Data Specialist', 'Data Specialist', ['Data Analysis', 'Query Optimization', 'Data Transformation', 'Data Validation'], options);
371
+ }
372
+ async execute(task, context) {
373
+ await this.logProgress(`Analyzing data requirements for: ${task}`);
374
+ const analysis = await this.analyzeTask(task);
375
+ const dataAnalysis = await this.performQuickDataAnalysis(task);
376
+ return {
377
+ ...analysis,
378
+ specialist: 'Data Specialist',
379
+ dataAnalysis,
380
+ optimizations: this.generateDataOptimizations(dataAnalysis),
381
+ quickImplementation: true
382
+ };
383
+ }
384
+ async performQuickDataAnalysis(task) {
385
+ const lowerTask = task.toLowerCase();
386
+ return {
387
+ dataTypes: this.identifyDataTypes(task),
388
+ queryPatterns: this.identifyQueryPatterns(task),
389
+ transformationNeeds: this.identifyTransformationNeeds(task),
390
+ validationRequirements: this.identifyValidationRequirements(task)
391
+ };
392
+ }
393
+ identifyDataTypes(task) {
394
+ const types = [];
395
+ const lowerTask = task.toLowerCase();
396
+ if (lowerTask.includes('string') || lowerTask.includes('text'))
397
+ types.push('string');
398
+ if (lowerTask.includes('number') || lowerTask.includes('integer'))
399
+ types.push('number');
400
+ if (lowerTask.includes('date') || lowerTask.includes('time'))
401
+ types.push('datetime');
402
+ if (lowerTask.includes('boolean') || lowerTask.includes('true') || lowerTask.includes('false'))
403
+ types.push('boolean');
404
+ if (lowerTask.includes('reference') || lowerTask.includes('link'))
405
+ types.push('reference');
406
+ return types.length > 0 ? types : ['string', 'number', 'datetime'];
407
+ }
408
+ identifyQueryPatterns(task) {
409
+ const patterns = [];
410
+ const lowerTask = task.toLowerCase();
411
+ if (lowerTask.includes('search') || lowerTask.includes('find'))
412
+ patterns.push('search_queries');
413
+ if (lowerTask.includes('filter') || lowerTask.includes('where'))
414
+ patterns.push('filtered_queries');
415
+ if (lowerTask.includes('sort') || lowerTask.includes('order'))
416
+ patterns.push('sorted_queries');
417
+ if (lowerTask.includes('group') || lowerTask.includes('aggregate'))
418
+ patterns.push('aggregate_queries');
419
+ if (lowerTask.includes('join') || lowerTask.includes('relate'))
420
+ patterns.push('join_queries');
421
+ return patterns.length > 0 ? patterns : ['simple_queries'];
422
+ }
423
+ identifyTransformationNeeds(task) {
424
+ const transformations = [];
425
+ const lowerTask = task.toLowerCase();
426
+ if (lowerTask.includes('format') || lowerTask.includes('convert'))
427
+ transformations.push('format_transformation');
428
+ if (lowerTask.includes('calculate') || lowerTask.includes('compute'))
429
+ transformations.push('calculation_transformation');
430
+ if (lowerTask.includes('combine') || lowerTask.includes('merge'))
431
+ transformations.push('merge_transformation');
432
+ if (lowerTask.includes('split') || lowerTask.includes('separate'))
433
+ transformations.push('split_transformation');
434
+ return transformations;
435
+ }
436
+ identifyValidationRequirements(task) {
437
+ const validations = [];
438
+ const lowerTask = task.toLowerCase();
439
+ if (lowerTask.includes('required') || lowerTask.includes('mandatory'))
440
+ validations.push('required_validation');
441
+ if (lowerTask.includes('format') || lowerTask.includes('pattern'))
442
+ validations.push('format_validation');
443
+ if (lowerTask.includes('range') || lowerTask.includes('limit'))
444
+ validations.push('range_validation');
445
+ if (lowerTask.includes('unique') || lowerTask.includes('duplicate'))
446
+ validations.push('uniqueness_validation');
447
+ return validations;
448
+ }
449
+ generateDataOptimizations(analysis) {
450
+ return {
451
+ indexing: {
452
+ recommended: analysis.queryPatterns.includes('search_queries') ||
453
+ analysis.queryPatterns.includes('filtered_queries'),
454
+ fields: this.suggestIndexFields(analysis)
455
+ },
456
+ caching: {
457
+ recommended: analysis.queryPatterns.includes('aggregate_queries'),
458
+ strategy: 'query_result_caching'
459
+ },
460
+ normalization: {
461
+ recommended: analysis.transformationNeeds.includes('split_transformation'),
462
+ level: 'third_normal_form'
463
+ }
464
+ };
465
+ }
466
+ suggestIndexFields(analysis) {
467
+ const fields = [];
468
+ if (analysis.queryPatterns.includes('search_queries')) {
469
+ fields.push('name', 'short_description');
470
+ }
471
+ if (analysis.queryPatterns.includes('filtered_queries')) {
472
+ fields.push('state', 'category', 'assigned_to');
473
+ }
474
+ if (analysis.queryPatterns.includes('sorted_queries')) {
475
+ fields.push('sys_created_on', 'priority');
476
+ }
477
+ return fields;
478
+ }
479
+ }
480
+ exports.IndividualDataSpecialist = IndividualDataSpecialist;
481
+ class IndividualIntegrationSpecialist extends base_specialist_js_1.BaseSpecialist {
482
+ constructor(options = {}) {
483
+ super('Integration Specialist', 'Integration Specialist', ['API Integration', 'Data Sync', 'Middleware', 'External Systems'], options);
484
+ }
485
+ async execute(task, context) {
486
+ await this.logProgress(`Working on integration task: ${task}`);
487
+ const analysis = await this.analyzeTask(task);
488
+ const integrationAnalysis = await this.performQuickIntegrationAnalysis(task);
489
+ return {
490
+ ...analysis,
491
+ specialist: 'Integration Specialist',
492
+ integrationAnalysis,
493
+ implementation: this.generateQuickImplementation(integrationAnalysis),
494
+ quickImplementation: true
495
+ };
496
+ }
497
+ async performQuickIntegrationAnalysis(task) {
498
+ const lowerTask = task.toLowerCase();
499
+ return {
500
+ integrationType: this.identifyIntegrationType(task),
501
+ protocol: this.identifyProtocol(task),
502
+ authMethod: this.identifyAuthMethod(task),
503
+ dataFormat: this.identifyDataFormat(task),
504
+ direction: this.identifyDirection(task)
505
+ };
506
+ }
507
+ identifyIntegrationType(task) {
508
+ const lowerTask = task.toLowerCase();
509
+ if (lowerTask.includes('real') && lowerTask.includes('time'))
510
+ return 'real_time';
511
+ if (lowerTask.includes('batch') || lowerTask.includes('bulk'))
512
+ return 'batch';
513
+ if (lowerTask.includes('event') || lowerTask.includes('trigger'))
514
+ return 'event_driven';
515
+ return 'on_demand';
516
+ }
517
+ identifyProtocol(task) {
518
+ const lowerTask = task.toLowerCase();
519
+ if (lowerTask.includes('rest') || lowerTask.includes('http'))
520
+ return 'REST';
521
+ if (lowerTask.includes('soap'))
522
+ return 'SOAP';
523
+ if (lowerTask.includes('ftp') || lowerTask.includes('file'))
524
+ return 'FTP';
525
+ if (lowerTask.includes('email') || lowerTask.includes('smtp'))
526
+ return 'EMAIL';
527
+ return 'REST';
528
+ }
529
+ identifyAuthMethod(task) {
530
+ const lowerTask = task.toLowerCase();
531
+ if (lowerTask.includes('oauth'))
532
+ return 'OAuth2';
533
+ if (lowerTask.includes('token'))
534
+ return 'Bearer Token';
535
+ if (lowerTask.includes('basic'))
536
+ return 'Basic Auth';
537
+ if (lowerTask.includes('key'))
538
+ return 'API Key';
539
+ return 'Basic Auth';
540
+ }
541
+ identifyDataFormat(task) {
542
+ const lowerTask = task.toLowerCase();
543
+ if (lowerTask.includes('json'))
544
+ return 'JSON';
545
+ if (lowerTask.includes('xml'))
546
+ return 'XML';
547
+ if (lowerTask.includes('csv'))
548
+ return 'CSV';
549
+ return 'JSON';
550
+ }
551
+ identifyDirection(task) {
552
+ const lowerTask = task.toLowerCase();
553
+ if (lowerTask.includes('import') || lowerTask.includes('receive'))
554
+ return 'inbound';
555
+ if (lowerTask.includes('export') || lowerTask.includes('send'))
556
+ return 'outbound';
557
+ if (lowerTask.includes('sync') || lowerTask.includes('bidirectional'))
558
+ return 'bidirectional';
559
+ return 'bidirectional';
560
+ }
561
+ generateQuickImplementation(analysis) {
562
+ return {
563
+ restMessage: this.generateRESTMessageConfig(analysis),
564
+ transformation: this.generateTransformationLogic(analysis),
565
+ errorHandling: this.generateErrorHandling(analysis),
566
+ scheduling: analysis.integrationType === 'batch' ? this.generateScheduling() : null
567
+ };
568
+ }
569
+ generateRESTMessageConfig(analysis) {
570
+ return {
571
+ name: 'Quick Integration Message',
572
+ endpoint: 'https://api.example.com/endpoint',
573
+ authentication: analysis.authMethod,
574
+ headers: {
575
+ 'Content-Type': `application/${analysis.dataFormat.toLowerCase()}`,
576
+ 'Accept': `application/${analysis.dataFormat.toLowerCase()}`
577
+ },
578
+ methods: {
579
+ GET: analysis.direction === 'inbound' || analysis.direction === 'bidirectional',
580
+ POST: analysis.direction === 'outbound' || analysis.direction === 'bidirectional'
581
+ }
582
+ };
583
+ }
584
+ generateTransformationLogic(analysis) {
585
+ return `
586
+ // Quick data transformation
587
+ function transformData(inputData) {
588
+ var outputData = {};
589
+
590
+ if (typeof inputData === 'string') {
591
+ inputData = JSON.parse(inputData);
592
+ }
593
+
594
+ // Map common fields
595
+ outputData.number = inputData.id || inputData.number;
596
+ outputData.short_description = inputData.title || inputData.description;
597
+ outputData.state = inputData.status || inputData.state;
598
+
599
+ return outputData;
600
+ }
601
+ `.trim();
602
+ }
603
+ generateErrorHandling(analysis) {
604
+ return {
605
+ retryPolicy: {
606
+ maxRetries: 3,
607
+ backoffStrategy: 'exponential'
608
+ },
609
+ errorNotification: true,
610
+ fallbackStrategy: 'log_and_continue',
611
+ monitoring: true
612
+ };
613
+ }
614
+ generateScheduling() {
615
+ return {
616
+ frequency: 'hourly',
617
+ executionWindow: 'business_hours',
618
+ batchSize: 100,
619
+ parallelProcessing: false
620
+ };
621
+ }
622
+ }
623
+ exports.IndividualIntegrationSpecialist = IndividualIntegrationSpecialist;
624
+ // Export all individual specialists
625
+ exports.IndividualSpecialists = {
626
+ Frontend: IndividualFrontendSpecialist,
627
+ Backend: IndividualBackendSpecialist,
628
+ Security: IndividualSecuritySpecialist,
629
+ Data: IndividualDataSpecialist,
630
+ Integration: IndividualIntegrationSpecialist
631
+ };
632
+ //# sourceMappingURL=individual-specialists.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"individual-specialists.js","sourceRoot":"","sources":["../../src/specialists/individual-specialists.ts"],"names":[],"mappings":";;;AAAA,6DAAyE;AAEzE,yDAAyD;AACzD,iEAAiE;AAEjE,MAAa,4BAA6B,SAAQ,mCAAc;IAC9D,YAAY,UAA6B,EAAE;QACzC,KAAK,CACH,oBAAoB,EACpB,oBAAoB,EACpB,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,eAAe,CAAC,EACnE,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,OAAa;QACvC,MAAM,IAAI,CAAC,WAAW,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;QAE5D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAErD,MAAM,YAAY,GAAG;YACnB,QAAQ,EAAE,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC;YACtD,MAAM,EAAE,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC;YAClD,YAAY,EAAE,MAAM,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC;SAC/D,CAAC;QAEF,OAAO;YACL,GAAG,QAAQ;YACX,UAAU,EAAE,oBAAoB;YAChC,YAAY;YACZ,YAAY;YACZ,mBAAmB,EAAE,IAAI;SAC1B,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,IAAY;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,OAAO;YACL,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACrC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACrC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAC/D,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC5E,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC7E,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;SAClE,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,YAAiB;QACjD,QAAQ,YAAY,CAAC,IAAI,EAAE,CAAC;YAC1B,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACnC,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACnC,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACxC;gBACE,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,kBAAkB;QACxB,OAAO;;;;;;;;;;;;;;KAcN,CAAC,IAAI,EAAE,CAAC;IACX,CAAC;IAEO,kBAAkB;QACxB,OAAO;;;;;;;;;;;;;KAaN,CAAC,IAAI,EAAE,CAAC;IACX,CAAC;IAEO,uBAAuB;QAC7B,OAAO;;;;;;;;;;KAUN,CAAC,IAAI,EAAE,CAAC;IACX,CAAC;IAEO,qBAAqB;QAC3B,OAAO;;;;;;;;;;KAUN,CAAC,IAAI,EAAE,CAAC;IACX,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,YAAiB;QAC/C,MAAM,UAAU,GAAG;;;;;;;;;;;;KAYlB,CAAC;QAEF,MAAM,gBAAgB,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;;;;;;;KAOlD,CAAC,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO,UAAU,GAAG,gBAAgB,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,YAAiB;QACrD,OAAO;;;;;;;;IAQP,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;;;;GAI5B,CAAC,CAAC,CAAC,EAAE;;IAEJ,YAAY,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;;;;;;;;;;;;GAYhC,CAAC,CAAC,CAAC,EAAE;;;;KAIH,CAAC,IAAI,EAAE,CAAC;IACX,CAAC;CACF;AApLD,oEAoLC;AAED,MAAa,2BAA4B,SAAQ,mCAAc;IAC7D,YAAY,UAA6B,EAAE;QACzC,KAAK,CACH,mBAAmB,EACnB,mBAAmB,EACnB,CAAC,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,EACvE,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,OAAa;QACvC,MAAM,IAAI,CAAC,WAAW,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;QAE3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAEpD,MAAM,YAAY,GAAG;YACnB,YAAY,EAAE,MAAM,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC;YAC9D,UAAU,EAAE,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC;YAC1D,cAAc,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;SAC7F,CAAC;QAEF,OAAO;YACL,GAAG,QAAQ;YACX,UAAU,EAAE,mBAAmB;YAC/B,YAAY;YACZ,YAAY;YACZ,mBAAmB,EAAE,IAAI;SAC1B,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,IAAY;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,OAAO;YACL,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC7C,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAC3C,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACzD,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC;YACxE,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;YACjF,YAAY,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC;SAC/E,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,YAAiB;QACrD,OAAO;;;;;;;;gCAQqB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;2BAgB7C,YAAY,CAAC,QAAQ;;MAE1C,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;;;KAQ9D,CAAC,IAAI,EAAE,CAAC;IACX,CAAC;IAEO,YAAY,CAAC,QAAgB;QACnC,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,UAAU,CAAC,CAAC,OAAO,UAAU,CAAC;YACnC,KAAK,SAAS,CAAC,CAAC,OAAO,YAAY,CAAC;YACpC,KAAK,MAAM,CAAC,CAAC,OAAO,UAAU,CAAC;YAC/B,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC;QACzB,CAAC;IACH,CAAC;IAEO,kBAAkB;QACxB,OAAO;;;;;;;;KAQN,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,YAAiB;QACnD,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC;YAC/C,MAAM,EAAE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,OAAO,EAAE,gBAAgB,CAAC;YAClE,YAAY,EAAE,aAAa;YAC3B,OAAO,EAAE,qBAAqB;SAC/B,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,YAAiB;QAClD,OAAO;;;;;;;;;;;;;KAaN,CAAC,IAAI,EAAE,CAAC;IACX,CAAC;CACF;AAhID,kEAgIC;AAED,MAAa,4BAA6B,SAAQ,mCAAc;IAC9D,YAAY,UAA6B,EAAE;QACzC,KAAK,CACH,qBAAqB,EACrB,qBAAqB,EACrB,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,0BAA0B,CAAC,EACzF,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,OAAa;QACvC,MAAM,IAAI,CAAC,WAAW,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;QAE3E,OAAO;YACL,GAAG,QAAQ;YACX,UAAU,EAAE,qBAAqB;YACjC,kBAAkB;YAClB,eAAe,EAAE,IAAI,CAAC,+BAA+B,CAAC,kBAAkB,CAAC;YACzE,mBAAmB,EAAE,IAAI;SAC1B,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAAC,IAAY;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;YACrC,eAAe,EAAE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC;YACxD,gBAAgB,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;YACpD,kBAAkB,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;SACxD,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,IAAY;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChG,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACjG,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,4BAA4B,CAAC,IAAY;QAC/C,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,eAAe,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACnE,eAAe,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,eAAe,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAEO,uBAAuB,CAAC,IAAY;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,OAAO;YACL,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;YAClE,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YACnE,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YACpE,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC;SAC9E,CAAC;IACJ,CAAC;IAEO,wBAAwB,CAAC,IAAY;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,OAAO;YACL,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/D,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YAChG,gBAAgB,EAAE,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;SACxE,CAAC;IACJ,CAAC;IAEO,+BAA+B,CAAC,UAAe;QACrD,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,IAAI,UAAU,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YACpC,eAAe,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YAChE,eAAe,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;YACnE,eAAe,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;YACnE,eAAe,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YACrC,eAAe,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;CACF;AA9GD,oEA8GC;AAED,MAAa,wBAAyB,SAAQ,mCAAc;IAC1D,YAAY,UAA6B,EAAE;QACzC,KAAK,CACH,iBAAiB,EACjB,iBAAiB,EACjB,CAAC,eAAe,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,iBAAiB,CAAC,EACjF,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,OAAa;QACvC,MAAM,IAAI,CAAC,WAAW,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAC;QAEnE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAE/D,OAAO;YACL,GAAG,QAAQ;YACX,UAAU,EAAE,iBAAiB;YAC7B,YAAY;YACZ,aAAa,EAAE,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC;YAC3D,mBAAmB,EAAE,IAAI;SAC1B,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,IAAY;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;YACvC,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC/C,mBAAmB,EAAE,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC;YAC3D,sBAAsB,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC;SAClE,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,IAAY;QACpC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrF,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxF,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrF,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtH,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE3F,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC;IAEO,qBAAqB,CAAC,IAAY;QACxC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChG,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACnG,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/F,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACvG,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE9F,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,CAAC;IAEO,2BAA2B,CAAC,IAAY;QAC9C,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,eAAe,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACjH,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,eAAe,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACzH,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC/G,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAEhH,OAAO,eAAe,CAAC;IACzB,CAAC;IAEO,8BAA8B,CAAC,IAAY;QACjD,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC/G,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACzG,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACrG,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,WAAW,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAE/G,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,yBAAyB,CAAC,QAAa;QAC7C,OAAO;YACL,QAAQ,EAAE;gBACR,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC;oBAClD,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBAC/D,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;aAC1C;YACD,OAAO,EAAE;gBACP,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBACjE,QAAQ,EAAE,sBAAsB;aACjC;YACD,aAAa,EAAE;gBACb,WAAW,EAAE,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,sBAAsB,CAAC;gBAC1E,KAAK,EAAE,mBAAmB;aAC3B;SACF,CAAC;IACJ,CAAC;IAEO,kBAAkB,CAAC,QAAa;QACtC,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAzHD,4DAyHC;AAED,MAAa,+BAAgC,SAAQ,mCAAc;IACjE,YAAY,UAA6B,EAAE;QACzC,KAAK,CACH,wBAAwB,EACxB,wBAAwB,EACxB,CAAC,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,CAAC,EAClE,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,OAAa;QACvC,MAAM,IAAI,CAAC,WAAW,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC;QAE/D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;QAE7E,OAAO;YACL,GAAG,QAAQ;YACX,UAAU,EAAE,wBAAwB;YACpC,mBAAmB;YACnB,cAAc,EAAE,IAAI,CAAC,2BAA2B,CAAC,mBAAmB,CAAC;YACrE,mBAAmB,EAAE,IAAI;SAC1B,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,+BAA+B,CAAC,IAAY;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;YACnD,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACrC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACzC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACzC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;SACxC,CAAC;IACJ,CAAC;IAEO,uBAAuB,CAAC,IAAY;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,WAAW,CAAC;QACjF,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,OAAO,CAAC;QAC9E,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,cAAc,CAAC;QAExF,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,gBAAgB,CAAC,IAAY;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAC5E,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAC9C,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1E,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,OAAO,CAAC;QAE9E,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,kBAAkB,CAAC,IAAY;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,QAAQ,CAAC;QACjD,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,cAAc,CAAC;QACvD,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,YAAY,CAAC;QACrD,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEhD,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,kBAAkB,CAAC,IAAY;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAC9C,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAE5C,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,iBAAiB,CAAC,IAAY;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QACpF,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,UAAU,CAAC;QAClF,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC;YAAE,OAAO,eAAe,CAAC;QAE9F,OAAO,eAAe,CAAC;IACzB,CAAC;IAEO,2BAA2B,CAAC,QAAa;QAC/C,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC;YACrD,cAAc,EAAE,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC;YAC1D,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC;YACnD,UAAU,EAAE,QAAQ,CAAC,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,IAAI;SACpF,CAAC;IACJ,CAAC;IAEO,yBAAyB,CAAC,QAAa;QAC7C,OAAO;YACL,IAAI,EAAE,2BAA2B;YACjC,QAAQ,EAAE,kCAAkC;YAC5C,cAAc,EAAE,QAAQ,CAAC,UAAU;YACnC,OAAO,EAAE;gBACP,cAAc,EAAE,eAAe,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE;gBAClE,QAAQ,EAAE,eAAe,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE;aAC7D;YACD,OAAO,EAAE;gBACP,GAAG,EAAE,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,KAAK,eAAe;gBAC/E,IAAI,EAAE,QAAQ,CAAC,SAAS,KAAK,UAAU,IAAI,QAAQ,CAAC,SAAS,KAAK,eAAe;aAClF;SACF,CAAC;IACJ,CAAC;IAEO,2BAA2B,CAAC,QAAa;QAC/C,OAAO;;;;;;;;;;;;;;;;KAgBN,CAAC,IAAI,EAAE,CAAC;IACX,CAAC;IAEO,qBAAqB,CAAC,QAAa;QACzC,OAAO;YACL,WAAW,EAAE;gBACX,UAAU,EAAE,CAAC;gBACb,eAAe,EAAE,aAAa;aAC/B;YACD,iBAAiB,EAAE,IAAI;YACvB,gBAAgB,EAAE,kBAAkB;YACpC,UAAU,EAAE,IAAI;SACjB,CAAC;IACJ,CAAC;IAEO,kBAAkB;QACxB,OAAO;YACL,SAAS,EAAE,QAAQ;YACnB,eAAe,EAAE,gBAAgB;YACjC,SAAS,EAAE,GAAG;YACd,kBAAkB,EAAE,KAAK;SAC1B,CAAC;IACJ,CAAC;CACF;AA1JD,0EA0JC;AAED,oCAAoC;AACvB,QAAA,qBAAqB,GAAG;IACnC,QAAQ,EAAE,4BAA4B;IACtC,OAAO,EAAE,2BAA2B;IACpC,QAAQ,EAAE,4BAA4B;IACtC,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,+BAA+B;CAC7C,CAAC"}