@enactprotocol/cli 2.1.24 → 2.1.29

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 (57) hide show
  1. package/dist/commands/index.d.ts +2 -0
  2. package/dist/commands/index.d.ts.map +1 -1
  3. package/dist/commands/index.js +4 -0
  4. package/dist/commands/index.js.map +1 -1
  5. package/dist/commands/init/templates/claude.d.ts +1 -1
  6. package/dist/commands/init/templates/claude.d.ts.map +1 -1
  7. package/dist/commands/init/templates/claude.js +268 -28
  8. package/dist/commands/init/templates/claude.js.map +1 -1
  9. package/dist/commands/init/templates/tool-agents.d.ts +1 -1
  10. package/dist/commands/init/templates/tool-agents.d.ts.map +1 -1
  11. package/dist/commands/init/templates/tool-agents.js +90 -15
  12. package/dist/commands/init/templates/tool-agents.js.map +1 -1
  13. package/dist/commands/install/index.d.ts.map +1 -1
  14. package/dist/commands/install/index.js +9 -1
  15. package/dist/commands/install/index.js.map +1 -1
  16. package/dist/commands/learn/index.d.ts.map +1 -1
  17. package/dist/commands/learn/index.js +4 -11
  18. package/dist/commands/learn/index.js.map +1 -1
  19. package/dist/commands/mcp/index.d.ts.map +1 -1
  20. package/dist/commands/mcp/index.js +204 -53
  21. package/dist/commands/mcp/index.js.map +1 -1
  22. package/dist/commands/run/index.d.ts.map +1 -1
  23. package/dist/commands/run/index.js +380 -39
  24. package/dist/commands/run/index.js.map +1 -1
  25. package/dist/commands/validate/index.d.ts +11 -0
  26. package/dist/commands/validate/index.d.ts.map +1 -0
  27. package/dist/commands/validate/index.js +299 -0
  28. package/dist/commands/validate/index.js.map +1 -0
  29. package/dist/index.d.ts +1 -1
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +6 -2
  32. package/dist/index.js.map +1 -1
  33. package/dist/types.d.ts +2 -0
  34. package/dist/types.d.ts.map +1 -1
  35. package/dist/types.js.map +1 -1
  36. package/dist/utils/errors.d.ts +8 -1
  37. package/dist/utils/errors.d.ts.map +1 -1
  38. package/dist/utils/errors.js +13 -2
  39. package/dist/utils/errors.js.map +1 -1
  40. package/package.json +5 -5
  41. package/src/commands/index.ts +5 -0
  42. package/src/commands/init/templates/claude.ts +268 -28
  43. package/src/commands/init/templates/tool-agents.ts +90 -15
  44. package/src/commands/install/index.ts +11 -0
  45. package/src/commands/learn/index.ts +6 -11
  46. package/src/commands/mcp/index.ts +768 -0
  47. package/src/commands/run/README.md +68 -1
  48. package/src/commands/run/index.ts +475 -35
  49. package/src/commands/validate/index.ts +344 -0
  50. package/src/index.ts +8 -1
  51. package/src/types.ts +2 -0
  52. package/src/utils/errors.ts +26 -6
  53. package/tests/commands/init.test.ts +2 -2
  54. package/tests/commands/run.test.ts +260 -0
  55. package/tests/commands/validate.test.ts +81 -0
  56. package/tests/utils/errors.test.ts +36 -0
  57. package/tsconfig.tsbuildinfo +1 -1
@@ -8,14 +8,15 @@
8
8
  * 2. If not found and --local not set, fetch from registry to cache
9
9
  * 3. Run from resolved location (never copies to installed tools)
10
10
  */
11
- import { mkdirSync, unlinkSync, writeFileSync } from "node:fs";
12
- import { dirname, join } from "node:path";
11
+ import { cpSync, existsSync, mkdirSync, mkdtempSync, readdirSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync, } from "node:fs";
12
+ import { tmpdir } from "node:os";
13
+ import { basename, dirname, join, resolve } from "node:path";
13
14
  import * as clack from "@clack/prompts";
14
15
  import { createApiClient, downloadBundle, getAttestationList, getToolInfo, getToolVersion, verifyAllAttestations, } from "@enactprotocol/api";
15
16
  import { DaggerExecutionProvider } from "@enactprotocol/execution";
16
17
  import { resolveSecrets, resolveToolEnv } from "@enactprotocol/secrets";
