@bldrs-ai/conway 1.567.1542 → 1.568.1543
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/compiled/examples/browser-bundled.cjs +1 -1
- package/compiled/examples/cli-bundled.cjs +44 -21
- package/compiled/examples/cli-step-bundled.cjs +1 -1
- package/compiled/examples/validator-bundled.cjs +1 -1
- package/compiled/src/ifc/ifc_geometry_extraction.d.ts +37 -8
- package/compiled/src/ifc/ifc_geometry_extraction.d.ts.map +1 -1
- package/compiled/src/ifc/ifc_geometry_extraction.js +43 -20
- package/compiled/src/ifc/ifc_rel_aggregate_extraction.test.js +96 -2
- package/compiled/src/scripts/check_compiled_fresh.test.d.ts +2 -0
- package/compiled/src/scripts/check_compiled_fresh.test.d.ts.map +1 -0
- package/compiled/src/scripts/check_compiled_fresh.test.js +136 -0
- package/compiled/src/version/version.js +1 -1
- package/compiled/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
|
@@ -30,7 +30,7 @@ var import_node_process = require("node:process");
|
|
|
30
30
|
var readline = __toESM(require("node:readline"), 1);
|
|
31
31
|
|
|
32
32
|
// compiled/src/version/version.js
|
|
33
|
-
var versionString = "Conway v1.
|
|
33
|
+
var versionString = "Conway v1.568.1543";
|
|
34
34
|
|
|
35
35
|
// compiled/dependencies/conway-geom/interface/conway_geometry.js
|
|
36
36
|
var wasmType = "";
|
|
@@ -14965,7 +14965,7 @@ ${t5.join("\n")}` : "";
|
|
|
14965
14965
|
var import_process = require("process");
|
|
14966
14966
|
|
|
14967
14967
|
// compiled/src/version/version.js
|
|
14968
|
-
var versionString = "Conway v1.
|
|
14968
|
+
var versionString = "Conway v1.568.1543";
|
|
14969
14969
|
|
|
14970
14970
|
// compiled/dependencies/conway-geom/interface/conway_geometry.js
|
|
14971
14971
|
function pThreadsAllowed() {
|
|
@@ -93591,9 +93591,8 @@ var IfcGeometryExtraction = class _IfcGeometryExtraction {
|
|
|
93591
93591
|
return this.aggregateTargetLocalIDs_;
|
|
93592
93592
|
}
|
|
93593
93593
|
const targets = /* @__PURE__ */ new Set();
|
|
93594
|
-
const productTypes = new Set(IfcProduct.query);
|
|
93595
93594
|
for (const relAggregate of this.model.types(IfcRelAggregates)) {
|
|
93596
|
-
this.addAggregateTargets_(relAggregate, targets
|
|
93595
|
+
this.addAggregateTargets_(relAggregate, targets);
|
|
93597
93596
|
}
|
|
93598
93597
|
this.aggregateTargetLocalIDs_ = targets;
|
|
93599
93598
|
return targets;
|
|
@@ -93634,7 +93633,6 @@ var IfcGeometryExtraction = class _IfcGeometryExtraction {
|
|
|
93634
93633
|
return this.aggregateTargetLocalIDs_;
|
|
93635
93634
|
}
|
|
93636
93635
|
const targets = /* @__PURE__ */ new Set();
|
|
93637
|
-
const productTypes = new Set(IfcProduct.query);
|
|
93638
93636
|
const wave = Math.max(1, Math.floor(waveSize));
|
|
93639
93637
|
let pending = [];
|
|
93640
93638
|
const drain = async () => {
|
|
@@ -93646,7 +93644,7 @@ var IfcGeometryExtraction = class _IfcGeometryExtraction {
|
|
|
93646
93644
|
}
|
|
93647
93645
|
await Promise.all([...pinned].map((localID) => this.model.ensureResidentByLocalID(localID)));
|
|
93648
93646
|
for (const relAggregate of pending) {
|
|
93649
|
-
this.addAggregateTargets_(relAggregate, targets,
|
|
93647
|
+
this.addAggregateTargets_(relAggregate, targets, true);
|
|
93650
93648
|
}
|
|
93651
93649
|
} finally {
|
|
93652
93650
|
this.model.releaseSourceViews(pinned);
|
|
@@ -93672,30 +93670,55 @@ var IfcGeometryExtraction = class _IfcGeometryExtraction {
|
|
|
93672
93670
|
*
|
|
93673
93671
|
* Shared by the sync and paged walks so there is a single definition of
|
|
93674
93672
|
* what an aggregate target is. Reads only this relationship's own record:
|
|
93675
|
-
*
|
|
93676
|
-
*
|
|
93677
|
-
*
|
|
93673
|
+
* the entries are scanned as `#N` references off the record's own bytes,
|
|
93674
|
+
* never through `relAggregate.RelatedObjects` — that generated getter
|
|
93675
|
+
* memoizes the materialised array onto the relationship, which is the
|
|
93676
|
+
* 2.7 GB retention of conway#549 §4.1 and, on a windowed source, pages
|
|
93677
|
+
* most of the file during demand prep.
|
|
93678
|
+
*
|
|
93679
|
+
* Classification goes through {@link relatedProductByExpressID_}, the
|
|
93680
|
+
* same call the aggregates pass makes, so deferral and extraction cannot
|
|
93681
|
+
* disagree about which entries are products. The typeID column cannot
|
|
93682
|
+
* answer this: a STEP complex instance is recorded under type 0
|
|
93683
|
+
* (`EXTERNALMAPPINGCONTAINER`) while `getTypedElementByExpressID` finds
|
|
93684
|
+
* the `IfcProduct` among its `multiMapping` variants, so a column test
|
|
93685
|
+
* left a complex product out of the target set and both passes then
|
|
93686
|
+
* extracted it — one product, two scene instances (conway#566 left this
|
|
93687
|
+
* one in place deliberately; it is milder than the paging divergence
|
|
93688
|
+
* that PR fixed, because it costs a duplicate extraction rather than a
|
|
93689
|
+
* non-resident read).
|
|
93690
|
+
*
|
|
93691
|
+
* Materialising to classify costs no source bytes and no residency:
|
|
93692
|
+
* `getTypedElementByExpressID` builds its descriptor from the columns
|
|
93693
|
+
* (`makeDescriptor`) and the entity constructor has an empty body, so
|
|
93694
|
+
* nothing here can throw `StepBufferNotResidentError` on a windowed
|
|
93695
|
+
* source. What it does add is one cached descriptor per related object
|
|
93696
|
+
* — ~117 B (conway#549 §4.3) against a set the aggregates pass
|
|
93697
|
+
* materialises in full anyway, so ~233 KB on SKYLARK250's 1,992
|
|
93698
|
+
* children. It does NOT touch a child's closure: the B-rep subtree is
|
|
93699
|
+
* only reachable through the generated getters, which this never calls.
|
|
93700
|
+
*
|
|
93701
|
+
* A throw from the classification abandons the rest of the
|
|
93702
|
+
* relationship, which is what the pass does with the same entry — its
|
|
93703
|
+
* permissive catch drops the remaining products too. Recording targets
|
|
93704
|
+
* past that point would defer products the pass will never reach, i.e.
|
|
93705
|
+
* extract them in neither pass.
|
|
93678
93706
|
*
|
|
93679
93707
|
* @param relAggregate The relationship to scan.
|
|
93680
93708
|
* @param targets Accumulator.
|
|
93681
|
-
* @param productTypes The IfcProduct type set.
|
|
93682
93709
|
* @param strictResidency When set, a non-resident read propagates instead
|
|
93683
93710
|
* of being tolerated — for the paged walk, which has already made the
|
|
93684
93711
|
* record resident and so can only reach that error through a defect.
|
|
93685
93712
|
*/
|
|
93686
|
-
addAggregateTargets_(relAggregate, targets,
|
|
93713
|
+
addAggregateTargets_(relAggregate, targets, strictResidency = false) {
|
|
93687
93714
|
try {
|
|
93688
93715
|
relAggregate.forEachReferenceInField(REL_AGGREGATES_RELATED_OFFSET, REL_AGGREGATES_RELATED_BASE, REL_AGGREGATES_RELATED_DEPTH, (expressID) => {
|
|
93689
93716
|
if (expressID === void 0) {
|
|
93690
93717
|
return true;
|
|
93691
93718
|
}
|
|
93692
|
-
const
|
|
93693
|
-
if (
|
|
93694
|
-
|
|
93695
|
-
}
|
|
93696
|
-
const typeID = this.model.typeIDOf(relatedLocalID);
|
|
93697
|
-
if (typeID !== void 0 && productTypes.has(typeID)) {
|
|
93698
|
-
targets.add(relatedLocalID);
|
|
93719
|
+
const relatedProduct = this.relatedProductByExpressID_(expressID);
|
|
93720
|
+
if (relatedProduct !== void 0) {
|
|
93721
|
+
targets.add(relatedProduct.localID);
|
|
93699
93722
|
}
|
|
93700
93723
|
return true;
|
|
93701
93724
|
});
|
|
@@ -94138,10 +94161,10 @@ var IfcGeometryExtraction = class _IfcGeometryExtraction {
|
|
|
94138
94161
|
* `IfcProduct` among its `multiMapping` variants, and the product would
|
|
94139
94162
|
* then be extracted without ever being paged (conway#566 review).
|
|
94140
94163
|
*
|
|
94141
|
-
*
|
|
94142
|
-
* same
|
|
94143
|
-
*
|
|
94144
|
-
*
|
|
94164
|
+
* {@link aggregateTargetLocalIDs} classifies through the same call for
|
|
94165
|
+
* the same reason — a column test there left a complex product out of
|
|
94166
|
+
* the deferral set, so both passes extracted it. See
|
|
94167
|
+
* {@link addAggregateTargets_}.
|
|
94145
94168
|
*
|
|
94146
94169
|
* Seam for {@link AggregateExtractPager}, which lives in this module.
|
|
94147
94170
|
*
|
|
@@ -15943,7 +15943,7 @@ var ParsingBuffer = class {
|
|
|
15943
15943
|
};
|
|
15944
15944
|
|
|
15945
15945
|
// compiled/src/version/version.js
|
|
15946
|
-
var versionString = "Conway v1.
|
|
15946
|
+
var versionString = "Conway v1.568.1543";
|
|
15947
15947
|
|
|
15948
15948
|
// compiled/dependencies/conway-geom/interface/conway_geometry.js
|
|
15949
15949
|
function pThreadsAllowed() {
|
|
@@ -944,7 +944,7 @@ var EntityTypesIfcCount = 909;
|
|
|
944
944
|
var entity_types_ifc_gen_default = EntityTypesIfc;
|
|
945
945
|
|
|
946
946
|
// compiled/src/version/version.js
|
|
947
|
-
var versionString = "Conway v1.
|
|
947
|
+
var versionString = "Conway v1.568.1543";
|
|
948
948
|
|
|
949
949
|
// compiled/dependencies/conway-geom/interface/conway_geometry.js
|
|
950
950
|
var wasmType = "";
|
|
@@ -1162,13 +1162,42 @@ export declare class IfcGeometryExtraction {
|
|
|
1162
1162
|
*
|
|
1163
1163
|
* Shared by the sync and paged walks so there is a single definition of
|
|
1164
1164
|
* what an aggregate target is. Reads only this relationship's own record:
|
|
1165
|
-
*
|
|
1166
|
-
*
|
|
1167
|
-
*
|
|
1165
|
+
* the entries are scanned as `#N` references off the record's own bytes,
|
|
1166
|
+
* never through `relAggregate.RelatedObjects` — that generated getter
|
|
1167
|
+
* memoizes the materialised array onto the relationship, which is the
|
|
1168
|
+
* 2.7 GB retention of conway#549 §4.1 and, on a windowed source, pages
|
|
1169
|
+
* most of the file during demand prep.
|
|
1170
|
+
*
|
|
1171
|
+
* Classification goes through {@link relatedProductByExpressID_}, the
|
|
1172
|
+
* same call the aggregates pass makes, so deferral and extraction cannot
|
|
1173
|
+
* disagree about which entries are products. The typeID column cannot
|
|
1174
|
+
* answer this: a STEP complex instance is recorded under type 0
|
|
1175
|
+
* (`EXTERNALMAPPINGCONTAINER`) while `getTypedElementByExpressID` finds
|
|
1176
|
+
* the `IfcProduct` among its `multiMapping` variants, so a column test
|
|
1177
|
+
* left a complex product out of the target set and both passes then
|
|
1178
|
+
* extracted it — one product, two scene instances (conway#566 left this
|
|
1179
|
+
* one in place deliberately; it is milder than the paging divergence
|
|
1180
|
+
* that PR fixed, because it costs a duplicate extraction rather than a
|
|
1181
|
+
* non-resident read).
|
|
1182
|
+
*
|
|
1183
|
+
* Materialising to classify costs no source bytes and no residency:
|
|
1184
|
+
* `getTypedElementByExpressID` builds its descriptor from the columns
|
|
1185
|
+
* (`makeDescriptor`) and the entity constructor has an empty body, so
|
|
1186
|
+
* nothing here can throw `StepBufferNotResidentError` on a windowed
|
|
1187
|
+
* source. What it does add is one cached descriptor per related object
|
|
1188
|
+
* — ~117 B (conway#549 §4.3) against a set the aggregates pass
|
|
1189
|
+
* materialises in full anyway, so ~233 KB on SKYLARK250's 1,992
|
|
1190
|
+
* children. It does NOT touch a child's closure: the B-rep subtree is
|
|
1191
|
+
* only reachable through the generated getters, which this never calls.
|
|
1192
|
+
*
|
|
1193
|
+
* A throw from the classification abandons the rest of the
|
|
1194
|
+
* relationship, which is what the pass does with the same entry — its
|
|
1195
|
+
* permissive catch drops the remaining products too. Recording targets
|
|
1196
|
+
* past that point would defer products the pass will never reach, i.e.
|
|
1197
|
+
* extract them in neither pass.
|
|
1168
1198
|
*
|
|
1169
1199
|
* @param relAggregate The relationship to scan.
|
|
1170
1200
|
* @param targets Accumulator.
|
|
1171
|
-
* @param productTypes The IfcProduct type set.
|
|
1172
1201
|
* @param strictResidency When set, a non-resident read propagates instead
|
|
1173
1202
|
* of being tolerated — for the paged walk, which has already made the
|
|
1174
1203
|
* record resident and so can only reach that error through a defect.
|
|
@@ -1392,10 +1421,10 @@ export declare class IfcGeometryExtraction {
|
|
|
1392
1421
|
* `IfcProduct` among its `multiMapping` variants, and the product would
|
|
1393
1422
|
* then be extracted without ever being paged (conway#566 review).
|
|
1394
1423
|
*
|
|
1395
|
-
*
|
|
1396
|
-
* same
|
|
1397
|
-
*
|
|
1398
|
-
*
|
|
1424
|
+
* {@link aggregateTargetLocalIDs} classifies through the same call for
|
|
1425
|
+
* the same reason — a column test there left a complex product out of
|
|
1426
|
+
* the deferral set, so both passes extracted it. See
|
|
1427
|
+
* {@link addAggregateTargets_}.
|
|
1399
1428
|
*
|
|
1400
1429
|
* Seam for {@link AggregateExtractPager}, which lives in this module.
|
|
1401
1430
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifc_geometry_extraction.d.ts","sourceRoot":"","sources":["../../../src/ifc/ifc_geometry_extraction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ifc_geometry_extraction.d.ts","sourceRoot":"","sources":["../../../src/ifc/ifc_geometry_extraction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,cAAc,EACd,sBAAsB,EAEtB,OAAO,EAIP,WAAW,EAUX,wBAAwB,EAOxB,aAAa,EAGb,SAAS,EACT,sBAAsB,EAEtB,cAAc,EACd,iBAAiB,EAcjB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,gCAAgC,CAAA;AAKvC,OAAO,EAAqB,SAAS,EAAuB,MAAM,4BAA4B,CAAA;AAC9F,OAAO,EAAE,aAAa,EAAqB,MAAM,wBAAwB,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAoB,MAAM,kBAAkB,CAAA;AAE1E,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EAEnB,oBAAoB,EACpB,8BAA8B,EAC9B,mBAAmB,EACnB,mBAAmB,EACnB,gCAAgC,EAChC,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACX,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAEL,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAGhB,oCAAoC,EACpC,mBAAmB,EACnB,YAAY,EAEZ,YAAY,EACZ,oBAAoB,EAIpB,mBAAmB,EAGnB,aAAa,EACb,yBAAyB,EACzB,kBAAkB,EAGlB,mBAAmB,EACnB,UAAU,EAEV,aAAa,EACb,qBAAqB,EAErB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,eAAe,EAMf,wBAAwB,EACxB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,iBAAiB,EAEjB,QAAQ,EAER,SAAS,EACT,iBAAiB,EACjB,QAAQ,EAER,yBAAyB,EACzB,OAAO,EAEP,cAAc,EAGd,eAAe,EAEf,wBAAwB,EACxB,WAAW,EAEX,sBAAsB,EAEtB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAGlB,WAAW,EAIX,wBAAwB,EACxB,mBAAmB,EAEnB,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,0BAA0B,EAC1B,kCAAkC,EAClC,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,EAE3B,iBAAiB,EAMjB,4BAA4B,EAC5B,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EAEnB,oCAAoC,EACpC,8CAA8C,EAC9C,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAGhB,4BAA4B,EAC5B,UAAU,EACV,OAAO,EACP,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EAErB,0BAA0B,EAE1B,oBAAoB,EACpB,cAAc,EAEf,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAqB,MAAM,qBAAqB,CAAA;AACxE,OAAO,YAAY,MAAM,kBAAkB,CAAA;AAS3C,OAAO,cAAc,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAoB,MAAM,wBAAwB,CAAA;AAwBzE;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACpC,IAAI,EAAE,mBAAmB,GAAG,oBAAoB,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAY/E;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,GAAE,MAAU,GAAG,SAAS,CAE7F;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,GAAE,MAAU,GAAG,SAAS,CAGhF;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAChC,IAAI,EAAE,YAAY,GAAG,yBAAyB,EAC9C,YAAY,EAAE,SAAS,EAAE,KAAK,GAAE,MAAU,GAAG,SAAS,CAezD;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CACxC,IAAI,EAAE,YAAY,GAAG,yBAAyB,EAC9C,YAAY,EAAE,SAAS,EAAE,KAAK,GAAE,MAAU,GAAG,SAAS,CAsBzD;AAwCD,qBAAa,qBAAqB;IAyG9B,OAAO,CAAC,QAAQ,CAAC,WAAW;aACZ,KAAK,EAAE,YAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa;IA3GhC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAkD;IACtF,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAiD;IAC1F,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAiD;IAC1F,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAiD;IAG3F,OAAO,CAAC,oBAAoB,CAAQ;IAIpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAY;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAY;IAE7C,OAAO,CAAC,UAAU,CAAY;IAE9B,SAAgB,KAAK,EAAE,eAAe,CAAA;IAEtC,SAAgB,SAAS,EAAE,eAAe,CAAA;IAE1C,SAAgB,SAAS,EAAE,gBAAgB,CAAA;IAE3C,SAAgB,aAAa,EAAE,gBAAgB,CAAA;IAE/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAEjD,SAAgB,MAAM,EAAE,cAAc,CAAA;IAEtC,SAAgB,aAAa,EAAE,cAAc,CAAA;IAE7C,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAuB;IAChE,OAAO,CAAC,mBAAmB,CAAQ;IAEnC,OAAO,CAAC,cAAc,CAAc;IAEpC,OAAO,CAAC,cAAc,CAAa;IAEnC,OAAO,CAAC,0BAA0B,CAAgD;IAClF,OAAO,CAAC,0BAA0B,CAAgD;IAClF,OAAO,CAAC,gCAAgC,CACoB;IAE5D,OAAO,CAAC,sBAAsB,CAA4C;IAEnE,WAAW,EAAE,qBAAqB,GAAG,IAAI,CAAO;IAEvD,OAAO,CAAC,sBAAsB,CAAoB;IAClD,OAAO,CAAC,sBAAsB,CAAoB;IAElD,OAAO,CAAC,cAAc,CAAgB;IAEtC;;;;;OAKG;IACH,SAAgB,kBAAkB,sBAA4B;IAE9D,OAAO,CAAC,QAAQ,CAAY;IAE5B;;;OAGG;IACH,OAAO,CAAC,WAAW,CAAC,CAAsB;IAE1C;;;;;;;;;OASG;IACH;;;;;;sEAMkE;IAC3D,uBAAuB,EAAG,OAAO,CAAA;IAExC;;;;;;;;;;;;;;8DAc0D;IACnD,uBAAuB,EAAE,OAAO,CAAQ;gBAG5B,WAAW,EAAE,cAAc,EAC5B,KAAK,EAAE,YAAY,EAClB,aAAa,GAAE,OAAc,EAC7B,aAAa,GAAE,MAAW,EAC1B,aAAa,GAAE,OAAe;IAuBjD;;OAEG;IACH,qBAAqB;IAOrB;;OAEG;IACH,4BAA4B;IAY5B;;OAEG;IACH,sCAAsC;IAYtC;;OAEG;IACH,gCAAgC;IAUhC;;OAEG;IACH,gCAAgC;IAUhC;;;OAGG;IACH,sBAAsB,IAAI,MAAM;IAIhC;;;OAGG;IACH,iBAAiB,IAAI,MAAM,GAAG,IAAI;IAIlC;;;OAGG;IACH,aAAa,IAAI,UAAU;IAK3B;;;;OAIG;IACH,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC;IAcrE;;;;;OAKG;IACH,8BAA8B,IAAI,8BAA8B;IAShE;;;;OAIG;IACH,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAY9D;;;;;OAKG;IACH,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAa9D;;;;;OAKG;IACH,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC;IAa/D;;;;OAIG;IACH,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAa9D;;;OAGG;IACH,0BAA0B,IAAI,SAAS,CAAC,mBAAmB,CAAC;IAQ5D;;;;OAIG;IACH,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAc/D;;;;OAIG;IACH,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAa/D;;;;;OAKG;IACH,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB;IAWxD;;;;;OAKG;IACH,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAW1D,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAyC;IAEnF;;OAEG;IACH,uCAAuC,IAAI,IAAI;IAQ/C;;;;OAIG;IACH,oCAAoC,CAChC,gCAAgC,EAAE,gCAAgC,GAAG,IAAI;IAK7E;;;;;OAKG;IACH,gCAAgC,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,gCAAgC;IAwBxF;;;;;OAKG;IACH,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAY7D;;;;OAIG;IACH,mBAAmB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAajE;;;;OAIG;IACH,aAAa,IAAI,OAAO;IAQxB;;;;OAIG;IACH,OAAO,CAAC,OAAO,GAAE,MAAU;IAO3B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;;OAIG;IACH,OAAO,CAAC,8BAA8B;IAYtC;;;;;OAKG;IACH,OAAO,CAAC,+BAA+B;IAYvC;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IA0ClC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,uBAAuB;IA0G/B;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,uBAAuB;IAmB/B;;;;;OAKG;IACH,OAAO,CAAC,+BAA+B;IAsIvC;;;OAGG;IACH,eAAe,CAAC,KAAK,EAAC,YAAY,GAAG,YAAY,GAAG,WAAW,GAAG,GAAG;IAIrE;;;OAGG;IACH,iBAAiB,CAAC,KAAK,EAAC,YAAY,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU;IAe9E;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAiBhC;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS;IAcvE;;;;;OAKG;IACH,mCAAmC,CAAC,IAAI,EAAE,oCAAoC;IAqC9E;;;;OAIG;IACH,oBAAoB,CAAE,OAAO,EAAE,MAAM;IAOrC,kBAAkB,CAAE,IAAI,EACtB,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,aAAa,GACb,qBAAqB,EACrB,eAAe,EAAE,OAAO,EACxB,SAAS,GAAE,OAAe,EAC1B,kBAAkB,CAAC,EAAE,qBAAqB,GAAI,aAAa,GAAG,SAAS;IAoBzE,8BAA8B,CAC5B,IAAI,EAAE,gBAAgB,EACtB,SAAS,GAAE,OAAe,EAC1B,kBAAkB,CAAC,EAAC,qBAAqB,GAAI,aAAa,GAAG,SAAS;IAKxE,+BAA+B,CAC7B,IAAI,EAAE,gBAAgB,EACtB,SAAS,GAAE,OAAe,GAAI,aAAa,GAAG,SAAS;IAKzD;;;;;OAKG;IACH,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,GAAG,wBAAwB,EAClE,SAAS,GAAE,OAAe;IA8I9B;;;;;;;;OAQG;IACH,qBAAqB,CAAC,IAAI,EAAE,oBAAoB,GAC9C,mBAAmB,GACnB,gBAAgB,GAChB,iBAAiB,GACjB,wBAAwB,GACxB,cAAc,GACd,QAAQ,EACV,SAAS,GAAE,OAAe,EAC1B,kBAAkB,CAAC,EAAC,qBAAqB,EACzC,eAAe,GAAE,OAAe;IAsMhC;;;;OAIG;IACH,mBAAmB,CAAC,IAAI,EAAE,eAAe;IAmKzC;;;;;;;OAOG;IACH,iBAAiB,CAAC,IAAI,EAAE,aAAa,EACjC,kBAAkB,CAAC,EAAE,qBAAqB,EAC1C,UAAU,CAAC,EAAC,aAAa,GAAG,MAAM,GAAG,SAAS;IAyClD;;;;;OAKG;IACH,qBAAqB,CACjB,IAAI,EAAE,iBAAiB,EACvB,SAAS,GAAE,OAAe,EAC1B,SAAS,GAAE,OAAe,GAAG,IAAI;IA4CrC;;;;;OAKG;IACH,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,EACzC,SAAS,GAAE,OAAe,EAC1B,SAAS,GAAE,OAAe;IAsC9B;;;;;;;OAOG;IACH,YAAY,CAAC,IAAI,EAAE,QAAQ,EACvB,SAAS,GAAE,OAAe,EAC1B,SAAS,GAAE,OAAe;IA6C9B;;;;;OAKG;IACH,gCAAgC,CAAC,IAAI,EAAE,4BAA4B,EAC/D,SAAS,GAAE,OAAe,EAC1B,SAAS,GAAE,OAAe;IAuD9B;;;;;OAKG;IACH,wBAAwB,CACpB,IAAI,EAAE,oBAAoB,EAC1B,SAAS,GAAE,OAAe,EAC1B,SAAS,GAAE,OAAe;IAsE9B;;;;;OAKG;IACH,wBAAwB,CAAC,IAAI,EAAE,oBAAoB,EAC/C,SAAS,GAAE,OAAe,EAC1B,SAAS,GAAE,OAAe;IA8D9B;;;;;;OAMG;IACH,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,gBAAgB,GAAG,SAAS;IAsXjE;;;;;;OAMG;IACH,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS;IAsCtE;;;;;;OAMG;IACH,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS;IAoCtE;;;;;;OAMG;IACH,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS;IAsCtE;;;;;;OAMG;IACH,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS;IAuCtE;;;;;;OAMG;IACH,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS;IA0CtE;;;;;;OAMG;IACH,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS;IAsCtE;;;;;;OAMG;IACH,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,EACzC,WAAW,GAAC,OAAc,EAC1B,KAAK,GAAC,OAAe,GACtB,WAAW,GAAG,SAAS;IA2C1B;;;;;;;OAOG;IACH,YAAY,CACR,IAAI,EAAE,QAAQ,EACd,WAAW,GAAC,OAAc,EAC1B,MAAM,GAAC,OAAe,EACtB,iBAAiB,GAAE,iBAAiB,GAAG,SAAkB,GAAG,WAAW,GAAG,SAAS;IA4GvF;;;;;;;;OAQG;IACH,mBAAmB,CACjB,IAAI,EAAE,eAAe,EACrB,WAAW,GAAC,OAAc,EAC1B,MAAM,GAAC,OAAe,EACtB,sBAAsB,CAAC,EAAE,wBAAwB,GAAI,WAAW;IAoJlE;;;;;;;;OAQG;IACH,cAAc,CAAC,IAAI,EAAC,OAAO,EACvB,WAAW,GAAC,OAAc,EAC1B,MAAM,GAAC,OAAe,EACtB,sBAAsB,CAAC,EAAE,wBAAwB,GAAI,WAAW,GAAG,SAAS;IAqE9E;;;;;;;OAOG;IACL,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAC5B,MAAM,GAAC,OAAe,EACtB,WAAW,GAAC,OAAc,EAC1B,sBAAsB,CAAC,EAAE,wBAAwB,GAAI,WAAW,GAAG,SAAS;IAoDhF;;;;;;;OAOG;IACH,iBAAiB,CACb,IAAI,EAAE,UAAU,EAChB,MAAM,GAAC,OAAe,EACtB,WAAW,GAAC,OAAc,EAC1B,sBAAsB,CAAC,EAAE,wBAAwB,GAAI,WAAW,GAAG,SAAS;IAmDhF;;;;;;OAMG;IACH,sBAAsB,CACpB,IAAI,EAAE,eAAe,EACrB,WAAW,GAAC,OAAc,EAC1B,MAAM,GAAC,OAAe,GACrB,WAAW,GAAG,SAAS;IAwH1B;;;;;;OAMG;IACH,2BAA2B,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,UAAU,EAAC,MAAM,GAAG,YAAY;IAazF;;;;;;;OAOG;IACH,4CAA4C,CAAC,MAAM,EAAE,iBAAiB,EAAE,EACpE,UAAU,EAAE,MAAM,GAAG,YAAY;IA+BrC;;;;;;;;;OASG;IACH,oCAAoC,CAChC,MAAM,EAAE,iBAAiB,EAAE,EAC3B,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,EACpB,gBAAgB,CAAC,EAAE,MAAM,GAC1B,qBAAqB;IAuDxB;;;;;;OAMG;IACH,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAChC,WAAW,GAAC,OAAc,EAC1B,MAAM,GAAC,OAAe,GACvB,WAAW,GAAG,SAAS;IA4B1B;;;;OAIG;IACH,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,GAChD,4BAA4B,GAAG,WAAW,GAAG,SAAS;IAqCxD;;;;OAIG;IACH,+BAA+B,CAAC,IAAI,EAAE,4BAA4B,GAAG,WAAW,GAAG,SAAS;IAwC5F;;;;;;OAMG;IACH,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS;IA2BtE;;;;;;OAMG;IACH,4BAA4B,CAAC,IAAI,EAAE,yBAAyB;IA0B5D;;;;;;OAMG;IACH,0BAA0B,CAAC,IAAI,EAAE,oBAAoB,GAAG,WAAW,GAAG,SAAS;IA4B/E;;;;;;OAMG;IACH,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS;IA0G3E;;;;;;;;OAQG;IACH,iBAAiB,CACb,IAAI,EAAE,aAAa,EACnB,aAAa,EAAE,UAAU,EACzB,SAAS,GAAE,OAAe,EAC1B,OAAO,GAAE,OAAe,EACxB,OAAO,GAAE,aAAa,EAAE,GAAG,SAAkB;IAmIjD;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;;;;;;;;;OAWG;IACH,yBAAyB,CAAC,IAAI,EAAE,qBAAqB,EACjD,oBAAoB,CAAC,EAAE,MAAM,EAC7B,SAAS,GAAE,OAAe,EAC1B,OAAO,GAAE,OAAe,EACxB,YAAY,GAAE,OAAe;IA+GjC;;;;;OAKG;IACI,sBAAsB,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO;IAMvE;;;;;OAKG;IACH,wBAAwB,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAChD,aAAa,EAAE,MAAM,EACrB,SAAS,GAAE,OAAe;IAsB9B;;;;OAIG;IACH,+BAA+B,CAAC,IAAI,EAAE,wBAAwB,EAAE,SAAS,GAAE,OAAe;IAM1F;;;;;OAKG;IACH,qBAAqB,CAAC,IAAI,EAAE,cAAc,EACtC,SAAS,GAAE,OAAe,EAAE,SAAS,GAAE,OAAe;IAO1D;;;;;;OAMG;IACH,gCAAgC,CAC5B,IAAI,EAAE,yBAAyB,EAC/B,oBAAoB,CAAC,EAAE,MAAM,EAC7B,SAAS,GAAE,OAAe,EAC1B,OAAO,GAAE,OAAe;IAwB5B;;;;;;;;OAQG;IACH,YAAY,CACR,IAAI,EAAE,OAAO,EAAE,EACf,aAAa,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,cAAc,GAAG,SAAS,EACtC,SAAS,GAAE,OAAe,EAC1B,SAAS,GAAE,OAAe,GAAG,cAAc;IAyC/C;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,kBAAkB;IAUhD;;;;;OAKG;IACH,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;IAmBtE;;;;;;OAMG;IACH,sBAAsB,CAClB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EACrC,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI;IAO5C;;;;;OAKG;IACH,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,GAAG,cAAc;IAqB9D;;;;;;;OAOG;IACH,qBAAqB,CACjB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EACnB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,EACrB,KAAK,SAAI,EACT,GAAG,SAAc,GAAG,IAAI;IAS5B;;;;;OAKG;IACH,2BAA2B,CACvB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAC1B,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI;IAmB3C;;;;;OAKG;IACH,8BAA8B,CAAC,IAAI,EAAE,0BAA0B,GAAG,cAAc;IA0BhF;;;;;OAKG;IACH,sCAAsC,CAClC,IAAI,EAAE,kCAAkC,GAAG,cAAc;IAS7D;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAW7D;;;;;OAKG;IACH,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe,EAAE,QAAQ,EAAE,cAAc;IAkMpF;;;;;OAKG;IACH,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAC,aAAa;IA8D/D;;;;;OAKG;IACH,+BAA+B,CAAC,IAAI,EAAE,2BAA2B,EAAE,aAAa,EAAE,aAAa;IAwB/F;;;;;OAKG;IACH,0BAA0B,CAAC,IAAI,EAAE,sBAAsB,EAAE,aAAa,EAAE,aAAa;IA0BrF;;;;;OAKG;IACH,yBAAyB,CAAC,IAAI,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa;IAWnF;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc;IA2DnD;;;;;OAKG;IACH,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,GAAG,kBAAkB;IA0CtE;;;;;;;OAOG;IACH,mCAAmC,CAAC,IAAI,EAAE,oCAAoC,GAC1E,8CAA8C,GAAG,GAAG;IA8CxD;;;;;;OAMG;IACH,uBAAuB,CAAC,IAAI,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAC7E;;;;;;;OAOG;IACH,uBAAuB,CACrB,IAAI,EAAE,iBAAiB,EACvB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,IAAI,GAAG,sBAAsB;IAwD5C;;;;;;OAMG;IACH,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAC/E;;;;;;;OAOG;IAEH,uBAAuB,CACrB,IAAI,EAAE,mBAAmB,EACzB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,IAAI,GAAG,sBAAsB;IAwE5C;;;;;;OAMG;IACH,8BAA8B,CAAC,IAAI,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IACtF;;;;;;;OAOG;IAEH,8BAA8B,CAC5B,IAAI,EAAE,mBAAmB,EACzB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,IAAI,GAAG,sBAAsB;IAsE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,OAAO,CAAC,uBAAuB;IA6C/B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAgE3B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,8BAA8B;IAkEtC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,UAAU;IA6BlB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,oBAAoB;IAyK5B;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,GAAE,OAAe;IA+CrE;;;;;;;;;OASG;IACH,4BAA4B,CACxB,IAAI,EAAE,qBAAqB,EAC3B,iBAAiB,EAAE,oBAAoB,EACvC,oBAAoB,EAAE,MAAM,EAC5B,eAAe,EAAC,MAAM,EAAE,EACxB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,OAAO,GAAE,OAAe;IA8F5B;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,CAAC,oBAAoB,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS;IA0E/E;;;;OAIG;IACH,eAAe,CACX,IAAI,EAAE,WAAW,GACjB,eAAe,GACf,kBAAkB,GAClB,qBAAqB,GACrB,sBAAsB,GACtB,wBAAwB,GACxB,mBAAmB,GACnB,yBAAyB,GACzB,0BAA0B,GAAG,MAAM,GAAG,SAAS;IAyEnD;;;;OAIG;IACH,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS;IAoC1D;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;IACH,sBAAsB;IAoBtB;;OAEG;IACH,8BAA8B;IAqB9B;;OAEG;IACH,mBAAmB;IAyBnB;;OAEG;IACH,0BAA0B;IAsD1B;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI;IA0CjD;;;;OAIG;IACH,YAAY,CAAC,cAAc,EAAC,MAAM,EAAE,QAAQ,EAAC,cAAc;IAa3D,OAAO,CAAC,uBAAuB,CAAQ;IAOvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAM;IAOzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAI;IAGzD,OAAO,CAAC,wBAAwB,CAAC,CAAa;IAS9C,OAAO,CAAC,sBAAsB,CAAQ;IAEtC;;;;;;;;;;;;;;;;;;;OAmBG;IACI,uBAAuB,IAAI,GAAG,CAAC,MAAM,CAAC;IAkB7C;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACU,6BAA6B,CACtC,QAAQ,GAAE,MAA0D,GAAI,OAAO,CAAE,GAAG,CAAC,MAAM,CAAC,CAAE;IA4DlG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4CG;IACH,OAAO,CAAC,oBAAoB;IAqC5B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAyE9B;;;;;;;;;;;;;OAaG;IACI,uBAAuB,CAAE,kBAAkB,GAAE,OAAe,GAAI,IAAI;IAa3E;;;;;;;;;;;;;;;OAeG;IACI,+BAA+B,CAAE,OAAO,EAAE,MAAM,GAAI,OAAO;IAelE;;;;;;;;;;;;;OAaG;IACU,2BAA2B,IAAI,OAAO,CAAE,GAAG,CAAE,MAAM,CAAE,CAAE;IA2EpE;;;;;;;;;;OAUG;IACU,+BAA+B,CACxC,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,GAAG,CAAE,MAAM,CAAE,EACpB,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,GACjD,OAAO,CAAE,GAAG,CAAE,MAAM,CAAE,CAAE;IAkC5B;;;;;;;;;OASG;YACW,yCAAyC;IA0FvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;YACW,eAAe;IAkC7B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;YACW,qCAAqC;IAkDnD;;;;;;;;;;;;;;;;;OAiBG;IACU,iCAAiC,CAC1C,YAAY,EAAE,gBAAgB,EAC9B,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,GAAI,OAAO,CAAE,GAAG,CAAE,MAAM,CAAE,CAAE;IA0BjF;;;;;;;;;;;;;;;;;;;;;OAqBG;IACU,8BAA8B,CACvC,YAAY,EAAE,gBAAgB,EAC9B,MAAM,EAAE,GAAG,CAAE,MAAM,CAAE,EACrB,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,GAAI,OAAO,CAAE,IAAI,CAAE;IA8CxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACI,+BAA+B,CAAE,YAAY,EAAE,gBAAgB,GAClE,MAAM,EAAE,GAAG,SAAS;IAkCxB;;;;;;;;;;;;OAYG;IACU,kCAAkC,CAC3C,eAAe,EAAE,MAAM,EAAE,EACzB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,GAAG,CAAE,MAAM,CAAE,EACrB,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,GAAI,OAAO,CAAE,IAAI,CAAE;IASxE;;;;;;;;;;;;;;;;;;OAkBG;IACU,uCAAuC,CAChD,YAAY,EAAE,gBAAgB,EAC9B,MAAM,EAAE,GAAG,CAAE,MAAM,CAAE,EACrB,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,GAAI,OAAO,CAAE,IAAI,CAAE;IAqCxE;;;;;;;;;;;;;OAaG;IACU,qBAAqB,CAC9B,YAAY,EAAE,gBAAgB,EAC9B,QAAQ,GAAE,MACyC,GACnD,OAAO,CAAE,qBAAqB,CAAE;IASpC;;;;;;;;;;;OAWG;IACI,4BAA4B,IAAI,IAAI;IAU3C;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,OAAO,CAAC,wBAAwB;IA0BhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,OAAO,CAAC,0BAA0B;IAkBlC;;;;;;;;;OASG;IACI,2BAA2B,CAAE,YAAY,EAAE,gBAAgB,GAAI,IAAI;IAW1E;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACK,sCAAsC,CAC1C,YAAY,EAAE,gBAAgB,GAAI,SAAS,CAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAE;IAiF1E;;;;;;;;;;;;OAYG;IACH,sBAAsB,CAClB,OAAO,EAAE,UAAU,EACnB,mBAAmB,CAAC,EAAE,CAAC,oBAAoB,EAAE,MAAM,EAAE,CAAC,GAAI,IAAI;IAgMlE;;;;;;;;;;;;;OAaG;IACH,sBAAsB,CAAE,UAAU,CAAC,EAAE,qBAAqB,GACxD;QAAC,aAAa;QAAE,eAAe;KAAC;IAsBlC;;;;;;;;;;OAUG;IACG,2BAA2B,CAC7B,UAAU,CAAC,EAAE,qBAAqB,EAClC,eAAe,GAAE,MAA2C,GAC9D,OAAO,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IA6B3C;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAE,iCAAiC;CA0H3C;AAGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,qBAAa,qBAAqB;IAiC9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAhChC,sEAAsE;IACtE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAEhD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4C;IAEvE,sCAAsC;IACtC,OAAO,CAAC,SAAS,CAAsB;IAEvC,OAAO,CAAC,UAAU,CAA4C;IAE9D,gDAAgD;IAChD,OAAO,CAAC,UAAU,CAAI;IAEtB,wDAAwD;IACxD,OAAO,CAAC,aAAa,CAAI;IAEzB,6EAA6E;IAC7E,OAAO,CAAC,SAAS,CAAC,CAAU;IAE5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAElC,OAAO,CAAC,SAAS,CAAQ;IAEzB;;;;;;OAMG;gBAEgB,WAAW,EAAE,qBAAqB,EAClC,aAAa,EAAE,gBAAgB,EAChD,QAAQ,EAAE,MAAM;IAKlB;;;;OAIG;IACU,KAAK,IAAI,OAAO,CAAE,IAAI,CAAE;IAwBrC;;;;;;;;;OASG;IACU,aAAa,CAAE,IAAI,EAAE,MAAM,GAAI,OAAO,CAAE,IAAI,CAAE;IA8B3D;;OAEG;IACI,OAAO,IAAI,IAAI;IAuBtB;;OAEG;IACH,OAAO,CAAC,YAAY;CAiBrB"}
|
|
@@ -4978,9 +4978,8 @@ export class IfcGeometryExtraction {
|
|
|
4978
4978
|
return this.aggregateTargetLocalIDs_;
|
|
4979
4979
|
}
|
|
4980
4980
|
const targets = new Set();
|
|
4981
|
-
const productTypes = new Set(IfcProduct.query);
|
|
4982
4981
|
for (const relAggregate of this.model.types(IfcRelAggregates)) {
|
|
4983
|
-
this.addAggregateTargets_(relAggregate, targets
|
|
4982
|
+
this.addAggregateTargets_(relAggregate, targets);
|
|
4984
4983
|
}
|
|
4985
4984
|
this.aggregateTargetLocalIDs_ = targets;
|
|
4986
4985
|
return targets;
|
|
@@ -5021,7 +5020,6 @@ export class IfcGeometryExtraction {
|
|
|
5021
5020
|
return this.aggregateTargetLocalIDs_;
|
|
5022
5021
|
}
|
|
5023
5022
|
const targets = new Set();
|
|
5024
|
-
const productTypes = new Set(IfcProduct.query);
|
|
5025
5023
|
const wave = Math.max(1, Math.floor(waveSize));
|
|
5026
5024
|
let pending = [];
|
|
5027
5025
|
const drain = async () => {
|
|
@@ -5033,7 +5031,7 @@ export class IfcGeometryExtraction {
|
|
|
5033
5031
|
}
|
|
5034
5032
|
await Promise.all([...pinned].map((localID) => this.model.ensureResidentByLocalID(localID)));
|
|
5035
5033
|
for (const relAggregate of pending) {
|
|
5036
|
-
this.addAggregateTargets_(relAggregate, targets,
|
|
5034
|
+
this.addAggregateTargets_(relAggregate, targets, true);
|
|
5037
5035
|
}
|
|
5038
5036
|
}
|
|
5039
5037
|
finally {
|
|
@@ -5060,30 +5058,55 @@ export class IfcGeometryExtraction {
|
|
|
5060
5058
|
*
|
|
5061
5059
|
* Shared by the sync and paged walks so there is a single definition of
|
|
5062
5060
|
* what an aggregate target is. Reads only this relationship's own record:
|
|
5063
|
-
*
|
|
5064
|
-
*
|
|
5065
|
-
*
|
|
5061
|
+
* the entries are scanned as `#N` references off the record's own bytes,
|
|
5062
|
+
* never through `relAggregate.RelatedObjects` — that generated getter
|
|
5063
|
+
* memoizes the materialised array onto the relationship, which is the
|
|
5064
|
+
* 2.7 GB retention of conway#549 §4.1 and, on a windowed source, pages
|
|
5065
|
+
* most of the file during demand prep.
|
|
5066
|
+
*
|
|
5067
|
+
* Classification goes through {@link relatedProductByExpressID_}, the
|
|
5068
|
+
* same call the aggregates pass makes, so deferral and extraction cannot
|
|
5069
|
+
* disagree about which entries are products. The typeID column cannot
|
|
5070
|
+
* answer this: a STEP complex instance is recorded under type 0
|
|
5071
|
+
* (`EXTERNALMAPPINGCONTAINER`) while `getTypedElementByExpressID` finds
|
|
5072
|
+
* the `IfcProduct` among its `multiMapping` variants, so a column test
|
|
5073
|
+
* left a complex product out of the target set and both passes then
|
|
5074
|
+
* extracted it — one product, two scene instances (conway#566 left this
|
|
5075
|
+
* one in place deliberately; it is milder than the paging divergence
|
|
5076
|
+
* that PR fixed, because it costs a duplicate extraction rather than a
|
|
5077
|
+
* non-resident read).
|
|
5078
|
+
*
|
|
5079
|
+
* Materialising to classify costs no source bytes and no residency:
|
|
5080
|
+
* `getTypedElementByExpressID` builds its descriptor from the columns
|
|
5081
|
+
* (`makeDescriptor`) and the entity constructor has an empty body, so
|
|
5082
|
+
* nothing here can throw `StepBufferNotResidentError` on a windowed
|
|
5083
|
+
* source. What it does add is one cached descriptor per related object
|
|
5084
|
+
* — ~117 B (conway#549 §4.3) against a set the aggregates pass
|
|
5085
|
+
* materialises in full anyway, so ~233 KB on SKYLARK250's 1,992
|
|
5086
|
+
* children. It does NOT touch a child's closure: the B-rep subtree is
|
|
5087
|
+
* only reachable through the generated getters, which this never calls.
|
|
5088
|
+
*
|
|
5089
|
+
* A throw from the classification abandons the rest of the
|
|
5090
|
+
* relationship, which is what the pass does with the same entry — its
|
|
5091
|
+
* permissive catch drops the remaining products too. Recording targets
|
|
5092
|
+
* past that point would defer products the pass will never reach, i.e.
|
|
5093
|
+
* extract them in neither pass.
|
|
5066
5094
|
*
|
|
5067
5095
|
* @param relAggregate The relationship to scan.
|
|
5068
5096
|
* @param targets Accumulator.
|
|
5069
|
-
* @param productTypes The IfcProduct type set.
|
|
5070
5097
|
* @param strictResidency When set, a non-resident read propagates instead
|
|
5071
5098
|
* of being tolerated — for the paged walk, which has already made the
|
|
5072
5099
|
* record resident and so can only reach that error through a defect.
|
|
5073
5100
|
*/
|
|
5074
|
-
addAggregateTargets_(relAggregate, targets,
|
|
5101
|
+
addAggregateTargets_(relAggregate, targets, strictResidency = false) {
|
|
5075
5102
|
try {
|
|
5076
5103
|
relAggregate.forEachReferenceInField(REL_AGGREGATES_RELATED_OFFSET, REL_AGGREGATES_RELATED_BASE, REL_AGGREGATES_RELATED_DEPTH, (expressID) => {
|
|
5077
5104
|
if (expressID === void 0) {
|
|
5078
5105
|
return true;
|
|
5079
5106
|
}
|
|
5080
|
-
const
|
|
5081
|
-
if (
|
|
5082
|
-
|
|
5083
|
-
}
|
|
5084
|
-
const typeID = this.model.typeIDOf(relatedLocalID);
|
|
5085
|
-
if (typeID !== void 0 && productTypes.has(typeID)) {
|
|
5086
|
-
targets.add(relatedLocalID);
|
|
5107
|
+
const relatedProduct = this.relatedProductByExpressID_(expressID);
|
|
5108
|
+
if (relatedProduct !== void 0) {
|
|
5109
|
+
targets.add(relatedProduct.localID);
|
|
5087
5110
|
}
|
|
5088
5111
|
return true;
|
|
5089
5112
|
});
|
|
@@ -5610,10 +5633,10 @@ export class IfcGeometryExtraction {
|
|
|
5610
5633
|
* `IfcProduct` among its `multiMapping` variants, and the product would
|
|
5611
5634
|
* then be extracted without ever being paged (conway#566 review).
|
|
5612
5635
|
*
|
|
5613
|
-
*
|
|
5614
|
-
* same
|
|
5615
|
-
*
|
|
5616
|
-
*
|
|
5636
|
+
* {@link aggregateTargetLocalIDs} classifies through the same call for
|
|
5637
|
+
* the same reason — a column test there left a complex product out of
|
|
5638
|
+
* the deferral set, so both passes extracted it. See
|
|
5639
|
+
* {@link addAggregateTargets_}.
|
|
5617
5640
|
*
|
|
5618
5641
|
* Seam for {@link AggregateExtractPager}, which lives in this module.
|
|
5619
5642
|
*
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
|
-
import { beforeAll, describe, expect, test } from "@jest/globals";
|
|
2
|
+
import { beforeAll, describe, expect, jest, test } from "@jest/globals";
|
|
3
3
|
import { ConwayGeometry } from "../../dependencies/conway-geom/index.js";
|
|
4
4
|
import ParsingBuffer from "../parsing/parsing_buffer.js";
|
|
5
5
|
import { IfcGeometryExtraction } from "./ifc_geometry_extraction.js";
|
|
6
6
|
import IfcStepParser from "./ifc_step_parser.js";
|
|
7
|
-
import
|
|
7
|
+
import Logger from "../logging/logger.js";
|
|
8
|
+
import { IfcObjectDefinition, IfcProduct, IfcRelAggregates } from "./ifc4_gen/index.js";
|
|
8
9
|
const conwayGeometry = new ConwayGeometry();
|
|
9
10
|
/** Wasm init plus two full extractions per test; CI runners are slow. */
|
|
10
11
|
// eslint-disable-next-line no-magic-numbers
|
|
@@ -14,6 +15,15 @@ const AGGREGATE_FIXTURES = [
|
|
|
14
15
|
"data/index.ifc",
|
|
15
16
|
"data/aggregate_master_voids.ifc",
|
|
16
17
|
];
|
|
18
|
+
/** The STEP complex instance in data/aggregate_complex_related.ifc. */
|
|
19
|
+
const COMPLEX_PRODUCT_EXPRESS_ID = 300;
|
|
20
|
+
/** The plain IfcBuildingElementPart in the same relationship. */
|
|
21
|
+
const PLAIN_PRODUCT_EXPRESS_ID = 200;
|
|
22
|
+
/** The IfcGroup in the same relationship — a related object, not a product. */
|
|
23
|
+
const NON_PRODUCT_EXPRESS_ID = 400;
|
|
24
|
+
/** conway's type ID for a STEP complex/external-mapping container. */
|
|
25
|
+
// eslint-disable-next-line no-magic-numbers
|
|
26
|
+
const EXTERNAL_MAPPING_CONTAINER_TYPE = 0;
|
|
17
27
|
/**
|
|
18
28
|
* Parse a fixture into a fresh model.
|
|
19
29
|
*
|
|
@@ -112,4 +122,88 @@ describe("rel-aggregates extraction (conway#549)", () => {
|
|
|
112
122
|
expect(checked).toBeGreaterThan(0);
|
|
113
123
|
}
|
|
114
124
|
}, TEST_TIMEOUT_MS);
|
|
125
|
+
test("extracts a complex related product exactly once, from the aggregates pass", () => {
|
|
126
|
+
// conway#566 unified the pager's product classification onto
|
|
127
|
+
// relatedProductByExpressID_ but left aggregateTargetLocalIDs
|
|
128
|
+
// reading the raw typeID column. A STEP complex
|
|
129
|
+
// (external-mapping) instance is where the column and the pass
|
|
130
|
+
// part company: the parser records the CONTAINER under type 0
|
|
131
|
+
// (EXTERNALMAPPINGCONTAINER) and keeps the entity variants in
|
|
132
|
+
// `multiMapping`, so the column says "not a product" while
|
|
133
|
+
// getTypedElementByExpressID hands back the IfcProduct among
|
|
134
|
+
// them.
|
|
135
|
+
//
|
|
136
|
+
// The consequence is milder than the paging divergence #566
|
|
137
|
+
// fixed, and it is the reason this was left out of that scope: a
|
|
138
|
+
// complex product is simply not deferred, so the product pass
|
|
139
|
+
// extracts it AND the aggregates pass re-extracts it — one
|
|
140
|
+
// product, two scene instances, the duplicate-draw class
|
|
141
|
+
// aggregateTargetLocalIDs exists to prevent.
|
|
142
|
+
//
|
|
143
|
+
// Counted per product rather than asserted on meshes because
|
|
144
|
+
// conway cannot currently build a complex product's geometry on
|
|
145
|
+
// either path (both fail identically); which pass reaches it, and
|
|
146
|
+
// how many times, is what the deferral set is answerable for.
|
|
147
|
+
const model = parseFixtureModel("data/aggregate_complex_related.ifc");
|
|
148
|
+
const complexLocalID = model.resolveExpressID(COMPLEX_PRODUCT_EXPRESS_ID);
|
|
149
|
+
const plainLocalID = model.resolveExpressID(PLAIN_PRODUCT_EXPRESS_ID);
|
|
150
|
+
const groupLocalID = model.resolveExpressID(NON_PRODUCT_EXPRESS_ID);
|
|
151
|
+
expect(complexLocalID).toBeDefined();
|
|
152
|
+
expect(plainLocalID).toBeDefined();
|
|
153
|
+
expect(groupLocalID).toBeDefined();
|
|
154
|
+
// A probe that never fires looks exactly like a clean model: the
|
|
155
|
+
// fixture only means anything while the parser still records the
|
|
156
|
+
// container under type 0 and the typed lookup still finds a
|
|
157
|
+
// product among its variants.
|
|
158
|
+
expect(model.typeIDOf(complexLocalID))
|
|
159
|
+
.toBe(EXTERNAL_MAPPING_CONTAINER_TYPE);
|
|
160
|
+
expect(model.getTypedElementByLocalID(complexLocalID, IfcObjectDefinition))
|
|
161
|
+
.toBeInstanceOf(IfcProduct);
|
|
162
|
+
const extraction = new IfcGeometryExtraction(conwayGeometry, model);
|
|
163
|
+
// Pre-fix this set is [ #200 ] alone — the complex product is not
|
|
164
|
+
// deferred, so the product loop does not skip it.
|
|
165
|
+
const targets = extraction.aggregateTargetLocalIDs();
|
|
166
|
+
expect([...targets].sort())
|
|
167
|
+
.toEqual([plainLocalID, complexLocalID].sort());
|
|
168
|
+
expect(targets).not.toContain(groupLocalID);
|
|
169
|
+
// Count every product the walk extracts, both passes. Wrapping the
|
|
170
|
+
// shared per-product body is the only seam that sees both.
|
|
171
|
+
const extracted = [];
|
|
172
|
+
const extractProductGeometry = extraction.extractProductGeometry.bind(extraction);
|
|
173
|
+
extraction.extractProductGeometry = (product, precomputedRelVoids) => {
|
|
174
|
+
extracted.push(product.localID);
|
|
175
|
+
extractProductGeometry(product, precomputedRelVoids);
|
|
176
|
+
};
|
|
177
|
+
// Diverted and asserted rather than silenced: conway cannot build
|
|
178
|
+
// a complex product's geometry, so the aggregates pass throws into
|
|
179
|
+
// its own permissive catch on #300 and logs once. That is the
|
|
180
|
+
// pre-existing limitation this test deliberately does not depend
|
|
181
|
+
// on — but an unexpected SECOND relationship failure would
|
|
182
|
+
// otherwise hide here, and the log is the only place it surfaces.
|
|
183
|
+
const errors = jest.spyOn(Logger, "error").mockImplementation(() => { });
|
|
184
|
+
let logged;
|
|
185
|
+
try {
|
|
186
|
+
extraction.extractIFCGeometryData();
|
|
187
|
+
}
|
|
188
|
+
finally {
|
|
189
|
+
// Snapshot before restoring: mockRestore() resets the recorded
|
|
190
|
+
// calls, so asserting on `errors` afterwards passes vacuously.
|
|
191
|
+
logged = errors.mock.calls.map((call) => [...call]);
|
|
192
|
+
errors.mockRestore();
|
|
193
|
+
}
|
|
194
|
+
expect(logged.length).toBe(1);
|
|
195
|
+
expect(logged[0][0]).toContain("Error processing relAggregate");
|
|
196
|
+
// Pre-fix: [ assembly, complex, plain, complex ] — the complex
|
|
197
|
+
// product appears twice, from both passes.
|
|
198
|
+
const complexExtractions = extracted.filter((localID) => localID === complexLocalID).length;
|
|
199
|
+
expect(complexExtractions).toBe(1);
|
|
200
|
+
// The deferred pair are extracted after the product loop has
|
|
201
|
+
// finished, i.e. by the aggregates pass and not by the product
|
|
202
|
+
// pass. The IfcElementAssembly (#100, the relating object) is the
|
|
203
|
+
// only product the first loop is left with.
|
|
204
|
+
expect(extracted.indexOf(complexLocalID))
|
|
205
|
+
.toBeGreaterThan(extracted.indexOf(plainLocalID));
|
|
206
|
+
expect(extracted.filter((localID) => localID === plainLocalID).length).toBe(1);
|
|
207
|
+
expect(extracted).not.toContain(groupLocalID);
|
|
208
|
+
}, TEST_TIMEOUT_MS);
|
|
115
209
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check_compiled_fresh.test.d.ts","sourceRoot":"","sources":["../../../src/scripts/check_compiled_fresh.test.ts"],"names":[],"mappings":""}
|