@aroman22/codegraph-vba-darwin-arm64 1.15.0 → 1.17.0

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 (230) hide show
  1. package/lib/dist/bin/codegraph.js +13 -7
  2. package/lib/dist/bin/codegraph.js.map +1 -1
  3. package/lib/dist/bin/daemon-release.d.ts +7 -0
  4. package/lib/dist/bin/daemon-release.d.ts.map +1 -0
  5. package/lib/dist/bin/daemon-release.js +18 -0
  6. package/lib/dist/bin/daemon-release.js.map +1 -0
  7. package/lib/dist/db/queries.d.ts +41 -0
  8. package/lib/dist/db/queries.d.ts.map +1 -1
  9. package/lib/dist/db/queries.js +78 -1
  10. package/lib/dist/db/queries.js.map +1 -1
  11. package/lib/dist/extraction/access-erd-extractor.d.ts +57 -0
  12. package/lib/dist/extraction/access-erd-extractor.d.ts.map +1 -0
  13. package/lib/dist/extraction/access-erd-extractor.js +389 -0
  14. package/lib/dist/extraction/access-erd-extractor.js.map +1 -0
  15. package/lib/dist/extraction/extraction-version.d.ts +1 -1
  16. package/lib/dist/extraction/extraction-version.js +1 -1
  17. package/lib/dist/extraction/grammars.d.ts +20 -0
  18. package/lib/dist/extraction/grammars.d.ts.map +1 -1
  19. package/lib/dist/extraction/grammars.js +34 -0
  20. package/lib/dist/extraction/grammars.js.map +1 -1
  21. package/lib/dist/extraction/index.d.ts +1 -0
  22. package/lib/dist/extraction/index.d.ts.map +1 -1
  23. package/lib/dist/extraction/index.js +371 -351
  24. package/lib/dist/extraction/index.js.map +1 -1
  25. package/lib/dist/extraction/parse-pool.d.ts +8 -3
  26. package/lib/dist/extraction/parse-pool.d.ts.map +1 -1
  27. package/lib/dist/extraction/parse-pool.js +1 -2
  28. package/lib/dist/extraction/parse-pool.js.map +1 -1
  29. package/lib/dist/extraction/parse-worker.js +7 -6
  30. package/lib/dist/extraction/parse-worker.js.map +1 -1
  31. package/lib/dist/extraction/sql-query-extractor.d.ts +16 -14
  32. package/lib/dist/extraction/sql-query-extractor.d.ts.map +1 -1
  33. package/lib/dist/extraction/sql-query-extractor.js +43 -31
  34. package/lib/dist/extraction/sql-query-extractor.js.map +1 -1
  35. package/lib/dist/extraction/sql-table-scan.d.ts +184 -0
  36. package/lib/dist/extraction/sql-table-scan.d.ts.map +1 -0
  37. package/lib/dist/extraction/sql-table-scan.js +288 -0
  38. package/lib/dist/extraction/sql-table-scan.js.map +1 -0
  39. package/lib/dist/extraction/tree-sitter.d.ts +10 -1
  40. package/lib/dist/extraction/tree-sitter.d.ts.map +1 -1
  41. package/lib/dist/extraction/tree-sitter.js +34 -3
  42. package/lib/dist/extraction/tree-sitter.js.map +1 -1
  43. package/lib/dist/extraction/vba/call-sweep.d.ts +2 -7
  44. package/lib/dist/extraction/vba/call-sweep.d.ts.map +1 -1
  45. package/lib/dist/extraction/vba/call-sweep.js +144 -90
  46. package/lib/dist/extraction/vba/call-sweep.js.map +1 -1
  47. package/lib/dist/extraction/vba/calls.d.ts +24 -4
  48. package/lib/dist/extraction/vba/calls.d.ts.map +1 -1
  49. package/lib/dist/extraction/vba/calls.js +42 -12
  50. package/lib/dist/extraction/vba/calls.js.map +1 -1
  51. package/lib/dist/extraction/vba/constants.d.ts +7 -14
  52. package/lib/dist/extraction/vba/constants.d.ts.map +1 -1
  53. package/lib/dist/extraction/vba/constants.js +8 -36
  54. package/lib/dist/extraction/vba/constants.js.map +1 -1
  55. package/lib/dist/extraction/vba/context.d.ts +443 -7
  56. package/lib/dist/extraction/vba/context.d.ts.map +1 -1
  57. package/lib/dist/extraction/vba/context.js +325 -29
  58. package/lib/dist/extraction/vba/context.js.map +1 -1
  59. package/lib/dist/extraction/vba/controls.d.ts +18 -1
  60. package/lib/dist/extraction/vba/controls.d.ts.map +1 -1
  61. package/lib/dist/extraction/vba/controls.js +99 -27
  62. package/lib/dist/extraction/vba/controls.js.map +1 -1
  63. package/lib/dist/extraction/vba/declarations.d.ts +1 -6
  64. package/lib/dist/extraction/vba/declarations.d.ts.map +1 -1
  65. package/lib/dist/extraction/vba/declarations.js +5 -39
  66. package/lib/dist/extraction/vba/declarations.js.map +1 -1
  67. package/lib/dist/extraction/vba/dims.d.ts +11 -7
  68. package/lib/dist/extraction/vba/dims.d.ts.map +1 -1
  69. package/lib/dist/extraction/vba/dims.js +265 -29
  70. package/lib/dist/extraction/vba/dims.js.map +1 -1
  71. package/lib/dist/extraction/vba/docmd.d.ts +29 -2
  72. package/lib/dist/extraction/vba/docmd.d.ts.map +1 -1
  73. package/lib/dist/extraction/vba/docmd.js +297 -18
  74. package/lib/dist/extraction/vba/docmd.js.map +1 -1
  75. package/lib/dist/extraction/vba/enums-consts.d.ts +7 -14
  76. package/lib/dist/extraction/vba/enums-consts.d.ts.map +1 -1
  77. package/lib/dist/extraction/vba/enums-consts.js +11 -45
  78. package/lib/dist/extraction/vba/enums-consts.js.map +1 -1
  79. package/lib/dist/extraction/vba/error-channel.d.ts +57 -0
  80. package/lib/dist/extraction/vba/error-channel.d.ts.map +1 -0
  81. package/lib/dist/extraction/vba/error-channel.js +128 -0
  82. package/lib/dist/extraction/vba/error-channel.js.map +1 -0
  83. package/lib/dist/extraction/vba/errors.d.ts +64 -0
  84. package/lib/dist/extraction/vba/errors.d.ts.map +1 -0
  85. package/lib/dist/extraction/vba/errors.js +775 -0
  86. package/lib/dist/extraction/vba/errors.js.map +1 -0
  87. package/lib/dist/extraction/vba/filesystem-statements.d.ts +23 -0
  88. package/lib/dist/extraction/vba/filesystem-statements.d.ts.map +1 -0
  89. package/lib/dist/extraction/vba/filesystem-statements.js +70 -0
  90. package/lib/dist/extraction/vba/filesystem-statements.js.map +1 -0
  91. package/lib/dist/extraction/vba/implements.d.ts +1 -6
  92. package/lib/dist/extraction/vba/implements.d.ts.map +1 -1
  93. package/lib/dist/extraction/vba/implements.js +1 -22
  94. package/lib/dist/extraction/vba/implements.js.map +1 -1
  95. package/lib/dist/extraction/vba/labels.d.ts +26 -0
  96. package/lib/dist/extraction/vba/labels.d.ts.map +1 -0
  97. package/lib/dist/extraction/vba/labels.js +180 -0
  98. package/lib/dist/extraction/vba/labels.js.map +1 -0
  99. package/lib/dist/extraction/vba/module-vars.d.ts +36 -0
  100. package/lib/dist/extraction/vba/module-vars.d.ts.map +1 -0
  101. package/lib/dist/extraction/vba/module-vars.js +145 -0
  102. package/lib/dist/extraction/vba/module-vars.js.map +1 -0
  103. package/lib/dist/extraction/vba/options.d.ts +88 -0
  104. package/lib/dist/extraction/vba/options.d.ts.map +1 -0
  105. package/lib/dist/extraction/vba/options.js +39 -0
  106. package/lib/dist/extraction/vba/options.js.map +1 -0
  107. package/lib/dist/extraction/vba/parameters.d.ts +35 -0
  108. package/lib/dist/extraction/vba/parameters.d.ts.map +1 -0
  109. package/lib/dist/extraction/vba/parameters.js +110 -0
  110. package/lib/dist/extraction/vba/parameters.js.map +1 -0
  111. package/lib/dist/extraction/vba/procedures.d.ts +1 -9
  112. package/lib/dist/extraction/vba/procedures.d.ts.map +1 -1
  113. package/lib/dist/extraction/vba/procedures.js +174 -112
  114. package/lib/dist/extraction/vba/procedures.js.map +1 -1
  115. package/lib/dist/extraction/vba/rules.d.ts +10 -5
  116. package/lib/dist/extraction/vba/rules.d.ts.map +1 -1
  117. package/lib/dist/extraction/vba/rules.js +19 -0
  118. package/lib/dist/extraction/vba/rules.js.map +1 -1
  119. package/lib/dist/extraction/vba/runtime-objects.d.ts +59 -0
  120. package/lib/dist/extraction/vba/runtime-objects.d.ts.map +1 -0
  121. package/lib/dist/extraction/vba/runtime-objects.js +106 -0
  122. package/lib/dist/extraction/vba/runtime-objects.js.map +1 -0
  123. package/lib/dist/extraction/vba/signature.d.ts +57 -0
  124. package/lib/dist/extraction/vba/signature.d.ts.map +1 -0
  125. package/lib/dist/extraction/vba/signature.js +164 -0
  126. package/lib/dist/extraction/vba/signature.js.map +1 -0
  127. package/lib/dist/extraction/vba/sql-wrapper.d.ts +76 -3
  128. package/lib/dist/extraction/vba/sql-wrapper.d.ts.map +1 -1
  129. package/lib/dist/extraction/vba/sql-wrapper.js +725 -151
  130. package/lib/dist/extraction/vba/sql-wrapper.js.map +1 -1
  131. package/lib/dist/extraction/vba/tempvars.d.ts.map +1 -1
  132. package/lib/dist/extraction/vba/tempvars.js +4 -0
  133. package/lib/dist/extraction/vba/tempvars.js.map +1 -1
  134. package/lib/dist/extraction/vba/text-utils.d.ts +62 -2
  135. package/lib/dist/extraction/vba/text-utils.d.ts.map +1 -1
  136. package/lib/dist/extraction/vba/text-utils.js +84 -6
  137. package/lib/dist/extraction/vba/text-utils.js.map +1 -1
  138. package/lib/dist/extraction/vba-extractor.d.ts +18 -1
  139. package/lib/dist/extraction/vba-extractor.d.ts.map +1 -1
  140. package/lib/dist/extraction/vba-extractor.js +111 -16
  141. package/lib/dist/extraction/vba-extractor.js.map +1 -1
  142. package/lib/dist/extraction/vba-form-extractor.d.ts +28 -14
  143. package/lib/dist/extraction/vba-form-extractor.d.ts.map +1 -1
  144. package/lib/dist/extraction/vba-form-extractor.js +56 -21
  145. package/lib/dist/extraction/vba-form-extractor.js.map +1 -1
  146. package/lib/dist/extraction/vba-preprocess.d.ts +89 -3
  147. package/lib/dist/extraction/vba-preprocess.d.ts.map +1 -1
  148. package/lib/dist/extraction/vba-preprocess.js +221 -57
  149. package/lib/dist/extraction/vba-preprocess.js.map +1 -1
  150. package/lib/dist/extraction/vba-source.d.ts +0 -10
  151. package/lib/dist/extraction/vba-source.d.ts.map +1 -1
  152. package/lib/dist/extraction/vba-source.js +0 -13
  153. package/lib/dist/extraction/vba-source.js.map +1 -1
  154. package/lib/dist/extraction/vba-test-manifest-extractor.d.ts +0 -6
  155. package/lib/dist/extraction/vba-test-manifest-extractor.d.ts.map +1 -1
  156. package/lib/dist/extraction/vba-test-manifest-extractor.js +0 -1
  157. package/lib/dist/extraction/vba-test-manifest-extractor.js.map +1 -1
  158. package/lib/dist/graph/behavior-evidence.d.ts +162 -0
  159. package/lib/dist/graph/behavior-evidence.d.ts.map +1 -0
  160. package/lib/dist/graph/behavior-evidence.js +529 -0
  161. package/lib/dist/graph/behavior-evidence.js.map +1 -0
  162. package/lib/dist/index.d.ts +22 -0
  163. package/lib/dist/index.d.ts.map +1 -1
  164. package/lib/dist/index.js +37 -1
  165. package/lib/dist/index.js.map +1 -1
  166. package/lib/dist/mcp/daemon-manager.d.ts.map +1 -1
  167. package/lib/dist/mcp/daemon-manager.js +7 -3
  168. package/lib/dist/mcp/daemon-manager.js.map +1 -1
  169. package/lib/dist/mcp/daemon-paths.d.ts +6 -0
  170. package/lib/dist/mcp/daemon-paths.d.ts.map +1 -1
  171. package/lib/dist/mcp/daemon-paths.js +15 -0
  172. package/lib/dist/mcp/daemon-paths.js.map +1 -1
  173. package/lib/dist/mcp/daemon-registry.d.ts +82 -7
  174. package/lib/dist/mcp/daemon-registry.d.ts.map +1 -1
  175. package/lib/dist/mcp/daemon-registry.js +557 -45
  176. package/lib/dist/mcp/daemon-registry.js.map +1 -1
  177. package/lib/dist/mcp/daemon-watchdog.d.ts +12 -0
  178. package/lib/dist/mcp/daemon-watchdog.d.ts.map +1 -1
  179. package/lib/dist/mcp/daemon-watchdog.js +37 -7
  180. package/lib/dist/mcp/daemon-watchdog.js.map +1 -1
  181. package/lib/dist/mcp/daemon.d.ts +20 -1
  182. package/lib/dist/mcp/daemon.d.ts.map +1 -1
  183. package/lib/dist/mcp/daemon.js +123 -30
  184. package/lib/dist/mcp/daemon.js.map +1 -1
  185. package/lib/dist/mcp/index.d.ts.map +1 -1
  186. package/lib/dist/mcp/index.js +13 -2
  187. package/lib/dist/mcp/index.js.map +1 -1
  188. package/lib/dist/mcp/proxy.d.ts +32 -0
  189. package/lib/dist/mcp/proxy.d.ts.map +1 -1
  190. package/lib/dist/mcp/proxy.js +163 -31
  191. package/lib/dist/mcp/proxy.js.map +1 -1
  192. package/lib/dist/mcp/server-instructions.d.ts +1 -1
  193. package/lib/dist/mcp/server-instructions.d.ts.map +1 -1
  194. package/lib/dist/mcp/server-instructions.js +26 -4
  195. package/lib/dist/mcp/server-instructions.js.map +1 -1
  196. package/lib/dist/mcp/tools.d.ts +12 -0
  197. package/lib/dist/mcp/tools.d.ts.map +1 -1
  198. package/lib/dist/mcp/tools.js +92 -1
  199. package/lib/dist/mcp/tools.js.map +1 -1
  200. package/lib/dist/project-config.d.ts +43 -2
  201. package/lib/dist/project-config.d.ts.map +1 -1
  202. package/lib/dist/project-config.js +86 -2
  203. package/lib/dist/project-config.js.map +1 -1
  204. package/lib/dist/resolution/index.d.ts +47 -2
  205. package/lib/dist/resolution/index.d.ts.map +1 -1
  206. package/lib/dist/resolution/index.js +160 -5
  207. package/lib/dist/resolution/index.js.map +1 -1
  208. package/lib/dist/resolution/name-matcher.d.ts +25 -0
  209. package/lib/dist/resolution/name-matcher.d.ts.map +1 -1
  210. package/lib/dist/resolution/name-matcher.js +59 -0
  211. package/lib/dist/resolution/name-matcher.js.map +1 -1
  212. package/lib/dist/resolution/vba-runtime-objects.d.ts +11 -11
  213. package/lib/dist/resolution/vba-runtime-objects.d.ts.map +1 -1
  214. package/lib/dist/resolution/vba-runtime-objects.js +18 -38
  215. package/lib/dist/resolution/vba-runtime-objects.js.map +1 -1
  216. package/lib/dist/types.d.ts +13 -5
  217. package/lib/dist/types.d.ts.map +1 -1
  218. package/lib/dist/types.js +17 -0
  219. package/lib/dist/types.js.map +1 -1
  220. package/lib/dist/utils/backtrace-helpers.d.ts +14 -2
  221. package/lib/dist/utils/backtrace-helpers.d.ts.map +1 -1
  222. package/lib/dist/utils/backtrace-helpers.js +81 -7
  223. package/lib/dist/utils/backtrace-helpers.js.map +1 -1
  224. package/lib/dist/utils/sql-impact-helpers.d.ts.map +1 -1
  225. package/lib/dist/utils/sql-impact-helpers.js +119 -30
  226. package/lib/dist/utils/sql-impact-helpers.js.map +1 -1
  227. package/lib/node_modules/.modules.yaml +1 -1
  228. package/lib/node_modules/.pnpm-workspace-state-v1.json +1 -1
  229. package/lib/package.json +3 -1
  230. package/package.json +1 -1
