@ifc-lite/drawing-2d 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.
@@ -0,0 +1,38 @@
1
+ /**
2
+ * IFC type hierarchy for graphic-override subtype matching.
3
+ *
4
+ * `ifcTypeCriterion` defaults `includeSubtypes` to true, so a rule naming a
5
+ * supertype is expected to style every element beneath it. That expansion is
6
+ * driven by the table below, which means anything the table omits is silently
7
+ * skipped: the element still draws, just without the override the rule was
8
+ * written to apply, and nothing warns.
9
+ *
10
+ * `SUBTYPES_BY_SUPERTYPE` is therefore mechanically derived from the IFC4
11
+ * (ADD2 TC1) schema rather than curated by hand — it is the direct-children
12
+ * map of every entity under `IfcElement` and `IfcSpatialElement`, the entities
13
+ * a 2D drawing can contain. `ifc-type-hierarchy.test.ts` re-derives the same
14
+ * map from `@ifc-lite/data`'s `ENTITIES_IFC4` and fails if the two disagree,
15
+ * so a schema bump cannot quietly reintroduce the gap.
16
+ *
17
+ * Do not hand-edit `SUBTYPES_BY_SUPERTYPE` to add a convenience name; put it in
18
+ * `AUTHORING_ALIASES` with a reason, or the parity test will reject it.
19
+ */
20
+ /**
21
+ * Direct subtypes of each entity, derived from IFC4 ADD2 TC1.
22
+ * `getIfcSubtypes` walks this transitively.
23
+ */
24
+ export declare const SUBTYPES_BY_SUPERTYPE: Readonly<Record<string, readonly string[]>>;
25
+ /**
26
+ * Names that are NOT IFC4 entities but that rule authors reasonably write.
27
+ * Kept deliberately, and separately, so the schema-parity test can hold
28
+ * `SUBTYPES_BY_SUPERTYPE` to the schema exactly.
29
+ */
30
+ export declare const AUTHORING_ALIASES: Readonly<Record<string, readonly string[]>>;
31
+ /**
32
+ * Every transitive subtype of `ifcType`, or `[]` if it has none / is unknown.
33
+ *
34
+ * The returned names are unique. The walk tracks visited nodes, so an alias
35
+ * that points back into the table cannot spin.
36
+ */
37
+ export declare function getIfcSubtypes(ifcType: string): string[];
38
+ //# sourceMappingURL=ifc-type-hierarchy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ifc-type-hierarchy.d.ts","sourceRoot":"","sources":["../../src/graphic-overrides/ifc-type-hierarchy.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAyEtC,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAgBzE,CAAC;AAcF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAaxD"}
@@ -0,0 +1,156 @@
1
+ /* This Source Code Form is subject to the terms of the Mozilla Public
2
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
+ /**
5
+ * IFC type hierarchy for graphic-override subtype matching.
6
+ *
7
+ * `ifcTypeCriterion` defaults `includeSubtypes` to true, so a rule naming a
8
+ * supertype is expected to style every element beneath it. That expansion is
9
+ * driven by the table below, which means anything the table omits is silently
10
+ * skipped: the element still draws, just without the override the rule was
11
+ * written to apply, and nothing warns.
12
+ *
13
+ * `SUBTYPES_BY_SUPERTYPE` is therefore mechanically derived from the IFC4
14
+ * (ADD2 TC1) schema rather than curated by hand — it is the direct-children
15
+ * map of every entity under `IfcElement` and `IfcSpatialElement`, the entities
16
+ * a 2D drawing can contain. `ifc-type-hierarchy.test.ts` re-derives the same
17
+ * map from `@ifc-lite/data`'s `ENTITIES_IFC4` and fails if the two disagree,
18
+ * so a schema bump cannot quietly reintroduce the gap.
19
+ *
20
+ * Do not hand-edit `SUBTYPES_BY_SUPERTYPE` to add a convenience name; put it in
21
+ * `AUTHORING_ALIASES` with a reason, or the parity test will reject it.
22
+ */
23
+ /**
24
+ * Direct subtypes of each entity, derived from IFC4 ADD2 TC1.
25
+ * `getIfcSubtypes` walks this transitively.
26
+ */
27
+ export const SUBTYPES_BY_SUPERTYPE = {
28
+ IfcBeam: ['IfcBeamStandardCase'],
29
+ IfcBuildingElement: [
30
+ 'IfcBeam', 'IfcBuildingElementProxy', 'IfcChimney', 'IfcColumn', 'IfcCovering',
31
+ 'IfcCurtainWall', 'IfcDoor', 'IfcFooting', 'IfcMember', 'IfcPile', 'IfcPlate', 'IfcRailing',
32
+ 'IfcRamp', 'IfcRampFlight', 'IfcRoof', 'IfcShadingDevice', 'IfcSlab', 'IfcStair',
33
+ 'IfcStairFlight', 'IfcWall', 'IfcWindow',
34
+ ],
35
+ IfcColumn: ['IfcColumnStandardCase'],
36
+ IfcDistributionControlElement: [
37
+ 'IfcActuator', 'IfcAlarm', 'IfcController', 'IfcFlowInstrument',
38
+ 'IfcProtectiveDeviceTrippingUnit', 'IfcSensor', 'IfcUnitaryControlElement',
39
+ ],
40
+ IfcDistributionElement: ['IfcDistributionControlElement', 'IfcDistributionFlowElement'],
41
+ IfcDistributionFlowElement: [
42
+ 'IfcDistributionChamberElement', 'IfcEnergyConversionDevice', 'IfcFlowController',
43
+ 'IfcFlowFitting', 'IfcFlowMovingDevice', 'IfcFlowSegment', 'IfcFlowStorageDevice',
44
+ 'IfcFlowTerminal', 'IfcFlowTreatmentDevice',
45
+ ],
46
+ IfcDoor: ['IfcDoorStandardCase'],
47
+ IfcElement: [
48
+ 'IfcBuildingElement', 'IfcCivilElement', 'IfcDistributionElement', 'IfcElementAssembly',
49
+ 'IfcElementComponent', 'IfcFeatureElement', 'IfcFurnishingElement', 'IfcGeographicElement',
50
+ 'IfcTransportElement', 'IfcVirtualElement',
51
+ ],
52
+ IfcElementComponent: [
53
+ 'IfcBuildingElementPart', 'IfcDiscreteAccessory', 'IfcFastener', 'IfcMechanicalFastener',
54
+ 'IfcReinforcingElement', 'IfcVibrationIsolator',
55
+ ],
56
+ IfcEnergyConversionDevice: [
57
+ 'IfcAirToAirHeatRecovery', 'IfcBoiler', 'IfcBurner', 'IfcChiller', 'IfcCoil',
58
+ 'IfcCondenser', 'IfcCooledBeam', 'IfcCoolingTower', 'IfcElectricGenerator',
59
+ 'IfcElectricMotor', 'IfcEngine', 'IfcEvaporativeCooler', 'IfcEvaporator',
60
+ 'IfcHeatExchanger', 'IfcHumidifier', 'IfcMotorConnection', 'IfcSolarDevice',
61
+ 'IfcTransformer', 'IfcTubeBundle', 'IfcUnitaryEquipment',
62
+ ],
63
+ IfcExternalSpatialStructureElement: ['IfcExternalSpatialElement'],
64
+ IfcFeatureElement: [
65
+ 'IfcFeatureElementAddition', 'IfcFeatureElementSubtraction', 'IfcSurfaceFeature',
66
+ ],
67
+ IfcFeatureElementAddition: ['IfcProjectionElement'],
68
+ IfcFeatureElementSubtraction: ['IfcOpeningElement', 'IfcVoidingFeature'],
69
+ IfcFlowController: [
70
+ 'IfcAirTerminalBox', 'IfcDamper', 'IfcElectricDistributionBoard', 'IfcElectricTimeControl',
71
+ 'IfcFlowMeter', 'IfcProtectiveDevice', 'IfcSwitchingDevice', 'IfcValve',
72
+ ],
73
+ IfcFlowFitting: [
74
+ 'IfcCableCarrierFitting', 'IfcCableFitting', 'IfcDuctFitting', 'IfcJunctionBox',
75
+ 'IfcPipeFitting',
76
+ ],
77
+ IfcFlowMovingDevice: ['IfcCompressor', 'IfcFan', 'IfcPump'],
78
+ IfcFlowSegment: ['IfcCableCarrierSegment', 'IfcCableSegment', 'IfcDuctSegment', 'IfcPipeSegment'],
79
+ IfcFlowStorageDevice: ['IfcElectricFlowStorageDevice', 'IfcTank'],
80
+ IfcFlowTerminal: [
81
+ 'IfcAirTerminal', 'IfcAudioVisualAppliance', 'IfcCommunicationsAppliance',
82
+ 'IfcElectricAppliance', 'IfcFireSuppressionTerminal', 'IfcLamp', 'IfcLightFixture',
83
+ 'IfcMedicalDevice', 'IfcOutlet', 'IfcSanitaryTerminal', 'IfcSpaceHeater',
84
+ 'IfcStackTerminal', 'IfcWasteTerminal',
85
+ ],
86
+ IfcFlowTreatmentDevice: ['IfcDuctSilencer', 'IfcFilter', 'IfcInterceptor'],
87
+ IfcFurnishingElement: ['IfcFurniture', 'IfcSystemFurnitureElement'],
88
+ IfcMember: ['IfcMemberStandardCase'],
89
+ IfcOpeningElement: ['IfcOpeningStandardCase'],
90
+ IfcPlate: ['IfcPlateStandardCase'],
91
+ IfcReinforcingElement: [
92
+ 'IfcReinforcingBar', 'IfcReinforcingMesh', 'IfcTendon', 'IfcTendonAnchor',
93
+ ],
94
+ IfcSlab: ['IfcSlabElementedCase', 'IfcSlabStandardCase'],
95
+ IfcSpatialElement: [
96
+ 'IfcExternalSpatialStructureElement', 'IfcSpatialStructureElement', 'IfcSpatialZone',
97
+ ],
98
+ IfcSpatialStructureElement: ['IfcBuilding', 'IfcBuildingStorey', 'IfcSite', 'IfcSpace'],
99
+ IfcWall: ['IfcWallElementedCase', 'IfcWallStandardCase'],
100
+ IfcWindow: ['IfcWindowStandardCase'],
101
+ };
102
+ /**
103
+ * Names that are NOT IFC4 entities but that rule authors reasonably write.
104
+ * Kept deliberately, and separately, so the schema-parity test can hold
105
+ * `SUBTYPES_BY_SUPERTYPE` to the schema exactly.
106
+ */
107
+ export const AUTHORING_ALIASES = {
108
+ /**
109
+ * Not an entity in IFC2X3, IFC4 or IFC4X3 — the real supertype of the flow
110
+ * entities is `IfcDistributionFlowElement`. It shipped as a table key, so a
111
+ * rule may already name it; mapping it keeps those rules working (and now
112
+ * reaches the whole flow subtree rather than four names).
113
+ */
114
+ IfcFlowElement: ['IfcDistributionFlowElement'],
115
+ /**
116
+ * `IfcStairFlight`/`IfcRampFlight` are siblings of `IfcStair`/`IfcRamp` under
117
+ * `IfcBuildingElement`, not subtypes. The table has always expanded them this
118
+ * way and a rule on `IfcStair` that stopped covering its flights would be a
119
+ * silent narrowing, so the authoring convenience is kept and named.
120
+ */
121
+ IfcStair: ['IfcStairFlight'],
122
+ IfcRamp: ['IfcRampFlight'],
123
+ };
124
+ /** Schema subtypes plus authoring aliases, merged. */
125
+ const HIERARCHY = (() => {
126
+ const merged = {};
127
+ for (const [parent, children] of Object.entries(SUBTYPES_BY_SUPERTYPE)) {
128
+ merged[parent] = [...children];
129
+ }
130
+ for (const [parent, children] of Object.entries(AUTHORING_ALIASES)) {
131
+ merged[parent] = [...new Set([...(merged[parent] ?? []), ...children])];
132
+ }
133
+ return merged;
134
+ })();
135
+ /**
136
+ * Every transitive subtype of `ifcType`, or `[]` if it has none / is unknown.
137
+ *
138
+ * The returned names are unique. The walk tracks visited nodes, so an alias
139
+ * that points back into the table cannot spin.
140
+ */
141
+ export function getIfcSubtypes(ifcType) {
142
+ const seen = new Set();
143
+ const out = [];
144
+ const walk = (type) => {
145
+ for (const child of HIERARCHY[type] ?? []) {
146
+ if (seen.has(child))
147
+ continue;
148
+ seen.add(child);
149
+ out.push(child);
150
+ walk(child);
151
+ }
152
+ };
153
+ walk(ifcType);
154
+ return out;
155
+ }
156
+ //# sourceMappingURL=ifc-type-hierarchy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ifc-type-hierarchy.js","sourceRoot":"","sources":["../../src/graphic-overrides/ifc-type-hierarchy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rule-engine.d.ts","sourceRoot":"","sources":["../../src/graphic-overrides/rule-engine.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,YAAY,EAEZ,cAAc,EAIf,MAAM,YAAY,CAAC;AAyWpB,qBAAa,qBAAqB;IAChC,OAAO,CAAC,KAAK,CAA6B;gBAE9B,KAAK,CAAC,EAAE,mBAAmB,EAAE;IAMzC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,GAAG,IAAI;IAK5C;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI;IAKxC;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIhC;;OAEG;IACH,QAAQ,IAAI,mBAAmB,EAAE;IAIjC;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,cAAc;IAyBvF;;OAEG;IACH,oBAAoB,CAClB,QAAQ,EAAE,WAAW,EAAE,EACvB,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,GAC9C,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;IAW9B;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,mBAAmB,EAAE;IAM7D;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,MAAM,EAAE;CA0BlF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,mBAAmB,EAAE,GAAG,qBAAqB,CAEzF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe,UAAO,GAAG,iBAAiB,CAM3F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,CAAC,EAAE,OAAO,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,iBAAiB,CAQnB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,GAAG,UAAU,EAAE,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,EAAE,GACtD,gBAAgB,CAElB;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,GAAG,UAAU,EAAE,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,EAAE,GACtD,gBAAgB,CAElB"}
1
+ {"version":3,"file":"rule-engine.d.ts","sourceRoot":"","sources":["../../src/graphic-overrides/rule-engine.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,YAAY,EAEZ,cAAc,EAIf,MAAM,YAAY,CAAC;AAmUpB,qBAAa,qBAAqB;IAChC,OAAO,CAAC,KAAK,CAA6B;gBAE9B,KAAK,CAAC,EAAE,mBAAmB,EAAE;IAMzC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,GAAG,IAAI;IAK5C;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI;IAKxC;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIhC;;OAEG;IACH,QAAQ,IAAI,mBAAmB,EAAE;IAIjC;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,cAAc;IAyBvF;;OAEG;IACH,oBAAoB,CAClB,QAAQ,EAAE,WAAW,EAAE,EACvB,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,GAC9C,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;IAW9B;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,mBAAmB,EAAE;IAM7D;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,MAAM,EAAE;CA0BlF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,mBAAmB,EAAE,GAAG,qBAAqB,CAEzF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe,UAAO,GAAG,iBAAiB,CAM3F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,CAAC,EAAE,OAAO,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,iBAAiB,CAQnB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,GAAG,UAAU,EAAE,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,EAAE,GACtD,gBAAgB,CAElB;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,GAAG,UAAU,EAAE,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,EAAE,GACtD,gBAAgB,CAElB"}
@@ -1,6 +1,7 @@
1
1
  /* This Source Code Form is subject to the terms of the Mozilla Public
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
+ import { getIfcSubtypes } from './ifc-type-hierarchy.js';
4
5
  // ═══════════════════════════════════════════════════════════════════════════
5
6
  // CONSTANTS
6
7
  // ═══════════════════════════════════════════════════════════════════════════
@@ -39,40 +40,6 @@ const DEFAULT_STYLE = {
39
40
  drawOrder: 0,
40
41
  };
41
42
  // ═══════════════════════════════════════════════════════════════════════════
42
- // IFC TYPE HIERARCHY (for subtype matching)
43
- // ═══════════════════════════════════════════════════════════════════════════
44
- const IFC_TYPE_HIERARCHY = {
45
- IfcWall: ['IfcWallStandardCase', 'IfcWallElementedCase'],
46
- IfcSlab: ['IfcSlabStandardCase', 'IfcSlabElementedCase'],
47
- IfcBeam: ['IfcBeamStandardCase'],
48
- IfcColumn: ['IfcColumnStandardCase'],
49
- IfcDoor: ['IfcDoorStandardCase'],
50
- IfcWindow: ['IfcWindowStandardCase'],
51
- IfcMember: ['IfcMemberStandardCase'],
52
- IfcPlate: ['IfcPlateStandardCase'],
53
- IfcStair: ['IfcStairFlight'],
54
- IfcRamp: ['IfcRampFlight'],
55
- IfcBuildingElement: [
56
- 'IfcWall', 'IfcSlab', 'IfcBeam', 'IfcColumn', 'IfcDoor', 'IfcWindow',
57
- 'IfcStair', 'IfcRamp', 'IfcRoof', 'IfcRailing', 'IfcCovering',
58
- ],
59
- IfcDistributionElement: [
60
- 'IfcDistributionFlowElement', 'IfcDistributionControlElement',
61
- ],
62
- IfcFlowElement: [
63
- 'IfcFlowTerminal', 'IfcFlowSegment', 'IfcFlowFitting', 'IfcFlowController',
64
- ],
65
- };
66
- function getIfcSubtypes(ifcType) {
67
- const subtypes = IFC_TYPE_HIERARCHY[ifcType] || [];
68
- const allSubtypes = [...subtypes];
69
- // Recursively get subtypes of subtypes
70
- for (const subtype of subtypes) {
71
- allSubtypes.push(...getIfcSubtypes(subtype));
72
- }
73
- return allSubtypes;
74
- }
75
- // ═══════════════════════════════════════════════════════════════════════════
76
43
  // CRITERION EVALUATION
77
44
  // ═══════════════════════════════════════════════════════════════════════════
78
45
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"rule-engine.js","sourceRoot":"","sources":["../../src/graphic-overrides/rule-engine.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAuB/D,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,gCAAgC;AAChC,MAAM,kBAAkB,GAAqC;IAC3D,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF,kDAAkD;AAClD,MAAM,aAAa,GAAsC;IACvD,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACd,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACrB,CAAC;AAEF,6BAA6B;AAC7B,MAAM,aAAa,GAAyB;IAC1C,SAAS,EAAE,SAAS;IACpB,WAAW,EAAE,SAAS;IACtB,eAAe,EAAE,SAAS;IAC1B,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,OAAO;IACjB,WAAW,EAAE,EAAE;IACf,YAAY,EAAE,MAAM;IACpB,YAAY,EAAE,CAAC;IACf,UAAU,EAAE,EAAE;IACd,mBAAmB,EAAE,CAAC,EAAE;IACxB,UAAU,EAAE,SAAS;IACrB,eAAe,EAAE,IAAI;IACrB,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC;CACb,CAAC;AAEF,8EAA8E;AAC9E,4CAA4C;AAC5C,8EAA8E;AAE9E,MAAM,kBAAkB,GAA6B;IACnD,OAAO,EAAE,CAAC,qBAAqB,EAAE,sBAAsB,CAAC;IACxD,OAAO,EAAE,CAAC,qBAAqB,EAAE,sBAAsB,CAAC;IACxD,OAAO,EAAE,CAAC,qBAAqB,CAAC;IAChC,SAAS,EAAE,CAAC,uBAAuB,CAAC;IACpC,OAAO,EAAE,CAAC,qBAAqB,CAAC;IAChC,SAAS,EAAE,CAAC,uBAAuB,CAAC;IACpC,SAAS,EAAE,CAAC,uBAAuB,CAAC;IACpC,QAAQ,EAAE,CAAC,sBAAsB,CAAC;IAClC,QAAQ,EAAE,CAAC,gBAAgB,CAAC;IAC5B,OAAO,EAAE,CAAC,eAAe,CAAC;IAC1B,kBAAkB,EAAE;QAClB,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW;QACpE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa;KAC9D;IACD,sBAAsB,EAAE;QACtB,4BAA4B,EAAE,+BAA+B;KAC9D;IACD,cAAc,EAAE;QACd,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB;KAC3E;CACF,CAAC;AAEF,SAAS,cAAc,CAAC,OAAe;IACrC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACnD,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAElC,uCAAuC;IACvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,WAAW,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;GAEG;AACH,SAAS,gBAAgB,CACvB,MAAe,EACf,QAA0B,EAC1B,QAAiB;IAEjB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,MAAM,KAAK,QAAQ,CAAC;QAE7B,KAAK,WAAW;YACd,OAAO,MAAM,KAAK,QAAQ,CAAC;QAE7B,KAAK,UAAU;YACb,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,KAAK,CAAC;QAEf,KAAK,aAAa;YAChB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,IAAI,CAAC;QAEd,KAAK,YAAY;YACf,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,KAAK,CAAC;QAEf,KAAK,UAAU;YACb,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,KAAK,CAAC;QAEf,KAAK,aAAa;YAChB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,MAAM,GAAG,QAAQ,CAAC;YAC3B,CAAC;YACD,OAAO,KAAK,CAAC;QAEf,KAAK,UAAU;YACb,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,MAAM,GAAG,QAAQ,CAAC;YAC3B,CAAC;YACD,OAAO,KAAK,CAAC;QAEf,KAAK,gBAAgB;YACnB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,MAAM,IAAI,QAAQ,CAAC;YAC5B,CAAC;YACD,OAAO,KAAK,CAAC;QAEf,KAAK,aAAa;YAChB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,MAAM,IAAI,QAAQ,CAAC;YAC5B,CAAC;YACD,OAAO,KAAK,CAAC;QAEf,KAAK,QAAQ;YACX,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,CAAC;QAEjD,KAAK,WAAW;YACd,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,CAAC;QAEjD,KAAK,IAAI;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;YACD,OAAO,KAAK,CAAC;QAEf,KAAK,OAAO;YACV,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YACD,OAAO,IAAI,CAAC;QAEd;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,SAA4B,EAAE,OAAoB;IAC3E,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,KAAK;YACR,OAAO,IAAI,CAAC;QAEd,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3D,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,YAAY,GAAG,SAAS,CAAC,eAAe;gBAC5C,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9D,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;YAEvB,OAAO,YAAY,CAAC,IAAI,CACtB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CACzD,CAAC;QACJ,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC,YAAY;gBAAE,OAAO,KAAK,CAAC;YAE1C,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,QAAQ,CAAC;YAChD,IAAI,WAAoB,CAAC;YAEzB,IAAI,SAAS,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBAChD,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBACvD,WAAW,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC9B,2BAA2B;gBAC3B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBACrD,IAAI,SAAS,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;wBACnC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;wBAC3C,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,gBAAgB,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QAClE,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAClD,OAAO,SAAS,CAAC,QAAQ,KAAK,WAAW,CAAC;YAC5C,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,CAAC;YAC3D,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,QAAQ,CAAC;YAEhD,IAAI,QAAQ,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC;YACzC,IAAI,QAAQ,KAAK,WAAW;gBAAE,OAAO,CAAC,MAAM,CAAC;YAE7C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBACnD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC9C,OAAO,CAAC,SAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5B,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAChD,CACF,CAAC;QACJ,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC7C,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC3C,OAAO,CAAC,MAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACzB,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAChD,CACF,CAAC;QACJ,CAAC;QAED,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC,UAAU;gBAAE,OAAO,KAAK,CAAC;YACxC,OAAO,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;YAC1D,OAAO,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;QAED;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,QAA8C;IAE9C,OAAO,OAAO,IAAI,QAAQ,IAAI,YAAY,IAAI,QAAQ,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,QAA8C,EAC9C,OAAoB;IAEpB,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAE7E,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC7B,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;GAEG;AACH,SAAS,iBAAiB,CAAC,MAA6C;IACtE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC,UAAU,CAAC;IAC1D,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAA0B,CAAC,CAAC;IAC7D,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,KAAgD;IAC1E,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC,WAAW,CAAC;IAE1D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC;IAC3D,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC;IAClE,CAAC;IAED,OAAO,aAAa,CAAC,WAAW,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,IAA0B,EAAE,QAAsB;IACpE,OAAO;QACL,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;QAC/C,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW;QACrD,eAAe,EAAE,QAAQ,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe;QACjE,UAAU,EAAE,QAAQ,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;QACxG,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO;QACzC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;QAC5C,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW;QAC3F,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY;QACxD,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY;QACxD,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU;QAClD,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB;QAC7E,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU;QAClD,eAAe,EAAE,QAAQ,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe;QACjE,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO;QACzC,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO;QACzC,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;KAChD,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,OAAO,qBAAqB;IACxB,KAAK,GAA0B,EAAE,CAAC;IAE1C,YAAY,KAA6B;QACvC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAA4B;QACnC,8DAA8D;QAC9D,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAyB;QAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,MAAc;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,OAAoB,EAAE,SAAiC;QACpE,sDAAsD;QACtD,IAAI,aAAa,GAAyB,SAAS;YACjD,CAAC,CAAC,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC;YACtC,CAAC,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC;QAEzB,MAAM,YAAY,GAA0B,EAAE,CAAC;QAE/C,gCAAgC;QAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,SAAS;YAE5B,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;gBAC7C,aAAa,GAAG,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO;YACP,KAAK,EAAE,aAAa;YACpB,YAAY;SACb,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,oBAAoB,CAClB,QAAuB,EACvB,UAA+C;QAE/C,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;QAElD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,OAAoB;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CACtB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CACnE,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAA8C;QACpE,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7D,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACpE,CAAC;YACD,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAC3D,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YAC1D,CAAC;YAED,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC1F,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA6B;IAChE,OAAO,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAe,EAAE,eAAe,GAAG,IAAI;IACtE,OAAO;QACL,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,KAAK;QACf,eAAe;KAChB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAoB,EACpB,QAA0B,EAC1B,KAAe,EACf,WAAoB;IAEpB,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,YAAY;QACZ,WAAW;QACX,QAAQ;QACR,KAAK,EAAE,KAAkC;KAC1C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,GAAG,UAAoD;IAEvD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,GAAG,UAAoD;IAEvD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"rule-engine.js","sourceRoot":"","sources":["../../src/graphic-overrides/rule-engine.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAsB/D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,gCAAgC;AAChC,MAAM,kBAAkB,GAAqC;IAC3D,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF,kDAAkD;AAClD,MAAM,aAAa,GAAsC;IACvD,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACd,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACrB,CAAC;AAEF,6BAA6B;AAC7B,MAAM,aAAa,GAAyB;IAC1C,SAAS,EAAE,SAAS;IACpB,WAAW,EAAE,SAAS;IACtB,eAAe,EAAE,SAAS;IAC1B,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,OAAO;IACjB,WAAW,EAAE,EAAE;IACf,YAAY,EAAE,MAAM;IACpB,YAAY,EAAE,CAAC;IACf,UAAU,EAAE,EAAE;IACd,mBAAmB,EAAE,CAAC,EAAE;IACxB,UAAU,EAAE,SAAS;IACrB,eAAe,EAAE,IAAI;IACrB,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC;CACb,CAAC;AAEF,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;GAEG;AACH,SAAS,gBAAgB,CACvB,MAAe,EACf,QAA0B,EAC1B,QAAiB;IAEjB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,MAAM,KAAK,QAAQ,CAAC;QAE7B,KAAK,WAAW;YACd,OAAO,MAAM,KAAK,QAAQ,CAAC;QAE7B,KAAK,UAAU;YACb,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,KAAK,CAAC;QAEf,KAAK,aAAa;YAChB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,IAAI,CAAC;QAEd,KAAK,YAAY;YACf,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,KAAK,CAAC;QAEf,KAAK,UAAU;YACb,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,KAAK,CAAC;QAEf,KAAK,aAAa;YAChB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,MAAM,GAAG,QAAQ,CAAC;YAC3B,CAAC;YACD,OAAO,KAAK,CAAC;QAEf,KAAK,UAAU;YACb,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,MAAM,GAAG,QAAQ,CAAC;YAC3B,CAAC;YACD,OAAO,KAAK,CAAC;QAEf,KAAK,gBAAgB;YACnB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,MAAM,IAAI,QAAQ,CAAC;YAC5B,CAAC;YACD,OAAO,KAAK,CAAC;QAEf,KAAK,aAAa;YAChB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,MAAM,IAAI,QAAQ,CAAC;YAC5B,CAAC;YACD,OAAO,KAAK,CAAC;QAEf,KAAK,QAAQ;YACX,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,CAAC;QAEjD,KAAK,WAAW;YACd,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,CAAC;QAEjD,KAAK,IAAI;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;YACD,OAAO,KAAK,CAAC;QAEf,KAAK,OAAO;YACV,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YACD,OAAO,IAAI,CAAC;QAEd;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,SAA4B,EAAE,OAAoB;IAC3E,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,KAAK;YACR,OAAO,IAAI,CAAC;QAEd,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3D,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,YAAY,GAAG,SAAS,CAAC,eAAe;gBAC5C,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9D,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;YAEvB,OAAO,YAAY,CAAC,IAAI,CACtB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CACzD,CAAC;QACJ,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC,YAAY;gBAAE,OAAO,KAAK,CAAC;YAE1C,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,QAAQ,CAAC;YAChD,IAAI,WAAoB,CAAC;YAEzB,IAAI,SAAS,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBAChD,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBACvD,WAAW,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC9B,2BAA2B;gBAC3B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBACrD,IAAI,SAAS,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;wBACnC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;wBAC3C,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,gBAAgB,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QAClE,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAClD,OAAO,SAAS,CAAC,QAAQ,KAAK,WAAW,CAAC;YAC5C,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,CAAC;YAC3D,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,QAAQ,CAAC;YAEhD,IAAI,QAAQ,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC;YACzC,IAAI,QAAQ,KAAK,WAAW;gBAAE,OAAO,CAAC,MAAM,CAAC;YAE7C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBACnD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC9C,OAAO,CAAC,SAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5B,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAChD,CACF,CAAC;QACJ,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC7C,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC3C,OAAO,CAAC,MAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACzB,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAChD,CACF,CAAC;QACJ,CAAC;QAED,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC,UAAU;gBAAE,OAAO,KAAK,CAAC;YACxC,OAAO,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;YAC1D,OAAO,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;QAED;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,QAA8C;IAE9C,OAAO,OAAO,IAAI,QAAQ,IAAI,YAAY,IAAI,QAAQ,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,QAA8C,EAC9C,OAAoB;IAEpB,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAE7E,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC7B,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;GAEG;AACH,SAAS,iBAAiB,CAAC,MAA6C;IACtE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC,UAAU,CAAC;IAC1D,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAA0B,CAAC,CAAC;IAC7D,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,KAAgD;IAC1E,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC,WAAW,CAAC;IAE1D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC;IAC3D,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC;IAClE,CAAC;IAED,OAAO,aAAa,CAAC,WAAW,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,IAA0B,EAAE,QAAsB;IACpE,OAAO;QACL,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;QAC/C,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW;QACrD,eAAe,EAAE,QAAQ,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe;QACjE,UAAU,EAAE,QAAQ,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;QACxG,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO;QACzC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;QAC5C,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW;QAC3F,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY;QACxD,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY;QACxD,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU;QAClD,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB;QAC7E,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU;QAClD,eAAe,EAAE,QAAQ,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe;QACjE,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO;QACzC,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO;QACzC,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;KAChD,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,OAAO,qBAAqB;IACxB,KAAK,GAA0B,EAAE,CAAC;IAE1C,YAAY,KAA6B;QACvC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAA4B;QACnC,8DAA8D;QAC9D,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAyB;QAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,MAAc;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,OAAoB,EAAE,SAAiC;QACpE,sDAAsD;QACtD,IAAI,aAAa,GAAyB,SAAS;YACjD,CAAC,CAAC,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC;YACtC,CAAC,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC;QAEzB,MAAM,YAAY,GAA0B,EAAE,CAAC;QAE/C,gCAAgC;QAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,SAAS;YAE5B,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;gBAC7C,aAAa,GAAG,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO;YACP,KAAK,EAAE,aAAa;YACpB,YAAY;SACb,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,oBAAoB,CAClB,QAAuB,EACvB,UAA+C;QAE/C,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;QAElD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,OAAoB;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CACtB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CACnE,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAA8C;QACpE,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7D,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACpE,CAAC;YACD,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAC3D,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YAC1D,CAAC;YAED,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC1F,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA6B;IAChE,OAAO,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAe,EAAE,eAAe,GAAG,IAAI;IACtE,OAAO;QACL,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,KAAK;QACf,eAAe;KAChB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAoB,EACpB,QAA0B,EAC1B,KAAe,EACf,WAAoB;IAEpB,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,YAAY;QACZ,WAAW;QACX,QAAQ;QACR,KAAK,EAAE,KAAkC;KAC1C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,GAAG,UAAoD;IAEvD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,GAAG,UAAoD;IAEvD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACrC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ifc-lite/drawing-2d",
3
- "version": "3.0.0",
3
+ "version": "3.1.0",
4
4
  "description": "2D architectural drawing generation from IFC models - section cuts, floor plans, and elevations",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -13,13 +13,14 @@
13
13
  }
14
14
  },
15
15
  "dependencies": {
16
- "@ifc-lite/geometry": "^4.0.0"
16
+ "@ifc-lite/geometry": "^4.1.0"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@webgpu/types": "^0.1.71",
20
20
  "dxf-parser": "1.1.2",
21
21
  "typescript": "^6.0.3",
22
- "vitest": "^4.1.10"
22
+ "vitest": "^4.1.10",
23
+ "@ifc-lite/data": "^3.5.0"
23
24
  },
24
25
  "license": "MPL-2.0",
25
26
  "author": "Louis True",