@umami/shiso 1.12.0 → 1.13.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 (121) hide show
  1. package/dist/chunks/App.js +76 -49
  2. package/dist/chunks/abnfDiagram-VCTEODGH.js +109 -0
  3. package/dist/chunks/arc.js +130 -0
  4. package/dist/chunks/architecture-7GRP2DOG.js +4 -0
  5. package/dist/chunks/architectureDiagram-5GKGNRK7.js +7466 -0
  6. package/dist/chunks/array.js +8 -0
  7. package/dist/chunks/blockDiagram-I7D4REHJ.js +2546 -0
  8. package/dist/chunks/c4Diagram-7LVT6UL2.js +3654 -0
  9. package/dist/chunks/channel.js +9 -0
  10. package/dist/chunks/chunk-2Q5K7J3B.js +21 -0
  11. package/dist/chunks/chunk-4HAMMTFA.js +6106 -0
  12. package/dist/chunks/chunk-5VM5RSS4.js +21 -0
  13. package/dist/chunks/chunk-75Z2AOVW.js +2185 -0
  14. package/dist/chunks/chunk-DU6HZSFF.js +8729 -0
  15. package/dist/chunks/chunk-F27PBJKO.js +95 -0
  16. package/dist/chunks/chunk-FOHPRMQF.js +27162 -0
  17. package/dist/chunks/chunk-GMAD6QVW.js +2369 -0
  18. package/dist/chunks/chunk-GVQU2GXP.js +58 -0
  19. package/dist/chunks/chunk-IMKFNOWR.js +2593 -0
  20. package/dist/chunks/chunk-JWPE2WC7.js +12 -0
  21. package/dist/chunks/chunk-L3NEJ4N5.js +420 -0
  22. package/dist/chunks/chunk-OSK3NFVY.js +1029 -0
  23. package/dist/chunks/chunk-P2QGCYS3.js +95 -0
  24. package/dist/chunks/chunk-POPQ4Y6H.js +33 -0
  25. package/dist/chunks/chunk-PWAF6VOD.js +467 -0
  26. package/dist/chunks/chunk-SHT3W25Y.js +4813 -0
  27. package/dist/chunks/chunk-SVP7TREG.js +686 -0
  28. package/dist/chunks/chunk-TICWLB2K.js +3800 -0
  29. package/dist/chunks/chunk-XXDRQBXY.js +12 -0
  30. package/dist/chunks/chunk-Y2CYZVJY.js +15 -0
  31. package/dist/chunks/classDiagram-ZZMXUADV.js +33 -0
  32. package/dist/chunks/classDiagram-v2-VYDZK3BY.js +33 -0
  33. package/dist/chunks/cose-bilkent-JH36ORCC.js +4268 -0
  34. package/dist/chunks/cynefin-OW5HDTMX.js +4 -0
  35. package/dist/chunks/cynefinDiagram-5FMLGOSQ.js +482 -0
  36. package/dist/chunks/cytoscape.esm.js +28282 -0
  37. package/dist/chunks/dagre-GXQ25YYZ.js +583 -0
  38. package/dist/chunks/dagre.js +4235 -0
  39. package/dist/chunks/defaultLocale.js +246 -0
  40. package/dist/chunks/diagram-S7CK7UJ4.js +402 -0
  41. package/dist/chunks/diagram-UQ7AKVKN.js +291 -0
  42. package/dist/chunks/diagram-VSXAHHWV.js +553 -0
  43. package/dist/chunks/diagram-VX7I27RA.js +798 -0
  44. package/dist/chunks/diagram-Z3DM3KII.js +186 -0
  45. package/dist/chunks/dist.js +92 -0
  46. package/dist/chunks/docs.js +987 -91
  47. package/dist/chunks/ebnfDiagram-PWID7BFC.js +123 -0
  48. package/dist/chunks/erDiagram-RLTQ6QDP.js +2295 -0
  49. package/dist/chunks/eventmodeling-NTZA5JFV.js +4 -0
  50. package/dist/chunks/flowDiagram-HODETNUW.js +17 -0
  51. package/dist/chunks/ganttDiagram-EL5Y4UJY.js +3928 -0
  52. package/dist/chunks/gitGraph-4MIJSDKK.js +4 -0
  53. package/dist/chunks/gitGraphDiagram-WWUBYQGX.js +1153 -0
  54. package/dist/chunks/graphlib.js +4194 -0
  55. package/dist/chunks/info-A6RAGUB7.js +4 -0
  56. package/dist/chunks/infoDiagram-27XIBGKW.js +25 -0
  57. package/dist/chunks/init.js +14 -0
  58. package/dist/chunks/ishikawaDiagram-5VMMS53U.js +971 -0
  59. package/dist/chunks/journeyDiagram-3NMN7TZE.js +1226 -0
  60. package/dist/chunks/kanban-definition-UXKFOSKX.js +1241 -0
  61. package/dist/chunks/katex.js +26463 -0
  62. package/dist/chunks/line.js +48 -0
  63. package/dist/chunks/linear.js +391 -0
  64. package/dist/chunks/mermaid-parser.core.js +754 -0
  65. package/dist/chunks/mermaid.core.js +4898 -0
  66. package/dist/chunks/mindmap-definition-YA3MSWOX.js +1309 -0
  67. package/dist/chunks/ordinal.js +84 -0
  68. package/dist/chunks/packet-AYTQ26CC.js +4 -0
  69. package/dist/chunks/path.js +106 -0
  70. package/dist/chunks/pegDiagram-XKGWAZYB.js +115 -0
  71. package/dist/chunks/pie-WAS4IAKB.js +4 -0
  72. package/dist/chunks/pieDiagram-E7YTZNPT.js +297 -0
  73. package/dist/chunks/quadrantDiagram-AXDQQJYC.js +2234 -0
  74. package/dist/chunks/radar-RG4KPBEZ.js +4 -0
  75. package/dist/chunks/railroad-74A4TZTK.js +4 -0
  76. package/dist/chunks/railroad-abnf-HS5TGJTU.js +4 -0
  77. package/dist/chunks/railroad-ebnf-LZEXJU2U.js +4 -0
  78. package/dist/chunks/railroad-peg-WCYAUIDC.js +4 -0
  79. package/dist/chunks/railroadDiagram-O6MQD6OU.js +89 -0
  80. package/dist/chunks/requirementDiagram-BXWQKSXE.js +2464 -0
  81. package/dist/chunks/rough.esm.js +1396 -0
  82. package/dist/chunks/sankeyDiagram-P5KCCOFB.js +1308 -0
  83. package/dist/chunks/sequenceDiagram-WJ2MYXX4.js +5445 -0
  84. package/dist/chunks/sizeCapture-INFHLROL.js +56 -0
  85. package/dist/chunks/src.js +2653 -0
  86. package/dist/chunks/stateDiagram-D77RDMKH.js +368 -0
  87. package/dist/chunks/stateDiagram-v2-MP3YSRHH.js +33 -0
  88. package/dist/chunks/swimlanes-42K2YHIH.js +6925 -0
  89. package/dist/chunks/swimlanesDiagram-VR7AAH4N.js +32 -0
  90. package/dist/chunks/timeline-definition-24CTP7MA.js +1507 -0
  91. package/dist/chunks/treeView-Q6P3EWNA.js +4 -0
  92. package/dist/chunks/treemap-WGGIJYW6.js +4 -0
  93. package/dist/chunks/vennDiagram-4TSXK5OY.js +2803 -0
  94. package/dist/chunks/wardley-WFR3VGLG.js +4 -0
  95. package/dist/chunks/wardleyDiagram-VM6X3IG4.js +877 -0
  96. package/dist/chunks/xychartDiagram-S5SC5T6Z.js +2698 -0
  97. package/dist/components.js +2 -2
  98. package/dist/entry-client.js +1 -1
  99. package/dist/entry-server.js +1 -1
  100. package/docs.schema.json +1 -1
  101. package/package.json +2 -1
  102. package/scripts/expand-navigation-globs.mjs +77 -8
  103. package/src/components/CodeBlock.tsx +36 -0
  104. package/src/components/Docs.tsx +44 -21
  105. package/src/components/OpenApiOperation.tsx +28 -20
  106. package/src/components/SideNav.tsx +8 -3
  107. package/src/components/docs/Changelog.tsx +163 -0
  108. package/src/components/docs/Mermaid.tsx +164 -0
  109. package/src/components/docs/Panel.tsx +23 -0
  110. package/src/components/docs/ParamField.tsx +17 -5
  111. package/src/components/docs/PropertiesTable.tsx +2 -2
  112. package/src/components/docs/ResponseField.tsx +17 -5
  113. package/src/components/docs/Tiles.tsx +59 -0
  114. package/src/components/docs/Tree.tsx +359 -0
  115. package/src/components/docs/Update.tsx +72 -0
  116. package/src/components/docs/index.ts +7 -0
  117. package/src/components/docs/panel-context.tsx +25 -0
  118. package/src/components/docs/styles.ts +49 -0
  119. package/src/components/icons/index.ts +4 -0
  120. package/src/lib/rehype-shiki.ts +18 -1
  121. package/types/components.d.ts +79 -0