@@ -1,39 +1,6 @@
1
1
  "use strict";
2
- /**
3
- * VBA pre-processing pipeline.
4
- *
5
- * Pure helpers used by `VbaExtractor` before and during regex extraction:
6
- *
7
- * 1. joinLineContinuations(src)
8
- * VBA uses a trailing ` _` (space + underscore) at the end of a line to
9
- * mark line continuation. We collapse these into single logical lines so
10
- * the regex sweeps downstream see one statement per regex match.
11
- *
12
- * 2. stripVbaComments(src)
13
- * VBA has two comment forms:
14
- * - apostrophe `'` — anything from the apostrophe to end-of-line
15
- * - `Rem ` (case-insensitive keyword, with trailing space) — the legacy
16
- * alternative to `'`
17
- * Both are STRIPPED only when outside double-quoted strings. We walk
18
- * character-by-character so a `'` inside `"..."` is preserved.
19
- *
20
- * 3. preprocessConditionalCompilation(src)
21
- * Blanks inactive VBA conditional-compilation branches (`#If`, `#ElseIf`,
22
- * `#Else`, `#End If`) while preserving line count.
23
- *
24
- * 4. extractStringLiterals(src)
25
- * Used by SQL-variable tracking to read literal fragments from assignments
26
- * such as `m_SQL = "SELECT ..." & ...`. It returns every `"..."` span
27
- * with its 1-based line and 0-based column. VBA doubles `"` inside literals
28
- * (`""`) as the escape for a single `"` — the escape is consumed, the
29
- * literal is returned without the doubling.
30
- *
31
- * Each helper is < 50 LOC, pure, and tested in isolation in
32
- * `__tests__/extraction-vba-preprocess.test.ts`.
33
- *
34
- * Source unchanged guarantee: every helper treats `src` as read-only.
35
- */
36
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UnparseableExpressionError = void 0;
37
4
  exports.joinLineContinuations = joinLineContinuations;
