@nielspeter/eess-mermaid 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +29 -0
  3. package/dist/bridge/from-diagram.d.ts +58 -0
  4. package/dist/bridge/from-diagram.d.ts.map +1 -0
  5. package/dist/bridge/from-diagram.js +112 -0
  6. package/dist/bridge/from-diagram.js.map +1 -0
  7. package/dist/builders/class-rule-builder.d.ts +45 -0
  8. package/dist/builders/class-rule-builder.d.ts.map +1 -0
  9. package/dist/builders/class-rule-builder.js +89 -0
  10. package/dist/builders/class-rule-builder.js.map +1 -0
  11. package/dist/cli/bin.d.ts +3 -0
  12. package/dist/cli/bin.d.ts.map +1 -0
  13. package/dist/cli/bin.js +4 -0
  14. package/dist/cli/bin.js.map +1 -0
  15. package/dist/cli/commands/check.d.ts +8 -0
  16. package/dist/cli/commands/check.d.ts.map +1 -0
  17. package/dist/cli/commands/check.js +44 -0
  18. package/dist/cli/commands/check.js.map +1 -0
  19. package/dist/cli/commands/explain.d.ts +6 -0
  20. package/dist/cli/commands/explain.d.ts.map +1 -0
  21. package/dist/cli/commands/explain.js +29 -0
  22. package/dist/cli/commands/explain.js.map +1 -0
  23. package/dist/cli/config.d.ts +8 -0
  24. package/dist/cli/config.d.ts.map +1 -0
  25. package/dist/cli/config.js +4 -0
  26. package/dist/cli/config.js.map +1 -0
  27. package/dist/cli/index.d.ts +2 -0
  28. package/dist/cli/index.d.ts.map +1 -0
  29. package/dist/cli/index.js +130 -0
  30. package/dist/cli/index.js.map +1 -0
  31. package/dist/cli/load-rules.d.ts +10 -0
  32. package/dist/cli/load-rules.d.ts.map +1 -0
  33. package/dist/cli/load-rules.js +62 -0
  34. package/dist/cli/load-rules.js.map +1 -0
  35. package/dist/cli/resolve-config.d.ts +3 -0
  36. package/dist/cli/resolve-config.d.ts.map +1 -0
  37. package/dist/cli/resolve-config.js +50 -0
  38. package/dist/cli/resolve-config.js.map +1 -0
  39. package/dist/cli/watch.d.ts +8 -0
  40. package/dist/cli/watch.d.ts.map +1 -0
  41. package/dist/cli/watch.js +114 -0
  42. package/dist/cli/watch.js.map +1 -0
  43. package/dist/conditions/class.d.ts +11 -0
  44. package/dist/conditions/class.d.ts.map +1 -0
  45. package/dist/conditions/class.js +163 -0
  46. package/dist/conditions/class.js.map +1 -0
  47. package/dist/core/diagram.d.ts +3 -0
  48. package/dist/core/diagram.d.ts.map +1 -0
  49. package/dist/core/diagram.js +18 -0
  50. package/dist/core/diagram.js.map +1 -0
  51. package/dist/core/index.d.ts +5 -0
  52. package/dist/core/index.d.ts.map +1 -0
  53. package/dist/core/index.js +3 -0
  54. package/dist/core/index.js.map +1 -0
  55. package/dist/core/project.d.ts +7 -0
  56. package/dist/core/project.d.ts.map +1 -0
  57. package/dist/core/project.js +2 -0
  58. package/dist/core/project.js.map +1 -0
  59. package/dist/core/violation.d.ts +15 -0
  60. package/dist/core/violation.d.ts.map +1 -0
  61. package/dist/core/violation.js +16 -0
  62. package/dist/core/violation.js.map +1 -0
  63. package/dist/index.d.ts +33 -0
  64. package/dist/index.d.ts.map +1 -0
  65. package/dist/index.js +31 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/models/arch-class.d.ts +20 -0
  68. package/dist/models/arch-class.d.ts.map +1 -0
  69. package/dist/models/arch-class.js +33 -0
  70. package/dist/models/arch-class.js.map +1 -0
  71. package/dist/models/er-entity.d.ts +32 -0
  72. package/dist/models/er-entity.d.ts.map +1 -0
  73. package/dist/models/er-entity.js +37 -0
  74. package/dist/models/er-entity.js.map +1 -0
  75. package/dist/parser/generated/ast.d.ts +539 -0
  76. package/dist/parser/generated/ast.d.ts.map +1 -0
  77. package/dist/parser/generated/ast.js +443 -0
  78. package/dist/parser/generated/ast.js.map +1 -0
  79. package/dist/parser/generated/grammar.d.ts +8 -0
  80. package/dist/parser/generated/grammar.d.ts.map +1 -0
  81. package/dist/parser/generated/grammar.js +10 -0
  82. package/dist/parser/generated/grammar.js.map +1 -0
  83. package/dist/parser/generated/module.d.ts +21 -0
  84. package/dist/parser/generated/module.d.ts.map +1 -0
  85. package/dist/parser/generated/module.js +32 -0
  86. package/dist/parser/generated/module.js.map +1 -0
  87. package/dist/parser/parse-class-diagram.d.ts +7 -0
  88. package/dist/parser/parse-class-diagram.d.ts.map +1 -0
  89. package/dist/parser/parse-class-diagram.js +33 -0
  90. package/dist/parser/parse-class-diagram.js.map +1 -0
  91. package/dist/parser/parse-directives.d.ts +38 -0
  92. package/dist/parser/parse-directives.d.ts.map +1 -0
  93. package/dist/parser/parse-directives.js +96 -0
  94. package/dist/parser/parse-directives.js.map +1 -0
  95. package/dist/parser/parse-er-diagram.d.ts +4 -0
  96. package/dist/parser/parse-er-diagram.d.ts.map +1 -0
  97. package/dist/parser/parse-er-diagram.js +27 -0
  98. package/dist/parser/parse-er-diagram.js.map +1 -0
  99. package/dist/parser/validate-diagram.d.ts +11 -0
  100. package/dist/parser/validate-diagram.d.ts.map +1 -0
  101. package/dist/parser/validate-diagram.js +67 -0
  102. package/dist/parser/validate-diagram.js.map +1 -0
  103. package/dist/predicates/class.d.ts +13 -0
  104. package/dist/predicates/class.d.ts.map +1 -0
  105. package/dist/predicates/class.js +73 -0
  106. package/dist/predicates/class.js.map +1 -0
  107. package/package.json +50 -0
