lacuna-cli 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +51 -21
  2. package/dist/agent/fix-loop.d.ts +5 -0
  3. package/dist/agent/fix-loop.d.ts.map +1 -1
  4. package/dist/agent/fix-loop.js +342 -35
  5. package/dist/agent/fix-loop.js.map +1 -1
  6. package/dist/agent/generator.d.ts +4 -1
  7. package/dist/agent/generator.d.ts.map +1 -1
  8. package/dist/agent/generator.js +42 -3
  9. package/dist/agent/generator.js.map +1 -1
  10. package/dist/agent/loop.d.ts +8 -0
  11. package/dist/agent/loop.d.ts.map +1 -1
  12. package/dist/agent/loop.js +26 -9
  13. package/dist/agent/loop.js.map +1 -1
  14. package/dist/agent/prompts.d.ts +8 -0
  15. package/dist/agent/prompts.d.ts.map +1 -1
  16. package/dist/agent/prompts.js +395 -67
  17. package/dist/agent/prompts.js.map +1 -1
  18. package/dist/commands/fix.d.ts +2 -0
  19. package/dist/commands/fix.d.ts.map +1 -1
  20. package/dist/commands/fix.js +31 -2
  21. package/dist/commands/fix.js.map +1 -1
  22. package/dist/commands/init.d.ts.map +1 -1
  23. package/dist/commands/init.js +245 -34
  24. package/dist/commands/init.js.map +1 -1
  25. package/dist/lib/config.d.ts +8 -8
  26. package/dist/lib/config.d.ts.map +1 -1
  27. package/dist/lib/config.js +8 -6
  28. package/dist/lib/config.js.map +1 -1
  29. package/dist/lib/coverage/gaps.d.ts +2 -2
  30. package/dist/lib/coverage/gaps.d.ts.map +1 -1
  31. package/dist/lib/coverage/gaps.js +4 -4
  32. package/dist/lib/coverage/gaps.js.map +1 -1
  33. package/dist/lib/detector.d.ts +3 -2
  34. package/dist/lib/detector.d.ts.map +1 -1
  35. package/dist/lib/detector.js +138 -0
  36. package/dist/lib/detector.js.map +1 -1
  37. package/dist/lib/providers/anthropic.d.ts.map +1 -1
  38. package/dist/lib/providers/anthropic.js +26 -3
  39. package/dist/lib/providers/anthropic.js.map +1 -1
  40. package/dist/lib/providers/openai-compatible.d.ts +1 -1
  41. package/dist/lib/providers/openai-compatible.d.ts.map +1 -1
  42. package/dist/lib/providers/openai-compatible.js +17 -1
  43. package/dist/lib/providers/openai-compatible.js.map +1 -1
  44. package/dist/lib/skeleton.d.ts +4 -0
  45. package/dist/lib/skeleton.d.ts.map +1 -1
  46. package/dist/lib/skeleton.js +220 -0
  47. package/dist/lib/skeleton.js.map +1 -1
  48. package/dist/lib/validate.d.ts +1 -0
  49. package/dist/lib/validate.d.ts.map +1 -1
  50. package/dist/lib/validate.js +132 -0
  51. package/dist/lib/validate.js.map +1 -1
  52. package/dist/lib/worker-display.d.ts +3 -0
  53. package/dist/lib/worker-display.d.ts.map +1 -1
  54. package/dist/lib/worker-display.js +19 -4
  55. package/dist/lib/worker-display.js.map +1 -1
  56. package/package.json +1 -1
  57. package/dist/lib/report-upload.d.ts +0 -3
  58. package/dist/lib/report-upload.d.ts.map +0 -1
  59. package/dist/lib/report-upload.js +0 -15
  60. package/dist/lib/report-upload.js.map +0 -1
  61. package/oclif.manifest.json +0 -295
@@ -11,18 +11,23 @@ async function readProjectMeta(cwd) {
11
11
  const pkg = JSON.parse(await readFile(join(cwd, 'package.json'), 'utf-8'));
12
12
  const all = { ...pkg.dependencies, ...pkg.devDependencies };
13
13
  return {
14
- isReact: 'react' in all,
14
+ isReact: 'react' in all && !('react-native' in all),
15
+ isReactNative: 'react-native' in all,
16
+ isExpo: 'expo' in all,
15
17
  isNextJs: 'next' in all,
16
18
  isTypeScript: 'typescript' in all,
19
+ isVue: 'vue' in all,
20
+ isAngular: '@angular/core' in all,
21
+ isSvelte: 'svelte' in all,
22
+ isNestJs: '@nestjs/core' in all,
17
23
  };
18
24
  }
19
25
  catch {
20
- return { isReact: false, isNextJs: false, isTypeScript: false };
26
+ return { isReact: false, isReactNative: false, isExpo: false, isNextJs: false, isTypeScript: false, isVue: false, isAngular: false, isSvelte: false, isNestJs: false };
21
27
  }
22
28
  }