17
- import { applyDefaults, getCacheDir, getMinimumAttestations, getTrustPolicy, getTrustedAuditors, loadConfig, prepareCommand, toolNameToPath, tryResolveTool, validateInputs, } from "@enactprotocol/shared";
18
- import { EXIT_EXECUTION_ERROR, ToolNotFoundError, TrustError, ValidationError, colors, confirm, dim, error, formatError, handleError, info, json, keyValue, newline, success, symbols, withSpinner, } from "../../utils";
18
+ import { applyDefaults, getCacheDir, getMinimumAttestations, getTrustPolicy, getTrustedAuditors, loadConfig, prepareCommand, toolNameToPath, tryResolveTool, tryResolveToolDetailed, validateInputs, } from "@enactprotocol/shared";
19
+ import { EXIT_EXECUTION_ERROR, ManifestError, ToolNotFoundError, TrustError, ValidationError, colors, confirm, dim, error, formatError, handleError, info, json, keyValue, newline, success, symbols, withSpinner, } from "../../utils";
19
20
  /**
20
21
  * Parse input arguments from various formats
21
22
  *
@@ -82,6 +83,121 @@ function parseInputArgs(argsJson, inputFile, inputFlags) {
82
83
  }
83
84
  return inputs;
84
85
  }
86
+ /**
87
+ * Parse --input flags to separate key=value parameters from directory/file paths
88
+ *
89
+ * The --input flag is overloaded to handle both:
90
+ * 1. Key=value parameters: --input name=Alice --input count=5
91
+ * 2. Directory/file paths: --input ./data --input left=./old
92
+ *
93
+ * Detection logic:
94
+ * - If value contains '=' and doesn't start with './' or '/' → key=value param
95
+ * - If value is a path (starts with ./, ../, /) → input path
96
+ * - If value exists as a path on disk → input path
97
+ * - Named input: name=./path where path exists → named input
98
+ */
99
+ function parseInputPaths(inputs) {
100
+ if (!inputs)
101
+ return { params: {}, inputPaths: [] };
102
+ const params = {};
103
+ const inputPaths = [];
104
+ for (const input of inputs) {
105
+ const eqIndex = input.indexOf("=");
106
+ // Check if it's a path (no = or starts with path chars)
107
+ const looksLikePath = input.startsWith("./") ||
108
+ input.startsWith("../") ||
109
+ input.startsWith("/") ||
110
+ (eqIndex === -1 && existsSync(input));
111
+ if (looksLikePath) {
112
+ // Simple path: --input ./data
113
+ const absolutePath = resolve(input);
114
+ if (!existsSync(absolutePath)) {
115
+ throw new Error(`Input path does not exist: ${input}`);
116
+ }
117
+ const stat = statSync(absolutePath);
118
+ inputPaths.push({
119
+ path: absolutePath,
120
+ type: stat.isDirectory() ? "directory" : "file",
121
+ });
122
+ }
123
+ else if (eqIndex > 0) {
124
+ const key = input.slice(0, eqIndex);
125
+ const value = input.slice(eqIndex + 1);
126
+ // Check if value is a path (named input like left=./old)
127
+ const valueLooksLikePath = value.startsWith("./") ||
128
+ value.startsWith("../") ||
129
+ value.startsWith("/") ||
130
+ existsSync(value);
131
+ if (valueLooksLikePath && existsSync(value)) {
132
+ // Named input path: --input left=./old
133
+ const absolutePath = resolve(value);
134
+ const stat = statSync(absolutePath);
135
+ inputPaths.push({
136
+ path: absolutePath,
137
+ type: stat.isDirectory() ? "directory" : "file",
138
+ name: key,
139
+ });
140
+ }
141
+ else {
142
+ // Key=value parameter: --input name=Alice
143
+ try {
144
+ params[key] = JSON.parse(value);
145
+ }
146
+ catch {
147
+ params[key] = value;
148
+ }
149
+ }
150
+ }
151
+ else {
152
+ // No = sign and doesn't exist as path - treat as error
153
+ throw new Error(`Invalid input: "${input}". Expected key=value or a valid path.`);
154
+ }
155
+ }
156
+ return { params, inputPaths };
157
+ }
158
+ /**
159
+ * Atomically replace directory contents with new contents
160
+ *
161
+ * Process:
162
+ * 1. Create backup of original directory
163
+ * 2. Copy new contents to original location
164
+ * 3. Remove backup on success, or restore on failure
165
+ *
166
+ * @param targetDir - Directory to replace contents of
167
+ * @param sourceDir - Directory containing new contents
168
+ */
169
+ function atomicReplace(targetDir, sourceDir) {
170
+ const backupDir = `${targetDir}.backup-${Date.now()}`;
171
+ try {
172
+ // Step 1: Backup original
173
+ if (existsSync(targetDir)) {
174
+ renameSync(targetDir, backupDir);
175
+ }
176
+ // Step 2: Move new contents to target
177
+ // We copy instead of rename because source might be on different filesystem (temp)
178
+ mkdirSync(targetDir, { recursive: true });
179
+ const entries = readdirSync(sourceDir, { withFileTypes: true });
180
+ for (const entry of entries) {
181
+ const srcPath = join(sourceDir, entry.name);
182
+ const destPath = join(targetDir, entry.name);
183
+ cpSync(srcPath, destPath, { recursive: true });
184
+ }
185
+ // Step 3: Remove backup on success
186
+ if (existsSync(backupDir)) {
187
+ rmSync(backupDir, { recursive: true, force: true });
188
+ }
189
+ }
190
+ catch (err) {
191
+ // Restore backup on failure
192
+ if (existsSync(backupDir)) {
193
+ if (existsSync(targetDir)) {
194
+ rmSync(targetDir, { recursive: true, force: true });
195
+ }
196
+ renameSync(backupDir, targetDir);
197
+ }
198
+ throw err;
199
+ }
200
+ }
85
201
  /**
86
202
  * Extract a bundle to the cache directory
87
203
  */
