@golemio/mvt-maps 1.1.3-dev.2098257959 → 1.1.3-dev.2219546102
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/output-gateway/services/FilterBuilder.d.ts +3 -0
- package/dist/output-gateway/services/FilterBuilder.js +75 -27
- package/dist/output-gateway/services/FilterBuilder.js.map +1 -1
- package/dist/output-gateway/services/MvtClusterService.js +24 -15
- package/dist/output-gateway/services/MvtClusterService.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,6 +4,9 @@ export declare class FilterBuilder {
|
|
|
4
4
|
static prepareFilterQuery(filterParams: IFilterParam[]): {
|
|
5
5
|
query: string[];
|
|
6
6
|
bindings: any[];
|
|
7
|
+
arrayFilters: Record<string, string[]>;
|
|
7
8
|
};
|
|
9
|
+
static buildArraySelectField(column: string, conditions: string[]): string;
|
|
10
|
+
private static buildSqlField;
|
|
8
11
|
private static parseValue;
|
|
9
12
|
}
|
|
@@ -8,46 +8,97 @@ class FilterBuilder {
|
|
|
8
8
|
let bindingIndex = 1;
|
|
9
9
|
const filterQueries = [];
|
|
10
10
|
const filterBindings = [];
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
const wrapArrayExists = (column, conditions) => `
|
|
12
|
+
EXISTS (
|
|
13
|
+
SELECT 1
|
|
14
|
+
FROM jsonb_array_elements(
|
|
15
|
+
COALESCE(NULLIF(${column}, '')::jsonb, '[]'::jsonb)
|
|
16
|
+
) elem
|
|
17
|
+
WHERE ${conditions.join(" AND ")}
|
|
18
|
+
)
|
|
19
|
+
`;
|
|
20
|
+
// collect per-array-field conditions
|
|
21
|
+
const arrayFilterMap = {};
|
|
22
|
+
for (const { field, operator, value } of filterParams) {
|
|
23
|
+
if (!/^[a-z_]+(\[\])?(\.[a-z_]+)?$/.test(field)) {
|
|
15
24
|
throw new golemio_errors_1.ValidationError(`Invalid field name: ${field}. Only lowercase letters and underscores are allowed.`, this.constructor.name, field, 400);
|
|
16
25
|
}
|
|
17
26
|
const parsedValue = this.parseValue(operator, value);
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
27
|
+
const isArrayField = field.includes("[]");
|
|
28
|
+
const arrayColumn = isArrayField ? field.split("[]")[0] : null;
|
|
29
|
+
const baseField = this.buildSqlField(field, operator, parsedValue);
|
|
30
|
+
let comparisonQuery;
|
|
31
|
+
// ---------- NULL ----------
|
|
32
|
+
if (parsedValue === null || parsedValue === undefined) {
|
|
33
|
+
comparisonQuery = this.operatorBuilders[`${operator}NULL`](baseField, bindingIndex);
|
|
34
|
+
}
|
|
35
|
+
// ---------- ARRAY VALUE ----------
|
|
36
|
+
else if (Array.isArray(parsedValue)) {
|
|
37
|
+
comparisonQuery = this.operatorBuilders[operator](baseField, bindingIndex, parsedValue.length);
|
|
21
38
|
filterBindings.push(...parsedValue);
|
|
22
39
|
bindingIndex += parsedValue.length;
|
|
23
40
|
}
|
|
24
|
-
|
|
25
|
-
const filterQuery = this.operatorBuilders[operator + "NULL"](field, bindingIndex);
|
|
26
|
-
filterQueries.push(filterQuery);
|
|
27
|
-
}
|
|
41
|
+
// ---------- SINGLE VALUE ----------
|
|
28
42
|
else {
|
|
29
|
-
|
|
30
|
-
filterQueries.push(filterQuery);
|
|
43
|
+
comparisonQuery = this.operatorBuilders[operator](baseField, bindingIndex);
|
|
31
44
|
filterBindings.push(parsedValue);
|
|
32
|
-
bindingIndex
|
|
45
|
+
bindingIndex += 1;
|
|
46
|
+
}
|
|
47
|
+
// ---------- ARRAY FIELD WRAPPING -> group mapping ----------
|
|
48
|
+
if (isArrayField && arrayColumn) {
|
|
49
|
+
if (!arrayFilterMap[arrayColumn]) {
|
|
50
|
+
arrayFilterMap[arrayColumn] = [];
|
|
51
|
+
}
|
|
52
|
+
arrayFilterMap[arrayColumn].push(comparisonQuery);
|
|
53
|
+
continue;
|
|
33
54
|
}
|
|
55
|
+
// regular column
|
|
56
|
+
filterQueries.push(comparisonQuery);
|
|
57
|
+
}
|
|
58
|
+
// ----------- add EXISTS blocks per array column --------------
|
|
59
|
+
for (const col of Object.keys(arrayFilterMap)) {
|
|
60
|
+
filterQueries.push(wrapArrayExists(col, arrayFilterMap[col]));
|
|
34
61
|
}
|
|
35
62
|
return {
|
|
36
63
|
query: filterQueries,
|
|
37
64
|
bindings: filterBindings,
|
|
65
|
+
arrayFilters: arrayFilterMap,
|
|
38
66
|
};
|
|
39
67
|
}
|
|
68
|
+
static buildArraySelectField(column, conditions) {
|
|
69
|
+
return `
|
|
70
|
+
, (
|
|
71
|
+
SELECT jsonb_agg(elem)::text
|
|
72
|
+
FROM jsonb_array_elements(
|
|
73
|
+
COALESCE(NULLIF(${column}, '')::jsonb, '[]'::jsonb)
|
|
74
|
+
) elem
|
|
75
|
+
WHERE ${conditions.join(" AND ")}
|
|
76
|
+
) AS ${column}
|
|
77
|
+
`;
|
|
78
|
+
}
|
|
79
|
+
static buildSqlField(field, operator, value) {
|
|
80
|
+
const isNumericOp = ["gt", "gte", "lt", "lte"].includes(operator) && typeof value === "number";
|
|
81
|
+
// ARRAY OF OBJECTS: containers[].key
|
|
82
|
+
if (field.includes("[].")) {
|
|
83
|
+
const [, key] = field.split("[].");
|
|
84
|
+
const jsonAccess = `elem->>'${key}'`;
|
|
85
|
+
return isNumericOp ? `(${jsonAccess})::numeric` : jsonAccess;
|
|
86
|
+
}
|
|
87
|
+
// OBJECT FIELD: containers.key
|
|
88
|
+
if (field.includes(".")) {
|
|
89
|
+
const [column, key] = field.split(".");
|
|
90
|
+
const jsonAccess = `COALESCE(NULLIF(${column}, '')::jsonb, '{}'::jsonb)->>'${key}'`;
|
|
91
|
+
return isNumericOp ? `(${jsonAccess})::numeric` : jsonAccess;
|
|
92
|
+
}
|
|
93
|
+
// Regular column
|
|
94
|
+
return field;
|
|
95
|
+
}
|
|
40
96
|
static parseValue(operator, value) {
|
|
41
97
|
if (operator === "in") {
|
|
42
98
|
return value.split(",");
|
|
43
99
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return value;
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
return Number(value);
|
|
50
|
-
}
|
|
100
|
+
if (["gt", "gte", "lt", "lte"].includes(operator)) {
|
|
101
|
+
return isNaN(Number(value)) || value === "" ? value : Number(value);
|
|
51
102
|
}
|
|
52
103
|
return value;
|
|
53
104
|
}
|
|
@@ -55,20 +106,17 @@ class FilterBuilder {
|
|
|
55
106
|
exports.FilterBuilder = FilterBuilder;
|
|
56
107
|
FilterBuilder.operatorBuilders = {
|
|
57
108
|
[FilterOperator_1.FilterOperator.EQ]: (field, bindingIndex) => `${field} = \$${bindingIndex}`,
|
|
58
|
-
[FilterOperator_1.FilterOperator.EQ + "NULL"]: (field
|
|
109
|
+
[FilterOperator_1.FilterOperator.EQ + "NULL"]: (field) => `${field} is null`,
|
|
59
110
|
[FilterOperator_1.FilterOperator.NE]: (field, bindingIndex) => `${field} != \$${bindingIndex}`,
|
|
60
111
|
[FilterOperator_1.FilterOperator.GT]: (field, bindingIndex) => `${field} > \$${bindingIndex}`,
|
|
61
112
|
[FilterOperator_1.FilterOperator.GTE]: (field, bindingIndex) => `${field} >= \$${bindingIndex}`,
|
|
62
113
|
[FilterOperator_1.FilterOperator.LT]: (field, bindingIndex) => `${field} < \$${bindingIndex}`,
|
|
63
114
|
[FilterOperator_1.FilterOperator.LTE]: (field, bindingIndex) => `${field} <= \$${bindingIndex}`,
|
|
64
115
|
[FilterOperator_1.FilterOperator.IN]: (field, bindingIndex, count) => {
|
|
65
|
-
if (count) {
|
|
116
|
+
if (count && count > 1) {
|
|
66
117
|
return `${field} IN (${Array.from({ length: count }, (_, i) => `\$${bindingIndex + i}`).join(",")})`;
|
|
67
118
|
}
|
|
68
|
-
|
|
69
|
-
return `${field} IN (\$${bindingIndex})`;
|
|
70
|
-
}
|
|
119
|
+
return `${field} = \$${bindingIndex}`;
|
|
71
120
|
},
|
|
72
|
-
//...
|
|
73
121
|
};
|
|
74
122
|
//# sourceMappingURL=FilterBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterBuilder.js","sourceRoot":"","sources":["../../../src/output-gateway/services/FilterBuilder.ts"],"names":[],"mappings":";;;AAAA,6EAA2E;AAC3E,qDAAkD;AAGlD,MAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"FilterBuilder.js","sourceRoot":"","sources":["../../../src/output-gateway/services/FilterBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,17 +23,26 @@ let MvtClusterService = exports.MvtClusterService = class MvtClusterService {
|
|
|
23
23
|
constructor(connector, logger) {
|
|
24
24
|
this.connector = connector;
|
|
25
25
|
this.logger = logger;
|
|
26
|
-
this.getBaseQuery = (clusterPoint) => {
|
|
27
|
-
return ({ x, y, z, table, geometry, maxZoomLevel, attributes, query }) =>
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
26
|
+
this.getBaseQuery = (clusterPoint, arrayFilters = {}) => {
|
|
27
|
+
return ({ x, y, z, table, geometry, maxZoomLevel, attributes, query }) => {
|
|
28
|
+
// build array SELECT fragments for any array filters and remove them from original attributes
|
|
29
|
+
const arraySelects = Object.entries(arrayFilters)
|
|
30
|
+
.map(([column, conditions]) => FilterBuilder_1.FilterBuilder.buildArraySelectField(column, conditions))
|
|
31
|
+
.join("\n");
|
|
32
|
+
const modifiedAttributes = attributes.split(", ").filter((attr) => !Object.keys(arrayFilters).includes(attr));
|
|
33
|
+
return `
|
|
34
|
+
SELECT
|
|
35
|
+
${clusterPoint} AS center,
|
|
36
|
+
${geometry} as zoomGeom,
|
|
37
|
+
1 AS size,
|
|
38
|
+
0 AS clusterNo,
|
|
39
|
+
${maxZoomLevel + 1} AS expansionZoom${modifiedAttributes.join(", ") || ""}
|
|
40
|
+
${arraySelects}
|
|
41
|
+
FROM ${table}
|
|
42
|
+
WHERE
|
|
43
|
+
ST_Intersects(TileBBox(${z}, ${x}, ${y}, 4326), ${geometry})
|
|
44
|
+
${query.length > 0 ? `AND ${query.join(" AND ")}` : ""}`;
|
|
45
|
+
};
|
|
37
46
|
};
|
|
38
47
|
this.getLevelClusterQuery = ({ parentTable, zoomLevel, radius, attributes, zoomToDistance, }) => {
|
|
39
48
|
return `SELECT
|
|
@@ -74,17 +83,17 @@ let MvtClusterService = exports.MvtClusterService = class MvtClusterService {
|
|
|
74
83
|
};
|
|
75
84
|
}
|
|
76
85
|
async getTile(table, geometry, x, y, z, zoomLevel, attributes, radius = 15, clusterPoint, colorAttribute, filterParams) {
|
|
86
|
+
const allAttributes = [...attributes, ...(colorAttribute ? [colorAttribute] : []), ...(geometry ? [geometry] : [])];
|
|
87
|
+
const { query: filterQueries, bindings: filterValues, arrayFilters, } = FilterBuilder_1.FilterBuilder.prepareFilterQuery(filterParams ?? []);
|
|
77
88
|
const defaultConfig = {
|
|
78
89
|
sourceLayer: "points",
|
|
79
90
|
extent: 4096,
|
|
80
91
|
bufferSize: 256,
|
|
81
92
|
debug: false,
|
|
82
93
|
query: [],
|
|
83
|
-
getBaseQuery: this.getBaseQuery(clusterPoint ?? geometry),
|
|
94
|
+
getBaseQuery: this.getBaseQuery(clusterPoint ?? geometry, arrayFilters),
|
|
84
95
|
getTileQuery: this.getTileQuery,
|
|
85
96
|
};
|
|
86
|
-
const allAttributes = [...attributes, ...(colorAttribute ? [colorAttribute] : []), ...(geometry ? [geometry] : [])];
|
|
87
|
-
const { query: filterQueries, bindings: filterValues } = FilterBuilder_1.FilterBuilder.prepareFilterQuery(filterParams ?? []);
|
|
88
97
|
const query = (0, clusterbuster_1.createQueryForTile)({
|
|
89
98
|
...defaultConfig,
|
|
90
99
|
z,
|
|
@@ -92,7 +101,7 @@ let MvtClusterService = exports.MvtClusterService = class MvtClusterService {
|
|
|
92
101
|
y,
|
|
93
102
|
maxZoomLevel: zoomLevel,
|
|
94
103
|
table,
|
|
95
|
-
geometry
|
|
104
|
+
geometry,
|
|
96
105
|
radius,
|
|
97
106
|
attributes: allAttributes,
|
|
98
107
|
query: filterQueries,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MvtClusterService.js","sourceRoot":"","sources":["../../../src/output-gateway/services/MvtClusterService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0DASgC;AAGhC,wEAAqE;AACrE,6EAAwE;AACxE,mEAAiE;AACjE,iEAAwE;AAExE,mDAAgD;AAWzC,IAAM,iBAAiB,+BAAvB,MAAM,iBAAiB;IAC1B,YACyC,SAAqC,EAChD,MAAuB;QADJ,cAAS,GAAT,SAAS,CAAoB;QACxC,WAAM,GAAN,MAAM,CAAS;
|
|
1
|
+
{"version":3,"file":"MvtClusterService.js","sourceRoot":"","sources":["../../../src/output-gateway/services/MvtClusterService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0DASgC;AAGhC,wEAAqE;AACrE,6EAAwE;AACxE,mEAAiE;AACjE,iEAAwE;AAExE,mDAAgD;AAWzC,IAAM,iBAAiB,+BAAvB,MAAM,iBAAiB;IAC1B,YACyC,SAAqC,EAChD,MAAuB;QADJ,cAAS,GAAT,SAAS,CAAoB;QACxC,WAAM,GAAN,MAAM,CAAS;QA8H7C,iBAAY,GAAG,CAAC,YAAoB,EAAE,eAAyC,EAAE,EAAE,EAAE;YACzF,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAmB,EAAE,EAAE;gBACtF,8FAA8F;gBAC9F,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;qBAC5C,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,6BAAa,CAAC,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;qBACtF,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,MAAM,kBAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBAE9G,OAAO;;sBAEG,YAAY;sBACZ,QAAQ;;;sBAGR,YAAY,GAAG,CAAC,oBAAoB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;sBACvE,YAAY;uBACX,KAAK;;6CAEiB,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,QAAQ;sBACxD,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACrE,CAAC,CAAC;QACN,CAAC,CAAC;QAEM,yBAAoB,GAAyB,CAAC,EAClD,WAAW,EACX,SAAS,EACT,MAAM,EACN,UAAU,EACV,cAAc,GACG,EAAE,EAAE;YACrB,OAAO;;;;;;uCAMwB,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,2BAA2B,UAAU;eAC9F,WAAW,EAAE,CAAC;QACzB,CAAC,CAAC;QAEM,uBAAkB,GAAuB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAoB,EAAE,EAAE;YAC7F,OAAO;;;;;;uBAMQ,SAAS,GAAG,CAAC;kCACF,UAAU;;;yBAGnB,SAAS;0BACR,CAAC;QACvB,CAAC,CAAC;QAEM,iBAAY,GAAiB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAc,EAAE,EAAE;YAC9G,OAAO;;;gEAGiD,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,MAAM,KAAK,UAAU;yCACrE,QAAQ,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,MAAM,KAAK,UAAU;;;;wCAI5E,UAAU;;WAEvC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC;IAhMC,CAAC;IAEG,KAAK,CAAC,OAAO,CAChB,KAAa,EACb,QAAgB,EAChB,CAAS,EACT,CAAS,EACT,CAAS,EACT,SAAiB,EACjB,UAAoB,EACpB,MAAM,GAAG,EAAE,EACX,YAAqB,EACrB,cAAuB,EACvB,YAA6B;QAE7B,MAAM,aAAa,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpH,MAAM,EACF,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,YAAY,EACtB,YAAY,GACf,GAAG,6BAAa,CAAC,kBAAkB,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;QAEzD,MAAM,aAAa,GAAG;YAClB,WAAW,EAAE,QAAQ;YACrB,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,GAAG;YACf,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,EAAE;YACT,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY,IAAI,QAAQ,EAAE,YAAY,CAAC;YACvE,YAAY,EAAE,IAAI,CAAC,YAAY;SAClC,CAAC;QAEF,MAAM,KAAK,GAAG,IAAA,kCAAkB,EAAC;YAC7B,GAAG,aAAa;YAChB,CAAC;YACD,CAAC;YACD,CAAC;YACD,YAAY,EAAE,SAAS;YACvB,KAAK;YACL,QAAQ;YACR,MAAM;YACN,UAAU,EAAE,aAAa;YACzB,KAAK,EAAE,aAAa;YACpB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC9C,CAAC,CAAC;QAEH,IAAI;YACA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,KAAK,CAAsB,KAAK,EAAE;gBAClF,IAAI,EAAE,sBAAU,CAAC,MAAM;gBACvB,IAAI,EAAE,YAAY;aACrB,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;SACxB;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,6BAA6B,KAAK,EAAE,CAAC,CAAC;YAC/D,MAAM,IAAI,6BAAY,CAAC,0BAA0B,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACpF;IACL,CAAC;IAEM,KAAK,CAAC,UAAU,CACnB,KAAa,EACb,QAAgB,EAChB,UAAoB,EACpB,YAAqB,EACrB,cAAuB;QAEvB,IAAI;YACA,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG;gBACf,QAAQ;gBACR,GAAG,UAAU;gBACb,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9C,CAAC;YAEF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,KAAK,CACxD;;;;;oDAKoC,EACpC;gBACI,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;gBAC7B,IAAI,EAAE,sBAAU,CAAC,MAAM;aAC1B,CACJ,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;gBACnB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,KAAK,iBAAiB,EAAE,CAAC;aACnE;YAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,KAAK,CACzD;;;;;;;+CAO+B,EAC/B;gBACI,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;gBAC7B,IAAI,EAAE,sBAAU,CAAC,MAAM;aAC1B,CACJ,CAAC;YAEF,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAEtE,IAAI,OAAO,CAAC,MAAM,EAAE;gBAChB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;aAC5E;YAED,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,iBAAiB,KAAK,UAAU,EAAE;gBACzE,IAAI,EAAE,sBAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;SAC1B;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;SAClF;IACL,CAAC;CAsEJ,CAAA;4BArMY,iBAAiB;IAD7B,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,iBAAiB,CAAC,CAAA;IACnC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GAHpB,iBAAiB,CAqM7B"}
|