@ifc-lite/export 3.0.0 → 3.1.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/README.md +34 -0
- package/dist/anonymize-export.d.ts +60 -0
- package/dist/anonymize-export.d.ts.map +1 -0
- package/dist/anonymize-export.js +117 -0
- package/dist/anonymize-export.js.map +1 -0
- package/dist/anonymize-placement.d.ts +71 -0
- package/dist/anonymize-placement.d.ts.map +1 -0
- package/dist/anonymize-placement.js +266 -0
- package/dist/anonymize-placement.js.map +1 -0
- package/dist/anonymize-scrub.d.ts +64 -0
- package/dist/anonymize-scrub.d.ts.map +1 -0
- package/dist/anonymize-scrub.js +312 -0
- package/dist/anonymize-scrub.js.map +1 -0
- package/dist/anonymize-types.d.ts +212 -0
- package/dist/anonymize-types.d.ts.map +1 -0
- package/dist/anonymize-types.js +5 -0
- package/dist/anonymize-types.js.map +1 -0
- package/dist/declared-property-type.d.ts +19 -8
- package/dist/declared-property-type.d.ts.map +1 -1
- package/dist/declared-property-type.js +31 -9
- package/dist/declared-property-type.js.map +1 -1
- package/dist/entity-type-sets.d.ts +47 -0
- package/dist/entity-type-sets.d.ts.map +1 -0
- package/dist/entity-type-sets.js +91 -0
- package/dist/entity-type-sets.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/merged-exporter.d.ts +19 -0
- package/dist/merged-exporter.d.ts.map +1 -1
- package/dist/merged-exporter.js +1 -1
- package/dist/merged-exporter.js.map +1 -1
- package/dist/parquet-exporter.d.ts +1 -3
- package/dist/parquet-exporter.d.ts.map +1 -1
- package/dist/parquet-exporter.js +11 -10
- package/dist/parquet-exporter.js.map +1 -1
- package/dist/property-value-serialization.d.ts +54 -0
- package/dist/property-value-serialization.d.ts.map +1 -0
- package/dist/property-value-serialization.js +134 -0
- package/dist/property-value-serialization.js.map +1 -0
- package/dist/reference-collector.d.ts +47 -0
- package/dist/reference-collector.d.ts.map +1 -1
- package/dist/reference-collector.js +88 -156
- package/dist/reference-collector.js.map +1 -1
- package/dist/related-entities.d.ts +10 -0
- package/dist/related-entities.d.ts.map +1 -0
- package/dist/related-entities.js +259 -0
- package/dist/related-entities.js.map +1 -0
- package/dist/schema-converter.d.ts.map +1 -1
- package/dist/schema-converter.js +46 -96
- package/dist/schema-converter.js.map +1 -1
- package/dist/source-ref-bounds.d.ts +3 -3
- package/dist/source-ref-bounds.js +3 -3
- package/dist/step-attribute-mutations.d.ts +0 -42
- package/dist/step-attribute-mutations.d.ts.map +1 -1
- package/dist/step-attribute-mutations.js +17 -147
- package/dist/step-attribute-mutations.js.map +1 -1
- package/dist/step-attribute-serializers.d.ts +41 -0
- package/dist/step-attribute-serializers.d.ts.map +1 -0
- package/dist/step-attribute-serializers.js +74 -0
- package/dist/step-attribute-serializers.js.map +1 -0
- package/dist/step-collection.d.ts +2 -2
- package/dist/step-collection.d.ts.map +1 -1
- package/dist/step-collection.js +38 -8
- package/dist/step-collection.js.map +1 -1
- package/dist/step-export-contexts.d.ts +5 -7
- package/dist/step-export-contexts.d.ts.map +1 -1
- package/dist/step-export-contexts.js +6 -7
- package/dist/step-export-contexts.js.map +1 -1
- package/dist/step-export-types.d.ts +27 -0
- package/dist/step-export-types.d.ts.map +1 -1
- package/dist/step-export-types.js.map +1 -1
- package/dist/step-exporter.d.ts +3 -3
- package/dist/step-exporter.js +4 -4
- package/dist/step-exporter.js.map +1 -1
- package/dist/step-geometry-types.d.ts +1 -17
- package/dist/step-geometry-types.d.ts.map +1 -1
- package/dist/step-geometry-types.js +51 -35
- package/dist/step-geometry-types.js.map +1 -1
- package/dist/step-georeferencing.d.ts +0 -10
- package/dist/step-georeferencing.d.ts.map +1 -1
- package/dist/step-georeferencing.js +46 -94
- package/dist/step-georeferencing.js.map +1 -1
- package/dist/step-header.d.ts +11 -1
- package/dist/step-header.d.ts.map +1 -1
- package/dist/step-header.js +2 -9
- package/dist/step-header.js.map +1 -1
- package/dist/step-map-unit.d.ts +90 -0
- package/dist/step-map-unit.d.ts.map +1 -0
- package/dist/step-map-unit.js +277 -0
- package/dist/step-map-unit.js.map +1 -0
- package/dist/step-overlay-attribute-overrides.d.ts +32 -0
- package/dist/step-overlay-attribute-overrides.d.ts.map +1 -0
- package/dist/step-overlay-attribute-overrides.js +83 -0
- package/dist/step-overlay-attribute-overrides.js.map +1 -0
- package/dist/step-overlay-entities.d.ts +3 -3
- package/dist/step-pass-builder.d.ts +4 -3
- package/dist/step-pass-builder.d.ts.map +1 -1
- package/dist/step-pass-builder.js.map +1 -1
- package/dist/step-property-set-collection.d.ts +24 -0
- package/dist/step-property-set-collection.d.ts.map +1 -0
- package/dist/step-property-set-collection.js +286 -0
- package/dist/step-property-set-collection.js.map +1 -0
- package/dist/step-property-set-generators.d.ts +20 -0
- package/dist/step-property-set-generators.d.ts.map +1 -0
- package/dist/step-property-set-generators.js +98 -0
- package/dist/step-property-set-generators.js.map +1 -0
- package/dist/step-property-set-index.d.ts +25 -0
- package/dist/step-property-set-index.d.ts.map +1 -0
- package/dist/step-property-set-index.js +69 -0
- package/dist/step-property-set-index.js.map +1 -0
- package/dist/step-property-set-readers.d.ts +158 -0
- package/dist/step-property-set-readers.d.ts.map +1 -0
- package/dist/step-property-set-readers.js +251 -0
- package/dist/step-property-set-readers.js.map +1 -0
- package/dist/step-property-sets.d.ts +2 -186
- package/dist/step-property-sets.d.ts.map +1 -1
- package/dist/step-property-sets.js +22 -674
- package/dist/step-property-sets.js.map +1 -1
- package/dist/step-serialization.d.ts +17 -51
- package/dist/step-serialization.d.ts.map +1 -1
- package/dist/step-serialization.js +19 -128
- package/dist/step-serialization.js.map +1 -1
- package/dist/step-source-iteration.d.ts +7 -5
- package/dist/step-source-iteration.d.ts.map +1 -1
- package/dist/step-source-iteration.js +3 -3
- package/dist/step-source-iteration.js.map +1 -1
- package/dist/subset-entity-reader.d.ts +103 -0
- package/dist/subset-entity-reader.d.ts.map +1 -0
- package/dist/subset-entity-reader.js +102 -0
- package/dist/subset-entity-reader.js.map +1 -0
- package/dist/subset-roots.d.ts +58 -0
- package/dist/subset-roots.d.ts.map +1 -0
- package/dist/subset-roots.js +103 -0
- package/dist/subset-roots.js.map +1 -0
- package/package.json +7 -7
package/dist/step-exporter.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export declare class StepExporter {
|
|
|
25
25
|
/**
|
|
26
26
|
* The owner-history memos the property-set and quantity-set generators read.
|
|
27
27
|
*
|
|
28
|
-
* Owned here and handed to `step-property-
|
|
28
|
+
* Owned here and handed to `step-property-set-readers.ts` BY REFERENCE rather than
|
|
29
29
|
* stored on its context: the reset below is an `export()`-level statement,
|
|
30
30
|
* and the comment there is where "per export, not per exporter" is argued.
|
|
31
31
|
* Moving the storage into a per-export context would make that reset
|
|
@@ -62,14 +62,14 @@ export declare class StepExporter {
|
|
|
62
62
|
*
|
|
63
63
|
* `allocateExpressId` hands out ids from THIS exporter's `nextExpressId`,
|
|
64
64
|
* which the property-set and quantity-set generators in
|
|
65
|
-
* `step-property-
|
|
65
|
+
* `step-property-set-generators.ts` increment at six further sites through the same
|
|
66
66
|
* callback — hoisting the counter onto the pass would change what it
|
|
67
67
|
* computes, not merely where it is named, so both phases get a callback
|
|
68
68
|
* instead (#2475 step 2a).
|
|
69
69
|
*/
|
|
70
70
|
private georefContext;
|
|
71
71
|
/**
|
|
72
|
-
* The state
|
|
72
|
+
* The state the property-set phase cannot read off the pass (#2475 2b/2c).
|
|
73
73
|
*
|
|
74
74
|
* `allocateExpressId` is the same callback `georefContext` hands out, over
|
|
75
75
|
* the same counter, so the ids the two phases allocate stay in one sequence.
|
package/dist/step-exporter.js
CHANGED
|
@@ -7,7 +7,7 @@ import { getCompleteEntityIndex, getMaxExpressId } from './entity-iteration.js';
|
|
|
7
7
|
import { createSourceRefReader } from './source-ref-bounds.js';
|
|
8
8
|
import { writeSourceEntityLines } from './step-source-iteration.js';
|
|
9
9
|
import { writeOverlayCreatedEntities } from './step-overlay-entities.js';
|
|
10
|
-
import { generatePropertyAndQuantitySetEntities
|
|
10
|
+
import { generatePropertyAndQuantitySetEntities } from './step-property-sets.js';
|
|
11
11
|
import { collectModifications } from './step-collection.js';
|
|
12
12
|
import { assembleExportResult } from './step-header.js';
|
|
13
13
|
import { applySourceLineMutations } from './step-attribute-mutations.js';
|
|
@@ -26,7 +26,7 @@ export class StepExporter {
|
|
|
26
26
|
/**
|
|
27
27
|
* The owner-history memos the property-set and quantity-set generators read.
|
|
28
28
|
*
|
|
29
|
-
* Owned here and handed to `step-property-
|
|
29
|
+
* Owned here and handed to `step-property-set-readers.ts` BY REFERENCE rather than
|
|
30
30
|
* stored on its context: the reset below is an `export()`-level statement,
|
|
31
31
|
* and the comment there is where "per export, not per exporter" is argued.
|
|
32
32
|
* Moving the storage into a per-export context would make that reset
|
|
@@ -205,7 +205,7 @@ export class StepExporter {
|
|
|
205
205
|
*
|
|
206
206
|
* `allocateExpressId` hands out ids from THIS exporter's `nextExpressId`,
|
|
207
207
|
* which the property-set and quantity-set generators in
|
|
208
|
-
* `step-property-
|
|
208
|
+
* `step-property-set-generators.ts` increment at six further sites through the same
|
|
209
209
|
* callback — hoisting the counter onto the pass would change what it
|
|
210
210
|
* computes, not merely where it is named, so both phases get a callback
|
|
211
211
|
* instead (#2475 step 2a).
|
|
@@ -219,7 +219,7 @@ export class StepExporter {
|
|
|
219
219
|
};
|
|
220
220
|
}
|
|
221
221
|
/**
|
|
222
|
-
* The state
|
|
222
|
+
* The state the property-set phase cannot read off the pass (#2475 2b/2c).
|
|
223
223
|
*
|
|
224
224
|
* `allocateExpressId` is the same callback `georefContext` hands out, over
|
|
225
225
|
* the same counter, so the ids the two phases allocate stay in one sequence.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-exporter.js","sourceRoot":"","sources":["../src/step-exporter.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAU/D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAyB,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,
|
|
1
|
+
{"version":3,"file":"step-exporter.js","sourceRoot":"","sources":["../src/step-exporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The entity types a STEP export treats as geometry.
|
|
3
|
-
*
|
|
4
|
-
* Split out of `StepExporter` for #2475. It was a private method only by
|
|
5
|
-
* habit: it reads nothing off the instance, so every consumer already
|
|
6
|
-
* received it as an injected callback rather than calling it through an
|
|
7
|
-
* exporter. Moving it changes no call site -- the three inside
|
|
8
|
-
* `step-exporter.ts` stop wrapping it in an arrow, and that is all.
|
|
9
|
-
*
|
|
10
|
-
* The set is the definition, not a cache of one. `includegeometry-header-count.test.ts`
|
|
11
|
-
* and `retype-geometry-boundary.test.ts` pin what belongs in it, and
|
|
12
|
-
* `reference-collector.ts` documents the one place a type in this set is
|
|
13
|
-
* still reachable when geometry is excluded.
|
|
14
|
-
*/
|
|
15
|
-
/**
|
|
16
|
-
* Check if an entity type is a geometry-related type
|
|
17
|
-
*/
|
|
1
|
+
/** Check if an entity type is a geometry-related type. */
|
|
18
2
|
export declare function isGeometryEntity(type: string): boolean;
|
|
19
3
|
//# sourceMappingURL=step-geometry-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-geometry-types.d.ts","sourceRoot":"","sources":["../src/step-geometry-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"step-geometry-types.d.ts","sourceRoot":"","sources":["../src/step-geometry-types.ts"],"names":[],"mappings":"AAuEA,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD"}
|
|
@@ -16,42 +16,58 @@
|
|
|
16
16
|
* still reachable when geometry is excluded.
|
|
17
17
|
*/
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* The set itself, at module scope rather than rebuilt per call.
|
|
20
|
+
*
|
|
21
|
+
* `isGeometryEntity` runs once per entity, through `isGeometryExcluded`, the
|
|
22
|
+
* source-iteration skip and `step-overlay-entities.ts` — so constructing this
|
|
23
|
+
* inside the function allocated a 31-string `Set` per entity on any export
|
|
24
|
+
* that excludes geometry. It was written that way as a private method and
|
|
25
|
+
* moved here verbatim; being a free function is what makes hoisting it
|
|
26
|
+
* trivial and obviously safe.
|
|
27
|
+
*
|
|
28
|
+
* Named PRIMITIVE deliberately. `@ifc-lite/parser` exports a `GEOMETRY_TYPES`
|
|
29
|
+
* of its own holding BUILDING ELEMENTS — `IFCWALL`, `IFCDOOR`, `IFCCOVERING`
|
|
30
|
+
* — which is close to the opposite of this set's contents: representation
|
|
31
|
+
* primitives like `IFCCARTESIANPOINT` and `IFCEXTRUDEDAREASOLID`. The two
|
|
32
|
+
* never collide as imports, since this one is module-private, but they
|
|
33
|
+
* collide for anyone grepping the symbol, and "the geometry types" is exactly
|
|
34
|
+
* the phrase that would make a reader reach for the wrong one.
|
|
20
35
|
*/
|
|
36
|
+
const GEOMETRY_PRIMITIVE_TYPES = new Set([
|
|
37
|
+
'IFCCARTESIANPOINT',
|
|
38
|
+
'IFCDIRECTION',
|
|
39
|
+
'IFCAXIS2PLACEMENT2D',
|
|
40
|
+
'IFCAXIS2PLACEMENT3D',
|
|
41
|
+
'IFCLOCALPLACEMENT',
|
|
42
|
+
'IFCSHAPEREPRESENTATION',
|
|
43
|
+
'IFCPRODUCTDEFINITIONSHAPE',
|
|
44
|
+
'IFCGEOMETRICREPRESENTATIONCONTEXT',
|
|
45
|
+
'IFCGEOMETRICREPRESENTATIONSUBCONTEXT',
|
|
46
|
+
'IFCEXTRUDEDAREASOLID',
|
|
47
|
+
'IFCFACETEDBREP',
|
|
48
|
+
'IFCPOLYLOOP',
|
|
49
|
+
'IFCFACE',
|
|
50
|
+
'IFCFACEOUTERBOUND',
|
|
51
|
+
'IFCCLOSEDSHELL',
|
|
52
|
+
'IFCRECTANGLEPROFILEDEF',
|
|
53
|
+
'IFCCIRCLEPROFILEDEF',
|
|
54
|
+
'IFCARBITRARYCLOSEDPROFILEDEF',
|
|
55
|
+
'IFCPOLYLINE',
|
|
56
|
+
'IFCTRIMMEDCURVE',
|
|
57
|
+
'IFCBSPLINECURVE',
|
|
58
|
+
'IFCBSPLINESURFACE',
|
|
59
|
+
'IFCTRIANGULATEDFACESET',
|
|
60
|
+
'IFCPOLYGONALFACE',
|
|
61
|
+
'IFCINDEXEDPOLYGONALFACE',
|
|
62
|
+
'IFCPOLYGONALFACESET',
|
|
63
|
+
'IFCSTYLEDITEM',
|
|
64
|
+
'IFCPRESENTATIONSTYLEASSIGNMENT',
|
|
65
|
+
'IFCSURFACESTYLE',
|
|
66
|
+
'IFCSURFACESTYLERENDERING',
|
|
67
|
+
'IFCCOLOURRGB',
|
|
68
|
+
]);
|
|
69
|
+
/** Check if an entity type is a geometry-related type. */
|
|
21
70
|
export function isGeometryEntity(type) {
|
|
22
|
-
|
|
23
|
-
'IFCCARTESIANPOINT',
|
|
24
|
-
'IFCDIRECTION',
|
|
25
|
-
'IFCAXIS2PLACEMENT2D',
|
|
26
|
-
'IFCAXIS2PLACEMENT3D',
|
|
27
|
-
'IFCLOCALPLACEMENT',
|
|
28
|
-
'IFCSHAPEREPRESENTATION',
|
|
29
|
-
'IFCPRODUCTDEFINITIONSHAPE',
|
|
30
|
-
'IFCGEOMETRICREPRESENTATIONCONTEXT',
|
|
31
|
-
'IFCGEOMETRICREPRESENTATIONSUBCONTEXT',
|
|
32
|
-
'IFCEXTRUDEDAREASOLID',
|
|
33
|
-
'IFCFACETEDBREP',
|
|
34
|
-
'IFCPOLYLOOP',
|
|
35
|
-
'IFCFACE',
|
|
36
|
-
'IFCFACEOUTERBOUND',
|
|
37
|
-
'IFCCLOSEDSHELL',
|
|
38
|
-
'IFCRECTANGLEPROFILEDEF',
|
|
39
|
-
'IFCCIRCLEPROFILEDEF',
|
|
40
|
-
'IFCARBITRARYCLOSEDPROFILEDEF',
|
|
41
|
-
'IFCPOLYLINE',
|
|
42
|
-
'IFCTRIMMEDCURVE',
|
|
43
|
-
'IFCBSPLINECURVE',
|
|
44
|
-
'IFCBSPLINESURFACE',
|
|
45
|
-
'IFCTRIANGULATEDFACESET',
|
|
46
|
-
'IFCPOLYGONALFACE',
|
|
47
|
-
'IFCINDEXEDPOLYGONALFACE',
|
|
48
|
-
'IFCPOLYGONALFACESET',
|
|
49
|
-
'IFCSTYLEDITEM',
|
|
50
|
-
'IFCPRESENTATIONSTYLEASSIGNMENT',
|
|
51
|
-
'IFCSURFACESTYLE',
|
|
52
|
-
'IFCSURFACESTYLERENDERING',
|
|
53
|
-
'IFCCOLOURRGB',
|
|
54
|
-
]);
|
|
55
|
-
return geometryTypes.has(type);
|
|
71
|
+
return GEOMETRY_PRIMITIVE_TYPES.has(type);
|
|
56
72
|
}
|
|
57
73
|
//# sourceMappingURL=step-geometry-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-geometry-types.js","sourceRoot":"","sources":["../src/step-geometry-types.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;GAaG;AAEH
|
|
1
|
+
{"version":3,"file":"step-geometry-types.js","sourceRoot":"","sources":["../src/step-geometry-types.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IAC5D,mBAAmB;IACnB,cAAc;IACd,qBAAqB;IACrB,qBAAqB;IACrB,mBAAmB;IACnB,wBAAwB;IACxB,2BAA2B;IAC3B,mCAAmC;IACnC,sCAAsC;IACtC,sBAAsB;IACtB,gBAAgB;IAChB,aAAa;IACb,SAAS;IACT,mBAAmB;IACnB,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;IACrB,8BAA8B;IAC9B,aAAa;IACb,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;IACnB,wBAAwB;IACxB,kBAAkB;IAClB,yBAAyB;IACzB,qBAAqB;IACrB,eAAe;IACf,gCAAgC;IAChC,iBAAiB;IACjB,0BAA0B;IAC1B,cAAc;CACf,CAAC,CAAC;AAEH,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -18,7 +18,6 @@
|
|
|
18
18
|
* assembly loop some 330 lines later is where those lines become bytes.
|
|
19
19
|
*/
|
|
20
20
|
import type { IfcDataStore, EntityExtractor } from '@ifc-lite/parser';
|
|
21
|
-
import type { EffectiveEntityIndex } from './effective-index.js';
|
|
22
21
|
import type { ExportPass, StepExportOptions } from './step-exporter.js';
|
|
23
22
|
/**
|
|
24
23
|
* The exporter state this phase cannot read off the pass.
|
|
@@ -46,13 +45,4 @@ export interface GeorefContext extends GeorefLookupContext {
|
|
|
46
45
|
* gate; reaching here means georeferencing edits were both requested and enabled.
|
|
47
46
|
*/
|
|
48
47
|
export declare function applyGeoreferencingMutations(pass: ExportPass, georefMutations: NonNullable<StepExportOptions['georefMutations']>, ctx: GeorefContext): void;
|
|
49
|
-
export declare function resolveMapUnitReference(unitName: string, newGeorefLines: string[], effective: EffectiveEntityIndex, ctx: GeorefContext): number;
|
|
50
|
-
export declare function normalizeMapUnitName(unitName: string): string;
|
|
51
|
-
/**
|
|
52
|
-
* `effective` filters the candidates the same way the georef reads above do:
|
|
53
|
-
* returning a tombstoned unit id hands the caller a `#id` for a line the
|
|
54
|
-
* export never writes. Returning null instead makes `resolveMapUnitReference`
|
|
55
|
-
* synthesise a fresh unit, which is the outcome a deleted unit deserves.
|
|
56
|
-
*/
|
|
57
|
-
export declare function findLengthUnitReference(preferredUnitName: string, effective: EffectiveEntityIndex, ctx: GeorefLookupContext): number | null;
|
|
58
48
|
//# sourceMappingURL=step-georeferencing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-georeferencing.d.ts","sourceRoot":"","sources":["../src/step-georeferencing.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"step-georeferencing.d.ts","sourceRoot":"","sources":["../src/step-georeferencing.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGtE,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAkCxE;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACxD,oDAAoD;IACpD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,MAAM,CAAC;IACzC;;yDAEqD;IACrD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,UAAU,EAChB,eAAe,EAAE,WAAW,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,EAClE,GAAG,EAAE,aAAa,GACjB,IAAI,CAsKN"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
4
|
import { escapeStepString, toStepReal } from './step-serialization.js';
|
|
5
|
+
import { reportMapUnitUnsupported, resolveMapUnitReference } from './step-map-unit.js';
|
|
5
6
|
/**
|
|
6
7
|
* Message for the one refusal `export()` can report, shared by the returned
|
|
7
8
|
* `stats.warnings` entry and the console line so the two cannot drift.
|
|
@@ -16,6 +17,18 @@ const MAP_CONVERSION_WITHOUT_CONTEXT_WARNING = 'Cannot create IfcMapConversion:
|
|
|
16
17
|
* available to reference.
|
|
17
18
|
*/
|
|
18
19
|
const MAP_CONVERSION_WITHOUT_CRS_WARNING = 'Cannot create IfcMapConversion: no IfcProjectedCRS was requested and none exists in the file to reference as TargetCRS. Nothing was written.';
|
|
20
|
+
/**
|
|
21
|
+
* Every concrete class carrying an IfcMapConversion's attributes, in the
|
|
22
|
+
* UPPERCASE spelling `EffectiveEntityIndex.byType` is keyed by. Kept beside
|
|
23
|
+
* `@ifc-lite/parser`'s `MAP_CONVERSION_TYPE_NAMES`, which is the same list in
|
|
24
|
+
* the mixed-case spelling the read path uses — the reader and the writer must
|
|
25
|
+
* agree on what counts as a map conversion, or the exporter duplicates a
|
|
26
|
+
* record the reader can see.
|
|
27
|
+
*/
|
|
28
|
+
const MAP_CONVERSION_STEP_TYPES = [
|
|
29
|
+
'IFCMAPCONVERSION',
|
|
30
|
+
'IFCMAPCONVERSIONSCALED',
|
|
31
|
+
];
|
|
19
32
|
/**
|
|
20
33
|
* Apply `options.georefMutations` to `pass`, in place.
|
|
21
34
|
*
|
|
@@ -33,7 +46,17 @@ export function applyGeoreferencingMutations(pass, georefMutations, ctx) {
|
|
|
33
46
|
// pass applies `modifiedAttributes` to, so both branches agree on which
|
|
34
47
|
// georeferencing entities exist (#2048).
|
|
35
48
|
const existingCrsIds = pass.effective.byType.get('IFCPROJECTEDCRS');
|
|
36
|
-
|
|
49
|
+
// `byType` is keyed by the RAW STEP type name, so the supertype key alone
|
|
50
|
+
// does not see IFC4X3's concrete IfcMapConversionScaled. Missing it left a
|
|
51
|
+
// file that HAS a map conversion looking like one that has none: the modify
|
|
52
|
+
// branch below found nothing, and a create branch ran instead — emitting a
|
|
53
|
+
// SECOND coordinate operation against the same source CRS while the file's
|
|
54
|
+
// own scaled one stayed put, which is not a file any consumer can read
|
|
55
|
+
// unambiguously. The six attributes edited below are IfcMapConversion's own
|
|
56
|
+
// and are edited BY NAME, which the scaled subtype inherits unchanged, so
|
|
57
|
+
// modifying it in place is well-defined (its extra FactorX/Y/Z sit after
|
|
58
|
+
// them and are left alone).
|
|
59
|
+
const existingMcIds = MAP_CONVERSION_STEP_TYPES.flatMap((typeName) => pass.effective.byType.get(typeName) ?? []);
|
|
37
60
|
// Modify existing IfcProjectedCRS
|
|
38
61
|
if (gm.projectedCRS && existingCrsIds?.length) {
|
|
39
62
|
const entityId = existingCrsIds[0];
|
|
@@ -69,7 +92,17 @@ export function applyGeoreferencingMutations(pass, georefMutations, ctx) {
|
|
|
69
92
|
}
|
|
70
93
|
if (crs.mapUnit !== undefined) {
|
|
71
94
|
const mapUnitRef = resolveMapUnitReference(String(crs.mapUnit), pass.newGeorefLines, pass.effective, ctx);
|
|
72
|
-
|
|
95
|
+
// A refused unit clears MapUnit rather than leaving the file's own in
|
|
96
|
+
// place: the caller asked for a DIFFERENT unit, so the one already
|
|
97
|
+
// there is known to be wrong, and `$` is the only honest answer this
|
|
98
|
+
// exporter can write (#3274).
|
|
99
|
+
if (mapUnitRef === null) {
|
|
100
|
+
reportMapUnitUnsupported(pass.warnings, String(crs.mapUnit));
|
|
101
|
+
attrMap.set('MapUnit', '$');
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
attrMap.set('MapUnit', `#${mapUnitRef}`);
|
|
105
|
+
}
|
|
73
106
|
changed = true;
|
|
74
107
|
}
|
|
75
108
|
if (changed) {
|
|
@@ -147,9 +180,17 @@ export function applyGeoreferencingMutations(pass, georefMutations, ctx) {
|
|
|
147
180
|
const vDatum = crs.verticalDatum ? `'${escapeStepString(String(crs.verticalDatum))}'` : '$';
|
|
148
181
|
const proj = crs.mapProjection ? `'${escapeStepString(String(crs.mapProjection))}'` : '$';
|
|
149
182
|
const zone = crs.mapZone ? `'${escapeStepString(String(crs.mapZone))}'` : '$';
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
183
|
+
let mapUnitRef = '$';
|
|
184
|
+
// `!== undefined`, matching the existing-CRS path above: an empty MapUnit is
|
|
185
|
+
// a unit this exporter cannot express, not an absent request, and the caller
|
|
186
|
+
// has to be told so rather than quietly getting `$`.
|
|
187
|
+
if (crs.mapUnit !== undefined) {
|
|
188
|
+
const resolved = resolveMapUnitReference(String(crs.mapUnit), pass.newGeorefLines, pass.effective, ctx);
|
|
189
|
+
if (resolved === null)
|
|
190
|
+
reportMapUnitUnsupported(pass.warnings, String(crs.mapUnit));
|
|
191
|
+
else
|
|
192
|
+
mapUnitRef = `#${resolved}`;
|
|
193
|
+
}
|
|
153
194
|
pass.newGeorefLines.push(`#${crsId}=IFCPROJECTEDCRS(${name},${desc},${datum},${vDatum},${proj},${zone},${mapUnitRef});`);
|
|
154
195
|
pass.newEntityCount++;
|
|
155
196
|
// Find IfcGeometricRepresentationContext as SourceCRS for MapConversion
|
|
@@ -199,95 +240,6 @@ export function applyGeoreferencingMutations(pass, georefMutations, ctx) {
|
|
|
199
240
|
reportMapConversionRefusedNoCrs(pass.warnings);
|
|
200
241
|
}
|
|
201
242
|
}
|
|
202
|
-
export function resolveMapUnitReference(unitName, newGeorefLines, effective, ctx) {
|
|
203
|
-
const normalized = normalizeMapUnitName(unitName);
|
|
204
|
-
const existing = findLengthUnitReference(normalized, effective, ctx);
|
|
205
|
-
if (existing !== null) {
|
|
206
|
-
return existing;
|
|
207
|
-
}
|
|
208
|
-
if (normalized === 'METRE') {
|
|
209
|
-
const unitId = ctx.allocateExpressId();
|
|
210
|
-
newGeorefLines.push(`#${unitId}=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);`);
|
|
211
|
-
return unitId;
|
|
212
|
-
}
|
|
213
|
-
if (normalized === 'FOOT' || normalized === 'US SURVEY FOOT') {
|
|
214
|
-
const dimId = ctx.allocateExpressId();
|
|
215
|
-
const siUnitId = ctx.allocateExpressId();
|
|
216
|
-
const measureId = ctx.allocateExpressId();
|
|
217
|
-
const convUnitId = ctx.allocateExpressId();
|
|
218
|
-
const factor = normalized === 'US SURVEY FOOT' ? 1200 / 3937 : 0.3048;
|
|
219
|
-
const name = normalized === 'US SURVEY FOOT' ? 'US SURVEY FOOT' : 'FOOT';
|
|
220
|
-
newGeorefLines.push(`#${dimId}=IFCDIMENSIONALEXPONENTS(1,0,0,0,0,0,0);`);
|
|
221
|
-
newGeorefLines.push(`#${siUnitId}=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);`);
|
|
222
|
-
newGeorefLines.push(`#${measureId}=IFCMEASUREWITHUNIT(IFCLENGTHMEASURE(${toStepReal(factor)}),#${siUnitId});`);
|
|
223
|
-
newGeorefLines.push(`#${convUnitId}=IFCCONVERSIONBASEDUNIT(#${dimId},.LENGTHUNIT.,'${name}',#${measureId});`);
|
|
224
|
-
return convUnitId;
|
|
225
|
-
}
|
|
226
|
-
const fallbackId = ctx.allocateExpressId();
|
|
227
|
-
newGeorefLines.push(`#${fallbackId}=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);`);
|
|
228
|
-
return fallbackId;
|
|
229
|
-
}
|
|
230
|
-
export function normalizeMapUnitName(unitName) {
|
|
231
|
-
const normalized = unitName.trim().toUpperCase().replace(/\s+/g, ' ');
|
|
232
|
-
if (normalized.includes('US SURVEY FOOT'))
|
|
233
|
-
return 'US SURVEY FOOT';
|
|
234
|
-
if (normalized.includes('METER') || normalized.includes('METRE'))
|
|
235
|
-
return 'METRE';
|
|
236
|
-
if (normalized.includes('FOOT') || normalized.includes('FEET'))
|
|
237
|
-
return 'FOOT';
|
|
238
|
-
return normalized;
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* `effective` filters the candidates the same way the georef reads above do:
|
|
242
|
-
* returning a tombstoned unit id hands the caller a `#id` for a line the
|
|
243
|
-
* export never writes. Returning null instead makes `resolveMapUnitReference`
|
|
244
|
-
* synthesise a fresh unit, which is the outcome a deleted unit deserves.
|
|
245
|
-
*/
|
|
246
|
-
export function findLengthUnitReference(preferredUnitName, effective, ctx) {
|
|
247
|
-
if (!ctx.entityExtractor)
|
|
248
|
-
return null;
|
|
249
|
-
// Only source records carry the bytes `extractEntity` reads, so an
|
|
250
|
-
// overlay-created project is skipped rather than shadowing the file's own.
|
|
251
|
-
const projectId = (effective.byType.get('IFCPROJECT') ?? []).find((id) => ctx.dataStore.entityIndex.byId.has(id));
|
|
252
|
-
const projectRef = projectId !== undefined ? ctx.dataStore.entityIndex.byId.get(projectId) : undefined;
|
|
253
|
-
const project = projectRef ? ctx.entityExtractor.extractEntity(projectRef) : null;
|
|
254
|
-
const unitAssignmentId = project?.attributes?.[8];
|
|
255
|
-
if (typeof unitAssignmentId !== 'number' || effective.isDeleted(unitAssignmentId))
|
|
256
|
-
return null;
|
|
257
|
-
const unitAssignmentRef = ctx.dataStore.entityIndex.byId.get(unitAssignmentId);
|
|
258
|
-
const unitAssignment = unitAssignmentRef ? ctx.entityExtractor.extractEntity(unitAssignmentRef) : null;
|
|
259
|
-
const units = unitAssignment?.attributes?.[0];
|
|
260
|
-
if (!Array.isArray(units))
|
|
261
|
-
return null;
|
|
262
|
-
for (const unitId of units) {
|
|
263
|
-
if (typeof unitId !== 'number' || effective.isDeleted(unitId))
|
|
264
|
-
continue;
|
|
265
|
-
const unitRef = ctx.dataStore.entityIndex.byId.get(unitId);
|
|
266
|
-
const unit = unitRef ? ctx.entityExtractor.extractEntity(unitRef) : null;
|
|
267
|
-
if (!unit)
|
|
268
|
-
continue;
|
|
269
|
-
const typeName = unit.type.toUpperCase();
|
|
270
|
-
const attrs = unit.attributes ?? [];
|
|
271
|
-
const unitType = typeof attrs[1] === 'string' ? attrs[1].replace(/\./g, '').toUpperCase() : '';
|
|
272
|
-
if (unitType !== 'LENGTHUNIT')
|
|
273
|
-
continue;
|
|
274
|
-
if (typeName === 'IFCSIUNIT') {
|
|
275
|
-
const prefix = typeof attrs[2] === 'string' ? attrs[2].replace(/\./g, '').toUpperCase() : '';
|
|
276
|
-
const name = typeof attrs[3] === 'string' ? attrs[3].replace(/\./g, '').toUpperCase() : '';
|
|
277
|
-
const combined = prefix ? `${prefix}${name}` : name;
|
|
278
|
-
if (preferredUnitName === 'METRE' && (combined === 'METRE' || combined === 'METER')) {
|
|
279
|
-
return unitId;
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
if (typeName === 'IFCCONVERSIONBASEDUNIT') {
|
|
283
|
-
const name = typeof attrs[2] === 'string' ? normalizeMapUnitName(attrs[2]) : '';
|
|
284
|
-
if (name === preferredUnitName) {
|
|
285
|
-
return unitId;
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
return null;
|
|
290
|
-
}
|
|
291
243
|
/**
|
|
292
244
|
* Record that a requested IfcMapConversion could not be written. Emitting it
|
|
293
245
|
* anyway would leave `SourceCRS` pointing at nothing, so the refusal is the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-georeferencing.js","sourceRoot":"","sources":["../src/step-georeferencing.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"step-georeferencing.js","sourceRoot":"","sources":["../src/step-georeferencing.ts"],"names":[],"mappings":"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"}
|
package/dist/step-header.d.ts
CHANGED
|
@@ -33,7 +33,17 @@ import type { ExportPass, StepExportOptions, StepExportResult } from './step-exp
|
|
|
33
33
|
* {@link assembleExportResult} below) — so the provenance item it appends
|
|
34
34
|
* reflects what this export actually wrote, not a guess made at setup time.
|
|
35
35
|
*/
|
|
36
|
-
|
|
36
|
+
/**
|
|
37
|
+
* The subset of {@link StepExportOptions} the header actually reads.
|
|
38
|
+
*
|
|
39
|
+
* `schema` is deliberately NOT part of it: the token written into FILE_SCHEMA
|
|
40
|
+
* arrives separately as `schemaToken`, so requiring it here would force every
|
|
41
|
+
* caller — and every parity vector, which supplies the token from its own
|
|
42
|
+
* field — to spell out a value this function never consults. Spelled-out
|
|
43
|
+
* values are how two implementations' defaults drift apart unnoticed.
|
|
44
|
+
*/
|
|
45
|
+
export type StepHeaderOptions = Pick<StepExportOptions, 'description' | 'author' | 'organization' | 'authorization' | 'originatingSystem' | 'application' | 'filename' | 'timeStamp'>;
|
|
46
|
+
export declare function buildStepHeader(options: StepHeaderOptions, sourceHeader: IfcSourceHeader | undefined, schemaToken: string, modifications: number): string;
|
|
37
47
|
/**
|
|
38
48
|
* Settle the delta ledger, build the header against the settled count, and
|
|
39
49
|
* assemble the finished bytes. The header is built last so its provenance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-header.d.ts","sourceRoot":"","sources":["../src/step-header.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE1F;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,YAAY,EAAE,eAAe,GAAG,SAAS,EACzC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,MAAM,CA+BR;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,gBAAgB,CAwBvE"}
|
|
1
|
+
{"version":3,"file":"step-header.d.ts","sourceRoot":"","sources":["../src/step-header.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE1F;;;;;;GAMG;AACH;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,iBAAiB,EACf,aAAa,GAAG,QAAQ,GAAG,cAAc,GAAG,eAAe,GAAG,mBAAmB,GACjF,aAAa,GAAG,UAAU,GAAG,WAAW,CAC3C,CAAC;AAEF,wBAAgB,eAAe,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,YAAY,EAAE,eAAe,GAAG,SAAS,EACzC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,MAAM,CA+BR;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,gBAAgB,CAwBvE"}
|
package/dist/step-header.js
CHANGED
|
@@ -3,13 +3,6 @@
|
|
|
3
3
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
4
|
import { generateHeader } from '@ifc-lite/parser';
|
|
5
5
|
import { assembleStepBytes } from './step-file-assembly.js';
|
|
6
|
-
/**
|
|
7
|
-
* Build the STEP HEADER section text. `modifications` is read last, at each
|
|
8
|
-
* call site, once the real count is known — see the two callers in
|
|
9
|
-
* `step-exporter.ts` (the `deltaOnly`-empty early return, and
|
|
10
|
-
* {@link assembleExportResult} below) — so the provenance item it appends
|
|
11
|
-
* reflects what this export actually wrote, not a guess made at setup time.
|
|
12
|
-
*/
|
|
13
6
|
export function buildStepHeader(options, sourceHeader, schemaToken, modifications) {
|
|
14
7
|
// FILE_DESCRIPTION items: an explicit option wins, else the source items
|
|
15
8
|
// verbatim, else the generic default.
|
|
@@ -32,8 +25,8 @@ export function buildStepHeader(options, sourceHeader, schemaToken, modification
|
|
|
32
25
|
// preprocessor_version = the tool that WROTE this file (ifc-lite);
|
|
33
26
|
// originating_system keeps the source authoring tool so it isn't erased.
|
|
34
27
|
preprocessorVersion: options.application ?? 'ifc-lite',
|
|
35
|
-
originatingSystem: sourceHeader?.originatingSystem,
|
|
36
|
-
authorization: sourceHeader?.authorization,
|
|
28
|
+
originatingSystem: options.originatingSystem ?? sourceHeader?.originatingSystem,
|
|
29
|
+
authorization: options.authorization ?? sourceHeader?.authorization,
|
|
37
30
|
application: options.application ?? 'ifc-lite',
|
|
38
31
|
filename: options.filename ?? 'export.ifc',
|
|
39
32
|
timeStamp: options.timeStamp,
|
package/dist/step-header.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-header.js","sourceRoot":"","sources":["../src/step-header.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AA8B/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"step-header.js","sourceRoot":"","sources":["../src/step-header.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AA8B/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAyB5D,MAAM,UAAU,eAAe,CAC7B,OAA0B,EAC1B,YAAyC,EACzC,WAAmB,EACnB,aAAqB;IAErB,yEAAyE;IACzE,sCAAsC;IACtC,MAAM,WAAW,GACf,OAAO,CAAC,WAAW,KAAK,SAAS;QAC/B,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QACvB,CAAC,CAAC,YAAY,IAAI,YAAY,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACnD,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC;YAC/B,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;IACnC,wEAAwE;IACxE,+DAA+D;IAC/D,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACtB,WAAW,CAAC,IAAI,CACd,4BAA4B,aAAa,gBAAgB,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAC1F,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CAAC;QACpB,MAAM,EAAE,WAAW;QACnB,WAAW;QACX,mBAAmB,EAAE,YAAY,EAAE,mBAAmB;QACtD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,YAAY,EAAE,MAAM;QAC9C,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,YAAY,EAAE,YAAY;QAChE,mEAAmE;QACnE,yEAAyE;QACzE,mBAAmB,EAAE,OAAO,CAAC,WAAW,IAAI,UAAU;QACtD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,YAAY,EAAE,iBAAiB;QAC/E,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,YAAY,EAAE,aAAa;QACnE,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,UAAU;QAC9C,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,YAAY;QAC1C,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAgB;IACnD,yEAAyE;IACzE,yEAAyE;IACzE,4EAA4E;IAC5E,4EAA4E;IAC5E,6CAA6C;IAC7C,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;IACrF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IAErC,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,GAAG,mBAAmB,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEzD,OAAO;QACL,OAAO;QACP,KAAK,EAAE;YACL,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YACjC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,mBAAmB;YACnB,QAAQ,EAAE,OAAO,CAAC,UAAU;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;KACF,CAAC;AACJ,CAAC"}
|