code-auditor-mcp 3.4.12 → 3.4.13
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/CHANGELOG.md +46 -1
- package/dist/analyzers/__verify_self_probe.d.ts +2 -0
- package/dist/analyzers/__verify_self_probe.d.ts.map +1 -0
- package/dist/analyzers/__verify_self_probe.js +5 -0
- package/dist/analyzers/__verify_self_probe.js.map +1 -0
- package/dist/analyzers/analyzerUtils.d.ts +34 -1
- package/dist/analyzers/analyzerUtils.d.ts.map +1 -1
- package/dist/analyzers/analyzerUtils.js +61 -22
- package/dist/analyzers/analyzerUtils.js.map +1 -1
- package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts +18 -23
- package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/cross-language/APIContractAnalyzer.js +198 -186
- package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts +78 -55
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js +244 -243
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
- package/dist/analyzers/cross-language/SchemaValidator.d.ts +27 -37
- package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -1
- package/dist/analyzers/cross-language/SchemaValidator.js +314 -275
- package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts +17 -46
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +620 -523
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
- package/dist/analyzers/documentationAnalyzer.d.ts +7 -2
- package/dist/analyzers/documentationAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/documentationAnalyzer.js +259 -198
- package/dist/analyzers/documentationAnalyzer.js.map +1 -1
- package/dist/analyzers/invariantsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/invariantsAnalyzer.js +57 -50
- package/dist/analyzers/invariantsAnalyzer.js.map +1 -1
- package/dist/analyzers/orm/adapterRegistry.d.ts +10 -0
- package/dist/analyzers/orm/adapterRegistry.d.ts.map +1 -1
- package/dist/analyzers/orm/adapterRegistry.js +10 -0
- package/dist/analyzers/orm/adapterRegistry.js.map +1 -1
- package/dist/analyzers/orm/drizzleAdapter.d.ts +22 -0
- package/dist/analyzers/orm/drizzleAdapter.d.ts.map +1 -1
- package/dist/analyzers/orm/drizzleAdapter.js +42 -44
- package/dist/analyzers/orm/drizzleAdapter.js.map +1 -1
- package/dist/analyzers/orm/prismaAdapter.d.ts +30 -0
- package/dist/analyzers/orm/prismaAdapter.d.ts.map +1 -1
- package/dist/analyzers/orm/prismaAdapter.js +30 -0
- package/dist/analyzers/orm/prismaAdapter.js.map +1 -1
- package/dist/analyzers/provenance.d.ts +62 -2
- package/dist/analyzers/provenance.d.ts.map +1 -1
- package/dist/analyzers/provenance.js +443 -349
- package/dist/analyzers/provenance.js.map +1 -1
- package/dist/analyzers/reactAnalyzer.d.ts +11 -0
- package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/reactAnalyzer.js +188 -125
- package/dist/analyzers/reactAnalyzer.js.map +1 -1
- package/dist/analyzers/ruleRegistry.d.ts +110 -1
- package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
- package/dist/analyzers/ruleRegistry.js +1714 -124
- package/dist/analyzers/ruleRegistry.js.map +1 -1
- package/dist/analyzers/ruleTiming.d.ts +54 -0
- package/dist/analyzers/ruleTiming.d.ts.map +1 -0
- package/dist/analyzers/ruleTiming.js +71 -0
- package/dist/analyzers/ruleTiming.js.map +1 -0
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts +13 -0
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +362 -283
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +26 -68
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js +430 -391
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +17 -202
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +1073 -1121
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts +3 -49
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +414 -340
- package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +48 -5
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +262 -134
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +23 -214
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +139 -1521
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts +78 -79
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js +613 -480
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/schema/codeAnalysis.d.ts +307 -0
- package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -0
- package/dist/analyzers/universal/schema/codeAnalysis.js +965 -0
- package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -0
- package/dist/analyzers/universal/schema/config.d.ts +31 -0
- package/dist/analyzers/universal/schema/config.d.ts.map +1 -0
- package/dist/analyzers/universal/schema/config.js +57 -0
- package/dist/analyzers/universal/schema/config.js.map +1 -0
- package/dist/analyzers/universal/schema/discovery.d.ts +167 -0
- package/dist/analyzers/universal/schema/discovery.d.ts.map +1 -0
- package/dist/analyzers/universal/schema/discovery.js +616 -0
- package/dist/analyzers/universal/schema/discovery.js.map +1 -0
- package/dist/analyzers/universal/schema/jsonSchema.d.ts +27 -0
- package/dist/analyzers/universal/schema/jsonSchema.d.ts.map +1 -0
- package/dist/analyzers/universal/schema/jsonSchema.js +368 -0
- package/dist/analyzers/universal/schema/jsonSchema.js.map +1 -0
- package/dist/analyzers/universal/schema/migrations.d.ts +90 -0
- package/dist/analyzers/universal/schema/migrations.d.ts.map +1 -0
- package/dist/analyzers/universal/schema/migrations.js +238 -0
- package/dist/analyzers/universal/schema/migrations.js.map +1 -0
- package/dist/analyzers/universal/schema/types.d.ts +131 -0
- package/dist/analyzers/universal/schema/types.d.ts.map +1 -0
- package/dist/analyzers/universal/schema/types.js +10 -0
- package/dist/analyzers/universal/schema/types.js.map +1 -0
- package/dist/analyzers/universal/schema/violations.d.ts +44 -0
- package/dist/analyzers/universal/schema/violations.d.ts.map +1 -0
- package/dist/analyzers/universal/schema/violations.js +54 -0
- package/dist/analyzers/universal/schema/violations.js.map +1 -0
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +89 -13
- package/dist/auditRunner.js.map +1 -1
- package/dist/cli.js +315 -40
- package/dist/cli.js.map +1 -1
- package/dist/config/configLoader.d.ts.map +1 -1
- package/dist/config/configLoader.js +9 -7
- package/dist/config/configLoader.js.map +1 -1
- package/dist/config/defaults.d.ts +12 -3
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +15 -5
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/effectiveConfig.d.ts +75 -0
- package/dist/config/effectiveConfig.d.ts.map +1 -0
- package/dist/config/effectiveConfig.js +213 -0
- package/dist/config/effectiveConfig.js.map +1 -0
- package/dist/config/pathProfiles.d.ts +7 -4
- package/dist/config/pathProfiles.d.ts.map +1 -1
- package/dist/config/pathProfiles.js +8 -10
- package/dist/config/pathProfiles.js.map +1 -1
- package/dist/config/thresholdRationales.d.ts +45 -0
- package/dist/config/thresholdRationales.d.ts.map +1 -0
- package/dist/config/thresholdRationales.js +67 -0
- package/dist/config/thresholdRationales.js.map +1 -0
- package/dist/conventions/conventionMiner.d.ts.map +1 -1
- package/dist/conventions/conventionMiner.js +6 -2
- package/dist/conventions/conventionMiner.js.map +1 -1
- package/dist/enforcement/diffGate.d.ts +55 -0
- package/dist/enforcement/diffGate.d.ts.map +1 -0
- package/dist/enforcement/diffGate.js +136 -0
- package/dist/enforcement/diffGate.js.map +1 -0
- package/dist/enforcement/gate.d.ts +36 -0
- package/dist/enforcement/gate.d.ts.map +1 -0
- package/dist/enforcement/gate.js +72 -0
- package/dist/enforcement/gate.js.map +1 -0
- package/dist/enforcement/suppressions.d.ts +41 -0
- package/dist/enforcement/suppressions.d.ts.map +1 -0
- package/dist/enforcement/suppressions.js +170 -0
- package/dist/enforcement/suppressions.js.map +1 -0
- package/dist/fingerprint.d.ts.map +1 -1
- package/dist/fingerprint.js +4 -1
- package/dist/fingerprint.js.map +1 -1
- package/dist/invariants/ruleEngine.d.ts +3 -4
- package/dist/invariants/ruleEngine.d.ts.map +1 -1
- package/dist/invariants/ruleEngine.js +2 -2
- package/dist/invariants/ruleEngine.js.map +1 -1
- package/dist/languages/LanguageOrchestrator.d.ts +14 -0
- package/dist/languages/LanguageOrchestrator.d.ts.map +1 -1
- package/dist/languages/LanguageOrchestrator.js +93 -55
- package/dist/languages/LanguageOrchestrator.js.map +1 -1
- package/dist/languages/LanguageRegistry.d.ts +8 -0
- package/dist/languages/LanguageRegistry.d.ts.map +1 -1
- package/dist/languages/LanguageRegistry.js +8 -0
- package/dist/languages/LanguageRegistry.js.map +1 -1
- package/dist/languages/RuntimeManager.d.ts +82 -60
- package/dist/languages/RuntimeManager.d.ts.map +1 -1
- package/dist/languages/RuntimeManager.js +404 -349
- package/dist/languages/RuntimeManager.js.map +1 -1
- package/dist/languages/UniversalAnalyzer.d.ts +51 -6
- package/dist/languages/UniversalAnalyzer.d.ts.map +1 -1
- package/dist/languages/UniversalAnalyzer.js +127 -88
- package/dist/languages/UniversalAnalyzer.js.map +1 -1
- package/dist/languages/adapterBridge.d.ts +36 -0
- package/dist/languages/adapterBridge.d.ts.map +1 -1
- package/dist/languages/adapterBridge.js +89 -35
- package/dist/languages/adapterBridge.js.map +1 -1
- package/dist/languages/go/GoAdapter.d.ts +66 -23
- package/dist/languages/go/GoAdapter.d.ts.map +1 -1
- package/dist/languages/go/GoAdapter.js +553 -474
- package/dist/languages/go/GoAdapter.js.map +1 -1
- package/dist/languages/tree-sitter/TreeSitterCssAdapter.d.ts +33 -4
- package/dist/languages/tree-sitter/TreeSitterCssAdapter.d.ts.map +1 -1
- package/dist/languages/tree-sitter/TreeSitterCssAdapter.js +101 -66
- package/dist/languages/tree-sitter/TreeSitterCssAdapter.js.map +1 -1
- package/dist/languages/tree-sitter/converter.d.ts +18 -0
- package/dist/languages/tree-sitter/converter.d.ts.map +1 -1
- package/dist/languages/tree-sitter/converter.js +18 -0
- package/dist/languages/tree-sitter/converter.js.map +1 -1
- package/dist/languages/tree-sitter/parser.d.ts +39 -2
- package/dist/languages/tree-sitter/parser.d.ts.map +1 -1
- package/dist/languages/tree-sitter/parser.js +93 -12
- package/dist/languages/tree-sitter/parser.js.map +1 -1
- package/dist/languages/types.d.ts +67 -2
- package/dist/languages/types.d.ts.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +253 -72
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +1419 -923
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
- package/dist/mcp-tools-shared.d.ts.map +1 -1
- package/dist/mcp-tools-shared.js.map +1 -1
- package/dist/pipeline.d.ts +13 -5
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +381 -200
- package/dist/pipeline.js.map +1 -1
- package/dist/pipelineAdapters.d.ts +3 -8
- package/dist/pipelineAdapters.d.ts.map +1 -1
- package/dist/pipelineAdapters.js +149 -94
- package/dist/pipelineAdapters.js.map +1 -1
- package/dist/presets/presets.d.ts +54 -0
- package/dist/presets/presets.d.ts.map +1 -0
- package/dist/presets/presets.js +181 -0
- package/dist/presets/presets.js.map +1 -0
- package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
- package/dist/reporting/sarifReportGenerator.js +0 -2
- package/dist/reporting/sarifReportGenerator.js.map +1 -1
- package/dist/ruleAliases.d.ts +67 -0
- package/dist/ruleAliases.d.ts.map +1 -0
- package/dist/ruleAliases.js +79 -0
- package/dist/ruleAliases.js.map +1 -0
- package/dist/styles/cssAstExtractor.d.ts.map +1 -1
- package/dist/styles/cssAstExtractor.js +78 -18
- package/dist/styles/cssAstExtractor.js.map +1 -1
- package/dist/styles/styleIndexer.js +10 -1
- package/dist/styles/styleIndexer.js.map +1 -1
- package/dist/styles/tailwindConfigLoader.d.ts +8 -6
- package/dist/styles/tailwindConfigLoader.d.ts.map +1 -1
- package/dist/styles/tailwindConfigLoader.js +61 -15
- package/dist/styles/tailwindConfigLoader.js.map +1 -1
- package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
- package/dist/styles/tailwindUtilityExpander.js +13 -1
- package/dist/styles/tailwindUtilityExpander.js.map +1 -1
- package/dist/types.d.ts +181 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -1
- package/package.json +5 -3
- package/plugin/hooks/hooks.json +1 -1
- package/plugin/scripts/hook-audit.sh +25 -7
- package/plugin/skills/code-auditor/SKILL.md +5 -5
package/dist/pipeline.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EACL,iBAAiB,GAgBlB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAoB,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAiB,MAAM,oBAAoB,CAAC;AAE9E,8EAA8E;AAE9E,KAAK,UAAU,SAAS,CAAC,MAAsB;IAM7C,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,mCAAmC;IACnC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACvC,IAAI,KAAe,CAAC;IACpB,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE;YACvC,WAAW,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC;SACtF,CAAC,CAAC;IACL,CAAC;IAED,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiB,CAAC;IACxC,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,MAAM,EAAE,CAAC;QAC7C,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,cAAc;YACd,IAAI,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;gBAChC,MAAM,IAAI,iBAAiB,CAAC,8BAA8B,CAAC,CAAC;YAC9D,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC9C,MAAM,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;gBAEjC,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC/C,OAAO,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;gBAElC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,QAAQ;oBACd,IAAI;oBACJ,GAAG;oBACH,OAAO;oBACP,UAAU,EAAE,OAAO;iBACpB,CAAC,CAAC;gBACH,MAAM,EAAE,CAAC;YACX,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,0CAA0C;gBAC1C,iEAAiE;gBACjE,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC5B,MAAM,CAAC,gBAAgB,CAAC;wBACtB,OAAO,EAAE,MAAM;wBACf,KAAK,EAAE,KAAK,CAAC,MAAM;wBACnB,QAAQ,EAAE,UAAU;wBACpB,KAAK,EAAE,QAAQ;wBACf,IAAI;wBACJ,OAAO,EAAE,YAAY,GAAG,CAAC,OAAO,EAAE;qBACnC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,oEAAoE;IACpE,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC9C,MAAM,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YAEjC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,KAAK;gBACX,IAAI;gBACJ,GAAG,EAAE,IAAI;gBACT,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,OAAO;aACpB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC5B,MAAM,CAAC,gBAAgB,CAAC;oBACtB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;oBAC9B,KAAK,EAAE,OAAO,CAAC,MAAM;oBACrB,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,QAAQ;oBACf,IAAI;oBACJ,OAAO,EAAE,kCAAkC,GAAG,CAAC,OAAO,EAAE;iBACzD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC;IACnE,IAAI,cAAc,GAAG,CAAC,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAClD,MAAM,CAAC,gBAAgB,CAAC;YACtB,OAAO,EAAE,cAAc;YACvB,KAAK,EAAE,cAAc;YACrB,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,GAAG,cAAc,gDAAgD;SAC3E,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;IAExC,OAAO;QACL,MAAM;QACN,SAAS,EAAE,MAAM,CAAC,MAAM;QACxB,eAAe,EAAE,QAAQ;QACzB,cAAc,EAAE,MAAM;KACvB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAE9E,KAAK,UAAU,SAAS,CACtB,MAAsB,EACtB,QAAyB,EACzB,MAAsB;IAQtB,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,cAAc,GAAG,IAAI,GAAG,EAA0B,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC5D,MAAM,UAAU,GAAsB,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkD,CAAC;IAEzE,+BAA+B;IAC/B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;YAC/B,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC,EAAE;YACpD,aAAa,EAAE,CAAC;YAChB,YAAY,EAAE,OAAO,CAAC,IAAI;SAC3B,CAAC,CAAC;QACH,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/B,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACvC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACtC,MAAM,KAAK,GAAI,SAAS,CAAC,QAAQ,CAA6B,IAAI,EAAE,CAAC;IACrE,MAAM,YAAY,GAA8B,KAAK,CAAC,cAAc,CAA8B,CAAC;IACnG,MAAM,iBAAiB,GAA4B,KAAK,CAAC,mBAAmB,CAA4B,IAAI,EAAE,CAAC;IAE/G,iBAAiB;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAExB,cAAc;QACd,IAAI,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;YAChC,MAAM,IAAI,iBAAiB,CAAC,8BAA8B,CAAC,CAAC;QAC9D,CAAC;QAED,WAAW;QACX,IAAI,MAAM,CAAC,gBAAgB,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,gBAAgB,CAAC;gBACtB,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,MAAM,CAAC,MAAM;gBACpB,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QAED,8DAA8D;QAC9D,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,gBAAgB,GAAa,EAAE,CAAC;QACpC,IAAI,eAAmC,CAAC;QACxC,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;YAC3E,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/C,SAAS,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;YAClD,CAAC;YACD,gBAAgB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;YAChD,eAAe,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzC,CAAC;QAED,wEAAwE;QACxE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,mEAAmE;YACnE,iFAAiF;YACjF,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAAE,SAAS;YACtD,CAAC;iBAAM,CAAC;gBACN,gEAAgE;gBAChE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;oBAAE,SAAS;YACxC,CAAC;YAED,MAAM,aAAa,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC;YAC3E,MAAM,cAAc,GAAG;gBACrB,WAAW;gBACX,QAAQ,EAAE,KAAK,CAAC,IAAI;gBACpB,MAAM,EAAE,aAAa;gBACrB,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC/F,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;gBAEnC,oBAAoB;gBACpB,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;gBAEtE,oDAAoD;gBACpD,MAAM,aAAa,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC;gBACrE,MAAM,mBAAmB,GAAG,MAAM,CAAC,UAAU;qBAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACX,GAAG,CAAC;oBACJ,OAAO,EAAE,gBAAgB,CAAC,MAAM,GAAG,CAAC;wBAClC,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;wBAC/C,CAAC,CAAC,CAAC,CAAC,OAAO;oBACb,QAAQ,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAa;iBAChE,CAAC,CAAC;oBACH,4EAA4E;qBAC3E,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC;oBACpC,kDAAkD;oBAClD,4EAA4E;qBAC3E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACT,IAAI,eAAe,EAAE,CAAC;wBACpB,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,eAA+C,CAAC,CAAC;wBACxF,IAAI,QAAQ,IAAI,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,QAAwC,CAAC,GAAG,QAAQ,EAAE,CAAC;4BAClG,OAAO,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,eAAwD,EAAE,CAAC;wBACtF,CAAC;oBACH,CAAC;oBACD,OAAO,CAAC,CAAC;gBACX,CAAC,CAAC,CAAC;gBAEL,wBAAwB;gBACxB,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAE,CAAC;gBAC7C,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;gBAC3C,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpF,EAAE,CAAC,MAAM,GAAG;oBACV,MAAM,EAAE,aAAa;oBACrB,cAAc,EAAE,SAAS,GAAG,CAAC;iBAC9B,CAAC;gBAEF,mBAAmB;gBACnB,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBAClD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC/D,CAAC;gBAED,sBAAsB;gBACtB,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtD,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,uDAAuD;gBACvD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAE,CAAC;gBACvC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,aAAa,GAAG,WAAW,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;QAC1B,CAAC;QACD,+EAA+E;QAC/E,8EAA8E;QAC9E,qDAAqD;QACrD,2EAA2E;QAC3E,yEAAyE;QACzE,IACE,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,aAAa;YACtC,MAAM,CAAC,MAAM,CAAC,cAAc,KAAK,CAAC;YAClC,CAAC,CAAE,MAAc,CAAC,MAAM,IAAK,MAAc,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EAChE,CAAC;YACD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACpD,IAAI,OAAO,EAAE,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzD,MAAM,CAAC,MAAM,GAAG;oBACd,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,yCAAyC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACjF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,cAAc;QACd,QAAQ;QACR,UAAU;QACV,iBAAiB,EAAE,SAAS;QAC5B,SAAS,EAAE,MAAM,CAAC,MAAM;KACzB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAE9E,KAAK,UAAU,SAAS,CACtB,QAA8C,EAC9C,QAAyB,EACzB,MAAsB,EACtB,WAAoC;IAMpC,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,cAAc,GAAG,IAAI,GAAG,EAA0B,CAAC;IACzD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAmC,CAAC;IAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9C,6EAA6E;IAC7E,MAAM,aAAa,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAE3F,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACtC,MAAM,KAAK,GAAI,SAAS,CAAC,QAAQ,CAA6B,IAAI,EAAE,CAAC;IAErE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;YAChC,MAAM,IAAI,iBAAiB,CAAC,iCAAiC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QAChF,CAAC;QAED,qEAAqE;QACrE,MAAM,aAAa,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC;QACvE,MAAM,cAAc,GAAG;YACrB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,MAAM,EAAE,aAAa;YACrB,WAAW;YACX,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAC9D,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YAEnC,yEAAyE;YACzE,sEAAsE;YACtE,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;oBAC/B,UAAU,EAAE,EAAE;oBACd,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE;oBACzD,aAAa,EAAE,GAAG;oBAClB,YAAY,EAAE,OAAO,CAAC,IAAI;iBAC3B,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;oBAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,aAAa,EAAE;oBACvF,aAAa,EAAE,GAAG;oBAClB,YAAY,EAAE,OAAO,CAAC,IAAI;iBAC3B,CAAC,CAAC;gBAEH,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzD,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;gBAC/B,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE;oBACN,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,kBAAkB,GAAG,CAAC,OAAO,EAAE;iBACxC;gBACD,aAAa,EAAE,CAAC;gBAChB,YAAY,EAAE,OAAO,CAAC,IAAI;gBAC1B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;aACpD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO;QACL,cAAc;QACd,YAAY;QACZ,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;KACnC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAE9E,KAAK,UAAU,SAAS,CACtB,QAAiC,EACjC,eAAgC,EAChC,MAAsB,EACtB,WAAoC;IAKpC,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,cAAc,GAAG,IAAI,GAAG,EAA0B,CAAC;IACzD,0FAA0F;IAC1F,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAEnI,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACtC,MAAM,KAAK,GAAI,SAAS,CAAC,QAAQ,CAA6B,IAAI,EAAE,CAAC;IAErE,KAAK,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;YAChC,MAAM,IAAI,iBAAiB,CAAC,iCAAiC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3E,CAAC;QAED,qEAAqE;QACrE,MAAM,aAAa,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC;QAClE,MAAM,cAAc,GAAG;YACrB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,MAAM,EAAE,aAAa;YACrB,WAAW;YACX,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YACzD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YAEnC,sEAAsE;YACtE,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE;oBAC1B,UAAU,EAAE,EAAE;oBACd,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE;oBACzD,aAAa,EAAE,GAAG;oBAClB,YAAY,EAAE,EAAE,CAAC,IAAI;iBACtB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE;oBAC1B,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,aAAa,EAAE;oBACvF,aAAa,EAAE,GAAG;oBAClB,YAAY,EAAE,EAAE,CAAC,IAAI;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE;gBAC1B,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE;oBACN,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,0BAA0B,GAAG,CAAC,OAAO,EAAE;iBAChD;gBACD,aAAa,EAAE,CAAC;gBAChB,YAAY,EAAE,EAAE,CAAC,IAAI;gBACrB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;aAC5D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO;QACL,cAAc;QACd,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;KACnC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAsB,EACtB,WAAyB;IAEzB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACvC,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;IAErD,4EAA4E;IAC5E,MAAM,SAAS,GAAG,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;IACjF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,sCAAsC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpF,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;IACvC,WAAW,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC;IAErD,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,MAAM,CAAC,gBAAgB,CAAC;YACtB,OAAO,EAAE,MAAM,CAAC,SAAS;YACzB,KAAK,EAAE,MAAM,CAAC,SAAS;YACvB,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,iBAAiB;YACxB,OAAO,EAAE,GAAG,MAAM,CAAC,SAAS,oBAAoB,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;SACtF,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChE,WAAW,CAAC,iBAAiB,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC;IAEtF,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,MAAM,CAAC,gBAAgB,CAAC;YACtB,OAAO,EAAE,MAAM,CAAC,SAAS;YACzB,KAAK,EAAE,MAAM,CAAC,SAAS;YACvB,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,iBAAiB;YACxB,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,oBAAoB,MAAM,CAAC,SAAS,QAAQ;SACxE,CAAC,CAAC;IACL,CAAC;IAED,gFAAgF;IAChF,oEAAoE;IACpE,+DAA+D;IAC/D,wEAAwE;IACxE,0EAA0E;IAC1E,sEAAsE;IACtE,mEAAmE;IACnE,IAAI,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACpD,sEAAsE;QACtE,8BAA8B;QAC9B,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,8EAA8E;IAC9E,8EAA8E;IAC9E,yEAAyE;IACzE,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,MAAM,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/E,WAAW,CAAC,iBAAiB,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC;IAE9D,4CAA4C;IAC5C,MAAM,aAAa,GAA4B,EAAE,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC5C,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC9B,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QAChD,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,aAAa,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACpF,WAAW,CAAC,gBAAgB,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC;IAE7D,4EAA4E;IAC5E,MAAM,eAAe,GAAmC,EAAE,CAAC;IAE3D,kBAAkB;IAClB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QACnD,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACjC,CAAC;IAED,kBAAkB;IAClB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QACnD,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACjC,CAAC;IAED,kBAAkB;IAClB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QACnD,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACjC,CAAC;IAED,sBAAsB;IACtB,MAAM,WAAW,GAAmE,EAAE,CAAC;IACvF,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QAC7D,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACvD,WAAW,CAAC,IAAI,CAAC;gBACf,YAAY,EAAE,IAAI;gBAClB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;aAC9B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAE9D,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IAElD,OAAO;QACL,eAAe;QACf,QAAQ,EAAE;YACR,aAAa,EAAE,aAAa;YAC5B,aAAa,EAAE,MAAM,CAAC,SAAS;YAC/B,WAAW;YACX,MAAM,EAAE,MAAM,CAAC,QAAQ;YACvB,WAAW;YACX,QAAQ;SACT;QACD,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAmB,EAAE,KAAwB;IAC/E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAA+B,CAAC;QAElD,0CAA0C;QAC1C,IAAI,IAAI,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,KAAK,sBAAsB,EAAE,CAAC,IAAI,CAAC,SAAmB,CAAC,CAAC,CAAC;YACxF,SAAS;QACX,CAAC;QAED,gBAAgB;QAChB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/D,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3E,MAAM,CAAC,GAAG,CACR,eAAe,IAAI,CAAC,KAAK,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,YAAY,kBAAkB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,OAAO,EAAE,EAC7I,MAAM,CACP,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,qFAAqF;YACrF,MAAM,CAAC,GAAG,CACR,eAAe,IAAI,CAAC,KAAK,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,YAAY,GAAG,EAChF,MAAM,CACP,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAsB,EACtB,WAAyB,EACzB,eAA6D;IAK7D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAEtD,+DAA+D;IAC/D,yEAAyE;IACzE,+DAA+D;IAC/D,IAAI,eAAe,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzE,MAAM,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO;QACL,MAAM;QACN,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,6EAA6E;AAE7E;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,cAAsB;IACtD,OAAO,EAAE,MAAM,EAAE,aAAsB,EAAE,cAAc,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,aAAqB;IACrD,OAAO,EAAE,MAAM,EAAE,aAAsB,EAAE,aAAa,EAAE,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAsB;IACtD,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC,cAAc,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAsB;IACrD,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC,aAAa,CAAC;IAC9B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAsB;IACpD,OAAO,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAsB;IACpD,OAAO,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC;AACzC,CAAC;AAED,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,mBAAmB,CACjC,eAA+C,EAC/C,MAAsB;IAEtB,MAAM,QAAQ,GAAmB,EAAE,CAAC;IAEpC,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5D,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAEhD,2DAA2D;QAC3D,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAC7C,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QAE7C,8CAA8C;QAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM;gBACN,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,eAAe;gBACtB,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,aAAa,YAAY,kBAAkB;aACpD,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAE7B,kCAAkC;QAClC,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YACvE,MAAM,MAAM,GAAI,MAA+B,CAAC,MAAM,CAAC;YACvD,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM;gBACN,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,eAAe;gBACtB,KAAK,EAAE,CAAC;gBACR,MAAM;aACP,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,gCAAgC;QAChC,IAAI,eAAe,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM;gBACN,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,eAAe;gBACtB,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,0BAA0B;aACnC,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,mCAAmC;QACnC,IAAI,eAAe,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9D,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM;gBACN,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,eAAe;gBACtB,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,0CAA0C;aACnD,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,6DAA6D;QAC7D,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;YACvD,MAAM,SAAS,GAAI,UAAkD,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC1F,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM;oBACN,QAAQ,EAAE,YAAY;oBACtB,KAAK,EAAE,eAAe;oBACtB,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,uBAAuB,YAAY,IAAI,KAAK,CAAC,UAAU,UAAU;iBAC1E,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;QACH,CAAC;QAED,2DAA2D;QAC3D,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAY,EAAE,EAAE;YACnE,IAAI,KAAK,KAAK,MAAM;gBAAE,OAAQ,CAAS,CAAC,IAAI,KAAK,MAAM,CAAC;YACxD,IAAI,KAAK,KAAK,cAAc;gBAAE,OAAQ,CAAS,CAAC,YAAY,KAAK,MAAM,CAAC;YACxE,IAAI,KAAK,KAAK,WAAW;gBAAE,OAAQ,CAAS,CAAC,SAAS,KAAK,MAAM,CAAC;YAClE,IAAI,KAAK,KAAK,eAAe;gBAAE,OAAQ,CAAS,CAAC,aAAa,KAAK,MAAM,CAAC;YAC1E,IAAI,KAAK,KAAK,QAAQ;gBAAE,OAAQ,CAAS,CAAC,MAAM,KAAK,MAAM,CAAC;YAC5D,OAAO,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC;YACZ,MAAM;YACN,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY;YACzC,KAAK;YACL,MAAM,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,yDAAyD,CAAC,CAAC,CAAC,SAAS;SAC5F,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GAiBxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAoB,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAiB,MAAM,oBAAoB,CAAC;AAE9E,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,SAAS,SAAS,CAAC,MAAsB;IAMvC,wEAAwE;IACxE,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACvC,IAAI,KAAe,CAAC;IACpB,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,mDAAmD;IACrD,CAAC;IAED,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;IAChD,IAAI,KAAa,CAAC;IAClB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,6EAA6E;IAC7E,gFAAgF;IAChF,8EAA8E;IAC9E,MAAM,aAAa,GAAgD,EAAE,CAAC;IAEtE,KAAK,SAAS,CAAC,CAAC,QAAQ;QACtB,6CAA6C;QAC7C,MAAM,QAAQ,GAAa,KAAK,IAAI,MAAM,aAAa,CAAC,WAAW,EAAE;YACnE,WAAW,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC;SACtF,CAAC,CAAC;QACH,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;QAExB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiB,CAAC;QACxC,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,KAAK,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,MAAM,EAAE,CAAC;YAC7C,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAChC,IAAI,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;oBAChC,MAAM,IAAI,iBAAiB,CAAC,8BAA8B,CAAC,CAAC;gBAC9D,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;oBAC7B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAC9C,MAAM,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;oBAEjC,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;oBAC7B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAC/C,OAAO,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;oBAElC,MAAM,EAAE,CAAC;oBACT,MAAM;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI;wBACJ,GAAG;wBACH,OAAO;wBACP,UAAU,EAAE,OAAO;qBACpB,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,kEAAkE;oBAClE,oEAAoE;oBACpE,uCAAuC;oBACvC,aAAa,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC5E,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;wBAC5B,MAAM,CAAC,gBAAgB,CAAC;4BACtB,OAAO,EAAE,MAAM;4BACf,KAAK;4BACL,QAAQ,EAAE,UAAU;4BACpB,KAAK,EAAE,QAAQ;4BACf,IAAI;4BACJ,OAAO,EAAE,YAAY,GAAG,CAAC,OAAO,EAAE;yBACnC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,oEAAoE;gBACpE,oEAAoE;gBACpE,qEAAqE;gBACrE,qEAAqE;gBACrE,sEAAsE;gBACtE,6DAA6D;gBAC7D,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,uBAAuB,EAAE,CAAC;oBAC/D,MAAM,EAAE,CAAC;oBACT,MAAM;wBACJ,IAAI,EAAE,KAAK;wBACX,IAAI;wBACJ,GAAG,EAAE,IAAI;wBACT,OAAO,EAAE,IAAI;wBACb,UAAU,EAAE,EAAE;qBACf,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC9C,MAAM,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;gBAEjC,MAAM,EAAE,CAAC;gBACT,MAAM;oBACJ,IAAI,EAAE,KAAK;oBACX,IAAI;oBACJ,GAAG,EAAE,IAAI;oBACT,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,OAAO;iBACpB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,aAAa,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7F,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC5B,MAAM,CAAC,gBAAgB,CAAC;wBACtB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;wBAC9B,KAAK,EAAE,OAAO,CAAC,MAAM;wBACrB,QAAQ,EAAE,UAAU;wBACpB,KAAK,EAAE,QAAQ;wBACf,IAAI;wBACJ,OAAO,EAAE,kCAAkC,GAAG,CAAC,OAAO,EAAE;qBACzD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACnF,IAAI,cAAc,GAAG,CAAC,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAClD,MAAM,CAAC,gBAAgB,CAAC;gBACtB,OAAO,EAAE,cAAc;gBACvB,KAAK,EAAE,cAAc;gBACrB,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,GAAG,cAAc,gDAAgD;aAC3E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO;QACL,SAAS,EAAE,QAAQ,EAAE;QACrB,IAAI,SAAS,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;QACjC,gBAAgB,EAAE,GAAG,EAAE,CAAC,aAAa;QACrC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAmC,EACnC,QAAyB,EACzB,MAAsB,EACtB,UAAkB;IAQlB,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,cAAc,GAAG,IAAI,GAAG,EAA0B,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC5D,MAAM,UAAU,GAAsB,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkD,CAAC;IAEzE,+BAA+B;IAC/B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;YAC/B,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC,EAAE;YACpD,aAAa,EAAE,CAAC;YAChB,YAAY,EAAE,OAAO,CAAC,IAAI;SAC3B,CAAC,CAAC;QACH,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/B,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACvC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACtC,MAAM,KAAK,GAAI,SAAS,CAAC,QAAQ,CAA6B,IAAI,EAAE,CAAC;IACrE,MAAM,YAAY,GAA8B,KAAK,CAAC,cAAc,CAA8B,CAAC;IACnG,MAAM,iBAAiB,GAA4B,KAAK,CAAC,mBAAmB,CAA4B,IAAI,EAAE,CAAC;IAE/G,6BAA6B;IAC7B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACjC,cAAc;QACd,IAAI,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;YAChC,MAAM,IAAI,iBAAiB,CAAC,8BAA8B,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC;YACH,WAAW;YACX,IAAI,MAAM,CAAC,gBAAgB,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC5C,MAAM,CAAC,gBAAgB,CAAC;oBACtB,OAAO,EAAE,CAAC;oBACV,KAAK,EAAE,UAAU;oBACjB,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,8DAA8D;YAC9D,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,gBAAgB,GAAa,EAAE,CAAC;YACpC,IAAI,gBAAqC,CAAC;YAC1C,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;gBAC3E,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/C,SAAS,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;gBAClD,CAAC;gBACD,gBAAgB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;gBAChD,gBAAgB,GAAG,QAAQ,CAAC,eAAe,CAAC;YAC9C,CAAC;YAED,wEAAwE;YACxE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,mEAAmE;gBACnE,iFAAiF;gBACjF,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;oBACvB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;wBAAE,SAAS;gBACtD,CAAC;qBAAM,CAAC;oBACN,gEAAgE;oBAChE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;wBAAE,SAAS;gBACxC,CAAC;gBAED,MAAM,aAAa,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC;gBAC3E,MAAM,cAAc,GAAG;oBACrB,WAAW;oBACX,QAAQ,EAAE,KAAK,CAAC,IAAI;oBACpB,MAAM,EAAE,aAAa;oBACrB,WAAW,EAAE,MAAM,CAAC,WAAW;iBAChC,CAAC;gBAEF,IAAI,CAAC;oBACH,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;oBAC7B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;oBAC/F,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;oBAEnC,oBAAoB;oBACpB,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;oBAEtE,wEAAwE;oBACxE,uEAAuE;oBACvE,qEAAqE;oBACrE,MAAM,mBAAmB,GAAG,MAAM,CAAC,UAAU;yBAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACX,GAAG,CAAC;wBACJ,OAAO,EAAE,gBAAgB,CAAC,MAAM,GAAG,CAAC;4BAClC,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;4BAC/C,CAAC,CAAC,CAAC,CAAC,OAAO;wBACb,QAAQ,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAa;wBAC/D,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACpD,CAAC,CAAC;wBACH,4EAA4E;yBAC3E,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;oBAEvC,wBAAwB;oBACxB,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAE,CAAC;oBAC7C,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;oBAC3C,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpF,EAAE,CAAC,MAAM,GAAG;wBACV,MAAM,EAAE,aAAa;wBACrB,cAAc,EAAE,SAAS,GAAG,CAAC;qBAC9B,CAAC;oBAEF,mBAAmB;oBACnB,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACzD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;wBAClD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC/D,CAAC;oBAED,sBAAsB;oBACtB,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtD,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,uDAAuD;oBACvD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAE,CAAC;oBACvC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,4EAA4E;YAC5E,2EAA2E;YAC3E,4EAA4E;YAC5E,qDAAqD;YACrD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAsC,CAAC;YACzD,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC;YACjB,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;QACxB,CAAC;QACD,CAAC,EAAE,CAAC;IACN,CAAC;IAED,mBAAmB;IACnB,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,aAAa,GAAG,WAAW,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;QAC1B,CAAC;QACD,+EAA+E;QAC/E,8EAA8E;QAC9E,qDAAqD;QACrD,2EAA2E;QAC3E,yEAAyE;QACzE,IACE,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,aAAa;YACtC,MAAM,CAAC,MAAM,CAAC,cAAc,KAAK,CAAC;YAClC,CAAC,CAAE,MAAc,CAAC,MAAM,IAAK,MAAc,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EAChE,CAAC;YACD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACpD,IAAI,OAAO,EAAE,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzD,MAAM,CAAC,MAAM,GAAG;oBACd,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,yCAAyC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACjF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,cAAc;QACd,QAAQ;QACR,UAAU;QACV,iBAAiB,EAAE,SAAS;QAC5B,SAAS,EAAE,CAAC;KACb,CAAC;AACJ,CAAC;AAED,8EAA8E;AAE9E,KAAK,UAAU,SAAS,CACtB,QAA8C,EAC9C,QAAyB,EACzB,MAAsB,EACtB,WAAoC;IAMpC,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,cAAc,GAAG,IAAI,GAAG,EAA0B,CAAC;IACzD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAmC,CAAC;IAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9C,6EAA6E;IAC7E,MAAM,aAAa,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAE3F,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACtC,MAAM,KAAK,GAAI,SAAS,CAAC,QAAQ,CAA6B,IAAI,EAAE,CAAC;IAErE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;YAChC,MAAM,IAAI,iBAAiB,CAAC,iCAAiC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QAChF,CAAC;QAED,qEAAqE;QACrE,MAAM,aAAa,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC;QACvE,2EAA2E;QAC3E,sEAAsE;QACtE,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAsB,EAAE;YAC1D,IAAI,CAAC;gBACH,OAAO,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC,CAAC;QACF,MAAM,cAAc,GAAG;YACrB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,MAAM,EAAE,aAAa;YACrB,WAAW;YACX,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,UAAU;SACX,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAC9D,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YAEnC,yEAAyE;YACzE,sEAAsE;YACtE,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;oBAC/B,UAAU,EAAE,EAAE;oBACd,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE;oBACzD,aAAa,EAAE,GAAG;oBAClB,YAAY,EAAE,OAAO,CAAC,IAAI;iBAC3B,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;oBAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,aAAa,EAAE;oBACvF,aAAa,EAAE,GAAG;oBAClB,YAAY,EAAE,OAAO,CAAC,IAAI;iBAC3B,CAAC,CAAC;gBAEH,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzD,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;gBAC/B,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE;oBACN,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,kBAAkB,GAAG,CAAC,OAAO,EAAE;iBACxC;gBACD,aAAa,EAAE,CAAC;gBAChB,YAAY,EAAE,OAAO,CAAC,IAAI;gBAC1B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;aACpD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO;QACL,cAAc;QACd,YAAY;QACZ,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;KACnC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAE9E,KAAK,UAAU,SAAS,CACtB,QAAiC,EACjC,eAAgC,EAChC,MAAsB,EACtB,WAAoC;IAKpC,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,cAAc,GAAG,IAAI,GAAG,EAA0B,CAAC;IACzD,0FAA0F;IAC1F,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAEnI,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACtC,MAAM,KAAK,GAAI,SAAS,CAAC,QAAQ,CAA6B,IAAI,EAAE,CAAC;IAErE,KAAK,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;YAChC,MAAM,IAAI,iBAAiB,CAAC,iCAAiC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3E,CAAC;QAED,qEAAqE;QACrE,MAAM,aAAa,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC;QAClE,MAAM,cAAc,GAAG;YACrB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,MAAM,EAAE,aAAa;YACrB,WAAW;YACX,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YACzD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YAEnC,sEAAsE;YACtE,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE;oBAC1B,UAAU,EAAE,EAAE;oBACd,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE;oBACzD,aAAa,EAAE,GAAG;oBAClB,YAAY,EAAE,EAAE,CAAC,IAAI;iBACtB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE;oBAC1B,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,aAAa,EAAE;oBACvF,aAAa,EAAE,GAAG;oBAClB,YAAY,EAAE,EAAE,CAAC,IAAI;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE;gBAC1B,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE;oBACN,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,0BAA0B,GAAG,CAAC,OAAO,EAAE;iBAChD;gBACD,aAAa,EAAE,CAAC;gBAChB,YAAY,EAAE,EAAE,CAAC,IAAI;gBACrB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;aAC5D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO;QACL,cAAc;QACd,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;KACnC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAE9E;;;;;;GAMG;AAEH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAsB,EACtB,WAAyB;IAEzB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACvC,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;IAErD,gFAAgF;IAChF,kEAAkE;IAClE,eAAe,EAAE,CAAC;IAElB,4EAA4E;IAC5E,MAAM,SAAS,GAAG,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;IACjF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,sCAAsC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpF,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,MAAM,CAAC,gBAAgB,CAAC;YACtB,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,EAAE,CAAC,SAAS;YACnB,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,iBAAiB;YACxB,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,mBAAmB;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,oEAAoE;IACpE,qEAAqE;IACrE,uDAAuD;IACvD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IAC7E,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;IAC3D,qEAAqE;IACrE,0EAA0E;IAC1E,yEAAyE;IACzE,+CAA+C;IAC/C,WAAW,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC;IAC3C,WAAW,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC;IACzC,WAAW,CAAC,oBAAoB,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC;IAEjE,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,MAAM,CAAC,gBAAgB,CAAC;YACtB,OAAO,EAAE,MAAM,CAAC,SAAS;YACzB,KAAK,EAAE,MAAM,CAAC,SAAS;YACvB,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,iBAAiB;YACxB,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,oBAAoB,MAAM,CAAC,SAAS,QAAQ;SACxE,CAAC,CAAC;IACL,CAAC;IAED,gFAAgF;IAChF,oEAAoE;IACpE,+DAA+D;IAC/D,wEAAwE;IACxE,0EAA0E;IAC1E,sEAAsE;IACtE,mEAAmE;IACnE,IAAI,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACpD,sEAAsE;QACtE,8BAA8B;QAC9B,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,8EAA8E;IAC9E,8EAA8E;IAC9E,yEAAyE;IACzE,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,MAAM,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/E,WAAW,CAAC,iBAAiB,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC;IAE9D,4CAA4C;IAC5C,MAAM,aAAa,GAA4B,EAAE,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC5C,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC9B,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QAChD,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,aAAa,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACpF,WAAW,CAAC,gBAAgB,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC;IAE7D,4EAA4E;IAC5E,MAAM,eAAe,GAAmC,EAAE,CAAC;IAE3D,kBAAkB;IAClB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QACnD,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACjC,CAAC;IAED,kBAAkB;IAClB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QACnD,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACjC,CAAC;IAED,kBAAkB;IAClB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QACnD,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACjC,CAAC;IAED,sBAAsB;IACtB,MAAM,WAAW,GAAmE,EAAE,CAAC;IACvF,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QAC7D,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACvD,WAAW,CAAC,IAAI,CAAC;gBACf,YAAY,EAAE,IAAI;gBAClB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;aAC9B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,mEAAmE;IACnE,MAAM,aAAa,GAAG,oBAAoB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAEvE,oEAAoE;IACpE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAE7E,wEAAwE;IACxE,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAwC,CAAC;IACnF,MAAM,YAAY,GAAG,WAAW,EAAE,YAAoE,CAAC;IAEvG,wEAAwE;IACxE,+EAA+E;IAC/E,0EAA0E;IAC1E,2DAA2D;IAC3D,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAwC,CAAC;IAChG,MAAM,YAAY,GAA+D,EAAE,CAAC;IACpF,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9D,MAAM,CAAC,GAAG,IAA6C,CAAC;YACxD,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBACd,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IAElD,2EAA2E;IAC3E,8EAA8E;IAC9E,4CAA4C;IAC5C,MAAM,aAAa,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAE5C,yEAAyE;IACzE,MAAM,UAAU,GAAG,uBAAuB,EAAE,CAAC;IAE7C,OAAO;QACL,eAAe;QACf,QAAQ,EAAE;YACR,aAAa,EAAE,aAAa;YAC5B,aAAa,EAAE,EAAE,CAAC,SAAS;YAC3B,WAAW;YACX,MAAM,EAAE,MAAM,CAAC,QAAQ;YACvB,WAAW;YACX,QAAQ;YACR,aAAa;YACb,YAAY;YACZ,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC;YAChD,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC;YAClD,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC;SAC7C;QACD,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAmB,EAAE,KAAwB;IAC/E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAA+B,CAAC;QAElD,0CAA0C;QAC1C,IAAI,IAAI,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,KAAK,sBAAsB,EAAE,CAAC,IAAI,CAAC,SAAmB,CAAC,CAAC,CAAC;YACxF,SAAS;QACX,CAAC;QAED,gBAAgB;QAChB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/D,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3E,MAAM,CAAC,GAAG,CACR,eAAe,IAAI,CAAC,KAAK,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,YAAY,kBAAkB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,OAAO,EAAE,EAC7I,MAAM,CACP,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,qFAAqF;YACrF,MAAM,CAAC,GAAG,CACR,eAAe,IAAI,CAAC,KAAK,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,YAAY,GAAG,EAChF,MAAM,CACP,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAsB,EACtB,WAAyB,EACzB,eAA6D;IAK7D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAEtD,+DAA+D;IAC/D,yEAAyE;IACzE,+DAA+D;IAC/D,IAAI,eAAe,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzE,MAAM,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO;QACL,MAAM;QACN,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,6EAA6E;AAE7E;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,cAAsB;IACtD,OAAO,EAAE,MAAM,EAAE,aAAsB,EAAE,cAAc,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,aAAqB;IACrD,OAAO,EAAE,MAAM,EAAE,aAAsB,EAAE,aAAa,EAAE,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAsB;IACtD,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC,cAAc,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAsB;IACrD,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC,aAAa,CAAC;IAC9B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAsB;IACpD,OAAO,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAsB;IACpD,OAAO,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC;AACzC,CAAC;AAED,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,SAAS,oBAAoB,CAC3B,aAAsC,EACtC,WAAyB;IAEzB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1D,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClF,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YACjD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;gBACvC,IAAI,MAAM,KAAK,OAAO;oBAAE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,IAAI,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC;oBAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/D,CAAC;YAAC,MAAM,CAAC;gBACP,mEAAmE;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,mBAAmB,CACjC,eAA+C,EAC/C,MAAsB,EACtB,aAA6B;IAE7B,MAAM,QAAQ,GAAmB,EAAE,CAAC;IAEpC,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5D,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAEhD,2DAA2D;QAC3D,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAC7C,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QAE7C,8CAA8C;QAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM;gBACN,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,eAAe;gBACtB,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,aAAa,YAAY,kBAAkB;aACpD,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAE7B,kCAAkC;QAClC,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YACvE,MAAM,MAAM,GAAI,MAA+B,CAAC,MAAM,CAAC;YACvD,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM;gBACN,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,eAAe;gBACtB,KAAK,EAAE,CAAC;gBACR,MAAM;aACP,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,gCAAgC;QAChC,IAAI,eAAe,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM;gBACN,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,eAAe;gBACtB,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,0BAA0B;aACnC,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,mCAAmC;QACnC,IAAI,eAAe,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9D,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM;gBACN,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,eAAe;gBACtB,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,0CAA0C;aACnD,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,6DAA6D;QAC7D,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;YACvD,MAAM,SAAS,GAAI,UAAkD,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC1F,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM;oBACN,QAAQ,EAAE,YAAY;oBACtB,KAAK,EAAE,eAAe;oBACtB,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,uBAAuB,YAAY,IAAI,KAAK,CAAC,UAAU,UAAU;iBAC1E,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;QACH,CAAC;QAED,2DAA2D;QAC3D,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAY,EAAE,EAAE;YACnE,IAAI,KAAK,KAAK,MAAM;gBAAE,OAAQ,CAAS,CAAC,IAAI,KAAK,MAAM,CAAC;YACxD,IAAI,KAAK,KAAK,cAAc;gBAAE,OAAQ,CAAS,CAAC,YAAY,KAAK,MAAM,CAAC;YACxE,IAAI,KAAK,KAAK,WAAW;gBAAE,OAAQ,CAAS,CAAC,SAAS,KAAK,MAAM,CAAC;YAClE,IAAI,KAAK,KAAK,eAAe;gBAAE,OAAQ,CAAS,CAAC,aAAa,KAAK,MAAM,CAAC;YAC1E,IAAI,KAAK,KAAK,QAAQ;gBAAE,OAAQ,CAAS,CAAC,MAAM,KAAK,MAAM,CAAC;YAC5D,OAAO,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM;gBACN,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,OAAO;gBACd,KAAK;aACN,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,4EAA4E;QAC5E,0EAA0E;QAC1E,wEAAwE;QACxE,gBAAgB;QAChB,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,yBAAyB,CAChC,MAAc,EACd,YAAoB,EACpB,KAAoC,EACpC,aAAwC;IAExC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO;YACL,MAAM;YACN,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,wDAAwD;SACjE,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,aAAa,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,aAAa,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;IAE9D,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAC3B,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAClF,CAAC;IAEF,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACtE,CAAC;IAED,OAAO;QACL,MAAM;QACN,QAAQ,EAAE,YAAY;QACtB,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,+BAA+B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;KAC3D,CAAC;AACJ,CAAC"}
|
|
@@ -16,12 +16,6 @@
|
|
|
16
16
|
* - Invariants: Stage 3 reducer — receives full file list, runs rule engine
|
|
17
17
|
*/
|
|
18
18
|
import type { Stage2Visitor, Stage3Reducer, Stage4Reducer, Violation } from './types.js';
|
|
19
|
-
/**
|
|
20
|
-
* Infrastructure visitor that records every file's source code so Stage 3
|
|
21
|
-
* reducers can access it without calling readFileSync(). Always registered;
|
|
22
|
-
* declares all known extensions so it covers both parsed and raw tuples.
|
|
23
|
-
*/
|
|
24
|
-
export declare function createFileSourcesVisitor(): Stage2Visitor;
|
|
25
19
|
export declare function createSolidVisitor(): Stage2Visitor;
|
|
26
20
|
export interface DryVisitorBundle {
|
|
27
21
|
visitor: Stage2Visitor;
|
|
@@ -87,8 +81,9 @@ export declare function createCrossDomainReducer(): Stage4Reducer;
|
|
|
87
81
|
*/
|
|
88
82
|
export declare function createInvariantsReducer(): Stage3Reducer;
|
|
89
83
|
/**
|
|
90
|
-
* Schema SQL visitor (.sql files) — extracts
|
|
91
|
-
* reducer to replay into the known-tables catalog.
|
|
84
|
+
* Schema SQL visitor (.sql files) — extracts ordered DDL operations for the
|
|
85
|
+
* Stage 3 reducer to replay into the known-tables catalog. Emits the parsed
|
|
86
|
+
* ops, not raw source, so the reducer retains only state transitions.
|
|
92
87
|
*/
|
|
93
88
|
export declare function createSchemaSqlVisitor(): Stage2Visitor;
|
|
94
89
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipelineAdapters.d.ts","sourceRoot":"","sources":["../src/pipelineAdapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAEV,aAAa,EACb,aAAa,EACb,aAAa,EACb,SAAS,EAGV,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"pipelineAdapters.d.ts","sourceRoot":"","sources":["../src/pipelineAdapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAEV,aAAa,EACb,aAAa,EACb,aAAa,EACb,SAAS,EAGV,MAAM,YAAY,CAAC;AAsDpB,wBAAgB,kBAAkB,IAAI,aAAa,CAyBlD;AAID,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,wEAAwE;IACxE,WAAW,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC;QAC/B,eAAe,EAAE,MAAM,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QACpE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QACpE,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC,CAAC;CACL;AAED,wBAAgB,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,GAAG,gBAAgB,CAqC5E;AAID,wBAAgB,uBAAuB,IAAI,aAAa,CAsBvD;AAID,wBAAgB,0BAA0B,IAAI,aAAa,CAsB1D;AAiCD,wBAAgB,0BAA0B,IAAI,aAAa,CAmU1D;AAID,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,aAAa,CAAC;IACvB;;;OAGG;IACH,sBAAsB,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;CAC/D;AAED,wBAAgB,kBAAkB,IAAI,kBAAkB,CAgFvD;AAMD;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,aAAa,CA6BtD;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAqFnD;AAID;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,aAAa,CAqCxD;AAID;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,aAAa,CA6BxD;AAID;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,aAAa,CAkFvD;AAaD;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,aAAa,CA2BtD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,aAAa,CA6JvD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,aAAa,CAoCzD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,aAAa,CAmBvD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAgOnD"}
|
package/dist/pipelineAdapters.js
CHANGED
|
@@ -21,7 +21,9 @@ import { RULE_REGISTRY } from './analyzers/ruleRegistry.js';
|
|
|
21
21
|
import { walkAST, isExported, getLineAndColumn, calculateComplexity, getFunctionBody, } from './languages/adapterBridge.js';
|
|
22
22
|
import { buildImportMap, extractFunctionCalls, } from './utils/dependencyExtractor.js';
|
|
23
23
|
import { isReactComponent, detectComponentType, getComponentName, } from './utils/reactDetection.js';
|
|
24
|
-
import {
|
|
24
|
+
import { findTableReferences, checkNamingConventions, checkQueryPatterns, checkSQLInjection, getNearestTableSuggestions, } from './analyzers/universal/schema/codeAnalysis.js';
|
|
25
|
+
import { passesFileGate, extractTablesFromRegistry, } from './analyzers/universal/schema/discovery.js';
|
|
26
|
+
import { applyMigrationOps } from './analyzers/universal/schema/migrations.js';
|
|
25
27
|
// ── Rule ID helpers ──────────────────────────────────────────────────────────
|
|
26
28
|
function getRuleIdsFor(name) {
|
|
27
29
|
return Object.entries(RULE_REGISTRY)
|
|
@@ -37,29 +39,6 @@ function lazySingleton(loader) {
|
|
|
37
39
|
return promise;
|
|
38
40
|
};
|
|
39
41
|
}
|
|
40
|
-
// ── File-sources infrastructure visitor ──────────────────────────────────────
|
|
41
|
-
/**
|
|
42
|
-
* Infrastructure visitor that records every file's source code so Stage 3
|
|
43
|
-
* reducers can access it without calling readFileSync(). Always registered;
|
|
44
|
-
* declares all known extensions so it covers both parsed and raw tuples.
|
|
45
|
-
*/
|
|
46
|
-
export function createFileSourcesVisitor() {
|
|
47
|
-
return {
|
|
48
|
-
name: 'file-sources',
|
|
49
|
-
stage: 'visitor',
|
|
50
|
-
extensions: ALL_EXTENSIONS,
|
|
51
|
-
getRuleIds: () => [],
|
|
52
|
-
async visit(_ast, _adapter, context, sourceCode) {
|
|
53
|
-
return {
|
|
54
|
-
violations: [],
|
|
55
|
-
facts: { [context.filePath]: sourceCode },
|
|
56
|
-
};
|
|
57
|
-
},
|
|
58
|
-
defaultConfig: {},
|
|
59
|
-
description: 'Records every file source for Stage 3 reducers (infrastructure)',
|
|
60
|
-
category: 'infrastructure',
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
42
|
// ── SOLID visitor ────────────────────────────────────────────────────────────
|
|
64
43
|
export function createSolidVisitor() {
|
|
65
44
|
const getAnalyzer = lazySingleton(() => import('./analyzers/universal/UniversalSOLIDAnalyzer.js').then((m) => new m.UniversalSOLIDAnalyzer()));
|
|
@@ -633,11 +612,6 @@ export function createConventionsReducer() {
|
|
|
633
612
|
try {
|
|
634
613
|
const { UniversalConventionsAnalyzer } = await import('./analyzers/universal/UniversalConventionsAnalyzer.js');
|
|
635
614
|
const analyzer = new UniversalConventionsAnalyzer();
|
|
636
|
-
// Extract per-file source map from the file-sources infrastructure visitor
|
|
637
|
-
const fileSources = _allFacts['file-sources'];
|
|
638
|
-
const sourceMap = fileSources
|
|
639
|
-
? new Map(Object.entries(fileSources))
|
|
640
|
-
: undefined;
|
|
641
615
|
// B2: Build exports map from function-index visitor facts (AST-extracted)
|
|
642
616
|
const functionIndexFacts = _allFacts['function-index'];
|
|
643
617
|
const exportsMap = functionIndexFacts
|
|
@@ -645,7 +619,7 @@ export function createConventionsReducer() {
|
|
|
645
619
|
.filter(([, data]) => data?.exports?.length)
|
|
646
620
|
.map(([filePath, data]) => [filePath, data.exports]))
|
|
647
621
|
: undefined;
|
|
648
|
-
const config = { ...context.config, indexHandle: context.indexHandle, projectRoot: context.projectRoot,
|
|
622
|
+
const config = { ...context.config, indexHandle: context.indexHandle, projectRoot: context.projectRoot, readSource: context.readSource, exportsMap };
|
|
649
623
|
const result = await analyzer.analyze([], config);
|
|
650
624
|
const factsConsumed = context.indexHandle.count('conventions');
|
|
651
625
|
return { violations: result.violations ?? [], facts: {}, factsConsumed };
|
|
@@ -729,14 +703,8 @@ export function createInvariantsReducer() {
|
|
|
729
703
|
const { analyzeInvariants } = await import('./analyzers/invariantsAnalyzer.js');
|
|
730
704
|
// Full file list is in _infra.files (merged into context.config via pipeline)
|
|
731
705
|
const files = context.config.files ?? [];
|
|
732
|
-
//
|
|
733
|
-
const
|
|
734
|
-
const sourceMap = fileSources
|
|
735
|
-
? new Map(Object.entries(fileSources))
|
|
736
|
-
: undefined;
|
|
737
|
-
const knownFiles = sourceMap
|
|
738
|
-
? new Set(sourceMap.keys())
|
|
739
|
-
: undefined;
|
|
706
|
+
// Absolute paths — format-equivalent to the old sourceMap.keys().
|
|
707
|
+
const knownFiles = new Set(files);
|
|
740
708
|
// B1: Build fileData from the function-index visitor's AST-extracted
|
|
741
709
|
// imports/exports — replaces regex-based extractImports/extractExportedSymbols
|
|
742
710
|
const functionIndexFacts = _allFacts['function-index'];
|
|
@@ -766,7 +734,7 @@ export function createInvariantsReducer() {
|
|
|
766
734
|
}
|
|
767
735
|
}
|
|
768
736
|
}
|
|
769
|
-
const result = await analyzeInvariants(files, { ...context.config,
|
|
737
|
+
const result = await analyzeInvariants(files, { ...context.config, readSource: context.readSource, knownFiles, fileData }, { projectRoot: context.projectRoot, indexHandle: context.indexHandle });
|
|
770
738
|
return {
|
|
771
739
|
violations: result.violations ?? [],
|
|
772
740
|
facts: {},
|
|
@@ -792,23 +760,32 @@ async function _getProvenanceModule() {
|
|
|
792
760
|
return _provenanceModule;
|
|
793
761
|
}
|
|
794
762
|
/**
|
|
795
|
-
* Schema SQL visitor (.sql files) — extracts
|
|
796
|
-
* reducer to replay into the known-tables catalog.
|
|
763
|
+
* Schema SQL visitor (.sql files) — extracts ordered DDL operations for the
|
|
764
|
+
* Stage 3 reducer to replay into the known-tables catalog. Emits the parsed
|
|
765
|
+
* ops, not raw source, so the reducer retains only state transitions.
|
|
797
766
|
*/
|
|
798
767
|
export function createSchemaSqlVisitor() {
|
|
768
|
+
const getMigrationExtractor = lazySingleton(() => import('./analyzers/universal/UniversalSchemaAnalyzer.js'));
|
|
799
769
|
return {
|
|
800
770
|
name: 'schema-sql',
|
|
801
771
|
stage: 'visitor',
|
|
802
772
|
extensions: ['.sql'],
|
|
803
773
|
getRuleIds: () => [],
|
|
804
774
|
async visit(_ast, _adapter, context, sourceCode) {
|
|
775
|
+
const { extractMigrationOpsFromFile } = await getMigrationExtractor();
|
|
776
|
+
const { ops, skipped, bytes } = await extractMigrationOpsFromFile(context.filePath, sourceCode);
|
|
805
777
|
return {
|
|
806
778
|
violations: [],
|
|
807
|
-
facts: {
|
|
779
|
+
facts: {
|
|
780
|
+
[context.filePath]: {
|
|
781
|
+
ddlOps: ops,
|
|
782
|
+
...(skipped && { skipped: true, bytes }),
|
|
783
|
+
},
|
|
784
|
+
},
|
|
808
785
|
};
|
|
809
786
|
},
|
|
810
787
|
defaultConfig: {},
|
|
811
|
-
description: '
|
|
788
|
+
description: 'Extracts SQL DDL operations for known-table catalog',
|
|
812
789
|
category: 'database',
|
|
813
790
|
};
|
|
814
791
|
}
|
|
@@ -820,6 +797,7 @@ export function createSchemaCodeVisitor() {
|
|
|
820
797
|
const getAnalyzer = lazySingleton(() => import('./analyzers/universal/UniversalSchemaAnalyzer.js').then((m) => ({
|
|
821
798
|
analyzer: new m.UniversalSchemaAnalyzer(),
|
|
822
799
|
defaults: m.DEFAULT_SCHEMA_CONFIG,
|
|
800
|
+
parseMigrationOps: m.parseMigrationOps,
|
|
823
801
|
})));
|
|
824
802
|
return {
|
|
825
803
|
name: 'schema-code',
|
|
@@ -827,16 +805,34 @@ export function createSchemaCodeVisitor() {
|
|
|
827
805
|
extensions: ['.ts', '.tsx', '.js', '.jsx'],
|
|
828
806
|
getRuleIds: () => getRuleIdsFor('schema'),
|
|
829
807
|
async visit(ast, adapter, context, sourceCode) {
|
|
830
|
-
const { analyzer: a, defaults } = await getAnalyzer();
|
|
808
|
+
const { analyzer: a, defaults, parseMigrationOps } = await getAnalyzer();
|
|
831
809
|
const pm = await _getProvenanceModule();
|
|
832
810
|
const violations = [];
|
|
833
811
|
const indexFacts = [];
|
|
834
|
-
//
|
|
812
|
+
// Pipeline config for this analyzer (moved before table extraction, needed
|
|
813
|
+
// by the table-source registry and provenance context).
|
|
814
|
+
const schemaConfig = (context.config ?? {});
|
|
815
|
+
// Spec 29 R2: Extract ORM table names via declarative table-source registry.
|
|
816
|
+
// Adding an ORM is now a config entry, not code. Falls back to Drizzle
|
|
817
|
+
// entries when no user-specified tableSources are configured.
|
|
835
818
|
const ormTables = [];
|
|
836
|
-
const
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
819
|
+
const tableProvenances = [];
|
|
820
|
+
const tableSources = schemaConfig.tableSources ?? [
|
|
821
|
+
{ kind: 'callee', name: 'pgTable', arg: 0, description: 'Drizzle PostgreSQL table' },
|
|
822
|
+
{ kind: 'callee', name: 'mysqlTable', arg: 0, description: 'Drizzle MySQL table' },
|
|
823
|
+
{ kind: 'callee', name: 'sqliteTable', arg: 0, description: 'Drizzle SQLite table' },
|
|
824
|
+
];
|
|
825
|
+
if (tableSources.length > 0) {
|
|
826
|
+
const registered = extractTablesFromRegistry(tableSources, {
|
|
827
|
+
ast: ast,
|
|
828
|
+
adapter: adapter,
|
|
829
|
+
sourceCode,
|
|
830
|
+
filePath: context.filePath,
|
|
831
|
+
});
|
|
832
|
+
for (const { table, source } of registered) {
|
|
833
|
+
ormTables.push(table);
|
|
834
|
+
tableProvenances.push({ table, source });
|
|
835
|
+
}
|
|
840
836
|
}
|
|
841
837
|
// Extract DDL from sql.exec(...) string literals inside Durable Object classes.
|
|
842
838
|
// These are CREATE TABLE / DROP TABLE statements at runtime that migration
|
|
@@ -857,7 +853,6 @@ export function createSchemaCodeVisitor() {
|
|
|
857
853
|
doDDL.push(sql);
|
|
858
854
|
}
|
|
859
855
|
// Build provenance context for this file — defaults from DEFAULT_SCHEMA_CONFIG
|
|
860
|
-
const schemaConfig = (context.config ?? {});
|
|
861
856
|
const detectionMode = schemaConfig.detection?.mode ?? 'hybrid';
|
|
862
857
|
const provenanceContext = pm.buildProvenanceContext(ast, adapter, sourceCode, {
|
|
863
858
|
mode: detectionMode,
|
|
@@ -867,10 +862,10 @@ export function createSchemaCodeVisitor() {
|
|
|
867
862
|
dbWrapperNames: schemaConfig.dbWrapperNames ?? defaults.dbWrapperNames,
|
|
868
863
|
});
|
|
869
864
|
// File gate — skip files without DB usage
|
|
870
|
-
if (!
|
|
871
|
-
const facts = { [context.filePath]: { tableRefs: [], ormTables } };
|
|
865
|
+
if (!passesFileGate(context.filePath, sourceCode, schemaConfig, provenanceContext)) {
|
|
866
|
+
const facts = { [context.filePath]: { tableRefs: [], ormTables, tableProvenance: tableProvenances } };
|
|
872
867
|
if (doDDL.length > 0)
|
|
873
|
-
facts[context.filePath].
|
|
868
|
+
facts[context.filePath].ddlOps = parseMigrationOps(doDDL.join(';\n'));
|
|
874
869
|
return { violations: [], facts };
|
|
875
870
|
}
|
|
876
871
|
// Build known-tables set from schemas config (pre-pipeline + DB-loaded schemas)
|
|
@@ -885,7 +880,7 @@ export function createSchemaCodeVisitor() {
|
|
|
885
880
|
}
|
|
886
881
|
}
|
|
887
882
|
// Find table references (per-file, uses allTables for short-id false-positive filtering)
|
|
888
|
-
const tableRefs =
|
|
883
|
+
const tableRefs = findTableReferences(ast, adapter, sourceCode, { config: schemaConfig, provenanceContext, allTables });
|
|
889
884
|
// Record schema usage → emit as indexFacts via the shared instance
|
|
890
885
|
a.recordTableUsage(ast, adapter, context.filePath, tableRefs);
|
|
891
886
|
const pending = a.getPendingSchemaRecords();
|
|
@@ -911,14 +906,14 @@ export function createSchemaCodeVisitor() {
|
|
|
911
906
|
}
|
|
912
907
|
// Check naming conventions
|
|
913
908
|
if (schemaConfig.checkNamingConventions !== false) {
|
|
914
|
-
violations.push(...
|
|
909
|
+
violations.push(...checkNamingConventions(tableRefs, context.filePath));
|
|
915
910
|
}
|
|
916
911
|
// Check query patterns
|
|
917
912
|
if (schemaConfig.validateQueryPatterns !== false) {
|
|
918
|
-
violations.push(...
|
|
913
|
+
violations.push(...checkQueryPatterns(ast, adapter, sourceCode, schemaConfig));
|
|
919
914
|
}
|
|
920
915
|
// Check SQL injection
|
|
921
|
-
violations.push(...
|
|
916
|
+
violations.push(...checkSQLInjection(ast, adapter, sourceCode));
|
|
922
917
|
// Emit facts for the Stage 3 reducer
|
|
923
918
|
const fileFacts = {
|
|
924
919
|
tableRefs: tableRefs.map((r) => ({
|
|
@@ -929,9 +924,10 @@ export function createSchemaCodeVisitor() {
|
|
|
929
924
|
context: r.context,
|
|
930
925
|
})),
|
|
931
926
|
ormTables,
|
|
927
|
+
tableProvenance: tableProvenances,
|
|
932
928
|
};
|
|
933
929
|
if (doDDL.length > 0)
|
|
934
|
-
fileFacts.
|
|
930
|
+
fileFacts.ddlOps = parseMigrationOps(doDDL.join(';\n'));
|
|
935
931
|
return {
|
|
936
932
|
violations,
|
|
937
933
|
facts: { [context.filePath]: fileFacts },
|
|
@@ -957,7 +953,23 @@ export function createSchemaPrismaVisitor() {
|
|
|
957
953
|
const modelRe = /model\s+(\w+)\s*\{/g;
|
|
958
954
|
let m;
|
|
959
955
|
while ((m = modelRe.exec(sourceCode)) !== null) {
|
|
960
|
-
|
|
956
|
+
const modelName = m[1];
|
|
957
|
+
// Scope @@map to this model's block by matching braces.
|
|
958
|
+
// Depth starts at 1 for the opening { already consumed by the regex.
|
|
959
|
+
const blockStart = m.index + m[0].length;
|
|
960
|
+
let depth = 1;
|
|
961
|
+
let blockEnd = blockStart;
|
|
962
|
+
for (; blockEnd < sourceCode.length && depth > 0; blockEnd++) {
|
|
963
|
+
if (sourceCode[blockEnd] === '{')
|
|
964
|
+
depth++;
|
|
965
|
+
else if (sourceCode[blockEnd] === '}')
|
|
966
|
+
depth--;
|
|
967
|
+
}
|
|
968
|
+
const blockContent = sourceCode.slice(blockStart, blockEnd - 1);
|
|
969
|
+
// @@map (block-level, double @) renames the table. @map (single @)
|
|
970
|
+
// is field-level — column rename — and must not be treated as a table name.
|
|
971
|
+
const mapMatch = blockContent.match(/@@map\s*\(\s*"([^"]+)"\s*\)/);
|
|
972
|
+
models.push(mapMatch ? mapMatch[1] : modelName);
|
|
961
973
|
}
|
|
962
974
|
return {
|
|
963
975
|
violations: [],
|
|
@@ -978,17 +990,13 @@ export function createSchemaJsonVisitor() {
|
|
|
978
990
|
stage: 'visitor',
|
|
979
991
|
extensions: ['.json'],
|
|
980
992
|
getRuleIds: () => [],
|
|
981
|
-
async visit(_ast, _adapter, context,
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
}
|
|
986
|
-
catch {
|
|
987
|
-
// Invalid JSON — skip
|
|
988
|
-
}
|
|
993
|
+
async visit(_ast, _adapter, context, _sourceCode) {
|
|
994
|
+
// Emit only a lightweight marker — the Stage 3 reducer reads and parses
|
|
995
|
+
// each JSON file on demand via context.readSource, so parsed objects are
|
|
996
|
+
// transient rather than retained in allFacts through stage 4.
|
|
989
997
|
return {
|
|
990
998
|
violations: [],
|
|
991
|
-
facts: { [context.filePath]: {
|
|
999
|
+
facts: { [context.filePath]: { isJson: true } },
|
|
992
1000
|
};
|
|
993
1001
|
},
|
|
994
1002
|
defaultConfig: {},
|
|
@@ -1006,6 +1014,7 @@ export function createSchemaReducer() {
|
|
|
1006
1014
|
const getAnalyzer = lazySingleton(() => import('./analyzers/universal/UniversalSchemaAnalyzer.js').then((m) => ({
|
|
1007
1015
|
analyzer: new m.UniversalSchemaAnalyzer(),
|
|
1008
1016
|
defaults: m.DEFAULT_SCHEMA_CONFIG,
|
|
1017
|
+
analyzeJsonSchemas: m.analyzeJsonSchemas,
|
|
1009
1018
|
})));
|
|
1010
1019
|
return {
|
|
1011
1020
|
name: 'schema',
|
|
@@ -1013,7 +1022,7 @@ export function createSchemaReducer() {
|
|
|
1013
1022
|
consumes: [],
|
|
1014
1023
|
getRuleIds: () => getRuleIdsFor('schema'),
|
|
1015
1024
|
async reduce(allFacts, context) {
|
|
1016
|
-
const { analyzer: a } = await getAnalyzer();
|
|
1025
|
+
const { analyzer: a, analyzeJsonSchemas } = await getAnalyzer();
|
|
1017
1026
|
const violations = [];
|
|
1018
1027
|
const schemaConfig = (context.config ?? {});
|
|
1019
1028
|
// allFacts is keyed by visitor name, each value is { [filePath]: { ...per-file facts } }
|
|
@@ -1031,11 +1040,12 @@ export function createSchemaReducer() {
|
|
|
1031
1040
|
};
|
|
1032
1041
|
// ── 1. Build known-tables catalog ──────────────────────────────────────
|
|
1033
1042
|
const knownTables = new Set();
|
|
1034
|
-
|
|
1043
|
+
const tableProvenances = new Map(); // table name → origins
|
|
1044
|
+
// 1a. SQL DDL replay — collect all DDL facts, sort by numeric prefix, replay
|
|
1035
1045
|
const sqlFiles = [];
|
|
1036
1046
|
for (const [filePath, fact] of perFile()) {
|
|
1037
|
-
if ('
|
|
1038
|
-
sqlFiles.push({ filePath,
|
|
1047
|
+
if ('ddlOps' in fact) {
|
|
1048
|
+
sqlFiles.push({ filePath, ops: fact.ddlOps });
|
|
1039
1049
|
}
|
|
1040
1050
|
}
|
|
1041
1051
|
// Sort by numeric prefix in basename: "009_something" < "0010_rename"
|
|
@@ -1053,19 +1063,38 @@ export function createSchemaReducer() {
|
|
|
1053
1063
|
return a.filePath.localeCompare(b.filePath);
|
|
1054
1064
|
});
|
|
1055
1065
|
for (const sqlFile of sqlFiles) {
|
|
1056
|
-
|
|
1066
|
+
const before = new Set(knownTables);
|
|
1067
|
+
applyMigrationOps(sqlFile.ops, knownTables);
|
|
1068
|
+
// Record provenance for newly created tables
|
|
1069
|
+
for (const table of knownTables) {
|
|
1070
|
+
if (!before.has(table)) {
|
|
1071
|
+
const sources = tableProvenances.get(table) ?? [];
|
|
1072
|
+
sources.push({ table, tier: 'sql-migration', sourceFile: sqlFile.filePath, description: 'SQL migration' });
|
|
1073
|
+
tableProvenances.set(table, sources);
|
|
1074
|
+
}
|
|
1075
|
+
}
|
|
1057
1076
|
}
|
|
1058
|
-
// 1b. ORM tables from code files
|
|
1059
|
-
for (const [, fact] of perFile()) {
|
|
1077
|
+
// 1b. ORM tables from code files — with provenance from the table-source registry
|
|
1078
|
+
for (const [filePath, fact] of perFile()) {
|
|
1060
1079
|
const ormTables = fact.ormTables ?? [];
|
|
1061
1080
|
for (const t of ormTables)
|
|
1062
1081
|
knownTables.add(t);
|
|
1082
|
+
const provenances = fact.tableProvenance ?? [];
|
|
1083
|
+
for (const p of provenances) {
|
|
1084
|
+
const sources = tableProvenances.get(p.table) ?? [];
|
|
1085
|
+
sources.push(p.source);
|
|
1086
|
+
tableProvenances.set(p.table, sources);
|
|
1087
|
+
}
|
|
1063
1088
|
}
|
|
1064
1089
|
// 1c. Prisma models
|
|
1065
|
-
for (const [, fact] of perFile()) {
|
|
1090
|
+
for (const [filePath, fact] of perFile()) {
|
|
1066
1091
|
const prismaModels = fact.prismaModels ?? [];
|
|
1067
|
-
for (const m of prismaModels)
|
|
1092
|
+
for (const m of prismaModels) {
|
|
1068
1093
|
knownTables.add(m);
|
|
1094
|
+
const sources = tableProvenances.get(m) ?? [];
|
|
1095
|
+
sources.push({ table: m, tier: 'prisma-model', sourceFile: filePath, description: 'Prisma model' });
|
|
1096
|
+
tableProvenances.set(m, sources);
|
|
1097
|
+
}
|
|
1069
1098
|
}
|
|
1070
1099
|
// ── 2. Unknown-table detection ────────────────────────────────────────
|
|
1071
1100
|
//
|
|
@@ -1084,8 +1113,12 @@ export function createSchemaReducer() {
|
|
|
1084
1113
|
// never enter the catalog (table refs are for checking, not building).
|
|
1085
1114
|
// Merge external tables from config (bonus, not required).
|
|
1086
1115
|
const externalKnownTables = schemaConfig.knownTables ?? [];
|
|
1087
|
-
for (const t of externalKnownTables)
|
|
1116
|
+
for (const t of externalKnownTables) {
|
|
1088
1117
|
knownTables.add(t);
|
|
1118
|
+
const sources = tableProvenances.get(t) ?? [];
|
|
1119
|
+
sources.push({ table: t, tier: 'external-config', description: 'External configuration' });
|
|
1120
|
+
tableProvenances.set(t, sources);
|
|
1121
|
+
}
|
|
1089
1122
|
// Also read the documented schemas config (structured {name, tables} objects).
|
|
1090
1123
|
// The standalone UniversalSchemaAnalyzer.analyze() path reads schemas; the
|
|
1091
1124
|
// pipeline reducer must read it too, otherwise configuring only schemas
|
|
@@ -1094,6 +1127,9 @@ export function createSchemaReducer() {
|
|
|
1094
1127
|
for (const schema of externalSchemas) {
|
|
1095
1128
|
for (const table of schema.tables) {
|
|
1096
1129
|
knownTables.add(table.name);
|
|
1130
|
+
const sources = tableProvenances.get(table.name) ?? [];
|
|
1131
|
+
sources.push({ table: table.name, tier: 'external-config', description: `Schema: ${schema.name}` });
|
|
1132
|
+
tableProvenances.set(table.name, sources);
|
|
1097
1133
|
}
|
|
1098
1134
|
}
|
|
1099
1135
|
if (knownTables.size > 0) {
|
|
@@ -1109,10 +1145,11 @@ export function createSchemaReducer() {
|
|
|
1109
1145
|
const unknownRefs = allTableRefs.filter(ref => !knownTables.has(ref.table));
|
|
1110
1146
|
if (unknownRefs.length / Math.max(knownTables.size, 1) <= 10) {
|
|
1111
1147
|
for (const ref of unknownRefs) {
|
|
1112
|
-
const suggestions =
|
|
1148
|
+
const suggestions = getNearestTableSuggestions(ref.table, knownTables, 2);
|
|
1113
1149
|
const msg = suggestions.length > 0
|
|
1114
1150
|
? `Reference to unknown table '${ref.table}' (${ref.type}). Did you mean: ${suggestions.join(', ')}?`
|
|
1115
1151
|
: `Reference to unknown table '${ref.table}' (${ref.type})`;
|
|
1152
|
+
const suggestionNames = suggestions.map((s) => s.replace(/^'|'$/g, ''));
|
|
1116
1153
|
violations.push({
|
|
1117
1154
|
file: ref.file,
|
|
1118
1155
|
line: ref.line,
|
|
@@ -1122,6 +1159,15 @@ export function createSchemaReducer() {
|
|
|
1122
1159
|
rule: 'unknown-table',
|
|
1123
1160
|
analyzer: 'schema',
|
|
1124
1161
|
symbol: ref.table,
|
|
1162
|
+
resolution: {
|
|
1163
|
+
action: suggestionNames.length > 0 ? 'use-known-table' : 'register-or-fix-table',
|
|
1164
|
+
summary: suggestionNames.length > 0
|
|
1165
|
+
? `Rename the table reference '${ref.table}' to the nearest known table: ${suggestions.join(', ')}.`
|
|
1166
|
+
: `The table '${ref.table}' is not in the known catalog — register it, or fix the reference to a known table.`,
|
|
1167
|
+
symbols: suggestionNames.length > 0 ? suggestionNames : [ref.table],
|
|
1168
|
+
files: [ref.file],
|
|
1169
|
+
lines: [ref.line],
|
|
1170
|
+
},
|
|
1125
1171
|
});
|
|
1126
1172
|
}
|
|
1127
1173
|
}
|
|
@@ -1129,32 +1175,41 @@ export function createSchemaReducer() {
|
|
|
1129
1175
|
// ── 3. JSON schema validation ──────────────────────────────────────────
|
|
1130
1176
|
if (schemaConfig.validateJsonSchemas !== false) {
|
|
1131
1177
|
try {
|
|
1132
|
-
//
|
|
1133
|
-
|
|
1134
|
-
|
|
1178
|
+
// Collect JSON file paths from the lightweight visitor markers, then
|
|
1179
|
+
// parse each on demand so parsed objects never survive past this loop.
|
|
1180
|
+
const jsonFiles = [];
|
|
1135
1181
|
for (const [filePath, fact] of perFile()) {
|
|
1136
|
-
if ('
|
|
1137
|
-
|
|
1138
|
-
const raw = (fact.jsonParsed ?? null);
|
|
1139
|
-
// parsed is the result of JSON.parse: null on failure, or the
|
|
1140
|
-
// deserialized value. Only accept objects as usable parsed content.
|
|
1141
|
-
const parsed = raw !== null && typeof raw === 'object' ? raw : null;
|
|
1142
|
-
jsonContents.set(filePath, {
|
|
1143
|
-
parsed,
|
|
1144
|
-
raw: (fact.jsonRaw ?? fact.sourceCode ?? ''),
|
|
1145
|
-
});
|
|
1182
|
+
if ('isJson' in fact) {
|
|
1183
|
+
jsonFiles.push(filePath);
|
|
1146
1184
|
}
|
|
1147
1185
|
}
|
|
1148
|
-
const
|
|
1186
|
+
const readJson = (filePath) => {
|
|
1187
|
+
const raw = context.readSource?.(filePath);
|
|
1188
|
+
if (raw === undefined)
|
|
1189
|
+
return null;
|
|
1190
|
+
try {
|
|
1191
|
+
const parsed = JSON.parse(raw);
|
|
1192
|
+
return parsed !== null && typeof parsed === 'object' ? parsed : null;
|
|
1193
|
+
}
|
|
1194
|
+
catch {
|
|
1195
|
+
return null;
|
|
1196
|
+
}
|
|
1197
|
+
};
|
|
1198
|
+
const jsonResult = analyzeJsonSchemas(jsonFiles, readJson, schemaConfig);
|
|
1149
1199
|
violations.push(...(jsonResult?.violations ?? []));
|
|
1150
1200
|
}
|
|
1151
1201
|
catch (e) {
|
|
1152
1202
|
// JSON schema validation is best-effort (non-fatal)
|
|
1153
1203
|
}
|
|
1154
1204
|
}
|
|
1205
|
+
// ── 4. Build table catalog for metadata ───────────────────────────────
|
|
1206
|
+
const catalogEntries = [];
|
|
1207
|
+
for (const [table, sources] of tableProvenances) {
|
|
1208
|
+
catalogEntries.push({ table, sources });
|
|
1209
|
+
}
|
|
1155
1210
|
return {
|
|
1156
1211
|
violations,
|
|
1157
|
-
facts: {},
|
|
1212
|
+
facts: { tableCatalog: catalogEntries },
|
|
1158
1213
|
factsConsumed: [...perFile()].length,
|
|
1159
1214
|
};
|
|
1160
1215
|
},
|