@dependabit/detector 0.1.15 → 0.1.17

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 (39) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/detector.d.ts +179 -12
  3. package/dist/detector.d.ts.map +1 -1
  4. package/dist/detector.js +121 -12
  5. package/dist/detector.js.map +1 -1
  6. package/dist/diff-parser.js.map +1 -1
  7. package/dist/llm/client.d.ts +111 -2
  8. package/dist/llm/client.d.ts.map +1 -1
  9. package/dist/llm/client.js +33 -1
  10. package/dist/llm/client.js.map +1 -1
  11. package/dist/llm/copilot.d.ts.map +1 -1
  12. package/dist/llm/copilot.js +1 -7
  13. package/dist/llm/copilot.js.map +1 -1
  14. package/dist/llm/prompts.d.ts +42 -2
  15. package/dist/llm/prompts.d.ts.map +1 -1
  16. package/dist/llm/prompts.js +42 -2
  17. package/dist/llm/prompts.js.map +1 -1
  18. package/dist/parsers/code-comments.js.map +1 -1
  19. package/dist/parsers/package-files.js.map +1 -1
  20. package/dist/parsers/readme.js.map +1 -1
  21. package/package.json +26 -9
  22. package/src/detector.ts +0 -1043
  23. package/src/diff-parser.ts +0 -257
  24. package/src/index.ts +0 -43
  25. package/src/llm/client.ts +0 -85
  26. package/src/llm/copilot.ts +0 -150
  27. package/src/llm/prompts.ts +0 -111
  28. package/src/parsers/code-comments.ts +0 -178
  29. package/src/parsers/package-files.ts +0 -156
  30. package/src/parsers/readme.ts +0 -191
  31. package/test/detector.test.ts +0 -169
  32. package/test/diff-parser.test.ts +0 -187
  33. package/test/llm/client.test.ts +0 -31
  34. package/test/llm/copilot.test.ts +0 -334
  35. package/test/parsers/code-comments.test.ts +0 -98
  36. package/test/parsers/package-files.test.ts +0 -52
  37. package/test/parsers/readme.test.ts +0 -52
  38. package/tsconfig.json +0 -10
  39. package/tsconfig.tsbuildinfo +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @dependabit/detector
2
2
 