38
5
  exports.stripVbaComments = stripVbaComments;
39
6
  exports.preprocessConditionalCompilation = preprocessConditionalCompilation;
@@ -58,20 +25,32 @@ exports.extractStringLiterals = extractStringLiterals;
58
25
  function joinLineContinuations(src) {
59
26
  if (!src)
60
27
  return src;
61
- // VBA convention: " _\n" join. **Preserve the newline AND the
62
- // leading space** so the transformed source has the same line count
63
- // AND the same intra-line whitespace as the original — the sweep
64
- // patterns downstream are anchored and the space before `_` is
65
- // meaningful for the joined line.
66
- //
67
- // Dangling ` _` at end-of-file (malformed input defensive) has no
68
- // newline to preserve; replace with a single space.
69
- return src.replace(/ _(?:(\r?\n)|$)/g, (_m, nl) => ' ' + (nl ?? ''));
28
+ const newline = src.includes('\r\n') ? '\r\n' : '\n';
29
+ const lines = src.split(/\r?\n/);
30
+ const out = [];
31
+ for (let i = 0; i < lines.length; i++) {
32
+ let logicalLine = lines[i] ?? '';
33
+ let consumed = 0;
34
+ while (/ _$/.test(logicalLine)) {
35
+ logicalLine = logicalLine.slice(0, -1);
36
+ if (i + consumed + 1 >= lines.length)
37
+ break;
38
+ logicalLine += lines[i + consumed + 1] ?? '';
39
+ consumed++;
40
+ }
41
+ out.push(logicalLine);
42
+ for (let placeholder = 0; placeholder < consumed; placeholder++)
43
+ out.push('');
44
+ i += consumed;
45
+ }
46
+ return out.join(newline);
70
47
  }
71
48
  // -----------------------------------------------------------------------------
72
49
  // 2. stripVbaComments
73
50
  // -----------------------------------------------------------------------------
74
- const REM_PREFIX = /^Rem(\s|$)/i;
51
+ // Leading indentation is still line-start in VBA; recognize it directly
52
+ // rather than relying on the mid-line fallback to slice from column zero.
53
+ const REM_PREFIX = /^\s*Rem(\s|$)/i;
75
54
  // Fix 5: handle trailing bare `Rem` at EOL (`\s|$` instead of `\s` alone).
76
55
  const REM_MIDLINE = /\s+Rem(\s|$)/i;
77
56
  const OPTION_DIRECTIVE = /^\s*Option\s+\w+/i;
@@ -199,8 +178,36 @@ const CONST_DIRECTIVE = /^\s*#Const\s+([A-Za-z_][A-Za-z_0-9]*)\s*=\s*(.+?)\s*$/i
199
178
  * promote this evaluator to full integer arithmetic.
200
179
  *
201
180
  * Directives and inactive branch lines are replaced with empty strings so
