lacuna-cli 0.2.2 → 0.2.4

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.
@@ -49,29 +49,41 @@ async function loadCompilerOptions(tsconfigPath, cwd, seen = new Set()) {
49
49
  }
50
50
  return { ...base, ...(cfg.compilerOptions ?? {}) };
51
51
  }
52
- // Effective noImplicitAny for the tsconfig nearest to `absFilePath` (walking up to cwd),
53
- // following `extends`. strict:true implies it unless explicitly overridden. Defaults to true
54
- // (i.e. "enforced", so we never hide real errors) when no governing config can be resolved.
55
- async function noImplicitAnyEnabled(absFilePath, cwd) {
52
+ // Walk up from a file's directory to the nearest tsconfig.json, stopping at cwd. Returns
53
+ // the absolute path, or null if none is found between the file and cwd (inclusive). In a
54
+ // monorepo this resolves the PACKAGE config (e.g. packages/business-web/tsconfig.json) that
55
+ // actually defines the file's `paths`, `jsx`, and `moduleResolution` — not the bare root.
56
+ async function findNearestTsconfig(absFilePath, cwd) {
56
57
  let dir = dirname(absFilePath);
57
- let nearest = null;
58
58
  while (true) {
59
59
  const candidate = join(dir, 'tsconfig.json');
60
- if (await pathExists(candidate)) {
61
- nearest = candidate;
62
- break;
63
- }
60
+ if (await pathExists(candidate))
61
+ return candidate;
64
62
  if (dir === cwd || dir === dirname(dir))
65
63
  break;
66
64
  dir = dirname(dir);
67
65
  }
68
- if (!nearest || !(await pathExists(nearest)))
66
+ return null;
67
+ }
68
+ // Effective noImplicitAny for the tsconfig nearest to `absFilePath`, following `extends`.
69
+ // strict:true implies it unless explicitly overridden. Defaults to true (i.e. "enforced",
70
+ // so we never hide real errors) when no governing config can be resolved.
71
+ async function noImplicitAnyEnabled(absFilePath, cwd) {
72
+ const nearest = await findNearestTsconfig(absFilePath, cwd);
73
+ if (!nearest)
69
74
  return true;
70
75
  const opts = await loadCompilerOptions(nearest, cwd);
71
76
  if (typeof opts.noImplicitAny === 'boolean')
72
77
  return opts.noImplicitAny;
73
78
  return opts.strict === true;
74
79
  }
80
+ // Build the tsc invocation, scoped to a governing tsconfig via `-p` when one is known.
81
+ // Running tsc against the package config (not the root) is what makes path aliases, jsx, and
82
+ // moduleResolution resolve correctly — otherwise a clean file reports spurious TS2307/TS17004.
83
+ function buildTscCommand(tsconfigAbs, cwd) {
84
+ const project = tsconfigAbs ? ` -p ${JSON.stringify(relative(cwd, tsconfigAbs))}` : '';
85
+ return `npx tsc${project} --noEmit --skipLibCheck`;
86
+ }
75
87
  // Run tsc --noEmit on the project and return type errors that belong to the given
76
88
  // test file. Errors in other files are intentionally ignored — we only care about
77
89
  // what the AI just wrote. Returns null when there are no errors or when type-checking
@@ -85,7 +97,11 @@ export async function typeCheckFile(absTestPath, cwd, env) {
85
97
  catch {
86
98
  return null;
87
99
  }
88
- const result = await runCommand('npx tsc --noEmit --skipLibCheck', cwd, 60_000);
100
+ // Type-check with the tsconfig that GOVERNS this file (the package config in a monorepo),
101
+ // not the root — otherwise the file's @/ path aliases and jsx settings don't resolve and
102
+ // tsc reports false TS2307/TS17004 errors for a file that is actually clean.
103
+ const nearest = (await findNearestTsconfig(absTestPath, cwd)) ?? join(cwd, 'tsconfig.json');
104
+ const result = await runCommand(buildTscCommand(nearest, cwd), cwd, 60_000);
89
105
  if (result.success)
90
106
  return null;
91
107
  // Match by path relative to cwd (how tsc prints diagnostics), NOT basename — many
@@ -104,10 +120,11 @@ export async function typeCheckFile(absTestPath, cwd, env) {
104
120
  }
105
121
  return errors.join('\n').trim() || null;
106
122
  }
107
- // Runs tsc ONCE over the whole project and returns the subset of `testFiles` (absolute
108
- // paths) that have at least one type error. Far cheaper than calling typeCheckFile per
109
- // file, which re-runs the entire project each time. Used by `lacuna fix --types` to select
110
- // every test file that fails type-checking regardless of whether its tests pass.
123
+ // Runs tsc once PER GOVERNING TSCONFIG and returns the subset of `testFiles` (absolute paths)
124
+ // that have at least one type error. Files are grouped by their nearest tsconfig so each
125
+ // monorepo package is checked with its own paths/jsx/moduleResolution checking everything
126
+ // against the bare root config would report spurious TS2307/TS17004 for clean files. For a
127
+ // single-package repo this is still one run (one group). Used by `lacuna fix --types`.
111
128
  export async function findTestFilesWithTypeErrors(testFiles, cwd, env) {
112
129
  if (env.language !== 'typescript' || testFiles.length === 0)
113
130
  return [];
@@ -117,27 +134,37 @@ export async function findTestFilesWithTypeErrors(testFiles, cwd, env) {
117
134
  catch {
118
135
  return [];
119
136
  }
120
- const result = await runCommand('npx tsc --noEmit --skipLibCheck', cwd, 180_000);
121
- if (result.success)
122
- return [];
123
- const errorLines = (result.stdout + '\n' + result.stderr)
124
- .split('\n')
125
- .filter((l) => /error TS\d+/.test(l));
126
- // Match by path relative to cwd — mirrors typeCheckFile's own filter so selection and
127
- // per-file verification agree. Basename matching would conflate identically-named files
128
- // (route.test.ts, index.test.ts) across the project and select the wrong ones.
129
- // Honor each file's governing noImplicitAny just like typeCheckFile, so a file whose only
130
- // diagnostics are implicit-any in a package that allows it is not selected.
131
- const withErrors = [];
137
+ // Group files by the tsconfig that governs them.
138
+ const rootTsconfig = join(cwd, 'tsconfig.json');
139
+ const byConfig = new Map();
132
140
  for (const abs of testFiles) {
133
- const relPath = relative(cwd, abs).replace(/\\/g, '/');
134
- let lines = errorLines.filter((l) => l.includes(relPath) || l.includes(abs));
135
- if (lines.length === 0)
141
+ const nearest = (await findNearestTsconfig(abs, cwd)) ?? rootTsconfig;
142
+ const group = byConfig.get(nearest) ?? [];
143
+ group.push(abs);
144
+ byConfig.set(nearest, group);
145
+ }
146
+ const withErrors = [];
147
+ for (const [tsconfig, files] of byConfig) {
148
+ const result = await runCommand(buildTscCommand(tsconfig, cwd), cwd, 180_000);
149
+ if (result.success)
136
150
  continue;
137
- if (!(await noImplicitAnyEnabled(abs, cwd)))
138
- lines = lines.filter((l) => !IMPLICIT_ANY_RE.test(l));
139
- if (lines.length > 0)
140
- withErrors.push(abs);
151
+ const errorLines = (result.stdout + '\n' + result.stderr)
152
+ .split('\n')
153
+ .filter((l) => /error TS\d+/.test(l));
154
+ // Match by path relative to cwd — mirrors typeCheckFile's filter so selection and per-file
155
+ // verification agree. Basename matching would conflate identically-named files across the
156
+ // project. Honor each file's governing noImplicitAny so a file whose only diagnostics are
157
+ // implicit-any in a package that allows it is not selected.
158
+ for (const abs of files) {
159
+ const relPath = relative(cwd, abs).replace(/\\/g, '/');
160
+ let lines = errorLines.filter((l) => l.includes(relPath) || l.includes(abs));
161
+ if (lines.length === 0)
162
+ continue;
163
+ if (!(await noImplicitAnyEnabled(abs, cwd)))
164
+ lines = lines.filter((l) => !IMPLICIT_ANY_RE.test(l));
165
+ if (lines.length > 0)
166
+ withErrors.push(abs);
167
+ }
141
168
  }
142
169
  return withErrors;
143
170
  }
@@ -1 +1 @@
1
- {"version":3,"file":"typecheck.js","sourceRoot":"","sources":["../../src/lib/typecheck.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typecheck.js","sourceRoot":"","sources":["../../src/lib/typecheck.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/lib/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/lib/validate.ts"],"names":[],"mappings":"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"}
@@ -427,6 +427,95 @@ export function buildRegressionMessage(initialError, currentError, baselinePass,
427
427
  `Do NOT modify tests that were already passing.\n` +
428
428
  `ONLY fix the test that was originally failing.`);
429
429
  }
430
+ // ---------------------------------------------------------------------------
431
+ // Patch-mode support
432
+ // ---------------------------------------------------------------------------
433
+ // Index of the line that ENDS the last import statement (or -1 if there are none).
434
+ // Unlike a naive "last line starting with `import`", this spans multi-line imports so
435
+ // callers insert AFTER the whole statement, never inside an `import { ... } from '...'` block.
436
+ function lastImportStatementEndIdx(lines) {
437
+ let end = -1;
438
+ for (let i = 0; i < lines.length; i++) {
439
+ if (!/^\s*import\b/.test(lines[i]))
440
+ continue;
441
+ // Walk to the line that completes this statement: one ending in `from '...'`/`from "..."`,
442
+ // a bare side-effect import (`import '...'`), or any line ending with a semicolon.
443
+ let j = i;
444
+ while (j < lines.length &&
445
+ !/from\s+['"][^'"]+['"]\s*;?\s*$/.test(lines[j]) &&
446
+ !/^\s*import\s+['"][^'"]+['"]\s*;?\s*$/.test(lines[j]) &&
447
+ !/;\s*$/.test(lines[j])) {
448
+ j++;
449
+ }
450
+ end = Math.min(j, lines.length - 1);
451
+ i = end; // resume scanning after this statement
452
+ }
453
+ return end;
454
+ }
455
+ // Walk the file's import statements, yielding each one's line range + joined text
456
+ // (spans multi-line imports).
457
+ function* iterImportStatements(lines) {
458
+ for (let i = 0; i < lines.length; i++) {
459
+ if (!/^\s*import\b/.test(lines[i]))
460
+ continue;
461
+ let j = i;
462
+ while (j < lines.length &&
463
+ !/from\s+['"][^'"]+['"]\s*;?\s*$/.test(lines[j]) &&
464
+ !/^\s*import\s+['"][^'"]+['"]\s*;?\s*$/.test(lines[j]) &&
465
+ !/;\s*$/.test(lines[j])) {
466
+ j++;
467
+ }
468
+ const end = Math.min(j, lines.length - 1);
469
+ yield { start: i, end, text: lines.slice(i, end + 1).join('\n') };
470
+ i = end;
471
+ }
472
+ }
473
+ const moduleKey = (m) => m.replace(/\.(js|ts|jsx|tsx|mjs|cjs)$/, '');
474
+ // Parse a single import statement into its parts. Returns null if it has no module specifier.
475
+ function parseImportStatement(text) {
476
+ const modM = text.match(/from\s+(['"])([^'"]+)\1/);
477
+ if (!modM)
478
+ return null;
479
+ const typeOnly = /^\s*import\s+type\b/.test(text);
480
+ const braceM = text.match(/\{([\s\S]*?)\}/);
481
+ const names = braceM ? braceM[1].split(',').map((s) => s.trim()).filter(Boolean) : [];
482
+ const defM = text.match(/import\s+(?:type\s+)?([A-Za-z_$][\w$]*)\s*(?:,|from)/);
483
+ return { module: modM[2], quote: modM[1], typeOnly, def: defM ? defM[1] : null, names, semicolon: /;\s*$/.test(text.trim()) };
484
+ }
485
+ // ADD_IMPORT helper: if the new import names come from a module already imported in the file,
486
+ // merge them into that existing statement (deduped) instead of appending a duplicate import —
487
+ // a second `import … from 'X'` triggers bundler "imported multiple times" errors. Mutates
488
+ // `lines` and returns true when a merge happened; false means "no existing import to merge into".
489
+ function mergeNamedImportIntoExisting(lines, content) {
490
+ // Only handle a single named-import statement; anything more exotic falls back to append.
491
+ if ((content.match(/\bimport\b/g) ?? []).length !== 1)
492
+ return false;
493
+ const incoming = parseImportStatement(content);
494
+ if (!incoming || incoming.names.length === 0)
495
+ return false;
496
+ for (const stmt of iterImportStatements(lines)) {
497
+ const existing = parseImportStatement(stmt.text);
498
+ if (!existing)
499
+ continue;
500
+ if (moduleKey(existing.module) !== moduleKey(incoming.module))
501
+ continue;
502
+ if (existing.typeOnly !== incoming.typeOnly)
503
+ continue; // don't mix `import type` with value imports
504
+ const mergedNames = [...existing.names];
505
+ for (const n of incoming.names)
506
+ if (!mergedNames.includes(n))
507
+ mergedNames.push(n);
508
+ const def = existing.def ?? incoming.def;
509
+ const q = existing.quote;
510
+ const rebuilt = `import ${existing.typeOnly ? 'type ' : ''}` +
511
+ `${def ? def + (mergedNames.length ? ', ' : ' ') : ''}` +
512
+ `${mergedNames.length ? `{ ${mergedNames.join(', ')} }` : ''}` +
513
+ ` from ${q}${existing.module}${q}${existing.semicolon ? ';' : ''}`;
514
+ lines.splice(stmt.start, stmt.end - stmt.start + 1, rebuilt);
515
+ return true;
516
+ }
517
+ return false;
518
+ }
430
519
  // Parses the model's patch output into a list of PatchOperation objects.
431
520
  //
432
521
  // Most operations have the form:
@@ -440,13 +529,41 @@ export function buildRegressionMessage(initialError, currentError, baselinePass,
440
529
  // // @@@ WITH:
441
530
  // <replacement text>
442
531
  // // @@@ END
532
+ // Strips a single matching pair of outer quotes (either "..." or '...') from an
533
+ // anchor and unescapes the wrapping quote char inside it. Models emit anchors for
534
+ // test names that contain quotes in two ways, and both must resolve to the literal
535
+ // name as it appears in the file:
536
+ // raw nested: "shows "x" msg" → shows "x" msg
537
+ // escaped: "shows \"x\" msg" → shows "x" msg (proper JS string literal)
538
+ // Only the outermost pair is removed, and only the wrapping quote's escape (\" for
539
+ // a "..." anchor, \' for a '...' anchor) plus \\ are unescaped — so inner quotes
540
+ // of the OTHER style are left untouched. A string whose ends don't both match
541
+ // (unquoted anchors, or one stray quote) is returned unchanged.
542
+ function stripOuterQuotes(s) {
543
+ if (s.length >= 2) {
544
+ const first = s[0];
545
+ const last = s[s.length - 1];
546
+ if ((first === '"' && last === '"') || (first === "'" && last === "'")) {
547
+ const inner = s.slice(1, -1);
548
+ // Unescape string-literal escapes in one left-to-right pass: \" -> ", \' -> ',
549
+ // \\ -> \ . Non-overlapping matching means \\" stays \" (escaped backslash
550
+ // followed by a literal quote), which is the correct interpretation.
551
+ return inner.replace(/\\(["'\\])/g, '$1');
552
+ }
553
+ }
554
+ return s;
555
+ }
443
556
  export function parsePatch(patchOutput) {
444
557
  const ops = [];
445
558
  const lines = patchOutput.split('\n');
446
- // Capture the anchor either quoted ("name") or unquoted (name).
447
- // Group 2 = quoted text, group 3 = unquoted text. DeepSeek and other models
448
- // often drop the double-quotes, so we accept both forms.
449
- const headerRe = /^\/\/ @@@ (REPLACE_TEST|DELETE_TEST|ADD_AFTER_DESCRIBE|ADD_IMPORT|ADD_AFTER_IMPORTS|REPLACE):\s*(?:"([^"]*)"|(.*\S))?/;
559
+ // Capture everything after the colon as the raw anchor; a single pair of
560
+ // outer quotes is stripped below. Capturing the whole remainder (rather than
561
+ // a `"([^"]*)"` group) is required because a test name can itself contain
562
+ // double quotes e.g. it('shows "No accounts match" message') — and a
563
+ // greedy-stop-at-first-quote group would truncate the anchor to "shows ",
564
+ // which never matches the file. Models also routinely drop the outer quotes,
565
+ // so unquoted anchors must work too.
566
+ const headerRe = /^\/\/ @@@ (REPLACE_TEST|DELETE_TEST|ADD_AFTER_DESCRIBE|ADD_IMPORT|ADD_AFTER_IMPORTS|REPLACE):\s*(.*)$/;
450
567
  const withRe = /^\/\/ @@@ WITH:\s*$/;
451
568
  const endRe = /^\/\/ @@@ END\s*$/;
452
569
  let i = 0;
@@ -489,7 +606,7 @@ export function parsePatch(patchOutput) {
489
606
  ops.push({ type, anchor, content });
490
607
  }
491
608
  else {
492
- const anchor = (m[2] ?? m[3] ?? '').trim(); // quoted OR unquoted; ADD_IMPORT/ADD_AFTER_IMPORTS have no anchor
609
+ const anchor = stripOuterQuotes((m[2] ?? '').trim()); // ADD_IMPORT/ADD_AFTER_IMPORTS have no anchor
493
610
  const contentLines = [];
494
611
  while (i < lines.length && !endRe.test(lines[i])) {
495
612
  contentLines.push(lines[i]);
@@ -562,6 +679,23 @@ function findCallEnd(code, startIdx) {
562
679
  let foundBrace = false;
563
680
  while (i < code.length) {
564
681
  const ch = code[i];
682
+ // Skip line/block comments BEFORE the string check. An apostrophe inside a
683
+ // comment (e.g. `// channel that doesn't exist`) would otherwise be read as a
684
+ // string-literal opener and swallow the rest of the test body — including its
685
+ // closing braces — so findCallEnd never balances and returns -1.
686
+ if (ch === '/' && code[i + 1] === '/') {
687
+ i += 2;
688
+ while (i < code.length && code[i] !== '\n')
689
+ i++;
690
+ continue;
691
+ }
692
+ if (ch === '/' && code[i + 1] === '*') {
693
+ i += 2;
694
+ while (i < code.length && !(code[i] === '*' && code[i + 1] === '/'))
695
+ i++;
696
+ i += 2;
697
+ continue;
698
+ }
565
699
  // Skip string literals to avoid false brace/paren counts inside strings
566
700
  if (ch === '"' || ch === "'") {
567
701
  const q = ch;
@@ -736,6 +870,21 @@ export function applyPatch(existingCode, ops) {
736
870
  let foundBrace = false;
737
871
  while (i < code.length) {
738
872
  const ch = code[i];
873
+ // Skip line/block comments before the string check — an apostrophe in a
874
+ // comment must not be read as a string opener (see findCallEnd).
875
+ if (ch === '/' && code[i + 1] === '/') {
876
+ i += 2;
877
+ while (i < code.length && code[i] !== '\n')
878
+ i++;
879
+ continue;
880
+ }
881
+ if (ch === '/' && code[i + 1] === '*') {
882
+ i += 2;
883
+ while (i < code.length && !(code[i] === '*' && code[i + 1] === '/'))
884
+ i++;
885
+ i += 2;
886
+ continue;
887
+ }
739
888
  // Skip string literals
740
889
  if (ch === '"' || ch === "'") {
741
890
  const q = ch;
@@ -807,19 +956,20 @@ export function applyPatch(existingCode, ops) {
807
956
  code = code.slice(0, lastClosePos) + insertion + code.slice(lastClosePos);
808
957
  }
809
958
  else if (op.type === 'ADD_IMPORT') {
810
- // Find the last `import ` line in the file
811
959
  const lines = code.split('\n');
812
- let lastImportLineIdx = -1;
813
- for (let idx = 0; idx < lines.length; idx++) {
814
- if (/^\s*import\s/.test(lines[idx]))
815
- lastImportLineIdx = idx;
816
- }
817
- const importLines = op.content.split('\n');
818
- if (lastImportLineIdx === -1) {
819
- lines.unshift(...importLines);
820
- }
821
- else {
822
- lines.splice(lastImportLineIdx + 1, 0, ...importLines);
960
+ // Prefer merging into an existing import from the same module (avoids a duplicate
961
+ // `import from 'X'` that bundlers reject). Otherwise insert after the END of the last
962
+ // import statement (handles multi-line imports — inserting after the opening `import {`
963
+ // line would split the block).
964
+ if (!mergeNamedImportIntoExisting(lines, op.content)) {
965
+ const lastImportLineIdx = lastImportStatementEndIdx(lines);
966
+ const importLines = op.content.split('\n');
967
+ if (lastImportLineIdx === -1) {
968
+ lines.unshift(...importLines);
969
+ }
970
+ else {
971
+ lines.splice(lastImportLineIdx + 1, 0, ...importLines);
972
+ }
823
973
  }
824
974
  code = lines.join('\n');
825
975
  }
@@ -827,11 +977,7 @@ export function applyPatch(existingCode, ops) {
827
977
  // Like ADD_IMPORT but inserts a blank line before the block — for vi.mock() calls
828
978
  // and other module-level statements that follow imports
829
979
  const lines = code.split('\n');
830
- let lastImportLineIdx = -1;
831
- for (let idx = 0; idx < lines.length; idx++) {
832
- if (/^\s*import\s/.test(lines[idx]))
833
- lastImportLineIdx = idx;
834
- }
980
+ const lastImportLineIdx = lastImportStatementEndIdx(lines);
835
981
  const contentLines = ['', ...op.content.split('\n')];
836
982
  if (lastImportLineIdx === -1) {
837
983
  lines.unshift(...contentLines);
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/lib/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/lib/validate.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI;SACR,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;SAChC,OAAO,CAAC,2BAA2B,EAAE,IAAI,CAAC;SAC1C,OAAO,CAAC,2BAA2B,EAAE,IAAI,CAAC;SAC1C,OAAO,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAA;AAC/C,CAAC;AAED,2EAA2E;AAC3E,kFAAkF;AAClF,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IACnC,OAAO,2DAA2D,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACnF,CAAC;AAED,oFAAoF;AACpF,qFAAqF;AACrF,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,oFAAoF;IACpF,0FAA0F;IAC1F,OAAO,0FAA0F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC9G,CAAC;AAED,4EAA4E;AAC5E,yFAAyF;AACzF,WAAW;AACX,2DAA2D;AAC3D,oCAAoC;AACpC,yDAAyD;AACzD,oFAAoF;AACpF,4FAA4F;AAC5F,qFAAqF;AACrF,EAAE;AACF,0FAA0F;AAC1F,wFAAwF;AACxF,uFAAuF;AACvF,4FAA4F;AAC5F,wFAAwF;AACxF,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IACpE,OAAO,mEAAmE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACtF,CAAC;AAED,uFAAuF;AACvF,0FAA0F;AAC1F,sFAAsF;AACtF,4FAA4F;AAC5F,0EAA0E;AAC1E,MAAM,UAAU,kBAAkB,CAAC,SAAiB,EAAE,YAAoB,SAAS;IACjF,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAA;IACnD,OAAO,CACL,wFAAwF;QACxF,sBAAsB;QACtB,uFAAuF;QACvF,uFAAuF;QACvF,iEAAiE;QACjE,oEAAoE;QACpE,iCAAiC;QACjC,qCAAqC;QACrC,UAAU;QACV,mGAAmG;QACnG,2BAA2B;QAC3B,SAAS,CACV,CAAA;AACH,CAAC;AAED,uEAAuE;AACvE,8EAA8E;AAC9E,gFAAgF;AAChF,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,+FAA+F;IAC/F,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACrE,IAAI,WAAW;QAAE,OAAO,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACpD,yCAAyC;IACzC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACxC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACnC,CAAC;AAED,uEAAuE;AACvE,qFAAqF;AACrF,0FAA0F;AAC1F,wEAAwE;AACxE,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACrE,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACvD,CAAC;AAED,kEAAkE;AAClE,mFAAmF;AACnF,oFAAoF;AACpF,yFAAyF;AACzF,8DAA8D;AAC9D,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,uFAAuF;IACvF,MAAM,WAAW,GAAG,0QAA0Q,CAAA;IAE9R,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAE3D,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA,CAAE,oCAAoC;IAEzF,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC5E,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;AAC1E,CAAC;AAED,4EAA4E;AAC5E,eAAe;AACf,8CAA8C;AAC9C,oFAAoF;AACpF,0EAA0E;AAC1E,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,QAAgB;IAClE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC3D,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAA;IAE7C,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IAElD,4DAA4D;IAC5D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1E,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAA,CAAE,uCAAuC;IAEjF,4DAA4D;IAC5D,sEAAsE;IACtE,gFAAgF;IAChF,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,IAAI,SAAS,GAAG,KAAK,CAAA;IAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAA;QACxG,IAAI,WAAW,EAAE,CAAC;YAChB,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1C,CAAC;aAAM,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,sEAAsE;YACtE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACxD,SAAS,GAAG,KAAK,CAAA;YACjB,SAAQ;QACV,CAAC;QACD,IAAI,SAAS;YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpC,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3C,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;AACrE,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,uEAAuE,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxH,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;QACzD,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAA;YACzD,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;AAC5B,CAAC;AAED,8EAA8E;AAC9E,gFAAgF;AAChF,uDAAuD;AACvD,SAAS,cAAc,CAAC,OAAe;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAClE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAEpC,kEAAkE;IAClE,2EAA2E;IAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC7B,6EAA6E,CAAC,IAAI,CAAC,CAAC,CAAC;QACrF,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;QAClC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7B,oDAAoD,CAAC,IAAI,CAAC,CAAC,CAAC,CAC7D,CAAA;IACD,IAAI,OAAO;QAAE,OAAO,KAAK,CAAA;IAEzB,gFAAgF;IAChF,MAAM,gBAAgB,GAAG,+DAA+D,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACtG,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAE/D,OAAO,gBAAgB,IAAI,WAAW,GAAG,CAAC,CAAA;AAC5C,CAAC;AAED,8DAA8D;AAC9D,kEAAkE;AAClE,wEAAwE;AACxE,gEAAgE;AAChE,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,qEAAqE;IACrE,IAAI,cAAc,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IAE5D,uDAAuD;IACvD,MAAM,cAAc,GAAG,8EAA8E,CAAA;IACrG,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IAEjE,MAAM,UAAU,GAAK,+CAA+C,CAAA;IACpE,MAAM,YAAY,GAAG,uEAAuE,CAAA;IAE5F,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7B,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,QAAQ,GAAG,KAAK,CAAA;IAEpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACnE,OAAO,GAAG,IAAI,CAAA;YACd,QAAQ,GAAG,IAAI,CAAA;QACjB,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;gBACtB,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;oBAAE,KAAK,EAAE,CAAA;qBAChC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;oBAAC,KAAK,EAAE,CAAC;oBAAC,IAAI,KAAK,GAAG,CAAC;wBAAE,KAAK,GAAG,CAAC,CAAA;gBAAC,CAAC;YAC1E,CAAC;YACD,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,GAAG,KAAK,CAAA;YAChC,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjB,CAAC;IAED,qEAAqE;IACrE,2EAA2E;IAC3E,MAAM,SAAS,GAAI,wGAAwG,CAAA;IAC3H,MAAM,UAAU,GAAG,qDAAqD,CAAA;IACxE,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,IAAI,UAAU,GAAG,CAAC,CAAC,CAAA;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAAC,SAAS,GAAG,IAAI,CAAC;YAAC,UAAU,GAAG,CAAC,CAAC,CAAA;QAAC,CAAC;aAC7D,IAAI,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YAAC,UAAU,GAAG,CAAC,CAAA;QAAC,CAAC;IACzF,CAAC;IACD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACvB,QAAQ,GAAG,IAAI,CAAA;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IACrC,0FAA0F;IAC1F,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;IACnJ,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IACrD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;AACnC,CAAC;AAED,sEAAsE;AACtE,qFAAqF;AACrF,kFAAkF;AAClF,kFAAkF;AAClF,6CAA6C;AAC7C,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAQ7C,MAAM,MAAM,GAAY,EAAE,CAAA;IAC1B,IAAI,GAAG,GAAG,CAAC,CAAA;IAEX,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,sCAAsC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;QAC/C,IAAI,GAAW,CAAA;QACf,IAAI,SAAiB,CAAA;QACrB,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC;YAAE,MAAK;QACzC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YAAC,GAAG,GAAG,OAAO,CAAC;YAAC,SAAS,GAAG,EAAE,CAAA;QAAC,CAAC;aAC9C,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YAAC,GAAG,GAAG,KAAK,CAAC;YAAC,SAAS,GAAG,CAAC,CAAA;QAAC,CAAC;aAClD,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;YAAC,GAAG,GAAG,KAAK,CAAC;YAAC,SAAS,GAAG,CAAC,CAAA;QAAC,CAAC;aACnD,CAAC;YAAC,GAAG,GAAG,OAAO,CAAC;YAAC,SAAS,GAAG,EAAE,CAAA;QAAC,CAAC;QAEtC,MAAM,SAAS,GAAG,GAAG,GAAG,SAAS,CAAA;QACjC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;YAAC,SAAQ;QAAC,CAAC;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAA;QAC9C,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;YAAC,SAAQ;QAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;QAErD,4CAA4C;QAC5C,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,IAAI,OAAO,GAAG,CAAC,CAAC,CAAA;QAChB,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAA;iBACvB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAAC,KAAK,EAAE,CAAC;gBAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;oBAAC,MAAK;gBAAC,CAAC;YAAC,CAAC;QACpF,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;YAAC,SAAQ;QAAC,CAAC;QAE/C,kFAAkF;QAClF,oFAAoF;QACpF,MAAM,SAAS,GAAG,4BAA4B,CAAA;QAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;YAC/E,GAAG,GAAG,OAAO,CAAA;YACb,SAAQ;QACV,CAAC;QAED,oEAAoE;QACpE,IAAI,UAAU,GAAG,CAAC,CAAC,CAAA;QACnB,KAAK,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAAC,UAAU,GAAG,CAAC,CAAC;gBAAC,MAAK;YAAC,CAAC;QAChD,CAAC;QACD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YAAC,GAAG,GAAG,OAAO,CAAC;YAAC,SAAQ;QAAC,CAAC;QAElD,uCAAuC;QACvC,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAA;QACjB,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,UAAU,EAAE,CAAA;iBAC5B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAAC,UAAU,EAAE,CAAC;gBAAC,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;oBAAC,QAAQ,GAAG,CAAC,CAAC;oBAAC,MAAK;gBAAC,CAAC;YAAC,CAAC;QAC3F,CAAC;QACD,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;YAAC,GAAG,GAAG,OAAO,CAAC;YAAC,SAAQ;QAAC,CAAC;QAEhD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC/G,GAAG,GAAG,OAAO,CAAA;IACf,CAAC;IAED,oFAAoF;IACpF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAA;IAC3C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACxC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACX,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CACxE,CAAA;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAEvC,MAAM,KAAK,GAAwD,EAAE,CAAA;IAErE,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;QACvC,gFAAgF;QAChF,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,CAAC,CAAC,UAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAC1E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAA;YAChE,CAAC;QACH,CAAC;QAED,+EAA+E;QAC/E,iFAAiF;QACjF,+EAA+E;QAC/E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YAC5C,IAAI,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChC,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YACrC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC9C,CAAC,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;QAC1F,MAAM,MAAM,GAAG,GAAG,UAAU,UAAU,MAAM,gBAAgB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;QACrF,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;QAEpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;YAC/B,IAAI,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,IAAI;gBAAE,WAAW,EAAE,CAAA;YACpE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;IACvC,IAAI,MAAM,GAAG,IAAI,CAAA;IACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC3E,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAEnC,sEAAsE;AACtE,6EAA6E;AAC7E,kFAAkF;AAClF,0DAA0D;AAC1D,MAAM,UAAU,2BAA2B,CAAC,YAAoB,EAAE,YAAoB;IACpF,OAAO,CACL,sEAAsE;QACtE,8DAA8D;QAC9D,kCAAkC;QAClC,GAAG,YAAY,IAAI;QACnB,GAAG,YAAY,IAAI;QACnB,GAAG,YAAY,MAAM;QACrB,gEAAgE;QAChE,GAAG,YAAY,IAAI;QACnB,GAAG,YAAY,IAAI;QACnB,GAAG,YAAY,MAAM;QACrB,UAAU;QACV,oFAAoF;QACpF,iEAAiE;QACjE,+DAA+D,CAChE,CAAA;AACH,CAAC;AAED,yEAAyE;AACzE,oEAAoE;AACpE,2DAA2D;AAC3D,MAAM,UAAU,sBAAsB,CACpC,YAAoB,EACpB,YAAoB,EACpB,YAAoB,EACpB,WAAmB;IAEnB,OAAO,CACL,gDAAgD,YAAY,6BAA6B,WAAW,OAAO;QAC3G,mBAAmB;QACnB,GAAG,YAAY,IAAI;QACnB,GAAG,YAAY,IAAI;QACnB,GAAG,YAAY,MAAM;QACrB,gCAAgC;QAChC,GAAG,YAAY,IAAI;QACnB,GAAG,YAAY,IAAI;QACnB,GAAG,YAAY,MAAM;QACrB,kDAAkD;QAClD,gDAAgD,CACjD,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,mFAAmF;AACnF,sFAAsF;AACtF,+FAA+F;AAC/F,SAAS,yBAAyB,CAAC,KAAe;IAChD,IAAI,GAAG,GAAG,CAAC,CAAC,CAAA;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,SAAQ;QAC5C,2FAA2F;QAC3F,mFAAmF;QACnF,IAAI,CAAC,GAAG,CAAC,CAAA;QACT,OACE,CAAC,GAAG,KAAK,CAAC,MAAM;YAChB,CAAC,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC,sCAAsC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACvB,CAAC;YACD,CAAC,EAAE,CAAA;QACL,CAAC;QACD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACnC,CAAC,GAAG,GAAG,CAAA,CAAG,uCAAuC;IACnD,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,kFAAkF;AAClF,8BAA8B;AAC9B,QAAQ,CAAC,CAAC,oBAAoB,CAAC,KAAe;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,SAAQ;QAC5C,IAAI,CAAC,GAAG,CAAC,CAAA;QACT,OACE,CAAC,GAAG,KAAK,CAAC,MAAM;YAChB,CAAC,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC,sCAAsC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACvB,CAAC;YACD,CAAC,EAAE,CAAA;QACL,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACzC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;QACjE,CAAC,GAAG,GAAG,CAAA;IACT,CAAC;AACH,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAA;AAEpF,8FAA8F;AAC9F,SAAS,oBAAoB,CAAC,IAAY;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAClD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACrF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAA;IAC/E,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAA;AAC/H,CAAC;AAED,8FAA8F;AAC9F,8FAA8F;AAC9F,0FAA0F;AAC1F,kGAAkG;AAClG,SAAS,4BAA4B,CAAC,KAAe,EAAE,OAAe;IACpE,0FAA0F;IAC1F,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACnE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAC9C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAE1D,KAAK,MAAM,IAAI,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChD,IAAI,CAAC,QAAQ;YAAE,SAAQ;QACvB,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAQ;QACvE,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;YAAE,SAAQ,CAAG,6CAA6C;QAErG,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QACvC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK;YAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjF,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAA;QACxC,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAA;QACxB,MAAM,OAAO,GACX,UAAU,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5C,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;YACvD,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9D,SAAS,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QACpE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAWD,yEAAyE;AACzE,EAAE;AACF,iCAAiC;AACjC,0BAA0B;AAC1B,oBAAoB;AACpB,eAAe;AACf,EAAE;AACF,+EAA+E;AAC/E,oBAAoB;AACpB,4CAA4C;AAC5C,iBAAiB;AACjB,uBAAuB;AACvB,eAAe;AACf,gFAAgF;AAChF,kFAAkF;AAClF,mFAAmF;AACnF,kCAAkC;AAClC,mDAAmD;AACnD,gFAAgF;AAChF,mFAAmF;AACnF,iFAAiF;AACjF,8EAA8E;AAC9E,gEAAgE;AAChE,SAAS,gBAAgB,CAAC,CAAS;IACjC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAClB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC5B,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACvE,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5B,+EAA+E;YAC/E,2EAA2E;YAC3E,qEAAqE;YACrE,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,WAAmB;IAC5C,MAAM,GAAG,GAAqB,EAAE,CAAA;IAChC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACrC,yEAAyE;IACzE,6EAA6E;IAC7E,0EAA0E;IAC1E,uEAAuE;IACvE,0EAA0E;IAC1E,6EAA6E;IAC7E,qCAAqC;IACrC,MAAM,QAAQ,GAAG,uGAAuG,CAAA;IACxH,MAAM,MAAM,GAAG,qBAAqB,CAAA;IACpC,MAAM,KAAK,GAAG,mBAAmB,CAAA;IAEjC,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,CAAC,CAAC,EAAE,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAQ;QAAC,CAAC;QAEzB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAgB,CAAA;QAChC,CAAC,EAAE,CAAA;QAEH,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,mCAAmC;YACnC,MAAM,QAAQ,GAAa,EAAE,CAAA;YAC7B,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3E,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBACvB,CAAC,EAAE,CAAA;YACL,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBAAC,CAAC,EAAE,CAAC;gBAAC,SAAQ;YAAC,CAAC,CAAC,mBAAmB;YACvE,CAAC,EAAE,CAAA,CAAC,oBAAoB;YACxB,MAAM,QAAQ,GAAa,EAAE,CAAA;YAC7B,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBACvB,CAAC,EAAE,CAAA;YACL,CAAC;YACD,CAAC,EAAE,CAAA,CAAC,kBAAkB;YACtB,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAChC,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACrD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACvD,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACxD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC1D,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA,CAAE,8CAA8C;YACpG,MAAM,YAAY,GAAa,EAAE,CAAA;YACjC,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC3B,CAAC,EAAE,CAAA;YACL,CAAC;YACD,CAAC,EAAE,CAAA,CAAC,kBAAkB;YACtB,IAAI,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACrC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACxD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC1D,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,yEAAyE;AACzE,0EAA0E;AAC1E,qFAAqF;AACrF,sFAAsF;AACtF,SAAS,eAAe,CAAC,IAAY,EAAE,MAAc;IACnD,yBAAyB;IACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACrC,IAAI,QAAQ,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;IAE9E,kFAAkF;IAClF,mFAAmF;IACnF,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAA;IAC5B,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAExB,0FAA0F;IAC1F,MAAM,SAAS,GAAa,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC3D,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA,CAAE,0BAA0B;IACvF,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC;YAAE,SAAQ;QACvD,IAAI,KAAK,GAAG,IAAI,CAAA;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,IAAI,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAC,KAAK,GAAG,KAAK,CAAC;gBAAC,MAAK;YAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,KAAK;YAAE,SAAQ;QACpB,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;QAC1B,8FAA8F;QAC9F,MAAM,GAAG,GAAG,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAA;QAC/D,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;IACvB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,oFAAoF;AACpF,wDAAwD;AACxD,oFAAoF;AACpF,EAAE;AACF,uFAAuF;AACvF,wEAAwE;AACxE,sFAAsF;AACtF,yCAAyC;AACzC,SAAS,WAAW,CAAC,IAAY,EAAE,QAAgB;IACjD,IAAI,CAAC,GAAG,QAAQ,CAAA,CAAE,gCAAgC;IAClD,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,UAAU,GAAG,KAAK,CAAA;IAEtB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAElB,2EAA2E;QAC3E,8EAA8E;QAC9E,8EAA8E;QAC9E,iEAAiE;QACjE,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACtC,CAAC,IAAI,CAAC,CAAA;YACN,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;gBAAE,CAAC,EAAE,CAAA;YAC/C,SAAQ;QACV,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACtC,CAAC,IAAI,CAAC,CAAA;YACN,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;gBAAE,CAAC,EAAE,CAAA;YACxE,CAAC,IAAI,CAAC,CAAA;YACN,SAAQ;QACV,CAAC;QAED,wEAAwE;QACxE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,EAAE,CAAA;YACZ,CAAC,EAAE,CAAA;YACH,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBAAC,CAAC,IAAI,CAAC,CAAC;oBAAC,SAAQ;gBAAC,CAAC;gBAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBAAC,CAAC,EAAE,CAAC;oBAAC,MAAK;gBAAC,CAAC;gBACjC,CAAC,EAAE,CAAA;YACL,CAAC;YACD,SAAQ;QACV,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,CAAC,EAAE,CAAA;YACH,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBAAC,CAAC,IAAI,CAAC,CAAC;oBAAC,SAAQ;gBAAC,CAAC;gBAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAAC,CAAC,EAAE,CAAC;oBAAC,MAAK;gBAAC,CAAC;gBACnC,8EAA8E;gBAC9E,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC3C,CAAC,IAAI,CAAC,CAAA;oBACN,IAAI,MAAM,GAAG,CAAC,CAAA;oBACd,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;4BAAE,MAAM,EAAE,CAAA;6BACxB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;4BAAE,MAAM,EAAE,CAAA;wBAClC,CAAC,EAAE,CAAA;oBACL,CAAC;oBACD,SAAQ;gBACV,CAAC;gBACD,CAAC,EAAE,CAAA;YACL,CAAC;YACD,SAAQ;QACV,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,UAAU,GAAG,IAAI,CAAA;YACjB,UAAU,EAAE,CAAA;YACZ,CAAC,EAAE,CAAA;YACH,SAAQ;QACV,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,EAAE,CAAA;gBACZ,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;oBACrB,+EAA+E;oBAC/E,CAAC,EAAE,CAAA,CAAC,gBAAgB;oBACpB,2BAA2B;oBAC3B,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;wBAAE,CAAC,EAAE,CAAA;oBAC5G,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;wBACvC,CAAC,EAAE,CAAA,CAAC,cAAc;wBAClB,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;4BAAE,CAAC,EAAE,CAAA,CAAC,uBAAuB;oBACrE,CAAC;oBACD,OAAO,CAAC,CAAA;gBACV,CAAC;YACH,CAAC;YACD,CAAC,EAAE,CAAA;YACH,SAAQ;QACV,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,gFAAgF;YAChF,IAAI,EAAE,KAAK,GAAG;gBAAE,UAAU,EAAE,CAAA;iBACvB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACpB,UAAU,EAAE,CAAA;gBACZ,mGAAmG;gBACnG,IAAI,UAAU,GAAG,CAAC;oBAAE,OAAO,CAAC,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;QAED,CAAC,EAAE,CAAA;IACL,CAAC;IACD,OAAO,CAAC,CAAC,CAAA;AACX,CAAC;AAED,uEAAuE;AACvE,wEAAwE;AACxE,MAAM,UAAU,UAAU,CAAC,YAAoB,EAAE,GAAqB;IACpE,IAAI,IAAI,GAAG,YAAY,CAAA;IAEvB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1B,8DAA8D;YAC9D,yEAAyE;YACzE,2EAA2E;YAC3E,6EAA6E;YAC7E,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,CAAA;YAC9C,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAA;YACvB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAExE,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,IAAI,EAAE,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACnE,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAA;YACxB,oCAAoC;YACpC,MAAM,UAAU,GAAG;gBACjB,OAAO,MAAM,GAAG;gBAChB,OAAO,MAAM,GAAG;gBAChB,SAAS,MAAM,GAAG;gBAClB,SAAS,MAAM,GAAG;aACnB,CAAA;YACD,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAA;YACjB,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;gBAC3B,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;oBAAC,QAAQ,GAAG,GAAG,CAAC;oBAAC,MAAK;gBAAC,CAAC;YAC3C,CAAC;YACD,IAAI,QAAQ,KAAK,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAA;YAEhC,qEAAqE;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YAC5C,IAAI,QAAQ,KAAK,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAA;YAEhC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YAC3C,IAAI,OAAO,KAAK,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAA;YAE/B,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC/B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACnE,CAAC;iBAAM,CAAC;gBACN,+DAA+D;gBAC/D,IAAI,WAAW,GAAG,QAAQ,CAAA;gBAC1B,IAAI,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBACtD,oCAAoC;oBACpC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,CAAC,CAAC,CAAA;oBAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAA;oBAC7D,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;wBAAE,WAAW,GAAG,WAAW,GAAG,CAAC,CAAA;gBAC3D,CAAC;gBACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACzD,CAAC;QAEH,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAA;YACxB,MAAM,UAAU,GAAG;gBACjB,aAAa,MAAM,GAAG;gBACtB,aAAa,MAAM,GAAG;aACvB,CAAA;YACD,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAA;YACjB,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;gBAC3B,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;oBAAC,QAAQ,GAAG,GAAG,CAAC;oBAAC,MAAK;gBAAC,CAAC;YAC3C,CAAC;YACD,IAAI,QAAQ,KAAK,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAA;YAEhC,4CAA4C;YAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YAC5C,IAAI,QAAQ,KAAK,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAA;YAEhC,0EAA0E;YAC1E,iFAAiF;YACjF,IAAI,CAAC,GAAG,QAAQ,CAAA;YAChB,IAAI,UAAU,GAAG,CAAC,CAAA;YAClB,IAAI,YAAY,GAAG,CAAC,CAAC,CAAA,CAAE,oDAAoD;YAE3E,qDAAqD;YACrD,gEAAgE;YAChE,0CAA0C;YAC1C,IAAI,UAAU,GAAG,KAAK,CAAA;YAEtB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;gBAElB,wEAAwE;gBACxE,iEAAiE;gBACjE,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACtC,CAAC,IAAI,CAAC,CAAA;oBACN,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;wBAAE,CAAC,EAAE,CAAA;oBAC/C,SAAQ;gBACV,CAAC;gBACD,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACtC,CAAC,IAAI,CAAC,CAAA;oBACN,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;wBAAE,CAAC,EAAE,CAAA;oBACxE,CAAC,IAAI,CAAC,CAAA;oBACN,SAAQ;gBACV,CAAC;gBAED,uBAAuB;gBACvB,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;oBAC7B,MAAM,CAAC,GAAG,EAAE,CAAA;oBACZ,CAAC,EAAE,CAAA;oBACH,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;wBACvB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;4BAAC,CAAC,IAAI,CAAC,CAAC;4BAAC,SAAQ;wBAAC,CAAC;wBAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;4BAAC,CAAC,EAAE,CAAC;4BAAC,MAAK;wBAAC,CAAC;wBACjC,CAAC,EAAE,CAAA;oBACL,CAAC;oBACD,SAAQ;gBACV,CAAC;gBACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;oBACf,CAAC,EAAE,CAAA;oBACH,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;wBACvB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;4BAAC,CAAC,IAAI,CAAC,CAAC;4BAAC,SAAQ;wBAAC,CAAC;wBAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;4BAAC,CAAC,EAAE,CAAC;4BAAC,MAAK;wBAAC,CAAC;wBACnC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;4BAC3C,CAAC,IAAI,CAAC,CAAA;4BACN,IAAI,MAAM,GAAG,CAAC,CAAA;4BACd,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gCACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;oCAAE,MAAM,EAAE,CAAA;qCACxB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;oCAAE,MAAM,EAAE,CAAA;gCAClC,CAAC,EAAE,CAAA;4BACL,CAAC;4BACD,SAAQ;wBACV,CAAC;wBACD,CAAC,EAAE,CAAA;oBACL,CAAC;oBACD,SAAQ;gBACV,CAAC;gBAED,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;oBACf,UAAU,GAAG,IAAI,CAAA;oBACjB,UAAU,EAAE,CAAA;oBACZ,CAAC,EAAE,CAAA;oBACH,SAAQ;gBACV,CAAC;gBACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;oBACf,IAAI,UAAU,EAAE,CAAC;wBACf,UAAU,EAAE,CAAA;wBACZ,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;4BACrB,YAAY,GAAG,CAAC,CAAA;4BAChB,MAAK;wBACP,CAAC;oBACH,CAAC;oBACD,CAAC,EAAE,CAAA;oBACH,SAAQ;gBACV,CAAC;gBACD,CAAC,EAAE,CAAA;YACL,CAAC;YAED,IAAI,YAAY,KAAK,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAA;YAEpC,oDAAoD;YACpD,4DAA4D;YAC5D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC,OAAO,GAAG,IAAI,CAAA;YAC1C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAE3E,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC9B,kFAAkF;YAClF,wFAAwF;YACxF,wFAAwF;YACxF,+BAA+B;YAC/B,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrD,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAA;gBAC1D,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC1C,IAAI,iBAAiB,KAAK,CAAC,CAAC,EAAE,CAAC;oBAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,CAAA;gBAC/B,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,MAAM,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,CAAA;gBACxD,CAAC;YACH,CAAC;YACD,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YAC3C,kFAAkF;YAClF,wDAAwD;YACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC9B,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAA;YAE1D,MAAM,YAAY,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;YACpD,IAAI,iBAAiB,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,CAAA;YAChC,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,MAAM,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,YAAY,CAAC,CAAA;YACzD,CAAC;YACD,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IAED,sFAAsF;IACtF,2EAA2E;IAC3E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAEtC,sFAAsF;IACtF,kFAAkF;IAClF,IAAI,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAA;IAEtC,OAAO,IAAI,CAAA;AACb,CAAC;AAED,sFAAsF;AACtF,yFAAyF;AACzF,SAAS,yBAAyB,CAAC,IAAY;IAC7C,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,OAAO,IAAI,KAAK,IAAI,EAAE,CAAC;QACrB,IAAI,GAAG,IAAI,CAAA;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9B,MAAM,GAAG,GAAa,EAAE,CAAA;QACxB,IAAI,CAAC,GAAG,CAAC,CAAA;QACT,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACrB,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnE,kDAAkD;gBAClD,0EAA0E;gBAC1E,2EAA2E;gBAC3E,sEAAsE;gBACtE,IAAI,KAAK,GAAG,CAAC,CAAA;gBACb,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACb,MAAM,SAAS,GAAa,EAAE,CAAA;gBAC9B,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACrC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;oBAClB,KAAK,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;wBACnB,IAAI,EAAE,KAAK,GAAG;4BAAE,KAAK,EAAE,CAAA;6BAClB,IAAI,EAAE,KAAK,GAAG;4BAAE,KAAK,EAAE,CAAA;oBAC9B,CAAC;oBACD,IAAI,KAAK,GAAG,CAAC;wBAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBAChC,CAAC,EAAE,CAAA;gBACL,CAAC;gBACD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAClE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,2DAA2D;oBAC3D,CAAC,GAAG,CAAC,CAAA;oBACL,4DAA4D;oBAC5D,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;wBAAE,CAAC,EAAE,CAAA;oBAC7C,SAAQ;gBACV,CAAC;YACH,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACd,CAAC,EAAE,CAAA;QACL,CAAC;QACD,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,aAAa,CAAC,YAAoB,EAAE,WAAmB;IACrE,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IACnC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACjC,OAAO,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;AACtC,CAAC;AAKD,+EAA+E;AAC/E,mFAAmF;AACnF,MAAM,UAAU,qBAAqB,CAAC,YAAoB,EAAE,WAAmB;IAC7E,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;IACnC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;IACvE,IAAI,IAAI,GAAG,YAAY,CAAA;IACvB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACrC,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,CAAA;QAC7E,IAAI,GAAG,MAAM,CAAA;IACf,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;AACnC,CAAC;AAiCD,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,MAAM,GAAG,GAAyB,EAAE,CAAA;IACpC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACrC,MAAM,QAAQ,GAAG,0DAA0D,CAAA;IAC3E,MAAM,MAAM,GAAG,qBAAqB,CAAA;IACpC,MAAM,KAAK,GAAG,mBAAmB,CAAA;IAEjC,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,CAAC,CAAC,EAAE,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAQ;QAAC,CAAC;QAEzB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAoB,CAAA;QACpC,CAAC,EAAE,CAAA;QAEH,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAa,EAAE,CAAA;YAC7B,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3E,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBACvB,CAAC,EAAE,CAAA;YACL,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBAAC,CAAC,EAAE,CAAC;gBAAC,SAAQ;YAAC,CAAC;YACnD,CAAC,EAAE,CAAA,CAAC,oBAAoB;YACxB,MAAM,QAAQ,GAAa,EAAE,CAAA;YAC7B,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBACvB,CAAC,EAAE,CAAA;YACL,CAAC;YACD,CAAC,EAAE,CAAA,CAAC,kBAAkB;YACtB,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjC,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACxD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC1D,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACxD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC1D,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;QACtC,CAAC;aAAM,CAAC;YACN,qEAAqE;YACrE,MAAM,YAAY,GAAa,EAAE,CAAA;YACjC,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC3B,CAAC,EAAE,CAAA;YACL,CAAC;YACD,CAAC,EAAE,CAAA,CAAC,kBAAkB;YACtB,IAAI,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACrC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACxD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC1D,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,GAAyB;IACzE,IAAI,IAAI,GAAG,QAAQ,CAAA;IACnB,MAAM,SAAS,GAAyB,EAAE,CAAA;IAE1C,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA;YAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAClB,SAAQ;YACV,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAExE,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACvC,qEAAqE;YACrE,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAA;YACvD,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;gBACzB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;YAC9F,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;YACpD,CAAC;QAEH,CAAC;aAAM,IAAI,EAAE,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YAC3C,+DAA+D;YAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAA;YAC/C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAClB,SAAQ;YACV,CAAC;YACD,iEAAiE;YACjE,IAAI,KAAK,GAAG,CAAC,CAAA;YACb,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAA;YACjB,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;oBAAE,KAAK,EAAE,CAAA;qBACvB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACzB,KAAK,EAAE,CAAA;oBACP,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wBAAC,QAAQ,GAAG,CAAC,CAAC;wBAAC,MAAK;oBAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YACD,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;gBAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAAC,SAAQ;YAAC,CAAC;YACrD,MAAM,MAAM,GAAG,IAAI,CAAA;YACnB,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC3E,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC7E,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,WAAmB;IACtE,MAAM,GAAG,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA;IACxC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACjC,OAAO,eAAe,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;AACvC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lacuna-cli",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "Agentic CLI that finds coverage gaps, generates tests, and verifies them in a loop",
5
5
  "keywords": [
6
6
  "testing",