genai-electron 0.4.3 → 0.6.1

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 (70) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +87 -84
  3. package/dist/config/defaults.d.ts +37 -54
  4. package/dist/config/defaults.d.ts.map +1 -1
  5. package/dist/config/defaults.js +53 -60
  6. package/dist/config/defaults.js.map +1 -1
  7. package/dist/config/paths.d.ts +1 -0
  8. package/dist/config/paths.d.ts.map +1 -1
  9. package/dist/config/paths.js +3 -0
  10. package/dist/config/paths.js.map +1 -1
  11. package/dist/config/reasoning-models.d.ts.map +1 -1
  12. package/dist/config/reasoning-models.js.map +1 -1
  13. package/dist/index.d.ts +6 -5
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +4 -3
  16. package/dist/index.js.map +1 -1
  17. package/dist/managers/BinaryManager.d.ts +1 -0
  18. package/dist/managers/BinaryManager.d.ts.map +1 -1
  19. package/dist/managers/BinaryManager.js +21 -30
  20. package/dist/managers/BinaryManager.js.map +1 -1
  21. package/dist/managers/DiffusionServerManager.d.ts +6 -0
  22. package/dist/managers/DiffusionServerManager.d.ts.map +1 -1
  23. package/dist/managers/DiffusionServerManager.js +186 -50
  24. package/dist/managers/DiffusionServerManager.js.map +1 -1
  25. package/dist/managers/GenerationRegistry.d.ts.map +1 -1
  26. package/dist/managers/GenerationRegistry.js +1 -1
  27. package/dist/managers/GenerationRegistry.js.map +1 -1
  28. package/dist/managers/LlamaServerManager.d.ts +17 -0
  29. package/dist/managers/LlamaServerManager.d.ts.map +1 -1
  30. package/dist/managers/LlamaServerManager.js +284 -28
  31. package/dist/managers/LlamaServerManager.js.map +1 -1
  32. package/dist/managers/ModelManager.d.ts +6 -0
  33. package/dist/managers/ModelManager.d.ts.map +1 -1
  34. package/dist/managers/ModelManager.js +424 -2
  35. package/dist/managers/ModelManager.js.map +1 -1
  36. package/dist/managers/ResourceOrchestrator.d.ts.map +1 -1
  37. package/dist/managers/ResourceOrchestrator.js +52 -51
  38. package/dist/managers/ResourceOrchestrator.js.map +1 -1
  39. package/dist/managers/ServerManager.d.ts +2 -2
  40. package/dist/managers/ServerManager.d.ts.map +1 -1
  41. package/dist/managers/ServerManager.js +8 -3
  42. package/dist/managers/ServerManager.js.map +1 -1
  43. package/dist/managers/StorageManager.d.ts.map +1 -1
  44. package/dist/managers/StorageManager.js +143 -12
  45. package/dist/managers/StorageManager.js.map +1 -1
  46. package/dist/process/health-check.d.ts +4 -3
  47. package/dist/process/health-check.d.ts.map +1 -1
  48. package/dist/process/health-check.js +12 -6
  49. package/dist/process/health-check.js.map +1 -1
  50. package/dist/process/log-manager.d.ts +11 -1
  51. package/dist/process/log-manager.d.ts.map +1 -1
  52. package/dist/process/log-manager.js +49 -2
  53. package/dist/process/log-manager.js.map +1 -1
  54. package/dist/process/port-utils.d.ts +3 -0
  55. package/dist/process/port-utils.d.ts.map +1 -0
  56. package/dist/process/port-utils.js +28 -0
  57. package/dist/process/port-utils.js.map +1 -0
  58. package/dist/types/images.d.ts +4 -2
  59. package/dist/types/images.d.ts.map +1 -1
  60. package/dist/types/index.d.ts +2 -2
  61. package/dist/types/index.d.ts.map +1 -1
  62. package/dist/types/models.d.ts +31 -0
  63. package/dist/types/models.d.ts.map +1 -1
  64. package/dist/types/servers.d.ts +20 -2
  65. package/dist/types/servers.d.ts.map +1 -1
  66. package/dist/utils/debug-log.d.ts +3 -0
  67. package/dist/utils/debug-log.d.ts.map +1 -0
  68. package/dist/utils/debug-log.js +10 -0
  69. package/dist/utils/debug-log.js.map +1 -0
  70. package/package.json +73 -73
@@ -1,12 +1,14 @@
1
1
  import path from 'node:path';
2
+ import { mkdir, rmdir } from 'node:fs/promises';
2
3
  import { ModelNotFoundError, DownloadError } from '../errors/index.js';
3
4
  import { storageManager } from './StorageManager.js';
4
5
  import { Downloader } from '../download/Downloader.js';
5
6
  import { getHuggingFaceURL } from '../download/huggingface.js';
6
- import { calculateSHA256, formatChecksum } from '../download/checksum.js';
7
- import { fileExists, getFileSize, sanitizeFilename } from '../utils/file-utils.js';
7
+ import { calculateSHA256, formatChecksum, verifyChecksum } from '../download/checksum.js';
8
+ import { fileExists, getFileSize, sanitizeFilename, deleteFile } from '../utils/file-utils.js';
8
9
  import { detectReasoningSupport } from '../config/reasoning-models.js';
9
10
  import { fetchGGUFMetadata, fetchLocalGGUFMetadata, getArchField } from '../utils/gguf-parser.js';
11
+ import { getModelDirectory } from '../config/paths.js';
10
12
  import { getLayerCountWithFallback, getContextLengthWithFallback, getArchitectureWithFallback, } from '../utils/model-metadata-helpers.js';
