@aiquants/markdown 1.16.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (246) hide show
  1. package/dist/{abnfDiagram-VRR7QNED-BFXo0_Rw.js → abnfDiagram-VRR7QNED-CVfOVdnE.js} +4 -4
  2. package/dist/{abnfDiagram-VRR7QNED-BFXo0_Rw.js.map → abnfDiagram-VRR7QNED-CVfOVdnE.js.map} +1 -1
  3. package/dist/{abnfDiagram-VRR7QNED-DYyzQv8B.cjs → abnfDiagram-VRR7QNED-j6JCoZNc.cjs} +2 -2
  4. package/dist/{abnfDiagram-VRR7QNED-DYyzQv8B.cjs.map → abnfDiagram-VRR7QNED-j6JCoZNc.cjs.map} +1 -1
  5. package/dist/{arc-BSbHy9Ve.js → arc-IMRIGGcG.js} +2 -2
  6. package/dist/{arc-BSbHy9Ve.js.map → arc-IMRIGGcG.js.map} +1 -1
  7. package/dist/{arc-BbQigYvM.cjs → arc-IulFW9sY.cjs} +2 -2
  8. package/dist/{arc-BbQigYvM.cjs.map → arc-IulFW9sY.cjs.map} +1 -1
  9. package/dist/{architectureDiagram-ZJ3FMSHR-D89qc4rH.cjs → architectureDiagram-ZJ3FMSHR-DWRJwx0q.cjs} +2 -2
  10. package/dist/{architectureDiagram-ZJ3FMSHR-D89qc4rH.cjs.map → architectureDiagram-ZJ3FMSHR-DWRJwx0q.cjs.map} +1 -1
  11. package/dist/{architectureDiagram-ZJ3FMSHR-DULOzPH9.js → architectureDiagram-ZJ3FMSHR-H-tJXUHE.js} +3 -3
  12. package/dist/{architectureDiagram-ZJ3FMSHR-DULOzPH9.js.map → architectureDiagram-ZJ3FMSHR-H-tJXUHE.js.map} +1 -1
  13. package/dist/{blockDiagram-677ZJIJ3-BwDAkIzg.cjs → blockDiagram-677ZJIJ3-B6_k2PcI.cjs} +2 -2
  14. package/dist/{blockDiagram-677ZJIJ3-BwDAkIzg.cjs.map → blockDiagram-677ZJIJ3-B6_k2PcI.cjs.map} +1 -1
  15. package/dist/{blockDiagram-677ZJIJ3-_zyxqXKw.js → blockDiagram-677ZJIJ3-D03G_kUw.js} +4 -4
  16. package/dist/{blockDiagram-677ZJIJ3-_zyxqXKw.js.map → blockDiagram-677ZJIJ3-D03G_kUw.js.map} +1 -1
  17. package/dist/{c4Diagram-LMCZKHZV-DEbKHI3H.js → c4Diagram-LMCZKHZV-BAfkigua.js} +3 -3
  18. package/dist/{c4Diagram-LMCZKHZV-DEbKHI3H.js.map → c4Diagram-LMCZKHZV-BAfkigua.js.map} +1 -1
  19. package/dist/{c4Diagram-LMCZKHZV-D6q9_C4Z.cjs → c4Diagram-LMCZKHZV-D0dkCsQL.cjs} +2 -2
  20. package/dist/{c4Diagram-LMCZKHZV-D6q9_C4Z.cjs.map → c4Diagram-LMCZKHZV-D0dkCsQL.cjs.map} +1 -1
  21. package/dist/channel-Bm9igZDO.cjs +2 -0
  22. package/dist/{channel-uZjKtK8D.cjs.map → channel-Bm9igZDO.cjs.map} +1 -1
  23. package/dist/channel-kpYeG8Ru.js +6 -0
  24. package/dist/{channel-ORmMkVPz.js.map → channel-kpYeG8Ru.js.map} +1 -1
  25. package/dist/{chunk-2Q5K7J3B-9lSW6YLs.js → chunk-2Q5K7J3B-Br4gvz_Z.js} +2 -2
  26. package/dist/{chunk-2Q5K7J3B-9lSW6YLs.js.map → chunk-2Q5K7J3B-Br4gvz_Z.js.map} +1 -1
  27. package/dist/{chunk-2Q5K7J3B-DaavRM9R.cjs → chunk-2Q5K7J3B-CFEkQb-k.cjs} +2 -2
  28. package/dist/{chunk-2Q5K7J3B-DaavRM9R.cjs.map → chunk-2Q5K7J3B-CFEkQb-k.cjs.map} +1 -1
  29. package/dist/{chunk-32BRIVSS-INLcYiZK.js → chunk-32BRIVSS-Bh0DixxC.js} +2 -2
  30. package/dist/{chunk-32BRIVSS-INLcYiZK.js.map → chunk-32BRIVSS-Bh0DixxC.js.map} +1 -1
  31. package/dist/{chunk-32BRIVSS-BP6N4esd.cjs → chunk-32BRIVSS-DsL_Qj8R.cjs} +2 -2
  32. package/dist/{chunk-32BRIVSS-BP6N4esd.cjs.map → chunk-32BRIVSS-DsL_Qj8R.cjs.map} +1 -1
  33. package/dist/{chunk-5VM5RSS4-v-LRLmmB.cjs → chunk-5VM5RSS4-Brz8Nekp.cjs} +2 -2
  34. package/dist/{chunk-5VM5RSS4-v-LRLmmB.cjs.map → chunk-5VM5RSS4-Brz8Nekp.cjs.map} +1 -1
  35. package/dist/{chunk-5VM5RSS4-BoACDebX.js → chunk-5VM5RSS4-Dw_HuySn.js} +2 -2
  36. package/dist/{chunk-5VM5RSS4-BoACDebX.js.map → chunk-5VM5RSS4-Dw_HuySn.js.map} +1 -1
  37. package/dist/{chunk-EX3LRPZG-DuCkmN-C.cjs → chunk-EX3LRPZG-BYg0q4_A.cjs} +2 -2
  38. package/dist/{chunk-EX3LRPZG-DuCkmN-C.cjs.map → chunk-EX3LRPZG-BYg0q4_A.cjs.map} +1 -1
  39. package/dist/{chunk-EX3LRPZG-CdhOcCKK.js → chunk-EX3LRPZG-CaMfnI4j.js} +5 -5
  40. package/dist/{chunk-EX3LRPZG-CdhOcCKK.js.map → chunk-EX3LRPZG-CaMfnI4j.js.map} +1 -1
  41. package/dist/{chunk-JWPE2WC7-CahtrkX1.js → chunk-JWPE2WC7-Drb4A6_M.js} +2 -2
  42. package/dist/{chunk-JWPE2WC7-CahtrkX1.js.map → chunk-JWPE2WC7-Drb4A6_M.js.map} +1 -1
  43. package/dist/{chunk-JWPE2WC7-BULRo7xk.cjs → chunk-JWPE2WC7-o7EO8uQe.cjs} +2 -2
  44. package/dist/{chunk-JWPE2WC7-BULRo7xk.cjs.map → chunk-JWPE2WC7-o7EO8uQe.cjs.map} +1 -1
  45. package/dist/{chunk-MOJQB5TN-XQ1uAuGg.cjs → chunk-MOJQB5TN-BJ7aTnCg.cjs} +2 -2
  46. package/dist/{chunk-MOJQB5TN-XQ1uAuGg.cjs.map → chunk-MOJQB5TN-BJ7aTnCg.cjs.map} +1 -1
  47. package/dist/{chunk-MOJQB5TN-Dvq34gwS.js → chunk-MOJQB5TN-D0XeiU_K.js} +2 -2
  48. package/dist/{chunk-MOJQB5TN-Dvq34gwS.js.map → chunk-MOJQB5TN-D0XeiU_K.js.map} +1 -1
  49. package/dist/{chunk-PUDLZKDR-IggJYnJQ.cjs → chunk-PUDLZKDR-Bc_bM102.cjs} +2 -2
  50. package/dist/{chunk-PUDLZKDR-IggJYnJQ.cjs.map → chunk-PUDLZKDR-Bc_bM102.cjs.map} +1 -1
  51. package/dist/{chunk-PUDLZKDR-Dz33TggK.js → chunk-PUDLZKDR-Z6u_Cpy2.js} +7 -7
  52. package/dist/{chunk-PUDLZKDR-Dz33TggK.js.map → chunk-PUDLZKDR-Z6u_Cpy2.js.map} +1 -1
  53. package/dist/{chunk-RYQCIY6F-QJ2duqI8.cjs → chunk-RYQCIY6F-CDHdX0by.cjs} +2 -2
  54. package/dist/{chunk-RYQCIY6F-QJ2duqI8.cjs.map → chunk-RYQCIY6F-CDHdX0by.cjs.map} +1 -1
  55. package/dist/{chunk-RYQCIY6F-Bg7Dy3nS.js → chunk-RYQCIY6F-CfhgLGGd.js} +2 -2
  56. package/dist/{chunk-RYQCIY6F-Bg7Dy3nS.js.map → chunk-RYQCIY6F-CfhgLGGd.js.map} +1 -1
  57. package/dist/{chunk-V7JOEXUC-CgZ7nn5l.cjs → chunk-V7JOEXUC-BmF1nSoe.cjs} +2 -2
  58. package/dist/{chunk-V7JOEXUC-CgZ7nn5l.cjs.map → chunk-V7JOEXUC-BmF1nSoe.cjs.map} +1 -1
  59. package/dist/{chunk-V7JOEXUC-CIr3reuT.js → chunk-V7JOEXUC-DiyEfGiQ.js} +6 -6
  60. package/dist/{chunk-V7JOEXUC-CIr3reuT.js.map → chunk-V7JOEXUC-DiyEfGiQ.js.map} +1 -1
  61. package/dist/{chunk-VR4S4FIN-C0I_5MtA.js → chunk-VR4S4FIN-DJAJYApi.js} +2 -2
  62. package/dist/{chunk-VR4S4FIN-C0I_5MtA.js.map → chunk-VR4S4FIN-DJAJYApi.js.map} +1 -1
  63. package/dist/{chunk-VR4S4FIN-DrrMUc7U.cjs → chunk-VR4S4FIN-DQcLrHqn.cjs} +2 -2
  64. package/dist/{chunk-VR4S4FIN-DrrMUc7U.cjs.map → chunk-VR4S4FIN-DQcLrHqn.cjs.map} +1 -1
  65. package/dist/{chunk-XXDRQBXY-CBOe3-a7.cjs → chunk-XXDRQBXY-B2pZd28b.cjs} +2 -2
  66. package/dist/{chunk-XXDRQBXY-CBOe3-a7.cjs.map → chunk-XXDRQBXY-B2pZd28b.cjs.map} +1 -1
  67. package/dist/{chunk-XXDRQBXY-BCR17bLv.js → chunk-XXDRQBXY-DVBQuKDi.js} +2 -2
  68. package/dist/{chunk-XXDRQBXY-BCR17bLv.js.map → chunk-XXDRQBXY-DVBQuKDi.js.map} +1 -1
  69. package/dist/{classDiagram-OUVF2IWQ-CcviK6lg.cjs → classDiagram-OUVF2IWQ-8e5hApqJ.cjs} +2 -2
  70. package/dist/{classDiagram-OUVF2IWQ-CcviK6lg.cjs.map → classDiagram-OUVF2IWQ-8e5hApqJ.cjs.map} +1 -1
  71. package/dist/{classDiagram-OUVF2IWQ-5wAo9Yii.js → classDiagram-OUVF2IWQ-gOJLA8f7.js} +3 -3
  72. package/dist/{classDiagram-OUVF2IWQ-5wAo9Yii.js.map → classDiagram-OUVF2IWQ-gOJLA8f7.js.map} +1 -1
  73. package/dist/{classDiagram-v2-EOCWNBFH-CcviK6lg.cjs → classDiagram-v2-EOCWNBFH-8e5hApqJ.cjs} +2 -2
  74. package/dist/{classDiagram-v2-EOCWNBFH-CcviK6lg.cjs.map → classDiagram-v2-EOCWNBFH-8e5hApqJ.cjs.map} +1 -1
  75. package/dist/{classDiagram-v2-EOCWNBFH-5wAo9Yii.js → classDiagram-v2-EOCWNBFH-gOJLA8f7.js} +3 -3
  76. package/dist/{classDiagram-v2-EOCWNBFH-5wAo9Yii.js.map → classDiagram-v2-EOCWNBFH-gOJLA8f7.js.map} +1 -1
  77. package/dist/components/MarkdownRenderer.d.ts +12 -1
  78. package/dist/components/MarkdownRenderer.d.ts.map +1 -1
  79. package/dist/components/MarkdownViewer.d.ts +1 -0
  80. package/dist/components/MarkdownViewer.d.ts.map +1 -1
  81. package/dist/{cose-bilkent-JH36ORCC-e4iy6tnF.cjs → cose-bilkent-JH36ORCC-DkrBtqdZ.cjs} +2 -2
  82. package/dist/{cose-bilkent-JH36ORCC-e4iy6tnF.cjs.map → cose-bilkent-JH36ORCC-DkrBtqdZ.cjs.map} +1 -1
  83. package/dist/{cose-bilkent-JH36ORCC-Dcfk-Ecg.js → cose-bilkent-JH36ORCC-DvQd_lwi.js} +2 -2
  84. package/dist/{cose-bilkent-JH36ORCC-Dcfk-Ecg.js.map → cose-bilkent-JH36ORCC-DvQd_lwi.js.map} +1 -1
  85. package/dist/{cynefinDiagram-TSTJHNR4-BFpetF_m.js → cynefinDiagram-TSTJHNR4-C_OM1pzD.js} +3 -3
  86. package/dist/{cynefinDiagram-TSTJHNR4-BFpetF_m.js.map → cynefinDiagram-TSTJHNR4-C_OM1pzD.js.map} +1 -1
  87. package/dist/{cynefinDiagram-TSTJHNR4-DUCIfteT.cjs → cynefinDiagram-TSTJHNR4-DZeti15o.cjs} +2 -2
  88. package/dist/{cynefinDiagram-TSTJHNR4-DUCIfteT.cjs.map → cynefinDiagram-TSTJHNR4-DZeti15o.cjs.map} +1 -1
  89. package/dist/{dagre-VKFMJZFB-PARAHqM5.js → dagre-VKFMJZFB-DqosuMaj.js} +3 -3
  90. package/dist/{dagre-VKFMJZFB-PARAHqM5.js.map → dagre-VKFMJZFB-DqosuMaj.js.map} +1 -1
  91. package/dist/{dagre-VKFMJZFB--JH4XxhX.cjs → dagre-VKFMJZFB-Dw1uc-k1.cjs} +2 -2
  92. package/dist/{dagre-VKFMJZFB--JH4XxhX.cjs.map → dagre-VKFMJZFB-Dw1uc-k1.cjs.map} +1 -1
  93. package/dist/{diagram-FQU43EPY-QluW14DN.cjs → diagram-FQU43EPY-HWu-A8yb.cjs} +2 -2
  94. package/dist/{diagram-FQU43EPY-QluW14DN.cjs.map → diagram-FQU43EPY-HWu-A8yb.cjs.map} +1 -1
  95. package/dist/{diagram-FQU43EPY-Cs6yk5Is.js → diagram-FQU43EPY-N7KADep7.js} +3 -3
  96. package/dist/{diagram-FQU43EPY-Cs6yk5Is.js.map → diagram-FQU43EPY-N7KADep7.js.map} +1 -1
  97. package/dist/{diagram-G47NLZAW-DN5G1l3g.js → diagram-G47NLZAW-D1P8NHZX.js} +4 -4
  98. package/dist/{diagram-G47NLZAW-DN5G1l3g.js.map → diagram-G47NLZAW-D1P8NHZX.js.map} +1 -1
  99. package/dist/{diagram-G47NLZAW-D_E8st8L.cjs → diagram-G47NLZAW-DQ6QTawF.cjs} +2 -2
  100. package/dist/{diagram-G47NLZAW-D_E8st8L.cjs.map → diagram-G47NLZAW-DQ6QTawF.cjs.map} +1 -1
  101. package/dist/{diagram-NH7WQ7WH-pASxdUhu.cjs → diagram-NH7WQ7WH-BsWd98Fz.cjs} +2 -2
  102. package/dist/{diagram-NH7WQ7WH-pASxdUhu.cjs.map → diagram-NH7WQ7WH-BsWd98Fz.cjs.map} +1 -1
  103. package/dist/{diagram-NH7WQ7WH-C10vpuej.js → diagram-NH7WQ7WH-Ck6SumYR.js} +3 -3
  104. package/dist/{diagram-NH7WQ7WH-C10vpuej.js.map → diagram-NH7WQ7WH-Ck6SumYR.js.map} +1 -1
  105. package/dist/{diagram-OA4YK3LP-BUE4c8aR.js → diagram-OA4YK3LP-C_zf1wuX.js} +4 -4
  106. package/dist/{diagram-OA4YK3LP-BUE4c8aR.js.map → diagram-OA4YK3LP-C_zf1wuX.js.map} +1 -1
  107. package/dist/{diagram-OA4YK3LP-B9dlgYg5.cjs → diagram-OA4YK3LP-Dej54_RQ.cjs} +2 -2
  108. package/dist/{diagram-OA4YK3LP-B9dlgYg5.cjs.map → diagram-OA4YK3LP-Dej54_RQ.cjs.map} +1 -1
  109. package/dist/{diagram-WEI45ONY-BOVrX9CR.cjs → diagram-WEI45ONY-B99iQvSm.cjs} +2 -2
  110. package/dist/{diagram-WEI45ONY-BOVrX9CR.cjs.map → diagram-WEI45ONY-B99iQvSm.cjs.map} +1 -1
  111. package/dist/{diagram-WEI45ONY-1EaKbEDp.js → diagram-WEI45ONY-CeS11AwY.js} +3 -3
  112. package/dist/{diagram-WEI45ONY-1EaKbEDp.js.map → diagram-WEI45ONY-CeS11AwY.js.map} +1 -1
  113. package/dist/{ebnfDiagram-CCIWWBDH-BFCYtxqV.js → ebnfDiagram-CCIWWBDH-2vJL7xH5.js} +4 -4
  114. package/dist/{ebnfDiagram-CCIWWBDH-BFCYtxqV.js.map → ebnfDiagram-CCIWWBDH-2vJL7xH5.js.map} +1 -1
  115. package/dist/{ebnfDiagram-CCIWWBDH-djDcqT9S.cjs → ebnfDiagram-CCIWWBDH-MoZ92ldM.cjs} +2 -2
  116. package/dist/{ebnfDiagram-CCIWWBDH-djDcqT9S.cjs.map → ebnfDiagram-CCIWWBDH-MoZ92ldM.cjs.map} +1 -1
  117. package/dist/{erDiagram-Q63AITRT-C__SqdWW.cjs → erDiagram-Q63AITRT-Dh7aVC6t.cjs} +2 -2
  118. package/dist/{erDiagram-Q63AITRT-C__SqdWW.cjs.map → erDiagram-Q63AITRT-Dh7aVC6t.cjs.map} +1 -1
  119. package/dist/{erDiagram-Q63AITRT-CJ41MCeP.js → erDiagram-Q63AITRT-mMcEbo5T.js} +5 -5
  120. package/dist/{erDiagram-Q63AITRT-CJ41MCeP.js.map → erDiagram-Q63AITRT-mMcEbo5T.js.map} +1 -1
  121. package/dist/extractHeadings-D8xLW0xV.cjs +311 -0
  122. package/dist/{extractHeadings-Btke90la.js.map → extractHeadings-D8xLW0xV.cjs.map} +1 -1
  123. package/dist/{extractHeadings-Btke90la.js → extractHeadings-DqMintT0.js} +5502 -5467
  124. package/dist/extractHeadings-DqMintT0.js.map +1 -0
  125. package/dist/flowDiagram-23GEKE2U-CS9_dpfO.cjs +2 -0
  126. package/dist/flowDiagram-23GEKE2U-CS9_dpfO.cjs.map +1 -0
  127. package/dist/flowDiagram-23GEKE2U-kW5veDdA.js +8 -0
  128. package/dist/flowDiagram-23GEKE2U-kW5veDdA.js.map +1 -0
  129. package/dist/{ganttDiagram-NO4QXBWP-CGgtAec-.js → ganttDiagram-NO4QXBWP-DVzpWOw_.js} +3 -3
  130. package/dist/{ganttDiagram-NO4QXBWP-CGgtAec-.js.map → ganttDiagram-NO4QXBWP-DVzpWOw_.js.map} +1 -1
  131. package/dist/{ganttDiagram-NO4QXBWP-a55V-nKT.cjs → ganttDiagram-NO4QXBWP-dq7xLPg1.cjs} +2 -2
  132. package/dist/{ganttDiagram-NO4QXBWP-a55V-nKT.cjs.map → ganttDiagram-NO4QXBWP-dq7xLPg1.cjs.map} +1 -1
  133. package/dist/gen/markdown/v1/markdown_pb.d.ts +23 -0
  134. package/dist/gen/markdown/v1/markdown_pb.d.ts.map +1 -1
  135. package/dist/{gitGraphDiagram-IHSO6WYX-B1TK7FF8.js → gitGraphDiagram-IHSO6WYX-C-uY7U1s.js} +4 -4
  136. package/dist/{gitGraphDiagram-IHSO6WYX-B1TK7FF8.js.map → gitGraphDiagram-IHSO6WYX-C-uY7U1s.js.map} +1 -1
  137. package/dist/{gitGraphDiagram-IHSO6WYX-DlDNCHo6.cjs → gitGraphDiagram-IHSO6WYX-DSQLisu4.cjs} +2 -2
  138. package/dist/{gitGraphDiagram-IHSO6WYX-DlDNCHo6.cjs.map → gitGraphDiagram-IHSO6WYX-DSQLisu4.cjs.map} +1 -1
  139. package/dist/index.cjs +1 -1
  140. package/dist/index.client.cjs +1 -1
  141. package/dist/index.client.js +1 -1
  142. package/dist/index.js +1 -1
  143. package/dist/index.server.cjs.map +1 -1
  144. package/dist/index.server.js +23 -0
  145. package/dist/index.server.js.map +1 -1
  146. package/dist/{infoDiagram-FWYZ7A6U-hH0LVzym.js → infoDiagram-FWYZ7A6U-BHjy4ZyU.js} +2 -2
  147. package/dist/{infoDiagram-FWYZ7A6U-hH0LVzym.js.map → infoDiagram-FWYZ7A6U-BHjy4ZyU.js.map} +1 -1
  148. package/dist/{infoDiagram-FWYZ7A6U-BiRsBv1q.cjs → infoDiagram-FWYZ7A6U-p7p32RvF.cjs} +2 -2
  149. package/dist/{infoDiagram-FWYZ7A6U-BiRsBv1q.cjs.map → infoDiagram-FWYZ7A6U-p7p32RvF.cjs.map} +1 -1
  150. package/dist/{ishikawaDiagram-FXEZZL3T-BnDsgkjC.cjs → ishikawaDiagram-FXEZZL3T-XoRFEJOh.cjs} +2 -2
  151. package/dist/{ishikawaDiagram-FXEZZL3T-BnDsgkjC.cjs.map → ishikawaDiagram-FXEZZL3T-XoRFEJOh.cjs.map} +1 -1
  152. package/dist/{ishikawaDiagram-FXEZZL3T-CfYrF5ko.js → ishikawaDiagram-FXEZZL3T-cGwVYr-F.js} +2 -2
  153. package/dist/{ishikawaDiagram-FXEZZL3T-CfYrF5ko.js.map → ishikawaDiagram-FXEZZL3T-cGwVYr-F.js.map} +1 -1
  154. package/dist/{journeyDiagram-5HDEW3XC-HfmZo7OK.js → journeyDiagram-5HDEW3XC-B8Q-AkJs.js} +5 -5
  155. package/dist/{journeyDiagram-5HDEW3XC-HfmZo7OK.js.map → journeyDiagram-5HDEW3XC-B8Q-AkJs.js.map} +1 -1
  156. package/dist/{journeyDiagram-5HDEW3XC-D4bTwTTh.cjs → journeyDiagram-5HDEW3XC-DtgNDSl6.cjs} +2 -2
  157. package/dist/{journeyDiagram-5HDEW3XC-D4bTwTTh.cjs.map → journeyDiagram-5HDEW3XC-DtgNDSl6.cjs.map} +1 -1
  158. package/dist/{kanban-definition-HUTT4EX6-D7AfbiL-.cjs → kanban-definition-HUTT4EX6-3vHA16gL.cjs} +2 -2
  159. package/dist/{kanban-definition-HUTT4EX6-D7AfbiL-.cjs.map → kanban-definition-HUTT4EX6-3vHA16gL.cjs.map} +1 -1
  160. package/dist/{kanban-definition-HUTT4EX6-CkG7ZIp9.js → kanban-definition-HUTT4EX6-o0mHXGrp.js} +3 -3
  161. package/dist/{kanban-definition-HUTT4EX6-CkG7ZIp9.js.map → kanban-definition-HUTT4EX6-o0mHXGrp.js.map} +1 -1
  162. package/dist/{linear-DCJsIP88.js → linear-BHPCgapW.js} +2 -2
  163. package/dist/{linear-DCJsIP88.js.map → linear-BHPCgapW.js.map} +1 -1
  164. package/dist/{linear-udg5RJk-.cjs → linear-CfOY5Gy2.cjs} +2 -2
  165. package/dist/{linear-udg5RJk-.cjs.map → linear-CfOY5Gy2.cjs.map} +1 -1
  166. package/dist/markdown.css +1 -1
  167. package/dist/{mindmap-definition-LN4V7U3C-CesYL4mv.cjs → mindmap-definition-LN4V7U3C-BjpLfvBJ.cjs} +2 -2
  168. package/dist/{mindmap-definition-LN4V7U3C-CesYL4mv.cjs.map → mindmap-definition-LN4V7U3C-BjpLfvBJ.cjs.map} +1 -1
  169. package/dist/{mindmap-definition-LN4V7U3C-zoeVrmB8.js → mindmap-definition-LN4V7U3C-dpryKZhQ.js} +4 -4
  170. package/dist/{mindmap-definition-LN4V7U3C-zoeVrmB8.js.map → mindmap-definition-LN4V7U3C-dpryKZhQ.js.map} +1 -1
  171. package/dist/{pegDiagram-2B236MQR-G4fth76F.cjs → pegDiagram-2B236MQR-1DRRF9hi.cjs} +2 -2
  172. package/dist/{pegDiagram-2B236MQR-G4fth76F.cjs.map → pegDiagram-2B236MQR-1DRRF9hi.cjs.map} +1 -1
  173. package/dist/{pegDiagram-2B236MQR-B7kSpg_A.js → pegDiagram-2B236MQR-D5PKW5rU.js} +4 -4
  174. package/dist/{pegDiagram-2B236MQR-B7kSpg_A.js.map → pegDiagram-2B236MQR-D5PKW5rU.js.map} +1 -1
  175. package/dist/{pieDiagram-ENE6RG2P-oLvMmdVW.js → pieDiagram-ENE6RG2P-BxnL8ETG.js} +4 -4
  176. package/dist/{pieDiagram-ENE6RG2P-oLvMmdVW.js.map → pieDiagram-ENE6RG2P-BxnL8ETG.js.map} +1 -1
  177. package/dist/{pieDiagram-ENE6RG2P-KA7xendU.cjs → pieDiagram-ENE6RG2P-CGVhCoZQ.cjs} +2 -2
  178. package/dist/{pieDiagram-ENE6RG2P-KA7xendU.cjs.map → pieDiagram-ENE6RG2P-CGVhCoZQ.cjs.map} +1 -1
  179. package/dist/{quadrantDiagram-ABIIQ3AL-DtUT-XzJ.js → quadrantDiagram-ABIIQ3AL-CLcpERLl.js} +3 -3
  180. package/dist/{quadrantDiagram-ABIIQ3AL-DtUT-XzJ.js.map → quadrantDiagram-ABIIQ3AL-CLcpERLl.js.map} +1 -1
  181. package/dist/{quadrantDiagram-ABIIQ3AL-CX8sF8GP.cjs → quadrantDiagram-ABIIQ3AL-FliOyfXj.cjs} +2 -2
  182. package/dist/{quadrantDiagram-ABIIQ3AL-CX8sF8GP.cjs.map → quadrantDiagram-ABIIQ3AL-FliOyfXj.cjs.map} +1 -1
  183. package/dist/{railroadDiagram-RFXS5EU6-Cm7FdIMs.js → railroadDiagram-RFXS5EU6-B5dbyBGc.js} +4 -4
  184. package/dist/{railroadDiagram-RFXS5EU6-Cm7FdIMs.js.map → railroadDiagram-RFXS5EU6-B5dbyBGc.js.map} +1 -1
  185. package/dist/{railroadDiagram-RFXS5EU6-DiQg7p_4.cjs → railroadDiagram-RFXS5EU6-rXhPpnE0.cjs} +2 -2
  186. package/dist/{railroadDiagram-RFXS5EU6-DiQg7p_4.cjs.map → railroadDiagram-RFXS5EU6-rXhPpnE0.cjs.map} +1 -1
  187. package/dist/remarkProcessor.server.d.ts +20 -0
  188. package/dist/remarkProcessor.server.d.ts.map +1 -1
  189. package/dist/{requirementDiagram-TGXJPOKE-BzEjbwNB.cjs → requirementDiagram-TGXJPOKE-BMCSoQVE.cjs} +2 -2
  190. package/dist/{requirementDiagram-TGXJPOKE-BzEjbwNB.cjs.map → requirementDiagram-TGXJPOKE-BMCSoQVE.cjs.map} +1 -1
  191. package/dist/{requirementDiagram-TGXJPOKE-BW1d5uhf.js → requirementDiagram-TGXJPOKE-ClHW6aLQ.js} +4 -4
  192. package/dist/{requirementDiagram-TGXJPOKE-BW1d5uhf.js.map → requirementDiagram-TGXJPOKE-ClHW6aLQ.js.map} +1 -1
  193. package/dist/{sankeyDiagram-HTMAVEWB-B885RMhw.cjs → sankeyDiagram-HTMAVEWB-Cg8JWPaO.cjs} +2 -2
  194. package/dist/{sankeyDiagram-HTMAVEWB-B885RMhw.cjs.map → sankeyDiagram-HTMAVEWB-Cg8JWPaO.cjs.map} +1 -1
  195. package/dist/{sankeyDiagram-HTMAVEWB-BK6I2TQT.js → sankeyDiagram-HTMAVEWB-bMvPGs9_.js} +2 -2
  196. package/dist/{sankeyDiagram-HTMAVEWB-BK6I2TQT.js.map → sankeyDiagram-HTMAVEWB-bMvPGs9_.js.map} +1 -1
  197. package/dist/{sequenceDiagram-DBY2YBRQ-Bsp-ywhW.js → sequenceDiagram-DBY2YBRQ-DXoZq7V-.js} +4 -4
  198. package/dist/{sequenceDiagram-DBY2YBRQ-Bsp-ywhW.js.map → sequenceDiagram-DBY2YBRQ-DXoZq7V-.js.map} +1 -1
  199. package/dist/{sequenceDiagram-DBY2YBRQ-Z2baRB6B.cjs → sequenceDiagram-DBY2YBRQ-KTO-UHkn.cjs} +2 -2
  200. package/dist/{sequenceDiagram-DBY2YBRQ-Z2baRB6B.cjs.map → sequenceDiagram-DBY2YBRQ-KTO-UHkn.cjs.map} +1 -1
  201. package/dist/{sizeCapture-X5ZJPWSS-C8fp0zsl.cjs → sizeCapture-X5ZJPWSS-BN0eCgXV.cjs} +2 -2
  202. package/dist/{sizeCapture-X5ZJPWSS-C8fp0zsl.cjs.map → sizeCapture-X5ZJPWSS-BN0eCgXV.cjs.map} +1 -1
  203. package/dist/{sizeCapture-X5ZJPWSS-B7HslO1e.js → sizeCapture-X5ZJPWSS-CBCaRrpX.js} +2 -2
  204. package/dist/{sizeCapture-X5ZJPWSS-B7HslO1e.js.map → sizeCapture-X5ZJPWSS-CBCaRrpX.js.map} +1 -1
  205. package/dist/{stateDiagram-2N3HPSRC-Bs6b44bi.js → stateDiagram-2N3HPSRC-CpDyQdj0.js} +3 -3
  206. package/dist/{stateDiagram-2N3HPSRC-Bs6b44bi.js.map → stateDiagram-2N3HPSRC-CpDyQdj0.js.map} +1 -1
  207. package/dist/{stateDiagram-2N3HPSRC-B8_7Qpkd.cjs → stateDiagram-2N3HPSRC-DhlkFDfT.cjs} +2 -2
  208. package/dist/{stateDiagram-2N3HPSRC-B8_7Qpkd.cjs.map → stateDiagram-2N3HPSRC-DhlkFDfT.cjs.map} +1 -1
  209. package/dist/{stateDiagram-v2-6OUMAXLB-APHKV9T_.js → stateDiagram-v2-6OUMAXLB-CwDUwXhk.js} +3 -3
  210. package/dist/{stateDiagram-v2-6OUMAXLB-APHKV9T_.js.map → stateDiagram-v2-6OUMAXLB-CwDUwXhk.js.map} +1 -1
  211. package/dist/{stateDiagram-v2-6OUMAXLB-DKhyOgS0.cjs → stateDiagram-v2-6OUMAXLB-D8PjdQdX.cjs} +2 -2
  212. package/dist/{stateDiagram-v2-6OUMAXLB-DKhyOgS0.cjs.map → stateDiagram-v2-6OUMAXLB-D8PjdQdX.cjs.map} +1 -1
  213. package/dist/styles/markdown.css +1 -1
  214. package/dist/{swimlanes-5IMT3BWC-COXHt-s7.js → swimlanes-5IMT3BWC-CH-4XOiS.js} +4 -4
  215. package/dist/{swimlanes-5IMT3BWC-COXHt-s7.js.map → swimlanes-5IMT3BWC-CH-4XOiS.js.map} +1 -1
  216. package/dist/{swimlanes-5IMT3BWC-BSNl-c3F.cjs → swimlanes-5IMT3BWC-De6gKuIO.cjs} +2 -2
  217. package/dist/{swimlanes-5IMT3BWC-BSNl-c3F.cjs.map → swimlanes-5IMT3BWC-De6gKuIO.cjs.map} +1 -1
  218. package/dist/{swimlanesDiagram-G3AALYLV-Def6nx2Z.cjs → swimlanesDiagram-G3AALYLV-CV0OXDpw.cjs} +2 -2
  219. package/dist/{swimlanesDiagram-G3AALYLV-Def6nx2Z.cjs.map → swimlanesDiagram-G3AALYLV-CV0OXDpw.cjs.map} +1 -1
  220. package/dist/{swimlanesDiagram-G3AALYLV-D1WaZVYp.js → swimlanesDiagram-G3AALYLV-Dg4AZrgL.js} +3 -3
  221. package/dist/{swimlanesDiagram-G3AALYLV-D1WaZVYp.js.map → swimlanesDiagram-G3AALYLV-Dg4AZrgL.js.map} +1 -1
  222. package/dist/{timeline-definition-FHXFAJF6-Bf7P0d3T.js → timeline-definition-FHXFAJF6-D6acTzNT.js} +3 -3
  223. package/dist/{timeline-definition-FHXFAJF6-Bf7P0d3T.js.map → timeline-definition-FHXFAJF6-D6acTzNT.js.map} +1 -1
  224. package/dist/{timeline-definition-FHXFAJF6-Cp68oXkU.cjs → timeline-definition-FHXFAJF6-PNOspRKZ.cjs} +2 -2
  225. package/dist/{timeline-definition-FHXFAJF6-Cp68oXkU.cjs.map → timeline-definition-FHXFAJF6-PNOspRKZ.cjs.map} +1 -1
  226. package/dist/{vennDiagram-L72KCM5P-DGGMA-GI.js → vennDiagram-L72KCM5P-B1NHr790.js} +2 -2
  227. package/dist/{vennDiagram-L72KCM5P-DGGMA-GI.js.map → vennDiagram-L72KCM5P-B1NHr790.js.map} +1 -1
  228. package/dist/{vennDiagram-L72KCM5P-DqFV-kpk.cjs → vennDiagram-L72KCM5P-IX40KqZ1.cjs} +2 -2
  229. package/dist/{vennDiagram-L72KCM5P-DqFV-kpk.cjs.map → vennDiagram-L72KCM5P-IX40KqZ1.cjs.map} +1 -1
  230. package/dist/{wardleyDiagram-EHGQE667-CObr4iwQ.cjs → wardleyDiagram-EHGQE667-Beh-RriS.cjs} +2 -2
  231. package/dist/{wardleyDiagram-EHGQE667-CObr4iwQ.cjs.map → wardleyDiagram-EHGQE667-Beh-RriS.cjs.map} +1 -1
  232. package/dist/{wardleyDiagram-EHGQE667-kL5n4suF.js → wardleyDiagram-EHGQE667-BxW26Wb0.js} +3 -3
  233. package/dist/{wardleyDiagram-EHGQE667-kL5n4suF.js.map → wardleyDiagram-EHGQE667-BxW26Wb0.js.map} +1 -1
  234. package/dist/{xychartDiagram-FW5EYKEG-n90ZGQyA.js → xychartDiagram-FW5EYKEG-DESGzbuD.js} +3 -3
  235. package/dist/{xychartDiagram-FW5EYKEG-n90ZGQyA.js.map → xychartDiagram-FW5EYKEG-DESGzbuD.js.map} +1 -1
  236. package/dist/{xychartDiagram-FW5EYKEG-C-TCKUxt.cjs → xychartDiagram-FW5EYKEG-XSIeABKR.cjs} +2 -2
  237. package/dist/{xychartDiagram-FW5EYKEG-C-TCKUxt.cjs.map → xychartDiagram-FW5EYKEG-XSIeABKR.cjs.map} +1 -1
  238. package/package.json +7 -7
  239. package/dist/channel-ORmMkVPz.js +0 -6
  240. package/dist/channel-uZjKtK8D.cjs +0 -2
  241. package/dist/extractHeadings-CbOVIBS0.cjs +0 -311
  242. package/dist/extractHeadings-CbOVIBS0.cjs.map +0 -1
  243. package/dist/flowDiagram-23GEKE2U-B6jkoyrN.cjs +0 -2
  244. package/dist/flowDiagram-23GEKE2U-B6jkoyrN.cjs.map +0 -1
  245. package/dist/flowDiagram-23GEKE2U-matdv2oR.js +0 -8
  246. package/dist/flowDiagram-23GEKE2U-matdv2oR.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-MOJQB5TN-Dvq34gwS.js","sources":["../../../node_modules/.pnpm/mermaid@11.16.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-MOJQB5TN.mjs"],"sourcesContent":["import {\n selectSvgElement\n} from \"./chunk-VAUOI2AC.mjs\";\nimport {\n clear,\n configureSvgSize,\n getConfig,\n getConfig2,\n getThemeVariables,\n sanitizeText\n} from \"./chunk-WYO6CB5R.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/diagrams/railroad/railroadDb.ts\nvar diagramTitle = \"\";\nvar accTitle = \"\";\nvar accDescription = \"\";\nvar rules = [];\nvar ruleMap = /* @__PURE__ */ new Map();\nvar sanitizeText2 = /* @__PURE__ */ __name((text) => {\n return sanitizeText(text, getConfig2());\n}, \"sanitizeText\");\nvar sanitizeAstNode = /* @__PURE__ */ __name((node) => {\n switch (node.type) {\n case \"terminal\":\n return { ...node, value: sanitizeText2(node.value) };\n case \"nonterminal\":\n return { ...node, name: sanitizeText2(node.name) };\n case \"sequence\":\n return { ...node, elements: node.elements.map(sanitizeAstNode) };\n case \"choice\":\n return { ...node, alternatives: node.alternatives.map(sanitizeAstNode) };\n case \"optional\":\n return { ...node, element: sanitizeAstNode(node.element) };\n case \"repetition\":\n return {\n ...node,\n element: sanitizeAstNode(node.element),\n separator: node.separator ? sanitizeAstNode(node.separator) : void 0\n };\n case \"special\":\n return { ...node, text: sanitizeText2(node.text) };\n }\n}, \"sanitizeAstNode\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n diagramTitle = \"\";\n accTitle = \"\";\n accDescription = \"\";\n rules.length = 0;\n ruleMap.clear();\n clear();\n log.debug(\"[Railroad] Database cleared\");\n}, \"clear\");\nvar setTitle = /* @__PURE__ */ __name((text) => {\n diagramTitle = sanitizeText2(text);\n log.debug(\"[Railroad] Title set:\", text);\n}, \"setTitle\");\nvar getTitle = /* @__PURE__ */ __name(() => {\n return diagramTitle;\n}, \"getTitle\");\nvar addRule = /* @__PURE__ */ __name((rule) => {\n const sanitizedRule = {\n ...rule,\n name: sanitizeText2(rule.name),\n definition: sanitizeAstNode(rule.definition),\n comment: rule.comment ? sanitizeText2(rule.comment) : void 0\n };\n log.debug(\"[Railroad] Adding rule:\", sanitizedRule.name);\n if (ruleMap.has(sanitizedRule.name)) {\n log.warn(`[Railroad] Rule '${sanitizedRule.name}' is already defined. Overwriting.`);\n }\n rules.push(sanitizedRule);\n ruleMap.set(sanitizedRule.name, sanitizedRule);\n}, \"addRule\");\nvar getRules = /* @__PURE__ */ __name(() => {\n return rules;\n}, \"getRules\");\nvar getRule = /* @__PURE__ */ __name((name) => {\n return ruleMap.get(name);\n}, \"getRule\");\nvar setAccTitle = /* @__PURE__ */ __name((text) => {\n accTitle = sanitizeText2(text).replace(/^\\s+/g, \"\");\n log.debug(\"[Railroad] Accessibility title set:\", text);\n}, \"setAccTitle\");\nvar getAccTitle = /* @__PURE__ */ __name(() => {\n return accTitle;\n}, \"getAccTitle\");\nvar setAccDescription = /* @__PURE__ */ __name((text) => {\n accDescription = sanitizeText2(text).replace(/\\n\\s+/g, \"\\n\");\n log.debug(\"[Railroad] Accessibility description set:\", text);\n}, \"setAccDescription\");\nvar getAccDescription = /* @__PURE__ */ __name(() => {\n return accDescription;\n}, \"getAccDescription\");\nvar setDiagramTitle = setTitle;\nvar getDiagramTitle = getTitle;\nvar db = {\n clear: clear2,\n setTitle,\n getTitle,\n addRule,\n getRules,\n getRule,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n setDiagramTitle,\n getDiagramTitle\n};\n\n// src/diagrams/railroad/railroadTypes.ts\nvar DEFAULT_RAILROAD_CONFIG = {\n // Layout\n compactMode: false,\n // Spacing\n padding: 10,\n verticalSeparation: 8,\n horizontalSeparation: 10,\n arcRadius: 10,\n // Typography\n fontSize: 14,\n fontFamily: \"monospace\",\n // Colors - Terminal\n terminalFill: \"#FFFFC0\",\n terminalStroke: \"#000000\",\n terminalTextColor: \"#000000\",\n // Colors - Non-terminal\n nonTerminalFill: \"#FFFFFF\",\n nonTerminalStroke: \"#000000\",\n nonTerminalTextColor: \"#000000\",\n // Colors - Lines\n lineColor: \"#000000\",\n strokeWidth: 2,\n // Colors - Markers\n markerFill: \"#000000\",\n // Colors - Comment\n commentFill: \"#E8E8E8\",\n commentStroke: \"#888888\",\n commentTextColor: \"#666666\",\n // Colors - Special\n specialFill: \"#F0E0FF\",\n specialStroke: \"#8800CC\",\n // Other\n ruleNameColor: \"#000066\",\n showMarkers: true,\n markerRadius: 5\n};\n\n// src/diagrams/railroad/styles.ts\nvar COLOR_VALUE_PATTERN = /^#(?:[\\da-f]{3,4}|[\\da-f]{6}|[\\da-f]{8})$|^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch)\\([\\d\\s%+,./-]+\\)$|^[a-z]+$/i;\nvar FONT_FAMILY_PATTERN = /^[\\w \"',.-]+$/;\nvar RAILROAD_STYLE_OPTION_KEYS = /* @__PURE__ */ new Set([\n \"compactMode\",\n \"padding\",\n \"verticalSeparation\",\n \"horizontalSeparation\",\n \"arcRadius\",\n \"fontSize\",\n \"fontFamily\",\n \"terminalFill\",\n \"terminalStroke\",\n \"terminalTextColor\",\n \"nonTerminalFill\",\n \"nonTerminalStroke\",\n \"nonTerminalTextColor\",\n \"lineColor\",\n \"strokeWidth\",\n \"markerFill\",\n \"commentFill\",\n \"commentStroke\",\n \"commentTextColor\",\n \"specialFill\",\n \"specialStroke\",\n \"ruleNameColor\",\n \"showMarkers\",\n \"markerRadius\"\n]);\nvar isRailroadStyleOptions = /* @__PURE__ */ __name((options) => {\n if (!options) {\n return false;\n }\n return Object.keys(options).every(\n (key) => key === \"railroad\" || RAILROAD_STYLE_OPTION_KEYS.has(key)\n );\n}, \"isRailroadStyleOptions\");\nvar extractRailroadOverrides = /* @__PURE__ */ __name((options) => {\n if (!options) {\n return {};\n }\n if (\"railroad\" in options && options.railroad) {\n return options.railroad;\n }\n return isRailroadStyleOptions(options) ? options : {};\n}, \"extractRailroadOverrides\");\nvar extractThemeOverrides = /* @__PURE__ */ __name((options) => {\n if (!options || isRailroadStyleOptions(options)) {\n return {};\n }\n const {\n railroad: _railroad,\n svgId: _svgId,\n theme: _theme,\n look: _look,\n ...themeOverrides\n } = options;\n return themeOverrides;\n}, \"extractThemeOverrides\");\nvar sanitizeColorValue = /* @__PURE__ */ __name((value, fallback) => {\n if (typeof value !== \"string\") {\n return fallback;\n }\n const normalized = value.trim();\n return COLOR_VALUE_PATTERN.test(normalized) ? normalized : fallback;\n}, \"sanitizeColorValue\");\nvar sanitizeFontFamilyValue = /* @__PURE__ */ __name((value, fallback) => {\n if (typeof value !== \"string\") {\n return fallback;\n }\n const normalized = value.trim();\n return FONT_FAMILY_PATTERN.test(normalized) ? normalized : fallback;\n}, \"sanitizeFontFamilyValue\");\nvar sanitizeNumberValue = /* @__PURE__ */ __name((value, fallback) => {\n const parsed = typeof value === \"number\" ? value : typeof value === \"string\" ? Number.parseFloat(value) : Number.NaN;\n return Number.isFinite(parsed) && parsed >= 0 ? parsed : fallback;\n}, \"sanitizeNumberValue\");\nvar parseThemeFontSize = /* @__PURE__ */ __name((value) => {\n const parsed = typeof value === \"number\" ? value : typeof value === \"string\" ? Number.parseFloat(value) : Number.NaN;\n return Number.isFinite(parsed) && parsed > 0 ? parsed : void 0;\n}, \"parseThemeFontSize\");\nvar buildThemeDefaults = /* @__PURE__ */ __name((themeVariables) => {\n const fontFamily = sanitizeFontFamilyValue(\n themeVariables.fontFamily,\n DEFAULT_RAILROAD_CONFIG.fontFamily\n );\n const fontSize = parseThemeFontSize(themeVariables.fontSize) ?? DEFAULT_RAILROAD_CONFIG.fontSize;\n return {\n ...DEFAULT_RAILROAD_CONFIG,\n fontFamily,\n fontSize,\n terminalFill: sanitizeColorValue(\n themeVariables.secondBkg ?? themeVariables.secondaryColor,\n DEFAULT_RAILROAD_CONFIG.terminalFill\n ),\n terminalStroke: sanitizeColorValue(\n themeVariables.secondaryBorderColor ?? themeVariables.lineColor,\n DEFAULT_RAILROAD_CONFIG.terminalStroke\n ),\n terminalTextColor: sanitizeColorValue(\n themeVariables.secondaryTextColor ?? themeVariables.textColor,\n DEFAULT_RAILROAD_CONFIG.terminalTextColor\n ),\n nonTerminalFill: sanitizeColorValue(\n themeVariables.mainBkg ?? themeVariables.background,\n DEFAULT_RAILROAD_CONFIG.nonTerminalFill\n ),\n nonTerminalStroke: sanitizeColorValue(\n themeVariables.primaryBorderColor ?? themeVariables.lineColor,\n DEFAULT_RAILROAD_CONFIG.nonTerminalStroke\n ),\n nonTerminalTextColor: sanitizeColorValue(\n themeVariables.primaryTextColor ?? themeVariables.textColor,\n DEFAULT_RAILROAD_CONFIG.nonTerminalTextColor\n ),\n lineColor: sanitizeColorValue(themeVariables.lineColor, DEFAULT_RAILROAD_CONFIG.lineColor),\n markerFill: sanitizeColorValue(themeVariables.lineColor, DEFAULT_RAILROAD_CONFIG.markerFill),\n commentFill: sanitizeColorValue(\n themeVariables.labelBackground ?? themeVariables.tertiaryColor,\n DEFAULT_RAILROAD_CONFIG.commentFill\n ),\n commentStroke: sanitizeColorValue(\n themeVariables.tertiaryBorderColor ?? themeVariables.lineColor,\n DEFAULT_RAILROAD_CONFIG.commentStroke\n ),\n commentTextColor: sanitizeColorValue(\n themeVariables.tertiaryTextColor ?? themeVariables.textColor,\n DEFAULT_RAILROAD_CONFIG.commentTextColor\n ),\n specialFill: sanitizeColorValue(\n themeVariables.tertiaryColor ?? themeVariables.secondaryColor,\n DEFAULT_RAILROAD_CONFIG.specialFill\n ),\n specialStroke: sanitizeColorValue(\n themeVariables.tertiaryBorderColor ?? themeVariables.secondaryBorderColor,\n DEFAULT_RAILROAD_CONFIG.specialStroke\n ),\n ruleNameColor: sanitizeColorValue(\n themeVariables.titleColor ?? themeVariables.textColor,\n DEFAULT_RAILROAD_CONFIG.ruleNameColor\n )\n };\n}, \"buildThemeDefaults\");\nvar buildRailroadStyleOptions = /* @__PURE__ */ __name((options) => {\n const currentConfig = getConfig();\n const themeVariables = {\n ...getThemeVariables(),\n ...currentConfig.themeVariables ?? {},\n ...extractThemeOverrides(options)\n };\n const themeDefaults = buildThemeDefaults(themeVariables);\n const railroadOptions = {\n ...currentConfig.railroad ?? {},\n ...extractRailroadOverrides(options)\n };\n return {\n compactMode: railroadOptions.compactMode ?? themeDefaults.compactMode,\n padding: sanitizeNumberValue(railroadOptions.padding, themeDefaults.padding),\n verticalSeparation: sanitizeNumberValue(\n railroadOptions.verticalSeparation,\n themeDefaults.verticalSeparation\n ),\n horizontalSeparation: sanitizeNumberValue(\n railroadOptions.horizontalSeparation,\n themeDefaults.horizontalSeparation\n ),\n arcRadius: sanitizeNumberValue(railroadOptions.arcRadius, themeDefaults.arcRadius),\n fontSize: sanitizeNumberValue(railroadOptions.fontSize, themeDefaults.fontSize),\n fontFamily: sanitizeFontFamilyValue(railroadOptions.fontFamily, themeDefaults.fontFamily),\n terminalFill: sanitizeColorValue(railroadOptions.terminalFill, themeDefaults.terminalFill),\n terminalStroke: sanitizeColorValue(\n railroadOptions.terminalStroke,\n themeDefaults.terminalStroke\n ),\n terminalTextColor: sanitizeColorValue(\n railroadOptions.terminalTextColor,\n themeDefaults.terminalTextColor\n ),\n nonTerminalFill: sanitizeColorValue(\n railroadOptions.nonTerminalFill,\n themeDefaults.nonTerminalFill\n ),\n nonTerminalStroke: sanitizeColorValue(\n railroadOptions.nonTerminalStroke,\n themeDefaults.nonTerminalStroke\n ),\n nonTerminalTextColor: sanitizeColorValue(\n railroadOptions.nonTerminalTextColor,\n themeDefaults.nonTerminalTextColor\n ),\n lineColor: sanitizeColorValue(railroadOptions.lineColor, themeDefaults.lineColor),\n strokeWidth: sanitizeNumberValue(railroadOptions.strokeWidth, themeDefaults.strokeWidth),\n markerFill: sanitizeColorValue(railroadOptions.markerFill, themeDefaults.markerFill),\n commentFill: sanitizeColorValue(railroadOptions.commentFill, themeDefaults.commentFill),\n commentStroke: sanitizeColorValue(railroadOptions.commentStroke, themeDefaults.commentStroke),\n commentTextColor: sanitizeColorValue(\n railroadOptions.commentTextColor,\n themeDefaults.commentTextColor\n ),\n specialFill: sanitizeColorValue(railroadOptions.specialFill, themeDefaults.specialFill),\n specialStroke: sanitizeColorValue(railroadOptions.specialStroke, themeDefaults.specialStroke),\n ruleNameColor: sanitizeColorValue(railroadOptions.ruleNameColor, themeDefaults.ruleNameColor),\n showMarkers: railroadOptions.showMarkers ?? themeDefaults.showMarkers,\n markerRadius: sanitizeNumberValue(railroadOptions.markerRadius, themeDefaults.markerRadius)\n };\n}, \"buildRailroadStyleOptions\");\nvar getStyles = /* @__PURE__ */ __name((options) => {\n const {\n fontFamily,\n fontSize,\n terminalFill,\n terminalStroke,\n terminalTextColor,\n nonTerminalFill,\n nonTerminalStroke,\n nonTerminalTextColor,\n lineColor,\n strokeWidth,\n markerFill,\n commentFill,\n commentStroke,\n commentTextColor,\n specialFill,\n specialStroke,\n ruleNameColor\n } = buildRailroadStyleOptions(options);\n return `\n .railroad-diagram {\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n }\n\n .railroad-terminal rect {\n fill: ${terminalFill};\n stroke: ${terminalStroke};\n stroke-width: ${strokeWidth}px;\n }\n\n .railroad-terminal text {\n fill: ${terminalTextColor};\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n text-anchor: middle;\n dominant-baseline: middle;\n }\n\n .railroad-nonterminal rect {\n fill: ${nonTerminalFill};\n stroke: ${nonTerminalStroke};\n stroke-width: ${strokeWidth}px;\n }\n\n .railroad-nonterminal text {\n fill: ${nonTerminalTextColor};\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n text-anchor: middle;\n dominant-baseline: middle;\n }\n\n .railroad-line {\n stroke: ${lineColor};\n stroke-width: ${strokeWidth}px;\n fill: none;\n }\n\n .railroad-start circle,\n .railroad-end circle {\n fill: ${markerFill};\n }\n\n .railroad-comment ellipse {\n fill: ${commentFill};\n stroke: ${commentStroke};\n stroke-width: ${strokeWidth}px;\n }\n\n .railroad-comment text {\n fill: ${commentTextColor};\n font-style: italic;\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n text-anchor: middle;\n dominant-baseline: middle;\n }\n\n .railroad-special rect {\n fill: ${specialFill};\n stroke: ${specialStroke};\n stroke-width: ${strokeWidth}px;\n stroke-dasharray: 5,3;\n }\n\n .railroad-special text {\n fill: ${nonTerminalTextColor};\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n text-anchor: middle;\n dominant-baseline: middle;\n }\n\n .railroad-rule-name {\n font-weight: bold;\n fill: ${ruleNameColor};\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n }\n\n .railroad-group {\n /* Grouping container, no specific styles */\n }\n`;\n}, \"getStyles\");\n\n// src/diagrams/railroad/railroadRenderer.ts\nvar PathBuilder = class {\n constructor() {\n this.d = \"\";\n }\n static {\n __name(this, \"PathBuilder\");\n }\n moveTo(x, y) {\n this.d += `M ${x} ${y} `;\n return this;\n }\n lineTo(x, y) {\n this.d += `L ${x} ${y} `;\n return this;\n }\n horizontalTo(x) {\n this.d += `H ${x} `;\n return this;\n }\n verticalTo(y) {\n this.d += `V ${y} `;\n return this;\n }\n arcTo(rx, ry, rotation, largeArc, sweep, x, y) {\n this.d += `A ${rx} ${ry} ${rotation} ${largeArc ? 1 : 0} ${sweep ? 1 : 0} ${x} ${y} `;\n return this;\n }\n build() {\n return this.d.trim();\n }\n};\nvar RailroadRenderer = class {\n constructor(svg, config = buildRailroadStyleOptions()) {\n this.textCache = /* @__PURE__ */ new Map();\n this.svg = svg;\n this.config = config;\n }\n static {\n __name(this, \"RailroadRenderer\");\n }\n /**\n * Measure text dimensions\n */\n measureText(text) {\n if (this.textCache.has(text)) {\n return this.textCache.get(text);\n }\n const tempText = this.svg.append(\"text\").attr(\"font-family\", this.config.fontFamily).attr(\"font-size\", this.config.fontSize).text(text);\n const bbox = tempText.node().getBBox();\n const dimensions = { width: bbox.width, height: bbox.height };\n tempText.remove();\n this.textCache.set(text, dimensions);\n return dimensions;\n }\n /**\n * Render terminal symbol (rounded rectangle)\n */\n renderTerminal(parent, value) {\n const textDim = this.measureText(value);\n const width = textDim.width + this.config.padding * 2;\n const height = textDim.height + this.config.padding * 2;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-terminal\");\n group.append(\"rect\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", width).attr(\"height\", height).attr(\"rx\", 10).attr(\"ry\", 10);\n group.append(\"text\").attr(\"x\", width / 2).attr(\"y\", height / 2).text(value);\n return {\n element: group.node(),\n dimensions: {\n width,\n height,\n up: height / 2,\n down: height / 2\n }\n };\n }\n /**\n * Render non-terminal symbol (rectangle)\n */\n renderNonTerminal(parent, name) {\n const textDim = this.measureText(name);\n const width = textDim.width + this.config.padding * 2;\n const height = textDim.height + this.config.padding * 2;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-nonterminal\");\n group.append(\"rect\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", width).attr(\"height\", height);\n group.append(\"text\").attr(\"x\", width / 2).attr(\"y\", height / 2).text(name);\n return {\n element: group.node(),\n dimensions: {\n width,\n height,\n up: height / 2,\n down: height / 2\n }\n };\n }\n /**\n * Render sequence (horizontal concatenation)\n */\n renderSequence(parent, elements) {\n const rendered = elements.map((e) => this.renderExpression(parent, e));\n let totalWidth = 0;\n let maxUp = 0;\n let maxDown = 0;\n for (const r of rendered) {\n totalWidth += r.dimensions.width;\n maxUp = Math.max(maxUp, r.dimensions.up);\n maxDown = Math.max(maxDown, r.dimensions.down);\n }\n totalWidth += (rendered.length - 1) * this.config.horizontalSeparation;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-sequence\");\n let x = 0;\n for (let i = 0; i < rendered.length; i++) {\n const r = rendered[i];\n const y = maxUp - r.dimensions.up;\n const elem = group.node().appendChild(r.element);\n elem.setAttribute(\"transform\", `translate(${x}, ${y})`);\n if (i < rendered.length - 1) {\n const lineX1 = x + r.dimensions.width;\n const lineX2 = lineX1 + this.config.horizontalSeparation;\n const lineY = maxUp;\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", new PathBuilder().moveTo(lineX1, lineY).lineTo(lineX2, lineY).build());\n }\n x += r.dimensions.width + this.config.horizontalSeparation;\n }\n return {\n element: group.node(),\n dimensions: {\n width: totalWidth,\n height: maxUp + maxDown,\n up: maxUp,\n down: maxDown\n }\n };\n }\n /**\n * Render choice (vertical alternatives)\n */\n renderChoice(parent, alternatives) {\n const rendered = alternatives.map((a) => this.renderExpression(parent, a));\n let maxWidth = 0;\n let totalHeight = 0;\n for (const r of rendered) {\n maxWidth = Math.max(maxWidth, r.dimensions.width);\n totalHeight += r.dimensions.height;\n }\n totalHeight += (rendered.length - 1) * this.config.verticalSeparation;\n const arcRadius = this.config.arcRadius;\n const arcWidth = arcRadius * 4;\n const totalWidth = maxWidth + arcWidth;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-choice\");\n let y = 0;\n const centerY = totalHeight / 2;\n for (const r of rendered) {\n const elemY = y;\n const elemCenterY = elemY + r.dimensions.up;\n const elemX = arcRadius * 2 + (maxWidth - r.dimensions.width) / 2;\n const elem = group.node().appendChild(r.element);\n elem.setAttribute(\"transform\", `translate(${elemX}, ${elemY})`);\n const leftPath = new PathBuilder();\n const isBelowCenter = elemCenterY > centerY;\n if (elemCenterY === centerY) {\n leftPath.moveTo(0, centerY).lineTo(elemX, elemCenterY);\n } else {\n leftPath.moveTo(0, centerY).arcTo(\n arcRadius,\n arcRadius,\n 0,\n false,\n isBelowCenter,\n arcRadius,\n centerY + (isBelowCenter ? arcRadius : -arcRadius)\n ).lineTo(arcRadius, elemCenterY - (isBelowCenter ? arcRadius : -arcRadius)).arcTo(arcRadius, arcRadius, 0, false, !isBelowCenter, arcRadius * 2, elemCenterY).lineTo(elemX, elemCenterY);\n }\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", leftPath.build());\n const rightPath = new PathBuilder();\n const rightStart = elemX + r.dimensions.width;\n const rightLaneX = totalWidth - arcRadius * 2;\n if (elemCenterY === centerY) {\n rightPath.moveTo(rightStart, elemCenterY).lineTo(totalWidth, centerY);\n } else {\n rightPath.moveTo(rightStart, elemCenterY).lineTo(rightLaneX, elemCenterY).arcTo(\n arcRadius,\n arcRadius,\n 0,\n false,\n !isBelowCenter,\n totalWidth - arcRadius,\n elemCenterY + (isBelowCenter ? -arcRadius : arcRadius)\n ).lineTo(totalWidth - arcRadius, centerY + (isBelowCenter ? arcRadius : -arcRadius)).arcTo(arcRadius, arcRadius, 0, false, isBelowCenter, totalWidth, centerY);\n }\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", rightPath.build());\n y += r.dimensions.height + this.config.verticalSeparation;\n }\n return {\n element: group.node(),\n dimensions: {\n width: totalWidth,\n height: totalHeight,\n up: centerY,\n down: totalHeight - centerY\n }\n };\n }\n /**\n * Render optional (bypass path above)\n */\n renderOptional(parent, element) {\n const inner = this.renderExpression(parent, element);\n const arcRadius = this.config.arcRadius;\n const arcHeight = arcRadius * 2;\n const totalWidth = inner.dimensions.width + arcRadius * 4;\n const totalHeight = inner.dimensions.height + arcHeight;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-optional\");\n const elemX = arcRadius * 2;\n const elemY = arcHeight;\n const elem = group.node().appendChild(inner.element);\n elem.setAttribute(\"transform\", `translate(${elemX}, ${elemY})`);\n const centerY = elemY + inner.dimensions.up;\n const lowerPath = new PathBuilder().moveTo(0, centerY).lineTo(arcRadius * 2, centerY);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", lowerPath.build());\n const lowerPath2 = new PathBuilder().moveTo(elemX + inner.dimensions.width, centerY).lineTo(totalWidth, centerY);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", lowerPath2.build());\n const bypassPath = new PathBuilder().moveTo(0, centerY).arcTo(arcRadius, arcRadius, 0, false, false, arcRadius, centerY - arcRadius).lineTo(arcRadius, arcRadius).arcTo(arcRadius, arcRadius, 0, false, true, arcRadius * 2, 0).lineTo(totalWidth - arcRadius * 2, 0).arcTo(arcRadius, arcRadius, 0, false, true, totalWidth - arcRadius, arcRadius).lineTo(totalWidth - arcRadius, centerY - arcRadius).arcTo(arcRadius, arcRadius, 0, false, false, totalWidth, centerY);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", bypassPath.build());\n return {\n element: group.node(),\n dimensions: {\n width: totalWidth,\n height: totalHeight,\n up: centerY,\n down: totalHeight - centerY\n }\n };\n }\n /**\n * Render repetition (loop back path)\n */\n renderRepetition(parent, element, min) {\n const inner = this.renderExpression(parent, element);\n const arcRadius = this.config.arcRadius;\n const arcHeight = arcRadius * 2;\n const totalWidth = inner.dimensions.width + arcRadius * 4;\n const hasBypass = min === 0;\n const totalHeight = inner.dimensions.height + arcHeight + (hasBypass ? arcHeight : 0);\n const group = parent.append(\"g\").attr(\"class\", \"railroad-repetition\");\n const elemX = arcRadius * 2;\n const elemY = hasBypass ? arcHeight : 0;\n const elem = group.node().appendChild(inner.element);\n elem.setAttribute(\"transform\", `translate(${elemX}, ${elemY})`);\n const centerY = elemY + inner.dimensions.up;\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\n \"d\",\n new PathBuilder().moveTo(0, centerY).lineTo(arcRadius * 2, centerY).build()\n );\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\n \"d\",\n new PathBuilder().moveTo(elemX + inner.dimensions.width, centerY).lineTo(totalWidth, centerY).build()\n );\n const loopY = elemY + inner.dimensions.height + arcRadius;\n const loopPath = new PathBuilder().moveTo(elemX + inner.dimensions.width, centerY).arcTo(\n arcRadius,\n arcRadius,\n 0,\n false,\n true,\n elemX + inner.dimensions.width + arcRadius,\n centerY + arcRadius\n ).lineTo(elemX + inner.dimensions.width + arcRadius, loopY).arcTo(\n arcRadius,\n arcRadius,\n 0,\n false,\n true,\n elemX + inner.dimensions.width,\n loopY + arcRadius\n ).lineTo(arcRadius * 2, loopY + arcRadius).arcTo(arcRadius, arcRadius, 0, false, true, arcRadius, loopY).lineTo(arcRadius, centerY + arcRadius).arcTo(arcRadius, arcRadius, 0, false, true, arcRadius * 2, centerY);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", loopPath.build());\n if (hasBypass) {\n const bypassPath = new PathBuilder().moveTo(0, centerY).arcTo(arcRadius, arcRadius, 0, false, false, arcRadius, centerY - arcRadius).lineTo(arcRadius, arcRadius).arcTo(arcRadius, arcRadius, 0, false, true, arcRadius * 2, 0).lineTo(totalWidth - arcRadius * 2, 0).arcTo(arcRadius, arcRadius, 0, false, true, totalWidth - arcRadius, arcRadius).lineTo(totalWidth - arcRadius, centerY - arcRadius).arcTo(arcRadius, arcRadius, 0, false, false, totalWidth, centerY);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", bypassPath.build());\n }\n return {\n element: group.node(),\n dimensions: {\n width: totalWidth,\n height: totalHeight,\n up: centerY,\n down: totalHeight - centerY\n }\n };\n }\n /**\n * Render special sequence\n */\n renderSpecial(parent, text) {\n const textDim = this.measureText(\"? \" + text + \" ?\");\n const width = textDim.width + this.config.padding * 2;\n const height = textDim.height + this.config.padding * 2;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-special\");\n group.append(\"rect\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", width).attr(\"height\", height);\n group.append(\"text\").attr(\"x\", width / 2).attr(\"y\", height / 2).text(\"? \" + text + \" ?\");\n return {\n element: group.node(),\n dimensions: {\n width,\n height,\n up: height / 2,\n down: height / 2\n }\n };\n }\n /**\n * Render an expression (recursive)\n */\n renderExpression(parent, node) {\n switch (node.type) {\n case \"terminal\":\n return this.renderTerminal(parent, node.value);\n case \"nonterminal\":\n return this.renderNonTerminal(parent, node.name);\n case \"sequence\":\n return this.renderSequence(parent, node.elements);\n case \"choice\":\n return this.renderChoice(parent, node.alternatives);\n case \"optional\":\n return this.renderOptional(parent, node.element);\n case \"repetition\":\n return this.renderRepetition(parent, node.element, node.min);\n case \"special\":\n return this.renderSpecial(parent, node.text);\n default:\n throw new Error(`Unknown node type: ${node.type}`);\n }\n }\n /**\n * Render a single rule\n */\n renderRule(rule, y) {\n const group = this.svg.append(\"g\").attr(\"class\", \"railroad-rule\").attr(\"transform\", `translate(0, ${y})`);\n const ruleName = rule.name + \" =\";\n const nameWidth = this.measureText(ruleName).width + 20;\n const definitionX = nameWidth + 20;\n const defGroup = group.append(\"g\");\n const result = this.renderExpression(defGroup, rule.definition);\n const baselineY = Math.max(20, result.dimensions.up);\n const definitionY = baselineY - result.dimensions.up;\n defGroup.attr(\"transform\", `translate(${definitionX}, ${definitionY})`);\n const nameGroup = group.append(\"g\").attr(\"class\", \"railroad-rule-name-group\");\n nameGroup.append(\"text\").attr(\"class\", \"railroad-rule-name\").attr(\"x\", 0).attr(\"y\", baselineY).text(ruleName);\n const startMarker = group.append(\"g\").attr(\"class\", \"railroad-start\");\n startMarker.append(\"circle\").attr(\"cx\", nameWidth).attr(\"cy\", baselineY).attr(\"r\", this.config.markerRadius);\n const endMarker = group.append(\"g\").attr(\"class\", \"railroad-end\");\n endMarker.append(\"circle\").attr(\"cx\", definitionX + result.dimensions.width + 10).attr(\"cy\", baselineY).attr(\"r\", this.config.markerRadius);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\n \"d\",\n new PathBuilder().moveTo(nameWidth + this.config.markerRadius, baselineY).lineTo(definitionX, baselineY).build()\n );\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\n \"d\",\n new PathBuilder().moveTo(definitionX + result.dimensions.width, baselineY).lineTo(definitionX + result.dimensions.width + 10 - this.config.markerRadius, baselineY).build()\n );\n return {\n height: Math.max(40, definitionY + result.dimensions.height + this.config.padding * 2),\n width: definitionX + result.dimensions.width + 10 + this.config.markerRadius\n };\n }\n /**\n * Render all rules\n */\n renderDiagram(rules2) {\n let y = this.config.padding;\n let maxWidth = 0;\n for (const rule of rules2) {\n const result = this.renderRule(rule, y);\n y += result.height + this.config.verticalSeparation;\n maxWidth = Math.max(maxWidth, result.width);\n }\n return {\n width: maxWidth + this.config.padding * 2,\n height: y + this.config.padding\n };\n }\n};\nvar configureRailroadSvgSize = /* @__PURE__ */ __name((svg, dimensions, useMaxWidth) => {\n configureSvgSize(svg, dimensions.height, dimensions.width, useMaxWidth);\n svg.attr(\"viewBox\", `0 0 ${dimensions.width} ${dimensions.height}`);\n}, \"configureRailroadSvgSize\");\nvar draw = /* @__PURE__ */ __name((text, id, _version) => {\n log.debug(\"[Railroad] Rendering diagram\\n\" + text);\n try {\n const svg = selectSvgElement(id);\n svg.attr(\"class\", \"railroad-diagram\");\n const railroadConfig = getConfig().railroad;\n const useMaxWidth = railroadConfig?.useMaxWidth ?? true;\n const rules2 = db.getRules();\n log.debug(`[Railroad] Rendering ${rules2.length} rules`);\n if (rules2.length === 0) {\n log.warn(\"[Railroad] No rules to render\");\n configureRailroadSvgSize(svg, { height: 100, width: 200 }, useMaxWidth);\n return;\n }\n const renderer2 = new RailroadRenderer(svg, buildRailroadStyleOptions());\n const dimensions = renderer2.renderDiagram(rules2);\n configureRailroadSvgSize(svg, dimensions, useMaxWidth);\n log.debug(\"[Railroad] Render complete\");\n } catch (error) {\n log.error(\"[Railroad] Render error:\", error);\n throw error;\n }\n}, \"draw\");\nvar renderer = { draw };\n\nexport {\n db,\n getStyles,\n renderer\n};\n"],"names":["diagramTitle","accTitle","accDescription","rules","ruleMap","sanitizeText2","__name","text","sanitizeText","getConfig2","sanitizeAstNode","node","clear2","clear","log","setTitle","getTitle","addRule","rule","sanitizedRule","getRules","getRule","name","setAccTitle","getAccTitle","setAccDescription","getAccDescription","setDiagramTitle","getDiagramTitle","db","DEFAULT_RAILROAD_CONFIG","COLOR_VALUE_PATTERN","FONT_FAMILY_PATTERN","RAILROAD_STYLE_OPTION_KEYS","isRailroadStyleOptions","options","key","extractRailroadOverrides","extractThemeOverrides","_railroad","_svgId","_theme","_look","themeOverrides","sanitizeColorValue","value","fallback","normalized","sanitizeFontFamilyValue","sanitizeNumberValue","parsed","parseThemeFontSize","buildThemeDefaults","themeVariables","fontFamily","fontSize","buildRailroadStyleOptions","currentConfig","getConfig","getThemeVariables","themeDefaults","railroadOptions","getStyles","terminalFill","terminalStroke","terminalTextColor","nonTerminalFill","nonTerminalStroke","nonTerminalTextColor","lineColor","strokeWidth","markerFill","commentFill","commentStroke","commentTextColor","specialFill","specialStroke","ruleNameColor","PathBuilder","_a","x","y","rx","ry","rotation","largeArc","sweep","RailroadRenderer","svg","config","tempText","bbox","dimensions","parent","textDim","width","height","group","elements","rendered","e","totalWidth","maxUp","maxDown","r","i","lineX1","lineX2","lineY","alternatives","a","maxWidth","totalHeight","arcRadius","arcWidth","centerY","elemY","elemCenterY","elemX","leftPath","isBelowCenter","rightPath","rightStart","rightLaneX","element","inner","arcHeight","lowerPath","lowerPath2","bypassPath","min","hasBypass","loopY","loopPath","ruleName","nameWidth","definitionX","defGroup","result","baselineY","definitionY","rules2","configureRailroadSvgSize","useMaxWidth","configureSvgSize","draw","id","_version","selectSvgElement","error","renderer"],"mappings":";AAmBA,IAAIA,IAAe,IACfC,IAAW,IACXC,IAAiB,IACjBC,IAAQ,CAAA,GACRC,IAA0B,oBAAI,IAAG,GACjCC,IAAgC,gBAAAC,EAAO,CAACC,MACnCC,EAAaD,GAAME,GAAY,GACrC,cAAc,GACbC,IAAkC,gBAAAJ,EAAO,CAACK,MAAS;AACrD,UAAQA,EAAK,MAAI;AAAA,IACf,KAAK;AACH,aAAO,EAAE,GAAGA,GAAM,OAAON,EAAcM,EAAK,KAAK,EAAC;AAAA,IACpD,KAAK;AACH,aAAO,EAAE,GAAGA,GAAM,MAAMN,EAAcM,EAAK,IAAI,EAAC;AAAA,IAClD,KAAK;AACH,aAAO,EAAE,GAAGA,GAAM,UAAUA,EAAK,SAAS,IAAID,CAAe,EAAC;AAAA,IAChE,KAAK;AACH,aAAO,EAAE,GAAGC,GAAM,cAAcA,EAAK,aAAa,IAAID,CAAe,EAAC;AAAA,IACxE,KAAK;AACH,aAAO,EAAE,GAAGC,GAAM,SAASD,EAAgBC,EAAK,OAAO,EAAC;AAAA,IAC1D,KAAK;AACH,aAAO;AAAA,QACL,GAAGA;AAAA,QACH,SAASD,EAAgBC,EAAK,OAAO;AAAA,QACrC,WAAWA,EAAK,YAAYD,EAAgBC,EAAK,SAAS,IAAI;AAAA,MACtE;AAAA,IACI,KAAK;AACH,aAAO,EAAE,GAAGA,GAAM,MAAMN,EAAcM,EAAK,IAAI,EAAC;AAAA,EACtD;AACA,GAAG,iBAAiB,GAChBC,IAAyB,gBAAAN,EAAO,MAAM;AACxC,EAAAN,IAAe,IACfC,IAAW,IACXC,IAAiB,IACjBC,EAAM,SAAS,GACfC,EAAQ,MAAK,GACbS,EAAK,GACLC,EAAI,MAAM,6BAA6B;AACzC,GAAG,OAAO,GACNC,IAA2B,gBAAAT,EAAO,CAACC,MAAS;AAC9C,EAAAP,IAAeK,EAAcE,CAAI,GACjCO,EAAI,MAAM,yBAAyBP,CAAI;AACzC,GAAG,UAAU,GACTS,IAA2B,gBAAAV,EAAO,MAC7BN,GACN,UAAU,GACTiB,IAA0B,gBAAAX,EAAO,CAACY,MAAS;AAC7C,QAAMC,IAAgB;AAAA,IACpB,GAAGD;AAAA,IACH,MAAMb,EAAca,EAAK,IAAI;AAAA,IAC7B,YAAYR,EAAgBQ,EAAK,UAAU;AAAA,IAC3C,SAASA,EAAK,UAAUb,EAAca,EAAK,OAAO,IAAI;AAAA,EAC1D;AACE,EAAAJ,EAAI,MAAM,2BAA2BK,EAAc,IAAI,GACnDf,EAAQ,IAAIe,EAAc,IAAI,KAChCL,EAAI,KAAK,oBAAoBK,EAAc,IAAI,oCAAoC,GAErFhB,EAAM,KAAKgB,CAAa,GACxBf,EAAQ,IAAIe,EAAc,MAAMA,CAAa;AAC/C,GAAG,SAAS,GACRC,IAA2B,gBAAAd,EAAO,MAC7BH,GACN,UAAU,GACTkB,IAA0B,gBAAAf,EAAO,CAACgB,MAC7BlB,EAAQ,IAAIkB,CAAI,GACtB,SAAS,GACRC,KAA8B,gBAAAjB,EAAO,CAACC,MAAS;AACjD,EAAAN,IAAWI,EAAcE,CAAI,EAAE,QAAQ,SAAS,EAAE,GAClDO,EAAI,MAAM,uCAAuCP,CAAI;AACvD,GAAG,aAAa,GACZiB,KAA8B,gBAAAlB,EAAO,MAChCL,GACN,aAAa,GACZwB,KAAoC,gBAAAnB,EAAO,CAACC,MAAS;AACvD,EAAAL,IAAiBG,EAAcE,CAAI,EAAE,QAAQ,UAAU;AAAA,CAAI,GAC3DO,EAAI,MAAM,6CAA6CP,CAAI;AAC7D,GAAG,mBAAmB,GAClBmB,KAAoC,gBAAApB,EAAO,MACtCJ,GACN,mBAAmB,GAClByB,KAAkBZ,GAClBa,KAAkBZ,GAClBa,KAAK;AAAA,EACP,OAAOjB;AAAA,EACP,UAAAG;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAG;AAAA,EACA,SAAAC;AAAA,EACA,aAAAE;AAAA,EACA,aAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,iBAAAC;AACF,GAGIE,IAA0B;AAAA;AAAA,EAE5B,aAAa;AAAA;AAAA,EAEb,SAAS;AAAA,EACT,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EACtB,WAAW;AAAA;AAAA,EAEX,UAAU;AAAA,EACV,YAAY;AAAA;AAAA,EAEZ,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,mBAAmB;AAAA;AAAA,EAEnB,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,sBAAsB;AAAA;AAAA,EAEtB,WAAW;AAAA,EACX,aAAa;AAAA;AAAA,EAEb,YAAY;AAAA;AAAA,EAEZ,aAAa;AAAA,EACb,eAAe;AAAA,EACf,kBAAkB;AAAA;AAAA,EAElB,aAAa;AAAA,EACb,eAAe;AAAA;AAAA,EAEf,eAAe;AAAA,EACf,aAAa;AAAA,EACb,cAAc;AAChB,GAGIC,KAAsB,wHACtBC,KAAsB,iBACtBC,KAA6C,oBAAI,IAAI;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC,GACGC,IAAyC,gBAAA5B,EAAO,CAAC6B,MAC9CA,IAGE,OAAO,KAAKA,CAAO,EAAE;AAAA,EAC1B,CAACC,MAAQA,MAAQ,cAAcH,GAA2B,IAAIG,CAAG;AACrE,IAJW,IAKR,wBAAwB,GACvBC,KAA2C,gBAAA/B,EAAO,CAAC6B,MAChDA,IAGD,cAAcA,KAAWA,EAAQ,WAC5BA,EAAQ,WAEVD,EAAuBC,CAAO,IAAIA,IAAU,CAAA,IAL1C,CAAA,GAMR,0BAA0B,GACzBG,KAAwC,gBAAAhC,EAAO,CAAC6B,MAAY;AAC9D,MAAI,CAACA,KAAWD,EAAuBC,CAAO;AAC5C,WAAO,CAAA;AAET,QAAM;AAAA,IACJ,UAAUI;AAAA,IACV,OAAOC;AAAA,IACP,OAAOC;AAAA,IACP,MAAMC;AAAA,IACN,GAAGC;AAAA,EACP,IAAMR;AACJ,SAAOQ;AACT,GAAG,uBAAuB,GACtBC,IAAqC,gBAAAtC,EAAO,CAACuC,GAAOC,MAAa;AACnE,MAAI,OAAOD,KAAU;AACnB,WAAOC;AAET,QAAMC,IAAaF,EAAM,KAAI;AAC7B,SAAOd,GAAoB,KAAKgB,CAAU,IAAIA,IAAaD;AAC7D,GAAG,oBAAoB,GACnBE,IAA0C,gBAAA1C,EAAO,CAACuC,GAAOC,MAAa;AACxE,MAAI,OAAOD,KAAU;AACnB,WAAOC;AAET,QAAMC,IAAaF,EAAM,KAAI;AAC7B,SAAOb,GAAoB,KAAKe,CAAU,IAAIA,IAAaD;AAC7D,GAAG,yBAAyB,GACxBG,IAAsC,gBAAA3C,EAAO,CAACuC,GAAOC,MAAa;AACpE,QAAMI,IAAS,OAAOL,KAAU,WAAWA,IAAQ,OAAOA,KAAU,WAAW,OAAO,WAAWA,CAAK,IAAI,OAAO;AACjH,SAAO,OAAO,SAASK,CAAM,KAAKA,KAAU,IAAIA,IAASJ;AAC3D,GAAG,qBAAqB,GACpBK,KAAqC,gBAAA7C,EAAO,CAACuC,MAAU;AACzD,QAAMK,IAAS,OAAOL,KAAU,WAAWA,IAAQ,OAAOA,KAAU,WAAW,OAAO,WAAWA,CAAK,IAAI,OAAO;AACjH,SAAO,OAAO,SAASK,CAAM,KAAKA,IAAS,IAAIA,IAAS;AAC1D,GAAG,oBAAoB,GACnBE,KAAqC,gBAAA9C,EAAO,CAAC+C,MAAmB;AAClE,QAAMC,IAAaN;AAAA,IACjBK,EAAe;AAAA,IACfvB,EAAwB;AAAA,EAC5B,GACQyB,IAAWJ,GAAmBE,EAAe,QAAQ,KAAKvB,EAAwB;AACxF,SAAO;AAAA,IACL,GAAGA;AAAA,IACH,YAAAwB;AAAA,IACA,UAAAC;AAAA,IACA,cAAcX;AAAA,MACZS,EAAe,aAAaA,EAAe;AAAA,MAC3CvB,EAAwB;AAAA,IAC9B;AAAA,IACI,gBAAgBc;AAAA,MACdS,EAAe,wBAAwBA,EAAe;AAAA,MACtDvB,EAAwB;AAAA,IAC9B;AAAA,IACI,mBAAmBc;AAAA,MACjBS,EAAe,sBAAsBA,EAAe;AAAA,MACpDvB,EAAwB;AAAA,IAC9B;AAAA,IACI,iBAAiBc;AAAA,MACfS,EAAe,WAAWA,EAAe;AAAA,MACzCvB,EAAwB;AAAA,IAC9B;AAAA,IACI,mBAAmBc;AAAA,MACjBS,EAAe,sBAAsBA,EAAe;AAAA,MACpDvB,EAAwB;AAAA,IAC9B;AAAA,IACI,sBAAsBc;AAAA,MACpBS,EAAe,oBAAoBA,EAAe;AAAA,MAClDvB,EAAwB;AAAA,IAC9B;AAAA,IACI,WAAWc,EAAmBS,EAAe,WAAWvB,EAAwB,SAAS;AAAA,IACzF,YAAYc,EAAmBS,EAAe,WAAWvB,EAAwB,UAAU;AAAA,IAC3F,aAAac;AAAA,MACXS,EAAe,mBAAmBA,EAAe;AAAA,MACjDvB,EAAwB;AAAA,IAC9B;AAAA,IACI,eAAec;AAAA,MACbS,EAAe,uBAAuBA,EAAe;AAAA,MACrDvB,EAAwB;AAAA,IAC9B;AAAA,IACI,kBAAkBc;AAAA,MAChBS,EAAe,qBAAqBA,EAAe;AAAA,MACnDvB,EAAwB;AAAA,IAC9B;AAAA,IACI,aAAac;AAAA,MACXS,EAAe,iBAAiBA,EAAe;AAAA,MAC/CvB,EAAwB;AAAA,IAC9B;AAAA,IACI,eAAec;AAAA,MACbS,EAAe,uBAAuBA,EAAe;AAAA,MACrDvB,EAAwB;AAAA,IAC9B;AAAA,IACI,eAAec;AAAA,MACbS,EAAe,cAAcA,EAAe;AAAA,MAC5CvB,EAAwB;AAAA,IAC9B;AAAA,EACA;AACA,GAAG,oBAAoB,GACnB0B,IAA4C,gBAAAlD,EAAO,CAAC6B,MAAY;AAClE,QAAMsB,IAAgBC,EAAS,GACzBL,IAAiB;AAAA,IACrB,GAAGM,EAAiB;AAAA,IACpB,GAAGF,EAAc,kBAAkB,CAAA;AAAA,IACnC,GAAGnB,GAAsBH,CAAO;AAAA,EACpC,GACQyB,IAAgBR,GAAmBC,CAAc,GACjDQ,IAAkB;AAAA,IACtB,GAAGJ,EAAc,YAAY,CAAA;AAAA,IAC7B,GAAGpB,GAAyBF,CAAO;AAAA,EACvC;AACE,SAAO;AAAA,IACL,aAAa0B,EAAgB,eAAeD,EAAc;AAAA,IAC1D,SAASX,EAAoBY,EAAgB,SAASD,EAAc,OAAO;AAAA,IAC3E,oBAAoBX;AAAA,MAClBY,EAAgB;AAAA,MAChBD,EAAc;AAAA,IACpB;AAAA,IACI,sBAAsBX;AAAA,MACpBY,EAAgB;AAAA,MAChBD,EAAc;AAAA,IACpB;AAAA,IACI,WAAWX,EAAoBY,EAAgB,WAAWD,EAAc,SAAS;AAAA,IACjF,UAAUX,EAAoBY,EAAgB,UAAUD,EAAc,QAAQ;AAAA,IAC9E,YAAYZ,EAAwBa,EAAgB,YAAYD,EAAc,UAAU;AAAA,IACxF,cAAchB,EAAmBiB,EAAgB,cAAcD,EAAc,YAAY;AAAA,IACzF,gBAAgBhB;AAAA,MACdiB,EAAgB;AAAA,MAChBD,EAAc;AAAA,IACpB;AAAA,IACI,mBAAmBhB;AAAA,MACjBiB,EAAgB;AAAA,MAChBD,EAAc;AAAA,IACpB;AAAA,IACI,iBAAiBhB;AAAA,MACfiB,EAAgB;AAAA,MAChBD,EAAc;AAAA,IACpB;AAAA,IACI,mBAAmBhB;AAAA,MACjBiB,EAAgB;AAAA,MAChBD,EAAc;AAAA,IACpB;AAAA,IACI,sBAAsBhB;AAAA,MACpBiB,EAAgB;AAAA,MAChBD,EAAc;AAAA,IACpB;AAAA,IACI,WAAWhB,EAAmBiB,EAAgB,WAAWD,EAAc,SAAS;AAAA,IAChF,aAAaX,EAAoBY,EAAgB,aAAaD,EAAc,WAAW;AAAA,IACvF,YAAYhB,EAAmBiB,EAAgB,YAAYD,EAAc,UAAU;AAAA,IACnF,aAAahB,EAAmBiB,EAAgB,aAAaD,EAAc,WAAW;AAAA,IACtF,eAAehB,EAAmBiB,EAAgB,eAAeD,EAAc,aAAa;AAAA,IAC5F,kBAAkBhB;AAAA,MAChBiB,EAAgB;AAAA,MAChBD,EAAc;AAAA,IACpB;AAAA,IACI,aAAahB,EAAmBiB,EAAgB,aAAaD,EAAc,WAAW;AAAA,IACtF,eAAehB,EAAmBiB,EAAgB,eAAeD,EAAc,aAAa;AAAA,IAC5F,eAAehB,EAAmBiB,EAAgB,eAAeD,EAAc,aAAa;AAAA,IAC5F,aAAaC,EAAgB,eAAeD,EAAc;AAAA,IAC1D,cAAcX,EAAoBY,EAAgB,cAAcD,EAAc,YAAY;AAAA,EAC9F;AACA,GAAG,2BAA2B,GAC1BE,KAA4B,gBAAAxD,EAAO,CAAC6B,MAAY;AAClD,QAAM;AAAA,IACJ,YAAAmB;AAAA,IACA,UAAAC;AAAA,IACA,cAAAQ;AAAA,IACA,gBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC;AAAA,IACA,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,EACJ,IAAMrB,EAA0BrB,CAAO;AACrC,SAAO;AAAA;AAAA,mBAEUmB,CAAU;AAAA,iBACZC,CAAQ;AAAA;AAAA;AAAA;AAAA,YAIbQ,CAAY;AAAA,cACVC,CAAc;AAAA,oBACRM,CAAW;AAAA;AAAA;AAAA;AAAA,YAInBL,CAAiB;AAAA,mBACVX,CAAU;AAAA,iBACZC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAMbW,CAAe;AAAA,cACbC,CAAiB;AAAA,oBACXG,CAAW;AAAA;AAAA;AAAA;AAAA,YAInBF,CAAoB;AAAA,mBACbd,CAAU;AAAA,iBACZC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAMXc,CAAS;AAAA,oBACHC,CAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAMnBC,CAAU;AAAA;AAAA;AAAA;AAAA,YAIVC,CAAW;AAAA,cACTC,CAAa;AAAA,oBACPH,CAAW;AAAA;AAAA;AAAA;AAAA,YAInBI,CAAgB;AAAA;AAAA,mBAETpB,CAAU;AAAA,iBACZC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAMboB,CAAW;AAAA,cACTC,CAAa;AAAA,oBACPN,CAAW;AAAA;AAAA;AAAA;AAAA;AAAA,YAKnBF,CAAoB;AAAA,mBACbd,CAAU;AAAA,iBACZC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAObsB,CAAa;AAAA,mBACNvB,CAAU;AAAA,iBACZC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOzB,GAAG,WAAW,MAGVuB,KAAcC,IAAA,MAAM;AAAA,EACtB,cAAc;AACZ,SAAK,IAAI;AAAA,EACX;AAAA,EAIA,OAAOC,GAAGC,GAAG;AACX,gBAAK,KAAK,KAAKD,CAAC,IAAIC,CAAC,KACd;AAAA,EACT;AAAA,EACA,OAAOD,GAAGC,GAAG;AACX,gBAAK,KAAK,KAAKD,CAAC,IAAIC,CAAC,KACd;AAAA,EACT;AAAA,EACA,aAAaD,GAAG;AACd,gBAAK,KAAK,KAAKA,CAAC,KACT;AAAA,EACT;AAAA,EACA,WAAWC,GAAG;AACZ,gBAAK,KAAK,KAAKA,CAAC,KACT;AAAA,EACT;AAAA,EACA,MAAMC,GAAIC,GAAIC,GAAUC,GAAUC,GAAON,GAAGC,GAAG;AAC7C,gBAAK,KAAK,KAAKC,CAAE,IAAIC,CAAE,IAAIC,CAAQ,IAAIC,IAAW,IAAI,CAAC,IAAIC,IAAQ,IAAI,CAAC,IAAIN,CAAC,IAAIC,CAAC,KAC3E;AAAA,EACT;AAAA,EACA,QAAQ;AACN,WAAO,KAAK,EAAE,KAAI;AAAA,EACpB;AACF,GAzBI3E,EAAOyE,GAAM,aAAa,GALZA,OA+BdQ,MAAmBR,IAAA,MAAM;AAAA,EAC3B,YAAYS,GAAKC,IAASjC,KAA6B;AACrD,SAAK,YAA4B,oBAAI,IAAG,GACxC,KAAK,MAAMgC,GACX,KAAK,SAASC;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAOA,YAAYlF,GAAM;AAChB,QAAI,KAAK,UAAU,IAAIA,CAAI;AACzB,aAAO,KAAK,UAAU,IAAIA,CAAI;AAEhC,UAAMmF,IAAW,KAAK,IAAI,OAAO,MAAM,EAAE,KAAK,eAAe,KAAK,OAAO,UAAU,EAAE,KAAK,aAAa,KAAK,OAAO,QAAQ,EAAE,KAAKnF,CAAI,GAChIoF,IAAOD,EAAS,KAAI,EAAG,QAAO,GAC9BE,IAAa,EAAE,OAAOD,EAAK,OAAO,QAAQA,EAAK,OAAM;AAC3D,WAAAD,EAAS,OAAM,GACf,KAAK,UAAU,IAAInF,GAAMqF,CAAU,GAC5BA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAIA,eAAeC,GAAQhD,GAAO;AAC5B,UAAMiD,IAAU,KAAK,YAAYjD,CAAK,GAChCkD,IAAQD,EAAQ,QAAQ,KAAK,OAAO,UAAU,GAC9CE,IAASF,EAAQ,SAAS,KAAK,OAAO,UAAU,GAChDG,IAAQJ,EAAO,OAAO,GAAG,EAAE,KAAK,SAAS,mBAAmB;AAClE,WAAAI,EAAM,OAAO,MAAM,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,SAASF,CAAK,EAAE,KAAK,UAAUC,CAAM,EAAE,KAAK,MAAM,EAAE,EAAE,KAAK,MAAM,EAAE,GACvHC,EAAM,OAAO,MAAM,EAAE,KAAK,KAAKF,IAAQ,CAAC,EAAE,KAAK,KAAKC,IAAS,CAAC,EAAE,KAAKnD,CAAK,GACnE;AAAA,MACL,SAASoD,EAAM,KAAI;AAAA,MACnB,YAAY;AAAA,QACV,OAAAF;AAAA,QACA,QAAAC;AAAA,QACA,IAAIA,IAAS;AAAA,QACb,MAAMA,IAAS;AAAA,MACvB;AAAA,IACA;AAAA,EACE;AAAA;AAAA;AAAA;AAAA,EAIA,kBAAkBH,GAAQvE,GAAM;AAC9B,UAAMwE,IAAU,KAAK,YAAYxE,CAAI,GAC/ByE,IAAQD,EAAQ,QAAQ,KAAK,OAAO,UAAU,GAC9CE,IAASF,EAAQ,SAAS,KAAK,OAAO,UAAU,GAChDG,IAAQJ,EAAO,OAAO,GAAG,EAAE,KAAK,SAAS,sBAAsB;AACrE,WAAAI,EAAM,OAAO,MAAM,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,SAASF,CAAK,EAAE,KAAK,UAAUC,CAAM,GACzFC,EAAM,OAAO,MAAM,EAAE,KAAK,KAAKF,IAAQ,CAAC,EAAE,KAAK,KAAKC,IAAS,CAAC,EAAE,KAAK1E,CAAI,GAClE;AAAA,MACL,SAAS2E,EAAM,KAAI;AAAA,MACnB,YAAY;AAAA,QACV,OAAAF;AAAA,QACA,QAAAC;AAAA,QACA,IAAIA,IAAS;AAAA,QACb,MAAMA,IAAS;AAAA,MACvB;AAAA,IACA;AAAA,EACE;AAAA;AAAA;AAAA;AAAA,EAIA,eAAeH,GAAQK,GAAU;AAC/B,UAAMC,IAAWD,EAAS,IAAI,CAACE,MAAM,KAAK,iBAAiBP,GAAQO,CAAC,CAAC;AACrE,QAAIC,IAAa,GACbC,IAAQ,GACRC,IAAU;AACd,eAAWC,KAAKL;AACd,MAAAE,KAAcG,EAAE,WAAW,OAC3BF,IAAQ,KAAK,IAAIA,GAAOE,EAAE,WAAW,EAAE,GACvCD,IAAU,KAAK,IAAIA,GAASC,EAAE,WAAW,IAAI;AAE/C,IAAAH,MAAeF,EAAS,SAAS,KAAK,KAAK,OAAO;AAClD,UAAMF,IAAQJ,EAAO,OAAO,GAAG,EAAE,KAAK,SAAS,mBAAmB;AAClE,QAAIb,IAAI;AACR,aAASyB,IAAI,GAAGA,IAAIN,EAAS,QAAQM,KAAK;AACxC,YAAMD,IAAIL,EAASM,CAAC,GACdxB,IAAIqB,IAAQE,EAAE,WAAW;AAG/B,UAFaP,EAAM,KAAI,EAAG,YAAYO,EAAE,OAAO,EAC1C,aAAa,aAAa,aAAaxB,CAAC,KAAKC,CAAC,GAAG,GAClDwB,IAAIN,EAAS,SAAS,GAAG;AAC3B,cAAMO,IAAS1B,IAAIwB,EAAE,WAAW,OAC1BG,IAASD,IAAS,KAAK,OAAO,sBAC9BE,IAAQN;AACd,QAAAL,EAAM,OAAO,MAAM,EAAE,KAAK,SAAS,eAAe,EAAE,KAAK,KAAK,IAAInB,EAAW,EAAG,OAAO4B,GAAQE,CAAK,EAAE,OAAOD,GAAQC,CAAK,EAAE,OAAO;AAAA,MACrI;AACA,MAAA5B,KAAKwB,EAAE,WAAW,QAAQ,KAAK,OAAO;AAAA,IACxC;AACA,WAAO;AAAA,MACL,SAASP,EAAM,KAAI;AAAA,MACnB,YAAY;AAAA,QACV,OAAOI;AAAA,QACP,QAAQC,IAAQC;AAAA,QAChB,IAAID;AAAA,QACJ,MAAMC;AAAA,MACd;AAAA,IACA;AAAA,EACE;AAAA;AAAA;AAAA;AAAA,EAIA,aAAaV,GAAQgB,GAAc;AACjC,UAAMV,IAAWU,EAAa,IAAI,CAACC,MAAM,KAAK,iBAAiBjB,GAAQiB,CAAC,CAAC;AACzE,QAAIC,IAAW,GACXC,IAAc;AAClB,eAAWR,KAAKL;AACd,MAAAY,IAAW,KAAK,IAAIA,GAAUP,EAAE,WAAW,KAAK,GAChDQ,KAAeR,EAAE,WAAW;AAE9B,IAAAQ,MAAgBb,EAAS,SAAS,KAAK,KAAK,OAAO;AACnD,UAAMc,IAAY,KAAK,OAAO,WACxBC,IAAWD,IAAY,GACvBZ,IAAaU,IAAWG,GACxBjB,IAAQJ,EAAO,OAAO,GAAG,EAAE,KAAK,SAAS,iBAAiB;AAChE,QAAIZ,IAAI;AACR,UAAMkC,IAAUH,IAAc;AAC9B,eAAWR,KAAKL,GAAU;AACxB,YAAMiB,IAAQnC,GACRoC,IAAcD,IAAQZ,EAAE,WAAW,IACnCc,IAAQL,IAAY,KAAKF,IAAWP,EAAE,WAAW,SAAS;AAEhE,MADaP,EAAM,KAAI,EAAG,YAAYO,EAAE,OAAO,EAC1C,aAAa,aAAa,aAAac,CAAK,KAAKF,CAAK,GAAG;AAC9D,YAAMG,IAAW,IAAIzC,EAAW,GAC1B0C,IAAgBH,IAAcF;AACpC,MAAIE,MAAgBF,IAClBI,EAAS,OAAO,GAAGJ,CAAO,EAAE,OAAOG,GAAOD,CAAW,IAErDE,EAAS,OAAO,GAAGJ,CAAO,EAAE;AAAA,QAC1BF;AAAA,QACAA;AAAA,QACA;AAAA,QACA;AAAA,QACAO;AAAA,QACAP;AAAA,QACAE,KAAWK,IAAgBP,IAAY,CAACA;AAAA,MAClD,EAAU,OAAOA,GAAWI,KAAeG,IAAgBP,IAAY,CAACA,EAAU,EAAE,MAAMA,GAAWA,GAAW,GAAG,IAAO,CAACO,GAAeP,IAAY,GAAGI,CAAW,EAAE,OAAOC,GAAOD,CAAW,GAEzLpB,EAAM,OAAO,MAAM,EAAE,KAAK,SAAS,eAAe,EAAE,KAAK,KAAKsB,EAAS,MAAK,CAAE;AAC9E,YAAME,IAAY,IAAI3C,EAAW,GAC3B4C,IAAaJ,IAAQd,EAAE,WAAW,OAClCmB,IAAatB,IAAaY,IAAY;AAC5C,MAAII,MAAgBF,IAClBM,EAAU,OAAOC,GAAYL,CAAW,EAAE,OAAOhB,GAAYc,CAAO,IAEpEM,EAAU,OAAOC,GAAYL,CAAW,EAAE,OAAOM,GAAYN,CAAW,EAAE;AAAA,QACxEJ;AAAA,QACAA;AAAA,QACA;AAAA,QACA;AAAA,QACA,CAACO;AAAA,QACDnB,IAAaY;AAAA,QACbI,KAAeG,IAAgB,CAACP,IAAYA;AAAA,MACtD,EAAU,OAAOZ,IAAaY,GAAWE,KAAWK,IAAgBP,IAAY,CAACA,EAAU,EAAE,MAAMA,GAAWA,GAAW,GAAG,IAAOO,GAAenB,GAAYc,CAAO,GAE/JlB,EAAM,OAAO,MAAM,EAAE,KAAK,SAAS,eAAe,EAAE,KAAK,KAAKwB,EAAU,MAAK,CAAE,GAC/ExC,KAAKuB,EAAE,WAAW,SAAS,KAAK,OAAO;AAAA,IACzC;AACA,WAAO;AAAA,MACL,SAASP,EAAM,KAAI;AAAA,MACnB,YAAY;AAAA,QACV,OAAOI;AAAA,QACP,QAAQW;AAAA,QACR,IAAIG;AAAA,QACJ,MAAMH,IAAcG;AAAA,MAC5B;AAAA,IACA;AAAA,EACE;AAAA;AAAA;AAAA;AAAA,EAIA,eAAetB,GAAQ+B,GAAS;AAC9B,UAAMC,IAAQ,KAAK,iBAAiBhC,GAAQ+B,CAAO,GAC7CX,IAAY,KAAK,OAAO,WACxBa,IAAYb,IAAY,GACxBZ,IAAawB,EAAM,WAAW,QAAQZ,IAAY,GAClDD,IAAca,EAAM,WAAW,SAASC,GACxC7B,IAAQJ,EAAO,OAAO,GAAG,EAAE,KAAK,SAAS,mBAAmB,GAC5DyB,IAAQL,IAAY,GACpBG,IAAQU;AAEd,IADa7B,EAAM,KAAI,EAAG,YAAY4B,EAAM,OAAO,EAC9C,aAAa,aAAa,aAAaP,CAAK,KAAKF,CAAK,GAAG;AAC9D,UAAMD,IAAUC,IAAQS,EAAM,WAAW,IACnCE,IAAY,IAAIjD,EAAW,EAAG,OAAO,GAAGqC,CAAO,EAAE,OAAOF,IAAY,GAAGE,CAAO;AACpF,IAAAlB,EAAM,OAAO,MAAM,EAAE,KAAK,SAAS,eAAe,EAAE,KAAK,KAAK8B,EAAU,MAAK,CAAE;AAC/E,UAAMC,IAAa,IAAIlD,IAAc,OAAOwC,IAAQO,EAAM,WAAW,OAAOV,CAAO,EAAE,OAAOd,GAAYc,CAAO;AAC/G,IAAAlB,EAAM,OAAO,MAAM,EAAE,KAAK,SAAS,eAAe,EAAE,KAAK,KAAK+B,EAAW,MAAK,CAAE;AAChF,UAAMC,IAAa,IAAInD,IAAc,OAAO,GAAGqC,CAAO,EAAE,MAAMF,GAAWA,GAAW,GAAG,IAAO,IAAOA,GAAWE,IAAUF,CAAS,EAAE,OAAOA,GAAWA,CAAS,EAAE,MAAMA,GAAWA,GAAW,GAAG,IAAO,IAAMA,IAAY,GAAG,CAAC,EAAE,OAAOZ,IAAaY,IAAY,GAAG,CAAC,EAAE,MAAMA,GAAWA,GAAW,GAAG,IAAO,IAAMZ,IAAaY,GAAWA,CAAS,EAAE,OAAOZ,IAAaY,GAAWE,IAAUF,CAAS,EAAE,MAAMA,GAAWA,GAAW,GAAG,IAAO,IAAOZ,GAAYc,CAAO;AACzc,WAAAlB,EAAM,OAAO,MAAM,EAAE,KAAK,SAAS,eAAe,EAAE,KAAK,KAAKgC,EAAW,MAAK,CAAE,GACzE;AAAA,MACL,SAAShC,EAAM,KAAI;AAAA,MACnB,YAAY;AAAA,QACV,OAAOI;AAAA,QACP,QAAQW;AAAA,QACR,IAAIG;AAAA,QACJ,MAAMH,IAAcG;AAAA,MAC5B;AAAA,IACA;AAAA,EACE;AAAA;AAAA;AAAA;AAAA,EAIA,iBAAiBtB,GAAQ+B,GAASM,GAAK;AACrC,UAAML,IAAQ,KAAK,iBAAiBhC,GAAQ+B,CAAO,GAC7CX,IAAY,KAAK,OAAO,WACxBa,IAAYb,IAAY,GACxBZ,IAAawB,EAAM,WAAW,QAAQZ,IAAY,GAClDkB,IAAYD,MAAQ,GACpBlB,IAAca,EAAM,WAAW,SAASC,KAAaK,IAAYL,IAAY,IAC7E7B,IAAQJ,EAAO,OAAO,GAAG,EAAE,KAAK,SAAS,qBAAqB,GAC9DyB,IAAQL,IAAY,GACpBG,IAAQe,IAAYL,IAAY;AAEtC,IADa7B,EAAM,KAAI,EAAG,YAAY4B,EAAM,OAAO,EAC9C,aAAa,aAAa,aAAaP,CAAK,KAAKF,CAAK,GAAG;AAC9D,UAAMD,IAAUC,IAAQS,EAAM,WAAW;AACzC,IAAA5B,EAAM,OAAO,MAAM,EAAE,KAAK,SAAS,eAAe,EAAE;AAAA,MAClD;AAAA,MACA,IAAInB,EAAW,EAAG,OAAO,GAAGqC,CAAO,EAAE,OAAOF,IAAY,GAAGE,CAAO,EAAE,MAAK;AAAA,IAC/E,GACIlB,EAAM,OAAO,MAAM,EAAE,KAAK,SAAS,eAAe,EAAE;AAAA,MAClD;AAAA,MACA,IAAInB,EAAW,EAAG,OAAOwC,IAAQO,EAAM,WAAW,OAAOV,CAAO,EAAE,OAAOd,GAAYc,CAAO,EAAE,MAAK;AAAA,IACzG;AACI,UAAMiB,IAAQhB,IAAQS,EAAM,WAAW,SAASZ,GAC1CoB,IAAW,IAAIvD,EAAW,EAAG,OAAOwC,IAAQO,EAAM,WAAW,OAAOV,CAAO,EAAE;AAAA,MACjFF;AAAA,MACAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACAK,IAAQO,EAAM,WAAW,QAAQZ;AAAA,MACjCE,IAAUF;AAAA,IAChB,EAAM,OAAOK,IAAQO,EAAM,WAAW,QAAQZ,GAAWmB,CAAK,EAAE;AAAA,MAC1DnB;AAAA,MACAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACAK,IAAQO,EAAM,WAAW;AAAA,MACzBO,IAAQnB;AAAA,IACd,EAAM,OAAOA,IAAY,GAAGmB,IAAQnB,CAAS,EAAE,MAAMA,GAAWA,GAAW,GAAG,IAAO,IAAMA,GAAWmB,CAAK,EAAE,OAAOnB,GAAWE,IAAUF,CAAS,EAAE,MAAMA,GAAWA,GAAW,GAAG,IAAO,IAAMA,IAAY,GAAGE,CAAO;AAElN,QADAlB,EAAM,OAAO,MAAM,EAAE,KAAK,SAAS,eAAe,EAAE,KAAK,KAAKoC,EAAS,MAAK,CAAE,GAC1EF,GAAW;AACb,YAAMF,IAAa,IAAInD,IAAc,OAAO,GAAGqC,CAAO,EAAE,MAAMF,GAAWA,GAAW,GAAG,IAAO,IAAOA,GAAWE,IAAUF,CAAS,EAAE,OAAOA,GAAWA,CAAS,EAAE,MAAMA,GAAWA,GAAW,GAAG,IAAO,IAAMA,IAAY,GAAG,CAAC,EAAE,OAAOZ,IAAaY,IAAY,GAAG,CAAC,EAAE,MAAMA,GAAWA,GAAW,GAAG,IAAO,IAAMZ,IAAaY,GAAWA,CAAS,EAAE,OAAOZ,IAAaY,GAAWE,IAAUF,CAAS,EAAE,MAAMA,GAAWA,GAAW,GAAG,IAAO,IAAOZ,GAAYc,CAAO;AACzc,MAAAlB,EAAM,OAAO,MAAM,EAAE,KAAK,SAAS,eAAe,EAAE,KAAK,KAAKgC,EAAW,MAAK,CAAE;AAAA,IAClF;AACA,WAAO;AAAA,MACL,SAAShC,EAAM,KAAI;AAAA,MACnB,YAAY;AAAA,QACV,OAAOI;AAAA,QACP,QAAQW;AAAA,QACR,IAAIG;AAAA,QACJ,MAAMH,IAAcG;AAAA,MAC5B;AAAA,IACA;AAAA,EACE;AAAA;AAAA;AAAA;AAAA,EAIA,cAActB,GAAQtF,GAAM;AAC1B,UAAMuF,IAAU,KAAK,YAAY,OAAOvF,IAAO,IAAI,GAC7CwF,IAAQD,EAAQ,QAAQ,KAAK,OAAO,UAAU,GAC9CE,IAASF,EAAQ,SAAS,KAAK,OAAO,UAAU,GAChDG,IAAQJ,EAAO,OAAO,GAAG,EAAE,KAAK,SAAS,kBAAkB;AACjE,WAAAI,EAAM,OAAO,MAAM,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,SAASF,CAAK,EAAE,KAAK,UAAUC,CAAM,GACzFC,EAAM,OAAO,MAAM,EAAE,KAAK,KAAKF,IAAQ,CAAC,EAAE,KAAK,KAAKC,IAAS,CAAC,EAAE,KAAK,OAAOzF,IAAO,IAAI,GAChF;AAAA,MACL,SAAS0F,EAAM,KAAI;AAAA,MACnB,YAAY;AAAA,QACV,OAAAF;AAAA,QACA,QAAAC;AAAA,QACA,IAAIA,IAAS;AAAA,QACb,MAAMA,IAAS;AAAA,MACvB;AAAA,IACA;AAAA,EACE;AAAA;AAAA;AAAA;AAAA,EAIA,iBAAiBH,GAAQlF,GAAM;AAC7B,YAAQA,EAAK,MAAI;AAAA,MACf,KAAK;AACH,eAAO,KAAK,eAAekF,GAAQlF,EAAK,KAAK;AAAA,MAC/C,KAAK;AACH,eAAO,KAAK,kBAAkBkF,GAAQlF,EAAK,IAAI;AAAA,MACjD,KAAK;AACH,eAAO,KAAK,eAAekF,GAAQlF,EAAK,QAAQ;AAAA,MAClD,KAAK;AACH,eAAO,KAAK,aAAakF,GAAQlF,EAAK,YAAY;AAAA,MACpD,KAAK;AACH,eAAO,KAAK,eAAekF,GAAQlF,EAAK,OAAO;AAAA,MACjD,KAAK;AACH,eAAO,KAAK,iBAAiBkF,GAAQlF,EAAK,SAASA,EAAK,GAAG;AAAA,MAC7D,KAAK;AACH,eAAO,KAAK,cAAckF,GAAQlF,EAAK,IAAI;AAAA,MAC7C;AACE,cAAM,IAAI,MAAM,sBAAsBA,EAAK,IAAI,EAAE;AAAA,IACzD;AAAA,EACE;AAAA;AAAA;AAAA;AAAA,EAIA,WAAWO,GAAM+D,GAAG;AAClB,UAAMgB,IAAQ,KAAK,IAAI,OAAO,GAAG,EAAE,KAAK,SAAS,eAAe,EAAE,KAAK,aAAa,gBAAgBhB,CAAC,GAAG,GAClGqD,IAAWpH,EAAK,OAAO,MACvBqH,IAAY,KAAK,YAAYD,CAAQ,EAAE,QAAQ,IAC/CE,IAAcD,IAAY,IAC1BE,IAAWxC,EAAM,OAAO,GAAG,GAC3ByC,IAAS,KAAK,iBAAiBD,GAAUvH,EAAK,UAAU,GACxDyH,IAAY,KAAK,IAAI,IAAID,EAAO,WAAW,EAAE,GAC7CE,IAAcD,IAAYD,EAAO,WAAW;AAClD,WAAAD,EAAS,KAAK,aAAa,aAAaD,CAAW,KAAKI,CAAW,GAAG,GACpD3C,EAAM,OAAO,GAAG,EAAE,KAAK,SAAS,0BAA0B,EAClE,OAAO,MAAM,EAAE,KAAK,SAAS,oBAAoB,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,KAAK0C,CAAS,EAAE,KAAKL,CAAQ,GACxFrC,EAAM,OAAO,GAAG,EAAE,KAAK,SAAS,gBAAgB,EACxD,OAAO,QAAQ,EAAE,KAAK,MAAMsC,CAAS,EAAE,KAAK,MAAMI,CAAS,EAAE,KAAK,KAAK,KAAK,OAAO,YAAY,GACzF1C,EAAM,OAAO,GAAG,EAAE,KAAK,SAAS,cAAc,EACtD,OAAO,QAAQ,EAAE,KAAK,MAAMuC,IAAcE,EAAO,WAAW,QAAQ,EAAE,EAAE,KAAK,MAAMC,CAAS,EAAE,KAAK,KAAK,KAAK,OAAO,YAAY,GAC1I1C,EAAM,OAAO,MAAM,EAAE,KAAK,SAAS,eAAe,EAAE;AAAA,MAClD;AAAA,MACA,IAAInB,EAAW,EAAG,OAAOyD,IAAY,KAAK,OAAO,cAAcI,CAAS,EAAE,OAAOH,GAAaG,CAAS,EAAE,MAAK;AAAA,IACpH,GACI1C,EAAM,OAAO,MAAM,EAAE,KAAK,SAAS,eAAe,EAAE;AAAA,MAClD;AAAA,MACA,IAAInB,EAAW,EAAG,OAAO0D,IAAcE,EAAO,WAAW,OAAOC,CAAS,EAAE,OAAOH,IAAcE,EAAO,WAAW,QAAQ,KAAK,KAAK,OAAO,cAAcC,CAAS,EAAE,MAAK;AAAA,IAC/K,GACW;AAAA,MACL,QAAQ,KAAK,IAAI,IAAIC,IAAcF,EAAO,WAAW,SAAS,KAAK,OAAO,UAAU,CAAC;AAAA,MACrF,OAAOF,IAAcE,EAAO,WAAW,QAAQ,KAAK,KAAK,OAAO;AAAA,IACtE;AAAA,EACE;AAAA;AAAA;AAAA;AAAA,EAIA,cAAcG,GAAQ;AACpB,QAAI5D,IAAI,KAAK,OAAO,SAChB8B,IAAW;AACf,eAAW7F,KAAQ2H,GAAQ;AACzB,YAAMH,IAAS,KAAK,WAAWxH,GAAM+D,CAAC;AACtC,MAAAA,KAAKyD,EAAO,SAAS,KAAK,OAAO,oBACjC3B,IAAW,KAAK,IAAIA,GAAU2B,EAAO,KAAK;AAAA,IAC5C;AACA,WAAO;AAAA,MACL,OAAO3B,IAAW,KAAK,OAAO,UAAU;AAAA,MACxC,QAAQ9B,IAAI,KAAK,OAAO;AAAA,IAC9B;AAAA,EACE;AACF,GAvVI3E,EAAOyE,GAAM,kBAAkB,GAPZA,IA+VnB+D,IAA2C,gBAAAxI,EAAO,CAACkF,GAAKI,GAAYmD,MAAgB;AACtF,EAAAC,EAAiBxD,GAAKI,EAAW,QAAQA,EAAW,OAAOmD,CAAW,GACtEvD,EAAI,KAAK,WAAW,OAAOI,EAAW,KAAK,IAAIA,EAAW,MAAM,EAAE;AACpE,GAAG,0BAA0B,GACzBqD,KAAuB,gBAAA3I,EAAO,CAACC,GAAM2I,GAAIC,MAAa;AACxD,EAAArI,EAAI,MAAM;AAAA,IAAmCP,CAAI;AACjD,MAAI;AACF,UAAMiF,IAAM4D,EAAiBF,CAAE;AAC/B,IAAA1D,EAAI,KAAK,SAAS,kBAAkB;AAEpC,UAAMuD,IADiBrF,EAAS,EAAG,UACC,eAAe,IAC7CmF,IAAShH,GAAG,SAAQ;AAE1B,QADAf,EAAI,MAAM,wBAAwB+H,EAAO,MAAM,QAAQ,GACnDA,EAAO,WAAW,GAAG;AACvB,MAAA/H,EAAI,KAAK,+BAA+B,GACxCgI,EAAyBtD,GAAK,EAAE,QAAQ,KAAK,OAAO,IAAG,GAAIuD,CAAW;AACtE;AAAA,IACF;AAEA,UAAMnD,IADY,IAAIL,GAAiBC,GAAKhC,EAAyB,CAAE,EAC1C,cAAcqF,CAAM;AACjD,IAAAC,EAAyBtD,GAAKI,GAAYmD,CAAW,GACrDjI,EAAI,MAAM,4BAA4B;AAAA,EACxC,SAASuI,GAAO;AACd,UAAAvI,EAAI,MAAM,4BAA4BuI,CAAK,GACrCA;AAAA,EACR;AACF,GAAG,MAAM,GACLC,KAAW,EAAE,MAAAL,GAAI;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"chunk-MOJQB5TN-D0XeiU_K.js","sources":["../../../node_modules/.pnpm/mermaid@11.16.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-MOJQB5TN.mjs"],"sourcesContent":["import {\n selectSvgElement\n} from \"./chunk-VAUOI2AC.mjs\";\nimport {\n clear,\n configureSvgSize,\n getConfig,\n getConfig2,\n getThemeVariables,\n sanitizeText\n} from \"./chunk-WYO6CB5R.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/diagrams/railroad/railroadDb.ts\nvar diagramTitle = \"\";\nvar accTitle = \"\";\nvar accDescription = \"\";\nvar rules = [];\nvar ruleMap = /* @__PURE__ */ new Map();\nvar sanitizeText2 = /* @__PURE__ */ __name((text) => {\n return sanitizeText(text, getConfig2());\n}, \"sanitizeText\");\nvar sanitizeAstNode = /* @__PURE__ */ __name((node) => {\n switch (node.type) {\n case \"terminal\":\n return { ...node, value: sanitizeText2(node.value) };\n case \"nonterminal\":\n return { ...node, name: sanitizeText2(node.name) };\n case \"sequence\":\n return { ...node, elements: node.elements.map(sanitizeAstNode) };\n case \"choice\":\n return { ...node, alternatives: node.alternatives.map(sanitizeAstNode) };\n case \"optional\":\n return { ...node, element: sanitizeAstNode(node.element) };\n case \"repetition\":\n return {\n ...node,\n element: sanitizeAstNode(node.element),\n separator: node.separator ? sanitizeAstNode(node.separator) : void 0\n };\n case \"special\":\n return { ...node, text: sanitizeText2(node.text) };\n }\n}, \"sanitizeAstNode\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n diagramTitle = \"\";\n accTitle = \"\";\n accDescription = \"\";\n rules.length = 0;\n ruleMap.clear();\n clear();\n log.debug(\"[Railroad] Database cleared\");\n}, \"clear\");\nvar setTitle = /* @__PURE__ */ __name((text) => {\n diagramTitle = sanitizeText2(text);\n log.debug(\"[Railroad] Title set:\", text);\n}, \"setTitle\");\nvar getTitle = /* @__PURE__ */ __name(() => {\n return diagramTitle;\n}, \"getTitle\");\nvar addRule = /* @__PURE__ */ __name((rule) => {\n const sanitizedRule = {\n ...rule,\n name: sanitizeText2(rule.name),\n definition: sanitizeAstNode(rule.definition),\n comment: rule.comment ? sanitizeText2(rule.comment) : void 0\n };\n log.debug(\"[Railroad] Adding rule:\", sanitizedRule.name);\n if (ruleMap.has(sanitizedRule.name)) {\n log.warn(`[Railroad] Rule '${sanitizedRule.name}' is already defined. Overwriting.`);\n }\n rules.push(sanitizedRule);\n ruleMap.set(sanitizedRule.name, sanitizedRule);\n}, \"addRule\");\nvar getRules = /* @__PURE__ */ __name(() => {\n return rules;\n}, \"getRules\");\nvar getRule = /* @__PURE__ */ __name((name) => {\n return ruleMap.get(name);\n}, \"getRule\");\nvar setAccTitle = /* @__PURE__ */ __name((text) => {\n accTitle = sanitizeText2(text).replace(/^\\s+/g, \"\");\n log.debug(\"[Railroad] Accessibility title set:\", text);\n}, \"setAccTitle\");\nvar getAccTitle = /* @__PURE__ */ __name(() => {\n return accTitle;\n}, \"getAccTitle\");\nvar setAccDescription = /* @__PURE__ */ __name((text) => {\n accDescription = sanitizeText2(text).replace(/\\n\\s+/g, \"\\n\");\n log.debug(\"[Railroad] Accessibility description set:\", text);\n}, \"setAccDescription\");\nvar getAccDescription = /* @__PURE__ */ __name(() => {\n return accDescription;\n}, \"getAccDescription\");\nvar setDiagramTitle = setTitle;\nvar getDiagramTitle = getTitle;\nvar db = {\n clear: clear2,\n setTitle,\n getTitle,\n addRule,\n getRules,\n getRule,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n setDiagramTitle,\n getDiagramTitle\n};\n\n// src/diagrams/railroad/railroadTypes.ts\nvar DEFAULT_RAILROAD_CONFIG = {\n // Layout\n compactMode: false,\n // Spacing\n padding: 10,\n verticalSeparation: 8,\n horizontalSeparation: 10,\n arcRadius: 10,\n // Typography\n fontSize: 14,\n fontFamily: \"monospace\",\n // Colors - Terminal\n terminalFill: \"#FFFFC0\",\n terminalStroke: \"#000000\",\n terminalTextColor: \"#000000\",\n // Colors - Non-terminal\n nonTerminalFill: \"#FFFFFF\",\n nonTerminalStroke: \"#000000\",\n nonTerminalTextColor: \"#000000\",\n // Colors - Lines\n lineColor: \"#000000\",\n strokeWidth: 2,\n // Colors - Markers\n markerFill: \"#000000\",\n // Colors - Comment\n commentFill: \"#E8E8E8\",\n commentStroke: \"#888888\",\n commentTextColor: \"#666666\",\n // Colors - Special\n specialFill: \"#F0E0FF\",\n specialStroke: \"#8800CC\",\n // Other\n ruleNameColor: \"#000066\",\n showMarkers: true,\n markerRadius: 5\n};\n\n// src/diagrams/railroad/styles.ts\nvar COLOR_VALUE_PATTERN = /^#(?:[\\da-f]{3,4}|[\\da-f]{6}|[\\da-f]{8})$|^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch)\\([\\d\\s%+,./-]+\\)$|^[a-z]+$/i;\nvar FONT_FAMILY_PATTERN = /^[\\w \"',.-]+$/;\nvar RAILROAD_STYLE_OPTION_KEYS = /* @__PURE__ */ new Set([\n \"compactMode\",\n \"padding\",\n \"verticalSeparation\",\n \"horizontalSeparation\",\n \"arcRadius\",\n \"fontSize\",\n \"fontFamily\",\n \"terminalFill\",\n \"terminalStroke\",\n \"terminalTextColor\",\n \"nonTerminalFill\",\n \"nonTerminalStroke\",\n \"nonTerminalTextColor\",\n \"lineColor\",\n \"strokeWidth\",\n \"markerFill\",\n \"commentFill\",\n \"commentStroke\",\n \"commentTextColor\",\n \"specialFill\",\n \"specialStroke\",\n \"ruleNameColor\",\n \"showMarkers\",\n \"markerRadius\"\n]);\nvar isRailroadStyleOptions = /* @__PURE__ */ __name((options) => {\n if (!options) {\n return false;\n }\n return Object.keys(options).every(\n (key) => key === \"railroad\" || RAILROAD_STYLE_OPTION_KEYS.has(key)\n );\n}, \"isRailroadStyleOptions\");\nvar extractRailroadOverrides = /* @__PURE__ */ __name((options) => {\n if (!options) {\n return {};\n }\n if (\"railroad\" in options && options.railroad) {\n return options.railroad;\n }\n return isRailroadStyleOptions(options) ? options : {};\n}, \"extractRailroadOverrides\");\nvar extractThemeOverrides = /* @__PURE__ */ __name((options) => {\n if (!options || isRailroadStyleOptions(options)) {\n return {};\n }\n const {\n railroad: _railroad,\n svgId: _svgId,\n theme: _theme,\n look: _look,\n ...themeOverrides\n } = options;\n return themeOverrides;\n}, \"extractThemeOverrides\");\nvar sanitizeColorValue = /* @__PURE__ */ __name((value, fallback) => {\n if (typeof value !== \"string\") {\n return fallback;\n }\n const normalized = value.trim();\n return COLOR_VALUE_PATTERN.test(normalized) ? normalized : fallback;\n}, \"sanitizeColorValue\");\nvar sanitizeFontFamilyValue = /* @__PURE__ */ __name((value, fallback) => {\n if (typeof value !== \"string\") {\n return fallback;\n }\n const normalized = value.trim();\n return FONT_FAMILY_PATTERN.test(normalized) ? normalized : fallback;\n}, \"sanitizeFontFamilyValue\");\nvar sanitizeNumberValue = /* @__PURE__ */ __name((value, fallback) => {\n const parsed = typeof value === \"number\" ? value : typeof value === \"string\" ? Number.parseFloat(value) : Number.NaN;\n return Number.isFinite(parsed) && parsed >= 0 ? parsed : fallback;\n}, \"sanitizeNumberValue\");\nvar parseThemeFontSize = /* @__PURE__ */ __name((value) => {\n const parsed = typeof value === \"number\" ? value : typeof value === \"string\" ? Number.parseFloat(value) : Number.NaN;\n return Number.isFinite(parsed) && parsed > 0 ? parsed : void 0;\n}, \"parseThemeFontSize\");\nvar buildThemeDefaults = /* @__PURE__ */ __name((themeVariables) => {\n const fontFamily = sanitizeFontFamilyValue(\n themeVariables.fontFamily,\n DEFAULT_RAILROAD_CONFIG.fontFamily\n );\n const fontSize = parseThemeFontSize(themeVariables.fontSize) ?? DEFAULT_RAILROAD_CONFIG.fontSize;\n return {\n ...DEFAULT_RAILROAD_CONFIG,\n fontFamily,\n fontSize,\n terminalFill: sanitizeColorValue(\n themeVariables.secondBkg ?? themeVariables.secondaryColor,\n DEFAULT_RAILROAD_CONFIG.terminalFill\n ),\n terminalStroke: sanitizeColorValue(\n themeVariables.secondaryBorderColor ?? themeVariables.lineColor,\n DEFAULT_RAILROAD_CONFIG.terminalStroke\n ),\n terminalTextColor: sanitizeColorValue(\n themeVariables.secondaryTextColor ?? themeVariables.textColor,\n DEFAULT_RAILROAD_CONFIG.terminalTextColor\n ),\n nonTerminalFill: sanitizeColorValue(\n themeVariables.mainBkg ?? themeVariables.background,\n DEFAULT_RAILROAD_CONFIG.nonTerminalFill\n ),\n nonTerminalStroke: sanitizeColorValue(\n themeVariables.primaryBorderColor ?? themeVariables.lineColor,\n DEFAULT_RAILROAD_CONFIG.nonTerminalStroke\n ),\n nonTerminalTextColor: sanitizeColorValue(\n themeVariables.primaryTextColor ?? themeVariables.textColor,\n DEFAULT_RAILROAD_CONFIG.nonTerminalTextColor\n ),\n lineColor: sanitizeColorValue(themeVariables.lineColor, DEFAULT_RAILROAD_CONFIG.lineColor),\n markerFill: sanitizeColorValue(themeVariables.lineColor, DEFAULT_RAILROAD_CONFIG.markerFill),\n commentFill: sanitizeColorValue(\n themeVariables.labelBackground ?? themeVariables.tertiaryColor,\n DEFAULT_RAILROAD_CONFIG.commentFill\n ),\n commentStroke: sanitizeColorValue(\n themeVariables.tertiaryBorderColor ?? themeVariables.lineColor,\n DEFAULT_RAILROAD_CONFIG.commentStroke\n ),\n commentTextColor: sanitizeColorValue(\n themeVariables.tertiaryTextColor ?? themeVariables.textColor,\n DEFAULT_RAILROAD_CONFIG.commentTextColor\n ),\n specialFill: sanitizeColorValue(\n themeVariables.tertiaryColor ?? themeVariables.secondaryColor,\n DEFAULT_RAILROAD_CONFIG.specialFill\n ),\n specialStroke: sanitizeColorValue(\n themeVariables.tertiaryBorderColor ?? themeVariables.secondaryBorderColor,\n DEFAULT_RAILROAD_CONFIG.specialStroke\n ),\n ruleNameColor: sanitizeColorValue(\n themeVariables.titleColor ?? themeVariables.textColor,\n DEFAULT_RAILROAD_CONFIG.ruleNameColor\n )\n };\n}, \"buildThemeDefaults\");\nvar buildRailroadStyleOptions = /* @__PURE__ */ __name((options) => {\n const currentConfig = getConfig();\n const themeVariables = {\n ...getThemeVariables(),\n ...currentConfig.themeVariables ?? {},\n ...extractThemeOverrides(options)\n };\n const themeDefaults = buildThemeDefaults(themeVariables);\n const railroadOptions = {\n ...currentConfig.railroad ?? {},\n ...extractRailroadOverrides(options)\n };\n return {\n compactMode: railroadOptions.compactMode ?? themeDefaults.compactMode,\n padding: sanitizeNumberValue(railroadOptions.padding, themeDefaults.padding),\n verticalSeparation: sanitizeNumberValue(\n railroadOptions.verticalSeparation,\n themeDefaults.verticalSeparation\n ),\n horizontalSeparation: sanitizeNumberValue(\n railroadOptions.horizontalSeparation,\n themeDefaults.horizontalSeparation\n ),\n arcRadius: sanitizeNumberValue(railroadOptions.arcRadius, themeDefaults.arcRadius),\n fontSize: sanitizeNumberValue(railroadOptions.fontSize, themeDefaults.fontSize),\n fontFamily: sanitizeFontFamilyValue(railroadOptions.fontFamily, themeDefaults.fontFamily),\n terminalFill: sanitizeColorValue(railroadOptions.terminalFill, themeDefaults.terminalFill),\n terminalStroke: sanitizeColorValue(\n railroadOptions.terminalStroke,\n themeDefaults.terminalStroke\n ),\n terminalTextColor: sanitizeColorValue(\n railroadOptions.terminalTextColor,\n themeDefaults.terminalTextColor\n ),\n nonTerminalFill: sanitizeColorValue(\n railroadOptions.nonTerminalFill,\n themeDefaults.nonTerminalFill\n ),\n nonTerminalStroke: sanitizeColorValue(\n railroadOptions.nonTerminalStroke,\n themeDefaults.nonTerminalStroke\n ),\n nonTerminalTextColor: sanitizeColorValue(\n railroadOptions.nonTerminalTextColor,\n themeDefaults.nonTerminalTextColor\n ),\n lineColor: sanitizeColorValue(railroadOptions.lineColor, themeDefaults.lineColor),\n strokeWidth: sanitizeNumberValue(railroadOptions.strokeWidth, themeDefaults.strokeWidth),\n markerFill: sanitizeColorValue(railroadOptions.markerFill, themeDefaults.markerFill),\n commentFill: sanitizeColorValue(railroadOptions.commentFill, themeDefaults.commentFill),\n commentStroke: sanitizeColorValue(railroadOptions.commentStroke, themeDefaults.commentStroke),\n commentTextColor: sanitizeColorValue(\n railroadOptions.commentTextColor,\n themeDefaults.commentTextColor\n ),\n specialFill: sanitizeColorValue(railroadOptions.specialFill, themeDefaults.specialFill),\n specialStroke: sanitizeColorValue(railroadOptions.specialStroke, themeDefaults.specialStroke),\n ruleNameColor: sanitizeColorValue(railroadOptions.ruleNameColor, themeDefaults.ruleNameColor),\n showMarkers: railroadOptions.showMarkers ?? themeDefaults.showMarkers,\n markerRadius: sanitizeNumberValue(railroadOptions.markerRadius, themeDefaults.markerRadius)\n };\n}, \"buildRailroadStyleOptions\");\nvar getStyles = /* @__PURE__ */ __name((options) => {\n const {\n fontFamily,\n fontSize,\n terminalFill,\n terminalStroke,\n terminalTextColor,\n nonTerminalFill,\n nonTerminalStroke,\n nonTerminalTextColor,\n lineColor,\n strokeWidth,\n markerFill,\n commentFill,\n commentStroke,\n commentTextColor,\n specialFill,\n specialStroke,\n ruleNameColor\n } = buildRailroadStyleOptions(options);\n return `\n .railroad-diagram {\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n }\n\n .railroad-terminal rect {\n fill: ${terminalFill};\n stroke: ${terminalStroke};\n stroke-width: ${strokeWidth}px;\n }\n\n .railroad-terminal text {\n fill: ${terminalTextColor};\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n text-anchor: middle;\n dominant-baseline: middle;\n }\n\n .railroad-nonterminal rect {\n fill: ${nonTerminalFill};\n stroke: ${nonTerminalStroke};\n stroke-width: ${strokeWidth}px;\n }\n\n .railroad-nonterminal text {\n fill: ${nonTerminalTextColor};\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n text-anchor: middle;\n dominant-baseline: middle;\n }\n\n .railroad-line {\n stroke: ${lineColor};\n stroke-width: ${strokeWidth}px;\n fill: none;\n }\n\n .railroad-start circle,\n .railroad-end circle {\n fill: ${markerFill};\n }\n\n .railroad-comment ellipse {\n fill: ${commentFill};\n stroke: ${commentStroke};\n stroke-width: ${strokeWidth}px;\n }\n\n .railroad-comment text {\n fill: ${commentTextColor};\n font-style: italic;\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n text-anchor: middle;\n dominant-baseline: middle;\n }\n\n .railroad-special rect {\n fill: ${specialFill};\n stroke: ${specialStroke};\n stroke-width: ${strokeWidth}px;\n stroke-dasharray: 5,3;\n }\n\n .railroad-special text {\n fill: ${nonTerminalTextColor};\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n text-anchor: middle;\n dominant-baseline: middle;\n }\n\n .railroad-rule-name {\n font-weight: bold;\n fill: ${ruleNameColor};\n font-family: ${fontFamily};\n font-size: ${fontSize}px;\n }\n\n .railroad-group {\n /* Grouping container, no specific styles */\n }\n`;\n}, \"getStyles\");\n\n// src/diagrams/railroad/railroadRenderer.ts\nvar PathBuilder = class {\n constructor() {\n this.d = \"\";\n }\n static {\n __name(this, \"PathBuilder\");\n }\n moveTo(x, y) {\n this.d += `M ${x} ${y} `;\n return this;\n }\n lineTo(x, y) {\n this.d += `L ${x} ${y} `;\n return this;\n }\n horizontalTo(x) {\n this.d += `H ${x} `;\n return this;\n }\n verticalTo(y) {\n this.d += `V ${y} `;\n return this;\n }\n arcTo(rx, ry, rotation, largeArc, sweep, x, y) {\n this.d += `A ${rx} ${ry} ${rotation} ${largeArc ? 1 : 0} ${sweep ? 1 : 0} ${x} ${y} `;\n return this;\n }\n build() {\n return this.d.trim();\n }\n};\nvar RailroadRenderer = class {\n constructor(svg, config = buildRailroadStyleOptions()) {\n this.textCache = /* @__PURE__ */ new Map();\n this.svg = svg;\n this.config = config;\n }\n static {\n __name(this, \"RailroadRenderer\");\n }\n /**\n * Measure text dimensions\n */\n measureText(text) {\n if (this.textCache.has(text)) {\n return this.textCache.get(text);\n }\n const tempText = this.svg.append(\"text\").attr(\"font-family\", this.config.fontFamily).attr(\"font-size\", this.config.fontSize).text(text);\n const bbox = tempText.node().getBBox();\n const dimensions = { width: bbox.width, height: bbox.height };\n tempText.remove();\n this.textCache.set(text, dimensions);\n return dimensions;\n }\n /**\n * Render terminal symbol (rounded rectangle)\n */\n renderTerminal(parent, value) {\n const textDim = this.measureText(value);\n const width = textDim.width + this.config.padding * 2;\n const height = textDim.height + this.config.padding * 2;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-terminal\");\n group.append(\"rect\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", width).attr(\"height\", height).attr(\"rx\", 10).attr(\"ry\", 10);\n group.append(\"text\").attr(\"x\", width / 2).attr(\"y\", height / 2).text(value);\n return {\n element: group.node(),\n dimensions: {\n width,\n height,\n up: height / 2,\n down: height / 2\n }\n };\n }\n /**\n * Render non-terminal symbol (rectangle)\n */\n renderNonTerminal(parent, name) {\n const textDim = this.measureText(name);\n const width = textDim.width + this.config.padding * 2;\n const height = textDim.height + this.config.padding * 2;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-nonterminal\");\n group.append(\"rect\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", width).attr(\"height\", height);\n group.append(\"text\").attr(\"x\", width / 2).attr(\"y\", height / 2).text(name);\n return {\n element: group.node(),\n dimensions: {\n width,\n height,\n up: height / 2,\n down: height / 2\n }\n };\n }\n /**\n * Render sequence (horizontal concatenation)\n */\n renderSequence(parent, elements) {\n const rendered = elements.map((e) => this.renderExpression(parent, e));\n let totalWidth = 0;\n let maxUp = 0;\n let maxDown = 0;\n for (const r of rendered) {\n totalWidth += r.dimensions.width;\n maxUp = Math.max(maxUp, r.dimensions.up);\n maxDown = Math.max(maxDown, r.dimensions.down);\n }\n totalWidth += (rendered.length - 1) * this.config.horizontalSeparation;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-sequence\");\n let x = 0;\n for (let i = 0; i < rendered.length; i++) {\n const r = rendered[i];\n const y = maxUp - r.dimensions.up;\n const elem = group.node().appendChild(r.element);\n elem.setAttribute(\"transform\", `translate(${x}, ${y})`);\n if (i < rendered.length - 1) {\n const lineX1 = x + r.dimensions.width;\n const lineX2 = lineX1 + this.config.horizontalSeparation;\n const lineY = maxUp;\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", new PathBuilder().moveTo(lineX1, lineY).lineTo(lineX2, lineY).build());\n }\n x += r.dimensions.width + this.config.horizontalSeparation;\n }\n return {\n element: group.node(),\n dimensions: {\n width: totalWidth,\n height: maxUp + maxDown,\n up: maxUp,\n down: maxDown\n }\n };\n }\n /**\n * Render choice (vertical alternatives)\n */\n renderChoice(parent, alternatives) {\n const rendered = alternatives.map((a) => this.renderExpression(parent, a));\n let maxWidth = 0;\n let totalHeight = 0;\n for (const r of rendered) {\n maxWidth = Math.max(maxWidth, r.dimensions.width);\n totalHeight += r.dimensions.height;\n }\n totalHeight += (rendered.length - 1) * this.config.verticalSeparation;\n const arcRadius = this.config.arcRadius;\n const arcWidth = arcRadius * 4;\n const totalWidth = maxWidth + arcWidth;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-choice\");\n let y = 0;\n const centerY = totalHeight / 2;\n for (const r of rendered) {\n const elemY = y;\n const elemCenterY = elemY + r.dimensions.up;\n const elemX = arcRadius * 2 + (maxWidth - r.dimensions.width) / 2;\n const elem = group.node().appendChild(r.element);\n elem.setAttribute(\"transform\", `translate(${elemX}, ${elemY})`);\n const leftPath = new PathBuilder();\n const isBelowCenter = elemCenterY > centerY;\n if (elemCenterY === centerY) {\n leftPath.moveTo(0, centerY).lineTo(elemX, elemCenterY);\n } else {\n leftPath.moveTo(0, centerY).arcTo(\n arcRadius,\n arcRadius,\n 0,\n false,\n isBelowCenter,\n arcRadius,\n centerY + (isBelowCenter ? arcRadius : -arcRadius)\n ).lineTo(arcRadius, elemCenterY - (isBelowCenter ? arcRadius : -arcRadius)).arcTo(arcRadius, arcRadius, 0, false, !isBelowCenter, arcRadius * 2, elemCenterY).lineTo(elemX, elemCenterY);\n }\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", leftPath.build());\n const rightPath = new PathBuilder();\n const rightStart = elemX + r.dimensions.width;\n const rightLaneX = totalWidth - arcRadius * 2;\n if (elemCenterY === centerY) {\n rightPath.moveTo(rightStart, elemCenterY).lineTo(totalWidth, centerY);\n } else {\n rightPath.moveTo(rightStart, elemCenterY).lineTo(rightLaneX, elemCenterY).arcTo(\n arcRadius,\n arcRadius,\n 0,\n false,\n !isBelowCenter,\n totalWidth - arcRadius,\n elemCenterY + (isBelowCenter ? -arcRadius : arcRadius)\n ).lineTo(totalWidth - arcRadius, centerY + (isBelowCenter ? arcRadius : -arcRadius)).arcTo(arcRadius, arcRadius, 0, false, isBelowCenter, totalWidth, centerY);\n }\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", rightPath.build());\n y += r.dimensions.height + this.config.verticalSeparation;\n }\n return {\n element: group.node(),\n dimensions: {\n width: totalWidth,\n height: totalHeight,\n up: centerY,\n down: totalHeight - centerY\n }\n };\n }\n /**\n * Render optional (bypass path above)\n */\n renderOptional(parent, element) {\n const inner = this.renderExpression(parent, element);\n const arcRadius = this.config.arcRadius;\n const arcHeight = arcRadius * 2;\n const totalWidth = inner.dimensions.width + arcRadius * 4;\n const totalHeight = inner.dimensions.height + arcHeight;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-optional\");\n const elemX = arcRadius * 2;\n const elemY = arcHeight;\n const elem = group.node().appendChild(inner.element);\n elem.setAttribute(\"transform\", `translate(${elemX}, ${elemY})`);\n const centerY = elemY + inner.dimensions.up;\n const lowerPath = new PathBuilder().moveTo(0, centerY).lineTo(arcRadius * 2, centerY);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", lowerPath.build());\n const lowerPath2 = new PathBuilder().moveTo(elemX + inner.dimensions.width, centerY).lineTo(totalWidth, centerY);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", lowerPath2.build());\n const bypassPath = new PathBuilder().moveTo(0, centerY).arcTo(arcRadius, arcRadius, 0, false, false, arcRadius, centerY - arcRadius).lineTo(arcRadius, arcRadius).arcTo(arcRadius, arcRadius, 0, false, true, arcRadius * 2, 0).lineTo(totalWidth - arcRadius * 2, 0).arcTo(arcRadius, arcRadius, 0, false, true, totalWidth - arcRadius, arcRadius).lineTo(totalWidth - arcRadius, centerY - arcRadius).arcTo(arcRadius, arcRadius, 0, false, false, totalWidth, centerY);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", bypassPath.build());\n return {\n element: group.node(),\n dimensions: {\n width: totalWidth,\n height: totalHeight,\n up: centerY,\n down: totalHeight - centerY\n }\n };\n }\n /**\n * Render repetition (loop back path)\n */\n renderRepetition(parent, element, min) {\n const inner = this.renderExpression(parent, element);\n const arcRadius = this.config.arcRadius;\n const arcHeight = arcRadius * 2;\n const totalWidth = inner.dimensions.width + arcRadius * 4;\n const hasBypass = min === 0;\n const totalHeight = inner.dimensions.height + arcHeight + (hasBypass ? arcHeight : 0);\n const group = parent.append(\"g\").attr(\"class\", \"railroad-repetition\");\n const elemX = arcRadius * 2;\n const elemY = hasBypass ? arcHeight : 0;\n const elem = group.node().appendChild(inner.element);\n elem.setAttribute(\"transform\", `translate(${elemX}, ${elemY})`);\n const centerY = elemY + inner.dimensions.up;\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\n \"d\",\n new PathBuilder().moveTo(0, centerY).lineTo(arcRadius * 2, centerY).build()\n );\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\n \"d\",\n new PathBuilder().moveTo(elemX + inner.dimensions.width, centerY).lineTo(totalWidth, centerY).build()\n );\n const loopY = elemY + inner.dimensions.height + arcRadius;\n const loopPath = new PathBuilder().moveTo(elemX + inner.dimensions.width, centerY).arcTo(\n arcRadius,\n arcRadius,\n 0,\n false,\n true,\n elemX + inner.dimensions.width + arcRadius,\n centerY + arcRadius\n ).lineTo(elemX + inner.dimensions.width + arcRadius, loopY).arcTo(\n arcRadius,\n arcRadius,\n 0,\n false,\n true,\n elemX + inner.dimensions.width,\n loopY + arcRadius\n ).lineTo(arcRadius * 2, loopY + arcRadius).arcTo(arcRadius, arcRadius, 0, false, true, arcRadius, loopY).lineTo(arcRadius, centerY + arcRadius).arcTo(arcRadius, arcRadius, 0, false, true, arcRadius * 2, centerY);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", loopPath.build());\n if (hasBypass) {\n const bypassPath = new PathBuilder().moveTo(0, centerY).arcTo(arcRadius, arcRadius, 0, false, false, arcRadius, centerY - arcRadius).lineTo(arcRadius, arcRadius).arcTo(arcRadius, arcRadius, 0, false, true, arcRadius * 2, 0).lineTo(totalWidth - arcRadius * 2, 0).arcTo(arcRadius, arcRadius, 0, false, true, totalWidth - arcRadius, arcRadius).lineTo(totalWidth - arcRadius, centerY - arcRadius).arcTo(arcRadius, arcRadius, 0, false, false, totalWidth, centerY);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\"d\", bypassPath.build());\n }\n return {\n element: group.node(),\n dimensions: {\n width: totalWidth,\n height: totalHeight,\n up: centerY,\n down: totalHeight - centerY\n }\n };\n }\n /**\n * Render special sequence\n */\n renderSpecial(parent, text) {\n const textDim = this.measureText(\"? \" + text + \" ?\");\n const width = textDim.width + this.config.padding * 2;\n const height = textDim.height + this.config.padding * 2;\n const group = parent.append(\"g\").attr(\"class\", \"railroad-special\");\n group.append(\"rect\").attr(\"x\", 0).attr(\"y\", 0).attr(\"width\", width).attr(\"height\", height);\n group.append(\"text\").attr(\"x\", width / 2).attr(\"y\", height / 2).text(\"? \" + text + \" ?\");\n return {\n element: group.node(),\n dimensions: {\n width,\n height,\n up: height / 2,\n down: height / 2\n }\n };\n }\n /**\n * Render an expression (recursive)\n */\n renderExpression(parent, node) {\n switch (node.type) {\n case \"terminal\":\n return this.renderTerminal(parent, node.value);\n case \"nonterminal\":\n return this.renderNonTerminal(parent, node.name);\n case \"sequence\":\n return this.renderSequence(parent, node.elements);\n case \"choice\":\n return this.renderChoice(parent, node.alternatives);\n case \"optional\":\n return this.renderOptional(parent, node.element);\n case \"repetition\":\n return this.renderRepetition(parent, node.element, node.min);\n case \"special\":\n return this.renderSpecial(parent, node.text);\n default:\n throw new Error(`Unknown node type: ${node.type}`);\n }\n }\n /**\n * Render a single rule\n */\n renderRule(rule, y) {\n const group = this.svg.append(\"g\").attr(\"class\", \"railroad-rule\").attr(\"transform\", `translate(0, ${y})`);\n const ruleName = rule.name + \" =\";\n const nameWidth = this.measureText(ruleName).width + 20;\n const definitionX = nameWidth + 20;\n const defGroup = group.append(\"g\");\n const result = this.renderExpression(defGroup, rule.definition);\n const baselineY = Math.max(20, result.dimensions.up);\n const definitionY = baselineY - result.dimensions.up;\n defGroup.attr(\"transform\", `translate(${definitionX}, ${definitionY})`);\n const nameGroup = group.append(\"g\").attr(\"class\", \"railroad-rule-name-group\");\n nameGroup.append(\"text\").attr(\"class\", \"railroad-rule-name\").attr(\"x\", 0).attr(\"y\", baselineY).text(ruleName);\n const startMarker = group.append(\"g\").attr(\"class\", \"railroad-start\");\n startMarker.append(\"circle\").attr(\"cx\", nameWidth).attr(\"cy\", baselineY).attr(\"r\", this.config.markerRadius);\n const endMarker = group.append(\"g\").attr(\"class\", \"railroad-end\");\n endMarker.append(\"circle\").attr(\"cx\", definitionX + result.dimensions.width + 10).attr(\"cy\", baselineY).attr(\"r\", this.config.markerRadius);\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\n \"d\",\n new PathBuilder().moveTo(nameWidth + this.config.markerRadius, baselineY).lineTo(definitionX, baselineY).build()\n );\n group.append(\"path\").attr(\"class\", \"railroad-line\").attr(\n \"d\",\n new PathBuilder().moveTo(definitionX + result.dimensions.width, baselineY).lineTo(definitionX + result.dimensions.width + 10 - this.config.markerRadius, baselineY).build()\n );\n return {\n height: Math.max(40, definitionY + result.dimensions.height + this.config.padding * 2),\n width: definitionX + result.dimensions.width + 10 + this.config.markerRadius\n };\n }\n /**\n * Render all rules\n */\n renderDiagram(rules2) {\n let y = this.config.padding;\n let maxWidth = 0;\n for (const rule of rules2) {\n const result = this.renderRule(rule, y);\n y += result.height + this.config.verticalSeparation;\n maxWidth = Math.max(maxWidth, result.width);\n }\n return {\n width: maxWidth + this.config.padding * 2,\n height: y + this.config.padding\n };\n }\n};\nvar configureRailroadSvgSize = /* @__PURE__ */ __name((svg, dimensions, useMaxWidth) => {\n configureSvgSize(svg, dimensions.height, dimensions.width, useMaxWidth);\n svg.attr(\"viewBox\", `0 0 ${dimensions.width} ${dimensions.height}`);\n}, \"configureRailroadSvgSize\");\nvar draw = /* @__PURE__ */ __name((text, id, _version) => {\n log.debug(\"[Railroad] Rendering diagram\\n\" + text);\n try {\n const svg = selectSvgElement(id);\n svg.attr(\"class\", \"railroad-diagram\");\n const railroadConfig = getConfig().railroad;\n const useMaxWidth = railroadConfig?.useMaxWidth ?? true;\n const rules2 = db.getRules();\n log.debug(`[Railroad] Rendering ${rules2.length} rules`);\n if (rules2.length === 0) {\n log.warn(\"[Railroad] No rules to render\");\n configureRailroadSvgSize(svg, { height: 100, width: 200 }, useMaxWidth);\n return;\n }\n const renderer2 = new RailroadRenderer(svg, buildRailroadStyleOptions());\n const dimensions = renderer2.renderDiagram(rules2);\n configureRailroadSvgSize(svg, dimensions, useMaxWidth);\n log.debug(\"[Railroad] Render complete\");\n } catch (error) {\n log.error(\"[Railroad] Render error:\", error);\n throw error;\n }\n}, \"draw\");\nvar renderer = { draw };\n\nexport {\n db,\n getStyles,\n renderer\n};\n"],"names":["diagramTitle","accTitle","accDescription","rules","ruleMap","sanitizeText2","__name","text","sanitizeText","getConfig2","sanitizeAstNode","node","clear2","clear","log","setTitle","getTitle","addRule","rule","sanitizedRule","getRules","getRule","name","setAccTitle","getAccTitle","setAccDescription","getAccDescription","setDiagramTitle","getDiagramTitle","db","DEFAULT_RAILROAD_CONFIG","COLOR_VALUE_PATTERN","FONT_FAMILY_PATTERN","RAILROAD_STYLE_OPTION_KEYS","isRailroadStyleOptions","options","key","extractRailroadOverrides","extractThemeOverrides","_railroad","_svgId","_theme","_look","themeOverrides","sanitizeColorValue","value","fallback","normalized","sanitizeFontFamilyValue","sanitizeNumberValue","parsed","parseThemeFontSize","buildThemeDefaults","themeVariables","fontFamily","fontSize","buildRailroadStyleOptions","currentConfig","getConfig","getThemeVariables","themeDefaults","railroadOptions","getStyles","terminalFill","terminalStroke","terminalTextColor","nonTerminalFill","nonTerminalStroke","nonTerminalTextColor","lineColor","strokeWidth","markerFill","commentFill","commentStroke","commentTextColor","specialFill","specialStroke","ruleNameColor","PathBuilder","_a","x","y","rx","ry","rotation","largeArc","sweep","RailroadRenderer","svg","config","tempText","bbox","dimensions","parent","textDim","width","height","group","elements","rendered","e","totalWidth","maxUp","maxDown","r","i","lineX1","lineX2","lineY","alternatives","a","maxWidth","totalHeight","arcRadius","arcWidth","centerY","elemY","elemCenterY","elemX","leftPath","isBelowCenter","rightPath","rightStart","rightLaneX","element","inner","arcHeight","lowerPath","lowerPath2","bypassPath","min","hasBypass","loopY","loopPath","ruleName","nameWidth","definitionX","defGroup","result","baselineY","definitionY","rules2","configureRailroadSvgSize","useMaxWidth","configureSvgSize","draw","id","_version","selectSvgElement","error","renderer"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
- "use strict";const q1=require("./chunk-5VM5RSS4-v-LRLmmB.cjs"),K1=require("./chunk-XXDRQBXY-CBOe3-a7.cjs"),j1=require("./chunk-VR4S4FIN-DrrMUc7U.cjs"),l=require("./extractHeadings-CbOVIBS0.cjs"),Y1=require("./chunk-32BRIVSS-BP6N4esd.cjs"),H1=require("dompurify"),X1=require("./channel-uZjKtK8D.cjs");var Q1="flowchart-",Re,J1=(Re=class{constructor(){this.vertexCounter=0,this.config=l.getConfig2(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=l.setAccTitle,this.setAccDescription=l.setAccDescription,this.setDiagramTitle=l.setDiagramTitle,this.getAccTitle=l.getAccTitle,this.getAccDescription=l.getAccDescription,this.getDiagramTitle=l.getDiagramTitle,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(i){return l.common_default.sanitizeText(i,this.config)}sanitizeNodeLabelType(i){switch(i){case"markdown":case"string":case"text":return i;default:return"markdown"}}setDiagramId(i){this.diagramId=i}lookUpDomId(i){for(const r of this.vertices.values())if(r.id===i)return this.diagramId?`${this.diagramId}-${r.domId}`:r.domId;return this.diagramId?`${this.diagramId}-${i}`:i}addVertex(i,r,a,n,c,f,h={},b){if(!i||i.trim().length===0)return;let u;if(b!==void 0){let m;b.includes(`
1
+ "use strict";const q1=require("./chunk-5VM5RSS4-Brz8Nekp.cjs"),K1=require("./chunk-XXDRQBXY-B2pZd28b.cjs"),j1=require("./chunk-VR4S4FIN-DQcLrHqn.cjs"),l=require("./extractHeadings-D8xLW0xV.cjs"),Y1=require("./chunk-32BRIVSS-DsL_Qj8R.cjs"),H1=require("dompurify"),X1=require("./channel-Bm9igZDO.cjs");var Q1="flowchart-",Re,J1=(Re=class{constructor(){this.vertexCounter=0,this.config=l.getConfig2(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=l.setAccTitle,this.setAccDescription=l.setAccDescription,this.setDiagramTitle=l.setDiagramTitle,this.getAccTitle=l.getAccTitle,this.getAccDescription=l.getAccDescription,this.getDiagramTitle=l.getDiagramTitle,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(i){return l.common_default.sanitizeText(i,this.config)}sanitizeNodeLabelType(i){switch(i){case"markdown":case"string":case"text":return i;default:return"markdown"}}setDiagramId(i){this.diagramId=i}lookUpDomId(i){for(const r of this.vertices.values())if(r.id===i)return this.diagramId?`${this.diagramId}-${r.domId}`:r.domId;return this.diagramId?`${this.diagramId}-${i}`:i}addVertex(i,r,a,n,c,f,h={},b){if(!i||i.trim().length===0)return;let u;if(b!==void 0){let m;b.includes(`
2
2
  `)?m=b+`
3
3
  `:m=`{
4
4
  `+b+`
@@ -154,4 +154,4 @@ Expecting `+Ye.join(", ")+", got '"+(this.terminals_[j]||j)+"'":$e="Parse error
154
154
  }
155
155
  ${q1.getIconStyles()}
156
156
  `,"getStyles"),G1=it,P1=l.__name(({defaultLayout:s,styles:i=G1}={})=>({parser:tt,get db(){return new J1},renderer:et,styles:i,init:l.__name(r=>{r.flowchart||(r.flowchart={});const a=l.getUserDefinedConfig().layout??s??r.layout;a&&l.setConfig2({layout:a}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,l.setConfig2({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}})},"init")}),"createFlowDiagram"),rt=P1();exports.createFlowDiagram=P1;exports.diagram=rt;exports.styles_default=G1;
157
- //# sourceMappingURL=chunk-PUDLZKDR-IggJYnJQ.cjs.map
157
+ //# sourceMappingURL=chunk-PUDLZKDR-Bc_bM102.cjs.map