@goxtechnologies/connectwise-psa-mcp 1.3.0 → 1.4.2

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 (58) hide show
  1. package/data/reports.json +29 -0
  2. package/dist/index.js +4 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/operations/analytics-extended.d.ts.map +1 -1
  5. package/dist/operations/analytics-extended.js +15 -4
  6. package/dist/operations/analytics-extended.js.map +1 -1
  7. package/dist/operations/analytics-msp-schedule.js +12 -2
  8. package/dist/operations/analytics-msp-schedule.js.map +1 -1
  9. package/dist/operations/analytics-msp-time-entry.d.ts +68 -0
  10. package/dist/operations/analytics-msp-time-entry.d.ts.map +1 -0
  11. package/dist/operations/analytics-msp-time-entry.js +235 -0
  12. package/dist/operations/analytics-msp-time-entry.js.map +1 -0
  13. package/dist/operations/analytics-msp-time.js +27 -8
  14. package/dist/operations/analytics-msp-time.js.map +1 -1
  15. package/dist/operations/analytics.d.ts.map +1 -1
  16. package/dist/operations/analytics.js +2 -0
  17. package/dist/operations/analytics.js.map +1 -1
  18. package/dist/operations/registry.d.ts.map +1 -1
  19. package/dist/operations/registry.js +1 -0
  20. package/dist/operations/registry.js.map +1 -1
  21. package/dist/scrapers/index.d.ts +4 -0
  22. package/dist/scrapers/index.d.ts.map +1 -0
  23. package/dist/scrapers/index.js +10 -0
  24. package/dist/scrapers/index.js.map +1 -0
  25. package/dist/scrapers/reports.d.ts +3 -0
  26. package/dist/scrapers/reports.d.ts.map +1 -0
  27. package/dist/scrapers/reports.js +443 -0
  28. package/dist/scrapers/reports.js.map +1 -0
  29. package/dist/services/load-env.d.ts.map +1 -1
  30. package/dist/services/load-env.js +11 -1
  31. package/dist/services/load-env.js.map +1 -1
  32. package/dist/services/report-cache.d.ts +16 -0
  33. package/dist/services/report-cache.d.ts.map +1 -0
  34. package/dist/services/report-cache.js +230 -0
  35. package/dist/services/report-cache.js.map +1 -0
  36. package/dist/services/report-config.d.ts +28 -0
  37. package/dist/services/report-config.d.ts.map +1 -0
  38. package/dist/services/report-config.js +127 -0
  39. package/dist/services/report-config.js.map +1 -0
  40. package/dist/services/totp.d.ts +27 -0
  41. package/dist/services/totp.d.ts.map +1 -0
  42. package/dist/services/totp.js +76 -0
  43. package/dist/services/totp.js.map +1 -0
  44. package/dist/services/web-scraper.d.ts +76 -0
  45. package/dist/services/web-scraper.d.ts.map +1 -0
  46. package/dist/services/web-scraper.js +435 -0
  47. package/dist/services/web-scraper.js.map +1 -0
  48. package/dist/tools/reports.d.ts +9 -0
  49. package/dist/tools/reports.d.ts.map +1 -0
  50. package/dist/tools/reports.js +388 -0
  51. package/dist/tools/reports.js.map +1 -0
  52. package/dist/tools/validation.js +2 -2
  53. package/dist/tools/validation.js.map +1 -1
  54. package/dist/types/reports.d.ts +87 -0
  55. package/dist/types/reports.d.ts.map +1 -0
  56. package/dist/types/reports.js +3 -0
  57. package/dist/types/reports.js.map +1 -0
  58. package/package.json +18 -4
