@neurcode-ai/cli 0.9.21 → 0.9.22

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"AA+CA,UAAU,UAAU;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAulCD,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAoc1F"}
1
+ {"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"AA+CA,UAAU,UAAU;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAq0BD,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAqX1F"}
@@ -39,14 +39,20 @@ const STOP_WORDS = new Set([
39
39
  'from', 'your', 'about', 'there', 'their', 'them', 'have', 'does', 'is', 'are', 'was',
40
40
  'were', 'any', 'all', 'read', 'tell', 'me', 'its', 'it', 'instead', 'than', 'then',
41
41
  'workflow', 'codebase', 'repo', 'repository', 'used', 'use', 'mentioned', 'mention', 'whether',
42
+ 'list', 'show', 'like', 'can', 'type', 'types', 'using', 'etc', 'cmd', 'cmds', 'command', 'commands',
43
+ 'system', 'platform', 'latest', 'package', 'packages',
42
44
  ]);
43
45
  const LOW_SIGNAL_TERMS = new Set([
44
46
  'used', 'use', 'using', 'mentioned', 'mention', 'where', 'tell', 'read', 'check', 'find', 'search',
45
- 'workflow', 'repo', 'repository', 'codebase', 'anywhere',
47
+ 'workflow', 'repo', 'repository', 'codebase', 'anywhere', 'can', 'type', 'types', 'list', 'show', 'like',
48
+ 'neurcode', 'cli',
46
49
  ]);
47
50
  function scanFiles(dir, maxFiles = MAX_SCAN_FILES) {
48
51
  const files = [];
49
- const ignoreDirs = new Set(['node_modules', '.git', '.next', 'dist', 'build', '.turbo', '.cache', 'coverage']);
52
+ const ignoreDirs = new Set([
53
+ 'node_modules', '.git', '.next', 'dist', 'build', '.turbo', '.cache', 'coverage',
54
+ '.neurcode', '.vscode', '.pnpm-store', '.npm', '.yarn',
55
+ ]);
50
56
  const ignoreExts = new Set(['map', 'log', 'lock', 'png', 'jpg', 'jpeg', 'gif', 'ico', 'svg', 'woff', 'woff2', 'ttf', 'eot', 'pdf']);
51
57
  const walk = (current) => {
52
58
  if (files.length >= maxFiles)
@@ -95,7 +101,9 @@ function scanFiles(dir, maxFiles = MAX_SCAN_FILES) {
95
101
  }
96
102
  function tokenizeQuestion(question) {
97
103
  return (0, plan_cache_1.normalizeIntent)(question)
104
+ .replace(/[^a-z0-9_\-\s]/g, ' ')
98
105
  .split(/\s+/)
106
+ .map((token) => token.trim())
99
107
  .filter((token) => token.length >= 3 && !STOP_WORDS.has(token));
100
108
  }
101
109
  function escapeRegExp(input) {
@@ -105,6 +113,7 @@ function normalizeTerm(raw) {
105
113
  return raw
106
114
  .toLowerCase()
107
115
  .replace(/['"`]/g, '')
116
+ .replace(/[^a-z0-9_\-\s]/g, ' ')
108
117
  .replace(/\s+/g, ' ')
109
118
  .trim();
110
119
  }
@@ -178,6 +187,34 @@ function buildTermMatchers(term, weight) {
178
187
  push(normalized, `\\b${escapeRegExp(tokens.join('-'))}\\b`);
179
188
  return out;
180
189
  }
190
+ function expandSearchTerms(terms) {
191
+ const expanded = new Set();
192
+ for (const rawTerm of terms) {
193
+ const term = normalizeTerm(rawTerm);
194
+ if (!term)
195
+ continue;
196
+ expanded.add(term);
197
+ if (term.includes(' ')) {
198
+ continue;
199
+ }
200
+ if (term.endsWith('ies') && term.length > 4) {
201
+ expanded.add(`${term.slice(0, -3)}y`);
202
+ }
203
+ if (term.endsWith('s') && term.length > 3) {
204
+ expanded.add(term.slice(0, -1));
205
+ }
206
+ else if (term.length > 3) {
207
+ expanded.add(`${term}s`);
208
+ }
209
+ if (term.endsWith('ing') && term.length > 5) {
210
+ expanded.add(term.slice(0, -3));
211
+ }
212
+ if (term.endsWith('ed') && term.length > 4) {
213
+ expanded.add(term.slice(0, -2));
214
+ }
215
+ }
216
+ return [...expanded];
217
+ }
181
218
  function buildMatchers(question) {
182
219
  const comparisonTerms = extractComparisonTerms(question);
183
220
  if (comparisonTerms.length >= 2) {
@@ -194,8 +231,9 @@ function buildMatchers(question) {
194
231
  const quoted = extractQuotedTerms(question);
195
232
  const keywords = tokenizeQuestion(question).slice(0, 8);
196
233
  const quotedSet = new Set(quoted.map((term) => normalizeTerm(term)));
197
- const terms = [...new Set([...quoted, ...keywords].map(normalizeTerm).filter(Boolean))]
198
- .filter((term) => quotedSet.has(term) || !LOW_SIGNAL_TERMS.has(term));
234
+ const baseTerms = [...new Set([...quoted, ...keywords].map(normalizeTerm).filter(Boolean))];
235
+ const filteredTerms = baseTerms.filter((term) => quotedSet.has(term) || !LOW_SIGNAL_TERMS.has(term));
236
+ const terms = expandSearchTerms(filteredTerms.length > 0 ? filteredTerms : baseTerms).filter(Boolean);
199
237
  const matchers = terms.flatMap((term) => buildTermMatchers(term, quoted.includes(term) ? 0.9 : 0.55));
200
238
  return {
201
239
  mode: 'search',
@@ -216,8 +254,25 @@ function derivePathHints(question) {
216
254
  }
217
255
  if (/\bdashboard|landing|docs|frontend|ui|pricing\b/.test(normalized)) {
218
256
  hints.push('web/dashboard/');
257
+ hints.push('docs/');
258
+ hints.push('README.md');
259
+ }
260
+ if (/\bfeature|capabilit|offer|platform\b/.test(normalized)) {
261
+ hints.push('docs/');
262
+ hints.push('README.md');
263
+ }
264
+ if (/\binstall|setup|upgrade|update\b/.test(normalized)) {
265
+ hints.push('README.md');
266
+ hints.push('docs/');
267
+ hints.push('packages/cli/');
268
+ }
269
+ if (/\btenant|tenancy|single|multi|organization|org\b/.test(normalized)) {
270
+ hints.push('services/api/src/lib/');
271
+ hints.push('services/api/src/routes/');
272
+ hints.push('packages/cli/src/');
219
273
  }
220
274
  if (/(github action|\bci\b)/.test(normalized)) {
275
+ hints.push('.github/workflows/');
221
276
  hints.push('packages/action/');
222
277
  hints.push('actions/');
223
278
  }
@@ -230,533 +285,211 @@ function normalizeSnippet(line) {
230
285
  .trim()
231
286
  .slice(0, 220);
232
287
  }
233
- function lineNumberFromOffset(content, offset) {
234
- if (offset <= 0)
235
- return 1;
236
- return content.slice(0, offset).split(/\r?\n/).length;
237
- }
238
- function stripMarkdown(value) {
239
- return value
240
- .replace(/[*_`~]/g, '')
241
- .replace(/\[(.*?)\]\(.*?\)/g, '$1')
242
- .replace(/\s+/g, ' ')
243
- .trim();
244
- }
245
- function isCliCommandListQuestion(normalizedQuestion) {
246
- const mentionsCli = /\bcli\b|\bneurcode\b|\bcommand\b|\bcmds?\b/.test(normalizedQuestion);
247
- if (!mentionsCli)
248
- return false;
249
- return (/\blist\b/.test(normalizedQuestion) ||
250
- /\bshow\b/.test(normalizedQuestion) ||
251
- /\bavailable\b/.test(normalizedQuestion) ||
252
- /\bwhat can i\b/.test(normalizedQuestion) ||
253
- /\bwhich\b/.test(normalizedQuestion) ||
254
- /\blike\b/.test(normalizedQuestion));
255
- }
256
- function isInstallCliQuestion(normalizedQuestion) {
257
- const mentionsInstall = /\binstall\b|\bupgrade\b|\blatest\b|\bupdate\b/.test(normalizedQuestion);
258
- const mentionsCli = /\bcli\b|\bneurcode\b/.test(normalizedQuestion);
259
- const asksForCommand = /\bcmd\b|\bcommand\b|\bhow\b|\bwhat\b/.test(normalizedQuestion);
260
- return mentionsInstall && mentionsCli && asksForCommand;
261
- }
262
- function isTenancyQuestion(normalizedQuestion) {
263
- if (/\bmulti[- ]?tenant\b|\bsingle[- ]?tenant\b|\btenancy\b/.test(normalizedQuestion))
264
- return true;
265
- return /\borganization\b/.test(normalizedQuestion) && /\bsingle\b|\bmulti\b/.test(normalizedQuestion);
266
- }
267
- function isFeatureOverviewQuestion(normalizedQuestion) {
268
- return (/\bfeature\b|\bfeatures\b|\bcapability\b|\bcapabilities\b/.test(normalizedQuestion) ||
269
- /\bwhat all\b|\bwhat does\b|\bwhat can\b|\boffers?\b|\bplatform have\b/.test(normalizedQuestion));
288
+ function addAnchorCandidates(fileTree, candidateSet, pathPriority, normalizedQuestion) {
289
+ const asSet = new Set(fileTree);
290
+ const pinned = [
291
+ 'README.md',
292
+ 'packages/cli/package.json',
293
+ 'packages/cli/src/index.ts',
294
+ 'packages/cli/src/api-client.ts',
295
+ 'services/api/src/lib/org-context.ts',
296
+ 'services/api/src/lib/user-org.ts',
297
+ 'docs/cli-commands.md',
298
+ 'docs/enterprise-setup.md',
299
+ ];
300
+ for (const path of pinned) {
301
+ if (!asSet.has(path))
302
+ continue;
303
+ candidateSet.add(path);
304
+ pathPriority.set(path, Math.max(pathPriority.get(path) || 0, 0.22));
305
+ }
306
+ const docsLikelyUseful = /\b(feature|capabilit|offer|platform|install|setup|tenant|tenancy|architecture)\b/.test(normalizedQuestion);
307
+ if (!docsLikelyUseful)
308
+ return;
309
+ let addedDocs = 0;
310
+ for (const path of fileTree) {
311
+ if (addedDocs >= 24)
312
+ break;
313
+ if (path === 'README.md' || (path.startsWith('docs/') && path.endsWith('.md'))) {
314
+ candidateSet.add(path);
315
+ pathPriority.set(path, Math.max(pathPriority.get(path) || 0, 0.18));
316
+ addedDocs++;
317
+ }
318
+ }
270
319
  }
271
- function extractCliCommandCatalog(cwd) {
272
- const indexPath = 'packages/cli/src/index.ts';
273
- const fullPath = (0, path_1.join)(cwd, indexPath);
274
- if (!(0, fs_1.existsSync)(fullPath))
320
+ function readCliPackageName(cwd) {
321
+ const pkgPath = (0, path_1.join)(cwd, 'packages/cli/package.json');
322
+ if (!(0, fs_1.existsSync)(pkgPath))
275
323
  return null;
276
- let content = '';
277
324
  try {
278
- content = (0, fs_1.readFileSync)(fullPath, 'utf-8');
325
+ const parsed = JSON.parse((0, fs_1.readFileSync)(pkgPath, 'utf-8'));
326
+ if (typeof parsed.name !== 'string' || !parsed.name.trim())
327
+ return null;
328
+ return parsed.name.trim();
279
329
  }
280
330
  catch {
281
331
  return null;
282
332
  }
283
- if (!content.trim())
284
- return null;
285
- const lines = content.split(/\r?\n/);
286
- const topLevel = [];
287
- const subcommands = [];
288
- const citations = [];
333
+ }
334
+ function extractCommandsFromCliIndex(cwd) {
335
+ const indexPath = (0, path_1.join)(cwd, 'packages/cli/src/index.ts');
336
+ if (!(0, fs_1.existsSync)(indexPath))
337
+ return [];
338
+ let content = '';
339
+ try {
340
+ content = (0, fs_1.readFileSync)(indexPath, 'utf-8');
341
+ }
342
+ catch {
343
+ return [];
344
+ }
345
+ const commandSet = new Set();
289
346
  const topByVar = new Map();
290
- const seenTop = new Set();
291
- const seenSub = new Set();
292
- const topRegex = /(?:const\s+([A-Za-z_$][\w$]*)\s*=\s*)?program\s*\r?\n\s*\.command\('([^']+)'\)/g;
293
- for (const match of content.matchAll(topRegex)) {
347
+ for (const match of content.matchAll(/(?:const\s+([A-Za-z_$][\w$]*)\s*=\s*)?program\s*\r?\n\s*\.command\('([^']+)'\)/g)) {
294
348
  const varName = match[1];
295
- const rawCommand = (match[2] || '').trim();
296
- if (!rawCommand)
297
- continue;
298
- const commandName = rawCommand.split(/\s+/)[0];
299
- if (!commandName)
349
+ const top = (match[2] || '').trim().split(/\s+/)[0];
350
+ if (!top)
300
351
  continue;
352
+ commandSet.add(`neurcode ${top}`);
301
353
  if (varName) {
302
- topByVar.set(varName, commandName);
303
- }
304
- if (!seenTop.has(commandName)) {
305
- seenTop.add(commandName);
306
- topLevel.push(commandName);
307
- const baseOffset = match.index ?? 0;
308
- const commandInMatchOffset = match[0].indexOf(".command('");
309
- const offset = commandInMatchOffset >= 0 ? baseOffset + commandInMatchOffset : baseOffset;
310
- const line = lineNumberFromOffset(content, offset);
311
- citations.push({
312
- path: indexPath,
313
- line,
314
- snippet: normalizeSnippet(lines[line - 1] || `.command('${rawCommand}')`),
315
- term: 'command',
316
- });
354
+ topByVar.set(varName, top);
317
355
  }
318
356
  }
319
- const subRegex = /([A-Za-z_$][\w$]*)\s*\r?\n\s*\.command\('([^']+)'\)/g;
320
- for (const match of content.matchAll(subRegex)) {
357
+ for (const match of content.matchAll(/([A-Za-z_$][\w$]*)\s*\r?\n\s*\.command\('([^']+)'\)/g)) {
321
358
  const parentVar = match[1];
322
359
  const parent = topByVar.get(parentVar);
323
360
  if (!parent)
324
361
  continue;
325
- const rawSubcommand = (match[2] || '').trim();
326
- if (!rawSubcommand)
362
+ const sub = (match[2] || '').trim().split(/\s+/)[0];
363
+ if (!sub)
327
364
  continue;
328
- const subcommandName = rawSubcommand.split(/\s+/)[0];
329
- if (!subcommandName)
330
- continue;
331
- const combined = `${parent} ${subcommandName}`;
332
- if (seenSub.has(combined))
333
- continue;
334
- seenSub.add(combined);
335
- subcommands.push(combined);
336
- const baseOffset = match.index ?? 0;
337
- const commandInMatchOffset = match[0].indexOf(".command('");
338
- const offset = commandInMatchOffset >= 0 ? baseOffset + commandInMatchOffset : baseOffset;
339
- const line = lineNumberFromOffset(content, offset);
340
- citations.push({
341
- path: indexPath,
342
- line,
343
- snippet: normalizeSnippet(lines[line - 1] || `${parentVar}.command('${rawSubcommand}')`),
344
- term: 'subcommand',
345
- });
365
+ commandSet.add(`neurcode ${parent} ${sub}`);
346
366
  }
347
- if (topLevel.length === 0)
348
- return null;
349
- return {
350
- topLevelCommands: topLevel,
351
- subcommands,
352
- citations,
353
- };
367
+ return [...commandSet].slice(0, 40);
354
368
  }
355
- function extractInstallCommandInfo(cwd) {
356
- const pkgPath = 'packages/cli/package.json';
357
- const fullPath = (0, path_1.join)(cwd, pkgPath);
358
- if (!(0, fs_1.existsSync)(fullPath))
359
- return null;
360
- let raw = '';
361
- try {
362
- raw = (0, fs_1.readFileSync)(fullPath, 'utf-8');
363
- }
364
- catch {
365
- return null;
366
- }
367
- let packageName = '';
368
- try {
369
- const parsed = JSON.parse(raw);
370
- packageName = typeof parsed.name === 'string' ? parsed.name.trim() : '';
371
- }
372
- catch {
373
- return null;
374
- }
375
- if (!packageName)
376
- return null;
377
- const lines = raw.split(/\r?\n/);
378
- const nameLine = lines.findIndex((line) => /"name"\s*:/.test(line));
379
- const versionLine = lines.findIndex((line) => /"version"\s*:/.test(line));
380
- const citations = [];
381
- if (nameLine >= 0) {
382
- citations.push({
383
- path: pkgPath,
384
- line: nameLine + 1,
385
- snippet: normalizeSnippet(lines[nameLine]),
386
- term: 'package name',
387
- });
388
- }
389
- if (versionLine >= 0) {
390
- citations.push({
391
- path: pkgPath,
392
- line: versionLine + 1,
393
- snippet: normalizeSnippet(lines[versionLine]),
394
- term: 'version',
395
- });
396
- }
397
- return {
398
- packageName,
399
- citations,
400
- };
401
- }
402
- function buildInstallCommandAnswer(question, normalizedQuestion, installInfo, brainCandidates) {
403
- const pkg = installInfo.packageName;
404
- return {
405
- question,
406
- questionNormalized: normalizedQuestion,
407
- mode: 'search',
408
- answer: [
409
- 'Use this command to install the latest Neurcode CLI globally:',
410
- `\`npm install -g ${pkg}@latest\``,
411
- '',
412
- `Optional (pnpm): \`pnpm add -g ${pkg}@latest\``,
413
- 'Then verify with: `neurcode --version`',
414
- ].join('\n'),
415
- findings: [
416
- `CLI package detected: ${pkg}`,
417
- 'Source of truth: packages/cli/package.json',
418
- ],
419
- confidence: 'high',
420
- truth: {
421
- status: 'grounded',
422
- score: 0.99,
423
- reasons: [],
424
- sourceCitations: installInfo.citations.length,
425
- sourceFiles: 1,
426
- minCitationsRequired: 1,
427
- minFilesRequired: 1,
428
- },
429
- citations: installInfo.citations,
430
- generatedAt: new Date().toISOString(),
431
- stats: {
432
- scannedFiles: 1,
433
- matchedFiles: 1,
434
- matchedLines: installInfo.citations.length,
435
- brainCandidates,
436
- },
437
- };
438
- }
439
- function buildTenancyAnswer(cwd, question, normalizedQuestion, brainCandidates) {
440
- const candidatePaths = [
441
- 'README.md',
442
- 'packages/cli/src/api-client.ts',
443
- 'packages/cli/src/utils/state.ts',
444
- 'services/api/src/lib/org-context.ts',
445
- 'services/api/src/routes/logs.ts',
446
- 'services/api/src/routes/metrics.ts',
447
- 'services/api/src/db/index.ts',
448
- 'services/api/src/services/architect-service.ts',
449
- 'services/api/src/lib/user-org.ts',
450
- ];
451
- const multiPatterns = [
452
- { regex: /\bmulti[- ]tenant\b/i, weight: 3, term: 'multi-tenant' },
453
- { regex: /\bx-org-id\b/i, weight: 2, term: 'x-org-id' },
454
- { regex: /\borganization[_ -]?id\b/i, weight: 1, term: 'organization_id' },
455
- { regex: /\bscoped by organization/i, weight: 3, term: 'org-scoped' },
456
- { regex: /\bisolated workspaces?\b/i, weight: 2, term: 'isolated workspaces' },
457
- ];
458
- const singlePatterns = [
459
- { regex: /\bsingle[- ]tenant\b/i, weight: 3, term: 'single-tenant' },
460
- { regex: /\bsingle-user platform\b/i, weight: 2, term: 'single-user platform' },
461
- { regex: /\bno organization management\b/i, weight: 2, term: 'no organization management' },
462
- ];
463
- const weighted = [];
464
- let scannedFiles = 0;
465
- let multiScore = 0;
466
- let singleScore = 0;
467
- for (const relPath of candidatePaths) {
468
- const fullPath = (0, path_1.join)(cwd, relPath);
469
- if (!(0, fs_1.existsSync)(fullPath))
470
- continue;
471
- let content = '';
472
- try {
473
- const st = (0, fs_1.statSync)(fullPath);
474
- if (st.size > MAX_FILE_BYTES)
475
- continue;
476
- content = (0, fs_1.readFileSync)(fullPath, 'utf-8');
477
- }
478
- catch {
479
- continue;
480
- }
481
- scannedFiles++;
482
- const lines = content.split(/\r?\n/);
483
- for (let idx = 0; idx < lines.length; idx++) {
484
- const line = lines[idx];
485
- if (!line || line.trim().length === 0)
486
- continue;
487
- for (const pattern of multiPatterns) {
488
- if (!pattern.regex.test(line))
489
- continue;
490
- multiScore += pattern.weight;
491
- weighted.push({
492
- path: relPath,
493
- line: idx + 1,
494
- snippet: normalizeSnippet(line),
495
- term: pattern.term,
496
- weight: pattern.weight,
497
- side: 'multi',
498
- });
499
- }
500
- for (const pattern of singlePatterns) {
501
- if (!pattern.regex.test(line))
502
- continue;
503
- singleScore += pattern.weight;
504
- weighted.push({
505
- path: relPath,
506
- line: idx + 1,
507
- snippet: normalizeSnippet(line),
508
- term: pattern.term,
509
- weight: pattern.weight,
510
- side: 'single',
511
- });
512
- }
513
- }
514
- }
515
- if (weighted.length === 0)
516
- return null;
517
- const deduped = new Map();
518
- for (const citation of weighted) {
519
- const key = `${citation.path}:${citation.line}:${citation.term || ''}`;
520
- const existing = deduped.get(key);
521
- if (!existing || citation.weight > existing.weight) {
522
- deduped.set(key, citation);
523
- }
524
- }
525
- const citations = [...deduped.values()].sort((a, b) => b.weight - a.weight);
526
- const matchedFiles = new Set(citations.map((citation) => citation.path)).size;
527
- const totalSignals = multiScore + singleScore;
528
- const delta = Math.abs(multiScore - singleScore);
529
- let classification;
530
- if (multiScore >= singleScore + 3)
531
- classification = 'multi';
532
- else if (singleScore >= multiScore + 3)
533
- classification = 'single';
534
- else
535
- classification = 'mixed';
536
- const reasons = [];
537
- if (classification === 'mixed') {
538
- reasons.push('Mixed indicators found: both multi-tenant and single-tenant signals are present.');
539
- }
540
- if (matchedFiles < 2) {
541
- reasons.push('Evidence is concentrated in too few files for a strong architecture verdict.');
542
- }
543
- const scoreBase = totalSignals > 0 ? delta / totalSignals : 0;
544
- const score = Math.max(0.45, Math.min(0.98, scoreBase * 0.6 + Math.min(citations.length, 12) / 20 + (matchedFiles >= 2 ? 0.15 : 0.05)));
545
- const truthStatus = reasons.length > 0 && classification === 'mixed' ? 'insufficient' : 'grounded';
546
- const truth = {
547
- status: truthStatus,
548
- score,
549
- reasons,
550
- sourceCitations: citations.length,
551
- sourceFiles: matchedFiles,
552
- minCitationsRequired: 2,
553
- minFilesRequired: 1,
554
- };
555
- let answer;
556
- if (classification === 'multi') {
557
- answer = 'This codebase is multi-tenant. Core API/CLI flows are organization-scoped (org IDs and `x-org-id` context are enforced).';
558
- }
559
- else if (classification === 'single') {
560
- answer = 'This codebase appears single-tenant based on current source signals.';
561
- }
562
- else if (multiScore >= singleScore) {
563
- answer = 'The repo has mixed signals, but it currently leans multi-tenant. Most runtime paths are organization-scoped, with some legacy single-user wording.';
564
- }
565
- else {
566
- answer = 'The repo has mixed tenancy signals and currently leans single-tenant in wording, though some organization-scoped logic exists.';
567
- }
568
- return {
569
- question,
570
- questionNormalized: normalizedQuestion,
571
- mode: 'comparison',
572
- answer,
573
- findings: [
574
- `Tenancy signals: multi=${multiScore}, single=${singleScore}`,
575
- `Evidence files: ${matchedFiles}`,
576
- 'Key sources include API org-context/auth routes and CLI org-scoping headers.',
577
- ],
578
- confidence: calibrateConfidence(truth),
579
- truth: {
580
- status: truth.status,
581
- score: Number(truth.score.toFixed(2)),
582
- reasons: truth.reasons,
583
- sourceCitations: truth.sourceCitations,
584
- sourceFiles: truth.sourceFiles,
585
- minCitationsRequired: truth.minCitationsRequired,
586
- minFilesRequired: truth.minFilesRequired,
587
- },
588
- citations: citations.slice(0, 24).map(({ path, line, snippet, term }) => ({ path, line, snippet, term })),
589
- generatedAt: new Date().toISOString(),
590
- stats: {
591
- scannedFiles,
592
- matchedFiles,
593
- matchedLines: citations.length,
594
- brainCandidates,
595
- },
596
- };
597
- }
598
- function extractFeatureEntriesFromReadme(cwd) {
599
- const readmePath = 'README.md';
600
- const fullPath = (0, path_1.join)(cwd, readmePath);
601
- if (!(0, fs_1.existsSync)(fullPath))
369
+ function extractFeatureBulletsFromReadme(cwd, limit) {
370
+ const readmePath = (0, path_1.join)(cwd, 'README.md');
371
+ if (!(0, fs_1.existsSync)(readmePath))
602
372
  return [];
603
373
  let content = '';
604
374
  try {
605
- content = (0, fs_1.readFileSync)(fullPath, 'utf-8');
375
+ content = (0, fs_1.readFileSync)(readmePath, 'utf-8');
606
376
  }
607
377
  catch {
608
378
  return [];
609
379
  }
610
380
  const lines = content.split(/\r?\n/);
611
381
  let start = lines.findIndex((line) => /^##\s+.*features/i.test(line));
612
- if (start < 0) {
613
- start = lines.findIndex((line) => /^###\s+the solution/i.test(line));
614
- }
382
+ if (start < 0)
383
+ start = lines.findIndex((line) => /^###\s+.*features/i.test(line));
615
384
  if (start < 0)
616
385
  return [];
617
- let end = lines.length;
386
+ const out = [];
387
+ const seen = new Set();
618
388
  for (let i = start + 1; i < lines.length; i++) {
619
- if (/^##\s+/.test(lines[i])) {
620
- end = i;
389
+ const line = lines[i];
390
+ if (/^##\s+/.test(line))
621
391
  break;
392
+ const rich = line.match(/^- \*\*(.+?)\*\*\s*-\s*(.+)$/);
393
+ if (rich?.[1]) {
394
+ const text = `${formatInsightSnippet(rich[1])} - ${formatInsightSnippet(rich[2])}`.trim();
395
+ const key = text.toLowerCase();
396
+ if (key && !seen.has(key)) {
397
+ seen.add(key);
398
+ out.push(text);
399
+ }
400
+ }
401
+ else {
402
+ const simple = line.match(/^- (.+)$/);
403
+ if (!simple?.[1])
404
+ continue;
405
+ const text = formatInsightSnippet(simple[1]);
406
+ const key = text.toLowerCase();
407
+ if (text && !seen.has(key)) {
408
+ seen.add(key);
409
+ out.push(text);
410
+ }
622
411
  }
412
+ if (out.length >= limit)
413
+ break;
623
414
  }
624
- const entries = [];
625
- let currentCategory = 'Core Features';
626
- for (let i = start + 1; i < end; i++) {
627
- const line = lines[i];
628
- if (!line)
629
- continue;
630
- const headingMatch = line.match(/^###\s+(.+)$/);
631
- if (headingMatch?.[1]) {
632
- currentCategory = stripMarkdown(headingMatch[1]);
633
- continue;
415
+ return out;
416
+ }
417
+ function extractNeurcodeCommandsFromCitations(citations) {
418
+ const commandSet = new Set();
419
+ for (const citation of citations) {
420
+ const snippet = citation.snippet || '';
421
+ for (const match of snippet.matchAll(/\.command\('([^']+)'\)/g)) {
422
+ const command = (match[1] || '').trim().split(/\s+/)[0];
423
+ if (!command)
424
+ continue;
425
+ commandSet.add(`neurcode ${command}`);
634
426
  }
635
- const richBullet = line.match(/^- \*\*(.+?)\*\*\s*-\s*(.+)$/);
636
- if (richBullet?.[1]) {
637
- entries.push({
638
- category: currentCategory,
639
- title: stripMarkdown(richBullet[1]),
640
- description: stripMarkdown(richBullet[2]),
641
- line: i + 1,
642
- snippet: normalizeSnippet(line),
643
- });
644
- continue;
427
+ for (const match of snippet.matchAll(/`neurcode\s+([^`]+)`/g)) {
428
+ const command = (match[1] || '').trim();
429
+ if (!command)
430
+ continue;
431
+ commandSet.add(`neurcode ${command}`);
645
432
  }
646
- const simpleBullet = line.match(/^- (.+)$/);
647
- if (simpleBullet?.[1]) {
648
- const text = stripMarkdown(simpleBullet[1]);
649
- if (!text)
433
+ for (const plainMatch of snippet.matchAll(/\bneurcode\s+([a-z][a-z0-9-]*(?:\s+[a-z][a-z0-9-]*)?)\b/g)) {
434
+ if (!plainMatch?.[1])
650
435
  continue;
651
- entries.push({
652
- category: currentCategory,
653
- title: text,
654
- line: i + 1,
655
- snippet: normalizeSnippet(line),
656
- });
436
+ commandSet.add(`neurcode ${plainMatch[1].trim()}`);
657
437
  }
658
438
  }
659
- return entries;
439
+ return [...commandSet].slice(0, 20);
660
440
  }
661
- function buildFeatureOverviewAnswer(question, normalizedQuestion, entries, brainCandidates) {
662
- const grouped = new Map();
663
- for (const entry of entries) {
664
- const bucket = grouped.get(entry.category) || [];
665
- const item = entry.description ? `${entry.title} - ${entry.description}` : entry.title;
666
- if (!bucket.includes(item))
667
- bucket.push(item);
668
- grouped.set(entry.category, bucket);
669
- }
670
- const categoryLines = [];
671
- for (const [category, items] of grouped.entries()) {
672
- categoryLines.push(`• ${category}: ${items.slice(0, 3).join('; ')}`);
673
- if (categoryLines.length >= 6)
674
- break;
441
+ function extractInstallCommandsFromCitations(citations) {
442
+ const installSet = new Set();
443
+ for (const citation of citations) {
444
+ const snippet = citation.snippet || '';
445
+ const matches = snippet.match(/\b(?:npm|pnpm|yarn)\s+(?:install|add)\s+-g\s+[@a-z0-9_.\-/]+(?:@latest)?\b/gi) || [];
446
+ for (const match of matches) {
447
+ installSet.add(match.trim());
448
+ }
675
449
  }
676
- const citations = entries.slice(0, 24).map((entry) => ({
677
- path: 'README.md',
678
- line: entry.line,
679
- snippet: entry.snippet,
680
- term: 'feature',
681
- }));
682
- return {
683
- question,
684
- questionNormalized: normalizedQuestion,
685
- mode: 'search',
686
- answer: [
687
- 'Neurcode platform features in this repo include:',
688
- ...categoryLines,
689
- '',
690
- 'If you want, I can also list this as “feature + exact CLI command” pairs.',
691
- ].join('\n'),
692
- findings: [
693
- `Feature entries found: ${entries.length}`,
694
- `Feature categories found: ${grouped.size}`,
695
- 'Source of truth: README.md',
696
- ],
697
- confidence: 'high',
698
- truth: {
699
- status: 'grounded',
700
- score: 0.93,
701
- reasons: [],
702
- sourceCitations: citations.length,
703
- sourceFiles: 1,
704
- minCitationsRequired: 2,
705
- minFilesRequired: 1,
706
- },
707
- citations,
708
- generatedAt: new Date().toISOString(),
709
- stats: {
710
- scannedFiles: 1,
711
- matchedFiles: 1,
712
- matchedLines: citations.length,
713
- brainCandidates,
714
- },
715
- };
450
+ return [...installSet].slice(0, 6);
716
451
  }
717
- function buildCliCommandAnswer(question, normalizedQuestion, catalog, brainCandidates) {
718
- const commandBullets = catalog.topLevelCommands.map((command) => ` • \`neurcode ${command}\``);
719
- const nestedBullets = catalog.subcommands.slice(0, 8).map((command) => ` • \`neurcode ${command}\``);
720
- const parts = ['Yes. These are the main CLI commands available in this repo:', ...commandBullets];
721
- if (nestedBullets.length > 0) {
722
- parts.push('\nCommon subcommands:', ...nestedBullets);
452
+ function formatInsightSnippet(snippet) {
453
+ return snippet
454
+ .replace(/^[-*]\s+/, '')
455
+ .replace(/^\/\/\s?/, '')
456
+ .replace(/^\/\*\s?/, '')
457
+ .replace(/\*\/$/, '')
458
+ .replace(/^\*\s+/, '')
459
+ .replace(/\s+/g, ' ')
460
+ .trim()
461
+ .slice(0, 180);
462
+ }
463
+ function extractInsightLines(citations, limit) {
464
+ const out = [];
465
+ const seen = new Set();
466
+ for (const citation of citations) {
467
+ const line = formatInsightSnippet(citation.snippet || '');
468
+ if (!line || line.length < 10)
469
+ continue;
470
+ if (/^#+\s/.test(line))
471
+ continue;
472
+ if (/^name:\s+/i.test(line))
473
+ continue;
474
+ const tooNoisy = /[{}[\];=><]/.test(line) && !/\b(multi-tenant|single-tenant|organization|install|command|feature)\b/i.test(line);
475
+ if (tooNoisy)
476
+ continue;
477
+ const key = line.toLowerCase();
478
+ if (seen.has(key))
479
+ continue;
480
+ seen.add(key);
481
+ out.push(line);
482
+ if (out.length >= limit)
483
+ break;
723
484
  }
724
- parts.push('\nTip: run `neurcode <command> --help` for options and examples.');
725
- return {
726
- question,
727
- questionNormalized: normalizedQuestion,
728
- mode: 'search',
729
- answer: parts.join('\n'),
730
- findings: [
731
- `Top-level commands found: ${catalog.topLevelCommands.length}`,
732
- catalog.subcommands.length > 0 ? `Nested subcommands found: ${catalog.subcommands.length}` : 'Nested subcommands found: 0',
733
- 'Source of truth: packages/cli/src/index.ts',
734
- ],
735
- confidence: 'high',
736
- truth: {
737
- status: 'grounded',
738
- score: 0.99,
739
- reasons: [],
740
- sourceCitations: catalog.citations.length,
741
- sourceFiles: 1,
742
- minCitationsRequired: 1,
743
- minFilesRequired: 1,
744
- },
745
- citations: catalog.citations,
746
- generatedAt: new Date().toISOString(),
747
- stats: {
748
- scannedFiles: 1,
749
- matchedFiles: 1,
750
- matchedLines: catalog.citations.length,
751
- brainCandidates,
752
- },
753
- };
485
+ return out;
754
486
  }
755
487
  function isPrimarySourcePath(filePath) {
756
488
  const normalized = filePath.trim().replace(/\\/g, '/').toLowerCase();
757
489
  if (!normalized)
758
490
  return false;
759
491
  if (normalized.startsWith('.neurcode/') ||
492
+ normalized.startsWith('.github/') ||
760
493
  normalized.startsWith('.git/') ||
761
494
  normalized.startsWith('node_modules/') ||
762
495
  normalized.startsWith('dist/') ||
@@ -796,12 +529,13 @@ function evaluateTruthAssessment(mode, normalizedQuestion, terms, sourceCitation
796
529
  const broadQuestion = isBroadQuestion(normalizedQuestion);
797
530
  const minCitationsRequired = mode === 'comparison' ? 2 : 2;
798
531
  let minFilesRequired = mode === 'comparison' ? 2 : 1;
532
+ const sourceCitationCount = sourceCitations.length;
533
+ const sourceFileCount = sourcePerFileCounts.size;
534
+ const hasStrongSingleFileEvidence = sourceFileCount === 1 && sourceCitationCount >= 6;
799
535
  if (broadQuestion) {
800
- minFilesRequired = Math.max(minFilesRequired, 2);
536
+ minFilesRequired = hasStrongSingleFileEvidence ? minFilesRequired : Math.max(minFilesRequired, 2);
801
537
  }
802
538
  const reasons = [];
803
- const sourceCitationCount = sourceCitations.length;
804
- const sourceFileCount = sourcePerFileCounts.size;
805
539
  if (sourceCitationCount === 0) {
806
540
  reasons.push('No direct source-file evidence was found for the query terms.');
807
541
  }
@@ -831,7 +565,7 @@ function evaluateTruthAssessment(mode, normalizedQuestion, terms, sourceCitation
831
565
  const highest = Math.max(...sourcePerFileCounts.values());
832
566
  dominantShare = highest / sourceCitationCount;
833
567
  }
834
- if (broadQuestion && dominantShare > 0.85 && sourceFileCount < 3) {
568
+ if (broadQuestion && dominantShare > 0.85 && sourceFileCount < 3 && !hasStrongSingleFileEvidence) {
835
569
  reasons.push('Evidence is highly concentrated in one file; broader coverage is required for this query.');
836
570
  }
837
571
  const citationScore = Math.min(1, sourceCitationCount / Math.max(minCitationsRequired, 4));
@@ -867,17 +601,24 @@ function evaluateTruthAssessment(mode, normalizedQuestion, terms, sourceCitation
867
601
  minFilesRequired,
868
602
  };
869
603
  }
870
- function buildAnswer(mode, question, terms, citations, stats, termCounts, perFileCounts, truth) {
604
+ function buildAnswer(mode, question, terms, citations, stats, termCounts, perFileCounts, truth, context = {}) {
871
605
  const confidence = calibrateConfidence(truth);
872
606
  const normalizedQuestion = (0, plan_cache_1.normalizeIntent)(question);
873
607
  const findings = [];
874
608
  let answer = '';
875
- if (truth.status === 'insufficient') {
876
- answer = 'Insufficient grounded evidence to answer confidently from current source coverage.';
877
- findings.push(...truth.reasons);
878
- findings.push('Refine the query with specific file paths, modules, or identifiers for stronger grounding.');
879
- }
880
- else if (mode === 'comparison' && terms.length >= 2) {
609
+ const asksCommands = /\b(cli|command|cmd|subcommand|terminal)\b/.test(normalizedQuestion);
610
+ const asksInstall = /\b(install|upgrade|update|latest)\b/.test(normalizedQuestion);
611
+ const asksFeatures = /\b(feature|features|capability|capabilities|offers?)\b/.test(normalizedQuestion);
612
+ const asksTenancy = /\b(tenant|tenancy|single|multi|organization)\b/.test(normalizedQuestion);
613
+ const commandMatches = [
614
+ ...extractNeurcodeCommandsFromCitations(citations),
615
+ ...(context.knownCommands || []),
616
+ ].filter((value, index, arr) => arr.indexOf(value) === index);
617
+ const installMatches = extractInstallCommandsFromCitations(citations);
618
+ const insightLines = extractInsightLines(citations, 5);
619
+ const multiSignals = citations.filter((citation) => /\bmulti[- ]tenant|x-org-id|organization[_ -]?id|org-scoped\b/i.test(citation.snippet)).length;
620
+ const singleSignals = citations.filter((citation) => /\bsingle[- ]tenant|single-user\b/i.test(citation.snippet)).length;
621
+ if (mode === 'comparison' && terms.length >= 2) {
881
622
  const left = terms[0];
882
623
  const right = terms[1];
883
624
  const leftCount = termCounts.get(left) || 0;
@@ -897,14 +638,61 @@ function buildAnswer(mode, question, terms, citations, stats, termCounts, perFil
897
638
  findings.push(`Compared terms: "${left}" vs "${right}"`);
898
639
  findings.push(`Matches by term: ${left}=${leftCount}, ${right}=${rightCount}`);
899
640
  }
900
- else {
901
- if (citations.length > 0) {
902
- answer = `Found ${citations.length} relevant evidence line(s) across ${stats.matchedFiles} file(s) for your question.`;
641
+ else if (citations.length === 0) {
642
+ answer = 'I could not find direct grounded evidence for that in the files I scanned.';
643
+ findings.push('Try adding a module/file hint, for example: "in packages/cli" or "in services/api auth middleware".');
644
+ }
645
+ else if (asksInstall) {
646
+ const manifestInstall = context.cliPackageName ? `npm install -g ${context.cliPackageName}@latest` : null;
647
+ const primaryInstall = manifestInstall || installMatches[0];
648
+ if (!primaryInstall) {
649
+ answer = 'I found CLI references, but not an explicit install command in the matched evidence.';
650
+ }
651
+ else {
652
+ answer = [
653
+ 'Here is the install command I found for the CLI:',
654
+ `\`${primaryInstall}\``,
655
+ installMatches.length > 1 ? `Also seen: ${installMatches.slice(1, 3).map((cmd) => `\`${cmd}\``).join(', ')}` : '',
656
+ ].filter(Boolean).join('\n');
657
+ }
658
+ }
659
+ else if (asksFeatures && (context.featureBullets || []).length > 0) {
660
+ const bullets = (context.featureBullets || []).slice(0, 6).map((line) => ` • ${line}`);
661
+ answer = ['Here are the main platform features I could verify from the repo:', ...bullets].join('\n');
662
+ }
663
+ else if (asksCommands && commandMatches.length > 0) {
664
+ const normalizedCommands = commandMatches
665
+ .filter((command) => /^neurcode\s+[a-z]/.test(command))
666
+ .slice(0, 22);
667
+ const commandBullets = normalizedCommands.map((command) => ` • \`${command}\``);
668
+ answer = ['Here are the CLI commands I could verify from the repo:', ...commandBullets].join('\n');
669
+ }
670
+ else if (asksTenancy && (multiSignals > 0 || singleSignals > 0)) {
671
+ if (multiSignals >= singleSignals + 2) {
672
+ answer = 'This codebase is multi-tenant, with organization-scoped flows (for example org IDs / `x-org-id` context).';
673
+ }
674
+ else if (singleSignals >= multiSignals + 2) {
675
+ answer = 'This codebase currently looks single-tenant from the scanned evidence.';
903
676
  }
904
677
  else {
905
- answer = 'No direct evidence lines were found for this question in the scanned files.';
678
+ answer = 'I see mixed tenancy signals, but it leans multi-tenant in current runtime paths.';
906
679
  }
907
680
  }
681
+ else if (insightLines.length > 0) {
682
+ const bullets = insightLines.map((line) => ` • ${line}`);
683
+ answer = truth.status === 'insufficient'
684
+ ? ['I found partial evidence, but not enough for a fully definitive answer yet.', 'What I can confirm so far:', ...bullets].join('\n')
685
+ : ['From this repo, here is what I found:', ...bullets].join('\n');
686
+ }
687
+ else {
688
+ answer = `I found grounded evidence in ${stats.matchedFiles} file(s), but it is mostly low-level implementation detail.`;
689
+ }
690
+ if (asksCommands && commandMatches.length === 0 && citations.length > 0) {
691
+ findings.push('Command-style question detected, but no command declarations were found in the matched lines.');
692
+ }
693
+ if (asksInstall && installMatches.length === 0 && !context.cliPackageName) {
694
+ findings.push('Install question detected, but no package name could be resolved from packages/cli/package.json.');
695
+ }
908
696
  const topFiles = [...perFileCounts.entries()]
909
697
  .sort((a, b) => b[1] - a[1])
910
698
  .slice(0, 3)
@@ -913,6 +701,10 @@ function buildAnswer(mode, question, terms, citations, stats, termCounts, perFil
913
701
  findings.push(`Most relevant files: ${topFiles.join(', ')}`);
914
702
  }
915
703
  findings.push(`Scanned ${stats.scannedFiles} file(s); matched ${stats.matchedFiles} file(s).`);
704
+ if (truth.status === 'insufficient') {
705
+ findings.push(...truth.reasons);
706
+ findings.push('Add scope hints (module/file/path) to improve precision and grounding coverage.');
707
+ }
916
708
  return {
917
709
  question,
918
710
  questionNormalized: normalizedQuestion,
@@ -1105,86 +897,13 @@ async function askCommand(question, options = {}) {
1105
897
  const brainResults = orgId && projectId
1106
898
  ? (0, brain_context_1.searchBrainContextEntries)(cwd, scope, normalizedQuestion, { limit: 48 })
1107
899
  : { entries: [], totalIndexedFiles: 0 };
900
+ const cliPackageName = readCliPackageName(cwd);
901
+ const knownCliCommands = extractCommandsFromCliIndex(cwd);
902
+ const featureBullets = extractFeatureBulletsFromReadme(cwd, 10);
1108
903
  if (!options.json && brainResults.entries.length > 0) {
1109
904
  const top = brainResults.entries.filter((entry) => entry.score > 0).length;
1110
905
  console.log(chalk.dim(`🧠 Brain retrieval: ${top} relevant file summaries from ${brainResults.totalIndexedFiles} indexed files`));
1111
906
  }
1112
- const finalizeSpecialAnswer = (answer, note) => {
1113
- emitAskResult(answer, {
1114
- json: options.json,
1115
- maxCitations,
1116
- fromPlan: options.fromPlan,
1117
- verbose: options.verbose,
1118
- });
1119
- if (orgId && projectId) {
1120
- (0, brain_context_1.recordBrainProgressEvent)(cwd, scope, {
1121
- type: 'ask',
1122
- note,
1123
- });
1124
- }
1125
- if (shouldUseCache && orgId && projectId) {
1126
- const questionHash = (0, ask_cache_1.computeAskQuestionHash)({
1127
- question: normalizedQuestion,
1128
- contextHash: staticContext.hash,
1129
- });
1130
- const key = (0, ask_cache_1.computeAskCacheKey)({
1131
- schemaVersion: 3,
1132
- orgId,
1133
- projectId,
1134
- repo: repoFingerprint,
1135
- questionHash,
1136
- policyVersionHash,
1137
- neurcodeVersion,
1138
- });
1139
- (0, ask_cache_1.writeCachedAsk)(cwd, {
1140
- key,
1141
- input: {
1142
- schemaVersion: 3,
1143
- orgId,
1144
- projectId,
1145
- repo: repoFingerprint,
1146
- questionHash,
1147
- policyVersionHash,
1148
- neurcodeVersion,
1149
- question: normalizedQuestion,
1150
- contextHash: staticContext.hash,
1151
- },
1152
- output: answer,
1153
- evidencePaths: answer.citations.map((citation) => citation.path),
1154
- });
1155
- }
1156
- };
1157
- if (isCliCommandListQuestion(normalizedQuestion)) {
1158
- const catalog = extractCliCommandCatalog(cwd);
1159
- if (catalog) {
1160
- const answer = buildCliCommandAnswer(question, normalizedQuestion, catalog, brainResults.entries.length);
1161
- finalizeSpecialAnswer(answer, `mode=cli_catalog;truth=${answer.truth.status};score=${answer.truth.score.toFixed(2)};commands=${catalog.topLevelCommands.length}`);
1162
- return;
1163
- }
1164
- }
1165
- if (isInstallCliQuestion(normalizedQuestion)) {
1166
- const installInfo = extractInstallCommandInfo(cwd);
1167
- if (installInfo) {
1168
- const answer = buildInstallCommandAnswer(question, normalizedQuestion, installInfo, brainResults.entries.length);
1169
- finalizeSpecialAnswer(answer, `mode=install_cli;truth=${answer.truth.status};score=${answer.truth.score.toFixed(2)};package=${installInfo.packageName}`);
1170
- return;
1171
- }
1172
- }
1173
- if (isTenancyQuestion(normalizedQuestion)) {
1174
- const answer = buildTenancyAnswer(cwd, question, normalizedQuestion, brainResults.entries.length);
1175
- if (answer) {
1176
- finalizeSpecialAnswer(answer, `mode=tenancy;truth=${answer.truth.status};score=${answer.truth.score.toFixed(2)};matched_files=${answer.stats.matchedFiles}`);
1177
- return;
1178
- }
1179
- }
1180
- if (isFeatureOverviewQuestion(normalizedQuestion)) {
1181
- const entries = extractFeatureEntriesFromReadme(cwd);
1182
- if (entries.length > 0) {
1183
- const answer = buildFeatureOverviewAnswer(question, normalizedQuestion, entries, brainResults.entries.length);
1184
- finalizeSpecialAnswer(answer, `mode=feature_overview;truth=${answer.truth.status};score=${answer.truth.score.toFixed(2)};entries=${entries.length}`);
1185
- return;
1186
- }
1187
- }
1188
907
  const { mode, terms, matchers } = buildMatchers(question);
1189
908
  const pathHints = derivePathHints(question);
1190
909
  const mentionsAskCommand = /\bask\b/.test(normalizedQuestion);
@@ -1198,6 +917,7 @@ async function askCommand(question, options = {}) {
1198
917
  candidateSet.add(entry.path);
1199
918
  pathPriority.set(entry.path, (pathPriority.get(entry.path) || 0) + entry.score);
1200
919
  }
920
+ addAnchorCandidates(fileTree, candidateSet, pathPriority, normalizedQuestion);
1201
921
  const tokenHints = tokenizeQuestion(question);
1202
922
  if (candidateSet.size < 80) {
1203
923
  for (const filePath of fileTree) {
@@ -1207,6 +927,12 @@ async function askCommand(question, options = {}) {
1207
927
  if (normalizedPath.includes(token))
1208
928
  score += 0.2;
1209
929
  }
930
+ if (normalizedPath.startsWith('.github/')) {
931
+ score -= 0.2;
932
+ }
933
+ if (normalizedPath.startsWith('scripts/')) {
934
+ score -= 0.1;
935
+ }
1210
936
  if (!mentionsAskCommand && (filePath.endsWith('/commands/ask.ts') || filePath.endsWith('/utils/ask-cache.ts'))) {
1211
937
  score -= 0.45;
1212
938
  }
@@ -1222,8 +948,8 @@ async function askCommand(question, options = {}) {
1222
948
  }
1223
949
  }
1224
950
  }
1225
- if (candidateSet.size < 20) {
1226
- for (const filePath of fileTree.slice(0, 160)) {
951
+ if (candidateSet.size < 40) {
952
+ for (const filePath of fileTree.slice(0, Math.min(fileTree.length, MAX_SCAN_FILES))) {
1227
953
  candidateSet.add(filePath);
1228
954
  }
1229
955
  }
@@ -1330,7 +1056,11 @@ async function askCommand(question, options = {}) {
1330
1056
  brainCandidates: brainResults.entries.length,
1331
1057
  };
1332
1058
  const truth = evaluateTruthAssessment(mode, normalizedQuestion, terms, sourceEvidence, sourcePerFileCounts, sourceTermCounts);
1333
- const answer = buildAnswer(mode, question, terms, finalCitations, stats, sourceTermCounts, sourcePerFileCounts, truth);
1059
+ const answer = buildAnswer(mode, question, terms, finalCitations, stats, sourceTermCounts, sourcePerFileCounts, truth, {
1060
+ cliPackageName,
1061
+ knownCommands: knownCliCommands,
1062
+ featureBullets,
1063
+ });
1334
1064
  emitAskResult(answer, {
1335
1065
  json: options.json,
1336
1066
  maxCitations,
@@ -1 +1 @@
1
- {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":";;AA23BA,gCAqXC;AAhvCD,2BAAqE;AACrE,+BAA4B;AAC5B,sCAAuC;AACvC,wDAAmE;AACnE,0CAAwD;AACxD,gEAGmC;AACnC,oDAM6B;AAC7B,0DAIgC;AAChC,kDAS4B;AAE5B,IAAI,KAAU,CAAC;AACf,IAAI,CAAC;IACH,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAAC,MAAM,CAAC;IACP,KAAK,GAAG;QACN,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;QAC3B,MAAM,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;QAC5B,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;QACzB,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;QAC1B,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;QACzB,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;QAC1B,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG;KAC5B,CAAC;AACJ,CAAC;AA+BD,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC;AAClC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC;IACxC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IACtC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI;IAC1D,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK;IAC5D,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;CAC3E,CAAC,CAAC;AACH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IACrF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK;IACrF,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;IAClF,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS;IAC9F,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU;IACpG,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU;CACtD,CAAC,CAAC;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ;IAClG,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IACxG,UAAU,EAAE,KAAK;CAClB,CAAC,CAAC;AAEH,SAAS,SAAS,CAAC,GAAW,EAAE,WAAmB,cAAc;IAC/D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;QACzB,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU;QAChF,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO;KACvD,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEpI,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,EAAE;QAC/B,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ;YAAE,OAAO;QACrC,IAAI,OAAO,GAAa,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,OAAO,GAAG,IAAA,gBAAW,EAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ;gBAAE,MAAM;YACpC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvD,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;oBAAE,SAAS;YACtC,CAAC;YAED,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACtC,IAAI,EAAO,CAAC;YACZ,IAAI,CAAC;gBACH,EAAE,GAAG,IAAA,aAAQ,EAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YAED,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;gBACrB,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;oBAAE,SAAS;gBACpC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACf,SAAS;YACX,CAAC;YAED,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;gBAAE,SAAS;YAC3B,IAAI,EAAE,CAAC,IAAI,GAAG,cAAc;gBAAE,SAAS;YAEvC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,IAAI,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAEzC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,OAAO,IAAA,4BAAe,EAAC,QAAQ,CAAC;SAC7B,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC;SAC/B,KAAK,CAAC,KAAK,CAAC;SACZ,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,GAAG;SACP,WAAW,EAAE;SACb,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC;SAC/B,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,EAAE,GAAG,uBAAuB,CAAC;IAEnC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,MAAM,UAAU,GAAG,IAAA,4BAAe,EAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,0FAA0F,CAAC,CAAC;IAC7H,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAExB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAgB;IAC9C,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAElD,MAAM,UAAU,GAAG,IAAA,4BAAe,EAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,mBAAmB,GACvB,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC;QACjC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC/B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3B,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACvC,IAAI,CAAC,mBAAmB;QAAE,OAAO,EAAE,CAAC;IAEpC,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAClD,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,MAAc;IACrD,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAE3B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,GAAG,GAAc,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,WAAmB,EAAE,EAAE;QAClD,GAAG,CAAC,IAAI,CAAC;YACP,KAAK;YACL,KAAK,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC;YACnC,MAAM;SACP,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC;QACnC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvE,IAAI,CAAC,UAAU,EAAE,MAAM,UAAU,KAAK,CAAC,CAAC;IACxC,IAAI,CAAC,UAAU,EAAE,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,EAAE,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,EAAE,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAe;IACxC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEnB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,MAAM,eAAe,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG;YACf,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;YAC7C,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;SAC9C,CAAC;QACF,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAClC,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5F,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACrG,MAAM,KAAK,GAAG,iBAAiB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtG,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACtG,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK;QACL,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB;IACvC,MAAM,UAAU,GAAG,IAAA,4BAAe,EAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,yCAAyC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,gDAAgD,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,sCAAsC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,kCAAkC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,kDAAkD,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI;SACR,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE;SACN,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB,CAC1B,QAAkB,EAClB,YAAyB,EACzB,YAAiC,EACjC,kBAA0B;IAE1B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG;QACb,WAAW;QACX,2BAA2B;QAC3B,2BAA2B;QAC3B,gCAAgC;QAChC,qCAAqC;QACrC,kCAAkC;QAClC,sBAAsB;QACtB,0BAA0B;KAC3B,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC/B,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvB,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,gBAAgB,GAAG,kFAAkF,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACrI,IAAI,CAAC,gBAAgB;QAAE,OAAO;IAE9B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,SAAS,IAAI,EAAE;YAAE,MAAM;QAC3B,IAAI,IAAI,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC/E,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvB,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YACpE,SAAS,EAAE,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW;IACrC,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;IACvD,IAAI,CAAC,IAAA,eAAU,EAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,OAAO,EAAE,OAAO,CAAC,CAAsB,CAAC;QAC/E,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QACxE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,GAAW;IAC9C,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;IACzD,IAAI,CAAC,IAAA,eAAU,EAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,CAAC;QACH,OAAO,GAAG,IAAA,iBAAY,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE3C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,iFAAiF,CAAC,EAAE,CAAC;QACxH,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,UAAU,CAAC,GAAG,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;QAClC,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,sDAAsD,CAAC,EAAE,CAAC;QAC7F,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,UAAU,CAAC,GAAG,CAAC,YAAY,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,+BAA+B,CAAC,GAAW,EAAE,KAAa;IACjE,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,CAAC;QACH,OAAO,GAAG,IAAA,iBAAY,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,IAAI,KAAK,GAAG,CAAC;QAAE,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClF,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAEzB,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM;QAE/B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACxD,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YAC1F,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/B,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC3B,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK;YAAE,MAAM;IACjC,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,oCAAoC,CAAC,SAAwB;IACpE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;YAChE,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,UAAU,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC9D,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,UAAU,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,0DAA0D,CAAC,EAAE,CAAC;YACtG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC/B,UAAU,CAAC,GAAG,CAAC,YAAY,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,mCAAmC,CAAC,SAAwB;IACnE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAC3B,8EAA8E,CAC/E,IAAI,EAAE,CAAC;QACR,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe;IAC3C,OAAO,OAAO;SACX,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE;SACN,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAwB,EAAE,KAAa;IAClE,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,oBAAoB,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;YAAE,SAAS;QACxC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QACjC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QACtC,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,wEAAwE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClI,IAAI,QAAQ;YAAE,SAAS;QAEvB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK;YAAE,MAAM;IACjC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACrE,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAE9B,IACE,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC;QACnC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC;QACjC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;QAC9B,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC;QACtC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;QAC9B,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC/B,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,EAClC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACzG,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,qEAAqE;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,eAAe,CAAC,kBAA0B;IACjD,OAAO,CACL,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACvC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACrC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACvC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACrC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACpC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAClC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CACvC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAsB;IACjD,IAAI,KAAK,CAAC,MAAM,KAAK,cAAc;QAAE,OAAO,KAAK,CAAC;IAClD,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI;QAAE,OAAO,MAAM,CAAC;IACvC,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI;QAAE,OAAO,QAAQ,CAAC;IACzC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,uBAAuB,CAC9B,IAA6B,EAC7B,kBAA0B,EAC1B,KAAe,EACf,eAA+B,EAC/B,mBAAwC,EACxC,gBAAqC;IAErC,MAAM,aAAa,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC;IAC1D,MAAM,oBAAoB,GAAG,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,gBAAgB,GAAG,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,mBAAmB,GAAG,eAAe,CAAC,MAAM,CAAC;IACnD,MAAM,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAAC;IACjD,MAAM,2BAA2B,GAAG,eAAe,KAAK,CAAC,IAAI,mBAAmB,IAAI,CAAC,CAAC;IACtF,IAAI,aAAa,EAAE,CAAC;QAClB,gBAAgB,GAAG,2BAA2B,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;IACpG,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,mBAAmB,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,mBAAmB,GAAG,oBAAoB,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,QAAQ,mBAAmB,sCAAsC,oBAAoB,aAAa,CAAC,CAAC;IACnH,CAAC;IACD,IAAI,eAAe,GAAG,gBAAgB,EAAE,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,kBAAkB,eAAe,qBAAqB,gBAAgB,+BAA+B,CAAC,CAAC;IACtH,CAAC;IAED,IAAI,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACrF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,+CAA+C,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5E,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,sBAAsB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvG,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,mBAAmB,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1D,aAAa,GAAG,OAAO,GAAG,mBAAmB,CAAC;IAChD,CAAC;IACD,IAAI,aAAa,IAAI,aAAa,GAAG,IAAI,IAAI,eAAe,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACjG,OAAO,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;IAC5G,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3F,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/E,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC/C,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC1G,CAAC;SAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5E,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,iBAAiB,GAAG,mBAAmB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;QAC9H,CAAC;IACH,CAAC;IACD,MAAM,oBAAoB,GAAG,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1F,IAAI,KAAK,GAAG,aAAa,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,iBAAiB,GAAG,GAAG,GAAG,oBAAoB,CAAC;IACrG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,KAAK,GAAG,CAAC,CAAC;IACvC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAExC,IAAI,KAAK,GAAG,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU;QACxD,KAAK;QACL,OAAO;QACP,eAAe,EAAE,mBAAmB;QACpC,WAAW,EAAE,eAAe;QAC5B,oBAAoB;QACpB,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAClB,IAA6B,EAC7B,QAAgB,EAChB,KAAe,EACf,SAAwB,EACxB,KAAoG,EACpG,UAA+B,EAC/B,aAAkC,EAClC,KAAsB,EACtB,UAAmG,EAAE;IAErG,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,kBAAkB,GAAG,IAAA,4BAAe,EAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,MAAM,YAAY,GAAG,2CAA2C,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC1F,MAAM,WAAW,GAAG,qCAAqC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACnF,MAAM,YAAY,GAAG,wDAAwD,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACvG,MAAM,WAAW,GAAG,gDAAgD,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAE9F,MAAM,cAAc,GAAG;QACrB,GAAG,oCAAoC,CAAC,SAAS,CAAC;QAClD,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;KACjC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,mCAAmC,CAAC,SAAS,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,mBAAmB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAEvD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,+DAA+D,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IACnJ,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,mCAAmC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAExH,IAAI,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE9C,IAAI,SAAS,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,GAAG,eAAe,IAAI,MAAM,SAAS,UAAU,KAAK,MAAM,UAAU,oCAAoC,CAAC;QACjH,CAAC;aAAM,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,GAAG,UAAU,IAAI,iBAAiB,SAAS,oBAAoB,KAAK,oCAAoC,CAAC;QACjH,CAAC;aAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,GAAG,cAAc,IAAI,wBAAwB,KAAK,aAAa,UAAU,gCAAgC,CAAC;QAClH,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,4BAA4B,IAAI,SAAS,KAAK,oCAAoC,CAAC;QAC9F,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,oBAAoB,IAAI,SAAS,KAAK,GAAG,CAAC,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,SAAS,KAAK,KAAK,IAAI,UAAU,EAAE,CAAC,CAAC;IACjF,CAAC;SAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,GAAG,4EAA4E,CAAC;QACtF,QAAQ,CAAC,IAAI,CAAC,qGAAqG,CAAC,CAAC;IACvH,CAAC;SAAM,IAAI,WAAW,EAAE,CAAC;QACvB,MAAM,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,kBAAkB,OAAO,CAAC,cAAc,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1G,MAAM,cAAc,GAAG,eAAe,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,GAAG,sFAAsF,CAAC;QAClG,CAAC;aAAM,CAAC;YACN,MAAM,GAAG;gBACP,kDAAkD;gBAClD,KAAK,cAAc,IAAI;gBACvB,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;aAClH,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;SAAM,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrE,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACxF,MAAM,GAAG,CAAC,mEAAmE,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxG,CAAC;SAAM,IAAI,YAAY,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,MAAM,kBAAkB,GAAG,cAAc;aACtC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACtD,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChB,MAAM,cAAc,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,OAAO,IAAI,CAAC,CAAC;QACjF,MAAM,GAAG,CAAC,yDAAyD,EAAE,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrG,CAAC;SAAM,IAAI,WAAW,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,YAAY,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,GAAG,2GAA2G,CAAC;QACvH,CAAC;aAAM,IAAI,aAAa,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,GAAG,wEAAwE,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,kFAAkF,CAAC;QAC9F,CAAC;IACH,CAAC;SAAM,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,cAAc;YACtC,CAAC,CAAC,CAAC,6EAA6E,EAAE,4BAA4B,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACtI,CAAC,CAAC,CAAC,uCAAuC,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,gCAAgC,KAAK,CAAC,YAAY,6DAA6D,CAAC;IAC3H,CAAC;IAED,IAAI,YAAY,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxE,QAAQ,CAAC,IAAI,CAAC,+FAA+F,CAAC,CAAC;IACjH,CAAC;IACD,IAAI,WAAW,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAC1E,QAAQ,CAAC,IAAI,CAAC,kGAAkG,CAAC,CAAC;IACpH,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC;SAC1C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC;IAChD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,wBAAwB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,YAAY,qBAAqB,KAAK,CAAC,YAAY,WAAW,CAAC,CAAC;IAC/F,IAAI,KAAK,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;IACnG,CAAC;IAED,OAAO;QACL,QAAQ;QACR,kBAAkB,EAAE,kBAAkB;QACtC,IAAI;QACJ,MAAM;QACN,QAAQ;QACR,UAAU;QACV,KAAK,EAAE;YACL,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACrC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;YAChD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;SACzC;QACD,SAAS;QACT,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,KAAK;KACN,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,MAAwB,EACxB,OAA6G;IAE7G,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACzB,GAAG,MAAM;YACT,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;YAC1D,KAAK,EAAE,OAAO,CAAC,UAAU,IAAI,MAAM;SACpC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACb,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,cAAc,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;YAC1D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC,CAAC;QAC/F,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QAC7C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAClE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QAC7C,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;YAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6CAA6C,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC/G,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,iBAAiB,UAAU,WAAW,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,MAAM,CAAC,KAAK,CAAC,eAAe,kBAAkB,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,CACnK,CACF,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,cAAc,MAAM,CAAC,KAAK,CAAC,YAAY,YAAY,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AACvJ,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,UAAsB,EAAE;IACzE,IAAI,CAAC;QACH,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,GAAG,GAAG,IAAA,yCAA0B,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAA,gBAAQ,GAAE,CAAC;QACzB,MAAM,cAAc,GAAG,IAAA,oBAAY,GAAE,CAAC;QACtC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,cAAc,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC;QAClF,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,SAAS,EAAE,SAAS,IAAI,IAAI,EAAE,CAAC;QACrE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3E,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,GAAG,CAAC;QAC5F,MAAM,kBAAkB,GAAG,IAAA,4BAAe,EAAC,QAAQ,CAAC,CAAC;QAErD,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YAC5C,IAAA,gDAA6B,EAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAChD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,aAAa,GAAG,IAAA,4CAAyB,EAC7C,GAAG,EACH,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CACtD,CAAC;QACF,MAAM,iBAAiB,GAAG,IAAA,qCAAwB,EAAC,GAAG,CAAC,CAAC;QACxD,MAAM,eAAe,GAAG,IAAA,+BAAkB,GAAE,CAAC;QAC7C,MAAM,cAAc,GAAG,IAAA,kCAAqB,EAAC,GAAG,CAAC,CAAC;QAClD,MAAM,eAAe,GAAG,cAAc,IAAI,IAAA,6CAAgC,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAE1F,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,IAAA,gDAAgC,EAAC,GAAG,EAAE,KAAK,EAAE;oBAC3C,eAAe,EAAE,cAAc,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;oBAC5F,QAAQ,EAAE,EAAE;oBACZ,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,eAAe;YACjB,CAAC;QACH,CAAC;QAED,IAAI,cAAc,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;YACzC,MAAM,YAAY,GAAG,IAAA,kCAAsB,EAAC;gBAC1C,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,aAAa,CAAC,IAAI;aAChC,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,IAAA,8BAAkB,EAAC;gBAClC,aAAa,EAAE,CAAC;gBAChB,KAAK;gBACL,SAAS;gBACT,IAAI,EAAE,eAAe;gBACrB,YAAY;gBACZ,iBAAiB;gBACjB,eAAe;aAChB,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,IAAA,yBAAa,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC3C,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,WAAW,GAAqB;oBACpC,GAAG,KAAK,CAAC,MAAM;oBACf,QAAQ;oBACR,kBAAkB,EAAE,kBAAkB;iBACvC,CAAC;gBACF,aAAa,CAAC,WAAW,EAAE;oBACzB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,YAAY;oBACZ,UAAU,EAAE,iCAAiC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,GAAG;oBAC1F,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,CAAC,CAAC;gBACH,IAAA,wCAAwB,EAAC,GAAG,EAAE,KAAK,EAAE;oBACnC,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,iBAAiB;iBACxB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,IAAA,6BAAiB,EAAC,GAAG,EAAE;gBAClC,KAAK;gBACL,SAAS;gBACT,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE,kBAAkB;gBAC5B,iBAAiB;gBACjB,eAAe;gBACf,WAAW,EAAE,aAAa,CAAC,IAAI;gBAC/B,YAAY,EAAE,IAAA,sCAA0B,EAAC,GAAG,CAAC;gBAC7C,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;YACH,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,UAAU,GAAqB;oBACnC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;oBACpB,QAAQ;oBACR,kBAAkB,EAAE,kBAAkB;iBACvC,CAAC;gBACF,MAAM,UAAU,GACd,IAAI,CAAC,MAAM,KAAK,kCAAkC;oBAChD,CAAC,CAAC,4CAA4C;oBAC9C,CAAC,CAAC,0BAA0B,CAAC;gBACjC,aAAa,CAAC,UAAU,EAAE;oBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,YAAY;oBACZ,UAAU,EAAE,GAAG,UAAU,gBAAgB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE;oBAClI,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,CAAC,CAAC;gBACH,IAAA,wCAAwB,EAAC,GAAG,EAAE,KAAK,EAAE;oBACnC,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,6BAA6B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE;iBACtF,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,GAAG,KAAK,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,IAAI,SAAS;YACrC,CAAC,CAAC,IAAA,yCAAyB,EAAC,GAAG,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAC1E,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;QAC1C,MAAM,cAAc,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;QAC1D,MAAM,cAAc,GAAG,+BAA+B,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAEhE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrD,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,GAAG,iCAAiC,YAAY,CAAC,iBAAiB,gBAAgB,CAAC,CAAC,CAAC;QACpI,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,kBAAkB,GAAG,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC,CAAC;YACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE/C,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAClF,CAAC;QACD,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC;QAE9E,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,YAAY,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;YAC3B,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;gBAChC,MAAM,cAAc,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC9C,IAAI,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC5C,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;oBAC/B,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC;wBAAE,KAAK,IAAI,GAAG,CAAC;gBACnD,CAAC;gBACD,IAAI,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC1C,KAAK,IAAI,GAAG,CAAC;gBACf,CAAC;gBACD,IAAI,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC1C,KAAK,IAAI,GAAG,CAAC;gBACf,CAAC;gBACD,IAAI,CAAC,kBAAkB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC;oBAC/G,KAAK,IAAI,IAAI,CAAC;gBAChB,CAAC;gBACD,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBAC9D,KAAK,IAAI,IAAI,CAAC;gBAChB,CAAC;qBAAM,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChC,KAAK,IAAI,IAAI,CAAC;gBAChB,CAAC;gBACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACd,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC3B,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,YAAY,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;YAC3B,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;gBACpF,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;YACjC,kCAAkC;YAClC,qCAAqC;SACtC,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,CAAC,GAAG,YAAY,CAAC;aAClC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;aACrD,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,kBAAkB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC7E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;YACjC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YACvF,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;YACpC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YACxF,CAAC,CAAC,WAAW,CAAC;QAChB,MAAM,UAAU,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAEtE,MAAM,SAAS,GAAmB,EAAE,CAAC;QACrC,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,IAAI,SAAS,CAAC,MAAM,IAAI,iBAAiB;gBAAE,MAAM;YACjD,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACrC,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,IAAA,aAAQ,EAAC,QAAQ,CAAC,CAAC;gBAC9B,IAAI,EAAE,CAAC,IAAI,GAAG,cAAc;oBAAE,SAAS;gBACvC,OAAO,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YAED,YAAY,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACrC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;gBAC5C,IAAI,SAAS,CAAC,MAAM,IAAI,iBAAiB;oBAAE,MAAM;gBACjD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAEhD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;wBAAE,SAAS;oBACxC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;oBACvC,IAAI,CAAC,OAAO;wBAAE,SAAS;oBAEvB,MAAM,QAAQ,GAAiB;wBAC7B,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,GAAG,GAAG,CAAC;wBACb,OAAO;wBACP,IAAI,EAAE,OAAO,CAAC,KAAK;wBACnB,MAAM,EACJ,OAAO,CAAC,MAAM;4BACd,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;4BACjC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;qBACnE,CAAC;oBAEF,MAAM,SAAS,GAAG,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;oBAC7E,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;wBAC3F,SAAS;oBACX,CAAC;oBAED,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1F,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACtD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACnD,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;YACtC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1F,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAClB,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QACD,MAAM,iBAAiB,GAAmB,EAAE,CAAC;QAC7C,IAAI,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACrC,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;gBAC/E,IAAI,YAAY,EAAE,CAAC;oBACjB,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;YACtC,IAAI,iBAAiB,CAAC,MAAM,IAAI,YAAY;gBAAE,MAAM;YACpD,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChJ,SAAS;YACX,CAAC;YACD,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/E,IAAI;YACJ,IAAI;YACJ,OAAO;YACP,IAAI;SACL,CAAC,CAAC,CAAC;QAEJ,MAAM,KAAK,GAAG;YACZ,YAAY;YACZ,YAAY,EAAE,mBAAmB,CAAC,IAAI;YACtC,YAAY,EAAE,cAAc,CAAC,MAAM;YACnC,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM;SAC7C,CAAC;QACF,MAAM,KAAK,GAAG,uBAAuB,CACnC,IAAI,EACJ,kBAAkB,EAClB,KAAK,EACL,cAAc,EACd,mBAAmB,EACnB,gBAAgB,CACjB,CAAC;QAEF,MAAM,MAAM,GAAG,WAAW,CACxB,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,cAAc,EACd,KAAK,EACL,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,EACL;YACE,cAAc;YACd,aAAa,EAAE,gBAAgB;YAC/B,cAAc;SACf,CACF,CAAC;QAEF,aAAa,CAAC,MAAM,EAAE;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,YAAY;YACZ,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC;QAEH,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;YACvB,IAAA,wCAAwB,EAAC,GAAG,EAAE,KAAK,EAAE;gBACnC,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,QAAQ,IAAI,UAAU,KAAK,CAAC,MAAM,UAAU,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,YAAY,kBAAkB,KAAK,CAAC,YAAY,EAAE;aACnJ,CAAC,CAAC;QACL,CAAC;QAED,IAAI,cAAc,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;YACzC,MAAM,YAAY,GAAG,IAAA,kCAAsB,EAAC;gBAC1C,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,aAAa,CAAC,IAAI;aAChC,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,IAAA,8BAAkB,EAAC;gBAC7B,aAAa,EAAE,CAAC;gBAChB,KAAK;gBACL,SAAS;gBACT,IAAI,EAAE,eAAe;gBACrB,YAAY;gBACZ,iBAAiB;gBACjB,eAAe;aAChB,CAAC,CAAC;YACH,IAAA,0BAAc,EAAC,GAAG,EAAE;gBAClB,GAAG;gBACH,KAAK,EAAE;oBACL,aAAa,EAAE,CAAC;oBAChB,KAAK;oBACL,SAAS;oBACT,IAAI,EAAE,eAAe;oBACrB,YAAY;oBACZ,iBAAiB;oBACjB,eAAe;oBACf,QAAQ,EAAE,kBAAkB;oBAC5B,WAAW,EAAE,aAAa,CAAC,IAAI;iBAChC;gBACD,MAAM,EAAE,MAAM;gBACd,aAAa,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;aAC/D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC1D,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurcode-ai/cli",
3
- "version": "0.9.21",
3
+ "version": "0.9.22",
4
4
  "description": "Neurcode CLI - AI code governance and diff analysis",
5
5
  "bin": {
6
6
  "neurcode": "dist/index.js"