202
- * downstream extraction keeps source-line parity. Unsupported/unsafe
203
- * expressions evaluate to false rather than throwing.
181
+ * downstream extraction keeps source-line parity.
182
+ *
183
+ * **Issue #206 contract change.** Previously the docstring read
184
+ * *"Unsupported/unsafe expressions evaluate to false rather than
185
+ * throwing"* — accurate, but it framed silent whole-branch source
186
+ * deletion as a safety property. It was not: false-negative extraction is
187
+ * indistinguishable from correct extraction to every downstream consumer
188
+ * (an `#If MODE = "DEBUG" Then` whose `"` throws silently blanks the
189
+ * branch and the symbol vanishes from the graph).
190
+ *
191
+ * The new contract:
192
+ *
193
+ * 1. **Unterminated `#If`/`#ElseIf`**: if the directive stack is
194
+ * non-empty after the loop ends, an `ExtractionError` (severity
195
+ * `warning`, code `unterminated_if`) is pushed onto the optional
196
+ * `errors` array AND the un-blanked lines from the earliest
197
+ * unclosed `#If` are re-emitted. An unterminated `#If` is far
198
+ * more likely a typo than a genuinely dead file tail.
199
+ * 2. **Could-not-evaluate expressions**: `evaluateConditionalExpression`
200
+ * now distinguishes `evaluated: false` (a definitive false — e.g.
201
+ * `#If 0 Then`, unknown identifier falling through to 0) from
202
+ * `could-not-evaluate` (the lexer/parser hit an unsupported token,
203
+ * or `tokenize`/`parse` threw). On could-not-evaluate, the branch
204
+ * is **kept active** (conservative for a code-intelligence tool —
205
+ * a spurious symbol is recoverable, a missing one is invisible)
206
+ * and a warning is emitted through the same `errors` channel.
207
+ *
208
+ * The `errors` channel is OPTIONAL — every existing call site (and
209
+ * existing test) continues to work without it. The orchestrator can
210
+ * supply it to surface the warnings through `ctx.errors`.
204
211
  */
