@optave/codegraph 3.9.3 → 3.9.4
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.
- package/README.md +8 -8
- package/dist/ast-analysis/visitor.d.ts.map +1 -1
- package/dist/ast-analysis/visitor.js +14 -0
- package/dist/ast-analysis/visitor.js.map +1 -1
- package/dist/domain/graph/builder/context.d.ts +15 -0
- package/dist/domain/graph/builder/context.d.ts.map +1 -1
- package/dist/domain/graph/builder/context.js +7 -0
- package/dist/domain/graph/builder/context.js.map +1 -1
- package/dist/domain/graph/builder/pipeline.d.ts.map +1 -1
- package/dist/domain/graph/builder/pipeline.js +92 -48
- package/dist/domain/graph/builder/pipeline.js.map +1 -1
- package/dist/domain/graph/builder/stages/build-edges.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/build-edges.js +67 -6
- package/dist/domain/graph/builder/stages/build-edges.js.map +1 -1
- package/dist/domain/graph/builder/stages/build-structure.js +2 -2
- package/dist/domain/graph/builder/stages/detect-changes.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/detect-changes.js +51 -10
- package/dist/domain/graph/builder/stages/detect-changes.js.map +1 -1
- package/dist/domain/graph/builder/stages/finalize.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/finalize.js +10 -4
- package/dist/domain/graph/builder/stages/finalize.js.map +1 -1
- package/dist/domain/graph/builder/stages/run-analyses.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/run-analyses.js +5 -20
- package/dist/domain/graph/builder/stages/run-analyses.js.map +1 -1
- package/dist/extractors/javascript.js +120 -0
- package/dist/extractors/javascript.js.map +1 -1
- package/dist/features/structure.d.ts.map +1 -1
- package/dist/features/structure.js +14 -1
- package/dist/features/structure.js.map +1 -1
- package/package.json +7 -7
- package/src/ast-analysis/visitor.ts +15 -0
- package/src/domain/graph/builder/context.ts +17 -0
- package/src/domain/graph/builder/pipeline.ts +93 -46
- package/src/domain/graph/builder/stages/build-edges.ts +80 -6
- package/src/domain/graph/builder/stages/build-structure.ts +2 -2
- package/src/domain/graph/builder/stages/detect-changes.ts +61 -12
- package/src/domain/graph/builder/stages/finalize.ts +11 -4
- package/src/domain/graph/builder/stages/run-analyses.ts +5 -26
- package/src/extractors/javascript.ts +142 -0
- package/src/features/structure.ts +17 -1
package/README.md
CHANGED
|
@@ -617,17 +617,17 @@ Codegraph also extracts symbols from common callback patterns: Commander `.comma
|
|
|
617
617
|
|
|
618
618
|
Self-measured on every release via CI ([build benchmarks](generated/benchmarks/BUILD-BENCHMARKS.md) | [embedding benchmarks](generated/benchmarks/EMBEDDING-BENCHMARKS.md) | [query benchmarks](generated/benchmarks/QUERY-BENCHMARKS.md) | [incremental benchmarks](generated/benchmarks/INCREMENTAL-BENCHMARKS.md) | [resolution precision/recall](tests/benchmarks/resolution/)):
|
|
619
619
|
|
|
620
|
-
*Last updated: v3.9.
|
|
620
|
+
*Last updated: v3.9.3 (2026-04-13)*
|
|
621
621
|
|
|
622
622
|
| Metric | Native | WASM |
|
|
623
623
|
|---|---|---|
|
|
624
|
-
| Build speed | **
|
|
625
|
-
| Query time | **
|
|
626
|
-
| No-op rebuild | **
|
|
627
|
-
| 1-file rebuild | **
|
|
628
|
-
| Query: fn-deps | **2.
|
|
629
|
-
| Query: path | **2.5ms** | **2.
|
|
630
|
-
| ~50,000 files (est.) | **~
|
|
624
|
+
| Build speed | **3.3 ms/file** | **15.9 ms/file** |
|
|
625
|
+
| Query time | **30ms** | **42ms** |
|
|
626
|
+
| No-op rebuild | **11ms** | **22ms** |
|
|
627
|
+
| 1-file rebuild | **397ms** | **638ms** |
|
|
628
|
+
| Query: fn-deps | **2.5ms** | **2.4ms** |
|
|
629
|
+
| Query: path | **2.5ms** | **2.3ms** |
|
|
630
|
+
| ~50,000 files (est.) | **~165.0s build** | **~795.0s build** |
|
|
631
631
|
| Resolution precision | **90.7%** | — |
|
|
632
632
|
| Resolution recall | **42.9%** | — |
|
|
633
633
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../../src/ast-analysis/visitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../../src/ast-analysis/visitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAEV,cAAc,EACd,OAAO,EAEP,WAAW,EACX,WAAW,EACZ,MAAM,aAAa,CAAC;AAqIrB;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,WAAgB,GACxB,WAAW,CAgEb"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* The walker maintains shared context (nestingLevel, scopeStack, currentFunction)
|
|
11
11
|
* so individual visitors don't need to track traversal state themselves.
|
|
12
12
|
*/
|
|
13
|
+
import { debug } from '../infrastructure/logger.js';
|
|
13
14
|
/** Merge each visitor's custom functionNodeTypes into the master set. */
|
|
14
15
|
function mergeFunctionNodeTypes(visitors, base) {
|
|
15
16
|
const merged = new Set(base);
|
|
@@ -82,6 +83,15 @@ function dispatchExitFunction(visitors, skipDepths, node, funcName, context, dep
|
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Maximum AST depth before walk() bails out. WASM-backed tree-sitter parsers
|
|
88
|
+
* have a smaller stack than native V8 (~64-256 KB). Deep recursion in
|
|
89
|
+
* generated code, deeply nested object literals, or pathologically large
|
|
90
|
+
* switch statements can exhaust that stack, causing a V8 fatal error /
|
|
91
|
+
* segfault (#931). 500 levels is well beyond any realistic hand-written
|
|
92
|
+
* code while staying safely inside the WASM stack budget.
|
|
93
|
+
*/
|
|
94
|
+
const MAX_WALK_DEPTH = 500;
|
|
85
95
|
/** Collect finish() results from all visitors into a name-keyed map. */
|
|
86
96
|
function collectResults(visitors) {
|
|
87
97
|
const results = {};
|
|
@@ -118,6 +128,10 @@ export function walkWithVisitors(rootNode, visitors, langId, options = {}) {
|
|
|
118
128
|
function walk(node, depth) {
|
|
119
129
|
if (!node)
|
|
120
130
|
return;
|
|
131
|
+
if (depth > MAX_WALK_DEPTH) {
|
|
132
|
+
debug(`walkWithVisitors: AST depth limit (${MAX_WALK_DEPTH}) hit — subtree truncated`);
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
121
135
|
const type = node.type;
|
|
122
136
|
const isFuncBoundary = allFuncTypes.has(type);
|
|
123
137
|
let funcName = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitor.js","sourceRoot":"","sources":["../../src/ast-analysis/visitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"visitor.js","sourceRoot":"","sources":["../../src/ast-analysis/visitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,21 @@ export declare class PipelineContext {
|
|
|
38
38
|
barrelOnlyFiles: Set<string>;
|
|
39
39
|
nodesByName: Map<string, NodeRow[]>;
|
|
40
40
|
nodesByNameAndFile: Map<string, NodeRow[]>;
|
|
41
|
+
/**
|
|
42
|
+
* Edges from reverse-dep files to changed files, saved before purge so they
|
|
43
|
+
* can be reconnected to new node IDs after insertNodes (#932, #933).
|
|
44
|
+
* Eliminates the need to reparse reverse-dep files entirely.
|
|
45
|
+
*/
|
|
46
|
+
savedReverseDepEdges: Array<{
|
|
47
|
+
sourceId: number;
|
|
48
|
+
tgtName: string;
|
|
49
|
+
tgtKind: string;
|
|
50
|
+
tgtFile: string;
|
|
51
|
+
tgtLine: number;
|
|
52
|
+
edgeKind: string;
|
|
53
|
+
confidence: number;
|
|
54
|
+
dynamic: number;
|
|
55
|
+
}>;
|
|
41
56
|
hasEmbeddings: boolean;
|
|
42
57
|
lineCountMap: Map<string, number>;
|
|
43
58
|
timing: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/domain/graph/builder/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,UAAU,EACV,eAAe,EACf,WAAW,EACX,cAAc,EACd,cAAc,EACd,OAAO,EACP,WAAW,EACX,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,eAAe;IAE1B,OAAO,EAAG,MAAM,CAAC;IACjB,EAAE,EAAG,qBAAqB,CAAC;IAC3B,MAAM,EAAG,MAAM,CAAC;IAChB,MAAM,EAAG,eAAe,CAAC;IACzB,IAAI,EAAG,cAAc,CAAC;IACtB,UAAU,EAAG,UAAU,CAAC;IACxB,UAAU,EAAG,QAAQ,GAAG,MAAM,CAAC;IAC/B,aAAa,EAAG,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAG,WAAW,CAAC;IACtB,WAAW,EAAG,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAS;IAClC,aAAa,EAAG,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,kFAAkF;IAClF,eAAe,EAAE,OAAO,CAAS;IACjC,gGAAgG;IAChG,gBAAgB,EAAE,OAAO,CAAS;IAGlC,QAAQ,EAAG,MAAM,EAAE,CAAC;IACpB,cAAc,EAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAG7B,WAAW,EAAG,OAAO,CAAC;IACtB,YAAY,EAAG,WAAW,EAAE,CAAC;IAC7B,eAAe,EAAG,cAAc,EAAE,CAAC;IACnC,OAAO,EAAG,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,OAAO,CAAS;IAG3B,UAAU,EAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC1C,WAAW,EAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3C,YAAY,EAAG,WAAW,EAAE,CAAC;IAG7B,aAAa,EAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC3C,WAAW,EAAG,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACrC,eAAe,EAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAG9B,WAAW,EAAG,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACrC,kBAAkB,EAAG,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAG5C,aAAa,EAAE,OAAO,CAAS;IAC/B,YAAY,EAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGnC,MAAM,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;KACnC,CAAM;IACP,UAAU,EAAG,MAAM,CAAC;CACrB"}
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/domain/graph/builder/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,13 @@ export class PipelineContext {
|
|
|
37
37
|
// ── Node lookup (set by insertNodes / buildEdges stages) ───────────
|
|
38
38
|
nodesByName;
|
|
39
39
|
nodesByNameAndFile;
|
|
40
|
+
// ── Reverse-dep edge reconnection (set by detectChanges) ───────────
|
|
41
|
+
/**
|
|
42
|
+
* Edges from reverse-dep files to changed files, saved before purge so they
|
|
43
|
+
* can be reconnected to new node IDs after insertNodes (#932, #933).
|
|
44
|
+
* Eliminates the need to reparse reverse-dep files entirely.
|
|
45
|
+
*/
|
|
46
|
+
savedReverseDepEdges = [];
|
|
40
47
|
// ── Misc state ─────────────────────────────────────────────────────
|
|
41
48
|
hasEmbeddings = false;
|
|
42
49
|
lineCountMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/domain/graph/builder/context.ts"],"names":[],"mappings":"AAoBA,MAAM,OAAO,eAAe;IAC1B,sEAAsE;IACtE,OAAO,CAAU;IACjB,EAAE,CAAyB;IAC3B,MAAM,CAAU;IAChB,MAAM,CAAmB;IACzB,IAAI,CAAkB;IACtB,UAAU,CAAc;IACxB,UAAU,CAAqB;IAC/B,aAAa,CAAiB;IAC9B,OAAO,CAAe;IACtB,WAAW,CAAW;IACtB,gBAAgB,GAAY,KAAK,CAAC;IAClC,aAAa,CAAU;IACvB,QAAQ,CAAkB;IAC1B,kFAAkF;IAClF,eAAe,GAAY,KAAK,CAAC;IACjC,gGAAgG;IAChG,gBAAgB,GAAY,KAAK,CAAC;IAElC,sEAAsE;IACtE,QAAQ,CAAY;IACpB,cAAc,CAAe;IAE7B,sEAAsE;IACtE,WAAW,CAAW;IACtB,YAAY,CAAiB;IAC7B,eAAe,CAAoB;IACnC,OAAO,CAAY;IACnB,SAAS,GAAY,KAAK,CAAC;IAE3B,sEAAsE;IACtE,UAAU,CAAgC;IAC1C,WAAW,CAAgC;IAC3C,YAAY,CAAiB;IAE7B,sEAAsE;IACtE,aAAa,CAA8B;IAC3C,WAAW,CAA0B;IACrC,eAAe,CAAe;IAE9B,sEAAsE;IACtE,WAAW,CAA0B;IACrC,kBAAkB,CAA0B;IAE5C,sEAAsE;IACtE,aAAa,GAAY,KAAK,CAAC;IAC/B,YAAY,CAAuB;IAEnC,sEAAsE;IACtE,MAAM,GAcF,EAAE,CAAC;IACP,UAAU,CAAU;CACrB"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/domain/graph/builder/context.ts"],"names":[],"mappings":"AAoBA,MAAM,OAAO,eAAe;IAC1B,sEAAsE;IACtE,OAAO,CAAU;IACjB,EAAE,CAAyB;IAC3B,MAAM,CAAU;IAChB,MAAM,CAAmB;IACzB,IAAI,CAAkB;IACtB,UAAU,CAAc;IACxB,UAAU,CAAqB;IAC/B,aAAa,CAAiB;IAC9B,OAAO,CAAe;IACtB,WAAW,CAAW;IACtB,gBAAgB,GAAY,KAAK,CAAC;IAClC,aAAa,CAAU;IACvB,QAAQ,CAAkB;IAC1B,kFAAkF;IAClF,eAAe,GAAY,KAAK,CAAC;IACjC,gGAAgG;IAChG,gBAAgB,GAAY,KAAK,CAAC;IAElC,sEAAsE;IACtE,QAAQ,CAAY;IACpB,cAAc,CAAe;IAE7B,sEAAsE;IACtE,WAAW,CAAW;IACtB,YAAY,CAAiB;IAC7B,eAAe,CAAoB;IACnC,OAAO,CAAY;IACnB,SAAS,GAAY,KAAK,CAAC;IAE3B,sEAAsE;IACtE,UAAU,CAAgC;IAC1C,WAAW,CAAgC;IAC3C,YAAY,CAAiB;IAE7B,sEAAsE;IACtE,aAAa,CAA8B;IAC3C,WAAW,CAA0B;IACrC,eAAe,CAAe;IAE9B,sEAAsE;IACtE,WAAW,CAA0B;IACrC,kBAAkB,CAA0B;IAE5C,sEAAsE;IACtE;;;;OAIG;IACH,oBAAoB,GASf,EAAE,CAAC;IAER,sEAAsE;IACtE,aAAa,GAAY,KAAK,CAAC;IAC/B,YAAY,CAAuB;IAEnC,sEAAsE;IACtE,MAAM,GAcF,EAAE,CAAC;IACP,UAAU,CAAU;CACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../src/domain/graph/builder/pipeline.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAEV,cAAc,EACd,WAAW,EAGZ,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../src/domain/graph/builder/pipeline.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAEV,cAAc,EACd,WAAW,EAGZ,MAAM,mBAAmB,CAAC;AA0wB3B;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CA8DlC"}
|
|
@@ -66,9 +66,15 @@ function checkEngineSchemaMismatch(ctx) {
|
|
|
66
66
|
info(`Schema version changed (${prevSchema} → ${ctx.schemaVersion}), promoting to full rebuild.`);
|
|
67
67
|
ctx.forceFullRebuild = true;
|
|
68
68
|
}
|
|
69
|
+
// When the native engine is active, the Rust addon's version (ctx.engineVersion)
|
|
70
|
+
// is written into codegraph_version by setBuildMeta after a native orchestrator
|
|
71
|
+
// build. The check must compare against the same version, otherwise JS and Rust
|
|
72
|
+
// fight over which version to record — causing every incremental build to be
|
|
73
|
+
// promoted to a full rebuild when npm and crate versions diverge.
|
|
74
|
+
const effectiveVersion = ctx.engineName === 'native' && ctx.engineVersion ? ctx.engineVersion : CODEGRAPH_VERSION;
|
|
69
75
|
const prevVersion = meta('codegraph_version');
|
|
70
|
-
if (prevVersion && prevVersion !==
|
|
71
|
-
info(`Codegraph version changed (${prevVersion} → ${
|
|
76
|
+
if (prevVersion && prevVersion !== effectiveVersion) {
|
|
77
|
+
info(`Codegraph version changed (${prevVersion} → ${effectiveVersion}), promoting to full rebuild.`);
|
|
72
78
|
ctx.forceFullRebuild = true;
|
|
73
79
|
}
|
|
74
80
|
}
|
|
@@ -96,42 +102,16 @@ function setupPipeline(ctx) {
|
|
|
96
102
|
const enginePref = ctx.opts.engine || 'auto';
|
|
97
103
|
const native = enginePref !== 'wasm' ? loadNative() : null;
|
|
98
104
|
ctx.nativeAvailable = !!native?.NativeDatabase;
|
|
99
|
-
//
|
|
100
|
-
//
|
|
101
|
-
//
|
|
102
|
-
//
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
ctx.nativeDb = native.NativeDatabase.openReadWrite(ctx.dbPath);
|
|
110
|
-
ctx.nativeDb.initSchema();
|
|
111
|
-
const proxy = new NativeDbProxy(ctx.nativeDb);
|
|
112
|
-
proxy.__lockPath = `${ctx.dbPath}.lock`;
|
|
113
|
-
ctx.db = proxy;
|
|
114
|
-
ctx.nativeFirstProxy = true;
|
|
115
|
-
}
|
|
116
|
-
catch (err) {
|
|
117
|
-
warn(`NativeDatabase setup failed, falling back to better-sqlite3: ${toErrorMessage(err)}`);
|
|
118
|
-
try {
|
|
119
|
-
ctx.nativeDb?.close();
|
|
120
|
-
}
|
|
121
|
-
catch {
|
|
122
|
-
/* ignore */
|
|
123
|
-
}
|
|
124
|
-
ctx.nativeDb = undefined;
|
|
125
|
-
ctx.nativeFirstProxy = false;
|
|
126
|
-
releaseAdvisoryLock(`${ctx.dbPath}.lock`);
|
|
127
|
-
ctx.db = openDb(ctx.dbPath);
|
|
128
|
-
initSchema(ctx.db);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
ctx.db = openDb(ctx.dbPath);
|
|
133
|
-
initSchema(ctx.db);
|
|
134
|
-
}
|
|
105
|
+
// Always use better-sqlite3 for setup — it's cheap (~4ms) and only needed
|
|
106
|
+
// for metadata reads (schema mismatch check). NativeDatabase.openReadWrite
|
|
107
|
+
// is deferred to tryNativeOrchestrator, saving ~60ms on incremental builds
|
|
108
|
+
// where the Rust orchestrator handles the full pipeline, and avoiding the
|
|
109
|
+
// cost entirely on no-op builds that exit before reaching the orchestrator.
|
|
110
|
+
const dir = path.dirname(ctx.dbPath);
|
|
111
|
+
if (!fs.existsSync(dir))
|
|
112
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
113
|
+
ctx.db = openDb(ctx.dbPath);
|
|
114
|
+
initSchema(ctx.db);
|
|
135
115
|
ctx.config = loadConfig(ctx.rootDir);
|
|
136
116
|
ctx.incremental =
|
|
137
117
|
ctx.opts.incremental !== false && ctx.config.build && ctx.config.build.incremental !== false;
|
|
@@ -464,15 +444,26 @@ async function tryNativeOrchestrator(ctx) {
|
|
|
464
444
|
debug(`Skipping native orchestrator: ${skipReason}`);
|
|
465
445
|
return undefined;
|
|
466
446
|
}
|
|
467
|
-
//
|
|
468
|
-
//
|
|
447
|
+
// Open NativeDatabase on demand — deferred from setupPipeline to skip the
|
|
448
|
+
// ~60ms cost on no-op/early-exit builds. Close the better-sqlite3 connection
|
|
449
|
+
// first to avoid dual-connection WAL corruption.
|
|
469
450
|
if (!ctx.nativeDb && ctx.nativeAvailable) {
|
|
470
451
|
const native = loadNative();
|
|
471
452
|
if (native?.NativeDatabase) {
|
|
472
453
|
try {
|
|
454
|
+
// Close better-sqlite3 before opening rusqlite to avoid WAL conflicts.
|
|
455
|
+
// Uses raw close() instead of closeDb() intentionally — the advisory lock
|
|
456
|
+
// is kept and transferred to the NativeDbProxy below, not released here.
|
|
457
|
+
ctx.db.close();
|
|
458
|
+
acquireAdvisoryLock(ctx.dbPath);
|
|
473
459
|
ctx.nativeDb = native.NativeDatabase.openReadWrite(ctx.dbPath);
|
|
474
460
|
ctx.nativeDb.initSchema();
|
|
475
|
-
ctx.
|
|
461
|
+
// Replace ctx.db with a NativeDbProxy so post-native JS fallback
|
|
462
|
+
// (structure, analysis) can use it without reopening better-sqlite3.
|
|
463
|
+
const proxy = new NativeDbProxy(ctx.nativeDb);
|
|
464
|
+
proxy.__lockPath = `${ctx.dbPath}.lock`;
|
|
465
|
+
ctx.db = proxy;
|
|
466
|
+
ctx.nativeFirstProxy = true;
|
|
476
467
|
}
|
|
477
468
|
catch (err) {
|
|
478
469
|
warn(`NativeDatabase setup failed, falling back to JS: ${toErrorMessage(err)}`);
|
|
@@ -483,6 +474,10 @@ async function tryNativeOrchestrator(ctx) {
|
|
|
483
474
|
debug(`tryNativeOrchestrator: close failed during fallback: ${toErrorMessage(e)}`);
|
|
484
475
|
}
|
|
485
476
|
ctx.nativeDb = undefined;
|
|
477
|
+
ctx.nativeFirstProxy = false; // defensive: reset in case future refactors move the assignment above throwing lines
|
|
478
|
+
releaseAdvisoryLock(`${ctx.dbPath}.lock`);
|
|
479
|
+
// Reopen better-sqlite3 for JS pipeline fallback
|
|
480
|
+
ctx.db = openDb(ctx.dbPath);
|
|
486
481
|
}
|
|
487
482
|
}
|
|
488
483
|
}
|
|
@@ -503,14 +498,18 @@ async function tryNativeOrchestrator(ctx) {
|
|
|
503
498
|
}
|
|
504
499
|
const p = result.phases;
|
|
505
500
|
// Sync build_meta so JS-side version/engine checks work on next build.
|
|
501
|
+
// Use the Rust addon version as codegraph_version when the native
|
|
502
|
+
// orchestrator performed the build — the Rust side's check_version_mismatch
|
|
503
|
+
// compares this value against CARGO_PKG_VERSION. Writing the JS
|
|
504
|
+
// CODEGRAPH_VERSION here would create a permanent mismatch whenever the
|
|
505
|
+
// npm package version diverges from the Rust crate version, forcing every
|
|
506
|
+
// subsequent native build to be a full rebuild (no incremental).
|
|
506
507
|
setBuildMeta(ctx.db, {
|
|
507
508
|
engine: ctx.engineName,
|
|
508
509
|
engine_version: ctx.engineVersion || '',
|
|
509
|
-
codegraph_version: CODEGRAPH_VERSION,
|
|
510
|
+
codegraph_version: ctx.engineVersion || CODEGRAPH_VERSION,
|
|
510
511
|
schema_version: String(ctx.schemaVersion),
|
|
511
512
|
built_at: new Date().toISOString(),
|
|
512
|
-
node_count: String(result.nodeCount ?? 0),
|
|
513
|
-
edge_count: String(result.edgeCount ?? 0),
|
|
514
513
|
});
|
|
515
514
|
info(`Native build orchestrator completed: ${result.nodeCount ?? 0} nodes, ${result.edgeCount ?? 0} edges, ${result.fileCount ?? 0} files`);
|
|
516
515
|
// ── Post-native structure + analysis ──────────────────────────────
|
|
@@ -547,7 +546,7 @@ async function tryNativeOrchestrator(ctx) {
|
|
|
547
546
|
}
|
|
548
547
|
const fileSymbols = reconstructFileSymbolsFromDb(ctx);
|
|
549
548
|
if (needsStructure) {
|
|
550
|
-
structurePatchMs = await runPostNativeStructure(ctx, fileSymbols, !!result.isFullBuild, result.
|
|
549
|
+
structurePatchMs = await runPostNativeStructure(ctx, fileSymbols, !!result.isFullBuild, result.changedFiles);
|
|
551
550
|
}
|
|
552
551
|
if (needsAnalysisFallback) {
|
|
553
552
|
analysisTiming = await runPostNativeAnalysis(ctx, fileSymbols, result.changedFiles);
|
|
@@ -618,6 +617,23 @@ async function runPipelineStages(ctx) {
|
|
|
618
617
|
}
|
|
619
618
|
}
|
|
620
619
|
await runAnalyses(ctx);
|
|
620
|
+
// Release WASM trees deterministically on the success path — same cleanup
|
|
621
|
+
// as the error-path catch block. Without this, trees stay allocated until
|
|
622
|
+
// GC collects ctx, holding WASM memory for the rest of the build (#931).
|
|
623
|
+
if (ctx.allSymbols?.size > 0) {
|
|
624
|
+
for (const [, symbols] of ctx.allSymbols) {
|
|
625
|
+
const tree = symbols._tree;
|
|
626
|
+
if (tree && typeof tree.delete === 'function') {
|
|
627
|
+
try {
|
|
628
|
+
tree.delete();
|
|
629
|
+
}
|
|
630
|
+
catch {
|
|
631
|
+
/* ignore cleanup errors */
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
symbols._tree = undefined;
|
|
635
|
+
}
|
|
636
|
+
}
|
|
621
637
|
// Flush Rust WAL writes (AST, complexity, CFG, dataflow) so the JS
|
|
622
638
|
// connection and any post-build readers can see them. One TRUNCATE
|
|
623
639
|
// here replaces the N per-feature resumeJsDb checkpoints (#checkpoint-opt).
|
|
@@ -658,13 +674,41 @@ export async function buildGraph(rootDir, opts = {}) {
|
|
|
658
674
|
}
|
|
659
675
|
catch (err) {
|
|
660
676
|
warn(`Native build orchestrator failed, falling back to JS pipeline: ${toErrorMessage(err)}`);
|
|
661
|
-
//
|
|
677
|
+
// The version gate in checkEngineSchemaMismatch was skipped because
|
|
678
|
+
// nativeAvailable was true. Now that we're falling back to the JS
|
|
679
|
+
// pipeline, perform the codegraph_version check here so a version
|
|
680
|
+
// bump still promotes to a full rebuild (#928).
|
|
681
|
+
if (ctx.incremental && !ctx.forceFullRebuild) {
|
|
682
|
+
const prevVersion = getBuildMeta(ctx.db, 'codegraph_version');
|
|
683
|
+
if (prevVersion && prevVersion !== CODEGRAPH_VERSION) {
|
|
684
|
+
info(`Codegraph version changed (${prevVersion} → ${CODEGRAPH_VERSION}), promoting to full rebuild.`);
|
|
685
|
+
ctx.forceFullRebuild = true;
|
|
686
|
+
}
|
|
687
|
+
}
|
|
662
688
|
}
|
|
663
689
|
await runPipelineStages(ctx);
|
|
664
690
|
}
|
|
665
691
|
catch (err) {
|
|
666
|
-
if (!ctx.earlyExit
|
|
667
|
-
|
|
692
|
+
if (!ctx.earlyExit) {
|
|
693
|
+
// Release WASM trees before closing DB to prevent V8 crash during
|
|
694
|
+
// GC cleanup of orphaned WASM objects (#931).
|
|
695
|
+
if (ctx.allSymbols?.size > 0) {
|
|
696
|
+
for (const [, symbols] of ctx.allSymbols) {
|
|
697
|
+
const tree = symbols._tree;
|
|
698
|
+
if (tree && typeof tree.delete === 'function') {
|
|
699
|
+
try {
|
|
700
|
+
tree.delete();
|
|
701
|
+
}
|
|
702
|
+
catch {
|
|
703
|
+
/* ignore cleanup errors */
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
symbols._tree = undefined;
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
if (ctx.db) {
|
|
710
|
+
closeDbPair({ db: ctx.db, nativeDb: ctx.nativeDb });
|
|
711
|
+
}
|
|
668
712
|
}
|
|
669
713
|
throw err;
|
|
670
714
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../../src/domain/graph/builder/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,UAAU,EACV,MAAM,EACN,mBAAmB,EACnB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAQ/D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,2EAA2E;AAE3E,SAAS,gBAAgB,CAAC,GAAoB;IAC5C,GAAG,CAAC,UAAU,GAAG;QACf,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM;QACjC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK;QACrC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,KAAK;QAC3B,yEAAyE;QACzE,iDAAiD;QACjD,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,SAAS;QACtB,UAAU,EAAE,SAAS;KACtB,CAAC;IACF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACrF,GAAG,CAAC,UAAU,GAAG,UAA+B,CAAC;IACjD,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC;IAClC,IAAI,CAAC,SAAS,UAAU,UAAU,aAAa,CAAC,CAAC,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAoB;IACrD,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAoC,CAAC;IAC3F,GAAG,CAAC,aAAa,GAAG,aAAa,EAAE,OAAO,IAAI,CAAC,CAAC;IAChD,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,OAAO;IAE7B,yEAAyE;IACzE,yEAAyE;IACzE,qCAAqC;IACrC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAiB,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAEvE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,UAAU,IAAI,UAAU,KAAK,GAAG,CAAC,UAAU,EAAE,CAAC;QAChD,IAAI,CAAC,mBAAmB,UAAU,MAAM,GAAG,CAAC,UAAU,+BAA+B,CAAC,CAAC;QACvF,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC9B,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1C,IAAI,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,aAAa,EAAE,CAAC;QAC3D,IAAI,CACF,2BAA2B,UAAU,MAAM,GAAG,CAAC,aAAa,+BAA+B,CAC5F,CAAC;QACF,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC9B,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC9C,IAAI,WAAW,IAAI,WAAW,KAAK,iBAAiB,EAAE,CAAC;QACrD,IAAI,CACF,8BAA8B,WAAW,MAAM,iBAAiB,+BAA+B,CAChG,CAAC;QACF,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,GAAoB;IACvC,GAAG,CAAC,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,CAAC,qBAAqB,GAAG,2BAA2B,OAAO,KAAK,aAAa,CAAC,CAAC;gBACnF,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAChD,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrE,IAAI,CACF,gCAAgC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,gBAAgB,CACxH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAAoB;IACzC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACxC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAE9D,6CAA6C;IAC7C,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;IAC7C,MAAM,MAAM,GAAG,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,GAAG,CAAC,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC;IAE/C,4EAA4E;IAC5E,0EAA0E;IAC1E,6EAA6E;IAC7E,gEAAgE;IAChE,IAAI,GAAG,CAAC,eAAe,IAAI,MAAM,EAAE,cAAc,EAAE,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChE,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/D,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC9C,KAAK,CAAC,UAAU,GAAG,GAAG,GAAG,CAAC,MAAM,OAAO,CAAC;YACxC,GAAG,CAAC,EAAE,GAAG,KAAiC,CAAC;YAC3C,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,gEAAgE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5F,IAAI,CAAC;gBACH,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;YACD,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;YACzB,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC7B,mBAAmB,CAAC,GAAG,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;YAC1C,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC5B,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;IAED,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,GAAG,CAAC,WAAW;QACb,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC;IAE/F,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACtB,yBAAyB,CAAC,GAAG,CAAC,CAAC;IAC/B,WAAW,CAAC,GAAG,CAAC,CAAC;IAEjB,gCAAgC;IAChC,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACxB,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,UAAU,CAAC,IAAI,qBAAqB,CAAC,CAAC;IACzD,CAAC;IAED,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC;AAC1D,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAoB;IAC9C,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;IACrB,OAAO;QACL,MAAM,EAAE;YACN,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACzC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACjC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/C,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACjC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SAC5C;KACF,CAAC;AACJ,CAAC;AAED,2EAA2E;AAE3E,uEAAuE;AACvE,SAAS,aAAa,CAAC,GAAoB,EAAE,KAAa;IACxD,IAAI,CAAC,GAAG,CAAC,QAAQ;QAAE,OAAO;IAC1B,IAAI,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,KAAK,2BAA2B,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,KAAK,2BAA2B,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;AAC3B,CAAC;AAED,sEAAsE;AACtE,SAAS,cAAc,CAAC,GAAoB,EAAE,KAAa;IACzD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,MAAM;QAAE,OAAO;IACnD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,cAAc;QAAE,OAAO;IACpC,IAAI,CAAC;QACH,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,uBAAuB,KAAK,YAAY,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnE,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,SAAS,eAAe,CAAC,GAAoB,EAAE,KAAa;IAC1D,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC1B,IAAI,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC;QAC7B,GAAG,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC;IACtC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,GAAoB;IACvC,IAAI,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,6BAA6B,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAsBD,yEAAyE;AAEzE,sHAAsH;AACtH,SAAS,4BAA4B,CAAC,GAAoB;IACxD,IAAI,GAAG,CAAC,gBAAgB;QAAE,OAAO,kBAAkB,CAAC;IACpD,0EAA0E;IAC1E,sEAAsE;IACtE,2DAA2D;IAC3D,MAAM,iBAAiB,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,aAAa,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/F,IAAI,iBAAiB;QAAE,OAAO,eAAe,GAAG,CAAC,aAAa,EAAE,CAAC;IACjE,IAAI,GAAG,CAAC,UAAU,KAAK,QAAQ;QAAE,OAAO,UAAU,GAAG,CAAC,UAAU,EAAE,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;kFACkF;AAClF,SAAS,0BAA0B,CAAC,GAAoB;IACtD,aAAa,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IACxC,IAAI,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,kCAAkC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC;QACH,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,SAAS,EAAE,CAAC;QACnB,IAAI,CAAC,2CAA4C,SAAmB,CAAC,OAAO,EAAE,CAAC,CAAC;QAChF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,4BAA4B,CACnC,GAAoB,EACpB,UAAqB;IAErB,IAAI,KAAK,GACP,sFAAsF,CAAC;IACzF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzD,KAAK,IAAI,iBAAiB,YAAY,GAAG,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,IAAI,sBAAsB,CAAC;IAEhC,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAM7C,CAAC;IAEJ,MAAM,WAAW,GAAG,IAAI,GAAG,EAA2B,CAAC;IACvD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG;gBACN,WAAW,EAAE,EAAE;gBACf,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,IAAI,GAAG,EAAE;aACnB,CAAC;YACF,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;YACrB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAA0B;YACpC,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;SAClC,CAAC,CAAC;IACL,CAAC;IAED,gEAAgE;IAChE,8DAA8D;IAC9D,gEAAgE;IAChE,wCAAwC;IACxC,MAAM,eAAe,GAAG,GAAG,CAAC,EAAE;SAC3B,OAAO,CACN;;;;uBAIiB,CAClB;SACA,GAAG,EAAqC,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK;YAAE,KAAK,CAAC,OAAO,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAA+B,CAAC;IAC9E,CAAC;IAED,MAAM,eAAe,GAAG,GAAG,CAAC,EAAE;SAC3B,OAAO,CACN;;;;;;;2BAOqB,CACtB;SACA,GAAG,EAAqC,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK;YAAE,KAAK,CAAC,OAAO,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAA+B,CAAC;IAC9E,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,sBAAsB,CACnC,GAAoB,EACpB,cAA4C,EAC5C,WAAoB,EACpB,YAAkC;IAElC,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC/C,MAAM,gBAAgB,GAAG,GAAG,CAAC,EAAE;aAC5B,OAAO,CACN;;+BAEuB,CACxB;aACA,GAAG,EAAiD,CAAC;QACxD,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACnC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;QAED,0EAA0E;QAC1E,wEAAwE;QACxE,2EAA2E;QAC3E,MAAM,gBAAgB,GAAG,WAAW,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;QACpF,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,GAAG,CAAC,MAAM,MAAM,CACxD,gCAAgC,CACjC,CASA,CAAC;QACF,gBAAgB,CACd,GAAG,CAAC,EAAE,EACN,cAAc,EACd,GAAG,CAAC,OAAO,EACX,YAAY,EACZ,WAAW,EACX,gBAAgB,CACjB,CAAC;QACF,KAAK,CACH,sDAAsD,gBAAgB,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAC7H,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,8CAA8C,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,WAAW,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,qBAAqB,CAClC,GAAoB,EACpB,cAA4C,EAC5C,YAAkC;IAElC,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAEtE,mDAAmD;IACnD,IAAI,mBAAiD,CAAC;IACtD,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,mBAAmB,GAAG,IAAI,GAAG,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,KAAK;gBAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,mBAAmB,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,sEAAsE;IACtE,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,MAAM,EAAE,cAAc,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/D,IAAI,GAAG,CAAC,UAAU;gBAAE,GAAG,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;YACzB,IAAI,GAAG,CAAC,UAAU;gBAAE,GAAG,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,uEAAuE;IACvE,6DAA6D;IAC7D,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACtC,GAAG,CAAC,UAAU,CAAC,WAAW,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QACtC,GAAG,CAAC,UAAU,CAAC,UAAU,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAQtF,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,GAAG,CAAC,EAAE,EACN,mBAAmB,EACnB,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,IAA+B,EACnC,GAAG,CAAC,UAA4D,CACjE,CAAC;QACF,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;QAC/C,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,8CAA8C,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,uEAAuE;IACvE,sEAAsE;IACtE,oDAAoD;IACpD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;QACD,IAAI,CAAC;YACH,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;QACD,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;QACzB,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACnB,GAAG,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC;YACpC,GAAG,CAAC,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC;YACvC,GAAG,CAAC,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC;QACxC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,iFAAiF;AACjF,SAAS,wBAAwB,CAC/B,CAAyB,EACzB,gBAAwB,EACxB,cAA0F;IAE1F,OAAO;QACL,MAAM,EAAE;YACN,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAChF,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACzC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAClE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,KAAK,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9C,YAAY,EAAE,CAAC,CAAC,cAAc,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5D,KAAK,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9C,UAAU,EAAE,CAAC,CAAC,cAAc,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACxD,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SAC5C;KACF,CAAC;AACJ,CAAC;AAED,qHAAqH;AACrH,KAAK,UAAU,qBAAqB,CAClC,GAAoB;IAEpB,MAAM,UAAU,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;IACrD,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAC;QACrD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,qEAAqE;IACrE,8EAA8E;IAC9E,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,MAAM,EAAE,cAAc,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC/D,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC1B,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,oDAAoD,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChF,IAAI,CAAC;oBACH,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;gBACxB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,KAAK,CAAC,wDAAwD,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrF,CAAC;gBACD,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU;QAAE,OAAO,SAAS,CAAC;IAEhD,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CACxC,GAAG,CAAC,OAAO,EACX,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CACzB,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAA6B,CAAC;IAElE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC5B,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,qDAAqD;IACrD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,gBAAgB,OAAO,aAAa,OAAO,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IAExB,uEAAuE;IACvE,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE;QACnB,MAAM,EAAE,GAAG,CAAC,UAAU;QACtB,cAAc,EAAE,GAAG,CAAC,aAAa,IAAI,EAAE;QACvC,iBAAiB,EAAE,iBAAiB;QACpC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;QACzC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAClC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QACzC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;KAC1C,CAAC,CAAC;IAEH,IAAI,CACF,wCAAwC,MAAM,CAAC,SAAS,IAAI,CAAC,WAAW,MAAM,CAAC,SAAS,IAAI,CAAC,WAAW,MAAM,CAAC,SAAS,IAAI,CAAC,QAAQ,CACtI,CAAC;IAEF,qEAAqE;IACrE,IAAI,cAAc,GAAG;QACnB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACtB,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC;QACpC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACtB,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC;KACjC,CAAC;IACF,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,yEAAyE;IACzE,wEAAwE;IACxE,kDAAkD;IAClD,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC;IAChD,wEAAwE;IACxE,8DAA8D;IAC9D,MAAM,qBAAqB,GACzB,CAAC,MAAM,CAAC,gBAAgB;QACxB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,KAAK;YACrB,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK;YAC7B,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,KAAK;YACtB,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;IAEjC,IAAI,cAAc,IAAI,qBAAqB,EAAE,CAAC;QAC5C,oEAAoE;QACpE,sEAAsE;QACtE,yDAAyD;QACzD,IAAI,qBAAqB,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAClD,aAAa,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;YAC5C,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC5B,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC/B,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAC;YACrE,2CAA2C;YAC3C,OAAO,wBAAwB,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,WAAW,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;QAEtD,IAAI,cAAc,EAAE,CAAC;YACnB,gBAAgB,GAAG,MAAM,sBAAsB,CAC7C,GAAG,EACH,WAAW,EACX,CAAC,CAAC,MAAM,CAAC,WAAW,EACpB,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,YAAY,CAC7C,CAAC;QACJ,CAAC;QAED,IAAI,qBAAqB,EAAE,CAAC;YAC1B,cAAc,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpD,OAAO,wBAAwB,CAAC,CAAC,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;AACvE,CAAC;AAED,2EAA2E;AAE3E,KAAK,UAAU,iBAAiB,CAAC,GAAoB;IACnD,wEAAwE;IACxE,yEAAyE;IACzE,uEAAuE;IACvE,iEAAiE;IACjE,wEAAwE;IACxE,wEAAwE;IACxE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3B,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACpC,wEAAwE;QACxE,mEAAmE;QACnE,6DAA6D;QAC7D,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACzB,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC5B,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;IAEzB,IAAI,GAAG,CAAC,SAAS;QAAE,OAAO;IAE1B,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IAEtB,0FAA0F;IAC1F,0EAA0E;IAC1E,qEAAqE;IACrE,kEAAkE;IAClE,MAAM,gBAAgB,GACpB,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC;IAClF,IAAI,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5E,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IAEvB,6EAA6E;IAC7E,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;QAC3B,aAAa,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;QACvC,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;IAE1B,wEAAwE;IACxE,2EAA2E;IAC3E,EAAE;IACF,qEAAqE;IACrE,oEAAoE;IACpE,uEAAuE;IACvE,2EAA2E;IAC3E,IAAI,GAAG,CAAC,eAAe,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7C,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAChC,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACnC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;YACtC,GAAG,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACvC,GAAG,CAAC,UAAU,CAAC,WAAW,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;YACtC,GAAG,CAAC,UAAU,CAAC,UAAU,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACpC,GAAG,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC;YACpC,GAAG,CAAC,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC;YACvC,GAAG,CAAC,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC;QACxC,CAAC;IACH,CAAC;IAED,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IAEvB,mEAAmE;IACnE,oEAAoE;IACpE,4EAA4E;IAC5E,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,KAAK,CAAC,wCAAwC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,2EAA2E;AAE3E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAe,EACf,OAAuB,EAAE;IAEzB,MAAM,GAAG,GAAG,IAAI,eAAe,EAAE,CAAC;IAClC,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACnC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;IAChB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IAEtB,IAAI,CAAC;QACH,aAAa,CAAC,GAAG,CAAC,CAAC;QAEnB,qEAAqE;QACrE,kEAAkE;QAClE,oEAAoE;QACpE,+DAA+D;QAC/D,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAC;YACtD,IAAI,YAAY,KAAK,YAAY;gBAAE,OAAO;YAC1C,IAAI,YAAY;gBAAE,OAAO,YAAY,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,kEAAkE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9F,8BAA8B;QAChC,CAAC;QAED,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YAC7B,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,GAAG,CAAC,SAAS;QAAE,OAAO;IAE1B,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC"}
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../../src/domain/graph/builder/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,UAAU,EACV,MAAM,EACN,mBAAmB,EACnB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAQ/D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,2EAA2E;AAE3E,SAAS,gBAAgB,CAAC,GAAoB;IAC5C,GAAG,CAAC,UAAU,GAAG;QACf,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM;QACjC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK;QACrC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,KAAK;QAC3B,yEAAyE;QACzE,iDAAiD;QACjD,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,SAAS;QACtB,UAAU,EAAE,SAAS;KACtB,CAAC;IACF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACrF,GAAG,CAAC,UAAU,GAAG,UAA+B,CAAC;IACjD,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC;IAClC,IAAI,CAAC,SAAS,UAAU,UAAU,aAAa,CAAC,CAAC,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAoB;IACrD,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAoC,CAAC;IAC3F,GAAG,CAAC,aAAa,GAAG,aAAa,EAAE,OAAO,IAAI,CAAC,CAAC;IAChD,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,OAAO;IAE7B,yEAAyE;IACzE,yEAAyE;IACzE,qCAAqC;IACrC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAiB,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAEvE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,UAAU,IAAI,UAAU,KAAK,GAAG,CAAC,UAAU,EAAE,CAAC;QAChD,IAAI,CAAC,mBAAmB,UAAU,MAAM,GAAG,CAAC,UAAU,+BAA+B,CAAC,CAAC;QACvF,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC9B,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1C,IAAI,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,aAAa,EAAE,CAAC;QAC3D,IAAI,CACF,2BAA2B,UAAU,MAAM,GAAG,CAAC,aAAa,+BAA+B,CAC5F,CAAC;QACF,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC9B,CAAC;IACD,iFAAiF;IACjF,gFAAgF;IAChF,gFAAgF;IAChF,6EAA6E;IAC7E,kEAAkE;IAClE,MAAM,gBAAgB,GACpB,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC3F,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC9C,IAAI,WAAW,IAAI,WAAW,KAAK,gBAAgB,EAAE,CAAC;QACpD,IAAI,CACF,8BAA8B,WAAW,MAAM,gBAAgB,+BAA+B,CAC/F,CAAC;QACF,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,GAAoB;IACvC,GAAG,CAAC,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,CAAC,qBAAqB,GAAG,2BAA2B,OAAO,KAAK,aAAa,CAAC,CAAC;gBACnF,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAChD,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrE,IAAI,CACF,gCAAgC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,gBAAgB,CACxH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAAoB;IACzC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACxC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAE9D,6CAA6C;IAC7C,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;IAC7C,MAAM,MAAM,GAAG,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,GAAG,CAAC,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC;IAE/C,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEnB,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,GAAG,CAAC,WAAW;QACb,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC;IAE/F,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACtB,yBAAyB,CAAC,GAAG,CAAC,CAAC;IAC/B,WAAW,CAAC,GAAG,CAAC,CAAC;IAEjB,gCAAgC;IAChC,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACxB,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,UAAU,CAAC,IAAI,qBAAqB,CAAC,CAAC;IACzD,CAAC;IAED,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC;AAC1D,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAoB;IAC9C,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;IACrB,OAAO;QACL,MAAM,EAAE;YACN,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACzC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACjC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/C,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACjC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SAC5C;KACF,CAAC;AACJ,CAAC;AAED,2EAA2E;AAE3E,uEAAuE;AACvE,SAAS,aAAa,CAAC,GAAoB,EAAE,KAAa;IACxD,IAAI,CAAC,GAAG,CAAC,QAAQ;QAAE,OAAO;IAC1B,IAAI,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,KAAK,2BAA2B,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,GAAG,KAAK,2BAA2B,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;AAC3B,CAAC;AAED,sEAAsE;AACtE,SAAS,cAAc,CAAC,GAAoB,EAAE,KAAa;IACzD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,MAAM;QAAE,OAAO;IACnD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,cAAc;QAAE,OAAO;IACpC,IAAI,CAAC;QACH,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,uBAAuB,KAAK,YAAY,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnE,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,SAAS,eAAe,CAAC,GAAoB,EAAE,KAAa;IAC1D,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC1B,IAAI,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC;QAC7B,GAAG,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC;IACtC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,GAAoB;IACvC,IAAI,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,6BAA6B,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAoBD,yEAAyE;AAEzE,sHAAsH;AACtH,SAAS,4BAA4B,CAAC,GAAoB;IACxD,IAAI,GAAG,CAAC,gBAAgB;QAAE,OAAO,kBAAkB,CAAC;IACpD,0EAA0E;IAC1E,sEAAsE;IACtE,2DAA2D;IAC3D,MAAM,iBAAiB,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,aAAa,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/F,IAAI,iBAAiB;QAAE,OAAO,eAAe,GAAG,CAAC,aAAa,EAAE,CAAC;IACjE,IAAI,GAAG,CAAC,UAAU,KAAK,QAAQ;QAAE,OAAO,UAAU,GAAG,CAAC,UAAU,EAAE,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;kFACkF;AAClF,SAAS,0BAA0B,CAAC,GAAoB;IACtD,aAAa,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IACxC,IAAI,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,kCAAkC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC;QACH,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,SAAS,EAAE,CAAC;QACnB,IAAI,CAAC,2CAA4C,SAAmB,CAAC,OAAO,EAAE,CAAC,CAAC;QAChF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,4BAA4B,CACnC,GAAoB,EACpB,UAAqB;IAErB,IAAI,KAAK,GACP,sFAAsF,CAAC;IACzF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzD,KAAK,IAAI,iBAAiB,YAAY,GAAG,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,IAAI,sBAAsB,CAAC;IAEhC,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAM7C,CAAC;IAEJ,MAAM,WAAW,GAAG,IAAI,GAAG,EAA2B,CAAC;IACvD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG;gBACN,WAAW,EAAE,EAAE;gBACf,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,IAAI,GAAG,EAAE;aACnB,CAAC;YACF,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;YACrB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAA0B;YACpC,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;SAClC,CAAC,CAAC;IACL,CAAC;IAED,gEAAgE;IAChE,8DAA8D;IAC9D,gEAAgE;IAChE,wCAAwC;IACxC,MAAM,eAAe,GAAG,GAAG,CAAC,EAAE;SAC3B,OAAO,CACN;;;;uBAIiB,CAClB;SACA,GAAG,EAAqC,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK;YAAE,KAAK,CAAC,OAAO,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAA+B,CAAC;IAC9E,CAAC;IAED,MAAM,eAAe,GAAG,GAAG,CAAC,EAAE;SAC3B,OAAO,CACN;;;;;;;2BAOqB,CACtB;SACA,GAAG,EAAqC,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK;YAAE,KAAK,CAAC,OAAO,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAA+B,CAAC;IAC9E,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,sBAAsB,CACnC,GAAoB,EACpB,cAA4C,EAC5C,WAAoB,EACpB,YAAkC;IAElC,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC/C,MAAM,gBAAgB,GAAG,GAAG,CAAC,EAAE;aAC5B,OAAO,CACN;;+BAEuB,CACxB;aACA,GAAG,EAAiD,CAAC;QACxD,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACnC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;QAED,0EAA0E;QAC1E,wEAAwE;QACxE,2EAA2E;QAC3E,MAAM,gBAAgB,GAAG,WAAW,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;QACpF,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,GAAG,CAAC,MAAM,MAAM,CACxD,gCAAgC,CACjC,CASA,CAAC;QACF,gBAAgB,CACd,GAAG,CAAC,EAAE,EACN,cAAc,EACd,GAAG,CAAC,OAAO,EACX,YAAY,EACZ,WAAW,EACX,gBAAgB,CACjB,CAAC;QACF,KAAK,CACH,sDAAsD,gBAAgB,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAC7H,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,8CAA8C,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,WAAW,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,qBAAqB,CAClC,GAAoB,EACpB,cAA4C,EAC5C,YAAkC;IAElC,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAEtE,mDAAmD;IACnD,IAAI,mBAAiD,CAAC;IACtD,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,mBAAmB,GAAG,IAAI,GAAG,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,KAAK;gBAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,mBAAmB,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,sEAAsE;IACtE,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,MAAM,EAAE,cAAc,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/D,IAAI,GAAG,CAAC,UAAU;gBAAE,GAAG,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;YACzB,IAAI,GAAG,CAAC,UAAU;gBAAE,GAAG,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,uEAAuE;IACvE,6DAA6D;IAC7D,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACtC,GAAG,CAAC,UAAU,CAAC,WAAW,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QACtC,GAAG,CAAC,UAAU,CAAC,UAAU,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAQtF,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,GAAG,CAAC,EAAE,EACN,mBAAmB,EACnB,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,IAA+B,EACnC,GAAG,CAAC,UAA4D,CACjE,CAAC;QACF,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;QAC/C,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,8CAA8C,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,uEAAuE;IACvE,sEAAsE;IACtE,oDAAoD;IACpD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;QACD,IAAI,CAAC;YACH,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;QACD,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;QACzB,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACnB,GAAG,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC;YACpC,GAAG,CAAC,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC;YACvC,GAAG,CAAC,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC;QACxC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,iFAAiF;AACjF,SAAS,wBAAwB,CAC/B,CAAyB,EACzB,gBAAwB,EACxB,cAA0F;IAE1F,OAAO;QACL,MAAM,EAAE;YACN,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAChF,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACzC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAClE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,KAAK,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9C,YAAY,EAAE,CAAC,CAAC,cAAc,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5D,KAAK,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9C,UAAU,EAAE,CAAC,CAAC,cAAc,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACxD,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SAC5C;KACF,CAAC;AACJ,CAAC;AAED,qHAAqH;AACrH,KAAK,UAAU,qBAAqB,CAClC,GAAoB;IAEpB,MAAM,UAAU,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;IACrD,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAC;QACrD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,0EAA0E;IAC1E,6EAA6E;IAC7E,iDAAiD;IACjD,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,MAAM,EAAE,cAAc,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,uEAAuE;gBACvE,0EAA0E;gBAC1E,yEAAyE;gBACzE,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;gBACf,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAChC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC/D,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC1B,iEAAiE;gBACjE,qEAAqE;gBACrE,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC9C,KAAK,CAAC,UAAU,GAAG,GAAG,GAAG,CAAC,MAAM,OAAO,CAAC;gBACxC,GAAG,CAAC,EAAE,GAAG,KAAiC,CAAC;gBAC3C,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,oDAAoD,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChF,IAAI,CAAC;oBACH,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;gBACxB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,KAAK,CAAC,wDAAwD,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrF,CAAC;gBACD,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;gBACzB,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC,qFAAqF;gBACnH,mBAAmB,CAAC,GAAG,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;gBAC1C,iDAAiD;gBACjD,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU;QAAE,OAAO,SAAS,CAAC;IAEhD,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CACxC,GAAG,CAAC,OAAO,EACX,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CACzB,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAA6B,CAAC;IAElE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC5B,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,qDAAqD;IACrD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,gBAAgB,OAAO,aAAa,OAAO,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IAExB,uEAAuE;IACvE,kEAAkE;IAClE,4EAA4E;IAC5E,iEAAiE;IACjE,wEAAwE;IACxE,0EAA0E;IAC1E,iEAAiE;IACjE,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE;QACnB,MAAM,EAAE,GAAG,CAAC,UAAU;QACtB,cAAc,EAAE,GAAG,CAAC,aAAa,IAAI,EAAE;QACvC,iBAAiB,EAAE,GAAG,CAAC,aAAa,IAAI,iBAAiB;QACzD,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;QACzC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACnC,CAAC,CAAC;IAEH,IAAI,CACF,wCAAwC,MAAM,CAAC,SAAS,IAAI,CAAC,WAAW,MAAM,CAAC,SAAS,IAAI,CAAC,WAAW,MAAM,CAAC,SAAS,IAAI,CAAC,QAAQ,CACtI,CAAC;IAEF,qEAAqE;IACrE,IAAI,cAAc,GAAG;QACnB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACtB,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC;QACpC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACtB,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC;KACjC,CAAC;IACF,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,yEAAyE;IACzE,wEAAwE;IACxE,kDAAkD;IAClD,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC;IAChD,wEAAwE;IACxE,8DAA8D;IAC9D,MAAM,qBAAqB,GACzB,CAAC,MAAM,CAAC,gBAAgB;QACxB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,KAAK;YACrB,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK;YAC7B,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,KAAK;YACtB,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;IAEjC,IAAI,cAAc,IAAI,qBAAqB,EAAE,CAAC;QAC5C,oEAAoE;QACpE,sEAAsE;QACtE,yDAAyD;QACzD,IAAI,qBAAqB,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAClD,aAAa,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;YAC5C,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC5B,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC/B,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAC;YACrE,2CAA2C;YAC3C,OAAO,wBAAwB,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,WAAW,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;QAEtD,IAAI,cAAc,EAAE,CAAC;YACnB,gBAAgB,GAAG,MAAM,sBAAsB,CAC7C,GAAG,EACH,WAAW,EACX,CAAC,CAAC,MAAM,CAAC,WAAW,EACpB,MAAM,CAAC,YAAY,CACpB,CAAC;QACJ,CAAC;QAED,IAAI,qBAAqB,EAAE,CAAC;YAC1B,cAAc,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpD,OAAO,wBAAwB,CAAC,CAAC,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;AACvE,CAAC;AAED,2EAA2E;AAE3E,KAAK,UAAU,iBAAiB,CAAC,GAAoB;IACnD,wEAAwE;IACxE,yEAAyE;IACzE,uEAAuE;IACvE,iEAAiE;IACjE,wEAAwE;IACxE,wEAAwE;IACxE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3B,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACpC,wEAAwE;QACxE,mEAAmE;QACnE,6DAA6D;QAC7D,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACzB,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC5B,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;IAEzB,IAAI,GAAG,CAAC,SAAS;QAAE,OAAO;IAE1B,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IAEtB,0FAA0F;IAC1F,0EAA0E;IAC1E,qEAAqE;IACrE,kEAAkE;IAClE,MAAM,gBAAgB,GACpB,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC;IAClF,IAAI,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5E,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IAEvB,6EAA6E;IAC7E,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;QAC3B,aAAa,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;QACvC,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;IAE1B,wEAAwE;IACxE,2EAA2E;IAC3E,EAAE;IACF,qEAAqE;IACrE,oEAAoE;IACpE,uEAAuE;IACvE,2EAA2E;IAC3E,IAAI,GAAG,CAAC,eAAe,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7C,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAChC,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACnC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;YACtC,GAAG,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YACvC,GAAG,CAAC,UAAU,CAAC,WAAW,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;YACtC,GAAG,CAAC,UAAU,CAAC,UAAU,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACpC,GAAG,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC;YACpC,GAAG,CAAC,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC;YACvC,GAAG,CAAC,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC;QACxC,CAAC;IACH,CAAC;IAED,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IAEvB,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,IAAI,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,OAAO,CAAC,KAA4C,CAAC;YAClE,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC9C,IAAI,CAAC;oBACH,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,CAAC;gBAAC,MAAM,CAAC;oBACP,2BAA2B;gBAC7B,CAAC;YACH,CAAC;YACD,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,oEAAoE;IACpE,4EAA4E;IAC5E,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,KAAK,CAAC,wCAAwC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,2EAA2E;AAE3E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAe,EACf,OAAuB,EAAE;IAEzB,MAAM,GAAG,GAAG,IAAI,eAAe,EAAE,CAAC;IAClC,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACnC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;IAChB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IAEtB,IAAI,CAAC;QACH,aAAa,CAAC,GAAG,CAAC,CAAC;QAEnB,qEAAqE;QACrE,kEAAkE;QAClE,oEAAoE;QACpE,+DAA+D;QAC/D,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAC;YACtD,IAAI,YAAY,KAAK,YAAY;gBAAE,OAAO;YAC1C,IAAI,YAAY;gBAAE,OAAO,YAAY,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,kEAAkE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9F,oEAAoE;YACpE,kEAAkE;YAClE,kEAAkE;YAClE,gDAAgD;YAChD,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;gBAC7C,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC;gBAC9D,IAAI,WAAW,IAAI,WAAW,KAAK,iBAAiB,EAAE,CAAC;oBACrD,IAAI,CACF,8BAA8B,WAAW,MAAM,iBAAiB,+BAA+B,CAChG,CAAC;oBACF,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACnB,kEAAkE;YAClE,8CAA8C;YAC9C,IAAI,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC7B,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;oBACzC,MAAM,IAAI,GAAG,OAAO,CAAC,KAA4C,CAAC;oBAClE,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;wBAC9C,IAAI,CAAC;4BACH,IAAI,CAAC,MAAM,EAAE,CAAC;wBAChB,CAAC;wBAAC,MAAM,CAAC;4BACP,2BAA2B;wBAC7B,CAAC;oBACH,CAAC;oBACD,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;gBAC5B,CAAC;YACH,CAAC;YACD,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACX,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,GAAG,CAAC,SAAS;QAAE,OAAO;IAE1B,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-edges.d.ts","sourceRoot":"","sources":["../../../../../src/domain/graph/builder/stages/build-edges.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"build-edges.d.ts","sourceRoot":"","sources":["../../../../../src/domain/graph/builder/stages/build-edges.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AA4yBrD,wBAAsB,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAqGpE"}
|
|
@@ -463,6 +463,57 @@ function buildClassHierarchyEdges(ctx, relPath, symbols, allEdgeRows) {
|
|
|
463
463
|
}
|
|
464
464
|
}
|
|
465
465
|
}
|
|
466
|
+
// ── Reverse-dep edge reconnection (#932, #933) ─────────────────────────
|
|
467
|
+
/**
|
|
468
|
+
* Reconnect edges that were saved before changed-file purge.
|
|
469
|
+
*
|
|
470
|
+
* Each saved edge records: sourceId (still valid — reverse-dep nodes were not
|
|
471
|
+
* purged) and target attributes (name, kind, file, line). The target node was
|
|
472
|
+
* deleted and re-inserted with a new ID by insertNodes. We look up the new ID
|
|
473
|
+
* by (name, kind, file) and re-create the edge.
|
|
474
|
+
*/
|
|
475
|
+
function reconnectReverseDepEdges(ctx) {
|
|
476
|
+
const { db } = ctx;
|
|
477
|
+
const findNodeStmt = db.prepare('SELECT id FROM nodes WHERE name = ? AND kind = ? AND file = ? ORDER BY ABS(line - ?) LIMIT 1');
|
|
478
|
+
const reconnectedRows = [];
|
|
479
|
+
let dropped = 0;
|
|
480
|
+
for (const saved of ctx.savedReverseDepEdges) {
|
|
481
|
+
const newTarget = findNodeStmt.get(saved.tgtName, saved.tgtKind, saved.tgtFile, saved.tgtLine);
|
|
482
|
+
if (newTarget) {
|
|
483
|
+
reconnectedRows.push([
|
|
484
|
+
saved.sourceId,
|
|
485
|
+
newTarget.id,
|
|
486
|
+
saved.edgeKind,
|
|
487
|
+
saved.confidence,
|
|
488
|
+
saved.dynamic,
|
|
489
|
+
]);
|
|
490
|
+
}
|
|
491
|
+
else {
|
|
492
|
+
// Target was removed or renamed in the changed file — edge is stale
|
|
493
|
+
dropped++;
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
if (reconnectedRows.length > 0) {
|
|
497
|
+
if (ctx.nativeDb?.bulkInsertEdges) {
|
|
498
|
+
const nativeEdges = reconnectedRows.map((r) => ({
|
|
499
|
+
sourceId: r[0],
|
|
500
|
+
targetId: r[1],
|
|
501
|
+
kind: r[2],
|
|
502
|
+
confidence: r[3],
|
|
503
|
+
dynamic: r[4],
|
|
504
|
+
}));
|
|
505
|
+
const ok = ctx.nativeDb.bulkInsertEdges(nativeEdges);
|
|
506
|
+
if (!ok) {
|
|
507
|
+
batchInsertEdges(db, reconnectedRows);
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
else {
|
|
511
|
+
batchInsertEdges(db, reconnectedRows);
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
debug(`Reconnected ${reconnectedRows.length} reverse-dep edges` +
|
|
515
|
+
(dropped > 0 ? ` (${dropped} dropped — targets removed/renamed)` : ''));
|
|
516
|
+
}
|
|
466
517
|
// ── Main entry point ────────────────────────────────────────────────────
|
|
467
518
|
/**
|
|
468
519
|
* For small incremental builds (≤5 changed files on a large codebase), scope
|
|
@@ -545,9 +596,10 @@ export async function buildEdges(ctx) {
|
|
|
545
596
|
deleteOutgoingEdges.run(relPath);
|
|
546
597
|
}
|
|
547
598
|
}
|
|
548
|
-
// Skip native import-edge path for small incremental builds
|
|
549
|
-
//
|
|
550
|
-
const useNativeImportEdges = native?.buildImportEdges &&
|
|
599
|
+
// Skip native import-edge path for small incremental builds: napi-rs
|
|
600
|
+
// marshaling overhead (~13ms) exceeds Rust computation savings at this scale.
|
|
601
|
+
const useNativeImportEdges = native?.buildImportEdges &&
|
|
602
|
+
(ctx.isFullBuild || ctx.fileSymbols.size > ctx.config.build.smallFilesThreshold);
|
|
551
603
|
if (useNativeImportEdges) {
|
|
552
604
|
const beforeLen = allEdgeRows.length;
|
|
553
605
|
buildImportEdgesNative(ctx, getNodeIdStmt, allEdgeRows, native);
|
|
@@ -567,9 +619,10 @@ export async function buildEdges(ctx) {
|
|
|
567
619
|
else {
|
|
568
620
|
buildImportEdges(ctx, getNodeIdStmt, allEdgeRows);
|
|
569
621
|
}
|
|
570
|
-
// Skip native call-edge path for small incremental builds
|
|
571
|
-
//
|
|
572
|
-
const useNativeCallEdges = native?.buildCallEdges &&
|
|
622
|
+
// Skip native call-edge path for small incremental builds: napi-rs
|
|
623
|
+
// marshaling overhead for allNodes exceeds Rust computation savings.
|
|
624
|
+
const useNativeCallEdges = native?.buildCallEdges &&
|
|
625
|
+
(ctx.isFullBuild || ctx.fileSymbols.size > ctx.config.build.smallFilesThreshold);
|
|
573
626
|
if (useNativeCallEdges) {
|
|
574
627
|
buildCallEdgesNative(ctx, getNodeIdStmt, allEdgeRows, allNodesBefore, native);
|
|
575
628
|
}
|
|
@@ -601,6 +654,14 @@ export async function buildEdges(ctx) {
|
|
|
601
654
|
batchInsertEdges(ctx.db, allEdgeRows);
|
|
602
655
|
}
|
|
603
656
|
}
|
|
657
|
+
// Phase 3: Reconnect saved reverse-dep edges (#932, #933).
|
|
658
|
+
// When the WASM/JS path purged changed files, edges FROM reverse-dep files TO
|
|
659
|
+
// those files were deleted (target-side). The reverse-dep files were NOT
|
|
660
|
+
// reparsed — instead we saved the edge topology before purge and now reconnect
|
|
661
|
+
// each edge to the new node IDs created by insertNodes.
|
|
662
|
+
if (ctx.savedReverseDepEdges.length > 0) {
|
|
663
|
+
reconnectReverseDepEdges(ctx);
|
|
664
|
+
}
|
|
604
665
|
ctx.timing.edgesMs = performance.now() - t0;
|
|
605
666
|
}
|
|
606
667
|
//# sourceMappingURL=build-edges.js.map
|