11
13
  export class ModelManager {
12
14
  static instance;
@@ -41,6 +43,9 @@ export class ModelManager {
41
43
  }
42
44
  async downloadModel(config) {
43
45
  await this.initialize();
46
+ if (config.components && config.components.length > 0) {
47
+ return this.downloadMultiComponentModel(config);
48
+ }
44
49
  let downloadURL;
45
50
  let sourceRepo;
46
51
  let sourceFile;
@@ -63,6 +68,11 @@ export class ModelManager {
63
68
  }
64
69
  const modelId = this.generateModelId(config.name);
65
70
  const filename = this.extractFilename(downloadURL, sourceFile);
71
+ const shardBasename = sourceFile ? (sourceFile.split('/').pop() ?? filename) : filename;
72
+ const extraShardFiles = this.resolveShardFilenames(shardBasename, config);
73
+ if (extraShardFiles.length > 0) {
74
+ return this.downloadShardedModel(config, downloadURL, sourceRepo, sourceFile, shardBasename, extraShardFiles);
75
+ }
66
76
  const destinationPath = storageManager.getModelPath(config.type, filename);
67
77
  const exists = await fileExists(destinationPath);
68
78
  if (exists) {
@@ -124,6 +134,418 @@ export class ModelManager {
124
134
  await storageManager.saveModelMetadata(modelInfo);
125
135
  return modelInfo;
126
136
  }
137
+ async downloadMultiComponentModel(config) {
138
+ const components = config.components;
139
+ const duplicatePrimary = components.find((c) => c.role === 'diffusion_model');
140
+ if (duplicatePrimary) {
141
+ throw new DownloadError('Component with role "diffusion_model" is not allowed — the top-level config describes the primary diffusion model');
142
+ }
143
+ const primaryURL = this.resolveComponentURL(config);
144
+ const primaryFile = config.file ?? this.extractFilename(primaryURL);
145
+ const modelId = this.generateModelId(config.name);
146
+ try {
147
+ await storageManager.loadModelMetadata(config.type, modelId);
148
+ throw new DownloadError(`Model already exists: ${modelId}`, { modelId });
149
+ }
150
+ catch (error) {
151
+ if (error instanceof DownloadError)
152
+ throw error;
153
+ }
154
+ const dirName = config.modelDirectory ? this.generateModelId(config.modelDirectory) : modelId;
155
+ const modelDir = getModelDirectory(config.type, dirName);
156
+ await mkdir(modelDir, { recursive: true });
157
+ const downloadItems = [
158
+ {
159
+ role: 'diffusion_model',
160
+ url: primaryURL,
161
+ filename: primaryFile,
162
+ destination: path.join(modelDir, sanitizeFilename(primaryFile)),
163
+ checksum: config.checksum,
164
+ },
165
+ ];
166
+ for (const comp of components) {
167
+ const compURL = this.resolveComponentURL(comp);
168
+ const compFile = comp.file ?? this.extractFilename(compURL);
169
+ downloadItems.push({
170
+ role: comp.role,
171
+ url: compURL,
172
+ filename: compFile,
173
+ destination: path.join(modelDir, sanitizeFilename(compFile)),
174
+ checksum: comp.checksum,
175
+ });
176
+ }
177
+ let totalBytes = 0;
178
+ const itemSizes = [];
179
+ const itemExists = [];
180
+ await Promise.all(downloadItems.map(async (item, index) => {
181
+ const alreadyExists = await fileExists(item.destination);
182
+ itemExists[index] = alreadyExists;
183
+ if (alreadyExists) {
184
+ itemSizes[index] = 0;
185
+ return;
186
+ }
187
+ try {
188
+ const controller = new AbortController();
189
+ const timeout = setTimeout(() => controller.abort(), 10_000);
190
+ const response = await fetch(item.url, {
191
+ method: 'HEAD',
192
+ signal: controller.signal,
193
+ });
194
+ clearTimeout(timeout);
195
+ const contentLength = parseInt(response.headers.get('content-length') || '0', 10);
196
+ itemSizes[index] = contentLength;
197
+ }
198
+ catch {
199
+ itemSizes[index] = 0;
200
+ }
201
+ }));
202
+ totalBytes = itemSizes.reduce((sum, s) => sum + s, 0);
203
+ let ggufMetadata;
204
+ if (this.isGGUFFile(primaryFile)) {
205
+ let metadataTimerId;
206
+ try {
207
+ const metadataTimeout = new Promise((_, reject) => {
208
+ metadataTimerId = setTimeout(() => reject(new Error('GGUF metadata fetch timeout')), 15_000);
209
+ });
210
+ const parsedGGUF = await Promise.race([fetchGGUFMetadata(primaryURL), metadataTimeout]);
211
+ clearTimeout(metadataTimerId);
212
+ ggufMetadata = this.createGGUFMetadataFromParsed(parsedGGUF);
213
+ }
214
+ catch {
215
+ clearTimeout(metadataTimerId);
216
+ }
217
+ }
218
+ const downloadedPaths = [];
219
+ let completedBytes = 0;
220
+ try {
221
+ for (let i = 0; i < downloadItems.length; i++) {
222
+ const item = downloadItems[i];
223
+ config.onComponentStart?.({
224
+ role: item.role,
225
+ filename: item.filename,
226
+ index: i + 1,
227
+ total: downloadItems.length,
228
+ });
229
+ if (itemExists[i]) {
230
+ if (item.checksum) {
231
+ const isValid = await verifyChecksum(item.destination, item.checksum);
232
+ if (!isValid) {
233
+ await deleteFile(item.destination);
234
+ itemExists[i] = false;
235
+ }
236
+ else {
237
+ continue;
238
+ }
239
+ }
240
+ else {
241
+ continue;
242
+ }
243
+ }
244
+ const wrappedProgress = config.onProgress
245
+ ? (downloaded, itemTotal) => {
246
+ if (itemSizes[i] === 0 && itemTotal > 0) {
247
+ itemSizes[i] = itemTotal;
248
+ totalBytes = itemSizes.reduce((sum, s) => sum + s, 0);
249
+ }
250
+ const aggregateDownloaded = completedBytes + downloaded;
251
+ const clampedTotal = Math.max(totalBytes, aggregateDownloaded);
252
+ config.onProgress(aggregateDownloaded, clampedTotal);
253
+ }
254
+ : undefined;
255
+ await this.downloader.download({
256
+ url: item.url,
257
+ destination: item.destination,
258
+ onProgress: wrappedProgress,
259
+ });
260
+ downloadedPaths.push(item.destination);
261
+ if (item.checksum) {
262
+ const calculatedChecksum = await calculateSHA256(item.destination);
263
+ const expectedChecksum = item.checksum.replace(/^sha256:/, '');
264
+ if (calculatedChecksum !== expectedChecksum) {
265
+ throw new DownloadError(`Checksum verification failed for component: ${item.role}`, {
266
+ expected: expectedChecksum,
267
+ actual: calculatedChecksum,
268
+ component: item.role,
269
+ });
270
+ }
271
+ }
272
+ const actualSize = await getFileSize(item.destination);
273
+ completedBytes += actualSize;
274
+ }
275
+ }
276
+ catch (error) {
277
+ for (const filePath of downloadedPaths) {
278
+ try {
279
+ await deleteFile(filePath);
280
+ }
281
+ catch {
282
+ }
283
+ }
284
+ try {
285
+ await rmdir(modelDir);
286
+ }
287
+ catch {
288
+ }
289
+ if (error instanceof DownloadError) {
290
+ throw error;
291
+ }
292
+ throw new DownloadError('Multi-component download failed', {
293
+ error: error instanceof Error ? error.message : String(error),
294
+ });
295
+ }
296
+ const componentsMap = {};
297
+ let aggregateSize = 0;
298
+ for (const item of downloadItems) {
299
+ const fileSize = await getFileSize(item.destination);
300
+ aggregateSize += fileSize;
301
+ const compInfo = {
302
+ path: item.destination,
303
+ size: fileSize,
304
+ };
305
+ if (item.checksum) {
306
+ compInfo.checksum = formatChecksum(item.checksum.replace(/^sha256:/, ''));
307
+ }
308
+ componentsMap[item.role] = compInfo;
309
+ }
310
+ const primaryItem = downloadItems[0];
311
+ const modelInfo = {
312
+ id: modelId,
313
+ name: config.name,
314
+ type: config.type,
315
+ size: aggregateSize,
316
+ path: primaryItem.destination,
317
+ downloadedAt: new Date().toISOString(),
318
+ source: {
319
+ type: config.source,
320
+ url: primaryURL,
321
+ repo: config.repo,
322
+ file: config.file,
323
+ },
324
+ ggufMetadata,
325
+ components: componentsMap,
326
+ };
327
+ await storageManager.saveModelMetadata(modelInfo);
328
+ return modelInfo;
329
+ }
330
+ resolveShardFilenames(primaryFilename, config) {
331
+ if (config.shardFiles && config.shardFiles.length > 0) {
332
+ return config.shardFiles;
333
+ }
334
+ const match = /^(.*)-(\d{5})-of-(\d{5})\.gguf$/i.exec(primaryFilename);
335
+ if (!match) {
336
+ return [];
337
+ }
338
+ const shardIndex = parseInt(match[2], 10);
339
+ const shardTotal = parseInt(match[3], 10);
340
+ if (shardTotal <= 1) {
341
+ return [];
342
+ }
343
+ if (shardIndex !== 1) {
344
+ throw new DownloadError(`Multi-shard model download must point at the FIRST shard (got shard ${shardIndex} of ${shardTotal}): ${primaryFilename}`, {
345
+ suggestion: `Use the -00001-of-${match[3]} file; the remaining shards are downloaded automatically`,
346
+ });
347
+ }
348
+ const MAX_SHARDS = 500;
349
+ if (shardTotal > MAX_SHARDS) {
350
+ throw new DownloadError(`Implausible shard count ${shardTotal} in filename: ${primaryFilename} (max supported: ${MAX_SHARDS})`, { suggestion: 'Check the filename, or list the shards explicitly via shardFiles' });
351
+ }
352
+ const prefix = match[1];
353
+ const suffix = primaryFilename.slice(prefix.length + 1 + 5);
354
+ const siblings = [];
355
+ for (let i = 2; i <= shardTotal; i++) {
356
+ siblings.push(`${prefix}-${String(i).padStart(5, '0')}${suffix}`);
357
+ }
358
+ return siblings;
359
+ }
360
+ resolveShardURL(shardEntry, config, primaryURL) {
361
+ if (/^https?:\/\//i.test(shardEntry)) {
362
+ return shardEntry;
363
+ }
364
+ if (config.source === 'huggingface') {
365
+ const hfFile = config.file.includes('/')
366
+ ? config.file.replace(/[^/]+$/, () => shardEntry)
367
+ : shardEntry;
368
+ return getHuggingFaceURL(config.repo, hfFile);
369
+ }
370
+ try {
371
+ const url = new URL(primaryURL);
372
+ url.pathname = url.pathname.slice(0, url.pathname.lastIndexOf('/') + 1) + shardEntry;
373
+ return url.toString();
374
+ }
375
+ catch {
376
+ return primaryURL.slice(0, primaryURL.lastIndexOf('/') + 1) + shardEntry;
377
+ }
378
+ }
379
+ async downloadShardedModel(config, primaryURL, sourceRepo, sourceFile, primaryFilename, extraShardFiles) {
380
+ const modelId = this.generateModelId(config.name);
381
+ try {
382
+ await storageManager.loadModelMetadata(config.type, modelId);
383
+ throw new DownloadError(`Model already exists: ${modelId}`, { modelId });
384
+ }
385
+ catch (error) {
386
+ if (error instanceof DownloadError)
387
+ throw error;
388
+ }
389
+ const modelDir = getModelDirectory(config.type, modelId);
390
+ const shardItems = [
391
+ {
392
+ url: primaryURL,
393
+ filename: primaryFilename,
394
+ destination: path.join(modelDir, sanitizeFilename(primaryFilename)),
395
+ },
396
+ ];
397
+ for (const entry of extraShardFiles) {
398
+ const url = this.resolveShardURL(entry, config, primaryURL);
399
+ const shardFilename = this.extractFilename(url, /^https?:\/\//i.test(entry) ? undefined : entry);
400
+ shardItems.push({
401
+ url,
402
+ filename: shardFilename,
403
+ destination: path.join(modelDir, sanitizeFilename(shardFilename)),
404
+ });
405
+ }
406
+ for (const item of shardItems) {
407
+ if (await fileExists(item.destination)) {
408
+ throw new DownloadError(`Model file already exists: ${item.filename}`, {
409
+ path: item.destination,
410
+ });
411
+ }
412
+ }
413
+ let ggufMetadata;
414
+ try {
415
+ const parsedGGUF = await fetchGGUFMetadata(primaryURL);
416
+ ggufMetadata = this.createGGUFMetadataFromParsed(parsedGGUF);
417
+ }
418
+ catch (error) {
419
+ const errorMessage = error instanceof Error ? error.message : String(error);
420
+ throw new DownloadError(`Failed to fetch GGUF metadata before download: ${errorMessage}`, {
421
+ url: primaryURL,
422
+ originalError: error,
423
+ suggestion: 'Verify the URL points to a valid GGUF file. Check network connectivity if the error persists.',
424
+ });
425
+ }
426
+ const itemSizes = [];
427
+ await Promise.all(shardItems.map(async (item, index) => {
428
+ try {
429
+ const controller = new AbortController();
430
+ const timeout = setTimeout(() => controller.abort(), 10_000);
431
+ const response = await fetch(item.url, { method: 'HEAD', signal: controller.signal });
432
+ clearTimeout(timeout);
433
+ itemSizes[index] = parseInt(response.headers.get('content-length') || '0', 10);
434
+ }
435
+ catch {
436
+ itemSizes[index] = 0;
437
+ }
438
+ }));
439
+ let totalBytes = itemSizes.reduce((sum, s) => sum + s, 0);
440
+ await mkdir(modelDir, { recursive: true });
441
+ const downloadedPaths = [];
442
+ let completedBytes = 0;
443
+ try {
444
+ for (let i = 0; i < shardItems.length; i++) {
445
+ const item = shardItems[i];
446
+ const wrappedProgress = config.onProgress
447
+ ? (downloaded, itemTotal) => {
448
+ if (itemSizes[i] === 0 && itemTotal > 0) {
449
+ itemSizes[i] = itemTotal;
450
+ totalBytes = itemSizes.reduce((sum, s) => sum + s, 0);
451
+ }
452
+ const aggregateDownloaded = completedBytes + downloaded;
453
+ const clampedTotal = Math.max(totalBytes, aggregateDownloaded);
454
+ config.onProgress(aggregateDownloaded, clampedTotal);
455
+ }
456
+ : undefined;
457
+ await this.downloader.download({
458
+ url: item.url,
459
+ destination: item.destination,
460
+ onProgress: wrappedProgress,
461
+ });
462
+ downloadedPaths.push(item.destination);
463
+ completedBytes += await getFileSize(item.destination);
464
+ }
465
+ if (config.checksum) {
466
+ const calculatedChecksum = await calculateSHA256(shardItems[0].destination);
467
+ const expectedChecksum = config.checksum.replace(/^sha256:/, '');
468
+ if (calculatedChecksum !== expectedChecksum) {
469
+ throw new DownloadError('Checksum verification failed', {
470
+ expected: expectedChecksum,
471
+ actual: calculatedChecksum,
472
+ });
473
+ }
474
+ }
475
+ }
476
+ catch (error) {
477
+ for (const filePath of downloadedPaths) {
478
+ try {
479
+ await deleteFile(filePath);
480
+ }
481
+ catch {
482
+ }
483
+ }
484
+ try {
485
+ await rmdir(modelDir);
486
+ }
487
+ catch {
488
+ }
489
+ if (error instanceof DownloadError) {
490
+ throw error;
491
+ }
492
+ throw new DownloadError('Multi-shard download failed', {
493
+ error: error instanceof Error ? error.message : String(error),
494
+ });
495
+ }
496
+ const shards = [];
497
+ let aggregateSize = 0;
498
+ for (let i = 0; i < shardItems.length; i++) {
499
+ const item = shardItems[i];
500
+ const fileSize = await getFileSize(item.destination);
501
+ aggregateSize += fileSize;
502
+ const shard = { path: item.destination, size: fileSize };
503
+ if (i === 0 && config.checksum) {
504
+ shard.checksum = formatChecksum(config.checksum.replace(/^sha256:/, ''));
505
+ }
506
+ shards.push(shard);
507
+ }
508
+ const modelInfo = {
509
+ id: modelId,
510
+ name: config.name,
511
+ type: config.type,
512
+ size: aggregateSize,
513
+ path: shardItems[0].destination,
514
+ downloadedAt: new Date().toISOString(),
515
+ source: {
516
+ type: config.source,
517
+ url: primaryURL,
518
+ repo: sourceRepo,
519
+ file: sourceFile,
520
+ },
521
+ checksum: config.checksum
522
+ ? formatChecksum(config.checksum.replace(/^sha256:/, ''))
523
+ : undefined,
524
+ supportsReasoning: detectReasoningSupport(primaryFilename),
525
+ ggufMetadata,
526
+ shards,
527
+ };
528
+ await storageManager.saveModelMetadata(modelInfo);
529
+ return modelInfo;
530
+ }
531
+ resolveComponentURL(spec) {
532
+ if (spec.source === 'url') {
533
+ if (!spec.url) {
534
+ throw new DownloadError('URL is required when source is "url"');
535
+ }
536
+ return spec.url;
537
+ }
538
+ if (spec.source === 'huggingface') {
539
+ if (!spec.repo || !spec.file) {
540
+ throw new DownloadError('Repository and file are required when source is "huggingface"');
541
+ }
542
+ return getHuggingFaceURL(spec.repo, spec.file);
543
+ }
544
+ throw new DownloadError(`Unsupported source type: ${spec.source}`);
545
+ }
546
+ isGGUFFile(filename) {
547
+ return filename.toLowerCase().endsWith('.gguf');
548
+ }
127
549
  async deleteModel(id) {
128
550
  const models = await this.listModels();
129
551
  const model = models.find((m) => m.id === id);
@@ -1 +1 @@
1
- {"version":3,"file":"ModelManager.js","sourceRoot":"","sources":["../../src/managers/ModelManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelManager.js","sourceRoot":"","sources":["../../src/managers/ModelManager.ts"],"names":[],"mappings":"AAKA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAYhD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,oCAAoC,CAAC;AAc5C,MAAM,OAAO,YAAY;IACf,MAAM,CAAC,QAAQ,CAAe;IAC9B,UAAU,CAAa;IAK/B;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IACrC,CAAC;IAKM,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC3B,YAAY,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QAC7C,CAAC;QACD,OAAO,YAAY,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAWM,KAAK,CAAC,UAAU;QACrB,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC;IAcM,KAAK,CAAC,UAAU,CAAC,IAAgB;QACtC,MAAM,KAAK,GAAgB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAChE,MAAM,MAAM,GAAgB,EAAE,CAAC;QAE/B,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAEhE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oBAC7E,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACzB,CAAC;gBAAC,MAAM,CAAC;gBAET,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAsBM,KAAK,CAAC,aAAa,CAAC,MAAsB;QAE/C,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAGxB,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;QAGD,IAAI,WAAmB,CAAC;QACxB,IAAI,UAA8B,CAAC;QACnC,IAAI,UAA8B,CAAC;QAEnC,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBAChB,MAAM,IAAI,aAAa,CAAC,sCAAsC,CAAC,CAAC;YAClE,CAAC;YACD,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC;QAC3B,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjC,MAAM,IAAI,aAAa,CAAC,+DAA+D,CAAC,CAAC;YAC3F,CAAC;YACD,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1D,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;YACzB,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,aAAa,CAAC,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,CAAC;QAGD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAGlD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAM/D,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACxF,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC1E,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,oBAAoB,CAC9B,MAAM,EACN,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,eAAe,CAChB,CAAC;QACJ,CAAC;QAGD,MAAM,eAAe,GAAG,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAG3E,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,aAAa,CAAC,8BAA8B,QAAQ,EAAE,EAAE;gBAChE,IAAI,EAAE,eAAe;aACtB,CAAC,CAAC;QACL,CAAC;QAID,IAAI,YAAsC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACxD,YAAY,GAAG,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,IAAI,aAAa,CAAC,kDAAkD,YAAY,EAAE,EAAE;gBACxF,GAAG,EAAE,WAAW;gBAChB,aAAa,EAAE,KAAK;gBACpB,UAAU,EACR,+FAA+F;aAClG,CAAC,CAAC;QACL,CAAC;QAGD,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC7B,GAAG,EAAE,WAAW;YAChB,WAAW,EAAE,eAAe;YAC5B,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QAGH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,eAAe,CAAC,CAAC;QAGhD,IAAI,QAA4B,CAAC;QACjC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,kBAAkB,GAAG,MAAM,eAAe,CAAC,eAAe,CAAC,CAAC;YAClE,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAEjE,IAAI,kBAAkB,KAAK,gBAAgB,EAAE,CAAC;gBAE5C,MAAM,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAEvE,CAAC,CAAC,CAAC;gBAEH,MAAM,IAAI,aAAa,CAAC,8BAA8B,EAAE;oBACtD,QAAQ,EAAE,gBAAgB;oBAC1B,MAAM,EAAE,kBAAkB;iBAC3B,CAAC,CAAC;YACL,CAAC;YAED,QAAQ,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAChD,CAAC;QAGD,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAG3D,MAAM,SAAS,GAAc;YAC3B,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI;YACJ,IAAI,EAAE,eAAe;YACrB,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACtC,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM,CAAC,MAAM;gBACnB,GAAG,EAAE,WAAW;gBAChB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,UAAU;aACjB;YACD,QAAQ;YACR,iBAAiB;YACjB,YAAY;SACb,CAAC;QAGF,MAAM,cAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAElD,OAAO,SAAS,CAAC;IACnB,CAAC;IAUO,KAAK,CAAC,2BAA2B,CAAC,MAAsB;QAC9D,MAAM,UAAU,GAAG,MAAM,CAAC,UAAW,CAAC;QAItC,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;QAC9E,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,IAAI,aAAa,CACrB,mHAAmH,CACpH,CAAC;QACJ,CAAC;QAGD,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAIpE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAGlD,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7D,MAAM,IAAI,aAAa,CAAC,yBAAyB,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,aAAa;gBAAE,MAAM,KAAK,CAAC;QAElD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC9F,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAW3C,MAAM,aAAa,GAAmB;YACpC;gBACE,IAAI,EAAE,iBAAiB;gBACvB,GAAG,EAAE,UAAU;gBACf,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;gBAC/D,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B;SACF,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC5D,aAAa,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,GAAG,EAAE,OAAO;gBACZ,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAC5D,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;QACL,CAAC;QAGD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAc,EAAE,CAAC;QACjC,MAAM,OAAO,CAAC,GAAG,CACf,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YAEtC,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzD,UAAU,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;YAClC,IAAI,aAAa,EAAE,CAAC;gBAClB,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;gBAC7D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;oBACrC,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC,CAAC;gBACH,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;gBAClF,SAAS,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QACF,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAItD,IAAI,YAAsC,CAAC;QAC3C,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,IAAI,eAA0D,CAAC;YAC/D,IAAI,CAAC;gBACH,MAAM,eAAe,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;oBACvD,eAAe,GAAG,UAAU,CAC1B,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,EACtD,MAAM,CACP,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;gBACxF,YAAY,CAAC,eAAe,CAAC,CAAC;gBAC9B,YAAY,GAAG,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;YAC/D,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY,CAAC,eAAe,CAAC,CAAC;YAEhC,CAAC;QACH,CAAC;QAID,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,IAAI,CAAC;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC;gBAG/B,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBACxB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,KAAK,EAAE,CAAC,GAAG,CAAC;oBACZ,KAAK,EAAE,aAAa,CAAC,MAAM;iBAC5B,CAAC,CAAC;gBAGH,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;oBAElB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAClB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACtE,IAAI,CAAC,OAAO,EAAE,CAAC;4BACb,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;4BAEnC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;wBAExB,CAAC;6BAAM,CAAC;4BACN,SAAS;wBACX,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,SAAS;oBACX,CAAC;gBACH,CAAC;gBAID,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU;oBACvC,CAAC,CAAC,CAAC,UAAkB,EAAE,SAAiB,EAAE,EAAE;wBACxC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;4BACxC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;4BACzB,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;wBACxD,CAAC;wBACD,MAAM,mBAAmB,GAAG,cAAc,GAAG,UAAU,CAAC;wBACxD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;wBAC/D,MAAM,CAAC,UAAW,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;oBACxD,CAAC;oBACH,CAAC,CAAC,SAAS,CAAC;gBAEd,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,UAAU,EAAE,eAAe;iBAC5B,CAAC,CAAC;gBAEH,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAGvC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,MAAM,kBAAkB,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACnE,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBAE/D,IAAI,kBAAkB,KAAK,gBAAgB,EAAE,CAAC;wBAC5C,MAAM,IAAI,aAAa,CAAC,+CAA+C,IAAI,CAAC,IAAI,EAAE,EAAE;4BAClF,QAAQ,EAAE,gBAAgB;4BAC1B,MAAM,EAAE,kBAAkB;4BAC1B,SAAS,EAAE,IAAI,CAAC,IAAI;yBACrB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAGD,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACvD,cAAc,IAAI,UAAU,CAAC;YAC/B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;gBACvC,IAAI,CAAC;oBACH,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAC7B,CAAC;gBAAC,MAAM,CAAC;gBAET,CAAC;YACH,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;YAET,CAAC;YAED,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;gBACnC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,aAAa,CAAC,iCAAiC,EAAE;gBACzD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;QAGD,MAAM,aAAa,GAA6B,EAAE,CAAC;QACnD,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACrD,aAAa,IAAI,QAAQ,CAAC;YAE1B,MAAM,QAAQ,GAA2B;gBACvC,IAAI,EAAE,IAAI,CAAC,WAAW;gBACtB,IAAI,EAAE,QAAQ;aACf,CAAC;YAEF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,QAAQ,CAAC,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5E,CAAC;YAED,aAAa,CAAC,IAAI,CAAC,IAA8B,CAAC,GAAG,QAAQ,CAAC;QAChE,CAAC;QAGD,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC;QACtC,MAAM,SAAS,GAAc;YAC3B,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,WAAW,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACtC,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM,CAAC,MAAM;gBACnB,GAAG,EAAE,UAAU;gBACf,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB;YACD,YAAY;YACZ,UAAU,EAAE,aAAa;SAC1B,CAAC;QAGF,MAAM,cAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAElD,OAAO,SAAS,CAAC;IACnB,CAAC;IAaO,qBAAqB,CAAC,eAAuB,EAAE,MAAsB;QAC3E,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,OAAO,MAAM,CAAC,UAAU,CAAC;QAC3B,CAAC;QAED,MAAM,KAAK,GAAG,kCAAkC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;QAE3C,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,aAAa,CACrB,uEAAuE,UAAU,OAAO,UAAU,MAAM,eAAe,EAAE,EACzH;gBACE,UAAU,EAAE,qBAAqB,KAAK,CAAC,CAAC,CAAC,0DAA0D;aACpG,CACF,CAAC;QACJ,CAAC;QAID,MAAM,UAAU,GAAG,GAAG,CAAC;QACvB,IAAI,UAAU,GAAG,UAAU,EAAE,CAAC;YAC5B,MAAM,IAAI,aAAa,CACrB,2BAA2B,UAAU,iBAAiB,eAAe,oBAAoB,UAAU,GAAG,EACtG,EAAE,UAAU,EAAE,kEAAkE,EAAE,CACnF,CAAC;QACJ,CAAC;QAGD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACzB,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAUO,eAAe,CAAC,UAAkB,EAAE,MAAsB,EAAE,UAAkB;QACpF,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YAGpC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACvC,CAAC,CAAC,MAAM,CAAC,IAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC;gBAClD,CAAC,CAAC,UAAU,CAAC;YACf,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAK,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;YAChC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC;YACrF,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC;QAC3E,CAAC;IACH,CAAC;IAWO,KAAK,CAAC,oBAAoB,CAChC,MAAsB,EACtB,UAAkB,EAClB,UAA8B,EAC9B,UAA8B,EAC9B,eAAuB,EACvB,eAAyB;QAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAGlD,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7D,MAAM,IAAI,aAAa,CAAC,yBAAyB,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,aAAa;gBAAE,MAAM,KAAK,CAAC;QAElD,CAAC;QAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAQzD,MAAM,UAAU,GAAgB;YAC9B;gBACE,GAAG,EAAE,UAAU;gBACf,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;aACpE;SACF,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YAC5D,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CACxC,GAAG,EACH,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAChD,CAAC;YACF,UAAU,CAAC,IAAI,CAAC;gBACd,GAAG;gBACH,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;aAClE,CAAC,CAAC;QACL,CAAC;QAGD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,aAAa,CAAC,8BAA8B,IAAI,CAAC,QAAQ,EAAE,EAAE;oBACrE,IAAI,EAAE,IAAI,CAAC,WAAW;iBACvB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAID,IAAI,YAAsC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;YACvD,YAAY,GAAG,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,IAAI,aAAa,CAAC,kDAAkD,YAAY,EAAE,EAAE;gBACxF,GAAG,EAAE,UAAU;gBACf,aAAa,EAAE,KAAK;gBACpB,UAAU,EACR,+FAA+F;aAClG,CAAC,CAAC;QACL,CAAC;QAGD,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YACnC,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;gBAC7D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtF,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,SAAS,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YACjF,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QACF,IAAI,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAI1D,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAG3C,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,IAAI,CAAC;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;gBAE5B,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU;oBACvC,CAAC,CAAC,CAAC,UAAkB,EAAE,SAAiB,EAAE,EAAE;wBACxC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;4BACxC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;4BACzB,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;wBACxD,CAAC;wBACD,MAAM,mBAAmB,GAAG,cAAc,GAAG,UAAU,CAAC;wBACxD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;wBAC/D,MAAM,CAAC,UAAW,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;oBACxD,CAAC;oBACH,CAAC,CAAC,SAAS,CAAC;gBAEd,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,UAAU,EAAE,eAAe;iBAC5B,CAAC,CAAC;gBACH,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACvC,cAAc,IAAI,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxD,CAAC;YAGD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,MAAM,kBAAkB,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,WAAW,CAAC,CAAC;gBAC7E,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBACjE,IAAI,kBAAkB,KAAK,gBAAgB,EAAE,CAAC;oBAC5C,MAAM,IAAI,aAAa,CAAC,8BAA8B,EAAE;wBACtD,QAAQ,EAAE,gBAAgB;wBAC1B,MAAM,EAAE,kBAAkB;qBAC3B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;gBACvC,IAAI,CAAC;oBACH,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAC7B,CAAC;gBAAC,MAAM,CAAC;gBAET,CAAC;YACH,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;YAET,CAAC;YAED,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;gBACnC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,aAAa,CAAC,6BAA6B,EAAE;gBACrD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;QAGD,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACrD,aAAa,IAAI,QAAQ,CAAC;YAC1B,MAAM,KAAK,GAAc,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACpE,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC/B,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3E,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,SAAS,GAAc;YAC3B,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAE,CAAC,WAAW;YAChC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACtC,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM,CAAC,MAAM;gBACnB,GAAG,EAAE,UAAU;gBACf,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,UAAU;aACjB;YACD,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACvB,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBACzD,CAAC,CAAC,SAAS;YACb,iBAAiB,EAAE,sBAAsB,CAAC,eAAe,CAAC;YAC1D,YAAY;YACZ,MAAM;SACP,CAAC;QAEF,MAAM,cAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAElD,OAAO,SAAS,CAAC;IACnB,CAAC;IAKO,mBAAmB,CAAC,IAK3B;QACC,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACd,MAAM,IAAI,aAAa,CAAC,sCAAsC,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,IAAI,CAAC,GAAG,CAAC;QAClB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC7B,MAAM,IAAI,aAAa,CAAC,+DAA+D,CAAC,CAAC;YAC3F,CAAC;YACD,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,IAAI,aAAa,CAAC,4BAA4B,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;IAKO,UAAU,CAAC,QAAgB;QACjC,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAaM,KAAK,CAAC,WAAW,CAAC,EAAU;QAEjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAE9C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;IAeM,KAAK,CAAC,YAAY,CAAC,EAAU;QAElC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAE9C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAkBM,KAAK,CAAC,WAAW,CAAC,EAAU;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC1C,OAAO,cAAc,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IAUM,cAAc;QACnB,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAOM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;IACrC,CAAC;IAMO,eAAe,CAAC,IAAY;QAClC,OAAO,IAAI;aACR,WAAW,EAAE;aACb,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;aAC1B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;aACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC3B,CAAC;IAKO,eAAe,CAAC,GAAW,EAAE,gBAAyB;QAC5D,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAEzC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YAEP,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAOO,6BAA6B,CACnC,QAAiC;QAEjC,MAAM,YAAY,GAA4B,EAAE,CAAC;QAEjD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAE9B,YAAY,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAEhC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACrC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;oBACtB,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAGvD,SAAS;YACX,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAQO,qBAAqB,CAAC,KAAc;QAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,KAA2B,CAAC;IACrC,CAAC;IAQO,4BAA4B,CAAC,UAEpC;QACC,OAAO;YACL,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAuB;YAC7D,YAAY,EAAE,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAC7E,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACrE,YAAY,EAAE,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAuB;YAC/E,YAAY,EAAE,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAuB;YACvE,SAAS,EAAE,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAuB;YACzE,WAAW,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,aAAa,CAAuB;YACnF,cAAc,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,gBAAgB,CAAuB;YACzF,oBAAoB,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,sBAAsB,CAEjE;YACb,gBAAgB,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,kBAAkB,CAAuB;YAC7F,mBAAmB,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,qBAAqB,CAE/D;YACb,gCAAgC,EAAE,YAAY,CAC5C,UAAU,CAAC,QAAQ,EACnB,kCAAkC,CACb;YACvB,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAuB;YACjF,oBAAoB,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,sBAAsB,CAEjE;YACb,cAAc,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,gBAAgB,CAAuB;YACzF,GAAG,EAAE,IAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC,QAAQ,CAAC;SAC7D,CAAC;IACJ,CAAC;IA+BM,KAAK,CAAC,mBAAmB,CAC9B,EAAU,EACV,OAA4C;QAG5C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAG9C,MAAM,QAAQ,GAAG,OAAO,EAAE,MAAM,IAAI,cAAc,CAAC;QAEnD,IAAI,YAAsC,CAAC;QAG3C,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,YAAY,CAAC,CAAC,CAAC;gBAElB,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAChE,YAAY,GAAG,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;gBAC/D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACxE,MAAM,IAAI,aAAa,CAAC,iDAAiD,QAAQ,EAAE,EAAE;wBACnF,OAAO,EAAE,EAAE;wBACX,IAAI,EAAE,SAAS,CAAC,IAAI;wBACpB,UAAU,EACR,sHAAsH;qBACzH,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBAEnB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;oBAC1B,MAAM,IAAI,aAAa,CACrB,sEAAsE,EACtE;wBACE,OAAO,EAAE,EAAE;wBACX,UAAU,EACR,0EAA0E;qBAC7E,CACF,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACjE,YAAY,GAAG,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;gBAC/D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACxE,MAAM,IAAI,aAAa,CAAC,kDAAkD,QAAQ,EAAE,EAAE;wBACpF,OAAO,EAAE,EAAE;wBACX,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG;wBACzB,UAAU,EACR,uHAAuH;qBAC1H,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBAEpB,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAChE,YAAY,GAAG,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;gBAC/D,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBAEpB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;wBAC1B,MAAM,QAAQ,GAAG,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;wBACvF,MAAM,IAAI,aAAa,CACrB,6EAA6E,QAAQ,EAAE,EACvF;4BACE,OAAO,EAAE,EAAE;4BACX,IAAI,EAAE,SAAS,CAAC,IAAI;yBACrB,CACF,CAAC;oBACJ,CAAC;oBAED,IAAI,CAAC;wBACH,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACjE,YAAY,GAAG,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;oBAC/D,CAAC;oBAAC,OAAO,WAAW,EAAE,CAAC;wBAErB,MAAM,QAAQ,GAAG,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;wBACvF,MAAM,SAAS,GACb,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;wBAC3E,MAAM,IAAI,aAAa,CACrB,kEAAkE,EAClE;4BACE,OAAO,EAAE,EAAE;4BACX,UAAU,EAAE,QAAQ;4BACpB,WAAW,EAAE,SAAS;yBACvB,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBAEpB,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;oBACzB,IAAI,CAAC;wBACH,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACjE,YAAY,GAAG,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;oBAC/D,CAAC;oBAAC,OAAO,WAAW,EAAE,CAAC;wBAErB,IAAI,CAAC;4BACH,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;4BAChE,YAAY,GAAG,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;wBAC/D,CAAC;wBAAC,OAAO,UAAU,EAAE,CAAC;4BAEpB,MAAM,SAAS,GACb,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;4BAC3E,MAAM,QAAQ,GACZ,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;4BACxE,MAAM,IAAI,aAAa,CACrB,kEAAkE,EAClE;gCACE,OAAO,EAAE,EAAE;gCACX,WAAW,EAAE,SAAS;gCACtB,UAAU,EAAE,QAAQ;6BACrB,CACF,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBAEN,IAAI,CAAC;wBACH,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBAChE,YAAY,GAAG,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;oBAC/D,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBACxE,MAAM,IAAI,aAAa,CAAC,mDAAmD,QAAQ,EAAE,EAAE;4BACrF,OAAO,EAAE,EAAE;4BACX,IAAI,EAAE,SAAS,CAAC,IAAI;yBACrB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBAER,MAAM,IAAI,aAAa,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAGD,MAAM,gBAAgB,GAAc;YAClC,GAAG,SAAS;YACZ,YAAY;SACb,CAAC;QAGF,MAAM,cAAc,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAEzD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAiBM,KAAK,CAAC,kBAAkB,CAAC,EAAU;QACxC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAiBM,KAAK,CAAC,qBAAqB,CAAC,EAAU;QAC3C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAiBM,KAAK,CAAC,oBAAoB,CAAC,EAAU;QAC1C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,2BAA2B,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;CACF;AAGD,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceOrchestrator.d.ts","sourceRoot":"","sources":["../../src/managers/ResourceOrchestrator.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAMpG,MAAM,WAAW,aAAa;IAE5B,MAAM,EAAE,YAAY,CAAC;IAErB,UAAU,EAAE,OAAO,CAAC;IAEpB,OAAO,EAAE,IAAI,CAAC;CACf;AAsCD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAQ;IAErD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,aAAa,CAA8B;gBAWjD,UAAU,EAAE,UAAU,YAA2B,EACjD,WAAW,EAAE,kBAAkB,EAC/B,eAAe,EAAE,sBAAsB,EACvC,YAAY,GAAE,YAAyC;IA4BnD,0BAA0B,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;YA6DjF,oBAAoB;YA8DpB,gBAAgB;YAiEhB,sBAAsB;YAuCtB,UAAU;YAwCV,SAAS;IAiDvB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,KAAK;IAcb,eAAe,IAAI,IAAI;IAoBvB,aAAa,IAAI,aAAa,GAAG,SAAS;IAqBpC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB9B,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;CAG3C"}
1
+ {"version":3,"file":"ResourceOrchestrator.d.ts","sourceRoot":"","sources":["../../src/managers/ResourceOrchestrator.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAOpG,MAAM,WAAW,aAAa;IAE5B,MAAM,EAAE,YAAY,CAAC;IAErB,UAAU,EAAE,OAAO,CAAC;IAEpB,OAAO,EAAE,IAAI,CAAC;CACf;AAsCD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAQ;IAErD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,aAAa,CAA8B;gBAWjD,UAAU,EAAE,UAAU,YAA2B,EACjD,WAAW,EAAE,kBAAkB,EAC/B,eAAe,EAAE,sBAAsB,EACvC,YAAY,GAAE,YAAyC;IA4BnD,0BAA0B,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;YA6DjF,oBAAoB;YA8DpB,gBAAgB;YAiEhB,sBAAsB;YAuCtB,UAAU;YAwCV,SAAS;IAiDvB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,KAAK;IAcb,eAAe,IAAI,IAAI;IAoBvB,aAAa,IAAI,aAAa,GAAG,SAAS;IAqBpC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB9B,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;CAG3C"}