205
212
  function preprocessConditionalCompilation(src, customTargets,
206
213
  /**
@@ -212,7 +219,28 @@ function preprocessConditionalCompilation(src, customTargets,
212
219
  * inner sub-totals. Undefined → no-op, zero cost (just the
213
220
  * `if (timings)` null-check on every CC line).
214
221
  */
215
- timings) {
222
+ timings,
223
+ /**
224
+ * Issue #206: optional `ExtractionError` sink for diagnostics the
225
+ * preprocessor wants to surface to extraction callers:
226
+ * - `unterminated_if` (warning) — `#If` / `#ElseIf` pushed but
227
+ * never closed by `#End If` (a likely typo).
228
+ * - `unparseable_expression` (warning) — a `#If` / `#ElseIf`
229
+ * expression the lexer/parser could not handle (the branch is
230
+ * still kept active under the conservative contract).
231
+ *
232
+ * Undefined → no-op, zero cost (the `if (errors)` null-check on
233
+ * every warning site). The orchestrator passes `this.ctx.errors` so
234
+ * the warnings route through `ExtractionResult.errors`.
235
+ */
236
+ errors,
237
+ /**
238
+ * Issue #206: optional file path included on every pushed error
239
+ * when the caller wants telemetry to know which file the warning
240
+ * came from. Independent of `errors` so a caller can attach the
241
+ * path even when collecting warnings elsewhere.
242
+ */
243
+ filePath) {
216
244
  if (!src)
217
245
  return src;
218
246
  const lines = src.split('\n');
@@ -226,7 +254,8 @@ timings) {
226
254
  // false) applies, exactly as for an unrecognised hardcoded constant.
227
255
  const constTable = new Map();
228
256
  const CC_STAGE = 'preprocess.cc.lexer+parser';
229
- for (const line of lines) {
257
+ for (let lineIdx = 0; lineIdx < lines.length; lineIdx++) {
258
+ const line = lines[lineIdx] ?? '';
230
259
  // Parse #Const BEFORE the other directives so the table is up-to-date
231
260
  // when a subsequent #If expression references it. The line itself is
232
261
  // always blanked (line-count parity invariant).
@@ -244,8 +273,16 @@ timings) {
244
273
  const ifMatch = IF_DIRECTIVE.exec(line);
245
274
  if (ifMatch) {
246
275
  const parentActive = stack.every((frame) => frame.active);
247
- const active = parentActive && evaluateConditionalExpression(ifMatch[1] ?? '', constTable, customTargets, timings, CC_STAGE);
248
- stack.push({ parentActive, active, branchTaken: active });
276
+ const evaluation = evaluateConditionalExpression(ifMatch[1] ?? '', constTable, customTargets, timings, CC_STAGE);
277
+ // Issue #206: a could-not-evaluate expression (string literal, float,
278
+ // unknown syntax) is treated as ACTIVE so the branch stays in the
279
+ // graph rather than silently vanishing. A warning is recorded so
280
+ // downstream tooling can flag the file.
281
+ const active = parentActive && (evaluation.kind === 'evaluated' ? evaluation.value : true);
282
+ if (parentActive && evaluation.kind === 'could-not-evaluate' && errors) {
283
+ pushExpressionWarning(errors, ifMatch[1] ?? '', lineIdx, filePath);
284
+ }
285
+ stack.push({ parentActive, active, branchTaken: active, line: lineIdx });
249
286
  out.push('');
250
287
  continue;
251
288
  }
@@ -253,12 +290,23 @@ timings) {
253
290
  if (elseIfMatch) {
254
291
  const frame = stack[stack.length - 1];
255
292
  if (frame) {
256
- const active = frame.parentActive &&
257
- !frame.branchTaken &&
258
- evaluateConditionalExpression(elseIfMatch[1] ?? '', constTable, customTargets, timings, CC_STAGE);
293
+ const evaluation = evaluateConditionalExpression(elseIfMatch[1] ?? '', constTable, customTargets, timings, CC_STAGE);
294
+ // Issue #206: same conservative-on-could-not-evaluate rule for
295
+ // #ElseIf as for #If keep the branch active and warn.
296
+ // A later sibling might already have taken the branch;
297
+ // could-not-evaluate must NOT falsely take it (the gate
298
+ // `!frame.branchTaken` already prevents that).
299
+ const exprTrue = evaluation.kind === 'evaluated' ? evaluation.value : true;
300
+ const active = frame.parentActive && !frame.branchTaken && exprTrue;
259
301
  frame.active = active;
260
302
  if (active)
261
303
  frame.branchTaken = true;
304
+ if (frame.parentActive &&
305
+ !frame.branchTaken &&
306
+ evaluation.kind === 'could-not-evaluate' &&
307
+ errors) {
308
+ pushExpressionWarning(errors, elseIfMatch[1] ?? '', lineIdx, filePath);
309
+ }
262
310
  }
263
311
  out.push('');
264
312
  continue;
@@ -281,8 +329,67 @@ timings) {
281
329
  }
282
330
  out.push(stack.every((frame) => frame.active) ? line : '');
283
331
  }
332
+ // Issue #206: after the loop, if the stack is non-empty the source had
333
+ // an unterminated `#If` (or several). The previous implementation
334
+ // simply left the rest of the file blanked, with no warning —
335
+ // producing a silent whole-file deletion. Restore the un-blanked
336
+ // lines from the earliest unclosed frame (the most inclusive scope
337
+ // we can attribute) and push an `ExtractionError` so callers learn
338
+ // about it.
339
+ if (stack.length > 0) {
340
+ // Walk back through the stack to find the lowest (earliest in source)
341
+ // unclosed frame. Anything earlier than it was already correct on
342
+ // output; restoring from its line produces the conservative
343
+ // behavior the issue calls for.
344
+ let earliestLine = lines.length;
345
+ for (const frame of stack) {
346
+ if (frame.line < earliestLine)
347
+ earliestLine = frame.line;
348
+ }
349
+ for (let i = earliestLine; i < lines.length; i++) {
350
+ out[i] = lines[i] ?? '';
351
+ }
352
+ if (errors) {
353
+ const messageParts = [];
354
+ if (stack.length === 1) {
355
+ messageParts.push(`Unterminated #If/#ElseIf block at line ${earliestLine + 1} ` +
356
+ `(no matching #End If). Lines after it were preserved verbatim — ` +
357
+ 'this is almost certainly an authoring typo.');
358
+ }
359
+ else {
360
+ messageParts.push(`Unterminated #If/#ElseIf blocks at ${stack.length} scope(s), ` +
361
+ `earliest at line ${earliestLine + 1} (no matching #End If). ` +
362
+ 'Lines after the earliest unclosed block were preserved verbatim.');
363
+ }
364
+ errors.push({
365
+ message: messageParts[0] ?? '',
366
+ severity: 'warning',
367
+ code: 'unterminated_if',
368
+ ...(filePath ? { filePath } : {}),
369
+ });
370
+ }
371
+ }
284
372
  return out.join('\n');
285
373
  }
374
+ /**
375
+ * Issue #206: push an `unparseable_expression` warning onto the optional
376
+ * `errors` array. Trims the expression and reports it in the message so
377
+ * the maintainer can see which `#If` triggered the warning without
378
+ * needing a separate cross-reference table.
379
+ */
380
+ function pushExpressionWarning(errors, expr, lineIdx, filePath) {
381
+ const trimmed = expr.trim();
382
+ errors.push({
383
+ message: `Unparseable #If / #ElseIf expression at line ${lineIdx + 1}: ` +
384
+ `'${trimmed.length > 80 ? trimmed.slice(0, 77) + '...' : trimmed}'. ` +
385
+ 'Branch kept active (conservative); verify or remove the unsupported ' +
386
+ 'expression.',
387
+ line: lineIdx + 1,
388
+ severity: 'warning',
389
+ code: 'unparseable_expression',
390
+ ...(filePath ? { filePath } : {}),
391
+ });
392
+ }
286
393
  function tokenize(expr, constTable, customTargets) {
287
394
  const tokens = [];
288
395
  let i = 0;
@@ -355,6 +462,16 @@ function tokenize(expr, constTable, customTargets) {
355
462
  while (i < expr.length && /\d/.test(expr[i] ?? '')) {
356
463
  i++;
357
464
  }
465
+ // Issue #206: a trailing `.` would make this a floating-point
466
+ // literal (`1.5`). The parser only handles 32-bit integers, so the
467
+ // FLOOR is the integer prefix and the `.` is rejected below with
468
+ // a `float_literal` reason — explicit routing to the
469
+ // could-not-evaluate path. We deliberately do NOT consume the
470
+ // `.` into the NUMBER token; that would mask the issue behind a
471
+ // silent parse.
472
+ if (expr[i] === '.') {
473
+ throw new UnparseableExpressionError('float_literal', expr.substring(start, i + 2));
474
+ }
358
475
  const numStr = expr.substring(start, i);
359
476
  tokens.push({ type: 'NUMBER', numberValue: parseInt(numStr, 10) | 0 });
360
477
  continue;
@@ -424,8 +541,27 @@ function tokenize(expr, constTable, customTargets) {
424
541
  tokens.push({ type: 'NUMBER', numberValue: resolvedValue });
425
542
  continue;
426
543
  }
427
- // Any other character is a lexing error
428
- throw new Error(`Unexpected character in expression: ${ch}`);
544
+ // Any other character is a lexing error.
545
+ //
546
+ // Issue #206: string literals are explicit — they were the #1 source
547
+ // of silent whole-branch deletion (`#If MODE = "DEBUG" Then`). We
548
+ // throw `UnparseableExpressionError` with the explicit reason so the
549
+ // caller routes to the could-not-evaluate path AND can attach the
550
+ // precise reason to the warning it emits.
551
+ if (ch === '"') {
552
+ // Consume the literal token (just so the message reflects the
553
+ // what-not-just-where): open-quote + … + close-quote on the same
554
+ // logical line.
555
+ let j = i + 1;
556
+ while (j < expr.length && expr[j] !== '"') {
557
+ if (expr[j] === '\\' && j + 1 < expr.length)
558
+ j++;
559
+ j++;
560
+ }
561
+ const literal = expr.substring(i, Math.min(j + 1, expr.length));
562
+ throw new UnparseableExpressionError('string_literal', literal);
563
+ }
564
+ throw new UnparseableExpressionError('unsupported_character', ch ?? '');
429
565
  }
430
566
  tokens.push({ type: 'EOF' });
431
567
  return tokens;
@@ -587,6 +723,30 @@ class Parser {
587
723
  throw new Error(`Unexpected token: ${t.type}`);
588
724
  }
589
725
  }
726
+ /**
727
+ * Issue #206: marker error class for explicitly-unsupported VBA
728
+ * conditional-compilation tokens. The legacy `throw new Error(...)`
729
+ * from `tokenize` was indistinguishable from a real bug
730
+ * (`Unexpected trailing token`, mismatched paren); both bubbled into
731
+ * the same `catch { return false }`. The new helper carries the
732
+ * specific reason so the caller can attribute warnings precisely and
733
+ * distinguish "the lexer simply cannot handle this token" from a
734
+ * legitimate parse failure (which is also routed to
735
+ * could-not-evaluate, but with the original message preserved).
736
+ */
737
+ class UnparseableExpressionError extends Error {
738
+ /** Coarse category: `string_literal`, `float_literal`, `unsupported_character`. */
739
+ reason;
740
+ /** The verbatim fragment that triggered the throw (for diagnostics). */
741
+ fragment;
742
+ constructor(reason, fragment) {
743
+ super(`Unparseable conditional-compilation expression: ${reason} (${JSON.stringify(fragment)})`);
744
+ this.name = 'UnparseableExpressionError';
745
+ this.reason = reason;
746
+ this.fragment = fragment;
747
+ }
748
+ }
749
+ exports.UnparseableExpressionError = UnparseableExpressionError;
590
750
  function evaluateConditionalExpression(expr, constTable = new Map(), customTargets, timings, stageName = 'preprocess.cc.lexer+parser') {
591
751
  try {
592
752
  let exprClean = expr.trim();
@@ -598,11 +758,15 @@ function evaluateConditionalExpression(expr, constTable = new Map(), customTarge
598
758
  const parser = new Parser(tokens);
599
759
  const result = parser.parseExpression();
600
760
  parser.ensureEOF();
601
- return result !== 0;
761
+ return { kind: 'evaluated', value: result !== 0 };
602
762
  });
603
763
  }
604
764
  catch {
605
- return false;
765
+ // Issue #206: every parse failure (including the new explicit
766
+ // `UnparseableExpressionError`) routes here. The caller
767
+ // distinguishes evaluated from could-not-evaluate and applies the
768
+ // conservative-on-unknown contract.
769
+ return { kind: 'could-not-evaluate' };
606
770
  }
607
771
  }
