@blockspool/cli 0.5.3 → 0.5.5

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.
@@ -18,7 +18,7 @@ const program = new Command();
18
18
  program
19
19
  .name('blockspool')
20
20
  .description('Continuous codebase improvement tool')
21
- .version('0.5.3');
21
+ .version('0.5.5');
22
22
  // `blockspool solo <cmd>` — backwards compat
23
23
  program.addCommand(soloCommand);
24
24
  // Detect if argv[2] is a known solo subcommand name — if so, lift it.
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Cross-run dedup memory with temporal decay.
3
+ *
4
+ * Persists completed/rejected proposal titles to `.blockspool/dedup-memory.json`
5
+ * so the scout prompt knows what NOT to propose. Uses the same hybrid
6
+ * weight-decay + re-confirmation model as learnings.ts:
7
+ *
8
+ * - Weight decays by `DECAY_RATE` each session load (predictable baseline).
9
+ * - Entries that keep getting re-proposed (bumped) decay slower — the
10
+ * "re-confirmation" halves the decay, keeping persistent duplicates
11
+ * prominent while stale old titles fade naturally.
12
+ * - Entries that were successfully executed get a one-time boost so they
13
+ * stick around longer than mere rejections.
14
+ * - Budget-capped prompt formatting (highest-weight first).
15
+ */
16
+ export interface DedupEntry {
17
+ title: string;
18
+ /** 0-100, decays per session load */
19
+ weight: number;
20
+ /** ISO timestamp of first encounter */
21
+ created_at: string;
22
+ /** ISO timestamp of most recent bump (re-proposal or completion) */
23
+ last_seen_at: string;
24
+ /** How many times this title was encountered (proposed or completed) */
25
+ hit_count: number;
26
+ /** Whether this was actually executed successfully (stronger signal) */
27
+ completed: boolean;
28
+ }
29
+ /**
30
+ * Load dedup memory, apply decay, prune dead entries, write back.
31
+ * Call once per session start (mirrors learnings.loadLearnings).
32
+ */
33
+ export declare function loadDedupMemory(projectRoot: string): DedupEntry[];
34
+ /**
35
+ * Record a title as "seen" — either a new duplicate rejection or a completed ticket.
36
+ * If the title already exists, bumps weight and hit_count (re-confirmation).
37
+ */
38
+ export declare function recordDedupEntry(projectRoot: string, title: string, completed: boolean): void;
39
+ /**
40
+ * Batch-record multiple titles at once (avoids repeated file I/O).
41
+ */
42
+ export declare function recordDedupEntries(projectRoot: string, titles: {
43
+ title: string;
44
+ completed: boolean;
45
+ }[]): void;
46
+ /**
47
+ * Format dedup memory for prompt injection.
48
+ * Highest-weight entries first, respects char budget.
49
+ */
50
+ export declare function formatDedupForPrompt(entries: DedupEntry[], budget?: number): string;
51
+ //# sourceMappingURL=dedup-memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dedup-memory.d.ts","sourceRoot":"","sources":["../../src/lib/dedup-memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,SAAS,EAAE,OAAO,CAAC;CACpB;AAgDD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,EAAE,CA4BjE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,GACjB,IAAI,CAuBN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,EAAE,GAC9C,IAAI,CA0BN;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,MAAM,GAAE,MAAuB,GAAG,MAAM,CAqBnG"}
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Cross-run dedup memory with temporal decay.
3
+ *
4
+ * Persists completed/rejected proposal titles to `.blockspool/dedup-memory.json`
5
+ * so the scout prompt knows what NOT to propose. Uses the same hybrid
6
+ * weight-decay + re-confirmation model as learnings.ts:
7
+ *
8
+ * - Weight decays by `DECAY_RATE` each session load (predictable baseline).
9
+ * - Entries that keep getting re-proposed (bumped) decay slower — the
10
+ * "re-confirmation" halves the decay, keeping persistent duplicates
11
+ * prominent while stale old titles fade naturally.
12
+ * - Entries that were successfully executed get a one-time boost so they
13
+ * stick around longer than mere rejections.
14
+ * - Budget-capped prompt formatting (highest-weight first).
15
+ */
16
+ import * as fs from 'node:fs';
17
+ import * as path from 'node:path';
18
+ // ---------------------------------------------------------------------------
19
+ // Constants
20
+ // ---------------------------------------------------------------------------
21
+ const DEDUP_FILE = 'dedup-memory.json';
22
+ const DECAY_RATE = 5; // faster than learnings (3) since titles are more ephemeral
23
+ const DEFAULT_WEIGHT = 60;
24
+ const COMPLETED_WEIGHT = 80; // completed work starts heavier
25
+ const MAX_WEIGHT = 100;
26
+ const BUMP_AMOUNT = 15; // weight boost when re-encountered
27
+ const RECENT_WINDOW_MS = 3 * 24 * 60 * 60 * 1000; // 3 days
28
+ const DEFAULT_BUDGET = 1500;
29
+ // ---------------------------------------------------------------------------
30
+ // File I/O
31
+ // ---------------------------------------------------------------------------
32
+ function dedupPath(projectRoot) {
33
+ return path.join(projectRoot, '.blockspool', DEDUP_FILE);
34
+ }
35
+ function readEntries(projectRoot) {
36
+ const fp = dedupPath(projectRoot);
37
+ if (!fs.existsSync(fp))
38
+ return [];
39
+ try {
40
+ const raw = fs.readFileSync(fp, 'utf8');
41
+ const parsed = JSON.parse(raw);
42
+ return Array.isArray(parsed) ? parsed : [];
43
+ }
44
+ catch {
45
+ return [];
46
+ }
47
+ }
48
+ function writeEntries(projectRoot, entries) {
49
+ const fp = dedupPath(projectRoot);
50
+ const dir = path.dirname(fp);
51
+ if (!fs.existsSync(dir)) {
52
+ fs.mkdirSync(dir, { recursive: true });
53
+ }
54
+ fs.writeFileSync(fp, JSON.stringify(entries, null, 2) + '\n', 'utf8');
55
+ }
56
+ // ---------------------------------------------------------------------------
57
+ // Core API
58
+ // ---------------------------------------------------------------------------
59
+ /**
60
+ * Load dedup memory, apply decay, prune dead entries, write back.
61
+ * Call once per session start (mirrors learnings.loadLearnings).
62
+ */
63
+ export function loadDedupMemory(projectRoot) {
64
+ const entries = readEntries(projectRoot);
65
+ const now = Date.now();
66
+ const surviving = [];
67
+ for (const e of entries) {
68
+ let decay = DECAY_RATE;
69
+ // Re-confirmation bonus: halve decay if seen recently (keeps persistent dupes prominent)
70
+ const lastSeen = new Date(e.last_seen_at).getTime();
71
+ if (now - lastSeen < RECENT_WINDOW_MS) {
72
+ decay /= 2;
73
+ }
74
+ // Completed work decays slower (stronger signal that it's done)
75
+ if (e.completed) {
76
+ decay /= 2;
77
+ }
78
+ e.weight = Math.min(MAX_WEIGHT, e.weight - decay);
79
+ if (e.weight > 0) {
80
+ surviving.push(e);
81
+ }
82
+ }
83
+ writeEntries(projectRoot, surviving);
84
+ return surviving;
85
+ }
86
+ /**
87
+ * Record a title as "seen" — either a new duplicate rejection or a completed ticket.
88
+ * If the title already exists, bumps weight and hit_count (re-confirmation).
89
+ */
90
+ export function recordDedupEntry(projectRoot, title, completed) {
91
+ const entries = readEntries(projectRoot);
92
+ const now = new Date().toISOString();
93
+ const normalized = title.toLowerCase().trim();
94
+ const existing = entries.find(e => e.title.toLowerCase().trim() === normalized);
95
+ if (existing) {
96
+ existing.weight = Math.min(MAX_WEIGHT, existing.weight + BUMP_AMOUNT);
97
+ existing.last_seen_at = now;
98
+ existing.hit_count++;
99
+ if (completed)
100
+ existing.completed = true;
101
+ }
102
+ else {
103
+ entries.push({
104
+ title,
105
+ weight: completed ? COMPLETED_WEIGHT : DEFAULT_WEIGHT,
106
+ created_at: now,
107
+ last_seen_at: now,
108
+ hit_count: 1,
109
+ completed,
110
+ });
111
+ }
112
+ writeEntries(projectRoot, entries);
113
+ }
114
+ /**
115
+ * Batch-record multiple titles at once (avoids repeated file I/O).
116
+ */
117
+ export function recordDedupEntries(projectRoot, titles) {
118
+ if (titles.length === 0)
119
+ return;
120
+ const entries = readEntries(projectRoot);
121
+ const now = new Date().toISOString();
122
+ for (const { title, completed } of titles) {
123
+ const normalized = title.toLowerCase().trim();
124
+ const existing = entries.find(e => e.title.toLowerCase().trim() === normalized);
125
+ if (existing) {
126
+ existing.weight = Math.min(MAX_WEIGHT, existing.weight + BUMP_AMOUNT);
127
+ existing.last_seen_at = now;
128
+ existing.hit_count++;
129
+ if (completed)
130
+ existing.completed = true;
131
+ }
132
+ else {
133
+ entries.push({
134
+ title,
135
+ weight: completed ? COMPLETED_WEIGHT : DEFAULT_WEIGHT,
136
+ created_at: now,
137
+ last_seen_at: now,
138
+ hit_count: 1,
139
+ completed,
140
+ });
141
+ }
142
+ }
143
+ writeEntries(projectRoot, entries);
144
+ }
145
+ /**
146
+ * Format dedup memory for prompt injection.
147
+ * Highest-weight entries first, respects char budget.
148
+ */
149
+ export function formatDedupForPrompt(entries, budget = DEFAULT_BUDGET) {
150
+ if (entries.length === 0)
151
+ return '';
152
+ const sorted = [...entries].sort((a, b) => b.weight - a.weight);
153
+ const lines = [];
154
+ let charCount = 0;
155
+ const header = '<already-completed>\n## Already Completed — Do NOT Propose These\n\nThe following improvements have already been done or attempted. Do NOT propose similar changes:\n';
156
+ const footer = '\n</already-completed>';
157
+ charCount += header.length + footer.length;
158
+ for (const e of sorted) {
159
+ const status = e.completed ? '✓ done' : 'attempted';
160
+ const line = `- ${e.title} (${status}, seen ${e.hit_count}x)`;
161
+ if (charCount + line.length + 1 > budget)
162
+ break;
163
+ lines.push(line);
164
+ charCount += line.length + 1;
165
+ }
166
+ if (lines.length === 0)
167
+ return '';
168
+ return header + lines.join('\n') + footer;
169
+ }
170
+ //# sourceMappingURL=dedup-memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dedup-memory.js","sourceRoot":"","sources":["../../src/lib/dedup-memory.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import type { DatabaseAdapter } from '@blockspool/core/db';
5
5
  import type { TicketProposal } from '@blockspool/core/scout';