23
- async function isPackageInstalled(pkg, cwd) {
24
- // Check all dependency fields in package.json (covers workspaces where the
25
- // package is declared in the root manifest but installed at workspace level)
29
+ async function checkPackageInstallState(pkg, cwd) {
30
+ // Check package.json first the source of truth for declared dependencies
26
31
  try {
27
32
  const json = JSON.parse(await readFile(join(cwd, 'package.json'), 'utf-8'));
28
33
  const all = {
@@ -32,17 +37,21 @@ async function isPackageInstalled(pkg, cwd) {
32
37
  ...json['optionalDependencies'],
33
38
  };
34
39
  if (pkg in all)
35
- return true;
40
+ return 'declared';
36
41
  }
37
- catch { /* fall through to node_modules check */ }
38
- // Fallback: check if the package is present in node_modules (pnpm workspaces,
39
- // hoisted installs, or cases where the root manifest differs from what's installed)
42
+ catch { /* fall through */ }
43
+ // Check node_modules present but undeclared means it was installed on a different
44
+ // branch or manually, and won't survive a fresh CI checkout
40
45
  try {
41
46
  await access(join(cwd, 'node_modules', pkg));
42
- return true;
47
+ return 'undeclared';
43
48
  }
44
49
  catch { /* not found */ }
45
- return false;
50
+ return 'missing';
51
+ }
52
+ // Convenience wrapper used for checking individual extra packages (setupFilePackages)
53
+ async function isPackageInstalled(pkg, cwd) {
54
+ return (await checkPackageInstallState(pkg, cwd)) !== 'missing';
46
55
  }
47
56
  async function writeFileWithDir(filePath, content) {
48
57
  await mkdir(dirname(filePath), { recursive: true });
@@ -85,24 +94,117 @@ async function findProjectRoot(startDir) {
85
94
  }
86
95
  }
87
96
  }
88
- function buildSetupFileContent(isNextJs) {
97
+ function buildSetupFileContent(variant, runner) {
98
+ // Mock cleanup — prevents spy state from leaking across tests and test files.
99
+ // beforeEach: restores any globalThis spies left by previous files in the same worker
100
+ // (works in concert with restoreMocks: true in vitest.config.ts)
101
+ // afterEach: belt-and-suspenders cleanup within the file
102
+ const vitestCleanup = [
103
+ ``,
104
+ `// ── Mock cleanup ──────────────────────────────────────────────────────────`,
105
+ `// restoreMocks/clearMocks in vitest.config.ts handle this automatically,`,
106
+ `// but explicit hooks here guard against any gaps.`,
107
+ `// vi is available globally (globals: true in vitest.config.ts).`,
108
+ ``,
109
+ `beforeEach(() => {`,
110
+ ` vi.restoreAllMocks()`,
111
+ `})`,
112
+ ``,
113
+ `afterEach(() => {`,
114
+ ` vi.restoreAllMocks()`,
115
+ ` vi.clearAllMocks()`,
116
+ `})`,
117
+ ].join('\n');
118
+ const jestCleanup = [
119
+ ``,
120
+ `// ── Mock cleanup ──────────────────────────────────────────────────────────`,
121
+ `// Runs after every test to prevent mock state leaking across test files.`,
122
+ `afterEach(() => {`,
123
+ ` jest.restoreAllMocks()`,
124
+ ` jest.clearAllMocks()`,
125
+ `})`,
126
+ ].join('\n');
127
+ const cleanup = runner === 'vitest' ? vitestCleanup : jestCleanup;
128
+ if (variant === 'react-native') {
129
+ return [
130
+ `// React Native / Expo test setup`,
131
+ `// @testing-library/react-native matchers`,
132
+ `import '@testing-library/react-native/extend-expect'`,
133
+ ``,
134
+ `import { jest } from '@jest/globals'`,
135
+ ``,
136
+ `// Silence the native animated warning in tests`,
137
+ `jest.mock('react-native/Libraries/Animated/NativeAnimatedHelper')`,
138
+ jestCleanup,
139
+ ].join('\n') + '\n';
140
+ }
141
+ if (variant === 'angular') {
142
+ return `import 'jest-preset-angular/setup-jest'\n` + jestCleanup + '\n';
143
+ }
144
+ if (variant === 'nest') {
145
+ return `// NestJS test setup — no DOM environment needed\n` + jestCleanup + '\n';
146
+ }
147
+ if (variant === 'vue') {
148
+ return `import '@testing-library/jest-dom'\n` + cleanup + '\n';
149
+ }
150
+ if (variant === 'svelte') {
151
+ return `import '@testing-library/jest-dom'\n` + cleanup + '\n';
152
+ }
89
153
  const lines = [`import '@testing-library/jest-dom'`];
90
- if (isNextJs) {
91
- lines.push(``, `// ── Next.js global mocks ──────────────────────────────────────────────────`, `// These run before every test so individual test files don't need to mock them.`, ``, `import { vi } from 'vitest'`, ``, `// next/navigation — useRouter, usePathname, etc. are server-side and fail in jsdom`, `vi.mock('next/navigation', () => ({`, ` useRouter: vi.fn(() => ({ push: vi.fn(), replace: vi.fn(), back: vi.fn(), forward: vi.fn(), prefetch: vi.fn() })),`, ` usePathname: vi.fn(() => '/'),`, ` useSearchParams: vi.fn(() => new URLSearchParams()),`, ` useParams: vi.fn(() => ({})),`, ` redirect: vi.fn(),`, ` notFound: vi.fn(),`, `}))`, ``, `// next/headers — server-only, throws in jsdom`, `vi.mock('next/headers', () => ({`, ` cookies: vi.fn(() => ({ get: vi.fn(), set: vi.fn(), delete: vi.fn(), has: vi.fn(), getAll: vi.fn(() => []) })),`, ` headers: vi.fn(() => new Headers()),`, `}))`, ``, `// next/cache — no-ops in tests`, `vi.mock('next/cache', () => ({`, ` revalidatePath: vi.fn(),`, ` revalidateTag: vi.fn(),`, ` unstable_cache: vi.fn((fn: () => unknown) => fn),`, `}))`, ``, `// next/image — uses Next.js image optimization which breaks in jsdom`, `vi.mock('next/image', () => ({`, ` default: vi.fn(({ src, alt, ...props }: Record<string, unknown>) => null),`, `}))`, ``, `// next/font — font loading tries to fetch/read files at import time, fails in tests`, `// Add any fonts your project uses that aren't listed here`, `vi.mock('next/font/google', () => new Proxy({}, {`, ` get: (_: object, fontName: string) =>`, ` () => ({ className: \`font-\${fontName.toLowerCase()}\`, style: { fontFamily: fontName } }),`, `}))`, `vi.mock('next/font/local', () => ({`, ` default: vi.fn(() => ({ className: 'font-local', style: { fontFamily: 'local' } })),`, `}))`);
154
+ if (variant === 'nextjs') {
155
+ lines.push(``, `// ── Next.js global mocks ──────────────────────────────────────────────────`, `// These run before every test so individual test files don't need to mock them.`, ``, `import { vi } from 'vitest'`, ``, `// next/navigation — useRouter, usePathname, etc. are server-side and fail in jsdom`, `vi.mock('next/navigation', () => ({`, ` useRouter: vi.fn(() => ({ push: vi.fn(), replace: vi.fn(), back: vi.fn(), forward: vi.fn(), prefetch: vi.fn() })),`, ` usePathname: vi.fn(() => '/'),`, ` useSearchParams: vi.fn(() => new URLSearchParams()),`, ` useParams: vi.fn(() => ({})),`, ` redirect: vi.fn(),`, ` notFound: vi.fn(),`, `}))`, ``, `// next/headers — server-only, throws in jsdom`, `vi.mock('next/headers', () => ({`, ` cookies: vi.fn(() => ({ get: vi.fn(), set: vi.fn(), delete: vi.fn(), has: vi.fn(), getAll: vi.fn(() => []) })),`, ` headers: vi.fn(() => new Headers()),`, `}))`, ``, `// next/cache — no-ops in tests`, `vi.mock('next/cache', () => ({`, ` revalidatePath: vi.fn(),`, ` revalidateTag: vi.fn(),`, ` unstable_cache: vi.fn((fn: () => unknown) => fn),`, `}))`, ``, `// next/image — uses Next.js image optimization which breaks in jsdom`, `vi.mock('next/image', () => ({`, ` default: vi.fn(({ src, alt, ...props }: Record<string, unknown>) => null),`, `}))`, ``, `// next/font — font loading tries to fetch/read files at import time, fails in tests`, `// Add any fonts your project uses that aren't listed here`, `vi.mock('next/font/google', () => new Proxy({}, {`, ` get: (_: object, fontName: string) =>`, ` () => ({ className: \`font-\${fontName.toLowerCase()}\`, style: { fontFamily: fontName } }),`, `}))`, `vi.mock('next/font/local', () => ({`, ` default: vi.fn(() => ({ className: 'font-local', style: { fontFamily: 'local' } })),`, `}))`, vitestCleanup);
156
+ }
157
+ else {
158
+ // plain react
159
+ lines.push(cleanup);
92
160
  }
93
161
  return lines.join('\n') + '\n';
94
162
  }
95
163
  async function ensureTestRunnerSetup(runner, sourceDir, cwd, log) {
96
- if (runner === 'pytest' || runner === 'go-test')
97
- return undefined; // outside Node ecosystem
164
+ if (['pytest', 'go-test'].includes(runner))
165
+ return undefined;
166
+ const NON_NODE_RUNNERS = ['phpunit', 'pest', 'rspec', 'cargo-test', 'dotnet-test', 'gradle-test', 'maven-test', 'swift-test'];
167
+ if (NON_NODE_RUNNERS.includes(runner)) {
168
+ log(chalk.dim(`\n ${runner} detected — skipping Node.js dependency setup.`));
169
+ log(chalk.yellow(` ⚠ Coverage analysis (lacuna analyze) requires LCOV output from your test runner.`));
170
+ const hints = {
171
+ phpunit: 'Add <logging><junit .../><coverage clover="..."/></logging> to phpunit.xml, or use --coverage-clover and convert with phpunit-coverage-lcov.',
172
+ pest: 'Run pest --coverage --coverage-lcov coverage/lcov.info (requires Xdebug or PCOV).',
173
+ rspec: 'Add gem "simplecov-lcov" to your Gemfile and configure SimpleCov::Formatter::LcovFormatter in spec_helper.rb.',
174
+ 'cargo-test': 'Install cargo-llvm-cov (cargo install cargo-llvm-cov) then run: cargo llvm-cov --lcov --output-path coverage/lcov.info',
175
+ 'dotnet-test': 'Install coverlet: dotnet add package coverlet.collector — then run: dotnet test --collect:"XPlat Code Coverage" and convert the XML to LCOV with reportgenerator.',
176
+ 'gradle-test': 'Add the JaCoCo plugin to build.gradle and run ./gradlew jacocoTestReport — then convert the XML report to LCOV with lcov-gradle-plugin or reportgenerator.',
177
+ 'maven-test': 'Add jacoco-maven-plugin to pom.xml and run mvn jacoco:report — then convert the XML to LCOV with reportgenerator.',
178
+ 'swift-test': 'Run swift test --enable-code-coverage then: llvm-cov export -format lcov .build/debug/<target>.xctest > coverage/lcov.info',
179
+ };
180
+ const hint = hints[runner];
181
+ if (hint)
182
+ log(chalk.dim(` How to get LCOV: ${hint}`));
183
+ log(chalk.dim(` lacuna generate --file <path> works without coverage — it generates tests for a single file directly.\n`));
184
+ return undefined;
185
+ }
98
186
  const meta = await readProjectMeta(cwd);
99
- const alreadyInstalled = await isPackageInstalled(runner, cwd);
187
+ const installState = await checkPackageInstallState(runner, cwd);
100
188
  // ── Determine packages to install ─────────────────────────────────────────
101
189
  const basePackages = [];
102
190
  const setupFilePackages = [];
103
191
  if (runner === 'vitest') {
104
192
  basePackages.push('vitest', '@vitest/coverage-v8');
105
- if (meta.isReact) {
193
+ if (meta.isReactNative) {
194
+ // RN with vitest: warn but proceed, add @testing-library/react-native
195
+ log(chalk.yellow('\n ⚠ Vitest is not recommended for React Native — Metro transforms are incompatible out of the box.'));
196
+ log(chalk.dim(' Consider Jest, which is the official test runner for React Native and Expo.'));
197
+ setupFilePackages.push('@testing-library/react-native');
198
+ }
199
+ else if (meta.isVue) {
200
+ basePackages.push('jsdom', '@vitejs/plugin-vue');
201
+ setupFilePackages.push('@testing-library/vue', '@testing-library/jest-dom', '@testing-library/user-event');
202
+ }
203
+ else if (meta.isSvelte) {
204
+ basePackages.push('jsdom', '@sveltejs/vite-plugin-svelte');
205
+ setupFilePackages.push('@testing-library/svelte', '@testing-library/jest-dom');
206
+ }
207
+ else if (meta.isReact) {
106
208
  basePackages.push('jsdom');
107
209
  setupFilePackages.push('@testing-library/react', '@testing-library/jest-dom', '@testing-library/user-event');
108
210
  }
@@ -115,7 +217,30 @@ async function ensureTestRunnerSetup(runner, sourceDir, cwd, log) {
115
217
  else {
116
218
  basePackages.push('jest');
117
219
  }
118
- if (meta.isReact) {
220
+ if (meta.isReactNative) {
221
+ // Don't add jest-environment-jsdom for RN
222
+ const rnPreset = meta.isExpo ? 'jest-expo' : 'react-native';
223
+ if (rnPreset === 'jest-expo')
224
+ basePackages.push('jest-expo');
225
+ setupFilePackages.push('@testing-library/react-native');
226
+ }
227
+ else if (meta.isAngular) {
228
+ basePackages.push('jest-preset-angular');
229
+ setupFilePackages.push('@types/jest');
230
+ }
231
+ else if (meta.isNestJs) {
232
+ // NestJS: no DOM environment needed
233
+ setupFilePackages.push('@nestjs/testing');
234
+ }
235
+ else if (meta.isVue) {
236
+ basePackages.push('jest-environment-jsdom');
237
+ setupFilePackages.push('@testing-library/vue', '@testing-library/jest-dom', '@testing-library/user-event');
238
+ }
239
+ else if (meta.isSvelte) {
240
+ basePackages.push('jest-environment-jsdom');
241
+ setupFilePackages.push('@testing-library/svelte', '@testing-library/jest-dom', 'svelte-jeste');
242
+ }
243
+ else if (meta.isReact) {
119
244
  basePackages.push('jest-environment-jsdom');
120
245
  setupFilePackages.push('@testing-library/react', '@testing-library/jest-dom', '@testing-library/user-event');
121
246
  }
@@ -125,13 +250,22 @@ async function ensureTestRunnerSetup(runner, sourceDir, cwd, log) {
125
250
  if (meta.isTypeScript)
126
251
  basePackages.push('@types/mocha', 'ts-node');
127
252
  }
128
- // Next.js: setup file goes at root test/setup.ts — app/ is the App Router,
129
- // files inside it are treated as routes. For regular React, co-locate with source.
130
- const setupFilePath = meta.isReact
131
- ? (meta.isNextJs ? `test/setup.ts` : `${sourceDir}/test/setup.ts`)
132
- : undefined;
253
+ // Determine setup file path based on framework
254
+ const setupFilePath = (() => {
255
+ if (meta.isReactNative || meta.isExpo)
256
+ return `test/setup.ts`;
257
+ if (meta.isNextJs)
258
+ return `test/setup.ts`;
259
+ if (meta.isAngular)
260
+ return `test/setup.ts`;
261
+ if (meta.isNestJs)
262
+ return undefined; // NestJS doesn't need a DOM setup file
263
+ if (meta.isReact || meta.isVue || meta.isSvelte)
264
+ return `${sourceDir}/test/setup.ts`;
265
+ return undefined;
266
+ })();
133
267
  // ── Install missing packages ───────────────────────────────────────────────
134
- if (!alreadyInstalled) {
268
+ if (installState === 'missing') {
135
269
  const allPackages = [...basePackages, ...setupFilePackages];
136
270
  log(chalk.yellow(`\n ${runner} is not installed.`));
137
271
  log(chalk.dim(` Packages: ${allPackages.join(', ')}`));
@@ -149,6 +283,30 @@ async function ensureTestRunnerSetup(runner, sourceDir, cwd, log) {
149
283
  }
150
284
  }
151
285
  }
286
+ else if (installState === 'undeclared') {
287
+ // Package exists in node_modules but is NOT declared in package.json.
288
+ // This usually means it was installed on a different branch and won't survive
289
+ // a fresh CI checkout — node_modules is not committed to git.
290
+ const allPackages = [...basePackages, ...setupFilePackages];
291
+ log(chalk.yellow(`\n ${runner} was found in node_modules but is not declared in package.json.`));
292
+ log(chalk.dim(` This works locally but will break CI — a fresh checkout won't have node_modules.`));
293
+ const doAdd = await confirm({
294
+ message: `Add ${allPackages.join(', ')} to package.json? (recommended for CI)`,
295
+ default: true,
296
+ });
297
+ if (!doAdd) {
298
+ log(chalk.dim(` Skipped. Add manually: npm install -D ${allPackages.join(' ')}`));
299
+ }
300
+ else {
301
+ log(chalk.dim(`\n Adding to package.json...`));
302
+ try {
303
+ execSync(`npm install -D ${allPackages.join(' ')}`, { cwd, stdio: 'inherit' });
304
+ }
305
+ catch {
306
+ log(chalk.red(` Failed. Run manually: npm install -D ${allPackages.join(' ')}`));
307
+ }
308
+ }
309
+ }
152
310
  else if ((meta.isNextJs || meta.isReact) && setupFilePackages.length > 0) {
153
311
  // Runner is installed — check if the extra testing-library packages are present.
154
312
  // Must use a for-loop: Array.filter ignores async callbacks (the Promise is always truthy).
@@ -177,11 +335,30 @@ async function ensureTestRunnerSetup(runner, sourceDir, cwd, log) {
177
335
  createdSetupFile = setupFilePath;
178
336
  }
179
337
  catch {
180
- const setupContent = buildSetupFileContent(meta.isNextJs);
338
+ const setupVariant = (meta.isReactNative || meta.isExpo) ? 'react-native'
339
+ : meta.isNextJs ? 'nextjs'
340
+ : meta.isAngular ? 'angular'
341
+ : meta.isNestJs ? 'nest'
342
+ : meta.isVue ? 'vue'
343
+ : meta.isSvelte ? 'svelte'
344
+ : 'react';
345
+ const setupContent = buildSetupFileContent(setupVariant, runner);
181
346
  await writeFileWithDir(absSetup, setupContent);
182
347
  log(chalk.green(` ✓ Created ${setupFilePath}`));
183
- if (meta.isNextJs)
348
+ if (meta.isNextJs) {
184
349
  log(chalk.dim(` Includes global mocks for next/navigation, next/headers, next/cache`));
350
+ // Create the empty module that the server-only alias points to.
351
+ // Without this file, Vitest crashes when any source file imports 'server-only'.
352
+ const emptyModulePath = resolve(cwd, 'test/empty-module.ts');
353
+ try {
354
+ await access(emptyModulePath);
355
+ }
356
+ catch {
357
+ await writeFileWithDir(emptyModulePath, 'export default {}\n');
358
+ log(chalk.green(` ✓ Created test/empty-module.ts`));
359
+ log(chalk.dim(` Used as the server-only alias target in vitest.config.ts`));
360
+ }
361
+ }
185
362
  createdSetupFile = setupFilePath;
186
363
  }
187
364
  }
@@ -198,21 +375,40 @@ async function ensureTestRunnerSetup(runner, sourceDir, cwd, log) {
198
375
  const setupLine = createdSetupFile
199
376
  ? `\n setupFiles: ['./${createdSetupFile}'],`
200
377
  : '';
201
- const envLine = meta.isReact ? `\n environment: 'jsdom',` : '';
378
+ const envLine = (meta.isReact || meta.isVue || meta.isSvelte) ? `\n environment: 'jsdom',` : '';
202
379
  // Next.js uses @/ as the root alias. Read the actual target from tsconfig.json
203
380
  // to stay consistent with whatever the project has configured.
204
381
  // No React plugin needed: Vitest uses esbuild which handles JSX/TSX natively.
205
382
  const aliasTarget = meta.isNextJs ? await resolveAtAlias(cwd) : null;
383
+ // Next.js: add server-only alias so Vitest doesn't crash on Next.js server-only imports.
384
+ // server-only is a Next.js guard that throws at build time if server code leaks to the client;
385
+ // in Vitest it just needs to resolve to something harmless.
386
+ const serverOnlyAlias = meta.isNextJs
387
+ ? `,\n 'server-only': path.resolve(__dirname, './test/empty-module.ts')`
388
+ : '';
206
389
  const aliasBlock = aliasTarget
207
- ? `\n resolve: {\n alias: { '@': path.resolve(__dirname, '${aliasTarget}') },\n },`
390
+ ? `\n resolve: {\n alias: { '@': path.resolve(__dirname, '${aliasTarget}')${serverOnlyAlias} },\n },`
208
391
  : '';
209
392
  const pathImport = aliasTarget ? `import path from 'path'\n` : '';
393
+ const vuePlugin = meta.isVue ? `\nimport vue from '@vitejs/plugin-vue'` : '';
394
+ const sveltePlugin = meta.isSvelte ? `\nimport { svelte } from '@sveltejs/vite-plugin-svelte'` : '';
395
+ const pluginsBlock = meta.isVue
396
+ ? `\n plugins: [vue()],`
397
+ : meta.isSvelte
398
+ ? `\n plugins: [svelte({ hot: !process.env.VITEST })],`
399
+ : '';
210
400
  const content = [
211
- `${pathImport}import { defineConfig } from 'vitest/config'`,
401
+ `${pathImport}${vuePlugin}${sveltePlugin}import { defineConfig } from 'vitest/config'`,
212
402
  ``,
213
- `export default defineConfig({${aliasBlock}`,
403
+ `export default defineConfig({${aliasBlock}${pluginsBlock}`,
214
404
  ` test: {`,
215
405
  ` globals: true,${envLine}${setupLine}`,
406
+ ` // Restore and clear all mocks automatically before each test.`,
407
+ ` // restoreMocks runs at the Vitest worker level and can restore globalThis spies`,
408
+ ` // that the module-level vi instance cannot see — preventing cross-file contamination`,
409
+ ` // when multiple test files share the same worker thread.`,
410
+ ` restoreMocks: true,`,
411
+ ` clearMocks: true,`,
216
412
  ` coverage: {`,
217
413
  ` provider: 'v8',`,
218
414
  ` reporter: ['lcov', 'text-summary'],`,
@@ -237,13 +433,20 @@ async function ensureTestRunnerSetup(runner, sourceDir, cwd, log) {
237
433
  const setupLine = createdSetupFile
238
434
  ? `\n setupFilesAfterFramework: ['<rootDir>/${createdSetupFile}'],`
239
435
  : '';
240
- const envLine = meta.isReact ? `\n testEnvironment: 'jsdom',` : '';
436
+ const needsJsdom = (meta.isReact || meta.isVue || meta.isSvelte) && !meta.isReactNative && !meta.isAngular && !meta.isNestJs;
437
+ const envLine = needsJsdom ? `\n testEnvironment: 'jsdom',` : '';
241
438
  const tsLines = meta.isTypeScript
242
439
  ? `\n transform: { '^.+\\\\.tsx?$': 'ts-jest' },`
243
440
  : '';
441
+ const rnPreset = meta.isExpo ? 'jest-expo' : 'react-native';
442
+ const presetLine = meta.isReactNative ? `\n preset: '${rnPreset}',` : '';
443
+ const transformIgnoreLine = meta.isReactNative
444
+ ? `\n transformIgnorePatterns: ['node_modules/(?!(react-native|@react-native|@react-navigation|expo|@expo|@testing-library)/)',],`
445
+ : '';
446
+ const angularPreset = meta.isAngular ? `\n preset: 'jest-preset-angular',` : '';
244
447
  const content = [
245
448
  `/** @type {import('jest').Config} */`,
246
- `module.exports = {${envLine}${tsLines}${setupLine}`,
449
+ `module.exports = {${presetLine}${angularPreset}${envLine}${tsLines}${transformIgnoreLine}${setupLine}`,
247
450
  ` coverageReporters: ['lcov', 'text-summary'],`,
248
451
  ` coverageDirectory: 'coverage',`,
249
452
  `}`,
@@ -330,6 +533,14 @@ export default class Init extends Command {
330
533
  { value: 'mocha', name: `mocha${detectedRunner === 'mocha' ? ' (detected)' : ''}` },
331
534
  { value: 'pytest', name: `pytest${detectedRunner === 'pytest' ? ' (detected)' : ''}` },
332
535
  { value: 'go-test', name: `go test${detectedRunner === 'go-test' ? ' (detected)' : ''}` },
536
+ { value: 'phpunit', name: `phpunit${detectedRunner === 'phpunit' ? ' (detected)' : ''}` },
537
+ { value: 'pest', name: `pest (PHP)${detectedRunner === 'pest' ? ' (detected)' : ''}` },
538
+ { value: 'rspec', name: `rspec (Ruby)${detectedRunner === 'rspec' ? ' (detected)' : ''}` },
539
+ { value: 'cargo-test', name: `cargo test (Rust)${detectedRunner === 'cargo-test' ? ' (detected)' : ''}` },
540
+ { value: 'dotnet-test', name: `dotnet test (C#)${detectedRunner === 'dotnet-test' ? ' (detected)' : ''}` },
541
+ { value: 'gradle-test', name: `gradle test (Java/Kotlin)${detectedRunner === 'gradle-test' ? ' (detected)' : ''}` },
542
+ { value: 'maven-test', name: `mvn test (Java)${detectedRunner === 'maven-test' ? ' (detected)' : ''}` },
543
+ { value: 'swift-test', name: `swift test (Swift)${detectedRunner === 'swift-test' ? ' (detected)' : ''}` },
333
544
  ],
334
545
  default: detectedRunner ?? 'vitest',
335
546
  });
@@ -377,7 +588,7 @@ export default class Init extends Command {
377
588
  testRunner: testRunner,
378
589
  coverageFormat: 'lcov',
379
590
  coverageDir: 'coverage',
380
- sourceDir,
591
+ sourceDir: [sourceDir],
381
592
  threshold,
382
593
  maxIterations: 3,
383
594
  };
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAenD,KAAK,UAAU,eAAe,CAAC,GAAW;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAGxE,CAAA;QACD,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,GAAG,CAAC,eAAe,EAAE,CAAA;QAC3D,OAAO;YACL,OAAO,EAAE,OAAO,IAAI,GAAG,IAAI,CAAC,CAAC,cAAc,IAAI,GAAG,CAAC;YACnD,aAAa,EAAE,cAAc,IAAI,GAAG;YACpC,MAAM,EAAE,MAAM,IAAI,GAAG;YACrB,QAAQ,EAAE,MAAM,IAAI,GAAG;YACvB,YAAY,EAAE,YAAY,IAAI,GAAG;YACjC,KAAK,EAAE,KAAK,IAAI,GAAG;YACnB,SAAS,EAAE,eAAe,IAAI,GAAG;YACjC,QAAQ,EAAE,QAAQ,IAAI,GAAG;YACzB,QAAQ,EAAE,cAAc,IAAI,GAAG;SAChC,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;IACxK,CAAC;AACH,CAAC;AAOD,KAAK,UAAU,wBAAwB,CAAC,GAAW,EAAE,GAAW;IAC9D,2EAA2E;IAC3E,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAuD,CAAA;QACjI,MAAM,GAAG,GAAG;YACV,GAAG,IAAI,CAAC,cAAc,CAAC;YACvB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAC1B,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAC3B,GAAG,IAAI,CAAC,sBAAsB,CAAC;SAChC,CAAA;QACD,IAAI,GAAG,IAAI,GAAG;YAAE,OAAO,UAAU,CAAA;IACnC,CAAC;IAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAE9B,oFAAoF;IACpF,4DAA4D;IAC5D,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC,CAAA;QAC5C,OAAO,YAAY,CAAA;IACrB,CAAC;IAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;IAE3B,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,sFAAsF;AACtF,KAAK,UAAU,kBAAkB,CAAC,GAAW,EAAE,GAAW;IACxD,OAAO,CAAC,MAAM,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,SAAS,CAAA;AACjE,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,QAAgB,EAAE,OAAe;IAC/D,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACnD,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AACpC,CAAC;AAED,0EAA0E;AAC1E,2DAA2D;AAC3D,kFAAkF;AAClF,KAAK,UAAU,cAAc,CAAC,GAAW;IACvC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,CAAA;QAC/D,uDAAuD;QACvD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAA;QAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA+D,CAAA;QAClG,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE,CAAA;QACnD,0BAA0B;QAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;QACxC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,8CAA8C;YAC9C,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,GAAG,CAAA;QAC7C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,mDAAmD,CAAC,CAAC;IAC/D,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,2EAA2E;AAC3E,8EAA8E;AAC9E,KAAK,UAAU,eAAe,CAAC,QAAgB;IAC7C,IAAI,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC3B,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAA;YACvC,OAAO,GAAG,CAAA;QACZ,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;YAC3B,IAAI,MAAM,KAAK,GAAG;gBAAE,OAAO,QAAQ,CAAA,CAAC,qCAAqC;YACzE,GAAG,GAAG,MAAM,CAAA;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAoF,EAAE,MAAc;IACjI,8EAA8E;IAC9E,sFAAsF;IACtF,6EAA6E;IAC7E,0DAA0D;IAC1D,MAAM,aAAa,GAAG;QACpB,EAAE;QACF,+EAA+E;QAC/E,2EAA2E;QAC3E,oDAAoD;QACpD,kEAAkE;QAClE,EAAE;QACF,oBAAoB;QACpB,wBAAwB;QACxB,IAAI;QACJ,EAAE;QACF,mBAAmB;QACnB,wBAAwB;QACxB,sBAAsB;QACtB,IAAI;KACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEZ,MAAM,WAAW,GAAG;QAClB,EAAE;QACF,+EAA+E;QAC/E,2EAA2E;QAC3E,mBAAmB;QACnB,0BAA0B;QAC1B,wBAAwB;QACxB,IAAI;KACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEZ,MAAM,OAAO,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAA;IAEjE,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;QAC/B,OAAO;YACL,mCAAmC;YACnC,2CAA2C;YAC3C,sDAAsD;YACtD,EAAE;YACF,sCAAsC;YACtC,EAAE;YACF,iDAAiD;YACjD,mEAAmE;YACnE,WAAW;SACZ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACrB,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,2CAA2C,GAAG,WAAW,GAAG,IAAI,CAAA;IACzE,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,oDAAoD,GAAG,WAAW,GAAG,IAAI,CAAA;IAClF,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,OAAO,sCAAsC,GAAG,OAAO,GAAG,IAAI,CAAA;IAChE,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,sCAAsC,GAAG,OAAO,GAAG,IAAI,CAAA;IAChE,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,oCAAoC,CAAC,CAAA;IAEpD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CACR,EAAE,EACF,+EAA+E,EAC/E,kFAAkF,EAClF,EAAE,EACF,6BAA6B,EAC7B,EAAE,EACF,qFAAqF,EACrF,qCAAqC,EACrC,4HAA4H,EAC5H,sCAAsC,EACtC,wDAAwD,EACxD,uCAAuC,EACvC,6BAA6B,EAC7B,6BAA6B,EAC7B,KAAK,EACL,EAAE,EACF,gDAAgD,EAChD,kCAAkC,EAClC,mHAAmH,EACnH,wCAAwC,EACxC,KAAK,EACL,EAAE,EACF,iCAAiC,EACjC,gCAAgC,EAChC,6BAA6B,EAC7B,6BAA6B,EAC7B,sDAAsD,EACtD,KAAK,EACL,EAAE,EACF,uEAAuE,EACvE,gCAAgC,EAChC,8EAA8E,EAC9E,KAAK,EACL,EAAE,EACF,sFAAsF,EACtF,4DAA4D,EAC5D,mDAAmD,EACnD,yCAAyC,EACzC,kGAAkG,EAClG,KAAK,EACL,qCAAqC,EACrC,wFAAwF,EACxF,KAAK,EACL,aAAa,CACd,CAAA;IACH,CAAC;SAAM,CAAC;QACN,cAAc;QACd,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAChC,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,MAAc,EACd,SAAiB,EACjB,GAAW,EACX,GAA0B;IAE1B,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAA;IAE5D,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;IAC7H,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,MAAM,gDAAgD,CAAC,CAAC,CAAA;QAC7E,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oFAAoF,CAAC,CAAC,CAAA;QACvG,MAAM,KAAK,GAA2B;YACpC,OAAO,EAAO,8IAA8I;YAC5J,IAAI,EAAU,mFAAmF;YACjG,KAAK,EAAS,+GAA+G;YAC7H,YAAY,EAAE,wHAAwH;YACtI,aAAa,EAAC,mKAAmK;YACjL,aAAa,EAAC,4JAA4J;YAC1K,YAAY,EAAE,mHAAmH;YACjI,YAAY,EAAE,4HAA4H;SAC3I,CAAA;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;QAC1B,IAAI,IAAI;YAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,CAAA;QACtD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2GAA2G,CAAC,CAAC,CAAA;QAC3H,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAA;IACvC,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAEhE,6EAA6E;IAE7E,MAAM,YAAY,GAAa,EAAE,CAAA;IACjC,MAAM,iBAAiB,GAAa,EAAE,CAAA;IAEtC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAA;QAClD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,sEAAsE;YACtE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sGAAsG,CAAC,CAAC,CAAA;YACzH,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC,CAAA;YAC/F,iBAAiB,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAA;QACzD,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAA;YAChD,iBAAiB,CAAC,IAAI,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,6BAA6B,CAAC,CAAA;QAC5G,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAA;YAC1D,iBAAiB,CAAC,IAAI,CAAC,yBAAyB,EAAE,2BAA2B,CAAC,CAAA;QAChF,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC1B,iBAAiB,CAAC,IAAI,CAAC,wBAAwB,EAAE,2BAA2B,EAAE,6BAA6B,CAAC,CAAA;QAC9G,CAAC;QACD,oFAAoF;IACtF,CAAC;SAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;QACrD,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3B,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,0CAA0C;YAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAA;YAC3D,IAAI,QAAQ,KAAK,WAAW;gBAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAC5D,iBAAiB,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAA;QACzD,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;YACxC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACvC,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzB,oCAAoC;YACpC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC3C,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;YAC3C,iBAAiB,CAAC,IAAI,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,6BAA6B,CAAC,CAAA;QAC5G,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;YAC3C,iBAAiB,CAAC,IAAI,CAAC,yBAAyB,EAAE,2BAA2B,EAAE,cAAc,CAAC,CAAA;QAChG,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;YAC3C,iBAAiB,CAAC,IAAI,CAAC,wBAAwB,EAAE,2BAA2B,EAAE,6BAA6B,CAAC,CAAA;QAC9G,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAChC,IAAI,IAAI,CAAC,YAAY;YAAE,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;IACrE,CAAC;IAED,+CAA+C;IAC/C,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;QAC1B,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,eAAe,CAAA;QAC7D,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,eAAe,CAAA;QACzC,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,eAAe,CAAA;QAC1C,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAA,CAAE,uCAAuC;QAC5E,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,GAAG,SAAS,gBAAgB,CAAA;QACpF,OAAO,SAAS,CAAA;IAClB,CAAC,CAAC,EAAE,CAAA;IAEJ,8EAA8E;IAE9E,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,iBAAiB,CAAC,CAAA;QAC3D,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,MAAM,oBAAoB,CAAC,CAAC,CAAA;QACpD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAEvD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,MAAM,oBAAoB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAClG,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+CAA+C,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QACxF,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAA;YAC5C,IAAI,CAAC;gBACH,QAAQ,CAAC,kBAAkB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;YAChF,CAAC;YAAC,MAAM,CAAC;gBACP,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kDAAkD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YAC3F,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;QACzC,sEAAsE;QACtE,8EAA8E;QAC9E,8DAA8D;QAC9D,MAAM,WAAW,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,iBAAiB,CAAC,CAAA;QAC3D,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,MAAM,iEAAiE,CAAC,CAAC,CAAA;QACjG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAC,CAAA;QAEpG,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;YAC1B,OAAO,EAAE,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,wCAAwC;YAC9E,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QACF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2CAA2C,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QACpF,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAA;YAC/C,IAAI,CAAC;gBACH,QAAQ,CAAC,kBAAkB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;YAChF,CAAC;YAAC,MAAM,CAAC;gBACP,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0CAA0C,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YACnF,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3E,iFAAiF;QACjF,4FAA4F;QAC5F,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAClC,IAAI,CAAC,CAAC,MAAM,kBAAkB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6CAA6C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;YACjF,IAAI,CAAC;gBACH,QAAQ,CAAC,kBAAkB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;YAC5E,CAAC;YAAC,MAAM,CAAC;gBACP,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,wBAAwB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAA;YAC/F,CAAC;QACH,CAAC;IACH,CAAC;IAED,8EAA8E;IAE9E,IAAI,gBAAoC,CAAA;IACxC,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAA;YACtB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,aAAa,6BAA6B,CAAC,CAAC,CAAA;YAC/D,gBAAgB,GAAG,aAAa,CAAA;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc;gBACvE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;oBAC1B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;wBAC5B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;4BACxB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;gCACpB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;oCAC1B,CAAC,CAAC,OAAO,CAAA;YACX,MAAM,YAAY,GAAG,qBAAqB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;YAChE,MAAM,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;YAC9C,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,aAAa,EAAE,CAAC,CAAC,CAAA;YAChD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC,CAAA;gBACzF,gEAAgE;gBAChE,gFAAgF;gBAChF,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAA;gBAC5D,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;gBAC/B,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,gBAAgB,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAA;oBAC9D,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAA;oBACpD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC,CAAA;gBAChF,CAAC;YACH,CAAC;YACD,gBAAgB,GAAG,aAAa,CAAA;QAClC,CAAC;IACH,CAAC;IAED,8EAA8E;IAE9E,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,2EAA2E;QAC3E,oDAAoD;QACpD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAA;QACnD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,UAAU,CAAC,CAAA;YACxB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wCAAwC,UAAU,cAAc,CAAC,CAAC,CAAA;QAClF,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,SAAS,GAAG,gBAAgB;gBAChC,CAAC,CAAC,yBAAyB,gBAAgB,KAAK;gBAChD,CAAC,CAAC,EAAE,CAAA;YACN,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,CAAA;YAClG,+EAA+E;YAC/E,+DAA+D;YAC/D,8EAA8E;YAC9E,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YACpE,yFAAyF;YACzF,+FAA+F;YAC/F,4DAA4D;YAC5D,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ;gBACnC,CAAC,CAAC,2EAA2E;gBAC7E,CAAC,CAAC,EAAE,CAAA;YACN,MAAM,UAAU,GAAG,WAAW;gBAC5B,CAAC,CAAC,8DAA8D,WAAW,KAAK,eAAe,WAAW;gBAC1G,CAAC,CAAC,EAAE,CAAA;YACN,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,CAAA;YACjE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,EAAE,CAAA;YAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,yDAAyD,CAAC,CAAC,CAAC,EAAE,CAAA;YACnG,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK;gBAC7B,CAAC,CAAC,uBAAuB;gBACzB,CAAC,CAAC,IAAI,CAAC,QAAQ;oBACf,CAAC,CAAC,sDAAsD;oBACxD,CAAC,CAAC,EAAE,CAAA;YACN,MAAM,OAAO,GAAG;gBACd,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,8CAA8C;gBACtF,EAAE;gBACF,gCAAgC,UAAU,GAAG,YAAY,EAAE;gBAC3D,WAAW;gBACX,qBAAqB,OAAO,GAAG,SAAS,EAAE;gBAC1C,oEAAoE;gBACpE,sFAAsF;gBACtF,2FAA2F;gBAC3F,+DAA+D;gBAC/D,yBAAyB;gBACzB,uBAAuB;gBACvB,iBAAiB;gBACjB,uBAAuB;gBACvB,2CAA2C;gBAC3C,uCAAuC;gBACvC,QAAQ;gBACR,MAAM;gBACN,IAAI;gBACJ,EAAE;aACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACZ,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YACpC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAA;QAClE,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC,CAAA;IAEpF,CAAC;SAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAA;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,UAAU,CAAC,CAAA;YACxB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC,CAAA;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,SAAS,GAAG,gBAAgB;gBAChC,CAAC,CAAC,6CAA6C,gBAAgB,KAAK;gBACpE,CAAC,CAAC,EAAE,CAAA;YACN,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAA;YAC5H,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,CAAA;YACjE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY;gBAC/B,CAAC,CAAC,gDAAgD;gBAClD,CAAC,CAAC,EAAE,CAAA;YACN,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAA;YAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;YACzE,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa;gBAC5C,CAAC,CAAC,iIAAiI;gBACnI,CAAC,CAAC,EAAE,CAAA;YACN,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,EAAE,CAAA;YAChF,MAAM,OAAO,GAAG;gBACd,sCAAsC;gBACtC,qBAAqB,UAAU,GAAG,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,mBAAmB,GAAG,SAAS,EAAE;gBACvG,gDAAgD;gBAChD,kCAAkC;gBAClC,GAAG;gBACH,EAAE;aACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACZ,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YACpC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAA;QAChD,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC,CAAA;IAE9E,CAAC;SAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;QAChD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,UAAU,CAAC,CAAA;YACxB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC,CAAA;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC7B,IAAI,EAAE,GAAG,SAAS,oBAAoB;gBACtC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE;aACvD,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAA;YAClB,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YACpC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAA;QAC/C,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC,CAAA;IACvF,CAAC;IAED,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;IACvC,MAAM,CAAC,WAAW,GAAG,8DAA8D,CAAA;IACnF,MAAM,CAAC,QAAQ,GAAG,CAAC,eAAe,CAAC,CAAA;IAEnC,KAAK,CAAC,GAAG;QACP,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QAChD,IAAI,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,GAAG,EAAE,0BAA0B,GAAG,KAAK,CAAC,CAAC,CAAA;QACzF,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;QAE5C,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,UAAU,CAAC,CAAA;YACxB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;gBAC9B,OAAO,EAAE,4CAA4C;gBACrD,OAAO,EAAE,KAAK;aACf,CAAC,CAAA;YACF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;gBACpC,OAAM;YACR,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,kCAAkC,CAAC,CAAC;QAE9C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAA;QAEvC,MAAM,GAAG,GAAG,MAAM,iBAAiB,EAAE,CAAA;QAErC,6EAA6E;QAE7E,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC;YAC7B,OAAO,EAAE,iCAAiC;YAC1C,OAAO,EAAE;gBACP,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;aAC9E;SACF,CAAC,CAAA;QAEF,IAAI,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;QAE/B,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3B,MAAM,GAAG;gBACP,GAAG,MAAM;gBACT,OAAO,EAAE,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC;gBAChF,KAAK,EAAE,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;gBAC9C,SAAS,EAAE,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;gBACpF,UAAU,EAAE,EAAE;aACf,CAAA;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,6CAA6C,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;YAC9G,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;QACxC,CAAC;aAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;YACvF,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;QAC5C,CAAC;QAED,6EAA6E;QAE7E,MAAM,cAAc,GAAG,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;QAEhF,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC;YAC9B,OAAO,EAAE,cAAc;YACvB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,QAAQ,EAAQ,IAAI,EAAE,SAAS,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC5F,EAAE,KAAK,EAAE,MAAM,EAAU,IAAI,EAAE,OAAO,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;gBACxF,EAAE,KAAK,EAAE,OAAO,EAAS,IAAI,EAAE,QAAQ,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC1F,EAAE,KAAK,EAAE,QAAQ,EAAQ,IAAI,EAAE,SAAS,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC5F,EAAE,KAAK,EAAE,SAAS,EAAO,IAAI,EAAE,UAAU,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC9F,EAAE,KAAK,EAAE,SAAS,EAAO,IAAI,EAAE,UAAU,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC9F,EAAE,KAAK,EAAE,MAAM,EAAU,IAAI,EAAE,aAAa,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC9F,EAAE,KAAK,EAAE,OAAO,EAAS,IAAI,EAAE,eAAe,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;gBACjG,EAAE,KAAK,EAAE,YAAY,EAAI,IAAI,EAAE,oBAAoB,cAAc,KAAK,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC3G,EAAE,KAAK,EAAE,aAAa,EAAG,IAAI,EAAE,mBAAmB,cAAc,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC3G,EAAE,KAAK,EAAE,aAAa,EAAG,IAAI,EAAE,4BAA4B,cAAc,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;gBACpH,EAAE,KAAK,EAAE,YAAY,EAAI,IAAI,EAAE,kBAAkB,cAAc,KAAK,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;gBACzG,EAAE,KAAK,EAAE,YAAY,EAAI,IAAI,EAAE,qBAAqB,cAAc,KAAK,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;aAC7G;YACD,OAAO,EAAE,cAAc,IAAI,QAAQ;SACpC,CAAC,CAAA;QAEF,6EAA6E;QAE7E,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC;YAC5B,OAAO,EAAE,kDAAkD;YAC3D,OAAO,EAAE,KAAK;SACf,CAAC,CAAA;QAEF,6EAA6E;QAE7E,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,CAClD,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CACnD,CAAA;QAED,4EAA4E;QAE5E,IAAI,SAAS,GAAuB,gBAAgB,CAAA;QACpD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;gBAC7B,OAAO,EAAE,uEAAuE;gBAChF,OAAO,EAAE,KAAK;aACf,CAAC,CAAA;YACF,IAAI,QAAQ,EAAE,CAAC;gBACb,SAAS,GAAG,MAAM,KAAK,CAAC;oBACtB,OAAO,EAAE,qBAAqB;oBAC9B,OAAO,EAAE,GAAG,SAAS,gBAAgB;iBACtC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,6EAA6E;QAE7E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;YAC7B,OAAO,EAAE,yDAAyD;YAClE,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QAEF,IAAI,SAA6B,CAAA;QACjC,IAAI,QAAQ,EAAE,CAAC;YACb,SAAS,GAAG,MAAM,KAAK,CAAC;gBACtB,OAAO,EAAE,2BAA2B;gBACpC,OAAO,EAAE,GAAG,SAAS,gBAAgB;aACtC,CAAC,CAAA;QACJ,CAAC;QAED,6EAA6E;QAE7E,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QACvF,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;QAE5C,6EAA6E;QAE7E,MAAM,MAAM,GAA0B;YACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,SAAS;YACxC,UAAU,EAAE,UAAwC;YACpD,cAAc,EAAE,MAAM;YACtB,WAAW,EAAE,UAAU;YACvB,SAAS,EAAE,CAAC,SAAS,CAAC;YACtB,SAAS;YACT,aAAa,EAAE,CAAC;SACjB,CAAA;QAED,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QACnD,IAAI,SAAS;YAAI,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;QAC7C,IAAI,SAAS;YAAI,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;QAE7C,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAA;QAC3F,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;QAElE,6EAA6E;QAE7E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAA;QACnD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAA;QACtC,IAAI,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC5E,IAAI,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QACnD,IAAI,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAClD,IAAI,CAAC,GAAG,CAAC,iBAAiB,SAAS,GAAG,CAAC,CAAA;QACvC,IAAI,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QACjE,IAAI,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAEjE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YACxE,IAAI,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,SAAS,EAAE,CAAC,CAAA;YACvE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;gBAChE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAA;YAC7E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAA;QAC9D,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACzB,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAA;QACnE,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,yCAAyC,CAAC,CAAA;IACvF,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { z } from 'zod';
2
2
  declare const ConfigSchema: z.ZodObject<{
3
- testRunner: z.ZodOptional<z.ZodEnum<["jest", "vitest", "pytest", "mocha", "go-test"]>>;
3
+ testRunner: z.ZodOptional<z.ZodEnum<["jest", "vitest", "pytest", "mocha", "go-test", "phpunit", "pest", "rspec", "cargo-test", "dotnet-test", "gradle-test", "maven-test", "swift-test"]>>;
4
4
  coverageFormat: z.ZodDefault<z.ZodEnum<["lcov", "json-summary", "cobertura"]>>;
5
5
  coverageDir: z.ZodDefault<z.ZodString>;
6
- sourceDir: z.ZodDefault<z.ZodString>;
6
+ sourceDir: z.ZodEffects<z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>, string[], string | string[] | undefined>;
7
7
  threshold: z.ZodDefault<z.ZodNumber>;
8
8
  maxIterations: z.ZodDefault<z.ZodNumber>;
9
9
  coverageTimeout: z.ZodDefault<z.ZodNumber>;
@@ -13,31 +13,31 @@ declare const ConfigSchema: z.ZodObject<{
13
13
  setupFile: z.ZodOptional<z.ZodString>;
14
14
  provider: z.ZodDefault<z.ZodEnum<["anthropic", "openai-compatible"]>>;
15
15
  model: z.ZodDefault<z.ZodString>;
16
- baseURL: z.ZodOptional<z.ZodString>;
16
+ baseURL: z.ZodDefault<z.ZodString>;
17
17
  apiKeyEnv: z.ZodDefault<z.ZodString>;
18
18
  maxTokens: z.ZodDefault<z.ZodNumber>;
19
19
  }, "strip", z.ZodTypeAny, {
20
20
  coverageFormat: "lcov" | "json-summary" | "cobertura";
21
21
  coverageDir: string;
22
- sourceDir: string;
22
+ sourceDir: string[];
23
23
  threshold: number;
24
24
  maxIterations: number;
25
25
  coverageTimeout: number;
26
26
  ignore: string[];
27
27
  provider: "anthropic" | "openai-compatible";
28
28
  model: string;
29
+ baseURL: string;
29
30
  apiKeyEnv: string;
30
31
  maxTokens: number;
31
- testRunner?: "jest" | "vitest" | "pytest" | "mocha" | "go-test" | undefined;
32
+ testRunner?: "jest" | "vitest" | "pytest" | "mocha" | "go-test" | "phpunit" | "pest" | "rspec" | "cargo-test" | "dotnet-test" | "gradle-test" | "maven-test" | "swift-test" | undefined;
32
33
  testDir?: string | undefined;
33
34
  mocksFile?: string | undefined;
34
35
  setupFile?: string | undefined;
35
- baseURL?: string | undefined;
36
36
  }, {
37
- testRunner?: "jest" | "vitest" | "pytest" | "mocha" | "go-test" | undefined;
37
+ testRunner?: "jest" | "vitest" | "pytest" | "mocha" | "go-test" | "phpunit" | "pest" | "rspec" | "cargo-test" | "dotnet-test" | "gradle-test" | "maven-test" | "swift-test" | undefined;
38
38
  coverageFormat?: "lcov" | "json-summary" | "cobertura" | undefined;
39
39
  coverageDir?: string | undefined;
40
- sourceDir?: string | undefined;
40
+ sourceDir?: string | string[] | undefined;
41
41
  threshold?: number | undefined;
42
42
  maxIterations?: number | undefined;
43
43
  coverageTimeout?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBhB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAmBvD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAkB5E;AAED,wBAAsB,UAAU,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,YAAY,CAAC,CAInF"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBhB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAmBvD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAkB5E;AAED,wBAAsB,UAAU,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,YAAY,CAAC,CAInF"}
@@ -2,10 +2,12 @@ import { cosmiconfig } from 'cosmiconfig';
2
2
  import { z } from 'zod';
3
3
  import { PRESETS } from './providers/types.js';
4
4
  const ConfigSchema = z.object({
5
- testRunner: z.enum(['jest', 'vitest', 'pytest', 'mocha', 'go-test']).optional(),
5
+ testRunner: z.enum(['jest', 'vitest', 'pytest', 'mocha', 'go-test', 'phpunit', 'pest', 'rspec', 'cargo-test', 'dotnet-test', 'gradle-test', 'maven-test', 'swift-test']).optional(),
6
6
  coverageFormat: z.enum(['lcov', 'json-summary', 'cobertura']).default('lcov'),
7
7
  coverageDir: z.string().default('coverage'),
8
- sourceDir: z.string().default('src'),
8
+ // sourceDir accepts a string OR an array — both are normalised to string[] internally.
9
+ // Use an array when source files live in multiple top-level dirs (e.g. ["src", "lib", "utils"]).
10
+ sourceDir: z.union([z.string(), z.array(z.string())]).default('src').transform((v) => (Array.isArray(v) ? v : [v])),
9
11
  threshold: z.number().min(0).max(100).default(80),
10
12
  maxIterations: z.number().min(1).max(10).default(3),
11
13
  coverageTimeout: z.number().min(30).default(300), // seconds; kills hung test suite
@@ -15,10 +17,10 @@ const ConfigSchema = z.object({
15
17
  mocksFile: z.string().optional(), // path to shared mock file (e.g. src/test/mocks.ts)
16
18
  setupFile: z.string().optional(), // path to test setup file (e.g. src/test/setup.ts)
17
19
  // provider config
18
- provider: z.enum(['anthropic', 'openai-compatible']).default('anthropic'),
19
- model: z.string().default('claude-sonnet-4-6'),
20
- baseURL: z.string().optional(),
21
- apiKeyEnv: z.string().default('ANTHROPIC_API_KEY'),
20
+ provider: z.enum(['anthropic', 'openai-compatible']).default('openai-compatible'),
21
+ model: z.string().default('deepseek-chat'),
22
+ baseURL: z.string().default('https://api.deepseek.com/v1'),
23
+ apiKeyEnv: z.string().default('DEEPSEEK_API_KEY'),
22
24
  maxTokens: z.number().min(1024).max(128000).default(16000),
23
25
  });
24
26
  const explorer = cosmiconfig('lacuna', {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import type { CoverageReport, CoverageGap } from './types.js';
2
2
  export declare function extractGaps(report: CoverageReport, threshold: number): CoverageGap[];
3
3
  export declare function filterTestableGaps(gaps: CoverageGap[], userIgnore?: string[]): Promise<CoverageGap[]>;
4
- export declare function findUncoveredFiles(report: CoverageReport, sourceDir: string, cwd: string, userIgnore?: string[]): Promise<CoverageGap[]>;
4
+ export declare function findUncoveredFiles(report: CoverageReport, sourceDir: string | string[], cwd: string, userIgnore?: string[]): Promise<CoverageGap[]>;
5
5
  export declare function formatCoverageSummary(report: CoverageReport): string;
6
6
  export declare function findTestFiles(cwd: string, _env: {
7
7
  sourceDir?: string;
8
8
  }, config: {
9
- sourceDir: string;
9
+ sourceDir: string | string[];
10
10
  ignore: string[];
11
11
  }): Promise<string[]>;
12
12
  //# sourceMappingURL=gaps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gaps.d.ts","sourceRoot":"","sources":["../../../src/lib/coverage/gaps.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7D,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CASpF;AAID,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,UAAU,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAU/G;AA4HD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,UAAU,GAAE,MAAM,EAAO,GACxB,OAAO,CAAC,WAAW,EAAE,CAAC,CAyBxB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAIpE;AAID,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EAC5B,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAC9C,OAAO,CAAC,MAAM,EAAE,CAAC,CAOnB"}
1
+ {"version":3,"file":"gaps.d.ts","sourceRoot":"","sources":["../../../src/lib/coverage/gaps.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7D,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CASpF;AAID,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,UAAU,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAU/G;AA4HD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAC5B,GAAG,EAAE,MAAM,EACX,UAAU,GAAE,MAAM,EAAO,GACxB,OAAO,CAAC,WAAW,EAAE,CAAC,CAyBxB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAIpE;AAID,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EAC5B,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GACzD,OAAO,CAAC,MAAM,EAAE,CAAC,CAOnB"}