608
772
  function evaluateConstRhs(rhs, constTable, customTargets, timings, stageName = 'preprocess.cc.lexer+parser') {
@@ -1 +1 @@
1
- {"version":3,"file":"vba-preprocess.js","sourceRoot":"","sources":["../../src/extraction/vba-preprocess.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;;AAoBH,sDAWC;AA6BD,4CA4EC;AAoDD,4EAwFC;AA0gBD,sDAsDC;AAl1BD,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF;;;;;;;;;;;;;GAaG;AACH,SAAgB,qBAAqB,CAAC,GAAW;IAC/C,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAC;IACrB,gEAAgE;IAChE,oEAAoE;IACpE,iEAAiE;IACjE,+DAA+D;IAC/D,kCAAkC;IAClC,EAAE;IACF,kEAAkE;IAClE,oDAAoD;IACpD,OAAO,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,MAAM,UAAU,GAAG,aAAa,CAAC;AACjC,2EAA2E;AAC3E,MAAM,WAAW,GAAG,eAAe,CAAC;AACpC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAC;IACrB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAa,EAAE,CAAC;IAEzB,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,4BAA4B;QAC5B,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,mEAAmE;YACnE,kEAAkE;YAClE,iEAAiE;YACjE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QAED,gEAAgE;QAChE,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,CAAC;QAEV,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAE5B,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBAC/B,QAAQ,IAAI,IAAI,CAAC;oBACjB,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;oBACf,QAAQ,GAAG,KAAK,CAAC;oBACjB,QAAQ,IAAI,GAAG,CAAC;oBAChB,CAAC,EAAE,CAAC;oBACJ,SAAS;gBACX,CAAC;gBACD,QAAQ,IAAI,EAAE,CAAC;gBACf,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YAED,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,QAAQ,GAAG,IAAI,CAAC;gBAChB,QAAQ,IAAI,GAAG,CAAC;gBAChB,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,2DAA2D;gBAC3D,MAAM;YACR,CAAC;YACD,QAAQ,IAAI,EAAE,CAAC;YACf,CAAC,EAAE,CAAC;QACN,CAAC;QAED,mEAAmE;QACnE,oEAAoE;QACpE,uEAAuE;QACvE,sEAAsE;QACtE,EAAE;QACF,kEAAkE;QAClE,qEAAqE;QACrE,mEAAmE;QACnE,oEAAoE;QACpE,sEAAsE;QACtE,IAAI,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5C,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAC5C,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAYD,MAAM,YAAY,GAAG,6BAA6B,CAAC;AACnD,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAC3D,MAAM,cAAc,GAAG,gBAAgB,CAAC;AACxC,MAAM,eAAe,GAAG,8BAA8B,CAAC;AACvD,yEAAyE;AACzE,0EAA0E;AAC1E,0EAA0E;AAC1E,mCAAmC;AACnC,MAAM,eAAe,GAAG,wDAAwD,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAgB,gCAAgC,CAC9C,GAAW,EACX,aAAuC;AACvC;;;;;;;;GAQG;AACH,OAAoC;IAEpC,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAC;IACrB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,KAAK,GAAuB,EAAE,CAAC;IACrC,qEAAqE;IACrE,yEAAyE;IACzE,+DAA+D;IAC/D,uEAAuE;IACvE,oEAAoE;IACpE,qEAAqE;IACrE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,MAAM,QAAQ,GAAG,4BAA4B,CAAC;IAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,sEAAsE;QACtE,qEAAqE;QACrE,gDAAgD;QAChD,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAClF,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC9B,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,YAAY,IAAI,6BAA6B,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC7H,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACtC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,MAAM,GACV,KAAK,CAAC,YAAY;oBAClB,CAAC,KAAK,CAAC,WAAW;oBAClB,6BAA6B,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACpG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;gBACtB,IAAI,MAAM;oBAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;YACvC,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QAED,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACtC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;gBACxD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;gBACtB,IAAI,MAAM;oBAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;YACvC,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QAED,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,GAAG,EAAE,CAAC;YACZ,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAoCD,SAAS,QAAQ,CACf,IAAY,EACZ,UAAuC,EACvC,aAAuC;IAEvC,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEnB,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM;QACR,CAAC;QAED,kBAAkB;QAClB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAClB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,cAAc;QACd,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;YACpC,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;YACrC,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,+CAA+C;QAC/C,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACjC,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACjC,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACjC,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACjC,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACjC,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACjC,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,qBAAqB;QACrB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YAClC,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACjC,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,qCAAqC;QACrC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBACnD,CAAC,EAAE,CAAC;YACN,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvE,SAAS;QACX,CAAC;QAED,2BAA2B;QAC3B,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC7D,CAAC,EAAE,CAAC;YACN,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;YAEjC,WAAW;YACX,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAChC,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAChC,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/B,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAChC,SAAS;YACX,CAAC;YAED,wCAAwC;YACxC,IAAI,aAAa,GAAkB,IAAI,CAAC;YACxC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC9C,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;oBAClC,aAAa,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;oBACtC,MAAM;gBACR,CAAC;YACH,CAAC;YAED,uDAAuD;YACvD,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,EAAE,CAAC;gBAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;oBACvD,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;wBAClC,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC7B,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,kCAAkC;YAClC,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;gBAC3B,QAAQ,OAAO,EAAE,CAAC;oBAChB,KAAK,MAAM,CAAC;oBACZ,KAAK,OAAO,CAAC;oBACb,KAAK,OAAO,CAAC;oBACb,KAAK,MAAM;wBACT,aAAa,GAAG,CAAC,CAAC,CAAC;wBACnB,MAAM;oBACR,KAAK,OAAO,CAAC;oBACb,KAAK,KAAK,CAAC;oBACX,KAAK,OAAO;wBACV,aAAa,GAAG,CAAC,CAAC;wBAClB,MAAM;gBACV,CAAC;YACH,CAAC;YAED,WAAW;YACX,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;gBAC3B,aAAa,GAAG,CAAC,CAAC;YACpB,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;YAC5D,SAAS;QACX,CAAC;QAED,wCAAwC;QACxC,MAAM,IAAI,KAAK,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,MAAM;IACF,MAAM,CAAU;IAChB,OAAO,GAAG,CAAC,CAAC;IAEpB,YAAY,MAAe;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEO,IAAI;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACtD,CAAC;IAEO,OAAO;QACb,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAEO,KAAK,CAAC,IAAmB;QAC/B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAEM,SAAS;QACd,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,kCAAkC;IAC1B,OAAO;QACb,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe;IACP,QAAQ;QACd,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe;IACP,QAAQ;QACd,IAAI,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACrC,IAAI,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6CAA6C;IACrC,eAAe;QACrB,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAChC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC;YAC5B,IACE,EAAE,KAAK,SAAS;gBAChB,EAAE,KAAK,SAAS;gBAChB,EAAE,KAAK,SAAS;gBAChB,EAAE,KAAK,SAAS;gBAChB,EAAE,KAAK,SAAS;gBAChB,EAAE,KAAK,SAAS,EAChB,CAAC;gBACD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnC,IAAI,SAAS,GAAG,KAAK,CAAC;gBACtB,QAAQ,EAAE,EAAE,CAAC;oBACX,KAAK,SAAS;wBACZ,SAAS,GAAG,IAAI,KAAK,KAAK,CAAC;wBAC3B,MAAM;oBACR,KAAK,SAAS;wBACZ,SAAS,GAAG,IAAI,KAAK,KAAK,CAAC;wBAC3B,MAAM;oBACR,KAAK,SAAS;wBACZ,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC;wBACzB,MAAM;oBACR,KAAK,SAAS;wBACZ,SAAS,GAAG,IAAI,IAAI,KAAK,CAAC;wBAC1B,MAAM;oBACR,KAAK,SAAS;wBACZ,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC;wBACzB,MAAM;oBACR,KAAK,SAAS;wBACZ,SAAS,GAAG,IAAI,IAAI,KAAK,CAAC;wBAC1B,MAAM;gBACV,CAAC;gBACD,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IAC5E,wEAAwE;IACxE,yCAAyC;IACjC,aAAa;QACnB,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC;YAC5B,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;gBACrB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC;iBAAM,IAAI,EAAE,KAAK,UAAU,EAAE,CAAC;gBAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe;IACP,QAAQ;QACd,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7B,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC;IAED,sBAAsB;IACd,UAAU;QAChB,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/B,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/B,OAAO,IAAI,GAAG,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAED,mCAAmC;IAC3B,YAAY;QAClB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;CACF;AAED,SAAS,6BAA6B,CACpC,IAAY,EACZ,aAA0C,IAAI,GAAG,EAAE,EACnD,aAAuC,EACvC,OAAoC,EACpC,YAAoB,4BAA4B;IAEhD,IAAI,CAAC;QACH,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;QACD,OAAO,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE;YAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;YACxC,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,MAAM,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,GAAW,EACX,UAAuC,EACvC,aAAuC,EACvC,OAAoC,EACpC,YAAoB,4BAA4B;IAEhD,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE;YAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;YACxC,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CACtB,OAA+C,EAC/C,SAAiB,EACjB,EAAW;IAEX,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,EAAE,CAAC;IAC1B,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACjF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,IAAY;IAC1C,MAAM,QAAQ,GAA+C,EAAE,CAAC;IAChE,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,IAAI,QAAQ,EAAE,CAAC;YACb,GAAG,IAAI,EAAE,CAAC;YACV,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBAC/B,GAAG,IAAI,IAAI,CAAC;gBACZ,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,QAAQ,GAAG,KAAK,CAAC;gBACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7C,GAAG,GAAG,EAAE,CAAC;gBACT,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,GAAG,EAAE,CAAC;gBACR,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9C,GAAG,GAAG,EAAE,CAAC;YACX,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;YAChB,GAAG,IAAI,EAAE,CAAC;YACV,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,GAAG,IAAI,EAAE,CAAC;QACV,CAAC,EAAE,CAAC;IACN,CAAC;IACD,IAAI,GAAG;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1D,yEAAyE;IACzE,wEAAwE;IACxE,sEAAsE;IACtE,uCAAuC;IACvC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,QAAQ,EAAE,CAAC;YACb,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;YACZ,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,EAAE,CAAC;gBACN,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACtD,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9C,CAAC;AAeD;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAAC,GAAW;IAC/C,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,MAAM,GAAG,GAAwB,EAAE,CAAC;IACpC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,IAAI,CAAC;YACvB,MAAM,QAAQ,GAAG,GAAG,CAAC;YACrB,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,CAAC,EAAE,CAAC;YACJ,GAAG,EAAE,CAAC;YACN,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;gBACtB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACpC,6CAA6C;oBAC7C,IAAI,IAAI,GAAG,CAAC;oBACZ,CAAC,IAAI,CAAC,CAAC;oBACP,GAAG,IAAI,CAAC,CAAC;oBACT,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oBACd,iBAAiB;oBACjB,CAAC,EAAE,CAAC;oBACJ,GAAG,EAAE,CAAC;oBACN,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;oBACf,wEAAwE;oBACxE,qEAAqE;oBACrE,iEAAiE;oBACjE,MAAM;gBACR,CAAC;gBACD,IAAI,IAAI,CAAC,CAAC;gBACV,CAAC,EAAE,CAAC;gBACJ,GAAG,EAAE,CAAC;YACR,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YACtD,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,IAAI,EAAE,CAAC;YACP,GAAG,GAAG,CAAC,CAAC;YACR,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,CAAC,EAAE,CAAC;QACJ,GAAG,EAAE,CAAC;IACR,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"vba-preprocess.js","sourceRoot":"","sources":["../../src/extraction/vba-preprocess.ts"],"names":[],"mappings":"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"}
@@ -45,14 +45,4 @@ export interface ReadVbaSourceResult {
45
45
  * @param opts optional dependencies; see {@link ReadVbaSourceOptions}.
46
46
  */
47
47
  export declare function readVbaSource(filePath: string, opts?: ReadVbaSourceOptions): ReadVbaSourceResult;
48
- /**
49
- * String-level BOM strip — survives when the upstream `fsp.readFile(path, 'utf-8')`
50
- * already decoded the bytes (it's the only way the `\uFEFF` char survives in
51
- * a string). Used as a defensive last resort when a read site has NOT gone
52
- * through `readVbaSource` and the source text starts with the BOM marker.
53
- *
54
- * Most call sites should prefer `readVbaSource` for fresh reads; this is
55
- * a string post-process for callers that already have a `string` in hand.
56
- */
57
- export declare function stripUtf8Bom(text: string): string;
58
48
  //# sourceMappingURL=vba-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vba-source.d.ts","sourceRoot":"","sources":["../../src/extraction/vba-source.ts"],"names":[],"mappings":"AA6BA,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAUD,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACzD;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,oBAAyB,GAC9B,mBAAmB,CAgCrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD"}
1
+ {"version":3,"file":"vba-source.d.ts","sourceRoot":"","sources":["../../src/extraction/vba-source.ts"],"names":[],"mappings":"AA6BA,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAUD,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACzD;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,oBAAyB,GAC9B,mBAAmB,CAgCrB"}
@@ -35,7 +35,6 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.isVbaFamilyFile = isVbaFamilyFile;
37
37
  exports.readVbaSource = readVbaSource;
38
- exports.stripUtf8Bom = stripUtf8Bom;
39
38
  /**
40
39
  * Issue #53: encoding-robust source reading for VBA-family files.
41
40
  *
@@ -122,16 +121,4 @@ function readVbaSource(filePath, opts = {}) {
122
121
  return { text, bomStripped };
123
122
  }
124
123
  }
125
- /**
126
- * String-level BOM strip — survives when the upstream `fsp.readFile(path, 'utf-8')`
127
- * already decoded the bytes (it's the only way the `\uFEFF` char survives in
128
- * a string). Used as a defensive last resort when a read site has NOT gone
129
- * through `readVbaSource` and the source text starts with the BOM marker.
130
- *
131
- * Most call sites should prefer `readVbaSource` for fresh reads; this is
132
- * a string post-process for callers that already have a `string` in hand.
133
- */
134
- function stripUtf8Bom(text) {
135
- return text.charCodeAt(0) === 0xfeff ? text.slice(1) : text;
136
- }
137
124
  //# sourceMappingURL=vba-source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vba-source.js","sourceRoot":"","sources":["../../src/extraction/vba-source.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,0CAEC;AAyDD,sCAmCC;AAWD,oCAEC;AAxID;;;;;;;;;;;;;;;;;;GAkBG;AACH,uCAAyB;AAEzB;;;;;GAKG;AACH,MAAM,aAAa,GAAG,mDAAmD,CAAC;AAE1E,SAAgB,eAAe,CAAC,QAAgB;IAC9C,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AA+B7C;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,aAAa,CAC3B,QAAgB,EAChB,OAA6B,EAAE;IAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE/B,yEAAyE;IACzE,sDAAsD;IACtD,MAAM,WAAW,GACf,GAAG,CAAC,MAAM,IAAI,CAAC;QACf,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;QACtB,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;QACtB,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAEjD,uEAAuE;IACvE,uEAAuE;IACvE,0DAA0D;IAC1D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,+DAA+D;QAC/D,kEAAkE;QAClE,qEAAqE;QACrE,iEAAiE;QACjE,wEAAwE;QACxE,qDAAqD;QACrD,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1D,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"vba-source.js","sourceRoot":"","sources":["../../src/extraction/vba-source.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,0CAEC;AAyDD,sCAmCC;AA3HD;;;;;;;;;;;;;;;;;;GAkBG;AACH,uCAAyB;AAEzB;;;;;GAKG;AACH,MAAM,aAAa,GAAG,mDAAmD,CAAC;AAE1E,SAAgB,eAAe,CAAC,QAAgB;IAC9C,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AA+B7C;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,aAAa,CAC3B,QAAgB,EAChB,OAA6B,EAAE;IAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE/B,yEAAyE;IACzE,sDAAsD;IACtD,MAAM,WAAW,GACf,GAAG,CAAC,MAAM,IAAI,CAAC;QACf,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;QACtB,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;QACtB,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAEjD,uEAAuE;IACvE,uEAAuE;IACvE,0DAA0D;IAC1D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,+DAA+D;QAC/D,kEAAkE;QAClE,qEAAqE;QACrE,iEAAiE;QACjE,wEAAwE;QACxE,qDAAqD;QACrD,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1D,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC"}
@@ -1,10 +1,4 @@
1
1
  import { ExtractionResult } from '../types';
2
- /**
3
- * Content-shape gate: is `parsed` a VBA test manifest — a top-level `tests`
4
- * array with at least one item carrying a string `procedure`? Pure; the file's
5
- * basename is gated separately by `isVbaTestManifestFile` in `grammars.ts`.
6
- */
7
- export declare function isVbaTestManifestShape(parsed: unknown): boolean;
8
2
  export declare class VbaTestManifestExtractor {
9
3
  private filePath;
10
4
  private source;
@@ -1 +1 @@
1
- {"version":3,"file":"vba-test-manifest-extractor.d.ts","sourceRoot":"","sources":["../../src/extraction/vba-test-manifest-extractor.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAQ,gBAAgB,EAAwC,MAAM,UAAU,CAAC;AAUxF;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAU/D;AAED,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,MAAM,CAAyB;gBAE3B,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAK5C,OAAO,IAAI,gBAAgB;IA8B3B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,cAAc;CAgBvB"}
1
+ {"version":3,"file":"vba-test-manifest-extractor.d.ts","sourceRoot":"","sources":["../../src/extraction/vba-test-manifest-extractor.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAQ,gBAAgB,EAAwC,MAAM,UAAU,CAAC;AA2BxF,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,MAAM,CAAyB;gBAE3B,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAK5C,OAAO,IAAI,gBAAgB;IA8B3B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,cAAc;CAgBvB"}
@@ -34,7 +34,6 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.VbaTestManifestExtractor = void 0;
37
- exports.isVbaTestManifestShape = isVbaTestManifestShape;
38
37
  /**
39
38
  * VbaTestManifestExtractor — Dysflow VBA test-manifest JSON
40
39
  * (`tests(.<slice>)*.json`, e.g. `tests/tests.vba.smoke.json`).
@@ -1 +1 @@
1
- {"version":3,"file":"vba-test-manifest-extractor.js","sourceRoot":"","sources":["../../src/extraction/vba-test-manifest-extractor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,wDAUC;AAjDD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,2CAA6B;AAE7B,+DAAuD;AASvD;;;;GAIG;AACH,SAAgB,sBAAsB,CAAC,MAAe;IACpD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,KAAK,GAAI,MAA8B,CAAC,KAAK,CAAC;IACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,KAAK,CAAC,IAAI,CACf,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,CAAC,KAAK;QACP,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAQ,KAAiC,CAAC,SAAS,KAAK,QAAQ,CACnE,CAAC;AACJ,CAAC;AAED,MAAa,wBAAwB;IAC3B,QAAQ,CAAS;IACjB,MAAM,CAAS;IACf,KAAK,GAAW,EAAE,CAAC;IACnB,oBAAoB,GAA0B,EAAE,CAAC;IACjD,MAAM,GAAsB,EAAE,CAAC;IAEvC,YAAY,QAAgB,EAAE,MAAc;QAC1C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,OAAO;QACL,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kEAAkE;YAClE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,OAAO,EAAE,kCACP,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE;gBACF,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,aAAa;aACpB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QAED,yEAAyE;QACzE,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACK,kBAAkB,CAAC,MAAe,EAAE,UAAkB;QAC5D,MAAM,KAAK,GAAI,MAAgC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,SAAS;YAC9C,MAAM,KAAK,GAAG,GAAwB,CAAC;YACvC,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;gBAAE,SAAS;YAElD,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;YAC/E,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAEzD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;gBAC7B,UAAU;gBACV,aAAa,EAAE,KAAK,CAAC,SAAS;gBAC9B,aAAa,EAAE,YAAY;gBAC3B,IAAI,EAAE,CAAC;gBACP,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE;oBACR,aAAa,EAAE,mBAAmB;oBAClC,QAAQ;oBACR,IAAI;oBACJ,YAAY,EAAE,IAAI,CAAC,QAAQ;iBAC5B;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,SAAiB;QAC9B,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,EAAE;YACT,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACnC,CAAC;IACJ,CAAC;IAEO,cAAc;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO;YACL,EAAE,EAAE,IAAA,oCAAc,EAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3D,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;YAClC,aAAa,EAAE,IAAI,CAAC,QAAQ;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,KAAK,CAAC,MAAM;YACrB,WAAW,EAAE,CAAC;YACd,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC;YAC/C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IACJ,CAAC;CACF;AAtGD,4DAsGC"}
1
+ {"version":3,"file":"vba-test-manifest-extractor.js","sourceRoot":"","sources":["../../src/extraction/vba-test-manifest-extractor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,2CAA6B;AAE7B,+DAAuD;AASvD;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,MAAe;IAC7C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,KAAK,GAAI,MAA8B,CAAC,KAAK,CAAC;IACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,KAAK,CAAC,IAAI,CACf,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,CAAC,KAAK;QACP,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAQ,KAAiC,CAAC,SAAS,KAAK,QAAQ,CACnE,CAAC;AACJ,CAAC;AAED,MAAa,wBAAwB;IAC3B,QAAQ,CAAS;IACjB,MAAM,CAAS;IACf,KAAK,GAAW,EAAE,CAAC;IACnB,oBAAoB,GAA0B,EAAE,CAAC;IACjD,MAAM,GAAsB,EAAE,CAAC;IAEvC,YAAY,QAAgB,EAAE,MAAc;QAC1C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,OAAO;QACL,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kEAAkE;YAClE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,OAAO,EAAE,kCACP,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE;gBACF,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,aAAa;aACpB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QAED,yEAAyE;QACzE,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACK,kBAAkB,CAAC,MAAe,EAAE,UAAkB;QAC5D,MAAM,KAAK,GAAI,MAAgC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,SAAS;YAC9C,MAAM,KAAK,GAAG,GAAwB,CAAC;YACvC,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;gBAAE,SAAS;YAElD,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;YAC/E,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAEzD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;gBAC7B,UAAU;gBACV,aAAa,EAAE,KAAK,CAAC,SAAS;gBAC9B,aAAa,EAAE,YAAY;gBAC3B,IAAI,EAAE,CAAC;gBACP,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE;oBACR,aAAa,EAAE,mBAAmB;oBAClC,QAAQ;oBACR,IAAI;oBACJ,YAAY,EAAE,IAAI,CAAC,QAAQ;iBAC5B;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,SAAiB;QAC9B,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,EAAE;YACT,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACnC,CAAC;IACJ,CAAC;IAEO,cAAc;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO;YACL,EAAE,EAAE,IAAA,oCAAc,EAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3D,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;YAClC,aAAa,EAAE,IAAI,CAAC,QAAQ;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,KAAK,CAAC,MAAM;YACrB,WAAW,EAAE,CAAC;YACd,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC;YAC/C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IACJ,CAAC;CACF;AAtGD,4DAsGC"}