@meltemi/diagrams-edit 1.9.0 → 1.10.17
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/animate.d.ts.map +1 -1
- package/dist/animate.js +3 -0
- package/dist/animate.js.map +1 -1
- package/dist/attachments.d.ts +30 -0
- package/dist/attachments.d.ts.map +1 -0
- package/dist/attachments.js +85 -0
- package/dist/attachments.js.map +1 -0
- package/dist/c4.d.ts +26 -1
- package/dist/c4.d.ts.map +1 -1
- package/dist/c4.js +321 -27
- package/dist/c4.js.map +1 -1
- package/dist/context.d.ts +7 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +15 -0
- package/dist/context.js.map +1 -1
- package/dist/create.d.ts.map +1 -1
- package/dist/create.js +61 -15
- package/dist/create.js.map +1 -1
- package/dist/free.d.ts.map +1 -1
- package/dist/free.js +97 -9
- package/dist/free.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/insert.d.ts +39 -1
- package/dist/insert.d.ts.map +1 -1
- package/dist/insert.js +128 -2
- package/dist/insert.js.map +1 -1
- package/dist/labels.d.ts.map +1 -1
- package/dist/labels.js +7 -9
- package/dist/labels.js.map +1 -1
- package/dist/lines.d.ts +16 -0
- package/dist/lines.d.ts.map +1 -0
- package/dist/lines.js +123 -0
- package/dist/lines.js.map +1 -0
- package/dist/messages/en.d.ts +105 -1
- package/dist/messages/en.d.ts.map +1 -1
- package/dist/messages/en.js +108 -2
- package/dist/messages/en.js.map +1 -1
- package/dist/messages/es.d.ts.map +1 -1
- package/dist/messages/es.js +69 -2
- package/dist/messages/es.js.map +1 -1
- package/dist/messages/index.d.ts +61 -1
- package/dist/messages/index.d.ts.map +1 -1
- package/dist/pens.d.ts +16 -0
- package/dist/pens.d.ts.map +1 -0
- package/dist/pens.js +175 -0
- package/dist/pens.js.map +1 -0
- package/dist/plan.d.ts.map +1 -1
- package/dist/plan.js +125 -20
- package/dist/plan.js.map +1 -1
- package/dist/relations.d.ts +1 -1
- package/dist/relations.d.ts.map +1 -1
- package/dist/relations.js +35 -16
- package/dist/relations.js.map +1 -1
- package/dist/sequence.d.ts +13 -2
- package/dist/sequence.d.ts.map +1 -1
- package/dist/sequence.js +342 -31
- package/dist/sequence.js.map +1 -1
- package/dist/structure.d.ts +7 -5
- package/dist/structure.d.ts.map +1 -1
- package/dist/structure.js +49 -49
- package/dist/structure.js.map +1 -1
- package/dist/styles.d.ts.map +1 -1
- package/dist/styles.js +8 -3
- package/dist/styles.js.map +1 -1
- package/dist/tags.d.ts +19 -0
- package/dist/tags.d.ts.map +1 -0
- package/dist/tags.js +159 -0
- package/dist/tags.js.map +1 -0
- package/dist/text.d.ts +4 -0
- package/dist/text.d.ts.map +1 -1
- package/dist/text.js +9 -0
- package/dist/text.js.map +1 -1
- package/dist/types.d.ts +270 -21
- package/dist/types.d.ts.map +1 -1
- package/package.json +8 -8
package/dist/c4.js
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
|
-
import { isIdentifierText, isToken, } from "@meltemi/diagrams-language";
|
|
2
|
-
import { ENTITY_CHILDREN, ENTITY_KINDS, isSafeUrl, } from "@meltemi/diagrams-model";
|
|
1
|
+
import { applyTextEdits, isIdentifierText, isToken, } from "@meltemi/diagrams-language";
|
|
2
|
+
import { ENTITY_CHILDREN, ENTITY_KINDS, defaultEntities, isSafeUrl, compile, singleIdent, } from "@meltemi/diagrams-model";
|
|
3
3
|
import { insertStatement, reject } from "./context.js";
|
|
4
4
|
import { deleteStatements } from "./delete.js";
|
|
5
|
+
import { attachmentDependent } from "./attachments.js";
|
|
5
6
|
import { insertAfter, insertBefore, verifyNoNewErrors } from "./insert.js";
|
|
6
7
|
import { messages, reasons } from "./messages/index.js";
|
|
7
8
|
import { removeListItems } from "./plan.js";
|
|
9
|
+
import { endpointText, requireEndPosition, routeParts } from "./routes.js";
|
|
8
10
|
import { storyDependents } from "./stories.js";
|
|
9
11
|
import { quoteString } from "./text.js";
|
|
10
12
|
// ---------------------------------------------------------------------- views
|
|
11
13
|
/** Operations a C4 view accepts; the others write declarations the view does not have. */
|
|
12
14
|
const VIEW_OPERATIONS = new Set([
|
|
15
|
+
// A view declares notes: `createElement` refuses every other kind there.
|
|
16
|
+
"createElement",
|
|
17
|
+
"attachNote",
|
|
13
18
|
"setPosition",
|
|
14
19
|
"setSize",
|
|
15
20
|
"setRoute",
|
|
@@ -25,11 +30,32 @@ const VIEW_OPERATIONS = new Set([
|
|
|
25
30
|
"includeEntity",
|
|
26
31
|
"excludeEntity",
|
|
27
32
|
"setLocalLabel",
|
|
33
|
+
"forgetModelRelation",
|
|
34
|
+
"rewriteRouteEnd",
|
|
35
|
+
"materializeRelationId",
|
|
36
|
+
]);
|
|
37
|
+
/**
|
|
38
|
+
* Operations a note of a view takes as any element does, since the note is a declaration of the
|
|
39
|
+
* view: its text, id, classes and url, and its removal with the placement and styles it has.
|
|
40
|
+
*/
|
|
41
|
+
const NOTE_OPERATIONS = new Set([
|
|
42
|
+
"renameElement",
|
|
43
|
+
"removeElement",
|
|
44
|
+
"setElementLabel",
|
|
45
|
+
"setClasses",
|
|
46
|
+
"setElementProperty",
|
|
28
47
|
]);
|
|
29
48
|
/** Refuses an operation that does not apply to a C4 view, naming the ones that do. */
|
|
30
|
-
export function refuseInView(ctx,
|
|
49
|
+
export function refuseInView(ctx, operation) {
|
|
50
|
+
const { kind } = operation;
|
|
31
51
|
if (ctx.diagram.type !== "c4" || VIEW_OPERATIONS.has(kind))
|
|
32
52
|
return;
|
|
53
|
+
if (NOTE_OPERATIONS.has(kind) && operation.targetKind !== "relation") {
|
|
54
|
+
const id = operation.element ?? operation.target;
|
|
55
|
+
const element = id === undefined ? undefined : ctx.diagram.elementsById.get(id);
|
|
56
|
+
if (element?.kind === "note" && element.entity === null)
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
33
59
|
reject("edit.invalid-value", reasons().c4.notInView(kind, ctx.diagram.c4?.model ?? ""));
|
|
34
60
|
}
|
|
35
61
|
function requireView(ctx) {
|
|
@@ -69,6 +95,13 @@ function insertViewStatement(ctx, text, after) {
|
|
|
69
95
|
? insertBefore(ctx, first, () => text)
|
|
70
96
|
: insertStatement(ctx, body, ctx.diagram.node.start, () => text);
|
|
71
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Declares a note in a view: after its last note, else after the lists and labels and before the
|
|
100
|
+
* blocks, where the language keeps what a view says about what it draws.
|
|
101
|
+
*/
|
|
102
|
+
export function insertViewNote(ctx, text) {
|
|
103
|
+
return insertViewStatement(ctx, text, ["level", "scope", "include", "exclude", "label", "note"]);
|
|
104
|
+
}
|
|
72
105
|
function requireEntity(ctx, path) {
|
|
73
106
|
const model = requireView(ctx).resolved?.definition;
|
|
74
107
|
if (!model)
|
|
@@ -106,8 +139,7 @@ export function includeEntity(ctx, op) {
|
|
|
106
139
|
return edits;
|
|
107
140
|
}
|
|
108
141
|
/** The view statements that only target an element, and edits that drop it from shared ones. */
|
|
109
|
-
function viewDependents(ctx, id) {
|
|
110
|
-
const diagram = ctx.diagram;
|
|
142
|
+
function viewDependents(ctx, diagram, id) {
|
|
111
143
|
const lines = ctx.compilation.parse.lines;
|
|
112
144
|
const statements = [];
|
|
113
145
|
const edits = [];
|
|
@@ -122,6 +154,16 @@ function viewDependents(ctx, id) {
|
|
|
122
154
|
});
|
|
123
155
|
};
|
|
124
156
|
const gone = new Set(diagram.relations.filter((r) => r.from === id || r.to === id).map((r) => r.key));
|
|
157
|
+
// A note of the view attached to the entity stays, without its `on` clause.
|
|
158
|
+
for (const note of diagram.elements) {
|
|
159
|
+
if (note.attachedTo !== id)
|
|
160
|
+
continue;
|
|
161
|
+
const attached = attachmentDependent(ctx, note);
|
|
162
|
+
if (!attached)
|
|
163
|
+
continue;
|
|
164
|
+
dependents.push(attached.dependent);
|
|
165
|
+
edits.push(attached.edit);
|
|
166
|
+
}
|
|
125
167
|
for (const entry of diagram.placement) {
|
|
126
168
|
if (entry.target === id || gone.has(entry.target))
|
|
127
169
|
depend(entry.statement, entry.target, entry.node);
|
|
@@ -176,7 +218,7 @@ export function excludeEntity(ctx, op) {
|
|
|
176
218
|
if (element.kind === "group") {
|
|
177
219
|
reject("edit.unsafe-target", reasons().c4.isScope(op.entity));
|
|
178
220
|
}
|
|
179
|
-
const dependents = viewDependents(ctx, op.entity);
|
|
221
|
+
const dependents = viewDependents(ctx, ctx.diagram, op.entity);
|
|
180
222
|
if (!op.cascade && dependents.dependents.length > 0) {
|
|
181
223
|
reject("edit.has-dependents", reasons().c4.removingFromView(op.entity, dependents.dependents.length), dependents.dependents);
|
|
182
224
|
}
|
|
@@ -222,7 +264,7 @@ export function setLocalLabel(ctx, op) {
|
|
|
222
264
|
else {
|
|
223
265
|
const relation = ctx.diagram.relationsByKey.get(op.target);
|
|
224
266
|
if (relation && relation.id === null) {
|
|
225
|
-
reject("edit.anonymous-relation", reasons().
|
|
267
|
+
reject("edit.anonymous-relation", reasons().relations.unnamed(op.target));
|
|
226
268
|
}
|
|
227
269
|
edits = [
|
|
228
270
|
insertViewStatement(ctx, `label ${op.target} ${quoteString(op.label)}`, [
|
|
@@ -378,6 +420,16 @@ export function removeEntity(ctx, op) {
|
|
|
378
420
|
if (removed.has(label.target) || relationKeys.has(label.target))
|
|
379
421
|
depend("label", label.target, label.node);
|
|
380
422
|
}
|
|
423
|
+
// The notes of the view attached to a removed entity stay, without their clause.
|
|
424
|
+
for (const note of diagram.elements) {
|
|
425
|
+
if (note.attachedTo === null || !removed.has(note.attachedTo))
|
|
426
|
+
continue;
|
|
427
|
+
const attached = attachmentDependent(ctx, note);
|
|
428
|
+
if (!attached)
|
|
429
|
+
continue;
|
|
430
|
+
dependents.push(attached.dependent);
|
|
431
|
+
edits.push(attached.edit);
|
|
432
|
+
}
|
|
381
433
|
for (const entry of diagram.placement) {
|
|
382
434
|
const target = entry.target;
|
|
383
435
|
const relation = diagram.relationsByKey.get(target);
|
|
@@ -578,34 +630,276 @@ export function createModelRelation(ctx, op) {
|
|
|
578
630
|
verifyNoNewErrors(ctx, edits);
|
|
579
631
|
return edits;
|
|
580
632
|
}
|
|
633
|
+
/** Moves one end of a model relation to another entity; the label, id and block stay. */
|
|
634
|
+
export function reconnectModelRelation(ctx, op) {
|
|
635
|
+
const relation = requireModelRelation(ctx, op.relation);
|
|
636
|
+
const entity = requireModelEntity(ctx, op.entity);
|
|
637
|
+
const current = op.end === "from" ? relation.from : relation.to;
|
|
638
|
+
if (current === entity.path)
|
|
639
|
+
return [];
|
|
640
|
+
const ref = op.end === "from" ? relation.node.source : relation.node.target;
|
|
641
|
+
if (ref.kind !== "QualifiedRef") {
|
|
642
|
+
reject("edit.unsafe-target", reasons().c4.endUnreadable(relation.key));
|
|
643
|
+
}
|
|
644
|
+
if (op.position !== undefined)
|
|
645
|
+
requireEndPosition(op.port, op.position);
|
|
646
|
+
// The path from the root resolves wherever the statement sits: the lookup from the enclosing
|
|
647
|
+
// entity outwards ends at the root.
|
|
648
|
+
const moved = { start: ref.start, end: ref.end, newText: entity.path };
|
|
649
|
+
const edits = [moved];
|
|
650
|
+
// The routes of the file's views follow the end the views now draw.
|
|
651
|
+
if (relation.id !== null) {
|
|
652
|
+
const after = compile(applyTextEdits(ctx.text, [moved]), ctx.compilation.options);
|
|
653
|
+
const removed = [];
|
|
654
|
+
for (const diagram of ctx.compilation.document.diagrams) {
|
|
655
|
+
const c4 = diagram.c4;
|
|
656
|
+
if (!c4 || c4.resolved?.file !== null || c4.resolved.definition.id !== ctx.model.id)
|
|
657
|
+
continue;
|
|
658
|
+
const routes = routeStatements(diagram, relation.id);
|
|
659
|
+
if (routes.length === 0)
|
|
660
|
+
continue;
|
|
661
|
+
const now = after.document.diagrams.find((d) => d.id === diagram.id);
|
|
662
|
+
const drawn = now?.relations.find((r) => r.id === relation.id);
|
|
663
|
+
const pinned = diagram.id === op.view && op.port !== undefined
|
|
664
|
+
? { port: op.port, ...(op.position !== undefined ? { position: op.position } : {}) }
|
|
665
|
+
: undefined;
|
|
666
|
+
const followed = followRoutes(ctx.text, ctx.model, routes, drawn, op.end, pinned);
|
|
667
|
+
edits.push(...followed.edits);
|
|
668
|
+
removed.push(...followed.removed);
|
|
669
|
+
}
|
|
670
|
+
edits.push(...deleteStatements(ctx.text, ctx.compilation.parse.root, removed));
|
|
671
|
+
}
|
|
672
|
+
verifyNoNewErrors(ctx, edits);
|
|
673
|
+
return edits;
|
|
674
|
+
}
|
|
675
|
+
/** The `route <id>` statements of a view, whether the analyser took them or not. */
|
|
676
|
+
function routeStatements(diagram, id) {
|
|
677
|
+
const found = [];
|
|
678
|
+
for (const owner of diagram.placementBlocks) {
|
|
679
|
+
for (const stmt of owner.block?.statements ?? []) {
|
|
680
|
+
if (stmt.kind !== "KeywordStatement" || stmt.keyword.text !== "route")
|
|
681
|
+
continue;
|
|
682
|
+
if (singleIdent(stmt.args[0])?.text === id)
|
|
683
|
+
found.push(stmt);
|
|
684
|
+
}
|
|
685
|
+
}
|
|
686
|
+
return found;
|
|
687
|
+
}
|
|
688
|
+
/** The compass sides and `auto`: the ports every entity has, which carry over to another. */
|
|
689
|
+
const COMPASS = new Set(["north", "south", "east", "west", "auto"]);
|
|
690
|
+
/** A route end as written: the entity it names, and the port after it when it has one. */
|
|
691
|
+
function writtenEnd(model, text) {
|
|
692
|
+
if (model.entitiesByPath.has(text))
|
|
693
|
+
return { element: text, port: null };
|
|
694
|
+
const dot = text.lastIndexOf(".");
|
|
695
|
+
if (dot > 0 && model.entitiesByPath.has(text.slice(0, dot))) {
|
|
696
|
+
return { element: text.slice(0, dot), port: text.slice(dot + 1) };
|
|
697
|
+
}
|
|
698
|
+
return { element: text, port: null };
|
|
699
|
+
}
|
|
700
|
+
/**
|
|
701
|
+
* The edits that make a view's routes of a relation end where the view now draws its moved end:
|
|
702
|
+
* the end rewritten with the drawn entity, a compass port carried over, a named port and a point
|
|
703
|
+
* dropped (or `pinned`, the port and point of a drop on this view), the other end and the
|
|
704
|
+
* waypoints kept; a route the view no longer draws the relation for goes; a route whose end
|
|
705
|
+
* already meets the drawn one stays as it is.
|
|
706
|
+
*/
|
|
707
|
+
function followRoutes(text, model, routes, drawn, end, pinned) {
|
|
708
|
+
const edits = [];
|
|
709
|
+
const removed = [];
|
|
710
|
+
for (const route of routes) {
|
|
711
|
+
if (!drawn) {
|
|
712
|
+
removed.push(route);
|
|
713
|
+
continue;
|
|
714
|
+
}
|
|
715
|
+
const parts = routeParts(route);
|
|
716
|
+
const arg = end === "from" ? parts.fromRef : parts.toRef;
|
|
717
|
+
const at = end === "from" ? parts.fromAt : parts.toAt;
|
|
718
|
+
if (arg?.kind !== "QualifiedRef") {
|
|
719
|
+
reject("edit.unsafe-target", reasons().relations.routeUnreadable);
|
|
720
|
+
}
|
|
721
|
+
const target = end === "from" ? drawn.from : drawn.to;
|
|
722
|
+
const written = writtenEnd(model, text.slice(arg.start, arg.end));
|
|
723
|
+
let newText;
|
|
724
|
+
if (pinned)
|
|
725
|
+
newText = endpointText(target, pinned.port, pinned.position);
|
|
726
|
+
else if (written.element === target)
|
|
727
|
+
continue;
|
|
728
|
+
else {
|
|
729
|
+
const port = written.port !== null && COMPASS.has(written.port) ? written.port : null;
|
|
730
|
+
newText = endpointText(target, port);
|
|
731
|
+
}
|
|
732
|
+
const stop = (at ?? arg).end;
|
|
733
|
+
if (newText !== text.slice(arg.start, stop)) {
|
|
734
|
+
edits.push({ start: arg.start, end: stop, newText });
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
return { edits, removed };
|
|
738
|
+
}
|
|
739
|
+
/**
|
|
740
|
+
* The routes of a relation in a view of a file other than the model's, once the model moved one of
|
|
741
|
+
* its ends (the compilation already resolves the moved model): they follow the end the view
|
|
742
|
+
* draws now, as `reconnectModelRelation` makes them follow in the model's own file.
|
|
743
|
+
*/
|
|
744
|
+
export function rewriteRouteEnd(ctx, op) {
|
|
745
|
+
const c4 = requireView(ctx);
|
|
746
|
+
const model = c4.resolved?.definition;
|
|
747
|
+
if (!model)
|
|
748
|
+
reject("edit.unsafe-target", reasons().c4.unresolved);
|
|
749
|
+
const routes = routeStatements(ctx.diagram, op.relation);
|
|
750
|
+
if (routes.length === 0)
|
|
751
|
+
return [];
|
|
752
|
+
const drawn = ctx.diagram.relations.find((r) => r.id === op.relation);
|
|
753
|
+
const followed = followRoutes(ctx.text, model, routes, drawn, op.end, undefined);
|
|
754
|
+
const edits = [
|
|
755
|
+
...followed.edits,
|
|
756
|
+
...deleteStatements(ctx.text, ctx.compilation.parse.root, followed.removed),
|
|
757
|
+
];
|
|
758
|
+
verifyNoNewErrors(ctx, edits);
|
|
759
|
+
return edits;
|
|
760
|
+
}
|
|
761
|
+
/**
|
|
762
|
+
* Removes a model relation with the statements of the file's views that name it. Without
|
|
763
|
+
* `cascade`, those statements and the views that draw the relation (other than `op.view`) are
|
|
764
|
+
* listed as dependents.
|
|
765
|
+
*/
|
|
766
|
+
/**
|
|
767
|
+
* What a view holds about a model relation: the statements that name it by its key, or by a
|
|
768
|
+
* combination standing for it alone, as statements to delete, edits that take it out of shared
|
|
769
|
+
* lists, and dependents; with the view itself as drawing it when `listDrawn`.
|
|
770
|
+
*/
|
|
771
|
+
function relationStatements(ctx, diagram, key, listDrawn) {
|
|
772
|
+
const c4 = diagram.c4;
|
|
773
|
+
const lines = ctx.compilation.parse.lines;
|
|
774
|
+
const statements = [];
|
|
775
|
+
const edits = [];
|
|
776
|
+
const dependents = [];
|
|
777
|
+
if (!c4)
|
|
778
|
+
return { statements, edits, dependents };
|
|
779
|
+
const depend = (kind, name, node) => {
|
|
780
|
+
statements.push(node);
|
|
781
|
+
dependents.push({
|
|
782
|
+
kind,
|
|
783
|
+
name,
|
|
784
|
+
description: messages().dependents.statement(kind, name, lines.location(node.start).line),
|
|
785
|
+
range: lines.range(node),
|
|
786
|
+
});
|
|
787
|
+
};
|
|
788
|
+
const keys = new Set([key]);
|
|
789
|
+
let drawn = false;
|
|
790
|
+
for (const shown of diagram.relations) {
|
|
791
|
+
if (!shown.sources.includes(key))
|
|
792
|
+
continue;
|
|
793
|
+
drawn = true;
|
|
794
|
+
if (isCombination(diagram, shown.key) && shown.sources.every((k) => k === key)) {
|
|
795
|
+
keys.add(shown.key);
|
|
796
|
+
depend("relation", shown.key, shown.node);
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
if (drawn && listDrawn) {
|
|
800
|
+
dependents.push({
|
|
801
|
+
kind: "relation",
|
|
802
|
+
name: diagram.id,
|
|
803
|
+
description: messages().dependents.drawnIn(key, diagram.id, lines.location(diagram.node.start).line),
|
|
804
|
+
range: lines.range(diagram.node),
|
|
805
|
+
});
|
|
806
|
+
}
|
|
807
|
+
for (const entry of diagram.placement) {
|
|
808
|
+
if (keys.has(entry.target))
|
|
809
|
+
depend(entry.statement, entry.target, entry.node);
|
|
810
|
+
}
|
|
811
|
+
for (const label of c4.labels) {
|
|
812
|
+
if (keys.has(label.target))
|
|
813
|
+
depend("label", label.target, label.node);
|
|
814
|
+
}
|
|
815
|
+
// A style or an animation of several targets loses this one; of this one alone, it goes.
|
|
816
|
+
const partial = new Map();
|
|
817
|
+
for (const entry of [...diagram.styles, ...diagram.animations]) {
|
|
818
|
+
if (!keys.has(entry.target))
|
|
819
|
+
continue;
|
|
820
|
+
const index = entry.node.args.findIndex((a) => a.start === entry.targetRange.start.offset);
|
|
821
|
+
const set = partial.get(entry.node) ?? new Set();
|
|
822
|
+
if (index >= 0)
|
|
823
|
+
set.add(index);
|
|
824
|
+
partial.set(entry.node, set);
|
|
825
|
+
const kind = "properties" in entry ? "style" : "animate";
|
|
826
|
+
dependents.push({
|
|
827
|
+
kind,
|
|
828
|
+
name: entry.target,
|
|
829
|
+
description: messages().dependents.statement(kind, entry.target, lines.location(entry.node.start).line),
|
|
830
|
+
range: lines.range(entry.node),
|
|
831
|
+
});
|
|
832
|
+
}
|
|
833
|
+
for (const [node, indices] of partial) {
|
|
834
|
+
if (indices.size >= node.args.length)
|
|
835
|
+
statements.push(node);
|
|
836
|
+
else
|
|
837
|
+
edits.push(...removeListItems(node.args, indices));
|
|
838
|
+
}
|
|
839
|
+
const stories = storyDependents(ctx.compilation, diagram.id, keys);
|
|
840
|
+
statements.push(...stories.statements);
|
|
841
|
+
edits.push(...stories.edits);
|
|
842
|
+
dependents.push(...stories.dependents);
|
|
843
|
+
// An entity the view drew only for this relation leaves its default set, with what names it.
|
|
844
|
+
const model = c4.resolved?.definition;
|
|
845
|
+
if (model && c4.includes === null) {
|
|
846
|
+
const without = {
|
|
847
|
+
...model,
|
|
848
|
+
relations: model.relations.filter((r) => r.key !== key),
|
|
849
|
+
};
|
|
850
|
+
const after = defaultEntities(without, c4.level, c4.scope);
|
|
851
|
+
for (const path of defaultEntities(model, c4.level, c4.scope)) {
|
|
852
|
+
if (after.has(path) || !diagram.elementsById.has(path))
|
|
853
|
+
continue;
|
|
854
|
+
dependents.push({
|
|
855
|
+
kind: "element",
|
|
856
|
+
name: path,
|
|
857
|
+
description: messages().dependents.leavesView(path, diagram.id),
|
|
858
|
+
range: lines.range(diagram.node),
|
|
859
|
+
});
|
|
860
|
+
// What the entity's own removal would take, less what the relation's already takes.
|
|
861
|
+
const leaving = viewDependents(ctx, diagram, path);
|
|
862
|
+
const taken = new Set(statements.map((s) => s.start));
|
|
863
|
+
const listed = new Set(dependents.map((d) => `${d.range.start.offset}:${d.description}`));
|
|
864
|
+
statements.push(...leaving.statements.filter((s) => !taken.has(s.start)));
|
|
865
|
+
edits.push(...leaving.edits);
|
|
866
|
+
dependents.push(...leaving.dependents.filter((d) => !listed.has(`${d.range.start.offset}:${d.description}`)));
|
|
867
|
+
}
|
|
868
|
+
}
|
|
869
|
+
return { statements, edits, dependents };
|
|
870
|
+
}
|
|
581
871
|
export function removeModelRelation(ctx, op) {
|
|
582
872
|
const relation = requireModelRelation(ctx, op.relation);
|
|
583
873
|
const statements = [relation.node];
|
|
584
|
-
|
|
874
|
+
const edits = [];
|
|
875
|
+
const dependents = [];
|
|
585
876
|
for (const diagram of ctx.compilation.document.diagrams) {
|
|
586
877
|
const c4 = diagram.c4;
|
|
587
878
|
if (!c4 || c4.resolved?.file !== null || c4.resolved.definition.id !== ctx.model.id)
|
|
588
879
|
continue;
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
keys.add(drawn.key);
|
|
594
|
-
statements.push(drawn.node);
|
|
595
|
-
}
|
|
596
|
-
}
|
|
597
|
-
for (const entry of diagram.placement)
|
|
598
|
-
if (keys.has(entry.target))
|
|
599
|
-
statements.push(entry.node);
|
|
600
|
-
for (const label of c4.labels)
|
|
601
|
-
if (keys.has(label.target))
|
|
602
|
-
statements.push(label.node);
|
|
603
|
-
for (const entry of [...diagram.styles, ...diagram.animations]) {
|
|
604
|
-
if (keys.has(entry.target))
|
|
605
|
-
statements.push(entry.node);
|
|
606
|
-
}
|
|
880
|
+
const found = relationStatements(ctx, diagram, relation.key, diagram.id !== op.view);
|
|
881
|
+
statements.push(...found.statements);
|
|
882
|
+
edits.push(...found.edits);
|
|
883
|
+
dependents.push(...found.dependents);
|
|
607
884
|
}
|
|
608
|
-
|
|
885
|
+
if (!op.cascade && dependents.length > 0) {
|
|
886
|
+
reject("edit.has-dependents", reasons().c4.removingRelation(relation.key, dependents.length), dependents);
|
|
887
|
+
}
|
|
888
|
+
edits.push(...deleteStatements(ctx.text, ctx.compilation.parse.root, statements));
|
|
889
|
+
verifyNoNewErrors(ctx, edits);
|
|
890
|
+
return edits;
|
|
891
|
+
}
|
|
892
|
+
/**
|
|
893
|
+
* Takes a model relation out of a view whose model is in another file: the statements that name
|
|
894
|
+
* it go (with `cascade`), or are listed as dependents, with the view as drawing it.
|
|
895
|
+
*/
|
|
896
|
+
export function forgetModelRelation(ctx, op) {
|
|
897
|
+
requireView(ctx);
|
|
898
|
+
const { statements, edits, dependents } = relationStatements(ctx, ctx.diagram, op.relation, op.listDrawn ?? true);
|
|
899
|
+
if (!op.cascade && dependents.length > 0) {
|
|
900
|
+
reject("edit.has-dependents", reasons().c4.removingRelation(op.relation, dependents.length), dependents);
|
|
901
|
+
}
|
|
902
|
+
edits.push(...deleteStatements(ctx.text, ctx.compilation.parse.root, statements));
|
|
609
903
|
verifyNoNewErrors(ctx, edits);
|
|
610
904
|
return edits;
|
|
611
905
|
}
|
package/dist/c4.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c4.js","sourceRoot":"","sources":["../src/c4.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c4.js","sourceRoot":"","sources":["../src/c4.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,OAAO,GAOR,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,eAAe,EACf,YAAY,EACZ,eAAe,EACf,SAAS,EAGT,OAAO,EACP,WAAW,GAMZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAsC,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAoB,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,+EAA+E;AAE/E,0FAA0F;AAC1F,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IACnD,yEAAyE;IACzE,eAAe;IACf,YAAY;IACZ,aAAa;IACb,SAAS;IACT,UAAU;IACV,gBAAgB;IAChB,SAAS;IACT,oBAAoB;IACpB,kBAAkB;IAClB,cAAc;IACd,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,kBAAkB;IAClB,eAAe;IACf,eAAe;IACf,eAAe;IACf,qBAAqB;IACrB,iBAAiB;IACjB,uBAAuB;CACxB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IACnD,eAAe;IACf,eAAe;IACf,iBAAiB;IACjB,YAAY;IACZ,oBAAoB;CACrB,CAAC,CAAC;AAUH,sFAAsF;AACtF,MAAM,UAAU,YAAY,CAAC,GAAgB,EAAE,SAAwB;IACrE,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;IAC3B,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO;IACnE,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QACrE,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC;QACjD,MAAM,OAAO,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChF,IAAI,OAAO,EAAE,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO;IAClE,CAAC;IACD,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,WAAW,CAAC,GAAgB;IACnC,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5E,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,aAAa,CAAC,OAAoB,EAAE,GAAW;IAC7D,OAAO,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC;AACrD,CAAC;AAED,uCAAuC;AACvC,SAAS,QAAQ,CAAC,GAAgB;IAChC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;IAChC,IAAI,CAAC,KAAK;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,mGAAmG;AACnG,SAAS,UAAU,CAAC,GAAgB,EAAE,KAAwB;IAC5D,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,MAA6B,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,MAAM,GAAG,IAAI,CAAC;IAC3F,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAgB,EAAE,IAAY,EAAE,KAAwB;IACnF,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACtC,IAAI,MAAM;QAAE,OAAO,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO,KAAK;QACV,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;QACtC,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,GAAgB,EAAE,IAAY;IAC3D,OAAO,mBAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,aAAa,CAAC,GAAgB,EAAE,IAAY;IACnD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC;IACpD,IAAI,CAAC,KAAK;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;IACjF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAgB,EAAE,EAAgC;IAC9E,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5B,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IACvD,IAAI,KAAiB,CAAC;IACtB,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC;IACpE,IAAI,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,KAAK;YACH,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBACtB,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;gBAC1E,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;SAAM,IAAI,EAAE,CAAC,QAAQ,KAAK,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;QAClE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1E,CAAC;SAAM,CAAC;QACN,0EAA0E;QAC1E,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtF,KAAK,GAAG;YACN,mBAAmB,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SAC5F,CAAC;IACJ,CAAC;IACD,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gGAAgG;AAChG,SAAS,cAAc,CACrB,GAAgB,EAChB,OAAoB,EACpB,EAAU;IAEV,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1C,MAAM,UAAU,GAAc,EAAE,CAAC;IACjC,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,CAAC,IAAmB,EAAE,IAAY,EAAE,IAAa,EAAE,EAAE;QAClE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,UAAU,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,IAAI;YACJ,WAAW,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;YACzF,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;SACzB,CAAC,CAAC;IACL,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,GAAG,CAClB,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAChF,CAAC;IACF,4EAA4E;IAC5E,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE;YAAE,SAAS;QACrC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,SAA0B,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/F,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC;YAChE,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiC,CAAC;IACzD,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/D,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,SAAS;QAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3F,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;QACzD,IAAI,KAAK,IAAI,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7B,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YACjD,IAAI,EAAE,KAAK,CAAC,MAAM;YAClB,WAAW,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,SAAS,CAC1C,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAC3C,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CACtC;YACD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YACvD,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,KAAK,GAAG,CAAC;YAAE,SAAS;QACxB,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC;YAClE,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;;YAEvD,KAAK,CAAC,IAAI,CACR,GAAG,eAAe,CAChB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EACxD,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CACjB,CACF,CAAC;IACN,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAgB,EAAE,EAAgC;IAC9E,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5B,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAC/D,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,MAAM,CACJ,qBAAqB,EACrB,OAAO,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EACtE,UAAU,CAAC,UAAU,CACtB,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAe,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,OAAO,GAAc,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,IAAI,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,EAAE,CAAC,QAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;;YACvD,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;SAAM,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9F,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/E,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAgB,EAAE,EAAgC;IAC9E,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3F,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,KAAiB,CAAC;IACtB,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;QACzC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,CAAC;SAAM,IAAI,KAAK,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;QAChC,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,EAAE,CAAC;QACzE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,QAAQ,IAAI,QAAQ,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,CAAC,yBAAyB,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,KAAK,GAAG;YACN,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,MAAM,IAAI,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE;gBACtE,OAAO;gBACP,OAAO;gBACP,SAAS;gBACT,SAAS;gBACT,OAAO;aACR,CAAC;SACH,CAAC;IACJ,CAAC;IACD,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC;AASD,MAAM,UAAU,kBAAkB,CAAC,GAAgB,EAAE,EAAU;IAC7D,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,IAAI,CAAC,KAAK;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACpF,OAAO,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAiB,EAAE,IAAY;IACzD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;IACrF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAiB,EAAE,GAAW;IAC1D,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IACxF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,SAAS,CAAC,GAAiB;IAClC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IACnC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IACnF,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,WAAwB,EACxB,KAAsB;IAEtB,MAAM,KAAK,GAAsB,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,CAAC,OAA2B,EAAE,EAAE,CAC5C,OAAO,EAAE,EAAE,KAAK,IAAI;QACpB,OAAO,EAAE,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI;QACnC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;IACjD,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACpD,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACjD,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9E,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACjD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC/C,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAiB,EAAE,EAA+B;IAC7E,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;IACtC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IAC1E,IAAI,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,kBAAkB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiB,CAAC;IACxC,KAAK,MAAM,SAAS,IAAI,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACrE,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IACzF,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7C,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,OAAO,EAAE,EAAE,CAAC,KAAK;KAClB,CAAC,CAAC,CAAC;IACJ,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sDAAsD;AACtD,SAAS,WAAW,CAAC,KAAsB,EAAE,IAAY;IACvD,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAiB,EAAE,EAA+B;IAC7E,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IACxB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9F,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1C,MAAM,UAAU,GAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,CAAC,IAAmB,EAAE,IAAY,EAAE,IAAa,EAAE,EAAE;QAClE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,UAAU,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,IAAI;YACJ,WAAW,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;YACzF,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;SACzB,CAAC,CAAC;IACL,CAAC,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YAC5F,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAC1F,CAAC;IACF,6FAA6F;IAC7F,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxD,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE;YAAE,SAAS;QAC1F,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI;YACzB,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC;YACnC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC;SACrB,EAAE,CAAC;YACX,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAClF,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;gBAAE,SAAS;YACjC,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBAC7E,CAAC;gBACJ,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;gBACnD,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;oBACvB,WAAW,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,QAAQ,CACzC,IAAI,CAAC,OAAO,CAAC,IAAI,EACjB,OAAO,CAAC,EAAE,EACV,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAChC;oBACD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC7D,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QACD,iFAAiF;QACjF,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;gBAAE,SAAS;YACxE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,OAAO,GACX,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzF,IAAI,OAAO;gBAAE,MAAM,CAAC,KAAK,CAAC,SAA0B,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5E,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;gBAAE,SAAS;YAC5E,MAAM,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAChF,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACjD,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC5E,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,EAAE,CACJ,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC;gBAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK;gBACrC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CACpC,CAAC;YACF,IAAI,QAAQ;gBAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACtE,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7B,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IACD,mDAAmD;IACnD,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,IACE,IAAI,CAAC,MAAM,KAAK,OAAO;gBACvB,IAAI,CAAC,OAAO,KAAK,IAAI;gBACrB,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE;gBACzB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EACzB,CAAC;gBACD,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,CACJ,qBAAqB,EACrB,OAAO,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,EAC3D,UAAU,CACX,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAClF,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,2EAA2E;AAC3E,SAAS,QAAQ,CAAC,MAAmB;IACnC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChC,OAAO,GAAG,EAAE,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED,oGAAoG;AACpG,SAAS,iBAAiB,CACxB,GAAgB,EAChB,KAAmC,EACnC,KAAwB,EACxB,OAAe,EACf,IAAmB;IAEnB,MAAM,QAAQ,GAAG,KAAK,EAAE,UAAU,CAAC,IAAI,CACrC,CAAC,CAAC,EAAyB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAC1F,CAAC;IACF,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QACzB,+BAA+B;QAC/B,IAAI,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YACxC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACnE,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI;YAAE,OAAO,EAAE,CAAC;QACrE,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,qDAAqD;QACrD,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAClC,OAAO;YACL,KAAK;gBACH,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;gBACtC,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;SACzD,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,GAAiB,EACjB,EAAoC;IAEpC,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,IAAI,KAAiB,CAAC;IACtB,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YAC7E,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC;gBAC1C,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;gBAClC,KAAK,GAAG,OAAO;oBACb,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM;wBAC7B,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;oBACjE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;YACpF,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,KAAK,CAAC;QACX,KAAK,aAAa,CAAC;QACnB,KAAK,YAAY;YACf,IACE,EAAE,CAAC,QAAQ,KAAK,KAAK;gBACrB,EAAE,CAAC,KAAK,KAAK,IAAI;gBACjB,EAAE,CAAC,KAAK,KAAK,EAAE;gBACf,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAC5B,CAAC;gBACD,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7E,CAAC;YACD,KAAK,GAAG,iBAAiB,CACvB,GAAG,EACH,IAAI,EACJ,IAAI,CAAC,KAAK,EACV,EAAE,CAAC,QAAQ,EACX,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE;gBAClC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CACtD,CAAC;YACF,MAAM;QACR,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACzD,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;YACtD,CAAC;YACD,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC;YACpD,KAAK,GAAG,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrF,MAAM;QACR,CAAC;IACH,CAAC;IACD,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,oDAAoD;AACpD,SAAS,aAAa,CAAC,GAAiB,EAAE,MAAqB,EAAE,IAAY;IAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,GAAI,CAAC,EAAE,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAAE,OAAO,EAAE,CAAC;IAChF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAiB,EAAE,EAA+B;IAC7E,IAAI,CAAE,YAAkC,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QACjE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,IAAI,OAAO,CAAE,CAAC;IAC1D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;IAC5E,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAAE,MAAM,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,IAAI,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,MAAM,CAAC,kBAAkB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAClG,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,UAAU,IAAI,EAAE,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5D,IAAI,KAAiB,CAAC;IACtB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG;YACN;gBACE,KAAK,EAAE,MAAO,CAAC,IAAI,CAAC,GAAG;gBACvB,GAAG,EAAE,MAAO,CAAC,IAAI,CAAC,GAAG;gBACrB,OAAO,EAAE,KAAK,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,MAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,MAAO,CAAC,IAAI,CAAC,GAAG;aACjH;SACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,kDAAkD;QAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,kBAAkB;YAC5B,YAAkC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAC/D,CAAC;QACF,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,KAAK,GAAG;YACN,IAAI;gBACF,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;gBAC3C,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;SACpF,CAAC;IACJ,CAAC;IACD,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,GAAgB,EAAE,IAAuB;IACzD,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7D,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,GAAiB,EACjB,EAAsC;IAEtC,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACjC,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC;QACjD,MAAM,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,IAAI,EAAE,CAAC,EAAE,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/D,MAAM,CAAC,kBAAkB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAC3D,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC5B,sEAAsE;IACtE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC;IAChF,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5F,MAAM,KAAK,GAAG;QACZ,IAAI;YACF,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;YAC1C,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;KACjE,CAAC;IACF,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,sBAAsB,CACpC,GAAiB,EACjB,EAAyC;IAEzC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;IAChE,IAAI,OAAO,KAAK,MAAM,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;IAC5E,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAChC,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,EAAE,CAAC,QAAQ,KAAK,SAAS;QAAE,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACxE,6FAA6F;IAC7F,oCAAoC;IACpC,MAAM,KAAK,GAAa,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IACjF,MAAM,KAAK,GAAe,CAAC,KAAK,CAAC,CAAC;IAClC,oEAAoE;IACpE,IAAI,QAAQ,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAClF,MAAM,OAAO,GAAc,EAAE,CAAC;QAC9B,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACxD,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE;gBAAE,SAAS;YAC9F,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAClC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;YACrE,MAAM,KAAK,GAAG,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC/D,MAAM,MAAM,GACV,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS;gBAC7C,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;gBACpF,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAClF,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,oFAAoF;AACpF,SAAS,eAAe,CAAC,OAAoB,EAAE,EAAU;IACvD,MAAM,KAAK,GAAuB,EAAE,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC;YACjD,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;gBAAE,SAAS;YAChF,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6FAA6F;AAC7F,MAAM,OAAO,GAAwB,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEzF,0FAA0F;AAC1F,SAAS,UAAU,CACjB,KAAsB,EACtB,IAAY;IAEZ,IAAI,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzE,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5D,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CACnB,IAAY,EACZ,KAAsB,EACtB,MAAmC,EACnC,KAA2B,EAC3B,GAAkB,EAClB,MAAgF;IAEhF,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QACzD,MAAM,EAAE,GAAG,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QACtD,IAAI,GAAG,EAAE,IAAI,KAAK,cAAc,EAAE,CAAC;YACjC,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,IAAI,OAAe,CAAC;QACpB,IAAI,MAAM;YAAE,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;aACpE,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM;YAAE,SAAS;aACzC,CAAC;YACJ,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACtF,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;QAC7B,IAAI,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,GAAgB,EAAE,EAAkC;IAClF,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;IACtC,IAAI,CAAC,KAAK;QAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG;QACZ,GAAG,QAAQ,CAAC,KAAK;QACjB,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;KAC5E,CAAC;IACF,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH;;;;GAIG;AACH,SAAS,kBAAkB,CACzB,GAAgB,EAChB,OAAoB,EACpB,GAAW,EACX,SAAkB;IAElB,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IACtB,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1C,MAAM,UAAU,GAAc,EAAE,CAAC;IACjC,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAClD,MAAM,MAAM,GAAG,CAAC,IAAmB,EAAE,IAAY,EAAE,IAAa,EAAE,EAAE;QAClE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,UAAU,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,IAAI;YACJ,WAAW,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;YACzF,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;SACzB,CAAC,CAAC;IACL,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QAC3C,KAAK,GAAG,IAAI,CAAC;QACb,IAAI,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YAC/E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpB,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;QACvB,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,OAAO,CAAC,EAAE;YAChB,WAAW,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,OAAO,CACxC,GAAG,EACH,OAAO,CAAC,EAAE,EACV,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CACxC;YACD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,MAAM,CAAC,KAAK,CAAC,SAA0B,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACjG,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IACD,yFAAyF;IACzF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiC,CAAC;IACzD,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,SAAS;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3F,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;QACzD,IAAI,KAAK,IAAI,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD,UAAU,CAAC,IAAI,CAAC;YACd,IAAI;YACJ,IAAI,EAAE,KAAK,CAAC,MAAM;YAClB,WAAW,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,SAAS,CAC1C,IAAI,EACJ,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CACtC;YACD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YACvD,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACnE,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,6FAA6F;IAC7F,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;IACtC,IAAI,KAAK,IAAI,EAAE,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAClC,MAAM,OAAO,GAAoB;YAC/B,GAAG,KAAK;YACR,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;SACxD,CAAC;QACF,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAC3D,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9D,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YACjE,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;gBAC/D,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;aACjC,CAAC,CAAC;YACH,oFAAoF;YACpF,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC1F,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1E,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7B,UAAU,CAAC,IAAI,CACb,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAC/D,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,GAAiB,EACjB,EAAsC;IAEtC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,UAAU,GAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxD,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE;YAAE,SAAS;QAC9F,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC;QACrF,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,CACJ,qBAAqB,EACrB,OAAO,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,EAC9D,UAAU,CACX,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAClF,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAgB,EAChB,EAAsC;IAEtC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAC1D,GAAG,EACH,GAAG,CAAC,OAAO,EACX,EAAE,CAAC,QAAQ,EACX,EAAE,CAAC,SAAS,IAAI,IAAI,CACrB,CAAC;IACF,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,CACJ,qBAAqB,EACrB,OAAO,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,EAC7D,UAAU,CACX,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAClF,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,GAAiB,EACjB,EAA2C;IAE3C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IACrE,IAAI,KAAiB,CAAC;IACtB,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,KAAK;oBACH,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1F,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;gBAClC,KAAK,GAAG,KAAK;oBACX,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM;wBACrB,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;oBAC7D,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,IAAI,KAAK,KAAK,IAAI;gBAAE,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YACvE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBAAE,MAAM,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YACvF,IAAI,KAAK,KAAK,QAAQ,CAAC,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjE,MAAM,CAAC,kBAAkB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,QAAQ,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;gBACzB,8CAA8C;gBAC9C,MAAM,MAAM,GAAqC;oBAC/C,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAQ,CAAC,GAAG,CAAC,MAAM,EAAE;iBAC7E,CAAC;gBACF,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACxD,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE;wBACjF,SAAS;oBACX,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;wBAC3C,IAAI,SAAS,CAAC,UAAU,KAAK,UAAU,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE;4BACzE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC;gBACD,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACzE,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,GAAG,EAAE,CAAC,CAAC,GAAG;oBACV,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBACpF,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,EAAE,EAAE,CAAC,CAAC;YACpE,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,YAAY,CAAC;QAClB,KAAK,aAAa;YAChB,KAAK,GAAG,iBAAiB,CACvB,GAAG,EACH,IAAI,EACJ,IAAI,CAAC,KAAK,EACV,EAAE,CAAC,QAAQ,EACX,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAC/D,CAAC;YACF,MAAM;IACV,CAAC;IACD,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/context.d.ts
CHANGED
|
@@ -25,6 +25,13 @@ export declare function requireElement(ctx: EditContext, id: string): Element;
|
|
|
25
25
|
/** Resolves a relation by id. Anonymous keys are refused: the relation needs `as <id>` first. */
|
|
26
26
|
export declare function requireNamedRelation(ctx: EditContext, name: string): Relation;
|
|
27
27
|
export declare function requireNumbers(...values: number[]): void;
|
|
28
|
+
/** Checks the position of a declaration among those of its block: a whole number from 0. */
|
|
29
|
+
export declare function requireIndex(index: number): void;
|
|
30
|
+
/**
|
|
31
|
+
* Whether `id` names a list: a group of a free diagram whose block writes `layout column` or
|
|
32
|
+
* `layout row`, which places its children itself.
|
|
33
|
+
*/
|
|
34
|
+
export declare function isListGroup(ctx: EditContext, id: string | null | undefined): boolean;
|
|
28
35
|
/**
|
|
29
36
|
* Inserts a statement as the last statement of a block, following the block's layout:
|
|
30
37
|
* a new line indented like the existing statements, or `; statement` in a one-line block.
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,KAAK,EACV,KAAK,QAAQ,EAEd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAG3F,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3D,0FAA0F;AAC1F,qBAAa,QAAS,SAAQ,KAAK;IACrB,QAAQ,CAAC,SAAS,EAAE,aAAa;gBAAxB,SAAS,EAAE,aAAa;CAG9C;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,CAEpF;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,0EAA0E;IAC1E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,kFAAkF;AAClF,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAE/F,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,CAQvE;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAStF;AAmCD,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAIpE;AAED,iGAAiG;AACjG,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAK7E;AAED,wBAAgB,cAAc,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAMxD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,EACzC,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1C,QAAQ,CAyCV"}
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,KAAK,EACV,KAAK,QAAQ,EAEd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAG3F,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3D,0FAA0F;AAC1F,qBAAa,QAAS,SAAQ,KAAK;IACrB,QAAQ,CAAC,SAAS,EAAE,aAAa;gBAAxB,SAAS,EAAE,aAAa;CAG9C;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,CAEpF;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,0EAA0E;IAC1E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,kFAAkF;AAClF,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAE/F,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,CAQvE;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAStF;AAmCD,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAIpE;AAED,iGAAiG;AACjG,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAK7E;AAED,wBAAgB,cAAc,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAMxD;AAED,4FAA4F;AAC5F,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAIhD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAGpF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,EACzC,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1C,QAAQ,CAyCV"}
|