@@ -0,0 +1,443 @@
1
+ /******************************************************************************
2
+ * This file was generated by langium-cli 4.3.0.
3
+ * DO NOT EDIT MANUALLY!
4
+ ******************************************************************************/
5
+ /* eslint-disable */
6
+ import * as langium from 'langium';
7
+ /** Contains the reachable terminals & keywords and all available types of the 'ClassDiagramGrammar' language. */
8
+ export var ClassDiagramGrammar;
9
+ (function (ClassDiagramGrammar) {
10
+ ClassDiagramGrammar.Terminals = {
11
+ ID: /[A-Za-z_][A-Za-z0-9_]*/,
12
+ STRING: /"[^"]*"/,
13
+ DIRECTIVE: /%%[ \t]*@[^\n\r]*/,
14
+ WS: /\s+/,
15
+ SL_COMMENT: /%%(?![ \t]*@)[^\n\r]*/,
16
+ };
17
+ })(ClassDiagramGrammar || (ClassDiagramGrammar = {}));
18
+ /** Contains the reachable terminals & keywords and all available types of the 'ErDiagramGrammar' language. */
19
+ export var ErDiagramGrammar;
20
+ (function (ErDiagramGrammar) {
21
+ ErDiagramGrammar.Terminals = {
22
+ CARDINALITY: /(\|o|\|\||\}o|\}\|)(--|\.\.)(o\||\|\||o\{|\|\{)/,
23
+ ID: /[A-Za-z_][A-Za-z0-9_-]*/,
24
+ STRING: /"[^"]*"/,
25
+ WS: /\s+/,
26
+ SL_COMMENT: /%%[^\n\r]*/,
27
+ };
28
+ })(ErDiagramGrammar || (ErDiagramGrammar = {}));
29
+ // the terminals, keywords and types of the whole 'MermaidUnit' project
30
+ export const MermaidUnitTerminals = {
31
+ ...ClassDiagramGrammar.Terminals,
32
+ ...ErDiagramGrammar.Terminals,
33
+ };
34
+ export function isArrow(item) {
35
+ return item === '<|--' || item === '<|..' || item === '--|>' || item === '..|>' || item === '-->' || item === '..>' || item === '*--' || item === 'o--' || item === '--';
36
+ }
37
+ export const ClassDef = {
38
+ $type: 'ClassDef',
39
+ members: 'members',
40
+ name: 'name',
41
+ stereotypes: 'stereotypes'
42
+ };
43
+ export function isClassDef(item) {
44
+ return reflection.isInstance(item, ClassDef.$type);
45
+ }
46
+ export const ClassMember = {
47
+ $type: 'ClassMember',
48
+ abstract: 'abstract',
49
+ method: 'method',
50
+ name: 'name',
51
+ params: 'params',
52
+ returnType: 'returnType',
53
+ static: 'static',
54
+ type: 'type',
55
+ visibility: 'visibility'
56
+ };
57
+ export function isClassMember(item) {
58
+ return reflection.isInstance(item, ClassMember.$type);
59
+ }
60
+ export const Diagram = {
61
+ $type: 'Diagram',
62
+ classes: 'classes',
63
+ directives: 'directives',
64
+ notes: 'notes',
65
+ relationships: 'relationships',
66
+ stereotypeAssignments: 'stereotypeAssignments'
67
+ };
68
+ export function isDiagram(item) {
69
+ return reflection.isInstance(item, Diagram.$type);
70
+ }
71
+ export const Directive = {
72
+ $type: 'Directive',
73
+ text: 'text'
74
+ };
75
+ export function isDirective(item) {
76
+ return reflection.isInstance(item, Directive.$type);
77
+ }
78
+ export const ErAttribute = {
79
+ $type: 'ErAttribute',
80
+ comment: 'comment',
81
+ keys: 'keys',
82
+ name: 'name',
83
+ type: 'type'
84
+ };
85
+ export function isErAttribute(item) {
86
+ return reflection.isInstance(item, ErAttribute.$type);
87
+ }
88
+ export const ErDiagram = {
89
+ $type: 'ErDiagram',
90
+ entities: 'entities',
91
+ notes: 'notes',
92
+ relationships: 'relationships'
93
+ };
94
+ export function isErDiagram(item) {
95
+ return reflection.isInstance(item, ErDiagram.$type);
96
+ }
97
+ export const ErEntityDef = {
98
+ $type: 'ErEntityDef',
99
+ attributes: 'attributes',
100
+ name: 'name'
101
+ };
102
+ export function isErEntityDef(item) {
103
+ return reflection.isInstance(item, ErEntityDef.$type);
104
+ }
105
+ export function isErKey(item) {
106
+ return item === 'PK' || item === 'FK' || item === 'UK';
107
+ }
108
+ export const ErNote = {
109
+ $type: 'ErNote',
110
+ target: 'target',
111
+ text: 'text'
112
+ };
113
+ export function isErNote(item) {
114
+ return reflection.isInstance(item, ErNote.$type);
115
+ }
116
+ export const ErRelationship = {
117
+ $type: 'ErRelationship',
118
+ cardinality: 'cardinality',
119
+ label: 'label',
120
+ lhs: 'lhs',
121
+ rhs: 'rhs'
122
+ };
123
+ export function isErRelationship(item) {
124
+ return reflection.isInstance(item, ErRelationship.$type);
125
+ }
126
+ export const Note = {
127
+ $type: 'Note',
128
+ target: 'target',
129
+ text: 'text'
130
+ };
131
+ export function isNote(item) {
132
+ return reflection.isInstance(item, Note.$type);
133
+ }
134
+ export const Param = {
135
+ $type: 'Param',
136
+ name: 'name',
137
+ type: 'type'
138
+ };
139
+ export function isParam(item) {
140
+ return reflection.isInstance(item, Param.$type);
141
+ }
142
+ export const Relationship = {
143
+ $type: 'Relationship',
144
+ arrow: 'arrow',
145
+ label: 'label',
146
+ lhs: 'lhs',
147
+ lhsCard: 'lhsCard',
148
+ rhs: 'rhs',
149
+ rhsCard: 'rhsCard'
150
+ };
151
+ export function isRelationship(item) {
152
+ return reflection.isInstance(item, Relationship.$type);
153
+ }
154
+ export const StereotypeAssignment = {
155
+ $type: 'StereotypeAssignment',
156
+ classRef: 'classRef',
157
+ stereotype: 'stereotype'
158
+ };
159
+ export function isStereotypeAssignment(item) {
160
+ return reflection.isInstance(item, StereotypeAssignment.$type);
161
+ }
162
+ export const StereotypeMarker = {
163
+ $type: 'StereotypeMarker',
164
+ name: 'name'
165
+ };
166
+ export function isStereotypeMarker(item) {
167
+ return reflection.isInstance(item, StereotypeMarker.$type);
168
+ }
169
+ export function isVisibility(item) {
170
+ return item === '+' || item === '-' || item === '#' || item === '~';
171
+ }
172
+ export class MermaidUnitAstReflection extends langium.AbstractAstReflection {
173
+ types = {
174
+ ClassDef: {
175
+ name: ClassDef.$type,
176
+ properties: {
177
+ members: {
178
+ name: ClassDef.members,
179
+ defaultValue: [],
180
+ optional: true
181
+ },
182
+ name: {
183
+ name: ClassDef.name
184
+ },
185
+ stereotypes: {
186
+ name: ClassDef.stereotypes,
187
+ defaultValue: [],
188
+ optional: true
189
+ }
190
+ },
191
+ superTypes: []
192
+ },
193
+ ClassMember: {
194
+ name: ClassMember.$type,
195
+ properties: {
196
+ abstract: {
197
+ name: ClassMember.abstract,
198
+ defaultValue: false,
199
+ optional: true
200
+ },
201
+ method: {
202
+ name: ClassMember.method,
203
+ defaultValue: false,
204
+ optional: true
205
+ },
206
+ name: {
207
+ name: ClassMember.name
208
+ },
209
+ params: {
210
+ name: ClassMember.params,
211
+ defaultValue: [],
212
+ optional: true
213
+ },
214
+ returnType: {
215
+ name: ClassMember.returnType,
216
+ optional: true
217
+ },
218
+ static: {
219
+ name: ClassMember.static,
220
+ defaultValue: false,
221
+ optional: true
222
+ },
223
+ type: {
224
+ name: ClassMember.type,
225
+ optional: true
226
+ },
227
+ visibility: {
228
+ name: ClassMember.visibility,
229
+ optional: true
230
+ }
231
+ },
232
+ superTypes: []
233
+ },
234
+ Diagram: {
235
+ name: Diagram.$type,
236
+ properties: {
237
+ classes: {
238
+ name: Diagram.classes,
239
+ defaultValue: [],
240
+ optional: true
241
+ },
242
+ directives: {
243
+ name: Diagram.directives,
244
+ defaultValue: [],
245
+ optional: true
246
+ },
247
+ notes: {
248
+ name: Diagram.notes,
249
+ defaultValue: [],
250
+ optional: true
251
+ },
252
+ relationships: {
253
+ name: Diagram.relationships,
254
+ defaultValue: [],
255
+ optional: true
256
+ },
257
+ stereotypeAssignments: {
258
+ name: Diagram.stereotypeAssignments,
259
+ defaultValue: [],
260
+ optional: true
261
+ }
262
+ },
263
+ superTypes: []
264
+ },
265
+ Directive: {
266
+ name: Directive.$type,
267
+ properties: {
268
+ text: {
269
+ name: Directive.text
270
+ }
271
+ },
272
+ superTypes: []
273
+ },
274
+ ErAttribute: {
275
+ name: ErAttribute.$type,
276
+ properties: {
277
+ comment: {
278
+ name: ErAttribute.comment,
279
+ optional: true
280
+ },
281
+ keys: {
282
+ name: ErAttribute.keys,
283
+ defaultValue: [],
284
+ optional: true
285
+ },
286
+ name: {
287
+ name: ErAttribute.name
288
+ },
289
+ type: {
290
+ name: ErAttribute.type
291
+ }
292
+ },
293
+ superTypes: []
294
+ },
295
+ ErDiagram: {
296
+ name: ErDiagram.$type,
297
+ properties: {
298
+ entities: {
299
+ name: ErDiagram.entities,
300
+ defaultValue: [],
301
+ optional: true
302
+ },
303
+ notes: {
304
+ name: ErDiagram.notes,
305
+ defaultValue: [],
306
+ optional: true
307
+ },
308
+ relationships: {
309
+ name: ErDiagram.relationships,
310
+ defaultValue: [],
311
+ optional: true
312
+ }
313
+ },
314
+ superTypes: []
315
+ },
316
+ ErEntityDef: {
317
+ name: ErEntityDef.$type,
318
+ properties: {
319
+ attributes: {
320
+ name: ErEntityDef.attributes,
321
+ defaultValue: [],
322
+ optional: true
323
+ },
324
+ name: {
325
+ name: ErEntityDef.name
326
+ }
327
+ },
328
+ superTypes: []
329
+ },
330
+ ErNote: {
331
+ name: ErNote.$type,
332
+ properties: {
333
+ target: {
334
+ name: ErNote.target,
335
+ optional: true
336
+ },
337
+ text: {
338
+ name: ErNote.text
339
+ }
340
+ },
341
+ superTypes: []
342
+ },
343
+ ErRelationship: {
344
+ name: ErRelationship.$type,
345
+ properties: {
346
+ cardinality: {
347
+ name: ErRelationship.cardinality
348
+ },
349
+ label: {
350
+ name: ErRelationship.label,
351
+ optional: true
352
+ },
353
+ lhs: {
354
+ name: ErRelationship.lhs
355
+ },
356
+ rhs: {
357
+ name: ErRelationship.rhs
358
+ }
359
+ },
360
+ superTypes: []
361
+ },
362
+ Note: {
363
+ name: Note.$type,
364
+ properties: {
365
+ target: {
366
+ name: Note.target,
367
+ referenceType: ClassDef.$type,
368
+ optional: true
369
+ },
370
+ text: {
371
+ name: Note.text
372
+ }
373
+ },
374
+ superTypes: []
375
+ },
376
+ Param: {
377
+ name: Param.$type,
378
+ properties: {
379
+ name: {
380
+ name: Param.name
381
+ },
382
+ type: {
383
+ name: Param.type,
384
+ optional: true
385
+ }
386
+ },
387
+ superTypes: []
388
+ },
389
+ Relationship: {
390
+ name: Relationship.$type,
391
+ properties: {
392
+ arrow: {
393
+ name: Relationship.arrow
394
+ },
395
+ label: {
396
+ name: Relationship.label,
397
+ optional: true
398
+ },
399
+ lhs: {
400
+ name: Relationship.lhs,
401
+ referenceType: ClassDef.$type
402
+ },
403
+ lhsCard: {
404
+ name: Relationship.lhsCard,
405
+ optional: true
406
+ },
407
+ rhs: {
408
+ name: Relationship.rhs,
409
+ referenceType: ClassDef.$type
410
+ },
411
+ rhsCard: {
412
+ name: Relationship.rhsCard,
413
+ optional: true
414
+ }
415
+ },
416
+ superTypes: []
417
+ },
418
+ StereotypeAssignment: {
419
+ name: StereotypeAssignment.$type,
420
+ properties: {
421
+ classRef: {
422
+ name: StereotypeAssignment.classRef,
423
+ referenceType: ClassDef.$type
424
+ },
425
+ stereotype: {
426
+ name: StereotypeAssignment.stereotype
427
+ }
428
+ },
429
+ superTypes: []
430
+ },
431
+ StereotypeMarker: {
432
+ name: StereotypeMarker.$type,
433
+ properties: {
434
+ name: {
435
+ name: StereotypeMarker.name
436
+ }
437
+ },
438
+ superTypes: []
439
+ }
440
+ };
441
+ }
442
+ export const reflection = new MermaidUnitAstReflection();
443
+ //# sourceMappingURL=ast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../src/parser/generated/ast.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /******************************************************************************
2
+ * This file was generated by langium-cli 4.3.0.
3
+ * DO NOT EDIT MANUALLY!
4
+ ******************************************************************************/
5
+ import type { Grammar } from 'langium';
6
+ export declare const ClassDiagramGrammarGrammar: () => Grammar;
7
+ export declare const ErDiagramGrammarGrammar: () => Grammar;
8
+ //# sourceMappingURL=grammar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grammar.d.ts","sourceRoot":"","sources":["../../../src/parser/generated/grammar.ts"],"names":[],"mappings":"AAAA;;;gFAGgF;AAEhF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIvC,eAAO,MAAM,0BAA0B,QAAO,OAAo6Q,CAAC;AAGn9Q,eAAO,MAAM,uBAAuB,QAAO,OAA4wJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ /******************************************************************************
2
+ * This file was generated by langium-cli 4.3.0.
3
+ * DO NOT EDIT MANUALLY!
4
+ ******************************************************************************/
5
+ import { loadGrammarFromJson } from 'langium';
6
+ let loadedClassDiagramGrammarGrammar;
7
+ export const ClassDiagramGrammarGrammar = () => loadedClassDiagramGrammarGrammar ?? (loadedClassDiagramGrammarGrammar = loadGrammarFromJson('{"$type":"Grammar","isDeclared":true,"name":"ClassDiagramGrammar","rules":[{"$type":"ParserRule","entry":true,"name":"Diagram","definition":{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Diagram"}},{"$type":"Keyword","value":"classDiagram"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"classes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"stereotypeAssignments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"relationships","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"directives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"note"},{"$type":"Group","elements":[{"$type":"Keyword","value":"for"},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@3"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"?"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Directive","definition":{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"class"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"members","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"stereotypes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":"}"}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"StereotypeAssignment","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"stereotype","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"classRef","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@3"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"StereotypeMarker","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"<<"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Keyword","value":">>"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassMember","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"method","operator":"?=","terminal":{"$type":"Keyword","value":"("}},{"$type":"Group","elements":[{"$type":"Assignment","feature":"params","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"params","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}],"cardinality":"?"},{"$type":"Keyword","value":")"},{"$type":"Assignment","feature":"returnType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"abstract","operator":"?=","terminal":{"$type":"Keyword","value":"*"}},{"$type":"Assignment","feature":"static","operator":"?=","terminal":{"$type":"Keyword","value":"$"}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}],"cardinality":"?"}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Param","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Relationship","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhs","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@3"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Assignment","feature":"lhsCard","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"rhsCard","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"rhs","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@3"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Arrow","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"<|--"},{"$type":"Keyword","value":"<|.."},{"$type":"Keyword","value":"--|>"},{"$type":"Keyword","value":"..|>"},{"$type":"Keyword","value":"-->"},{"$type":"Keyword","value":"..>"},{"$type":"Keyword","value":"*--"},{"$type":"Keyword","value":"o--"},{"$type":"Keyword","value":"--"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Visibility","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"+"},{"$type":"Keyword","value":"-"},{"$type":"Keyword","value":"#"},{"$type":"Keyword","value":"~"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID","definition":{"$type":"RegexToken","regex":"/[A-Za-z_][A-Za-z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/%%[ \\\\t]*@[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/\\\\s+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SL_COMMENT","definition":{"$type":"RegexToken","regex":"/%%(?![ \\\\t]*@)[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"imports":[],"interfaces":[],"types":[]}'));
8
+ let loadedErDiagramGrammarGrammar;
9
+ export const ErDiagramGrammarGrammar = () => loadedErDiagramGrammarGrammar ?? (loadedErDiagramGrammarGrammar = loadGrammarFromJson('{"$type":"Grammar","isDeclared":true,"name":"ErDiagramGrammar","rules":[{"$type":"ParserRule","entry":true,"name":"ErDiagram","definition":{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ErDiagram"}},{"$type":"Keyword","value":"erDiagram"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"entities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"relationships","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ErNote","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"note"},{"$type":"Group","elements":[{"$type":"Keyword","value":"for"},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ErEntityDef","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"attributes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},"cardinality":"*"},{"$type":"Keyword","value":"}"}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ErAttribute","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Assignment","feature":"keys","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"keys","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"*"}],"cardinality":"?"},{"$type":"Assignment","feature":"comment","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ErKey","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"PK"},{"$type":"Keyword","value":"FK"},{"$type":"Keyword","value":"UK"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ErRelationship","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhs","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"cardinality","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"rhs","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"CARDINALITY","definition":{"$type":"RegexToken","regex":"/(\\\\|o|\\\\|\\\\||\\\\}o|\\\\}\\\\|)(--|\\\\.\\\\.)(o\\\\||\\\\|\\\\||o\\\\{|\\\\|\\\\{)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","definition":{"$type":"RegexToken","regex":"/[A-Za-z_][A-Za-z0-9_-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/\\\\s+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SL_COMMENT","definition":{"$type":"RegexToken","regex":"/%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"imports":[],"interfaces":[],"types":[]}'));
10
+ //# sourceMappingURL=grammar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grammar.js","sourceRoot":"","sources":["../../../src/parser/generated/grammar.ts"],"names":[],"mappings":"AAAA;;;gFAGgF;AAGhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,IAAI,gCAAqD,CAAC;AAC1D,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAY,EAAE,CAAC,gCAAgC,IAAI,CAAC,gCAAgC,GAAG,mBAAmB,CAAC,2zQAA2zQ,CAAC,CAAC,CAAC;AAEn9Q,IAAI,6BAAkD,CAAC;AACvD,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAY,EAAE,CAAC,6BAA6B,IAAI,CAAC,6BAA6B,GAAG,mBAAmB,CAAC,yqJAAyqJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ /******************************************************************************
2
+ * This file was generated by langium-cli 4.3.0.
3
+ * DO NOT EDIT MANUALLY!
4
+ ******************************************************************************/
5
+ import type { LangiumSharedCoreServices, LangiumCoreServices, LangiumGeneratedCoreServices, LangiumGeneratedSharedCoreServices, Module } from 'langium';
6
+ export declare const ClassDiagramGrammarLanguageMetaData: {
7
+ readonly languageId: "mermaidunit-class";
8
+ readonly fileExtensions: readonly [".mmd"];
9
+ readonly caseInsensitive: false;
10
+ readonly mode: "production";
11
+ };
12
+ export declare const ErDiagramGrammarLanguageMetaData: {
13
+ readonly languageId: "mermaidunit-er";
14
+ readonly fileExtensions: readonly [".ermmd"];
15
+ readonly caseInsensitive: false;
16
+ readonly mode: "production";
17
+ };
18
+ export declare const MermaidUnitGeneratedSharedModule: Module<LangiumSharedCoreServices, LangiumGeneratedSharedCoreServices>;
19
+ export declare const ClassDiagramGrammarGeneratedModule: Module<LangiumCoreServices, LangiumGeneratedCoreServices>;
20
+ export declare const ErDiagramGrammarGeneratedModule: Module<LangiumCoreServices, LangiumGeneratedCoreServices>;
21
+ //# sourceMappingURL=module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/parser/generated/module.ts"],"names":[],"mappings":"AAAA;;;gFAGgF;AAEhF,OAAO,KAAK,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,kCAAkC,EAAoB,MAAM,EAAE,MAAM,SAAS,CAAC;AAI1K,eAAO,MAAM,mCAAmC;;;;;CAKX,CAAC;AAEtC,eAAO,MAAM,gCAAgC;;;;;CAKR,CAAC;AAEtC,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,yBAAyB,EAAE,kCAAkC,CAElH,CAAC;AAEF,eAAO,MAAM,kCAAkC,EAAE,MAAM,CAAC,mBAAmB,EAAE,4BAA4B,CAIxG,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,mBAAmB,EAAE,4BAA4B,CAIrG,CAAC"}
@@ -0,0 +1,32 @@
1
+ /******************************************************************************
2
+ * This file was generated by langium-cli 4.3.0.
3
+ * DO NOT EDIT MANUALLY!
4
+ ******************************************************************************/
5
+ import { MermaidUnitAstReflection } from './ast.js';
6
+ import { ClassDiagramGrammarGrammar, ErDiagramGrammarGrammar } from './grammar.js';
7
+ export const ClassDiagramGrammarLanguageMetaData = {
8
+ languageId: 'mermaidunit-class',
9
+ fileExtensions: ['.mmd'],
10
+ caseInsensitive: false,
11
+ mode: 'production'
12
+ };
13
+ export const ErDiagramGrammarLanguageMetaData = {
14
+ languageId: 'mermaidunit-er',
15
+ fileExtensions: ['.ermmd'],
16
+ caseInsensitive: false,
17
+ mode: 'production'
18
+ };
19
+ export const MermaidUnitGeneratedSharedModule = {
20
+ AstReflection: () => new MermaidUnitAstReflection()
21
+ };
22
+ export const ClassDiagramGrammarGeneratedModule = {
23
+ Grammar: () => ClassDiagramGrammarGrammar(),
24
+ LanguageMetaData: () => ClassDiagramGrammarLanguageMetaData,
25
+ parser: {}
26
+ };
27
+ export const ErDiagramGrammarGeneratedModule = {
28
+ Grammar: () => ErDiagramGrammarGrammar(),
29
+ LanguageMetaData: () => ErDiagramGrammarLanguageMetaData,
30
+ parser: {}
31
+ };
32
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/parser/generated/module.ts"],"names":[],"mappings":"AAAA;;;gFAGgF;AAGhF,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEnF,MAAM,CAAC,MAAM,mCAAmC,GAAG;IAC/C,UAAU,EAAE,mBAAmB;IAC/B,cAAc,EAAE,CAAC,MAAM,CAAC;IACxB,eAAe,EAAE,KAAK;IACtB,IAAI,EAAE,YAAY;CACe,CAAC;AAEtC,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC5C,UAAU,EAAE,gBAAgB;IAC5B,cAAc,EAAE,CAAC,QAAQ,CAAC;IAC1B,eAAe,EAAE,KAAK;IACtB,IAAI,EAAE,YAAY;CACe,CAAC;AAEtC,MAAM,CAAC,MAAM,gCAAgC,GAA0E;IACnH,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,wBAAwB,EAAE;CACtD,CAAC;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAA8D;IACzG,OAAO,EAAE,GAAG,EAAE,CAAC,0BAA0B,EAAE;IAC3C,gBAAgB,EAAE,GAAG,EAAE,CAAC,mCAAmC;IAC3D,MAAM,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAA8D;IACtG,OAAO,EAAE,GAAG,EAAE,CAAC,uBAAuB,EAAE;IACxC,gBAAgB,EAAE,GAAG,EAAE,CAAC,gCAAgC;IACxD,MAAM,EAAE,EAAE;CACb,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Diagram } from './generated/ast.js';
2
+ export declare class MermaidUnitParseError extends Error {
3
+ readonly errors: readonly string[];
4
+ constructor(errors: readonly string[]);
5
+ }
6
+ export declare function parseClassDiagram(text: string): Diagram;
7
+ //# sourceMappingURL=parse-class-diagram.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-class-diagram.d.ts","sourceRoot":"","sources":["../../src/parser/parse-class-diagram.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAmBjD,qBAAa,qBAAsB,SAAQ,KAAK;aAClB,MAAM,EAAE,SAAS,MAAM,EAAE;gBAAzB,MAAM,EAAE,SAAS,MAAM,EAAE;CAItD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAWvD"}
@@ -0,0 +1,33 @@
1
+ import { EmptyFileSystem, createDefaultCoreModule, createDefaultSharedCoreModule, inject, } from 'langium';
2
+ import { ClassDiagramGrammarGeneratedModule, MermaidUnitGeneratedSharedModule, } from './generated/module.js';
3
+ let cachedServices;
4
+ function getServices() {
5
+ if (cachedServices)
6
+ return cachedServices;
7
+ const shared = inject(createDefaultSharedCoreModule(EmptyFileSystem), MermaidUnitGeneratedSharedModule);
8
+ const services = inject(createDefaultCoreModule({ shared }), ClassDiagramGrammarGeneratedModule);
9
+ shared.ServiceRegistry.register(services);
10
+ cachedServices = services;
11
+ return services;
12
+ }
13
+ export class MermaidUnitParseError extends Error {
14
+ errors;
15
+ constructor(errors) {
16
+ super(`MermaidUnit parse failed:\n${errors.join('\n')}`);
17
+ this.errors = errors;
18
+ this.name = 'MermaidUnitParseError';
19
+ }
20
+ }
21
+ export function parseClassDiagram(text) {
22
+ const services = getServices();
23
+ const result = services.parser.LangiumParser.parse(text);
24
+ const errors = [
25
+ ...result.lexerErrors.map((e) => `lexer:${e.line}:${e.column} ${e.message}`),
26
+ ...result.parserErrors.map((e) => `parser: ${e.message}`),
27
+ ];
28
+ if (errors.length > 0) {
29
+ throw new MermaidUnitParseError(errors);
30
+ }
31
+ return result.value;
32
+ }
33
+ //# sourceMappingURL=parse-class-diagram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-class-diagram.js","sourceRoot":"","sources":["../../src/parser/parse-class-diagram.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,6BAA6B,EAC7B,MAAM,GAGP,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,kCAAkC,EAClC,gCAAgC,GACjC,MAAM,uBAAuB,CAAA;AAG9B,IAAI,cAA+C,CAAA;AAEnD,SAAS,WAAW;IAClB,IAAI,cAAc;QAAE,OAAO,cAAc,CAAA;IACzC,MAAM,MAAM,GAA8B,MAAM,CAC9C,6BAA6B,CAAC,eAAe,CAAC,EAC9C,gCAAgC,CACjC,CAAA;IACD,MAAM,QAAQ,GAAwB,MAAM,CAC1C,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC,EACnC,kCAAkC,CACnC,CAAA;IACD,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACzC,cAAc,GAAG,QAAQ,CAAA;IACzB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAClB;IAA5B,YAA4B,MAAyB;QACnD,KAAK,CAAC,8BAA8B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAD9B,WAAM,GAAN,MAAM,CAAmB;QAEnD,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAU,IAAI,CAAC,CAAA;IACjE,MAAM,MAAM,GAAG;QACb,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5E,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;KAC1D,CAAA;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAA;AACrB,CAAC"}