@@ -295,7 +411,7 @@ async function fetchAndCacheTool(toolSpec, options, ctx) {
295
411
  /**
296
412
  * Display dry run information
297
413
  */
298
- function displayDryRun(manifest, inputs, command, env) {
414
+ function displayDryRun(manifest, inputs, command, env, inputPaths, outputPath, apply) {
299
415
  newline();
300
416
  info(colors.bold("Dry Run Preview"));
301
417
  newline();
@@ -304,7 +420,7 @@ function displayDryRun(manifest, inputs, command, env) {
304
420
  keyValue("Container", manifest.from ?? "alpine:latest");
305
421
  newline();
306
422
  if (Object.keys(inputs).length > 0) {
307
- info("Inputs:");
423
+ info("Parameters:");
308
424
  for (const [key, value] of Object.entries(inputs)) {
309
425
  dim(` ${key}: ${JSON.stringify(value)}`);
310
426
  }
@@ -317,10 +433,92 @@ function displayDryRun(manifest, inputs, command, env) {
317
433
  }
318
434
  newline();
319
435
  }
436
+ if (inputPaths.length > 0) {
437
+ info("Input:");
438
+ for (const input of inputPaths) {
439
+ const target = input.name
440
+ ? `/inputs/${input.name}`
441
+ : input.type === "file"
442
+ ? `/input/${basename(input.path)}`
443
+ : "/input";
444
+ dim(` ${input.path} → ${target} (${input.type})`);
445
+ }
446
+ newline();
447
+ }
448
+ if (outputPath) {
449
+ info("Output:");
450
+ dim(` /output → ${outputPath}`);
451
+ if (apply) {
452
+ dim(` ${colors.warning("(--apply)")} Changes will be atomically applied to ${outputPath}`);
453
+ }
454
+ newline();
455
+ }
320
456
  info("Command:");
321
457
  dim(` ${command.join(" ")}`);
322
458
  newline();
323
459
  }
460
+ /**
461
+ * Display debug information about parameter resolution
462
+ */
463
+ function displayDebugInfo(manifest, rawInputs, inputsWithDefaults, finalInputs, env, command) {
464
+ newline();
465
+ info(colors.bold("Debug: Parameter Resolution"));
466
+ newline();
467
+ // Show schema information
468
+ if (manifest.inputSchema?.properties) {
469
+ info("Schema Properties:");
470
+ const required = new Set(manifest.inputSchema.required || []);
471
+ for (const [name, prop] of Object.entries(manifest.inputSchema.properties)) {
472
+ const propSchema = prop;
473
+ const isRequired = required.has(name);
474
+ const hasDefault = propSchema.default !== undefined;
475
+ const status = isRequired ? colors.error("required") : colors.dim("optional");
476
+ dim(` ${name}: ${propSchema.type || "any"} [${status}]${hasDefault ? ` (default: ${JSON.stringify(propSchema.default)})` : ""}`);
477
+ }
478
+ newline();
479
+ }
480
+ // Show raw inputs (what was provided)
481
+ info("Raw Inputs (provided by user):");
482
+ if (Object.keys(rawInputs).length === 0) {
483
+ dim(" (none)");
484
+ }
485
+ else {
486
+ for (const [key, value] of Object.entries(rawInputs)) {
487
+ dim(` ${key}: ${JSON.stringify(value)}`);
488
+ }
489
+ }
490
+ newline();
491
+ // Show inputs after defaults applied
492
+ info("After Defaults Applied:");
493
+ for (const [key, value] of Object.entries(inputsWithDefaults)) {
494
+ const wasDefault = rawInputs[key] === undefined;
495
+ dim(` ${key}: ${JSON.stringify(value)}${wasDefault ? colors.dim(" (default)") : ""}`);
496
+ }
497
+ newline();
498
+ // Show final inputs (after coercion)
499
+ info("Final Inputs (after validation/coercion):");
500
+ for (const [key, value] of Object.entries(finalInputs)) {
501
+ dim(` ${key}: ${JSON.stringify(value)}`);
502
+ }
503
+ newline();
504
+ // Show environment variables
505
+ if (Object.keys(env).length > 0) {
506
+ info("Environment Variables:");
507
+ for (const [key, value] of Object.entries(env)) {
508
+ // Mask potentially sensitive values
509
+ const isSensitive = key.toLowerCase().includes("secret") ||
510
+ key.toLowerCase().includes("key") ||
511
+ key.toLowerCase().includes("token") ||
512
+ key.toLowerCase().includes("password");
513
+ dim(` ${key}=${isSensitive ? "***" : value}`);
514
+ }
515
+ newline();
516
+ }
517
+ // Show final command
518
+ info("Final Command:");
519
+ dim(` ${command.join(" ")}`);
520
+ newline();
521
+ }
324
522
  /**
325
523
  * Display execution result
326
524
  */
@@ -349,14 +547,28 @@ function displayResult(result, options) {
349
547
  }
350
548
  else {
351
549
  error(`Execution failed: ${result.error?.message ?? "Unknown error"}`);
352
- if (result.error?.details) {
550
+ // Show stdout if present (useful for debugging - command may have printed before failing)
551
+ if (result.output?.stdout?.trim()) {
353
552
  newline();
354
- dim(JSON.stringify(result.error.details, null, 2));
553
+ info("stdout:");
554
+ console.log(result.output.stdout);
355
555
  }
356
- if (result.output?.stderr) {
556
+ // Show stderr (the actual error output)
557
+ if (result.output?.stderr?.trim()) {
357
558
  newline();
358
- dim("stderr:");
359
- dim(result.output.stderr);
559
+ error("stderr:");
560
+ console.log(result.output.stderr);
561
+ }
562
+ // Show additional error details if present (and different from stderr)
563
+ if (result.error?.details) {
564
+ const detailsStr = JSON.stringify(result.error.details, null, 2);
565
+ // Only show if it adds new information (not just duplicating stderr)
566
+ const stderrInDetails = result.error.details.stderr;
567
+ if (!stderrInDetails || stderrInDetails !== result.output?.stderr) {
568
+ newline();
569
+ dim("Additional details:");
570
+ dim(detailsStr);
571
+ }
360
572
  }
361
573
  }
362
574
  }
@@ -365,25 +577,42 @@ function displayResult(result, options) {
365
577
  */
366
578
  async function runHandler(tool, options, ctx) {
367
579
  let resolution = null;
368
- // First, try to resolve locally (project → user → cache)
369
- if (!options.verbose) {
370
- resolution = tryResolveTool(tool, { startDir: ctx.cwd });
371
- }
372
- else {
373
- const spinner = clack.spinner();
374
- spinner.start(`Resolving tool: ${tool}`);
375
- resolution = tryResolveTool(tool, { startDir: ctx.cwd });
376
- if (resolution) {
377
- spinner.stop(`${symbols.success} Resolved: ${tool}`);
580
+ let resolveResult = null;
581
+ // Check if --remote flag is valid (requires namespace/name format)
582
+ const isRegistryFormat = tool.includes("/") && !tool.startsWith("/") && !tool.startsWith(".");
583
+ if (options.remote && !isRegistryFormat) {
584
+ throw new ValidationError(`--remote requires a registry tool name (e.g., user/tool), got: ${tool}`);
585
+ }
586
+ // Skip local resolution if --remote is set
587
+ if (!options.remote) {
588
+ // First, try to resolve locally (project → user → cache)
589
+ if (!options.verbose) {
590
+ resolveResult = tryResolveToolDetailed(tool, { startDir: ctx.cwd });
591
+ resolution = resolveResult.resolution;
378
592
  }
379
593
  else {
380
- spinner.stop(`${symbols.info} Checking registry...`);
594
+ const spinner = clack.spinner();
595
+ spinner.start(`Resolving tool: ${tool}`);
596
+ resolveResult = tryResolveToolDetailed(tool, { startDir: ctx.cwd });
597
+ resolution = resolveResult.resolution;
598
+ if (resolution) {
599
+ spinner.stop(`${symbols.success} Resolved: ${tool}`);
600
+ }
601
+ else {
602
+ spinner.stop(`${symbols.info} Checking registry...`);
603
+ }
604
+ }
605
+ // If manifest was found but had errors, throw a descriptive error immediately
606
+ if (!resolution && resolveResult?.manifestFound && resolveResult?.error) {
607
+ const errorMessage = resolveResult.error.message;
608
+ const manifestPath = resolveResult.manifestPath;
609
+ throw new ManifestError(`Invalid manifest${manifestPath ? ` at ${manifestPath}` : ""}: ${errorMessage}`);
381
610
  }
382
611
  }
383
612
  // If not found locally and --local flag not set, try fetching from registry
384
613
  if (!resolution && !options.local) {
385
614
  // Check if this looks like a tool name (namespace/name format)
386
- if (tool.includes("/") && !tool.startsWith("/") && !tool.startsWith(".")) {
615
+ if (isRegistryFormat) {
387
616
  resolution = !options.verbose
388
617
  ? await fetchAndCacheTool(tool, options, ctx)
389
618
  : await withSpinner(`Fetching ${tool} from registry...`, async () => fetchAndCacheTool(tool, options, ctx), `${symbols.success} Cached: ${tool}`);
@@ -391,13 +620,26 @@ async function runHandler(tool, options, ctx) {
391
620
  }
392
621
  if (!resolution) {
393
622
  if (options.local) {
394
- throw new ToolNotFoundError(`${tool} (--local flag set, skipped registry)`);
623
+ throw new ToolNotFoundError(tool, {
624
+ localOnly: true,
625
+ ...(resolveResult?.searchedLocations && {
626
+ searchedLocations: resolveResult.searchedLocations,
627
+ }),
628
+ });
395
629
  }
396
- throw new ToolNotFoundError(tool);
630
+ throw new ToolNotFoundError(tool, {
631
+ ...(resolveResult?.searchedLocations && {
632
+ searchedLocations: resolveResult.searchedLocations,
633
+ }),
634
+ });
397
635
  }
398
636
  const manifest = resolution.manifest;
399
- // Parse inputs
400
- const inputs = parseInputArgs(options.args, options.inputFile, options.input);
637
+ // Parse --input flags to separate key=value params from path inputs
638
+ const { params: pathParams, inputPaths } = parseInputPaths(options.input);
639
+ // Parse other input sources (--args, --input-file)
640
+ const otherInputs = parseInputArgs(options.args, options.inputFile, undefined);
641
+ // Merge inputs: path params override other inputs
642
+ const inputs = { ...otherInputs, ...pathParams };
401
643
  // Apply defaults from schema
402
644
  const inputsWithDefaults = manifest.inputSchema
403
645
  ? applyDefaults(inputs, manifest.inputSchema)
@@ -410,6 +652,36 @@ async function runHandler(tool, options, ctx) {
410
652
  }
411
653
  // Use coerced values from validation (or inputs with defaults)
412
654
  const finalInputs = validation.coercedValues ?? inputsWithDefaults;
655
+ // Validate output path if provided
656
+ if (options.output) {
657
+ const outputDir = dirname(resolve(options.output));
658
+ if (!existsSync(outputDir)) {
659
+ mkdirSync(outputDir, { recursive: true });
660
+ }
661
+ }
662
+ // Validate --apply flag requirements
663
+ // --apply requires exactly one input directory and output path
664
+ let applyInputPath;
665
+ if (options.apply) {
666
+ // Must have exactly one directory input
667
+ const dirInputs = inputPaths.filter((p) => p.type === "directory" && !p.name);
668
+ if (dirInputs.length !== 1) {
669
+ throw new ValidationError("--apply requires exactly one unnamed directory input (e.g., --input ./src)");
670
+ }
671
+ applyInputPath = dirInputs[0]?.path;
672
+ // Must have output path
673
+ if (!options.output) {
674
+ throw new ValidationError("--apply requires --output to be specified");
675
+ }
676
+ // Output should point to same location as input for in-place apply
677
+ const resolvedOutput = resolve(options.output);
678
+ if (applyInputPath && resolvedOutput !== applyInputPath) {
679
+ // Warn but allow - user might want to apply to a different location
680
+ if (options.verbose) {
681
+ dim(`Note: --apply with different input/output paths will copy results to ${resolvedOutput}`);
682
+ }
683
+ }
684
+ }
413
685
  // Check if this is an instruction-based tool (no command)
414
686
  if (!manifest.command) {
415
687
  // For instruction tools, just display the markdown body
@@ -474,9 +746,35 @@ async function runHandler(tool, options, ctx) {
474
746
  }
475
747
  }
476
748
  }
749
+ // Build mount configuration
750
+ // Tool source directory is mounted to /workspace
751
+ const mountDirs = {
752
+ [resolution.sourceDir]: "/workspace",
753
+ };
754
+ // Add input paths to mount configuration
755
+ for (const input of inputPaths) {
756
+ if (input.name) {
757
+ // Named input: --input left=./old → /inputs/left
758
+ mountDirs[input.path] = `/inputs/${input.name}`;
759
+ }
760
+ else if (input.type === "file") {
761
+ // Single file: mount parent dir and we'll use withFile in provider
762
+ // For now, mount as /input/<filename>
763
+ // Note: Dagger's withFile is better but requires provider changes
764
+ mountDirs[input.path] = `/input/${basename(input.path)}`;
765
+ }
766
+ else {
767
+ // Single directory: --input ./data → /input
768
+ mountDirs[input.path] = "/input";
769
+ }
770
+ }
771
+ // Debug mode - show detailed parameter resolution info
772
+ if (options.debug) {
773
+ displayDebugInfo(manifest, inputs, inputsWithDefaults, finalInputs, envVars, command);
774
+ }
477
775
  // Dry run mode
478
776
  if (options.dryRun) {
479
- displayDryRun(manifest, finalInputs, command, envVars);
777
+ displayDryRun(manifest, finalInputs, command, envVars, inputPaths, options.output, options.apply);
480
778
  return;
481
779
  }
482
780
  // Execute the tool
@@ -488,17 +786,30 @@ async function runHandler(tool, options, ctx) {
488
786
  providerConfig.verbose = true;
489
787
  }
490
788
  const provider = new DaggerExecutionProvider(providerConfig);
789
+ // For --apply, we export to a temp directory first, then atomically replace
790
+ let tempOutputDir;
791
+ if (options.apply && options.output) {
792
+ tempOutputDir = mkdtempSync(join(tmpdir(), "enact-apply-"));
793
+ }
491
794
  try {
492
795
  await provider.initialize();
493
- const executeTask = () => provider.execute(manifest, {
494
- params: finalInputs,
495
- envOverrides: envVars,
496
- }, {
497
- // Mount the tool directory to /work in the container
498
- mountDirs: {
499
- [resolution.sourceDir]: "/work",
500
- },
501
- });
796
+ const executeTask = () => {
797
+ const execOptions = {
798
+ mountDirs,
799
+ inputPaths,
800
+ };
801
+ // When using --apply, export to temp dir first
802
+ if (tempOutputDir) {
803
+ execOptions.outputPath = tempOutputDir;
804
+ }
805
+ else if (options.output) {
806
+ execOptions.outputPath = resolve(options.output);
807
+ }
808
+ return provider.execute(manifest, {
809
+ params: finalInputs,
810
+ envOverrides: envVars,
811
+ }, execOptions);
812
+ };
502
813
  // Build a descriptive message - container may need to be pulled
503
814
  const containerImage = manifest.from ?? "node:18-alpine";
504
815
  const spinnerMessage = `Running ${manifest.name} (${containerImage})...`;
@@ -509,9 +820,35 @@ async function runHandler(tool, options, ctx) {
509
820
  if (!result.success) {
510
821
  process.exit(EXIT_EXECUTION_ERROR);
511
822
  }
823
+ // Apply atomically if --apply was used and execution succeeded
824
+ if (options.apply && tempOutputDir && options.output) {
825
+ const targetPath = resolve(options.output);
826
+ if (options.verbose) {
827
+ info(`Applying changes atomically to ${targetPath}...`);
828
+ }
829
+ try {
830
+ atomicReplace(targetPath, tempOutputDir);
831
+ if (options.verbose) {
832
+ success(`Changes applied to ${targetPath}`);
833
+ }
834
+ }
835
+ catch (applyErr) {
836
+ error(`Failed to apply changes: ${formatError(applyErr)}`);
837
+ dim("Original directory preserved. Changes available in temp directory.");
838
+ throw applyErr;
839
+ }
840
+ }
512
841
  }
513
842
  finally {
514
- // Provider doesn't have cleanup - Dagger handles this
843
+ // Clean up temp directory if it exists
844
+ if (tempOutputDir && existsSync(tempOutputDir)) {
845
+ try {
846
+ rmSync(tempOutputDir, { recursive: true, force: true });
847
+ }
848
+ catch {
849
+ // Ignore cleanup errors
850
+ }
851
+ }
515
852
  }
516
853
  }
517
854
  /**
@@ -543,11 +880,15 @@ export function configureRunCommand(program) {
543
880
  .argument("<tool>", "Tool to run (name, path, or '.' for current directory)")
544
881
  .option("-a, --args <json>", "Input arguments as JSON string (recommended)")
545
882
  .option("-f, --input-file <path>", "Load input arguments from JSON file")
546
- .option("-i, --input <key=value...>", "Input arguments as key=value pairs (simple values only)")
883
+ .option("-i, --input <value...>", "Input: key=value params, ./path for data, or name=./path for named inputs")
884
+ .option("-o, --output <path>", "Export /output directory to this path after execution")
885
+ .option("--apply", "Apply output back to input directory atomically (use with --input and --output pointing to same path)")
547
886
  .option("-t, --timeout <duration>", "Execution timeout (e.g., 30s, 5m)")
548
887
  .option("--no-cache", "Disable container caching")
549
888
  .option("--local", "Only resolve from local sources")
889
+ .option("-r, --remote", "Skip local resolution and fetch from registry")
550
890
  .option("--dry-run", "Show what would be executed without running")
891
+ .option("--debug", "Show detailed parameter and environment variable resolution")
551
892
  .option("-v, --verbose", "Show progress spinners and detailed output")
552
893
  .option("--json", "Output result as JSON")
553
894
  .action(async (tool, options) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/run/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/run/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,MAAM,EACN,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,UAAU,EACV,MAAM,EACN,QAAQ,EACR,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAEL,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAwB,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAGL,aAAa,EACb,WAAW,EACX,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,MAAM,EACN,OAAO,EACP,GAAG,EACH,KAAK,EACL,WAAW,EACX,WAAW,EACX,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,OAAO,EACP,OAAO,EACP,WAAW,GACZ,MAAM,aAAa,CAAC;AAgBrB;;;;;;;;;GASG;AACH,SAAS,cAAc,CACrB,QAA4B,EAC5B,SAA6B,EAC7B,UAAgC;IAEhC,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,iEAAiE;IACjE,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YACxD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAEpC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBAC3E,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,uBAAuB,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YAEvC,0CAA0C;YAC1C,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAcD;;;;;;;;;;;;GAYG;AACH,SAAS,eAAe,CAAC,MAA4B;IAInD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAEnD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAsB,EAAE,CAAC;IAEzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEnC,wDAAwD;QACxD,MAAM,aAAa,GACjB,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;YACtB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;YACvB,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YACrB,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAExC,IAAI,aAAa,EAAE,CAAC;YAClB,8BAA8B;YAC9B,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;YACpC,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;aAChD,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YAEvC,yDAAyD;YACzD,MAAM,kBAAkB,GACtB,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;gBACvB,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;gBACrB,UAAU,CAAC,KAAK,CAAC,CAAC;YAEpB,IAAI,kBAAkB,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,uCAAuC;gBACvC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;gBACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACpC,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;oBAC/C,IAAI,EAAE,GAAG;iBACV,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,0CAA0C;gBAC1C,IAAI,CAAC;oBACH,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAClC,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,uDAAuD;YACvD,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,wCAAwC,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,aAAa,CAAC,SAAiB,EAAE,SAAiB;IACzD,MAAM,SAAS,GAAG,GAAG,SAAS,WAAW,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAEtD,IAAI,CAAC;QACH,0BAA0B;QAC1B,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACnC,CAAC;QAED,sCAAsC;QACtC,mFAAmF;QACnF,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,mCAAmC;QACnC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,4BAA4B;QAC5B,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAC3B,UAAuB,EACvB,QAAgB,EAChB,OAAe;IAEf,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAE7E,yCAAyC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC/D,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjD,+BAA+B;IAC/B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3C,4BAA4B;IAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE;QAClE,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;KACf,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;IAEnC,qBAAqB;IACrB,IAAI,CAAC;QACH,UAAU,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;IAED,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,uCAAuC;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAChD,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACd,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,gCAAgC;SACvE,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,iBAAiB,CAC9B,QAAgB,EAChB,OAAmB,EACnB,GAAmB;IAEnB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAE9E,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,WAAW,GACf,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAC9B,MAAM,CAAC,QAAQ,EAAE,GAAG;QACpB,uDAAuD,CAAC;IAE1D,+FAA+F;IAC/F,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC3D,IAAI,SAAS,GAAuB,CAAC,MAAM,aAAa,EAAE,CAAC,IAAI,SAAS,CAAC;IACzE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACzE,CAAC;IACD,0DAA0D;IAC1D,IAAI,CAAC,SAAS,IAAI,WAAW,CAAC,QAAQ,CAAC,kCAAkC,CAAC,EAAE,CAAC;QAC3E,SAAS;YACP,kNAAkN,CAAC;IACvN,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;IAEpE,gEAAgE;IAChE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,gBAAgB,IAAI,QAAQ,CAAC,aAAa,CAAC;IAEjE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,+BAA+B;IAC/B,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE;QACtC,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,aAAa;KACvB,CAAC,CAAC;IACH,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,sBAAsB;IACtB,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAE1E,6BAA6B;IAC7B,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU;YACxC,CAAC,CAAC,WAAW,aAAa,qBAAqB,WAAW,CAAC,UAAU,EAAE;YACvE,CAAC,CAAC,WAAW,aAAa,kBAAkB,CAAC;QAC/C,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,IAAI,WAAW,EAAE,CAAC,CAAC;QAC1C,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;YAChC,GAAG,CAAC,kBAAkB,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,uCAAuC;IACvC,2CAA2C;IAC3C,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAC;IACrD,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAE7C,mCAAmC;IACnC,MAAM,oBAAoB,GAA4B,MAAM,kBAAkB,CAC5E,MAAM,EACN,QAAQ,EACR,aAAa,CACd,CAAC;IACF,MAAM,YAAY,GAAG,oBAAoB,CAAC,YAAY,CAAC;IAEvD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,wBAAwB;QACxB,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,SAAS,QAAQ,IAAI,aAAa,uBAAuB,CAAC,CAAC;QAElF,IAAI,WAAW,KAAK,qBAAqB,EAAE,CAAC;YAC1C,MAAM,IAAI,UAAU,CAAC,wDAAwD,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,GAAG,CAAC,aAAa,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC;YACtD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC1D,MAAM,IAAI,UAAU,CAAC,sDAAsD,CAAC,CAAC;QAC/E,CAAC;QACD,uDAAuD;IACzD,CAAC;SAAM,CAAC;QACN,2EAA2E;QAC3E,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,CAClD,MAAM,EACN,QAAQ,EACR,aAAa,EACb,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAC9B,CAAC;QAEF,8EAA8E;QAC9E,MAAM,uBAAuB,GAAG,gBAAgB;aAC7C,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;aACvE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAE9C,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,kDAAkD;YAClD,IAAI,uBAAuB,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;gBACzD,IAAI,CACF,GAAG,OAAO,CAAC,OAAO,SAAS,QAAQ,IAAI,aAAa,QAAQ,uBAAuB,CAAC,MAAM,gCAAgC,mBAAmB,YAAY,CAC1J,CAAC;gBACF,GAAG,CAAC,yBAAyB,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEnE,IAAI,WAAW,KAAK,qBAAqB,EAAE,CAAC;oBAC1C,MAAM,IAAI,UAAU,CAClB,kCAAkC,mBAAmB,0CAA0C,CAChG,CAAC;gBACJ,CAAC;gBACD,IAAI,GAAG,CAAC,aAAa,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;oBAClD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,4CAA4C,CAAC,CAAC;oBAC5E,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,IAAI,CAAC,sBAAsB,CAAC,CAAC;wBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,CAAC;gBACH,CAAC;qBAAM,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;oBAC1D,MAAM,IAAI,UAAU,CAClB,0FAA0F,CAC3F,CAAC;gBACJ,CAAC;gBACD,uDAAuD;YACzD,CAAC;iBAAM,CAAC;gBACN,6CAA6C;gBAC7C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO,CACL,oBAAoB,uBAAuB,CAAC,MAAM,2BAA2B,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClH,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,kDAAkD;YAClD,IAAI,CACF,GAAG,OAAO,CAAC,OAAO,SAAS,QAAQ,IAAI,aAAa,QAAQ,gBAAgB,CAAC,MAAM,kDAAkD,CACtI,CAAC;YAEF,IAAI,WAAW,KAAK,qBAAqB,EAAE,CAAC;gBAC1C,GAAG,CAAC,0BAA0B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5D,GAAG,CAAC,qBAAqB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvF,MAAM,IAAI,UAAU,CAClB,gFAAgF,CACjF,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,aAAa,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAClD,GAAG,CAAC,gBAAgB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClF,GAAG,CAAC,0BAA0B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,IAAI,CAAC,sBAAsB,CAAC,CAAC;oBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC1D,MAAM,IAAI,UAAU,CAClB,uEAAuE,CACxE,CAAC;YACJ,CAAC;YACD,uDAAuD;QACzD,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,gCAAgC;IAChC,2CAA2C;IAC3C,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE;QAChD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,aAAa;QACtB,MAAM,EAAE,IAAI;QACZ,iBAAiB,EAAE,WAAW,CAAC,MAAM;KACtC,CAAC,CAAC;IAEH,cAAc;IACd,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI,cAAc,KAAK,YAAY,EAAE,CAAC;YACpC,MAAM,IAAI,UAAU,CAAC,mEAAmE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEtF,0BAA0B;IAC1B,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE;QAC1C,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,aAAa;KACvB,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,oCAAoC,YAAY,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CACpB,QAAsB,EACtB,MAA+B,EAC/B,OAAiB,EACjB,GAA2B,EAC3B,UAA6B,EAC7B,UAA8B,EAC9B,KAAe;IAEf,OAAO,EAAE,CAAC;IACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACrC,OAAO,EAAE,CAAC;IAEV,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,IAAI,aAAa,CAAC,CAAC;IACvD,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,IAAI,eAAe,CAAC,CAAC;IACxD,OAAO,EAAE,CAAC;IAEV,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,KAAK,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,CAAC;QACrB,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI;gBACvB,CAAC,CAAC,WAAW,KAAK,CAAC,IAAI,EAAE;gBACzB,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM;oBACrB,CAAC,CAAC,UAAU,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBAClC,CAAC,CAAC,QAAQ,CAAC;YACf,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,MAAM,MAAM,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,CAAC,CAAC;QAChB,GAAG,CAAC,eAAe,UAAU,EAAE,CAAC,CAAC;QACjC,IAAI,KAAK,EAAE,CAAC;YACV,GAAG,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,0CAA0C,UAAU,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,CAAC;IACjB,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,QAAsB,EACtB,SAAkC,EAClC,kBAA2C,EAC3C,WAAoC,EACpC,GAA2B,EAC3B,OAAiB;IAEjB,OAAO,EAAE,CAAC;IACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACjD,OAAO,EAAE,CAAC;IAEV,0BAA0B;IAC1B,IAAI,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;QACrC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC9D,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3E,MAAM,UAAU,GAAG,IAAkE,CAAC;YACtF,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,KAAK,SAAS,CAAC;YACpD,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC9E,GAAG,CACD,KAAK,IAAI,KAAK,UAAU,CAAC,IAAI,IAAI,KAAK,KAAK,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7H,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,sCAAsC;IACtC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,GAAG,CAAC,UAAU,CAAC,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,KAAK,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;IAEV,qCAAqC;IACrC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAChC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC9D,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;QAChD,GAAG,CAAC,KAAK,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,EAAE,CAAC;IAEV,qCAAqC;IACrC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IAClD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,KAAK,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,EAAE,CAAC;IAEV,6BAA6B;IAC7B,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,oCAAoC;YACpC,MAAM,WAAW,GACf,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACpC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACjC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACnC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACzC,GAAG,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,qBAAqB;IACrB,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACvB,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,MAAuB,EAAE,OAAmB;IACjE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,MAAM,CAAC,CAAC;QACb,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC1B,+CAA+C;YAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3C,wBAAwB;YACxB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC7C,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvC,OAAO,EAAE,CAAC;YACV,GAAG,CAAC,aAAa,MAAM,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAC;YACjD,GAAG,CAAC,cAAc,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,qBAAqB,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;QAEvE,0FAA0F;QAC1F,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;YAClC,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,SAAS,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QAED,wCAAwC;QACxC,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;YAClC,OAAO,EAAE,CAAC;YACV,KAAK,CAAC,SAAS,CAAC,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QAED,uEAAuE;QACvE,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACjE,qEAAqE;YACrE,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACpD,IAAI,CAAC,eAAe,IAAI,eAAe,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBAClE,OAAO,EAAE,CAAC;gBACV,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBAC3B,GAAG,CAAC,UAAU,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,OAAmB,EAAE,GAAmB;IAC9E,IAAI,UAAU,GAA0B,IAAI,CAAC;IAC7C,IAAI,aAAa,GAAqD,IAAI,CAAC;IAE3E,mEAAmE;IACnE,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9F,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxC,MAAM,IAAI,eAAe,CACvB,kEAAkE,IAAI,EAAE,CACzE,CAAC;IACJ,CAAC;IAED,2CAA2C;IAC3C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,yDAAyD;QACzD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,aAAa,GAAG,sBAAsB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACpE,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;YACzC,aAAa,GAAG,sBAAsB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACpE,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;YACtC,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,cAAc,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,uBAAuB,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,8EAA8E;QAC9E,IAAI,CAAC,UAAU,IAAI,aAAa,EAAE,aAAa,IAAI,aAAa,EAAE,KAAK,EAAE,CAAC;YACxE,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;YACjD,MAAM,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC;YAChD,MAAM,IAAI,aAAa,CACrB,mBAAmB,YAAY,CAAC,CAAC,CAAC,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,EAAE,CAChF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAClC,+DAA+D;QAC/D,IAAI,gBAAgB,EAAE,CAAC;YACrB,UAAU,GAAG,CAAC,OAAO,CAAC,OAAO;gBAC3B,CAAC,CAAC,MAAM,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC;gBAC7C,CAAC,CAAC,MAAM,WAAW,CACf,YAAY,IAAI,mBAAmB,EACnC,KAAK,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,EACjD,GAAG,OAAO,CAAC,OAAO,YAAY,IAAI,EAAE,CACrC,CAAC;QACR,CAAC;IACH,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,IAAI,iBAAiB,CAAC,IAAI,EAAE;gBAChC,SAAS,EAAE,IAAI;gBACf,GAAG,CAAC,aAAa,EAAE,iBAAiB,IAAI;oBACtC,iBAAiB,EAAE,aAAa,CAAC,iBAAiB;iBACnD,CAAC;aACH,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,iBAAiB,CAAC,IAAI,EAAE;YAChC,GAAG,CAAC,aAAa,EAAE,iBAAiB,IAAI;gBACtC,iBAAiB,EAAE,aAAa,CAAC,iBAAiB;aACnD,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IAErC,oEAAoE;IACpE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAE1E,mDAAmD;IACnD,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAE/E,kDAAkD;IAClD,MAAM,MAAM,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,UAAU,EAAE,CAAC;IAEjD,6BAA6B;IAC7B,MAAM,kBAAkB,GAAG,QAAQ,CAAC,WAAW;QAC7C,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC;QAC7C,CAAC,CAAC,MAAM,CAAC;IAEX,iCAAiC;IACjC,MAAM,UAAU,GAAG,cAAc,CAAC,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC5E,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxF,MAAM,IAAI,eAAe,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,+DAA+D;IAC/D,MAAM,WAAW,GAAG,UAAU,CAAC,aAAa,IAAI,kBAAkB,CAAC;IAEnE,mCAAmC;IACnC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,+DAA+D;IAC/D,IAAI,cAAkC,CAAC;IACvC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,wCAAwC;QACxC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,eAAe,CACvB,4EAA4E,CAC7E,CAAC;QACJ,CAAC;QACD,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;QAEpC,wBAAwB;QACxB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,eAAe,CAAC,2CAA2C,CAAC,CAAC;QACzE,CAAC;QAED,mEAAmE;QACnE,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,cAAc,IAAI,cAAc,KAAK,cAAc,EAAE,CAAC;YACxD,oEAAoE;YACpE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,GAAG,CACD,wEAAwE,cAAc,EAAE,CACzF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtB,wDAAwD;QACxD,IAAI,YAAgC,CAAC;QAErC,qCAAqC;QACrC,IAAI,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC/D,iCAAiC;YACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YACzE,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACf,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACjC,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,YAAY,GAAG,YAAY,IAAI,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,WAAW,CAAC;QAEpE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,MAAM,EAAE,WAAW;gBACnB,YAAY;aACb,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,oCAAoC;YACpC,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACnC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjC,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,QAAQ,CAAC,IAAI,gCAAgC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IAED,sFAAsF;IACtF,MAAM,eAAe,GAAG,QAAQ,CAAC,WAAW,EAAE,UAAU;QACtD,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,OAAO,GAAG,cAAc,CAC5B,QAAQ,CAAC,OAAO,EAChB,WAAW,EACX,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAC3C,CAAC;IAEF,8CAA8C;IAC9C,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9E,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,kBAAkB;IAClB,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC;SAC1D,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;SAC5B,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC;QACnF,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAE1E,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC1C,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,iDAAiD;IACjD,MAAM,SAAS,GAA2B;QACxC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,YAAY;KACrC,CAAC;IAEF,yCAAyC;IACzC,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,iDAAiD;YACjD,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,KAAK,CAAC,IAAI,EAAE,CAAC;QAClD,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACjC,mEAAmE;YACnE,sCAAsC;YACtC,kEAAkE;YAClE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,4CAA4C;YAC5C,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;QACnC,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxF,CAAC;IAED,eAAe;IACf,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,aAAa,CACX,QAAQ,EACR,WAAW,EACX,OAAO,EACP,OAAO,EACP,UAAU,EACV,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,KAAK,CACd,CAAC;QACF,OAAO;IACT,CAAC;IAED,mBAAmB;IACnB,MAAM,cAAc,GAAmD,EAAE,CAAC;IAC1E,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,cAAc,CAAC,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,uBAAuB,CAAC,cAAc,CAAC,CAAC;IAE7D,4EAA4E;IAC5E,IAAI,aAAiC,CAAC;IACtC,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACpC,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;QAE5B,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,MAAM,WAAW,GAIb;gBACF,SAAS;gBACT,UAAU;aACX,CAAC;YAEF,+CAA+C;YAC/C,IAAI,aAAa,EAAE,CAAC;gBAClB,WAAW,CAAC,UAAU,GAAG,aAAa,CAAC;YACzC,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC1B,WAAW,CAAC,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnD,CAAC;YAED,OAAO,QAAQ,CAAC,OAAO,CACrB,QAAQ,EACR;gBACE,MAAM,EAAE,WAAW;gBACnB,YAAY,EAAE,OAAO;aACtB,EACD,WAAW,CACZ,CAAC;QACJ,CAAC,CAAC;QAEF,gEAAgE;QAChE,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,IAAI,gBAAgB,CAAC;QACzD,MAAM,cAAc,GAAG,WAAW,QAAQ,CAAC,IAAI,KAAK,cAAc,MAAM,CAAC;QAEzE,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO;YAC7B,CAAC,CAAC,MAAM,WAAW,EAAE;YACrB,CAAC,CAAC,MAAM,WAAW,CAAC,cAAc,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO,qBAAqB,CAAC,CAAC;QAE5F,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE/B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACrC,CAAC;QAED,+DAA+D;QAC/D,IAAI,OAAO,CAAC,KAAK,IAAI,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACrD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAE3C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,IAAI,CAAC,kCAAkC,UAAU,KAAK,CAAC,CAAC;YAC1D,CAAC;YAED,IAAI,CAAC;gBACH,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;gBACzC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;YAAC,OAAO,QAAQ,EAAE,CAAC;gBAClB,KAAK,CAAC,4BAA4B,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,oEAAoE,CAAC,CAAC;gBAC1E,MAAM,QAAQ,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,uCAAuC;QACvC,IAAI,aAAa,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACH,MAAM,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,yCAAyC,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IAE7B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,GAAG;YACN,OAAO,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAChC,KAAK,GAAG;YACN,OAAO,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC;QAC3B;YACE,OAAO,KAAK,GAAG,IAAI,CAAC;IACxB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,kDAAkD,CAAC;SAC/D,QAAQ,CAAC,QAAQ,EAAE,wDAAwD,CAAC;SAC5E,MAAM,CAAC,mBAAmB,EAAE,8CAA8C,CAAC;SAC3E,MAAM,CAAC,yBAAyB,EAAE,qCAAqC,CAAC;SACxE,MAAM,CACL,wBAAwB,EACxB,2EAA2E,CAC5E;SACA,MAAM,CAAC,qBAAqB,EAAE,uDAAuD,CAAC;SACtF,MAAM,CACL,SAAS,EACT,uGAAuG,CACxG;SACA,MAAM,CAAC,0BAA0B,EAAE,mCAAmC,CAAC;SACvE,MAAM,CAAC,YAAY,EAAE,2BAA2B,CAAC;SACjD,MAAM,CAAC,SAAS,EAAE,iCAAiC,CAAC;SACpD,MAAM,CAAC,cAAc,EAAE,+CAA+C,CAAC;SACvE,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CAAC,SAAS,EAAE,6DAA6D,CAAC;SAChF,MAAM,CAAC,eAAe,EAAE,4CAA4C,CAAC;SACrE,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;SACzC,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAAmB,EAAE,EAAE;QAClD,MAAM,GAAG,GAAmB;YAC1B,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,OAAO;YACP,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK;SAC7C,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACpE,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}