@@ -0,0 +1,388 @@
1
+ // ConnectWise PSA MCP Server — Web Report Tools
2
+ //
3
+ // cw_report: Fetch a CW built-in web report via browser automation
4
+ // cw_list_reports: List available reports and their parameters
5
+ // cw_discover_report: Dev tool — capture XHR traffic and draft a report definition
6
+ import { isPlaywrightAvailable, getWebScraper } from '../services/web-scraper.js';
7
+ import { ReportCache } from '../services/report-cache.js';
8
+ import { loadReportConfig } from '../services/report-config.js';
9
+ import { getScraper } from '../scrapers/index.js';
10
+ // ---------------------------------------------------------------------------
11
+ // Cache singleton
12
+ // ---------------------------------------------------------------------------
13
+ let _cache = null;
14
+ function getCache() {
15
+ if (!_cache)
16
+ _cache = new ReportCache();
17
+ return _cache;
18
+ }
19
+ // ---------------------------------------------------------------------------
20
+ // Tool definitions
21
+ // ---------------------------------------------------------------------------
22
+ export const reportTools = [
23
+ {
24
+ name: 'cw_report',
25
+ description: 'Fetch a ConnectWise built-in web report via browser automation. Returns structured report data. ' +
26
+ 'Requires Playwright: run `npm install playwright && npx playwright install chromium` to enable. ' +
27
+ 'Use force_refresh=true for up-to-date data.',
28
+ inputSchema: {
29
+ type: 'object',
30
+ properties: {
31
+ report_id: {
32
+ type: 'string',
33
+ description: 'Report identifier (e.g. "time_accrual"). Use cw_list_reports to see available reports.',
34
+ },
35
+ params: {
36
+ type: 'object',
37
+ description: 'Report parameters (member, date range, etc.)',
38
+ },
39
+ force_refresh: {
40
+ type: 'boolean',
41
+ description: 'Bypass cache and fetch fresh data. Use when user asks for "up to date" or "current" data.',
42
+ },
43
+ format: {
44
+ type: 'string',
45
+ enum: ['text', 'json'],
46
+ description: 'Output format: "text" (markdown table) or "json" (structured data)',
47
+ },
48
+ },
49
+ required: ['report_id'],
50
+ },
51
+ },
52
+ {
53
+ name: 'cw_list_reports',
54
+ description: 'List available ConnectWise web reports with their parameters and cache status. ' +
55
+ 'Shows whether Playwright is installed and which reports can be fetched.',
56
+ inputSchema: {
57
+ type: 'object',
58
+ properties: {
59
+ module: {
60
+ type: 'string',
61
+ description: 'Filter by module (e.g. "time_expense", "service")',
62
+ },
63
+ },
64
+ },
65
+ },
66
+ {
67
+ name: 'cw_discover_report',
68
+ description: 'Development tool: Navigate to a CW report page, capture XHR traffic and DOM structure, ' +
69
+ 'and output a draft report definition JSON block for reports.json. ' +
70
+ 'Requires non-headless mode (CW_WEB_HEADLESS=false).',
71
+ inputSchema: {
72
+ type: 'object',
73
+ properties: {
74
+ url: {
75
+ type: 'string',
76
+ description: 'CW report URL to navigate to',
77
+ },
78
+ name: {
79
+ type: 'string',
80
+ description: 'Human-readable name for the report',
81
+ },
82
+ },
83
+ required: ['url', 'name'],
84
+ },
85
+ },
86
+ ];
87
+ // ---------------------------------------------------------------------------
88
+ // Handler
89
+ // ---------------------------------------------------------------------------
90
+ export async function handleReportTool(name, args) {
91
+ switch (name) {
92
+ case 'cw_report':
93
+ return handleCwReport(args);
94
+ case 'cw_list_reports':
95
+ return handleCwListReports(args);
96
+ case 'cw_discover_report':
97
+ return handleCwDiscoverReport(args);
98
+ default:
99
+ return { content: [{ type: 'text', text: `Unknown report tool: ${name}` }] };
100
+ }
101
+ }
102
+ // ---------------------------------------------------------------------------
103
+ // cw_report
104
+ // ---------------------------------------------------------------------------
105
+ async function handleCwReport(args) {
106
+ if (!(await isPlaywrightAvailable())) {
107
+ return {
108
+ content: [
109
+ {
110
+ type: 'text',
111
+ text: '## Playwright Not Available\n\n' +
112
+ 'Web report scraping requires Playwright. To enable:\n\n' +
113
+ '```bash\nnpm install playwright\nnpx playwright install chromium\n```\n\n' +
114
+ 'Then restart the MCP server.',
115
+ },
116
+ ],
117
+ };
118
+ }
119
+ const reportId = String(args['report_id'] ?? '');
120
+ const params = (args['params'] ?? {});
121
+ const forceRefresh = Boolean(args['force_refresh'] ?? false);
122
+ const format = String(args['format'] ?? 'text');
123
+ try {
124
+ const config = loadReportConfig();
125
+ const reportDef = config.reports.find((r) => r.id === reportId);
126
+ if (!reportDef) {
127
+ const available = config.reports.map((r) => r.id).join(', ');
128
+ return {
129
+ content: [
130
+ {
131
+ type: 'text',
132
+ text: `## Report Not Found\n\nNo report with id \`${reportId}\`.\n\nAvailable reports: ${available || '(none configured)'}`,
133
+ },
134
+ ],
135
+ };
136
+ }
137
+ const cache = getCache();
138
+ const paramsHash = cache.hashParams(params);
139
+ // Cache lookup (skip if force_refresh)
140
+ if (!forceRefresh) {
141
+ const cached = cache.get(reportId, paramsHash, reportDef.cache.ttlMinutes);
142
+ if (cached) {
143
+ const result = {
144
+ report_id: reportId,
145
+ report_name: reportDef.name,
146
+ columns: cached.data.columns,
147
+ rows: cached.data.rows,
148
+ source: 'cache',
149
+ fetched_at: new Date(cached.fetched_at).toISOString(),
150
+ cached: true,
151
+ params,
152
+ };
153
+ return { content: [{ type: 'text', text: formatResult(result, format) }] };
154
+ }
155
+ }
156
+ // Resolve scraper handler — fall back to __generic__
157
+ const handler = getScraper(reportId) ?? getScraper('__generic__');
158
+ if (!handler) {
159
+ return {
160
+ content: [
161
+ {
162
+ type: 'text',
163
+ text: `## No Scraper for \`${reportId}\`\n\n` +
164
+ 'No specific scraper is registered for this report and no generic fallback is available.',
165
+ },
166
+ ],
167
+ };
168
+ }
169
+ const data = await handler(params, reportDef);
170
+ // Store in cache
171
+ cache.set(reportId, params, data, reportDef.extraction.strategy === 'xhr_first' ? 'xhr' : reportDef.extraction.strategy === 'export' ? 'export' : 'dom');
172
+ const result = {
173
+ report_id: reportId,
174
+ report_name: reportDef.name,
175
+ columns: data.columns,
176
+ rows: data.rows,
177
+ source: reportDef.extraction.strategy === 'xhr_first' ? 'xhr' : reportDef.extraction.strategy === 'export' ? 'export' : 'dom',
178
+ fetched_at: new Date().toISOString(),
179
+ cached: false,
180
+ params,
181
+ };
182
+ return { content: [{ type: 'text', text: formatResult(result, format) }] };
183
+ }
184
+ catch (error) {
185
+ const message = error instanceof Error ? error.message : String(error);
186
+ return {
187
+ content: [
188
+ {
189
+ type: 'text',
190
+ text: `## Error Fetching Report\n\n\`${reportId}\`: ${message}`,
191
+ },
192
+ ],
193
+ };
194
+ }
195
+ }
196
+ // ---------------------------------------------------------------------------
197
+ // cw_list_reports
198
+ // ---------------------------------------------------------------------------
199
+ async function handleCwListReports(args) {
200
+ const moduleFilter = args['module'] ? String(args['module']) : null;
201
+ const playwrightAvailable = await isPlaywrightAvailable();
202
+ const config = loadReportConfig();
203
+ const reports = moduleFilter
204
+ ? config.reports.filter((r) => r.module === moduleFilter)
205
+ : config.reports;
206
+ const statusLine = playwrightAvailable
207
+ ? '> **Playwright:** available — reports can be fetched'
208
+ : '> **Playwright:** NOT installed — run `npm install playwright && npx playwright install chromium` to enable';
209
+ if (reports.length === 0) {
210
+ return {
211
+ content: [
212
+ {
213
+ type: 'text',
214
+ text: `## Available Reports\n\n${statusLine}\n\n` +
215
+ (moduleFilter ? `No reports found for module \`${moduleFilter}\`.` : 'No reports configured.'),
216
+ },
217
+ ],
218
+ };
219
+ }
220
+ const header = ['Report Name', 'Module', 'Type', 'Parameters', 'Navigation'];
221
+ const separator = header.map(() => '---').join(' | ');
222
+ const rows = reports.map((r) => {
223
+ const paramList = r.parameters.length > 0
224
+ ? r.parameters.map((p) => `\`${p.name}\`${p.required ? '*' : ''}`).join(', ')
225
+ : '(none)';
226
+ const nav = r.navigation.strategy === 'url' && r.navigation.url
227
+ ? `url: \`${r.navigation.url.slice(0, 50)}${r.navigation.url.length > 50 ? '…' : ''}\``
228
+ : r.navigation.strategy === 'menu' && r.navigation.path
229
+ ? `menu: ${r.navigation.path.join(' > ')}`
230
+ : r.navigation.strategy;
231
+ return `${r.name} (\`${r.id}\`) | ${r.module} | ${r.type} | ${paramList} | ${nav}`;
232
+ });
233
+ const table = [
234
+ `| ${header.join(' | ')} |`,
235
+ `| ${separator} |`,
236
+ ...rows.map((row) => `| ${row} |`),
237
+ ].join('\n');
238
+ return {
239
+ content: [
240
+ {
241
+ type: 'text',
242
+ text: `## Available Reports\n\n${statusLine}\n\n${table}\n\n_\\* = required parameter_`,
243
+ },
244
+ ],
245
+ };
246
+ }
247
+ // ---------------------------------------------------------------------------
248
+ // cw_discover_report
249
+ // ---------------------------------------------------------------------------
250
+ async function handleCwDiscoverReport(args) {
251
+ if (!(await isPlaywrightAvailable())) {
252
+ return {
253
+ content: [
254
+ {
255
+ type: 'text',
256
+ text: '## Playwright Not Available\n\n' +
257
+ 'Discovery requires Playwright. To enable:\n\n' +
258
+ '```bash\nnpm install playwright\nnpx playwright install chromium\n```\n\n' +
259
+ 'Also set `CW_WEB_HEADLESS=false` in your environment to see the browser.',
260
+ },
261
+ ],
262
+ };
263
+ }
264
+ const url = String(args['url'] ?? '');
265
+ const name = String(args['name'] ?? 'Untitled Report');
266
+ try {
267
+ const scraper = getWebScraper();
268
+ await scraper.init();
269
+ // Capture XHR/fetch responses during navigation
270
+ const capturedUrls = [];
271
+ const capturedFrames = [];
272
+ const page = await scraper.acquirePage();
273
+ // Listen for responses with JSON/XML/CSV content types.
274
+ // Playwright's Page type is behind a dynamic import so we cast the listener
275
+ // through unknown to satisfy TypeScript while preserving runtime correctness.
276
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
277
+ const onResponse = async (response) => {
278
+ try {
279
+ const respUrl = String(response.url());
280
+ const ct = String(response.headers()['content-type'] ?? '').toLowerCase();
281
+ if (ct.includes('json') ||
282
+ ct.includes('xml') ||
283
+ ct.includes('csv') ||
284
+ ct.includes('text/plain')) {
285
+ capturedUrls.push(respUrl);
286
+ }
287
+ }
288
+ catch {
289
+ // ignore response read errors
290
+ }
291
+ };
292
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
293
+ page.on('response', onResponse);
294
+ await page.goto(url, { waitUntil: 'networkidle', timeout: 60_000 });
295
+ // Collect frame URLs
296
+ for (const frame of page.frames()) {
297
+ const frameUrl = frame.url();
298
+ if (frameUrl && frameUrl !== 'about:blank') {
299
+ capturedFrames.push(frameUrl);
300
+ }
301
+ }
302
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
303
+ page.off('response', onResponse);
304
+ // Derive a slug id from the name
305
+ const id = name
306
+ .toLowerCase()
307
+ .replace(/[^a-z0-9]+/g, '_')
308
+ .replace(/^_+|_+$/g, '');
309
+ // Build draft definition
310
+ const draft = {
311
+ id,
312
+ name,
313
+ module: 'FILL_IN',
314
+ type: 'standard',
315
+ navigation: {
316
+ strategy: 'url',
317
+ url,
318
+ },
319
+ parameters: [],
320
+ extraction: {
321
+ strategy: 'xhr_first',
322
+ xhrPattern: capturedUrls[0] ?? 'FILL_IN',
323
+ waitFor: 'FILL_IN',
324
+ },
325
+ cache: {
326
+ ttlMinutes: 60,
327
+ keepHistory: true,
328
+ },
329
+ };
330
+ const capturedList = capturedUrls.length > 0
331
+ ? capturedUrls.map((u) => `- \`${u}\``).join('\n')
332
+ : '_(none captured — page may require authentication or further interaction)_';
333
+ const frameList = capturedFrames.length > 0
334
+ ? capturedFrames.map((u) => `- \`${u}\``).join('\n')
335
+ : '_(no frames detected)_';
336
+ return {
337
+ content: [
338
+ {
339
+ type: 'text',
340
+ text: `## Discovery Results: ${name}\n\n` +
341
+ `### Captured XHR/Fetch URLs\n${capturedList}\n\n` +
342
+ `### Frame URLs\n${frameList}\n\n` +
343
+ `### Draft Report Definition\n\nAdd this to \`data/reports.json\` (fill in FILL_IN placeholders):\n\n` +
344
+ `\`\`\`json\n${JSON.stringify(draft, null, 2)}\n\`\`\``,
345
+ },
346
+ ],
347
+ };
348
+ }
349
+ catch (error) {
350
+ const message = error instanceof Error ? error.message : String(error);
351
+ return {
352
+ content: [
353
+ {
354
+ type: 'text',
355
+ text: `## Discovery Error\n\n${message}`,
356
+ },
357
+ ],
358
+ };
359
+ }
360
+ }
361
+ // ---------------------------------------------------------------------------
362
+ // formatResult — markdown table or JSON
363
+ // ---------------------------------------------------------------------------
364
+ function formatResult(result, format) {
365
+ if (format === 'json') {
366
+ return JSON.stringify(result, null, 2);
367
+ }
368
+ // Markdown format
369
+ const header = `## ${result.report_name}\n\n` +
370
+ `**Source:** ${result.source} | **Fetched:** ${result.fetched_at}` +
371
+ (result.cached ? ' _(cached)_' : '') +
372
+ '\n\n';
373
+ if (result.columns.length === 0 || result.rows.length === 0) {
374
+ return header + '_No data returned._';
375
+ }
376
+ const separator = result.columns.map(() => '---').join(' | ');
377
+ const tableHeader = `| ${result.columns.join(' | ')} |`;
378
+ const tableSep = `| ${separator} |`;
379
+ const tableRows = result.rows.map((row) => {
380
+ const cells = result.columns.map((col) => {
381
+ const val = row[col];
382
+ return val === null || val === undefined ? '' : String(val);
383
+ });
384
+ return `| ${cells.join(' | ')} |`;
385
+ });
386
+ return header + [tableHeader, tableSep, ...tableRows].join('\n');
387
+ }
388
+ //# sourceMappingURL=reports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reports.js","sourceRoot":"","sources":["../../src/tools/reports.ts"],"names":[],"mappings":"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"}
@@ -282,7 +282,7 @@ export function validateEntries(entries, roleCategory = 'regular', accrualBalanc
282
282
  // Group by date for overlap and pause checks
283
283
  const byDate = new Map();
284
284
  for (const e of entries) {
285
- const key = toDateKey(e.dateEntered);
285
+ const key = toDateKey(e.timeStart);
286
286
  const bucket = byDate.get(key) ?? [];
287
287
  bucket.push(e);
288
288
  byDate.set(key, bucket);
@@ -374,7 +374,7 @@ export function validateEntries(entries, roleCategory = 'regular', accrualBalanc
374
374
  if (chargeCodeName) {
375
375
  const limit = getChargeCodeLimit(chargeCodeName, roleCategory);
376
376
  if (limit !== null) {
377
- const weekKey = `${isoWeek(toDateKey(entry.dateEntered))}:${chargeCodeName}`;
377
+ const weekKey = `${isoWeek(toDateKey(entry.timeStart))}:${chargeCodeName}`;
378
378
  const accumulated = (weeklyChargeHours.get(weekKey) ?? 0) + (entry.actualHours ?? 0);
379
379
  weeklyChargeHours.set(weekKey, accumulated);
380
380
  if (accumulated > limit) {
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/tools/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/tools/validation.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,EAAE;AACF,mDAAmD;AACnD,qEAAqE;AACrE,oGAAoG;AAGpG,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAGxD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,eAAe,GAAW;IACrC;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,uFAAuF;YACvF,mGAAmG;YACnG,+KAA+K;QACjL,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,iBAAiB,EAAE;oBACjB,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4CAA4C;iBAC1D;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8CAA8C;iBAC5D;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4CAA4C;iBAC1D;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8DAA8D;oBAC3E,UAAU,EAAE;wBACV,iBAAiB,EAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;wBACvE,eAAe,EAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;wBACvE,iBAAiB,EAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;wBACvE,aAAa,EAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;wBACvE,WAAW,EAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;wBACvE,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;wBACvE,aAAa,EAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;wBACvE,gBAAgB,EAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;wBACvE,eAAe,EAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;qBACxE;iBACF;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;oBAChC,WAAW,EAAE,wDAAwD;iBACtE;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,kEAAkE;iBAChF;aACF;YACD,QAAQ,EAAE,CAAC,mBAAmB,EAAE,YAAY,EAAE,UAAU,CAAC;SAC1D;KACF;IAED;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,kHAAkH;QACpH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,iBAAiB,EAAE;oBACjB,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4CAA4C;iBAC1D;aACF;YACD,QAAQ,EAAE,CAAC,mBAAmB,CAAC;SAChC;KACF;IAED;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,+FAA+F;YAC/F,mGAAmG;YACnG,qGAAqG;YACrG,iFAAiF;YACjF,gCAAgC;QAClC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wCAAwC;iBACtD;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sCAAsC;iBACpD;gBACD,iBAAiB,EAAE;oBACjB,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wGAAwG;iBACtH;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,kHAAkH;iBAChI;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;SACrC;KACF;CACF,CAAC;AAEF,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAC9E,2EAA2E;AAC3E,uEAAuE;AACvE,sDAAsD;AAEtD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,iBAAiB,CAAC;AAE9D,kEAAkE;AAClE,SAAS,OAAO,CAAC,GAAW;IAC1B,oEAAoE;IACpE,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,uCAAuC;IACvC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QAC7C,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS;QACjD,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;QACrD,MAAM,EAAE,KAAK;KACd,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAEtB,MAAM,GAAG,GAAG,CAAC,IAAY,EAAU,EAAE;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,kDAAkD;IAClD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7G,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+DAA+D;AAC/D,SAAS,MAAM,CAAC,CAAS;IACvB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AACnC,CAAC;AAWD,MAAM,CAAC,MAAM,aAAa,GAA+B;IACvD,iBAAiB,EAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE;IACzD,eAAe,EAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE;IACzD,iBAAiB,EAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE;IACzD,aAAa,EAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE;IACzD,WAAW,EAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE;IACzD,kBAAkB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAI,OAAO,EAAE,IAAI,EAAE;IACzD,aAAa,EAAO,EAAE,QAAQ,EAAE,MAAM,EAAI,OAAO,EAAE,IAAI,EAAE;IACzD,gBAAgB,EAAI,EAAE,QAAQ,EAAE,MAAM,EAAI,OAAO,EAAE,IAAI,EAAE;IACzD,eAAe,EAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE;CAC1D,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,SAAkC;IAClE,MAAM,MAAM,GAA+B,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACvB,CAAC;IACD,IAAI,CAAC,SAAS;QAAE,OAAO,MAAM,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACxD,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACjB,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,OAA4B,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3E,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,wEAAwE;AACxE,SAAS,SAAS,CAAC,GAA8B;IAC/C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;AAClE,CAAC;AAED,2EAA2E;AAC3E,SAAS,SAAS,CAAC,GAAW;IAC5B,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO,CAAC,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC;AAClC,CAAC;AAED,gFAAgF;AAChF,SAAS,SAAS,CAAC,GAAW;IAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACxD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC1B,CAAC;AAED,8EAA8E;AAC9E,uEAAuE;AACvE,sEAAsE;AACtE,8EAA8E;AAC9E,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAEpG,kEAAkE;AAClE,MAAM,eAAe,GAAG,GAAG,CAAC,CAAC,QAAQ;AACrC,MAAM,aAAa,GAAG,GAAG,CAAC,CAAG,QAAQ;AACrC,sBAAsB;AACtB,MAAM,UAAU,GAAG,GAAG,CAAC,CAAM,8CAA8C;AAC3E,MAAM,YAAY,GAAG,GAAG,CAAC,CAAI,gDAAgD;AAgB7E,IAAI,gBAAgB,GAA4B,IAAI,CAAC;AAErD,SAAS,kBAAkB;IACzB,IAAI,gBAAgB;QAAE,OAAO,gBAAgB,CAAC;IAC9C,IAAI,CAAC;QACH,sDAAsD;QACtD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpF,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,8BAA8B,CAAC,CAAC;QAC7E,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,wBAAwB,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;QACnE,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAqB,CAAC;IACvF,CAAC;IAAC,MAAM,CAAC;QACP,gBAAgB,GAAG,EAAE,CAAC,CAAC,wDAAwD;IACjF,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,6EAA6E;AAC7E,SAAS,kBAAkB,CAAC,QAAgB,EAAE,YAAoB;IAChE,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3E,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,IAAI,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,iBAAiB,CAAC;IACjG,IAAI,YAAY,KAAK,UAAU,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACpG,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,sBAAsB;AACvD,CAAC;AAED,8EAA8E;AAC9E,2EAA2E;AAC3E,8EAA8E;AAE9E,MAAM,oBAAoB,GAA2B;IACnD,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,MAAM;IACf,GAAG,EAAE,KAAK;IACV,iBAAiB,EAAE,KAAK;IACxB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,SAAS;CACjB,CAAC;AAuBF,MAAM,UAAU,YAAY,CAAC,OAAoB;IAC/C,IAAI,KAAK,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC;IAC/D,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;QAC1D,KAAK,IAAI,KAAK,CAAC;QACf,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,IAAI,IAAI,SAAS,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;QAE3C,IAAI,CAAC,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YACpC,QAAQ,IAAI,KAAK,CAAC;QACpB,CAAC;aAAM,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC;YACzB,eAAe,IAAI,KAAK,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,QAAQ,IAAI,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC;QACzB,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC/B,eAAe,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC/B,eAAe,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,oBAAoB,EAAE,MAAM,CAAC,eAAe,CAAC;QAC7C,sBAAsB,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,eAAe,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,mBAAmB,EAAE,MAAM;KAC5B,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E,MAAM,UAAU,eAAe,CAC7B,OAAoB,EACpB,eAAuB,SAAS,EAChC,kBAAoC,EAAE,EACtC,UAAuC;IAEvC,MAAM,UAAU,GAA0B,EAAE,CAAC;IAC7C,MAAM,GAAG,GAAG,UAAU,IAAI,aAAa,CAAC;IAExC,6CAA6C;IAC7C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACf,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,wDAAwD;IACxD,SAAS,OAAO,CAAC,OAAe;QAC9B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5F,OAAO,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAChE,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,iCAAiC;IAEtF,4EAA4E;IAC5E,kBAAkB;IAClB,4EAA4E;IAC5E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEtC,4BAA4B;QAC5B,IAAI,GAAG,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC;YAC9C,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvC,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE,GAAG;oBACb,QAAQ,EAAE,KAAK,CAAC,EAAE;oBAClB,OAAO,EAAE,aAAa,KAAK,CAAC,SAAS,gCAAgC;oBACrE,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;iBACjE,CAAC,CAAC;YACL,CAAC;YACD,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE,GAAG;oBACb,QAAQ,EAAE,KAAK,CAAC,EAAE;oBAClB,OAAO,EAAE,WAAW,KAAK,CAAC,OAAO,gCAAgC;oBACjE,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;iBAC3D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,IAAI,GAAG,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,iBAAiB;oBACvB,QAAQ,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,QAAQ;oBACzC,QAAQ,EAAE,KAAK,CAAC,EAAE;oBAClB,OAAO,EAAE,eAAe,MAAM,iCAAiC;oBAC/D,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE;iBAClE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,IAAI,GAAG,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;gBACzD,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,QAAQ;oBACvC,QAAQ,EAAE,KAAK,CAAC,EAAE;oBAClB,OAAO,EAAE,8BAA8B;oBACvC,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;iBAC5C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,IAAI,GAAG,CAAC,eAAe,CAAC,EAAE,OAAO,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAC9C,MAAM,UAAU,GAAG,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC,CAAG,eAAe;YACvD,MAAM,SAAS,GAAG,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,CAAK,cAAc;YACtD,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;gBAC5B,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;gBACtD,MAAM,UAAU,GACd,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC9F,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,UAAU,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,eAAe;wBACrB,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,QAAQ;wBACvC,QAAQ,EAAE,KAAK,CAAC,EAAE;wBAClB,OAAO,EAAE,qDAAqD,EAAE,IAAI,OAAO,kBAAkB;wBAC7F,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;qBAC9E,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,gFAAgF;QAChF,IAAI,GAAG,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,CAAC;YACvC,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC;YAC9C,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,kBAAkB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;gBAC/D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,MAAM,OAAO,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,cAAc,EAAE,CAAC;oBAC3E,MAAM,WAAW,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;oBACrF,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;oBAC5C,IAAI,WAAW,GAAG,KAAK,EAAE,CAAC;wBACxB,UAAU,CAAC,IAAI,CAAC;4BACd,IAAI,EAAE,oBAAoB;4BAC1B,QAAQ,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC,QAAQ;4BAC5C,QAAQ,EAAE,KAAK,CAAC,EAAE;4BAClB,OAAO,EAAE,gBAAgB,cAAc,6BAA6B,KAAK,eAAe,YAAY,mBAAmB,MAAM,CAAC,WAAW,CAAC,IAAI;4BAC9I,OAAO,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE;yBAC/F,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,iDAAiD;IACjD,4EAA4E;IAC5E,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,EAAE,CAAC;QACxC,4BAA4B;QAC5B,IAAI,GAAG,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC3C,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACvC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACvC,OAAO,EAAE,GAAG,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3B,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC9C,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC5C,IAAI,UAAU,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,IAAI,UAAU,GAAG,SAAS,EAAE,CAAC;oBACxE,MAAM,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;oBAC1C,MAAM,gBAAgB,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;oBACzD,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;oBAEnD,MAAM,aAAa,GACjB,CAAC,gBAAgB,GAAG,CAAC,IAAI,gBAAgB,IAAI,UAAU,GAAG,CAAC,CAAC;wBAC5D,CAAC,aAAa,GAAG,CAAC,IAAI,aAAa,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;oBAEzD,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,UAAU,CAAC,IAAI,CAAC;4BACd,IAAI,EAAE,mBAAmB;4BACzB,QAAQ,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC,QAAQ;4BAC3C,QAAQ,EAAE,IAAI,CAAC,EAAE;4BACjB,OAAO,EAAE,UAAU,IAAI,CAAC,EAAE,cAAc,IAAI,CAAC,SAAS,kBAAkB,OAAO,CAAC,EAAE,YAAY,OAAO,CAAC,OAAO,OAAO,IAAI,EAAE;4BAC1H,OAAO,EAAE;gCACP,IAAI;gCACJ,kBAAkB,EAAE,OAAO,CAAC,EAAE;gCAC9B,aAAa,EAAE,IAAI,CAAC,SAAS;gCAC7B,WAAW,EAAE,OAAO,CAAC,OAAO;6BAC7B;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,IAAI,GAAG,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;YAChC,0EAA0E;YAC1E,0DAA0D;YAC1D,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAClI,MAAM,YAAY,GAAG,CAAC,CAAY,EAAW,EAAE;gBAC7C,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;gBAClD,OAAO,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC;YAEF,MAAM,oBAAoB,GAAG,CAAC,KAAgB,EAAW,EAAE;gBACzD,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAChD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC1C,IAAI,UAAU,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI;oBAAE,OAAO,KAAK,CAAC;gBAC3D,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;gBAEhD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;oBAC/B,IAAI,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE;wBAAE,SAAS;oBACpC,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC1C,IAAI,UAAU,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI;wBAAE,SAAS;oBACvD,IAAI,UAAU,IAAI,UAAU,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;wBACrD,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;wBAC5C,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC;4BAAE,OAAO,IAAI,CAAC;oBAC5D,CAAC;gBACH,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC;YAEF,MAAM,YAAY,GAAG,CAAC,CAAY,EAAW,EAAE;gBAC7C,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAChG,CAAC,CAAC;YAEF,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1F,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;YAE7C,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACxC,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,GAAG,UAAU,CAAC;YACpD,CAAC,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACxC,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,IAAI,YAAY,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,wDAAwD;YACxD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAEzE,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC/C,IAAI,MAAM,EAAE,CAAC;oBACX,UAAU,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,aAAa;wBACnB,QAAQ,EAAE,QAAQ;wBAClB,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACnB,OAAO,EAAE,qBAAqB,IAAI,UAAU,MAAM,CAAC,QAAQ,CAAC,sBAAsB;wBAClF,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;qBAC5E,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC/C,IAAI,MAAM,EAAE,CAAC;oBACX,UAAU,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,aAAa;wBACnB,QAAQ,EAAE,QAAQ;wBAClB,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACnB,OAAO,EAAE,qBAAqB,IAAI,UAAU,MAAM,CAAC,QAAQ,CAAC,sBAAsB;wBAClF,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;qBAC5E,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,4BAA4B;YAC5B,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC7B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;oBAAE,SAAS;gBAC/B,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACxC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACpC,IAAI,QAAQ,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI;oBAAE,SAAS;gBACnD,IAAI,QAAQ,GAAG,aAAa,IAAI,MAAM,GAAG,eAAe,EAAE,CAAC;oBACzD,UAAU,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,aAAa;wBACnB,QAAQ,EAAE,QAAQ;wBAClB,QAAQ,EAAE,CAAC,CAAC,EAAE;wBACd,OAAO,EAAE,kBAAkB,IAAI,0CAA0C;wBACzE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE;qBACtG,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,0BAA0B;YAC1B,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAA4B,EAAE,CAAC;gBACzG,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;oBAC5B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;wBAAE,SAAS;oBAC/B,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBACtC,IAAI,UAAU,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI;wBAAE,SAAS;oBAEvD,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9D,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC;oBACvF,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC;oBAE7F,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,EAAE,CAAC;wBACpC,MAAM,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;wBACpD,UAAU,CAAC,IAAI,CAAC;4BACd,IAAI,EAAE,aAAa;4BACnB,QAAQ,EAAE,QAAQ;4BAClB,QAAQ,EAAE,CAAC,CAAC,EAAE;4BACd,OAAO,EAAE,GAAG,SAAS,aAAa,IAAI,6CAA6C,OAAO,KAAK;4BAC/F,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE;yBAC9G,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,2EAA2E;IAC3E,+EAA+E;IAC/E,oFAAoF;IAEpF,4EAA4E;IAC5E,+EAA+E;IAC/E,4EAA4E;IAC5E,IAAI,GAAG,CAAC,iBAAiB,CAAC,EAAE,OAAO,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClE,oDAAoD;QACpD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAClD,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC;YACrC,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,MAAM,SAAS,GAAG,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC;YAC5D,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC3C,CAAC;QAED,0DAA0D;QAC1D,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACpD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAqB,CAAC;QAErD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC;YACxC,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,MAAM,WAAW,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,CAAC,WAAW;gBAAE,SAAS;YAE3B,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACrD,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC;YACpE,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,4EAA4E;QAC5E,KAAK,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAC9D,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACnD,IAAI,SAAS,KAAK,SAAS;gBAAE,SAAS,CAAC,mCAAmC;YAE1E,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/C,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;gBACpD,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,iBAAiB;oBACvB,QAAQ,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,QAAQ;oBACzC,QAAQ,EAAE,SAAS,CAAC,EAAE;oBACtB,OAAO,EAAE,iBAAiB,WAAW,yBAAyB,MAAM,CAAC,cAAc,CAAC,gBAAgB,MAAM,CAAC,SAAS,CAAC,aAAa;oBAClI,OAAO,EAAE;wBACP,WAAW;wBACX,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC;wBACjC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;wBAC5B,SAAS,EAAE,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC;qBAC9C;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,SAAS,IAAI,CAAC,CAAS;IACrB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAgB,EAChB,IAA6B;IAE7B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IAErB,QAAQ,QAAQ,EAAE,CAAC;QACjB,0EAA0E;QAC1E,KAAK,wBAAwB,CAAC,CAAC,CAAC;YAC9B,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACxE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAuC,CAAC;YAC3E,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;YAEpD,IAAI,CAAC,gBAAgB,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChD,OAAO,IAAI,CAAC,sEAAsE,CAAC,CAAC;YACtF,CAAC;YAED,8BAA8B;YAC9B,MAAM,SAAS,GAAG,qBAAqB,CAAC;YACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3D,OAAO,IAAI,CAAC,8DAA8D,CAAC,CAAC;YAC9E,CAAC;YAED,yEAAyE;YACzE,MAAM,UAAU,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;YAErD,qBAAqB;YACrB,IAAI,OAAoB,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,UAAU,GACd,sBAAsB,gBAAgB,uBAAuB,SAAS,uBAAuB,OAAO,GAAG,CAAC;gBAC1G,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC1F,OAAO,GAAG,UAAU,CAAC,KAA+B,CAAC;YACvD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,OAAO,IAAI,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;YACrD,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,IAAI,CACT,qCAAqC,gBAAgB,aAAa,SAAS,QAAQ,OAAO,GAAG,CAC9F,CAAC;YACJ,CAAC;YAED,wFAAwF;YACxF,IAAI,eAAe,GAAqB,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC;oBAC5B,IAAI,EAAE,gBAAgB;oBACtB,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,EAAE,UAAU,EAAE,sBAAsB,gBAAgB,GAAG,EAAE;iBAClE,CAAC,CAAC;gBACH,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,CAAC;YAAC,MAAM,CAAC;gBACP,4CAA4C;gBAC5C,eAAe,GAAG,EAAE,CAAC;YACvB,CAAC;YAED,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;YACpF,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;YAClE,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;YAEpC,MAAM,MAAM,GAAqB;gBAC/B,MAAM,EAAE,gBAAgB;gBACxB,MAAM,EAAE,GAAG,SAAS,OAAO,OAAO,EAAE;gBACpC,YAAY,EAAE,OAAO,CAAC,MAAM;gBAC5B,UAAU;gBACV,MAAM;aACP,CAAC;YAEF,2BAA2B;YAC3B,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE/D,+BAA+B;YAC/B,MAAM,KAAK,GAAa;gBACtB,yBAAyB,gBAAgB,KAAK,SAAS,OAAO,OAAO,GAAG;gBACxE,mBAAmB,OAAO,CAAC,MAAM,EAAE;gBACnC,mBAAmB,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;gBACjD,mBAAmB,OAAO,CAAC,MAAM,UAAU,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,MAAM,WAAW,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACrI,EAAE;aACH,CAAC;YAEF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;oBAClD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;wBACxB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBACjE,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjB,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;oBAC1C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;wBACtB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBACjE,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;gBAC3D,KAAK,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,aAAa,MAAM,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC;gBAC1F,KAAK,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,aAAa,MAAM,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC;gBAC1F,KAAK,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,oBAAoB,MAAM,KAAK,CAAC,sBAAsB,IAAI,CAAC,CAAC;YAC1G,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAE5C,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExC,0CAA0C;YAC1C,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;gBAC5B,MAAM,cAAc,GAAG;oBACrB,OAAO,EAAE,CAAC;4BACR,UAAU,EAAE,gBAAgB;4BAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,YAAY,EAAE,MAAM,CAAC,YAAY;4BACjC,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,UAAU,EAAE,MAAM,CAAC,UAAU;4BAC7B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gCACzB,EAAE,EAAE,CAAC,CAAC,EAAE;gCACR,QAAQ,EAAE,CAAC,CAAC,UAAU;gCACtB,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,IAAI,IAAI;gCACtC,KAAK,EAAE,CAAC,CAAC,WAAW;gCACpB,WAAW,EAAE,CAAC,CAAC,WAAW;gCAC1B,SAAS,EAAE,CAAC,CAAC,SAAS;gCACtB,OAAO,EAAE,CAAC,CAAC,OAAO;gCAClB,KAAK,EAAE,CAAC,CAAC,KAAK;gCACd,cAAc,EAAE,CAAC,CAAC,cAAc;gCAChC,OAAO,EAAE,CAAC,CAAC,OAAO;6BACnB,CAAC,CAAC;4BACH,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC3B,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gCACpC,WAAW,EAAG,CAAC,CAAC,WAA6C,EAAE,IAAI,IAAI,SAAS;gCAChF,KAAK,EAAE,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC;6BACjD,CAAC,CAAC;yBACJ,CAAC;iBACH,CAAC;gBAEF,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,cAAc,EAAE;wBAC/C,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;qBAChE;iBACF,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9B,CAAC;QAED,0EAA0E;QAC1E,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACxE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC,uCAAuC,CAAC,CAAC;YACvD,CAAC;YAED,IAAI,QAAmB,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC;oBAC5B,IAAI,EAAE,gBAAgB;oBACtB,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,EAAE,UAAU,EAAE,sBAAsB,gBAAgB,GAAG,EAAE;iBAClE,CAAC,CAAC;gBACH,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,OAAO,IAAI,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC,wCAAwC,gBAAgB,IAAI,CAAC,CAAC;YAC5E,CAAC;YAWD,MAAM,KAAK,GAAa;gBACtB,wBAAwB,gBAAgB,EAAE;gBAC1C,EAAE;gBACF,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;gBAC5G,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;aAC1E,CAAC;YAEF,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,GAAoB,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,IAAI,SAAS,CAAC;gBACvD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;gBACnD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;gBACzC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;gBAE9E,KAAK,CAAC,IAAI,CACR,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CACvH,CAAC;YACJ,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAE9C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,0EAA0E;QAC1E,KAAK,uBAAuB,CAAC,CAAC,CAAC;YAC7B,OAAO,MAAM,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5C,CAAC;QAED,0EAA0E;QAC1E;YACE,OAAO,IAAI,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAyBD,KAAK,UAAU,iBAAiB,CAC9B,IAA6B,EAC7B,GAA8B;IAE9B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACtD,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACjG,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,CAAC,iCAAiC;IAE3E,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,2DAA2D,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,OAAO,OAAO,EAAE,CAAC,CAAC;IACjD,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,2CAA2C,EAAE,CAAC,CAAC;IAClH,IAAI,YAAY;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,YAAY,EAAE,CAAC,CAAC;IAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,yCAAyC;IACzC,IAAI,mBAAmB,GAAG,eAAe,SAAS,qBAAqB,OAAO,GAAG,CAAC;IAClF,IAAI,YAAY,EAAE,CAAC;QACjB,mBAAmB,IAAI,2BAA2B,YAAY,GAAG,CAAC;IACpE,CAAC;IACD,kDAAkD;IAClD,kFAAkF;IAClF,mBAAmB,IAAI,kDAAkD,CAAC;IAE1E,IAAI,UAA8B,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,cAAc,CAClC,cAAc,EACd,mBAAmB,EACnB,SAAS,EACT,GAAG,CACJ,CAAC;QACF,UAAU,GAAG,GAAG,CAAC,KAA2B,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,mDAAmD,YAAY,IAAI,YAAY,YAAY,SAAS,QAAQ,OAAO,GAAG,CAAC,CAAC;IACtI,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,2BAA2B,CAAC,CAAC;IAClE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAKf,MAAM,YAAY,GAAkB,MAAM,OAAO,CAAC,GAAG,CACnD,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAwB,EAAE;QAChD,MAAM,QAAQ,GAAG,EAAE,CAAC,MAAM,EAAE,UAAU,IAAI,SAAS,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,sBAAsB,QAAQ,uBAAuB,EAAE,CAAC,SAAS,uBAAuB,EAAE,CAAC,OAAO,GAAG,CAAC;YACzH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACnF,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,KAA+B,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IASF,MAAM,SAAS,GAAyB,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAC5D,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC3D,CAAC;QACD,MAAM,UAAU,GAAG,eAAe,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO;YACL,GAAG,EAAE;YACL,UAAU;YACV,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;YACxD,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC;SACrD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC,uBAAuB,UAAU,CAAC,MAAM,0BAA0B,CAAC,CAAC;IAC/E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,+EAA+E;IAC/E,MAAM,OAAO,GAAmB,MAAM,OAAO,CAAC,GAAG,CAC/C,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAyB,EAAE;QAC/C,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,IAAI,SAAS,CAAC;QACtD,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,IAAI,QAAQ,CAAC;QACjD,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAErB,qBAAqB;QACrB,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACvJ,CAAC;QAED,aAAa;QACb,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAC9J,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAEpC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,cAAc;YACd,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE5E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,wCAAwC;gBACxC,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CACxC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;oBACrC,MAAM,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;oBAC5E,MAAM,OAAO,GAAG,uBAAuB,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnH,IAAI,CAAC;wBACH,MAAM,GAAG,CAAC,gBAAgB,CAAC;4BACzB,IAAI,EAAE,iBAAiB,OAAO,SAAS;4BACvC,MAAM,EAAE,MAAM;4BACd,IAAI,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE;yBAC/C,CAAC,CAAC;wBACH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oBACpC,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;oBACrC,CAAC;gBACH,CAAC,CAAC,CACH,CAAC;gBAEF,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAEhF,sDAAsD;gBACtD,IAAI,CAAC;oBACH,MAAM,GAAG,CAAC,gBAAgB,CAAC;wBACzB,IAAI,EAAE,gBAAgB,IAAI,SAAS;wBACnC,MAAM,EAAE,MAAM;wBACd,IAAI,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE;qBACtC,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAAC;gBAEnC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,MAAM,mBAAmB,EAAE,CAAC;YAC7N,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;YACnM,CAAC;QACH,CAAC;aAAM,CAAC;YACN,eAAe;YACf,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,MAAM,GAAG,CAAC,gBAAgB,CAAC;wBACzB,IAAI,EAAE,gBAAgB,IAAI,UAAU;wBACpC,MAAM,EAAE,MAAM;wBACd,IAAI,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE;qBACtC,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAAC;gBACnC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAC/O,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;YACtK,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEF,mDAAmD;IACnD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC;QAC5F,KAAK,CAAC,IAAI,CAAC,OAAO,UAAU,gBAAgB,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,UAAU,eAAe,CAAC,CAAC,WAAW,gBAAgB,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QAChG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAEzD,yBAAyB;QACzB,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,UAAU;IACV,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;IACrE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IACnE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IAEhE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,gBAAgB,QAAQ,IAAI,CAAC,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,gBAAgB,QAAQ,IAAI,CAAC,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,IAAI,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,IAAI,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC;IAEpD,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QAC7E,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC,CAAC"}