@copilotkitnext/react 0.0.22-alpha.7 → 0.0.22-alpha.8

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 (236) hide show
  1. package/package.json +4 -4
  2. package/dist/KaTeX_AMS-Regular-CYEKBG2K.woff +0 -0
  3. package/dist/KaTeX_AMS-Regular-JKX5W2C4.ttf +0 -0
  4. package/dist/KaTeX_AMS-Regular-U6PRYMIZ.woff2 +0 -0
  5. package/dist/KaTeX_Caligraphic-Bold-5QL5CMTE.woff2 +0 -0
  6. package/dist/KaTeX_Caligraphic-Bold-WZ3QSGD3.woff +0 -0
  7. package/dist/KaTeX_Caligraphic-Bold-ZTS3R3HK.ttf +0 -0
  8. package/dist/KaTeX_Caligraphic-Regular-3LKEU76G.woff +0 -0
  9. package/dist/KaTeX_Caligraphic-Regular-A7XRTZ5Q.ttf +0 -0
  10. package/dist/KaTeX_Caligraphic-Regular-KX5MEWCF.woff2 +0 -0
  11. package/dist/KaTeX_Fraktur-Bold-2QVFK6NQ.woff2 +0 -0
  12. package/dist/KaTeX_Fraktur-Bold-T4SWXBMT.woff +0 -0
  13. package/dist/KaTeX_Fraktur-Bold-WGHVTYOR.ttf +0 -0
  14. package/dist/KaTeX_Fraktur-Regular-2PEIFJSJ.woff2 +0 -0
  15. package/dist/KaTeX_Fraktur-Regular-5U4OPH2X.ttf +0 -0
  16. package/dist/KaTeX_Fraktur-Regular-PQMHCIK6.woff +0 -0
  17. package/dist/KaTeX_Main-Bold-2GA4IZIN.woff +0 -0
  18. package/dist/KaTeX_Main-Bold-W5FBVCZM.ttf +0 -0
  19. package/dist/KaTeX_Main-Bold-YP5VVQRP.woff2 +0 -0
  20. package/dist/KaTeX_Main-BoldItalic-4P4C7HJH.woff +0 -0
  21. package/dist/KaTeX_Main-BoldItalic-N4V3DX7S.woff2 +0 -0
  22. package/dist/KaTeX_Main-BoldItalic-ODMLBJJQ.ttf +0 -0
  23. package/dist/KaTeX_Main-Italic-I43T2HSR.ttf +0 -0
  24. package/dist/KaTeX_Main-Italic-RELBIK7M.woff2 +0 -0
  25. package/dist/KaTeX_Main-Italic-SASNQFN2.woff +0 -0
  26. package/dist/KaTeX_Main-Regular-ARRPAO67.woff2 +0 -0
  27. package/dist/KaTeX_Main-Regular-P5I74A2A.woff +0 -0
  28. package/dist/KaTeX_Main-Regular-W74P5G27.ttf +0 -0
  29. package/dist/KaTeX_Math-BoldItalic-6EBV3DK5.woff +0 -0
  30. package/dist/KaTeX_Math-BoldItalic-K4WTGH3J.woff2 +0 -0
  31. package/dist/KaTeX_Math-BoldItalic-VB447A4D.ttf +0 -0
  32. package/dist/KaTeX_Math-Italic-6KGCHLFN.woff2 +0 -0
  33. package/dist/KaTeX_Math-Italic-KKK3USB2.woff +0 -0
  34. package/dist/KaTeX_Math-Italic-SON4MRCA.ttf +0 -0
  35. package/dist/KaTeX_SansSerif-Bold-RRNVJFFW.woff2 +0 -0
  36. package/dist/KaTeX_SansSerif-Bold-STQ6RXC7.ttf +0 -0
  37. package/dist/KaTeX_SansSerif-Bold-X5M5EMOD.woff +0 -0
  38. package/dist/KaTeX_SansSerif-Italic-HMPFTM52.woff2 +0 -0
  39. package/dist/KaTeX_SansSerif-Italic-PSN4QKYX.woff +0 -0
  40. package/dist/KaTeX_SansSerif-Italic-WTBAZBGY.ttf +0 -0
  41. package/dist/KaTeX_SansSerif-Regular-2TL3USAE.ttf +0 -0
  42. package/dist/KaTeX_SansSerif-Regular-OQCII6EP.woff +0 -0
  43. package/dist/KaTeX_SansSerif-Regular-XIQ62X4E.woff2 +0 -0
  44. package/dist/KaTeX_Script-Regular-72OLXYNA.ttf +0 -0
  45. package/dist/KaTeX_Script-Regular-A5IFOEBS.woff +0 -0
  46. package/dist/KaTeX_Script-Regular-APUWIHLP.woff2 +0 -0
  47. package/dist/KaTeX_Size1-Regular-4HRHTS65.woff +0 -0
  48. package/dist/KaTeX_Size1-Regular-5LRUTBFT.woff2 +0 -0
  49. package/dist/KaTeX_Size1-Regular-7K6AASVL.ttf +0 -0
  50. package/dist/KaTeX_Size2-Regular-222HN3GT.ttf +0 -0
  51. package/dist/KaTeX_Size2-Regular-K5ZHAIS6.woff +0 -0
  52. package/dist/KaTeX_Size2-Regular-LELKET5D.woff2 +0 -0
  53. package/dist/KaTeX_Size3-Regular-TLFPAHDE.woff +0 -0
  54. package/dist/KaTeX_Size3-Regular-UFCO6WCA.ttf +0 -0
  55. package/dist/KaTeX_Size3-Regular-WQRQ47UD.woff2 +0 -0
  56. package/dist/KaTeX_Size4-Regular-7PGNVPQK.ttf +0 -0
  57. package/dist/KaTeX_Size4-Regular-CDMV7U5C.woff2 +0 -0
  58. package/dist/KaTeX_Size4-Regular-PKMWZHNC.woff +0 -0
  59. package/dist/KaTeX_Typewriter-Regular-3F5K6SQ6.ttf +0 -0
  60. package/dist/KaTeX_Typewriter-Regular-MJMFSK64.woff +0 -0
  61. package/dist/KaTeX_Typewriter-Regular-VBYJ4NRC.woff2 +0 -0
  62. package/dist/angular-html-LD6QEAZE.mjs +0 -7
  63. package/dist/angular-html-LD6QEAZE.mjs.map +0 -1
  64. package/dist/angular-ts-FGK7I2F5.mjs +0 -37
  65. package/dist/angular-ts-FGK7I2F5.mjs.map +0 -1
  66. package/dist/angular-ts-XZTE5LQS.mjs +0 -37
  67. package/dist/angular-ts-XZTE5LQS.mjs.map +0 -1
  68. package/dist/apl-VB2EG5RZ.mjs +0 -22
  69. package/dist/apl-VB2EG5RZ.mjs.map +0 -1
  70. package/dist/architectureDiagram-VXUJARFQ-PPLKSFYC.mjs +0 -8712
  71. package/dist/architectureDiagram-VXUJARFQ-PPLKSFYC.mjs.map +0 -1
  72. package/dist/blade-EZDWULER.mjs +0 -26
  73. package/dist/blade-EZDWULER.mjs.map +0 -1
  74. package/dist/blade-HS4Z7O3Y.mjs +0 -26
  75. package/dist/blade-HS4Z7O3Y.mjs.map +0 -1
  76. package/dist/blockDiagram-VD42YOAC-7SIEWHYD.mjs +0 -3618
  77. package/dist/blockDiagram-VD42YOAC-7SIEWHYD.mjs.map +0 -1
  78. package/dist/c4Diagram-YG6GDRKO-G2UUBRHQ.mjs +0 -2495
  79. package/dist/c4Diagram-YG6GDRKO-G2UUBRHQ.mjs.map +0 -1
  80. package/dist/chunk-2BAFECUC.mjs +0 -28
  81. package/dist/chunk-2BAFECUC.mjs.map +0 -1
  82. package/dist/chunk-BF5LDW2L.mjs +0 -65
  83. package/dist/chunk-BF5LDW2L.mjs.map +0 -1
  84. package/dist/chunk-BUEC2HNL.mjs +0 -762
  85. package/dist/chunk-BUEC2HNL.mjs.map +0 -1
  86. package/dist/chunk-CRGJ2YCV.mjs +0 -109
  87. package/dist/chunk-CRGJ2YCV.mjs.map +0 -1
  88. package/dist/chunk-DKZXT4VQ.mjs +0 -19
  89. package/dist/chunk-DKZXT4VQ.mjs.map +0 -1
  90. package/dist/chunk-DYQXFOGA.mjs +0 -34
  91. package/dist/chunk-DYQXFOGA.mjs.map +0 -1
  92. package/dist/chunk-ENI667QL.mjs +0 -806
  93. package/dist/chunk-ENI667QL.mjs.map +0 -1
  94. package/dist/chunk-GEUZOPED.mjs +0 -1834
  95. package/dist/chunk-GEUZOPED.mjs.map +0 -1
  96. package/dist/chunk-GU7334FJ.mjs +0 -538
  97. package/dist/chunk-GU7334FJ.mjs.map +0 -1
  98. package/dist/chunk-HNKEYT4A.mjs +0 -4693
  99. package/dist/chunk-HNKEYT4A.mjs.map +0 -1
  100. package/dist/chunk-HTMHAYGC.mjs +0 -14
  101. package/dist/chunk-HTMHAYGC.mjs.map +0 -1
  102. package/dist/chunk-JRLFMJ6U.mjs +0 -1923
  103. package/dist/chunk-JRLFMJ6U.mjs.map +0 -1
  104. package/dist/chunk-JYRND4DC.mjs +0 -22
  105. package/dist/chunk-JYRND4DC.mjs.map +0 -1
  106. package/dist/chunk-KFEPUFID.mjs +0 -52
  107. package/dist/chunk-KFEPUFID.mjs.map +0 -1
  108. package/dist/chunk-M3UH7XZX.mjs +0 -6222
  109. package/dist/chunk-M3UH7XZX.mjs.map +0 -1
  110. package/dist/chunk-ND4RYWG7.mjs +0 -12
  111. package/dist/chunk-ND4RYWG7.mjs.map +0 -1
  112. package/dist/chunk-VLSLBZME.mjs +0 -51
  113. package/dist/chunk-VLSLBZME.mjs.map +0 -1
  114. package/dist/chunk-WJBV3P3K.mjs +0 -55
  115. package/dist/chunk-WJBV3P3K.mjs.map +0 -1
  116. package/dist/chunk-X2TQ2HDS.mjs +0 -44
  117. package/dist/chunk-X2TQ2HDS.mjs.map +0 -1
  118. package/dist/chunk-YIDZOZG3.mjs +0 -103
  119. package/dist/chunk-YIDZOZG3.mjs.map +0 -1
  120. package/dist/chunk-YLW7IP7V.mjs +0 -14525
  121. package/dist/chunk-YLW7IP7V.mjs.map +0 -1
  122. package/dist/classDiagram-2ON5EDUG-WUV4PTK5.mjs +0 -38
  123. package/dist/classDiagram-2ON5EDUG-WUV4PTK5.mjs.map +0 -1
  124. package/dist/classDiagram-v2-WZHVMYZB-J4QNVYPE.mjs +0 -38
  125. package/dist/classDiagram-v2-WZHVMYZB-J4QNVYPE.mjs.map +0 -1
  126. package/dist/cobol-PNTKRG5I.mjs +0 -17
  127. package/dist/cobol-PNTKRG5I.mjs.map +0 -1
  128. package/dist/crystal-BSMHK65A.mjs +0 -23
  129. package/dist/crystal-BSMHK65A.mjs.map +0 -1
  130. package/dist/dagre-6UL2VRFP-XN667C7N.mjs +0 -710
  131. package/dist/dagre-6UL2VRFP-XN667C7N.mjs.map +0 -1
  132. package/dist/diagram-PSM6KHXK-VA2CF5LZ.mjs +0 -538
  133. package/dist/diagram-PSM6KHXK-VA2CF5LZ.mjs.map +0 -1
  134. package/dist/diagram-QEK2KX5R-H3EHES33.mjs +0 -319
  135. package/dist/diagram-QEK2KX5R-H3EHES33.mjs.map +0 -1
  136. package/dist/diagram-S2PKOQOG-FOQYPB22.mjs +0 -231
  137. package/dist/diagram-S2PKOQOG-FOQYPB22.mjs.map +0 -1
  138. package/dist/edge-JOI74UJM.mjs +0 -19
  139. package/dist/edge-JOI74UJM.mjs.map +0 -1
  140. package/dist/elixir-FEL6DDPJ.mjs +0 -15
  141. package/dist/elixir-FEL6DDPJ.mjs.map +0 -1
  142. package/dist/erDiagram-Q2GNP2WA-IXNJSD2A.mjs +0 -1175
  143. package/dist/erDiagram-Q2GNP2WA-IXNJSD2A.mjs.map +0 -1
  144. package/dist/erb-Q2D6FWX3.mjs +0 -32
  145. package/dist/erb-Q2D6FWX3.mjs.map +0 -1
  146. package/dist/flowDiagram-NV44I4VS-ISKGEBMD.mjs +0 -2349
  147. package/dist/flowDiagram-NV44I4VS-ISKGEBMD.mjs.map +0 -1
  148. package/dist/ganttDiagram-LVOFAZNH-OAL7V7IR.mjs +0 -2344
  149. package/dist/ganttDiagram-LVOFAZNH-OAL7V7IR.mjs.map +0 -1
  150. package/dist/gitGraphDiagram-NY62KEGX-RKN2CCAZ.mjs +0 -1221
  151. package/dist/gitGraphDiagram-NY62KEGX-RKN2CCAZ.mjs.map +0 -1
  152. package/dist/glimmer-js-B32LCGFA.mjs +0 -19
  153. package/dist/glimmer-js-B32LCGFA.mjs.map +0 -1
  154. package/dist/glimmer-ts-4PHFAQCG.mjs +0 -19
  155. package/dist/glimmer-ts-4PHFAQCG.mjs.map +0 -1
  156. package/dist/hack-3ZNSL4KD.mjs +0 -17
  157. package/dist/hack-3ZNSL4KD.mjs.map +0 -1
  158. package/dist/handlebars-ICBC3AZK.mjs +0 -19
  159. package/dist/handlebars-ICBC3AZK.mjs.map +0 -1
  160. package/dist/html-BGY5P773.mjs +0 -6
  161. package/dist/html-BGY5P773.mjs.map +0 -1
  162. package/dist/html-derivative-3HGXHHFE.mjs +0 -7
  163. package/dist/html-derivative-3HGXHHFE.mjs.map +0 -1
  164. package/dist/index.css +0 -2385
  165. package/dist/index.css.map +0 -1
  166. package/dist/infoDiagram-F6ZHWCRC-Z7KMJJ45.mjs +0 -49
  167. package/dist/infoDiagram-F6ZHWCRC-Z7KMJJ45.mjs.map +0 -1
  168. package/dist/jinja-WL6HNMB5.mjs +0 -22
  169. package/dist/jinja-WL6HNMB5.mjs.map +0 -1
  170. package/dist/journeyDiagram-XKPGCS4Q-BMTOBHZ4.mjs +0 -1259
  171. package/dist/journeyDiagram-XKPGCS4Q-BMTOBHZ4.mjs.map +0 -1
  172. package/dist/kanban-definition-3W4ZIXB7-MVFRARF4.mjs +0 -1062
  173. package/dist/kanban-definition-3W4ZIXB7-MVFRARF4.mjs.map +0 -1
  174. package/dist/katex-4R42CMCB.mjs +0 -4
  175. package/dist/katex-4R42CMCB.mjs.map +0 -1
  176. package/dist/liquid-YS3YPW54.mjs +0 -19
  177. package/dist/liquid-YS3YPW54.mjs.map +0 -1
  178. package/dist/logo-mark-OHF64HAY.svg +0 -8
  179. package/dist/mdc-A66KLOT4.mjs +0 -20
  180. package/dist/mdc-A66KLOT4.mjs.map +0 -1
  181. package/dist/mermaid.core-4OWTNZSL.mjs +0 -1587
  182. package/dist/mermaid.core-4OWTNZSL.mjs.map +0 -1
  183. package/dist/mermaid.core-7AUE4M6E.mjs +0 -1587
  184. package/dist/mermaid.core-7AUE4M6E.mjs.map +0 -1
  185. package/dist/mindmap-definition-VGOIOE7T-7FMA2CPY.mjs +0 -1112
  186. package/dist/mindmap-definition-VGOIOE7T-7FMA2CPY.mjs.map +0 -1
  187. package/dist/mindmap-definition-VGOIOE7T-VNF7JZOY.mjs +0 -1112
  188. package/dist/mindmap-definition-VGOIOE7T-VNF7JZOY.mjs.map +0 -1
  189. package/dist/nim-HUBKBJHZ.mjs +0 -26
  190. package/dist/nim-HUBKBJHZ.mjs.map +0 -1
  191. package/dist/perl-QHAMWWQ5.mjs +0 -22
  192. package/dist/perl-QHAMWWQ5.mjs.map +0 -1
  193. package/dist/php-FS5GKSPN.mjs +0 -11
  194. package/dist/php-FS5GKSPN.mjs.map +0 -1
  195. package/dist/pieDiagram-ADFJNKIX-EER3WTCU.mjs +0 -200
  196. package/dist/pieDiagram-ADFJNKIX-EER3WTCU.mjs.map +0 -1
  197. package/dist/pug-WTY5FMEA.mjs +0 -17
  198. package/dist/pug-WTY5FMEA.mjs.map +0 -1
  199. package/dist/quadrantDiagram-AYHSOK5B-WQCIRJOK.mjs +0 -1344
  200. package/dist/quadrantDiagram-AYHSOK5B-WQCIRJOK.mjs.map +0 -1
  201. package/dist/razor-BAB7LFWZ.mjs +0 -17
  202. package/dist/razor-BAB7LFWZ.mjs.map +0 -1
  203. package/dist/requirementDiagram-UZGBJVZJ-RVM6Q2TT.mjs +0 -1179
  204. package/dist/requirementDiagram-UZGBJVZJ-RVM6Q2TT.mjs.map +0 -1
  205. package/dist/rst-AY7U27YM.mjs +0 -41
  206. package/dist/rst-AY7U27YM.mjs.map +0 -1
  207. package/dist/rst-Y2VLYMJI.mjs +0 -41
  208. package/dist/rst-Y2VLYMJI.mjs.map +0 -1
  209. package/dist/ruby-K4BNEYWG.mjs +0 -22
  210. package/dist/ruby-K4BNEYWG.mjs.map +0 -1
  211. package/dist/sankeyDiagram-TZEHDZUN-H7BVEXGO.mjs +0 -1230
  212. package/dist/sankeyDiagram-TZEHDZUN-H7BVEXGO.mjs.map +0 -1
  213. package/dist/sequenceDiagram-WL72ISMW-XBGZSOYI.mjs +0 -3885
  214. package/dist/sequenceDiagram-WL72ISMW-XBGZSOYI.mjs.map +0 -1
  215. package/dist/soy-5QMQV2KL.mjs +0 -15
  216. package/dist/soy-5QMQV2KL.mjs.map +0 -1
  217. package/dist/stateDiagram-FKZM4ZOC-WRIBVFSJ.mjs +0 -467
  218. package/dist/stateDiagram-FKZM4ZOC-WRIBVFSJ.mjs.map +0 -1
  219. package/dist/stateDiagram-v2-4FDKWEC3-SPDO7R6D.mjs +0 -37
  220. package/dist/stateDiagram-v2-4FDKWEC3-SPDO7R6D.mjs.map +0 -1
  221. package/dist/templ-VSARRSO2.mjs +0 -17
  222. package/dist/templ-VSARRSO2.mjs.map +0 -1
  223. package/dist/timeline-definition-IT6M3QCI-PX4A2RIH.mjs +0 -1226
  224. package/dist/timeline-definition-IT6M3QCI-PX4A2RIH.mjs.map +0 -1
  225. package/dist/ts-tags-YK3Q2LIW.mjs +0 -68
  226. package/dist/ts-tags-YK3Q2LIW.mjs.map +0 -1
  227. package/dist/twig-HNMWLN6H.mjs +0 -40
  228. package/dist/twig-HNMWLN6H.mjs.map +0 -1
  229. package/dist/vue-7OSX6ZY5.mjs +0 -10
  230. package/dist/vue-7OSX6ZY5.mjs.map +0 -1
  231. package/dist/vue-html-AQH2V2EU.mjs +0 -20
  232. package/dist/vue-html-AQH2V2EU.mjs.map +0 -1
  233. package/dist/vue-vine-GCYT2IGV.mjs +0 -29
  234. package/dist/vue-vine-GCYT2IGV.mjs.map +0 -1
  235. package/dist/xychartDiagram-PRI3JC2R-65KZQZDU.mjs +0 -1865
  236. package/dist/xychartDiagram-PRI3JC2R-65KZQZDU.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/.pnpm/mermaid@11.12.0/node_modules/mermaid/dist/chunks/mermaid.core/c4Diagram-YG6GDRKO.mjs"],"names":[],"mappings":"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AC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,GAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,GAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,GAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,GAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,GAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,GAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,GAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA,EAAG,CAAC,EAAA,EAAI,CA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EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,KAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,IAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,KAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,IAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,KAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,IAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,KAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,IAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,KAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,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EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,EAAA,EAAI,IAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,KAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,IAAO,EAAE,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,KAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA,EAAG,EAAE,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,KAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,IAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,KAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,IAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAI,EAAG,EAAE,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,KAAI,EAAG,EAAE,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,IAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,KAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,EAAA,EAAI,GAAA,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CAAC,CAAA,EAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,GAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA,EAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA,EAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA,EAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA,EAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA,EAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA,EAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA,EAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA,EAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA,EAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA,EAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA,EAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA,EAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA,EAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA,EAAG,EAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA,EAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA,EAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA,EAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA,EAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA,EAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,CAAC,CAAA,EAAG,CAAA,CAAE,GAAA,EAAK,CAAC,CAAA,EAAG,EAAE,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","file":"c4Diagram-YG6GDRKO-G2UUBRHQ.mjs","sourcesContent":["import {\n drawRect,\n getNoteRect\n} from \"./chunk-TZMSLE5B.mjs\";\nimport {\n calculateTextHeight,\n calculateTextWidth,\n wrapLabel\n} from \"./chunk-S3R3BYOJ.mjs\";\nimport {\n assignWithDepth_default,\n common_default,\n configureSvgSize,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n sanitizeText,\n setAccDescription,\n setAccTitle\n} from \"./chunk-ABZYJK2D.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/c4/parser/c4Diagram.jison\nvar parser = (function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 24], $V1 = [1, 25], $V2 = [1, 26], $V3 = [1, 27], $V4 = [1, 28], $V5 = [1, 63], $V6 = [1, 64], $V7 = [1, 65], $V8 = [1, 66], $V9 = [1, 67], $Va = [1, 68], $Vb = [1, 69], $Vc = [1, 29], $Vd = [1, 30], $Ve = [1, 31], $Vf = [1, 32], $Vg = [1, 33], $Vh = [1, 34], $Vi = [1, 35], $Vj = [1, 36], $Vk = [1, 37], $Vl = [1, 38], $Vm = [1, 39], $Vn = [1, 40], $Vo = [1, 41], $Vp = [1, 42], $Vq = [1, 43], $Vr = [1, 44], $Vs = [1, 45], $Vt = [1, 46], $Vu = [1, 47], $Vv = [1, 48], $Vw = [1, 50], $Vx = [1, 51], $Vy = [1, 52], $Vz = [1, 53], $VA = [1, 54], $VB = [1, 55], $VC = [1, 56], $VD = [1, 57], $VE = [1, 58], $VF = [1, 59], $VG = [1, 60], $VH = [14, 42], $VI = [14, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], $VJ = [12, 14, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], $VK = [1, 82], $VL = [1, 83], $VM = [1, 84], $VN = [1, 85], $VO = [12, 14, 42], $VP = [12, 14, 33, 42], $VQ = [12, 14, 33, 42, 76, 77, 79, 80], $VR = [12, 33], $VS = [34, 36, 37, 38, 39, 40, 41, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"mermaidDoc\": 4, \"direction\": 5, \"direction_tb\": 6, \"direction_bt\": 7, \"direction_rl\": 8, \"direction_lr\": 9, \"graphConfig\": 10, \"C4_CONTEXT\": 11, \"NEWLINE\": 12, \"statements\": 13, \"EOF\": 14, \"C4_CONTAINER\": 15, \"C4_COMPONENT\": 16, \"C4_DYNAMIC\": 17, \"C4_DEPLOYMENT\": 18, \"otherStatements\": 19, \"diagramStatements\": 20, \"otherStatement\": 21, \"title\": 22, \"accDescription\": 23, \"acc_title\": 24, \"acc_title_value\": 25, \"acc_descr\": 26, \"acc_descr_value\": 27, \"acc_descr_multiline_value\": 28, \"boundaryStatement\": 29, \"boundaryStartStatement\": 30, \"boundaryStopStatement\": 31, \"boundaryStart\": 32, \"LBRACE\": 33, \"ENTERPRISE_BOUNDARY\": 34, \"attributes\": 35, \"SYSTEM_BOUNDARY\": 36, \"BOUNDARY\": 37, \"CONTAINER_BOUNDARY\": 38, \"NODE\": 39, \"NODE_L\": 40, \"NODE_R\": 41, \"RBRACE\": 42, \"diagramStatement\": 43, \"PERSON\": 44, \"PERSON_EXT\": 45, \"SYSTEM\": 46, \"SYSTEM_DB\": 47, \"SYSTEM_QUEUE\": 48, \"SYSTEM_EXT\": 49, \"SYSTEM_EXT_DB\": 50, \"SYSTEM_EXT_QUEUE\": 51, \"CONTAINER\": 52, \"CONTAINER_DB\": 53, \"CONTAINER_QUEUE\": 54, \"CONTAINER_EXT\": 55, \"CONTAINER_EXT_DB\": 56, \"CONTAINER_EXT_QUEUE\": 57, \"COMPONENT\": 58, \"COMPONENT_DB\": 59, \"COMPONENT_QUEUE\": 60, \"COMPONENT_EXT\": 61, \"COMPONENT_EXT_DB\": 62, \"COMPONENT_EXT_QUEUE\": 63, \"REL\": 64, \"BIREL\": 65, \"REL_U\": 66, \"REL_D\": 67, \"REL_L\": 68, \"REL_R\": 69, \"REL_B\": 70, \"REL_INDEX\": 71, \"UPDATE_EL_STYLE\": 72, \"UPDATE_REL_STYLE\": 73, \"UPDATE_LAYOUT_CONFIG\": 74, \"attribute\": 75, \"STR\": 76, \"STR_KEY\": 77, \"STR_VALUE\": 78, \"ATTRIBUTE\": 79, \"ATTRIBUTE_EMPTY\": 80, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 6: \"direction_tb\", 7: \"direction_bt\", 8: \"direction_rl\", 9: \"direction_lr\", 11: \"C4_CONTEXT\", 12: \"NEWLINE\", 14: \"EOF\", 15: \"C4_CONTAINER\", 16: \"C4_COMPONENT\", 17: \"C4_DYNAMIC\", 18: \"C4_DEPLOYMENT\", 22: \"title\", 23: \"accDescription\", 24: \"acc_title\", 25: \"acc_title_value\", 26: \"acc_descr\", 27: \"acc_descr_value\", 28: \"acc_descr_multiline_value\", 33: \"LBRACE\", 34: \"ENTERPRISE_BOUNDARY\", 36: \"SYSTEM_BOUNDARY\", 37: \"BOUNDARY\", 38: \"CONTAINER_BOUNDARY\", 39: \"NODE\", 40: \"NODE_L\", 41: \"NODE_R\", 42: \"RBRACE\", 44: \"PERSON\", 45: \"PERSON_EXT\", 46: \"SYSTEM\", 47: \"SYSTEM_DB\", 48: \"SYSTEM_QUEUE\", 49: \"SYSTEM_EXT\", 50: \"SYSTEM_EXT_DB\", 51: \"SYSTEM_EXT_QUEUE\", 52: \"CONTAINER\", 53: \"CONTAINER_DB\", 54: \"CONTAINER_QUEUE\", 55: \"CONTAINER_EXT\", 56: \"CONTAINER_EXT_DB\", 57: \"CONTAINER_EXT_QUEUE\", 58: \"COMPONENT\", 59: \"COMPONENT_DB\", 60: \"COMPONENT_QUEUE\", 61: \"COMPONENT_EXT\", 62: \"COMPONENT_EXT_DB\", 63: \"COMPONENT_EXT_QUEUE\", 64: \"REL\", 65: \"BIREL\", 66: \"REL_U\", 67: \"REL_D\", 68: \"REL_L\", 69: \"REL_R\", 70: \"REL_B\", 71: \"REL_INDEX\", 72: \"UPDATE_EL_STYLE\", 73: \"UPDATE_REL_STYLE\", 74: \"UPDATE_LAYOUT_CONFIG\", 76: \"STR\", 77: \"STR_KEY\", 78: \"STR_VALUE\", 79: \"ATTRIBUTE\", 80: \"ATTRIBUTE_EMPTY\" },\n productions_: [0, [3, 1], [3, 1], [5, 1], [5, 1], [5, 1], [5, 1], [4, 1], [10, 4], [10, 4], [10, 4], [10, 4], [10, 4], [13, 1], [13, 1], [13, 2], [19, 1], [19, 2], [19, 3], [21, 1], [21, 1], [21, 2], [21, 2], [21, 1], [29, 3], [30, 3], [30, 3], [30, 4], [32, 2], [32, 2], [32, 2], [32, 2], [32, 2], [32, 2], [32, 2], [31, 1], [20, 1], [20, 2], [20, 3], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 1], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [35, 1], [35, 2], [75, 1], [75, 2], [75, 1], [75, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 3:\n yy.setDirection(\"TB\");\n break;\n case 4:\n yy.setDirection(\"BT\");\n break;\n case 5:\n yy.setDirection(\"RL\");\n break;\n case 6:\n yy.setDirection(\"LR\");\n break;\n case 8:\n case 9:\n case 10:\n case 11:\n case 12:\n yy.setC4Type($$[$0 - 3]);\n break;\n case 19:\n yy.setTitle($$[$0].substring(6));\n this.$ = $$[$0].substring(6);\n break;\n case 20:\n yy.setAccDescription($$[$0].substring(15));\n this.$ = $$[$0].substring(15);\n break;\n case 21:\n this.$ = $$[$0].trim();\n yy.setTitle(this.$);\n break;\n case 22:\n case 23:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 28:\n $$[$0].splice(2, 0, \"ENTERPRISE\");\n yy.addPersonOrSystemBoundary(...$$[$0]);\n this.$ = $$[$0];\n break;\n case 29:\n $$[$0].splice(2, 0, \"SYSTEM\");\n yy.addPersonOrSystemBoundary(...$$[$0]);\n this.$ = $$[$0];\n break;\n case 30:\n yy.addPersonOrSystemBoundary(...$$[$0]);\n this.$ = $$[$0];\n break;\n case 31:\n $$[$0].splice(2, 0, \"CONTAINER\");\n yy.addContainerBoundary(...$$[$0]);\n this.$ = $$[$0];\n break;\n case 32:\n yy.addDeploymentNode(\"node\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 33:\n yy.addDeploymentNode(\"nodeL\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 34:\n yy.addDeploymentNode(\"nodeR\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 35:\n yy.popBoundaryParseStack();\n break;\n case 39:\n yy.addPersonOrSystem(\"person\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 40:\n yy.addPersonOrSystem(\"external_person\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 41:\n yy.addPersonOrSystem(\"system\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 42:\n yy.addPersonOrSystem(\"system_db\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 43:\n yy.addPersonOrSystem(\"system_queue\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 44:\n yy.addPersonOrSystem(\"external_system\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 45:\n yy.addPersonOrSystem(\"external_system_db\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 46:\n yy.addPersonOrSystem(\"external_system_queue\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 47:\n yy.addContainer(\"container\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 48:\n yy.addContainer(\"container_db\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 49:\n yy.addContainer(\"container_queue\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 50:\n yy.addContainer(\"external_container\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 51:\n yy.addContainer(\"external_container_db\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 52:\n yy.addContainer(\"external_container_queue\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 53:\n yy.addComponent(\"component\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 54:\n yy.addComponent(\"component_db\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 55:\n yy.addComponent(\"component_queue\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 56:\n yy.addComponent(\"external_component\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 57:\n yy.addComponent(\"external_component_db\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 58:\n yy.addComponent(\"external_component_queue\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 60:\n yy.addRel(\"rel\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 61:\n yy.addRel(\"birel\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 62:\n yy.addRel(\"rel_u\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 63:\n yy.addRel(\"rel_d\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 64:\n yy.addRel(\"rel_l\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 65:\n yy.addRel(\"rel_r\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 66:\n yy.addRel(\"rel_b\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 67:\n $$[$0].splice(0, 1);\n yy.addRel(\"rel\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 68:\n yy.updateElStyle(\"update_el_style\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 69:\n yy.updateRelStyle(\"update_rel_style\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 70:\n yy.updateLayoutConfig(\"update_layout_config\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 71:\n this.$ = [$$[$0]];\n break;\n case 72:\n $$[$0].unshift($$[$0 - 1]);\n this.$ = $$[$0];\n break;\n case 73:\n case 75:\n this.$ = $$[$0].trim();\n break;\n case 74:\n let kv = {};\n kv[$$[$0 - 1].trim()] = $$[$0].trim();\n this.$ = kv;\n break;\n case 76:\n this.$ = \"\";\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: 2, 5: 3, 6: [1, 5], 7: [1, 6], 8: [1, 7], 9: [1, 8], 10: 4, 11: [1, 9], 15: [1, 10], 16: [1, 11], 17: [1, 12], 18: [1, 13] }, { 1: [3] }, { 1: [2, 1] }, { 1: [2, 2] }, { 1: [2, 7] }, { 1: [2, 3] }, { 1: [2, 4] }, { 1: [2, 5] }, { 1: [2, 6] }, { 12: [1, 14] }, { 12: [1, 15] }, { 12: [1, 16] }, { 12: [1, 17] }, { 12: [1, 18] }, { 13: 19, 19: 20, 20: 21, 21: 22, 22: $V0, 23: $V1, 24: $V2, 26: $V3, 28: $V4, 29: 49, 30: 61, 32: 62, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 43: 23, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }, { 13: 70, 19: 20, 20: 21, 21: 22, 22: $V0, 23: $V1, 24: $V2, 26: $V3, 28: $V4, 29: 49, 30: 61, 32: 62, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 43: 23, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }, { 13: 71, 19: 20, 20: 21, 21: 22, 22: $V0, 23: $V1, 24: $V2, 26: $V3, 28: $V4, 29: 49, 30: 61, 32: 62, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 43: 23, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }, { 13: 72, 19: 20, 20: 21, 21: 22, 22: $V0, 23: $V1, 24: $V2, 26: $V3, 28: $V4, 29: 49, 30: 61, 32: 62, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 43: 23, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }, { 13: 73, 19: 20, 20: 21, 21: 22, 22: $V0, 23: $V1, 24: $V2, 26: $V3, 28: $V4, 29: 49, 30: 61, 32: 62, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 43: 23, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }, { 14: [1, 74] }, o($VH, [2, 13], { 43: 23, 29: 49, 30: 61, 32: 62, 20: 75, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }), o($VH, [2, 14]), o($VI, [2, 16], { 12: [1, 76] }), o($VH, [2, 36], { 12: [1, 77] }), o($VJ, [2, 19]), o($VJ, [2, 20]), { 25: [1, 78] }, { 27: [1, 79] }, o($VJ, [2, 23]), { 35: 80, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 86, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 87, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 88, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 89, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 90, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 91, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 92, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 93, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 94, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 95, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 96, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 97, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 98, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 99, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 100, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 101, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 102, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 103, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 104, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, o($VO, [2, 59]), { 35: 105, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 106, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 107, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 108, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 109, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 110, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 111, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 112, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 113, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 114, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 115, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 20: 116, 29: 49, 30: 61, 32: 62, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 43: 23, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }, { 12: [1, 118], 33: [1, 117] }, { 35: 119, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 120, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 121, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 122, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 123, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 124, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 125, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 14: [1, 126] }, { 14: [1, 127] }, { 14: [1, 128] }, { 14: [1, 129] }, { 1: [2, 8] }, o($VH, [2, 15]), o($VI, [2, 17], { 21: 22, 19: 130, 22: $V0, 23: $V1, 24: $V2, 26: $V3, 28: $V4 }), o($VH, [2, 37], { 19: 20, 20: 21, 21: 22, 43: 23, 29: 49, 30: 61, 32: 62, 13: 131, 22: $V0, 23: $V1, 24: $V2, 26: $V3, 28: $V4, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }), o($VJ, [2, 21]), o($VJ, [2, 22]), o($VO, [2, 39]), o($VP, [2, 71], { 75: 81, 35: 132, 76: $VK, 77: $VL, 79: $VM, 80: $VN }), o($VQ, [2, 73]), { 78: [1, 133] }, o($VQ, [2, 75]), o($VQ, [2, 76]), o($VO, [2, 40]), o($VO, [2, 41]), o($VO, [2, 42]), o($VO, [2, 43]), o($VO, [2, 44]), o($VO, [2, 45]), o($VO, [2, 46]), o($VO, [2, 47]), o($VO, [2, 48]), o($VO, [2, 49]), o($VO, [2, 50]), o($VO, [2, 51]), o($VO, [2, 52]), o($VO, [2, 53]), o($VO, [2, 54]), o($VO, [2, 55]), o($VO, [2, 56]), o($VO, [2, 57]), o($VO, [2, 58]), o($VO, [2, 60]), o($VO, [2, 61]), o($VO, [2, 62]), o($VO, [2, 63]), o($VO, [2, 64]), o($VO, [2, 65]), o($VO, [2, 66]), o($VO, [2, 67]), o($VO, [2, 68]), o($VO, [2, 69]), o($VO, [2, 70]), { 31: 134, 42: [1, 135] }, { 12: [1, 136] }, { 33: [1, 137] }, o($VR, [2, 28]), o($VR, [2, 29]), o($VR, [2, 30]), o($VR, [2, 31]), o($VR, [2, 32]), o($VR, [2, 33]), o($VR, [2, 34]), { 1: [2, 9] }, { 1: [2, 10] }, { 1: [2, 11] }, { 1: [2, 12] }, o($VI, [2, 18]), o($VH, [2, 38]), o($VP, [2, 72]), o($VQ, [2, 74]), o($VO, [2, 24]), o($VO, [2, 35]), o($VS, [2, 25]), o($VS, [2, 26], { 12: [1, 138] }), o($VS, [2, 27])],\n defaultActions: { 2: [2, 1], 3: [2, 2], 4: [2, 7], 5: [2, 3], 6: [2, 4], 7: [2, 5], 8: [2, 6], 74: [2, 8], 126: [2, 9], 127: [2, 10], 128: [2, 11], 129: [2, 12] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ (function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n 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\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n 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(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c2 = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c2 + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: {},\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n return 6;\n break;\n case 1:\n return 7;\n break;\n case 2:\n return 8;\n break;\n case 3:\n return 9;\n break;\n case 4:\n return 22;\n break;\n case 5:\n return 23;\n break;\n case 6:\n this.begin(\"acc_title\");\n return 24;\n break;\n case 7:\n this.popState();\n return \"acc_title_value\";\n break;\n case 8:\n this.begin(\"acc_descr\");\n return 26;\n break;\n case 9:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 10:\n this.begin(\"acc_descr_multiline\");\n break;\n case 11:\n this.popState();\n break;\n case 12:\n return \"acc_descr_multiline_value\";\n break;\n case 13:\n break;\n case 14:\n c;\n break;\n case 15:\n return 12;\n break;\n case 16:\n break;\n case 17:\n return 11;\n break;\n case 18:\n return 15;\n break;\n case 19:\n return 16;\n break;\n case 20:\n return 17;\n break;\n case 21:\n return 18;\n break;\n case 22:\n this.begin(\"person_ext\");\n return 45;\n break;\n case 23:\n this.begin(\"person\");\n return 44;\n break;\n case 24:\n this.begin(\"system_ext_queue\");\n return 51;\n break;\n case 25:\n this.begin(\"system_ext_db\");\n return 50;\n break;\n case 26:\n this.begin(\"system_ext\");\n return 49;\n break;\n case 27:\n this.begin(\"system_queue\");\n return 48;\n break;\n case 28:\n this.begin(\"system_db\");\n return 47;\n break;\n case 29:\n this.begin(\"system\");\n return 46;\n break;\n case 30:\n this.begin(\"boundary\");\n return 37;\n break;\n case 31:\n this.begin(\"enterprise_boundary\");\n return 34;\n break;\n case 32:\n this.begin(\"system_boundary\");\n return 36;\n break;\n case 33:\n this.begin(\"container_ext_queue\");\n return 57;\n break;\n case 34:\n this.begin(\"container_ext_db\");\n return 56;\n break;\n case 35:\n this.begin(\"container_ext\");\n return 55;\n break;\n case 36:\n this.begin(\"container_queue\");\n return 54;\n break;\n case 37:\n this.begin(\"container_db\");\n return 53;\n break;\n case 38:\n this.begin(\"container\");\n return 52;\n break;\n case 39:\n this.begin(\"container_boundary\");\n return 38;\n break;\n case 40:\n this.begin(\"component_ext_queue\");\n return 63;\n break;\n case 41:\n this.begin(\"component_ext_db\");\n return 62;\n break;\n case 42:\n this.begin(\"component_ext\");\n return 61;\n break;\n case 43:\n this.begin(\"component_queue\");\n return 60;\n break;\n case 44:\n this.begin(\"component_db\");\n return 59;\n break;\n case 45:\n this.begin(\"component\");\n return 58;\n break;\n case 46:\n this.begin(\"node\");\n return 39;\n break;\n case 47:\n this.begin(\"node\");\n return 39;\n break;\n case 48:\n this.begin(\"node_l\");\n return 40;\n break;\n case 49:\n this.begin(\"node_r\");\n return 41;\n break;\n case 50:\n this.begin(\"rel\");\n return 64;\n break;\n case 51:\n this.begin(\"birel\");\n return 65;\n break;\n case 52:\n this.begin(\"rel_u\");\n return 66;\n break;\n case 53:\n this.begin(\"rel_u\");\n return 66;\n break;\n case 54:\n this.begin(\"rel_d\");\n return 67;\n break;\n case 55:\n this.begin(\"rel_d\");\n return 67;\n break;\n case 56:\n this.begin(\"rel_l\");\n return 68;\n break;\n case 57:\n this.begin(\"rel_l\");\n return 68;\n break;\n case 58:\n this.begin(\"rel_r\");\n return 69;\n break;\n case 59:\n this.begin(\"rel_r\");\n return 69;\n break;\n case 60:\n this.begin(\"rel_b\");\n return 70;\n break;\n case 61:\n this.begin(\"rel_index\");\n return 71;\n break;\n case 62:\n this.begin(\"update_el_style\");\n return 72;\n break;\n case 63:\n this.begin(\"update_rel_style\");\n return 73;\n break;\n case 64:\n this.begin(\"update_layout_config\");\n return 74;\n break;\n case 65:\n return \"EOF_IN_STRUCT\";\n break;\n case 66:\n this.begin(\"attribute\");\n return \"ATTRIBUTE_EMPTY\";\n break;\n case 67:\n this.begin(\"attribute\");\n break;\n case 68:\n this.popState();\n this.popState();\n break;\n case 69:\n return 80;\n break;\n case 70:\n break;\n case 71:\n return 80;\n break;\n case 72:\n this.begin(\"string\");\n break;\n case 73:\n this.popState();\n break;\n case 74:\n return \"STR\";\n break;\n case 75:\n this.begin(\"string_kv\");\n break;\n case 76:\n this.begin(\"string_kv_key\");\n return \"STR_KEY\";\n break;\n case 77:\n this.popState();\n this.begin(\"string_kv_value\");\n break;\n case 78:\n return \"STR_VALUE\";\n break;\n case 79:\n this.popState();\n this.popState();\n break;\n case 80:\n return \"STR\";\n break;\n case 81:\n return \"LBRACE\";\n break;\n case 82:\n return \"RBRACE\";\n break;\n case 83:\n return \"SPACE\";\n break;\n case 84:\n return \"EOL\";\n break;\n case 85:\n return 14;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:.*direction\\s+TB[^\\n]*)/, /^(?:.*direction\\s+BT[^\\n]*)/, /^(?:.*direction\\s+RL[^\\n]*)/, /^(?:.*direction\\s+LR[^\\n]*)/, /^(?:title\\s[^#\\n;]+)/, /^(?:accDescription\\s[^#\\n;]+)/, /^(?:accTitle\\s*:\\s*)/, /^(?:(?!\\n||)*[^\\n]*)/, /^(?:accDescr\\s*:\\s*)/, /^(?:(?!\\n||)*[^\\n]*)/, /^(?:accDescr\\s*\\{\\s*)/, /^(?:[\\}])/, /^(?:[^\\}]*)/, /^(?:%%(?!\\{)*[^\\n]*(\\r?\\n?)+)/, /^(?:%%[^\\n]*(\\r?\\n)*)/, /^(?:\\s*(\\r?\\n)+)/, /^(?:\\s+)/, /^(?:C4Context\\b)/, /^(?:C4Container\\b)/, /^(?:C4Component\\b)/, /^(?:C4Dynamic\\b)/, /^(?:C4Deployment\\b)/, /^(?:Person_Ext\\b)/, /^(?:Person\\b)/, /^(?:SystemQueue_Ext\\b)/, /^(?:SystemDb_Ext\\b)/, /^(?:System_Ext\\b)/, /^(?:SystemQueue\\b)/, /^(?:SystemDb\\b)/, /^(?:System\\b)/, /^(?:Boundary\\b)/, /^(?:Enterprise_Boundary\\b)/, /^(?:System_Boundary\\b)/, /^(?:ContainerQueue_Ext\\b)/, /^(?:ContainerDb_Ext\\b)/, /^(?:Container_Ext\\b)/, /^(?:ContainerQueue\\b)/, /^(?:ContainerDb\\b)/, /^(?:Container\\b)/, /^(?:Container_Boundary\\b)/, /^(?:ComponentQueue_Ext\\b)/, /^(?:ComponentDb_Ext\\b)/, /^(?:Component_Ext\\b)/, /^(?:ComponentQueue\\b)/, /^(?:ComponentDb\\b)/, /^(?:Component\\b)/, /^(?:Deployment_Node\\b)/, /^(?:Node\\b)/, /^(?:Node_L\\b)/, /^(?:Node_R\\b)/, /^(?:Rel\\b)/, /^(?:BiRel\\b)/, /^(?:Rel_Up\\b)/, /^(?:Rel_U\\b)/, /^(?:Rel_Down\\b)/, /^(?:Rel_D\\b)/, /^(?:Rel_Left\\b)/, /^(?:Rel_L\\b)/, /^(?:Rel_Right\\b)/, /^(?:Rel_R\\b)/, /^(?:Rel_Back\\b)/, /^(?:RelIndex\\b)/, /^(?:UpdateElementStyle\\b)/, /^(?:UpdateRelStyle\\b)/, /^(?:UpdateLayoutConfig\\b)/, /^(?:$)/, /^(?:[(][ ]*[,])/, /^(?:[(])/, /^(?:[)])/, /^(?:,,)/, /^(?:,)/, /^(?:[ ]*[\"][\"])/, /^(?:[ ]*[\"])/, /^(?:[\"])/, /^(?:[^\"]*)/, /^(?:[ ]*[\\$])/, /^(?:[^=]*)/, /^(?:[=][ ]*[\"])/, /^(?:[^\"]+)/, /^(?:[\"])/, /^(?:[^,]+)/, /^(?:\\{)/, /^(?:\\})/, /^(?:[\\s]+)/, /^(?:[\\n\\r]+)/, /^(?:$)/],\n conditions: { \"acc_descr_multiline\": { \"rules\": [11, 12], \"inclusive\": false }, \"acc_descr\": { \"rules\": [9], \"inclusive\": false }, \"acc_title\": { \"rules\": [7], \"inclusive\": false }, \"string_kv_value\": { \"rules\": [78, 79], \"inclusive\": false }, \"string_kv_key\": { \"rules\": [77], \"inclusive\": false }, \"string_kv\": { \"rules\": [76], \"inclusive\": false }, \"string\": { \"rules\": [73, 74], \"inclusive\": false }, \"attribute\": { \"rules\": [68, 69, 70, 71, 72, 75, 80], \"inclusive\": false }, \"update_layout_config\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"update_rel_style\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"update_el_style\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"rel_b\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"rel_r\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"rel_l\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"rel_d\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"rel_u\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"rel_bi\": { \"rules\": [], \"inclusive\": false }, \"rel\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"node_r\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"node_l\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"node\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"index\": { \"rules\": [], \"inclusive\": false }, \"rel_index\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"component_ext_queue\": { \"rules\": [], \"inclusive\": false }, \"component_ext_db\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"component_ext\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"component_queue\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"component_db\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"component\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"container_boundary\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"container_ext_queue\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"container_ext_db\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"container_ext\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"container_queue\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"container_db\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"container\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"birel\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"system_boundary\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"enterprise_boundary\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"boundary\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"system_ext_queue\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"system_ext_db\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"system_ext\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"system_queue\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"system_db\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"system\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"person_ext\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"person\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 81, 82, 83, 84, 85], \"inclusive\": true } }\n };\n return lexer2;\n })();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n})();\nparser.parser = parser;\nvar c4Diagram_default = parser;\n\n// src/diagrams/c4/c4Db.js\nvar c4ShapeArray = [];\nvar boundaryParseStack = [\"\"];\nvar currentBoundaryParse = \"global\";\nvar parentBoundaryParse = \"\";\nvar boundaries = [\n {\n alias: \"global\",\n label: { text: \"global\" },\n type: { text: \"global\" },\n tags: null,\n link: null,\n parentBoundary: \"\"\n }\n];\nvar rels = [];\nvar title = \"\";\nvar wrapEnabled = false;\nvar c4ShapeInRow = 4;\nvar c4BoundaryInRow = 2;\nvar c4Type;\nvar getC4Type = /* @__PURE__ */ __name(function() {\n return c4Type;\n}, \"getC4Type\");\nvar setC4Type = /* @__PURE__ */ __name(function(c4TypeParam) {\n let sanitizedText = sanitizeText(c4TypeParam, getConfig());\n c4Type = sanitizedText;\n}, \"setC4Type\");\nvar addRel = /* @__PURE__ */ __name(function(type, from, to, label, techn, descr, sprite, tags, link) {\n if (type === void 0 || type === null || from === void 0 || from === null || to === void 0 || to === null || label === void 0 || label === null) {\n return;\n }\n let rel = {};\n const old = rels.find((rel2) => rel2.from === from && rel2.to === to);\n if (old) {\n rel = old;\n } else {\n rels.push(rel);\n }\n rel.type = type;\n rel.from = from;\n rel.to = to;\n rel.label = { text: label };\n if (techn === void 0 || techn === null) {\n rel.techn = { text: \"\" };\n } else {\n if (typeof techn === \"object\") {\n let [key, value] = Object.entries(techn)[0];\n rel[key] = { text: value };\n } else {\n rel.techn = { text: techn };\n }\n }\n if (descr === void 0 || descr === null) {\n rel.descr = { text: \"\" };\n } else {\n if (typeof descr === \"object\") {\n let [key, value] = Object.entries(descr)[0];\n rel[key] = { text: value };\n } else {\n rel.descr = { text: descr };\n }\n }\n if (typeof sprite === \"object\") {\n let [key, value] = Object.entries(sprite)[0];\n rel[key] = value;\n } else {\n rel.sprite = sprite;\n }\n if (typeof tags === \"object\") {\n let [key, value] = Object.entries(tags)[0];\n rel[key] = value;\n } else {\n rel.tags = tags;\n }\n if (typeof link === \"object\") {\n let [key, value] = Object.entries(link)[0];\n rel[key] = value;\n } else {\n rel.link = link;\n }\n rel.wrap = autoWrap();\n}, \"addRel\");\nvar addPersonOrSystem = /* @__PURE__ */ __name(function(typeC4Shape, alias, label, descr, sprite, tags, link) {\n if (alias === null || label === null) {\n return;\n }\n let personOrSystem = {};\n const old = c4ShapeArray.find((personOrSystem2) => personOrSystem2.alias === alias);\n if (old && alias === old.alias) {\n personOrSystem = old;\n } else {\n personOrSystem.alias = alias;\n c4ShapeArray.push(personOrSystem);\n }\n if (label === void 0 || label === null) {\n personOrSystem.label = { text: \"\" };\n } else {\n personOrSystem.label = { text: label };\n }\n if (descr === void 0 || descr === null) {\n personOrSystem.descr = { text: \"\" };\n } else {\n if (typeof descr === \"object\") {\n let [key, value] = Object.entries(descr)[0];\n personOrSystem[key] = { text: value };\n } else {\n personOrSystem.descr = { text: descr };\n }\n }\n if (typeof sprite === \"object\") {\n let [key, value] = Object.entries(sprite)[0];\n personOrSystem[key] = value;\n } else {\n personOrSystem.sprite = sprite;\n }\n if (typeof tags === \"object\") {\n let [key, value] = Object.entries(tags)[0];\n personOrSystem[key] = value;\n } else {\n personOrSystem.tags = tags;\n }\n if (typeof link === \"object\") {\n let [key, value] = Object.entries(link)[0];\n personOrSystem[key] = value;\n } else {\n personOrSystem.link = link;\n }\n personOrSystem.typeC4Shape = { text: typeC4Shape };\n personOrSystem.parentBoundary = currentBoundaryParse;\n personOrSystem.wrap = autoWrap();\n}, \"addPersonOrSystem\");\nvar addContainer = /* @__PURE__ */ __name(function(typeC4Shape, alias, label, techn, descr, sprite, tags, link) {\n if (alias === null || label === null) {\n return;\n }\n let container = {};\n const old = c4ShapeArray.find((container2) => container2.alias === alias);\n if (old && alias === old.alias) {\n container = old;\n } else {\n container.alias = alias;\n c4ShapeArray.push(container);\n }\n if (label === void 0 || label === null) {\n container.label = { text: \"\" };\n } else {\n container.label = { text: label };\n }\n if (techn === void 0 || techn === null) {\n container.techn = { text: \"\" };\n } else {\n if (typeof techn === \"object\") {\n let [key, value] = Object.entries(techn)[0];\n container[key] = { text: value };\n } else {\n container.techn = { text: techn };\n }\n }\n if (descr === void 0 || descr === null) {\n container.descr = { text: \"\" };\n } else {\n if (typeof descr === \"object\") {\n let [key, value] = Object.entries(descr)[0];\n container[key] = { text: value };\n } else {\n container.descr = { text: descr };\n }\n }\n if (typeof sprite === \"object\") {\n let [key, value] = Object.entries(sprite)[0];\n container[key] = value;\n } else {\n container.sprite = sprite;\n }\n if (typeof tags === \"object\") {\n let [key, value] = Object.entries(tags)[0];\n container[key] = value;\n } else {\n container.tags = tags;\n }\n if (typeof link === \"object\") {\n let [key, value] = Object.entries(link)[0];\n container[key] = value;\n } else {\n container.link = link;\n }\n container.wrap = autoWrap();\n container.typeC4Shape = { text: typeC4Shape };\n container.parentBoundary = currentBoundaryParse;\n}, \"addContainer\");\nvar addComponent = /* @__PURE__ */ __name(function(typeC4Shape, alias, label, techn, descr, sprite, tags, link) {\n if (alias === null || label === null) {\n return;\n }\n let component = {};\n const old = c4ShapeArray.find((component2) => component2.alias === alias);\n if (old && alias === old.alias) {\n component = old;\n } else {\n component.alias = alias;\n c4ShapeArray.push(component);\n }\n if (label === void 0 || label === null) {\n component.label = { text: \"\" };\n } else {\n component.label = { text: label };\n }\n if (techn === void 0 || techn === null) {\n component.techn = { text: \"\" };\n } else {\n if (typeof techn === \"object\") {\n let [key, value] = Object.entries(techn)[0];\n component[key] = { text: value };\n } else {\n component.techn = { text: techn };\n }\n }\n if (descr === void 0 || descr === null) {\n component.descr = { text: \"\" };\n } else {\n if (typeof descr === \"object\") {\n let [key, value] = Object.entries(descr)[0];\n component[key] = { text: value };\n } else {\n component.descr = { text: descr };\n }\n }\n if (typeof sprite === \"object\") {\n let [key, value] = Object.entries(sprite)[0];\n component[key] = value;\n } else {\n component.sprite = sprite;\n }\n if (typeof tags === \"object\") {\n let [key, value] = Object.entries(tags)[0];\n component[key] = value;\n } else {\n component.tags = tags;\n }\n if (typeof link === \"object\") {\n let [key, value] = Object.entries(link)[0];\n component[key] = value;\n } else {\n component.link = link;\n }\n component.wrap = autoWrap();\n component.typeC4Shape = { text: typeC4Shape };\n component.parentBoundary = currentBoundaryParse;\n}, \"addComponent\");\nvar addPersonOrSystemBoundary = /* @__PURE__ */ __name(function(alias, label, type, tags, link) {\n if (alias === null || label === null) {\n return;\n }\n let boundary = {};\n const old = boundaries.find((boundary2) => boundary2.alias === alias);\n if (old && alias === old.alias) {\n boundary = old;\n } else {\n boundary.alias = alias;\n boundaries.push(boundary);\n }\n if (label === void 0 || label === null) {\n boundary.label = { text: \"\" };\n } else {\n boundary.label = { text: label };\n }\n if (type === void 0 || type === null) {\n boundary.type = { text: \"system\" };\n } else {\n if (typeof type === \"object\") {\n let [key, value] = Object.entries(type)[0];\n boundary[key] = { text: value };\n } else {\n boundary.type = { text: type };\n }\n }\n if (typeof tags === \"object\") {\n let [key, value] = Object.entries(tags)[0];\n boundary[key] = value;\n } else {\n boundary.tags = tags;\n }\n if (typeof link === \"object\") {\n let [key, value] = Object.entries(link)[0];\n boundary[key] = value;\n } else {\n boundary.link = link;\n }\n boundary.parentBoundary = currentBoundaryParse;\n boundary.wrap = autoWrap();\n parentBoundaryParse = currentBoundaryParse;\n currentBoundaryParse = alias;\n boundaryParseStack.push(parentBoundaryParse);\n}, \"addPersonOrSystemBoundary\");\nvar addContainerBoundary = /* @__PURE__ */ __name(function(alias, label, type, tags, link) {\n if (alias === null || label === null) {\n return;\n }\n let boundary = {};\n const old = boundaries.find((boundary2) => boundary2.alias === alias);\n if (old && alias === old.alias) {\n boundary = old;\n } else {\n boundary.alias = alias;\n boundaries.push(boundary);\n }\n if (label === void 0 || label === null) {\n boundary.label = { text: \"\" };\n } else {\n boundary.label = { text: label };\n }\n if (type === void 0 || type === null) {\n boundary.type = { text: \"container\" };\n } else {\n if (typeof type === \"object\") {\n let [key, value] = Object.entries(type)[0];\n boundary[key] = { text: value };\n } else {\n boundary.type = { text: type };\n }\n }\n if (typeof tags === \"object\") {\n let [key, value] = Object.entries(tags)[0];\n boundary[key] = value;\n } else {\n boundary.tags = tags;\n }\n if (typeof link === \"object\") {\n let [key, value] = Object.entries(link)[0];\n boundary[key] = value;\n } else {\n boundary.link = link;\n }\n boundary.parentBoundary = currentBoundaryParse;\n boundary.wrap = autoWrap();\n parentBoundaryParse = currentBoundaryParse;\n currentBoundaryParse = alias;\n boundaryParseStack.push(parentBoundaryParse);\n}, \"addContainerBoundary\");\nvar addDeploymentNode = /* @__PURE__ */ __name(function(nodeType, alias, label, type, descr, sprite, tags, link) {\n if (alias === null || label === null) {\n return;\n }\n let boundary = {};\n const old = boundaries.find((boundary2) => boundary2.alias === alias);\n if (old && alias === old.alias) {\n boundary = old;\n } else {\n boundary.alias = alias;\n boundaries.push(boundary);\n }\n if (label === void 0 || label === null) {\n boundary.label = { text: \"\" };\n } else {\n boundary.label = { text: label };\n }\n if (type === void 0 || type === null) {\n boundary.type = { text: \"node\" };\n } else {\n if (typeof type === \"object\") {\n let [key, value] = Object.entries(type)[0];\n boundary[key] = { text: value };\n } else {\n boundary.type = { text: type };\n }\n }\n if (descr === void 0 || descr === null) {\n boundary.descr = { text: \"\" };\n } else {\n if (typeof descr === \"object\") {\n let [key, value] = Object.entries(descr)[0];\n boundary[key] = { text: value };\n } else {\n boundary.descr = { text: descr };\n }\n }\n if (typeof tags === \"object\") {\n let [key, value] = Object.entries(tags)[0];\n boundary[key] = value;\n } else {\n boundary.tags = tags;\n }\n if (typeof link === \"object\") {\n let [key, value] = Object.entries(link)[0];\n boundary[key] = value;\n } else {\n boundary.link = link;\n }\n boundary.nodeType = nodeType;\n boundary.parentBoundary = currentBoundaryParse;\n boundary.wrap = autoWrap();\n parentBoundaryParse = currentBoundaryParse;\n currentBoundaryParse = alias;\n boundaryParseStack.push(parentBoundaryParse);\n}, \"addDeploymentNode\");\nvar popBoundaryParseStack = /* @__PURE__ */ __name(function() {\n currentBoundaryParse = parentBoundaryParse;\n boundaryParseStack.pop();\n parentBoundaryParse = boundaryParseStack.pop();\n boundaryParseStack.push(parentBoundaryParse);\n}, \"popBoundaryParseStack\");\nvar updateElStyle = /* @__PURE__ */ __name(function(typeC4Shape, elementName, bgColor, fontColor, borderColor, shadowing, shape, sprite, techn, legendText, legendSprite) {\n let old = c4ShapeArray.find((element) => element.alias === elementName);\n if (old === void 0) {\n old = boundaries.find((element) => element.alias === elementName);\n if (old === void 0) {\n return;\n }\n }\n if (bgColor !== void 0 && bgColor !== null) {\n if (typeof bgColor === \"object\") {\n let [key, value] = Object.entries(bgColor)[0];\n old[key] = value;\n } else {\n old.bgColor = bgColor;\n }\n }\n if (fontColor !== void 0 && fontColor !== null) {\n if (typeof fontColor === \"object\") {\n let [key, value] = Object.entries(fontColor)[0];\n old[key] = value;\n } else {\n old.fontColor = fontColor;\n }\n }\n if (borderColor !== void 0 && borderColor !== null) {\n if (typeof borderColor === \"object\") {\n let [key, value] = Object.entries(borderColor)[0];\n old[key] = value;\n } else {\n old.borderColor = borderColor;\n }\n }\n if (shadowing !== void 0 && shadowing !== null) {\n if (typeof shadowing === \"object\") {\n let [key, value] = Object.entries(shadowing)[0];\n old[key] = value;\n } else {\n old.shadowing = shadowing;\n }\n }\n if (shape !== void 0 && shape !== null) {\n if (typeof shape === \"object\") {\n let [key, value] = Object.entries(shape)[0];\n old[key] = value;\n } else {\n old.shape = shape;\n }\n }\n if (sprite !== void 0 && sprite !== null) {\n if (typeof sprite === \"object\") {\n let [key, value] = Object.entries(sprite)[0];\n old[key] = value;\n } else {\n old.sprite = sprite;\n }\n }\n if (techn !== void 0 && techn !== null) {\n if (typeof techn === \"object\") {\n let [key, value] = Object.entries(techn)[0];\n old[key] = value;\n } else {\n old.techn = techn;\n }\n }\n if (legendText !== void 0 && legendText !== null) {\n if (typeof legendText === \"object\") {\n let [key, value] = Object.entries(legendText)[0];\n old[key] = value;\n } else {\n old.legendText = legendText;\n }\n }\n if (legendSprite !== void 0 && legendSprite !== null) {\n if (typeof legendSprite === \"object\") {\n let [key, value] = Object.entries(legendSprite)[0];\n old[key] = value;\n } else {\n old.legendSprite = legendSprite;\n }\n }\n}, \"updateElStyle\");\nvar updateRelStyle = /* @__PURE__ */ __name(function(typeC4Shape, from, to, textColor, lineColor, offsetX, offsetY) {\n const old = rels.find((rel) => rel.from === from && rel.to === to);\n if (old === void 0) {\n return;\n }\n if (textColor !== void 0 && textColor !== null) {\n if (typeof textColor === \"object\") {\n let [key, value] = Object.entries(textColor)[0];\n old[key] = value;\n } else {\n old.textColor = textColor;\n }\n }\n if (lineColor !== void 0 && lineColor !== null) {\n if (typeof lineColor === \"object\") {\n let [key, value] = Object.entries(lineColor)[0];\n old[key] = value;\n } else {\n old.lineColor = lineColor;\n }\n }\n if (offsetX !== void 0 && offsetX !== null) {\n if (typeof offsetX === \"object\") {\n let [key, value] = Object.entries(offsetX)[0];\n old[key] = parseInt(value);\n } else {\n old.offsetX = parseInt(offsetX);\n }\n }\n if (offsetY !== void 0 && offsetY !== null) {\n if (typeof offsetY === \"object\") {\n let [key, value] = Object.entries(offsetY)[0];\n old[key] = parseInt(value);\n } else {\n old.offsetY = parseInt(offsetY);\n }\n }\n}, \"updateRelStyle\");\nvar updateLayoutConfig = /* @__PURE__ */ __name(function(typeC4Shape, c4ShapeInRowParam, c4BoundaryInRowParam) {\n let c4ShapeInRowValue = c4ShapeInRow;\n let c4BoundaryInRowValue = c4BoundaryInRow;\n if (typeof c4ShapeInRowParam === \"object\") {\n const value = Object.values(c4ShapeInRowParam)[0];\n c4ShapeInRowValue = parseInt(value);\n } else {\n c4ShapeInRowValue = parseInt(c4ShapeInRowParam);\n }\n if (typeof c4BoundaryInRowParam === \"object\") {\n const value = Object.values(c4BoundaryInRowParam)[0];\n c4BoundaryInRowValue = parseInt(value);\n } else {\n c4BoundaryInRowValue = parseInt(c4BoundaryInRowParam);\n }\n if (c4ShapeInRowValue >= 1) {\n c4ShapeInRow = c4ShapeInRowValue;\n }\n if (c4BoundaryInRowValue >= 1) {\n c4BoundaryInRow = c4BoundaryInRowValue;\n }\n}, \"updateLayoutConfig\");\nvar getC4ShapeInRow = /* @__PURE__ */ __name(function() {\n return c4ShapeInRow;\n}, \"getC4ShapeInRow\");\nvar getC4BoundaryInRow = /* @__PURE__ */ __name(function() {\n return c4BoundaryInRow;\n}, \"getC4BoundaryInRow\");\nvar getCurrentBoundaryParse = /* @__PURE__ */ __name(function() {\n return currentBoundaryParse;\n}, \"getCurrentBoundaryParse\");\nvar getParentBoundaryParse = /* @__PURE__ */ __name(function() {\n return parentBoundaryParse;\n}, \"getParentBoundaryParse\");\nvar getC4ShapeArray = /* @__PURE__ */ __name(function(parentBoundary) {\n if (parentBoundary === void 0 || parentBoundary === null) {\n return c4ShapeArray;\n } else {\n return c4ShapeArray.filter((personOrSystem) => {\n return personOrSystem.parentBoundary === parentBoundary;\n });\n }\n}, \"getC4ShapeArray\");\nvar getC4Shape = /* @__PURE__ */ __name(function(alias) {\n return c4ShapeArray.find((personOrSystem) => personOrSystem.alias === alias);\n}, \"getC4Shape\");\nvar getC4ShapeKeys = /* @__PURE__ */ __name(function(parentBoundary) {\n return Object.keys(getC4ShapeArray(parentBoundary));\n}, \"getC4ShapeKeys\");\nvar getBoundaries = /* @__PURE__ */ __name(function(parentBoundary) {\n if (parentBoundary === void 0 || parentBoundary === null) {\n return boundaries;\n } else {\n return boundaries.filter((boundary) => boundary.parentBoundary === parentBoundary);\n }\n}, \"getBoundaries\");\nvar getBoundarys = getBoundaries;\nvar getRels = /* @__PURE__ */ __name(function() {\n return rels;\n}, \"getRels\");\nvar getTitle = /* @__PURE__ */ __name(function() {\n return title;\n}, \"getTitle\");\nvar setWrap = /* @__PURE__ */ __name(function(wrapSetting) {\n wrapEnabled = wrapSetting;\n}, \"setWrap\");\nvar autoWrap = /* @__PURE__ */ __name(function() {\n return wrapEnabled;\n}, \"autoWrap\");\nvar clear = /* @__PURE__ */ __name(function() {\n c4ShapeArray = [];\n boundaries = [\n {\n alias: \"global\",\n label: { text: \"global\" },\n type: { text: \"global\" },\n tags: null,\n link: null,\n parentBoundary: \"\"\n }\n ];\n parentBoundaryParse = \"\";\n currentBoundaryParse = \"global\";\n boundaryParseStack = [\"\"];\n rels = [];\n boundaryParseStack = [\"\"];\n title = \"\";\n wrapEnabled = false;\n c4ShapeInRow = 4;\n c4BoundaryInRow = 2;\n}, \"clear\");\nvar LINETYPE = {\n SOLID: 0,\n DOTTED: 1,\n NOTE: 2,\n SOLID_CROSS: 3,\n DOTTED_CROSS: 4,\n SOLID_OPEN: 5,\n DOTTED_OPEN: 6,\n LOOP_START: 10,\n LOOP_END: 11,\n ALT_START: 12,\n ALT_ELSE: 13,\n ALT_END: 14,\n OPT_START: 15,\n OPT_END: 16,\n ACTIVE_START: 17,\n ACTIVE_END: 18,\n PAR_START: 19,\n PAR_AND: 20,\n PAR_END: 21,\n RECT_START: 22,\n RECT_END: 23,\n SOLID_POINT: 24,\n DOTTED_POINT: 25\n};\nvar ARROWTYPE = {\n FILLED: 0,\n OPEN: 1\n};\nvar PLACEMENT = {\n LEFTOF: 0,\n RIGHTOF: 1,\n OVER: 2\n};\nvar setTitle = /* @__PURE__ */ __name(function(txt) {\n let sanitizedText = sanitizeText(txt, getConfig());\n title = sanitizedText;\n}, \"setTitle\");\nvar c4Db_default = {\n addPersonOrSystem,\n addPersonOrSystemBoundary,\n addContainer,\n addContainerBoundary,\n addComponent,\n addDeploymentNode,\n popBoundaryParseStack,\n addRel,\n updateElStyle,\n updateRelStyle,\n updateLayoutConfig,\n autoWrap,\n setWrap,\n getC4ShapeArray,\n getC4Shape,\n getC4ShapeKeys,\n getBoundaries,\n getBoundarys,\n getCurrentBoundaryParse,\n getParentBoundaryParse,\n getRels,\n getTitle,\n getC4Type,\n getC4ShapeInRow,\n getC4BoundaryInRow,\n setAccTitle,\n getAccTitle,\n getAccDescription,\n setAccDescription,\n getConfig: /* @__PURE__ */ __name(() => getConfig().c4, \"getConfig\"),\n clear,\n LINETYPE,\n ARROWTYPE,\n PLACEMENT,\n setTitle,\n setC4Type\n // apply,\n};\n\n// src/diagrams/c4/c4Renderer.js\nimport { select } from \"d3\";\n\n// src/diagrams/c4/svgDraw.js\nimport { sanitizeUrl } from \"@braintree/sanitize-url\";\nvar drawRect2 = /* @__PURE__ */ __name(function(elem, rectData) {\n return drawRect(elem, rectData);\n}, \"drawRect\");\nvar drawImage = /* @__PURE__ */ __name(function(elem, width, height, x, y, link) {\n const imageElem = elem.append(\"image\");\n imageElem.attr(\"width\", width);\n imageElem.attr(\"height\", height);\n imageElem.attr(\"x\", x);\n imageElem.attr(\"y\", y);\n let sanitizedLink = link.startsWith(\"data:image/png;base64\") ? link : sanitizeUrl(link);\n imageElem.attr(\"xlink:href\", sanitizedLink);\n}, \"drawImage\");\nvar drawRels = /* @__PURE__ */ __name((elem, rels2, conf2) => {\n const relsElem = elem.append(\"g\");\n let i = 0;\n for (let rel of rels2) {\n let textColor = rel.textColor ? rel.textColor : \"#444444\";\n let strokeColor = rel.lineColor ? rel.lineColor : \"#444444\";\n let offsetX = rel.offsetX ? parseInt(rel.offsetX) : 0;\n let offsetY = rel.offsetY ? parseInt(rel.offsetY) : 0;\n let url = \"\";\n if (i === 0) {\n let line = relsElem.append(\"line\");\n line.attr(\"x1\", rel.startPoint.x);\n line.attr(\"y1\", rel.startPoint.y);\n line.attr(\"x2\", rel.endPoint.x);\n line.attr(\"y2\", rel.endPoint.y);\n line.attr(\"stroke-width\", \"1\");\n line.attr(\"stroke\", strokeColor);\n line.style(\"fill\", \"none\");\n if (rel.type !== \"rel_b\") {\n line.attr(\"marker-end\", \"url(\" + url + \"#arrowhead)\");\n }\n if (rel.type === \"birel\" || rel.type === \"rel_b\") {\n line.attr(\"marker-start\", \"url(\" + url + \"#arrowend)\");\n }\n i = -1;\n } else {\n let line = relsElem.append(\"path\");\n line.attr(\"fill\", \"none\").attr(\"stroke-width\", \"1\").attr(\"stroke\", strokeColor).attr(\n \"d\",\n \"Mstartx,starty Qcontrolx,controly stopx,stopy \".replaceAll(\"startx\", rel.startPoint.x).replaceAll(\"starty\", rel.startPoint.y).replaceAll(\n \"controlx\",\n rel.startPoint.x + (rel.endPoint.x - rel.startPoint.x) / 2 - (rel.endPoint.x - rel.startPoint.x) / 4\n ).replaceAll(\"controly\", rel.startPoint.y + (rel.endPoint.y - rel.startPoint.y) / 2).replaceAll(\"stopx\", rel.endPoint.x).replaceAll(\"stopy\", rel.endPoint.y)\n );\n if (rel.type !== \"rel_b\") {\n line.attr(\"marker-end\", \"url(\" + url + \"#arrowhead)\");\n }\n if (rel.type === \"birel\" || rel.type === \"rel_b\") {\n line.attr(\"marker-start\", \"url(\" + url + \"#arrowend)\");\n }\n }\n let messageConf = conf2.messageFont();\n _drawTextCandidateFunc(conf2)(\n rel.label.text,\n relsElem,\n Math.min(rel.startPoint.x, rel.endPoint.x) + Math.abs(rel.endPoint.x - rel.startPoint.x) / 2 + offsetX,\n Math.min(rel.startPoint.y, rel.endPoint.y) + Math.abs(rel.endPoint.y - rel.startPoint.y) / 2 + offsetY,\n rel.label.width,\n rel.label.height,\n { fill: textColor },\n messageConf\n );\n if (rel.techn && rel.techn.text !== \"\") {\n messageConf = conf2.messageFont();\n _drawTextCandidateFunc(conf2)(\n \"[\" + rel.techn.text + \"]\",\n relsElem,\n Math.min(rel.startPoint.x, rel.endPoint.x) + Math.abs(rel.endPoint.x - rel.startPoint.x) / 2 + offsetX,\n Math.min(rel.startPoint.y, rel.endPoint.y) + Math.abs(rel.endPoint.y - rel.startPoint.y) / 2 + conf2.messageFontSize + 5 + offsetY,\n Math.max(rel.label.width, rel.techn.width),\n rel.techn.height,\n { fill: textColor, \"font-style\": \"italic\" },\n messageConf\n );\n }\n }\n}, \"drawRels\");\nvar drawBoundary = /* @__PURE__ */ __name(function(elem, boundary, conf2) {\n const boundaryElem = elem.append(\"g\");\n let fillColor = boundary.bgColor ? boundary.bgColor : \"none\";\n let strokeColor = boundary.borderColor ? boundary.borderColor : \"#444444\";\n let fontColor = boundary.fontColor ? boundary.fontColor : \"black\";\n let attrsValue = { \"stroke-width\": 1, \"stroke-dasharray\": \"7.0,7.0\" };\n if (boundary.nodeType) {\n attrsValue = { \"stroke-width\": 1 };\n }\n let rectData = {\n x: boundary.x,\n y: boundary.y,\n fill: fillColor,\n stroke: strokeColor,\n width: boundary.width,\n height: boundary.height,\n rx: 2.5,\n ry: 2.5,\n attrs: attrsValue\n };\n drawRect2(boundaryElem, rectData);\n let boundaryConf = conf2.boundaryFont();\n boundaryConf.fontWeight = \"bold\";\n boundaryConf.fontSize = boundaryConf.fontSize + 2;\n boundaryConf.fontColor = fontColor;\n _drawTextCandidateFunc(conf2)(\n boundary.label.text,\n boundaryElem,\n boundary.x,\n boundary.y + boundary.label.Y,\n boundary.width,\n boundary.height,\n { fill: \"#444444\" },\n boundaryConf\n );\n if (boundary.type && boundary.type.text !== \"\") {\n boundaryConf = conf2.boundaryFont();\n boundaryConf.fontColor = fontColor;\n _drawTextCandidateFunc(conf2)(\n boundary.type.text,\n boundaryElem,\n boundary.x,\n boundary.y + boundary.type.Y,\n boundary.width,\n boundary.height,\n { fill: \"#444444\" },\n boundaryConf\n );\n }\n if (boundary.descr && boundary.descr.text !== \"\") {\n boundaryConf = conf2.boundaryFont();\n boundaryConf.fontSize = boundaryConf.fontSize - 2;\n boundaryConf.fontColor = fontColor;\n _drawTextCandidateFunc(conf2)(\n boundary.descr.text,\n boundaryElem,\n boundary.x,\n boundary.y + boundary.descr.Y,\n boundary.width,\n boundary.height,\n { fill: \"#444444\" },\n boundaryConf\n );\n }\n}, \"drawBoundary\");\nvar drawC4Shape = /* @__PURE__ */ __name(function(elem, c4Shape, conf2) {\n let fillColor = c4Shape.bgColor ? c4Shape.bgColor : conf2[c4Shape.typeC4Shape.text + \"_bg_color\"];\n let strokeColor = c4Shape.borderColor ? c4Shape.borderColor : conf2[c4Shape.typeC4Shape.text + \"_border_color\"];\n let fontColor = c4Shape.fontColor ? c4Shape.fontColor : \"#FFFFFF\";\n let personImg = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=\";\n switch (c4Shape.typeC4Shape.text) {\n case \"person\":\n personImg = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=\";\n break;\n case \"external_person\":\n personImg = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=\";\n break;\n }\n const c4ShapeElem = elem.append(\"g\");\n c4ShapeElem.attr(\"class\", \"person-man\");\n const rect = getNoteRect();\n switch (c4Shape.typeC4Shape.text) {\n case \"person\":\n case \"external_person\":\n case \"system\":\n case \"external_system\":\n case \"container\":\n case \"external_container\":\n case \"component\":\n case \"external_component\":\n rect.x = c4Shape.x;\n rect.y = c4Shape.y;\n rect.fill = fillColor;\n rect.width = c4Shape.width;\n rect.height = c4Shape.height;\n rect.stroke = strokeColor;\n rect.rx = 2.5;\n rect.ry = 2.5;\n rect.attrs = { \"stroke-width\": 0.5 };\n drawRect2(c4ShapeElem, rect);\n break;\n case \"system_db\":\n case \"external_system_db\":\n case \"container_db\":\n case \"external_container_db\":\n case \"component_db\":\n case \"external_component_db\":\n c4ShapeElem.append(\"path\").attr(\"fill\", fillColor).attr(\"stroke-width\", \"0.5\").attr(\"stroke\", strokeColor).attr(\n \"d\",\n \"Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height\".replaceAll(\"startx\", c4Shape.x).replaceAll(\"starty\", c4Shape.y).replaceAll(\"half\", c4Shape.width / 2).replaceAll(\"height\", c4Shape.height)\n );\n c4ShapeElem.append(\"path\").attr(\"fill\", \"none\").attr(\"stroke-width\", \"0.5\").attr(\"stroke\", strokeColor).attr(\n \"d\",\n \"Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10\".replaceAll(\"startx\", c4Shape.x).replaceAll(\"starty\", c4Shape.y).replaceAll(\"half\", c4Shape.width / 2)\n );\n break;\n case \"system_queue\":\n case \"external_system_queue\":\n case \"container_queue\":\n case \"external_container_queue\":\n case \"component_queue\":\n case \"external_component_queue\":\n c4ShapeElem.append(\"path\").attr(\"fill\", fillColor).attr(\"stroke-width\", \"0.5\").attr(\"stroke\", strokeColor).attr(\n \"d\",\n \"Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half\".replaceAll(\"startx\", c4Shape.x).replaceAll(\"starty\", c4Shape.y).replaceAll(\"width\", c4Shape.width).replaceAll(\"half\", c4Shape.height / 2)\n );\n c4ShapeElem.append(\"path\").attr(\"fill\", \"none\").attr(\"stroke-width\", \"0.5\").attr(\"stroke\", strokeColor).attr(\n \"d\",\n \"Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half\".replaceAll(\"startx\", c4Shape.x + c4Shape.width).replaceAll(\"starty\", c4Shape.y).replaceAll(\"half\", c4Shape.height / 2)\n );\n break;\n }\n let c4ShapeFontConf = getC4ShapeFont(conf2, c4Shape.typeC4Shape.text);\n c4ShapeElem.append(\"text\").attr(\"fill\", fontColor).attr(\"font-family\", c4ShapeFontConf.fontFamily).attr(\"font-size\", c4ShapeFontConf.fontSize - 2).attr(\"font-style\", \"italic\").attr(\"lengthAdjust\", \"spacing\").attr(\"textLength\", c4Shape.typeC4Shape.width).attr(\"x\", c4Shape.x + c4Shape.width / 2 - c4Shape.typeC4Shape.width / 2).attr(\"y\", c4Shape.y + c4Shape.typeC4Shape.Y).text(\"<<\" + c4Shape.typeC4Shape.text + \">>\");\n switch (c4Shape.typeC4Shape.text) {\n case \"person\":\n case \"external_person\":\n drawImage(\n c4ShapeElem,\n 48,\n 48,\n c4Shape.x + c4Shape.width / 2 - 24,\n c4Shape.y + c4Shape.image.Y,\n personImg\n );\n break;\n }\n let textFontConf = conf2[c4Shape.typeC4Shape.text + \"Font\"]();\n textFontConf.fontWeight = \"bold\";\n textFontConf.fontSize = textFontConf.fontSize + 2;\n textFontConf.fontColor = fontColor;\n _drawTextCandidateFunc(conf2)(\n c4Shape.label.text,\n c4ShapeElem,\n c4Shape.x,\n c4Shape.y + c4Shape.label.Y,\n c4Shape.width,\n c4Shape.height,\n { fill: fontColor },\n textFontConf\n );\n textFontConf = conf2[c4Shape.typeC4Shape.text + \"Font\"]();\n textFontConf.fontColor = fontColor;\n if (c4Shape.techn && c4Shape.techn?.text !== \"\") {\n _drawTextCandidateFunc(conf2)(\n c4Shape.techn.text,\n c4ShapeElem,\n c4Shape.x,\n c4Shape.y + c4Shape.techn.Y,\n c4Shape.width,\n c4Shape.height,\n { fill: fontColor, \"font-style\": \"italic\" },\n textFontConf\n );\n } else if (c4Shape.type && c4Shape.type.text !== \"\") {\n _drawTextCandidateFunc(conf2)(\n c4Shape.type.text,\n c4ShapeElem,\n c4Shape.x,\n c4Shape.y + c4Shape.type.Y,\n c4Shape.width,\n c4Shape.height,\n { fill: fontColor, \"font-style\": \"italic\" },\n textFontConf\n );\n }\n if (c4Shape.descr && c4Shape.descr.text !== \"\") {\n textFontConf = conf2.personFont();\n textFontConf.fontColor = fontColor;\n _drawTextCandidateFunc(conf2)(\n c4Shape.descr.text,\n c4ShapeElem,\n c4Shape.x,\n c4Shape.y + c4Shape.descr.Y,\n c4Shape.width,\n c4Shape.height,\n { fill: fontColor },\n textFontConf\n );\n }\n return c4Shape.height;\n}, \"drawC4Shape\");\nvar insertDatabaseIcon = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"symbol\").attr(\"id\", \"database\").attr(\"fill-rule\", \"evenodd\").attr(\"clip-rule\", \"evenodd\").append(\"path\").attr(\"transform\", \"scale(.5)\").attr(\n \"d\",\n \"M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z\"\n );\n}, \"insertDatabaseIcon\");\nvar insertComputerIcon = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"symbol\").attr(\"id\", \"computer\").attr(\"width\", \"24\").attr(\"height\", \"24\").append(\"path\").attr(\"transform\", \"scale(.5)\").attr(\n \"d\",\n \"M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z\"\n );\n}, \"insertComputerIcon\");\nvar insertClockIcon = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"symbol\").attr(\"id\", \"clock\").attr(\"width\", \"24\").attr(\"height\", \"24\").append(\"path\").attr(\"transform\", \"scale(.5)\").attr(\n \"d\",\n \"M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z\"\n );\n}, \"insertClockIcon\");\nvar insertArrowHead = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"arrowhead\").attr(\"refX\", 9).attr(\"refY\", 5).attr(\"markerUnits\", \"userSpaceOnUse\").attr(\"markerWidth\", 12).attr(\"markerHeight\", 12).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 0 0 L 10 5 L 0 10 z\");\n}, \"insertArrowHead\");\nvar insertArrowEnd = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"arrowend\").attr(\"refX\", 1).attr(\"refY\", 5).attr(\"markerUnits\", \"userSpaceOnUse\").attr(\"markerWidth\", 12).attr(\"markerHeight\", 12).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 10 0 L 0 5 L 10 10 z\");\n}, \"insertArrowEnd\");\nvar insertArrowFilledHead = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"filled-head\").attr(\"refX\", 18).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 28).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 18,7 L9,13 L14,7 L9,1 Z\");\n}, \"insertArrowFilledHead\");\nvar insertDynamicNumber = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"sequencenumber\").attr(\"refX\", 15).attr(\"refY\", 15).attr(\"markerWidth\", 60).attr(\"markerHeight\", 40).attr(\"orient\", \"auto\").append(\"circle\").attr(\"cx\", 15).attr(\"cy\", 15).attr(\"r\", 6);\n}, \"insertDynamicNumber\");\nvar insertArrowCrossHead = /* @__PURE__ */ __name(function(elem) {\n const defs = elem.append(\"defs\");\n const marker = defs.append(\"marker\").attr(\"id\", \"crosshead\").attr(\"markerWidth\", 15).attr(\"markerHeight\", 8).attr(\"orient\", \"auto\").attr(\"refX\", 16).attr(\"refY\", 4);\n marker.append(\"path\").attr(\"fill\", \"black\").attr(\"stroke\", \"#000000\").style(\"stroke-dasharray\", \"0, 0\").attr(\"stroke-width\", \"1px\").attr(\"d\", \"M 9,2 V 6 L16,4 Z\");\n marker.append(\"path\").attr(\"fill\", \"none\").attr(\"stroke\", \"#000000\").style(\"stroke-dasharray\", \"0, 0\").attr(\"stroke-width\", \"1px\").attr(\"d\", \"M 0,1 L 6,7 M 6,1 L 0,7\");\n}, \"insertArrowCrossHead\");\nvar getC4ShapeFont = /* @__PURE__ */ __name((cnf, typeC4Shape) => {\n return {\n fontFamily: cnf[typeC4Shape + \"FontFamily\"],\n fontSize: cnf[typeC4Shape + \"FontSize\"],\n fontWeight: cnf[typeC4Shape + \"FontWeight\"]\n };\n}, \"getC4ShapeFont\");\nvar _drawTextCandidateFunc = /* @__PURE__ */ (function() {\n function byText(content, g, x, y, width, height, textAttrs) {\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y + height / 2 + 5).style(\"text-anchor\", \"middle\").text(content);\n _setTextAttrs(text, textAttrs);\n }\n __name(byText, \"byText\");\n function byTspan(content, g, x, y, width, height, textAttrs, conf2) {\n const { fontSize, fontFamily, fontWeight } = conf2;\n const lines = content.split(common_default.lineBreakRegex);\n for (let i = 0; i < lines.length; i++) {\n const dy = i * fontSize - fontSize * (lines.length - 1) / 2;\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y).style(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").style(\"font-size\", fontSize).style(\"font-weight\", fontWeight).style(\"font-family\", fontFamily);\n text.append(\"tspan\").attr(\"dy\", dy).text(lines[i]).attr(\"alignment-baseline\", \"mathematical\");\n _setTextAttrs(text, textAttrs);\n }\n }\n __name(byTspan, \"byTspan\");\n function byFo(content, g, x, y, width, height, textAttrs, conf2) {\n const s = g.append(\"switch\");\n const f = s.append(\"foreignObject\").attr(\"x\", x).attr(\"y\", y).attr(\"width\", width).attr(\"height\", height);\n const text = f.append(\"xhtml:div\").style(\"display\", \"table\").style(\"height\", \"100%\").style(\"width\", \"100%\");\n text.append(\"div\").style(\"display\", \"table-cell\").style(\"text-align\", \"center\").style(\"vertical-align\", \"middle\").text(content);\n byTspan(content, s, x, y, width, height, textAttrs, conf2);\n _setTextAttrs(text, textAttrs);\n }\n __name(byFo, \"byFo\");\n function _setTextAttrs(toText, fromTextAttrsDict) {\n for (const key in fromTextAttrsDict) {\n if (fromTextAttrsDict.hasOwnProperty(key)) {\n toText.attr(key, fromTextAttrsDict[key]);\n }\n }\n }\n __name(_setTextAttrs, \"_setTextAttrs\");\n return function(conf2) {\n return conf2.textPlacement === \"fo\" ? byFo : conf2.textPlacement === \"old\" ? byText : byTspan;\n };\n})();\nvar svgDraw_default = {\n drawRect: drawRect2,\n drawBoundary,\n drawC4Shape,\n drawRels,\n drawImage,\n insertArrowHead,\n insertArrowEnd,\n insertArrowFilledHead,\n insertDynamicNumber,\n insertArrowCrossHead,\n insertDatabaseIcon,\n insertComputerIcon,\n insertClockIcon\n};\n\n// src/diagrams/c4/c4Renderer.js\nvar globalBoundaryMaxX = 0;\nvar globalBoundaryMaxY = 0;\nvar c4ShapeInRow2 = 4;\nvar c4BoundaryInRow2 = 2;\nparser.yy = c4Db_default;\nvar conf = {};\nvar Bounds = class {\n static {\n __name(this, \"Bounds\");\n }\n constructor(diagObj) {\n this.name = \"\";\n this.data = {};\n this.data.startx = void 0;\n this.data.stopx = void 0;\n this.data.starty = void 0;\n this.data.stopy = void 0;\n this.data.widthLimit = void 0;\n this.nextData = {};\n this.nextData.startx = void 0;\n this.nextData.stopx = void 0;\n this.nextData.starty = void 0;\n this.nextData.stopy = void 0;\n this.nextData.cnt = 0;\n setConf(diagObj.db.getConfig());\n }\n setData(startx, stopx, starty, stopy) {\n this.nextData.startx = this.data.startx = startx;\n this.nextData.stopx = this.data.stopx = stopx;\n this.nextData.starty = this.data.starty = starty;\n this.nextData.stopy = this.data.stopy = stopy;\n }\n updateVal(obj, key, val, fun) {\n if (obj[key] === void 0) {\n obj[key] = val;\n } else {\n obj[key] = fun(val, obj[key]);\n }\n }\n insert(c4Shape) {\n this.nextData.cnt = this.nextData.cnt + 1;\n let _startx = this.nextData.startx === this.nextData.stopx ? this.nextData.stopx + c4Shape.margin : this.nextData.stopx + c4Shape.margin * 2;\n let _stopx = _startx + c4Shape.width;\n let _starty = this.nextData.starty + c4Shape.margin * 2;\n let _stopy = _starty + c4Shape.height;\n if (_startx >= this.data.widthLimit || _stopx >= this.data.widthLimit || this.nextData.cnt > c4ShapeInRow2) {\n _startx = this.nextData.startx + c4Shape.margin + conf.nextLinePaddingX;\n _starty = this.nextData.stopy + c4Shape.margin * 2;\n this.nextData.stopx = _stopx = _startx + c4Shape.width;\n this.nextData.starty = this.nextData.stopy;\n this.nextData.stopy = _stopy = _starty + c4Shape.height;\n this.nextData.cnt = 1;\n }\n c4Shape.x = _startx;\n c4Shape.y = _starty;\n this.updateVal(this.data, \"startx\", _startx, Math.min);\n this.updateVal(this.data, \"starty\", _starty, Math.min);\n this.updateVal(this.data, \"stopx\", _stopx, Math.max);\n this.updateVal(this.data, \"stopy\", _stopy, Math.max);\n this.updateVal(this.nextData, \"startx\", _startx, Math.min);\n this.updateVal(this.nextData, \"starty\", _starty, Math.min);\n this.updateVal(this.nextData, \"stopx\", _stopx, Math.max);\n this.updateVal(this.nextData, \"stopy\", _stopy, Math.max);\n }\n init(diagObj) {\n this.name = \"\";\n this.data = {\n startx: void 0,\n stopx: void 0,\n starty: void 0,\n stopy: void 0,\n widthLimit: void 0\n };\n this.nextData = {\n startx: void 0,\n stopx: void 0,\n starty: void 0,\n stopy: void 0,\n cnt: 0\n };\n setConf(diagObj.db.getConfig());\n }\n bumpLastMargin(margin) {\n this.data.stopx += margin;\n this.data.stopy += margin;\n }\n};\nvar setConf = /* @__PURE__ */ __name(function(cnf) {\n assignWithDepth_default(conf, cnf);\n if (cnf.fontFamily) {\n conf.personFontFamily = conf.systemFontFamily = conf.messageFontFamily = cnf.fontFamily;\n }\n if (cnf.fontSize) {\n conf.personFontSize = conf.systemFontSize = conf.messageFontSize = cnf.fontSize;\n }\n if (cnf.fontWeight) {\n conf.personFontWeight = conf.systemFontWeight = conf.messageFontWeight = cnf.fontWeight;\n }\n}, \"setConf\");\nvar c4ShapeFont = /* @__PURE__ */ __name((cnf, typeC4Shape) => {\n return {\n fontFamily: cnf[typeC4Shape + \"FontFamily\"],\n fontSize: cnf[typeC4Shape + \"FontSize\"],\n fontWeight: cnf[typeC4Shape + \"FontWeight\"]\n };\n}, \"c4ShapeFont\");\nvar boundaryFont = /* @__PURE__ */ __name((cnf) => {\n return {\n fontFamily: cnf.boundaryFontFamily,\n fontSize: cnf.boundaryFontSize,\n fontWeight: cnf.boundaryFontWeight\n };\n}, \"boundaryFont\");\nvar messageFont = /* @__PURE__ */ __name((cnf) => {\n return {\n fontFamily: cnf.messageFontFamily,\n fontSize: cnf.messageFontSize,\n fontWeight: cnf.messageFontWeight\n };\n}, \"messageFont\");\nfunction calcC4ShapeTextWH(textType, c4Shape, c4ShapeTextWrap, textConf, textLimitWidth) {\n if (!c4Shape[textType].width) {\n if (c4ShapeTextWrap) {\n c4Shape[textType].text = wrapLabel(c4Shape[textType].text, textLimitWidth, textConf);\n c4Shape[textType].textLines = c4Shape[textType].text.split(common_default.lineBreakRegex).length;\n c4Shape[textType].width = textLimitWidth;\n c4Shape[textType].height = calculateTextHeight(c4Shape[textType].text, textConf);\n } else {\n let lines = c4Shape[textType].text.split(common_default.lineBreakRegex);\n c4Shape[textType].textLines = lines.length;\n let lineHeight = 0;\n c4Shape[textType].height = 0;\n c4Shape[textType].width = 0;\n for (const line of lines) {\n c4Shape[textType].width = Math.max(\n calculateTextWidth(line, textConf),\n c4Shape[textType].width\n );\n lineHeight = calculateTextHeight(line, textConf);\n c4Shape[textType].height = c4Shape[textType].height + lineHeight;\n }\n }\n }\n}\n__name(calcC4ShapeTextWH, \"calcC4ShapeTextWH\");\nvar drawBoundary2 = /* @__PURE__ */ __name(function(diagram2, boundary, bounds) {\n boundary.x = bounds.data.startx;\n boundary.y = bounds.data.starty;\n boundary.width = bounds.data.stopx - bounds.data.startx;\n boundary.height = bounds.data.stopy - bounds.data.starty;\n boundary.label.y = conf.c4ShapeMargin - 35;\n let boundaryTextWrap = boundary.wrap && conf.wrap;\n let boundaryLabelConf = boundaryFont(conf);\n boundaryLabelConf.fontSize = boundaryLabelConf.fontSize + 2;\n boundaryLabelConf.fontWeight = \"bold\";\n let textLimitWidth = calculateTextWidth(boundary.label.text, boundaryLabelConf);\n calcC4ShapeTextWH(\"label\", boundary, boundaryTextWrap, boundaryLabelConf, textLimitWidth);\n svgDraw_default.drawBoundary(diagram2, boundary, conf);\n}, \"drawBoundary\");\nvar drawC4ShapeArray = /* @__PURE__ */ __name(function(currentBounds, diagram2, c4ShapeArray2, c4ShapeKeys) {\n let Y = 0;\n for (const c4ShapeKey of c4ShapeKeys) {\n Y = 0;\n const c4Shape = c4ShapeArray2[c4ShapeKey];\n let c4ShapeTypeConf = c4ShapeFont(conf, c4Shape.typeC4Shape.text);\n c4ShapeTypeConf.fontSize = c4ShapeTypeConf.fontSize - 2;\n c4Shape.typeC4Shape.width = calculateTextWidth(\n \"\\xAB\" + c4Shape.typeC4Shape.text + \"\\xBB\",\n c4ShapeTypeConf\n );\n c4Shape.typeC4Shape.height = c4ShapeTypeConf.fontSize + 2;\n c4Shape.typeC4Shape.Y = conf.c4ShapePadding;\n Y = c4Shape.typeC4Shape.Y + c4Shape.typeC4Shape.height - 4;\n c4Shape.image = { width: 0, height: 0, Y: 0 };\n switch (c4Shape.typeC4Shape.text) {\n case \"person\":\n case \"external_person\":\n c4Shape.image.width = 48;\n c4Shape.image.height = 48;\n c4Shape.image.Y = Y;\n Y = c4Shape.image.Y + c4Shape.image.height;\n break;\n }\n if (c4Shape.sprite) {\n c4Shape.image.width = 48;\n c4Shape.image.height = 48;\n c4Shape.image.Y = Y;\n Y = c4Shape.image.Y + c4Shape.image.height;\n }\n let c4ShapeTextWrap = c4Shape.wrap && conf.wrap;\n let textLimitWidth = conf.width - conf.c4ShapePadding * 2;\n let c4ShapeLabelConf = c4ShapeFont(conf, c4Shape.typeC4Shape.text);\n c4ShapeLabelConf.fontSize = c4ShapeLabelConf.fontSize + 2;\n c4ShapeLabelConf.fontWeight = \"bold\";\n calcC4ShapeTextWH(\"label\", c4Shape, c4ShapeTextWrap, c4ShapeLabelConf, textLimitWidth);\n c4Shape.label.Y = Y + 8;\n Y = c4Shape.label.Y + c4Shape.label.height;\n if (c4Shape.type && c4Shape.type.text !== \"\") {\n c4Shape.type.text = \"[\" + c4Shape.type.text + \"]\";\n let c4ShapeTypeConf2 = c4ShapeFont(conf, c4Shape.typeC4Shape.text);\n calcC4ShapeTextWH(\"type\", c4Shape, c4ShapeTextWrap, c4ShapeTypeConf2, textLimitWidth);\n c4Shape.type.Y = Y + 5;\n Y = c4Shape.type.Y + c4Shape.type.height;\n } else if (c4Shape.techn && c4Shape.techn.text !== \"\") {\n c4Shape.techn.text = \"[\" + c4Shape.techn.text + \"]\";\n let c4ShapeTechnConf = c4ShapeFont(conf, c4Shape.techn.text);\n calcC4ShapeTextWH(\"techn\", c4Shape, c4ShapeTextWrap, c4ShapeTechnConf, textLimitWidth);\n c4Shape.techn.Y = Y + 5;\n Y = c4Shape.techn.Y + c4Shape.techn.height;\n }\n let rectHeight = Y;\n let rectWidth = c4Shape.label.width;\n if (c4Shape.descr && c4Shape.descr.text !== \"\") {\n let c4ShapeDescrConf = c4ShapeFont(conf, c4Shape.typeC4Shape.text);\n calcC4ShapeTextWH(\"descr\", c4Shape, c4ShapeTextWrap, c4ShapeDescrConf, textLimitWidth);\n c4Shape.descr.Y = Y + 20;\n Y = c4Shape.descr.Y + c4Shape.descr.height;\n rectWidth = Math.max(c4Shape.label.width, c4Shape.descr.width);\n rectHeight = Y - c4Shape.descr.textLines * 5;\n }\n rectWidth = rectWidth + conf.c4ShapePadding;\n c4Shape.width = Math.max(c4Shape.width || conf.width, rectWidth, conf.width);\n c4Shape.height = Math.max(c4Shape.height || conf.height, rectHeight, conf.height);\n c4Shape.margin = c4Shape.margin || conf.c4ShapeMargin;\n currentBounds.insert(c4Shape);\n svgDraw_default.drawC4Shape(diagram2, c4Shape, conf);\n }\n currentBounds.bumpLastMargin(conf.c4ShapeMargin);\n}, \"drawC4ShapeArray\");\nvar Point = class {\n static {\n __name(this, \"Point\");\n }\n constructor(x, y) {\n this.x = x;\n this.y = y;\n }\n};\nvar getIntersectPoint = /* @__PURE__ */ __name(function(fromNode, endPoint) {\n let x1 = fromNode.x;\n let y1 = fromNode.y;\n let x2 = endPoint.x;\n let y2 = endPoint.y;\n let fromCenterX = x1 + fromNode.width / 2;\n let fromCenterY = y1 + fromNode.height / 2;\n let dx = Math.abs(x1 - x2);\n let dy = Math.abs(y1 - y2);\n let tanDYX = dy / dx;\n let fromDYX = fromNode.height / fromNode.width;\n let returnPoint = null;\n if (y1 == y2 && x1 < x2) {\n returnPoint = new Point(x1 + fromNode.width, fromCenterY);\n } else if (y1 == y2 && x1 > x2) {\n returnPoint = new Point(x1, fromCenterY);\n } else if (x1 == x2 && y1 < y2) {\n returnPoint = new Point(fromCenterX, y1 + fromNode.height);\n } else if (x1 == x2 && y1 > y2) {\n returnPoint = new Point(fromCenterX, y1);\n }\n if (x1 > x2 && y1 < y2) {\n if (fromDYX >= tanDYX) {\n returnPoint = new Point(x1, fromCenterY + tanDYX * fromNode.width / 2);\n } else {\n returnPoint = new Point(\n fromCenterX - dx / dy * fromNode.height / 2,\n y1 + fromNode.height\n );\n }\n } else if (x1 < x2 && y1 < y2) {\n if (fromDYX >= tanDYX) {\n returnPoint = new Point(x1 + fromNode.width, fromCenterY + tanDYX * fromNode.width / 2);\n } else {\n returnPoint = new Point(\n fromCenterX + dx / dy * fromNode.height / 2,\n y1 + fromNode.height\n );\n }\n } else if (x1 < x2 && y1 > y2) {\n if (fromDYX >= tanDYX) {\n returnPoint = new Point(x1 + fromNode.width, fromCenterY - tanDYX * fromNode.width / 2);\n } else {\n returnPoint = new Point(fromCenterX + fromNode.height / 2 * dx / dy, y1);\n }\n } else if (x1 > x2 && y1 > y2) {\n if (fromDYX >= tanDYX) {\n returnPoint = new Point(x1, fromCenterY - fromNode.width / 2 * tanDYX);\n } else {\n returnPoint = new Point(fromCenterX - fromNode.height / 2 * dx / dy, y1);\n }\n }\n return returnPoint;\n}, \"getIntersectPoint\");\nvar getIntersectPoints = /* @__PURE__ */ __name(function(fromNode, endNode) {\n let endIntersectPoint = { x: 0, y: 0 };\n endIntersectPoint.x = endNode.x + endNode.width / 2;\n endIntersectPoint.y = endNode.y + endNode.height / 2;\n let startPoint = getIntersectPoint(fromNode, endIntersectPoint);\n endIntersectPoint.x = fromNode.x + fromNode.width / 2;\n endIntersectPoint.y = fromNode.y + fromNode.height / 2;\n let endPoint = getIntersectPoint(endNode, endIntersectPoint);\n return { startPoint, endPoint };\n}, \"getIntersectPoints\");\nvar drawRels2 = /* @__PURE__ */ __name(function(diagram2, rels2, getC4ShapeObj, diagObj) {\n let i = 0;\n for (let rel of rels2) {\n i = i + 1;\n let relTextWrap = rel.wrap && conf.wrap;\n let relConf = messageFont(conf);\n let diagramType = diagObj.db.getC4Type();\n if (diagramType === \"C4Dynamic\") {\n rel.label.text = i + \": \" + rel.label.text;\n }\n let textLimitWidth = calculateTextWidth(rel.label.text, relConf);\n calcC4ShapeTextWH(\"label\", rel, relTextWrap, relConf, textLimitWidth);\n if (rel.techn && rel.techn.text !== \"\") {\n textLimitWidth = calculateTextWidth(rel.techn.text, relConf);\n calcC4ShapeTextWH(\"techn\", rel, relTextWrap, relConf, textLimitWidth);\n }\n if (rel.descr && rel.descr.text !== \"\") {\n textLimitWidth = calculateTextWidth(rel.descr.text, relConf);\n calcC4ShapeTextWH(\"descr\", rel, relTextWrap, relConf, textLimitWidth);\n }\n let fromNode = getC4ShapeObj(rel.from);\n let endNode = getC4ShapeObj(rel.to);\n let points = getIntersectPoints(fromNode, endNode);\n rel.startPoint = points.startPoint;\n rel.endPoint = points.endPoint;\n }\n svgDraw_default.drawRels(diagram2, rels2, conf);\n}, \"drawRels\");\nfunction drawInsideBoundary(diagram2, parentBoundaryAlias, parentBounds, currentBoundaries, diagObj) {\n let currentBounds = new Bounds(diagObj);\n currentBounds.data.widthLimit = parentBounds.data.widthLimit / Math.min(c4BoundaryInRow2, currentBoundaries.length);\n for (let [i, currentBoundary] of currentBoundaries.entries()) {\n let Y = 0;\n currentBoundary.image = { width: 0, height: 0, Y: 0 };\n if (currentBoundary.sprite) {\n currentBoundary.image.width = 48;\n currentBoundary.image.height = 48;\n currentBoundary.image.Y = Y;\n Y = currentBoundary.image.Y + currentBoundary.image.height;\n }\n let currentBoundaryTextWrap = currentBoundary.wrap && conf.wrap;\n let currentBoundaryLabelConf = boundaryFont(conf);\n currentBoundaryLabelConf.fontSize = currentBoundaryLabelConf.fontSize + 2;\n currentBoundaryLabelConf.fontWeight = \"bold\";\n calcC4ShapeTextWH(\n \"label\",\n currentBoundary,\n currentBoundaryTextWrap,\n currentBoundaryLabelConf,\n currentBounds.data.widthLimit\n );\n currentBoundary.label.Y = Y + 8;\n Y = currentBoundary.label.Y + currentBoundary.label.height;\n if (currentBoundary.type && currentBoundary.type.text !== \"\") {\n currentBoundary.type.text = \"[\" + currentBoundary.type.text + \"]\";\n let currentBoundaryTypeConf = boundaryFont(conf);\n calcC4ShapeTextWH(\n \"type\",\n currentBoundary,\n currentBoundaryTextWrap,\n currentBoundaryTypeConf,\n currentBounds.data.widthLimit\n );\n currentBoundary.type.Y = Y + 5;\n Y = currentBoundary.type.Y + currentBoundary.type.height;\n }\n if (currentBoundary.descr && currentBoundary.descr.text !== \"\") {\n let currentBoundaryDescrConf = boundaryFont(conf);\n currentBoundaryDescrConf.fontSize = currentBoundaryDescrConf.fontSize - 2;\n calcC4ShapeTextWH(\n \"descr\",\n currentBoundary,\n currentBoundaryTextWrap,\n currentBoundaryDescrConf,\n currentBounds.data.widthLimit\n );\n currentBoundary.descr.Y = Y + 20;\n Y = currentBoundary.descr.Y + currentBoundary.descr.height;\n }\n if (i == 0 || i % c4BoundaryInRow2 === 0) {\n let _x = parentBounds.data.startx + conf.diagramMarginX;\n let _y = parentBounds.data.stopy + conf.diagramMarginY + Y;\n currentBounds.setData(_x, _x, _y, _y);\n } else {\n let _x = currentBounds.data.stopx !== currentBounds.data.startx ? currentBounds.data.stopx + conf.diagramMarginX : currentBounds.data.startx;\n let _y = currentBounds.data.starty;\n currentBounds.setData(_x, _x, _y, _y);\n }\n currentBounds.name = currentBoundary.alias;\n let currentPersonOrSystemArray = diagObj.db.getC4ShapeArray(currentBoundary.alias);\n let currentPersonOrSystemKeys = diagObj.db.getC4ShapeKeys(currentBoundary.alias);\n if (currentPersonOrSystemKeys.length > 0) {\n drawC4ShapeArray(\n currentBounds,\n diagram2,\n currentPersonOrSystemArray,\n currentPersonOrSystemKeys\n );\n }\n parentBoundaryAlias = currentBoundary.alias;\n let nextCurrentBoundaries = diagObj.db.getBoundaries(parentBoundaryAlias);\n if (nextCurrentBoundaries.length > 0) {\n drawInsideBoundary(\n diagram2,\n parentBoundaryAlias,\n currentBounds,\n nextCurrentBoundaries,\n diagObj\n );\n }\n if (currentBoundary.alias !== \"global\") {\n drawBoundary2(diagram2, currentBoundary, currentBounds);\n }\n parentBounds.data.stopy = Math.max(\n currentBounds.data.stopy + conf.c4ShapeMargin,\n parentBounds.data.stopy\n );\n parentBounds.data.stopx = Math.max(\n currentBounds.data.stopx + conf.c4ShapeMargin,\n parentBounds.data.stopx\n );\n globalBoundaryMaxX = Math.max(globalBoundaryMaxX, parentBounds.data.stopx);\n globalBoundaryMaxY = Math.max(globalBoundaryMaxY, parentBounds.data.stopy);\n }\n}\n__name(drawInsideBoundary, \"drawInsideBoundary\");\nvar draw = /* @__PURE__ */ __name(function(_text, id, _version, diagObj) {\n conf = getConfig().c4;\n const securityLevel = getConfig().securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n let db = diagObj.db;\n diagObj.db.setWrap(conf.wrap);\n c4ShapeInRow2 = db.getC4ShapeInRow();\n c4BoundaryInRow2 = db.getC4BoundaryInRow();\n log.debug(`C:${JSON.stringify(conf, null, 2)}`);\n const diagram2 = securityLevel === \"sandbox\" ? root.select(`[id=\"${id}\"]`) : select(`[id=\"${id}\"]`);\n svgDraw_default.insertComputerIcon(diagram2);\n svgDraw_default.insertDatabaseIcon(diagram2);\n svgDraw_default.insertClockIcon(diagram2);\n let screenBounds = new Bounds(diagObj);\n screenBounds.setData(\n conf.diagramMarginX,\n conf.diagramMarginX,\n conf.diagramMarginY,\n conf.diagramMarginY\n );\n screenBounds.data.widthLimit = screen.availWidth;\n globalBoundaryMaxX = conf.diagramMarginX;\n globalBoundaryMaxY = conf.diagramMarginY;\n const title2 = diagObj.db.getTitle();\n let currentBoundaries = diagObj.db.getBoundaries(\"\");\n drawInsideBoundary(diagram2, \"\", screenBounds, currentBoundaries, diagObj);\n svgDraw_default.insertArrowHead(diagram2);\n svgDraw_default.insertArrowEnd(diagram2);\n svgDraw_default.insertArrowCrossHead(diagram2);\n svgDraw_default.insertArrowFilledHead(diagram2);\n drawRels2(diagram2, diagObj.db.getRels(), diagObj.db.getC4Shape, diagObj);\n screenBounds.data.stopx = globalBoundaryMaxX;\n screenBounds.data.stopy = globalBoundaryMaxY;\n const box = screenBounds.data;\n let boxHeight = box.stopy - box.starty;\n let height = boxHeight + 2 * conf.diagramMarginY;\n let boxWidth = box.stopx - box.startx;\n const width = boxWidth + 2 * conf.diagramMarginX;\n if (title2) {\n diagram2.append(\"text\").text(title2).attr(\"x\", (box.stopx - box.startx) / 2 - 4 * conf.diagramMarginX).attr(\"y\", box.starty + conf.diagramMarginY);\n }\n configureSvgSize(diagram2, height, width, conf.useMaxWidth);\n const extraVertForTitle = title2 ? 60 : 0;\n diagram2.attr(\n \"viewBox\",\n box.startx - conf.diagramMarginX + \" -\" + (conf.diagramMarginY + extraVertForTitle) + \" \" + width + \" \" + (height + extraVertForTitle)\n );\n log.debug(`models:`, box);\n}, \"draw\");\nvar c4Renderer_default = {\n drawPersonOrSystemArray: drawC4ShapeArray,\n drawBoundary: drawBoundary2,\n setConf,\n draw\n};\n\n// src/diagrams/c4/styles.js\nvar getStyles = /* @__PURE__ */ __name((options) => `.person {\n stroke: ${options.personBorder};\n fill: ${options.personBkg};\n }\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/c4/c4Diagram.ts\nvar diagram = {\n parser: c4Diagram_default,\n db: c4Db_default,\n renderer: c4Renderer_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name(({ c4, wrap }) => {\n c4Renderer_default.setConf(c4);\n c4Db_default.setWrap(wrap);\n }, \"init\")\n};\nexport {\n diagram\n};\n"]}