6
+ import { type CodebaseIndex } from './codebase-index.js';
6
7
  /**
7
8
  * Sleep helper
8
9
  */
@@ -54,6 +55,11 @@ export declare function runAutoWorkMode(options: {
54
55
  export declare function partitionIntoWaves<T extends {
55
56
  files: string[];
56
57
  }>(proposals: T[]): T[][];
58
+ /**
59
+ * Build escalation prompt text for scout retries.
60
+ * Suggests unexplored modules and fresh angles when previous attempts found nothing.
61
+ */
62
+ export declare function buildScoutEscalation(retryCount: number, scoutedDirs: string[], codebaseIndex: CodebaseIndex | null): string;
57
63
  /**
58
64
  * Run auto mode - the full "just run it" experience
59
65
  * Scout → auto-approve safe changes → run → create draft PRs
@@ -1 +1 @@
1
- {"version":3,"file":"solo-auto.d.ts","sourceRoot":"","sources":["../../src/lib/solo-auto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solo-auto.d.ts","sourceRoot":"","sources":["../../src/lib/solo-auto.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ import { buildCodebaseIndex, refreshCodebaseIndex, hasStructuralChanges, formatI
21
21
  import { buildProposalReviewPrompt, parseReviewedProposals, applyReviewToProposals, } from './proposal-review.js';
22
22
  import { detectProjectMetadata, formatMetadataForPrompt } from './project-metadata.js';
23
23
  import { DEFAULT_AUTO_CONFIG } from './solo-config.js';
24
+ import { loadDedupMemory, recordDedupEntry, recordDedupEntries, formatDedupForPrompt, } from './dedup-memory.js';
24
25
  /**
25
26
  * Sleep helper
26
27
  */
@@ -381,6 +382,44 @@ export function partitionIntoWaves(proposals) {
381
382
  }
382
383
  return waves;
383
384
  }
385
+ /**
386
+ * Build escalation prompt text for scout retries.
387
+ * Suggests unexplored modules and fresh angles when previous attempts found nothing.
388
+ */
389
+ export function buildScoutEscalation(retryCount, scoutedDirs, codebaseIndex) {
390
+ const parts = [
391
+ '## Previous Attempts Found Nothing — Fresh Approach Required',
392
+ '',
393
+ ];
394
+ if (scoutedDirs.length > 0) {
395
+ parts.push('### What Was Already Tried');
396
+ for (const dir of scoutedDirs) {
397
+ parts.push(`- Scouted \`${dir}\``);
398
+ }
399
+ parts.push('');
400
+ }
401
+ // Suggest unexplored modules from codebase index
402
+ const exploredSet = new Set(scoutedDirs.map(d => d.replace(/\/$/, '')));
403
+ const unexplored = [];
404
+ if (codebaseIndex) {
405
+ for (const mod of codebaseIndex.modules) {
406
+ if (!exploredSet.has(mod.path) && !exploredSet.has(mod.path + '/')) {
407
+ unexplored.push(mod.path);
408
+ }
409
+ }
410
+ }
411
+ parts.push('### What to Do Differently');
412
+ parts.push('');
413
+ parts.push('Knowing everything from the attempts above, take a completely different angle:');
414
+ parts.push('- Do NOT re-read the directories listed above.');
415
+ if (unexplored.length > 0) {
416
+ parts.push(`- Try unexplored areas: ${unexplored.slice(0, 8).map(d => `\`${d}\``).join(', ')}`);
417
+ }
418
+ parts.push('- Switch categories: if you looked for bugs, look for tests. If tests, try security.');
419
+ parts.push('- Read at least 15 NEW source files.');
420
+ parts.push('- If genuinely nothing to improve, explain your analysis across all attempts.');
421
+ return parts.join('\n');
422
+ }
384
423
  /**
385
424
  * Run auto mode - the full "just run it" experience
386
425
  * Scout → auto-approve safe changes → run → create draft PRs
@@ -506,7 +545,7 @@ export async function runAutoMode(options) {
506
545
  else {
507
546
  console.log(chalk.gray(' Mode: Scout → Auto-approve → Run → PR'));
508
547
  }
509
- console.log(chalk.gray(` Scope: ${userScope || (isContinuous ? 'rotating' : 'src')}`));
548
+ console.log(chalk.gray(` Scope: ${userScope || (isContinuous ? 'rotating' : 'auto')}`));
510
549
  console.log(chalk.gray(` Max PRs: ${maxPrs}`));
511
550
  console.log(chalk.gray(` Min confidence: ${minConfidence}%`));
512
551
  console.log(chalk.gray(` Categories: ${initialCategories.allow.join(', ')}`));
@@ -576,6 +615,11 @@ export async function runAutoMode(options) {
576
615
  if (allLearnings.length > 0) {
577
616
  console.log(chalk.gray(` Learnings loaded: ${allLearnings.length}`));
578
617
  }
618
+ // Load dedup memory (with decay)
619
+ let dedupMemory = loadDedupMemory(repoRoot);
620
+ if (dedupMemory.length > 0) {
621
+ console.log(chalk.gray(` Dedup memory loaded: ${dedupMemory.length} titles`));
622
+ }
579
623
  // Build codebase index for structural awareness
580
624
  const excludeDirs = ['node_modules', 'dist', 'build', '.git', '.blockspool', 'coverage', '__pycache__'];
581
625
  let codebaseIndex = null;
@@ -619,6 +663,8 @@ export async function runAutoMode(options) {
619
663
  const getNextScope = () => {
620
664
  if (userScope)
621
665
  return userScope;
666
+ if (!isContinuous)
667
+ return '**';
622
668
  const scope = defaultScopes[scopeIndex % defaultScopes.length];
623
669
  scopeIndex++;
624
670
  return scope;
@@ -722,6 +768,10 @@ export async function runAutoMode(options) {
722
768
  const pullInterval = config?.auto?.pullEveryNCycles ?? 5;
723
769
  const pullPolicy = config?.auto?.pullPolicy ?? 'halt';
724
770
  let cyclesSinceLastPull = 0;
771
+ // Scout retry/escalation state
772
+ const MAX_SCOUT_RETRIES = 2;
773
+ let scoutRetries = 0;
774
+ let scoutedDirs = [];
725
775
  do {
726
776
  cycleCount++;
727
777
  const scope = getNextScope();
@@ -829,7 +879,12 @@ export async function runAutoMode(options) {
829
879
  const learningsSuffix = learningsPrefix ? learningsPrefix + '\n\n' : '';
830
880
  const indexPrefix = codebaseIndex ? formatIndexForPrompt(codebaseIndex, cycleCount) + '\n\n' : '';
831
881
  const metadataPrefix = metadataBlock ? metadataBlock + '\n\n' : '';
832
- const basePrompt = guidelinesPrefix + metadataPrefix + indexPrefix + learningsSuffix + (cycleFormula?.prompt || '');
882
+ const escalationPrefix = scoutRetries > 0
883
+ ? buildScoutEscalation(scoutRetries, scoutedDirs, codebaseIndex) + '\n\n'
884
+ : '';
885
+ const dedupPrefix = formatDedupForPrompt(dedupMemory);
886
+ const dedupBlock = dedupPrefix ? dedupPrefix + '\n\n' : '';
887
+ const basePrompt = guidelinesPrefix + metadataPrefix + indexPrefix + dedupBlock + escalationPrefix + learningsSuffix + (cycleFormula?.prompt || '');
833
888
  const effectivePrompt = hintBlock ? (basePrompt + hintBlock) : (basePrompt || undefined);
834
889
  const scoutResult = await scoutRepo(deps, {
835
890
  path: scoutPath,
@@ -856,13 +911,22 @@ export async function runAutoMode(options) {
856
911
  }
857
912
  const proposals = scoutResult.proposals;
858
913
  if (proposals.length === 0) {
859
- console.log(chalk.gray(` No improvements found in ${scope}`));
860
914
  if (scoutResult.errors.length > 0) {
861
915
  for (const err of scoutResult.errors) {
862
916
  console.log(chalk.yellow(` ⚠ ${err}`));
863
917
  }
864
918
  }
919
+ scoutedDirs.push(scope);
920
+ if (scoutRetries < MAX_SCOUT_RETRIES) {
921
+ scoutRetries++;
922
+ console.log(chalk.gray(` No improvements found in ${scope} (attempt ${scoutRetries}/${MAX_SCOUT_RETRIES + 1}). Retrying with fresh approach...`));
923
+ await sleep(1000);
924
+ continue;
925
+ }
926
+ // Exhausted retries
865
927
  if (isContinuous) {
928
+ scoutRetries = 0;
929
+ scoutedDirs = [];
866
930
  await sleep(2000);
867
931
  continue;
868
932
  }
@@ -973,10 +1037,12 @@ export async function runAutoMode(options) {
973
1037
  : categoryFiltered;
974
1038
  const approvedProposals = [];
975
1039
  let duplicateCount = 0;
1040
+ const rejectedDupTitles = [];
976
1041
  for (const p of scopeFiltered) {
977
1042
  const dupCheck = await isDuplicateProposal(p, dedupContext.existingTitles, dedupContext.openPrBranches);
978
1043
  if (dupCheck.isDuplicate) {
979
1044
  duplicateCount++;
1045
+ rejectedDupTitles.push(p.title);
980
1046
  if (options.verbose) {
981
1047
  console.log(chalk.gray(` Skipping duplicate: ${p.title}`));
982
1048
  console.log(chalk.gray(` Reason: ${dupCheck.reason}`));
@@ -986,12 +1052,26 @@ export async function runAutoMode(options) {
986
1052
  approvedProposals.push(p);
987
1053
  }
988
1054
  }
1055
+ // Bump dedup memory for rejected duplicates (re-confirmation keeps them prominent)
1056
+ if (rejectedDupTitles.length > 0) {
1057
+ recordDedupEntries(repoRoot, rejectedDupTitles.map(t => ({ title: t, completed: false })));
1058
+ dedupMemory = loadDedupMemory(repoRoot);
1059
+ }
989
1060
  if (approvedProposals.length === 0) {
990
1061
  const reason = duplicateCount > 0
991
1062
  ? `No new proposals (${duplicateCount} duplicates filtered)`
992
1063
  : 'No proposals passed trust filter';
993
1064
  console.log(chalk.gray(` ${reason}`));
1065
+ scoutedDirs.push(scope);
1066
+ if (scoutRetries < MAX_SCOUT_RETRIES) {
1067
+ scoutRetries++;
1068
+ console.log(chalk.gray(` Retrying with fresh approach (attempt ${scoutRetries}/${MAX_SCOUT_RETRIES + 1})...`));
1069
+ await sleep(1000);
1070
+ continue;
1071
+ }
994
1072
  if (isContinuous) {
1073
+ scoutRetries = 0;
1074
+ scoutedDirs = [];
995
1075
  await sleep(2000);
996
1076
  continue;
997
1077
  }
@@ -1009,6 +1089,9 @@ export async function runAutoMode(options) {
1009
1089
  : `Auto-approved: ${approvedProposals.length}, processing: ${toProcess.length}`;
1010
1090
  console.log(chalk.gray(` ${statsMsg}`));
1011
1091
  console.log();
1092
+ // Reset retry state on success
1093
+ scoutRetries = 0;
1094
+ scoutedDirs = [];
1012
1095
  if (!isContinuous || cycleCount === 1) {
1013
1096
  console.log(chalk.bold('Will process:'));
1014
1097
  for (const p of toProcess) {
@@ -1232,9 +1315,11 @@ export async function runAutoMode(options) {
1232
1315
  totalPrsCreated++;
1233
1316
  if (result.prUrl)
1234
1317
  allPrUrls.push(result.prUrl);
1318
+ recordDedupEntry(repoRoot, toProcess[i].title, true);
1235
1319
  }
1236
1320
  else {
1237
1321
  totalFailed++;
1322
+ recordDedupEntry(repoRoot, toProcess[i].title, false);
1238
1323
  }
1239
1324
  console.log();
1240
1325
  if (i < toProcess.length - 1 && shouldContinue()) {
@@ -1291,17 +1376,22 @@ export async function runAutoMode(options) {
1291
1376
  }
1292
1377
  });
1293
1378
  const taskResults = await Promise.allSettled(tasks);
1294
- for (const r of taskResults) {
1379
+ for (let ri = 0; ri < taskResults.length; ri++) {
1380
+ const r = taskResults[ri];
1381
+ const proposal = wave[ri];
1295
1382
  if (r.status === 'fulfilled' && r.value.success) {
1296
1383
  totalPrsCreated++;
1297
1384
  if (r.value.prUrl)
1298
1385
  allPrUrls.push(r.value.prUrl);
1386
+ recordDedupEntry(repoRoot, proposal.title, true);
1299
1387
  }
1300
1388
  else if (r.status === 'fulfilled') {
1301
1389
  totalFailed++;
1390
+ recordDedupEntry(repoRoot, proposal.title, false);
1302
1391
  }
1303
1392
  else {
1304
1393
  totalFailed++;
1394
+ recordDedupEntry(repoRoot, proposal.title, false);
1305
1395
  }
1306
1396
  }
1307
1397
  }
@@ -1330,6 +1420,10 @@ export async function runAutoMode(options) {
1330
1420
  // Non-fatal
1331
1421
  }
1332
1422
  }
1423
+ // Reload dedup memory for next cycle (picks up entries recorded this cycle)
1424
+ if (isContinuous) {
1425
+ dedupMemory = loadDedupMemory(repoRoot);
1426
+ }
1333
1427
  if (isContinuous && shouldContinue()) {
1334
1428
  console.log(chalk.gray('Pausing before next cycle...'));
1335
1429
  await sleep(5000);
@@ -1 +1 @@
1
- {"version":3,"file":"solo-auto.js","sourceRoot":"","sources":["../../src/lib/solo-auto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solo-auto.js","sourceRoot":"","sources":["../../src/lib/solo-auto.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EACL,SAAS,GAGV,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAEL,UAAU,EACV,aAAa,EACb,QAAQ,EACR,UAAU,EACV,eAAe,EACf,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAClH,OAAO,EAAE,aAAa,EAAE,SAAS,EAA+C,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAChI,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE5E,OAAO,EACL,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EACzD,oBAAoB,EAAE,wBAAwB,EAAE,cAAc,EAAE,WAAW,GAE5E,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAC9D,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,yBAAyB,EAAE,sBAAsB,EAAE,sBAAsB,GAC1E,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACL,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,oBAAoB,GAE5E,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,KAAK;SACT,WAAW,EAAE;SACb,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,CAAS,EAAE,CAAS;IAClD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAE/E,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAErD,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,OAAO,OAAO,GAAG,KAAK,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAA6C,EAC7C,cAAwB,EACxB,cAAwB,EACxB,mBAAmB,GAAG,GAAG;IAEzB,MAAM,kBAAkB,GAAG,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1D,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;QACtC,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,kBAAkB,EAAE,CAAC;YACpD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,QAAQ,GAAG,EAAE,CAAC;QACrE,CAAC;IACH,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACtD,IAAI,GAAG,IAAI,mBAAmB,EAAE,CAAC;YAC/B,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,QAAQ,GAAG,EAAE,CAAC;QAC7F,CAAC;IACH,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACzF,IAAI,WAAW,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,mBAAmB,EAAE,CAAC;YACvF,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,MAAM,EAAE,EAAE,CAAC;QACpE,CAAC;IACH,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAwB,EACxB,SAAiB,EACjB,QAAgB;IAEhB,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE;QACjE,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,UAAU;SAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC;SACjC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAErB,IAAI,cAAc,GAAa,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,qBAAqB,CAAC,EAAE;YACjF,GAAG,EAAE,QAAQ;YACb,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,cAAc,GAAG,MAAM,CAAC,MAAM;iBAC3B,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;iBACzC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oBAAoB;IACtB,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,SAA2B;IAClE,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,KAAK,UAAU,IAAI,CAAC,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAC1H,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,KAAK,SAAS,IAAI,CAAC,CAAC,oBAAoB,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;IACxH,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,CAAO,sBAAsB;IACvD,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,CAAO,2BAA2B;IAC5D,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,MAAM;AACrE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAKrC;IACC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAEzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,aAAa,EAAE,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAEvD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEjD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC,CAAC;QAC9E,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,YAAY,GAA4D,EAAE,CAAC;IACjF,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7F,YAAY,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;QAC1E,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,YAAY,CAAC,MAAM,kBAAkB,CAAC,CAAC,CAAC;IACxE,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,0BAA0B,CAAC,CAAC;QACrG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEpC,gDAAgD;IAChD,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE;QAC1C,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,IAAI,SAAS;KACtD,CAAC,CAAC;IACH,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,EAAE,GAAG,mBAAmB,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC;IAC7D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB;QAChD,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,0BAA0B;IAC1B,MAAM,eAAe,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC;IAEhF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiE,CAAC;IAC1F,MAAM,OAAO,GAAwE,EAAE,CAAC;IAExF,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,KAAK,UAAU,aAAa;QAC1B,IAAI,WAAW,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;QAE3C,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC3D,qBAAqB,EAAE,CAAC;QAExB,IAAI,GAAwD,CAAC;QAE7D,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YAE9D,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,QAAQ,EAAE;oBACR,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,OAAO,CAAC,EAAE,IAAI,KAAK;iBAC9B;aACF,CAAC,CAAC;YAEH,0CAA0C;YAC1C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,gBAAgB;gBACjD,CAAC,CAAC,cAAc,CAAC,gBAAgB,EAAE;oBAC/B,KAAK,EAAE,MAAM,CAAC,YAAY;oBAC1B,QAAQ,EAAE,MAAM,CAAC,oBAAoB;iBACtC,CAAC;gBACJ,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,cAAc,GAAG,wBAAwB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC7F,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,YAAY,CAAC,QAAS,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;gBACjC,MAAM;gBACN,QAAQ,EAAE,QAAS;gBACnB,MAAM;gBACN,OAAO;gBACP,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,OAAO,CAAC,EAAE,IAAI,KAAK;gBAC7B,SAAS,EAAE,MAAM;gBACjB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;gBACjC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;oBAClB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;gBACD,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;gBACjF,gBAAgB,EAAE,cAAc,IAAI,SAAS;gBAC7C,eAAe,EAAE,iBAAiB;aACnC,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACxC,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACpF,qDAAqD;gBACrD,IAAI,QAAQ,CAAC,gBAAgB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9D,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;wBAClC,eAAe,CAAC,QAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACrE,CAAC;iBAAM,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,yBAAyB,MAAM,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC;gBAEvG,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChE,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;oBACtD,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,wBAAwB,MAAM,CAAC,EAAE,sBAAsB,MAAM,CAAC,aAAa,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;gBAC1H,CAAC;gBAED,kCAAkC;gBAClC,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;oBAC9B,WAAW,CAAC,QAAS,EAAE;wBACrB,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,yBAAyB,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;wBAC5D,QAAQ,EAAE,SAAS;wBACnB,MAAM,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE;wBACzD,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,oBAAoB,CAAC;qBACpE,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC;gBACzE,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBAE1D,0BAA0B;gBAC1B,IAAI,QAAQ,CAAC,gBAAgB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;oBACtD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,aAAa,CAAC;oBACpD,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,KAAK,WAAW,CAAC,CAAC,CAAC,YAAqB;wBAC7E,CAAC,CAAC,MAAM,CAAC,aAAa,KAAK,iBAAiB,CAAC,CAAC,CAAC,iBAA0B;4BACzE,CAAC,CAAC,gBAAyB,CAAC;oBAC9B,WAAW,CAAC,QAAS,EAAE;wBACrB,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,YAAY,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;wBACvD,QAAQ,EAAE,UAAU,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;wBAC5D,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE;wBAC5C,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,oBAAoB,CAAC;qBACpE,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAClG,CAAC;YACD,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAE1D,OAAO,CAAC,IAAI,CAAC;gBACX,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE;oBACN,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC3E,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC7D,aAAa,EAAE,aAAa;iBAC7B;aACF,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3B,qBAAqB,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,SAAS,qBAAqB;QAC5B,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,OAAO,WAAW,GAAG,YAAY,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,aAAa,GAAoB,EAAE,CAAC;QAC1C,OAAO,QAAQ,CAAC,IAAI,GAAG,aAAa,IAAI,WAAW,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;YAC1E,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IAEtB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEtD,KAAK,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,KAAK,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC;QAClD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAErD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAgC,SAAc;IAC9E,MAAM,KAAK,GAAU,EAAE,CAAC;IAExB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CACrC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CACvB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAChD,CACF,CAAC;YACF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpB,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAkB,EAClB,WAAqB,EACrB,aAAmC;IAEnC,MAAM,KAAK,GAAG;QACZ,8DAA8D;QAC9D,EAAE;KACH,CAAC;IAEF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACzC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;QACrC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,iDAAiD;IACjD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACnE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;IAC7F,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC7D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,2BAA2B,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;IACnG,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IACnD,KAAK,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;IAE5F,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAyBjC;IACC,4BAA4B;IAC5B,IAAI,aAAa,GAA2C,IAAI,CAAC;IACjE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QACpE,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACpE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC3D,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,SAAS,GAAG,CAAC,CAAC;IACzH,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;UACrE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACrE,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnF,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9F,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,EAAE,aAAa,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACxG,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC;IAEzC,gEAAgE;IAChE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClF,MAAM,aAAa,GAAG,SAAS,KAAK,SAAS,IAAI,SAAS,GAAG,CAAC,CAAC;IAE/D,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,EAAE,KAAK,CAAC;IACxD,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAEvD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEpC,MAAM,kBAAkB,GAAG,CAAC,CAAC;IAC7B,IAAI,WAAW,GAA2C,IAAI,CAAC;IAC/D,IAAI,gBAAgB,GAA2C,IAAI,CAAC;IACpE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QAC7D,IAAI,YAAY,EAAE,CAAC;YACjB,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QACD,2EAA2E;QAC3E,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAChC,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE;QACxC,IAAI,aAAa;YAAE,OAAO,aAAa,CAAC;QACxC,IAAI,WAAW,IAAI,YAAY,IAAI,KAAK,GAAG,kBAAkB,KAAK,CAAC;YAAE,OAAO,WAAW,CAAC;QACxF,6DAA6D;QAC7D,IAAI,gBAAgB,IAAI,QAAQ,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB;gBACxC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBACzC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,iBAAiB,IAAI,CAAC,CAAC;YACzC,qCAAqC;YACrC,MAAM,OAAO,GAAG,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,KAAK,CAAC;YAClD,IAAI,OAAO,IAAI,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAAE,OAAO,gBAAgB,CAAC;QAC7E,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,MAAM,kBAAkB,GAAG,CAAC,OAA6B,EAAE,EAAE;QAC3D,MAAM,KAAK,GAAG,OAAO,EAAE,UAAU;YAC/B,CAAC,CAAC,OAAO,CAAC,UAAsB;YAChC,CAAC,CAAC,OAAO,CAAC,UAAU;gBAClB,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC3D,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,EAAE,UAAU;YAC/B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,OAAO,CAAC,UAAU;gBAClB,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC;gBACjC,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAClD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEF,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAEhC,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,iBAAiB,GAAG,IAAI,CAAC;QACzB,IAAI,mBAAmB,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,8EAA8E,CAAC,CAAC,CAAC;QAC5G,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAEvC,qDAAqD;IACrD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;QAC1E,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,OAAQ,CAAC,CAAC;YACnC,MAAM,WAAW,GAAG,YAAY,GAAG,EAAE;gBACnC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU;gBACvC,CAAC,CAAC,YAAY,GAAG,EAAE,KAAK,CAAC;oBACvB,CAAC,CAAC,GAAG,YAAY,GAAG,EAAE,QAAQ;oBAC9B,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,GAAG,CAAC;YAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,WAAW,WAAW,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAC;QACnG,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,SAAS,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACzF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,EAAE,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,aAAa,GAAG,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACnE,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,SAAS,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,+DAA+D;IAC/D,IAAI,iBAA2C,CAAC;IAChD,IAAI,YAAY,EAAE,CAAC;QACjB,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpF,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC7F,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAChD,wEAAwE;QACxE,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,KAAK,CAAC;YAC9C,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YACxD,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBACpC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC3D,SAAS,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,sCAAsC,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC9F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC,CAAC;YACnE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;QACtD,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED,oDAAoD;IACpD,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE3C,gEAAgE;IAChE,MAAM,iBAAiB,GACrB,CAAC,OAAO,CAAC,cAAc,KAAK,OAAO,IAAI,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;IAChG,MAAM,cAAc,GAAG;QACrB,OAAO,EAAE,iBAAiB;QAC1B,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,KAAK,KAAK;QACxD,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,IAAI,SAAS;KACtD,CAAC;IAEF,sEAAsE;IACtE,IAAI,UAAU,GAA6B,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACpF,MAAM,yBAAyB,GAAG,MAAM,EAAE,IAAI,EAAE,uBAAuB,IAAI,EAAE,CAAC;IAC9E,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,EAAE,GAAG,mBAAmB,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC;IAC7D,IAAI,YAAY,GAAe,QAAQ,CAAC,gBAAgB;QACtD,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,iCAAiC;IACjC,IAAI,WAAW,GAAiB,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC1D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,WAAW,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,gDAAgD;IAChD,MAAM,WAAW,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IACxG,IAAI,aAAa,GAAyB,IAAI,CAAC;IAC/C,IAAI,CAAC;QACH,aAAa,GAAG,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,aAAa,CAAC,OAAO,CAAC,MAAM,aAAa,aAAa,CAAC,gBAAgB,CAAC,MAAM,cAAc,aAAa,CAAC,WAAW,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC;IACxL,CAAC;IAAC,MAAM,CAAC;QACP,wDAAwD;IAC1D,CAAC;IAED,iEAAiE;IACjE,MAAM,WAAW,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC3D,IAAI,WAAW,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/M,CAAC;IAED,uEAAuE;IACvE,IAAI,CAAC;QACH,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC9F,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QAC9E,IAAI,WAAW,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,WAAW,CAAC,WAAW,gBAAgB,CAAC,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wDAAwD;IAC1D,CAAC;IAED,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,+BAA+B;IAC/B,IAAI,eAAmC,CAAC;IACxC,IAAI,qBAAyC,CAAC;IAC9C,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,MAAM,wBAAwB,GAAa,EAAE,CAAC;IAE9C,MAAM,YAAY,GAAG,GAAW,EAAE;QAChC,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;QAChC,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAC/B,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/D,UAAU,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAY,EAAE;QACnC,IAAI,iBAAiB;YAAE,OAAO,KAAK,CAAC;QACpC,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,iBAAiB,IAAI,MAAM;gBAAE,OAAO,KAAK,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,IAAI,eAAe,IAAI,MAAM;gBAAE,OAAO,KAAK,CAAC;QAC9C,CAAC;QACD,IAAI,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,OAAO;YAAE,OAAO,KAAK,CAAC;QACnD,IAAI,UAAU,IAAI,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QACvG,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,EAAU,EAAU,EAAE;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;QACnD,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,GAAG,KAAK,KAAK,OAAO,GAAG,CAAC;QAC9C,OAAO,GAAG,OAAO,GAAG,CAAC;IACvB,CAAC,CAAC;IAEF,mDAAmD;IACnD,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,GAAG,CAAC;IAEpF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE;YACpD,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC7B,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAEpE,oEAAoE;QACpE,IAAI,YAAsC,CAAC;QAC3C,IAAI,gBAA8C,CAAC;QACnD,IAAI,OAAO,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;YACrC,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACrE,YAAY,GAAG,IAAI,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QACzG,CAAC;QACD,IAAI,OAAO,CAAC,cAAc,KAAK,OAAO,EAAE,CAAC;YACvC,gBAAgB,GAAG,IAAI,qBAAqB,CAAC;gBAC3C,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;gBACjC,KAAK,EAAE,OAAO,CAAC,UAAU;gBACzB,mBAAmB,EAAE,OAAO,CAAC,qBAAqB;aACnD,CAAC,CAAC;QACL,CAAC;QAED,wCAAwC;QACxC,IAAI,kBAAkB,GAAG,QAAQ,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAC/D,4FAA4F,EAC5F,EAAE,GAAG,EAAE,QAAQ,EAAE,CAClB,CAAC,CAAC,IAAI,EAAE,CAAC;YACV,kBAAkB,GAAG,UAAU,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;QACtE,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;QAED,mDAAmD;QACnD,IAAI,aAAa,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACrC,MAAM,EAAE,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YACrE,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC;YACrC,qBAAqB,GAAG,EAAE,CAAC,qBAAqB,CAAC;YACjD,eAAe,GAAG,CAAC,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,eAAe,EAAE,CAAC,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,mDAAmD;QACnD,MAAM,iBAAiB,GAAG,KAAK,IAAmB,EAAE;YAClD,IAAI,CAAC,aAAa,IAAI,CAAC,eAAe,IAAI,CAAC,qBAAqB;gBAAE,OAAO;YACzE,IAAI,oBAAoB,KAAK,CAAC;gBAAE,OAAO;YAEvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,eAAe,KAAK,oBAAoB,cAAc,CAAC,CAAC,CAAC;YAC3G,MAAM,KAAK,GAAG,MAAM,kBAAkB,CACpC,QAAQ,EACR,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,CAAC,GAAG,wBAAwB,CAAC,CAC9B,CAAC;YACF,IAAI,KAAK,EAAE,CAAC;gBACV,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,KAAK,EAAE,CAAC,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6CAA6C,CAAC,CAAC,CAAC;YAC3E,CAAC;YACD,iBAAiB,EAAE,CAAC;QACtB,CAAC,CAAC;QAEF,yCAAyC;QACzC,MAAM,iBAAiB,GAAG,KAAK,IAAmB,EAAE;YAClD,IAAI,CAAC,aAAa;gBAAE,OAAO;YAC3B,+BAA+B;YAC/B,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACjC,oBAAoB,GAAG,CAAC,CAAC;YACzB,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC;YACpC,MAAM,EAAE,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YACrE,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC;YACrC,qBAAqB,GAAG,EAAE,CAAC,qBAAqB,CAAC;YACjD,eAAe,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,eAAe,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC;QAEF,yBAAyB;QACzB,MAAM,YAAY,GAAG,MAAM,EAAE,IAAI,EAAE,gBAAgB,IAAI,CAAC,CAAC;QACzD,MAAM,UAAU,GAAoB,MAAM,EAAE,IAAI,EAAE,UAAU,IAAI,MAAM,CAAC;QACvE,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAE5B,+BAA+B;QAC/B,MAAM,iBAAiB,GAAG,CAAC,CAAC;QAC5B,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,WAAW,GAAa,EAAE,CAAC;QAE/B,GAAG,CAAC;YACF,UAAU,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;YAE7B,kDAAkD;YAClD,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC;gBACrC,mBAAmB,EAAE,CAAC;gBACtB,IAAI,mBAAmB,IAAI,YAAY,EAAE,CAAC;oBACxC,mBAAmB,GAAG,CAAC,CAAC;oBACxB,IAAI,CAAC;wBACH,kEAAkE;wBAClE,MAAM,WAAW,GAAG,SAAS,CAC3B,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAC,EAC9C,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CACrD,CAAC;wBAEF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAC7B,6CAA6C;4BAC7C,MAAM,WAAW,GAAG,SAAS,CAC3B,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,kBAAkB,EAAE,CAAC,EAC7D,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CACrC,CAAC;4BAEF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gCAC7B,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;gCAC3C,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;oCACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC,kBAAkB,EAAE,CAAC,CAAC,CAAC;gCACjF,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,uCAAuC;gCACvC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,2BAA2B,CAAC;gCAEzE,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;oCAC1B,qDAAqD;oCACrD,IAAI,aAAa,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;wCAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4EAA4E,CAAC,CAAC,CAAC;wCACxG,MAAM,iBAAiB,EAAE,CAAC;oCAC5B,CAAC;oCAED,OAAO,CAAC,GAAG,EAAE,CAAC;oCACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gDAAgD,kBAAkB,EAAE,CAAC,CAAC,CAAC;oCAC7F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC;oCACvC,OAAO,CAAC,GAAG,EAAE,CAAC;oCACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;oCACvC,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;oCACrE,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;oCAChE,OAAO,CAAC,GAAG,EAAE,CAAC;oCACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC,CAAC;oCAEjG,IAAI,aAAa;wCAAE,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;oCACpD,iBAAiB,EAAE,EAAE,CAAC;oCACtB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;oCACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gCAClB,CAAC;qCAAM,CAAC;oCACN,+CAA+C;oCAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,wCAAwC,kBAAkB,6BAA6B,CAAC,CAAC,CAAC;oCACnH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;oCACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC,CAAC;gCAC7E,CAAC;4BACH,CAAC;wBACH,CAAC;6BAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;4BAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gCAAgC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;wBAC1F,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,8CAA8C;oBAChD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,8BAA8B;YAC9B,IAAI,yBAAyB,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,yBAAyB,KAAK,CAAC,EAAE,CAAC;gBACpG,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBACtD,IAAI,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;YAED,IAAI,YAAY,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,UAAU,MAAM,CAAC,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/E,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,iBAAiB,IAAI,MAAM,KAAK,eAAe,kBAAkB,CAAC,CAAC,CAAC;gBACjH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,eAAe,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC;gBACzE,CAAC;gBACD,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3E,CAAC;gBACD,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAElF,MAAM,YAAY,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;YACjD,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;YAC5F,MAAM,WAAW,GAAG,YAAY,EAAE,IAAI,KAAK,MAAM,IAAI,YAAY,KAAK,aAAa,CAAC;YACpF,MAAM,gBAAgB,GAAG,YAAY,EAAE,IAAI,KAAK,YAAY,IAAI,YAAY,KAAK,aAAa,CAAC;YAE/F,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,UAAU,UAAU,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;YACtF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC;YAE7D,iCAAiC;YACjC,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC/E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,SAAS,mCAAmC,CAAC,CAAC,CAAC;YAC9F,CAAC;YAED,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,CAAC,aAAa,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC9F,MAAM,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,yBAAyB,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1F,MAAM,eAAe,GAAG,QAAQ,CAAC,gBAAgB;gBAC/C,CAAC,CAAC,wBAAwB,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;gBACtG,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAClG,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,MAAM,gBAAgB,GAAG,YAAY,GAAG,CAAC;gBACvC,CAAC,CAAC,oBAAoB,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,CAAC,GAAG,MAAM;gBACzE,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,WAAW,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,MAAM,UAAU,GAAG,gBAAgB,GAAG,cAAc,GAAG,WAAW,GAAG,UAAU,GAAG,gBAAgB,GAAG,eAAe,GAAG,CAAC,YAAY,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;YACpJ,MAAM,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC;YACzF,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE;gBACxC,IAAI,EAAE,SAAS;gBACf,KAAK;gBACL,YAAY,EAAE,EAAE;gBAChB,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,aAAa,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;gBAChF,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,IAAI,MAAM,CAAC;gBAC/D,YAAY,EAAE,eAAe;gBAC7B,WAAW,EAAE,KAAK;gBAClB,OAAO,EAAE,YAAY;gBACrB,cAAc,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC;gBACjF,UAAU,EAAE,CAAC,QAAuB,EAAE,EAAE;oBACtC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpB,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;wBAC3C,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;4BAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;4BACpD,YAAY,GAAG,SAAS,CAAC;wBAC3B,CAAC;oBACH,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACrD,CAAC;YAED,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;YAExC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClC,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;wBACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;gBACD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxB,IAAI,YAAY,GAAG,iBAAiB,EAAE,CAAC;oBACrC,YAAY,EAAE,CAAC;oBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,KAAK,aAAa,YAAY,IAAI,iBAAiB,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;oBACnJ,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClB,SAAS;gBACX,CAAC;gBACD,oBAAoB;gBACpB,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,GAAG,CAAC,CAAC;oBACjB,WAAW,GAAG,EAAE,CAAC;oBACjB,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClB,SAAS;gBACX,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,CAAC;YACH,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,CAAC,MAAM,yBAAyB,CAAC,CAAC,CAAC;YAE9E,qDAAqD;YACrD,IAAI,QAAQ,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvE,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;oBAC1D,MAAM,aAAa,GAAG,gBAAgB,IAAI;wBACxC,IAAI,EAAE,eAAe;wBACrB,GAAG,EAAE,CAAC,IAA4C,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;qBACvE,CAAC;oBACF,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC;wBAC3C,YAAY,EAAE,CAAC,aAAa,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ;wBACzF,MAAM,EAAE,YAAY;wBACpB,SAAS,EAAE,MAAM;wBACjB,OAAO,EAAE,KAAK;wBACd,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;qBACrB,CAAC,CAAC;oBAEH,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;wBACzB,MAAM,QAAQ,GAAG,sBAAsB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;wBAC7D,IAAI,QAAQ,EAAE,CAAC;4BACb,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;4BAChD,MAAM,OAAO,GAAG,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;4BAC5D,mCAAmC;4BACnC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;4BACrB,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;4BAE3B,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gCAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gCACvB,OAAO,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC;4BACrD,CAAC,CAAC,CAAC,MAAM,CAAC;4BACV,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;4BACtE,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gCAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,aAAa,cAAc,aAAa,WAAW,CAAC,CAAC,CAAC;4BAC5F,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,iEAAiE;oBACjE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sDAAsD,CAAC,CAAC,CAAC;oBACpF,CAAC;gBACH,CAAC;YACH,CAAC;YAED,iEAAiE;YACjE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACtD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,MAAM,oCAAoC,CAAC,CAAC,CAAC;gBACpF,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;oBAC1B,SAAS,CAAC,IAAI,CAAC;wBACb,EAAE,EAAE,YAAY,IAAI,CAAC,GAAG,EAAE,EAAE;wBAC5B,QAAQ,EAAE,EAAE,CAAC,QAA6D;wBAC1E,KAAK,EAAE,EAAE,CAAC,KAAK;wBACf,WAAW,EAAE,EAAE,CAAC,WAAW;wBAC3B,KAAK,EAAE,EAAE,CAAC,KAAK;wBACf,aAAa,EAAE,EAAE,CAAC,aAAa;wBAC/B,UAAU,EAAE,EAAE,CAAC,UAAU;wBACzB,YAAY,EAAE,EAAE,CAAC,YAAY;wBAC7B,mBAAmB,EAAE,EAAE;wBACvB,qBAAqB,EAAE,CAAC,eAAe,CAAC;wBACxC,SAAS,EAAE,wBAAwB,EAAE,CAAC,cAAc,GAAG;wBACvD,oBAAoB,EAAE,QAAiB;qBACxC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC9C,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC1D,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;gBAEtC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAC9E,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAC/E,IAAI,UAAU,GAAG,aAAa;oBAAE,OAAO,KAAK,CAAC;gBAC7C,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,kEAAkE;YAClE,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACzF,MAAM,aAAa,GAAG,eAAe;gBACnC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;oBAClE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CACvD,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,eAAe,GAAG,GAAG,CAAC,CACrE,CAAC;oBACF,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,aAAa,CAAC,QAAQ,EAAE;4BACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;4BACpB,KAAK,EAAE,CAAC,CAAC,KAAK;4BACd,WAAW,EAAE,CAAC,CAAC,WAAW;4BAC1B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;4BACpB,aAAa,EAAE,CAAC,CAAC,aAAa,IAAI,EAAE;4BACpC,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE;4BAC9B,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC;4BACjC,cAAc,EAAE,KAAK;4BACrB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;yBACvB,CAAC,CAAC;wBACH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;4BACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;wBACnE,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC;gBACJ,CAAC,CAAC,gBAAgB,CAAC;YAErB,MAAM,iBAAiB,GAAyB,EAAE,CAAC;YACnD,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,MAAM,iBAAiB,GAAa,EAAE,CAAC;YACvC,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;gBAC9B,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CACxC,CAAC,EACD,YAAY,CAAC,cAAc,EAC3B,YAAY,CAAC,cAAc,CAC5B,CAAC;gBACF,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;oBACzB,cAAc,EAAE,CAAC;oBACjB,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAChC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;wBAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC5D,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAED,mFAAmF;YACnF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3F,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;YAED,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,cAAc,GAAG,CAAC;oBAC/B,CAAC,CAAC,qBAAqB,cAAc,uBAAuB;oBAC5D,CAAC,CAAC,kCAAkC,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC;gBACvC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxB,IAAI,YAAY,GAAG,iBAAiB,EAAE,CAAC;oBACrC,YAAY,EAAE,CAAC;oBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2CAA2C,YAAY,IAAI,iBAAiB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;oBAChH,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClB,SAAS;gBACX,CAAC;gBACD,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,GAAG,CAAC,CAAC;oBACjB,WAAW,GAAG,EAAE,CAAC;oBACjB,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClB,SAAS;gBACX,CAAC;qBAAM,CAAC;oBACN,MAAM;gBACR,CAAC;YACH,CAAC;YAED,MAAM,YAAY,GAAG,aAAa;gBAChC,CAAC,CAAC,CAAC,SAAU,GAAG,oBAAoB,GAAG,CAAC,MAAM,GAAG,iBAAiB,GAAG,CAAC,CAAC,GAAG,SAAU,CAAC;gBACrF,CAAC,CAAC,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;YAC/B,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;YAEnF,MAAM,QAAQ,GAAG,cAAc,GAAG,CAAC;gBACjC,CAAC,CAAC,kBAAkB,iBAAiB,CAAC,MAAM,KAAK,cAAc,qCAAqC,SAAS,CAAC,MAAM,EAAE;gBACtH,CAAC,CAAC,kBAAkB,iBAAiB,CAAC,MAAM,iBAAiB,SAAS,CAAC,MAAM,EAAE,CAAC;YAClF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,+BAA+B;YAC/B,YAAY,GAAG,CAAC,CAAC;YACjB,WAAW,GAAG,EAAE,CAAC;YAEjB,IAAI,CAAC,YAAY,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;gBACzC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;oBAC1B,MAAM,aAAa,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC9D,MAAM,UAAU,GAAG,CAAC,CAAC,oBAAoB,IAAI,QAAQ,CAAC;oBACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,IAAI,UAAU,MAAM,UAAU,MAAM,aAAa,EAAE,CAAC,CAAC,CAAC;gBAChG,CAAC;gBACD,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;gBACvD,MAAM;YACR,CAAC;YAED,IAAI,UAAU,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC1C,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtF,MAAM,UAAU,GAAG,YAAY;oBAC7B,CAAC,CAAC,+BAA+B;oBACjC,CAAC,CAAC,gBAAgB,SAAS,CAAC,MAAM,yBAAyB,CAAC;gBAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;oBACnD,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;gBACH,EAAE,CAAC,KAAK,EAAE,CAAC;gBAEX,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;oBAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;oBACtC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;oBACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;YAED,+CAA+C;YAC/C,mBAAmB,GAAG,IAAI,CAAC;YAE3B,iFAAiF;YACjF,IAAI,aAAqB,CAAC;YAC1B,IAAI,gBAAgB,EAAE,CAAC;gBACrB,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAS,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;gBACpD,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,KAAK,UAAU,IAAI,CAAC,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;gBAC1H,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,aAAa,gBAAgB,KAAK,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC;YACzG,CAAC;YAED,uFAAuF;YACvF,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,SAAS,GAAG,oBAAoB,CAAC;gBACnD,IAAI,SAAS,IAAI,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;oBACxC,aAAa,GAAG,CAAC,CAAC;oBAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,aAAa,eAAe,oBAAoB,IAAI,SAAS,cAAc,CAAC,CAAC,CAAC;gBAChI,CAAC;YACH,CAAC;YAED,MAAM,kBAAkB,GAAG,KAAK,EAAE,QAA6B,EAAE,SAAiB,EAAiD,EAAE;gBACnI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,SAAS,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAE5D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;oBAC3C,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK;oBACnD,QAAQ,EAAE,CAAC;oBACX,YAAY,EAAE,QAAQ,CAAC,KAAK;oBAC5B,cAAc,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;iBAC1D,CAAC,CAAC;gBAEH,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;gBAE9D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;oBACrC,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACnB,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;iBACzB,CAAC,CAAC;gBAEH,0CAA0C;gBAC1C,MAAM,eAAe,GAAG,QAAQ,CAAC,gBAAgB;oBAC/C,CAAC,CAAC,cAAc,CAAC,YAAY,EAAE;wBAC3B,KAAK,EAAE,MAAM,CAAC,YAAY;wBAC1B,QAAQ,EAAE,MAAM,CAAC,oBAAoB;qBACtC,CAAC;oBACJ,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;gBACjG,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,YAAY,CAAC,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzD,CAAC;gBAED,IAAI,aAAa,GAAG,MAAM,CAAC;gBAC3B,IAAI,UAAU,GAAG,GAAG,CAAC;gBACrB,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,MAAM,eAAe,GAAG,CAAC,CAAC;gBAE1B,OAAO,UAAU,IAAI,eAAe,EAAE,CAAC;oBACrC,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;4BACjC,MAAM,EAAE,aAAa;4BACrB,QAAQ;4BACR,MAAM;4BACN,OAAO;4BACP,KAAK,EAAE,UAAU,CAAC,EAAE;4BACpB,MAAM,EAAE,KAAK;4BACb,QAAQ,EAAE,CAAC,aAAa;4BACxB,OAAO,EAAE,QAAQ;4BACjB,SAAS,EAAE,MAAM;4BACjB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;4BACjC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;gCAClB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oCACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;gCACxC,CAAC;4BACH,CAAC;4BACD,gBAAgB;4BAChB,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;4BACjF,gBAAgB,EAAE,oBAAoB,IAAI,SAAS;4BACnD,eAAe,EAAE,aAAa,IAAI,SAAS;4BAC3C,GAAG,CAAC,aAAa,IAAI,eAAe,CAAC,CAAC,CAAC;gCACrC,UAAU,EAAE,eAAe;gCAC3B,QAAQ,EAAE,IAAI;gCACd,MAAM,EAAE,IAAI;6BACb,CAAC,CAAC,CAAC,EAAE,CAAC;yBACR,CAAC,CAAC;wBAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;4BACnB,wDAAwD;4BACxD,IAAI,aAAa,IAAI,qBAAqB,EAAE,CAAC;gCAC3C,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;oCACvB,+DAA+D;oCAC/D,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;oCAC/C,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oCAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;oCAC3D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gCAC3B,CAAC;gCACD,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAC9C,QAAQ,EACR,MAAM,CAAC,UAAU,EACjB,qBAAqB,CACtB,CAAC;gCACF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;oCACzB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,sCAAsC,CAAC,CAAC;oCACvF,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;oCACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC,CAAC;oCACjE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;gCAC5B,CAAC;gCACD,oBAAoB,EAAE,CAAC;gCACvB,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gCACnD,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;gCAC/C,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gCAC9D,yCAAyC;gCACzC,IAAI,QAAQ,CAAC,gBAAgB,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oCAC5D,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;wCAChC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;oCAClC,CAAC;gCACH,CAAC;gCACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,oBAAoB,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;gCAE3F,0EAA0E;gCAC1E,IAAI,SAAS,IAAI,oBAAoB,IAAI,SAAS,EAAE,CAAC;oCACnD,MAAM,iBAAiB,EAAE,CAAC;oCAC1B,IAAI,cAAc,EAAE,EAAE,CAAC;wCACrB,MAAM,iBAAiB,EAAE,CAAC;oCAC5B,CAAC;gCACH,CAAC;gCACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;4BAC3B,CAAC;4BAED,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;4BACxE,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;4BAC9D,+BAA+B;4BAC/B,IAAI,QAAQ,CAAC,gBAAgB,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAC5D,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;oCAChC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gCAClC,CAAC;4BACH,CAAC;4BACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;4BAC3C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gCACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;4BACjD,CAAC;4BACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;wBAChD,CAAC;6BAAM,IAAI,MAAM,CAAC,aAAa,IAAI,UAAU,GAAG,eAAe,EAAE,CAAC;4BAChE,UAAU,EAAE,CAAC;4BACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iCAAiC,UAAU,IAAI,eAAe,MAAM,CAAC,CAAC,CAAC;4BAChG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gCACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;4BACtF,CAAC;4BAED,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;4BACvE,IAAI,CAAC,aAAa,EAAE,CAAC;gCACnB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;4BAC1E,CAAC;4BACD,aAAa,GAAG,aAAa,CAAC;4BAE9B,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,yBAAyB,UAAU,EAAE,CAAC,CAAC;4BACtF,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gCACtC,SAAS,EAAE,OAAO,CAAC,EAAE;gCACrB,IAAI,EAAE,QAAQ;gCACd,QAAQ,EAAE,aAAa,CAAC,EAAE;gCAC1B,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE;6BACjD,CAAC,CAAC;4BACH,SAAS;wBACX,CAAC;6BAAM,CAAC;4BACN,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC,CAAC;4BAClG,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;4BACjE,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa;gCACrC,CAAC,CAAC,gCAAgC,eAAe,UAAU;gCAC3D,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC,CAAC;4BACxD,0BAA0B;4BAC1B,IAAI,QAAQ,CAAC,gBAAgB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gCACtD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,aAAa,CAAC;gCACpD,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,KAAK,WAAW,CAAC,CAAC,CAAC,YAAqB;oCAC7E,CAAC,CAAC,MAAM,CAAC,aAAa,KAAK,iBAAiB,CAAC,CAAC,CAAC,iBAA0B;wCACzE,CAAC,CAAC,gBAAyB,CAAC;gCAC9B,WAAW,CAAC,QAAQ,EAAE;oCACpB,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,YAAY,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;oCAC9D,QAAQ,EAAE,UAAU,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;oCAC5D,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE;oCAC5C,IAAI,EAAE,WAAW,CAAC,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,oBAAoB,CAAC;iCAClF,CAAC,CAAC;4BACL,CAAC;4BACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,UAAU,EAAE,CAAC,CAAC,CAAC;4BACpD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;wBAC5B,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,QAAQ,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAClE,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;wBACzD,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;wBACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACjD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;oBAC5B,CAAC;gBACH,CAAC;gBAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC5B,CAAC,CAAC;YAEF,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;gBACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,IAAI,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC9D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,eAAe,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;oBAC1F,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnB,eAAe,EAAE,CAAC;wBAClB,IAAI,MAAM,CAAC,KAAK;4BAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC/C,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBACvD,CAAC;yBAAM,CAAC;wBACN,WAAW,EAAE,CAAC;wBACd,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBACxD,CAAC;oBACD,OAAO,CAAC,GAAG,EAAE,CAAC;oBACd,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,EAAE,EAAE,CAAC;wBACjD,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;oBACpB,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,kEAAkE;gBAClE,uDAAuD;gBACvD,IAAI,KAA8B,CAAC;gBACnC,IAAI,aAAa,EAAE,CAAC;oBAClB,KAAK,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;oBACtC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,KAAK,CAAC,MAAM,0CAA0C,CAAC,CAAC,CAAC;oBAClH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC;gBACtB,CAAC;gBAED,IAAI,SAAS,GAAG,eAAe,CAAC;gBAEhC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC,cAAc,EAAE;wBAAE,MAAM;oBAE7B,IAAI,gBAAgB,GAAG,aAAa,CAAC;oBACrC,MAAM,gBAAgB,GAAsB,EAAE,CAAC;oBAC/C,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;wBAC5B,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;4BAAC,gBAAgB,EAAE,CAAC;4BAAC,OAAO;wBAAC,CAAC;wBACzD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7E,CAAC,CAAC;oBACF,MAAM,UAAU,GAAG,GAAG,EAAE;wBACtB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAAC,gBAAgB,CAAC,KAAK,EAAG,EAAE,CAAC;wBAAC,CAAC;6BAAM,CAAC;4BAAC,gBAAgB,EAAE,CAAC;wBAAC,CAAC;oBAChG,CAAC,CAAC;oBAEF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;wBACxC,MAAM,UAAU,EAAE,CAAC;wBACnB,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;4BAAC,UAAU,EAAE,CAAC;4BAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;wBAAC,CAAC;wBACnE,MAAM,KAAK,GAAG,GAAG,EAAE,SAAS,IAAI,MAAM,EAAE,CAAC;wBACzC,IAAI,CAAC;4BACH,OAAO,MAAM,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;wBACnD,CAAC;gCAAS,CAAC;4BACT,UAAU,EAAE,CAAC;wBACf,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEH,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACpD,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;wBAC/C,MAAM,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;wBAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;wBAC1B,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;4BAChD,eAAe,EAAE,CAAC;4BAClB,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK;gCAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BACjD,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;wBACnD,CAAC;6BAAM,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;4BACpC,WAAW,EAAE,CAAC;4BACd,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;wBACpD,CAAC;6BAAM,CAAC;4BACN,WAAW,EAAE,CAAC;4BACd,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;wBACpD,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;YAED,mBAAmB,GAAG,KAAK,CAAC;YAE5B,qDAAqD;YACrD,WAAW,CAAC,QAAQ,CAAC,CAAC;YACtB,IAAI,gBAAgB,EAAE,CAAC;gBACrB,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;YAED,mCAAmC;YACnC,IAAI,UAAU,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBACvD,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBAC/B,YAAY,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,uBAAuB;YACpE,CAAC;YAED,kEAAkE;YAClE,IAAI,aAAa,IAAI,oBAAoB,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACnE,IAAI,CAAC;oBACH,aAAa,GAAG,oBAAoB,CAAC,aAAa,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;oBAC3E,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,aAAa,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC;oBACjG,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,YAAY;gBACd,CAAC;YACH,CAAC;YAED,4EAA4E;YAC5E,IAAI,YAAY,EAAE,CAAC;gBACjB,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;YAED,IAAI,YAAY,IAAI,cAAc,EAAE,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;gBACxD,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QAEH,CAAC,QAAQ,YAAY,IAAI,cAAc,EAAE,EAAE;QAE3C,iCAAiC;QACjC,IAAI,aAAa,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,iBAAiB,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACvC,qBAAqB;QACrB,IAAI,CAAC;YACH,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACvC,MAAM,aAAa,GAAG,iBAAiB,CAAC,CAAC,CAAC,eAAe;gBACvD,CAAC,CAAC,eAAe,IAAI,MAAM,CAAC,CAAC,CAAC,UAAU;oBACxC,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY;wBACnD,CAAC,CAAC,WAAW,CAAC;YAChB,gBAAgB,CAAC;gBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,SAAS,IAAI,KAAK;gBACzB,OAAO,EAAE,aAAa,EAAE,IAAI;gBAC5B,eAAe,EAAE,CAAC;gBAClB,eAAe,EAAE,eAAe,GAAG,WAAW;gBAC9C,gBAAgB,EAAE,eAAe;gBACjC,aAAa,EAAE,WAAW;gBAC1B,UAAU,EAAE,SAAS,CAAC,MAAM;gBAC5B,SAAS,EAAE,CAAC;gBACZ,UAAU,EAAE,OAAO;gBACnB,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjE,aAAa;aACd,EAAE,QAAQ,IAAI,SAAS,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC,CAAC;QAEnD,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,iBAAiB,EAAE,CAAC,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,eAAe,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC;YACnE,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,WAAW,SAAS,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,IAAI,iBAAiB,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC9D,CAAC;iBAAM,IAAI,eAAe,IAAI,MAAM,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,MAAM,GAAG,CAAC,CAAC,CAAC;YACnE,CAAC;iBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,OAAO,EAAE,CAAC;gBAC5C,MAAM,cAAc,GAAG,YAAa,GAAG,EAAE;oBACvC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAa,CAAC,GAAG;oBACjC,CAAC,CAAC,YAAa,GAAG,EAAE,KAAK,CAAC;wBACxB,CAAC,CAAC,GAAG,YAAa,GAAG,EAAE,GAAG;wBAC1B,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAa,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,YAAa,GAAG,EAAE,CAAC,GAAG,CAAC;gBAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,cAAc,GAAG,CAAC,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,iBAAiB,EAAE,EAAE,CAAC;QACtB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAElE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,iBAAiB,EAAE,EAAE,CAAC;QACtB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blockspool/cli",
3
- "version": "0.5.3",
3
+ "version": "0.5.5",
4
4
  "description": "BlockSpool CLI - Continuous codebase improvement tool",
5
5
  "author": "BlockSpool",
6
6
  "homepage": "https://blockspool.com",
@@ -16,7 +16,7 @@
16
16
  "main": "dist/index.js",
17
17
  "types": "dist/index.d.ts",
18
18
  "bin": {
19
- "blockspool": "./dist/bin/blockspool.js"
19
+ "blockspool": "dist/bin/blockspool.js"
20
20
  },
21
21
  "exports": {
22
22
  ".": {