@optave/codegraph 3.11.0 → 3.11.1

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 (223) hide show
  1. package/README.md +38 -31
  2. package/dist/ast-analysis/engine.d.ts.map +1 -1
  3. package/dist/ast-analysis/engine.js +91 -60
  4. package/dist/ast-analysis/engine.js.map +1 -1
  5. package/dist/ast-analysis/visitor-utils.d.ts +3 -0
  6. package/dist/ast-analysis/visitor-utils.d.ts.map +1 -1
  7. package/dist/ast-analysis/visitor-utils.js +83 -49
  8. package/dist/ast-analysis/visitor-utils.js.map +1 -1
  9. package/dist/ast-analysis/visitors/ast-store-visitor.d.ts.map +1 -1
  10. package/dist/ast-analysis/visitors/ast-store-visitor.js +78 -62
  11. package/dist/ast-analysis/visitors/ast-store-visitor.js.map +1 -1
  12. package/dist/ast-analysis/visitors/dataflow-visitor.d.ts.map +1 -1
  13. package/dist/ast-analysis/visitors/dataflow-visitor.js +61 -42
  14. package/dist/ast-analysis/visitors/dataflow-visitor.js.map +1 -1
  15. package/dist/cli/commands/embed.d.ts.map +1 -1
  16. package/dist/cli/commands/embed.js +49 -4
  17. package/dist/cli/commands/embed.js.map +1 -1
  18. package/dist/domain/analysis/dependencies.d.ts.map +1 -1
  19. package/dist/domain/analysis/dependencies.js +106 -80
  20. package/dist/domain/analysis/dependencies.js.map +1 -1
  21. package/dist/domain/analysis/fn-impact.d.ts.map +1 -1
  22. package/dist/domain/analysis/fn-impact.js +77 -52
  23. package/dist/domain/analysis/fn-impact.js.map +1 -1
  24. package/dist/domain/analysis/module-map.d.ts.map +1 -1
  25. package/dist/domain/analysis/module-map.js +132 -121
  26. package/dist/domain/analysis/module-map.js.map +1 -1
  27. package/dist/domain/graph/builder/helpers.d.ts +4 -4
  28. package/dist/domain/graph/builder/helpers.d.ts.map +1 -1
  29. package/dist/domain/graph/builder/helpers.js +47 -33
  30. package/dist/domain/graph/builder/helpers.js.map +1 -1
  31. package/dist/domain/graph/builder/incremental.d.ts +6 -0
  32. package/dist/domain/graph/builder/incremental.d.ts.map +1 -1
  33. package/dist/domain/graph/builder/incremental.js +142 -76
  34. package/dist/domain/graph/builder/incremental.js.map +1 -1
  35. package/dist/domain/graph/builder/pipeline.d.ts +1 -44
  36. package/dist/domain/graph/builder/pipeline.d.ts.map +1 -1
  37. package/dist/domain/graph/builder/pipeline.js +10 -766
  38. package/dist/domain/graph/builder/pipeline.js.map +1 -1
  39. package/dist/domain/graph/builder/stages/build-edges.d.ts.map +1 -1
  40. package/dist/domain/graph/builder/stages/build-edges.js +133 -96
  41. package/dist/domain/graph/builder/stages/build-edges.js.map +1 -1
  42. package/dist/domain/graph/builder/stages/build-structure.d.ts.map +1 -1
  43. package/dist/domain/graph/builder/stages/build-structure.js +82 -65
  44. package/dist/domain/graph/builder/stages/build-structure.js.map +1 -1
  45. package/dist/domain/graph/builder/stages/detect-changes.d.ts.map +1 -1
  46. package/dist/domain/graph/builder/stages/detect-changes.js +84 -56
  47. package/dist/domain/graph/builder/stages/detect-changes.js.map +1 -1
  48. package/dist/domain/graph/builder/stages/finalize.d.ts.map +1 -1
  49. package/dist/domain/graph/builder/stages/finalize.js +60 -51
  50. package/dist/domain/graph/builder/stages/finalize.js.map +1 -1
  51. package/dist/domain/graph/builder/stages/insert-nodes.d.ts +8 -6
  52. package/dist/domain/graph/builder/stages/insert-nodes.d.ts.map +1 -1
  53. package/dist/domain/graph/builder/stages/insert-nodes.js +107 -122
  54. package/dist/domain/graph/builder/stages/insert-nodes.js.map +1 -1
  55. package/dist/domain/graph/builder/stages/native-db-lifecycle.d.ts +14 -0
  56. package/dist/domain/graph/builder/stages/native-db-lifecycle.d.ts.map +1 -0
  57. package/dist/domain/graph/builder/stages/native-db-lifecycle.js +77 -0
  58. package/dist/domain/graph/builder/stages/native-db-lifecycle.js.map +1 -0
  59. package/dist/domain/graph/builder/stages/native-orchestrator.d.ts +62 -0
  60. package/dist/domain/graph/builder/stages/native-orchestrator.d.ts.map +1 -0
  61. package/dist/domain/graph/builder/stages/native-orchestrator.js +747 -0
  62. package/dist/domain/graph/builder/stages/native-orchestrator.js.map +1 -0
  63. package/dist/domain/graph/cycles.d.ts +6 -4
  64. package/dist/domain/graph/cycles.d.ts.map +1 -1
  65. package/dist/domain/graph/cycles.js +50 -55
  66. package/dist/domain/graph/cycles.js.map +1 -1
  67. package/dist/domain/graph/journal.d.ts.map +1 -1
  68. package/dist/domain/graph/journal.js +89 -70
  69. package/dist/domain/graph/journal.js.map +1 -1
  70. package/dist/domain/graph/watcher.d.ts.map +1 -1
  71. package/dist/domain/graph/watcher.js +5 -2
  72. package/dist/domain/graph/watcher.js.map +1 -1
  73. package/dist/domain/parser.d.ts +12 -23
  74. package/dist/domain/parser.d.ts.map +1 -1
  75. package/dist/domain/parser.js +126 -79
  76. package/dist/domain/parser.js.map +1 -1
  77. package/dist/domain/search/generator.d.ts +3 -1
  78. package/dist/domain/search/generator.d.ts.map +1 -1
  79. package/dist/domain/search/generator.js +68 -45
  80. package/dist/domain/search/generator.js.map +1 -1
  81. package/dist/domain/search/models.d.ts +2 -0
  82. package/dist/domain/search/models.d.ts.map +1 -1
  83. package/dist/domain/search/models.js +37 -3
  84. package/dist/domain/search/models.js.map +1 -1
  85. package/dist/domain/search/search/hybrid.d.ts.map +1 -1
  86. package/dist/domain/search/search/hybrid.js +49 -40
  87. package/dist/domain/search/search/hybrid.js.map +1 -1
  88. package/dist/domain/search/search/semantic.d.ts.map +1 -1
  89. package/dist/domain/search/search/semantic.js +69 -49
  90. package/dist/domain/search/search/semantic.js.map +1 -1
  91. package/dist/domain/wasm-worker-entry.js +201 -136
  92. package/dist/domain/wasm-worker-entry.js.map +1 -1
  93. package/dist/extractors/elixir.js +95 -71
  94. package/dist/extractors/elixir.js.map +1 -1
  95. package/dist/extractors/gleam.d.ts.map +1 -1
  96. package/dist/extractors/gleam.js +23 -31
  97. package/dist/extractors/gleam.js.map +1 -1
  98. package/dist/extractors/helpers.d.ts +79 -1
  99. package/dist/extractors/helpers.d.ts.map +1 -1
  100. package/dist/extractors/helpers.js +137 -0
  101. package/dist/extractors/helpers.js.map +1 -1
  102. package/dist/extractors/java.d.ts.map +1 -1
  103. package/dist/extractors/java.js +37 -49
  104. package/dist/extractors/java.js.map +1 -1
  105. package/dist/extractors/javascript.d.ts.map +1 -1
  106. package/dist/extractors/javascript.js +44 -44
  107. package/dist/extractors/javascript.js.map +1 -1
  108. package/dist/extractors/julia.js +27 -34
  109. package/dist/extractors/julia.js.map +1 -1
  110. package/dist/extractors/r.d.ts.map +1 -1
  111. package/dist/extractors/r.js +33 -58
  112. package/dist/extractors/r.js.map +1 -1
  113. package/dist/extractors/solidity.d.ts.map +1 -1
  114. package/dist/extractors/solidity.js +38 -61
  115. package/dist/extractors/solidity.js.map +1 -1
  116. package/dist/features/boundaries.d.ts.map +1 -1
  117. package/dist/features/boundaries.js +49 -39
  118. package/dist/features/boundaries.js.map +1 -1
  119. package/dist/features/cfg.d.ts.map +1 -1
  120. package/dist/features/cfg.js +90 -63
  121. package/dist/features/cfg.js.map +1 -1
  122. package/dist/features/check.d.ts.map +1 -1
  123. package/dist/features/check.js +43 -34
  124. package/dist/features/check.js.map +1 -1
  125. package/dist/features/cochange.d.ts.map +1 -1
  126. package/dist/features/cochange.js +68 -56
  127. package/dist/features/cochange.js.map +1 -1
  128. package/dist/features/complexity.d.ts.map +1 -1
  129. package/dist/features/complexity.js +105 -75
  130. package/dist/features/complexity.js.map +1 -1
  131. package/dist/features/dataflow.d.ts.map +1 -1
  132. package/dist/features/dataflow.js +37 -29
  133. package/dist/features/dataflow.js.map +1 -1
  134. package/dist/features/flow.d.ts.map +1 -1
  135. package/dist/features/flow.js +31 -22
  136. package/dist/features/flow.js.map +1 -1
  137. package/dist/features/graph-enrichment.d.ts.map +1 -1
  138. package/dist/features/graph-enrichment.js +77 -70
  139. package/dist/features/graph-enrichment.js.map +1 -1
  140. package/dist/features/owners.d.ts +17 -26
  141. package/dist/features/owners.d.ts.map +1 -1
  142. package/dist/features/owners.js +120 -109
  143. package/dist/features/owners.js.map +1 -1
  144. package/dist/features/sequence.d.ts.map +1 -1
  145. package/dist/features/sequence.js +59 -54
  146. package/dist/features/sequence.js.map +1 -1
  147. package/dist/features/structure-query.d.ts.map +1 -1
  148. package/dist/features/structure-query.js +60 -60
  149. package/dist/features/structure-query.js.map +1 -1
  150. package/dist/features/structure.js +28 -36
  151. package/dist/features/structure.js.map +1 -1
  152. package/dist/graph/algorithms/leiden/optimiser.d.ts.map +1 -1
  153. package/dist/graph/algorithms/leiden/optimiser.js +100 -69
  154. package/dist/graph/algorithms/leiden/optimiser.js.map +1 -1
  155. package/dist/graph/classifiers/roles.d.ts.map +1 -1
  156. package/dist/graph/classifiers/roles.js +63 -59
  157. package/dist/graph/classifiers/roles.js.map +1 -1
  158. package/dist/infrastructure/config.d.ts +1 -1
  159. package/dist/infrastructure/config.d.ts.map +1 -1
  160. package/dist/infrastructure/config.js +1 -1
  161. package/dist/infrastructure/config.js.map +1 -1
  162. package/dist/presentation/cfg.d.ts.map +1 -1
  163. package/dist/presentation/cfg.js +44 -29
  164. package/dist/presentation/cfg.js.map +1 -1
  165. package/dist/presentation/flow.d.ts.map +1 -1
  166. package/dist/presentation/flow.js +58 -38
  167. package/dist/presentation/flow.js.map +1 -1
  168. package/dist/types.d.ts +1 -1
  169. package/dist/types.d.ts.map +1 -1
  170. package/package.json +7 -7
  171. package/src/ast-analysis/engine.ts +145 -61
  172. package/src/ast-analysis/visitor-utils.ts +86 -46
  173. package/src/ast-analysis/visitors/ast-store-visitor.ts +104 -69
  174. package/src/ast-analysis/visitors/dataflow-visitor.ts +86 -47
  175. package/src/cli/commands/embed.ts +54 -4
  176. package/src/domain/analysis/dependencies.ts +166 -85
  177. package/src/domain/analysis/fn-impact.ts +120 -50
  178. package/src/domain/analysis/module-map.ts +175 -140
  179. package/src/domain/graph/builder/helpers.ts +85 -76
  180. package/src/domain/graph/builder/incremental.ts +217 -90
  181. package/src/domain/graph/builder/pipeline.ts +19 -957
  182. package/src/domain/graph/builder/stages/build-edges.ts +198 -140
  183. package/src/domain/graph/builder/stages/build-structure.ts +115 -82
  184. package/src/domain/graph/builder/stages/detect-changes.ts +107 -64
  185. package/src/domain/graph/builder/stages/finalize.ts +72 -70
  186. package/src/domain/graph/builder/stages/insert-nodes.ts +154 -120
  187. package/src/domain/graph/builder/stages/native-db-lifecycle.ts +74 -0
  188. package/src/domain/graph/builder/stages/native-orchestrator.ts +942 -0
  189. package/src/domain/graph/cycles.ts +51 -49
  190. package/src/domain/graph/journal.ts +84 -69
  191. package/src/domain/graph/watcher.ts +8 -2
  192. package/src/domain/parser.ts +143 -66
  193. package/src/domain/search/generator.ts +132 -74
  194. package/src/domain/search/models.ts +39 -3
  195. package/src/domain/search/search/hybrid.ts +53 -42
  196. package/src/domain/search/search/semantic.ts +105 -65
  197. package/src/domain/wasm-worker-entry.ts +235 -152
  198. package/src/extractors/elixir.ts +91 -64
  199. package/src/extractors/gleam.ts +33 -37
  200. package/src/extractors/helpers.ts +205 -1
  201. package/src/extractors/java.ts +42 -45
  202. package/src/extractors/javascript.ts +44 -43
  203. package/src/extractors/julia.ts +28 -35
  204. package/src/extractors/r.ts +38 -56
  205. package/src/extractors/solidity.ts +43 -71
  206. package/src/features/boundaries.ts +64 -46
  207. package/src/features/cfg.ts +145 -74
  208. package/src/features/check.ts +60 -43
  209. package/src/features/cochange.ts +95 -72
  210. package/src/features/complexity.ts +134 -79
  211. package/src/features/dataflow.ts +57 -34
  212. package/src/features/flow.ts +48 -24
  213. package/src/features/graph-enrichment.ts +105 -70
  214. package/src/features/owners.ts +186 -146
  215. package/src/features/sequence.ts +99 -69
  216. package/src/features/structure-query.ts +94 -79
  217. package/src/features/structure.ts +56 -56
  218. package/src/graph/algorithms/leiden/optimiser.ts +142 -87
  219. package/src/graph/classifiers/roles.ts +64 -54
  220. package/src/infrastructure/config.ts +1 -1
  221. package/src/presentation/cfg.ts +48 -32
  222. package/src/presentation/flow.ts +100 -52
  223. package/src/types.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../../../src/domain/search/search/semantic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../../../src/domain/search/search/semantic.ts"],"names":[],"mappings":"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"}