@@ -0,0 +1,3800 @@
1
+ import { n as __name } from "./chunk-Y2CYZVJY.js";
2
+ import { m as log, p as select_default } from "./src.js";
3
+ import { $ as purify, H as setAccDescription, K as setDiagramTitle, M as parseGenericTypes, U as setAccTitle, a as clear, s as common_default, v as getAccDescription, w as getDiagramTitle, x as getConfig2, y as getAccTitle, z as sanitizeText } from "./chunk-DU6HZSFF.js";
4
+ import { c as getEdgeId, g as utils_default } from "./chunk-75Z2AOVW.js";
5
+ import { t as getIconStyles } from "./chunk-5VM5RSS4.js";
6
+ import { t as createTooltip } from "./chunk-F27PBJKO.js";
7
+ import { t as getDiagramElement } from "./chunk-XXDRQBXY.js";
8
+ import { t as setupViewPortForSVG } from "./chunk-POPQ4Y6H.js";
9
+ import { d as render, u as getRegisteredLayoutAlgorithm } from "./mermaid.core.js";
10
+
11
+ //#region ../../node_modules/.pnpm/mermaid@11.17.2/node_modules/mermaid/dist/chunks/mermaid.core/chunk-TICWLB2K.mjs
12
+ var parser = (function() {
13
+ var o = /* @__PURE__ */ __name(function(k, v, o2, l) {
14
+ for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v);
15
+ return o2;
16
+ }, "o"), $V0 = [1, 18], $V1 = [1, 19], $V2 = [1, 20], $V3 = [1, 41], $V4 = [1, 26], $V5 = [1, 42], $V6 = [1, 24], $V7 = [1, 25], $V8 = [1, 32], $V9 = [1, 33], $Va = [1, 34], $Vb = [1, 45], $Vc = [1, 35], $Vd = [1, 36], $Ve = [1, 37], $Vf = [1, 38], $Vg = [1, 27], $Vh = [1, 28], $Vi = [1, 29], $Vj = [1, 30], $Vk = [1, 31], $Vl = [1, 44], $Vm = [1, 46], $Vn = [1, 43], $Vo = [1, 47], $Vp = [1, 9], $Vq = [
17
+ 1,
18
+ 8,
19
+ 9
20
+ ], $Vr = [1, 58], $Vs = [1, 59], $Vt = [1, 60], $Vu = [1, 61], $Vv = [1, 62], $Vw = [1, 63], $Vx = [1, 64], $Vy = [
21
+ 1,
22
+ 8,
23
+ 9,
24
+ 41
25
+ ], $Vz = [1, 77], $VA = [
26
+ 1,
27
+ 8,
28
+ 9,
29
+ 12,
30
+ 13,
31
+ 22,
32
+ 39,
33
+ 41,
34
+ 44,
35
+ 46,
36
+ 68,
37
+ 69,
38
+ 70,
39
+ 71,
40
+ 72,
41
+ 73,
42
+ 74,
43
+ 79,
44
+ 81
45
+ ], $VB = [
46
+ 1,
47
+ 8,
48
+ 9,
49
+ 12,
50
+ 13,
51
+ 18,
52
+ 20,
53
+ 22,
54
+ 39,
55
+ 41,
56
+ 44,
57
+ 46,
58
+ 47,
59
+ 60,
60
+ 68,
61
+ 69,
62
+ 70,
63
+ 71,
64
+ 72,
65
+ 73,
66
+ 74,
67
+ 79,
68
+ 81,
69
+ 86,
70
+ 100,
71
+ 102,
72
+ 103
73
+ ], $VC = [
74
+ 13,
75
+ 60,
76
+ 86,
77
+ 100,
78
+ 102,
79
+ 103
80
+ ], $VD = [
81
+ 13,
82
+ 60,
83
+ 73,
84
+ 74,
85
+ 86,
86
+ 100,
87
+ 102,
88
+ 103
89
+ ], $VE = [
90
+ 13,
91
+ 60,
92
+ 68,
93
+ 69,
94
+ 70,
95
+ 71,
96
+ 72,
97
+ 86,
98
+ 100,
99
+ 102,
100
+ 103
101
+ ], $VF = [1, 103], $VG = [1, 121], $VH = [1, 117], $VI = [1, 113], $VJ = [1, 119], $VK = [1, 114], $VL = [1, 115], $VM = [1, 116], $VN = [1, 118], $VO = [1, 120], $VP = [
102
+ 22,
103
+ 50,
104
+ 60,
105
+ 61,
106
+ 82,
107
+ 86,
108
+ 87,
109
+ 88,
110
+ 89,
111
+ 90
112
+ ], $VQ = [1, 128], $VR = [12, 39], $VS = [
113
+ 1,
114
+ 8,
115
+ 9,
116
+ 39,
117
+ 41,
118
+ 44,
119
+ 46
120
+ ], $VT = [
121
+ 1,
122
+ 8,
123
+ 9,
124
+ 22
125
+ ], $VU = [1, 153], $VV = [
126
+ 1,
127
+ 8,
128
+ 9,
129
+ 61
130
+ ], $VW = [
131
+ 1,
132
+ 8,
133
+ 9,
134
+ 22,
135
+ 50,
136
+ 60,
137
+ 61,
138
+ 82,
139
+ 86,
140
+ 87,
141
+ 88,
142
+ 89,
143
+ 90
144
+ ];
145
+ var parser2 = {
146
+ trace: /* @__PURE__ */ __name(function trace() {}, "trace"),
147
+ yy: {},
148
+ symbols_: {
149
+ "error": 2,
150
+ "start": 3,
151
+ "mermaidDoc": 4,
152
+ "statements": 5,
153
+ "graphConfig": 6,
154
+ "CLASS_DIAGRAM": 7,
155
+ "NEWLINE": 8,
156
+ "EOF": 9,
157
+ "statement": 10,
158
+ "classLabel": 11,
159
+ "SQS": 12,
160
+ "STR": 13,
161
+ "SQE": 14,
162
+ "namespaceName": 15,
163
+ "alphaNumToken": 16,
164
+ "classLiteralName": 17,
165
+ "DOT": 18,
166
+ "className": 19,
167
+ "GENERICTYPE": 20,
168
+ "relationStatement": 21,
169
+ "LABEL": 22,
170
+ "namespaceStatement": 23,
171
+ "classStatement": 24,
172
+ "memberStatement": 25,
173
+ "annotationStatement": 26,
174
+ "clickStatement": 27,
175
+ "styleStatement": 28,
176
+ "cssClassStatement": 29,
177
+ "noteStatement": 30,
178
+ "classDefStatement": 31,
179
+ "direction": 32,
180
+ "acc_title": 33,
181
+ "acc_title_value": 34,
182
+ "acc_descr": 35,
183
+ "acc_descr_value": 36,
184
+ "acc_descr_multiline_value": 37,
185
+ "namespaceIdentifier": 38,
186
+ "STRUCT_START": 39,
187
+ "classStatements": 40,
188
+ "STRUCT_STOP": 41,
189
+ "NAMESPACE": 42,
190
+ "classIdentifier": 43,
191
+ "STYLE_SEPARATOR": 44,
192
+ "members": 45,
193
+ "ANNOTATION_START": 46,
194
+ "ANNOTATION_END": 47,
195
+ "CLASS": 48,
196
+ "emptyBody": 49,
197
+ "SPACE": 50,
198
+ "MEMBER": 51,
199
+ "SEPARATOR": 52,
200
+ "relation": 53,
201
+ "NOTE_FOR": 54,
202
+ "noteText": 55,
203
+ "NOTE": 56,
204
+ "CLASSDEF": 57,
205
+ "classList": 58,
206
+ "stylesOpt": 59,
207
+ "ALPHA": 60,
208
+ "COMMA": 61,
209
+ "direction_tb": 62,
210
+ "direction_bt": 63,
211
+ "direction_rl": 64,
212
+ "direction_lr": 65,
213
+ "relationType": 66,
214
+ "lineType": 67,
215
+ "AGGREGATION": 68,
216
+ "EXTENSION": 69,
217
+ "COMPOSITION": 70,
218
+ "DEPENDENCY": 71,
219
+ "LOLLIPOP": 72,
220
+ "LINE": 73,
221
+ "DOTTED_LINE": 74,
222
+ "CALLBACK": 75,
223
+ "LINK": 76,
224
+ "LINK_TARGET": 77,
225
+ "CLICK": 78,
226
+ "CALLBACK_NAME": 79,
227
+ "CALLBACK_ARGS": 80,
228
+ "HREF": 81,
229
+ "STYLE": 82,
230
+ "CSSCLASS": 83,
231
+ "style": 84,
232
+ "styleComponent": 85,
233
+ "NUM": 86,
234
+ "COLON": 87,
235
+ "UNIT": 88,
236
+ "BRKT": 89,
237
+ "PCT": 90,
238
+ "commentToken": 91,
239
+ "textToken": 92,
240
+ "graphCodeTokens": 93,
241
+ "textNoTagsToken": 94,
242
+ "TAGSTART": 95,
243
+ "TAGEND": 96,
244
+ "==": 97,
245
+ "--": 98,
246
+ "DEFAULT": 99,
247
+ "MINUS": 100,
248
+ "keywords": 101,
249
+ "UNICODE_TEXT": 102,
250
+ "BQUOTE_STR": 103,
251
+ "$accept": 0,
252
+ "$end": 1
253
+ },
254
+ terminals_: {
255
+ 2: "error",
256
+ 7: "CLASS_DIAGRAM",
257
+ 8: "NEWLINE",
258
+ 9: "EOF",
259
+ 12: "SQS",
260
+ 13: "STR",
261
+ 14: "SQE",
262
+ 18: "DOT",
263
+ 20: "GENERICTYPE",
264
+ 22: "LABEL",
265
+ 33: "acc_title",
266
+ 34: "acc_title_value",
267
+ 35: "acc_descr",
268
+ 36: "acc_descr_value",
269
+ 37: "acc_descr_multiline_value",
270
+ 39: "STRUCT_START",
271
+ 41: "STRUCT_STOP",
272
+ 42: "NAMESPACE",
273
+ 44: "STYLE_SEPARATOR",
274
+ 46: "ANNOTATION_START",
275
+ 47: "ANNOTATION_END",
276
+ 48: "CLASS",
277
+ 50: "SPACE",
278
+ 51: "MEMBER",
279
+ 52: "SEPARATOR",
280
+ 54: "NOTE_FOR",
281
+ 56: "NOTE",
282
+ 57: "CLASSDEF",
283
+ 60: "ALPHA",
284
+ 61: "COMMA",
285
+ 62: "direction_tb",
286
+ 63: "direction_bt",
287
+ 64: "direction_rl",
288
+ 65: "direction_lr",
289
+ 68: "AGGREGATION",
290
+ 69: "EXTENSION",
291
+ 70: "COMPOSITION",
292
+ 71: "DEPENDENCY",
293
+ 72: "LOLLIPOP",
294
+ 73: "LINE",
295
+ 74: "DOTTED_LINE",
296
+ 75: "CALLBACK",
297
+ 76: "LINK",
298
+ 77: "LINK_TARGET",
299
+ 78: "CLICK",
300
+ 79: "CALLBACK_NAME",
301
+ 80: "CALLBACK_ARGS",
302
+ 81: "HREF",
303
+ 82: "STYLE",
304
+ 83: "CSSCLASS",
305
+ 86: "NUM",
306
+ 87: "COLON",
307
+ 88: "UNIT",
308
+ 89: "BRKT",
309
+ 90: "PCT",
310
+ 93: "graphCodeTokens",
311
+ 95: "TAGSTART",
312
+ 96: "TAGEND",
313
+ 97: "==",
314
+ 98: "--",
315
+ 99: "DEFAULT",
316
+ 100: "MINUS",
317
+ 101: "keywords",
318
+ 102: "UNICODE_TEXT",
319
+ 103: "BQUOTE_STR"
320
+ },
321
+ productions_: [
322
+ 0,
323
+ [3, 1],
324
+ [3, 1],
325
+ [4, 1],
326
+ [6, 4],
327
+ [5, 1],
328
+ [5, 2],
329
+ [5, 3],
330
+ [11, 3],
331
+ [15, 1],
332
+ [15, 1],
333
+ [15, 3],
334
+ [15, 2],
335
+ [19, 1],
336
+ [19, 3],
337
+ [19, 1],
338
+ [19, 2],
339
+ [19, 2],
340
+ [19, 2],
341
+ [10, 1],
342
+ [10, 2],
343
+ [10, 1],
344
+ [10, 1],
345
+ [10, 1],
346
+ [10, 1],
347
+ [10, 1],
348
+ [10, 1],
349
+ [10, 1],
350
+ [10, 1],
351
+ [10, 1],
352
+ [10, 1],
353
+ [10, 2],
354
+ [10, 2],
355
+ [10, 1],
356
+ [23, 4],
357
+ [23, 5],
358
+ [38, 2],
359
+ [38, 3],
360
+ [40, 1],
361
+ [40, 2],
362
+ [40, 3],
363
+ [40, 1],
364
+ [40, 2],
365
+ [40, 3],
366
+ [40, 1],
367
+ [40, 2],
368
+ [40, 3],
369
+ [24, 1],
370
+ [24, 3],
371
+ [24, 4],
372
+ [24, 3],
373
+ [24, 6],
374
+ [24, 4],
375
+ [24, 7],
376
+ [24, 6],
377
+ [43, 2],
378
+ [43, 3],
379
+ [49, 0],
380
+ [49, 2],
381
+ [49, 2],
382
+ [26, 4],
383
+ [45, 1],
384
+ [45, 2],
385
+ [25, 1],
386
+ [25, 2],
387
+ [25, 1],
388
+ [25, 1],
389
+ [21, 3],
390
+ [21, 4],
391
+ [21, 4],
392
+ [21, 5],
393
+ [30, 3],
394
+ [30, 2],
395
+ [31, 3],
396
+ [58, 1],
397
+ [58, 3],
398
+ [32, 1],
399
+ [32, 1],
400
+ [32, 1],
401
+ [32, 1],
402
+ [53, 3],
403
+ [53, 2],
404
+ [53, 2],
405
+ [53, 1],
406
+ [66, 1],
407
+ [66, 1],
408
+ [66, 1],
409
+ [66, 1],
410
+ [66, 1],
411
+ [67, 1],
412
+ [67, 1],
413
+ [27, 3],
414
+ [27, 4],
415
+ [27, 3],
416
+ [27, 4],
417
+ [27, 4],
418
+ [27, 5],
419
+ [27, 3],
420
+ [27, 4],
421
+ [27, 4],
422
+ [27, 5],
423
+ [27, 4],
424
+ [27, 5],
425
+ [27, 5],
426
+ [27, 6],
427
+ [28, 3],
428
+ [29, 3],
429
+ [59, 1],
430
+ [59, 3],
431
+ [84, 1],
432
+ [84, 2],
433
+ [85, 1],
434
+ [85, 1],
435
+ [85, 1],
436
+ [85, 1],
437
+ [85, 1],
438
+ [85, 1],
439
+ [85, 1],
440
+ [85, 1],
441
+ [85, 1],
442
+ [91, 1],
443
+ [91, 1],
444
+ [92, 1],
445
+ [92, 1],
446
+ [92, 1],
447
+ [92, 1],
448
+ [92, 1],
449
+ [92, 1],
450
+ [92, 1],
451
+ [94, 1],
452
+ [94, 1],
453
+ [94, 1],
454
+ [94, 1],
455
+ [16, 1],
456
+ [16, 1],
457
+ [16, 1],
458
+ [16, 1],
459
+ [17, 1],
460
+ [55, 1]
461
+ ],
462
+ performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {
463
+ var $0 = $$.length - 1;
464
+ switch (yystate) {
465
+ case 8:
466
+ this.$ = $$[$0 - 1];
467
+ break;
468
+ case 9:
469
+ case 10:
470
+ case 13:
471
+ case 15:
472
+ this.$ = $$[$0];
473
+ break;
474
+ case 11:
475
+ case 14:
476
+ this.$ = $$[$0 - 2] + "." + $$[$0];
477
+ break;
478
+ case 12:
479
+ case 16:
480
+ this.$ = $$[$0 - 1] + $$[$0];
481
+ break;
482
+ case 17:
483
+ case 18:
484
+ this.$ = $$[$0 - 1] + "~" + $$[$0] + "~";
485
+ break;
486
+ case 19:
487
+ yy.addRelation($$[$0]);
488
+ break;
489
+ case 20:
490
+ $$[$0 - 1].title = yy.cleanupLabel($$[$0]);
491
+ yy.addRelation($$[$0 - 1]);
492
+ break;
493
+ case 31:
494
+ this.$ = $$[$0].trim();
495
+ yy.setAccTitle(this.$);
496
+ break;
497
+ case 32:
498
+ case 33:
499
+ this.$ = $$[$0].trim();
500
+ yy.setAccDescription(this.$);
501
+ break;
502
+ case 34:
503
+ yy.addClassesToNamespace($$[$0 - 3], $$[$0 - 1][0], $$[$0 - 1][1]);
504
+ yy.popNamespace();
505
+ break;
506
+ case 35:
507
+ yy.addClassesToNamespace($$[$0 - 4], $$[$0 - 1][0], $$[$0 - 1][1]);
508
+ yy.popNamespace();
509
+ break;
510
+ case 36:
511
+ this.$ = yy.addNamespace($$[$0]);
512
+ break;
513
+ case 37:
514
+ this.$ = yy.addNamespace($$[$0 - 1], $$[$0]);
515
+ break;
516
+ case 38:
517
+ this.$ = [[$$[$0]], []];
518
+ break;
519
+ case 39:
520
+ this.$ = [[$$[$0 - 1]], []];
521
+ break;
522
+ case 40:
523
+ $$[$0][0].unshift($$[$0 - 2]);
524
+ this.$ = $$[$0];
525
+ break;
526
+ case 41:
527
+ this.$ = [[], [$$[$0]]];
528
+ break;
529
+ case 42:
530
+ this.$ = [[], [$$[$0 - 1]]];
531
+ break;
532
+ case 43:
533
+ $$[$0][1].unshift($$[$0 - 2]);
534
+ this.$ = $$[$0];
535
+ break;
536
+ case 44:
537
+ case 45:
538
+ this.$ = [[], []];
539
+ break;
540
+ case 46:
541
+ this.$ = $$[$0];
542
+ break;
543
+ case 48:
544
+ yy.setCssClass($$[$0 - 2], $$[$0]);
545
+ break;
546
+ case 49:
547
+ yy.addMembers($$[$0 - 3], $$[$0 - 1]);
548
+ break;
549
+ case 51:
550
+ yy.setCssClass($$[$0 - 5], $$[$0 - 3]);
551
+ yy.addMembers($$[$0 - 5], $$[$0 - 1]);
552
+ break;
553
+ case 52:
554
+ yy.addAnnotation($$[$0 - 3], $$[$0 - 1]);
555
+ break;
556
+ case 53:
557
+ yy.addAnnotation($$[$0 - 6], $$[$0 - 4]);
558
+ yy.addMembers($$[$0 - 6], $$[$0 - 1]);
559
+ break;
560
+ case 54:
561
+ yy.addAnnotation($$[$0 - 5], $$[$0 - 3]);
562
+ break;
563
+ case 55:
564
+ this.$ = $$[$0];
565
+ yy.addClass($$[$0]);
566
+ break;
567
+ case 56:
568
+ this.$ = $$[$0 - 1];
569
+ yy.addClass($$[$0 - 1]);
570
+ yy.setClassLabel($$[$0 - 1], $$[$0]);
571
+ break;
572
+ case 60:
573
+ yy.addAnnotation($$[$0], $$[$0 - 2]);
574
+ break;
575
+ case 61:
576
+ case 74:
577
+ this.$ = [$$[$0]];
578
+ break;
579
+ case 62:
580
+ $$[$0].push($$[$0 - 1]);
581
+ this.$ = $$[$0];
582
+ break;
583
+ case 63: break;
584
+ case 64:
585
+ yy.addMember($$[$0 - 1], yy.cleanupLabel($$[$0]));
586
+ break;
587
+ case 65: break;
588
+ case 66: break;
589
+ case 67:
590
+ this.$ = {
591
+ "id1": $$[$0 - 2],
592
+ "id2": $$[$0],
593
+ relation: $$[$0 - 1],
594
+ relationTitle1: "none",
595
+ relationTitle2: "none"
596
+ };
597
+ break;
598
+ case 68:
599
+ this.$ = {
600
+ id1: $$[$0 - 3],
601
+ id2: $$[$0],
602
+ relation: $$[$0 - 1],
603
+ relationTitle1: $$[$0 - 2],
604
+ relationTitle2: "none"
605
+ };
606
+ break;
607
+ case 69:
608
+ this.$ = {
609
+ id1: $$[$0 - 3],
610
+ id2: $$[$0],
611
+ relation: $$[$0 - 2],
612
+ relationTitle1: "none",
613
+ relationTitle2: $$[$0 - 1]
614
+ };
615
+ break;
616
+ case 70:
617
+ this.$ = {
618
+ id1: $$[$0 - 4],
619
+ id2: $$[$0],
620
+ relation: $$[$0 - 2],
621
+ relationTitle1: $$[$0 - 3],
622
+ relationTitle2: $$[$0 - 1]
623
+ };
624
+ break;
625
+ case 71:
626
+ this.$ = yy.addNote($$[$0], $$[$0 - 1]);
627
+ break;
628
+ case 72:
629
+ this.$ = yy.addNote($$[$0]);
630
+ break;
631
+ case 73:
632
+ this.$ = $$[$0 - 2];
633
+ yy.defineClass($$[$0 - 1], $$[$0]);
634
+ break;
635
+ case 75:
636
+ this.$ = $$[$0 - 2].concat([$$[$0]]);
637
+ break;
638
+ case 76:
639
+ yy.setDirection("TB");
640
+ break;
641
+ case 77:
642
+ yy.setDirection("BT");
643
+ break;
644
+ case 78:
645
+ yy.setDirection("RL");
646
+ break;
647
+ case 79:
648
+ yy.setDirection("LR");
649
+ break;
650
+ case 80:
651
+ this.$ = {
652
+ type1: $$[$0 - 2],
653
+ type2: $$[$0],
654
+ lineType: $$[$0 - 1]
655
+ };
656
+ break;
657
+ case 81:
658
+ this.$ = {
659
+ type1: "none",
660
+ type2: $$[$0],
661
+ lineType: $$[$0 - 1]
662
+ };
663
+ break;
664
+ case 82:
665
+ this.$ = {
666
+ type1: $$[$0 - 1],
667
+ type2: "none",
668
+ lineType: $$[$0]
669
+ };
670
+ break;
671
+ case 83:
672
+ this.$ = {
673
+ type1: "none",
674
+ type2: "none",
675
+ lineType: $$[$0]
676
+ };
677
+ break;
678
+ case 84:
679
+ this.$ = yy.relationType.AGGREGATION;
680
+ break;
681
+ case 85:
682
+ this.$ = yy.relationType.EXTENSION;
683
+ break;
684
+ case 86:
685
+ this.$ = yy.relationType.COMPOSITION;
686
+ break;
687
+ case 87:
688
+ this.$ = yy.relationType.DEPENDENCY;
689
+ break;
690
+ case 88:
691
+ this.$ = yy.relationType.LOLLIPOP;
692
+ break;
693
+ case 89:
694
+ this.$ = yy.lineType.LINE;
695
+ break;
696
+ case 90:
697
+ this.$ = yy.lineType.DOTTED_LINE;
698
+ break;
699
+ case 91:
700
+ case 97:
701
+ this.$ = $$[$0 - 2];
702
+ yy.setClickEvent($$[$0 - 1], $$[$0]);
703
+ break;
704
+ case 92:
705
+ case 98:
706
+ this.$ = $$[$0 - 3];
707
+ yy.setClickEvent($$[$0 - 2], $$[$0 - 1]);
708
+ yy.setTooltip($$[$0 - 2], $$[$0]);
709
+ break;
710
+ case 93:
711
+ this.$ = $$[$0 - 2];
712
+ yy.setLink($$[$0 - 1], $$[$0]);
713
+ break;
714
+ case 94:
715
+ this.$ = $$[$0 - 3];
716
+ yy.setLink($$[$0 - 2], $$[$0 - 1], $$[$0]);
717
+ break;
718
+ case 95:
719
+ this.$ = $$[$0 - 3];
720
+ yy.setLink($$[$0 - 2], $$[$0 - 1]);
721
+ yy.setTooltip($$[$0 - 2], $$[$0]);
722
+ break;
723
+ case 96:
724
+ this.$ = $$[$0 - 4];
725
+ yy.setLink($$[$0 - 3], $$[$0 - 2], $$[$0]);
726
+ yy.setTooltip($$[$0 - 3], $$[$0 - 1]);
727
+ break;
728
+ case 99:
729
+ this.$ = $$[$0 - 3];
730
+ yy.setClickEvent($$[$0 - 2], $$[$0 - 1], $$[$0]);
731
+ break;
732
+ case 100:
733
+ this.$ = $$[$0 - 4];
734
+ yy.setClickEvent($$[$0 - 3], $$[$0 - 2], $$[$0 - 1]);
735
+ yy.setTooltip($$[$0 - 3], $$[$0]);
736
+ break;
737
+ case 101:
738
+ this.$ = $$[$0 - 3];
739
+ yy.setLink($$[$0 - 2], $$[$0]);
740
+ break;
741
+ case 102:
742
+ this.$ = $$[$0 - 4];
743
+ yy.setLink($$[$0 - 3], $$[$0 - 1], $$[$0]);
744
+ break;
745
+ case 103:
746
+ this.$ = $$[$0 - 4];
747
+ yy.setLink($$[$0 - 3], $$[$0 - 1]);
748
+ yy.setTooltip($$[$0 - 3], $$[$0]);
749
+ break;
750
+ case 104:
751
+ this.$ = $$[$0 - 5];
752
+ yy.setLink($$[$0 - 4], $$[$0 - 2], $$[$0]);
753
+ yy.setTooltip($$[$0 - 4], $$[$0 - 1]);
754
+ break;
755
+ case 105:
756
+ this.$ = $$[$0 - 2];
757
+ yy.setCssStyle($$[$0 - 1], $$[$0]);
758
+ break;
759
+ case 106:
760
+ yy.setCssClass($$[$0 - 1], $$[$0]);
761
+ break;
762
+ case 107:
763
+ this.$ = [$$[$0]];
764
+ break;
765
+ case 108:
766
+ $$[$0 - 2].push($$[$0]);
767
+ this.$ = $$[$0 - 2];
768
+ break;
769
+ case 110: this.$ = $$[$0 - 1] + $$[$0];
770
+ }
771
+ }, "anonymous"),
772
+ table: [
773
+ {
774
+ 3: 1,
775
+ 4: 2,
776
+ 5: 3,
777
+ 6: 4,
778
+ 7: [1, 6],
779
+ 10: 5,
780
+ 16: 39,
781
+ 17: 40,
782
+ 19: 21,
783
+ 21: 7,
784
+ 23: 8,
785
+ 24: 9,
786
+ 25: 10,
787
+ 26: 11,
788
+ 27: 12,
789
+ 28: 13,
790
+ 29: 14,
791
+ 30: 15,
792
+ 31: 16,
793
+ 32: 17,
794
+ 33: $V0,
795
+ 35: $V1,
796
+ 37: $V2,
797
+ 38: 22,
798
+ 42: $V3,
799
+ 43: 23,
800
+ 46: $V4,
801
+ 48: $V5,
802
+ 51: $V6,
803
+ 52: $V7,
804
+ 54: $V8,
805
+ 56: $V9,
806
+ 57: $Va,
807
+ 60: $Vb,
808
+ 62: $Vc,
809
+ 63: $Vd,
810
+ 64: $Ve,
811
+ 65: $Vf,
812
+ 75: $Vg,
813
+ 76: $Vh,
814
+ 78: $Vi,
815
+ 82: $Vj,
816
+ 83: $Vk,
817
+ 86: $Vl,
818
+ 100: $Vm,
819
+ 102: $Vn,
820
+ 103: $Vo
821
+ },
822
+ { 1: [3] },
823
+ { 1: [2, 1] },
824
+ { 1: [2, 2] },
825
+ { 1: [2, 3] },
826
+ o($Vp, [2, 5], { 8: [1, 48] }),
827
+ { 8: [1, 49] },
828
+ o($Vq, [2, 19], { 22: [1, 50] }),
829
+ o($Vq, [2, 21]),
830
+ o($Vq, [2, 22]),
831
+ o($Vq, [2, 23]),
832
+ o($Vq, [2, 24]),
833
+ o($Vq, [2, 25]),
834
+ o($Vq, [2, 26]),
835
+ o($Vq, [2, 27]),
836
+ o($Vq, [2, 28]),
837
+ o($Vq, [2, 29]),
838
+ o($Vq, [2, 30]),
839
+ { 34: [1, 51] },
840
+ { 36: [1, 52] },
841
+ o($Vq, [2, 33]),
842
+ o($Vq, [2, 63], {
843
+ 53: 53,
844
+ 66: 56,
845
+ 67: 57,
846
+ 13: [1, 54],
847
+ 22: [1, 55],
848
+ 68: $Vr,
849
+ 69: $Vs,
850
+ 70: $Vt,
851
+ 71: $Vu,
852
+ 72: $Vv,
853
+ 73: $Vw,
854
+ 74: $Vx
855
+ }),
856
+ { 39: [1, 65] },
857
+ o($Vy, [2, 47], {
858
+ 39: [1, 67],
859
+ 44: [1, 66],
860
+ 46: [1, 68]
861
+ }),
862
+ o($Vq, [2, 65]),
863
+ o($Vq, [2, 66]),
864
+ {
865
+ 16: 69,
866
+ 60: $Vb,
867
+ 86: $Vl,
868
+ 100: $Vm,
869
+ 102: $Vn
870
+ },
871
+ {
872
+ 16: 39,
873
+ 17: 40,
874
+ 19: 70,
875
+ 60: $Vb,
876
+ 86: $Vl,
877
+ 100: $Vm,
878
+ 102: $Vn,
879
+ 103: $Vo
880
+ },
881
+ {
882
+ 16: 39,
883
+ 17: 40,
884
+ 19: 71,
885
+ 60: $Vb,
886
+ 86: $Vl,
887
+ 100: $Vm,
888
+ 102: $Vn,
889
+ 103: $Vo
890
+ },
891
+ {
892
+ 16: 39,
893
+ 17: 40,
894
+ 19: 72,
895
+ 60: $Vb,
896
+ 86: $Vl,
897
+ 100: $Vm,
898
+ 102: $Vn,
899
+ 103: $Vo
900
+ },
901
+ { 60: [1, 73] },
902
+ { 13: [1, 74] },
903
+ {
904
+ 16: 39,
905
+ 17: 40,
906
+ 19: 75,
907
+ 60: $Vb,
908
+ 86: $Vl,
909
+ 100: $Vm,
910
+ 102: $Vn,
911
+ 103: $Vo
912
+ },
913
+ {
914
+ 13: $Vz,
915
+ 55: 76
916
+ },
917
+ {
918
+ 58: 78,
919
+ 60: [1, 79]
920
+ },
921
+ o($Vq, [2, 76]),
922
+ o($Vq, [2, 77]),
923
+ o($Vq, [2, 78]),
924
+ o($Vq, [2, 79]),
925
+ o($VA, [2, 13], {
926
+ 16: 39,
927
+ 17: 40,
928
+ 19: 81,
929
+ 18: [1, 80],
930
+ 20: [1, 82],
931
+ 60: $Vb,
932
+ 86: $Vl,
933
+ 100: $Vm,
934
+ 102: $Vn,
935
+ 103: $Vo
936
+ }),
937
+ o($VA, [2, 15], { 20: [1, 83] }),
938
+ {
939
+ 15: 84,
940
+ 16: 85,
941
+ 17: 86,
942
+ 60: $Vb,
943
+ 86: $Vl,
944
+ 100: $Vm,
945
+ 102: $Vn,
946
+ 103: $Vo
947
+ },
948
+ {
949
+ 16: 39,
950
+ 17: 40,
951
+ 19: 87,
952
+ 60: $Vb,
953
+ 86: $Vl,
954
+ 100: $Vm,
955
+ 102: $Vn,
956
+ 103: $Vo
957
+ },
958
+ o($VB, [2, 133]),
959
+ o($VB, [2, 134]),
960
+ o($VB, [2, 135]),
961
+ o($VB, [2, 136]),
962
+ o([
963
+ 1,
964
+ 8,
965
+ 9,
966
+ 12,
967
+ 13,
968
+ 20,
969
+ 22,
970
+ 39,
971
+ 41,
972
+ 44,
973
+ 46,
974
+ 68,
975
+ 69,
976
+ 70,
977
+ 71,
978
+ 72,
979
+ 73,
980
+ 74,
981
+ 79,
982
+ 81
983
+ ], [2, 137]),
984
+ o($Vp, [2, 6], {
985
+ 10: 5,
986
+ 21: 7,
987
+ 23: 8,
988
+ 24: 9,
989
+ 25: 10,
990
+ 26: 11,
991
+ 27: 12,
992
+ 28: 13,
993
+ 29: 14,
994
+ 30: 15,
995
+ 31: 16,
996
+ 32: 17,
997
+ 19: 21,
998
+ 38: 22,
999
+ 43: 23,
1000
+ 16: 39,
1001
+ 17: 40,
1002
+ 5: 88,
1003
+ 33: $V0,
1004
+ 35: $V1,
1005
+ 37: $V2,
1006
+ 42: $V3,
1007
+ 46: $V4,
1008
+ 48: $V5,
1009
+ 51: $V6,
1010
+ 52: $V7,
1011
+ 54: $V8,
1012
+ 56: $V9,
1013
+ 57: $Va,
1014
+ 60: $Vb,
1015
+ 62: $Vc,
1016
+ 63: $Vd,
1017
+ 64: $Ve,
1018
+ 65: $Vf,
1019
+ 75: $Vg,
1020
+ 76: $Vh,
1021
+ 78: $Vi,
1022
+ 82: $Vj,
1023
+ 83: $Vk,
1024
+ 86: $Vl,
1025
+ 100: $Vm,
1026
+ 102: $Vn,
1027
+ 103: $Vo
1028
+ }),
1029
+ {
1030
+ 5: 89,
1031
+ 10: 5,
1032
+ 16: 39,
1033
+ 17: 40,
1034
+ 19: 21,
1035
+ 21: 7,
1036
+ 23: 8,
1037
+ 24: 9,
1038
+ 25: 10,
1039
+ 26: 11,
1040
+ 27: 12,
1041
+ 28: 13,
1042
+ 29: 14,
1043
+ 30: 15,
1044
+ 31: 16,
1045
+ 32: 17,
1046
+ 33: $V0,
1047
+ 35: $V1,
1048
+ 37: $V2,
1049
+ 38: 22,
1050
+ 42: $V3,
1051
+ 43: 23,
1052
+ 46: $V4,
1053
+ 48: $V5,
1054
+ 51: $V6,
1055
+ 52: $V7,
1056
+ 54: $V8,
1057
+ 56: $V9,
1058
+ 57: $Va,
1059
+ 60: $Vb,
1060
+ 62: $Vc,
1061
+ 63: $Vd,
1062
+ 64: $Ve,
1063
+ 65: $Vf,
1064
+ 75: $Vg,
1065
+ 76: $Vh,
1066
+ 78: $Vi,
1067
+ 82: $Vj,
1068
+ 83: $Vk,
1069
+ 86: $Vl,
1070
+ 100: $Vm,
1071
+ 102: $Vn,
1072
+ 103: $Vo
1073
+ },
1074
+ o($Vq, [2, 20]),
1075
+ o($Vq, [2, 31]),
1076
+ o($Vq, [2, 32]),
1077
+ {
1078
+ 13: [1, 91],
1079
+ 16: 39,
1080
+ 17: 40,
1081
+ 19: 90,
1082
+ 60: $Vb,
1083
+ 86: $Vl,
1084
+ 100: $Vm,
1085
+ 102: $Vn,
1086
+ 103: $Vo
1087
+ },
1088
+ {
1089
+ 53: 92,
1090
+ 66: 56,
1091
+ 67: 57,
1092
+ 68: $Vr,
1093
+ 69: $Vs,
1094
+ 70: $Vt,
1095
+ 71: $Vu,
1096
+ 72: $Vv,
1097
+ 73: $Vw,
1098
+ 74: $Vx
1099
+ },
1100
+ o($Vq, [2, 64]),
1101
+ {
1102
+ 67: 93,
1103
+ 73: $Vw,
1104
+ 74: $Vx
1105
+ },
1106
+ o($VC, [2, 83], {
1107
+ 66: 94,
1108
+ 68: $Vr,
1109
+ 69: $Vs,
1110
+ 70: $Vt,
1111
+ 71: $Vu,
1112
+ 72: $Vv
1113
+ }),
1114
+ o($VD, [2, 84]),
1115
+ o($VD, [2, 85]),
1116
+ o($VD, [2, 86]),
1117
+ o($VD, [2, 87]),
1118
+ o($VD, [2, 88]),
1119
+ o($VE, [2, 89]),
1120
+ o($VE, [2, 90]),
1121
+ {
1122
+ 8: [1, 96],
1123
+ 23: 99,
1124
+ 24: 97,
1125
+ 30: 98,
1126
+ 38: 22,
1127
+ 40: 95,
1128
+ 42: $V3,
1129
+ 43: 23,
1130
+ 48: $V5,
1131
+ 54: $V8,
1132
+ 56: $V9
1133
+ },
1134
+ {
1135
+ 16: 100,
1136
+ 60: $Vb,
1137
+ 86: $Vl,
1138
+ 100: $Vm,
1139
+ 102: $Vn
1140
+ },
1141
+ {
1142
+ 41: [1, 102],
1143
+ 45: 101,
1144
+ 51: $VF
1145
+ },
1146
+ {
1147
+ 16: 104,
1148
+ 60: $Vb,
1149
+ 86: $Vl,
1150
+ 100: $Vm,
1151
+ 102: $Vn
1152
+ },
1153
+ { 47: [1, 105] },
1154
+ { 13: [1, 106] },
1155
+ { 13: [1, 107] },
1156
+ {
1157
+ 79: [1, 108],
1158
+ 81: [1, 109]
1159
+ },
1160
+ {
1161
+ 22: $VG,
1162
+ 50: $VH,
1163
+ 59: 110,
1164
+ 60: $VI,
1165
+ 82: $VJ,
1166
+ 84: 111,
1167
+ 85: 112,
1168
+ 86: $VK,
1169
+ 87: $VL,
1170
+ 88: $VM,
1171
+ 89: $VN,
1172
+ 90: $VO
1173
+ },
1174
+ { 60: [1, 122] },
1175
+ {
1176
+ 13: $Vz,
1177
+ 55: 123
1178
+ },
1179
+ o($Vy, [2, 72]),
1180
+ o($Vy, [2, 138]),
1181
+ {
1182
+ 22: $VG,
1183
+ 50: $VH,
1184
+ 59: 124,
1185
+ 60: $VI,
1186
+ 61: [1, 125],
1187
+ 82: $VJ,
1188
+ 84: 111,
1189
+ 85: 112,
1190
+ 86: $VK,
1191
+ 87: $VL,
1192
+ 88: $VM,
1193
+ 89: $VN,
1194
+ 90: $VO
1195
+ },
1196
+ o($VP, [2, 74]),
1197
+ {
1198
+ 16: 39,
1199
+ 17: 40,
1200
+ 19: 126,
1201
+ 60: $Vb,
1202
+ 86: $Vl,
1203
+ 100: $Vm,
1204
+ 102: $Vn,
1205
+ 103: $Vo
1206
+ },
1207
+ o($VA, [2, 16]),
1208
+ o($VA, [2, 17]),
1209
+ o($VA, [2, 18]),
1210
+ {
1211
+ 11: 127,
1212
+ 12: $VQ,
1213
+ 39: [2, 36]
1214
+ },
1215
+ o($VR, [2, 9], {
1216
+ 16: 85,
1217
+ 17: 86,
1218
+ 15: 130,
1219
+ 18: [1, 129],
1220
+ 60: $Vb,
1221
+ 86: $Vl,
1222
+ 100: $Vm,
1223
+ 102: $Vn,
1224
+ 103: $Vo
1225
+ }),
1226
+ o($VR, [2, 10]),
1227
+ o($VS, [2, 55], {
1228
+ 11: 131,
1229
+ 12: $VQ
1230
+ }),
1231
+ o($Vp, [2, 7]),
1232
+ { 9: [1, 132] },
1233
+ o($VT, [2, 67]),
1234
+ {
1235
+ 16: 39,
1236
+ 17: 40,
1237
+ 19: 133,
1238
+ 60: $Vb,
1239
+ 86: $Vl,
1240
+ 100: $Vm,
1241
+ 102: $Vn,
1242
+ 103: $Vo
1243
+ },
1244
+ {
1245
+ 13: [1, 135],
1246
+ 16: 39,
1247
+ 17: 40,
1248
+ 19: 134,
1249
+ 60: $Vb,
1250
+ 86: $Vl,
1251
+ 100: $Vm,
1252
+ 102: $Vn,
1253
+ 103: $Vo
1254
+ },
1255
+ o($VC, [2, 82], {
1256
+ 66: 136,
1257
+ 68: $Vr,
1258
+ 69: $Vs,
1259
+ 70: $Vt,
1260
+ 71: $Vu,
1261
+ 72: $Vv
1262
+ }),
1263
+ o($VC, [2, 81]),
1264
+ { 41: [1, 137] },
1265
+ {
1266
+ 23: 99,
1267
+ 24: 97,
1268
+ 30: 98,
1269
+ 38: 22,
1270
+ 40: 138,
1271
+ 42: $V3,
1272
+ 43: 23,
1273
+ 48: $V5,
1274
+ 54: $V8,
1275
+ 56: $V9
1276
+ },
1277
+ {
1278
+ 8: [1, 139],
1279
+ 41: [2, 38]
1280
+ },
1281
+ {
1282
+ 8: [1, 140],
1283
+ 41: [2, 41]
1284
+ },
1285
+ {
1286
+ 8: [1, 141],
1287
+ 41: [2, 44]
1288
+ },
1289
+ o($Vy, [2, 48], { 39: [1, 142] }),
1290
+ { 41: [1, 143] },
1291
+ o($Vy, [2, 50]),
1292
+ {
1293
+ 41: [2, 61],
1294
+ 45: 144,
1295
+ 51: $VF
1296
+ },
1297
+ { 47: [1, 145] },
1298
+ {
1299
+ 16: 39,
1300
+ 17: 40,
1301
+ 19: 146,
1302
+ 60: $Vb,
1303
+ 86: $Vl,
1304
+ 100: $Vm,
1305
+ 102: $Vn,
1306
+ 103: $Vo
1307
+ },
1308
+ o($Vq, [2, 91], { 13: [1, 147] }),
1309
+ o($Vq, [2, 93], {
1310
+ 13: [1, 149],
1311
+ 77: [1, 148]
1312
+ }),
1313
+ o($Vq, [2, 97], {
1314
+ 13: [1, 150],
1315
+ 80: [1, 151]
1316
+ }),
1317
+ { 13: [1, 152] },
1318
+ o($Vq, [2, 105], { 61: $VU }),
1319
+ o($VV, [2, 107], {
1320
+ 85: 154,
1321
+ 22: $VG,
1322
+ 50: $VH,
1323
+ 60: $VI,
1324
+ 82: $VJ,
1325
+ 86: $VK,
1326
+ 87: $VL,
1327
+ 88: $VM,
1328
+ 89: $VN,
1329
+ 90: $VO
1330
+ }),
1331
+ o($VW, [2, 109]),
1332
+ o($VW, [2, 111]),
1333
+ o($VW, [2, 112]),
1334
+ o($VW, [2, 113]),
1335
+ o($VW, [2, 114]),
1336
+ o($VW, [2, 115]),
1337
+ o($VW, [2, 116]),
1338
+ o($VW, [2, 117]),
1339
+ o($VW, [2, 118]),
1340
+ o($VW, [2, 119]),
1341
+ o($Vq, [2, 106]),
1342
+ o($Vy, [2, 71]),
1343
+ o($Vq, [2, 73], { 61: $VU }),
1344
+ { 60: [1, 155] },
1345
+ o($VA, [2, 14]),
1346
+ { 39: [2, 37] },
1347
+ { 13: [1, 156] },
1348
+ {
1349
+ 15: 157,
1350
+ 16: 85,
1351
+ 17: 86,
1352
+ 60: $Vb,
1353
+ 86: $Vl,
1354
+ 100: $Vm,
1355
+ 102: $Vn,
1356
+ 103: $Vo
1357
+ },
1358
+ o($VR, [2, 12]),
1359
+ o($VS, [2, 56]),
1360
+ { 1: [2, 4] },
1361
+ o($VT, [2, 69]),
1362
+ o($VT, [2, 68]),
1363
+ {
1364
+ 16: 39,
1365
+ 17: 40,
1366
+ 19: 158,
1367
+ 60: $Vb,
1368
+ 86: $Vl,
1369
+ 100: $Vm,
1370
+ 102: $Vn,
1371
+ 103: $Vo
1372
+ },
1373
+ o($VC, [2, 80]),
1374
+ o($Vy, [2, 34]),
1375
+ { 41: [1, 159] },
1376
+ {
1377
+ 23: 99,
1378
+ 24: 97,
1379
+ 30: 98,
1380
+ 38: 22,
1381
+ 40: 160,
1382
+ 41: [2, 39],
1383
+ 42: $V3,
1384
+ 43: 23,
1385
+ 48: $V5,
1386
+ 54: $V8,
1387
+ 56: $V9
1388
+ },
1389
+ {
1390
+ 23: 99,
1391
+ 24: 97,
1392
+ 30: 98,
1393
+ 38: 22,
1394
+ 40: 161,
1395
+ 41: [2, 42],
1396
+ 42: $V3,
1397
+ 43: 23,
1398
+ 48: $V5,
1399
+ 54: $V8,
1400
+ 56: $V9
1401
+ },
1402
+ {
1403
+ 23: 99,
1404
+ 24: 97,
1405
+ 30: 98,
1406
+ 38: 22,
1407
+ 40: 162,
1408
+ 41: [2, 45],
1409
+ 42: $V3,
1410
+ 43: 23,
1411
+ 48: $V5,
1412
+ 54: $V8,
1413
+ 56: $V9
1414
+ },
1415
+ {
1416
+ 45: 163,
1417
+ 51: $VF
1418
+ },
1419
+ o($Vy, [2, 49]),
1420
+ { 41: [2, 62] },
1421
+ o($Vy, [2, 52], { 39: [1, 164] }),
1422
+ o($Vq, [2, 60]),
1423
+ o($Vq, [2, 92]),
1424
+ o($Vq, [2, 94]),
1425
+ o($Vq, [2, 95], { 77: [1, 165] }),
1426
+ o($Vq, [2, 98]),
1427
+ o($Vq, [2, 99], { 13: [1, 166] }),
1428
+ o($Vq, [2, 101], {
1429
+ 13: [1, 168],
1430
+ 77: [1, 167]
1431
+ }),
1432
+ {
1433
+ 22: $VG,
1434
+ 50: $VH,
1435
+ 60: $VI,
1436
+ 82: $VJ,
1437
+ 84: 169,
1438
+ 85: 112,
1439
+ 86: $VK,
1440
+ 87: $VL,
1441
+ 88: $VM,
1442
+ 89: $VN,
1443
+ 90: $VO
1444
+ },
1445
+ o($VW, [2, 110]),
1446
+ o($VP, [2, 75]),
1447
+ { 14: [1, 170] },
1448
+ o($VR, [2, 11]),
1449
+ o($VT, [2, 70]),
1450
+ o($Vy, [2, 35]),
1451
+ { 41: [2, 40] },
1452
+ { 41: [2, 43] },
1453
+ { 41: [2, 46] },
1454
+ { 41: [1, 171] },
1455
+ {
1456
+ 41: [1, 173],
1457
+ 45: 172,
1458
+ 51: $VF
1459
+ },
1460
+ o($Vq, [2, 96]),
1461
+ o($Vq, [2, 100]),
1462
+ o($Vq, [2, 102]),
1463
+ o($Vq, [2, 103], { 77: [1, 174] }),
1464
+ o($VV, [2, 108], {
1465
+ 85: 154,
1466
+ 22: $VG,
1467
+ 50: $VH,
1468
+ 60: $VI,
1469
+ 82: $VJ,
1470
+ 86: $VK,
1471
+ 87: $VL,
1472
+ 88: $VM,
1473
+ 89: $VN,
1474
+ 90: $VO
1475
+ }),
1476
+ o($VS, [2, 8]),
1477
+ o($Vy, [2, 51]),
1478
+ { 41: [1, 175] },
1479
+ o($Vy, [2, 54]),
1480
+ o($Vq, [2, 104]),
1481
+ o($Vy, [2, 53])
1482
+ ],
1483
+ defaultActions: {
1484
+ 2: [2, 1],
1485
+ 3: [2, 2],
1486
+ 4: [2, 3],
1487
+ 127: [2, 37],
1488
+ 132: [2, 4],
1489
+ 144: [2, 62],
1490
+ 160: [2, 40],
1491
+ 161: [2, 43],
1492
+ 162: [2, 46]
1493
+ },
1494
+ parseError: /* @__PURE__ */ __name(function parseError(str, hash) {
1495
+ if (hash.recoverable) this.trace(str);
1496
+ else {
1497
+ var error = new Error(str);
1498
+ error.hash = hash;
1499
+ throw error;
1500
+ }
1501
+ }, "parseError"),
1502
+ parse: /* @__PURE__ */ __name(function parse(input) {
1503
+ var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
1504
+ var args = lstack.slice.call(arguments, 1);
1505
+ var lexer2 = Object.create(this.lexer);
1506
+ var sharedState = { yy: {} };
1507
+ for (var k in this.yy) if (Object.prototype.hasOwnProperty.call(this.yy, k)) sharedState.yy[k] = this.yy[k];
1508
+ lexer2.setInput(input, sharedState.yy);
1509
+ sharedState.yy.lexer = lexer2;
1510
+ sharedState.yy.parser = this;
1511
+ if (typeof lexer2.yylloc == "undefined") lexer2.yylloc = {};
1512
+ var yyloc = lexer2.yylloc;
1513
+ lstack.push(yyloc);
1514
+ var ranges = lexer2.options && lexer2.options.ranges;
1515
+ if (typeof sharedState.yy.parseError === "function") this.parseError = sharedState.yy.parseError;
1516
+ else this.parseError = Object.getPrototypeOf(this).parseError;
1517
+ function popStack(n) {
1518
+ stack.length = stack.length - 2 * n;
1519
+ vstack.length = vstack.length - n;
1520
+ lstack.length = lstack.length - n;
1521
+ }
1522
+ __name(popStack, "popStack");
1523
+ function lex() {
1524
+ var token = tstack.pop() || lexer2.lex() || EOF;
1525
+ if (typeof token !== "number") {
1526
+ if (token instanceof Array) {
1527
+ tstack = token;
1528
+ token = tstack.pop();
1529
+ }
1530
+ token = self.symbols_[token] || token;
1531
+ }
1532
+ return token;
1533
+ }
1534
+ __name(lex, "lex");
1535
+ var symbol, preErrorSymbol, state, action, r, yyval = {}, p, len, newState, expected;
1536
+ while (true) {
1537
+ state = stack[stack.length - 1];
1538
+ if (this.defaultActions[state]) action = this.defaultActions[state];
1539
+ else {
1540
+ if (symbol === null || typeof symbol == "undefined") symbol = lex();
1541
+ action = table[state] && table[state][symbol];
1542
+ }
1543
+ if (typeof action === "undefined" || !action.length || !action[0]) {
1544
+ var errStr = "";
1545
+ expected = [];
1546
+ for (p in table[state]) if (this.terminals_[p] && p > TERROR) expected.push("'" + this.terminals_[p] + "'");
1547
+ if (lexer2.showPosition) errStr = "Parse error on line " + (yylineno + 1) + ":\n" + lexer2.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'";
1548
+ else errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == EOF ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'");
1549
+ this.parseError(errStr, {
1550
+ text: lexer2.match,
1551
+ token: this.terminals_[symbol] || symbol,
1552
+ line: lexer2.yylineno,
1553
+ loc: yyloc,
1554
+ expected
1555
+ });
1556
+ }
1557
+ if (action[0] instanceof Array && action.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol);
1558
+ switch (action[0]) {
1559
+ case 1:
1560
+ stack.push(symbol);
1561
+ vstack.push(lexer2.yytext);
1562
+ lstack.push(lexer2.yylloc);
1563
+ stack.push(action[1]);
1564
+ symbol = null;
1565
+ if (!preErrorSymbol) {
1566
+ yyleng = lexer2.yyleng;
1567
+ yytext = lexer2.yytext;
1568
+ yylineno = lexer2.yylineno;
1569
+ yyloc = lexer2.yylloc;
1570
+ if (recovering > 0) recovering--;
1571
+ } else {
1572
+ symbol = preErrorSymbol;
1573
+ preErrorSymbol = null;
1574
+ }
1575
+ break;
1576
+ case 2:
1577
+ len = this.productions_[action[1]][1];
1578
+ yyval.$ = vstack[vstack.length - len];
1579
+ yyval._$ = {
1580
+ first_line: lstack[lstack.length - (len || 1)].first_line,
1581
+ last_line: lstack[lstack.length - 1].last_line,
1582
+ first_column: lstack[lstack.length - (len || 1)].first_column,
1583
+ last_column: lstack[lstack.length - 1].last_column
1584
+ };
1585
+ if (ranges) yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];
1586
+ r = this.performAction.apply(yyval, [
1587
+ yytext,
1588
+ yyleng,
1589
+ yylineno,
1590
+ sharedState.yy,
1591
+ action[1],
1592
+ vstack,
1593
+ lstack
1594
+ ].concat(args));
1595
+ if (typeof r !== "undefined") return r;
1596
+ if (len) {
1597
+ stack = stack.slice(0, -1 * len * 2);
1598
+ vstack = vstack.slice(0, -1 * len);
1599
+ lstack = lstack.slice(0, -1 * len);
1600
+ }
1601
+ stack.push(this.productions_[action[1]][0]);
1602
+ vstack.push(yyval.$);
1603
+ lstack.push(yyval._$);
1604
+ newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
1605
+ stack.push(newState);
1606
+ break;
1607
+ case 3: return true;
1608
+ }
1609
+ }
1610
+ return true;
1611
+ }, "parse")
1612
+ };
1613
+ parser2.lexer = /* @__PURE__ */ (function() {
1614
+ return {
1615
+ EOF: 1,
1616
+ parseError: /* @__PURE__ */ __name(function parseError(str, hash) {
1617
+ if (this.yy.parser) this.yy.parser.parseError(str, hash);
1618
+ else throw new Error(str);
1619
+ }, "parseError"),
1620
+ setInput: /* @__PURE__ */ __name(function(input, yy) {
1621
+ this.yy = yy || this.yy || {};
1622
+ this._input = input;
1623
+ this._more = this._backtrack = this.done = false;
1624
+ this.yylineno = this.yyleng = 0;
1625
+ this.yytext = this.matched = this.match = "";
1626
+ this.conditionStack = ["INITIAL"];
1627
+ this.yylloc = {
1628
+ first_line: 1,
1629
+ first_column: 0,
1630
+ last_line: 1,
1631
+ last_column: 0
1632
+ };
1633
+ if (this.options.ranges) this.yylloc.range = [0, 0];
1634
+ this.offset = 0;
1635
+ return this;
1636
+ }, "setInput"),
1637
+ input: /* @__PURE__ */ __name(function() {
1638
+ var ch = this._input[0];
1639
+ this.yytext += ch;
1640
+ this.yyleng++;
1641
+ this.offset++;
1642
+ this.match += ch;
1643
+ this.matched += ch;
1644
+ if (ch.match(/(?:\r\n?|\n).*/g)) {
1645
+ this.yylineno++;
1646
+ this.yylloc.last_line++;
1647
+ } else this.yylloc.last_column++;
1648
+ if (this.options.ranges) this.yylloc.range[1]++;
1649
+ this._input = this._input.slice(1);
1650
+ return ch;
1651
+ }, "input"),
1652
+ unput: /* @__PURE__ */ __name(function(ch) {
1653
+ var len = ch.length;
1654
+ var lines = ch.split(/(?:\r\n?|\n)/g);
1655
+ this._input = ch + this._input;
1656
+ this.yytext = this.yytext.substr(0, this.yytext.length - len);
1657
+ this.offset -= len;
1658
+ var oldLines = this.match.split(/(?:\r\n?|\n)/g);
1659
+ this.match = this.match.substr(0, this.match.length - 1);
1660
+ this.matched = this.matched.substr(0, this.matched.length - 1);
1661
+ if (lines.length - 1) this.yylineno -= lines.length - 1;
1662
+ var r = this.yylloc.range;
1663
+ this.yylloc = {
1664
+ first_line: this.yylloc.first_line,
1665
+ last_line: this.yylineno + 1,
1666
+ first_column: this.yylloc.first_column,
1667
+ last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len
1668
+ };
1669
+ if (this.options.ranges) this.yylloc.range = [r[0], r[0] + this.yyleng - len];
1670
+ this.yyleng = this.yytext.length;
1671
+ return this;
1672
+ }, "unput"),
1673
+ more: /* @__PURE__ */ __name(function() {
1674
+ this._more = true;
1675
+ return this;
1676
+ }, "more"),
1677
+ reject: /* @__PURE__ */ __name(function() {
1678
+ if (this.options.backtrack_lexer) this._backtrack = true;
1679
+ else return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), {
1680
+ text: "",
1681
+ token: null,
1682
+ line: this.yylineno
1683
+ });
1684
+ return this;
1685
+ }, "reject"),
1686
+ less: /* @__PURE__ */ __name(function(n) {
1687
+ this.unput(this.match.slice(n));
1688
+ }, "less"),
1689
+ pastInput: /* @__PURE__ */ __name(function() {
1690
+ var past = this.matched.substr(0, this.matched.length - this.match.length);
1691
+ return (past.length > 20 ? "..." : "") + past.substr(-20).replace(/\n/g, "");
1692
+ }, "pastInput"),
1693
+ upcomingInput: /* @__PURE__ */ __name(function() {
1694
+ var next = this.match;
1695
+ if (next.length < 20) next += this._input.substr(0, 20 - next.length);
1696
+ return (next.substr(0, 20) + (next.length > 20 ? "..." : "")).replace(/\n/g, "");
1697
+ }, "upcomingInput"),
1698
+ showPosition: /* @__PURE__ */ __name(function() {
1699
+ var pre = this.pastInput();
1700
+ var c = new Array(pre.length + 1).join("-");
1701
+ return pre + this.upcomingInput() + "\n" + c + "^";
1702
+ }, "showPosition"),
1703
+ test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {
1704
+ var token, lines, backup;
1705
+ if (this.options.backtrack_lexer) {
1706
+ backup = {
1707
+ yylineno: this.yylineno,
1708
+ yylloc: {
1709
+ first_line: this.yylloc.first_line,
1710
+ last_line: this.last_line,
1711
+ first_column: this.yylloc.first_column,
1712
+ last_column: this.yylloc.last_column
1713
+ },
1714
+ yytext: this.yytext,
1715
+ match: this.match,
1716
+ matches: this.matches,
1717
+ matched: this.matched,
1718
+ yyleng: this.yyleng,
1719
+ offset: this.offset,
1720
+ _more: this._more,
1721
+ _input: this._input,
1722
+ yy: this.yy,
1723
+ conditionStack: this.conditionStack.slice(0),
1724
+ done: this.done
1725
+ };
1726
+ if (this.options.ranges) backup.yylloc.range = this.yylloc.range.slice(0);
1727
+ }
1728
+ lines = match[0].match(/(?:\r\n?|\n).*/g);
1729
+ if (lines) this.yylineno += lines.length;
1730
+ this.yylloc = {
1731
+ first_line: this.yylloc.last_line,
1732
+ last_line: this.yylineno + 1,
1733
+ first_column: this.yylloc.last_column,
1734
+ last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length
1735
+ };
1736
+ this.yytext += match[0];
1737
+ this.match += match[0];
1738
+ this.matches = match;
1739
+ this.yyleng = this.yytext.length;
1740
+ if (this.options.ranges) this.yylloc.range = [this.offset, this.offset += this.yyleng];
1741
+ this._more = false;
1742
+ this._backtrack = false;
1743
+ this._input = this._input.slice(match[0].length);
1744
+ this.matched += match[0];
1745
+ token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);
1746
+ if (this.done && this._input) this.done = false;
1747
+ if (token) return token;
1748
+ else if (this._backtrack) {
1749
+ for (var k in backup) this[k] = backup[k];
1750
+ return false;
1751
+ }
1752
+ return false;
1753
+ }, "test_match"),
1754
+ next: /* @__PURE__ */ __name(function() {
1755
+ if (this.done) return this.EOF;
1756
+ if (!this._input) this.done = true;
1757
+ var token, match, tempMatch, index;
1758
+ if (!this._more) {
1759
+ this.yytext = "";
1760
+ this.match = "";
1761
+ }
1762
+ var rules = this._currentRules();
1763
+ for (var i = 0; i < rules.length; i++) {
1764
+ tempMatch = this._input.match(this.rules[rules[i]]);
1765
+ if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
1766
+ match = tempMatch;
1767
+ index = i;
1768
+ if (this.options.backtrack_lexer) {
1769
+ token = this.test_match(tempMatch, rules[i]);
1770
+ if (token !== false) return token;
1771
+ else if (this._backtrack) {
1772
+ match = false;
1773
+ continue;
1774
+ } else return false;
1775
+ } else if (!this.options.flex) break;
1776
+ }
1777
+ }
1778
+ if (match) {
1779
+ token = this.test_match(match, rules[index]);
1780
+ if (token !== false) return token;
1781
+ return false;
1782
+ }
1783
+ if (this._input === "") return this.EOF;
1784
+ else return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), {
1785
+ text: "",
1786
+ token: null,
1787
+ line: this.yylineno
1788
+ });
1789
+ }, "next"),
1790
+ lex: /* @__PURE__ */ __name(function lex() {
1791
+ var r = this.next();
1792
+ if (r) return r;
1793
+ else return this.lex();
1794
+ }, "lex"),
1795
+ begin: /* @__PURE__ */ __name(function begin(condition) {
1796
+ this.conditionStack.push(condition);
1797
+ }, "begin"),
1798
+ popState: /* @__PURE__ */ __name(function popState() {
1799
+ if (this.conditionStack.length - 1 > 0) return this.conditionStack.pop();
1800
+ else return this.conditionStack[0];
1801
+ }, "popState"),
1802
+ _currentRules: /* @__PURE__ */ __name(function _currentRules() {
1803
+ if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
1804
+ else return this.conditions["INITIAL"].rules;
1805
+ }, "_currentRules"),
1806
+ topState: /* @__PURE__ */ __name(function topState(n) {
1807
+ n = this.conditionStack.length - 1 - Math.abs(n || 0);
1808
+ if (n >= 0) return this.conditionStack[n];
1809
+ else return "INITIAL";
1810
+ }, "topState"),
1811
+ pushState: /* @__PURE__ */ __name(function pushState(condition) {
1812
+ this.begin(condition);
1813
+ }, "pushState"),
1814
+ stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {
1815
+ return this.conditionStack.length;
1816
+ }, "stateStackSize"),
1817
+ options: {},
1818
+ performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {
1819
+ switch ($avoiding_name_collisions) {
1820
+ case 0: return 62;
1821
+ case 1: return 63;
1822
+ case 2: return 64;
1823
+ case 3: return 65;
1824
+ case 4: break;
1825
+ case 5: break;
1826
+ case 6:
1827
+ this.begin("acc_title");
1828
+ return 33;
1829
+ case 7:
1830
+ this.popState();
1831
+ return "acc_title_value";
1832
+ case 8:
1833
+ this.begin("acc_descr");
1834
+ return 35;
1835
+ case 9:
1836
+ this.popState();
1837
+ return "acc_descr_value";
1838
+ case 10:
1839
+ this.begin("acc_descr_multiline");
1840
+ break;
1841
+ case 11:
1842
+ this.popState();
1843
+ break;
1844
+ case 12: return "acc_descr_multiline_value";
1845
+ case 13: return 8;
1846
+ case 14: break;
1847
+ case 15: return 7;
1848
+ case 16: return 7;
1849
+ case 17: return "EDGE_STATE";
1850
+ case 18:
1851
+ this.begin("callback_name");
1852
+ break;
1853
+ case 19:
1854
+ this.popState();
1855
+ break;
1856
+ case 20:
1857
+ this.popState();
1858
+ this.begin("callback_args");
1859
+ break;
1860
+ case 21: return 79;
1861
+ case 22:
1862
+ this.popState();
1863
+ break;
1864
+ case 23: return 80;
1865
+ case 24:
1866
+ this.popState();
1867
+ break;
1868
+ case 25: return "STR";
1869
+ case 26:
1870
+ this.begin("string");
1871
+ break;
1872
+ case 27: return 82;
1873
+ case 28: return 57;
1874
+ case 29:
1875
+ this.begin("namespace");
1876
+ return 42;
1877
+ case 30:
1878
+ this.popState();
1879
+ return 8;
1880
+ case 31: break;
1881
+ case 32:
1882
+ this.begin("namespace-body");
1883
+ return 39;
1884
+ case 33:
1885
+ this.popState();
1886
+ this.less(0);
1887
+ break;
1888
+ case 34:
1889
+ this.popState();
1890
+ return 41;
1891
+ case 35: return "EOF_IN_STRUCT";
1892
+ case 36: return 8;
1893
+ case 37: break;
1894
+ case 38: return "EDGE_STATE";
1895
+ case 39:
1896
+ this.begin("class");
1897
+ return 48;
1898
+ case 40:
1899
+ this.popState();
1900
+ return 8;
1901
+ case 41: break;
1902
+ case 42:
1903
+ this.popState();
1904
+ this.popState();
1905
+ return 41;
1906
+ case 43:
1907
+ this.begin("class-body");
1908
+ return 39;
1909
+ case 44:
1910
+ this.popState();
1911
+ return 41;
1912
+ case 45: return "EOF_IN_STRUCT";
1913
+ case 46: return "EDGE_STATE";
1914
+ case 47: return "OPEN_IN_STRUCT";
1915
+ case 48: break;
1916
+ case 49: return "MEMBER";
1917
+ case 50: return 83;
1918
+ case 51: return 75;
1919
+ case 52: return 76;
1920
+ case 53: return 78;
1921
+ case 54: return 54;
1922
+ case 55: return 56;
1923
+ case 56: return 46;
1924
+ case 57: return 47;
1925
+ case 58: return 81;
1926
+ case 59:
1927
+ this.popState();
1928
+ break;
1929
+ case 60: return "GENERICTYPE";
1930
+ case 61:
1931
+ this.begin("generic");
1932
+ break;
1933
+ case 62:
1934
+ this.popState();
1935
+ break;
1936
+ case 63: return "BQUOTE_STR";
1937
+ case 64:
1938
+ this.begin("bqstring");
1939
+ break;
1940
+ case 65: return 77;
1941
+ case 66: return 77;
1942
+ case 67: return 77;
1943
+ case 68: return 77;
1944
+ case 69: return 69;
1945
+ case 70: return 69;
1946
+ case 71: return 71;
1947
+ case 72: return 71;
1948
+ case 73: return 70;
1949
+ case 74: return 68;
1950
+ case 75: return 72;
1951
+ case 76: return 73;
1952
+ case 77: return 74;
1953
+ case 78: return 22;
1954
+ case 79: return 44;
1955
+ case 80: return 100;
1956
+ case 81: return 18;
1957
+ case 82: return "PLUS";
1958
+ case 83: return 87;
1959
+ case 84: return 61;
1960
+ case 85: return 89;
1961
+ case 86: return 89;
1962
+ case 87: return 90;
1963
+ case 88: return "EQUALS";
1964
+ case 89: return "EQUALS";
1965
+ case 90: return 60;
1966
+ case 91: return 12;
1967
+ case 92: return 14;
1968
+ case 93: return "PUNCTUATION";
1969
+ case 94: return 86;
1970
+ case 95: return 102;
1971
+ case 96: return 50;
1972
+ case 97: return 50;
1973
+ case 98: return 9;
1974
+ }
1975
+ }, "anonymous"),
1976
+ rules: [
1977
+ /^(?:.*direction\s+TB[^\n]*)/,
1978
+ /^(?:.*direction\s+BT[^\n]*)/,
1979
+ /^(?:.*direction\s+RL[^\n]*)/,
1980
+ /^(?:.*direction\s+LR[^\n]*)/,
1981
+ /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,
1982
+ /^(?:%%[^\n]*(\r?\n)*)/,
1983
+ /^(?:accTitle\s*:\s*)/,
1984
+ /^(?:(?!\n||)*[^\n]*)/,
1985
+ /^(?:accDescr\s*:\s*)/,
1986
+ /^(?:(?!\n||)*[^\n]*)/,
1987
+ /^(?:accDescr\s*\{\s*)/,
1988
+ /^(?:[\}])/,
1989
+ /^(?:[^\}]*)/,
1990
+ /^(?:\s*(\r?\n)+)/,
1991
+ /^(?:\s+)/,
1992
+ /^(?:classDiagram-v2\b)/,
1993
+ /^(?:classDiagram\b)/,
1994
+ /^(?:\[\*\])/,
1995
+ /^(?:call[\s]+)/,
1996
+ /^(?:\([\s]*\))/,
1997
+ /^(?:\()/,
1998
+ /^(?:[^(]*)/,
1999
+ /^(?:\))/,
2000
+ /^(?:[^)]*)/,
2001
+ /^(?:["])/,
2002
+ /^(?:[^"]*)/,
2003
+ /^(?:["])/,
2004
+ /^(?:style\b)/,
2005
+ /^(?:classDef\b)/,
2006
+ /^(?:namespace\b)/,
2007
+ /^(?:\s*(\r?\n)+)/,
2008
+ /^(?:\s+)/,
2009
+ /^(?:[{])/,
2010
+ /^(?:[}])/,
2011
+ /^(?:[}])/,
2012
+ /^(?:$)/,
2013
+ /^(?:\s*(\r?\n)+)/,
2014
+ /^(?:\s+)/,
2015
+ /^(?:\[\*\])/,
2016
+ /^(?:class\b)/,
2017
+ /^(?:\s*(\r?\n)+)/,
2018
+ /^(?:\s+)/,
2019
+ /^(?:[}])/,
2020
+ /^(?:[{])/,
2021
+ /^(?:[}])/,
2022
+ /^(?:$)/,
2023
+ /^(?:\[\*\])/,
2024
+ /^(?:[{])/,
2025
+ /^(?:[\n])/,
2026
+ /^(?:[^{}\n]*)/,
2027
+ /^(?:cssClass\b)/,
2028
+ /^(?:callback\b)/,
2029
+ /^(?:link\b)/,
2030
+ /^(?:click\b)/,
2031
+ /^(?:note for\b)/,
2032
+ /^(?:note\b)/,
2033
+ /^(?:<<)/,
2034
+ /^(?:>>)/,
2035
+ /^(?:href\b)/,
2036
+ /^(?:[~])/,
2037
+ /^(?:[^~]*)/,
2038
+ /^(?:~)/,
2039
+ /^(?:[`])/,
2040
+ /^(?:[^`]+)/,
2041
+ /^(?:[`])/,
2042
+ /^(?:_self\b)/,
2043
+ /^(?:_blank\b)/,
2044
+ /^(?:_parent\b)/,
2045
+ /^(?:_top\b)/,
2046
+ /^(?:\s*<\|)/,
2047
+ /^(?:\s*\|>)/,
2048
+ /^(?:\s*>)/,
2049
+ /^(?:\s*<)/,
2050
+ /^(?:\s*\*)/,
2051
+ /^(?:\s*o\b)/,
2052
+ /^(?:\s*\(\))/,
2053
+ /^(?:--)/,
2054
+ /^(?:\.\.)/,
2055
+ /^(?::{1}[^:\n;]+)/,
2056
+ /^(?::{3})/,
2057
+ /^(?:-)/,
2058
+ /^(?:\.)/,
2059
+ /^(?:\+)/,
2060
+ /^(?::)/,
2061
+ /^(?:,)/,
2062
+ /^(?:#)/,
2063
+ /^(?:#)/,
2064
+ /^(?:%)/,
2065
+ /^(?:=)/,
2066
+ /^(?:=)/,
2067
+ /^(?:\w+)/,
2068
+ /^(?:\[)/,
2069
+ /^(?:\])/,
2070
+ /^(?:[!"#$%&'*+,-.`?\\/])/,
2071
+ /^(?:[0-9]+)/,
2072
+ /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,
2073
+ /^(?:\s)/,
2074
+ /^(?:\s)/,
2075
+ /^(?:$)/
2076
+ ],
2077
+ conditions: {
2078
+ "namespace-body": {
2079
+ "rules": [
2080
+ 26,
2081
+ 29,
2082
+ 34,
2083
+ 35,
2084
+ 36,
2085
+ 37,
2086
+ 38,
2087
+ 39,
2088
+ 50,
2089
+ 51,
2090
+ 52,
2091
+ 53,
2092
+ 54,
2093
+ 55,
2094
+ 56,
2095
+ 57,
2096
+ 58,
2097
+ 61,
2098
+ 64,
2099
+ 65,
2100
+ 66,
2101
+ 67,
2102
+ 68,
2103
+ 69,
2104
+ 70,
2105
+ 71,
2106
+ 72,
2107
+ 73,
2108
+ 74,
2109
+ 75,
2110
+ 76,
2111
+ 77,
2112
+ 78,
2113
+ 79,
2114
+ 80,
2115
+ 81,
2116
+ 82,
2117
+ 87,
2118
+ 88,
2119
+ 89,
2120
+ 90,
2121
+ 91,
2122
+ 92,
2123
+ 93,
2124
+ 94,
2125
+ 95,
2126
+ 96,
2127
+ 98
2128
+ ],
2129
+ "inclusive": false
2130
+ },
2131
+ "namespace": {
2132
+ "rules": [
2133
+ 26,
2134
+ 29,
2135
+ 30,
2136
+ 31,
2137
+ 32,
2138
+ 33,
2139
+ 50,
2140
+ 51,
2141
+ 52,
2142
+ 53,
2143
+ 54,
2144
+ 55,
2145
+ 56,
2146
+ 57,
2147
+ 58,
2148
+ 61,
2149
+ 64,
2150
+ 65,
2151
+ 66,
2152
+ 67,
2153
+ 68,
2154
+ 69,
2155
+ 70,
2156
+ 71,
2157
+ 72,
2158
+ 73,
2159
+ 74,
2160
+ 75,
2161
+ 76,
2162
+ 77,
2163
+ 78,
2164
+ 79,
2165
+ 80,
2166
+ 81,
2167
+ 82,
2168
+ 87,
2169
+ 88,
2170
+ 89,
2171
+ 90,
2172
+ 91,
2173
+ 92,
2174
+ 93,
2175
+ 94,
2176
+ 95,
2177
+ 96,
2178
+ 98
2179
+ ],
2180
+ "inclusive": false
2181
+ },
2182
+ "class-body": {
2183
+ "rules": [
2184
+ 26,
2185
+ 44,
2186
+ 45,
2187
+ 46,
2188
+ 47,
2189
+ 48,
2190
+ 49,
2191
+ 50,
2192
+ 51,
2193
+ 52,
2194
+ 53,
2195
+ 54,
2196
+ 55,
2197
+ 56,
2198
+ 57,
2199
+ 58,
2200
+ 61,
2201
+ 64,
2202
+ 65,
2203
+ 66,
2204
+ 67,
2205
+ 68,
2206
+ 69,
2207
+ 70,
2208
+ 71,
2209
+ 72,
2210
+ 73,
2211
+ 74,
2212
+ 75,
2213
+ 76,
2214
+ 77,
2215
+ 78,
2216
+ 79,
2217
+ 80,
2218
+ 81,
2219
+ 82,
2220
+ 87,
2221
+ 88,
2222
+ 89,
2223
+ 90,
2224
+ 91,
2225
+ 92,
2226
+ 93,
2227
+ 94,
2228
+ 95,
2229
+ 96,
2230
+ 98
2231
+ ],
2232
+ "inclusive": false
2233
+ },
2234
+ "class": {
2235
+ "rules": [
2236
+ 26,
2237
+ 40,
2238
+ 41,
2239
+ 42,
2240
+ 43,
2241
+ 50,
2242
+ 51,
2243
+ 52,
2244
+ 53,
2245
+ 54,
2246
+ 55,
2247
+ 56,
2248
+ 57,
2249
+ 58,
2250
+ 61,
2251
+ 64,
2252
+ 65,
2253
+ 66,
2254
+ 67,
2255
+ 68,
2256
+ 69,
2257
+ 70,
2258
+ 71,
2259
+ 72,
2260
+ 73,
2261
+ 74,
2262
+ 75,
2263
+ 76,
2264
+ 77,
2265
+ 78,
2266
+ 79,
2267
+ 80,
2268
+ 81,
2269
+ 82,
2270
+ 87,
2271
+ 88,
2272
+ 89,
2273
+ 90,
2274
+ 91,
2275
+ 92,
2276
+ 93,
2277
+ 94,
2278
+ 95,
2279
+ 96,
2280
+ 98
2281
+ ],
2282
+ "inclusive": false
2283
+ },
2284
+ "acc_descr_multiline": {
2285
+ "rules": [
2286
+ 11,
2287
+ 12,
2288
+ 26,
2289
+ 50,
2290
+ 51,
2291
+ 52,
2292
+ 53,
2293
+ 54,
2294
+ 55,
2295
+ 56,
2296
+ 57,
2297
+ 58,
2298
+ 61,
2299
+ 64,
2300
+ 65,
2301
+ 66,
2302
+ 67,
2303
+ 68,
2304
+ 69,
2305
+ 70,
2306
+ 71,
2307
+ 72,
2308
+ 73,
2309
+ 74,
2310
+ 75,
2311
+ 76,
2312
+ 77,
2313
+ 78,
2314
+ 79,
2315
+ 80,
2316
+ 81,
2317
+ 82,
2318
+ 87,
2319
+ 88,
2320
+ 89,
2321
+ 90,
2322
+ 91,
2323
+ 92,
2324
+ 93,
2325
+ 94,
2326
+ 95,
2327
+ 96,
2328
+ 98
2329
+ ],
2330
+ "inclusive": false
2331
+ },
2332
+ "acc_descr": {
2333
+ "rules": [
2334
+ 9,
2335
+ 26,
2336
+ 50,
2337
+ 51,
2338
+ 52,
2339
+ 53,
2340
+ 54,
2341
+ 55,
2342
+ 56,
2343
+ 57,
2344
+ 58,
2345
+ 61,
2346
+ 64,
2347
+ 65,
2348
+ 66,
2349
+ 67,
2350
+ 68,
2351
+ 69,
2352
+ 70,
2353
+ 71,
2354
+ 72,
2355
+ 73,
2356
+ 74,
2357
+ 75,
2358
+ 76,
2359
+ 77,
2360
+ 78,
2361
+ 79,
2362
+ 80,
2363
+ 81,
2364
+ 82,
2365
+ 87,
2366
+ 88,
2367
+ 89,
2368
+ 90,
2369
+ 91,
2370
+ 92,
2371
+ 93,
2372
+ 94,
2373
+ 95,
2374
+ 96,
2375
+ 98
2376
+ ],
2377
+ "inclusive": false
2378
+ },
2379
+ "acc_title": {
2380
+ "rules": [
2381
+ 7,
2382
+ 26,
2383
+ 50,
2384
+ 51,
2385
+ 52,
2386
+ 53,
2387
+ 54,
2388
+ 55,
2389
+ 56,
2390
+ 57,
2391
+ 58,
2392
+ 61,
2393
+ 64,
2394
+ 65,
2395
+ 66,
2396
+ 67,
2397
+ 68,
2398
+ 69,
2399
+ 70,
2400
+ 71,
2401
+ 72,
2402
+ 73,
2403
+ 74,
2404
+ 75,
2405
+ 76,
2406
+ 77,
2407
+ 78,
2408
+ 79,
2409
+ 80,
2410
+ 81,
2411
+ 82,
2412
+ 87,
2413
+ 88,
2414
+ 89,
2415
+ 90,
2416
+ 91,
2417
+ 92,
2418
+ 93,
2419
+ 94,
2420
+ 95,
2421
+ 96,
2422
+ 98
2423
+ ],
2424
+ "inclusive": false
2425
+ },
2426
+ "callback_args": {
2427
+ "rules": [
2428
+ 22,
2429
+ 23,
2430
+ 26,
2431
+ 50,
2432
+ 51,
2433
+ 52,
2434
+ 53,
2435
+ 54,
2436
+ 55,
2437
+ 56,
2438
+ 57,
2439
+ 58,
2440
+ 61,
2441
+ 64,
2442
+ 65,
2443
+ 66,
2444
+ 67,
2445
+ 68,
2446
+ 69,
2447
+ 70,
2448
+ 71,
2449
+ 72,
2450
+ 73,
2451
+ 74,
2452
+ 75,
2453
+ 76,
2454
+ 77,
2455
+ 78,
2456
+ 79,
2457
+ 80,
2458
+ 81,
2459
+ 82,
2460
+ 87,
2461
+ 88,
2462
+ 89,
2463
+ 90,
2464
+ 91,
2465
+ 92,
2466
+ 93,
2467
+ 94,
2468
+ 95,
2469
+ 96,
2470
+ 98
2471
+ ],
2472
+ "inclusive": false
2473
+ },
2474
+ "callback_name": {
2475
+ "rules": [
2476
+ 19,
2477
+ 20,
2478
+ 21,
2479
+ 26,
2480
+ 50,
2481
+ 51,
2482
+ 52,
2483
+ 53,
2484
+ 54,
2485
+ 55,
2486
+ 56,
2487
+ 57,
2488
+ 58,
2489
+ 61,
2490
+ 64,
2491
+ 65,
2492
+ 66,
2493
+ 67,
2494
+ 68,
2495
+ 69,
2496
+ 70,
2497
+ 71,
2498
+ 72,
2499
+ 73,
2500
+ 74,
2501
+ 75,
2502
+ 76,
2503
+ 77,
2504
+ 78,
2505
+ 79,
2506
+ 80,
2507
+ 81,
2508
+ 82,
2509
+ 87,
2510
+ 88,
2511
+ 89,
2512
+ 90,
2513
+ 91,
2514
+ 92,
2515
+ 93,
2516
+ 94,
2517
+ 95,
2518
+ 96,
2519
+ 98
2520
+ ],
2521
+ "inclusive": false
2522
+ },
2523
+ "href": {
2524
+ "rules": [
2525
+ 26,
2526
+ 50,
2527
+ 51,
2528
+ 52,
2529
+ 53,
2530
+ 54,
2531
+ 55,
2532
+ 56,
2533
+ 57,
2534
+ 58,
2535
+ 61,
2536
+ 64,
2537
+ 65,
2538
+ 66,
2539
+ 67,
2540
+ 68,
2541
+ 69,
2542
+ 70,
2543
+ 71,
2544
+ 72,
2545
+ 73,
2546
+ 74,
2547
+ 75,
2548
+ 76,
2549
+ 77,
2550
+ 78,
2551
+ 79,
2552
+ 80,
2553
+ 81,
2554
+ 82,
2555
+ 87,
2556
+ 88,
2557
+ 89,
2558
+ 90,
2559
+ 91,
2560
+ 92,
2561
+ 93,
2562
+ 94,
2563
+ 95,
2564
+ 96,
2565
+ 98
2566
+ ],
2567
+ "inclusive": false
2568
+ },
2569
+ "struct": {
2570
+ "rules": [
2571
+ 26,
2572
+ 50,
2573
+ 51,
2574
+ 52,
2575
+ 53,
2576
+ 54,
2577
+ 55,
2578
+ 56,
2579
+ 57,
2580
+ 58,
2581
+ 61,
2582
+ 64,
2583
+ 65,
2584
+ 66,
2585
+ 67,
2586
+ 68,
2587
+ 69,
2588
+ 70,
2589
+ 71,
2590
+ 72,
2591
+ 73,
2592
+ 74,
2593
+ 75,
2594
+ 76,
2595
+ 77,
2596
+ 78,
2597
+ 79,
2598
+ 80,
2599
+ 81,
2600
+ 82,
2601
+ 87,
2602
+ 88,
2603
+ 89,
2604
+ 90,
2605
+ 91,
2606
+ 92,
2607
+ 93,
2608
+ 94,
2609
+ 95,
2610
+ 96,
2611
+ 98
2612
+ ],
2613
+ "inclusive": false
2614
+ },
2615
+ "generic": {
2616
+ "rules": [
2617
+ 26,
2618
+ 50,
2619
+ 51,
2620
+ 52,
2621
+ 53,
2622
+ 54,
2623
+ 55,
2624
+ 56,
2625
+ 57,
2626
+ 58,
2627
+ 59,
2628
+ 60,
2629
+ 61,
2630
+ 64,
2631
+ 65,
2632
+ 66,
2633
+ 67,
2634
+ 68,
2635
+ 69,
2636
+ 70,
2637
+ 71,
2638
+ 72,
2639
+ 73,
2640
+ 74,
2641
+ 75,
2642
+ 76,
2643
+ 77,
2644
+ 78,
2645
+ 79,
2646
+ 80,
2647
+ 81,
2648
+ 82,
2649
+ 87,
2650
+ 88,
2651
+ 89,
2652
+ 90,
2653
+ 91,
2654
+ 92,
2655
+ 93,
2656
+ 94,
2657
+ 95,
2658
+ 96,
2659
+ 98
2660
+ ],
2661
+ "inclusive": false
2662
+ },
2663
+ "bqstring": {
2664
+ "rules": [
2665
+ 26,
2666
+ 50,
2667
+ 51,
2668
+ 52,
2669
+ 53,
2670
+ 54,
2671
+ 55,
2672
+ 56,
2673
+ 57,
2674
+ 58,
2675
+ 61,
2676
+ 62,
2677
+ 63,
2678
+ 64,
2679
+ 65,
2680
+ 66,
2681
+ 67,
2682
+ 68,
2683
+ 69,
2684
+ 70,
2685
+ 71,
2686
+ 72,
2687
+ 73,
2688
+ 74,
2689
+ 75,
2690
+ 76,
2691
+ 77,
2692
+ 78,
2693
+ 79,
2694
+ 80,
2695
+ 81,
2696
+ 82,
2697
+ 87,
2698
+ 88,
2699
+ 89,
2700
+ 90,
2701
+ 91,
2702
+ 92,
2703
+ 93,
2704
+ 94,
2705
+ 95,
2706
+ 96,
2707
+ 98
2708
+ ],
2709
+ "inclusive": false
2710
+ },
2711
+ "string": {
2712
+ "rules": [
2713
+ 24,
2714
+ 25,
2715
+ 26,
2716
+ 50,
2717
+ 51,
2718
+ 52,
2719
+ 53,
2720
+ 54,
2721
+ 55,
2722
+ 56,
2723
+ 57,
2724
+ 58,
2725
+ 61,
2726
+ 64,
2727
+ 65,
2728
+ 66,
2729
+ 67,
2730
+ 68,
2731
+ 69,
2732
+ 70,
2733
+ 71,
2734
+ 72,
2735
+ 73,
2736
+ 74,
2737
+ 75,
2738
+ 76,
2739
+ 77,
2740
+ 78,
2741
+ 79,
2742
+ 80,
2743
+ 81,
2744
+ 82,
2745
+ 87,
2746
+ 88,
2747
+ 89,
2748
+ 90,
2749
+ 91,
2750
+ 92,
2751
+ 93,
2752
+ 94,
2753
+ 95,
2754
+ 96,
2755
+ 98
2756
+ ],
2757
+ "inclusive": false
2758
+ },
2759
+ "INITIAL": {
2760
+ "rules": [
2761
+ 0,
2762
+ 1,
2763
+ 2,
2764
+ 3,
2765
+ 4,
2766
+ 5,
2767
+ 6,
2768
+ 8,
2769
+ 10,
2770
+ 13,
2771
+ 14,
2772
+ 15,
2773
+ 16,
2774
+ 17,
2775
+ 18,
2776
+ 26,
2777
+ 27,
2778
+ 28,
2779
+ 29,
2780
+ 39,
2781
+ 50,
2782
+ 51,
2783
+ 52,
2784
+ 53,
2785
+ 54,
2786
+ 55,
2787
+ 56,
2788
+ 57,
2789
+ 58,
2790
+ 61,
2791
+ 64,
2792
+ 65,
2793
+ 66,
2794
+ 67,
2795
+ 68,
2796
+ 69,
2797
+ 70,
2798
+ 71,
2799
+ 72,
2800
+ 73,
2801
+ 74,
2802
+ 75,
2803
+ 76,
2804
+ 77,
2805
+ 78,
2806
+ 79,
2807
+ 80,
2808
+ 81,
2809
+ 82,
2810
+ 83,
2811
+ 84,
2812
+ 85,
2813
+ 86,
2814
+ 87,
2815
+ 88,
2816
+ 89,
2817
+ 90,
2818
+ 91,
2819
+ 92,
2820
+ 93,
2821
+ 94,
2822
+ 95,
2823
+ 96,
2824
+ 97,
2825
+ 98
2826
+ ],
2827
+ "inclusive": true
2828
+ }
2829
+ }
2830
+ };
2831
+ })();
2832
+ function Parser() {
2833
+ this.yy = {};
2834
+ }
2835
+ __name(Parser, "Parser");
2836
+ Parser.prototype = parser2;
2837
+ parser2.Parser = Parser;
2838
+ return new Parser();
2839
+ })();
2840
+ parser.parser = parser;
2841
+ var classDiagram_default = parser;
2842
+ var visibilityValues = [
2843
+ "#",
2844
+ "+",
2845
+ "~",
2846
+ "-",
2847
+ ""
2848
+ ];
2849
+ var ClassMember = class {
2850
+ static {
2851
+ __name(this, "ClassMember");
2852
+ }
2853
+ constructor(input, memberType) {
2854
+ this.memberType = memberType;
2855
+ this.visibility = "";
2856
+ this.classifier = "";
2857
+ this.text = "";
2858
+ const sanitizedInput = sanitizeText(input, getConfig2());
2859
+ this.parseMember(sanitizedInput);
2860
+ }
2861
+ getDisplayDetails() {
2862
+ let displayText = this.visibility + parseGenericTypes(this.id);
2863
+ if (this.memberType === "method") {
2864
+ displayText += `(${parseGenericTypes(this.parameters.trim())})`;
2865
+ if (this.returnType) displayText += " : " + parseGenericTypes(this.returnType);
2866
+ }
2867
+ displayText = displayText.trim();
2868
+ const cssStyle = this.parseClassifier();
2869
+ return {
2870
+ displayText,
2871
+ cssStyle
2872
+ };
2873
+ }
2874
+ parseMember(input) {
2875
+ let potentialClassifier = "";
2876
+ if (this.memberType === "method") {
2877
+ const match = /([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(input);
2878
+ if (match) {
2879
+ const detectedVisibility = match[1] ? match[1].trim() : "";
2880
+ if (visibilityValues.includes(detectedVisibility)) this.visibility = detectedVisibility;
2881
+ this.id = match[2];
2882
+ this.parameters = match[3] ? match[3].trim() : "";
2883
+ potentialClassifier = match[4] ? match[4].trim() : "";
2884
+ this.returnType = match[5] ? match[5].trim() : "";
2885
+ if (potentialClassifier === "") {
2886
+ const lastChar = this.returnType.substring(this.returnType.length - 1);
2887
+ if (/[$*]/.exec(lastChar)) {
2888
+ potentialClassifier = lastChar;
2889
+ this.returnType = this.returnType.substring(0, this.returnType.length - 1);
2890
+ }
2891
+ }
2892
+ }
2893
+ } else {
2894
+ const length = input.length;
2895
+ const firstChar = input.substring(0, 1);
2896
+ const lastChar = input.substring(length - 1);
2897
+ if (visibilityValues.includes(firstChar)) this.visibility = firstChar;
2898
+ if (/[$*]/.exec(lastChar)) potentialClassifier = lastChar;
2899
+ this.id = input.substring(this.visibility === "" ? 0 : 1, potentialClassifier === "" ? length : length - 1);
2900
+ }
2901
+ this.classifier = potentialClassifier;
2902
+ this.id = this.id.startsWith(" ") ? " " + this.id.trim() : this.id.trim();
2903
+ const combinedText = `${this.visibility ? "\\" + this.visibility : ""}${parseGenericTypes(this.id)}${this.memberType === "method" ? `(${parseGenericTypes(this.parameters)})${this.returnType ? " : " + parseGenericTypes(this.returnType) : ""}` : ""}`;
2904
+ this.text = combinedText.replaceAll("<", "&lt;").replaceAll(">", "&gt;");
2905
+ if (this.text.startsWith("\\&lt;")) this.text = this.text.replace("\\&lt;", "~");
2906
+ }
2907
+ parseClassifier() {
2908
+ switch (this.classifier) {
2909
+ case "*": return "font-style:italic;";
2910
+ case "$": return "text-decoration:underline;";
2911
+ default: return "";
2912
+ }
2913
+ }
2914
+ };
2915
+ var MERMAID_DOM_ID_PREFIX = "classId-";
2916
+ var classCounter = 0;
2917
+ var sanitizeText2 = /* @__PURE__ */ __name((txt) => common_default.sanitizeText(txt, getConfig2()), "sanitizeText");
2918
+ var ClassDB = class _ClassDB {
2919
+ constructor() {
2920
+ this.relations = [];
2921
+ this.classes = /* @__PURE__ */ new Map();
2922
+ this.styleClasses = /* @__PURE__ */ new Map();
2923
+ this.notes = /* @__PURE__ */ new Map();
2924
+ this.interfaces = [];
2925
+ this.namespaces = /* @__PURE__ */ new Map();
2926
+ this.namespaceCounter = 0;
2927
+ this.namespaceStack = [];
2928
+ this.diagramId = "";
2929
+ this.functions = [];
2930
+ this.lineType = {
2931
+ LINE: 0,
2932
+ DOTTED_LINE: 1
2933
+ };
2934
+ this.relationType = {
2935
+ AGGREGATION: 0,
2936
+ EXTENSION: 1,
2937
+ COMPOSITION: 2,
2938
+ DEPENDENCY: 3,
2939
+ LOLLIPOP: 4
2940
+ };
2941
+ this.setupToolTips = /* @__PURE__ */ __name((element) => {
2942
+ const tooltipElem = createTooltip();
2943
+ select_default(element).select("svg").selectAll("g").filter(function() {
2944
+ return select_default(this).attr("title") !== null;
2945
+ }).on("mouseover", (event) => {
2946
+ const el = select_default(event.currentTarget);
2947
+ const title = el.attr("title");
2948
+ if (!title) return;
2949
+ const rect = event.currentTarget.getBoundingClientRect();
2950
+ tooltipElem.transition().duration(200).style("opacity", ".9");
2951
+ tooltipElem.html(purify.sanitize(title)).style("left", `${window.scrollX + rect.left + rect.width / 2}px`).style("top", `${window.scrollY + rect.bottom + 4}px`);
2952
+ el.classed("hover", true);
2953
+ }).on("mouseout", (event) => {
2954
+ tooltipElem.transition().duration(500).style("opacity", 0);
2955
+ select_default(event.currentTarget).classed("hover", false);
2956
+ });
2957
+ }, "setupToolTips");
2958
+ this.direction = "TB";
2959
+ this.setAccTitle = setAccTitle;
2960
+ this.getAccTitle = getAccTitle;
2961
+ this.setAccDescription = setAccDescription;
2962
+ this.getAccDescription = getAccDescription;
2963
+ this.setDiagramTitle = setDiagramTitle;
2964
+ this.getDiagramTitle = getDiagramTitle;
2965
+ this.getConfig = /* @__PURE__ */ __name(() => getConfig2().class, "getConfig");
2966
+ this.functions.push(this.setupToolTips.bind(this));
2967
+ this.clear();
2968
+ this.addRelation = this.addRelation.bind(this);
2969
+ this.addClassesToNamespace = this.addClassesToNamespace.bind(this);
2970
+ this.addNamespace = this.addNamespace.bind(this);
2971
+ this.popNamespace = this.popNamespace.bind(this);
2972
+ this.setCssClass = this.setCssClass.bind(this);
2973
+ this.addMembers = this.addMembers.bind(this);
2974
+ this.addClass = this.addClass.bind(this);
2975
+ this.setClassLabel = this.setClassLabel.bind(this);
2976
+ this.addAnnotation = this.addAnnotation.bind(this);
2977
+ this.addMember = this.addMember.bind(this);
2978
+ this.cleanupLabel = this.cleanupLabel.bind(this);
2979
+ this.addNote = this.addNote.bind(this);
2980
+ this.defineClass = this.defineClass.bind(this);
2981
+ this.setDirection = this.setDirection.bind(this);
2982
+ this.setLink = this.setLink.bind(this);
2983
+ this.bindFunctions = this.bindFunctions.bind(this);
2984
+ this.clear = this.clear.bind(this);
2985
+ this.setTooltip = this.setTooltip.bind(this);
2986
+ this.setClickEvent = this.setClickEvent.bind(this);
2987
+ this.setCssStyle = this.setCssStyle.bind(this);
2988
+ }
2989
+ static {
2990
+ __name(this, "ClassDB");
2991
+ }
2992
+ splitClassNameAndType(_id) {
2993
+ const id = common_default.sanitizeText(_id, getConfig2());
2994
+ let genericType = "";
2995
+ let className = id;
2996
+ if (id.indexOf("~") > 0) {
2997
+ const split = id.split("~");
2998
+ className = sanitizeText2(split[0]);
2999
+ genericType = sanitizeText2(split[1]);
3000
+ }
3001
+ return {
3002
+ className,
3003
+ type: genericType
3004
+ };
3005
+ }
3006
+ setClassLabel(_id, label) {
3007
+ const id = common_default.sanitizeText(_id, getConfig2());
3008
+ if (label) label = sanitizeText2(label);
3009
+ const { className } = this.splitClassNameAndType(id);
3010
+ this.classes.get(className).label = label;
3011
+ this.classes.get(className).text = `${label}${this.classes.get(className).type ? `<${this.classes.get(className).type}>` : ""}`;
3012
+ }
3013
+ /**
3014
+ * Function called by parser when a node definition has been found.
3015
+ *
3016
+ * @param id - ID of the class to add
3017
+ * @public
3018
+ */
3019
+ addClass(_id) {
3020
+ const id = common_default.sanitizeText(_id, getConfig2());
3021
+ const { className, type } = this.splitClassNameAndType(id);
3022
+ if (this.classes.has(className)) return;
3023
+ const name = common_default.sanitizeText(className, getConfig2());
3024
+ this.classes.set(name, {
3025
+ id: name,
3026
+ type,
3027
+ label: name,
3028
+ text: `${name}${type ? `&lt;${type}&gt;` : ""}`,
3029
+ shape: "classBox",
3030
+ cssClasses: "default",
3031
+ methods: [],
3032
+ members: [],
3033
+ annotations: [],
3034
+ styles: [],
3035
+ domId: MERMAID_DOM_ID_PREFIX + name + "-" + classCounter
3036
+ });
3037
+ classCounter++;
3038
+ }
3039
+ addInterface(label, classId) {
3040
+ const classInterface = {
3041
+ id: `interface${this.interfaces.length}`,
3042
+ label,
3043
+ classId
3044
+ };
3045
+ this.interfaces.push(classInterface);
3046
+ }
3047
+ /**
3048
+ * Sets the diagram's SVG element ID, used to prefix domIds for uniqueness
3049
+ * across multiple diagrams on the same page.
3050
+ */
3051
+ setDiagramId(svgElementId) {
3052
+ this.diagramId = svgElementId;
3053
+ }
3054
+ /**
3055
+ * Function to lookup domId from id in the graph definition.
3056
+ * When diagramId is set, returns the prefixed version for DOM uniqueness.
3057
+ *
3058
+ * @param id - class ID to lookup
3059
+ * @public
3060
+ */
3061
+ lookUpDomId(_id) {
3062
+ const id = common_default.sanitizeText(_id, getConfig2());
3063
+ if (this.classes.has(id)) {
3064
+ const domId = this.classes.get(id).domId;
3065
+ return this.diagramId ? `${this.diagramId}-${domId}` : domId;
3066
+ }
3067
+ throw new Error("Class not found: " + id);
3068
+ }
3069
+ clear() {
3070
+ this.relations = [];
3071
+ this.classes = /* @__PURE__ */ new Map();
3072
+ this.notes = /* @__PURE__ */ new Map();
3073
+ this.interfaces = [];
3074
+ this.functions = [];
3075
+ this.functions.push(this.setupToolTips.bind(this));
3076
+ this.namespaces = /* @__PURE__ */ new Map();
3077
+ this.namespaceCounter = 0;
3078
+ this.namespaceStack = [];
3079
+ this.diagramId = "";
3080
+ this.direction = "TB";
3081
+ clear();
3082
+ }
3083
+ getClass(id) {
3084
+ return this.classes.get(id);
3085
+ }
3086
+ getClasses() {
3087
+ return this.classes;
3088
+ }
3089
+ getRelations() {
3090
+ return this.relations;
3091
+ }
3092
+ getNote(id) {
3093
+ const key = typeof id === "number" ? `note${id}` : id;
3094
+ return this.notes.get(key);
3095
+ }
3096
+ getNotes() {
3097
+ return this.notes;
3098
+ }
3099
+ addRelation(classRelation) {
3100
+ log.debug("Adding relation: " + JSON.stringify(classRelation));
3101
+ const invalidTypes = [
3102
+ this.relationType.LOLLIPOP,
3103
+ this.relationType.AGGREGATION,
3104
+ this.relationType.COMPOSITION,
3105
+ this.relationType.DEPENDENCY,
3106
+ this.relationType.EXTENSION
3107
+ ];
3108
+ if (classRelation.relation.type1 === this.relationType.LOLLIPOP && !invalidTypes.includes(classRelation.relation.type2)) {
3109
+ this.addClass(classRelation.id2);
3110
+ this.addInterface(classRelation.id1, classRelation.id2);
3111
+ classRelation.id1 = `interface${this.interfaces.length - 1}`;
3112
+ } else if (classRelation.relation.type2 === this.relationType.LOLLIPOP && !invalidTypes.includes(classRelation.relation.type1)) {
3113
+ this.addClass(classRelation.id1);
3114
+ this.addInterface(classRelation.id2, classRelation.id1);
3115
+ classRelation.id2 = `interface${this.interfaces.length - 1}`;
3116
+ } else {
3117
+ this.addClass(classRelation.id1);
3118
+ this.addClass(classRelation.id2);
3119
+ }
3120
+ classRelation.id1 = this.splitClassNameAndType(classRelation.id1).className;
3121
+ classRelation.id2 = this.splitClassNameAndType(classRelation.id2).className;
3122
+ classRelation.relationTitle1 = common_default.sanitizeText(classRelation.relationTitle1.trim(), getConfig2());
3123
+ classRelation.relationTitle2 = common_default.sanitizeText(classRelation.relationTitle2.trim(), getConfig2());
3124
+ this.relations.push(classRelation);
3125
+ }
3126
+ /**
3127
+ * Adds an annotation to the specified class Annotations mark special properties of the given type
3128
+ * (like 'interface' or 'service')
3129
+ *
3130
+ * @param className - The class name
3131
+ * @param annotation - The name of the annotation without any brackets
3132
+ * @public
3133
+ */
3134
+ addAnnotation(className, annotation) {
3135
+ const validatedClassName = this.splitClassNameAndType(className).className;
3136
+ this.classes.get(validatedClassName).annotations.push(annotation);
3137
+ }
3138
+ /**
3139
+ * Adds a member to the specified class
3140
+ *
3141
+ * @param className - The class name
3142
+ * @param member - The full name of the member. If the member is enclosed in `<<brackets>>` it is
3143
+ * treated as an annotation If the member is ending with a closing bracket ) it is treated as a
3144
+ * method Otherwise the member will be treated as a normal property
3145
+ * @public
3146
+ */
3147
+ addMember(className, member) {
3148
+ this.addClass(className);
3149
+ const validatedClassName = this.splitClassNameAndType(className).className;
3150
+ const theClass = this.classes.get(validatedClassName);
3151
+ if (typeof member === "string") {
3152
+ const memberString = member.trim();
3153
+ if (memberString.startsWith("<<") && memberString.endsWith(">>")) theClass.annotations.push(sanitizeText2(memberString.substring(2, memberString.length - 2)));
3154
+ else if (memberString.indexOf(")") > 0) theClass.methods.push(new ClassMember(memberString, "method"));
3155
+ else if (memberString) theClass.members.push(new ClassMember(memberString, "attribute"));
3156
+ }
3157
+ }
3158
+ addMembers(className, members) {
3159
+ if (Array.isArray(members)) {
3160
+ members.reverse();
3161
+ members.forEach((member) => this.addMember(className, member));
3162
+ }
3163
+ }
3164
+ addNote(text, className) {
3165
+ const index = this.notes.size;
3166
+ const note = {
3167
+ id: `note${index}`,
3168
+ class: className,
3169
+ text,
3170
+ index
3171
+ };
3172
+ this.notes.set(note.id, note);
3173
+ return note.id;
3174
+ }
3175
+ cleanupLabel(label) {
3176
+ if (label.startsWith(":")) label = label.substring(1);
3177
+ return sanitizeText2(label.trim());
3178
+ }
3179
+ /**
3180
+ * Called by parser when assigning cssClass to a class
3181
+ *
3182
+ * @param ids - Comma separated list of ids
3183
+ * @param className - Class to add
3184
+ */
3185
+ setCssClass(ids, className) {
3186
+ ids.split(",").forEach((_id) => {
3187
+ let id = _id;
3188
+ if (/\d/.exec(_id[0])) id = MERMAID_DOM_ID_PREFIX + id;
3189
+ id = this.splitClassNameAndType(id).className;
3190
+ const classNode = this.classes.get(id);
3191
+ if (classNode) classNode.cssClasses += " " + className;
3192
+ });
3193
+ }
3194
+ defineClass(ids, style) {
3195
+ for (const id of ids) {
3196
+ let styleClass = this.styleClasses.get(id);
3197
+ if (styleClass === void 0) {
3198
+ styleClass = {
3199
+ id,
3200
+ styles: [],
3201
+ textStyles: []
3202
+ };
3203
+ this.styleClasses.set(id, styleClass);
3204
+ }
3205
+ if (style) style.forEach((s) => {
3206
+ if (/color/.exec(s)) {
3207
+ const newStyle = s.replace("fill", "bgFill");
3208
+ styleClass.textStyles.push(newStyle);
3209
+ }
3210
+ styleClass.styles.push(s);
3211
+ });
3212
+ this.classes.forEach((value) => {
3213
+ if (value.cssClasses.includes(id)) value.styles.push(...style.flatMap((s) => s.split(",")));
3214
+ });
3215
+ }
3216
+ }
3217
+ /**
3218
+ * Called by parser when a tooltip is found, e.g. a clickable element.
3219
+ *
3220
+ * @param ids - Comma separated list of ids
3221
+ * @param tooltip - Tooltip to add
3222
+ */
3223
+ setTooltip(ids, tooltip) {
3224
+ ids.split(",").forEach((id) => {
3225
+ if (tooltip !== void 0) {
3226
+ const className = this.splitClassNameAndType(id).className;
3227
+ const classNode = this.classes.get(className);
3228
+ if (classNode) classNode.tooltip = sanitizeText2(tooltip);
3229
+ }
3230
+ });
3231
+ }
3232
+ getTooltip(id, namespace) {
3233
+ if (namespace && this.namespaces.has(namespace)) return this.namespaces.get(namespace).classes.get(id).tooltip;
3234
+ return this.classes.get(id).tooltip;
3235
+ }
3236
+ /**
3237
+ * Called by parser when a link is found. Adds the URL to the vertex data.
3238
+ *
3239
+ * @param ids - Comma separated list of ids
3240
+ * @param linkStr - URL to create a link for
3241
+ * @param target - Target of the link, _blank by default as originally defined in the svgDraw.js file
3242
+ */
3243
+ setLink(ids, linkStr, target) {
3244
+ const config = getConfig2();
3245
+ ids.split(",").forEach((_id) => {
3246
+ let id = _id;
3247
+ if (/\d/.exec(_id[0])) id = MERMAID_DOM_ID_PREFIX + id;
3248
+ id = this.splitClassNameAndType(id).className;
3249
+ const theClass = this.classes.get(id);
3250
+ if (theClass) {
3251
+ theClass.link = utils_default.formatUrl(linkStr, config);
3252
+ if (config.securityLevel === "sandbox") theClass.linkTarget = "_top";
3253
+ else if (typeof target === "string") theClass.linkTarget = sanitizeText2(target);
3254
+ else theClass.linkTarget = "_blank";
3255
+ }
3256
+ });
3257
+ this.setCssClass(ids, "clickable");
3258
+ }
3259
+ /**
3260
+ * Called by parser when a click definition is found. Registers an event handler.
3261
+ *
3262
+ * @param ids - Comma separated list of ids
3263
+ * @param functionName - Function to be called on click
3264
+ * @param functionArgs - Function args the function should be called with
3265
+ */
3266
+ setClickEvent(ids, functionName, functionArgs) {
3267
+ ids.split(",").forEach((id) => {
3268
+ this.setClickFunc(id, functionName, functionArgs);
3269
+ const className = this.splitClassNameAndType(id).className;
3270
+ const classNode = this.classes.get(className);
3271
+ if (classNode) classNode.haveCallback = true;
3272
+ });
3273
+ this.setCssClass(ids, "clickable");
3274
+ }
3275
+ setClickFunc(_domId, functionName, functionArgs) {
3276
+ const domId = common_default.sanitizeText(_domId, getConfig2());
3277
+ if (getConfig2().securityLevel !== "loose") return;
3278
+ if (functionName === void 0) return;
3279
+ const id = this.splitClassNameAndType(domId).className;
3280
+ if (this.classes.has(id)) {
3281
+ let argList = [];
3282
+ if (typeof functionArgs === "string") {
3283
+ argList = functionArgs.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);
3284
+ for (let i = 0; i < argList.length; i++) {
3285
+ let item = argList[i].trim();
3286
+ if (item.startsWith("\"") && item.endsWith("\"")) item = item.substr(1, item.length - 2);
3287
+ argList[i] = item;
3288
+ }
3289
+ }
3290
+ if (argList.length === 0) argList.push(id);
3291
+ this.functions.push(() => {
3292
+ const elemId = this.lookUpDomId(id);
3293
+ const elem = document.querySelector(`[id="${elemId}"]`);
3294
+ if (elem !== null) elem.addEventListener("click", () => {
3295
+ utils_default.runFunc(functionName, ...argList);
3296
+ }, false);
3297
+ });
3298
+ }
3299
+ }
3300
+ bindFunctions(element) {
3301
+ this.functions.forEach((fun) => {
3302
+ fun(element);
3303
+ });
3304
+ }
3305
+ escapeHtml(str) {
3306
+ return str.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
3307
+ }
3308
+ getDirection() {
3309
+ return this.direction;
3310
+ }
3311
+ setDirection(dir) {
3312
+ this.direction = dir;
3313
+ }
3314
+ static resolveQualifiedId(id, stack) {
3315
+ const prefix = stack.at(-1);
3316
+ return prefix ? `${prefix}.${id}` : id;
3317
+ }
3318
+ static getAncestorIds(qualifiedId) {
3319
+ const parts = qualifiedId.split(".");
3320
+ const ids = new Array(parts.length);
3321
+ ids[0] = parts[0];
3322
+ for (let i = 1; i < parts.length; i++) ids[i] = `${ids[i - 1]}.${parts[i]}`;
3323
+ return ids;
3324
+ }
3325
+ createNamespaceNode(id, label, parentId, explicit = false) {
3326
+ return {
3327
+ id,
3328
+ label,
3329
+ classes: /* @__PURE__ */ new Map(),
3330
+ notes: /* @__PURE__ */ new Map(),
3331
+ children: /* @__PURE__ */ new Map(),
3332
+ domId: MERMAID_DOM_ID_PREFIX + id + "-" + this.namespaceCounter++,
3333
+ parent: parentId,
3334
+ explicit
3335
+ };
3336
+ }
3337
+ linkParentChild(parentId, childId) {
3338
+ const parent = this.namespaces.get(parentId);
3339
+ const child = this.namespaces.get(childId);
3340
+ if (!parent || !child) return;
3341
+ if (!parent.children.has(childId)) parent.children.set(childId, child);
3342
+ child.parent ??= parentId;
3343
+ }
3344
+ addNamespace(id, label) {
3345
+ const qualifiedId = _ClassDB.resolveQualifiedId(id, this.namespaceStack);
3346
+ this.namespaceStack.push(qualifiedId);
3347
+ if (this.namespaces.has(qualifiedId)) {
3348
+ const existing = this.namespaces.get(qualifiedId);
3349
+ existing.explicit = true;
3350
+ if (label) existing.label = label;
3351
+ return qualifiedId;
3352
+ }
3353
+ const parts = qualifiedId.split(".");
3354
+ const ancestorIds = _ClassDB.getAncestorIds(qualifiedId);
3355
+ for (let i = 0; i < ancestorIds.length; i++) {
3356
+ const currentId = ancestorIds[i];
3357
+ const parentId = i > 0 ? ancestorIds[i - 1] : void 0;
3358
+ const isLeaf = i === ancestorIds.length - 1;
3359
+ const nodeLabel = isLeaf && label ? label : parts[i];
3360
+ if (!this.namespaces.has(currentId)) this.namespaces.set(currentId, this.createNamespaceNode(currentId, nodeLabel, parentId, isLeaf));
3361
+ else if (isLeaf) this.namespaces.get(currentId).explicit = true;
3362
+ if (parentId) this.linkParentChild(parentId, currentId);
3363
+ }
3364
+ return qualifiedId;
3365
+ }
3366
+ popNamespace() {
3367
+ this.namespaceStack.pop();
3368
+ }
3369
+ getNamespace(name) {
3370
+ return this.namespaces.get(name);
3371
+ }
3372
+ getNamespaces() {
3373
+ return this.namespaces;
3374
+ }
3375
+ /**
3376
+ * Function called by parser when a namespace definition has been found.
3377
+ *
3378
+ * @param id - ID of the namespace to add
3379
+ * @param classNames - IDs of the class to add
3380
+ * @param noteNames - IDs of the notes to add
3381
+ * @public
3382
+ */
3383
+ addClassesToNamespace(id, classNames, noteNames) {
3384
+ if (!this.namespaces.has(id)) return;
3385
+ for (const name of classNames) {
3386
+ const { className } = this.splitClassNameAndType(name);
3387
+ const classNode = this.getClass(className);
3388
+ classNode.parent = id;
3389
+ this.namespaces.get(id).classes.set(className, classNode);
3390
+ }
3391
+ for (const noteName of noteNames) {
3392
+ const noteNode = this.getNote(noteName);
3393
+ noteNode.parent = id;
3394
+ this.namespaces.get(id).notes.set(noteName, noteNode);
3395
+ }
3396
+ }
3397
+ setCssStyle(id, styles) {
3398
+ const thisClass = this.classes.get(id);
3399
+ if (!styles || !thisClass) return;
3400
+ for (const s of styles) if (s.includes(",")) thisClass.styles.push(...s.split(","));
3401
+ else thisClass.styles.push(s);
3402
+ }
3403
+ /**
3404
+ * Gets the arrow marker for a type index
3405
+ *
3406
+ * @param type - The type to look for
3407
+ * @returns The arrow marker
3408
+ */
3409
+ getArrowMarker(type) {
3410
+ let marker;
3411
+ switch (type) {
3412
+ case 0:
3413
+ marker = "aggregation";
3414
+ break;
3415
+ case 1:
3416
+ marker = "extension";
3417
+ break;
3418
+ case 2:
3419
+ marker = "composition";
3420
+ break;
3421
+ case 3:
3422
+ marker = "dependency";
3423
+ break;
3424
+ case 4:
3425
+ marker = "lollipop";
3426
+ break;
3427
+ default: marker = "none";
3428
+ }
3429
+ return marker;
3430
+ }
3431
+ /**
3432
+ * Walks up the namespace tree from the given id and returns the nearest ancestor
3433
+ * (or the id itself) that is marked as explicit. Used by compact rendering mode
3434
+ * to reassign children to the nearest user-declared namespace.
3435
+ */
3436
+ resolveExplicitAncestor(id) {
3437
+ let current = id;
3438
+ while (current) {
3439
+ const ns = this.namespaces.get(current);
3440
+ if (!ns) return;
3441
+ if (ns.explicit) return current;
3442
+ current = ns.parent;
3443
+ }
3444
+ }
3445
+ getData() {
3446
+ const nodes = [];
3447
+ const edges = [];
3448
+ const config = getConfig2();
3449
+ const hierarchical = config.class?.hierarchicalNamespaces ?? true;
3450
+ for (const namespace of this.namespaces.values()) {
3451
+ if (!hierarchical && !namespace.explicit) continue;
3452
+ const node = {
3453
+ id: namespace.id,
3454
+ label: hierarchical ? namespace.label : namespace.id,
3455
+ isGroup: true,
3456
+ padding: config.class.padding ?? 16,
3457
+ shape: "rect",
3458
+ cssStyles: [],
3459
+ look: config.look,
3460
+ parentId: hierarchical ? namespace.parent : void 0
3461
+ };
3462
+ nodes.push(node);
3463
+ }
3464
+ for (const classNode of this.classes.values()) {
3465
+ const parentId = hierarchical ? classNode.parent : this.resolveExplicitAncestor(classNode.parent);
3466
+ const node = {
3467
+ ...classNode,
3468
+ type: void 0,
3469
+ isGroup: false,
3470
+ parentId,
3471
+ look: config.look
3472
+ };
3473
+ nodes.push(node);
3474
+ }
3475
+ for (const note of this.notes.values()) {
3476
+ const noteParentId = hierarchical ? note.parent : this.resolveExplicitAncestor(note.parent);
3477
+ const noteNode = {
3478
+ id: note.id,
3479
+ label: note.text,
3480
+ isGroup: false,
3481
+ shape: "note",
3482
+ padding: config.class.padding ?? 6,
3483
+ cssStyles: [
3484
+ "text-align: left",
3485
+ "white-space: nowrap",
3486
+ `fill: ${config.themeVariables.noteBkgColor}`,
3487
+ `stroke: ${config.themeVariables.noteBorderColor}`
3488
+ ],
3489
+ look: config.look,
3490
+ parentId: noteParentId,
3491
+ labelType: "markdown"
3492
+ };
3493
+ nodes.push(noteNode);
3494
+ const noteClassId = this.classes.get(note.class)?.id;
3495
+ if (noteClassId) {
3496
+ const edge = {
3497
+ id: `edgeNote${note.index}`,
3498
+ start: note.id,
3499
+ end: noteClassId,
3500
+ type: "normal",
3501
+ thickness: "normal",
3502
+ classes: "relation",
3503
+ arrowTypeStart: "none",
3504
+ arrowTypeEnd: "none",
3505
+ arrowheadStyle: "",
3506
+ labelStyle: [""],
3507
+ style: ["fill: none"],
3508
+ pattern: "dotted",
3509
+ look: config.look
3510
+ };
3511
+ edges.push(edge);
3512
+ }
3513
+ }
3514
+ for (const _interface of this.interfaces) {
3515
+ const interfaceNode = {
3516
+ id: _interface.id,
3517
+ label: _interface.label,
3518
+ isGroup: false,
3519
+ shape: "rect",
3520
+ cssStyles: ["opacity: 0;"],
3521
+ look: config.look
3522
+ };
3523
+ nodes.push(interfaceNode);
3524
+ }
3525
+ let cnt = 0;
3526
+ for (const classRelation of this.relations) {
3527
+ cnt++;
3528
+ const edge = {
3529
+ id: getEdgeId(classRelation.id1, classRelation.id2, {
3530
+ prefix: "id",
3531
+ counter: cnt
3532
+ }),
3533
+ start: classRelation.id1,
3534
+ end: classRelation.id2,
3535
+ type: "normal",
3536
+ label: classRelation.title,
3537
+ labelpos: "c",
3538
+ thickness: "normal",
3539
+ classes: "relation",
3540
+ arrowTypeStart: this.getArrowMarker(classRelation.relation.type1),
3541
+ arrowTypeEnd: this.getArrowMarker(classRelation.relation.type2),
3542
+ startLabelRight: classRelation.relationTitle1 === "none" ? "" : classRelation.relationTitle1,
3543
+ endLabelLeft: classRelation.relationTitle2 === "none" ? "" : classRelation.relationTitle2,
3544
+ arrowheadStyle: "",
3545
+ labelStyle: ["display: inline-block"],
3546
+ style: classRelation.style || "",
3547
+ pattern: classRelation.relation.lineType == 1 ? "dashed" : "solid",
3548
+ look: config.look,
3549
+ labelType: "markdown"
3550
+ };
3551
+ edges.push(edge);
3552
+ }
3553
+ return {
3554
+ nodes,
3555
+ edges,
3556
+ other: {},
3557
+ config,
3558
+ direction: this.getDirection()
3559
+ };
3560
+ }
3561
+ };
3562
+ var styles_default = /* @__PURE__ */ __name((options) => `g.classGroup text {
3563
+ fill: ${options.nodeBorder || options.classText};
3564
+ stroke: none;
3565
+ font-family: ${options.fontFamily};
3566
+ font-size: 10px;
3567
+
3568
+ .title {
3569
+ font-weight: bolder;
3570
+ }
3571
+
3572
+ }
3573
+
3574
+ .cluster-label text {
3575
+ fill: ${options.titleColor};
3576
+ }
3577
+ .cluster-label span {
3578
+ color: ${options.titleColor};
3579
+ }
3580
+ .cluster-label span p {
3581
+ background-color: transparent;
3582
+ }
3583
+
3584
+ .cluster rect {
3585
+ fill: ${options.clusterBkg};
3586
+ stroke: ${options.clusterBorder};
3587
+ stroke-width: 1px;
3588
+ }
3589
+
3590
+ .cluster text {
3591
+ fill: ${options.titleColor};
3592
+ }
3593
+
3594
+ .cluster span {
3595
+ color: ${options.titleColor};
3596
+ }
3597
+
3598
+ .nodeLabel, .edgeLabel {
3599
+ color: ${options.classText};
3600
+ }
3601
+
3602
+ .noteLabel .nodeLabel, .noteLabel .edgeLabel {
3603
+ color: ${options.noteTextColor};
3604
+ }
3605
+ .edgeLabel .label rect {
3606
+ fill: ${options.mainBkg};
3607
+ }
3608
+ .label text {
3609
+ fill: ${options.classText};
3610
+ }
3611
+
3612
+ .labelBkg {
3613
+ background: ${options.mainBkg};
3614
+ }
3615
+ .edgeLabel .label span {
3616
+ background: ${options.mainBkg};
3617
+ }
3618
+
3619
+ .classTitle {
3620
+ font-weight: bolder;
3621
+ }
3622
+ .node rect,
3623
+ .node circle,
3624
+ .node ellipse,
3625
+ .node polygon,
3626
+ .node path {
3627
+ fill: ${options.mainBkg};
3628
+ stroke: ${options.nodeBorder};
3629
+ stroke-width: ${options.strokeWidth};
3630
+ }
3631
+
3632
+
3633
+ .divider {
3634
+ stroke: ${options.nodeBorder};
3635
+ stroke-width: 1;
3636
+ }
3637
+
3638
+ g.clickable {
3639
+ cursor: pointer;
3640
+ }
3641
+
3642
+ g.classGroup rect {
3643
+ fill: ${options.mainBkg};
3644
+ stroke: ${options.nodeBorder};
3645
+ }
3646
+
3647
+ g.classGroup line {
3648
+ stroke: ${options.nodeBorder};
3649
+ stroke-width: 1;
3650
+ }
3651
+
3652
+ .classLabel .box {
3653
+ stroke: none;
3654
+ stroke-width: 0;
3655
+ fill: ${options.mainBkg};
3656
+ opacity: 0.5;
3657
+ }
3658
+
3659
+ .classLabel .label {
3660
+ fill: ${options.nodeBorder};
3661
+ font-size: 10px;
3662
+ }
3663
+
3664
+ .relation {
3665
+ stroke: ${options.lineColor};
3666
+ stroke-width: ${options.strokeWidth};
3667
+ fill: none;
3668
+ }
3669
+
3670
+ .dashed-line{
3671
+ stroke-dasharray: 3;
3672
+ }
3673
+
3674
+ .dotted-line{
3675
+ stroke-dasharray: 1 2;
3676
+ }
3677
+
3678
+ [id$="-compositionStart"], .composition {
3679
+ fill: ${options.lineColor} !important;
3680
+ stroke: ${options.lineColor} !important;
3681
+ stroke-width: 1;
3682
+ }
3683
+
3684
+ [id$="-compositionEnd"], .composition {
3685
+ fill: ${options.lineColor} !important;
3686
+ stroke: ${options.lineColor} !important;
3687
+ stroke-width: 1;
3688
+ }
3689
+
3690
+ [id$="-dependencyStart"], .dependency {
3691
+ fill: ${options.lineColor} !important;
3692
+ stroke: ${options.lineColor} !important;
3693
+ stroke-width: 1;
3694
+ }
3695
+
3696
+ [id$="-dependencyEnd"], .dependency {
3697
+ fill: ${options.lineColor} !important;
3698
+ stroke: ${options.lineColor} !important;
3699
+ stroke-width: 1;
3700
+ }
3701
+
3702
+ [id$="-extensionStart"], .extension {
3703
+ fill: transparent !important;
3704
+ stroke: ${options.lineColor} !important;
3705
+ stroke-width: 1;
3706
+ }
3707
+
3708
+ [id$="-extensionEnd"], .extension {
3709
+ fill: transparent !important;
3710
+ stroke: ${options.lineColor} !important;
3711
+ stroke-width: 1;
3712
+ }
3713
+
3714
+ [id$="-aggregationStart"], .aggregation {
3715
+ fill: transparent !important;
3716
+ stroke: ${options.lineColor} !important;
3717
+ stroke-width: 1;
3718
+ }
3719
+
3720
+ [id$="-aggregationEnd"], .aggregation {
3721
+ fill: transparent !important;
3722
+ stroke: ${options.lineColor} !important;
3723
+ stroke-width: 1;
3724
+ }
3725
+
3726
+ [id$="-lollipopStart"], .lollipop {
3727
+ fill: ${options.mainBkg} !important;
3728
+ stroke: ${options.lineColor} !important;
3729
+ stroke-width: 1;
3730
+ }
3731
+
3732
+ [id$="-lollipopEnd"], .lollipop {
3733
+ fill: ${options.mainBkg} !important;
3734
+ stroke: ${options.lineColor} !important;
3735
+ stroke-width: 1;
3736
+ }
3737
+
3738
+ .edgeTerminals {
3739
+ font-size: 11px;
3740
+ line-height: initial;
3741
+ }
3742
+
3743
+ .classTitleText {
3744
+ text-anchor: middle;
3745
+ font-size: 18px;
3746
+ fill: ${options.textColor};
3747
+ }
3748
+
3749
+ .edgeLabel[data-look="neo"] {
3750
+ background-color: ${options.edgeLabelBackground};
3751
+ p {
3752
+ background-color: ${options.edgeLabelBackground};
3753
+ }
3754
+ rect {
3755
+ opacity: 0.5;
3756
+ background-color: ${options.edgeLabelBackground};
3757
+ fill: ${options.edgeLabelBackground};
3758
+ }
3759
+ text-align: center;
3760
+ }
3761
+ ${getIconStyles()}
3762
+ `, "getStyles");
3763
+ var classRenderer_v3_unified_default = {
3764
+ getClasses: /* @__PURE__ */ __name(function(text, diagramObj) {
3765
+ return diagramObj.db.getClasses();
3766
+ }, "getClasses"),
3767
+ draw: /* @__PURE__ */ __name(async function(text, id, _version, diag) {
3768
+ log.info("REF0:");
3769
+ log.info("Drawing class diagram (v3)", id);
3770
+ const { securityLevel, state: conf, layout } = getConfig2();
3771
+ diag.db.setDiagramId(id);
3772
+ const data4Layout = diag.db.getData();
3773
+ const svg = getDiagramElement(id, securityLevel);
3774
+ data4Layout.type = diag.type;
3775
+ data4Layout.layoutAlgorithm = getRegisteredLayoutAlgorithm(layout);
3776
+ data4Layout.nodeSpacing = conf?.nodeSpacing || 50;
3777
+ data4Layout.rankSpacing = conf?.rankSpacing || 50;
3778
+ data4Layout.markers = [
3779
+ "aggregation",
3780
+ "extension",
3781
+ "composition",
3782
+ "dependency",
3783
+ "lollipop"
3784
+ ];
3785
+ data4Layout.diagramId = id;
3786
+ await render(data4Layout, svg);
3787
+ const padding = 8;
3788
+ utils_default.insertTitle(svg, "classDiagramTitleText", conf?.titleTopMargin ?? 25, diag.db.getDiagramTitle());
3789
+ setupViewPortForSVG(svg, padding, "classDiagram", conf?.useMaxWidth ?? true);
3790
+ }, "draw"),
3791
+ getDir: /* @__PURE__ */ __name((parsedItem, defaultDir = "TB") => {
3792
+ if (!parsedItem.doc) return defaultDir;
3793
+ let dir = defaultDir;
3794
+ for (const parsedItemDoc of parsedItem.doc) if (parsedItemDoc.stmt === "dir") dir = parsedItemDoc.value;
3795
+ return dir;
3796
+ }, "getDir")
3797
+ };
3798
+
3799
+ //#endregion
3800
+ export { styles_default as i, classDiagram_default as n, classRenderer_v3_unified_default as r, ClassDB as t };