3
+ ## 0.1.17
4
+
5
+ ### Patch Changes
6
+
7
+ - [#101](https://github.com/pradeepmouli/dependabit/pull/101) [`83b9818`](https://github.com/pradeepmouli/dependabit/commit/83b98187940da75a41fb41990ea03c8d962146b4) Thanks [@pradeepmouli](https://github.com/pradeepmouli)! - - chore: bump typedoc-plugin-to-skills to ^1.3.0
8
+
9
+ - Updated dependencies [[`83b9818`](https://github.com/pradeepmouli/dependabit/commit/83b98187940da75a41fb41990ea03c8d962146b4)]:
10
+ - @dependabit/github-client@0.1.15
11
+ - @dependabit/manifest@0.1.15
12
+
13
+ ## 0.1.16
14
+
15
+ ### Patch Changes
16
+
17
+ - [#76](https://github.com/pradeepmouli/dependabit/pull/76) [`7952538`](https://github.com/pradeepmouli/dependabit/commit/7952538578b97472f9da49056db535abf8c6a26a) Thanks [@pradeepmouli](https://github.com/pradeepmouli)! - - test: trigger CI pipeline
18
+
19
+ - Updated dependencies [[`7952538`](https://github.com/pradeepmouli/dependabit/commit/7952538578b97472f9da49056db535abf8c6a26a)]:
20
+ - @dependabit/github-client@0.1.14
21
+ - @dependabit/manifest@0.1.14
22
+
3
23
  ## 0.1.14
4
24
 
5
25
  ### Patch Changes
@@ -4,16 +4,74 @@
4
4
  */
5
5
  import type { LLMProvider } from './llm/client.js';
6
6
  import type { DependencyEntry } from '@dependabit/manifest';
7
+ /**
8
+ * Configuration options for the {@link Detector} orchestrator.
9
+ *
10
+ * @remarks
11
+ * All options except `repoPath` and `llmProvider` have safe defaults.
12
+ * The detector respects `.gitignore` files and git's global excludes file
13
+ * by default; set `useGitExcludes` to `false` to disable that behaviour.
14
+ *
15
+ * @config
16
+ * @category Detector
17
+ *
18
+ * @useWhen
19
+ * You want to scan a local repository clone for informational dependencies
20
+ * that package managers do not track.
21
+ *
22
+ * @avoidWhen
23
+ * The repository has not been cloned to disk — the detector reads files
24
+ * from the filesystem and cannot operate on a bare Git remote.
25
+ *
26
+ * @never
27
+ * - `ignorePatterns` performs substring matching on path segments; overly
28
+ * broad patterns (e.g. `"src"`) will silently exclude large parts of the
29
+ * repository.
30
+ * - `repoOwner` / `repoName` are used to filter self-referential URLs from
31
+ * results. Omitting them causes the repo's own URLs to appear as
32
+ * dependencies.
33
+ * - Token budgets: the LLM provider is called once per README (up to 5) and
34
+ * once per unclassified URL. Large repositories with many READMEs can
35
+ * exhaust the provider's context window mid-run; truncation at 5 000
36
+ * characters per document is intentional but may miss late-appearing URLs.
37
+ */
7
38
  export interface DetectorOptions {
39
+ /** Absolute path to the root of the repository on disk. */
8
40
  repoPath: string;
41
+ /** LLM provider used for document analysis and dependency classification. */
9
42
  llmProvider: LLMProvider;
43
+ /**
44
+ * Path segments to exclude during directory traversal.
45
+ * @defaultValue `['node_modules', 'dist', 'build', 'target', 'vendor', 'venv', '__pycache__', 'coverage']`
46
+ */
10
47
  ignorePatterns?: string[];
48
+ /**
49
+ * When `true`, `.gitignore` files and git's global excludes are loaded
50
+ * and applied during traversal.
51
+ * @defaultValue `true`
52
+ */
11
53
  useGitExcludes?: boolean;
54
+ /** GitHub owner used to filter self-referential URLs. */
12
55
  repoOwner?: string;
56
+ /** GitHub repository name used to filter self-referential URLs. */
13
57
  repoName?: string;
14
58
  }
59
+ /**
60
+ * The result produced by {@link Detector.detectDependencies} or
61
+ * {@link Detector.analyzeFiles}.
62
+ *
63
+ * @remarks
64
+ * `statistics` are informational only — they track how many LLM calls were
65
+ * made and the cumulative token cost. Do not rely on `llmCalls` being zero
66
+ * as an indicator that the LLM was not consulted; programmatic classification
67
+ * may succeed without any LLM calls.
68
+ *
69
+ * @category Detector
70
+ */
15
71
  export interface DetectionResult {
72
+ /** Discovered dependency entries ready for merging into a manifest. */
16
73
  dependencies: DependencyEntry[];
74
+ /** Diagnostic counters for the scan run. */
17
75
  statistics: {
18
76
  filesScanned: number;
19
77
  urlsFound: number;
@@ -23,7 +81,67 @@ export interface DetectionResult {
23
81
  };
24
82
  }
25
83
  /**
26
- * Main detector class
84
+ * Orchestrates multi-stage detection of informational external dependencies
85
+ * inside a local repository clone.
86
+ *
87
+ * @remarks
88
+ * Detection follows a hybrid pipeline:
89
+ * 1. Programmatic parsing of README files, documentation, package metadata,
90
+ * and code comments extracts candidate URLs.
91
+ * 2. An LLM second-pass (up to 5 README files, capped at 5 000 chars each)
92
+ * enriches the candidate set with URLs that plain text parsing missed.
93
+ * 3. Programmatic heuristics classify each URL's `DependencyType` and
94
+ * `AccessMethod`; an LLM fallback is used only when heuristics fail.
95
+ * 4. Low-confidence entries (below 0.5) are discarded before returning.
96
+ *
97
+ * The detector does **not** write to disk or mutate any manifest file —
98
+ * callers are responsible for merging the returned `DetectionResult` into
99
+ * an existing manifest via `@dependabit/manifest`.
100
+ *
101
+ * @category Detector
102
+ *
103
+ * @useWhen
104
+ * Scanning a freshly-cloned or locally-checked-out repository to build an
105
+ * initial manifest, or during CI to detect newly-introduced dependencies from
106
+ * a commit diff.
107
+ *
108
+ * @avoidWhen
109
+ * - The repository is very large (> 10 000 source files) — source file
110
+ * scanning is hard-capped at 50 files per run.
111
+ * - You need deterministic, reproducible output across model versions — LLM
112
+ * classifications are non-deterministic even with `temperature: 0`.
113
+ *
114
+ * @never
115
+ * - **LLM output format instability**: the detector parses raw JSON from the
116
+ * LLM response; a model update that changes the output schema will silently
117
+ * produce zero LLM-sourced results rather than throwing. Pin the model
118
+ * version in `DetectorOptions.llmProvider` when reproducibility matters.
119
+ * - **Non-determinism**: identical inputs across two runs may produce
120
+ * different `dependencies` arrays if LLM classification is involved.
121
+ * Never diff two manifests by dependency count alone.
122
+ * - **Token budget exhaustion**: manifests with large README files are
123
+ * truncated to 5 000 characters before being sent to the LLM. URLs that
124
+ * appear only in the truncated portion will not be discovered by the LLM
125
+ * pass (they may still be found by the programmatic parser).
126
+ * - **Source file cap**: only the first 50 source files returned by the
127
+ * directory traversal are scanned for code-comment references. Repositories
128
+ * with many source files may have incomplete coverage.
129
+ *
130
+ * @example
131
+ * ```ts
132
+ * import { Detector } from '@dependabit/detector';
133
+ * import { GitHubCopilotProvider } from '@dependabit/detector';
134
+ *
135
+ * const detector = new Detector({
136
+ * repoPath: '/path/to/repo',
137
+ * llmProvider: new GitHubCopilotProvider({ model: 'gpt-4o' }),
138
+ * repoOwner: 'my-org',
139
+ * repoName: 'my-repo',
140
+ * });
141
+ *
142
+ * const result = await detector.detectDependencies();
143
+ * console.log(`Found ${result.dependencies.length} dependencies`);
144
+ * ```
27
145
  */
28
146
  export declare class Detector {
29
147
  private options;
@@ -32,16 +150,36 @@ export declare class Detector {
32
150
  private skipUrlPatterns;
33
151
  constructor(options: DetectorOptions);
34
152
  /**
35
- * Detect all external dependencies in the repository
153
+ * Performs a full-repository scan and returns all detected informational
154
+ * dependencies as a {@link DetectionResult}.
155
+ *
156
+ * @remarks
157
+ * The scan is bounded: README files are capped at 5 for LLM analysis,
158
+ * source files at 50 for code-comment parsing. Results are
159
+ * non-deterministic when LLM classification is involved.
160
+ *
161
+ * @returns Detected dependencies and diagnostic statistics.
162
+ *
163
+ * @throws {Error} If the LLM provider's `analyze` call throws and the error
164
+ * is not caught by the internal try-catch blocks (individual LLM failures
165
+ * are logged and skipped; file-system errors bubble up).
36
166
  *
37
- * Implementation follows a hybrid approach:
38
- * 1. Programmatic parsing of repository files (README, code comments, package files)
39
- * 2. LLM analysis only for documents not fully parsed in step 1 (future enhancement)
40
- * 3. Programmatic type categorization based on URL patterns and context
41
- * 4. LLM fallback for uncategorized dependencies
42
- * 5. Programmatic access method determination based on URL patterns
43
- * 6. LLM fallback for access methods that can't be determined (future enhancement)
44
- * 7. Manifest entry creation with references and versioning
167
+ * @category Detector
168
+ *
169
+ * @useWhen
170
+ * Building an initial manifest for a repository or running a full refresh
171
+ * on a schedule.
172
+ *
173
+ * @avoidWhen
174
+ * Only a small subset of files changed — prefer {@link Detector.analyzeFiles}
175
+ * for incremental updates to avoid unnecessary LLM calls.
176
+ *
177
+ * @never
178
+ * - Results are **not** cached between calls; calling `detectDependencies`
179
+ * twice on the same instance makes duplicate LLM calls.
180
+ * - The method does not deduplicate against an existing manifest; callers
181
+ * must use `mergeManifests` from `@dependabit/manifest` to avoid
182
+ * duplicate entries.
45
183
  */
46
184
  detectDependencies(): Promise<DetectionResult>;
47
185
  private addReference;
@@ -75,8 +213,37 @@ export declare class Detector {
75
213
  private getDefaultGlobalExcludeFiles;
76
214
  private expandHomePath;
77
215
  /**
78
- * Analyze only specific files for dependencies (for incremental updates)
79
- * This is more efficient than full repository scan when only few files changed
216
+ * Analyzes a specific list of files for dependencies rather than scanning
217
+ * the entire repository. Prefer this over {@link Detector.detectDependencies}
218
+ * when only a handful of files changed (e.g., in a pull-request diff).
219
+ *
220
+ * @param filePaths - Absolute or `repoPath`-relative file paths to analyze.
221
+ * Paths outside the repository root are silently skipped to prevent
222
+ * directory-traversal attacks.
223
+ *
224
+ * @returns Detected dependencies and diagnostic statistics.
225
+ *
226
+ * @remarks
227
+ * Unlike `detectDependencies`, this method does NOT perform an LLM second
228
+ * pass on README files. Classification still falls back to the LLM when
229
+ * programmatic heuristics cannot determine a dependency type.
230
+ *
231
+ * @category Detector
232
+ *
233
+ * @useWhen
234
+ * Incremental manifest updates after a commit or pull request — pass the
235
+ * list of changed files from the diff parser.
236
+ *
237
+ * @avoidWhen
238
+ * Running a full initial scan — use {@link Detector.detectDependencies}
239
+ * instead, which also performs an LLM enrichment pass.
240
+ *
241
+ * @never
242
+ * - Files outside `repoPath` are **silently** skipped without error.
243
+ * Callers relying on path-traversal behaviour will get empty results.
244
+ * - File read errors are logged with `console.warn` and skipped, not
245
+ * thrown; a broken file system will produce partial results without
246
+ * surfacing an error.
80
247
  */
81
248
  analyzeFiles(filePaths: string[]): Promise<DetectionResult>;
82
249
  }
@@ -1 +1 @@
1
- {"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../src/detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAUnD,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,UAAU,EAAE;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAeD;;GAEG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,eAAe,CAAW;IAElC,YAAY,OAAO,EAAE,eAAe,EA8BnC;IAED;;;;;;;;;;;OAWG;IACG,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC,CA2SnD;IAED,OAAO,CAAC,YAAY;IAqCpB,OAAO,CAAC,YAAY;IAIpB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA0B7B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAgE/B,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,gBAAgB;YAsBV,SAAS;YA2BT,gBAAgB;YAIhB,eAAe;IAI7B,OAAO,CAAC,YAAY;YAIN,gBAAgB;IAa9B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,kBAAkB;YAIZ,YAAY;IAmB1B,OAAO,CAAC,mBAAmB;YAeb,gBAAgB;YA6ChB,qBAAqB;IAsBnC,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,2BAA2B;IAkBnC,OAAO,CAAC,4BAA4B;IASpC,OAAO,CAAC,cAAc;IAUtB;;;OAGG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CA8MhE;CACF"}
1
+ {"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../src/detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAUnD,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,WAAW,EAAE,WAAW,CAAC;IACzB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,4CAA4C;IAC5C,UAAU,EAAE;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAeD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,eAAe,CAAW;IAElC,YAAY,OAAO,EAAE,eAAe,EA8BnC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACG,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC,CA2SnD;IAED,OAAO,CAAC,YAAY;IAqCpB,OAAO,CAAC,YAAY;IAIpB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA0B7B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAgE/B,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,gBAAgB;YAsBV,SAAS;YA2BT,gBAAgB;YAIhB,eAAe;IAI7B,OAAO,CAAC,YAAY;YAIN,gBAAgB;IAa9B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,kBAAkB;YAIZ,YAAY;IAmB1B,OAAO,CAAC,mBAAmB;YAeb,gBAAgB;YA6ChB,qBAAqB;IAsBnC,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,2BAA2B;IAkBnC,OAAO,CAAC,4BAA4B;IASpC,OAAO,CAAC,cAAc;IAUtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CA8MhE;CACF"}
package/dist/detector.js CHANGED
@@ -24,7 +24,67 @@ const DEFAULT_IGNORE_PATTERNS = [
24
24
  ];
25
25
  const ALLOWED_DOT_DIRECTORIES = new Set();
26
26
  /**
27
- * Main detector class
27
+ * Orchestrates multi-stage detection of informational external dependencies
28
+ * inside a local repository clone.
29
+ *
30
+ * @remarks
31
+ * Detection follows a hybrid pipeline:
32
+ * 1. Programmatic parsing of README files, documentation, package metadata,
33
+ * and code comments extracts candidate URLs.
34
+ * 2. An LLM second-pass (up to 5 README files, capped at 5 000 chars each)
35
+ * enriches the candidate set with URLs that plain text parsing missed.
36
+ * 3. Programmatic heuristics classify each URL's `DependencyType` and
37
+ * `AccessMethod`; an LLM fallback is used only when heuristics fail.
38
+ * 4. Low-confidence entries (below 0.5) are discarded before returning.
39
+ *
40
+ * The detector does **not** write to disk or mutate any manifest file —
41
+ * callers are responsible for merging the returned `DetectionResult` into
42
+ * an existing manifest via `@dependabit/manifest`.
43
+ *
44
+ * @category Detector
45
+ *
46
+ * @useWhen
47
+ * Scanning a freshly-cloned or locally-checked-out repository to build an
48
+ * initial manifest, or during CI to detect newly-introduced dependencies from
49
+ * a commit diff.
50
+ *
51
+ * @avoidWhen
52
+ * - The repository is very large (> 10 000 source files) — source file
53
+ * scanning is hard-capped at 50 files per run.
54
+ * - You need deterministic, reproducible output across model versions — LLM
55
+ * classifications are non-deterministic even with `temperature: 0`.
56
+ *
57
+ * @never
58
+ * - **LLM output format instability**: the detector parses raw JSON from the
59
+ * LLM response; a model update that changes the output schema will silently
60
+ * produce zero LLM-sourced results rather than throwing. Pin the model
61
+ * version in `DetectorOptions.llmProvider` when reproducibility matters.
62
+ * - **Non-determinism**: identical inputs across two runs may produce
63
+ * different `dependencies` arrays if LLM classification is involved.
64
+ * Never diff two manifests by dependency count alone.
65
+ * - **Token budget exhaustion**: manifests with large README files are
66
+ * truncated to 5 000 characters before being sent to the LLM. URLs that
67
+ * appear only in the truncated portion will not be discovered by the LLM
68
+ * pass (they may still be found by the programmatic parser).
69
+ * - **Source file cap**: only the first 50 source files returned by the
70
+ * directory traversal are scanned for code-comment references. Repositories
71
+ * with many source files may have incomplete coverage.
72
+ *
73
+ * @example
74
+ * ```ts
75
+ * import { Detector } from '@dependabit/detector';
76
+ * import { GitHubCopilotProvider } from '@dependabit/detector';
77
+ *
78
+ * const detector = new Detector({
79
+ * repoPath: '/path/to/repo',
80
+ * llmProvider: new GitHubCopilotProvider({ model: 'gpt-4o' }),
81
+ * repoOwner: 'my-org',
82
+ * repoName: 'my-repo',
83
+ * });
84
+ *
85
+ * const result = await detector.detectDependencies();
86
+ * console.log(`Found ${result.dependencies.length} dependencies`);
87
+ * ```
28
88
  */
29
89
  export class Detector {
30
90
  options;
@@ -59,16 +119,36 @@ export class Detector {
59
119
  ];
60
120
  }
61
121
  /**
62
- * Detect all external dependencies in the repository
122
+ * Performs a full-repository scan and returns all detected informational
123
+ * dependencies as a {@link DetectionResult}.
63
124
  *
64
- * Implementation follows a hybrid approach:
65
- * 1. Programmatic parsing of repository files (README, code comments, package files)
66
- * 2. LLM analysis only for documents not fully parsed in step 1 (future enhancement)
67
- * 3. Programmatic type categorization based on URL patterns and context
68
- * 4. LLM fallback for uncategorized dependencies
69
- * 5. Programmatic access method determination based on URL patterns
70
- * 6. LLM fallback for access methods that can't be determined (future enhancement)
71
- * 7. Manifest entry creation with references and versioning
125
+ * @remarks
126
+ * The scan is bounded: README files are capped at 5 for LLM analysis,
127
+ * source files at 50 for code-comment parsing. Results are
128
+ * non-deterministic when LLM classification is involved.
129
+ *
130
+ * @returns Detected dependencies and diagnostic statistics.
131
+ *
132
+ * @throws {Error} If the LLM provider's `analyze` call throws and the error
133
+ * is not caught by the internal try-catch blocks (individual LLM failures
134
+ * are logged and skipped; file-system errors bubble up).
135
+ *
136
+ * @category Detector
137
+ *
138
+ * @useWhen
139
+ * Building an initial manifest for a repository or running a full refresh
140
+ * on a schedule.
141
+ *
142
+ * @avoidWhen
143
+ * Only a small subset of files changed — prefer {@link Detector.analyzeFiles}
144
+ * for incremental updates to avoid unnecessary LLM calls.
145
+ *
146
+ * @never
147
+ * - Results are **not** cached between calls; calling `detectDependencies`
148
+ * twice on the same instance makes duplicate LLM calls.
149
+ * - The method does not deduplicate against an existing manifest; callers
150
+ * must use `mergeManifests` from `@dependabit/manifest` to avoid
151
+ * duplicate entries.
72
152
  */
73
153
  async detectDependencies() {
74
154
  const allReferences = new Map();
@@ -642,8 +722,37 @@ Return as JSON: {"accessMethod": "...", "confidence": 0.0-1.0}`;
642
722
  return filePath;
643
723
  }
644
724
  /**
645
- * Analyze only specific files for dependencies (for incremental updates)
646
- * This is more efficient than full repository scan when only few files changed
725
+ * Analyzes a specific list of files for dependencies rather than scanning
726
+ * the entire repository. Prefer this over {@link Detector.detectDependencies}
727
+ * when only a handful of files changed (e.g., in a pull-request diff).
728
+ *
729
+ * @param filePaths - Absolute or `repoPath`-relative file paths to analyze.
730
+ * Paths outside the repository root are silently skipped to prevent
731
+ * directory-traversal attacks.
732
+ *
733
+ * @returns Detected dependencies and diagnostic statistics.
734
+ *
735
+ * @remarks
736
+ * Unlike `detectDependencies`, this method does NOT perform an LLM second
737
+ * pass on README files. Classification still falls back to the LLM when
738
+ * programmatic heuristics cannot determine a dependency type.
739
+ *
740
+ * @category Detector
741
+ *
742
+ * @useWhen
743
+ * Incremental manifest updates after a commit or pull request — pass the
744
+ * list of changed files from the diff parser.
745
+ *
746
+ * @avoidWhen
747
+ * Running a full initial scan — use {@link Detector.detectDependencies}
748
+ * instead, which also performs an LLM enrichment pass.
749
+ *
750
+ * @never
751
+ * - Files outside `repoPath` are **silently** skipped without error.
752
+ * Callers relying on path-traversal behaviour will get empty results.
753
+ * - File read errors are logged with `console.warn` and skipped, not
754
+ * thrown; a broken file system will produce partial results without
755
+ * surfacing an error.
647
756
  */
648
757
  async analyzeFiles(filePaths) {
649
758
  const allReferences = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"detector.js","sourceRoot":"","sources":["../src/detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,MAAM,EAAE,EAAe,MAAM,QAAQ,CAAC;AAE7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,UAAU,EACX,MAAM,4BAA4B,CAAC;AA4BpC,MAAM,uBAAuB,GAAG;IAC9B,cAAc;IACd,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,aAAa;IACb,UAAU;CACX,CAAC;AAEF,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAU,CAAC;AAElD;;GAEG;AACH,MAAM,OAAO,QAAQ;IACX,OAAO,CAA4B;IACnC,aAAa,GAAkB,IAAI,CAAC;IACpC,mBAAmB,GAAG,KAAK,CAAC;IAC5B,eAAe,CAAW;IAElC,YAAY,OAAwB,EAAE;QACpC,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,OAAO;YACV,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,uBAAuB;YACjE,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI;YAC9C,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;YAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;SACjC,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG;YACrB,cAAc;YACd,cAAc;YACd,WAAW;YACX,cAAc;YACd,QAAQ,EAAE,sCAAsC;YAChD,yBAAyB,EAAE,6BAA6B;YACxD,iBAAiB,EAAE,sDAAsD;YACzE,oBAAoB,EAAE,6BAA6B;YACnD,8BAA8B,EAAE,iCAAiC;YACjE,8BAA8B,EAAE,iCAAiC;YACjE,yDAAyD;YACzD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ;gBACjD,CAAC,CAAC;oBACE,IAAI,MAAM,CACR,kBAAkB,IAAI,CAAC,OAAO,CAAC,SAAS,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,wBAAwB,EAC3F,GAAG,CACJ;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IAAA,CACH;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,kBAAkB,GAA6B;QACnD,MAAM,aAAa,GAOf,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,2DAA2D;QAC3D,yBAAyB;QACzB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5E,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC9C,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;YAE/E,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC7B,IAAI,CAAC,YAAY,CACf,aAAa,EACb,GAAG,CAAC,GAAG,EACP;oBACE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC;oBAC3C,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;oBACjD,IAAI,EAAE,GAAG,CAAC,OAAO;iBAClB,EACD,cAAc,CACf,CAAC;YACJ,CAAC;YAED,YAAY,EAAE,CAAC;QACjB,CAAC;QAED,2CAA2C;QAC3C,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;QAChG,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;YACtC,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACpC,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC9C,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;YAE/E,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC7B,IAAI,CAAC,YAAY,CACf,aAAa,EACb,GAAG,CAAC,GAAG,EACP;oBACE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC;oBAC3C,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;oBACjD,IAAI,EAAE,GAAG,CAAC,OAAO;iBAClB,EACD,cAAc,CACf,CAAC;YACJ,CAAC;YAED,YAAY,EAAE,CAAC;QACjB,CAAC;QAED,0DAA0D;QAC1D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxE,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAEtD,KAAK,MAAM,GAAG,IAAI;gBAChB,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;gBACxB,QAAQ,CAAC,UAAU;gBACnB,QAAQ,CAAC,QAAQ;gBACjB,QAAQ,CAAC,aAAa;aACvB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,YAAY,CACf,aAAa,EACb,GAAI,EACJ;oBACE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC;oBAC3C,IAAI,EAAE,kBAAkB;iBACzB,EACD,cAAc,CACf,CAAC;YACJ,CAAC;YAED,YAAY,EAAE,CAAC;QACjB,CAAC;QAED,4CAA4C;QAC5C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtE,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAC5C,oCAAoC;YACpC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC9C,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;YAErF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC7B,IAAI,CAAC,YAAY,CACf,aAAa,EACb,GAAG,CAAC,GAAG,EACP;oBACE,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,IAAI,EAAE,GAAG,CAAC,OAAO;iBAClB,EACD,cAAc,CACf,CAAC;YACJ,CAAC;YAED,YAAY,EAAE,CAAC;QACjB,CAAC;QAED,gEAAgE;QAChE,6EAA6E;QAC7E,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;QAEhD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC3C,sCAAsC;YACtC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAEtD,oDAAoD;gBACpD,MAAM,eAAe,GAAG;;QAExB,OAAO;;EAEb,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;;;;;;;;0CAQkB,CAAC;gBAEnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;gBAClF,QAAQ,EAAE,CAAC;gBACX,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;gBAC1C,cAAc,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;gBAE3C,gCAAgC;gBAChC,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;oBACxC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC3C,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBACnC,IAAI,CAAC,YAAY,CACf,aAAa,EACb,GAAG,CAAC,GAAG,EACP;4BACE,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,GAAG,CAAC,WAAW,IAAI,4BAA4B;yBACtD,EACD,cAAc,CACf,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,MAAM,YAAY,GAAsB,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC;YACxC,oDAAoD;YACpD,gFAAgF;YAChF,wCAAwC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ;iBAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;iBAC/D,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;YAElD,+CAA+C;YAC/C,IAAI,IAAI,GAA0B,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAClF,IAAI,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,mCAAmC;YAE1E,2DAA2D;YAC3D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,CAAC;oBACH,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBACtE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAC;oBAClF,QAAQ,EAAE,CAAC;oBACX,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;oBAC1C,cAAc,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;oBAE3C,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;wBACrC,IAAI,GAAG,EAAE,CAAC;4BACR,IAAI,GAAG,GAAG,CAAC,IAAsB,CAAC;4BAClC,cAAc,GAAG,GAAG,CAAC,UAAU,CAAC;wBAClC,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;YAED,6CAA6C;YAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,GAAG,OAAO,CAAC;gBACf,cAAc,GAAG,GAAG,CAAC;YACvB,CAAC;YAED,8BAA8B;YAC9B,IAAI,cAAc,GAAG,GAAG,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;YAED,uDAAuD;YACvD,IAAI,YAAY,GAAwB,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAExE,oEAAoE;YACpE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,IAAI,CAAC;oBACH,MAAM,kBAAkB,GAAG,kDAAkD,GAAG;;WAE/E,YAAY;;;;;;;;;+DASwC,CAAC;oBAEtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;oBAChF,QAAQ,EAAE,CAAC;oBACX,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;oBAC1C,cAAc,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;oBAE3C,uCAAuC;oBACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC;oBAC7C,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBACnC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;4BACxB,YAAY,GAAG,MAAM,CAAC,YAA4B,CAAC;wBACrD,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,sCAAsC;wBACtC,YAAY,GAAG,MAAM,CAAC;oBACxB,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,8CAA8C,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;oBAC3E,YAAY,GAAG,MAAM,CAAC;gBACxB,CAAC;YACH,CAAC;YAED,uCAAuC;YACvC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,YAAY,GAAG,MAAM,CAAC;YACxB,CAAC;YAED,+DAA+D;YAC/D,MAAM,KAAK,GAAoB;gBAC7B,EAAE,EAAE,UAAU,EAAE;gBAChB,GAAG;gBACH,IAAI;gBACJ,YAAY;gBACZ,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;gBAC3B,WAAW,EAAE,YAAY;gBACzB,cAAc,EAAE,SAAS;gBACzB,gBAAgB,EAAE,EAAE,EAAE,+BAA+B;gBACrD,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,mBAAmB,EAAE,cAAc;gBACnC,UAAU,EAAE,GAAG;gBACf,WAAW,EAAE,GAAG;gBAChB,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE;oBACV,OAAO,EAAE,IAAI;oBACb,cAAc,EAAE,OAAO;oBACvB,aAAa,EAAE,KAAK;iBACrB;gBACD,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACtC,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,OAAO,EAAE,CAAC,CAAC,IAAI;iBAChB,CAAC,CAAC;gBACH,aAAa,EAAE,EAAE;aAClB,CAAC;YAEF,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO;YACL,YAAY;YACZ,UAAU,EAAE;gBACV,YAAY;gBACZ,SAAS,EAAE,aAAa,CAAC,IAAI;gBAC7B,QAAQ;gBACR,WAAW;gBACX,cAAc;aACf;SACF,CAAC;IAAA,CACH;IAEO,YAAY,CAClB,GAAqB,EACrB,GAAW,EACX,OAAsD,EACtD,eAAgC,EAC1B;QACN,sDAAsD;QACtD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,mEAAmE;QACnE,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,0DAA0D;QAC1D,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACpD,MAAM,WAAW,GAAG,IAAI,MAAM,CAC5B,mBAAmB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,EACvH,GAAG,CACJ,CAAC;YACF,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE;gBACX,GAAG;gBACH,QAAQ,EAAE,EAAE;gBACZ,eAAe;aAChB,CAAC,CAAC;QACL,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAAA,CACtC;IAEO,YAAY,CAAC,GAAW,EAAU;QACxC,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAAA,CACnD;IAED;;;OAGG;IACK,qBAAqB,CAAC,GAAW,EAAuB;QAC9D,cAAc;QACd,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,OAAO,YAAY,CAAC;QAEpD,eAAe;QACf,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,OAAO,CAAC;QAE9C,wBAAwB;QACxB,IACE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;YACvB,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;YACvB,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;YACrB,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;YACrB,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;YACzB,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,EACzB,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,yBAAyB;QACzB,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,UAAU,CAAC;QAEhD,gDAAgD;QAChD,OAAO,IAAI,CAAC;IAAA,CACb;IAED;;;OAGG;IACK,uBAAuB,CAAC,GAAW,EAAE,OAAe,EAAyB;QACnF,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAE3C,MAAM,qBAAqB,GAAG,oDAAoD,CAAC,IAAI,CACrF,QAAQ,CACT,CAAC;QAEF,kBAAkB;QAClB,IACE,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC9B,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC9B,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EACjC,CAAC;YACD,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,UAAU;QACV,IACE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC3B,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC5B,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC5B,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC5B,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAC7B,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,gBAAgB;QAChB,IACE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC1B,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACnC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC3B,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC9B,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC/B,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC;YACtC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC7B,CAAC;YACD,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,2CAA2C;QAC3C,IACE,qBAAqB;YACrB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAC9B,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAC/B,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC;oBACvC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EACxC,CAAC;YACD,OAAO,0BAA0B,CAAC;QACpC,CAAC;QAED,eAAe;QACf,IACE,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;YAChC,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EACnE,CAAC;YACD,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,gDAAgD;QAChD,OAAO,IAAI,CAAC;IAAA,CACb;IAEO,WAAW,CAAC,GAAW,EAAU;QACvC,qCAAqC;QACrC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACjD,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,CAAC;QACb,CAAC;IAAA,CACF;IAEO,gBAAgB,CACtB,QAAgB,EAChB,OAAe,EACqE;QACpF,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QAEjD,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;YAChC,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;YACpC,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC9B,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAAA,CACrB;IAEO,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,OAAe,EAAqB;QACvE,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAE5D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEvC,IAAI,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBAC/D,SAAS;gBACX,CAAC;gBAED,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACzD,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;gBAC1B,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;QAED,OAAO,KAAK,CAAC;IAAA,CACd;IAEO,KAAK,CAAC,gBAAgB,CAAC,GAAW,EAAqB;QAC7D,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,yDAAyD,CAAC,CAAC;IAAA,CACvF;IAEO,KAAK,CAAC,eAAe,CAAC,GAAW,EAAqB;QAC5D,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,+CAA+C,CAAC,CAAC;IAAA,CAC7E;IAEO,YAAY,CAAC,IAAY,EAAW;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAAA,CAC9E;IAEO,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,WAAW,GAAG,KAAK,EAAoB;QACtF,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAAA,CACvD;IAEO,kBAAkB,CAAC,QAAgB,EAAW;QACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,OAAO,QAAQ,CAAC,IAAI,CAClB,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,CACzF,CAAC;IAAA,CACH;IAEO,kBAAkB,CAAC,IAAY,EAAW;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAAA,CACtF;IAEO,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,WAAoB,EAAoB;QACnF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;QAC7D,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAAA,CAClC;IAEO,mBAAmB,CAAC,QAAgB,EAAiB;QAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEpD,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,cAAc,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC;YAC9C,OAAO,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;IAAA,CAC5B;IAEO,KAAK,CAAC,gBAAgB,GAA2B;QACvD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAEhC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;YACzB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC/E,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAExD,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAClD,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC3D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YAED,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;gBACxC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAClD,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;oBAC/D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACrB,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,mDAAmD;gBACrD,CAAC;YACH,CAAC;YAED,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC;IAAA,CAC3B;IAEO,KAAK,CAAC,qBAAqB,CAAC,GAAW,EAAqB;QAClE,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBACzE,SAAS;oBACX,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3E,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACzD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;QAED,OAAO,KAAK,CAAC;IAAA,CACd;IAEO,oBAAoB,CAAC,QAAgB,EAAE,OAAe,EAAE,UAAmB,EAAY;QAC7F,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5F,OAAO,OAAO;aACX,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aAC/C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACzD,MAAM,MAAM,GAAG,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC;YACrC,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAAA,CACxC,CAAC,CAAC;IAAA,CACN;IAEO,uBAAuB,GAAa;QAC1C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAEhC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QAElE,MAAM,YAAY,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACxD,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,4BAA4B,EAAE,EAAE,CAAC;YAC3D,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAAA,CAC1B;IAEO,2BAA2B,GAAkB;QACnD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,oCAAoC,EAAE;gBAC5D,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;aACpC,CAAC;iBACC,QAAQ,EAAE;iBACV,IAAI,EAAE,CAAC;YAEV,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IAAA,CACF;IAEO,4BAA4B,GAAa;QAC/C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,OAAO;YACL,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC;YACtC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC;YAC/B,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC;SACzB,CAAC;IAAA,CACH;IAEO,cAAc,CAAC,QAAgB,EAAU;QAC/C,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;YACrB,OAAO,OAAO,EAAE,CAAC;QACnB,CAAC;QACD,OAAO,QAAQ,CAAC;IAAA,CACjB;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,SAAmB,EAA4B;QAChE,MAAM,aAAa,GAOf,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1C,SAAS;YACX,CAAC;YACD,qDAAqD;YACrD,MAAM,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrE,MAAM,kBAAkB,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;YAEjE,+DAA+D;YAC/D,gDAAgD;YAChD,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACtD,CAAC,CAAC,kBAAkB;gBACpB,CAAC,CAAC,kBAAkB,GAAG,GAAG,CAAC;YAE7B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;gBAC7E,8DAA8D;gBAC9D,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACzB,OAAO,CAAC,IAAI,CAAC,qCAAqC,QAAQ,EAAE,CAAC,CAAC;gBAChE,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAClD,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC/D,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAEjD,2BAA2B;gBAC3B,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC9B,cAAc;oBACd,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;oBACtD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;wBAC7B,IAAI,CAAC,YAAY,CACf,aAAa,EACb,GAAG,CAAC,GAAG,EACP;4BACE,IAAI,EAAE,YAAY;4BAClB,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;4BACjD,IAAI,EAAE,GAAG,CAAC,OAAO;yBAClB,EACD,cAAc,CACf,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,0DAA0D,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACrF,eAAe;oBACf,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAC1D,KAAK,MAAM,GAAG,IAAI;wBAChB,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;wBACxB,QAAQ,CAAC,UAAU;wBACnB,QAAQ,CAAC,QAAQ;wBACjB,QAAQ,CAAC,aAAa;qBACvB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;wBAClB,IAAI,CAAC,YAAY,CACf,aAAa,EACb,GAAI,EACJ;4BACE,IAAI,EAAE,YAAY;4BAClB,IAAI,EAAE,kBAAkB;yBACzB,EACD,cAAc,CACf,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,+CAA+C,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1E,cAAc;oBACd,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;oBAC5D,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;wBAC7B,IAAI,CAAC,YAAY,CACf,aAAa,EACb,GAAG,CAAC,GAAG,EACP;4BACE,IAAI,EAAE,GAAG,CAAC,IAAI;4BACd,IAAI,EAAE,GAAG,CAAC,IAAI;4BACd,IAAI,EAAE,GAAG,CAAC,OAAO;yBAClB,EACD,cAAc,CACf,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACjD,qBAAqB;oBACrB,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;oBACtD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;wBAC7B,IAAI,CAAC,YAAY,CACf,aAAa,EACb,GAAG,CAAC,GAAG,EACP;4BACE,IAAI,EAAE,YAAY;4BAClB,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;4BACjD,IAAI,EAAE,GAAG,CAAC,OAAO;yBAClB,EACD,cAAc,CACf,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,YAAY,EAAE,CAAC;YACjB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,sDAAsD;gBACtD,gEAAgE;gBAChE,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,OAAO,CAAC,IAAI,CAAC,qBAAqB,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;gBAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACzB,+CAA+C;oBAC/C,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,MAAM,YAAY,GAAsB,EAAE,CAAC;QAE3C,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAElE,2CAA2C;YAC3C,IAAI,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAE1D,2DAA2D;YAC3D,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,0BAA0B,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;oBAC5D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBAEpE,QAAQ,EAAE,CAAC;oBACX,WAAW,IAAI,QAAQ,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC;oBAChD,cAAc,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;oBAEzC,qCAAqC;oBACrC,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;oBAChE,IAAI,GAAG,CACL,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBAC7B,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC;4BACtC,CAAC,CAAC,eAAe;4BACjB,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;gCACnE,CAAC,CAAC,gBAAgB;gCAClB,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC;oCACvC,CAAC,CAAC,0BAA0B;oCAC5B,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;wCAChC,CAAC,CAAC,aAAa;wCACf,CAAC,CAAC,OAAO,CACF,CAAC;gBACtB,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,GAAG,OAAO,CAAC;gBACjB,CAAC;YACH,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,GAAG,OAAO,CAAC;YACjB,CAAC;YAED,mDAAmD;YACnD,IAAI,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;YACnD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,YAAY,GAAG,MAAM,CAAC,CAAC,mBAAmB;YAC5C,CAAC;YAED,MAAM,UAAU,GAAoB;gBAClC,EAAE,EAAE,UAAU,EAAE;gBAChB,GAAG;gBACH,IAAI;gBACJ,YAAY;gBACZ,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;gBAC3B,gBAAgB,EAAE,gBAAgB;gBAClC,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,mBAAmB,EAAE,OAAO,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;gBACtE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACpC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC3C,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,GAAG,CAAC,IAAI;iBAClB,CAAC,CAAC;gBACH,aAAa,EAAE,EAAE;aAClB,CAAC;YAEF,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QAED,OAAO;YACL,YAAY;YACZ,UAAU,EAAE;gBACV,YAAY;gBACZ,SAAS,EAAE,aAAa,CAAC,IAAI;gBAC7B,QAAQ;gBACR,WAAW;gBACX,cAAc;aACf;SACF,CAAC;IAAA,CACH;CACF"}
1
+ {"version":3,"file":"detector.js","sourceRoot":"","sources":["../src/detector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"diff-parser.js","sourceRoot":"","sources":["../src/diff-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoBH,oCAAoC;AACpC,MAAM,WAAW,GAAG,kCAAkC,CAAC;AAEvD,8BAA8B;AAC9B,MAAM,oBAAoB,GAAG;IAC3B,WAAW,EAAE,8BAA8B;IAC3C,eAAe,EAAE,+BAA+B;IAChD,SAAS,EACP,uNAAuN;CAC1N,CAAC;AAEF,mDAAmD;AACnD,MAAM,mBAAmB,GAAG;IAC1B,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO,EAAE,gBAAgB;IACzB,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,MAAM;IACN,IAAI;IACJ,IAAI,EAAE,OAAO;IACb,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM,EAAE,SAAS;IACjB,OAAO;IACP,MAAM,CAAC,SAAS;CACjB,CAAC;AAEF,yBAAyB;AACzB,MAAM,sBAAsB,GAAG;IAC7B,cAAc;IACd,kBAAkB;IAClB,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,cAAc;IACd,SAAS;IACT,eAAe;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa,EAAmB;IACxD,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEhC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,iCAAiC;YACjC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,iCAAiC;YACjC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,mDAAmD;IACrD,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAAA,CACjC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAmB,EAAE,QAAiB,EAAoB;IAC5F,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAErC,eAAe;IACf,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,kDAAkD;IAClD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,aAAa,KAAK,cAAc,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACtE,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;gBAC/B,IAAI,KAAK,CAAC,CAAC,CAAC;oBAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;aAAM,IAAI,aAAa,KAAK,kBAAkB,EAAE,CAAC;YAChD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;YAC1E,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;gBAC/B,IAAI,KAAK,CAAC,CAAC,CAAC;oBAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;aAAM,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;YAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YACpE,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;gBAC/B,IAAI,KAAK,CAAC,CAAC,CAAC;oBAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;KAC9C,CAAC;AAAA,CACH;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAmB,EAAE,QAAiB,EAAoB;IAC9F,4CAA4C;IAC5C,OAAO,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAAA,CACjD;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,KAAmB,EAAsB;IACvE,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,kBAAkB,GAAa,EAAE,CAAC;IAExC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QAEjD,sEAAsE;QACtE,MAAM,aAAa,GAAG,sBAAsB,CAAC,IAAI,CAC/C,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,QAAQ,CAC1D,CAAC;QAEF,IAAI,aAAa,EAAE,CAAC;YAClB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,SAAS;QACX,CAAC;QAED,qCAAqC;QACrC,IACE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC7B,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC3B,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EACpC,CAAC;YACD,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,SAAS;QACX,CAAC;QAED,uCAAuC;QACvC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAEvF,IAAI,oBAAoB,EAAE,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO;QACL,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;QACjD,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAC/C,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC;KAC5D,CAAC;AAAA,CACH;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAmB,EAAgC;IAClF,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AAAA,CAChB;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAmB,EAM1D;IACA,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,kBAAkB,GAAa,EAAE,CAAC;IAExC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvE,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAEhD,wBAAwB;QACxB,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACnE,YAAY,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACxC,gBAAgB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;QAEnD,0BAA0B;QAC1B,MAAM,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACvE,cAAc,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAC5C,kBAAkB,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAED,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAC5C,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;QAChD,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACpD,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACxD,YAAY;KACb,CAAC;AAAA,CACH"}
1
+ {"version":3,"file":"diff-parser.js","sourceRoot":"","sources":["../src/diff-parser.ts"],"names":[],"mappings":"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"}