@@ -449,72 +449,209 @@ function storeCfgResults(results, defs) {
449
449
  }
450
450
  }
451
451
  }
452
+ /**
453
+ * Build the AST-store visitor for `langId`. Returns `null` when AST is
454
+ * disabled or the language has no AST type map. db-free — passes an empty
455
+ * nodeIdMap. The main thread re-resolves parent node IDs in
456
+ * `features/ast.ts::collectFileAstRows`.
457
+ */
458
+ function buildAstVisitor(langId, defs, relPath, enabled) {
459
+ if (!enabled)
460
+ return null;
461
+ const astTypeMap = AST_TYPE_MAPS.get(langId);
462
+ if (!astTypeMap)
463
+ return null;
464
+ const stringConfig = AST_STRING_CONFIGS.get(langId);
465
+ return createAstStoreVisitor(astTypeMap, defs, relPath, new Map(), stringConfig, astStopRecurseKinds(langId));
466
+ }
467
+ /**
468
+ * Build the complexity visitor when enabled, the language has complexity
469
+ * rules, and at least one definition still lacks a `complexity` payload.
470
+ * Side-effect: extends `walkerOpts` with nesting-node types and a
471
+ * `getFunctionName` resolver suitable for this language.
472
+ */
473
+ function buildComplexityVisitor(langId, defs, enabled, walkerOpts) {
474
+ if (!enabled)
475
+ return null;
476
+ const cRules = COMPLEXITY_RULES.get(langId);
477
+ if (!cRules || !defs.some((d) => hasFuncBody(d) && !d.complexity))
478
+ return null;
479
+ const hRules = HALSTEAD_RULES.get(langId);
480
+ const visitor = createComplexityVisitor(cRules, hRules, { fileLevelWalk: true, langId });
481
+ for (const t of cRules.nestingNodes)
482
+ walkerOpts.nestingNodeTypes?.add(t);
483
+ const dfRules = DATAFLOW_RULES.get(langId);
484
+ walkerOpts.getFunctionName = (node) => {
485
+ const nameNode = node.childForFieldName('name');
486
+ if (nameNode)
487
+ return nameNode.text;
488
+ // dfRules shape varies per language; visitor-utils accepts any shape
489
+ if (dfRules)
490
+ return getFuncName(node, dfRules);
491
+ return null;
492
+ };
493
+ return visitor;
494
+ }
495
+ /** Build the CFG visitor when enabled and at least one definition still lacks blocks. */
496
+ function buildCfgVisitor(langId, defs, enabled) {
497
+ if (!enabled)
498
+ return null;
499
+ const cfgRulesForLang = CFG_RULES.get(langId);
500
+ if (!cfgRulesForLang)
501
+ return null;
502
+ const needsCfg = defs.some((d) => hasFuncBody(d) && d.cfg !== null && !Array.isArray(d.cfg?.blocks));
503
+ if (!needsCfg)
504
+ return null;
505
+ return createCfgVisitor(cfgRulesForLang);
506
+ }
507
+ /** Build the dataflow visitor when enabled and `symbols.dataflow` is not yet populated. */
508
+ function buildDataflowVisitor(langId, symbols, enabled) {
509
+ if (!enabled)
510
+ return null;
511
+ const dfRules = DATAFLOW_RULES.get(langId);
512
+ if (!dfRules || symbols.dataflow)
513
+ return null;
514
+ return createDataflowVisitor(dfRules);
515
+ }
452
516
  function setupVisitorsLocal(symbols, relPath, langId, opts) {
453
517
  const defs = symbols.definitions || [];
454
- const visitors = [];
455
518
  const walkerOpts = {
456
519
  functionNodeTypes: new Set(),
457
520
  nestingNodeTypes: new Set(),
458
521
  getFunctionName: (_node) => null,
459
522
  };
460
- // AST-store: db-free pass an empty nodeIdMap. The main thread re-resolves
461
- // parent node IDs in features/ast.ts::collectFileAstRows.
462
- let astVisitor = null;
463
- if (opts.ast) {
464
- const astTypeMap = AST_TYPE_MAPS.get(langId);
465
- if (astTypeMap) {
466
- const stringConfig = AST_STRING_CONFIGS.get(langId);
467
- astVisitor = createAstStoreVisitor(astTypeMap, defs, relPath, new Map(), stringConfig, astStopRecurseKinds(langId));
468
- visitors.push(astVisitor);
469
- }
523
+ const astVisitor = buildAstVisitor(langId, defs, relPath, !!opts.ast);
524
+ const complexityVisitor = buildComplexityVisitor(langId, defs, !!opts.complexity, walkerOpts);
525
+ const cfgVisitor = buildCfgVisitor(langId, defs, !!opts.cfg);
526
+ const dataflowVisitor = buildDataflowVisitor(langId, symbols, !!opts.dataflow);
527
+ const visitors = [];
528
+ if (astVisitor)
529
+ visitors.push(astVisitor);
530
+ if (complexityVisitor)
531
+ visitors.push(complexityVisitor);
532
+ if (cfgVisitor)
533
+ visitors.push(cfgVisitor);
534
+ if (dataflowVisitor)
535
+ visitors.push(dataflowVisitor);
536
+ return { visitors, walkerOpts, astVisitor, complexityVisitor, cfgVisitor, dataflowVisitor };
537
+ }
538
+ // ── Main parse handler ──────────────────────────────────────────────────────
539
+ /**
540
+ * Run tree-sitter parse + extractor on `code`. Returns `null` when either
541
+ * step yields no usable output. Throws (for the caller to report back to the
542
+ * pool) only on a hard tree-sitter parse error.
543
+ */
544
+ function parseAndExtract(parser, entry, filePath, code) {
545
+ let tree;
546
+ try {
547
+ tree = parser.parse(code);
470
548
  }
471
- // Complexity
472
- let complexityVisitor = null;
473
- if (opts.complexity) {
474
- const cRules = COMPLEXITY_RULES.get(langId);
475
- if (cRules && defs.some((d) => hasFuncBody(d) && !d.complexity)) {
476
- const hRules = HALSTEAD_RULES.get(langId);
477
- complexityVisitor = createComplexityVisitor(cRules, hRules, {
478
- fileLevelWalk: true,
479
- langId,
480
- });
481
- for (const t of cRules.nestingNodes)
482
- walkerOpts.nestingNodeTypes?.add(t);
483
- const dfRules = DATAFLOW_RULES.get(langId);
484
- walkerOpts.getFunctionName = (node) => {
485
- const nameNode = node.childForFieldName('name');
486
- if (nameNode)
487
- return nameNode.text;
488
- // dfRules shape varies per language; visitor-utils accepts any shape
489
- if (dfRules)
490
- return getFuncName(node, dfRules);
491
- return null;
492
- };
493
- visitors.push(complexityVisitor);
494
- }
549
+ catch (e) {
550
+ // Parse error — report back but keep worker alive.
551
+ throw new Error(`parse failed: ${e.message}`);
495
552
  }
496
- // CFG
497
- let cfgVisitor = null;
498
- if (opts.cfg) {
499
- const cfgRulesForLang = CFG_RULES.get(langId);
500
- if (cfgRulesForLang &&
501
- defs.some((d) => hasFuncBody(d) && d.cfg !== null && !Array.isArray(d.cfg?.blocks))) {
502
- cfgVisitor = createCfgVisitor(cfgRulesForLang);
503
- visitors.push(cfgVisitor);
504
- }
553
+ if (!tree)
554
+ return null;
555
+ // Extractor — on failure, skip file (ok:true, null) to match parser.ts
556
+ // behavior where extractor issues don't crash the build. Dispose the tree
557
+ // before returning null so WASM linear memory doesn't accumulate in the worker.
558
+ let symbols;
559
+ try {
560
+ const query = _queries.get(entry.id);
561
+ // tree-sitter's Tree/Query are structurally compatible with
562
+ // TreeSitterTree/TreeSitterQuery at runtime — same cast style as
563
+ // parser.ts::wasmExtractSymbols (parser.ts:789).
564
+ symbols = entry.extractor(tree, filePath, query) ?? null;
505
565
  }
506
- // Dataflow
507
- let dataflowVisitor = null;
508
- if (opts.dataflow) {
509
- const dfRules = DATAFLOW_RULES.get(langId);
510
- if (dfRules && !symbols.dataflow) {
511
- dataflowVisitor = createDataflowVisitor(dfRules);
512
- visitors.push(dataflowVisitor);
513
- }
566
+ catch {
567
+ disposeTree(tree);
568
+ return null;
569
+ }
570
+ if (!symbols) {
571
+ disposeTree(tree);
572
+ return null;
573
+ }
574
+ return { tree, symbols };
575
+ }
576
+ /**
577
+ * Project the visitor `ast-store` rows into the wire-safe shape returned to
578
+ * the main thread. Strips `file` and `parentNodeId` — both are re-resolved in
579
+ * `features/ast.ts::collectFileAstRows`. Always returns an array (even empty)
580
+ * so `engine.ts::fileNeedsWasmTree` doesn't treat the file as un-walked and
581
+ * trigger a full ensureWasmTrees re-parse (#1036).
582
+ */
583
+ function projectAstNodes(results) {
584
+ const astRows = (results['ast-store'] || []);
585
+ return astRows.map((n) => ({
586
+ line: n.line,
587
+ kind: n.kind,
588
+ name: n.name ?? '',
589
+ text: n.text ?? undefined,
590
+ receiver: n.receiver ?? undefined,
591
+ }));
592
+ }
593
+ /**
594
+ * Run the configured visitor walk over `tree.rootNode` and apply each
595
+ * visitor's results back onto `symbols`. Returns the serialized astNodes
596
+ * (or `undefined` when AST is disabled / no rows produced).
597
+ *
598
+ * Mirrors engine.ts:791-829. Runs BEFORE `tree.delete()` because
599
+ * storeComplexityResults / storeCfgResults read `funcNode` off live nodes.
600
+ */
601
+ function runVisitorWalk(tree, symbols, langId, setup) {
602
+ if (setup.visitors.length === 0)
603
+ return undefined;
604
+ // rootNode shape matches TreeSitterNode at runtime — same cast as parser.ts:789.
605
+ const results = walkWithVisitors(tree.rootNode, setup.visitors, langId, setup.walkerOpts);
606
+ const defs = symbols.definitions || [];
607
+ let serializedAstNodes;
608
+ if (setup.astVisitor)
609
+ serializedAstNodes = projectAstNodes(results);
610
+ if (setup.complexityVisitor)
611
+ storeComplexityResults(results, defs, langId);
612
+ if (setup.cfgVisitor)
613
+ storeCfgResults(results, defs);
614
+ if (setup.dataflowVisitor)
615
+ symbols.dataflow = results.dataflow;
616
+ return serializedAstNodes;
617
+ }
618
+ /**
619
+ * Pack the in-memory ExtractorOutput into the structured-clone-safe shape
620
+ * sent back across the worker boundary. Converts the typeMap into a tuple
621
+ * array and intentionally omits `_tree` (cannot cross the boundary).
622
+ */
623
+ function serializeExtractorOutput(symbols, langId, code, astNodes) {
624
+ return {
625
+ definitions: symbols.definitions,
626
+ calls: symbols.calls,
627
+ imports: symbols.imports,
628
+ classes: symbols.classes,
629
+ exports: symbols.exports,
630
+ typeMap: Array.from(symbols.typeMap.entries()),
631
+ _langId: langId,
632
+ _lineCount: code.split('\n').length,
633
+ dataflow: symbols.dataflow,
634
+ astNodes,
635
+ };
636
+ }
637
+ /**
638
+ * Release WASM linear memory backing a tree. Best-effort — swallows errors so
639
+ * the worker keeps serving requests. Deferring this would let trees accumulate
640
+ * in the worker's WASM heap and defeat the point of isolating parse calls.
641
+ */
642
+ function disposeTree(tree) {
643
+ if (!tree)
644
+ return;
645
+ const deletable = tree;
646
+ if (typeof deletable.delete !== 'function')
647
+ return;
648
+ try {
649
+ deletable.delete();
650
+ }
651
+ catch {
652
+ // best-effort cleanup — swallow; worker continues.
514
653
  }
515
- return { visitors, walkerOpts, astVisitor, complexityVisitor, cfgVisitor, dataflowVisitor };
516
654
  }
517
- // ── Main parse handler ──────────────────────────────────────────────────────
518
655
  async function handleParse(msg) {
519
656
  const ext = path.extname(msg.filePath).toLowerCase();
520
657
  const entry = _extToLang.get(ext);
@@ -524,93 +661,21 @@ async function handleParse(msg) {
524
661
  const parser = await loadLanguageLazy(entry);
525
662
  if (!parser)
526
663
  return null;
527
- let tree = null;
664
+ const parsed = parseAndExtract(parser, entry, msg.filePath, msg.code);
665
+ if (!parsed)
666
+ return null;
667
+ const { tree, symbols } = parsed;
528
668
  try {
529
- try {
530
- tree = parser.parse(msg.code);
531
- }
532
- catch (e) {
533
- // Parse error — report back but keep worker alive.
534
- throw new Error(`parse failed: ${e.message}`);
535
- }
536
- if (!tree)
537
- return null;
538
- // Extractor — on failure, skip file (ok:true, null) to match parser.ts
539
- // behavior where extractor issues don't crash the build.
540
- let symbols;
541
- try {
542
- const query = _queries.get(entry.id);
543
- // tree-sitter's Tree/Query are structurally compatible with
544
- // TreeSitterTree/TreeSitterQuery at runtime — same cast style as
545
- // parser.ts::wasmExtractSymbols (parser.ts:789).
546
- symbols = entry.extractor(tree, msg.filePath, query) ?? null;
547
- }
548
- catch {
549
- return null;
550
- }
551
- if (!symbols)
552
- return null;
553
- // Unified visitor walk — mirrors engine.ts:791-829. Runs BEFORE tree.delete()
554
- // because storeComplexityResults/storeCfgResults read funcNode off live nodes.
555
- const { visitors, walkerOpts, astVisitor, complexityVisitor, cfgVisitor, dataflowVisitor } = setupVisitorsLocal(symbols, msg.filePath, entry.id, msg.opts);
556
- // astNodes are kept in the serialized shape (without `file`/`parentNodeId`),
669
+ const setup = setupVisitorsLocal(symbols, msg.filePath, entry.id, msg.opts);
670
+ // astNodes kept in the serialized shape (without `file`/`parentNodeId`),
557
671
  // not assigned back to symbols.astNodes — ExtractorOutput.astNodes is
558
672
  // ASTNodeRow[] (DB row shape with node_id), which is a different type.
559
- let serializedAstNodes;
560
- if (visitors.length > 0) {
561
- // rootNode shape matches TreeSitterNode at runtime — same cast as parser.ts:789.
562
- const results = walkWithVisitors(tree.rootNode, visitors, entry.id, walkerOpts);
563
- const defs = symbols.definitions || [];
564
- if (astVisitor) {
565
- const astRows = (results['ast-store'] || []);
566
- // Always set an array (even empty) — leaving astNodes undefined makes
567
- // engine.ts::fileNeedsWasmTree treat the file as un-walked and trigger
568
- // a full ensureWasmTrees re-parse of every WASM-parseable file (#1036).
569
- // Strip `file` and `parentNodeId` — main thread re-resolves both in
570
- // features/ast.ts::collectFileAstRows.
571
- serializedAstNodes = astRows.map((n) => ({
572
- line: n.line,
573
- kind: n.kind,
574
- name: n.name ?? '',
575
- text: n.text ?? undefined,
576
- receiver: n.receiver ?? undefined,
577
- }));
578
- }
579
- if (complexityVisitor)
580
- storeComplexityResults(results, defs, entry.id);
581
- if (cfgVisitor)
582
- storeCfgResults(results, defs);
583
- if (dataflowVisitor)
584
- symbols.dataflow = results.dataflow;
585
- }
586
- // Serialize — convert Map<string, TypeMapEntry> to tuple array for the wire.
587
- const serialized = {
588
- definitions: symbols.definitions,
589
- calls: symbols.calls,
590
- imports: symbols.imports,
591
- classes: symbols.classes,
592
- exports: symbols.exports,
593
- typeMap: Array.from(symbols.typeMap.entries()),
594
- _langId: entry.id,
595
- _lineCount: msg.code.split('\n').length,
596
- dataflow: symbols.dataflow,
597
- astNodes: serializedAstNodes,
598
- };
599
- // _tree is deliberately not serialized — it cannot cross the worker boundary.
600
- return serialized;
673
+ const serializedAstNodes = runVisitorWalk(tree, symbols, entry.id, setup);
674
+ return serializeExtractorOutput(symbols, entry.id, msg.code, serializedAstNodes);
601
675
  }
602
676
  finally {
603
- // ALWAYS release WASM memory before responding. Deferring this would let
604
- // trees accumulate in the worker's WASM heap across requests and defeat
605
- // the point of isolating parse calls.
606
- if (tree && typeof tree.delete === 'function') {
607
- try {
608
- tree.delete();
609
- }
610
- catch {
611
- // best-effort cleanup — swallow; worker continues.
612
- }
613
- }
677
+ // ALWAYS release WASM memory before responding (see disposeTree note).
678
+ disposeTree(tree);
614
679
  }
615
680
  }
616
681
  // ── Worker message loop ─────────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"wasm-worker-entry.js","sourceRoot":"","sources":["../../src/domain/wasm-worker-entry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wasm-worker-entry.js","sourceRoot":"","sources":["../../src/domain/wasm-worker-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,cAAc,GACf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAqBhC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D;;8CAE8C;AAC9C,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED,+EAA+E;AAE/E,MAAM,qBAAqB,GAAa;IACtC,6DAA6D;IAC7D,2FAA2F;IAC3F,gGAAgG;IAChG,uEAAuE;IACvE,+EAA+E;IAC/E,2DAA2D;IAC3D,8BAA8B;IAC9B,oEAAoE;IACpE,2EAA2E;IAC3E,8EAA8E;IAC9E,oEAAoE;IACpE,2EAA2E;IAC3E,6HAA6H;CAC9H,CAAC;AAEF,MAAM,gBAAgB,GAAW,4DAA4D,CAAC;AAE9F,MAAM,iBAAiB,GAAa;IAClC,iEAAiE;IACjE,yEAAyE;IACzE,wEAAwE;CACzE,CAAC;AAEF,+EAA+E;AAC/E,4EAA4E;AAC5E,4EAA4E;AAE5E,MAAM,iBAAiB,GAA4B;IACjD;QACE,EAAE,EAAE,YAAY;QAChB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC3C,WAAW,EAAE,6BAA6B;QAC1C,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,IAAI;KACf;IACD;QACE,EAAE,EAAE,YAAY;QAChB,UAAU,EAAE,CAAC,KAAK,CAAC;QACnB,WAAW,EAAE,6BAA6B;QAC1C,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,IAAI;KACf;IACD;QACE,EAAE,EAAE,KAAK;QACT,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,sBAAsB;QACnC,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,IAAI;KACf;IACD;QACE,EAAE,EAAE,KAAK;QACT,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;QAC3B,WAAW,EAAE,sBAAsB;QACnC,SAAS,EAAE,iBAAiB;QAC5B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;QAC3B,WAAW,EAAE,yBAAyB;QACtC,SAAS,EAAE,oBAAoB;QAC/B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,IAAI;QACR,UAAU,EAAE,CAAC,KAAK,CAAC;QACnB,WAAW,EAAE,qBAAqB;QAClC,SAAS,EAAE,gBAAgB;QAC3B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,MAAM;QACV,UAAU,EAAE,CAAC,KAAK,CAAC;QACnB,WAAW,EAAE,uBAAuB;QACpC,SAAS,EAAE,kBAAkB;QAC7B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,MAAM;QACV,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,WAAW,EAAE,uBAAuB;QACpC,SAAS,EAAE,kBAAkB;QAC7B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,UAAU,EAAE,CAAC,KAAK,CAAC;QACnB,WAAW,EAAE,0BAA0B;QACvC,SAAS,EAAE,oBAAoB;QAC/B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,MAAM;QACV,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC;QACxC,WAAW,EAAE,uBAAuB;QACpC,SAAS,EAAE,kBAAkB;QAC7B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,KAAK;QACT,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC9B,WAAW,EAAE,sBAAsB;QACnC,SAAS,EAAE,iBAAiB;QAC5B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,GAAG;QACP,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QACxB,WAAW,EAAE,oBAAoB;QACjC,SAAS,EAAE,eAAe;QAC1B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,KAAK;QACT,UAAU,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;QAC3C,WAAW,EAAE,sBAAsB;QACnC,SAAS,EAAE,iBAAiB;QAC5B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;QAC3B,WAAW,EAAE,yBAAyB;QACtC,SAAS,EAAE,oBAAoB;QAC/B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,OAAO;QACX,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,WAAW,EAAE,wBAAwB;QACrC,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,OAAO;QACX,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,WAAW,EAAE,wBAAwB;QACrC,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,MAAM;QACV,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;QAC5B,WAAW,EAAE,uBAAuB;QACpC,SAAS,EAAE,kBAAkB;QAC7B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;QAC3B,WAAW,EAAE,yBAAyB;QACtC,SAAS,EAAE,oBAAoB;QAC/B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,KAAK;QACT,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,sBAAsB;QACnC,SAAS,EAAE,iBAAiB;QAC5B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,MAAM;QACV,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,WAAW,EAAE,uBAAuB;QACpC,SAAS,EAAE,kBAAkB;QAC7B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,KAAK;QACT,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,sBAAsB;QACnC,SAAS,EAAE,iBAAiB;QAC5B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,SAAS;QACb,UAAU,EAAE,CAAC,KAAK,CAAC;QACnB,WAAW,EAAE,0BAA0B;QACvC,SAAS,EAAE,qBAAqB;QAChC,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,OAAO;QACX,UAAU,EAAE,CAAC,KAAK,CAAC;QACnB,WAAW,EAAE,wBAAwB;QACrC,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,kCAAkC;QAC/C,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;QAC3B,WAAW,EAAE,yBAAyB;QACtC,SAAS,EAAE,oBAAoB;QAC/B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,mCAAmC;QAChD,SAAS,EAAE,oBAAoB;QAC/B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,OAAO;QACX,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,WAAW,EAAE,wBAAwB;QACrC,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,SAAS;QACb,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QACtC,WAAW,EAAE,0BAA0B;QACvC,SAAS,EAAE,qBAAqB;QAChC,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,OAAO;QACX,UAAU,EAAE,CAAC,KAAK,CAAC;QACnB,WAAW,EAAE,wBAAwB;QACrC,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,GAAG;QACP,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QACxB,WAAW,EAAE,oBAAoB;QACjC,SAAS,EAAE,eAAe;QAC1B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QAC5B,WAAW,EAAE,yBAAyB;QACtC,SAAS,EAAE,oBAAoB;QAC/B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,UAAU;QACd,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,2BAA2B;QACxC,SAAS,EAAE,sBAAsB;QACjC,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,MAAM;QACV,UAAU,EAAE,CAAC,IAAI,CAAC;QAClB,WAAW,EAAE,uBAAuB;QACpC,SAAS,EAAE,kBAAkB;QAC7B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,MAAM;QACV,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;QAC3B,WAAW,EAAE,uBAAuB;QACpC,SAAS,EAAE,kBAAkB;QAC7B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;QAC/B,WAAW,EAAE,yBAAyB;QACtC,SAAS,EAAE,oBAAoB;QAC/B,QAAQ,EAAE,KAAK;KAChB;IACD;QACE,EAAE,EAAE,SAAS;QACb,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC;QACzB,WAAW,EAAE,0BAA0B;QACvC,SAAS,EAAE,qBAAqB;QAChC,QAAQ,EAAE,KAAK;KAChB;CACF,CAAC;AAEF,MAAM,UAAU,GAAuC,IAAI,GAAG,EAAE,CAAC;AACjE,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;IACtC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACnC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,+EAA+E;AAE/E,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAChC,0EAA0E;AAC1E,wDAAwD;AACxD,MAAM,QAAQ,GAA+B,IAAI,GAAG,EAAE,CAAC;AACvD,MAAM,QAAQ,GAAuB,IAAI,GAAG,EAAE,CAAC;AAE/C,KAAK,UAAU,WAAW;IACxB,IAAI,mBAAmB;QAAE,OAAO;IAChC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACpB,mBAAmB,GAAG,IAAI,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAAC,KAA4B;IAC1D,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;IAElE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzB,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAE/B,gEAAgE;QAChE,IAAI,KAAK,CAAC,SAAS,KAAK,cAAc,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,KAAK,YAAY,IAAI,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC;YAC7D,MAAM,QAAQ,GAAG,IAAI;gBACnB,CAAC,CAAC,CAAC,GAAG,qBAAqB,EAAE,GAAG,iBAAiB,CAAC;gBAClD,CAAC,CAAC,CAAC,GAAG,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;YACjD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,CAAC,EAAE,0BAA2B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAsBD,+EAA+E;AAE/E,SAAS,WAAW,CAAC,CAKpB;IACC,OAAO,CACL,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;QAC9C,CAAC,CAAC,IAAI,GAAG,CAAC;QACV,CAAC,CAAC,OAAO,IAAI,IAAI;QACjB,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI;QAClB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CACtB,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAyC,OAAY;IACvE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAe,CAAC;IACtC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,CAAC,QAAQ;YAAE,SAAS;QAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CACvB,UAA2B,EAC3B,OAAe;IAEf,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IAClD,OAAO,CACL,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACpB,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;IACjC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CACpB,CAAC;AACJ,CAAC;AAED,+FAA+F;AAC/F,SAAS,yBAAyB,CAAC,GAAe,EAAE,aAAqB;IACvE,IAAI,CAAC,GAAG,CAAC,UAAU;QAAE,OAAO;IAC5B,IAAI,aAAa,IAAI,CAAC;QAAE,OAAO;IAC/B,GAAG,CAAC,UAAU,CAAC,UAAU,GAAG,aAAa,CAAC;IAC1C,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC;IACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,GAAG,CAAC,UAAU,CAAC,oBAAoB,GAAG,2BAA2B,CAC/D,MAAM,EACN,aAAa,EACb,GAAG,EAAE,IAAI,IAAI,CAAC,EACd,YAAY,CACb,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAoB,EAAE,IAAkB,EAAE,MAAc;IACtF,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAA2B,CAAC,CAAC;IACjF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACtF,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,CAAC,UAAU;gBAAE,SAAS;YAC1B,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;YAC/B,MAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,MAAM,EAAE,GAAG,2BAA2B,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAC3F,GAAG,CAAC,UAAU,GAAG;gBACf,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,GAAG;gBACH,oBAAoB,EAAE,EAAE;aACzB,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAAoB,EAAE,IAAkB;IAC/D,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAoB,CAAC,CAAC;IACnE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IACE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;YAClD,GAAG,CAAC,IAAI;YACR,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EACxB,CAAC;YACD,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI,CAAC,SAAS;gBAAE,SAAS;YACzB,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;YAC/D,IAAI,SAAS,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;gBACjC,yBAAyB,CAAC,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAaD;;;;;GAKG;AACH,SAAS,eAAe,CACtB,MAAc,EACd,IAAoC,EACpC,OAAe,EACf,OAAgB;IAEhB,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpD,OAAO,qBAAqB,CAC1B,UAAU,EACV,IAAI,EACJ,OAAO,EACP,IAAI,GAAG,EAAkB,EACzB,YAAY,EACZ,mBAAmB,CAAC,MAAM,CAAC,CAC5B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAC7B,MAAc,EACd,IAAoC,EACpC,OAAgB,EAChB,UAAuB;IAEvB,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/E,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACzF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY;QAAE,UAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,UAAU,CAAC,eAAe,GAAG,CAAC,IAAoB,EAAiB,EAAE;QACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,IAAI,CAAC;QACnC,qEAAqE;QACrE,IAAI,OAAO;YAAE,OAAO,WAAW,CAAC,IAAI,EAAE,OAAc,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,yFAAyF;AACzF,SAAS,eAAe,CACtB,MAAc,EACd,IAAoC,EACpC,OAAgB;IAEhB,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CACzE,CAAC;IACF,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAC3C,CAAC;AAED,2FAA2F;AAC3F,SAAS,oBAAoB,CAC3B,MAAc,EACd,OAAwB,EACxB,OAAgB;IAEhB,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,kBAAkB,CACzB,OAAwB,EACxB,OAAe,EACf,MAAc,EACd,IAAgC;IAEhC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;IACvC,MAAM,UAAU,GAAgB;QAC9B,iBAAiB,EAAE,IAAI,GAAG,EAAU;QACpC,gBAAgB,EAAE,IAAI,GAAG,EAAU;QACnC,eAAe,EAAE,CAAC,KAAqB,EAAE,EAAE,CAAC,IAAI;KACjD,CAAC;IAEF,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtE,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC9F,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE/E,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,IAAI,UAAU;QAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,iBAAiB;QAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACxD,IAAI,UAAU;QAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,eAAe;QAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAEpD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;AAC9F,CAAC;AAED,+EAA+E;AAE/E;;;;GAIG;AACH,SAAS,eAAe,CACtB,MAAc,EACd,KAA4B,EAC5B,QAAgB,EAChB,IAAY;IAEZ,IAAI,IAAiB,CAAC;IACtB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,mDAAmD;QACnD,MAAM,IAAI,KAAK,CAAC,iBAAkB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,uEAAuE;IACvE,0EAA0E;IAC1E,gFAAgF;IAChF,IAAI,OAA+B,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrC,4DAA4D;QAC5D,iEAAiE;QACjE,iDAAiD;QACjD,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,IAAW,EAAE,QAAQ,EAAE,KAAY,CAAC,IAAI,IAAI,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,OAAoB;IAC3C,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAQzC,CAAC;IACH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;QAClB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS;QACzB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;KAClC,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,cAAc,CACrB,IAAU,EACV,OAAwB,EACxB,MAAc,EACd,KAAkB;IAElB,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAClD,iFAAiF;IACjF,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAe,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACjG,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;IACvC,IAAI,kBAAyD,CAAC;IAC9D,IAAI,KAAK,CAAC,UAAU;QAAE,kBAAkB,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACpE,IAAI,KAAK,CAAC,iBAAiB;QAAE,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3E,IAAI,KAAK,CAAC,UAAU;QAAE,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACrD,IAAI,KAAK,CAAC,eAAe;QAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAA0B,CAAC;IACjF,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,SAAS,wBAAwB,CAC/B,OAAwB,EACxB,MAAkB,EAClB,IAAY,EACZ,QAA+C;IAE/C,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9C,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;QACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAiB;IACpC,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,SAAS,GAAG,IAA0C,CAAC;IAC7D,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO;IACnD,IAAI,CAAC;QACH,SAAS,CAAC,MAAM,EAAE,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;IACrD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAuB;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACrD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,WAAW,EAAE,CAAC;IACpB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEjC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5E,yEAAyE;QACzE,sEAAsE;QACtE,uEAAuE;QACvE,MAAM,kBAAkB,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC1E,OAAO,wBAAwB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAgB,EAAE,GAAG,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACjG,CAAC;YAAS,CAAC;QACT,uEAAuE;QACvE,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,+EAA+E;AAE/E,IAAI,CAAC,UAAU,EAAE,CAAC;IAChB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;AACtE,CAAC;AAED,wEAAwE;AACxE,uEAAuE;AACvE,0EAA0E;AAC1E,2EAA2E;AAC3E,MAAM,gBAAgB,GAAG,sCAAsC,CAAC;AAEhE,6EAA6E;AAC7E,6DAA6D;AAC7D,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAkB,EAAE,EAAE;IACpD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO;IAEjC,IACE,OAAO,CAAC,GAAG,CAAC,gCAAgC,KAAK,GAAG;QACpD,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC5B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EACnC,CAAC;QACD,oDAAoD;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,GAAG,GAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC7E,UAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,MAAM,GAAG,GAAmB;YAC1B,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,EAAE,EAAE,KAAK;YACT,KAAK,EAAG,CAAW,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC;SACzC,CAAC;QACF,UAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC,CAAC,CAAC"}