@mlightcad/cad-simple-viewer 1.4.12 → 1.4.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +15901 -10590
- package/dist/index.umd.cjs +55 -48
- package/dist/libredwg-parser-worker.js +4724 -4762
- package/lib/app/AcApDocManager.d.ts +60 -4
- package/lib/app/AcApDocManager.d.ts.map +1 -1
- package/lib/app/AcApDocManager.js +160 -33
- package/lib/app/AcApDocManager.js.map +1 -1
- package/lib/command/AcApArcCmd.d.ts.map +1 -1
- package/lib/command/AcApArcCmd.js +1 -1
- package/lib/command/AcApArcCmd.js.map +1 -1
- package/lib/command/AcApCircleCmd.d.ts +59 -0
- package/lib/command/AcApCircleCmd.d.ts.map +1 -1
- package/lib/command/AcApCircleCmd.js +489 -18
- package/lib/command/AcApCircleCmd.js.map +1 -1
- package/lib/command/AcApConvertToPngCmd.d.ts +35 -0
- package/lib/command/AcApConvertToPngCmd.d.ts.map +1 -0
- package/lib/command/{AcApZoomToBoxCmd.js → AcApConvertToPngCmd.js} +50 -26
- package/lib/command/AcApConvertToPngCmd.js.map +1 -0
- package/lib/command/AcApEllipseCmd.d.ts +87 -0
- package/lib/command/AcApEllipseCmd.d.ts.map +1 -0
- package/lib/command/AcApEllipseCmd.js +583 -0
- package/lib/command/AcApEllipseCmd.js.map +1 -0
- package/lib/command/AcApHatchCmd.d.ts +210 -0
- package/lib/command/AcApHatchCmd.d.ts.map +1 -0
- package/lib/command/AcApHatchCmd.js +808 -0
- package/lib/command/AcApHatchCmd.js.map +1 -0
- package/lib/command/AcApLayerCmd.d.ts +217 -0
- package/lib/command/AcApLayerCmd.d.ts.map +1 -0
- package/lib/command/AcApLayerCmd.js +768 -0
- package/lib/command/AcApLayerCmd.js.map +1 -0
- package/lib/command/AcApLineCmd.d.ts +36 -1
- package/lib/command/AcApLineCmd.d.ts.map +1 -1
- package/lib/command/AcApLineCmd.js +157 -20
- package/lib/command/AcApLineCmd.js.map +1 -1
- package/lib/command/AcApMeasureAreaCmd.d.ts.map +1 -1
- package/lib/command/AcApMeasureAreaCmd.js +3 -0
- package/lib/command/AcApMeasureAreaCmd.js.map +1 -1
- package/lib/command/AcApMoveCmd.d.ts +16 -0
- package/lib/command/AcApMoveCmd.d.ts.map +1 -0
- package/lib/command/AcApMoveCmd.js +278 -0
- package/lib/command/AcApMoveCmd.js.map +1 -0
- package/lib/command/AcApPngConvertor.d.ts +95 -0
- package/lib/command/AcApPngConvertor.d.ts.map +1 -0
- package/lib/command/AcApPngConvertor.js +205 -0
- package/lib/command/AcApPngConvertor.js.map +1 -0
- package/lib/command/AcApPolygonCmd.d.ts +69 -0
- package/lib/command/AcApPolygonCmd.d.ts.map +1 -0
- package/lib/command/AcApPolygonCmd.js +422 -0
- package/lib/command/AcApPolygonCmd.js.map +1 -0
- package/lib/command/AcApRectCmd.d.ts +149 -4
- package/lib/command/AcApRectCmd.d.ts.map +1 -1
- package/lib/command/AcApRectCmd.js +716 -34
- package/lib/command/AcApRectCmd.js.map +1 -1
- package/lib/command/AcApRevCircleCmd.d.ts +8 -0
- package/lib/command/AcApRevCircleCmd.d.ts.map +1 -1
- package/lib/command/AcApRevCircleCmd.js +30 -6
- package/lib/command/AcApRevCircleCmd.js.map +1 -1
- package/lib/command/AcApRevRectCmd.d.ts +8 -0
- package/lib/command/AcApRevRectCmd.d.ts.map +1 -1
- package/lib/command/AcApRevRectCmd.js +78 -6
- package/lib/command/AcApRevRectCmd.js.map +1 -1
- package/lib/command/AcApSplineCmd.d.ts +66 -1
- package/lib/command/AcApSplineCmd.d.ts.map +1 -1
- package/lib/command/AcApSplineCmd.js +466 -59
- package/lib/command/AcApSplineCmd.js.map +1 -1
- package/lib/command/AcApZoomCmd.d.ts +91 -20
- package/lib/command/AcApZoomCmd.d.ts.map +1 -1
- package/lib/command/AcApZoomCmd.js +288 -23
- package/lib/command/AcApZoomCmd.js.map +1 -1
- package/lib/command/index.d.ts +7 -1
- package/lib/command/index.d.ts.map +1 -1
- package/lib/command/index.js +7 -1
- package/lib/command/index.js.map +1 -1
- package/lib/editor/command/AcEdCommandStack.d.ts +54 -1
- package/lib/editor/command/AcEdCommandStack.d.ts.map +1 -1
- package/lib/editor/command/AcEdCommandStack.js +207 -25
- package/lib/editor/command/AcEdCommandStack.js.map +1 -1
- package/lib/editor/input/AcEdSelectionFilter.d.ts +79 -0
- package/lib/editor/input/AcEdSelectionFilter.d.ts.map +1 -0
- package/lib/editor/input/AcEdSelectionFilter.js +231 -0
- package/lib/editor/input/AcEdSelectionFilter.js.map +1 -0
- package/lib/editor/input/AcEditor.d.ts +20 -2
- package/lib/editor/input/AcEditor.d.ts.map +1 -1
- package/lib/editor/input/AcEditor.js +66 -0
- package/lib/editor/input/AcEditor.js.map +1 -1
- package/lib/editor/input/index.d.ts +1 -0
- package/lib/editor/input/index.d.ts.map +1 -1
- package/lib/editor/input/index.js +1 -0
- package/lib/editor/input/index.js.map +1 -1
- package/lib/editor/input/prompt/AcEdKeywordCollection.d.ts +47 -0
- package/lib/editor/input/prompt/AcEdKeywordCollection.d.ts.map +1 -1
- package/lib/editor/input/prompt/AcEdKeywordCollection.js +19 -0
- package/lib/editor/input/prompt/AcEdKeywordCollection.js.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptAngleOptions.d.ts +7 -0
- package/lib/editor/input/prompt/AcEdPromptAngleOptions.d.ts.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptAngleOptions.js +17 -0
- package/lib/editor/input/prompt/AcEdPromptAngleOptions.js.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptEntityOptions.d.ts +17 -0
- package/lib/editor/input/prompt/AcEdPromptEntityOptions.d.ts.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptEntityOptions.js +30 -3
- package/lib/editor/input/prompt/AcEdPromptEntityOptions.js.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptOptions.d.ts +6 -1
- package/lib/editor/input/prompt/AcEdPromptOptions.d.ts.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptOptions.js +7 -0
- package/lib/editor/input/prompt/AcEdPromptOptions.js.map +1 -1
- package/lib/editor/input/session/AcEdKeywordSession.d.ts +65 -0
- package/lib/editor/input/session/AcEdKeywordSession.d.ts.map +1 -1
- package/lib/editor/input/session/AcEdKeywordSession.js +71 -0
- package/lib/editor/input/session/AcEdKeywordSession.js.map +1 -1
- package/lib/editor/input/ui/AcEdCommandLine.d.ts +23 -0
- package/lib/editor/input/ui/AcEdCommandLine.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdCommandLine.js +42 -6
- package/lib/editor/input/ui/AcEdCommandLine.js.map +1 -1
- package/lib/editor/input/ui/AcEdFloatingInput.d.ts +1 -0
- package/lib/editor/input/ui/AcEdFloatingInput.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdFloatingInput.js +8 -2
- package/lib/editor/input/ui/AcEdFloatingInput.js.map +1 -1
- package/lib/editor/input/ui/AcEdFloatingInputBoxes.d.ts +23 -1
- package/lib/editor/input/ui/AcEdFloatingInputBoxes.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdFloatingInputBoxes.js +32 -9
- package/lib/editor/input/ui/AcEdFloatingInputBoxes.js.map +1 -1
- package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts +28 -0
- package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdInputManager.d.ts +356 -16
- package/lib/editor/input/ui/AcEdInputManager.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdInputManager.js +964 -529
- package/lib/editor/input/ui/AcEdInputManager.js.map +1 -1
- package/lib/editor/input/ui/AcEdRubberBand.d.ts +15 -1
- package/lib/editor/input/ui/AcEdRubberBand.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdRubberBand.js +42 -10
- package/lib/editor/input/ui/AcEdRubberBand.js.map +1 -1
- package/lib/i18n/en/command.d.ts +21 -3
- package/lib/i18n/en/command.d.ts.map +1 -1
- package/lib/i18n/en/command.js +21 -3
- package/lib/i18n/en/command.js.map +1 -1
- package/lib/i18n/en/jig.d.ts +443 -0
- package/lib/i18n/en/jig.d.ts.map +1 -1
- package/lib/i18n/en/jig.js +452 -9
- package/lib/i18n/en/jig.js.map +1 -1
- package/lib/i18n/zh/command.d.ts +21 -3
- package/lib/i18n/zh/command.d.ts.map +1 -1
- package/lib/i18n/zh/command.js +21 -3
- package/lib/i18n/zh/command.js.map +1 -1
- package/lib/i18n/zh/jig.d.ts +443 -0
- package/lib/i18n/zh/jig.d.ts.map +1 -1
- package/lib/i18n/zh/jig.js +452 -9
- package/lib/i18n/zh/jig.js.map +1 -1
- package/lib/plugin/AcApPluginManager.d.ts.map +1 -1
- package/lib/plugin/AcApPluginManager.js.map +1 -1
- package/lib/view/AcTrLayer.d.ts.map +1 -1
- package/lib/view/AcTrLayer.js +5 -3
- package/lib/view/AcTrLayer.js.map +1 -1
- package/lib/view/AcTrView2d.d.ts +0 -1
- package/lib/view/AcTrView2d.d.ts.map +1 -1
- package/lib/view/AcTrView2d.js +17 -4
- package/lib/view/AcTrView2d.js.map +1 -1
- package/package.json +11 -9
- package/lib/command/AcApZoomToBoxCmd.d.ts +0 -29
- package/lib/command/AcApZoomToBoxCmd.d.ts.map +0 -1
- package/lib/command/AcApZoomToBoxCmd.js.map +0 -1
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { AcApContext } from '../app';
|
|
2
|
+
import { AcEdCommand } from '../editor';
|
|
3
|
+
/**
|
|
4
|
+
* Command-line HATCH command (no dialog), inspired by AutoCAD flow.
|
|
5
|
+
*
|
|
6
|
+
* Current scope:
|
|
7
|
+
* - Build hatch boundaries from selected objects.
|
|
8
|
+
* - Support command-line option branches (pattern/scale/angle/style/associative).
|
|
9
|
+
* - No island-detection refinement beyond loop construction.
|
|
10
|
+
*/
|
|
11
|
+
export declare class AcApHatchCmd extends AcEdCommand {
|
|
12
|
+
/**
|
|
13
|
+
* Last-used command settings shared by all `AcApHatchCmd` instances.
|
|
14
|
+
*/
|
|
15
|
+
private static _lastSettings;
|
|
16
|
+
/**
|
|
17
|
+
* Creates one HATCH command instance and marks it as write-mode only.
|
|
18
|
+
*/
|
|
19
|
+
constructor();
|
|
20
|
+
/**
|
|
21
|
+
* Normalizes pattern name input.
|
|
22
|
+
*
|
|
23
|
+
* @param value Raw user-entered pattern name.
|
|
24
|
+
* @returns Trimmed name, or `ANSI31` when input is empty.
|
|
25
|
+
*/
|
|
26
|
+
private normalizePatternName;
|
|
27
|
+
/**
|
|
28
|
+
* Converts hatch style enum to command keyword string.
|
|
29
|
+
*
|
|
30
|
+
* @param style Hatch style enum value.
|
|
31
|
+
* @returns Command keyword name used by keyword prompts.
|
|
32
|
+
*/
|
|
33
|
+
private styleToKeyword;
|
|
34
|
+
/**
|
|
35
|
+
* Converts command keyword string to hatch style enum.
|
|
36
|
+
*
|
|
37
|
+
* @param keyword Keyword returned by prompt API.
|
|
38
|
+
* @returns Matching hatch style enum, defaulting to `Normal`.
|
|
39
|
+
*/
|
|
40
|
+
private keywordToStyle;
|
|
41
|
+
/**
|
|
42
|
+
* Converts a closed polyline entity into a boundary-edge sequence.
|
|
43
|
+
*
|
|
44
|
+
* The function keeps arc segments by reading per-vertex bulge values.
|
|
45
|
+
* If runtime bulge data is unavailable, vertices fall back to straight edges.
|
|
46
|
+
*
|
|
47
|
+
* @param entity Input polyline entity.
|
|
48
|
+
* @returns Ordered boundary edges or empty array if not hatchable.
|
|
49
|
+
*/
|
|
50
|
+
private buildEdgesFromPolyline;
|
|
51
|
+
/**
|
|
52
|
+
* Converts a supported boundary entity into one or more boundary edges.
|
|
53
|
+
*
|
|
54
|
+
* Supported entities:
|
|
55
|
+
* - `AcDbPolyline` (closed)
|
|
56
|
+
* - `AcDbCircle`
|
|
57
|
+
* - `AcDbArc` (closed only)
|
|
58
|
+
* - `AcDbLine`
|
|
59
|
+
*
|
|
60
|
+
* @param entity Input entity from model space.
|
|
61
|
+
* @returns Edge list consumable by loop builder.
|
|
62
|
+
*/
|
|
63
|
+
private buildEdgesFromEntity;
|
|
64
|
+
/**
|
|
65
|
+
* Builds closed loops from explicit object ids.
|
|
66
|
+
*
|
|
67
|
+
* @param context Active command context.
|
|
68
|
+
* @param ids Object ids selected by the user.
|
|
69
|
+
* @returns Closed loops ready for hatch creation.
|
|
70
|
+
*/
|
|
71
|
+
private collectLoopsFromIds;
|
|
72
|
+
/**
|
|
73
|
+
* Scans model space and builds closed loops from all supported boundaries.
|
|
74
|
+
*
|
|
75
|
+
* This is used by pick-points mode so a seed point can be resolved against
|
|
76
|
+
* all potential loops in the drawing.
|
|
77
|
+
*
|
|
78
|
+
* @param context Active command context.
|
|
79
|
+
* @returns Closed loops derived from all hatchable entities.
|
|
80
|
+
*/
|
|
81
|
+
private collectLoopsFromAllBoundaries;
|
|
82
|
+
/**
|
|
83
|
+
* Builds best-effort closed loops from boundary edges.
|
|
84
|
+
*
|
|
85
|
+
* The loop solver is retried with increasing tolerance values and the best
|
|
86
|
+
* (largest) closed-loop result set is returned.
|
|
87
|
+
*
|
|
88
|
+
* @param edges Input boundary edge set.
|
|
89
|
+
* @returns Closed loops produced by the best tolerance attempt.
|
|
90
|
+
*/
|
|
91
|
+
private buildLoopsFromEdges;
|
|
92
|
+
/**
|
|
93
|
+
* Calculates polygon signed area using the shoelace formula.
|
|
94
|
+
*
|
|
95
|
+
* @param points Polygon vertices.
|
|
96
|
+
* @returns Signed area; positive/negative sign depends on winding direction.
|
|
97
|
+
*/
|
|
98
|
+
private signedArea;
|
|
99
|
+
/**
|
|
100
|
+
* Tests whether one point lies on a finite segment within a tolerance.
|
|
101
|
+
*
|
|
102
|
+
* @param px Test point X.
|
|
103
|
+
* @param py Test point Y.
|
|
104
|
+
* @param ax Segment start X.
|
|
105
|
+
* @param ay Segment start Y.
|
|
106
|
+
* @param bx Segment end X.
|
|
107
|
+
* @param by Segment end Y.
|
|
108
|
+
* @param tolerance Distance tolerance.
|
|
109
|
+
* @returns `true` if point is on segment; otherwise `false`.
|
|
110
|
+
*/
|
|
111
|
+
private isPointOnSegment;
|
|
112
|
+
/**
|
|
113
|
+
* Determines whether a point is inside (or on boundary of) a polygon.
|
|
114
|
+
*
|
|
115
|
+
* Boundary points are treated as inside to keep seed-point behavior stable
|
|
116
|
+
* near loop edges.
|
|
117
|
+
*
|
|
118
|
+
* @param point Test point.
|
|
119
|
+
* @param polygon Polygon vertices.
|
|
120
|
+
* @returns `true` when inside or on boundary.
|
|
121
|
+
*/
|
|
122
|
+
private isPointInPolygon;
|
|
123
|
+
/**
|
|
124
|
+
* Builds loop metadata and parent/child containment relationships.
|
|
125
|
+
*
|
|
126
|
+
* @param loops Candidate closed loops.
|
|
127
|
+
* @returns Loop info array with area and hierarchy metadata.
|
|
128
|
+
*/
|
|
129
|
+
private buildLoopInfos;
|
|
130
|
+
/**
|
|
131
|
+
* Resolves which loops should be used for one pick-point seed.
|
|
132
|
+
*
|
|
133
|
+
* Strategy:
|
|
134
|
+
* - Find the smallest containing loop as target.
|
|
135
|
+
* - Include direct children as holes unless style is `Ignore`.
|
|
136
|
+
*
|
|
137
|
+
* @param point Seed point selected by user.
|
|
138
|
+
* @param loops Candidate loops.
|
|
139
|
+
* @returns Ordered loop set to append into one hatch entity.
|
|
140
|
+
*/
|
|
141
|
+
private resolveLoopsForPickPoint;
|
|
142
|
+
/**
|
|
143
|
+
* Creates and appends one hatch entity from computed loops.
|
|
144
|
+
*
|
|
145
|
+
* @param context Active command context.
|
|
146
|
+
* @param loops Boundary loops to be added to the hatch.
|
|
147
|
+
* @returns `true` when hatch entity was created; otherwise `false`.
|
|
148
|
+
*/
|
|
149
|
+
private appendHatch;
|
|
150
|
+
/**
|
|
151
|
+
* Prompts for pattern name and updates persisted command settings.
|
|
152
|
+
*
|
|
153
|
+
* @returns Promise resolved when prompt flow completes.
|
|
154
|
+
*/
|
|
155
|
+
private promptPatternName;
|
|
156
|
+
/**
|
|
157
|
+
* Prompts for pattern scale and updates persisted command settings.
|
|
158
|
+
*
|
|
159
|
+
* @returns Promise resolved when prompt flow completes.
|
|
160
|
+
*/
|
|
161
|
+
private promptPatternScale;
|
|
162
|
+
/**
|
|
163
|
+
* Prompts for pattern angle (degrees) and updates persisted settings.
|
|
164
|
+
*
|
|
165
|
+
* @returns Promise resolved when prompt flow completes.
|
|
166
|
+
*/
|
|
167
|
+
private promptPatternAngle;
|
|
168
|
+
/**
|
|
169
|
+
* Prompts for hatch style (`Normal` / `Outer` / `Ignore`).
|
|
170
|
+
*
|
|
171
|
+
* @returns Promise resolved when prompt flow completes.
|
|
172
|
+
*/
|
|
173
|
+
private promptStyle;
|
|
174
|
+
/**
|
|
175
|
+
* Prompts for associative mode switch (`Yes` / `No`).
|
|
176
|
+
*
|
|
177
|
+
* @returns Promise resolved when prompt flow completes.
|
|
178
|
+
*/
|
|
179
|
+
private promptAssociative;
|
|
180
|
+
/**
|
|
181
|
+
* Executes object-selection branch of HATCH.
|
|
182
|
+
*
|
|
183
|
+
* @param context Active command context.
|
|
184
|
+
* @returns `true` if a hatch was created from selected objects.
|
|
185
|
+
*/
|
|
186
|
+
private doSelectObjects;
|
|
187
|
+
/**
|
|
188
|
+
* Executes pick-points branch of HATCH.
|
|
189
|
+
*
|
|
190
|
+
* The user can place multiple seed points. Each accepted point attempts
|
|
191
|
+
* one hatch creation, and pressing Enter terminates this branch.
|
|
192
|
+
*
|
|
193
|
+
* @param context Active command context.
|
|
194
|
+
* @returns `true` if at least one hatch was created.
|
|
195
|
+
*/
|
|
196
|
+
private doPickPoints;
|
|
197
|
+
/**
|
|
198
|
+
* Runs the interactive command-line HATCH workflow.
|
|
199
|
+
*
|
|
200
|
+
* Main loop behavior:
|
|
201
|
+
* - Direct entity pick: hatch from picked boundary object.
|
|
202
|
+
* - Keyword branches: pick-points, select-objects, or option editing.
|
|
203
|
+
* - Enter/Cancel: exits command.
|
|
204
|
+
*
|
|
205
|
+
* @param context Active command context.
|
|
206
|
+
* @returns Promise resolved when command ends.
|
|
207
|
+
*/
|
|
208
|
+
execute(context: AcApContext): Promise<void>;
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=AcApHatchCmd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcApHatchCmd.d.ts","sourceRoot":"","sources":["../../src/command/AcApHatchCmd.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,WAAW,EAAkB,MAAM,QAAQ,CAAA;AACpD,OAAO,EACL,WAAW,EASZ,MAAM,WAAW,CAAA;AAuClB;;;;;;;GAOG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa,CAM3B;IAED;;OAEG;;IAMH;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAK5B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAYtB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAYtB;;;;;;;;OAQG;IACH,OAAO,CAAC,sBAAsB;IAkC9B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,oBAAoB;IAuC5B;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;;;;;;;OAQG;IACH,OAAO,CAAC,6BAA6B;IASrC;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAWlB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB;IA4BxB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAsCtB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,wBAAwB;IA4BhC;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAiBnB;;;;OAIG;YACW,iBAAiB;IAc/B;;;;OAIG;YACW,kBAAkB;IAehC;;;;OAIG;YACW,kBAAkB;IAahC;;;;OAIG;YACW,WAAW;IA8BzB;;;;OAIG;YACW,iBAAiB;IAsB/B;;;;;OAKG;YACW,eAAe;IAY7B;;;;;;;;OAQG;YACW,YAAY;IA4B1B;;;;;;;;;;OAUG;IACG,OAAO,CAAC,OAAO,EAAE,WAAW;CAiFnC"}
|