@duckcodeailabs/dql-core 0.3.2 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lineage/builder.d.ts +43 -0
- package/dist/lineage/builder.d.ts.map +1 -0
- package/dist/lineage/builder.js +192 -0
- package/dist/lineage/builder.js.map +1 -0
- package/dist/lineage/dependency-resolver.d.ts +44 -0
- package/dist/lineage/dependency-resolver.d.ts.map +1 -0
- package/dist/lineage/dependency-resolver.js +168 -0
- package/dist/lineage/dependency-resolver.js.map +1 -0
- package/dist/lineage/domain-lineage.d.ts +96 -0
- package/dist/lineage/domain-lineage.d.ts.map +1 -0
- package/dist/lineage/domain-lineage.js +140 -0
- package/dist/lineage/domain-lineage.js.map +1 -0
- package/dist/lineage/index.d.ts +6 -0
- package/dist/lineage/index.d.ts.map +1 -0
- package/dist/lineage/index.js +7 -0
- package/dist/lineage/index.js.map +1 -0
- package/dist/lineage/lineage-graph.d.ts +97 -0
- package/dist/lineage/lineage-graph.d.ts.map +1 -0
- package/dist/lineage/lineage-graph.js +198 -0
- package/dist/lineage/lineage-graph.js.map +1 -0
- package/dist/lineage/sql-parser.d.ts +23 -0
- package/dist/lineage/sql-parser.d.ts.map +1 -0
- package/dist/lineage/sql-parser.js +110 -0
- package/dist/lineage/sql-parser.js.map +1 -0
- package/dist/semantic/index.d.ts +1 -1
- package/dist/semantic/index.d.ts.map +1 -1
- package/dist/semantic/index.js +1 -1
- package/dist/semantic/index.js.map +1 -1
- package/dist/semantic/providers/index.d.ts +1 -1
- package/dist/semantic/providers/index.d.ts.map +1 -1
- package/dist/semantic/providers/index.js +1 -1
- package/dist/semantic/providers/index.js.map +1 -1
- package/dist/semantic/providers/registry.d.ts +7 -0
- package/dist/semantic/providers/registry.d.ts.map +1 -1
- package/dist/semantic/providers/registry.js +30 -0
- package/dist/semantic/providers/registry.js.map +1 -1
- package/package.json +1 -1
package/dist/semantic/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { SemanticAnalyzer, analyze } from './analyzer.js';
|
|
2
2
|
export { SemanticLayer, parseMetricDefinition, parseDimensionDefinition, parseHierarchyDefinition, parseBlockCompanionDefinition, parseCubeDefinition, } from './semantic-layer.js';
|
|
3
3
|
export { loadSemanticLayerFromDir, loadSemanticLayerFromConfig, } from './yaml-loader.js';
|
|
4
|
-
export { resolveSemanticLayer, resolveSemanticLayerWithDiagnostics, pullCachedRepo, resolveRepoSource } from './providers/index.js';
|
|
4
|
+
export { resolveSemanticLayer, resolveSemanticLayerWithDiagnostics, resolveSemanticLayerAsync, pullCachedRepo, resolveRepoSource } from './providers/index.js';
|
|
5
5
|
export { SnowflakeSemanticProvider } from './providers/index.js';
|
|
6
6
|
export { getDialect, listDialectDrivers } from './sql-dialect.js';
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/semantic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAgB7B,OAAO,EACL,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,mCAAmC,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/semantic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAgB7B,OAAO,EACL,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,mCAAmC,EAAE,yBAAyB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE/J,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { resolveSemanticLayer, resolveSemanticLayerWithDiagnostics } from './registry.js';
|
|
1
|
+
export { resolveSemanticLayer, resolveSemanticLayerWithDiagnostics, resolveSemanticLayerAsync } from './registry.js';
|
|
2
2
|
export type { SemanticLayerResult } from './registry.js';
|
|
3
3
|
export type { SemanticLayerProviderConfig, SemanticLayerProvider } from './provider.js';
|
|
4
4
|
export { resolveRepoSource, pullCachedRepo } from './repo-resolver.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/semantic/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,mCAAmC,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/semantic/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,mCAAmC,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AACrH,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,YAAY,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACvE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,YAAY,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { resolveSemanticLayer, resolveSemanticLayerWithDiagnostics } from './registry.js';
|
|
1
|
+
export { resolveSemanticLayer, resolveSemanticLayerWithDiagnostics, resolveSemanticLayerAsync } from './registry.js';
|
|
2
2
|
export { resolveRepoSource, pullCachedRepo } from './repo-resolver.js';
|
|
3
3
|
export { SnowflakeSemanticProvider } from './snowflake-provider.js';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/semantic/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,mCAAmC,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/semantic/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,mCAAmC,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAGrH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { SemanticLayer } from '../semantic-layer.js';
|
|
6
6
|
import type { SemanticLayerProviderConfig } from './provider.js';
|
|
7
|
+
import { type SnowflakeQueryExecutor } from './snowflake-provider.js';
|
|
7
8
|
export interface SemanticLayerResult {
|
|
8
9
|
layer: SemanticLayer | undefined;
|
|
9
10
|
errors: string[];
|
|
@@ -21,4 +22,10 @@ export interface SemanticLayerResult {
|
|
|
21
22
|
*/
|
|
22
23
|
export declare function resolveSemanticLayer(config: SemanticLayerProviderConfig | undefined, projectRoot: string): SemanticLayer | undefined;
|
|
23
24
|
export declare function resolveSemanticLayerWithDiagnostics(config: SemanticLayerProviderConfig | undefined, projectRoot: string): SemanticLayerResult;
|
|
25
|
+
/**
|
|
26
|
+
* Async variant of resolveSemanticLayerWithDiagnostics.
|
|
27
|
+
* Required for the Snowflake provider which needs a live query executor.
|
|
28
|
+
* All other providers fall back to the sync path.
|
|
29
|
+
*/
|
|
30
|
+
export declare function resolveSemanticLayerAsync(config: SemanticLayerProviderConfig | undefined, projectRoot: string, executeQuery?: SnowflakeQueryExecutor): Promise<SemanticLayerResult>;
|
|
24
31
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/semantic/providers/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/semantic/providers/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAIjE,OAAO,EAA6B,KAAK,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAGjG,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,aAAa,GAAG,SAAS,CAAC;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,2BAA2B,GAAG,SAAS,EAC/C,WAAW,EAAE,MAAM,GAClB,aAAa,GAAG,SAAS,CAE3B;AAED,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,2BAA2B,GAAG,SAAS,EAC/C,WAAW,EAAE,MAAM,GAClB,mBAAmB,CAMrB;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,2BAA2B,GAAG,SAAS,EAC/C,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,sBAAsB,GACpC,OAAO,CAAC,mBAAmB,CAAC,CAsB9B"}
|
|
@@ -7,6 +7,7 @@ import { join } from 'node:path';
|
|
|
7
7
|
import { DqlProvider } from './dql-provider.js';
|
|
8
8
|
import { DbtProvider } from './dbt-provider.js';
|
|
9
9
|
import { CubejsProvider } from './cubejs-provider.js';
|
|
10
|
+
import { SnowflakeSemanticProvider } from './snowflake-provider.js';
|
|
10
11
|
import { resolveRepoSource } from './repo-resolver.js';
|
|
11
12
|
/**
|
|
12
13
|
* Resolve the semantic layer from config, or auto-detect if no config is given.
|
|
@@ -27,6 +28,35 @@ export function resolveSemanticLayerWithDiagnostics(config, projectRoot) {
|
|
|
27
28
|
}
|
|
28
29
|
return autoDetect(projectRoot);
|
|
29
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Async variant of resolveSemanticLayerWithDiagnostics.
|
|
33
|
+
* Required for the Snowflake provider which needs a live query executor.
|
|
34
|
+
* All other providers fall back to the sync path.
|
|
35
|
+
*/
|
|
36
|
+
export async function resolveSemanticLayerAsync(config, projectRoot, executeQuery) {
|
|
37
|
+
if (config?.provider === 'snowflake') {
|
|
38
|
+
if (!executeQuery) {
|
|
39
|
+
return { layer: undefined, errors: ['Snowflake provider requires a live query executor. Ensure the connection is initialised before calling resolveSemanticLayerAsync.'] };
|
|
40
|
+
}
|
|
41
|
+
try {
|
|
42
|
+
let effectiveRoot = projectRoot;
|
|
43
|
+
let effectiveConfig = config;
|
|
44
|
+
if (config.source && config.source !== 'local' && config.repoUrl) {
|
|
45
|
+
const resolved = resolveRepoSource(config, projectRoot);
|
|
46
|
+
effectiveRoot = resolved.localPath;
|
|
47
|
+
effectiveConfig = { ...config, projectPath: undefined };
|
|
48
|
+
}
|
|
49
|
+
const provider = new SnowflakeSemanticProvider(executeQuery);
|
|
50
|
+
const layer = await provider.loadAsync(effectiveConfig, effectiveRoot);
|
|
51
|
+
return { layer, errors: [] };
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
55
|
+
return { layer: undefined, errors: [`Failed to load snowflake semantic layer: ${msg}`] };
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return resolveSemanticLayerWithDiagnostics(config, projectRoot);
|
|
59
|
+
}
|
|
30
60
|
function autoDetect(projectRoot) {
|
|
31
61
|
// 1. DQL native semantic-layer/ directory
|
|
32
62
|
const nativeDir = join(projectRoot, 'semantic-layer');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/semantic/providers/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/semantic/providers/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAA+B,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAQvD;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAA+C,EAC/C,WAAmB;IAEnB,OAAO,mCAAmC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,MAA+C,EAC/C,WAAmB;IAEnB,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAA+C,EAC/C,WAAmB,EACnB,YAAqC;IAErC,IAAI,MAAM,EAAE,QAAQ,KAAK,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,mIAAmI,CAAC,EAAE,CAAC;QAC7K,CAAC;QACD,IAAI,CAAC;YACH,IAAI,aAAa,GAAG,WAAW,CAAC;YAChC,IAAI,eAAe,GAAG,MAAM,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBACxD,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC;gBACnC,eAAe,GAAG,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;YAC1D,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,yBAAyB,CAAC,YAAY,CAAC,CAAC;YAC7D,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;YACvE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,4CAA4C,GAAG,EAAE,CAAC,EAAE,CAAC;QAC3F,CAAC;IACH,CAAC;IACD,OAAO,mCAAmC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,UAAU,CAAC,WAAmB;IACrC,0CAA0C;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IACtD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,WAAW,CAAC,CAAC;QAChE,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAChC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,2CAA2C;IAC3C,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,WAAW,CAAC,CAAC;QAChE,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAChC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,mDAAmD;IACnD,KAAK,MAAM,SAAS,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC5C,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,WAAW,CAAC,CAAC;YACnE,MAAM,CAAC,gBAAgB,GAAG,QAAQ,CAAC;YACnC,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,cAAc,CACrB,MAAmC,EACnC,WAAmB;IAEnB,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC;QACH,uDAAuD;QACvD,IAAI,aAAa,GAAG,WAAW,CAAC;QAChC,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACxD,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC;YACnC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACpC,CAAC;YACD,yEAAyE;YACzE,yEAAyE;YACzE,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QACjD,CAAC;QAED,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;YACxB,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;gBACnC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;YACjE,CAAC;YACD,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;gBACnC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;YACjE,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;gBACtC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;YACjE,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,2GAA2G,CAAC,CAAC;gBACzH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;YACtC,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;gBAC/F,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;YACtC,CAAC;YACD;gBACE,MAAM,CAAC,IAAI,CAAC,qCAAqC,MAAM,CAAC,QAAQ,oDAAoD,CAAC,CAAC;gBACtH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QACxC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,QAAQ,oBAAoB,GAAG,EAAE,CAAC,CAAC;QACxE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IACtC,CAAC;AACH,CAAC"}
|