collabmd 0.1.54 → 0.1.55

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 (447) hide show
  1. package/bin/collabmd.js +19 -38
  2. package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-cMeDxAEL.js +1 -0
  3. package/dist/client/assets/{abnfDiagram-VCTEODGH-DxNxad6-.js → abnfDiagram-VCTEODGH-D2UdmYvj.js} +1 -1
  4. package/dist/client/assets/{abnfDiagram-O67JEVCF-Dwt6a0Ds.js → abnfDiagram-YUKMZFIV-DbmU4Q-X.js} +1 -1
  5. package/dist/client/assets/api-client-utils-C5ESDKMG.js +1 -0
  6. package/dist/client/assets/architecture-7GRP2DOG-BBwRXFv3.js +1 -1
  7. package/dist/client/assets/architecture-WOLXFQ4H-C0NxYiG7.js +1 -0
  8. package/dist/client/assets/{architectureDiagram-NJMV4G6O-D5CGiX3G.js → architectureDiagram-47P4ROYG-C7OjXK9S.js} +3 -3
  9. package/dist/client/assets/{architectureDiagram-5GKGNRK7-C1uvg5id.js → architectureDiagram-5GKGNRK7-CSiUzzeN.js} +1 -1
  10. package/dist/client/assets/base-CaIEJUF9.css +1 -0
  11. package/dist/client/assets/{blockDiagram-BEXU5L5S-BgTM0var.js → blockDiagram-E7TT5TSB-DMG-YlZw.js} +3 -3
  12. package/dist/client/assets/{blockDiagram-I7D4REHJ-B2YonsoG.js → blockDiagram-I7D4REHJ-sXfAgK2w.js} +1 -1
  13. package/dist/client/assets/{browser-BKLM0ThC-BCLQGPD6-K2seJgRL.js → browser-BKLM0ThC-BCLQGPD6-CcMAHZXi.js} +1 -1
  14. package/dist/client/assets/{c4Diagram-7LVT6UL2-r4IwomZm.js → c4Diagram-7LVT6UL2-C88V_K-8.js} +1 -1
  15. package/dist/client/assets/{c4Diagram-YGBWAQC7-_xZPrNkB.js → c4Diagram-CRA5TL53-D3F9ElJv.js} +2 -2
  16. package/dist/client/assets/canvasEditor-BJkwGzO1.css +1 -0
  17. package/dist/client/assets/canvasEditor-sBK7KfrD.js +1 -0
  18. package/dist/client/assets/{chunk-6AZGARVD--pTGpDnx.js → chunk-24IY7LWP-flnn6SWX.js} +1 -1
  19. package/dist/client/assets/chunk-2BW5OAIV-CNFO1U_e.js +10 -0
  20. package/dist/client/assets/{chunk-2E4U76K2-CIQUuV9n.js → chunk-2E4U76K2-DEnS5IbF.js} +1 -1
  21. package/dist/client/assets/{chunk-5V3GS4D5-B5uC2oxu.js → chunk-3M4EKCLJ-D-sZGCtO.js} +1 -1
  22. package/dist/client/assets/chunk-3YJQHVM4-Ctp__8EK.js +2 -0
  23. package/dist/client/assets/{chunk-7PRAP22T-9uTvtc_-.js → chunk-4EA7E6EY-bU4wRJot.js} +1 -1
  24. package/dist/client/assets/{chunk-4HAMMTFA-q0ldNVvr.js → chunk-4HAMMTFA-CQy6Skzw.js} +1 -1
  25. package/dist/client/assets/{chunk-6K3QC6MW-JnuvEGV4.js → chunk-4S7OKTRW-BpUW13a3.js} +1 -1
  26. package/dist/client/assets/{chunk-ICYGCRZG-odvlDZyA.js → chunk-53FOQ5SW-5lPdGYP4.js} +1 -1
  27. package/dist/client/assets/{chunk-75Z2AOVW-DitkSoSG.js → chunk-75Z2AOVW-BRdhvVTZ.js} +1 -1
  28. package/dist/client/assets/{chunk-GWA4HPMP-CGmv2yIq.js → chunk-7TKQ45FW-rA2u-WUl.js} +1 -1
  29. package/dist/client/assets/{chunk-GTNCS2PH-ChgkzEIi.js → chunk-AW2ZBBNX-DL0KGAdi.js} +3 -3
  30. package/dist/client/assets/{chunk-747NJXEK-BjqqAsS9.js → chunk-BP2KR52E-DAQ1pzDV.js} +1 -1
  31. package/dist/client/assets/{chunk-CLGD4ZFX-BfYJtJm1.js → chunk-CLGD4ZFX-DJiSE0gD.js} +1 -1
  32. package/dist/client/assets/{chunk-5DYCD2WN-BKWCKnK-.js → chunk-DBDB3WZW-CXleNlok.js} +1 -1
  33. package/dist/client/assets/{chunk-DU6HZSFF-CWlP1Dk_.js → chunk-DU6HZSFF-C-18UZkS.js} +1 -1
  34. package/dist/client/assets/{chunk-MBY4JIJT-DTJ4UcAm.js → chunk-E2ZNV5FY-D_07zfWd.js} +3 -3
  35. package/dist/client/assets/chunk-EU5HNXII-CETVNUXF.js +213 -0
  36. package/dist/client/assets/{chunk-F27PBJKO-DPcsPcEs.js → chunk-F27PBJKO-_beIJos4.js} +1 -1
  37. package/dist/client/assets/{chunk-2ZTRR5NV-DcPRfelM.js → chunk-F6S3BTY2-DVWKCAHp.js} +1 -1
  38. package/dist/client/assets/{chunk-ISPTBLVO-BMsDq9Ha.js → chunk-FLFP27SU-CydzbSsY.js} +2 -2
  39. package/dist/client/assets/chunk-FVRAUYC3-C7b9SJ81.js +1 -0
  40. package/dist/client/assets/{chunk-GMAD6QVW-Bgk8qnty.js → chunk-GMAD6QVW-DnZH7DxV.js} +1 -1
  41. package/dist/client/assets/{chunk-GVQU2GXP-CQ8cl-Uu.js → chunk-GVQU2GXP-B0Vm415C.js} +1 -1
  42. package/dist/client/assets/chunk-H5A3YXKD-ChP7mNJq.js +41 -0
  43. package/dist/client/assets/{chunk-742MDFTN-D1nh6vNv.js → chunk-HJ2JQQFS-DQX7RePR.js} +1 -1
  44. package/dist/client/assets/{chunk-NETBCI7D-CmUwDWUZ.js → chunk-HTAEGDNF-C0PA_N-c.js} +1 -1
  45. package/dist/client/assets/{chunk-IMKFNOWR-CBqxfpcP.js → chunk-IMKFNOWR-DoO8IHzF.js} +1 -1
  46. package/dist/client/assets/{chunk-IH6LHLGP-BNevEHZK.js → chunk-KPI5JJXK-B2ld5-w4.js} +1 -1
  47. package/dist/client/assets/{chunk-WEXAMYUT-DDlVNp8J.js → chunk-KQW6MTUR-OQ4MyMr_.js} +1 -1
  48. package/dist/client/assets/{chunk-L3NEJ4N5-BflzkdTI.js → chunk-L3NEJ4N5-CvHossEU.js} +1 -1
  49. package/dist/client/assets/chunk-NGNAAXSQ-DqoPQk1a.js +136 -0
  50. package/dist/client/assets/{chunk-UA2S7LBM-DicYDjDM.js → chunk-NTY3LDVX-CVWLK_fh.js} +1 -1
  51. package/dist/client/assets/{chunk-UY3FDG6J-QT-rkt0y.js → chunk-OD3NTWWA-Dz9nCUGX.js} +1 -1
  52. package/dist/client/assets/{chunk-OSK3NFVY-DqeKV_pg.js → chunk-OSK3NFVY-C3JOcBao.js} +1 -1
  53. package/dist/client/assets/{chunk-P2QGCYS3-BA--DhpW.js → chunk-P2QGCYS3-Bfo8qS8r.js} +1 -1
  54. package/dist/client/assets/{chunk-POPQ4Y6H-V_NEc45n.js → chunk-POPQ4Y6H-sv6rCftH.js} +1 -1
  55. package/dist/client/assets/{chunk-PWAF6VOD-D_kLse-N.js → chunk-PWAF6VOD-B-AT-L2H.js} +1 -1
  56. package/dist/client/assets/{chunk-3Z5EZCMW-BAnA6eQ7.js → chunk-QNH66VMT-Cb9xxTwQ.js} +1 -1
  57. package/dist/client/assets/{chunk-SHT3W25Y-YM3S-A_M.js → chunk-SHT3W25Y-C1lu518T.js} +1 -1
  58. package/dist/client/assets/{chunk-GNY47TPC-CTrH5O5R.js → chunk-SVEVUXB4-BnM-LXop.js} +1 -1
  59. package/dist/client/assets/{chunk-SVP7TREG-DdNhDOmW.js → chunk-SVP7TREG-CKqt0syj.js} +1 -1
  60. package/dist/client/assets/{chunk-TICWLB2K-BGGgCr4x.js → chunk-TICWLB2K-D2ZnWAfF.js} +1 -1
  61. package/dist/client/assets/{chunk-TLUHSLCS-DCZhIDYA.js → chunk-TLUHSLCS-BMIhqv1X.js} +1 -1
  62. package/dist/client/assets/{chunk-6EIED4P4-DBVWq7Tz.js → chunk-TPMEZKFX-DIPHIqGb.js} +1 -1
  63. package/dist/client/assets/{chunk-6TQVIW2G-BSj0l_pu.js → chunk-VPELOWWC-DXayM28-.js} +1 -1
  64. package/dist/client/assets/chunk-VPRB5NB3-BqaJfj_v.js +127 -0
  65. package/dist/client/assets/{chunk-I5DQTOEV-aBZooNp1.js → chunk-VTWWFHGB-SZnJiyWY.js} +1 -1
  66. package/dist/client/assets/{chunk-KI3K4JFJ-FTtDwx3-.js → chunk-VZTHESGH-eHyXmK8W.js} +1 -1
  67. package/dist/client/assets/{chunk-7INBJB4K-CDmiHbaX.js → chunk-XC4XBNZT-D9oehSn8.js} +20 -20
  68. package/dist/client/assets/{chunk-XHIXRSVI-DN_fEwws.js → chunk-YK26KJH5-DVy3MGMd.js} +1 -1
  69. package/dist/client/assets/{chunk-6AEJRKK7-DTVZj5bY.js → chunk-Z6ETV63D-DOcrnz-P.js} +1 -1
  70. package/dist/client/assets/{chunk-OUJLGHUK-75UXlPjl.js → chunk-ZO67DCNQ-BAOMIkLF.js} +1 -1
  71. package/dist/client/assets/classDiagram-ZZMXUADV-BmETdFmC.js +1 -0
  72. package/dist/client/assets/{classDiagram-v2-NBCMYWYE-3TQORq33.js → classDiagram-v2-K4WV4PDN-eaadfJDB.js} +3 -3
  73. package/dist/client/assets/classDiagram-v2-VYDZK3BY-BmETdFmC.js +1 -0
  74. package/dist/client/assets/{comment-markdown-renderer-Bxi_JRSR.js → comment-markdown-renderer-CpBKaj7H.js} +1 -1
  75. package/dist/client/assets/comment-thread-store-DUQsWtnu.js +1 -0
  76. package/dist/client/assets/comment-threads-DnfkLVJA.js +4 -0
  77. package/dist/client/assets/comment-ui-shared-D_pgPUti.js +7 -0
  78. package/dist/client/assets/cynefin-EF2NZ3EQ-DVkJeZ8i.js +1 -0
  79. package/dist/client/assets/cynefin-OW5HDTMX-CF3N9j1_.js +1 -1
  80. package/dist/client/assets/{cynefinDiagram-VND7K2PF-DwfMZ3vk.js → cynefinDiagram-3GCD6N5R-DjpAsBHC.js} +1 -1
  81. package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-DTnLZaO7.js → cynefinDiagram-5FMLGOSQ-D2rFQG67.js} +1 -1
  82. package/dist/client/assets/dagre-C-rnJpZF.js +1 -0
  83. package/dist/client/assets/{dagre-GXQ25YYZ-Vtyx08Qh.js → dagre-GXQ25YYZ-Cku9eia9.js} +2 -2
  84. package/dist/client/assets/{dagre-6A5THRUB-DewyAGK6.js → dagre-W4DXFKR2-DOMOIsPd.js} +2 -2
  85. package/dist/client/assets/deferred-collab-C9aa9cvT.css +1 -0
  86. package/dist/client/assets/deferred-git-BPQ-UgrN.css +1 -0
  87. package/dist/client/assets/deferred-preview-B-RebLry.css +1 -0
  88. package/dist/client/assets/{diagram-22UHCM2B-DbZirFfl.js → diagram-2UJZ2QOL-D8WvnEyx.js} +6 -6
  89. package/dist/client/assets/{diagram-3UASUU5V-DmhdYv6_.js → diagram-OVF4WLC6-D8_escYE.js} +2 -2
  90. package/dist/client/assets/{diagram-CDSNMT55-D_qyS11R.js → diagram-PFPMY2P6-B1izZfrN.js} +3 -3
  91. package/dist/client/assets/{diagram-S7CK7UJ4-CGTzfo2f.js → diagram-S7CK7UJ4-BzicH2t-.js} +1 -1
  92. package/dist/client/assets/{diagram-MLGK6HIB-DIBG6Ivu.js → diagram-UMYRVEAY-Djf7WDjZ.js} +1 -1
  93. package/dist/client/assets/{diagram-UQ7AKVKN-CWZS8QtB.js → diagram-UQ7AKVKN-DqX4zTtr.js} +1 -1
  94. package/dist/client/assets/{diagram-VSXAHHWV-DaO1nOZF.js → diagram-VSXAHHWV-DnVbfI4Y.js} +1 -1
  95. package/dist/client/assets/{diagram-VX7I27RA-B54P6Cyf.js → diagram-VX7I27RA-D-Dj0TQC.js} +1 -1
  96. package/dist/client/assets/{diagram-MPIPVDR6-D9XsALDV.js → diagram-YEKJPTXX-B40bP3Yr.js} +2 -2
  97. package/dist/client/assets/{diagram-Z3DM3KII-Cl2EXiXp.js → diagram-Z3DM3KII-_iT7Uz5p.js} +1 -1
  98. package/dist/client/assets/diagram-ZIFT7M5P-BUUK0oNw.js +3 -0
  99. package/dist/client/assets/{direct-engine-DVLMOJWp-C-YL5NFb.js → direct-engine-DVLMOJWp-DWtWIifK.js} +1 -1
  100. package/dist/client/assets/dist-26Ce-5t4.js +1 -0
  101. package/dist/client/assets/dist-8MLNn-I6.js +1 -0
  102. package/dist/client/assets/dist-Amm5Pr1C.js +1 -0
  103. package/dist/client/assets/dist-BXXPaoUV.js +1 -0
  104. package/dist/client/assets/{dist-CoXN2D3R.js → dist-Bkb-_VdB.js} +1 -1
  105. package/dist/client/assets/dist-Bl4yuUS9.js +1 -0
  106. package/dist/client/assets/{dist-lw5TGjI6.js → dist-C2CGvCPd.js} +1 -1
  107. package/dist/client/assets/dist-C2niyEh0.js +1 -0
  108. package/dist/client/assets/{dist-DOHWxIty.js → dist-CFCSUmJk.js} +1 -1
  109. package/dist/client/assets/dist-CHUI56fT.js +6 -0
  110. package/dist/client/assets/dist-CJh3Qrid.js +13 -0
  111. package/dist/client/assets/{dist-Ch6Sr9KF.js → dist-CKxETpSC.js} +3 -3
  112. package/dist/client/assets/dist-CSHJthAI.js +2 -0
  113. package/dist/client/assets/dist-CbKnZGN4.js +1 -0
  114. package/dist/client/assets/{dist-KrdpB_GB.js → dist-Cik4RJXj.js} +1 -1
  115. package/dist/client/assets/{dist-uk11ih8u.js → dist-CqkAY6Ot.js} +2 -2
  116. package/dist/client/assets/dist-D2ql2LCd.js +1 -0
  117. package/dist/client/assets/{dist-BpAUe9sL.js → dist-D47MOYFN.js} +1 -1
  118. package/dist/client/assets/dist-DBhUaexM.js +1 -0
  119. package/dist/client/assets/dist-DJux6Vc5.js +1 -0
  120. package/dist/client/assets/{dist-9Eodxf4G.js → dist-DLNdMWPH.js} +1 -1
  121. package/dist/client/assets/dist-DPJj-Y3l.js +1 -0
  122. package/dist/client/assets/{dist-BSAZ-Hek.js → dist-DRYFMufe.js} +6 -6
  123. package/dist/client/assets/{dist-BrKhPlc9.js → dist-DTGcVSU8.js} +1 -1
  124. package/dist/client/assets/dist-DlOxjzWi.js +9 -0
  125. package/dist/client/assets/{dist-BT9gJXCb.js → dist-DogjjM_B.js} +1 -1
  126. package/dist/client/assets/dist-Dyv_RvyB.js +23 -0
  127. package/dist/client/assets/dist-FUFeH5Cx.js +1 -0
  128. package/dist/client/assets/dist-It70ktCU.js +1 -0
  129. package/dist/client/assets/dist-QMvcnJHf.js +1 -0
  130. package/dist/client/assets/dist-QN1K2czv.js +11 -0
  131. package/dist/client/assets/dist-W8ilOKl3.js +1 -0
  132. package/dist/client/assets/dist-_17-t9qP.js +1 -0
  133. package/dist/client/assets/{dist-DeCV9FU4.js → dist-uE774WWs.js} +1 -1
  134. package/dist/client/assets/document-formatter-DtXmKZcy.js +1 -0
  135. package/dist/client/assets/drawioEditor-DO6IOaJ1.js +9 -0
  136. package/dist/client/assets/{ebnfDiagram-PWID7BFC-PfC84FyI.js → ebnfDiagram-PWID7BFC-IemGPf9X.js} +1 -1
  137. package/dist/client/assets/{ebnfDiagram-ZINNZB2B-DYvm_QtE.js → ebnfDiagram-VR2GEFS7-9fXqy1DI.js} +1 -1
  138. package/dist/client/assets/editor-session-CPsqXY_A.js +13 -0
  139. package/dist/client/assets/elk-IJKZMXRS-DsbrbBYg.js +27 -0
  140. package/dist/client/assets/embedded-editor-base-C44ZcCZv.css +1 -0
  141. package/dist/client/assets/{embedpdf-TkbBYowM.js → embedpdf-BfUI-3pv.js} +1 -1
  142. package/dist/client/assets/{embedpdf-cl9qiF45-itpgqvGY.js → embedpdf-cl9qiF45-CLMxJTMP.js} +2 -2
  143. package/dist/client/assets/en-7ZVUCEYH-C_VXKxxb.js +1 -0
  144. package/dist/client/assets/{erDiagram-OPXOYQCR-o8GRv8A_.js → erDiagram-O2IAPWRE-Cdadm-HN.js} +2 -2
  145. package/dist/client/assets/{erDiagram-RLTQ6QDP-C9cJl5NB.js → erDiagram-RLTQ6QDP-CGGmjm8t.js} +1 -1
  146. package/dist/client/assets/eventmodeling-K75KTNOO-BWBlZ5cR.js +1 -0
  147. package/dist/client/assets/eventmodeling-NTZA5JFV-CDy1bN6j.js +1 -1
  148. package/dist/client/assets/excalidraw-element-link-NQnskRkm.js +1 -0
  149. package/dist/client/assets/excalidraw-scene-DLlw4jyc.js +1 -0
  150. package/dist/client/assets/excalidrawEditor-DiKOIudt.css +1 -0
  151. package/dist/client/assets/excalidrawEditor-W2lZ5Mej.js +9 -0
  152. package/dist/client/assets/export-page-Bomh9oEr.js +46 -0
  153. package/dist/client/assets/exportDocument-BFIOECJ3.js +2 -0
  154. package/dist/client/assets/exportDocument-D0mONgQ4.css +1 -0
  155. package/dist/client/assets/file-kind-BGxTVHan.js +1 -0
  156. package/dist/client/assets/{file-search-BA8o_gs0.js → file-search-Dk2O14Vw.js} +1 -1
  157. package/dist/client/assets/flowDiagram-HODETNUW-DcVVYJUZ.js +1 -0
  158. package/dist/client/assets/flowDiagram-OXPTDLAJ-Dy6y46oF.js +1 -0
  159. package/dist/client/assets/{ganttDiagram-EL5Y4UJY-x40PW0Ah.js → ganttDiagram-EL5Y4UJY-Duu4KnsU.js} +1 -1
  160. package/dist/client/assets/ganttDiagram-R7TSEDQI-BWy52pjn.js +292 -0
  161. package/dist/client/assets/gitGraph-4MIJSDKK-B-rpDYbz.js +1 -1
  162. package/dist/client/assets/gitGraph-VSP46ZUC-1499lQAI.js +1 -0
  163. package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-ahsNaZsp.js → gitGraphDiagram-WWUBYQGX-CaJ0vC1a.js} +1 -1
  164. package/dist/client/assets/gitGraphDiagram-XJZIOB7I-DJwp9ilx.js +106 -0
  165. package/dist/client/assets/graphlib-DS17s2tU.js +1 -0
  166. package/dist/client/assets/image-6XY3GD3F-DCWbu6d4.js +1 -0
  167. package/dist/client/assets/image-lightbox-controller-DAcXEXxT.js +184 -0
  168. package/dist/client/assets/index-CglpXOg7.css +1 -0
  169. package/dist/client/assets/index-D3WGkxfI.js +960 -0
  170. package/dist/client/assets/info-A6RAGUB7-BlutK7BT.js +1 -1
  171. package/dist/client/assets/info-OHQRW6UA-BDFQOo4H.js +1 -0
  172. package/dist/client/assets/{infoDiagram-27XIBGKW-MrZyptIy.js → infoDiagram-27XIBGKW-DBJh7QOu.js} +1 -1
  173. package/dist/client/assets/{infoDiagram-VRGFBTTK-KkUjDRAQ.js → infoDiagram-5W2HQ5XZ-DmWsqJ0w.js} +1 -1
  174. package/dist/client/assets/{ishikawaDiagram-5VMMS53U-Bnt9yM0O.js → ishikawaDiagram-5VMMS53U-CeEbSJem.js} +1 -1
  175. package/dist/client/assets/{ishikawaDiagram-OU5B5YK6-Di9BcpOY.js → ishikawaDiagram-K3B6WC7H-DH1NI35G.js} +2 -2
  176. package/dist/client/assets/{journeyDiagram-3NMN7TZE-Bl0abK1r.js → journeyDiagram-3NMN7TZE-BoIEEr6U.js} +1 -1
  177. package/dist/client/assets/{journeyDiagram-ZHPQQLJL-J-sGrs9e.js → journeyDiagram-COXZFDF6-CnHV2f9V.js} +3 -3
  178. package/dist/client/assets/{kanban-definition-PNTS6WVX-5ZDV_yIa.js → kanban-definition-P3RFRI5V-Cxvn5ZAG.js} +4 -4
  179. package/dist/client/assets/{kanban-definition-UXKFOSKX-DMgUfNt0.js → kanban-definition-UXKFOSKX-BY16Tgbr.js} +1 -1
  180. package/dist/client/assets/keyboard-shortcuts-BWNCBJqw.js +1 -0
  181. package/dist/client/assets/lobby-presence-DNNXcuwR.js +1 -0
  182. package/dist/client/assets/{markdown-CZ1tYEW8.js → markdown-DU84620G.js} +1 -1
  183. package/dist/client/assets/markdown-headings-zYEUahfW.js +41 -0
  184. package/dist/client/assets/{markdown-math-CyyBVuDO.js → markdown-math-B96cnrz1.js} +11 -11
  185. package/dist/client/assets/{mermaid-parser.core-Bpogunsh.js → mermaid-parser.core-R-uwU5kf.js} +3 -3
  186. package/dist/client/assets/{mermaid-parser.core-DBy--Jc0.js → mermaid-parser.core-mE6t1qEO.js} +1 -1
  187. package/dist/client/assets/mermaid.core-D8Z6LN7O.js +10 -0
  188. package/dist/client/assets/{mindmap-definition-NLK3R4M7-ByVb-0vj.js → mindmap-definition-LZFPQGKD-DVfFenfJ.js} +3 -3
  189. package/dist/client/assets/{mindmap-definition-YA3MSWOX-DBZN5_GH.js → mindmap-definition-YA3MSWOX-DtiE80UJ.js} +1 -1
  190. package/dist/client/assets/packet-AYTQ26CC-DvbY8dI6.js +1 -1
  191. package/dist/client/assets/packet-JDAUHWVQ-DJ9K2MA4.js +1 -0
  192. package/dist/client/assets/{pegDiagram-GJSIUBJH-aost1sSO.js → pegDiagram-BGZESJAR-DxfvEcwv.js} +1 -1
  193. package/dist/client/assets/{pegDiagram-XKGWAZYB-DRo8CZu3.js → pegDiagram-XKGWAZYB-CyozY-Kt.js} +1 -1
  194. package/dist/client/assets/pie-WAS4IAKB-DWSm9SSD.js +1 -1
  195. package/dist/client/assets/pie-XZMESJXO-CQIQasY-.js +1 -0
  196. package/dist/client/assets/{pieDiagram-5QR66LMP-BICdpEuz.js → pieDiagram-CAPJLFHJ-CRlMcrv3.js} +2 -2
  197. package/dist/client/assets/{pieDiagram-E7YTZNPT-CZThaHsc.js → pieDiagram-E7YTZNPT-BRdmTkDq.js} +1 -1
  198. package/dist/client/assets/preload-helper-CYtfOYgs.js +1 -0
  199. package/dist/client/assets/preview-render-compiler-D_aJv7Ew.js +3 -0
  200. package/dist/client/assets/{preview-render-worker-BA4VK_GY.js → preview-render-worker-dFNyrVyB.js} +46 -42
  201. package/dist/client/assets/prod-ItolaHmf.js +145 -0
  202. package/dist/client/assets/prod-rdly4JJQ.js +1 -0
  203. package/dist/client/assets/{quadrantDiagram-AXDQQJYC-C5iowkl_.js → quadrantDiagram-AXDQQJYC-7QyPIXkF.js} +1 -1
  204. package/dist/client/assets/{quadrantDiagram-O4NWA36T-Bgx5bF97.js → quadrantDiagram-GDMTTRAM-DE30uqTl.js} +3 -3
  205. package/dist/client/assets/quick-switcher-controller-DsK70I7K.js +1 -0
  206. package/dist/client/assets/radar-ABXABTNO-ByfpCXh9.js +1 -0
  207. package/dist/client/assets/radar-RG4KPBEZ-BfNQUEQy.js +1 -1
  208. package/dist/client/assets/railroad-74A4TZTK-BaQ6U6eJ.js +1 -1
  209. package/dist/client/assets/railroad-I3PHUGI6-CTUn9HhI.js +1 -0
  210. package/dist/client/assets/railroad-abnf-HS5TGJTU-BJ3KZw7J.js +1 -1
  211. package/dist/client/assets/railroad-abnf-LNEFI6M7-Ct-b-y0F.js +1 -0
  212. package/dist/client/assets/railroad-ebnf-DWYD2UWJ-BZMYMWOe.js +1 -0
  213. package/dist/client/assets/railroad-ebnf-LZEXJU2U-DA0sEq7w.js +1 -1
  214. package/dist/client/assets/railroad-peg-JR7BVNR7-Dj23PxYc.js +1 -0
  215. package/dist/client/assets/railroad-peg-WCYAUIDC-DCmlICzO.js +1 -1
  216. package/dist/client/assets/{railroadDiagram-O6MQD6OU-BTt_rKjT.js → railroadDiagram-O6MQD6OU-BPk3RS2D.js} +1 -1
  217. package/dist/client/assets/{railroadDiagram-XR7U4H2S-DbVoNgSz.js → railroadDiagram-SM67HX2B-CZRXJ647.js} +1 -1
  218. package/dist/client/assets/{requirementDiagram-BXWQKSXE-BkvazG7r.js → requirementDiagram-BXWQKSXE-BRwfym6z.js} +1 -1
  219. package/dist/client/assets/{requirementDiagram-PLB6GJNP-BT0j9C40.js → requirementDiagram-X7JNWC4A-BofCuLJA.js} +4 -4
  220. package/dist/client/assets/{sankeyDiagram-P5KCCOFB-C_IemB9h.js → sankeyDiagram-P5KCCOFB-D4LcrKpW.js} +1 -1
  221. package/dist/client/assets/{sankeyDiagram-IPEJSGJF-X1BCUIrf.js → sankeyDiagram-UM26HJRW-CLKMDbej.js} +3 -3
  222. package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-CxFBgLGd.js → sequenceDiagram-WJ2MYXX4-DQjtv-Bs.js} +1 -1
  223. package/dist/client/assets/sequenceDiagram-ZO4K6R2Y-CDP_m6ma.js +169 -0
  224. package/dist/client/assets/sizeCapture-INFHLROL-3uHXrFqA.js +1 -0
  225. package/dist/client/assets/sizeCapture-INFHLROL-BMR1ovSU.js +1 -0
  226. package/dist/client/assets/src-D5mvpivG.js +2 -0
  227. package/dist/client/assets/{standalone-DbyFjvTU.js → standalone-D_lg5NC9.js} +1 -1
  228. package/dist/client/assets/{stateDiagram-D77RDMKH-BaSQ6Owj.js → stateDiagram-D77RDMKH-DSMvV-kF.js} +1 -1
  229. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-ClmOOUsT.js +1 -0
  230. package/dist/client/assets/{stateDiagram-v2-GCMORJYK-CsVcfwVp.js → stateDiagram-v2-TBUQTH76-Dc5-FKzd.js} +2 -2
  231. package/dist/client/assets/{swimlanes-42K2YHIH-CALFEmiS.js → swimlanes-42K2YHIH-BUz31lO3.js} +1 -1
  232. package/dist/client/assets/{swimlanes-2SLR337P-CnYTVqRX.js → swimlanes-N4OXWK64-Dd3dFdPD.js} +1 -1
  233. package/dist/client/assets/swimlanesDiagram-K3J5GTZL-Bz9gFdls.js +8 -0
  234. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DoDs3zod.js +8 -0
  235. package/dist/client/assets/{timeline-definition-24CTP7MA-zse-5Dbm.js → timeline-definition-24CTP7MA-BvqCvSjy.js} +1 -1
  236. package/dist/client/assets/{timeline-definition-EJHVYXUP-BhqPlKkN.js → timeline-definition-YOQAKGHF-D2XWPSLs.js} +3 -3
  237. package/dist/client/assets/treeView-D4JQ5SDB-DcX7Bx0H.js +1 -0
  238. package/dist/client/assets/treeView-Q6P3EWNA-BvHOzbu9.js +1 -1
  239. package/dist/client/assets/treemap-SAJKECNS-BcCHmcAX.js +1 -0
  240. package/dist/client/assets/treemap-WGGIJYW6-oety7paS.js +1 -1
  241. package/dist/client/assets/usecaseDiagram-VIAY4XPW-CDe-IMjS.js +328 -0
  242. package/dist/client/assets/vault-api-client-DrRW0QwO.js +7 -0
  243. package/dist/client/assets/{vennDiagram-4TSXK5OY-DgHr6cJD.js → vennDiagram-4TSXK5OY-BW6Qp12d.js} +1 -1
  244. package/dist/client/assets/{vennDiagram-UO4OBE2U-BRwLn2Q1.js → vennDiagram-BLWOH2XV-KxIPKpHi.js} +3 -3
  245. package/dist/client/assets/wardley-7MLQ67FV-DOahSwbZ.js +1 -0
  246. package/dist/client/assets/wardley-WFR3VGLG-BdwDpX_I.js +1 -1
  247. package/dist/client/assets/{wardleyDiagram-VM6X3IG4-9A60XZis.js → wardleyDiagram-VM6X3IG4-BoCETVsK.js} +1 -1
  248. package/dist/client/assets/{wardleyDiagram-VNRHLVJA-B_tMcVFG.js → wardleyDiagram-YMQ3BMBF-BNYqEy7M.js} +4 -4
  249. package/dist/client/assets/{wiki-link-resolver-Dch88erO.js → wiki-link-resolver-BCdGUpdu.js} +1 -1
  250. package/dist/client/assets/{worker-engine-BCCrxWYm-CX0qJ_cG.js → worker-engine-BCCrxWYm-1fphds7O.js} +1 -1
  251. package/dist/client/assets/workspace-sync-client-C_P9wtjf.js +1 -0
  252. package/dist/client/assets/{xychartDiagram-S5SC5T6Z-D00iy-wB.js → xychartDiagram-S5SC5T6Z-eB5Fu9P7.js} +1 -1
  253. package/dist/client/assets/xychartDiagram-TAQBALBS-Sv6aaptV.js +7 -0
  254. package/dist/client/assets/yjs-Jd9fna_Y.js +4 -0
  255. package/dist/client/assets/yjs-provider-reset-guard-Cqu0Z6xH.js +1 -0
  256. package/dist/client/canvas-editor.html +16 -0
  257. package/dist/client/drawio-editor.html +7 -6
  258. package/dist/client/excalidraw-editor.html +31 -30
  259. package/dist/client/export-document.html +4 -3
  260. package/dist/client/index.html +2 -2
  261. package/package.json +27 -29
  262. package/scripts/local-compose.mjs +101 -0
  263. package/src/client/app/canvas-editor.html +13 -0
  264. package/src/client/application/app-shell/git-feature.js +3 -2
  265. package/src/client/application/app-shell/ui-feature-identity.js +1 -0
  266. package/src/client/application/app-shell/ui-feature-shell.js +2 -0
  267. package/src/client/application/app-shell/ui-feature-tab-activity.js +4 -0
  268. package/src/client/application/app-shell/workspace-feature.js +8 -34
  269. package/src/client/application/diagram-chrome.js +8 -11
  270. package/src/client/application/diagram-preview-hydrator.js +5 -5
  271. package/src/client/application/mermaid-preview-hydrator.js +3 -2
  272. package/src/client/application/plantuml-preview-hydrator.js +6 -0
  273. package/src/client/application/preview-render-compiler.js +34 -98
  274. package/src/client/application/preview-render-executor.js +3 -0
  275. package/src/client/application/preview-render-worker.js +2 -0
  276. package/src/client/application/preview-renderer.js +9 -5
  277. package/src/client/application/workspace-coordinator.js +18 -10
  278. package/src/client/application/workspace-preview-controller.js +105 -158
  279. package/src/client/application/workspace-route-controller.js +29 -54
  280. package/src/client/bootstrap/canvas-markdown-preview.js +87 -0
  281. package/src/client/bootstrap/collabmd-app-shell.js +28 -13
  282. package/src/client/canvas-editor.js +143 -0
  283. package/src/client/domain/canvas-view.js +50 -0
  284. package/src/client/domain/excalidraw-scene.js +4 -49
  285. package/src/client/domain/highlight-runtime.js +0 -4
  286. package/src/client/domain/markdown-formatting.js +12 -94
  287. package/src/client/domain/markdown-headings.js +98 -0
  288. package/src/client/domain/wiki-link-completions.js +42 -10
  289. package/src/client/infrastructure/browser-preferences-port.js +27 -33
  290. package/src/client/infrastructure/canvas-room-client.js +210 -0
  291. package/src/client/infrastructure/canvas-text-editor.js +36 -0
  292. package/src/client/infrastructure/comment-thread-store.js +19 -77
  293. package/src/client/infrastructure/editor-view-adapter.js +0 -30
  294. package/src/client/infrastructure/excalidraw-room-client.js +22 -10
  295. package/src/client/infrastructure/hosted-api-client.js +4 -2
  296. package/src/client/infrastructure/vault-api-client.js +4 -4
  297. package/src/client/presentation/canvas-editor-view.js +1028 -0
  298. package/src/client/presentation/canvas-embed-controller.js +116 -0
  299. package/src/client/presentation/canvas-picker.js +111 -0
  300. package/src/client/presentation/drawio-embed-controller.js +1 -3
  301. package/src/client/presentation/excalidraw-embed-controller.js +10 -3
  302. package/src/client/presentation/file-action-controller.js +37 -0
  303. package/src/client/presentation/file-explorer-controller.js +1 -2
  304. package/src/client/presentation/file-explorer-view.js +7 -1
  305. package/src/client/presentation/file-icon-svg.js +1 -1
  306. package/src/client/presentation/file-tree-state.js +4 -1
  307. package/src/client/presentation/image-lightbox-controller.js +1 -5
  308. package/src/client/presentation/team-settings-controller.js +44 -10
  309. package/src/client/styles/components/actions.css +4 -16
  310. package/src/client/styles/components/surfaces.css +0 -7
  311. package/src/client/styles/features/comment-card.css +1 -2
  312. package/src/client/styles/features/comment-markdown.css +0 -18
  313. package/src/client/styles/features/diagram-preview.css +0 -18
  314. package/src/client/styles/features/git-branch.css +0 -4
  315. package/src/client/styles/foundation/themes.css +6 -0
  316. package/src/client/styles/foundation/utilities.css +1 -2
  317. package/src/client/styles/layout/editor-page.css +0 -13
  318. package/src/client/styles/layout/responsive.css +2 -7
  319. package/src/client/styles/layout/shell.css +13 -1
  320. package/src/client/styles/layout/view-modes.css +1 -0
  321. package/src/client/styles/surfaces/canvas-editor.css +239 -0
  322. package/src/domain/canvas-room-codec.js +359 -0
  323. package/src/domain/collabmd-content-capabilities.js +10 -1
  324. package/src/domain/comment-threads.js +49 -5
  325. package/src/domain/excalidraw-room-codec.js +23 -73
  326. package/src/domain/excalidraw-scene.js +48 -0
  327. package/src/domain/file-kind.js +13 -1
  328. package/src/server/application/workspace-reconciliation.js +0 -14
  329. package/src/server/domain/backlink-index.js +1 -36
  330. package/src/server/domain/bases/base-index-snapshot-store.js +41 -24
  331. package/src/server/domain/bases/base-query-service.js +1 -47
  332. package/src/server/domain/collaboration/collaboration-room.js +149 -15
  333. package/src/server/domain/collaboration/room-registry.js +7 -7
  334. package/src/server/domain/hosted-workspace.js +29 -2
  335. package/src/server/domain/plantuml-encoder.js +7 -43
  336. package/src/server/infrastructure/git/diff-service.js +1 -5
  337. package/src/server/infrastructure/git/history-service.js +18 -2
  338. package/src/server/infrastructure/git/untracked-files.js +1 -1
  339. package/src/server/infrastructure/http/create-git-api-command-handler.js +60 -149
  340. package/src/server/infrastructure/http/create-hosted-api-handler.js +5 -2
  341. package/src/server/infrastructure/http/create-vault-api-query-handler.js +2 -2
  342. package/src/server/infrastructure/http/http-response.js +2 -36
  343. package/src/server/infrastructure/http/request-body.js +14 -49
  344. package/src/server/infrastructure/persistence/hosted-metadata-store.js +12 -3
  345. package/src/server/infrastructure/persistence/path-utils.js +8 -2
  346. package/src/server/infrastructure/persistence/vault-file-store.js +26 -60
  347. package/src/server/{infrastructure/git → shared}/image-mime.js +2 -2
  348. package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-kJfwukbn.js +0 -1
  349. package/dist/client/assets/_basePickBy-QJXUw_pr.js +0 -1
  350. package/dist/client/assets/_baseUniq-DR4vVjyC.js +0 -1
  351. package/dist/client/assets/architecture-7GRP2DOG-DJVtYNt-.js +0 -1
  352. package/dist/client/assets/browser-utils-S4QYY31r.js +0 -1
  353. package/dist/client/assets/chunk-3FUC2YCW-8tZlhTGX.js +0 -1
  354. package/dist/client/assets/chunk-7M6MHVWA-BDakkknV.js +0 -213
  355. package/dist/client/assets/chunk-FOHPRMQF-Dmmo5Kak.js +0 -161
  356. package/dist/client/assets/chunk-O7XYJQB3-D0_ZY2za.js +0 -126
  357. package/dist/client/assets/chunk-T5WUORNS-DD7KlyY6.js +0 -40
  358. package/dist/client/assets/chunk-Z7XXMR3K-P4Vaq8hD.js +0 -10
  359. package/dist/client/assets/chunk-ZIGJFQKS-b8OUHKK5.js +0 -2
  360. package/dist/client/assets/classDiagram-ZZMXUADV-QLbh_Nkf.js +0 -1
  361. package/dist/client/assets/classDiagram-v2-VYDZK3BY-QLbh_Nkf.js +0 -1
  362. package/dist/client/assets/comment-thread-store-CHvy8GF8.js +0 -1
  363. package/dist/client/assets/comment-threads-nJhK1yfc.js +0 -4
  364. package/dist/client/assets/cynefin-OW5HDTMX-e-Quc9Yl.js +0 -1
  365. package/dist/client/assets/dagre-D7FiCLLP.js +0 -1
  366. package/dist/client/assets/deferred-collab-D4cxEdad.css +0 -1
  367. package/dist/client/assets/deferred-git-BHKtkFYi.css +0 -1
  368. package/dist/client/assets/deferred-preview-BAXYgf4T.css +0 -1
  369. package/dist/client/assets/diagram-ATOU4E4O-B5uX-jVO.js +0 -3
  370. package/dist/client/assets/dist-B2ZNQifU.js +0 -1
  371. package/dist/client/assets/dist-B6QCMNze.js +0 -1
  372. package/dist/client/assets/dist-BIAv19LO.js +0 -1
  373. package/dist/client/assets/dist-BKYp1-dl.js +0 -13
  374. package/dist/client/assets/dist-BSTbcioM.js +0 -11
  375. package/dist/client/assets/dist-BTVg1m-V.js +0 -1
  376. package/dist/client/assets/dist-Bi9ZIYXq.js +0 -9
  377. package/dist/client/assets/dist-Bqo-XRVG.js +0 -1
  378. package/dist/client/assets/dist-CBsvKPcT.js +0 -1
  379. package/dist/client/assets/dist-CJBYh9Wy.js +0 -23
  380. package/dist/client/assets/dist-CRwfjtwz.js +0 -2
  381. package/dist/client/assets/dist-CX7Kc61C.js +0 -1
  382. package/dist/client/assets/dist-CYfPeupF.js +0 -1
  383. package/dist/client/assets/dist-CucpLxUY.js +0 -1
  384. package/dist/client/assets/dist-DHBMeCxC.js +0 -6
  385. package/dist/client/assets/dist-DLEg9d4u.js +0 -1
  386. package/dist/client/assets/dist-DYFBD-wW.js +0 -1
  387. package/dist/client/assets/dist-DugWGOjQ.js +0 -1
  388. package/dist/client/assets/dist-NNrRnB-f.js +0 -1
  389. package/dist/client/assets/dist-PUxZqhFe.js +0 -1
  390. package/dist/client/assets/dist-cYiJMWHJ.js +0 -1
  391. package/dist/client/assets/dist-iKC7go4m.js +0 -1
  392. package/dist/client/assets/document-formatter-6I63vstk.js +0 -1
  393. package/dist/client/assets/drawioEditor-DNTjsjzJ.js +0 -9
  394. package/dist/client/assets/editor-session-D8GGkJak.js +0 -14
  395. package/dist/client/assets/elk-276RUBZZ-B8LB3Pac.js +0 -27
  396. package/dist/client/assets/embedded-editor-base-elU0Avik.css +0 -1
  397. package/dist/client/assets/en-JTHJ2SIP-DBz9bRq4.js +0 -1
  398. package/dist/client/assets/eventmodeling-NTZA5JFV-Dxtv5D-P.js +0 -1
  399. package/dist/client/assets/excalidraw-element-link-BRZOTIeI.js +0 -7
  400. package/dist/client/assets/excalidraw-scene-6uROebca.js +0 -1
  401. package/dist/client/assets/excalidrawEditor-BCTFp_CV.css +0 -1
  402. package/dist/client/assets/excalidrawEditor-D0orhhku.js +0 -9
  403. package/dist/client/assets/export-page-CVJNMERq.js +0 -46
  404. package/dist/client/assets/exportDocument-Ba-n1X4U.css +0 -1
  405. package/dist/client/assets/exportDocument-DSshnmnZ.js +0 -2
  406. package/dist/client/assets/file-kind-BwMIcZbi.js +0 -1
  407. package/dist/client/assets/flowDiagram-HODETNUW-Bq4470NR.js +0 -1
  408. package/dist/client/assets/flowDiagram-KWPJA3E3-DQG9qGiU.js +0 -1
  409. package/dist/client/assets/ganttDiagram-FUAMR5RP-BQpsI7gQ.js +0 -292
  410. package/dist/client/assets/gitGraph-4MIJSDKK-ZaBIE4Lb.js +0 -1
  411. package/dist/client/assets/gitGraphDiagram-X574FWY7-wbs_2m9f.js +0 -106
  412. package/dist/client/assets/graphlib-C9Tl7QrK.js +0 -1
  413. package/dist/client/assets/image-I42VHMUI-B2-c_ifV.js +0 -1
  414. package/dist/client/assets/index-BCgNcVNs.css +0 -1
  415. package/dist/client/assets/index-BpmR5Qqk.js +0 -1140
  416. package/dist/client/assets/info-A6RAGUB7-BcGxhjED.js +0 -1
  417. package/dist/client/assets/lobby-presence-KJrYhMdN.js +0 -1
  418. package/dist/client/assets/mermaid.core-BeOUPE3Q.js +0 -10
  419. package/dist/client/assets/packet-AYTQ26CC-CqpSjTWl.js +0 -1
  420. package/dist/client/assets/pie-WAS4IAKB-Bg2eCNl5.js +0 -1
  421. package/dist/client/assets/preload-helper-BAlEavIC.js +0 -1
  422. package/dist/client/assets/preview-render-compiler-BmWQStaL.js +0 -43
  423. package/dist/client/assets/prod-CA0ie9yD.js +0 -145
  424. package/dist/client/assets/prod-yKJZ3E4s.js +0 -1
  425. package/dist/client/assets/quick-switcher-controller-B5vT9Vj5.js +0 -1
  426. package/dist/client/assets/radar-RG4KPBEZ-DxExotg6.js +0 -1
  427. package/dist/client/assets/railroad-74A4TZTK-FfHmeIQk.js +0 -1
  428. package/dist/client/assets/railroad-abnf-HS5TGJTU-CLkdDRsJ.js +0 -1
  429. package/dist/client/assets/railroad-ebnf-LZEXJU2U-B162zvcG.js +0 -1
  430. package/dist/client/assets/railroad-peg-WCYAUIDC-CGs5GeJ5.js +0 -1
  431. package/dist/client/assets/sequenceDiagram-PO4LG4MO-B-2QfXhV.js +0 -169
  432. package/dist/client/assets/sizeCapture-INFHLROL-B0uUizjq.js +0 -1
  433. package/dist/client/assets/sizeCapture-INFHLROL-DrzwYt5z.js +0 -1
  434. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-CLlwrdvU.js +0 -1
  435. package/dist/client/assets/swimlanesDiagram-TC7HE7FX-Bh4tmz27.js +0 -8
  436. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-xhehUG9e.js +0 -8
  437. package/dist/client/assets/treeView-Q6P3EWNA-Cccy0ngL.js +0 -1
  438. package/dist/client/assets/treemap-WGGIJYW6-sMRCjCtX.js +0 -1
  439. package/dist/client/assets/usecaseDiagram-POWQR4AR-DR2LHQYs.js +0 -328
  440. package/dist/client/assets/vault-api-client-NS_EVHJ3.js +0 -7
  441. package/dist/client/assets/wardley-WFR3VGLG-Y7xty_3m.js +0 -1
  442. package/dist/client/assets/workspace-sync-client-BrMtf6zN.js +0 -1
  443. package/dist/client/assets/xychartDiagram-PMCCYNJV-fRpZ1MA5.js +0 -7
  444. package/dist/client/assets/yjs-B41tM6Sz.js +0 -4
  445. package/dist/client/assets/yjs-provider-reset-guard-DpntzUDR.js +0 -1
  446. package/scripts/local-plantuml-compose.mjs +0 -92
  447. package/scripts/local-structurizr-compose.mjs +0 -101
@@ -0,0 +1 @@
1
+ import{F as e,N as t,O as n,P as r,a as i,i as a,j as o,n as s,t as c}from"./yjs-Jd9fna_Y.js";import{t as l}from"./room-DX7lIfnu.js";import{t as u}from"./vault-paths-BT-6nztu.js";import{n as d}from"./wiki-link-resolver-BCdGUpdu.js";import{n as f,t as p}from"./vault-api-client-DrRW0QwO.js";import{a as m,c as h,i as g,o as _,p as ee,r as v,t as y}from"./image-lightbox-controller-DAcXEXxT.js";import{n as b,o as x,r as te,t as ne}from"./runtime-paths-qQGhzNx4.js";import"./runtime-config-CvrkHb0n.js";import{n as re,t as ie}from"./yjs-provider-reset-guard-Cqu0Z6xH.js";import{St as ae,X as S,ct as oe,wt as se}from"./dist-CJh3Qrid.js";import{a as ce}from"./dist-8MLNn-I6.js";import{a as le}from"./dist-CHUI56fT.js";import{n as ue,t as de}from"./src-D5mvpivG.js";import{r as fe}from"./markdown-headings-zYEUahfW.js";import{n as pe,t as me}from"./file-search-Dk2O14Vw.js";/* empty css *//* empty css */var he=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`;function C(e,t,n){let r=n[0];if(t!=null&&e>=t)throw Error(`${e} >= ${t}`);if(e.slice(-1)===r||t&&t.slice(-1)===r)throw Error(`trailing zero`);if(t){let i=0;for(;(e[i]||r)===t[i];)i++;if(i>0)return t.slice(0,i)+C(e.slice(i),t.slice(i),n)}let i=e?n.indexOf(e[0]):0,a=t==null?n.length:n.indexOf(t[0]);return a-i>1?n[Math.round(.5*(i+a))]:t&&t.length>1?t.slice(0,1):n[i]+C(e.slice(1),null,n)}function ge(e){if(e.length!==_e(e[0]))throw Error(`invalid integer part of order key: ${e}`)}function _e(e){if(e>=`a`&&e<=`z`)return e.charCodeAt(0)-97+2;if(e>=`A`&&e<=`Z`)return 90-e.charCodeAt(0)+2;throw Error(`invalid order key head: ${e}`)}function w(e){let t=_e(e[0]);if(t>e.length)throw Error(`invalid order key: ${e}`);return e.slice(0,t)}function ve(e,t=he){let n=e.split(``).every(e=>t.includes(e));if(e===`A${t[0].repeat(26)}`||!n)throw Error(`invalid order key: ${e}`);let r=w(e);if(e.slice(r.length).slice(-1)===t[0])throw Error(`invalid order key: ${e}`)}function ye(e,t){ge(e);let[n,...r]=e.split(``),i=!0;for(let e=r.length-1;i&&e>=0;e--){let n=t.indexOf(r[e])+1;n===t.length?r[e]=t[0]:(r[e]=t[n],i=!1)}if(i){if(n===`Z`)return`a${t[0]}`;if(n===`z`)return null;let e=String.fromCharCode(n.charCodeAt(0)+1);return e>`a`?r.push(t[0]):r.pop(),e+r.join(``)}return n+r.join(``)}function be(e,t){ge(e);let[n,...r]=e.split(``),i=!0;for(let e=r.length-1;i&&e>=0;e--){let n=t.indexOf(r[e])-1;n===-1?r[e]=t.slice(-1):(r[e]=t[n],i=!1)}if(i){if(n===`a`)return`Z${t.slice(-1)}`;if(n===`A`)return null;let e=String.fromCharCode(n.charCodeAt(0)-1);return e<`Z`?r.push(t.slice(-1)):r.pop(),e+r.join(``)}return n+r.join(``)}function T(e,t,n=he){if(e!=null&&ve(e,n),t!=null&&ve(t,n),e!=null&&t!=null&&e>=t)throw Error(`${e} >= ${t}`);if(e==null){if(t==null)return`a${n[0]}`;let e=w(t),r=t.slice(e.length);if(e===`A${n[0].repeat(26)}`)return e+C(``,r,n);if(e<t)return e;let i=be(e,n);if(i==null)throw Error(`cannot decrement any more`);return i}if(t==null){let t=w(e),r=e.slice(t.length);return ye(t,n)??t+C(r,null,n)}let r=w(e),i=e.slice(r.length),a=w(t),o=t.slice(a.length);if(r===a)return r+C(i,o,n);let s=ye(r,n);if(s==null)throw Error(`cannot increment any more`);return s<t?s:r+C(i,null,n)}function E(e,t,n,r=he){if(n===0)return[];if(n===1)return[T(e,t,r)];if(t==null){let i=T(e,t,r),a=[i];for(let e=0;e<n-1;e++)i=T(i,t,r),a.push(i);return a}if(e==null){let i=T(e,t,r),a=[i];for(let t=0;t<n-1;t++)i=T(e,i,r),a.push(i);return a.reverse(),a}let i=Math.floor(n/2),a=T(e,t,r);return[...E(e,a,i,r),a,...E(a,t,n-i-1,r)]}var xe=/[\uD800-\uDBFF]/,Se=/[\uDC00-\uDFFF]/,Ce=(e,t)=>{let n=0,r=0;for(;n<e.length&&n<t.length&&e[n]===t[n];)n++;for(n>0&&xe.test(e[n-1])&&n--;r+n<e.length&&r+n<t.length&&e[e.length-r-1]===t[t.length-r-1];)r++;return r>0&&Se.test(e[e.length-r])&&r--,{index:n,remove:e.length-n-r,insert:t.slice(n,t.length-r)}},D=`canvas-nodes`,O=`canvas-edges`,k=`canvas-meta`,A=`canvas-node-order`,j=`canvas-edge-order`;function M(){let e=Error(`Invalid JSON Canvas 1.0 document`);return e.code=`CANVAS_INVALID`,e}function N(e){if(!e||typeof e!=`object`||Array.isArray(e))throw M()}function P(e){if(typeof e!=`string`)throw M()}function F(e,t,n=null){if(Object.hasOwn(e,t)&&(P(e[t]),n&&!n.includes(e[t])))throw M()}function we(e){if(Object.hasOwn(e,`color`)&&!/^(?:[1-6]|#[\da-f]{6})$/i.test(e.color))throw M();F(e,`color`)}function I(e){if(N(e),P(e.id),![`text`,`file`,`link`,`group`].includes(e.type))throw M();for(let t of[`x`,`y`,`width`,`height`])if(!Number.isInteger(e[t]))throw M();if(we(e),e.type===`text`&&P(e.text),e.type===`file`&&(P(e.file),F(e,`subpath`),Object.hasOwn(e,`subpath`)&&!e.subpath.startsWith(`#`)))throw M();e.type===`link`&&P(e.url),e.type===`group`&&(F(e,`label`),F(e,`background`),F(e,`backgroundStyle`,[`cover`,`ratio`,`repeat`]))}function L(e){N(e);for(let t of[`id`,`fromNode`,`toNode`])P(e[t]);for(let t of[`fromSide`,`toSide`])F(e,t,[`top`,`right`,`bottom`,`left`]);for(let t of[`fromEnd`,`toEnd`])F(e,t,[`none`,`arrow`]);F(e,`label`),we(e)}function R(e){N(e);for(let t of[`nodes`,`edges`]){if(Object.hasOwn(e,t)&&!Array.isArray(e[t]))throw M();let n=new Set;for(let r of e[t]??[]){if((t===`nodes`?I:L)(r),n.has(r.id))throw M();n.add(r.id)}}let t=new Set((e.nodes??[]).map(e=>e.id));if((e.edges??[]).some(e=>!t.has(e.fromNode)||!t.has(e.toNode)))throw M();return e}function Te(e){try{if(typeof e!=`string`)throw M();return R(JSON.parse(e,(e,t)=>{if(typeof t==`number`&&!Number.isFinite(t))throw M();return t}))}catch{throw M()}}function Ee(e,t){return JSON.stringify(e)===JSON.stringify(t)}function De(e){if(!(e instanceof a))throw M();return Object.fromEntries(Array.from(e,([e,t])=>[e,t instanceof i?t.toString():structuredClone(t)]))}function Oe(e,t){let{index:n,remove:r,insert:i}=Ce(e.toString(),t);r&&e.delete(n,r),i&&e.insert(n,i)}function z(e,t,{textNode:n=!1,replace:r=!1}={}){if(r)for(let n of e.keys())Object.hasOwn(t,n)||e.delete(n);for(let[r,a]of Object.entries(t)){let t=e.get(r);a===void 0?e.delete(r):n&&r===`text`?t instanceof i?Oe(t,a):e.set(r,new i(a)):Ee(t,a)||e.set(r,structuredClone(a))}}function B(e,t,n){let r=e.getMap(n);return Array.from(e.getMap(t),([e,t])=>{let n=De(t);if(n.id!==e)throw M();return n}).sort((e,t)=>{let n=String(r.get(e.id)??``),i=String(r.get(t.id)??``);return n===i?e.id<t.id?-1:+(e.id>t.id):n<i?-1:1})}function ke(e){return e?.getMap(k).get(`schemaVersion`)===1}function Ae(e){if(!ke(e))throw M();let t=e.getMap(k),n=t.get(`properties`),r=n instanceof a?De(n):{},i=B(e,D,A),o=new Set(i.map(e=>e.id)),s=B(e,O,j).filter(e=>(L(e),o.has(e.fromNode)&&o.has(e.toNode)));return(t.get(`nodesPresent`)||i.length)&&(r.nodes=i),(t.get(`edgesPresent`)||s.length)&&(r.edges=s),R(r)}function je(e,t){R(t);let n=e.getMap(k);n.get(`schemaVersion`)!==1&&n.set(`schemaVersion`,1);let r=n.get(`properties`);r instanceof a||(r=new a,n.set(`properties`,r)),z(r,Object.fromEntries(Object.entries(t).filter(([e])=>![`nodes`,`edges`].includes(e))),{replace:!0});for(let[r,i,o]of[[`nodes`,D,A],[`edges`,O,j]]){let s=t[r]??[],c=e.getMap(i),l=e.getMap(o),u=new Set(s.map(e=>e.id));for(let e of c.keys())u.has(e)||c.delete(e);for(let e of l.keys())u.has(e)||l.delete(e);let d=E(null,null,s.length);s.forEach((e,t)=>{let n=c.get(e.id);n instanceof a||(n=new a,c.set(e.id,n)),z(n,e,{replace:!0,textNode:r===`nodes`&&e.type===`text`}),l.get(e.id)!==d[t]&&l.set(e.id,d[t])});let f=Object.hasOwn(t,r);n.get(`${r}Present`)!==f&&n.set(`${r}Present`,f)}return t}function Me(e,t,n,r){let i=e.getMap(n);if(i.has(t.id))throw M();let o=e.getMap(r),s=B(e,n,r),c=E((s.length?o.get(s.at(-1).id):null)??null,null,1)[0],l=new a;return i.set(t.id,l),z(l,t,{textNode:n===`canvas-nodes`&&t.type===`text`}),o.set(t.id,c),!0}function Ne(e,t){return I(t),Me(e,t,D,A)}function Pe(e,t){L(t);let n=e.getMap(D);if(!n.has(t.fromNode)||!n.has(t.toNode))throw M();return Me(e,t,O,j)}function Fe(e,t,n,r,i){let o=e.getMap(r).get(t);if(!(o instanceof a))return!1;N(n);let s=De(o),c=Object.fromEntries(Object.entries({...s,...n}).filter(([,e])=>e!==void 0));if(c.id!==t)throw M();return i(c),!Ee(s,c)&&(z(o,n,{textNode:r===`canvas-nodes`&&c.type===`text`}),!0)}function Ie(e,t,n){return Fe(e,t,n,D,I)}function Le(e,t,n){return Fe(e,t,n,O,t=>{L(t);let n=e.getMap(D);if(!n.has(t.fromNode)||!n.has(t.toNode))throw M()})}function Re(e,t){let n=!1;for(let r of t)e.getMap(`canvas-edges`).has(r)&&(e.getMap(O).delete(r),e.getMap(j).delete(r),n=!0);return n}function ze(e,t){let n=!1,r=new Set(t);for(let t of r)e.getMap(`canvas-nodes`).has(t)&&(e.getMap(D).delete(t),e.getMap(A).delete(t),n=!0);return Re(e,Array.from(e.getMap(`canvas-edges`),([e,t])=>r.has(t.get(`fromNode`))||r.has(t.get(`toNode`))?e:null).filter(e=>e!==null))||n}function Be(e,t,n){if(![`front`,`back`].includes(n))throw M();let r=B(e,D,A);if(!r.some(e=>e.id===t)||r.length<2)return!1;let i=n===`front`?r.at(-1):r[0];if(i.id===t)return!1;let a=e.getMap(A),o=a.get(i.id),s=n===`front`?E(o,null,1)[0]:E(null,o,1)[0];return a.set(t,s),!0}function Ve(e,t){let n=e.getMap(k),r=n.get(`externalConflict`);if(!r)return!1;if(![`local`,`external`].includes(t))throw M();return t===`external`&&je(e,Te(r.content)),n.delete(`externalConflict`),!0}function V(e){return/^[1-6]$/.test(e)?`var(--canvas-color-${e})`:/^#[\da-f]{6}$/i.test(e)?e:`var(--color-border)`}function H(e){let t=String(e??``).replace(/\\/g,`/`);return!t||t.length>4096||/^[/]|[\0?#]|^[a-z][a-z\d+.-]*:/i.test(t)||t.split(`/`).some(e=>!e||e.startsWith(`.`))?null:t}function He(e){try{let t=new URL(e);return[`https:`,`http:`,`mailto:`].includes(t.protocol)?t.href:null}catch{return null}}function Ue(e,t){let n={x:e.x+e.width/2,y:e.y+e.height/2},[r,i]={top:[0,-1],right:[1,0],bottom:[0,1],left:[-1,0]}[t];return{x:n.x+r*e.width/2,y:n.y+i*e.height/2,dx:r,dy:i}}function We(e,t){return[[`left`,Math.abs(t.x-e.x)],[`right`,Math.abs(t.x-e.x-e.width)],[`top`,Math.abs(t.y-e.y)],[`bottom`,Math.abs(t.y-e.y-e.height)]].sort((e,t)=>e[1]-t[1])[0][0]}function Ge(e,t){let n=t.get(e.fromNode),r=t.get(e.toNode);if(!n||!r)return null;let i=r.x+r.width/2-n.x-n.width/2,a=r.y+r.height/2-n.y-n.height/2,o=Math.abs(i)>=Math.abs(a),s=Ue(n,e.fromSide||(o?i>=0?`right`:`left`:a>=0?`bottom`:`top`)),c=Ue(r,e.toSide||(o?i>=0?`left`:`right`:a>=0?`top`:`bottom`)),l=Math.max(40,Math.hypot(c.x-s.x,c.y-s.y)/3);return{path:`M ${s.x} ${s.y} C ${s.x+s.dx*l} ${s.y+s.dy*l}, ${c.x+c.dx*l} ${c.y+c.dy*l}, ${c.x} ${c.y}`,x:(s.x+c.x)/2,y:(s.y+c.y)/2}}function Ke({container:e,markdownText:t,sourceFilePath:n,subpath:r=``,getFileList:i,getLocalUser:a,getTheme:o,onOpenFile:s,vaultApiClient:c}){let l=document.createElement(`div`);l.className=`preview-content canvas-markdown-preview`,e.append(l);let f={getActiveFilePath:()=>n,getLocalUser:a,getTheme:o,onOpenFile:s,previewContainer:e.closest(`.canvas-card-content`),previewElement:l,vaultApiClient:c},p=[new g(f),new h(f),new _(f),new m(f)],v=()=>p.forEach(e=>e.syncLayout?.()),y=new ee({...f,getContent:()=>t,getFileList:i,getSourceFilePath:()=>n,getSubpath:()=>r,getWikiLinkAutoCreate:()=>!1,loadFileSource:async e=>String((await c.readFile(e)).content??``),plantUmlRenderClient:c,onBeforeRenderCommit:()=>p.forEach(e=>e.detachForCommit?.()),onAfterRenderCommit:(e,t)=>{p.forEach(e=>e.reconcileEmbeds(l,t)),l.querySelectorAll(`[data-task-checkbox]`).forEach(e=>{e.disabled=!0})},onPreviewLayoutChange:v}),b=new ResizeObserver(v);b.observe(l);let x=e=>{let t=e.target.closest(`a[href]`);if(!t)return;let r=t.getAttribute(`href`)||``,a=t.dataset.wikiTarget;if(a){e.preventDefault();let[t,n]=a.split(`#`),r=d(t,i());r&&s(r,n?`#${n}`:``)}else if(r.startsWith(`#`)){e.preventDefault();let t;try{t=decodeURIComponent(r.slice(1))}catch{return}let i=[...l.querySelectorAll(`[id]`)].find(e=>e.id===t);i?i.scrollIntoView({block:`nearest`}):!t||t===`top`?f.previewContainer.scrollTo({top:0}):s(n,r)}else if(!/^(?:[a-z][a-z\d+.-]*:|\/\/)/i.test(r)){e.preventDefault();let[t,i]=r.split(`#`),a;try{a=H(u(n,decodeURIComponent(t)))}catch{return}a&&s(a,i?`#${i}`:``)}};return l.addEventListener(`click`,x),y.queueRender(),{applyTheme(e){y.applyTheme(e),p.forEach(t=>t.updateTheme?.(e))},destroy(){b.disconnect(),l.removeEventListener(`click`,x),y.destroy(),p.forEach(e=>e.destroy()),l.remove()}}}var qe=class{constructor({filePath:e,user:t,readFile:n,onChange:r,onAwareness:i,onConnection:a,providerFactory:o=(...e)=>new re(...e),wsBaseUrl:l=x()}){Object.assign(this,{filePath:e,user:t,readFile:n,onChange:r,onAwareness:i,onConnection:a,providerFactory:o,wsBaseUrl:l}),this.doc=new c,this.localOrigin=Symbol(`canvas-edit`),this.meta=this.doc.getMap(k),this.undoManager=new s([this.doc.getMap(D),this.doc.getMap(O),this.doc.getMap(A),this.doc.getMap(j)],{trackedOrigins:new Set([this.localOrigin]),captureTimeout:500}),this.pendingFlushes=new Map,this.localVersion=0,this.acknowledgedVersion=0,this.hasEverConnected=!1,this.destroyed=!1,this.fallback=null,this.error=``,this.offline=globalThis.navigator?.onLine===!1,this.handleOffline=()=>{this.offline=!0,this.provider?.disconnect(),this.publish()},this.handleOnline=()=>{this.offline&&(this.offline=!1,this.provider?.connect(),this.publish())}}get canEdit(){return!(!this.provider?.synced||!ke(this.doc)||this.error||this.meta.get(`externalConflict`)||this.disconnecting||this.offline)}get hasPendingWrites(){return this.localVersion>this.acknowledgedVersion}async connect(){this.doc.on(`update`,(e,t)=>{t!==this.provider&&(this.localVersion+=1,clearTimeout(this.flushTimer),this.flushTimer=setTimeout(()=>{this.flush()},400)),this.publish()}),this.provider=this.providerFactory(this.wsBaseUrl,this.filePath,this.doc,{disableBc:!0,maxBackoffTime:5e3}),ie(this.provider),this.provider.messageHandlers[5]=(e,t)=>{let r=n(t);this.pendingFlushes.get(r)?.(!0)},this.awareness=this.provider.awareness,this.setUser(this.user),this.awareness.on(`change`,()=>this.publishAwareness()),this.provider.on(`status`,({status:e})=>{let t=e===`connected`&&!this.hasEverConnected;e===`connected`&&(this.hasEverConnected=!0),this.onConnection?.({status:e,firstConnection:t,hasEverConnected:this.hasEverConnected,attempts:0}),this.publish()}),this.provider.on(`sync`,()=>{this.publish(),this.provider.synced&&this.hasPendingWrites&&this.flush()}),globalThis.window?.addEventListener(`offline`,this.handleOffline),globalThis.window?.addEventListener(`online`,this.handleOnline),this.offline&&this.provider.disconnect(),this.publish();try{let e=await this.readFile(this.filePath);if(this.destroyed)return;this.fallback=Te(e.content)}catch(e){if(this.destroyed)return;this.error=e.message||`Unable to open canvas`}this.publish()}publish(){if(this.destroyed)return;let e=this.fallback;if(ke(this.doc))try{e=Ae(this.doc),this.error=``}catch{this.error=`Canvas data is invalid. Editing is paused to protect the file.`}else this.meta.get(`invalidContent`)&&(this.error=`Invalid JSON Canvas file. The original file has been preserved.`);this.onChange?.({document:e,canEdit:this.canEdit,synced:!!this.provider?.synced,conflict:this.meta.get(`externalConflict`),error:this.error,undoAvailable:this.undoManager.canUndo(),redoAvailable:this.undoManager.canRedo()})}mutate(e,{separateUndo:t=!0}={}){return this.canEdit?(t&&this.undoManager.stopCapturing(),this.doc.transact(()=>e(this.doc),this.localOrigin),t&&this.undoManager.stopCapturing(),!0):!1}undo(){this.canEdit&&(this.undoManager.undo(),this.publish())}redo(){this.canEdit&&(this.undoManager.redo(),this.publish())}setUser(e){this.user=e,this.awareness?.setLocalStateField(`user`,e)}setPresence(e,t){this.awareness?.setLocalStateField(e,t)}publishAwareness(){let e=[];this.awareness?.getStates().forEach((t,n)=>{t.user&&e.push({...t.user,clientId:n,isLocal:n===this.doc.clientID,pointer:t.pointer,selectedNodeIds:t.selectedNodeIds})}),this.onAwareness?.(e)}flush(n=5e3){if(!this.hasPendingWrites)return Promise.resolve(!0);let i=this.provider?.ws;if(!this.provider?.synced||i?.readyState!==1)return Promise.resolve(!1);let a=this.localVersion,s=`canvas-${this.doc.clientID}-${crypto.randomUUID()}`;return new Promise(c=>{let l=e=>{clearTimeout(u),this.pendingFlushes.delete(s),e&&(this.acknowledgedVersion=Math.max(this.acknowledgedVersion,a)),c(e&&!this.hasPendingWrites)},u=setTimeout(()=>l(!1),n);this.pendingFlushes.set(s,l);try{let n=o();e(n,4),r(n,s),i.send(t(n))}catch{l(!1)}})}async prepareDisconnect(){this.disconnecting=!0,this.publish();let e=await this.flush();return this.disconnecting=!1,this.publish(),e}destroy(){this.destroyed=!0,globalThis.window?.removeEventListener(`offline`,this.handleOffline),globalThis.window?.removeEventListener(`online`,this.handleOnline),clearTimeout(this.flushTimer),[...this.pendingFlushes.values()].forEach(e=>e(!1)),this.provider?.destroy(),this.undoManager.destroy(),this.doc.destroy()}};function Je({parent:e,text:t,awareness:n,undoManager:r,onClose:i}){let a=new ae,o=!1,s=new S({parent:e,state:se.create({doc:t.toString(),extensions:[le(),S.lineWrapping,S.contentAttributes.of({"aria-label":`Edit canvas text`}),a.of(S.editable.of(!0)),de(t,n,{undoManager:r}),oe.of([{key:`Escape`,run:()=>(i(),!0)},...ue,...ce])]})});return s.focus(),{text:t,destroy:()=>s.destroy(),setReadOnly:e=>{o!==e&&(o=e,s.dispatch({effects:a.reconfigure(S.editable.of(!o))}))}}}function Ye({root:e,title:t,loadChoices:n,onChoose:r,canChoose:i}){let a=document.activeElement,o=document.createElement(`dialog`);o.className=`canvas-picker`;let s=document.createElement(`h2`);s.id=`canvas-picker-${crypto.randomUUID()}`,s.textContent=t,o.setAttribute(`aria-labelledby`,s.id);let c=document.createElement(`button`);c.type=`button`,c.className=`canvas-button`,c.textContent=`Close`;let l=document.createElement(`header`);l.append(s,c);let u=document.createElement(`input`);u.type=`search`,u.placeholder=t,u.setAttribute(`aria-label`,t),u.setAttribute(`role`,`combobox`),u.setAttribute(`aria-autocomplete`,`list`),u.setAttribute(`aria-expanded`,`true`),u.autocomplete=`off`;let d=document.createElement(`div`);d.id=`${s.id}-results`,d.className=`canvas-picker-results`,d.setAttribute(`role`,`listbox`),d.setAttribute(`aria-label`,`Suggestions`),u.setAttribute(`aria-controls`,d.id);let f=document.createElement(`p`);f.className=`canvas-picker-status`,f.setAttribute(`role`,`status`),f.textContent=`Loading…`,o.append(l,u,d,f),e.append(o);let p=[],m=[],h=0,g=!1,_=()=>{g||(g=!0,o.close(),o.remove(),a?.isConnected&&a.focus({preventScroll:!0}))},ee=e=>{if(e){if(!i()){f.textContent=`This selection is no longer available. Close and try again.`;return}_(),r(e.value)}},v=e=>{h=Math.max(0,Math.min(m.length-1,e)),[...d.children].forEach((e,t)=>e.setAttribute(`aria-selected`,String(t===h)));let t=d.children[h];t?(u.setAttribute(`aria-activedescendant`,t.id),t.scrollIntoView({block:`nearest`})):u.removeAttribute(`aria-activedescendant`)},y=()=>{let e=u.value.trim().toLowerCase(),t=p.map(t=>({choice:t,score:e?pe(t.search,e)?.score:1})).filter(({score:e})=>e!==void 0).sort((e,t)=>t.score-e.score);m=t.slice(0,100).map(({choice:e})=>e),d.replaceChildren(...m.map((e,t)=>{let n=document.createElement(`button`);n.type=`button`,n.tabIndex=-1,n.id=`${d.id}-${t}`,n.setAttribute(`role`,`option`);let r=document.createElement(`span`);r.textContent=e.label;let i=document.createElement(`small`);return i.textContent=e.detail||``,n.append(r,i),n.addEventListener(`click`,()=>ee(e)),n})),f.textContent=t.length>100?`Showing the first 100 matches. Type to narrow the list.`:t.length?`↑ ↓ to navigate · Enter to choose · Esc to close`:`No matches.`,v(0)};return c.addEventListener(`click`,_),o.addEventListener(`cancel`,e=>{e.preventDefault(),_()}),o.addEventListener(`click`,e=>{let t=o.getBoundingClientRect();e.target===o&&(e.clientX<t.left||e.clientX>t.right||e.clientY<t.top||e.clientY>t.bottom)&&_()}),o.addEventListener(`keydown`,e=>{if(e.stopPropagation(),e.key===`Escape`){e.preventDefault(),_();return}e.target===u&&([`ArrowDown`,`ArrowUp`,`Enter`].includes(e.key)&&e.preventDefault(),e.key===`ArrowDown`&&v(h+1),e.key===`ArrowUp`&&v(h-1),e.key===`Enter`&&ee(m[h]))}),u.addEventListener(`input`,y),o.showModal(),u.focus(),Promise.resolve().then(n).then(e=>{g||(p=e.map(e=>({...e,search:me(e.searchText||`${e.label} ${e.detail||``}`)})),y())}).catch(()=>{g||(f.textContent=`Suggestions unavailable. Close and try again.`)}),{close:_}}var Xe=`http://www.w3.org/2000/svg`,U={text:`Text card`,file:`File card`,link:`Link card`,group:`Group`},Ze={text:`M14 3H5v18h14V8Z M14 3v5h5`,file:`M14 3H5v18h14V8Z M14 3v5h5 M8 12h8 M8 16h6`,link:`M10 13a5 5 0 0 0 7 0l3-3a5 5 0 0 0-7-7l-2 2 M14 11a5 5 0 0 0-7 0l-3 3a5 5 0 0 0 7 7l2-2`,group:`M8 3H3v5 M16 3h5v5 M21 16v5h-5 M8 21H3v-5 M11 3h2 M21 11v2 M11 21h2 M3 11v2`,edit:`m16 3 5 5-12 12-6 1 1-6Z M13 6l5 5`,color:`M12 3a9 9 0 1 0 0 18h1a2 2 0 0 0 0-4 2 2 0 0 1 0-4h4a4 4 0 0 0 4-4c0-3-4-6-9-6Z M7 10h.01 M10 7h.01 M15 7h.01`,section:`M9 3 7 21 M17 3l-2 18 M4 8h16 M3 16h16`,properties:`M4 6h6 M14 6h6 M4 12h10 M18 12h2 M4 18h2 M10 18h10 M10 3v6 M14 9v6 M6 15v6`,delete:`M3 6h18 M9 6V3h6v3 M5 6l1 15h12l1-15 M10 10v7 M14 10v7`,undo:`M3 10h10a7 7 0 0 1 7 7 M3 10l5-5 M3 10l5 5`,redo:`M21 10H11a7 7 0 0 0-7 7 M21 10l-5-5 M21 10l-5 5`,plus:`M12 5v14 M5 12h14`,minus:`M5 12h14`,fit:`M8 3H3v5 M16 3h5v5 M21 16v5h-5 M8 21H3v-5`,open:`M14 3h7v7 M21 3 10 14 M10 3H3v18h18v-7`,close:`m6 6 12 12 M18 6 6 18`,resize:`m9 20 11-11 M15 20l5-5`,help:`M21 12a9 9 0 1 0-18 0 9 9 0 0 0 18 0 M9 9a3 3 0 0 1 6 0c0 2-3 2-3 4 M12 17h.01`};function W(e){let t=q(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":1.6,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`});return t.append(q(`path`,{d:Ze[e]})),t}function G(e,t,n){let r=document.createElement(e);return t&&(r.className=t),n!==void 0&&(r.textContent=n),r}function K(e,t,n){let r=G(`button`,`canvas-button`);return r.type=`button`,r.title=e,r.setAttribute(`aria-label`,e),n?(r.classList.add(`canvas-icon-button`),r.append(W(n))):r.textContent=e,r.addEventListener(`click`,t),r}function q(e,t={}){let n=document.createElementNS(Xe,e);return Object.entries(t).forEach(([e,t])=>n.setAttribute(e,t)),n}var Qe=class{constructor({root:e,actions:t,createTextEditor:n,createMarkdownPreview:r,getText:i,readFile:a,readTree:o,attachmentUrl:s,onOpenFile:c,vaultId:l=``}){Object.assign(this,{root:e,actions:t,createTextEditor:n,createMarkdownPreview:r,getText:i,readFile:a,readTree:o,attachmentUrl:s,onOpenFile:c,vaultId:l}),this.nodes=new Map,this.selection=new Set,this.document={nodes:[],edges:[]},this.viewport={x:80,y:80,zoom:1},this.lastWheelPan=-1/0,this.canEdit=!1,this.selectedEdge=null,this.activeEditor=null,this.users=[],this.inspectorOpen=!1,this.abort=new AbortController,this.mount()}mount(){this.root.replaceChildren(),this.root.classList.add(`canvas-editor`),this.toolbar=G(`div`,`canvas-toolbar`),this.toolbar.setAttribute(`role`,`toolbar`),this.toolbar.setAttribute(`aria-label`,`Canvas tools`),this.editButtons=[],Object.entries(U).forEach(([e,t])=>{let n=K(`+ ${t}`,()=>this.addNode(e),e);n.title=`Add ${t.toLowerCase()}`,this.toolbar.append(n),this.editButtons.push(n)}),this.connectButton=K(`Connect`,()=>this.beginConnection(),`link`),this.deleteButton=K(`Delete`,()=>this.removeSelection(),`delete`),this.undoButton=K(`Undo`,()=>this.actions.undo(),`undo`),this.redoButton=K(`Redo`,()=>this.actions.redo(),`redo`),this.status=G(`span`,`canvas-status`,`Connecting…`),this.status.setAttribute(`role`,`status`),this.banner=G(`div`,`canvas-banner`),this.banner.hidden=!0,this.banner.setAttribute(`role`,`alert`),this.body=G(`div`,`canvas-body`),this.stage=G(`div`,`canvas-stage`),this.stage.tabIndex=0,this.stage.setAttribute(`aria-label`,`Canvas. Drag to select. Space-drag to pan. Use arrow keys to move selected cards.`),this.world=G(`div`,`canvas-world`),this.edges=q(`svg`,{class:`canvas-edges`,"aria-label":`Connections`}),this.world.append(this.edges),this.cursors=G(`div`,`canvas-cursors`),this.world.append(this.cursors),this.stage.append(this.world),this.emptyState=G(`div`,`canvas-empty-state`),this.emptyState.hidden=!0,this.emptyState.append(G(`strong`,``,`Start your canvas`),G(`span`,``,`Double-click to add text, or choose a card below.`)),this.mountSelectionToolbar(),this.inspector=G(`aside`,`canvas-inspector`),this.inspector.setAttribute(`aria-label`,`Canvas selection`),this.inspector.id=`canvas-properties`,this.inspector.hidden=!0,this.body.append(this.stage,this.inspector),this.navigation=G(`div`,`canvas-navigation`),this.navigation.setAttribute(`role`,`toolbar`),this.navigation.setAttribute(`aria-label`,`Canvas navigation`);let e=G(`div`,`canvas-tool-group`);this.zoomLabel=K(`Reset zoom`,()=>this.zoomBy(1/this.viewport.zoom)),this.zoomLabel.classList.add(`canvas-zoom-label`),e.append(K(`Zoom in`,()=>this.zoomBy(1.25),`plus`),this.zoomLabel,K(`Fit canvas`,()=>this.fit(),`fit`),K(`Zoom out`,()=>this.zoomBy(.8),`minus`));let t=G(`div`,`canvas-tool-group`);t.append(this.undoButton,this.redoButton),this.helpMenu=G(`details`,`canvas-help-menu canvas-tool-group`);let n=G(`summary`,`canvas-button canvas-icon-button`);n.title=`Canvas help`,n.setAttribute(`aria-label`,`Canvas help`),n.append(W(`help`));let r=G(`div`,`canvas-help-content`);r.append(G(`strong`,``,`Canvas shortcuts`));for(let[e,t]of[[`Double-click`,`Add or edit text`],[`Drag a card`,`Move it`],[`Drag background`,`Select cards`],[`Drag a group`,`Move its enclosed cards`],[`Shift-drag`,`Select inside a group`],[`Space / middle-drag`,`Pan canvas`],[`Ctrl / ⌘ + scroll`,`Zoom`],[`Shift + 1 / 2`,`Fit canvas / selection`],[`Drag a dot`,`Connect cards`],[`Choose section`,`Show a Markdown heading`]]){let n=G(`div`);n.append(G(`span`,``,e),G(`span`,``,t)),r.append(n)}this.helpMenu.append(n,r),this.navigation.append(e,t,this.helpMenu),this.help=G(`span`,`canvas-help`),this.help.setAttribute(`role`,`status`),this.stage.append(this.emptyState,this.toolbar,this.navigation,this.status,this.help),this.root.append(this.banner,this.body);let i=this.abort.signal;this.stage.addEventListener(`pointerdown`,e=>this.startPan(e),{signal:i}),this.stage.addEventListener(`dblclick`,e=>{if(e.target===this.stage){let t=this.stage.getBoundingClientRect();this.addNode(`text`,this.toWorld(e.clientX-t.left,e.clientY-t.top))}},{signal:i}),this.stage.addEventListener(`pointermove`,e=>this.publishPointer(e),{signal:i}),this.stage.addEventListener(`pointerleave`,()=>this.actions.presence(`pointer`,null),{signal:i}),this.stage.addEventListener(`dragover`,e=>{this.canEdit&&e.dataTransfer?.types.includes(`application/x-collabmd-vault-file`)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)},{signal:i}),this.stage.addEventListener(`drop`,e=>{this.dropFile(e)},{signal:i}),this.stage.addEventListener(`wheel`,e=>{if(e.defaultPrevented||e.target.closest(`.canvas-selection-toolbar, .canvas-navigation, .canvas-toolbar`))return;let t=e.ctrlKey||e.metaKey||this.spaceHeld,n=e.target.closest(`.canvas-card-content`);if(!t&&n&&e.timeStamp-this.lastWheelPan>200){let t=e.shiftKey||Math.abs(e.deltaX)>Math.abs(e.deltaY),r=t&&!e.shiftKey?e.deltaX:e.deltaY;for(let i=e.target;n.contains(i);i=i.parentElement){let e=getComputedStyle(i);if(!/(auto|scroll)/.test(e[t?`overflowX`:`overflowY`]))continue;let n=t?i.scrollLeft:i.scrollTop,a=t?i.scrollWidth-i.clientWidth:i.scrollHeight-i.clientHeight;if(r<0?n>0:r>0&&n<a-1)return;if(e[t?`overscrollBehaviorX`:`overscrollBehaviorY`]!==`auto`)break}}e.preventDefault(),t?this.zoomBy(Math.exp(-e.deltaY*.005),e.clientX,e.clientY):(this.lastWheelPan=e.timeStamp,this.viewport.x-=e.shiftKey?e.deltaY:e.deltaX,this.viewport.y-=e.shiftKey?0:e.deltaY,this.applyViewport())},{signal:i,passive:!1}),this.root.addEventListener(`keydown`,e=>this.onKeyDown(e),{signal:i}),this.root.addEventListener(`pointerdown`,e=>{this.lastWheelPan=-1/0,[this.colorMenu,this.helpMenu].forEach(t=>{t.contains(e.target)||(t.open=!1)})},{signal:i,capture:!0}),window.addEventListener(`keyup`,e=>{e.code===`Space`&&(this.spaceHeld=!1)},{signal:i}),window.addEventListener(`blur`,()=>{this.spaceHeld=!1,this.cancelGesture?.()},{signal:i}),this.resizeObserver=new ResizeObserver(()=>this.positionSelectionToolbar()),this.resizeObserver.observe(this.stage),this.renderInspector(),this.applyViewport()}mountSelectionToolbar(){this.selectionToolbar=G(`div`,`canvas-selection-toolbar`),this.selectionToolbar.setAttribute(`role`,`toolbar`),this.selectionToolbar.setAttribute(`aria-label`,`Selection actions`),this.selectionToolbar.hidden=!0,this.editTextButton=K(`Edit text`,()=>this.openTextEditor([...this.selection][0]),`edit`),this.fileButton=K(`Change file`,()=>this.openFilePicker([...this.selection][0]),`file`),this.headingButton=K(`Choose section`,()=>this.openHeadingPicker([...this.selection][0])),this.headingButton.prepend(W(`section`)),this.labelInput=G(`input`,`canvas-connection-label`),this.labelInput.placeholder=`Connection label`,this.labelInput.setAttribute(`aria-label`,`Connection label`),this.labelInput.addEventListener(`change`,()=>{this.canEdit&&this.selectedEdge&&this.actions.updateEdge(this.selectedEdge,{label:this.labelInput.value||void 0})}),this.labelInput.addEventListener(`keydown`,e=>{e.key===`Enter`&&(e.preventDefault(),this.labelInput.blur()),e.key===`Escape`&&(this.labelInput.value=(this.document.edges??[]).find(e=>e.id===this.selectedEdge)?.label||``,this.labelInput.blur())}),this.colorMenu=G(`details`,`canvas-color-menu`);let e=G(`summary`,`canvas-button canvas-icon-button`);e.title=`Set color`,e.setAttribute(`aria-label`,`Set color`),e.append(W(`color`)),this.colorMenu.append(e);let t=G(`div`,`canvas-colors`);[``,`1`,`2`,`3`,`4`,`5`,`6`].forEach(e=>{let n=K(``,()=>{this.setSelectionColor(e||void 0),this.colorMenu.open=!1});n.setAttribute(`aria-label`,e?`Color ${e}`:`Default color`),n.title=e?`Color ${e}`:`Default color`,n.style.setProperty(`--canvas-color`,V(e)),t.append(n)});let n=G(`input`);n.type=`color`,n.setAttribute(`aria-label`,`Custom color`),n.addEventListener(`change`,()=>this.setSelectionColor(n.value)),t.append(n),this.colorMenu.append(t),this.propertiesButton=K(`Properties`,()=>{this.inspectorOpen=!this.inspectorOpen,this.renderInspector(),this.positionSelectionToolbar()},`properties`),this.propertiesButton.setAttribute(`aria-controls`,`canvas-properties`),this.fitSelectionButton=K(`Fit selection`,()=>this.fit([...this.selection]),`fit`),this.selectionToolbar.append(this.editTextButton,this.fileButton,this.headingButton,this.labelInput,this.colorMenu,this.connectButton,this.fitSelectionButton,this.propertiesButton,this.deleteButton),this.stage.append(this.selectionToolbar)}updateSelectionToolbar(){let e=this.selection.size===1?this.getNode([...this.selection][0]):null,t=(this.document.edges??[]).find(e=>e.id===this.selectedEdge);this.selectionToolbar.hidden=!e&&!t&&!this.selection.size,this.editTextButton.hidden=e?.type!==`text`,this.fileButton.hidden=e?.type!==`file`,this.headingButton.hidden=e?.type!==`file`||!/\.(md|markdown|mdx)$/i.test(e.file),this.labelInput.hidden=!t,this.connectButton.hidden=!this.selection.size,this.fitSelectionButton.hidden=!this.selection.size,document.activeElement!==this.labelInput&&(this.labelInput.value=t?.label||``),[this.editTextButton,this.fileButton,this.headingButton,this.labelInput].forEach(e=>{e.disabled=!this.canEdit}),this.colorMenu.querySelectorAll(`button, input`).forEach(e=>{e.disabled=!this.canEdit}),this.propertiesButton.setAttribute(`aria-expanded`,String(!this.inspector.hidden)),this.positionSelectionToolbar()}positionSelectionToolbar(){if(this.selectionToolbar.hidden)return;let e=this.stage.getBoundingClientRect(),t=[...this.selection].map(e=>this.nodes.get(e)?.card.getBoundingClientRect()).filter(Boolean);if(!t.length){let e=[...this.edges.querySelectorAll(`[data-edge-id]`)].find(e=>e.dataset.edgeId===this.selectedEdge);e&&t.push(e.getBoundingClientRect())}if(!t.length)return;let n=Math.min(...t.map(e=>e.left)),r=Math.max(...t.map(e=>e.right)),i=[...this.selection].some(e=>this.getNode(e)?.type!==`text`)?28:0,a=Math.min(...t.map(e=>e.top))-i,o=this.selectionToolbar.offsetWidth;this.selectionToolbar.style.left=`${Math.max(8,Math.min(e.width-o-64,(n+r)/2-e.left-o/2))}px`,this.selectionToolbar.style.top=`${Math.max(8,Math.min(e.height-this.selectionToolbar.offsetHeight-8,a-e.top-this.selectionToolbar.offsetHeight-10))}px`}setSelectionColor(e){this.canEdit&&(this.selectedEdge?this.actions.updateEdge(this.selectedEdge,{color:e}):this.actions.updateNodes([...this.selection].map(t=>({id:t,patch:{color:e}}))))}openFilePicker(e=null,t=null){this.canEdit&&(this.picker?.close(),this.picker=Ye({root:this.root,title:`Choose a Vault file`,canChoose:()=>this.canEdit&&(!e||this.getNode(e)?.type===`file`),loadChoices:async()=>v((await this.readTree()).tree??[]).files.filter(H).sort().map(e=>({value:e,label:e.split(`/`).pop(),detail:e,searchText:e})),onChoose:n=>{e?this.getNode(e)?.file!==n&&this.actions.updateNode(e,{file:n,subpath:void 0}):this.addNode(`file`,t,{file:n})}}))}openHeadingPicker(e){let t=this.getNode(e);if(!this.canEdit||t?.type!==`file`)return;let n=t.file;this.picker?.close(),this.picker=Ye({root:this.root,title:`Choose a heading`,canChoose:()=>this.canEdit&&this.getNode(e)?.type===`file`&&this.getNode(e).file===n,loadChoices:async()=>{let{content:e}=await this.readFile(n);return[{value:``,label:`Whole file`,detail:n},...fe(e).map(({id:e,text:t})=>({value:`#${e}`,label:t,detail:`#${e}`}))]},onChoose:t=>this.actions.updateNode(e,{subpath:t||void 0})})}async dropFile(e){if(e.preventDefault(),this.canEdit)try{let t=JSON.parse(e.dataTransfer?.getData(`application/x-collabmd-vault-file`)||`null`);if(!t||t.vaultId!==this.vaultId||!H(t.path))return;let n=this.stage.getBoundingClientRect(),r=this.toWorld(e.clientX-n.left,e.clientY-n.top),i=v((await this.readTree()).tree??[]).files;!this.abort.signal.aborted&&this.canEdit&&i.includes(t.path)&&this.addNode(`file`,r,{file:t.path})}catch{this.status.textContent=`Unable to add this file. Choose a file from this Vault.`}}update({document:e,canEdit:t,synced:n,conflict:r,error:i,undoAvailable:a,redoAvailable:o}){if(this.canEdit=t,this.status.textContent=i||(r?`External file conflict`:t?`Live`:n?`Read only`:`Reconnecting…`),this.status.dataset.state=t?`live`:`readonly`,this.root.dataset.ready=String(!!e),this.root.dataset.editable=String(t),this.editButtons.forEach(e=>{e.disabled=!t}),this.connectButton.disabled=!t||this.selection.size===0,this.deleteButton.disabled=!t||!this.selection.size&&!this.selectedEdge,this.undoButton.disabled=!t||!a,this.redoButton.disabled=!t||!o,this.activeEditor?.editor.setReadOnly(!t),t||this.cancelGesture?.(),this.inspector.querySelectorAll(`input, select, .canvas-order button`).forEach(e=>{e.disabled=!t}),this.renderConflict(r,n),!e)return;this.document=e,this.emptyState.hidden=!!e.nodes?.length,this.activeEditor&&(this.getNode(this.activeEditor.id)?.type!==`text`||this.getText(this.activeEditor.id)!==this.activeEditor.editor.text)&&this.closeTextEditor();let s=new Set((e.nodes??[]).map(e=>e.id));for(let[e,t]of this.nodes)s.has(e)||(this.activeEditor?.id===e&&this.closeTextEditor(),t.preview?.destroy(),t.card.remove(),this.nodes.delete(e),this.selection.delete(e));(e.nodes??[]).forEach((e,t)=>this.renderNode(e,t)),this.selectedEdge&&!(e.edges??[]).some(e=>e.id===this.selectedEdge)&&(this.selectedEdge=null),this.renderEdges(),this.inspector.contains(document.activeElement)?this.syncInspectorFields?.():this.renderInspector(),this.updateSelectionToolbar(),this.renderPresence(this.users),!this.didFit&&this.stage.clientWidth&&(this.fit(),this.didFit=!0)}renderConflict(e,t){let n=JSON.stringify([e,t]);if(n===this.conflictSignature||(this.conflictSignature=n,this.banner.replaceChildren(),this.banner.hidden=!e,!e))return;this.banner.append(G(`span`,``,e.invalid?`The file changed outside CollabMD and is invalid. Your canvas edits are preserved.`:`The file changed outside CollabMD. Choose which version to keep.`));let r=K(`Keep canvas edits`,()=>this.actions.resolveConflict(`local`));r.disabled=!t,this.banner.append(r);let i=K(`Use external version`,()=>this.actions.resolveConflict(`external`));i.disabled=!t||e.invalid,this.banner.append(i)}renderNode(e,t){let n=this.nodes.get(e.id);if(!n){let t=G(`article`,`canvas-card`);t.dataset.nodeId=e.id,t.tabIndex=0;let r=G(`div`,`canvas-card-header`),i=G(`span`,`canvas-card-title`),a=K(`Open file`,()=>{let t=this.getNode(e.id);t?.type===`file`&&this.onOpenFile(t.file,t.subpath)},`open`);a.classList.add(`canvas-open-file`),r.append(i,a);let o=G(`div`,`canvas-card-content`),s=K(`Resize`,()=>{},`resize`);s.classList.add(`canvas-resize`),t.append(r,o,s),this.world.append(t),n={card:t,header:r,title:i,content:o,resize:s,openFile:a},this.nodes.set(e.id,n),t.addEventListener(`pointerdown`,t=>this.startNodeDrag(t,e.id)),t.addEventListener(`dblclick`,t=>{t.target.closest(`a, button, input, textarea, select, .diagram-preview-shell`)||this.getNode(e.id)?.type===`text`&&this.openTextEditor(e.id)}),t.addEventListener(`keydown`,n=>{n.target===t&&[`Enter`,` `].includes(n.key)&&(n.preventDefault(),n.stopPropagation(),n.key===` `&&(this.spaceHeld=!0),this.select(e.id,n.shiftKey),n.key===`Enter`&&this.getNode(e.id)?.type===`text`&&this.openTextEditor(e.id))}),s.addEventListener(`pointerdown`,t=>this.startNodeDrag(t,e.id,!0));for(let n of[`top`,`right`,`bottom`,`left`]){let r=K(``,t=>{t.detail===0&&this.beginConnection(e.id,n)});r.classList.add(`canvas-connection-handle`),r.dataset.side=n,r.setAttribute(`aria-label`,`Connect from ${n}`),r.title=`Drag to connect from ${n}`,r.addEventListener(`pointerdown`,t=>this.startConnection(t,e.id,n)),t.append(r)}}let r=JSON.stringify([e.type,e.text,e.file,e.subpath,e.url,e.background,e.backgroundStyle]);if(n.signature!==r&&(n.headingLabel=``),n.card.dataset.type=e.type,n.card.style.left=`${e.x}px`,n.card.style.top=`${e.y}px`,n.card.style.width=`${Math.max(1,e.width)}px`,n.card.style.height=`${Math.max(1,e.height)}px`,n.card.style.zIndex=String(t+1),n.card.style.setProperty(`--canvas-color`,V(e.color)),n.header.hidden=e.type===`text`,n.title.textContent=e.type===`group`?e.label||`Group`:e.type===`file`?`${e.file.split(`/`).pop()||`Choose a file`}${e.subpath?` › ${n.headingLabel||e.subpath.slice(1)}`:``}`:e.url,n.title.title=e.type===`file`?`${e.file}${e.subpath||``}`:n.title.textContent,n.openFile.hidden=e.type!==`file`||!H(e.file),n.openFile.setAttribute(`aria-label`,`Open ${e.file||``}${e.subpath||``}`),n.openFile.title=`Open ${e.file||``}${e.subpath||``}`,n.card.setAttribute(`aria-label`,`${U[e.type]}: ${e.text?.slice(0,80)||e.label||e.file||e.url||``}`),n.card.classList.toggle(`is-selected`,this.selection.has(e.id)),n.resize.disabled=!this.canEdit,n.card.querySelectorAll(`.canvas-connection-handle`).forEach(e=>{e.disabled=!this.canEdit}),this.activeEditor?.id!==e.id&&n.signature!==r){if(n.signature=r,n.preview?.destroy(),n.preview=null,n.content.replaceChildren(),n.content.style.backgroundImage=``,e.type===`text`&&(n.preview=this.createMarkdownPreview(n.content,e.text)),e.type===`link`){let t=He(e.url),r=G(t?`a`:`span`,`canvas-card-link`,e.url);t&&Object.assign(r,{href:t,target:`_blank`,rel:`noopener noreferrer`}),n.content.append(r)}if(e.type===`file`&&this.renderFile(n,e,r),e.type===`group`&&e.background){let t=H(e.background);t&&(n.content.style.backgroundImage=`url("${this.attachmentUrl(t)}")`),n.content.dataset.backgroundStyle=e.backgroundStyle||`cover`}}}async renderFile(e,t,n){let r=H(t.file);if(!r){e.content.append(G(`span`,``,`This file path is unavailable in the Vault.`));return}if(/\.(png|jpe?g|gif|webp|svg)$/i.test(r)){let t=G(`img`,`canvas-file-image`);t.src=this.attachmentUrl(r),t.alt=r,t.loading=`lazy`,t.addEventListener(`error`,()=>{t.replaceWith(G(`p`,``,`Image unavailable`))}),e.content.append(t)}else if(/\.(md|markdown|mdx)$/i.test(r)){let i=G(`div`,`canvas-file-markdown`);e.content.append(i);try{let a=await this.readFile(r);e.signature===n&&i.isConnected&&(e.headingLabel=fe(a.content).find(({id:e})=>`#${e}`===t.subpath)?.text||``,e.title.textContent=`${r.split(`/`).pop()}${t.subpath?` › ${e.headingLabel||t.subpath.slice(1)}`:``}`,e.preview=this.createMarkdownPreview(i,a.content,r,t.subpath),e.content.scrollTop=0)}catch{e.signature===n&&(i.textContent=`File unavailable`)}}else e.content.append(G(`p`,``,`Open this file in the workspace.`))}getNode(e){return(this.document.nodes??[]).find(t=>t.id===e)}select(e,t=!1){this.connectFrom&&e!==this.connectFrom.id&&this.canEdit&&(this.actions.addEdge({fromNode:this.connectFrom.id,toNode:e,...this.connectFrom.side?{fromSide:this.connectFrom.side}:{}}),this.connectFrom=null,this.help.textContent=`Connection added`),this.closeTextEditor(),this.selectedEdge=null,t?this.selection.has(e)?this.selection.delete(e):this.selection.add(e):this.selection=new Set([e]),this.syncSelection()}syncSelection(){this.nodes.forEach(({card:e},t)=>e.classList.toggle(`is-selected`,this.selection.has(t))),this.actions.presence(`selectedNodeIds`,[...this.selection]),this.connectButton.disabled=!this.canEdit||!this.selection.size,this.deleteButton.disabled=!this.canEdit||!this.selection.size&&!this.selectedEdge,this.renderInspector(),this.edges.querySelectorAll(`[data-edge-id]`).forEach(e=>e.classList.toggle(`is-selected`,e.dataset.edgeId===this.selectedEdge)),this.updateSelectionToolbar()}openTextEditor(e){if(!this.canEdit||this.activeEditor?.id===e)return;this.select(e);let t=this.nodes.get(e);t.preview?.destroy(),t.preview=null,t.content.replaceChildren(),t.content.classList.add(`canvas-text-editor`);let n=this.createTextEditor(e,t.content,()=>this.closeTextEditor());n&&(this.activeEditor={id:e,editor:n})}closeTextEditor(){if(!this.activeEditor)return;let{id:e,editor:t}=this.activeEditor;this.activeEditor=null,t.destroy();let n=this.nodes.get(e);if(n){n.signature=null,n.content.classList.remove(`canvas-text-editor`);let t=this.getNode(e);t&&this.renderNode(t,(this.document.nodes??[]).indexOf(t)),n.card.focus({preventScroll:!0})}}beginConnection(e=null,t=null){if(this.canEdit){if(e&&this.select(e),!e&&this.selection.size>=2){let[e,t]=this.selection;this.actions.addEdge({fromNode:e,toNode:t})}else this.connectFrom={id:e||[...this.selection][0],side:t},this.help.textContent=`Select another card to connect. Escape cancels.`}}addNode(e,t=null,n=null){if(!this.canEdit)return;if(e===`file`&&!n){this.openFilePicker(null,t);return}let r=t||this.toWorld(this.stage.clientWidth/2,this.stage.clientHeight/2),i=e===`group`?480:280,a=e===`group`?360:200,o=this.actions.addNode({type:e,x:Math.round(r.x-i/2),y:Math.round(r.y-a/2),width:i,height:a,...{text:{text:``},file:{file:``},link:{url:`https://`},group:{label:`Group`}}[e],...n});o&&(this.select(o),e===`text`?this.openTextEditor(o):e!==`file`&&(this.inspectorOpen=!0,this.renderInspector(),this.inspector.querySelector(`input`)?.focus()))}removeSelection(){this.canEdit&&(this.closeTextEditor(),this.selectedEdge?this.actions.deleteEdges([this.selectedEdge]):this.actions.deleteNodes([...this.selection]),this.selection.clear(),this.selectedEdge=null,this.syncSelection())}renderEdges(){this.edges.replaceChildren();let e=q(`defs`),t=q(`marker`,{id:`canvas-arrow`,markerWidth:10,markerHeight:10,refX:9,refY:5,orient:`auto-start-reverse`,markerUnits:`userSpaceOnUse`});t.append(q(`path`,{d:`M 0 0 L 10 5 L 0 10 Z`,fill:`context-stroke`})),e.append(t),this.edges.append(e);let n=new Map((this.document.nodes??[]).map(e=>[e.id,e]));(this.document.edges??[]).forEach(e=>{let t=Ge(e,n);if(!t)return;let r=q(`g`,{class:`canvas-edge${this.selectedEdge===e.id?` is-selected`:``}`,"data-edge-id":e.id,tabindex:0,role:`button`,"aria-label":`Connection ${e.label||e.id}`});e.color&&r.style.setProperty(`--canvas-color`,V(e.color));let i=q(`path`,{d:t.path,class:`canvas-edge-line`});e.fromEnd===`arrow`&&i.setAttribute(`marker-start`,`url(#canvas-arrow)`),e.toEnd!==`none`&&i.setAttribute(`marker-end`,`url(#canvas-arrow)`);let a=q(`path`,{d:t.path,class:`canvas-edge-hit`});if(r.append(i,a),e.label){let n=q(`text`,{x:t.x,y:t.y-10,"text-anchor":`middle`});n.textContent=e.label,r.append(n)}let o=()=>{this.closeTextEditor(),this.selection.clear(),this.selectedEdge=e.id,this.syncSelection()};r.addEventListener(`click`,o),r.addEventListener(`dblclick`,e=>{e.stopPropagation(),o(),this.labelInput.focus(),this.labelInput.select()}),r.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o())}),this.edges.append(r)})}renderInspector(){this.inspector.hidden=!this.inspectorOpen||!this.selection.size&&!this.selectedEdge,this.propertiesButton.setAttribute(`aria-expanded`,String(!this.inspector.hidden)),this.inspector.replaceChildren(),this.syncInspectorFields=null;let e=this.selection.size===1?this.getNode([...this.selection][0]):null,t=(this.document.edges??[]).find(e=>e.id===this.selectedEdge),n=e||t,r=G(`div`,`canvas-inspector-header`);if(r.append(G(`h2`,``,e?U[e.type]:t?`Connection`:`Canvas`),K(`Close properties`,()=>{this.propertiesButton.click(),this.propertiesButton.focus()},`close`)),this.inspector.append(r),!n){this.inspector.append(G(`p`,``,this.selection.size?`${this.selection.size} cards selected`:`Select a card or connection to edit its properties.`));return}let i=()=>e?this.getNode(e.id):(this.document.edges??[]).find(e=>e.id===t.id),a=[];this.syncInspectorFields=()=>{let e=i();if(!e||e.type!==n.type){this.renderInspector();return}a.forEach(({input:t,key:n})=>{if(t===document.activeElement&&t.value!==t.dataset.savedValue)return;let r=String(e[n]??``);t.value!==r&&(t.value=r),t.dataset.savedValue=t.value})};let o=(n,r)=>{this.canEdit&&(e?this.actions.updateNode(e.id,{[n]:r}):this.actions.updateEdge(t.id,{[n]:r}))},s=(e,t,{options:r,numeric:s=!1,optional:c=!1}={})=>{let l=G(`label`,`canvas-field`);l.append(G(`span`,``,e));let u=G(r?`select`:`input`);u.setAttribute(`aria-label`,e),r?r.forEach(([e,t])=>u.append(new Option(t,e))):(u.type=s?`number`:`text`,s&&(u.step=`1`)),u.value=n[t]??``,u.dataset.savedValue=u.value,a.push({input:u,key:t}),u.disabled=!this.canEdit,u.addEventListener(`change`,()=>{let e=s?Number(u.value):u.value;if(s&&(!Number.isSafeInteger(e)||(t===`width`||t===`height`)&&e<1)){u.value=i()?.[t]??``,u.dataset.savedValue=u.value;return}try{o(t,c&&e===``?void 0:e)}catch(e){this.status.textContent=e.message,u.value=i()?.[t]??``}u.dataset.savedValue=u.value}),l.append(u),this.inspector.append(l)};if(e){e.type===`file`&&(s(`Vault file`,`file`),s(`Heading or block (#...)`,`subpath`,{optional:!0})),e.type===`link`&&s(`URL`,`url`),e.type===`group`&&(s(`Label`,`label`,{optional:!0}),s(`Background image`,`background`,{optional:!0}),s(`Background style`,`backgroundStyle`,{optional:!0,options:[[``,`Default`],[`cover`,`Cover`],[`ratio`,`Keep ratio`],[`repeat`,`Repeat`]]})),[`x`,`y`,`width`,`height`].forEach(e=>s(e[0].toUpperCase()+e.slice(1),e,{numeric:!0}));let t=G(`div`,`canvas-order`);[`back`,`front`].forEach(n=>{let r=K(`Send to ${n}`,()=>this.actions.reorderNode(e.id,n));r.disabled=!this.canEdit,t.append(r)}),this.inspector.append(t)}else{s(`Label`,`label`,{optional:!0});let e=(this.document.nodes??[]).map(e=>[e.id,`${U[e.type]}: ${(e.text||e.label||e.file||e.url||e.id).slice(0,40)}`]);s(`From card`,`fromNode`,{options:e}),s(`To card`,`toNode`,{options:e}),[`from`,`to`].forEach(e=>{s(`${e===`from`?`Start`:`End`} side`,`${e}Side`,{optional:!0,options:[[``,`Automatic`],...[`top`,`right`,`bottom`,`left`].map(e=>[e,e])]}),s(`${e===`from`?`Start`:`End`} marker`,`${e}End`,{optional:!0,options:[[``,`Default`],[`none`,`None`],[`arrow`,`Arrow`]]})})}s(`Color (1–6 or #RRGGBB)`,`color`,{optional:!0})}startNodeDrag(e,t,n=!1){if(e.button!==0||this.spaceHeld||!n&&e.target.closest(`a, button, input, textarea, select, summary, img, audio, video, [contenteditable="true"], .canvas-text-editor, .diagram-preview-shell, .drawio-embed, .excalidraw-embed`)||(e.preventDefault(),e.stopPropagation(),(e.shiftKey||!this.selection.has(t))&&this.select(t,e.shiftKey),!this.canEdit||!this.selection.has(t)))return;this.closeTextEditor();let r={x:e.clientX,y:e.clientY},i=[...this.selection].map(e=>this.getNode(e)).filter(Boolean),a=n?[this.getNode(t)]:[...i];n||(this.document.nodes??[]).forEach(e=>{a.some(t=>t.id===e.id)||i.some(t=>t.type===`group`&&e.x>=t.x&&e.y>=t.y&&e.x+e.width<=t.x+t.width&&e.y+e.height<=t.y+t.height)&&a.push(e)});let o=!1;this.actions.stopUndoCapture(),this.trackPointer(e,e=>{if(!o&&Math.hypot(e.clientX-r.x,e.clientY-r.y)<4)return;o=!0;let t=Math.round((e.clientX-r.x)/this.viewport.zoom),i=Math.round((e.clientY-r.y)/this.viewport.zoom),s=a.map(e=>({id:e.id,patch:n?{width:Math.max(80,e.width+t),height:Math.max(64,e.height+i)}:{x:e.x+t,y:e.y+i}}));this.actions.updateNodes(s.filter(({id:e})=>this.getNode(e)),!1)},()=>{!o&&!e.shiftKey&&this.select(t),this.actions.stopUndoCapture()})}trackPointer(e,t,n){this.cancelGesture?.(),this.stage.focus({preventScroll:!0});let r=e.currentTarget,i=(o,s=!1)=>{r.removeEventListener(`pointermove`,t),r.removeEventListener(`pointerup`,i),r.removeEventListener(`pointercancel`,a),r.removeEventListener(`lostpointercapture`,a),this.cancelGesture=null,r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),n(o,s)},a=(t=e)=>i(t,!0);this.cancelGesture=a,r.setPointerCapture(e.pointerId),r.addEventListener(`pointermove`,t),r.addEventListener(`pointerup`,i),r.addEventListener(`pointercancel`,a),r.addEventListener(`lostpointercapture`,a)}startConnection(e,t,n){if(e.button!==0||!this.canEdit||this.spaceHeld)return;e.preventDefault(),e.stopPropagation(),this.select(t),this.connectFrom=null;let r=q(`svg`,{class:`canvas-connection-preview`}),i=q(`path`,{class:`canvas-edge-line`});r.append(i),this.world.append(r);let a=Symbol(),o=e=>{let t=this.stage.getBoundingClientRect();return this.toWorld(e.clientX-t.left,e.clientY-t.top)},s=e=>document.elementsFromPoint(e.clientX,e.clientY).map(e=>e.closest(`.canvas-card`)).find(e=>e&&e.dataset.nodeId!==t);this.trackPointer(e,e=>{let r=this.getNode(t);if(!r){this.cancelGesture?.();return}let c=o(e),l=this.getNode(s(e)?.dataset.nodeId)||{...c,width:0,height:0},u=Ge({fromNode:t,fromSide:n,toNode:a,toSide:We(l,c)},new Map([[t,r],[a,l]]));i.setAttribute(`d`,u.path)},(e,i)=>{r.remove();let a=this.getNode(s(e)?.dataset.nodeId);!i&&this.canEdit&&this.getNode(t)&&a&&this.actions.addEdge({fromNode:t,fromSide:n,toNode:a.id,toSide:We(a,o(e))})})}startPan(e){if(e.defaultPrevented||e.target.closest(`.canvas-selection-toolbar, .canvas-navigation, .canvas-toolbar, .canvas-text-editor`))return;let t=e.target.closest(`.canvas-card, .canvas-edge`),n=this.stage.getBoundingClientRect(),r=!t&&this.groupAtPoint(this.toWorld(e.clientX-n.left,e.clientY-n.top)),i=this.spaceHeld||e.button===1||e.pointerType===`touch`&&!t&&(!r||!this.canEdit);if(!i&&t||e.button!==0&&e.button!==1)return;if(r&&!i&&!e.shiftKey){this.startNodeDrag(e,r.id);return}e.preventDefault(),this.closeTextEditor(),this.stage.focus();let a={...this.viewport},o={x:e.clientX,y:e.clientY},s=new Set(e.shiftKey||i?this.selection:[]),c=G(`div`,`canvas-marquee`);i||(this.selection=new Set(s),this.selectedEdge=null,this.syncSelection(),this.stage.append(c)),this.trackPointer(e,e=>{if(i){this.viewport.x=a.x+e.clientX-o.x,this.viewport.y=a.y+e.clientY-o.y,this.applyViewport();return}let t=this.stage.getBoundingClientRect(),n=Math.min(o.x,e.clientX)-t.left,r=Math.min(o.y,e.clientY)-t.top,l=Math.abs(e.clientX-o.x),u=Math.abs(e.clientY-o.y);Object.assign(c.style,{left:`${n}px`,top:`${r}px`,width:`${l}px`,height:`${u}px`});let d=this.toWorld(n,r),f=this.toWorld(n+l,r+u);this.selection=new Set(s);for(let e of this.document.nodes??[])e.type===`group`&&(e.x<d.x||e.y<d.y||e.x+e.width>f.x||e.y+e.height>f.y)||e.x<f.x&&e.x+e.width>d.x&&e.y<f.y&&e.y+e.height>d.y&&this.selection.add(e.id);this.syncSelection()},()=>c.remove())}toWorld(e,t){return{x:(e-this.viewport.x)/this.viewport.zoom,y:(t-this.viewport.y)/this.viewport.zoom}}groupAtPoint(e){return(this.document.nodes??[]).findLast(t=>t.type===`group`&&e.x>=t.x&&e.x<=t.x+t.width&&e.y>=t.y&&e.y<=t.y+t.height)}zoomBy(e,t,n){let r=this.stage.getBoundingClientRect(),i=t===void 0?r.width/2:t-r.left,a=n===void 0?r.height/2:n-r.top,o=this.toWorld(i,a);this.viewport.zoom=Math.max(.1,Math.min(3,this.viewport.zoom*e)),this.viewport.x=i-o.x*this.viewport.zoom,this.viewport.y=a-o.y*this.viewport.zoom,this.applyViewport()}fit(e=null){let t=(this.document.nodes??[]).filter(t=>!e||e.includes(t.id));if(!t.length){this.viewport={x:80,y:80,zoom:1},this.applyViewport();return}let n=Math.min(...t.map(e=>e.x)),r=Math.min(...t.map(e=>e.y)),i=Math.max(...t.map(e=>e.x+e.width))-n,a=Math.max(...t.map(e=>e.y+e.height))-r,o=Math.max(.1,Math.min(1,(this.stage.clientWidth-100)/Math.max(1,i),(this.stage.clientHeight-100)/Math.max(1,a)));this.viewport={zoom:o,x:(this.stage.clientWidth-i*o)/2-n*o,y:(this.stage.clientHeight-a*o)/2-r*o},this.applyViewport()}applyViewport(){this.world.style.transform=`translate(${this.viewport.x}px, ${this.viewport.y}px) scale(${this.viewport.zoom})`,this.stage.style.backgroundPosition=`${this.viewport.x}px ${this.viewport.y}px`,this.stage.style.backgroundSize=`${24*this.viewport.zoom}px ${24*this.viewport.zoom}px`,this.stage.style.setProperty(`--canvas-grid-dot`,`${.8*this.viewport.zoom}px`),this.zoomLabel.textContent=`${Math.round(this.viewport.zoom*100)}%`,this.positionSelectionToolbar()}publishPointer(e){let t=performance.now();if(t-(this.lastPointerAt||0)<50)return;this.lastPointerAt=t;let n=this.stage.getBoundingClientRect(),r=this.toWorld(e.clientX-n.left,e.clientY-n.top);this.stage.classList.toggle(`is-over-group`,e.target===this.stage&&!this.spaceHeld&&!e.shiftKey&&!!this.groupAtPoint(r)),this.actions.presence(`pointer`,r)}renderPresence(e){this.users=e,this.cursors.replaceChildren(),this.nodes.forEach(({card:e})=>{e.classList.remove(`is-remote-selected`)}),e.filter(e=>!e.isLocal).forEach(e=>{(Array.isArray(e.selectedNodeIds)?e.selectedNodeIds:[]).forEach(e=>this.nodes.get(e)?.card.classList.add(`is-remote-selected`));let{x:t,y:n}=e.pointer??{};if(!Number.isFinite(t)||!Number.isFinite(n))return;let r=G(`span`,`canvas-cursor`,`↖ ${String(e.name||`Collaborator`).slice(0,32)}`);r.style.left=`${t}px`,r.style.top=`${n}px`,r.style.setProperty(`--canvas-color`,V(e.color)),this.cursors.append(r)})}onKeyDown(e){if(e.key===`Escape`){let t=[this.colorMenu,this.helpMenu].find(e=>e.open);if(t){e.preventDefault(),t.open=!1,t.querySelector(`summary`).focus();return}}if(e.defaultPrevented||e.target.closest(`input, textarea, select, .diagram-preview-shell, [contenteditable="true"]`))return;if(e.key===`Escape`){this.cancelGesture?.(),this.connectFrom=null,this.help.textContent=``,this.closeTextEditor(),this.selection.clear(),this.selectedEdge=null,this.syncSelection(),this.colorMenu.open=!1;return}if(e.target.closest(`a, button, summary, .canvas-help-menu`)||(e.code===`Space`&&e.target===this.stage&&(e.preventDefault(),this.spaceHeld=!0),(e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`a`&&(e.preventDefault(),this.selection=new Set((this.document.nodes??[]).map(e=>e.id)),this.selectedEdge=null,this.syncSelection()),e.shiftKey&&e.code===`Digit1`&&(e.preventDefault(),this.fit()),e.shiftKey&&e.code===`Digit2`&&(e.preventDefault(),this.fit([...this.selection])),(e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`z`&&(e.preventDefault(),e.shiftKey?this.actions.redo():this.actions.undo()),(e.key===`Delete`||e.key===`Backspace`)&&(e.preventDefault(),this.removeSelection()),!this.canEdit))return;let t={ArrowLeft:[-1,0],ArrowRight:[1,0],ArrowUp:[0,-1],ArrowDown:[0,1]}[e.key];if(t&&this.selection.size){e.preventDefault();let n=e.shiftKey?10:1;this.actions.updateNodes([...this.selection].map(e=>{let r=this.getNode(e);return{id:e,patch:{x:r.x+t[0]*n,y:r.y+t[1]*n}}}))}if(e.key===`Enter`&&this.selection.size===1){let t=[...this.selection][0];this.getNode(t)?.type===`text`&&(e.preventDefault(),this.openTextEditor(t))}}applyTheme(e){this.nodes.forEach(t=>t.preview?.applyTheme(e))}destroy(){this.cancelGesture?.(),this.picker?.close(),this.resizeObserver.disconnect(),this.abort.abort(),this.closeTextEditor(),this.nodes.forEach(e=>e.preview?.destroy()),this.root.replaceChildren()}},J=new URLSearchParams(window.location.search),Y=H(J.get(`file`)),X=document.getElementById(`root`),Z=(e,t={})=>window.parent.postMessage({type:e,filePath:Y,...t},window.location.origin),Q,$;function $e(e){document.body.dataset.theme=e===`light`?`light`:`dark`,document.documentElement.dataset.theme=document.body.dataset.theme,document.documentElement.style.colorScheme=e===`light`?`light`:`dark`,$?.applyTheme(document.body.dataset.theme)}async function et(){if($e(J.get(`theme`)),await f(),!Y||!/\.canvas$/i.test(Y))throw Error(`Choose a valid Canvas file from the Vault.`);let e=b(),t=J.get(`vaultId`)||ne(e);if(t){let n=e.vaults?.find(e=>e.id===t);if(!n)throw Error(`Vault unavailable`);e.vaults=[n],e.activeVault=t}window.__COLLABMD_CONFIG__=e;let n=t=>p.readFile(t,e),r=[],i=async()=>{let t=await p.readTree(e);return r=v(t.tree??[]).files,t};await i();let a=(e,t)=>Z(`canvas-open-file`,{filePath:e,subpath:t}),o=l(J.get(`userName`)||localStorage.getItem(`collabmd-user-name`));for(let[e,t]of[[`color`,`userColor`],[`colorLight`,`userColorLight`],[`peerId`,`userPeerId`]])J.get(t)&&(o[e]=J.get(t));Q=new qe({filePath:Y,user:o,readFile:n,wsBaseUrl:x(e),onChange:e=>$?.update(e),onAwareness:e=>{$?.renderPresence(e),Z(`canvas-awareness`,{users:e})},onConnection:e=>Z(`canvas-connection`,{state:e})});let s=e=>Q.mutate(e);$=new Qe({root:X,actions:{addNode:e=>{let t=crypto.randomUUID();return s(n=>{Ne(n,{...e,id:t}),e.type===`group`&&Be(n,t,`back`)})?t:null},addEdge:e=>s(t=>Pe(t,{...e,id:crypto.randomUUID()})),updateNode:(e,t)=>s(n=>Ie(n,e,t)),updateEdge:(e,t)=>s(n=>Le(n,e,t)),updateNodes:(e,t=!0)=>Q.mutate(t=>{e.forEach(({id:e,patch:n})=>Ie(t,e,n))},{separateUndo:t}),deleteNodes:e=>s(t=>ze(t,e)),deleteEdges:e=>s(t=>Re(t,e)),reorderNode:(e,t)=>s(n=>Be(n,e,t)),presence:(e,t)=>Q.setPresence(e,t),undo:()=>Q.undo(),redo:()=>Q.redo(),stopUndoCapture:()=>Q.undoManager.stopCapturing(),resolveConflict:e=>{Q.provider?.synced&&($.closeTextEditor(),Q.doc.transact(()=>Ve(Q.doc,e),Q.localOrigin),Q.undoManager.clear())}},readFile:n,readTree:i,vaultId:t||``,createMarkdownPreview:(e,t,n=Y,i)=>Ke({container:e,markdownText:t,sourceFilePath:n,subpath:i,getFileList:()=>r,getLocalUser:()=>Q.awareness.getLocalState()?.user??o,getTheme:()=>document.body.dataset.theme,onOpenFile:a,vaultApiClient:p}),getText:e=>Q.doc.getMap(D).get(e)?.get(`text`),attachmentUrl:t=>te(`/attachment?path=${encodeURIComponent(t)}`,e),onOpenFile:a,createTextEditor:(e,t,n)=>{let r=Q.doc.getMap(D).get(e)?.get(`text`);return!r||!Q.canEdit?null:Je({parent:t,text:r,onClose:n,awareness:Q.awareness,undoManager:Q.undoManager})}});let c=new y({previewElement:X});[`stack-item-added`,`stack-item-popped`,`stack-cleared`].forEach(e=>Q.undoManager.on(e,()=>Q.publish())),window.addEventListener(`message`,async e=>{if(e.origin!==window.location.origin||e.source!==window.parent)return;let t=e.data;t&&typeof t==`object`&&(t.type===`canvas-theme`&&$e(t.theme),t.type===`canvas-user`&&t.user&&Q.setUser(t.user),t.type===`canvas-prepare-disconnect`&&t.filePath===Y&&typeof t.requestId==`string`&&($.closeTextEditor(),Z(await Q.prepareDisconnect()?`canvas-disconnect-ready`:`canvas-disconnect-blocked`,{requestId:t.requestId})))}),window.addEventListener(`beforeunload`,e=>{Q.hasPendingWrites&&(e.preventDefault(),e.returnValue=``)}),window.addEventListener(`pagehide`,()=>{c.destroy(),$.destroy(),Q.destroy()}),Z(`canvas-ready`),await Q.connect()}et().catch(()=>{X.textContent=`Unable to open this canvas. The file has not been changed.`,X.setAttribute(`role`,`alert`)});
@@ -1 +1 @@
1
- import{C as e,S as t,n,o as r,r as i,t as a,u as o,w as s,x as c}from"./chunk-FOHPRMQF-Dmmo5Kak.js";var l=class extends a{static{c(this,`ArchitectureTokenBuilder`)}constructor(){super([`architecture`])}},u=class extends n{static{c(this,`ArchitectureValueConverter`)}runCustomConverter(e,t,n){if(e.name===`ARCH_ICON`)return t.replace(/[()]/g,``).trim();if(e.name===`ARCH_TEXT_ICON`)return t.replace(/["()]/g,``);if(e.name===`ARCH_TITLE`){let e=t.replace(/^\[|]$/g,``).trim();return(e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`))&&(e=e.slice(1,-1),e=e.replace(/\\"/g,`"`).replace(/\\'/g,`'`)),e.trim()}}},d={parser:{TokenBuilder:c(()=>new l,`TokenBuilder`),ValueConverter:c(()=>new u,`ValueConverter`)}};function f(n=r){let a=s(e(n),o),c=s(t({shared:a}),i,d);return a.ServiceRegistry.register(c),{shared:a,Architecture:c}}c(f,`createArchitectureServices`);export{f as n,d as t};
1
+ import{C as e,S as t,n,o as r,r as i,t as a,u as o,w as s,x as c}from"./chunk-NGNAAXSQ-DqoPQk1a.js";var l=class extends a{static{c(this,`ArchitectureTokenBuilder`)}constructor(){super([`architecture`])}},u=class extends n{static{c(this,`ArchitectureValueConverter`)}runCustomConverter(e,t,n){if(e.name===`ARCH_ICON`)return t.replace(/[()]/g,``).trim();if(e.name===`ARCH_TEXT_ICON`)return t.replace(/["()]/g,``);if(e.name===`ARCH_TITLE`){let e=t.replace(/^\[|]$/g,``).trim();return(e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`))&&(e=e.slice(1,-1),e=e.replace(/\\"/g,`"`).replace(/\\'/g,`'`)),e.trim()}}},d={parser:{TokenBuilder:c(()=>new l,`TokenBuilder`),ValueConverter:c(()=>new u,`ValueConverter`)}};function f(n=r){let a=s(e(n),o),c=s(t({shared:a}),i,d);return a.ServiceRegistry.register(c),{shared:a,Architecture:c}}c(f,`createArchitectureServices`);export{f as n,d as t};
@@ -0,0 +1,10 @@
1
+ import{p as e}from"./src-XiVvaevx.js";import{B as t,F as n,I as r,J as i,M as a,N as o,P as s,U as c,X as l,Y as u,j as d,q as f}from"./merge-CALoRt3l.js";import{t as p}from"./line-DEbP8Ok6.js";import{t as m}from"./rough.esm-Dy-Kn_BL.js";import{n as h}from"./chunk-Y2CYZVJY-BbRBGnmc.js";import{t as g}from"./chunk-X3CZISLH-DwWpRaN8.js";import{b as _,w as v,y}from"./chunk-VPRB5NB3-BqaJfj_v.js";import{_ as b,d as x}from"./chunk-3YJQHVM4-Ctp__8EK.js";import{n as S,r as C}from"./chunk-E2ZNV5FY-D_07zfWd.js";import{i as w,n as ee}from"./chunk-4EA7E6EY-bU4wRJot.js";import{t as T}from"./chunk-XC4XBNZT-D9oehSn8.js";import{n as E}from"./chunk-DBDB3WZW-CXleNlok.js";var D=h((e,t)=>{if(t)return`translate(`+-e.width/2+`, `+-e.height/2+`)`;let n=e.x??0,r=e.y??0;return`translate(`+-(n+e.width/2)+`, `+-(r+e.height/2)+`)`},`computeLabelTransform`),O={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},k={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};function A(e,t){if(e===void 0||t===void 0)return{angle:0,deltaX:0,deltaY:0};e=j(e),t=j(t);let[n,r]=[e.x,e.y],[i,a]=[t.x,t.y],o=i-n,s=a-r;return{angle:Math.atan(s/o),deltaX:o,deltaY:s}}h(A,`calculateDeltaAndAngle`);var j=h(e=>Array.isArray(e)?{x:e[0],y:e[1]}:e,`pointTransformer`),te=h(e=>({x:h(function(t,n,r){let i=0,a=j(r[0]).x<j(r[r.length-1]).x?`left`:`right`;if(n===0&&Object.hasOwn(O,e.arrowTypeStart)){let{angle:t,deltaX:n}=A(r[0],r[1]);i=O[e.arrowTypeStart]*Math.cos(t)*(n>=0?1:-1)}else if(n===r.length-1&&Object.hasOwn(O,e.arrowTypeEnd)){let{angle:t,deltaX:n}=A(r[r.length-1],r[r.length-2]);i=O[e.arrowTypeEnd]*Math.cos(t)*(n>=0?1:-1)}let o=Math.abs(j(t).x-j(r[r.length-1]).x),s=Math.abs(j(t).y-j(r[r.length-1]).y),c=Math.abs(j(t).x-j(r[0]).x),l=Math.abs(j(t).y-j(r[0]).y),u=O[e.arrowTypeStart],d=O[e.arrowTypeEnd];if(o<d&&o>0&&s<d){let e=d+1-o;e*=a===`right`?-1:1,i-=e}if(c<u&&c>0&&l<u){let e=u+1-c;e*=a===`right`?-1:1,i+=e}return j(t).x+i},`x`),y:h(function(t,n,r){let i=0,a=j(r[0]).y<j(r[r.length-1]).y?`down`:`up`;if(n===0&&Object.hasOwn(O,e.arrowTypeStart)){let{angle:t,deltaY:n}=A(r[0],r[1]);i=O[e.arrowTypeStart]*Math.abs(Math.sin(t))*(n>=0?1:-1)}else if(n===r.length-1&&Object.hasOwn(O,e.arrowTypeEnd)){let{angle:t,deltaY:n}=A(r[r.length-1],r[r.length-2]);i=O[e.arrowTypeEnd]*Math.abs(Math.sin(t))*(n>=0?1:-1)}let o=Math.abs(j(t).y-j(r[r.length-1]).y),s=Math.abs(j(t).x-j(r[r.length-1]).x),c=Math.abs(j(t).y-j(r[0]).y),l=Math.abs(j(t).x-j(r[0]).x),u=O[e.arrowTypeStart],d=O[e.arrowTypeEnd];if(o<d&&o>0&&s<d){let e=d+1-o;e*=a===`up`?-1:1,i-=e}if(c<u&&c>0&&l<u){let e=u+1-c;e*=a===`up`?-1:1,i+=e}return j(t).y+i},`y`)}),`getLineFunctionsWithOffset`),ne=h((e,t,n,r,i,a=!1,o)=>{t.arrowTypeStart&&P(e,`start`,t.arrowTypeStart,n,r,i,a,o),t.arrowTypeEnd&&P(e,`end`,t.arrowTypeEnd,n,r,i,a,o)},`addEdgeMarkers`),M={arrow_cross:{type:`cross`,fill:!1},arrow_point:{type:`point`,fill:!0},arrow_barb:{type:`barb`,fill:!0},arrow_barb_neo:{type:`barb`,fill:!0},arrow_circle:{type:`circle`,fill:!1},arrow_hierarchy:{type:`hierarchy`,fill:!1},aggregation:{type:`aggregation`,fill:!1},extension:{type:`extension`,fill:!1},composition:{type:`composition`,fill:!0},dependency:{type:`dependency`,fill:!0},lollipop:{type:`lollipop`,fill:!1},only_one:{type:`onlyOne`,fill:!1},zero_or_one:{type:`zeroOrOne`,fill:!1},one_or_more:{type:`oneOrMore`,fill:!1},zero_or_more:{type:`zeroOrMore`,fill:!1},requirement_arrow:{type:`requirement_arrow`,fill:!1},requirement_contains:{type:`requirement_contains`,fill:!1}},N=[`cross`,`point`,`circle`,`lollipop`,`aggregation`,`extension`,`composition`,`dependency`,`barb`],P=h((e,t,n,r,i,a,o=!1,s)=>{if(!n||n===`none`)return;let c=M[n],l=c&&N.includes(c.type);if(!c){g.warn(`Unknown arrow type: ${n}`);return}let u=`${i}_${a}-${c.type}${t===`start`?`Start`:`End`}${o&&l?`-margin`:``}`;if(s&&s.trim()!==``){let n=`${u}_${s.replace(/[^\dA-Za-z]/g,`_`)}`;if(!document.getElementById(n)){let e=document.getElementById(u);if(e){let t=e.cloneNode(!0);t.id=n,t.querySelectorAll(`path, circle, line`).forEach(e=>{e.setAttribute(`stroke`,s),c.fill&&e.setAttribute(`fill`,s)}),e.parentNode?.appendChild(t)}}e.attr(`marker-${t}`,`url(${r}#${n})`)}else e.attr(`marker-${t}`,`url(${r}#${u})`)},`addEdgeMarker`),re=h(e=>typeof e==`string`?e:_()?.flowchart?.curve,`resolveEdgeCurveType`),F=new Map,I=new Map,L=h(()=>{F.clear(),I.clear()},`clear`),R=h(e=>!!(e.label||e.startLabelLeft||e.startLabelRight||e.endLabelLeft||e.endLabelRight),`hasEdgeLabel`),z=h(e=>e?typeof e==`string`?e:e.reduce((e,t)=>e+`;`+t,``):``,`getLabelStyles`),B=h(async(t,n)=>{let r=_(),i=v(r),{labelStyles:a}=w(n);n.labelStyle=a;let o=t.insert(`g`).attr(`class`,`edgeLabel`),s=o.insert(`g`).attr(`class`,`label`).attr(`data-id`,n.id),c=n.labelType===`markdown`,l=await S(t,n.label,{style:z(n.labelStyle),useHtmlLabels:i,addSvgBackground:!0,isNode:!1,markdown:c,width:void 0},r);s.node().appendChild(l),g.info(`abc82`,n,n.labelType);let u,d;if(i){let t=l.children[0],n=e(l);u=await C.measure(()=>t.getBoundingClientRect()),d=u,n.attr(`width`,u.width),n.attr(`height`,u.height)}else{let t=e(l).select(`text`).node();await C.measure(()=>{u=l.getBBox(),d=t&&typeof t.getBBox==`function`?t.getBBox():u})}s.attr(`transform`,D(d,i)),F.set(n.id,o),n.width=u.width,n.height=u.height;let f;if(n.startLabelLeft){let r=t.insert(`g`).attr(`class`,`edgeTerminals`),a=r.insert(`g`).attr(`class`,`inner`),o=await T(a,n.startLabelLeft,z(n.labelStyle)||``,!1,!1);f=o;let s=o.getBBox();if(i){let t=o.children[0],n=e(o);s=t.getBoundingClientRect(),n.attr(`width`,s.width),n.attr(`height`,s.height)}a.attr(`transform`,D(s,i)),I.get(n.id)||I.set(n.id,{}),I.get(n.id).startLeft=r,H(f,n.startLabelLeft,s),V(n,`startLeft`,s)}if(n.startLabelRight){let r=t.insert(`g`).attr(`class`,`edgeTerminals`),a=r.insert(`g`).attr(`class`,`inner`),o=await T(a,n.startLabelRight,z(n.labelStyle)||``,!1,!1);f=o;let s=o.getBBox();if(i){let t=o.children[0],n=e(o);s=t.getBoundingClientRect(),n.attr(`width`,s.width),n.attr(`height`,s.height)}a.attr(`transform`,D(s,i)),I.get(n.id)||I.set(n.id,{}),I.get(n.id).startRight=r,H(f,n.startLabelRight,s),V(n,`startRight`,s)}if(n.endLabelLeft){let r=t.insert(`g`).attr(`class`,`edgeTerminals`),a=r.insert(`g`).attr(`class`,`inner`),o=await T(a,n.endLabelLeft,z(n.labelStyle)||``,!1,!1);f=o;let s=o.getBBox();if(i){let t=o.children[0],n=e(o);s=t.getBoundingClientRect(),n.attr(`width`,s.width),n.attr(`height`,s.height)}a.attr(`transform`,D(s,i)),I.get(n.id)||I.set(n.id,{}),I.get(n.id).endLeft=r,H(f,n.endLabelLeft,s),V(n,`endLeft`,s)}if(n.endLabelRight){let r=t.insert(`g`).attr(`class`,`edgeTerminals`),a=r.insert(`g`).attr(`class`,`inner`),o=await T(a,n.endLabelRight,z(n.labelStyle)||``,!1,!1);f=o;let s=o.getBBox();if(i){let t=o.children[0],n=e(o);s=t.getBoundingClientRect(),n.attr(`width`,s.width),n.attr(`height`,s.height)}a.attr(`transform`,D(s,i)),I.get(n.id)||I.set(n.id,{}),I.get(n.id).endRight=r,H(f,n.endLabelRight,s),V(n,`endRight`,s)}return l},`insertEdgeLabel`);function V(e,t,n){e.terminalLabelSizes??={},e.terminalLabelSizes[t]={width:n.width,height:n.height}}h(V,`recordTerminalLabelSize`);function H(e,t,n){v(_())&&e&&(e.style.width=Math.max(t.length*9,n.width)+`px`,e.style.height=n.height+`px`)}h(H,`setTerminalWidth`);var U=h((e,t)=>{let n=e.x,r=e.y;if(t?.updatedPath){let i=b.calcLabelPosition(t.updatedPath);if(t.originalPath){let a=b.calcLabelPosition(t.originalPath);n=e.x+(i.x-a.x),r=e.y+(i.y-a.y)}else n=i.x,r=i.y}return{x:n,y:r}},`resolveEdgeLabelPosition`),W=h((e,t)=>{g.debug(`Moving label abc88 `,e.id,e.label,F.get(e.id),t);let n=_(),{subGraphTitleTotalMargin:r}=E(n);if(e.label){let n=F.get(e.id),{x:i,y:a}=U(e,t);g.debug(`Moving label `+e.label+` from (`,e.x,`,`,e.y,`) to (`,i,`,`,a,`) abc88`),n.attr(`transform`,`translate(${i}, ${a+r/2})`)}let i=t.updatedPath?t.updatedPath:t.originalPath;if(e.startLabelLeft){let t=I.get(e.id).startLeft,n=e.x,r=e.y;if(i){let t=b.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_left`,i);n=t.x,r=t.y}t.attr(`transform`,`translate(${n}, ${r})`)}if(e.startLabelRight){let t=I.get(e.id).startRight,n=e.x,r=e.y;if(i){let t=b.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_right`,i);n=t.x,r=t.y}t.attr(`transform`,`translate(${n}, ${r})`)}if(e.endLabelLeft){let t=I.get(e.id).endLeft,n=e.x,r=e.y;if(i){let t=b.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_left`,i);n=t.x,r=t.y}t.attr(`transform`,`translate(${n}, ${r})`)}if(e.endLabelRight){let t=I.get(e.id).endRight,n=e.x,r=e.y;if(i){let t=b.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_right`,i);n=t.x,r=t.y}t.attr(`transform`,`translate(${n}, ${r})`)}},`positionEdgeLabel`),ie=h((e,t)=>{if(!e?.isLabelEdge||!e?.id?.endsWith(`-to-label`)||!Array.isArray(t)||t.length!==2)return t;let[n,r]=t,i=Math.abs(r.x-n.x),a=Math.abs(r.y-n.y);return i<.001||a<.001?t:a>=i?[n,{x:n.x,y:r.y},r]:[n,{x:r.x,y:n.y},r]},`orthogonalizeToLabelClippedPoints`),G=h((e,t)=>{let n=e.x,r=e.y,i=Math.abs(t.x-n),a=Math.abs(t.y-r),o=e.width/2,s=e.height/2;return i>=o||a>=s},`outsideNode`),K=h((e,t,n)=>{g.debug(`intersection calc abc89:
2
+ outsidePoint: ${JSON.stringify(t)}
3
+ insidePoint : ${JSON.stringify(n)}
4
+ node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);let r=e.x,i=e.y,a=Math.abs(r-n.x),o=e.width/2,s=n.x<t.x?o-a:o+a,c=e.height/2,l=Math.abs(t.y-n.y),u=Math.abs(t.x-n.x);if(Math.abs(i-t.y)*o>Math.abs(r-t.x)*c){let e=n.y<t.y?t.y-c-i:i-c-t.y;s=u*e/l;let r={x:n.x<t.x?n.x+s:n.x-u+s,y:n.y<t.y?n.y+l-e:n.y-l+e};return s===0&&(r.x=t.x,r.y=t.y),u===0&&(r.x=t.x),l===0&&(r.y=t.y),g.debug(`abc89 top/bottom calc, Q ${l}, q ${e}, R ${u}, r ${s}`,r),r}{s=n.x<t.x?t.x-o-r:r-o-t.x;let e=l*s/u,i=n.x<t.x?n.x+u-s:n.x-u+s,a=n.y<t.y?n.y+e:n.y-e;return g.debug(`sides calc abc89, Q ${l}, q ${e}, R ${u}, r ${s}`,{_x:i,_y:a}),s===0&&(i=t.x,a=t.y),u===0&&(i=t.x),l===0&&(a=t.y),{x:i,y:a}}},`intersection`),q=h((e,t)=>{g.warn(`abc88 cutPathAtIntersect`,e,t);let n=[],r=e[0],i=!1;return e.forEach(e=>{if(g.info(`abc88 checking point`,e,t),!G(t,e)&&!i){let a=K(t,r,e);g.debug(`abc88 inside`,e,r,a),g.debug(`abc88 intersection`,a,t);let o=!1;n.forEach(e=>{o||=e.x===a.x&&e.y===a.y}),n.some(e=>e.x===a.x&&e.y===a.y)?g.warn(`abc88 no intersect`,a,n):n.push(a),i=!0}else g.warn(`abc88 outside`,e,r),r=e,i||n.push(e)}),g.debug(`returning points`,n),n},`cutPathAtIntersect`);function J(e){let t=[],n=[];for(let r=1;r<e.length-1;r++){let i=e[r-1],a=e[r],o=e[r+1];(i.x===a.x&&a.y===o.y&&Math.abs(a.x-o.x)>5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===o.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-o.y)>5)&&(t.push(a),n.push(r))}return{cornerPoints:t,cornerPointPositions:n}}h(J,`extractCornerPoints`);var Y=h(function(e,t,n){let r=t.x-e.x,i=t.y-e.y,a=n/Math.sqrt(r*r+i*i);return{x:t.x-a*r,y:t.y-a*i}},`findAdjacentPoint`),ae=h(function(e){let{cornerPointPositions:t}=J(e),n=[];for(let r=0;r<e.length;r++)if(t.includes(r)){let t=e[r-1],i=e[r+1],a=e[r],o=Y(t,a,5),s=Y(i,a,5),c=s.x-o.x,l=s.y-o.y;n.push(o);let u=Math.sqrt(2)*2,d={x:a.x,y:a.y};Math.abs(i.x-t.x)>10&&Math.abs(i.y-t.y)>=10?(g.debug(`Corner point fixing`,Math.abs(i.x-t.x),Math.abs(i.y-t.y)),d=a.x===o.x?{x:c<0?o.x-5+u:o.x+5-u,y:l<0?o.y-u:o.y+u}:{x:c<0?o.x-u:o.x+u,y:l<0?o.y-5+u:o.y+5-u}):g.debug(`Corner point skipping fixing`,Math.abs(i.x-t.x),Math.abs(i.y-t.y)),n.push(d,s)}else n.push(e[r]);return n},`fixCorners`),oe=h((e,t,n)=>{let r=e-t-n,i=Math.floor(r/4);return`0 ${t} ${Array(Number.isFinite(i)?Math.max(0,i):0).fill(`2 2`).join(` `)} ${n}`},`generateDashArray`),X=h(function(h,v,y,S,C,w,T,E=!1){if(!T)throw Error(`insertEdge: missing diagramId for edge "${v.id}" \u2014 edge IDs require a diagram prefix for uniqueness`);let{handDrawnSeed:D,layout:O}=_(),A=v.points,j=!1,M=C;var N=w;let P=[];for(let e in v.cssCompiledStyles)ee(e)||P.push(v.cssCompiledStyles[e]);if(O===`swimlane`){if(N.intersect&&M.intersect&&Array.isArray(A)&&A.length>=2){if(A.length===2)A=[M.intersect(A[0]),N.intersect(A[1])];else{let e=A.slice(1,-1),t=e[0],n=e[e.length-1],r=.5,i=Math.abs(A[A.length-1].x-n.x)<r&&Math.abs(A[A.length-1].y-n.y)<r,a=M.intersect(t),o=i?n:N.intersect(n),s=Math.abs(o.x-n.x)<r&&Math.abs(o.y-n.y)<r,c=Math.abs(a.x-t.x)<r&&Math.abs(a.y-t.y)<r?[]:[a],l=s?[]:[o];A=[...c,...e,...l]}}A=ie(v,A)}else N.intersect&&M.intersect&&!E&&(A=A.slice(1,v.points.length-1),A.unshift(M.intersect(A[0])),A.push(N.intersect(A[A.length-1])));let F=btoa(JSON.stringify(A));v.toCluster&&(g.info(`to cluster abc88`,y.get(v.toCluster)),A=q(v.points,y.get(v.toCluster).node),j=!0),v.fromCluster&&(g.debug(`from cluster abc88`,y.get(v.fromCluster),JSON.stringify(A,null,2)),A=q(A.reverse(),y.get(v.fromCluster).node).reverse(),j=!0);let I=A.filter(e=>!Number.isNaN(e.y)),L=re(v.curve);L!==`rounded`&&(I=ae(I));let R=l;switch(L){case`linear`:R=l;break;case`basis`:R=f;break;case`cardinal`:R=c;break;case`bumpX`:R=i;break;case`bumpY`:R=u;break;case`catmullRom`:R=t;break;case`monotoneX`:R=n;break;case`monotoneY`:R=r;break;case`natural`:R=s;break;case`step`:R=o;break;case`stepAfter`:R=d;break;case`stepBefore`:R=a;break;case`rounded`:R=l;break;default:R=f}let{x:z,y:B}=te(v),V=p().x(z).y(B).curve(R),H;switch(v.thickness){case`normal`:H=`edge-thickness-normal`;break;case`thick`:H=`edge-thickness-thick`;break;case`invisible`:H=`edge-thickness-invisible`;break;default:H=`edge-thickness-normal`}switch(v.pattern){case`solid`:H+=` edge-pattern-solid`;break;case`dotted`:H+=` edge-pattern-dotted`;break;case`dashed`:H+=` edge-pattern-dashed`;break;default:H+=` edge-pattern-solid`}let U,W=L===`rounded`?Z(se(I,v),5):V(I),G=Array.isArray(v.style)?v.style:[v.style],K=G.find(e=>e?.startsWith(`stroke:`)),J=``;v.animate&&(J=`edge-animation-fast`),v.animation&&(J=`edge-animation-`+v.animation);let Y=!1;if(v.look===`handDrawn`){let t=m.svg(h);Object.assign([],I);let n=t.path(W,{roughness:.3,seed:D});H+=` transition`,U=e(n).select(`path`).attr(`id`,`${T}-${v.id}`).attr(`class`,` `+H+(v.classes?` `+v.classes:``)+(J?` `+J:``)).attr(`style`,G?G.reduce((e,t)=>e+`;`+t,``):``);let r=U.attr(`d`);U.attr(`d`,r),h.node().appendChild(U.node())}else{let e=P.join(`;`),t=G?G.reduce((e,t)=>e+t+`;`,``):``,n=(e?e+`;`+t+`;`:t)+`;`+(G?G.reduce((e,t)=>e+`;`+t,``):``);U=h.append(`path`).attr(`d`,W).attr(`id`,`${T}-${v.id}`).attr(`class`,` `+H+(v.classes?` `+v.classes:``)+(J?` `+J:``)).attr(`style`,n),K=n.match(/stroke:([^;]+)/)?.[1],Y=v.animate===!0||!!v.animation||e.includes(`animation`);let r=U.node(),i=typeof r.getTotalLength==`function`?r.getTotalLength():0,a=k[v.arrowTypeStart]||0,o=k[v.arrowTypeEnd]||0;if(v.look===`neo`&&!Y){let e=`stroke-dasharray: ${v.pattern===`dotted`||v.pattern===`dashed`?oe(i,a,o):`0 ${a} ${i-a-o} ${o}`}; stroke-dashoffset: 0;`;U.attr(`style`,e+U.attr(`style`))}}U.attr(`data-edge`,!0),U.attr(`data-et`,`edge`),U.attr(`data-id`,v.id),U.attr(`data-points`,F),U.attr(`data-look`,x(v.look)),v.showPoints&&I.forEach(e=>{h.append(`circle`).style(`stroke`,`red`).style(`fill`,`red`).attr(`r`,1).attr(`cx`,e.x).attr(`cy`,e.y)});let X=``;(_().flowchart.arrowMarkerAbsolute||_().state.arrowMarkerAbsolute)&&(X=window.location.protocol+`//`+window.location.host+window.location.pathname+window.location.search,X=X.replace(/\(/g,`\\(`).replace(/\)/g,`\\)`)),g.info(`arrowTypeStart`,v.arrowTypeStart),g.info(`arrowTypeEnd`,v.arrowTypeEnd);let Q=!Y&&v?.look===`neo`;ne(U,v,X,T,S,Q,K);let ce=Math.floor(A.length/2),le=A[ce];b.isLabelCoordinateInPath(le,U.attr(`d`))||(j=!0);let $={};return j&&($.updatedPath=A),$.originalPath=v.points,$},`insertEdge`);function Z(e,t){if(e.length<2)return``;let n=``,r=e.length,i=1e-5;for(let a=0;a<r;a++){let o=e[a],s=e[a-1],c=e[a+1];if(a===0)n+=`M${o.x},${o.y}`;else if(a===r-1)n+=`L${o.x},${o.y}`;else{let e=o.x-s.x,r=o.y-s.y,a=c.x-o.x,l=c.y-o.y,u=Math.hypot(e,r),d=Math.hypot(a,l);if(u<i||d<i){n+=`L${o.x},${o.y}`;continue}let f=e/u,p=r/u,m=a/d,h=l/d,g=f*m+p*h,_=Math.acos(Math.max(-1,Math.min(1,g)));if(_<i||Math.abs(Math.PI-_)<i){n+=`L${o.x},${o.y}`;continue}let v=Math.min(t/Math.sin(_/2),u/2,d/2),y=o.x-f*v,b=o.y-p*v,x=o.x+m*v,S=o.y+h*v;n+=`L${y},${b}`,n+=`Q${o.x},${o.y} ${x},${S}`}}return n}h(Z,`generateRoundedPath`);function Q(e,t){if(!e||!t)return{angle:0,deltaX:0,deltaY:0};let n=t.x-e.x,r=t.y-e.y;return{angle:Math.atan2(r,n),deltaX:n,deltaY:r}}h(Q,`calculateDeltaAndAngle`);function se(e,t){let n=e.map(e=>({...e}));if(e.length>=2&&O[t.arrowTypeStart]){let r=O[t.arrowTypeStart],i=e[0],a=e[1],{angle:o}=Q(i,a),s=r*Math.cos(o),c=r*Math.sin(o);n[0].x=i.x+s,n[0].y=i.y+c}let r=e.length;if(r>=2&&O[t.arrowTypeEnd]){let i=O[t.arrowTypeEnd],a=e[r-1],o=e[r-2],{angle:s}=Q(o,a),c=i*Math.cos(s),l=i*Math.sin(s);n[r-1].x=a.x-c,n[r-1].y=a.y-l}return n}h(se,`applyMarkerOffsetsToPoints`);var ce=h((e,t,n,r)=>{t.forEach(t=>{le[t](e,n,r)})},`insertMarkers`),le={extension:h((e,t,n)=>{g.trace(`Making markers for `,n),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-extensionStart`).attr(`class`,`marker extension `+t).attr(`refX`,18).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).attr(`d`,`M 1,7 L18,13 V 1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-extensionEnd`).attr(`class`,`marker extension `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).attr(`d`,`M 1,1 V 13 L18,7 Z`),e.append(`marker`).attr(`id`,n+`_`+t+`-extensionStart-margin`).attr(`class`,`marker extension `+t).attr(`refX`,18).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).attr(`viewBox`,`0 0 20 14`).append(`polygon`).attr(`points`,`10,7 18,13 18,1`).style(`stroke-width`,2).style(`stroke-dasharray`,`0`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-extensionEnd-margin`).attr(`class`,`marker extension `+t).attr(`refX`,9).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).attr(`viewBox`,`0 0 20 14`).append(`polygon`).attr(`points`,`10,1 10,13 18,7`).style(`stroke-width`,2).style(`stroke-dasharray`,`0`)},`extension`),composition:h((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-compositionStart`).attr(`class`,`marker composition `+t).attr(`refX`,18).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-compositionEnd`).attr(`class`,`marker composition `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-compositionStart-margin`).attr(`class`,`marker composition `+t).attr(`refX`,15).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).style(`stroke-width`,0).attr(`viewBox`,`0 0 15 15`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-compositionEnd-margin`).attr(`class`,`marker composition `+t).attr(`refX`,3.5).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).style(`stroke-width`,0).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`)},`composition`),aggregation:h((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-aggregationStart`).attr(`class`,`marker aggregation `+t).attr(`refX`,18).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-aggregationEnd`).attr(`class`,`marker aggregation `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-aggregationStart-margin`).attr(`class`,`marker aggregation `+t).attr(`refX`,15).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).style(`stroke-width`,2).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-aggregationEnd-margin`).attr(`class`,`marker aggregation `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).style(`stroke-width`,2).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`)},`aggregation`),dependency:h((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-dependencyStart`).attr(`class`,`marker dependency `+t).attr(`refX`,6).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).attr(`d`,`M 5,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-dependencyEnd`).attr(`class`,`marker dependency `+t).attr(`refX`,13).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).attr(`d`,`M 18,7 L9,13 L14,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-dependencyStart-margin`).attr(`class`,`marker dependency `+t).attr(`refX`,4).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).style(`stroke-width`,0).attr(`d`,`M 5,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-dependencyEnd-margin`).attr(`class`,`marker dependency `+t).attr(`refX`,16).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).style(`stroke-width`,0).attr(`d`,`M 18,7 L9,13 L14,7 L9,1 Z`)},`dependency`),lollipop:h((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-lollipopStart`).attr(`class`,`marker lollipop `+t).attr(`refX`,13).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`circle`).attr(`fill`,`transparent`).attr(`cx`,7).attr(`cy`,7).attr(`r`,6),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-lollipopEnd`).attr(`class`,`marker lollipop `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`circle`).attr(`fill`,`transparent`).attr(`cx`,7).attr(`cy`,7).attr(`r`,6),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-lollipopStart-margin`).attr(`class`,`marker lollipop `+t).attr(`refX`,13).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`circle`).attr(`fill`,`transparent`).attr(`cx`,7).attr(`cy`,7).attr(`r`,6).attr(`stroke-width`,2),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-lollipopEnd-margin`).attr(`class`,`marker lollipop `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`circle`).attr(`fill`,`transparent`).attr(`cx`,7).attr(`cy`,7).attr(`r`,6).attr(`stroke-width`,2)},`lollipop`),point:h((e,t,n)=>{e.append(`marker`).attr(`id`,n+`_`+t+`-pointEnd`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,5).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,8).attr(`markerHeight`,8).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0 0 L 10 5 L 0 10 z`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-pointStart`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,4.5).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,8).attr(`markerHeight`,8).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0 5 L 10 10 L 10 0 z`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-pointEnd-margin`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 11.5 14`).attr(`refX`,11.5).attr(`refY`,7).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,10.5).attr(`markerHeight`,14).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0 0 L 11.5 7 L 0 14 z`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,0).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-pointStart-margin`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 11.5 14`).attr(`refX`,1).attr(`refY`,7).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11.5).attr(`markerHeight`,14).attr(`orient`,`auto`).append(`polygon`).attr(`points`,`0,7 11.5,14 11.5,0`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,0).style(`stroke-dasharray`,`1,0`)},`point`),circle:h((e,t,n)=>{e.append(`marker`).attr(`id`,n+`_`+t+`-circleEnd`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,11).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`circle`).attr(`cx`,`5`).attr(`cy`,`5`).attr(`r`,`5`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-circleStart`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,-1).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`circle`).attr(`cx`,`5`).attr(`cy`,`5`).attr(`r`,`5`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-circleEnd-margin`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refY`,5).attr(`refX`,12.25).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,14).attr(`markerHeight`,14).attr(`orient`,`auto`).append(`circle`).attr(`cx`,`5`).attr(`cy`,`5`).attr(`r`,`5`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,0).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-circleStart-margin`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,-2).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,14).attr(`markerHeight`,14).attr(`orient`,`auto`).append(`circle`).attr(`cx`,`5`).attr(`cy`,`5`).attr(`r`,`5`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,0).style(`stroke-dasharray`,`1,0`)},`circle`),cross:h((e,t,n)=>{e.append(`marker`).attr(`id`,n+`_`+t+`-crossEnd`).attr(`class`,`marker cross `+t).attr(`viewBox`,`0 0 11 11`).attr(`refX`,12).attr(`refY`,5.2).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,1 l 9,9 M 10,1 l -9,9`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,2).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-crossStart`).attr(`class`,`marker cross `+t).attr(`viewBox`,`0 0 11 11`).attr(`refX`,-1).attr(`refY`,5.2).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,1 l 9,9 M 10,1 l -9,9`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,2).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-crossEnd-margin`).attr(`class`,`marker cross `+t).attr(`viewBox`,`0 0 15 15`).attr(`refX`,17.7).attr(`refY`,7.5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,12).attr(`markerHeight`,12).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,1 L 14,14 M 1,14 L 14,1`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,2.5),e.append(`marker`).attr(`id`,n+`_`+t+`-crossStart-margin`).attr(`class`,`marker cross `+t).attr(`viewBox`,`0 0 15 15`).attr(`refX`,-3.5).attr(`refY`,7.5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,12).attr(`markerHeight`,12).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,1 L 14,14 M 1,14 L 14,1`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,2.5).style(`stroke-dasharray`,`1,0`)},`cross`),barb:h((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-barbEnd`).attr(`refX`,19).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,14).attr(`markerUnits`,`userSpaceOnUse`).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 19,7 L9,13 L14,7 L9,1 Z`)},`barb`),barbNeo:h((e,t,n)=>{let{themeVariables:r}=y(),{transitionColor:i}=r;e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-barbEnd`).attr(`refX`,19).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,14).attr(`markerUnits`,`strokeWidth`).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 19,7 L11,14 L13,7 L11,0 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-barbEnd-margin`).attr(`refX`,17).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,14).attr(`markerUnits`,`userSpaceOnUse`).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 19,7 L11,14 L13,7 L11,0 Z`).attr(`fill`,`${i}`)},`barbNeo`),hierarchy:h((e,t,n)=>{e.append(`marker`).attr(`id`,n+`_`+t+`-hierarchyEnd`).attr(`class`,`marker hierarchy `+t).attr(`viewBox`,`0 0 12 10`).attr(`refX`,10).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,12).attr(`markerHeight`,10).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0 0 L 6 5 L 0 10 M 4 0 L 10 5 L 4 10`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`).style(`fill`,`none`),e.append(`marker`).attr(`id`,n+`_`+t+`-hierarchyStart`).attr(`class`,`marker hierarchy `+t).attr(`viewBox`,`0 0 12 10`).attr(`refX`,2).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,12).attr(`markerHeight`,10).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 12 0 L 6 5 L 12 10 M 8 0 L 2 5 L 8 10`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`).style(`fill`,`none`)},`hierarchy`),only_one:h((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-onlyOneStart`).attr(`class`,`marker onlyOne `+t).attr(`refX`,0).attr(`refY`,9).attr(`markerWidth`,18).attr(`markerHeight`,18).attr(`orient`,`auto`).append(`path`).attr(`d`,`M9,0 L9,18 M15,0 L15,18`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-onlyOneEnd`).attr(`class`,`marker onlyOne `+t).attr(`refX`,18).attr(`refY`,9).attr(`markerWidth`,18).attr(`markerHeight`,18).attr(`orient`,`auto`).append(`path`).attr(`d`,`M3,0 L3,18 M9,0 L9,18`)},`only_one`),zero_or_one:h((e,t,n)=>{let r=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-zeroOrOneStart`).attr(`class`,`marker zeroOrOne `+t).attr(`refX`,0).attr(`refY`,9).attr(`markerWidth`,30).attr(`markerHeight`,18).attr(`orient`,`auto`);r.append(`circle`).attr(`fill`,`white`).attr(`cx`,21).attr(`cy`,9).attr(`r`,6),r.append(`path`).attr(`d`,`M9,0 L9,18`);let i=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-zeroOrOneEnd`).attr(`class`,`marker zeroOrOne `+t).attr(`refX`,30).attr(`refY`,9).attr(`markerWidth`,30).attr(`markerHeight`,18).attr(`orient`,`auto`);i.append(`circle`).attr(`fill`,`white`).attr(`cx`,9).attr(`cy`,9).attr(`r`,6),i.append(`path`).attr(`d`,`M21,0 L21,18`)},`zero_or_one`),one_or_more:h((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-oneOrMoreStart`).attr(`class`,`marker oneOrMore `+t).attr(`refX`,18).attr(`refY`,18).attr(`markerWidth`,45).attr(`markerHeight`,36).attr(`orient`,`auto`).append(`path`).attr(`d`,`M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-oneOrMoreEnd`).attr(`class`,`marker oneOrMore `+t).attr(`refX`,27).attr(`refY`,18).attr(`markerWidth`,45).attr(`markerHeight`,36).attr(`orient`,`auto`).append(`path`).attr(`d`,`M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18`)},`one_or_more`),zero_or_more:h((e,t,n)=>{let r=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-zeroOrMoreStart`).attr(`class`,`marker zeroOrMore `+t).attr(`refX`,18).attr(`refY`,18).attr(`markerWidth`,57).attr(`markerHeight`,36).attr(`orient`,`auto`);r.append(`circle`).attr(`fill`,`white`).attr(`cx`,48).attr(`cy`,18).attr(`r`,6),r.append(`path`).attr(`d`,`M0,18 Q18,0 36,18 Q18,36 0,18`);let i=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-zeroOrMoreEnd`).attr(`class`,`marker zeroOrMore `+t).attr(`refX`,39).attr(`refY`,18).attr(`markerWidth`,57).attr(`markerHeight`,36).attr(`orient`,`auto`);i.append(`circle`).attr(`fill`,`white`).attr(`cx`,9).attr(`cy`,18).attr(`r`,6),i.append(`path`).attr(`d`,`M21,18 Q39,0 57,18 Q39,36 21,18`)},`zero_or_more`),only_one_neo:h((e,t,n)=>{let{themeVariables:r}=y(),{strokeWidth:i}=r;e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-onlyOneStart`).attr(`class`,`marker onlyOne `+t).attr(`refX`,0).attr(`refY`,9).attr(`markerWidth`,18).attr(`markerHeight`,18).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).attr(`d`,`M9,0 L9,18 M15,0 L15,18`).attr(`stroke-width`,`${i}`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-onlyOneEnd`).attr(`class`,`marker onlyOne `+t).attr(`refX`,18).attr(`refY`,9).attr(`markerWidth`,18).attr(`markerHeight`,18).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).attr(`d`,`M3,0 L3,18 M9,0 L9,18`).attr(`stroke-width`,`${i}`)},`only_one_neo`),zero_or_one_neo:h((e,t,n)=>{let{themeVariables:r}=y(),{strokeWidth:i,mainBkg:a}=r,o=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-zeroOrOneStart`).attr(`class`,`marker zeroOrOne `+t).attr(`refX`,0).attr(`refY`,9).attr(`markerWidth`,30).attr(`markerHeight`,18).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`);o.append(`circle`).attr(`fill`,a??`white`).attr(`cx`,21).attr(`cy`,9).attr(`stroke-width`,`${i}`).attr(`r`,6),o.append(`path`).attr(`d`,`M9,0 L9,18`).attr(`stroke-width`,`${i}`);let s=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-zeroOrOneEnd`).attr(`class`,`marker zeroOrOne `+t).attr(`refX`,30).attr(`refY`,9).attr(`markerWidth`,30).attr(`markerHeight`,18).attr(`markerUnits`,`userSpaceOnUse`).attr(`orient`,`auto`);s.append(`circle`).attr(`fill`,a??`white`).attr(`cx`,9).attr(`cy`,9).attr(`stroke-width`,`${i}`).attr(`r`,6),s.append(`path`).attr(`d`,`M21,0 L21,18`).attr(`stroke-width`,`${i}`)},`zero_or_one_neo`),one_or_more_neo:h((e,t,n)=>{let{themeVariables:r}=y(),{strokeWidth:i}=r;e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-oneOrMoreStart`).attr(`class`,`marker oneOrMore `+t).attr(`refX`,18).attr(`refY`,18).attr(`markerWidth`,45).attr(`markerHeight`,36).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`path`).attr(`d`,`M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27`).attr(`stroke-width`,`${i}`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-oneOrMoreEnd`).attr(`class`,`marker oneOrMore `+t).attr(`refX`,27).attr(`refY`,18).attr(`markerWidth`,45).attr(`markerHeight`,36).attr(`markerUnits`,`userSpaceOnUse`).attr(`orient`,`auto`).append(`path`).attr(`d`,`M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18`).attr(`stroke-width`,`${i}`)},`one_or_more_neo`),zero_or_more_neo:h((e,t,n)=>{let{themeVariables:r}=y(),{strokeWidth:i,mainBkg:a}=r,o=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-zeroOrMoreStart`).attr(`class`,`marker zeroOrMore `+t).attr(`refX`,18).attr(`refY`,18).attr(`markerWidth`,57).attr(`markerHeight`,36).attr(`markerUnits`,`userSpaceOnUse`).attr(`orient`,`auto`);o.append(`circle`).attr(`fill`,a??`white`).attr(`cx`,45.5).attr(`cy`,18).attr(`r`,6).attr(`stroke-width`,`${i}`),o.append(`path`).attr(`d`,`M0,18 Q18,0 36,18 Q18,36 0,18`).attr(`stroke-width`,`${i}`);let s=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-zeroOrMoreEnd`).attr(`class`,`marker zeroOrMore `+t).attr(`refX`,39).attr(`refY`,18).attr(`markerWidth`,57).attr(`markerHeight`,36).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`);s.append(`circle`).attr(`fill`,a??`white`).attr(`cx`,11).attr(`cy`,18).attr(`r`,6).attr(`stroke-width`,`${i}`),s.append(`path`).attr(`d`,`M21,18 Q39,0 57,18 Q39,36 21,18`).attr(`stroke-width`,`${i}`)},`zero_or_more_neo`),requirement_arrow:h((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-requirement_arrowEnd`).attr(`refX`,20).attr(`refY`,10).attr(`markerWidth`,20).attr(`markerHeight`,20).attr(`orient`,`auto`).append(`path`).attr(`d`,`M0,0
5
+ L20,10
6
+ M20,10
7
+ L0,20`)},`requirement_arrow`),requirement_contains:h((e,t,n)=>{let r=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-requirement_containsStart`).attr(`refX`,0).attr(`refY`,10).attr(`markerWidth`,20).attr(`markerHeight`,20).attr(`orient`,`auto`).append(`g`);r.append(`circle`).attr(`cx`,10).attr(`cy`,10).attr(`r`,9).attr(`fill`,`none`),r.append(`line`).attr(`x1`,1).attr(`x2`,19).attr(`y1`,10).attr(`y2`,10),r.append(`line`).attr(`y1`,1).attr(`y2`,19).attr(`x1`,10).attr(`x2`,10)},`requirement_contains`),requirement_arrow_neo:h((e,t,n)=>{let{themeVariables:r}=y(),{strokeWidth:i}=r;e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-requirement_arrowEnd`).attr(`refX`,20).attr(`refY`,10).attr(`markerWidth`,20).attr(`markerHeight`,20).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).attr(`stroke-width`,`${i}`).attr(`viewBox`,`0 0 25 20`).append(`path`).attr(`d`,`M0,0
8
+ L20,10
9
+ M20,10
10
+ L0,20`).attr(`stroke-linejoin`,`miter`)},`requirement_arrow_neo`),requirement_contains_neo:h((e,t,n)=>{let{themeVariables:r}=y(),{strokeWidth:i}=r,a=e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-requirement_containsStart`).attr(`refX`,0).attr(`refY`,10).attr(`markerWidth`,20).attr(`markerHeight`,20).attr(`orient`,`auto`).attr(`markerUnits`,`userSpaceOnUse`).append(`g`);a.append(`circle`).attr(`cx`,10).attr(`cy`,10).attr(`r`,9).attr(`fill`,`none`),a.append(`line`).attr(`x1`,1).attr(`x2`,19).attr(`y1`,10).attr(`y2`,10),a.append(`line`).attr(`y1`,1).attr(`y2`,19).attr(`x1`,10).attr(`x2`,10),a.selectAll(`*`).attr(`stroke-width`,`${i}`)},`requirement_contains_neo`)},$=ce;export{B as a,$ as c,I as d,X as i,W as l,F as n,O as o,R as r,k as s,L as t,U as u};
@@ -1 +1 @@
1
- import{t as e}from"./preload-helper-BAlEavIC.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as n}from"./chunk-X3CZISLH-BixgQztF.js";import{b as r,x as i}from"./chunk-DU6HZSFF-CWlP1Dk_.js";import{g as a}from"./chunk-75Z2AOVW-DitkSoSG.js";import{a as o}from"./chunk-4HAMMTFA-q0ldNVvr.js";import{i as s,n as c,r as l,t as u}from"./chunk-GVQU2GXP-CQ8cl-Uu.js";import{n as d,t as f}from"./chunk-L3NEJ4N5-BflzkdTI.js";import{a as p,i as m,l as h,n as g,r as _,s as v,t as y}from"./chunk-OSK3NFVY-DqeKV_pg.js";import{t as b}from"./graphlib-C9Tl7QrK.js";function x(e,{edgePathsClass:t=`edges edgePaths`}={}){let n=e.insert(`g`).attr(`class`,`root`);return{clusters:n.insert(`g`).attr(`class`,`clusters`),edgePaths:n.insert(`g`).attr(`class`,t),edgeLabels:n.insert(`g`).attr(`class`,`edgeLabels`),nodes:n.insert(`g`).attr(`class`,`nodes`),rootGroups:n}}t(x,`createLayoutElementGroups`);async function S(e,t){if(t.label){let{shapeSvg:n,bbox:r}=await o(e,t);t.labelBBox={width:r.width,height:r.height},n.remove()}else t.labelBBox={width:0,height:0}}t(S,`measureGroupLabel`);async function C(e,t,n){let r=await l(e,t,n),i=r.node()?.getBBox()??{width:0,height:0};return t.width=i.width,t.height=i.height,r}t(C,`insertMeasuredNode`);async function w(t,n){let r=new b({multigraph:!0,compound:!0}),a=[...n.edges],o=i(),s=x(t),{edgeLabels:c,nodes:l}=s,u=new Map,d=t.node()!=null;await Promise.all(n.nodes.map(async e=>{if(e.isGroup)d&&await S(l,e),r.setNode(e.id,{...e});else{if(d){let t=await C(l,e,{config:o,dir:e.dir});u.set(e.id,t)}r.setNode(e.id,{...e})}}));for(let e of a)d&&_(e)&&await p(c,e),r.setEdge(e.start,e.end,{...e},e.id),n.edges.some(t=>t.id===e.id)||n.edges.push(e);if(globalThis.mermaidCaptureSizes){let{captureNodeSizes:r}=await e(async()=>{let{captureNodeSizes:e}=await import(`./sizeCapture-INFHLROL-DrzwYt5z.js`);return{captureNodeSizes:e}},[],import.meta.url);r(t,n)}return{graph:r,groups:s,nodeElements:u}}t(w,`createGraphWithElements`);var T=new Map,E=new Map,D=new Map,O=t(()=>{E.clear(),D.clear(),T.clear()},`clear`),k=t((e,t)=>{let r=E.get(t)||[];return n.trace(`In isDescendant`,t,` `,e,` = `,r.includes(e)),r.includes(e)},`isDescendant`),A=t((e,t)=>{let r=E.get(t)||[];return n.info(`Descendants of `,t,` is `,r),n.info(`Edge is `,e),e.v===t||e.w===t?!1:r?r.includes(e.v)||k(e.v,t)||k(e.w,t)||r.includes(e.w):(n.debug(`Tilt, `,t,`,not in descendants`),!1)},`edgeInCluster`),j=t((e,t,r,i)=>{n.debug(`Copying children of `,e,`root`,i,`data`,t.node(e),i);let a=t.children(e)||[];e!==i&&a.push(e),n.debug(`Copying (nodes) clusterId`,e,`nodes`,a),a.forEach(a=>{if(t.children(a).length>0)j(a,t,r,i);else{let o=t.node(a);n.info(`cp `,a,` to `,i,` with parent `,e),r.setNode(a,o),i!==t.parent(a)&&(n.debug(`Setting parent`,a,t.parent(a)),r.setParent(a,t.parent(a))),e!==i&&a!==e?(n.debug(`Setting parent`,a,e),r.setParent(a,e)):(n.info(`In copy `,e,`root`,i,`data`,t.node(e),i),n.debug(`Not Setting parent for node=`,a,`cluster!==rootId`,e!==i,`node!==clusterId`,a!==e));let s=t.edges(a);n.debug(`Copying Edges`,s),s.forEach(a=>{n.info(`Edge`,a);let o=t.edge(a.v,a.w,a.name);n.info(`Edge data`,o,i);try{A(a,i)?(n.info(`Copying as `,a.v,a.w,o,a.name),r.setEdge(a.v,a.w,o,a.name),n.info(`newGraph edges `,r.edges(),r.edge(r.edges()[0]))):n.info(`Skipping copy of edge `,a.v,`-->`,a.w,` rootId: `,i,` clusterId:`,e)}catch(e){n.error(e)}})}n.debug(`Removing node`,a),t.removeNode(a)})},`copy`),M=t((e,t)=>{let n=t.children(e),r=[...n];for(let i of n)D.set(i,e),r=[...r,...M(i,t)];return r},`extractDescendants`),N=t((e,t,n)=>{let r=e.edges().filter(e=>e.v===t||e.w===t),i=e.edges().filter(e=>e.v===n||e.w===n),a=r.map(e=>({v:e.v===t?n:e.v,w:e.w===t?t:e.w})),o=i.map(e=>({v:e.v,w:e.w}));return a.filter(e=>o.some(t=>e.v===t.v&&e.w===t.w))},`findCommonEdges`),P=t((e,t,r)=>{let i=t.children(e);if(n.trace(`Searching children of id `,e,i),i.length<1)return e;let a;for(let e of i){let n=P(e,t,r),i=N(t,r,n);if(n){if(i.length>0)a=n;else return n}}return a},`findNonClusterChild`),F=t(e=>!T.has(e)||!T.get(e).externalConnections?e:T.has(e)?T.get(e).id:e,`getAnchorId`),I=t((e,t)=>{if(!e||t>10){n.debug(`Opting out, no graph `);return}n.debug(`Opting in, graph `),e.nodes().forEach(function(t){e.children(t).length>0&&(n.debug(`Cluster identified`,t,` Replacement id in edges: `,P(t,e,t)),E.set(t,M(t,e)),T.set(t,{id:P(t,e,t),clusterData:e.node(t)}))}),e.nodes().forEach(function(t){let r=e.children(t),i=e.edges();r.length>0?(n.debug(`Cluster identified`,t,E),i.forEach(e=>{k(e.v,t)^k(e.w,t)&&(n.debug(`Edge: `,e,` leaves cluster `,t),n.debug(`Descendants of XXX `,t,`: `,E.get(t)),T.get(t).externalConnections=!0)})):n.debug(`Not a cluster `,t,E)});for(let t of T.keys()){let n=T.get(t).id,r=e.parent(n);r!==t&&T.has(r)&&!T.get(r).externalConnections&&(T.get(t).id=r);let i=e.edges().some(e=>e.v===t);if(n&&T.get(t)?.externalConnections&&i&&B(e,n,t)){let r=V(e,t,e.parent(n));r&&(T.get(t).id=r)}}e.edges().forEach(function(t){let r=e.edge(t);n.debug(`Edge `+t.v+` -> `+t.w+`: `+JSON.stringify(t)),n.debug(`Edge `+t.v+` -> `+t.w+`: `+JSON.stringify(e.edge(t)));let i=t.v,a=t.w;if(n.debug(`Fix XXX`,T,`ids:`,t.v,t.w,`Translating: `,T.get(t.v),` --- `,T.get(t.w)),T.get(t.v)||T.get(t.w)){if(n.debug(`Fixing and trying - removing XXX`,t.v,t.w,t.name),i=F(t.v),a=F(t.w),e.removeEdge(t.v,t.w,t.name),i!==t.v){let n=e.parent(i);T.get(n).externalConnections=!0,r.fromCluster=t.v}if(a!==t.w){let n=e.parent(a);T.get(n).externalConnections=!0,r.toCluster=t.w}n.debug(`Fix Replacing with XXX`,i,a,t.name),e.setEdge(i,a,r,t.name)}}),L(e,0),n.trace(T)},`adjustClustersAndEdges`),L=t((e,t)=>{if(t>10){n.error(`Bailing out`);return}let r=e.nodes(),i=!1;for(let t of r){let n=e.children(t);i||=n.length>0}if(!i){n.debug(`Done, no node has children`,e.nodes());return}n.debug(`Nodes = `,r,t);for(let i of r)if(n.debug(`Extracting node`,i,T,T.has(i)&&!T.get(i).externalConnections,!e.parent(i),e.node(i),e.children(`D`),` Depth `,t),!T.has(i))n.debug(`Not a cluster`,i,t);else if(!T.get(i).externalConnections&&e.children(i)&&e.children(i).length>0){n.debug(`Cluster without external connections, without a parent and with children`,i,t);let r=e.graph().rankdir===`TB`?`LR`:`TB`;T.get(i)?.clusterData?.dir&&(r=T.get(i).clusterData.dir,n.debug(`Fixing dir`,T.get(i).clusterData.dir,r));let a=new b({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});j(i,e,a,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:T.get(i).clusterData,label:T.get(i).label,graph:a})}else n.debug(`Cluster ** `,i,` **not meeting the criteria !externalConnections:`,!T.get(i).externalConnections,` no parent: `,!e.parent(i),` children `,e.children(i)&&e.children(i).length>0,e.children(`D`),t),n.debug(T);r=e.nodes(),n.debug(`New list of nodes`,r);for(let i of r){let r=e.node(i);n.debug(` Now next level`,i,r),r?.clusterNode&&L(r.graph,t+1)}},`extractor`),R=t((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(t=>{let r=R(e,e.children(t));n=[...n,...r]}),n},`sorter`),z=t(e=>R(e,e.children()),`sortNodesByHierarchy`),B=t((e,t,n)=>{let r=e.parent(t);for(;r&&r!==n;){let t=T.get(r);if(t&&!t.externalConnections)return!0;r=e.parent(r)}return!1},`isNodeInExtractableCluster`),V=t((e,t,n)=>{let r=e.children(t)??[];for(let i of r){if(i===n||k(i,n))continue;let r=P(i,e,t);if(r&&!B(e,r,t))return r}return null},`findSafeAnchorNode`);function H({prepareLayout:e,measureLayout:n,runLayoutCore:r,paintLayout:i,afterPaint:a,paintOptions:o}){let s=n??W;return t(async function(t,n,c,l){let u=n.select(`g`);(c?.insertMarkers??v)(u,t.markers,t.type,t.diagramId),U();let d={element:u,helpers:c,options:l};d.preparedLayout=await e?.(t,d);let f=await s(t,d),p=await r(t,d),m={...d,measure:f};i?await i(t,m,p):await G(t,m,o),await a?.(t,m,p)},`render`)}t(H,`createCommonLayoutRenderer`);function U(){u(),y(),f(),O()}t(U,`clearLayoutRenderState`);async function W(e,{element:t}){return await w(t,e)}t(W,`defaultMeasureLayout`);async function G(e,t,n={}){let{measure:r}=t,{groups:i}=r;for(let r of n.getNodes?.(e,t)??e.nodes)n.skipNode?.(r,t)||await K(i,r,t,n);let a=J(e.nodes);for(let r of e.edges)Y(r,n)||await X(i,r,a,e,n,t)}t(G,`paintLayoutData`);async function K(e,t,n,r){t.clusterNode?s(t):q(t,n,r)?await d(e.clusters,t):s(t)}t(K,`paintLayoutNode`);function q(e,t,n){return e.isGroup===!0&&(n.isCluster?.(e,t)??!0)}t(q,`shouldPaintAsCluster`);function J(e){let t=new Map;for(let n of e)n?.id&&t.set(n.id,n);return t}t(J,`buildNodeLookup`);function Y(e,t){return e.isLayoutOnly||!!t.skipEdge?.(e)}t(Y,`shouldSkipPaintEdge`);async function X(e,t,n,r,i,a){let o=m(e.edgePaths,{...t},i.clusterDb??new Map,r.type,Z(t.start,t,n,a,i),Z(t.end,t,n,a,i),r.diagramId,Q(t,i));_(t)&&(g.has(t.id)||await p(e.edgeLabels,t),$(t,o))}t(X,`paintLayoutEdge`);function Z(e,t,n,r,i){return i.getEdgeNode?.(e,t,r)??(e?n.get(e)??{}:{})}t(Z,`getRenderedNode`);function Q(e,t){return typeof t.skipIntersect==`function`?t.skipIntersect(e):t.skipIntersect??!1}t(Q,`shouldSkipIntersect`);function $(e,t){let i=t?.updatedPath??t?.originalPath,o=r(),{subGraphTitleTotalMargin:s}=c({flowchart:o.flowchart??{}});if(e.label){let r=g.get(e.id),o=e.x,c=e.y;if(i){let r=a.calcLabelPosition(i);n.debug(`Moving label `+e.label+` from (`,o,`,`,c,`) to (`,r.x,`,`,r.y,`) abc88`),t?.updatedPath&&(o=r.x,c=r.y)}r.attr(`transform`,`translate(${o}, ${c+s/2})`)}if(e?.startLabelLeft){let t=h.get(e.id).startLeft,n=e?.x,r=e?.y;if(i){let t=a.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_left`,i);n=t.x,r=t.y}t.attr(`transform`,`translate(${n}, ${r})`)}if(e.startLabelRight){let t=h.get(e.id).startRight,n=e.x,r=e.y;if(i){let t=a.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_right`,i);n=t.x,r=t.y}t.attr(`transform`,`translate(${n}, ${r})`)}if(e.endLabelLeft){let t=h.get(e.id).endLeft,n=e.x,r=e.y;if(i){let t=a.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_left`,i);n=t.x,r=t.y}t.attr(`transform`,`translate(${n}, ${r})`)}if(e.endLabelRight){let t=h.get(e.id).endRight,n=e.x,r=e.y;if(i){let t=a.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_right`,i);n=t.x,r=t.y}t.attr(`transform`,`translate(${n}, ${r})`)}}t($,`positionRenderedEdgeLabel`);export{P as a,x as i,T as n,C as o,H as r,z as s,I as t};
1
+ import{t as e}from"./preload-helper-CYtfOYgs.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as n}from"./chunk-X3CZISLH-BixgQztF.js";import{b as r,x as i}from"./chunk-DU6HZSFF-C-18UZkS.js";import{g as a}from"./chunk-75Z2AOVW-BRdhvVTZ.js";import{a as o}from"./chunk-4HAMMTFA-CQy6Skzw.js";import{i as s,n as c,r as l,t as u}from"./chunk-GVQU2GXP-B0Vm415C.js";import{n as d,t as f}from"./chunk-L3NEJ4N5-CvHossEU.js";import{a as p,i as m,l as h,n as g,r as _,s as v,t as y}from"./chunk-OSK3NFVY-C3JOcBao.js";import{t as b}from"./graphlib-DS17s2tU.js";function x(e,{edgePathsClass:t=`edges edgePaths`}={}){let n=e.insert(`g`).attr(`class`,`root`);return{clusters:n.insert(`g`).attr(`class`,`clusters`),edgePaths:n.insert(`g`).attr(`class`,t),edgeLabels:n.insert(`g`).attr(`class`,`edgeLabels`),nodes:n.insert(`g`).attr(`class`,`nodes`),rootGroups:n}}t(x,`createLayoutElementGroups`);async function S(e,t){if(t.label){let{shapeSvg:n,bbox:r}=await o(e,t);t.labelBBox={width:r.width,height:r.height},n.remove()}else t.labelBBox={width:0,height:0}}t(S,`measureGroupLabel`);async function C(e,t,n){let r=await l(e,t,n),i=r.node()?.getBBox()??{width:0,height:0};return t.width=i.width,t.height=i.height,r}t(C,`insertMeasuredNode`);async function w(t,n){let r=new b({multigraph:!0,compound:!0}),a=[...n.edges],o=i(),s=x(t),{edgeLabels:c,nodes:l}=s,u=new Map,d=t.node()!=null;await Promise.all(n.nodes.map(async e=>{if(e.isGroup)d&&await S(l,e),r.setNode(e.id,{...e});else{if(d){let t=await C(l,e,{config:o,dir:e.dir});u.set(e.id,t)}r.setNode(e.id,{...e})}}));for(let e of a)d&&_(e)&&await p(c,e),r.setEdge(e.start,e.end,{...e},e.id),n.edges.some(t=>t.id===e.id)||n.edges.push(e);if(globalThis.mermaidCaptureSizes){let{captureNodeSizes:r}=await e(async()=>{let{captureNodeSizes:e}=await import(`./sizeCapture-INFHLROL-BMR1ovSU.js`);return{captureNodeSizes:e}},[],import.meta.url);r(t,n)}return{graph:r,groups:s,nodeElements:u}}t(w,`createGraphWithElements`);var T=new Map,E=new Map,D=new Map,O=t(()=>{E.clear(),D.clear(),T.clear()},`clear`),k=t((e,t)=>{let r=E.get(t)||[];return n.trace(`In isDescendant`,t,` `,e,` = `,r.includes(e)),r.includes(e)},`isDescendant`),A=t((e,t)=>{let r=E.get(t)||[];return n.info(`Descendants of `,t,` is `,r),n.info(`Edge is `,e),e.v===t||e.w===t?!1:r?r.includes(e.v)||k(e.v,t)||k(e.w,t)||r.includes(e.w):(n.debug(`Tilt, `,t,`,not in descendants`),!1)},`edgeInCluster`),j=t((e,t,r,i)=>{n.debug(`Copying children of `,e,`root`,i,`data`,t.node(e),i);let a=t.children(e)||[];e!==i&&a.push(e),n.debug(`Copying (nodes) clusterId`,e,`nodes`,a),a.forEach(a=>{if(t.children(a).length>0)j(a,t,r,i);else{let o=t.node(a);n.info(`cp `,a,` to `,i,` with parent `,e),r.setNode(a,o),i!==t.parent(a)&&(n.debug(`Setting parent`,a,t.parent(a)),r.setParent(a,t.parent(a))),e!==i&&a!==e?(n.debug(`Setting parent`,a,e),r.setParent(a,e)):(n.info(`In copy `,e,`root`,i,`data`,t.node(e),i),n.debug(`Not Setting parent for node=`,a,`cluster!==rootId`,e!==i,`node!==clusterId`,a!==e));let s=t.edges(a);n.debug(`Copying Edges`,s),s.forEach(a=>{n.info(`Edge`,a);let o=t.edge(a.v,a.w,a.name);n.info(`Edge data`,o,i);try{A(a,i)?(n.info(`Copying as `,a.v,a.w,o,a.name),r.setEdge(a.v,a.w,o,a.name),n.info(`newGraph edges `,r.edges(),r.edge(r.edges()[0]))):n.info(`Skipping copy of edge `,a.v,`-->`,a.w,` rootId: `,i,` clusterId:`,e)}catch(e){n.error(e)}})}n.debug(`Removing node`,a),t.removeNode(a)})},`copy`),M=t((e,t)=>{let n=t.children(e),r=[...n];for(let i of n)D.set(i,e),r=[...r,...M(i,t)];return r},`extractDescendants`),N=t((e,t,n)=>{let r=e.edges().filter(e=>e.v===t||e.w===t),i=e.edges().filter(e=>e.v===n||e.w===n),a=r.map(e=>({v:e.v===t?n:e.v,w:e.w===t?t:e.w})),o=i.map(e=>({v:e.v,w:e.w}));return a.filter(e=>o.some(t=>e.v===t.v&&e.w===t.w))},`findCommonEdges`),P=t((e,t,r)=>{let i=t.children(e);if(n.trace(`Searching children of id `,e,i),i.length<1)return e;let a;for(let e of i){let n=P(e,t,r),i=N(t,r,n);if(n){if(i.length>0)a=n;else return n}}return a},`findNonClusterChild`),F=t(e=>!T.has(e)||!T.get(e).externalConnections?e:T.has(e)?T.get(e).id:e,`getAnchorId`),I=t((e,t)=>{if(!e||t>10){n.debug(`Opting out, no graph `);return}n.debug(`Opting in, graph `),e.nodes().forEach(function(t){e.children(t).length>0&&(n.debug(`Cluster identified`,t,` Replacement id in edges: `,P(t,e,t)),E.set(t,M(t,e)),T.set(t,{id:P(t,e,t),clusterData:e.node(t)}))}),e.nodes().forEach(function(t){let r=e.children(t),i=e.edges();r.length>0?(n.debug(`Cluster identified`,t,E),i.forEach(e=>{k(e.v,t)^k(e.w,t)&&(n.debug(`Edge: `,e,` leaves cluster `,t),n.debug(`Descendants of XXX `,t,`: `,E.get(t)),T.get(t).externalConnections=!0)})):n.debug(`Not a cluster `,t,E)});for(let t of T.keys()){let n=T.get(t).id,r=e.parent(n);r!==t&&T.has(r)&&!T.get(r).externalConnections&&(T.get(t).id=r);let i=e.edges().some(e=>e.v===t);if(n&&T.get(t)?.externalConnections&&i&&B(e,n,t)){let r=V(e,t,e.parent(n));r&&(T.get(t).id=r)}}e.edges().forEach(function(t){let r=e.edge(t);n.debug(`Edge `+t.v+` -> `+t.w+`: `+JSON.stringify(t)),n.debug(`Edge `+t.v+` -> `+t.w+`: `+JSON.stringify(e.edge(t)));let i=t.v,a=t.w;if(n.debug(`Fix XXX`,T,`ids:`,t.v,t.w,`Translating: `,T.get(t.v),` --- `,T.get(t.w)),T.get(t.v)||T.get(t.w)){if(n.debug(`Fixing and trying - removing XXX`,t.v,t.w,t.name),i=F(t.v),a=F(t.w),e.removeEdge(t.v,t.w,t.name),i!==t.v){let n=e.parent(i);T.get(n).externalConnections=!0,r.fromCluster=t.v}if(a!==t.w){let n=e.parent(a);T.get(n).externalConnections=!0,r.toCluster=t.w}n.debug(`Fix Replacing with XXX`,i,a,t.name),e.setEdge(i,a,r,t.name)}}),L(e,0),n.trace(T)},`adjustClustersAndEdges`),L=t((e,t)=>{if(t>10){n.error(`Bailing out`);return}let r=e.nodes(),i=!1;for(let t of r){let n=e.children(t);i||=n.length>0}if(!i){n.debug(`Done, no node has children`,e.nodes());return}n.debug(`Nodes = `,r,t);for(let i of r)if(n.debug(`Extracting node`,i,T,T.has(i)&&!T.get(i).externalConnections,!e.parent(i),e.node(i),e.children(`D`),` Depth `,t),!T.has(i))n.debug(`Not a cluster`,i,t);else if(!T.get(i).externalConnections&&e.children(i)&&e.children(i).length>0){n.debug(`Cluster without external connections, without a parent and with children`,i,t);let r=e.graph().rankdir===`TB`?`LR`:`TB`;T.get(i)?.clusterData?.dir&&(r=T.get(i).clusterData.dir,n.debug(`Fixing dir`,T.get(i).clusterData.dir,r));let a=new b({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});j(i,e,a,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:T.get(i).clusterData,label:T.get(i).label,graph:a})}else n.debug(`Cluster ** `,i,` **not meeting the criteria !externalConnections:`,!T.get(i).externalConnections,` no parent: `,!e.parent(i),` children `,e.children(i)&&e.children(i).length>0,e.children(`D`),t),n.debug(T);r=e.nodes(),n.debug(`New list of nodes`,r);for(let i of r){let r=e.node(i);n.debug(` Now next level`,i,r),r?.clusterNode&&L(r.graph,t+1)}},`extractor`),R=t((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(t=>{let r=R(e,e.children(t));n=[...n,...r]}),n},`sorter`),z=t(e=>R(e,e.children()),`sortNodesByHierarchy`),B=t((e,t,n)=>{let r=e.parent(t);for(;r&&r!==n;){let t=T.get(r);if(t&&!t.externalConnections)return!0;r=e.parent(r)}return!1},`isNodeInExtractableCluster`),V=t((e,t,n)=>{let r=e.children(t)??[];for(let i of r){if(i===n||k(i,n))continue;let r=P(i,e,t);if(r&&!B(e,r,t))return r}return null},`findSafeAnchorNode`);function H({prepareLayout:e,measureLayout:n,runLayoutCore:r,paintLayout:i,afterPaint:a,paintOptions:o}){let s=n??W;return t(async function(t,n,c,l){let u=n.select(`g`);(c?.insertMarkers??v)(u,t.markers,t.type,t.diagramId),U();let d={element:u,helpers:c,options:l};d.preparedLayout=await e?.(t,d);let f=await s(t,d),p=await r(t,d),m={...d,measure:f};i?await i(t,m,p):await G(t,m,o),await a?.(t,m,p)},`render`)}t(H,`createCommonLayoutRenderer`);function U(){u(),y(),f(),O()}t(U,`clearLayoutRenderState`);async function W(e,{element:t}){return await w(t,e)}t(W,`defaultMeasureLayout`);async function G(e,t,n={}){let{measure:r}=t,{groups:i}=r;for(let r of n.getNodes?.(e,t)??e.nodes)n.skipNode?.(r,t)||await K(i,r,t,n);let a=J(e.nodes);for(let r of e.edges)Y(r,n)||await X(i,r,a,e,n,t)}t(G,`paintLayoutData`);async function K(e,t,n,r){t.clusterNode?s(t):q(t,n,r)?await d(e.clusters,t):s(t)}t(K,`paintLayoutNode`);function q(e,t,n){return e.isGroup===!0&&(n.isCluster?.(e,t)??!0)}t(q,`shouldPaintAsCluster`);function J(e){let t=new Map;for(let n of e)n?.id&&t.set(n.id,n);return t}t(J,`buildNodeLookup`);function Y(e,t){return e.isLayoutOnly||!!t.skipEdge?.(e)}t(Y,`shouldSkipPaintEdge`);async function X(e,t,n,r,i,a){let o=m(e.edgePaths,{...t},i.clusterDb??new Map,r.type,Z(t.start,t,n,a,i),Z(t.end,t,n,a,i),r.diagramId,Q(t,i));_(t)&&(g.has(t.id)||await p(e.edgeLabels,t),$(t,o))}t(X,`paintLayoutEdge`);function Z(e,t,n,r,i){return i.getEdgeNode?.(e,t,r)??(e?n.get(e)??{}:{})}t(Z,`getRenderedNode`);function Q(e,t){return typeof t.skipIntersect==`function`?t.skipIntersect(e):t.skipIntersect??!1}t(Q,`shouldSkipIntersect`);function $(e,t){let i=t?.updatedPath??t?.originalPath,o=r(),{subGraphTitleTotalMargin:s}=c({flowchart:o.flowchart??{}});if(e.label){let r=g.get(e.id),o=e.x,c=e.y;if(i){let r=a.calcLabelPosition(i);n.debug(`Moving label `+e.label+` from (`,o,`,`,c,`) to (`,r.x,`,`,r.y,`) abc88`),t?.updatedPath&&(o=r.x,c=r.y)}r.attr(`transform`,`translate(${o}, ${c+s/2})`)}if(e?.startLabelLeft){let t=h.get(e.id).startLeft,n=e?.x,r=e?.y;if(i){let t=a.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_left`,i);n=t.x,r=t.y}t.attr(`transform`,`translate(${n}, ${r})`)}if(e.startLabelRight){let t=h.get(e.id).startRight,n=e.x,r=e.y;if(i){let t=a.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_right`,i);n=t.x,r=t.y}t.attr(`transform`,`translate(${n}, ${r})`)}if(e.endLabelLeft){let t=h.get(e.id).endLeft,n=e.x,r=e.y;if(i){let t=a.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_left`,i);n=t.x,r=t.y}t.attr(`transform`,`translate(${n}, ${r})`)}if(e.endLabelRight){let t=h.get(e.id).endRight,n=e.x,r=e.y;if(i){let t=a.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_right`,i);n=t.x,r=t.y}t.attr(`transform`,`translate(${n}, ${r})`)}}t($,`positionRenderedEdgeLabel`);export{P as a,x as i,T as n,C as o,H as r,z as s,I as t};
@@ -1 +1 @@
1
- import{C as e,S as t,i as n,l as r,o as i,t as a,u as o,w as s,x as c}from"./chunk-FOHPRMQF-Dmmo5Kak.js";var l=class extends a{static{c(this,`InfoTokenBuilder`)}constructor(){super([`info`,`showInfo`])}},u={parser:{TokenBuilder:c(()=>new l,`TokenBuilder`),ValueConverter:c(()=>new n,`ValueConverter`)}};function d(n=i){let a=s(e(n),o),c=s(t({shared:a}),r,u);return a.ServiceRegistry.register(c),{shared:a,Info:c}}c(d,`createInfoServices`);export{d as n,u as t};
1
+ import{C as e,S as t,i as n,l as r,o as i,t as a,u as o,w as s,x as c}from"./chunk-NGNAAXSQ-DqoPQk1a.js";var l=class extends a{static{c(this,`InfoTokenBuilder`)}constructor(){super([`info`,`showInfo`])}},u={parser:{TokenBuilder:c(()=>new l,`TokenBuilder`),ValueConverter:c(()=>new n,`ValueConverter`)}};function d(n=i){let a=s(e(n),o),c=s(t({shared:a}),r,u);return a.ServiceRegistry.register(c),{shared:a,Info:c}}c(d,`createInfoServices`);export{d as n,u as t};
@@ -0,0 +1,2 @@
1
+ import{p as e}from"./src-XiVvaevx.js";import{t}from"./dist-B_J_HbC0.js";import{B as n,F as r,G as i,H as a,I as o,J as s,K as c,L as l,M as u,N as d,P as ee,R as te,U as ne,V as re,W as f,X as p,Y as ie,j as m,q as h,r as g,t as ae,z as oe}from"./merge-CALoRt3l.js";import{n as _}from"./chunk-Y2CYZVJY-BbRBGnmc.js";import{t as v}from"./chunk-X3CZISLH-DwWpRaN8.js";import{R as se,h as y,p as b,r as x,s as S}from"./chunk-VPRB5NB3-BqaJfj_v.js";var C=t(),ce={curveBasis:h,curveBasisClosed:c,curveBasisOpen:i,curveBumpX:s,curveBumpY:ie,curveBundle:f,curveCardinalClosed:a,curveCardinalOpen:re,curveCardinal:ne,curveCatmullRomClosed:oe,curveCatmullRomOpen:te,curveCatmullRom:n,curveLinear:p,curveLinearClosed:l,curveMonotoneX:r,curveMonotoneY:o,curveNatural:ee,curveStep:d,curveStepAfter:m,curveStepBefore:u},le=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,w=_(function(e,t){let n=T(e,/(?:init\b)|(?:initialize\b)/),r={};if(Array.isArray(n)){let e=n.map(e=>e.args);se(e),r=x(r,[...e])}else r=n.args;if(!r)return;let i=b(e,t),a=`config`;return r[a]!==void 0&&(i===`flowchart-v2`&&(i=`flowchart`),r[i]=r[a],delete r[a]),r},`detectInit`),T=_(function(e,t=null){try{let n=RegExp(`[%]{2}(?![{]${le.source})(?=[}][%]{2}).*
2
+ `,`ig`);e=e.trim().replace(n,``).replace(/'/gm,`"`),v.debug(`Detecting diagram directive${t===null?``:` type:`+t} based on the text:${e}`);let r,i=[];for(;(r=y.exec(e))!==null;)if(r.index===y.lastIndex&&y.lastIndex++,r&&!t||t&&r[1]?.match(t)||t&&r[2]?.match(t)){let e=r[1]?r[1]:r[2],t=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;i.push({type:e,args:t})}return i.length===0?{type:e,args:null}:i.length===1?i[0]:i}catch(n){return v.error(`ERROR: ${n.message} - Unable to parse directive type: '${t}' based on the text: '${e}'`),{type:void 0,args:null}}},`detectDirective`),E=_(function(e){return e.replace(y,``)},`removeDirectives`),D=_(function(e,t){for(let[n,r]of t.entries())if(r.match(e))return n;return-1},`isSubstringInArray`);function O(e,t){return e?ce[`curve${e.charAt(0).toUpperCase()+e.slice(1)}`]??t:t}_(O,`interpolateToCurve`);function k(e,t){let n=e.trim();if(n)return t.securityLevel===`loose`?n:(0,C.sanitizeUrl)(n)}_(k,`formatUrl`);var ue=_((e,...t)=>{let n=e.split(`.`),r=n.length-1,i=n[r],a=window;for(let t=0;t<r;t++)if(a=a[n[t]],!a){v.error(`Function name: ${e} not found in window`);return}a[i](...t)},`runFunc`);function A(e,t){return!e||!t?0:Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2)}_(A,`distance`);function j(e){let t,n=0;return e.forEach(e=>{n+=A(e,t),t=e}),P(e,n/2)}_(j,`traverseEdge`);function M(e){return e.length===1?e[0]:j(e)}_(M,`calcLabelPosition`);var N=_((e,t=2)=>{let n=10**t;return Math.round(e*n)/n},`roundNumber`),P=_((e,t)=>{let n,r=t;for(let t of e){if(n){let e=A(t,n);if(e===0)return n;if(e<r)r-=e;else{let i=r/e;if(i<=0)return n;if(i>=1)return{x:t.x,y:t.y};if(i>0&&i<1)return{x:N((1-i)*n.x+i*t.x,5),y:N((1-i)*n.y+i*t.y,5)}}}n=t}throw Error(`Could not find a suitable point for the given distance`)},`calculatePoint`),F=_((e,t,n)=>{v.info(`our points ${JSON.stringify(t)}`),t[0]!==n&&(t=t.reverse());let r=P(t,25),i=e?10:5,a=Math.atan2(t[0].y-r.y,t[0].x-r.x),o={x:0,y:0};return o.x=Math.sin(a)*i+(t[0].x+r.x)/2,o.y=-Math.cos(a)*i+(t[0].y+r.y)/2,o},`calcCardinalityPosition`);function I(e,t,n){let r=structuredClone(n);v.info(`our points`,r),t!==`start_left`&&t!==`start_right`&&r.reverse();let i=P(r,25+e),a=10+e*.5,o=Math.atan2(r[0].y-i.y,r[0].x-i.x),s={x:0,y:0};return t===`start_left`?(s.x=Math.sin(o+Math.PI)*a+(r[0].x+i.x)/2,s.y=-Math.cos(o+Math.PI)*a+(r[0].y+i.y)/2):t===`end_right`?(s.x=Math.sin(o-Math.PI)*a+(r[0].x+i.x)/2,s.y=-Math.cos(o-Math.PI)*a+(r[0].y+i.y)/2):(s.x=Math.sin(o)*a+(r[0].x+i.x)/2,s.y=-Math.cos(o)*a+(r[0].y+i.y)/2),s}_(I,`calcTerminalLabelPosition`);function L(e){let t=``,n=``;for(let r of e)r!==void 0&&(r.startsWith(`color:`)||r.startsWith(`text-align:`)?n=n+r+`;`:t=t+r+`;`);return{style:t,labelStyle:n}}_(L,`getStylesFromArray`);var R=0,z=_(()=>(R++,`id-`+Math.random().toString(36).substr(2,12)+`-`+R),`generateId`);function B(e){let t=``;for(let n=0;n<e;n++)t+=`0123456789abcdef`.charAt(Math.floor(Math.random()*16));return t}_(B,`makeRandomHex`);var V=_(e=>B(e.length),`random`),H=_(function(){return{x:0,y:0,fill:void 0,anchor:`start`,style:`#666`,width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:``}},`getTextObj`),de=_(function(e,t){let n=t.text.replace(S.lineBreakRegex,` `),[,r]=X(t.fontSize),i=e.append(`text`);i.attr(`x`,t.x),i.attr(`y`,t.y),i.style(`text-anchor`,t.anchor),i.style(`font-family`,t.fontFamily),i.style(`font-size`,r),i.style(`font-weight`,t.fontWeight),i.attr(`fill`,t.fill),t.class!==void 0&&i.attr(`class`,t.class);let a=i.append(`tspan`);return a.attr(`x`,t.x+t.textMargin*2),a.attr(`fill`,t.fill),a.text(n),i},`drawSimpleText`),U=g((e,t,n)=>{if(!e||(n=Object.assign({fontSize:12,fontWeight:400,fontFamily:`Arial`,joinWith:`<br/>`},n),S.hasBreaks(e)))return e;let r=e.split(` `).filter(Boolean),i=[],a=``;return r.forEach((e,o)=>{let s=G(`${e} `,n),c=G(a,n);if(s>t){let{hyphenatedStrings:r,remainingWord:o}=fe(e,t,`-`,n);i.push(a,...r),a=o}else c+s>=t?(i.push(a),a=e):a=[a,e].filter(Boolean).join(` `);o+1===r.length&&i.push(a)}),i.filter(e=>e!==``).join(n.joinWith)},(e,t,n)=>`${e}${t}${n.fontSize}${n.fontWeight}${n.fontFamily}${n.joinWith}`),fe=g((e,t,n=`-`,r)=>{r=Object.assign({fontSize:12,fontWeight:400,fontFamily:`Arial`,margin:0},r);let i=[...e],a=[],o=``;return i.forEach((e,s)=>{let c=`${o}${e}`;if(G(c,r)>=t){let e=s+1,t=i.length===e,r=`${c}${n}`;a.push(t?c:r),o=``}else o=c}),{hyphenatedStrings:a,remainingWord:o}},(e,t,n=`-`,r)=>`${e}${t}${n}${r.fontSize}${r.fontWeight}${r.fontFamily}`);function W(e,t){return K(e,t).height}_(W,`calculateTextHeight`);function G(e,t){return K(e,t).width}_(G,`calculateTextWidth`);var K=g((t,n)=>{let{fontSize:r=12,fontFamily:i=`Arial`,fontWeight:a=400}=n;if(!t)return{width:0,height:0};let[,o]=X(r),s=[`sans-serif`,i],c=t.split(S.lineBreakRegex),l=[],u=e(`body`);if(!u.remove)return{width:0,height:0,lineHeight:0};let d=u.append(`svg`);for(let e of s){let t=0,n={width:0,height:0,lineHeight:0};for(let r of c){let i=H();i.text=r||`​`;let s=de(d,i).style(`font-size`,o).style(`font-weight`,a).style(`font-family`,e),c=(s._groups||s)[0][0].getBBox();if(c.width===0&&c.height===0)throw Error(`svg element not in render tree`);n.width=Math.round(Math.max(n.width,c.width)),t=Math.round(c.height),n.height+=t,n.lineHeight=Math.round(Math.max(n.lineHeight,t))}l.push(n)}return d.remove(),l[isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1]},(e,t)=>`${e}${t.fontSize}${t.fontWeight}${t.fontFamily}`),pe=class{constructor(e=!1,t){this.count=0,this.count=t?t.length:0,this.next=e?()=>this.count++:()=>Date.now()}static{_(this,`InitIDGenerator`)}},q,me=_(function(e){return q||=document.createElement(`div`),e=escape(e).replace(/%26/g,`&`).replace(/%23/g,`#`).replace(/%3B/g,`;`),q.innerHTML=e,unescape(q.textContent)},`entityDecode`);function J(e){return`str`in e}_(J,`isDetailedError`);function Y(e){return e instanceof Error?e.message:String(e)}_(Y,`getErrorMessage`);var he=_((e,t,n,r)=>{if(!r)return;let i=e.node()?.getBBox();i&&e.append(`text`).text(r).attr(`text-anchor`,`middle`).attr(`x`,i.x+i.width/2).attr(`y`,-n).attr(`class`,t)},`insertTitle`),X=_(e=>{if(typeof e==`number`)return[e,e+`px`];let t=parseInt(e??``,10);return Number.isNaN(t)?[void 0,void 0]:e===String(t)?[t,e+`px`]:[t,e]},`parseFontSize`);function Z(e,t){return ae({},e,t)}_(Z,`cleanAndMerge`);var ge={assignWithDepth:x,wrapLabel:U,calculateTextHeight:W,calculateTextWidth:G,calculateTextDimensions:K,cleanAndMerge:Z,detectInit:w,detectDirective:T,isSubstringInArray:D,interpolateToCurve:O,calcLabelPosition:M,calcCardinalityPosition:F,calcTerminalLabelPosition:I,formatUrl:k,getStylesFromArray:L,generateId:z,random:V,runFunc:ue,entityDecode:me,insertTitle:he,isLabelCoordinateInPath:$,parseFontSize:X,InitIDGenerator:pe},_e=_(function(e){let t=e;return t=t.replace(/style.*:\S*#.*;/g,function(e){return e.substring(0,e.length-1)}),t=t.replace(/classDef.*:\S*#.*;/g,function(e){return e.substring(0,e.length-1)}),t=t.replace(/#\w+;/g,function(e){let t=e.substring(1,e.length-1);return/^\+?\d+$/.test(t)?`fl°°`+t+`¶ß`:`fl°`+t+`¶ß`}),t},`encodeEntities`),ve=_(function(e){return e.replace(/fl°°/g,`&#`).replace(/fl°/g,`&`).replace(/¶ß/g,`;`)},`decodeEntities`),ye=_((e,t,{counter:n=0,prefix:r,suffix:i},a)=>a||`${r?`${r}_`:``}${e}_${t}_${n}${i?`_${i}`:``}`,`getEdgeId`);function Q(e){return e??null}_(Q,`handleUndefinedAttr`);function $(e,t){let n=Math.round(e.x),r=Math.round(e.y),i=t.replace(/(\d+\.\d+)/g,e=>Math.round(parseFloat(e)).toString());return i.includes(n.toString())||i.includes(r.toString())}_($,`isLabelCoordinateInPath`);export{ge as _,ve as a,ye as c,Q as d,O as f,E as g,V as h,Z as i,Y as l,X as m,W as n,_e as o,J as p,G as r,z as s,K as t,L as u,U as v};
@@ -1 +1 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-BbRBGnmc.js";import{x as t}from"./chunk-O7XYJQB3-D0_ZY2za.js";var n=e(e=>{let{handDrawnSeed:n}=t();return{fill:e,hachureAngle:120,hachureGap:1.5,fillWeight:1.5,roughness:.7,stroke:e,seed:n}},`solidStateFill`),r=e(e=>Array.isArray(e)?e:e?e.split(`;`).map(e=>e.trim()).filter(Boolean):[],`normalizeStyleList`),i=e(e=>{let t=a([...e.cssCompiledStyles||[],...e.cssStyles||[],...r(e.labelStyle)]);return{stylesMap:t,stylesArray:[...t]}},`compileStyles`),a=e(e=>{let t=new Map;return e.forEach(e=>{let[n,r]=e.split(`:`);t.set(n.trim(),r?.trim())}),t},`styles2Map`),o=e(e=>e===`color`||e===`font-size`||e===`font-family`||e===`font-weight`||e===`font-style`||e===`text-decoration`||e===`text-align`||e===`text-transform`||e===`line-height`||e===`letter-spacing`||e===`word-spacing`||e===`text-shadow`||e===`text-overflow`||e===`white-space`||e===`word-wrap`||e===`word-break`||e===`overflow-wrap`||e===`hyphens`,`isLabelStyle`),s=e(e=>{let{stylesArray:t}=i(e),n=[],r=[],a=[],s=[];return t.forEach(e=>{let t=e[0];o(t)?n.push(e.join(`:`)+` !important`):(r.push(e.join(`:`)+` !important`),t.includes(`stroke`)&&a.push(e.join(`:`)+` !important`),t===`fill`&&s.push(e.join(`:`)+` !important`))}),{labelStyles:n.join(`;`),nodeStyles:r.join(`;`),stylesArray:t,borderStyles:a,backgroundStyles:s}},`styles2String`),c=e((e,n)=>{let{themeVariables:r,handDrawnSeed:a}=t(),{nodeBorder:o,mainBkg:s}=r,{stylesMap:c}=i(e);return Object.assign({roughness:.7,fill:c.get(`fill`)||s,fillStyle:`hachure`,fillWeight:1.5,hachureGap:1.5,stroke:c.get(`stroke`)||o,seed:a,strokeWidth:c.get(`stroke-width`)?.replace(`px`,``)||1.3,fillLineDash:[0,0],strokeLineDash:l(c.get(`stroke-dasharray`))},n)},`userNodeOverrides`),l=e(e=>{if(!e)return[0,0];let t=e.trim().split(/\s+/).map(Number);if(t.length===1){let e=isNaN(t[0])?0:t[0];return[e,e]}return[isNaN(t[0])?0:t[0],isNaN(t[1])?0:t[1]]},`getStrokeDashArray`);export{c as a,s as i,o as n,n as r,i as t};
1
+ import{n as e}from"./chunk-Y2CYZVJY-BbRBGnmc.js";import{b as t}from"./chunk-VPRB5NB3-BqaJfj_v.js";var n=e(e=>{let{handDrawnSeed:n}=t();return{fill:e,hachureAngle:120,hachureGap:1.5,fillWeight:1.5,roughness:.7,stroke:e,seed:n}},`solidStateFill`),r=e(e=>Array.isArray(e)?e:e?e.split(`;`).map(e=>e.trim()).filter(Boolean):[],`normalizeStyleList`),i=e(e=>{let t=a([...e.cssCompiledStyles||[],...e.cssStyles||[],...r(e.labelStyle)]);return{stylesMap:t,stylesArray:[...t]}},`compileStyles`),a=e(e=>{let t=new Map;return e.forEach(e=>{let[n,r]=e.split(`:`);t.set(n.trim(),r?.trim())}),t},`styles2Map`),o=e(e=>e===`color`||e===`font-size`||e===`font-family`||e===`font-weight`||e===`font-style`||e===`text-decoration`||e===`text-align`||e===`text-transform`||e===`line-height`||e===`letter-spacing`||e===`word-spacing`||e===`text-shadow`||e===`text-overflow`||e===`white-space`||e===`word-wrap`||e===`word-break`||e===`overflow-wrap`||e===`hyphens`,`isLabelStyle`),s=e(e=>{let{stylesArray:t}=i(e),n=[],r=[],a=[],s=[];return t.forEach(e=>{let t=e[0];o(t)?n.push(e.join(`:`)+` !important`):(r.push(e.join(`:`)+` !important`),t.includes(`stroke`)&&a.push(e.join(`:`)+` !important`),t===`fill`&&s.push(e.join(`:`)+` !important`))}),{labelStyles:n.join(`;`),nodeStyles:r.join(`;`),stylesArray:t,borderStyles:a,backgroundStyles:s}},`styles2String`),c=e((e,n)=>{let{themeVariables:r,handDrawnSeed:a}=t(),{nodeBorder:o,mainBkg:s}=r,{stylesMap:c}=i(e);return Object.assign({roughness:.7,fill:c.get(`fill`)||s,fillStyle:`hachure`,fillWeight:1.5,hachureGap:1.5,stroke:c.get(`stroke`)||o,seed:a,strokeWidth:c.get(`stroke-width`)?.replace(`px`,``)||1.3,fillLineDash:[0,0],strokeLineDash:l(c.get(`stroke-dasharray`))},n)},`userNodeOverrides`),l=e(e=>{if(!e)return[0,0];let t=e.trim().split(/\s+/).map(Number);if(t.length===1){let e=isNaN(t[0])?0:t[0];return[e,e]}return[isNaN(t[0])?0:t[0],isNaN(t[1])?0:t[1]]},`getStrokeDashArray`);export{c as a,s as i,o as n,n as r,i as t};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{p as t}from"./src-XiVvaevx.js";import{t as n}from"./chunk-X3CZISLH-BixgQztF.js";import{A as r,B as i,M as a,T as o,b as s,f as c,g as l,x as u,z as d}from"./chunk-DU6HZSFF-CWlP1Dk_.js";import{a as f,i as p,r as m,t as h}from"./chunk-P2QGCYS3-BA--DhpW.js";import{t as g}from"./chunk-PWAF6VOD-D_kLse-N.js";import{a as _,p as v,r as y,u as b}from"./chunk-75Z2AOVW-DitkSoSG.js";import{n as x,r as S}from"./chunk-GMAD6QVW-Bgk8qnty.js";import{t as C}from"./rough.esm-Dy-Kn_BL.js";var w=1,T=3;async function E(t){let n=t.getElementsByTagName(`img`);if(!n||n.length===0)return;let r=!D(t);await Promise.all([...n].map(t=>new Promise(n=>{function i(){if(t.style.display=`flex`,t.style.flexDirection=`column`,r){let e=u().fontSize?u().fontSize:window.getComputedStyle(document.body).fontSize,[n=c.fontSize]=v(e),r=n*5+`px`;t.style.minWidth=r,t.style.maxWidth=r}else t.style.width=`100%`;n(t)}e(i,`setupImage`),setTimeout(()=>{t.complete&&i()}),t.addEventListener(`error`,i),t.addEventListener(`load`,i)})))}e(E,`configureLabelImages`);function D(e){return e.nodeType===T?e.textContent?.trim()!==``:e.nodeType!==w||e.tagName.toLowerCase()===`img`?!1:[...e.childNodes].some(D)}e(D,`hasTextBesidesImages`);var O=3,k=32,A=e(async(e,n,r)=>{let i=u(),a=e.insert(`g`).attr(`class`,r??`node default`).attr(`id`,n.domId||n.id),o=a.insert(`g`).attr(`class`,`label`).attr(`style`,b(n.labelStyle)),s=[{text:typeof n.label==`string`?n.label:n.label?.[0]??``,cssClass:`c4-name`},{text:n.stereotype,cssClass:`c4-type`},...(n.description??[]).map(e=>({text:e,cssClass:`c4-descr`}))].filter(e=>e.text),c=n.width?Math.max(n.width-2*(n.padding??0),k):u().flowchart?.wrappingWidth??200,l=i.c4?.wrap??!0?c:1/0,f=await Promise.all(s.map(async e=>{let r=o.append(`g`).attr(`class`,e.cssClass),a=await x(r,d(_(e.text??``),i),{useHtmlLabels:!1,markdown:!1,isNode:!0,width:l,style:n.labelStyle},i);return t(a).selectAll(`tspan.text-outer-tspan`).attr(`text-anchor`,`middle`),t(a).selectAll(`tspan.text-inner-tspan`).attr(`font-weight`,null).attr(`font-style`,null),{el:r,box:r.node().getBBox()}})),p=Math.max(...f.map(({box:e})=>e.width),0),m=0;for(let{el:e,box:t}of f)e.attr(`transform`,`translate(${p/2-t.x-t.width/2}, ${m-t.y})`),m+=t.height+O;let h=f.length>0?m-O:0;return o.insert(`rect`,`:first-child`),o.attr(`transform`,`translate(${-p/2}, ${-h/2})`),{shapeSvg:a,bbox:o.node().getBBox(),halfPadding:(n.padding??0)/2,label:o}},`c4LabelHelper`),j=e(async(e,n,r)=>{if(n.stereotype!==void 0)return A(e,n,r);let i,a=n.useHtmlLabels||l(u()?.htmlLabels);i=r||`node default`;let o=e.insert(`g`).attr(`class`,i).attr(`id`,n.domId||n.id),s=o.insert(`g`).attr(`class`,`label`).attr(`style`,b(n.labelStyle)),c;c=n.label===void 0?``:typeof n.label==`string`?n.label:n.label[0];let f=!!n.icon||!!n.img,p=n.labelType===`markdown`,m=await x(s,d(_(c),u()),{useHtmlLabels:a,width:n.width||n.wrappingWidth||u().flowchart?.wrappingWidth,classes:p?`markdown-node-label`:``,style:n.labelStyle,addSvgBackground:f,markdown:p},u()),h=(n?.padding??0)/2,g;if(a){let e=m.children[0],n=t(m);await E(e),g=await S.measure(()=>e.getBoundingClientRect()),n.attr(`width`,g.width),n.attr(`height`,g.height)}else g=await S.measure(()=>m.getBBox());return a?s.attr(`transform`,`translate(`+-g.width/2+`, `+-g.height/2+`)`):s.attr(`transform`,`translate(0, `+-g.height/2+`)`),n.centerLabel&&s.attr(`transform`,`translate(`+-g.width/2+`, `+-g.height/2+`)`),s.insert(`rect`,`:first-child`),{shapeSvg:o,bbox:g,halfPadding:h,label:s}},`labelHelper`),M=e(async(e,n,r)=>{let i=r.useHtmlLabels??o(u()),a=e.insert(`g`).attr(`class`,`label`).attr(`style`,r.labelStyle||``),s=await x(a,d(_(n),u()),{useHtmlLabels:i,width:r.width||u()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img}),c=r.padding/2,l;if(o(u())){let e=s.children[0],n=t(s);l=await S.measure(()=>e.getBoundingClientRect()),n.attr(`width`,l.width),n.attr(`height`,l.height)}else l=await S.measure(()=>s.getBBox());return i?a.attr(`transform`,`translate(`+-l.width/2+`, `+-l.height/2+`)`):a.attr(`transform`,`translate(0, `+-l.height/2+`)`),r.centerLabel&&a.attr(`transform`,`translate(`+-l.width/2+`, `+-l.height/2+`)`),a.insert(`rect`,`:first-child`),{shapeSvg:e,bbox:l,halfPadding:c,label:a}},`insertLabel`),N=e((e,t,n)=>{if(n){e.width=n.width,e.height=n.height;return}let r=t.node().getBBox();e.width=r.width,e.height=r.height},`updateNodeBounds`),P=e((e,t)=>(e.look===`handDrawn`?`rough-node`:`node`)+` `+e.cssClasses+` `+(t||``),`getNodeClasses`);function F(e){let t=e.map((e,t)=>`${t===0?`M`:`L`}${e.x},${e.y}`);return t.push(`Z`),t.join(` `)}e(F,`createPathFromPoints`);function I(e,t,n,r,i,a){let o=[],s=n-e,c=r-t,l=s/a,u=2*Math.PI/l,d=t+c/2;for(let t=0;t<=50;t++){let n=e+t/50*s,r=d+i*Math.sin(u*(n-e));o.push({x:n,y:r})}return o}e(I,`generateFullSineWavePoints`);function L(e,t,n,r,i,a){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}e(L,`generateCirclePoints`);function ee(t){let n=Array.from(t.childNodes).filter(e=>e.tagName===`path`),r=document.createElementNS(`http://www.w3.org/2000/svg`,`path`),i=n.map(e=>e.getAttribute(`d`)).filter(e=>e!==null).join(` `);r.setAttribute(`d`,i);let a=n.find(e=>e.getAttribute(`fill`)!==`none`),o=n.find(e=>e.getAttribute(`stroke`)!==`none`),s=e((e,t)=>e?.getAttribute(t)??void 0,`getAttr`);if(a){let e={fill:s(a,`fill`),"fill-opacity":s(a,`fill-opacity`)??`1`};Object.entries(e).forEach(([e,t])=>{t&&r.setAttribute(e,t)})}if(o){let e={stroke:s(o,`stroke`),"stroke-width":s(o,`stroke-width`)??`1`,"stroke-opacity":s(o,`stroke-opacity`)??`1`};Object.entries(e).forEach(([e,t])=>{t&&r.setAttribute(e,t)})}let c=document.createElementNS(`http://www.w3.org/2000/svg`,`g`);return c.appendChild(r),c}e(ee,`mergePaths`);var R=e((e,t)=>{var n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2,c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=a===0?0:s*i/a,l=s):(i<0&&(o=-o),c=o,l=i===0?0:o*a/i),{x:n+c,y:r+l}},`intersectRect`),z=e((e,t,n,r,i)=>[`M`,e+i,t,`H`,e+n-i,`A`,i,i,0,0,1,e+n,t+i,`V`,t+r-i,`A`,i,i,0,0,1,e+n-i,t+r,`H`,e+i,`A`,i,i,0,0,1,e,t+r-i,`V`,t+i,`A`,i,i,0,0,1,e+i,t,`Z`].join(` `),`createRoundedRectPathD`),te=e(async(e,t,n,r=!1,i=!1)=>{let a=t||``;typeof a==`object`&&(a=a[0]);let s=u(),c=o(s);return await x(e,a,{style:n,isTitle:r,useHtmlLabels:c,markdown:!1,isNode:i,width:1/0},s)},`createLabel`);function B(e,t){return e.intersect(t)}e(B,`intersectNode`);var ne=B;function V(e,t,n,r){var i=e.x,a=e.y,o=i-r.x,s=a-r.y,c=Math.sqrt(t*t*s*s+n*n*o*o),l=Math.abs(t*n*o/c);r.x<i&&(l=-l);var u=Math.abs(t*n*s/c);return r.y<a&&(u=-u),{x:i+l,y:a+u}}e(V,`intersectEllipse`);var H=V;function re(e,t,n){return H(e,t,t,n)}e(re,`intersectCircle`);var ie=re;function U(e,t,n,r){{let i=t.y-e.y,a=e.x-t.x,o=t.x*e.y-e.x*t.y,s=i*n.x+a*n.y+o,c=i*r.x+a*r.y+o,l=1e-6;if(s!==0&&c!==0&&W(s,c))return;let u=r.y-n.y,d=n.x-r.x,f=r.x*n.y-n.x*r.y,p=u*e.x+d*e.y+f,m=u*t.x+d*t.y+f;if(Math.abs(p)<l&&Math.abs(m)<l&&W(p,m))return;let h=i*d-u*a;if(h===0)return;let g=Math.abs(h/2),_=a*f-d*o,v=_<0?(_-g)/h:(_+g)/h;return _=u*o-i*f,{x:v,y:_<0?(_-g)/h:(_+g)/h}}}e(U,`intersectLine`);function W(e,t){return e*t>0}e(W,`sameSign`);var G=U;function ae(e,t,n){let r=e.x,i=e.y,a=[],o=1/0,s=1/0;typeof t.forEach==`function`?t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)}):(o=Math.min(o,t.x),s=Math.min(s,t.y));let c=r-e.width/2-o,l=i-e.height/2-s;for(let r=0;r<t.length;r++){let i=t[r],o=t[r<t.length-1?r+1:0],s=G(e,n,{x:c+i.x,y:l+i.y},{x:c+o.x,y:l+o.y});s&&a.push(s)}return a.length?(a.length>1&&a.sort(function(e,t){let r=e.x-n.x,i=e.y-n.y,a=Math.sqrt(r*r+i*i),o=t.x-n.x,s=t.y-n.y,c=Math.sqrt(o*o+s*s);return a<c?-1:a===c?0:1}),a[0]):e}e(ae,`intersectPolygon`);var K={node:ne,circle:ie,ellipse:H,polygon:ae,rect:R};function oe(e,t){let{labelStyles:r}=p(t);t.labelStyle=r;let i=P(t),a=i;i||(a=`anchor`);let o=e.insert(`g`).attr(`class`,a).attr(`id`,t.domId||t.id),{cssStyles:s}=t,c=C.svg(o),l=f(t,{fill:`black`,stroke:`none`,fillStyle:`solid`});t.look!==`handDrawn`&&(l.roughness=0);let u=c.circle(0,0,2,l),d=o.insert(()=>u,`:first-child`);return d.attr(`class`,`anchor`).attr(`style`,b(s)),N(t,d),t.intersect=function(e){return n.info(`Circle intersect`,t,1,e),K.circle(t,1,e)},o}e(oe,`anchor`);function se(e,t,n,r,i,a,o){let s=(e+n)/2,c=(t+r)/2,l=Math.atan2(r-t,n-e),u=(n-e)/2,d=(r-t)/2,f=u/i,p=d/a,m=Math.sqrt(f**2+p**2);if(m>1)throw Error(`The given radii are too small to create an arc between the points.`);let h=Math.sqrt(1-m**2),g=s+h*a*Math.sin(l)*(o?-1:1),_=c-h*i*Math.cos(l)*(o?-1:1),v=Math.atan2((t-_)/a,(e-g)/i),y=Math.atan2((r-_)/a,(n-g)/i)-v;o&&y<0&&(y+=2*Math.PI),!o&&y>0&&(y-=2*Math.PI);let b=[];for(let e=0;e<20;e++){let t=v+e/19*y,n=g+i*Math.cos(t),r=_+a*Math.sin(t);b.push({x:n,y:r})}return b}e(se,`generateArcPoints`);function ce(e,t,n){let[r,i]=[t,n].sort((e,t)=>t-e);return i*(1-Math.sqrt(1-(e/r/2)**2))}e(ce,`calculateArcSagitta`);async function le(t,n){let{labelStyles:r,nodeStyles:i}=p(n);n.labelStyle=r;let a=n.padding??0,o=n.look===`neo`?16:a,s=n.look===`neo`?12:a,c=e(e=>e+s,`calcTotalHeight`),l=e(e=>{let t=e/2;return[t/(2.5+e/50),t]},`calcEllipseRadius`),{shapeSvg:u,bbox:d}=await j(t,n,P(n)),m=c(n?.height?n?.height:d.height),[h,g]=l(m),_=ce(m,h,g),v=(n?.width?n?.width:d.width)+o*2+_-_,y=m,{cssStyles:b}=n,x=[{x:v/2,y:-y/2},{x:-v/2,y:-y/2},...se(-v/2,-y/2,-v/2,y/2,h,g,!1),{x:v/2,y:y/2},...se(v/2,y/2,v/2,-y/2,h,g,!0)],S=C.svg(u),w=f(n,{});n.look!==`handDrawn`&&(w.roughness=0,w.fillStyle=`solid`);let T=F(x),E=S.path(T,w),D=u.insert(()=>E,`:first-child`);return D.attr(`class`,`basic label-container outer-path`),b&&n.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,b),i&&n.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,i),D.attr(`transform`,`translate(${h/2}, 0)`),N(n,D),n.intersect=function(e){return K.polygon(n,x,e)},u}e(le,`bowTieRect`);async function ue(t,n,{config:{themeVariables:r}}){let{labelStyles:i,nodeStyles:a}=p(n);n.labelStyle=i;let{shapeSvg:o,bbox:s,label:c}=await j(t,n,P(n)),l=r?.nodeBorder??r?.lineColor??`currentColor`,u=n.padding??12,d=Math.max(s.width+u*2,n.width??0,80),m=Math.max(Math.min(d*.08,12),5),h=Math.max(s.height+u*2+m,n.height??0),g=-h/2+m,_=h/2,v=d*.72,y=[`M${-d/2},${g}`,`L${-v/2},${_}`,`A${v/2},${m} 0 0 0 ${v/2},${_}`,`L${d/2},${g}`,`A${d/2},${m} 0 0 0 ${-d/2},${g}`,`Z`].join(` `),{cssStyles:b}=n,x=o.insert(`g`,`:first-child`).attr(`class`,`basic label-container`);if(n.look===`handDrawn`){let e=C.svg(o).path(y,f(n,{}));x.node()?.appendChild(e),b&&x.attr(`style`,b)}else x.append(`path`).attr(`d`,y).attr(`style`,a);x.append(`ellipse`).attr(`cx`,0).attr(`cy`,g).attr(`rx`,d/2).attr(`ry`,m).attr(`style`,`fill:none;stroke:${l};stroke-width:1px`),N(n,x);let S=g+(_-g)/2;c.attr(`transform`,`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${S-s.height/2-(s.y-(s.top??0))})`);let w=e((e,t,n)=>Array.from({length:13},(r,i)=>{let a=Math.PI-i*Math.PI/12;return{x:e*Math.cos(a),y:t+n*m*Math.sin(a)}}),`arc`),T=[...w(d/2,g,-1),...w(v/2,_,1).reverse()];return n.intersect=function(e){return K.polygon(n,T,e)},o}e(ue,`bucket`);var de=20,fe=8,pe=80,me=8;async function he(e,t){let{themeVariables:n}=u(),r=n.clusterBkg,i=n.clusterBorder,{nodeStyles:a}=p(t),{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=t.padding??8,d=c.height,m=Math.max(c.width+l*2,pe,t?.width??0),h=Math.max(d+fe+de+l*2,t?.height??0),g=-m/2,_=-h/2,v=-(fe+de)/2,y=s.select(`.label`);y&&(t.useHtmlLabels??o(u())?y.attr(`transform`,`translate(${-c.width/2}, ${-c.height/2+v})`):y.attr(`transform`,`translate(0, ${-c.height/2+v})`));let x;if(t.look===`handDrawn`){let e=C.svg(s),n=f(t,{fill:r,stroke:i,fillStyle:`solid`}),a=e.path(z(g,_,m,h,me),n);x=s.insert(()=>a,`:first-child`),x.attr(`class`,`basic label-container collapsed-group`).attr(`style`,b(t.cssStyles))}else x=s.insert(`rect`,`:first-child`),x.attr(`class`,`basic label-container collapsed-group`).attr(`style`,a).attr(`rx`,me).attr(`ry`,me).attr(`x`,g).attr(`y`,_).attr(`width`,m).attr(`height`,h).attr(`fill`,r).attr(`stroke`,i);let S=_+l+d+fe;s.append(`line`).attr(`class`,`collapsed-separator`).attr(`x1`,g+8).attr(`y1`,S).attr(`x2`,g+m-8).attr(`y2`,S).attr(`stroke`,i).attr(`stroke-dasharray`,`3, 3`);let w=S+de/2;for(let e=-1;e<=1;e++)s.append(`circle`).attr(`class`,`collapsed-indicator`).attr(`cx`,e*10).attr(`cy`,w).attr(`r`,2.5).attr(`fill`,i);return N(t,x),t.calcIntersect=function(e,t){return K.rect(e,t)},t.intersect=function(e){return K.rect(t,e)},s}e(he,`collapsedGroup`);function q(e,t,n,r){return e.insert(`polygon`,`:first-child`).attr(`points`,r.map(function(e){return e.x+`,`+e.y}).join(` `)).attr(`class`,`label-container`).attr(`transform`,`translate(`+-t/2+`,`+n/2+`)`)}e(q,`insertPolygonShape`);var ge=[`right`,`left`,`up`,`down`],_e=`point`,ve=e(e=>{let t=new Set;for(let n of e)switch(n){case`x`:t.add(`right`),t.add(`left`);break;case`y`:t.add(`up`),t.add(`down`);break;default:t.add(n)}return t},`expandAndDeduplicateDirections`),ye=e(e=>ge.filter(t=>e.has(t)).join(`|`)||_e,`getDirectionKey`),be={"right|left|up|down":e(({height:e,midpoint:t,padding:n,width:r})=>[{x:0,y:0},{x:t,y:0},{x:r/2,y:2*n},{x:r-t,y:0},{x:r,y:0},{x:r,y:-e/3},{x:r+2*n,y:-e/2},{x:r,y:-2*e/3},{x:r,y:-e},{x:r-t,y:-e},{x:r/2,y:-e-2*n},{x:t,y:-e},{x:0,y:-e},{x:0,y:-2*e/3},{x:-2*n,y:-e/2},{x:0,y:-e/3}],`right|left|up|down`),"right|left|up":e(({height:e,midpoint:t,width:n})=>[{x:t,y:0},{x:n-t,y:0},{x:n,y:-e/2},{x:n-t,y:-e},{x:t,y:-e},{x:0,y:-e/2}],`right|left|up`),"right|left|down":e(({height:e,midpoint:t,width:n})=>[{x:0,y:0},{x:t,y:-e},{x:n-t,y:-e},{x:n,y:0}],`right|left|down`),"right|up|down":e(({height:e,midpoint:t,width:n})=>[{x:0,y:0},{x:n,y:-t},{x:n,y:-e+t},{x:0,y:-e}],`right|up|down`),"left|up|down":e(({height:e,midpoint:t,width:n})=>[{x:n,y:0},{x:0,y:-t},{x:0,y:-e+t},{x:n,y:-e}],`left|up|down`),"right|left":e(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:0},{x:t,y:-n},{x:r-t,y:-n},{x:r-t,y:0},{x:r,y:-e/2},{x:r-t,y:-e},{x:r-t,y:-e+n},{x:t,y:-e+n},{x:t,y:-e},{x:0,y:-e/2}],`right|left`),"up|down":e(({height:e,midpoint:t,padding:n,width:r})=>[{x:r/2,y:0},{x:0,y:-n},{x:t,y:-n},{x:t,y:-e+n},{x:0,y:-e+n},{x:r/2,y:-e},{x:r,y:-e+n},{x:r-t,y:-e+n},{x:r-t,y:-n},{x:r,y:-n}],`up|down`),"right|up":e(({height:e,midpoint:t,width:n})=>[{x:0,y:0},{x:n,y:-t},{x:0,y:-e}],`right|up`),"right|down":e(({height:e,width:t})=>[{x:0,y:0},{x:t,y:0},{x:0,y:-e}],`right|down`),"left|up":e(({height:e,midpoint:t,width:n})=>[{x:n,y:0},{x:0,y:-t},{x:n,y:-e}],`left|up`),"left|down":e(({height:e,width:t})=>[{x:t,y:0},{x:0,y:0},{x:t,y:-e}],`left|down`),right:e(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:-n},{x:t,y:-n},{x:r-t,y:-n},{x:r-t,y:0},{x:r,y:-e/2},{x:r-t,y:-e},{x:r-t,y:-e+n},{x:t,y:-e+n},{x:t,y:-e+n}],`right`),left:e(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:0},{x:t,y:-n},{x:r-t,y:-n},{x:r-t,y:-e+n},{x:t,y:-e+n},{x:t,y:-e},{x:0,y:-e/2}],`left`),up:e(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:-n},{x:t,y:-e+n},{x:0,y:-e+n},{x:r/2,y:-e},{x:r,y:-e+n},{x:r-t,y:-e+n},{x:r-t,y:-n}],`up`),down:e(({height:e,midpoint:t,padding:n,width:r})=>[{x:r/2,y:0},{x:0,y:-n},{x:t,y:-n},{x:t,y:-e+n},{x:r-t,y:-e+n},{x:r-t,y:-n},{x:r,y:-n}],`down`),[_e]:()=>[{x:0,y:0}]},xe=e((e,t,n,r)=>{let i=ve(e),a=(n.padding??0)/2,o=t.height+4*a,s=o/2,c=r??t.width+2*s+2*a;return(be[ye(i)]??be[_e])({height:o,midpoint:s,padding:a,width:c})},`getArrowPoints`);async function Se(e,t){let n=t,{shapeSvg:r,bbox:i}=await j(e,n,P(n)),a=n.padding??0,o=i.height+2*a,s=o/2,c=i.width+2*s+a,l=n.width??0,u=n.positioned&&(n.widthInColumns??1)>1&&l>c?l:c,d=xe(n.directions??[],i,n,u),f=q(r,u,o,d);return f.attr(`style`,n.style??null),N(n,f),n.intersect=function(e){return K.polygon(n,d,e)},r}e(Se,`block_arrow`);async function Ce(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r;let{shapeSvg:a,bbox:o,label:s}=await j(e,t,P(t)),c=n?.nodeBorder??n?.lineColor??`currentColor`,l=t.padding??12,u=Math.max(o.width+l*2,t.width??0,90),d=Math.max(o.height+l*2+18,t.height??0),m=-d/2,{cssStyles:h}=t,g=a.insert(`g`,`:first-child`).attr(`class`,`basic label-container`);if(t.look===`handDrawn`){let e=C.svg(a).path(z(-u/2,m,u,d,12),f(t,{}));g.node()?.appendChild(e),h&&g.attr(`style`,h)}else g.append(`rect`).attr(`x`,-u/2).attr(`y`,m).attr(`width`,u).attr(`height`,d).attr(`rx`,12).attr(`ry`,12).attr(`style`,i);g.append(`line`).attr(`x1`,-u/2).attr(`y1`,m+18).attr(`x2`,u/2).attr(`y2`,m+18).attr(`style`,`stroke:${c};stroke-width:1px`);for(let e=0;e<3;e++)g.append(`circle`).attr(`cx`,-u/2+12+e*9).attr(`cy`,m+9).attr(`r`,2.5).attr(`style`,`fill:${c};stroke:none`);g.append(`rect`).attr(`class`,`browser-address-bar`).attr(`x`,-u/2+44).attr(`y`,m+4).attr(`width`,Math.max(u-56,10)).attr(`height`,10).attr(`rx`,3).attr(`ry`,3).attr(`style`,`fill:none;stroke:${c};stroke-width:1px;opacity:0.6`),N(t,g);let _=m+18+(d-18)/2;return s.attr(`transform`,`translate(${-(o.width/2)-(o.x-(o.left??0))}, ${_-o.height/2-(o.y-(o.top??0))})`),t.intersect=function(e){return K.rect(t,e)},a}e(Ce,`browser`);var we=12;async function Te(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?28:i,o=t.look===`neo`?24:i,{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=(t?.width??c.width)+(t.look===`neo`?a*2:a+we),u=(t?.height??c.height)+(t.look===`neo`?o*2:o),d=l,m=-u,h=[{x:0+we,y:m},{x:d,y:m},{x:d,y:0},{x:0,y:0},{x:0,y:m+we},{x:0+we,y:m}],g,{cssStyles:_}=t;if(t.look===`handDrawn`){let e=C.svg(s),n=f(t,{}),r=F(h),i=e.path(r,n);g=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-l/2}, ${u/2})`),_&&g.attr(`style`,_)}else g=q(s,l,u,h);return r&&g.attr(`style`,r),N(t,g),t.intersect=function(e){return K.polygon(t,h,e)},s}e(Te,`card`);function Ee(e,t){let{nodeStyles:n}=p(t);t.label=``;let r=e.insert(`g`).attr(`class`,P(t)).attr(`id`,t.domId??t.id),{cssStyles:i}=t,a=Math.max(28,t.width??0),o=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],s=C.svg(r),c=f(t,{});t.look!==`handDrawn`&&(c.roughness=0,c.fillStyle=`solid`);let l=F(o),u=s.path(l,c),d=r.insert(()=>u,`:first-child`);return i&&t.look!==`handDrawn`&&d.selectAll(`path`).attr(`style`,i),n&&t.look!==`handDrawn`&&d.selectAll(`path`).attr(`style`,n),t.width=28,t.height=28,t.intersect=function(e){return K.polygon(t,o,e)},r}e(Ee,`choice`);async function De(e,t,r){let{labelStyles:i,nodeStyles:a}=p(t);t.labelStyle=i;let{shapeSvg:o,bbox:s,halfPadding:c}=await j(e,t,P(t)),l=r?.padding??c,u=t.look===`neo`?s.width/2+32:s.width/2+l,d,{cssStyles:m}=t;if(t.look===`handDrawn`){let e=C.svg(o),n=f(t,{}),r=e.circle(0,0,u*2,n);d=o.insert(()=>r,`:first-child`),d.attr(`class`,`basic label-container`).attr(`style`,b(m))}else d=o.insert(`circle`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,a).attr(`r`,u).attr(`cx`,0).attr(`cy`,0);return N(t,d),t.calcIntersect=function(e,t){let n=e.width/2;return K.circle(e,n,t)},t.intersect=function(e){return n.info(`Circle intersect`,t,u,e),K.circle(t,u,e)},o}e(De,`circle`);async function Oe(e,t){let n=t,{shapeSvg:r,bbox:i,halfPadding:a}=await j(e,n,[`node`,n.cssClasses,n.class].filter(Boolean).join(` `)),o=r.insert(`rect`,`:first-child`),s=n.padding??0,c=n.positioned?n.width??0:i.width+s,l=n.positioned?n.height??0:i.height+s,u=n.positioned?-c/2:-i.width/2-a,d=n.positioned?-l/2:-i.height/2-a;return o.attr(`class`,`basic cluster composite label-container`).attr(`style`,n.style??null).attr(`rx`,n.rx??null).attr(`ry`,n.ry??null).attr(`x`,u).attr(`y`,d).attr(`width`,c).attr(`height`,l),N(n,o),n.intersect=function(e){return K.rect(n,e)},r}e(Oe,`composite`);async function ke(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r;let{shapeSvg:a,bbox:o,label:s}=await j(e,t,P(t)),c=n?.nodeBorder??n?.lineColor??`currentColor`,l=t.padding??12,u=Math.max(o.width+l*2,t.width??0,90),d=Math.max(o.height+l*2+20,t.height??0),m=-d/2,{cssStyles:h}=t,g=a.insert(`g`,`:first-child`).attr(`class`,`basic label-container`);if(t.look===`handDrawn`){let e=C.svg(a).path(z(-u/2,m,u,d,12),f(t,{}));g.node()?.appendChild(e),h&&g.attr(`style`,h)}else g.append(`rect`).attr(`x`,-u/2).attr(`y`,m).attr(`width`,u).attr(`height`,d).attr(`rx`,12).attr(`ry`,12).attr(`style`,i);g.append(`text`).attr(`x`,-u/2+12).attr(`y`,m+16).attr(`class`,`console-glyph`).attr(`style`,`font-family:monospace;font-weight:bold;font-size:14px;fill:${c}`).text(`>_`),N(t,g);let _=m+20+(d-20)/2;return s.attr(`transform`,`translate(${-(o.width/2)-(o.x-(o.left??0))}, ${_-o.height/2-(o.y-(o.top??0))})`),t.intersect=function(e){return K.rect(t,e)},a}e(ke,`consoleWindow`);function Ae(e){let t=Math.cos(Math.PI/4),n=Math.sin(Math.PI/4),r=e*2,i={x:r/2*t,y:r/2*n},a={x:-(r/2)*t,y:r/2*n},o={x:-(r/2)*t,y:-(r/2)*n},s={x:r/2*t,y:-(r/2)*n};return`M ${a.x},${a.y} L ${s.x},${s.y}
1
+ import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{p as t}from"./src-XiVvaevx.js";import{t as n}from"./chunk-X3CZISLH-BixgQztF.js";import{A as r,B as i,M as a,T as o,b as s,f as c,g as l,x as u,z as d}from"./chunk-DU6HZSFF-C-18UZkS.js";import{a as f,i as p,r as m,t as h}from"./chunk-P2QGCYS3-Bfo8qS8r.js";import{t as g}from"./chunk-PWAF6VOD-B-AT-L2H.js";import{a as _,p as v,r as y,u as b}from"./chunk-75Z2AOVW-BRdhvVTZ.js";import{n as x,r as S}from"./chunk-GMAD6QVW-DnZH7DxV.js";import{t as C}from"./rough.esm-Dy-Kn_BL.js";var w=1,T=3;async function E(t){let n=t.getElementsByTagName(`img`);if(!n||n.length===0)return;let r=!D(t);await Promise.all([...n].map(t=>new Promise(n=>{function i(){if(t.style.display=`flex`,t.style.flexDirection=`column`,r){let e=u().fontSize?u().fontSize:window.getComputedStyle(document.body).fontSize,[n=c.fontSize]=v(e),r=n*5+`px`;t.style.minWidth=r,t.style.maxWidth=r}else t.style.width=`100%`;n(t)}e(i,`setupImage`),setTimeout(()=>{t.complete&&i()}),t.addEventListener(`error`,i),t.addEventListener(`load`,i)})))}e(E,`configureLabelImages`);function D(e){return e.nodeType===T?e.textContent?.trim()!==``:e.nodeType!==w||e.tagName.toLowerCase()===`img`?!1:[...e.childNodes].some(D)}e(D,`hasTextBesidesImages`);var O=3,k=32,A=e(async(e,n,r)=>{let i=u(),a=e.insert(`g`).attr(`class`,r??`node default`).attr(`id`,n.domId||n.id),o=a.insert(`g`).attr(`class`,`label`).attr(`style`,b(n.labelStyle)),s=[{text:typeof n.label==`string`?n.label:n.label?.[0]??``,cssClass:`c4-name`},{text:n.stereotype,cssClass:`c4-type`},...(n.description??[]).map(e=>({text:e,cssClass:`c4-descr`}))].filter(e=>e.text),c=n.width?Math.max(n.width-2*(n.padding??0),k):u().flowchart?.wrappingWidth??200,l=i.c4?.wrap??!0?c:1/0,f=await Promise.all(s.map(async e=>{let r=o.append(`g`).attr(`class`,e.cssClass),a=await x(r,d(_(e.text??``),i),{useHtmlLabels:!1,markdown:!1,isNode:!0,width:l,style:n.labelStyle},i);return t(a).selectAll(`tspan.text-outer-tspan`).attr(`text-anchor`,`middle`),t(a).selectAll(`tspan.text-inner-tspan`).attr(`font-weight`,null).attr(`font-style`,null),{el:r,box:r.node().getBBox()}})),p=Math.max(...f.map(({box:e})=>e.width),0),m=0;for(let{el:e,box:t}of f)e.attr(`transform`,`translate(${p/2-t.x-t.width/2}, ${m-t.y})`),m+=t.height+O;let h=f.length>0?m-O:0;return o.insert(`rect`,`:first-child`),o.attr(`transform`,`translate(${-p/2}, ${-h/2})`),{shapeSvg:a,bbox:o.node().getBBox(),halfPadding:(n.padding??0)/2,label:o}},`c4LabelHelper`),j=e(async(e,n,r)=>{if(n.stereotype!==void 0)return A(e,n,r);let i,a=n.useHtmlLabels||l(u()?.htmlLabels);i=r||`node default`;let o=e.insert(`g`).attr(`class`,i).attr(`id`,n.domId||n.id),s=o.insert(`g`).attr(`class`,`label`).attr(`style`,b(n.labelStyle)),c;c=n.label===void 0?``:typeof n.label==`string`?n.label:n.label[0];let f=!!n.icon||!!n.img,p=n.labelType===`markdown`,m=await x(s,d(_(c),u()),{useHtmlLabels:a,width:n.width||n.wrappingWidth||u().flowchart?.wrappingWidth,classes:p?`markdown-node-label`:``,style:n.labelStyle,addSvgBackground:f,markdown:p},u()),h=(n?.padding??0)/2,g;if(a){let e=m.children[0],n=t(m);await E(e),g=await S.measure(()=>e.getBoundingClientRect()),n.attr(`width`,g.width),n.attr(`height`,g.height)}else g=await S.measure(()=>m.getBBox());return a?s.attr(`transform`,`translate(`+-g.width/2+`, `+-g.height/2+`)`):s.attr(`transform`,`translate(0, `+-g.height/2+`)`),n.centerLabel&&s.attr(`transform`,`translate(`+-g.width/2+`, `+-g.height/2+`)`),s.insert(`rect`,`:first-child`),{shapeSvg:o,bbox:g,halfPadding:h,label:s}},`labelHelper`),M=e(async(e,n,r)=>{let i=r.useHtmlLabels??o(u()),a=e.insert(`g`).attr(`class`,`label`).attr(`style`,r.labelStyle||``),s=await x(a,d(_(n),u()),{useHtmlLabels:i,width:r.width||u()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img}),c=r.padding/2,l;if(o(u())){let e=s.children[0],n=t(s);l=await S.measure(()=>e.getBoundingClientRect()),n.attr(`width`,l.width),n.attr(`height`,l.height)}else l=await S.measure(()=>s.getBBox());return i?a.attr(`transform`,`translate(`+-l.width/2+`, `+-l.height/2+`)`):a.attr(`transform`,`translate(0, `+-l.height/2+`)`),r.centerLabel&&a.attr(`transform`,`translate(`+-l.width/2+`, `+-l.height/2+`)`),a.insert(`rect`,`:first-child`),{shapeSvg:e,bbox:l,halfPadding:c,label:a}},`insertLabel`),N=e((e,t,n)=>{if(n){e.width=n.width,e.height=n.height;return}let r=t.node().getBBox();e.width=r.width,e.height=r.height},`updateNodeBounds`),P=e((e,t)=>(e.look===`handDrawn`?`rough-node`:`node`)+` `+e.cssClasses+` `+(t||``),`getNodeClasses`);function F(e){let t=e.map((e,t)=>`${t===0?`M`:`L`}${e.x},${e.y}`);return t.push(`Z`),t.join(` `)}e(F,`createPathFromPoints`);function I(e,t,n,r,i,a){let o=[],s=n-e,c=r-t,l=s/a,u=2*Math.PI/l,d=t+c/2;for(let t=0;t<=50;t++){let n=e+t/50*s,r=d+i*Math.sin(u*(n-e));o.push({x:n,y:r})}return o}e(I,`generateFullSineWavePoints`);function L(e,t,n,r,i,a){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}e(L,`generateCirclePoints`);function ee(t){let n=Array.from(t.childNodes).filter(e=>e.tagName===`path`),r=document.createElementNS(`http://www.w3.org/2000/svg`,`path`),i=n.map(e=>e.getAttribute(`d`)).filter(e=>e!==null).join(` `);r.setAttribute(`d`,i);let a=n.find(e=>e.getAttribute(`fill`)!==`none`),o=n.find(e=>e.getAttribute(`stroke`)!==`none`),s=e((e,t)=>e?.getAttribute(t)??void 0,`getAttr`);if(a){let e={fill:s(a,`fill`),"fill-opacity":s(a,`fill-opacity`)??`1`};Object.entries(e).forEach(([e,t])=>{t&&r.setAttribute(e,t)})}if(o){let e={stroke:s(o,`stroke`),"stroke-width":s(o,`stroke-width`)??`1`,"stroke-opacity":s(o,`stroke-opacity`)??`1`};Object.entries(e).forEach(([e,t])=>{t&&r.setAttribute(e,t)})}let c=document.createElementNS(`http://www.w3.org/2000/svg`,`g`);return c.appendChild(r),c}e(ee,`mergePaths`);var R=e((e,t)=>{var n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2,c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=a===0?0:s*i/a,l=s):(i<0&&(o=-o),c=o,l=i===0?0:o*a/i),{x:n+c,y:r+l}},`intersectRect`),z=e((e,t,n,r,i)=>[`M`,e+i,t,`H`,e+n-i,`A`,i,i,0,0,1,e+n,t+i,`V`,t+r-i,`A`,i,i,0,0,1,e+n-i,t+r,`H`,e+i,`A`,i,i,0,0,1,e,t+r-i,`V`,t+i,`A`,i,i,0,0,1,e+i,t,`Z`].join(` `),`createRoundedRectPathD`),te=e(async(e,t,n,r=!1,i=!1)=>{let a=t||``;typeof a==`object`&&(a=a[0]);let s=u(),c=o(s);return await x(e,a,{style:n,isTitle:r,useHtmlLabels:c,markdown:!1,isNode:i,width:1/0},s)},`createLabel`);function B(e,t){return e.intersect(t)}e(B,`intersectNode`);var ne=B;function V(e,t,n,r){var i=e.x,a=e.y,o=i-r.x,s=a-r.y,c=Math.sqrt(t*t*s*s+n*n*o*o),l=Math.abs(t*n*o/c);r.x<i&&(l=-l);var u=Math.abs(t*n*s/c);return r.y<a&&(u=-u),{x:i+l,y:a+u}}e(V,`intersectEllipse`);var H=V;function re(e,t,n){return H(e,t,t,n)}e(re,`intersectCircle`);var ie=re;function U(e,t,n,r){{let i=t.y-e.y,a=e.x-t.x,o=t.x*e.y-e.x*t.y,s=i*n.x+a*n.y+o,c=i*r.x+a*r.y+o,l=1e-6;if(s!==0&&c!==0&&W(s,c))return;let u=r.y-n.y,d=n.x-r.x,f=r.x*n.y-n.x*r.y,p=u*e.x+d*e.y+f,m=u*t.x+d*t.y+f;if(Math.abs(p)<l&&Math.abs(m)<l&&W(p,m))return;let h=i*d-u*a;if(h===0)return;let g=Math.abs(h/2),_=a*f-d*o,v=_<0?(_-g)/h:(_+g)/h;return _=u*o-i*f,{x:v,y:_<0?(_-g)/h:(_+g)/h}}}e(U,`intersectLine`);function W(e,t){return e*t>0}e(W,`sameSign`);var G=U;function ae(e,t,n){let r=e.x,i=e.y,a=[],o=1/0,s=1/0;typeof t.forEach==`function`?t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)}):(o=Math.min(o,t.x),s=Math.min(s,t.y));let c=r-e.width/2-o,l=i-e.height/2-s;for(let r=0;r<t.length;r++){let i=t[r],o=t[r<t.length-1?r+1:0],s=G(e,n,{x:c+i.x,y:l+i.y},{x:c+o.x,y:l+o.y});s&&a.push(s)}return a.length?(a.length>1&&a.sort(function(e,t){let r=e.x-n.x,i=e.y-n.y,a=Math.sqrt(r*r+i*i),o=t.x-n.x,s=t.y-n.y,c=Math.sqrt(o*o+s*s);return a<c?-1:a===c?0:1}),a[0]):e}e(ae,`intersectPolygon`);var K={node:ne,circle:ie,ellipse:H,polygon:ae,rect:R};function oe(e,t){let{labelStyles:r}=p(t);t.labelStyle=r;let i=P(t),a=i;i||(a=`anchor`);let o=e.insert(`g`).attr(`class`,a).attr(`id`,t.domId||t.id),{cssStyles:s}=t,c=C.svg(o),l=f(t,{fill:`black`,stroke:`none`,fillStyle:`solid`});t.look!==`handDrawn`&&(l.roughness=0);let u=c.circle(0,0,2,l),d=o.insert(()=>u,`:first-child`);return d.attr(`class`,`anchor`).attr(`style`,b(s)),N(t,d),t.intersect=function(e){return n.info(`Circle intersect`,t,1,e),K.circle(t,1,e)},o}e(oe,`anchor`);function se(e,t,n,r,i,a,o){let s=(e+n)/2,c=(t+r)/2,l=Math.atan2(r-t,n-e),u=(n-e)/2,d=(r-t)/2,f=u/i,p=d/a,m=Math.sqrt(f**2+p**2);if(m>1)throw Error(`The given radii are too small to create an arc between the points.`);let h=Math.sqrt(1-m**2),g=s+h*a*Math.sin(l)*(o?-1:1),_=c-h*i*Math.cos(l)*(o?-1:1),v=Math.atan2((t-_)/a,(e-g)/i),y=Math.atan2((r-_)/a,(n-g)/i)-v;o&&y<0&&(y+=2*Math.PI),!o&&y>0&&(y-=2*Math.PI);let b=[];for(let e=0;e<20;e++){let t=v+e/19*y,n=g+i*Math.cos(t),r=_+a*Math.sin(t);b.push({x:n,y:r})}return b}e(se,`generateArcPoints`);function ce(e,t,n){let[r,i]=[t,n].sort((e,t)=>t-e);return i*(1-Math.sqrt(1-(e/r/2)**2))}e(ce,`calculateArcSagitta`);async function le(t,n){let{labelStyles:r,nodeStyles:i}=p(n);n.labelStyle=r;let a=n.padding??0,o=n.look===`neo`?16:a,s=n.look===`neo`?12:a,c=e(e=>e+s,`calcTotalHeight`),l=e(e=>{let t=e/2;return[t/(2.5+e/50),t]},`calcEllipseRadius`),{shapeSvg:u,bbox:d}=await j(t,n,P(n)),m=c(n?.height?n?.height:d.height),[h,g]=l(m),_=ce(m,h,g),v=(n?.width?n?.width:d.width)+o*2+_-_,y=m,{cssStyles:b}=n,x=[{x:v/2,y:-y/2},{x:-v/2,y:-y/2},...se(-v/2,-y/2,-v/2,y/2,h,g,!1),{x:v/2,y:y/2},...se(v/2,y/2,v/2,-y/2,h,g,!0)],S=C.svg(u),w=f(n,{});n.look!==`handDrawn`&&(w.roughness=0,w.fillStyle=`solid`);let T=F(x),E=S.path(T,w),D=u.insert(()=>E,`:first-child`);return D.attr(`class`,`basic label-container outer-path`),b&&n.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,b),i&&n.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,i),D.attr(`transform`,`translate(${h/2}, 0)`),N(n,D),n.intersect=function(e){return K.polygon(n,x,e)},u}e(le,`bowTieRect`);async function ue(t,n,{config:{themeVariables:r}}){let{labelStyles:i,nodeStyles:a}=p(n);n.labelStyle=i;let{shapeSvg:o,bbox:s,label:c}=await j(t,n,P(n)),l=r?.nodeBorder??r?.lineColor??`currentColor`,u=n.padding??12,d=Math.max(s.width+u*2,n.width??0,80),m=Math.max(Math.min(d*.08,12),5),h=Math.max(s.height+u*2+m,n.height??0),g=-h/2+m,_=h/2,v=d*.72,y=[`M${-d/2},${g}`,`L${-v/2},${_}`,`A${v/2},${m} 0 0 0 ${v/2},${_}`,`L${d/2},${g}`,`A${d/2},${m} 0 0 0 ${-d/2},${g}`,`Z`].join(` `),{cssStyles:b}=n,x=o.insert(`g`,`:first-child`).attr(`class`,`basic label-container`);if(n.look===`handDrawn`){let e=C.svg(o).path(y,f(n,{}));x.node()?.appendChild(e),b&&x.attr(`style`,b)}else x.append(`path`).attr(`d`,y).attr(`style`,a);x.append(`ellipse`).attr(`cx`,0).attr(`cy`,g).attr(`rx`,d/2).attr(`ry`,m).attr(`style`,`fill:none;stroke:${l};stroke-width:1px`),N(n,x);let S=g+(_-g)/2;c.attr(`transform`,`translate(${-(s.width/2)-(s.x-(s.left??0))}, ${S-s.height/2-(s.y-(s.top??0))})`);let w=e((e,t,n)=>Array.from({length:13},(r,i)=>{let a=Math.PI-i*Math.PI/12;return{x:e*Math.cos(a),y:t+n*m*Math.sin(a)}}),`arc`),T=[...w(d/2,g,-1),...w(v/2,_,1).reverse()];return n.intersect=function(e){return K.polygon(n,T,e)},o}e(ue,`bucket`);var de=20,fe=8,pe=80,me=8;async function he(e,t){let{themeVariables:n}=u(),r=n.clusterBkg,i=n.clusterBorder,{nodeStyles:a}=p(t),{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=t.padding??8,d=c.height,m=Math.max(c.width+l*2,pe,t?.width??0),h=Math.max(d+fe+de+l*2,t?.height??0),g=-m/2,_=-h/2,v=-(fe+de)/2,y=s.select(`.label`);y&&(t.useHtmlLabels??o(u())?y.attr(`transform`,`translate(${-c.width/2}, ${-c.height/2+v})`):y.attr(`transform`,`translate(0, ${-c.height/2+v})`));let x;if(t.look===`handDrawn`){let e=C.svg(s),n=f(t,{fill:r,stroke:i,fillStyle:`solid`}),a=e.path(z(g,_,m,h,me),n);x=s.insert(()=>a,`:first-child`),x.attr(`class`,`basic label-container collapsed-group`).attr(`style`,b(t.cssStyles))}else x=s.insert(`rect`,`:first-child`),x.attr(`class`,`basic label-container collapsed-group`).attr(`style`,a).attr(`rx`,me).attr(`ry`,me).attr(`x`,g).attr(`y`,_).attr(`width`,m).attr(`height`,h).attr(`fill`,r).attr(`stroke`,i);let S=_+l+d+fe;s.append(`line`).attr(`class`,`collapsed-separator`).attr(`x1`,g+8).attr(`y1`,S).attr(`x2`,g+m-8).attr(`y2`,S).attr(`stroke`,i).attr(`stroke-dasharray`,`3, 3`);let w=S+de/2;for(let e=-1;e<=1;e++)s.append(`circle`).attr(`class`,`collapsed-indicator`).attr(`cx`,e*10).attr(`cy`,w).attr(`r`,2.5).attr(`fill`,i);return N(t,x),t.calcIntersect=function(e,t){return K.rect(e,t)},t.intersect=function(e){return K.rect(t,e)},s}e(he,`collapsedGroup`);function q(e,t,n,r){return e.insert(`polygon`,`:first-child`).attr(`points`,r.map(function(e){return e.x+`,`+e.y}).join(` `)).attr(`class`,`label-container`).attr(`transform`,`translate(`+-t/2+`,`+n/2+`)`)}e(q,`insertPolygonShape`);var ge=[`right`,`left`,`up`,`down`],_e=`point`,ve=e(e=>{let t=new Set;for(let n of e)switch(n){case`x`:t.add(`right`),t.add(`left`);break;case`y`:t.add(`up`),t.add(`down`);break;default:t.add(n)}return t},`expandAndDeduplicateDirections`),ye=e(e=>ge.filter(t=>e.has(t)).join(`|`)||_e,`getDirectionKey`),be={"right|left|up|down":e(({height:e,midpoint:t,padding:n,width:r})=>[{x:0,y:0},{x:t,y:0},{x:r/2,y:2*n},{x:r-t,y:0},{x:r,y:0},{x:r,y:-e/3},{x:r+2*n,y:-e/2},{x:r,y:-2*e/3},{x:r,y:-e},{x:r-t,y:-e},{x:r/2,y:-e-2*n},{x:t,y:-e},{x:0,y:-e},{x:0,y:-2*e/3},{x:-2*n,y:-e/2},{x:0,y:-e/3}],`right|left|up|down`),"right|left|up":e(({height:e,midpoint:t,width:n})=>[{x:t,y:0},{x:n-t,y:0},{x:n,y:-e/2},{x:n-t,y:-e},{x:t,y:-e},{x:0,y:-e/2}],`right|left|up`),"right|left|down":e(({height:e,midpoint:t,width:n})=>[{x:0,y:0},{x:t,y:-e},{x:n-t,y:-e},{x:n,y:0}],`right|left|down`),"right|up|down":e(({height:e,midpoint:t,width:n})=>[{x:0,y:0},{x:n,y:-t},{x:n,y:-e+t},{x:0,y:-e}],`right|up|down`),"left|up|down":e(({height:e,midpoint:t,width:n})=>[{x:n,y:0},{x:0,y:-t},{x:0,y:-e+t},{x:n,y:-e}],`left|up|down`),"right|left":e(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:0},{x:t,y:-n},{x:r-t,y:-n},{x:r-t,y:0},{x:r,y:-e/2},{x:r-t,y:-e},{x:r-t,y:-e+n},{x:t,y:-e+n},{x:t,y:-e},{x:0,y:-e/2}],`right|left`),"up|down":e(({height:e,midpoint:t,padding:n,width:r})=>[{x:r/2,y:0},{x:0,y:-n},{x:t,y:-n},{x:t,y:-e+n},{x:0,y:-e+n},{x:r/2,y:-e},{x:r,y:-e+n},{x:r-t,y:-e+n},{x:r-t,y:-n},{x:r,y:-n}],`up|down`),"right|up":e(({height:e,midpoint:t,width:n})=>[{x:0,y:0},{x:n,y:-t},{x:0,y:-e}],`right|up`),"right|down":e(({height:e,width:t})=>[{x:0,y:0},{x:t,y:0},{x:0,y:-e}],`right|down`),"left|up":e(({height:e,midpoint:t,width:n})=>[{x:n,y:0},{x:0,y:-t},{x:n,y:-e}],`left|up`),"left|down":e(({height:e,width:t})=>[{x:t,y:0},{x:0,y:0},{x:t,y:-e}],`left|down`),right:e(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:-n},{x:t,y:-n},{x:r-t,y:-n},{x:r-t,y:0},{x:r,y:-e/2},{x:r-t,y:-e},{x:r-t,y:-e+n},{x:t,y:-e+n},{x:t,y:-e+n}],`right`),left:e(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:0},{x:t,y:-n},{x:r-t,y:-n},{x:r-t,y:-e+n},{x:t,y:-e+n},{x:t,y:-e},{x:0,y:-e/2}],`left`),up:e(({height:e,midpoint:t,padding:n,width:r})=>[{x:t,y:-n},{x:t,y:-e+n},{x:0,y:-e+n},{x:r/2,y:-e},{x:r,y:-e+n},{x:r-t,y:-e+n},{x:r-t,y:-n}],`up`),down:e(({height:e,midpoint:t,padding:n,width:r})=>[{x:r/2,y:0},{x:0,y:-n},{x:t,y:-n},{x:t,y:-e+n},{x:r-t,y:-e+n},{x:r-t,y:-n},{x:r,y:-n}],`down`),[_e]:()=>[{x:0,y:0}]},xe=e((e,t,n,r)=>{let i=ve(e),a=(n.padding??0)/2,o=t.height+4*a,s=o/2,c=r??t.width+2*s+2*a;return(be[ye(i)]??be[_e])({height:o,midpoint:s,padding:a,width:c})},`getArrowPoints`);async function Se(e,t){let n=t,{shapeSvg:r,bbox:i}=await j(e,n,P(n)),a=n.padding??0,o=i.height+2*a,s=o/2,c=i.width+2*s+a,l=n.width??0,u=n.positioned&&(n.widthInColumns??1)>1&&l>c?l:c,d=xe(n.directions??[],i,n,u),f=q(r,u,o,d);return f.attr(`style`,n.style??null),N(n,f),n.intersect=function(e){return K.polygon(n,d,e)},r}e(Se,`block_arrow`);async function Ce(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r;let{shapeSvg:a,bbox:o,label:s}=await j(e,t,P(t)),c=n?.nodeBorder??n?.lineColor??`currentColor`,l=t.padding??12,u=Math.max(o.width+l*2,t.width??0,90),d=Math.max(o.height+l*2+18,t.height??0),m=-d/2,{cssStyles:h}=t,g=a.insert(`g`,`:first-child`).attr(`class`,`basic label-container`);if(t.look===`handDrawn`){let e=C.svg(a).path(z(-u/2,m,u,d,12),f(t,{}));g.node()?.appendChild(e),h&&g.attr(`style`,h)}else g.append(`rect`).attr(`x`,-u/2).attr(`y`,m).attr(`width`,u).attr(`height`,d).attr(`rx`,12).attr(`ry`,12).attr(`style`,i);g.append(`line`).attr(`x1`,-u/2).attr(`y1`,m+18).attr(`x2`,u/2).attr(`y2`,m+18).attr(`style`,`stroke:${c};stroke-width:1px`);for(let e=0;e<3;e++)g.append(`circle`).attr(`cx`,-u/2+12+e*9).attr(`cy`,m+9).attr(`r`,2.5).attr(`style`,`fill:${c};stroke:none`);g.append(`rect`).attr(`class`,`browser-address-bar`).attr(`x`,-u/2+44).attr(`y`,m+4).attr(`width`,Math.max(u-56,10)).attr(`height`,10).attr(`rx`,3).attr(`ry`,3).attr(`style`,`fill:none;stroke:${c};stroke-width:1px;opacity:0.6`),N(t,g);let _=m+18+(d-18)/2;return s.attr(`transform`,`translate(${-(o.width/2)-(o.x-(o.left??0))}, ${_-o.height/2-(o.y-(o.top??0))})`),t.intersect=function(e){return K.rect(t,e)},a}e(Ce,`browser`);var we=12;async function Te(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?28:i,o=t.look===`neo`?24:i,{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=(t?.width??c.width)+(t.look===`neo`?a*2:a+we),u=(t?.height??c.height)+(t.look===`neo`?o*2:o),d=l,m=-u,h=[{x:0+we,y:m},{x:d,y:m},{x:d,y:0},{x:0,y:0},{x:0,y:m+we},{x:0+we,y:m}],g,{cssStyles:_}=t;if(t.look===`handDrawn`){let e=C.svg(s),n=f(t,{}),r=F(h),i=e.path(r,n);g=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-l/2}, ${u/2})`),_&&g.attr(`style`,_)}else g=q(s,l,u,h);return r&&g.attr(`style`,r),N(t,g),t.intersect=function(e){return K.polygon(t,h,e)},s}e(Te,`card`);function Ee(e,t){let{nodeStyles:n}=p(t);t.label=``;let r=e.insert(`g`).attr(`class`,P(t)).attr(`id`,t.domId??t.id),{cssStyles:i}=t,a=Math.max(28,t.width??0),o=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],s=C.svg(r),c=f(t,{});t.look!==`handDrawn`&&(c.roughness=0,c.fillStyle=`solid`);let l=F(o),u=s.path(l,c),d=r.insert(()=>u,`:first-child`);return i&&t.look!==`handDrawn`&&d.selectAll(`path`).attr(`style`,i),n&&t.look!==`handDrawn`&&d.selectAll(`path`).attr(`style`,n),t.width=28,t.height=28,t.intersect=function(e){return K.polygon(t,o,e)},r}e(Ee,`choice`);async function De(e,t,r){let{labelStyles:i,nodeStyles:a}=p(t);t.labelStyle=i;let{shapeSvg:o,bbox:s,halfPadding:c}=await j(e,t,P(t)),l=r?.padding??c,u=t.look===`neo`?s.width/2+32:s.width/2+l,d,{cssStyles:m}=t;if(t.look===`handDrawn`){let e=C.svg(o),n=f(t,{}),r=e.circle(0,0,u*2,n);d=o.insert(()=>r,`:first-child`),d.attr(`class`,`basic label-container`).attr(`style`,b(m))}else d=o.insert(`circle`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,a).attr(`r`,u).attr(`cx`,0).attr(`cy`,0);return N(t,d),t.calcIntersect=function(e,t){let n=e.width/2;return K.circle(e,n,t)},t.intersect=function(e){return n.info(`Circle intersect`,t,u,e),K.circle(t,u,e)},o}e(De,`circle`);async function Oe(e,t){let n=t,{shapeSvg:r,bbox:i,halfPadding:a}=await j(e,n,[`node`,n.cssClasses,n.class].filter(Boolean).join(` `)),o=r.insert(`rect`,`:first-child`),s=n.padding??0,c=n.positioned?n.width??0:i.width+s,l=n.positioned?n.height??0:i.height+s,u=n.positioned?-c/2:-i.width/2-a,d=n.positioned?-l/2:-i.height/2-a;return o.attr(`class`,`basic cluster composite label-container`).attr(`style`,n.style??null).attr(`rx`,n.rx??null).attr(`ry`,n.ry??null).attr(`x`,u).attr(`y`,d).attr(`width`,c).attr(`height`,l),N(n,o),n.intersect=function(e){return K.rect(n,e)},r}e(Oe,`composite`);async function ke(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r;let{shapeSvg:a,bbox:o,label:s}=await j(e,t,P(t)),c=n?.nodeBorder??n?.lineColor??`currentColor`,l=t.padding??12,u=Math.max(o.width+l*2,t.width??0,90),d=Math.max(o.height+l*2+20,t.height??0),m=-d/2,{cssStyles:h}=t,g=a.insert(`g`,`:first-child`).attr(`class`,`basic label-container`);if(t.look===`handDrawn`){let e=C.svg(a).path(z(-u/2,m,u,d,12),f(t,{}));g.node()?.appendChild(e),h&&g.attr(`style`,h)}else g.append(`rect`).attr(`x`,-u/2).attr(`y`,m).attr(`width`,u).attr(`height`,d).attr(`rx`,12).attr(`ry`,12).attr(`style`,i);g.append(`text`).attr(`x`,-u/2+12).attr(`y`,m+16).attr(`class`,`console-glyph`).attr(`style`,`font-family:monospace;font-weight:bold;font-size:14px;fill:${c}`).text(`>_`),N(t,g);let _=m+20+(d-20)/2;return s.attr(`transform`,`translate(${-(o.width/2)-(o.x-(o.left??0))}, ${_-o.height/2-(o.y-(o.top??0))})`),t.intersect=function(e){return K.rect(t,e)},a}e(ke,`consoleWindow`);function Ae(e){let t=Math.cos(Math.PI/4),n=Math.sin(Math.PI/4),r=e*2,i={x:r/2*t,y:r/2*n},a={x:-(r/2)*t,y:r/2*n},o={x:-(r/2)*t,y:-(r/2)*n},s={x:r/2*t,y:-(r/2)*n};return`M ${a.x},${a.y} L ${s.x},${s.y}
2
2
  M ${i.x},${i.y} L ${o.x},${o.y}`}e(Ae,`createLine`);function je(e,t){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r,t.label=``;let a=e.insert(`g`).attr(`class`,P(t)).attr(`id`,t.domId??t.id),o=Math.max(30,t?.width??0),{cssStyles:s}=t,c=C.svg(a),l=f(t,{});t.look!==`handDrawn`&&(l.roughness=0,l.fillStyle=`solid`);let u=c.circle(0,0,o*2,l),d=Ae(o),m=c.path(d,l),h=a.insert(()=>u,`:first-child`);return h.insert(()=>m),h.attr(`class`,`outer-path`),s&&t.look!==`handDrawn`&&h.selectAll(`path`).attr(`style`,s),i&&t.look!==`handDrawn`&&h.selectAll(`path`).attr(`style`,i),N(t,h),t.intersect=function(e){return n.info(`crossedCircle intersect`,t,{radius:o,point:e}),K.circle(t,o,e)},a}e(je,`crossedCircle`);function J(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}e(J,`generateCirclePoints`);async function Me(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await j(e,t,P(t)),s=t.look===`neo`?18:t.padding??0,c=t.look===`neo`?12:t.padding??0,l=a.width+s,u=a.height+c,d=Math.max(5,u*.1),{cssStyles:m}=t,h=[...J(l/2,-u/2,d,30,-90,0),{x:-l/2-d,y:d},...J(l/2+d*2,-d,d,20,-180,-270),...J(l/2+d*2,d,d,20,-90,-180),{x:-l/2-d,y:-u/2},...J(l/2,u/2,d,20,0,90)],g=[{x:l/2,y:-u/2-d},{x:-l/2,y:-u/2-d},...J(l/2,-u/2,d,20,-90,0),{x:-l/2-d,y:-d},...J(l/2+l*.1,-d,d,20,-180,-270),...J(l/2+l*.1,d,d,20,-90,-180),{x:-l/2-d,y:u/2},...J(l/2,u/2,d,20,0,90),{x:-l/2,y:u/2+d},{x:l/2,y:u/2+d}],_=C.svg(i),v=f(t,{fill:`none`});t.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=F(h).replace(`Z`,``),b=_.path(y,v),x=F(g),S=_.path(x,{...v}),w=i.insert(`g`,`:first-child`);return w.insert(()=>S,`:first-child`).attr(`stroke-opacity`,0),w.insert(()=>b,`:first-child`),w.attr(`class`,`text`),m&&t.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,m),r&&t.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,r),w.attr(`transform`,`translate(${d}, 0)`),o.attr(`transform`,`translate(${-l/2+d-(a.x-(a.left??0))},${-u/2+(t.padding??0)/2-(a.y-(a.top??0))})`),N(t,w),t.intersect=function(e){return K.polygon(t,g,e)},i}e(Me,`curlyBraceLeft`);function Y(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:a,y:l})}return o}e(Y,`generateCirclePoints`);async function Ne(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await j(e,t,P(t)),s=t.look===`neo`?18:t.padding??0,c=t.look===`neo`?12:t.padding??0,l=a.width+(t.look===`neo`?s*2:s),u=a.height+(t.look===`neo`?c*2:c),d=Math.max(5,u*.1),{cssStyles:m}=t,h=[...Y(l/2,-u/2,d,20,-90,0),{x:l/2+d,y:-d},...Y(l/2+d*2,-d,d,20,-180,-270),...Y(l/2+d*2,d,d,20,-90,-180),{x:l/2+d,y:u/2},...Y(l/2,u/2,d,20,0,90)],g=[{x:-l/2,y:-u/2-d},{x:l/2,y:-u/2-d},...Y(l/2,-u/2,d,20,-90,0),{x:l/2+d,y:-d},...Y(l/2+d*2,-d,d,20,-180,-270),...Y(l/2+d*2,d,d,20,-90,-180),{x:l/2+d,y:u/2},...Y(l/2,u/2,d,20,0,90),{x:l/2,y:u/2+d},{x:-l/2,y:u/2+d}],_=C.svg(i),v=f(t,{fill:`none`});t.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=F(h).replace(`Z`,``),b=_.path(y,v),x=F(g),S=_.path(x,{...v}),w=i.insert(`g`,`:first-child`);return w.insert(()=>S,`:first-child`).attr(`stroke-opacity`,0),w.insert(()=>b,`:first-child`),w.attr(`class`,`text`),m&&t.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,m),r&&t.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,r),w.attr(`transform`,`translate(${-d}, 0)`),o.attr(`transform`,`translate(${-l/2+(t.padding??0)/2-(a.x-(a.left??0))},${-u/2+(t.padding??0)/2-(a.y-(a.top??0))})`),N(t,w),t.intersect=function(e){return K.polygon(t,g,e)},i}e(Ne,`curlyBraceRight`);function X(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}e(X,`generateCirclePoints`);async function Pe(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await j(e,t,P(t)),s=t.look===`neo`?18:t.padding??0,c=t.look===`neo`?12:t.padding??0,l=a.width+(t.look===`neo`?s*2:s),u=a.height+(t.look===`neo`?c*2:c),d=Math.max(5,u*.1),{cssStyles:m}=t,h=[...X(l/2,-u/2,d,30,-90,0),{x:-l/2-d,y:d},...X(l/2+d*2,-d,d,20,-180,-270),...X(l/2+d*2,d,d,20,-90,-180),{x:-l/2-d,y:-u/2},...X(l/2,u/2,d,20,0,90)],g=[...X(-l/2+d+d/2,-u/2,d,20,-90,-180),{x:l/2-d/2,y:d},...X(-l/2-d/2,-d,d,20,0,90),...X(-l/2-d/2,d,d,20,-90,0),{x:l/2-d/2,y:-d},...X(-l/2+d+d/2,u/2,d,30,-180,-270)],_=[{x:l/2,y:-u/2-d},{x:-l/2,y:-u/2-d},...X(l/2,-u/2,d,20,-90,0),{x:-l/2-d,y:-d},...X(l/2+d*2,-d,d,20,-180,-270),...X(l/2+d*2,d,d,20,-90,-180),{x:-l/2-d,y:u/2},...X(l/2,u/2,d,20,0,90),{x:-l/2,y:u/2+d},{x:l/2-d-d/2,y:u/2+d},...X(-l/2+d+d/2,-u/2,d,20,-90,-180),{x:l/2-d/2,y:d},...X(-l/2-d/2,-d,d,20,0,90),...X(-l/2-d/2,d,d,20,-90,0),{x:l/2-d/2,y:-d},...X(-l/2+d+d/2,u/2,d,30,-180,-270)],v=C.svg(i),y=f(t,{fill:`none`});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=F(h).replace(`Z`,``),x=v.path(b,y),S=F(g).replace(`Z`,``),w=v.path(S,y),T=F(_),E=v.path(T,{...y}),D=i.insert(`g`,`:first-child`);return D.insert(()=>E,`:first-child`).attr(`stroke-opacity`,0),D.insert(()=>x,`:first-child`),D.insert(()=>w,`:first-child`),D.attr(`class`,`text`),m&&t.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,m),r&&t.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,r),D.attr(`transform`,`translate(${d-d/4}, 0)`),o.attr(`transform`,`translate(${-l/2+(t.padding??0)/2-(a.x-(a.left??0))},${-u/2+(t.padding??0)/2-(a.y-(a.top??0))})`),N(t,D),t.intersect=function(e){return K.polygon(t,_,e)},i}e(Pe,`curlyBraces`);async function Fe(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i,{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=Math.max(20,(c.width+a*2)*1.25,t?.width??0),u=Math.max(5,c.height+o*2,t?.height??0),d=u/2,{cssStyles:m}=t,h=C.svg(s),g=f(t,{});t.look!==`handDrawn`&&(g.roughness=0,g.fillStyle=`solid`);let _=l,v=u,y=_-d,b=v/4,x=[{x:y,y:0},{x:b,y:0},{x:0,y:v/2},{x:b,y:v},{x:y,y:v},...L(-y,-v/2,d,50,270,90)],S=F(x),w=h.path(S,g),T=s.insert(()=>w,`:first-child`);return T.attr(`class`,`basic label-container outer-path`),m&&t.look!==`handDrawn`&&T.selectChildren(`path`).attr(`style`,m),r&&t.look!==`handDrawn`&&T.selectChildren(`path`).attr(`style`,r),T.attr(`transform`,`translate(${-l/2}, ${-u/2})`),N(t,T),t.intersect=function(e){return K.polygon(t,x,e)},s}e(Fe,`curvedTrapezoid`);async function Ie(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await j(e,t,P(t)),s=t.padding??20,c=Math.max(a.width+s*2,t.width??0,100),l=Math.min(Math.max(c*.23,16),56),u=l*.27,d=Math.max(a.height+s*2,t.height?t.height-(2*l-u):0),m=Math.min(c*.177,d*.45),h=d+2*l-u,g=-h/2,_=g+2*l-u,v=i.insert(`g`,`:first-child`).attr(`class`,`basic label-container`),{cssStyles:y}=t;if(t.look===`handDrawn`){let e=C.svg(i),n=f(t,{}),r=e.path(z(-c/2,_,c,d,m),n),a=e.circle(0,g+l,l*2,n);v.insert(()=>a,`:first-child`),v.insert(()=>r,`:first-child`),y&&v.attr(`style`,y)}else v.append(`rect`).attr(`x`,-c/2).attr(`y`,_).attr(`width`,c).attr(`height`,d).attr(`rx`,m).attr(`ry`,m).attr(`style`,r),v.append(`circle`).attr(`cx`,0).attr(`cy`,g+l).attr(`r`,l).attr(`style`,r);N(t,v);let b=_+d/2;o.attr(`transform`,`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${b-a.height/2-(a.y-(a.top??0))})`);let x=g+l,S=Math.asin(Math.min(1,(_-x)/l))*180/Math.PI,w=[...L(0,-x,l,24,180+S,-S),...L(-(-c/2+m),-(_+m),m,12,90,0),...L(-(-c/2+m),-(h/2-m),m,12,360,270),...L(-(c/2-m),-(h/2-m),m,12,270,180),...L(-(c/2-m),-(_+m),m,12,180,90)];return t.intersect=function(e){return K.polygon(t,w,e)},i}e(Ie,`person`);var Le=e((e,t,n,r,i,a)=>[`M${e},${t+a}`,`a${i},${a} 0,0,0 ${n},0`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`].join(` `),`createCylinderPathD`),Re=e((e,t,n,r,i,a)=>[`M${e},${t+a}`,`M${e+n},${t+a}`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`].join(` `),`createOuterCylinderPathD`),ze=e((e,t,n,r,i,a)=>[`M${e-n/2},${-r/2}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createInnerCylinderPathD`),Be=8,Ve=8;async function He(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?24:i,o=t.look===`neo`?24:i,s=t.width??0;if(t.width&&(t.width-=o,t.width<Ve&&(t.width=Ve)),t.height){let e=s/2/(2.5+s/50);t.height=t.height-a-e*3,t.height<Be&&(t.height=Be)}let{shapeSvg:c,bbox:l,label:u}=await j(e,t,P(t)),d=Math.max(t.width??0,l.width)+o,m=d/2,h=m/(2.5+d/50),g=Math.max(t.height??0,l.height)+a+h,_,{cssStyles:v}=t;if(t.look===`handDrawn`){let e=C.svg(c),n=Re(0,0,d,g,m,h),r=ze(0,h,d,g,m,h),i=f(t,{}),a=e.path(n,i),o=e.path(r,f(t,{fill:`none`}));_=c.insert(()=>o,`:first-child`),_=c.insert(()=>a,`:first-child`),_.attr(`class`,`basic label-container`),v&&_.attr(`style`,v)}else{let e=Le(0,0,d,g,m,h);_=c.insert(`path`,`:first-child`).attr(`d`,e).attr(`class`,`basic label-container outer-path`).attr(`style`,b(v)).attr(`style`,r)}return _.attr(`label-offset-y`,h),_.attr(`transform`,`translate(${-d/2}, ${-(g/2+h)})`),N(t,_),u.attr(`transform`,`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+(t.padding??0)/1.5-(l.y-(l.top??0))})`),t.intersect=function(e){let n=K.rect(t,e),r=n.x-(t.x??0);if(m!=0&&(Math.abs(r)<(t.width??0)/2||Math.abs(r)==(t.width??0)/2&&Math.abs(n.y-(t.y??0))>(t.height??0)/2-h)){let i=h*h*(1-r*r/(m*m));i>0&&(i=Math.sqrt(i)),i=h-i,e.y-(t.y??0)>0&&(i=-i),n.y+=i}return n},c}e(He,`cylinder`);async function Ue(e,t,n){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r;let{shapeSvg:a,bbox:o}=await j(e,t,P(t)),s=Math.max(o.width+n.labelPaddingX*2,t?.width||0),c=Math.max(o.height+n.labelPaddingY*2,t?.height||0),l=-s/2,u=-c/2,d,{rx:m,ry:h}=t,{cssStyles:g}=t;if(n?.rx&&n.ry&&(m=n.rx,h=n.ry),t.look===`handDrawn`){let e=C.svg(a),n=f(t,{}),r=m||h?e.path(z(l,u,s,c,m||0),n):e.rectangle(l,u,s,c,n);d=a.insert(()=>r,`:first-child`),d.attr(`class`,`basic label-container`).attr(`style`,b(g))}else d=a.insert(`rect`,`:first-child`),d.attr(`class`,`basic label-container`).attr(`style`,i).attr(`rx`,b(m)).attr(`ry`,b(h)).attr(`x`,l).attr(`y`,u).attr(`width`,s).attr(`height`,c);return N(t,d,t.look===`handDrawn`?void 0:{width:s,height:c}),t.calcIntersect=function(e,t){return K.rect(e,t)},t.intersect=function(e){return K.rect(t,e)},a}e(Ue,`drawRect`);async function We(e,t){let{cssClasses:n,labelPaddingX:r,labelPaddingY:i,padding:a,width:o,height:s}=t,c=await Ue(e,t,{rx:0,ry:0,classes:n??``,labelPaddingX:r??(a??0)*2,labelPaddingY:i??a??0});if(t.look===`handDrawn`){let e=C.svg(c),n=f(t,{}),r=c.select(`.basic.label-container > path:nth-child(2)`),i=r.node();if(!i)return c;let a=null;if(i instanceof SVGGraphicsElement)a=i.getBBox();else return c;return c.insert(()=>e.line(a.x,a.y,a.x+a.width,a.y,n),`.basic.label-container g.label`),c.insert(()=>e.line(a.x,a.y+a.height,a.x+a.width,a.y+a.height,n),`.basic.label-container g.label`),r.remove(),c}let l=c.select(`.basic.label-container`),u=(Number(l.attr(`width`))||o)??0,d=(Number(l.attr(`height`))||s)??0;return u>0&&d>0&&l.attr(`stroke-dasharray`,`${u} ${d}`),c}e(We,`datastore`);async function Ge(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.look===`neo`?16:t.padding??0,a=t.look===`neo`?16:t.padding??0,{shapeSvg:o,bbox:s,label:c}=await j(e,t,P(t)),l=s.width+i,u=s.height+a,d=u*.2,m=-l/2,h=-u/2-d/2,{cssStyles:g}=t,_=C.svg(o),v=f(t,{});t.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=[{x:m,y:h+d},{x:-m,y:h+d},{x:-m,y:-h},{x:m,y:-h},{x:m,y:h},{x:-m,y:h},{x:-m,y:h+d}],b=_.polygon(y.map(e=>[e.x,e.y]),v),x=o.insert(()=>b,`:first-child`);return x.attr(`class`,`basic label-container outer-path`),g&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,g),r&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,r),c.attr(`transform`,`translate(${m+(t.padding??0)/2-(s.x-(s.left??0))}, ${h+d+(t.padding??0)/2-(s.y-(s.top??0))})`),N(t,x),t.intersect=function(e){return K.rect(t,e)},o}e(Ge,`dividedRectangle`);async function Ke(e,t){let{labelStyles:r,nodeStyles:i}=p(t),a=t.look===`neo`?12:5;t.labelStyle=r;let o=t.padding??0,s=t.look===`neo`?16:o,{shapeSvg:c,bbox:l}=await j(e,t,P(t)),u=(t?.width?t?.width/2:l.width/2)+(s??0),d=u-a,m,{cssStyles:h}=t;if(t.look===`handDrawn`){let e=C.svg(c),n=f(t,{roughness:.2,strokeWidth:2.5}),r=f(t,{roughness:.2,strokeWidth:1.5}),i=e.circle(0,0,u*2,n),a=e.circle(0,0,d*2,r);m=c.insert(`g`,`:first-child`),m.attr(`class`,b(t.cssClasses)).attr(`style`,b(h)),m.node()?.appendChild(i),m.node()?.appendChild(a)}else{m=c.insert(`g`,`:first-child`);let e=m.insert(`circle`,`:first-child`),t=m.insert(`circle`);m.attr(`class`,`basic label-container`).attr(`style`,i),e.attr(`class`,`outer-circle`).attr(`style`,i).attr(`r`,u).attr(`cx`,0).attr(`cy`,0),t.attr(`class`,`inner-circle`).attr(`style`,i).attr(`r`,d).attr(`cx`,0).attr(`cy`,0)}return N(t,m),t.intersect=function(e){return n.info(`DoubleCircle intersect`,t,u,e),K.circle(t,u,e)},c}e(Ke,`doublecircle`);function qe(e,t,{config:{themeVariables:r}}){let{labelStyles:i,nodeStyles:a}=p(t);t.label=``,t.labelStyle=i;let o=e.insert(`g`).attr(`class`,P(t)).attr(`id`,t.domId??t.id),{cssStyles:s}=t,c=C.svg(o),{nodeBorder:l}=r,u=f(t,{fillStyle:`solid`});t.look!==`handDrawn`&&(u.roughness=0);let d=c.circle(0,0,14,u),m=o.insert(()=>d,`:first-child`);return m.selectAll(`path`).attr(`style`,`fill: ${l} !important;`),s&&s.length>0&&t.look!==`handDrawn`&&m.selectAll(`path`).attr(`style`,s),a&&t.look!==`handDrawn`&&m.selectAll(`path`).attr(`style`,a),N(t,m),t.intersect=function(e){return n.info(`filledCircle intersect`,t,{radius:7,point:e}),K.circle(t,7,e)},o}e(qe,`filledCircle`);var Je=10,Ye=10;async function Xe(e,t){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r;let a=t.padding??0,o=t.look===`neo`?a*2:a;(t.width||t.height)&&(t.height=t?.height??0,t.height<Je&&(t.height=Je),t.width=(t?.width??0)-o-o/2,t.width<Ye&&(t.width=Ye));let{shapeSvg:s,bbox:c,label:l}=await j(e,t,P(t)),u=(t?.width?t?.width:c.width)+(o??0),d=t?.height?t?.height:u+c.height,m=d,h=[{x:0,y:-d},{x:m,y:-d},{x:m/2,y:0}],{cssStyles:g}=t,_=C.svg(s),v=f(t,{});t.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=F(h),b=_.path(y,v),x=s.insert(()=>b,`:first-child`).attr(`transform`,`translate(${-d/2}, ${d/2})`).attr(`class`,`outer-path`);return g&&t.look!==`handDrawn`&&x.selectChildren(`path`).attr(`style`,g),i&&t.look!==`handDrawn`&&x.selectChildren(`path`).attr(`style`,i),t.width=u,t.height=d,N(t,x),l.attr(`transform`,`translate(${-c.width/2-(c.x-(c.left??0))}, ${-d/2+(t.padding??0)/2+(c.y-(c.top??0))})`),t.intersect=function(e){return n.info(`Triangle intersect`,t,h,e),K.polygon(t,h,e)},s}e(Xe,`flippedTriangle`);async function Ze(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await j(e,t,P(t)),s=t.padding??12,c=Math.max(a.width+s*2,t.width??0,90),l=a.height+s*2,u=Math.max(Math.min(l*.16,14),8),d=Math.max(l+u,t.height??0),m=d-u,h=Math.max(c*.38,28),g=-d/2,_=[{x:-c/2,y:g},{x:-c/2+h,y:g},{x:-c/2+h,y:g+u},{x:c/2,y:g+u},{x:c/2,y:d/2},{x:-c/2,y:d/2}],v=[`M${_[0].x},${_[0].y}`,..._.slice(1).map(e=>`L${e.x},${e.y}`),`Z`].join(` `),{cssStyles:y}=t,b;if(t.look===`handDrawn`){let e=C.svg(i).path(v,f(t,{}));b=i.insert(()=>e,`:first-child`).attr(`class`,`basic label-container`),y&&b.attr(`style`,y)}else b=i.insert(`path`,`:first-child`).attr(`d`,v).attr(`class`,`basic label-container`).attr(`style`,r);t.look===`handDrawn`?N(t,b):N(t,b,{width:c,height:d});let x=g+u+m/2;return o.attr(`transform`,`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${x-a.height/2-(a.y-(a.top??0))})`),t.intersect=function(e){return K.polygon(t,_,e)},i}e(Ze,`folder`);function Qe(e,t,{dir:n,config:{state:r,themeVariables:i}}){let{nodeStyles:a}=p(t);t.label=``;let o=e.insert(`g`).attr(`class`,P(t)).attr(`id`,t.domId??t.id),{cssStyles:s}=t,c=Math.max(70,t?.width??0),l=Math.max(10,t?.height??0);n===`LR`&&(c=Math.max(10,t?.width??0),l=Math.max(70,t?.height??0));let u=-1*c/2,d=-1*l/2,m=C.svg(o),h=f(t,{stroke:i.lineColor,fill:i.lineColor});t.look!==`handDrawn`&&(h.roughness=0,h.fillStyle=`solid`);let g=m.rectangle(u,d,c,l,h),_=o.insert(()=>g,`:first-child`);s&&t.look!==`handDrawn`&&_.selectAll(`path`).attr(`style`,s),a&&t.look!==`handDrawn`&&_.selectAll(`path`).attr(`style`,a),N(t,_);let v=r?.padding??0;return t.width&&t.height&&(t.width+=v/2||0,t.height+=v/2||0),t.intersect=function(e){return K.rect(t,e)},o}e(Qe,`forkJoin`);async function $e(e,t){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r;let a=t.look===`neo`?16:t.padding??0,o=t.look===`neo`?12:t.padding??0;(t.width||t.height)&&(t.height=(t?.height??0)-o*2,t.height<10&&(t.height=10),t.width=(t?.width??0)-a*2,t.width<15&&(t.width=15));let{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=(t?.width?t?.width:Math.max(15,c.width))+a*2,u=(t?.height?t?.height:Math.max(10,c.height))+o*2,d=u/2,{cssStyles:m}=t,h=C.svg(s),g=f(t,{});t.look!==`handDrawn`&&(g.roughness=0,g.fillStyle=`solid`);let _=[{x:-l/2,y:-u/2},{x:l/2-d,y:-u/2},...L(-l/2+d,0,d,50,90,270),{x:l/2-d,y:u/2},{x:-l/2,y:u/2}],v=F(_),y=h.path(v,g),b=s.insert(()=>y,`:first-child`);return b.attr(`class`,`basic label-container outer-path`),m&&t.look!==`handDrawn`&&b.selectChildren(`path`).attr(`style`,m),i&&t.look!==`handDrawn`&&b.selectChildren(`path`).attr(`style`,i),N(t,b),t.intersect=function(e){return n.info(`Pill intersect`,t,{radius:d,point:e}),K.polygon(t,_,e)},s}e($e,`halfRoundedRectangle`);var et=e((e,t,n,r,i)=>[`M${e+i},${t}`,`L${e+n-i},${t}`,`L${e+n},${t-r/2}`,`L${e+n-i},${t-r}`,`L${e+i},${t-r}`,`L${e},${t-r/2}`,`Z`].join(` `),`createHexagonPathD`);async function tt(e,t){let{labelStyles:n,nodeStyles:r}=p(t),i=t.look===`neo`?3.5:4;t.labelStyle=n;let a=t.padding??0,o=t.look===`neo`?70:a,s=t.look===`neo`?32:a;if(t.width||t.height){let e=(t.height??0)/i;t.width=(t?.width??0)-2*e-s,t.height=(t.height??0)-o}let{shapeSvg:c,bbox:l}=await j(e,t,P(t)),u=(t?.height?t?.height:l.height)+o,d=u/i,m=(t?.width?t?.width:l.width)+2*d+s,h=[{x:d,y:0},{x:m-d,y:0},{x:m,y:-u/2},{x:m-d,y:-u},{x:d,y:-u},{x:0,y:-u/2}],g,{cssStyles:_}=t;if(t.look===`handDrawn`){let e=C.svg(c),n=f(t,{}),r=et(0,0,m,u,d),i=e.path(r,n);g=c.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-m/2}, ${u/2})`),_&&g.attr(`style`,_)}else g=q(c,m,u,h);return r&&g.attr(`style`,r),t.width=m,t.height=u,N(t,g),t.intersect=function(e){return K.polygon(t,h,e)},c}e(tt,`hexagon`);async function nt(e,t){let{labelStyles:r,nodeStyles:i}=p(t);t.label=``,t.labelStyle=r;let{shapeSvg:a}=await j(e,t,P(t)),o=Math.max(30,t?.width??0),s=Math.max(30,t?.height??0),{cssStyles:c}=t,l=C.svg(a),u=f(t,{});t.look!==`handDrawn`&&(u.roughness=0,u.fillStyle=`solid`);let d=[{x:0,y:0},{x:o,y:0},{x:0,y:s},{x:o,y:s}],m=F(d),h=l.path(m,u),g=a.insert(()=>h,`:first-child`);return g.attr(`class`,`basic label-container outer-path`),c&&t.look!==`handDrawn`&&g.selectChildren(`path`).attr(`style`,c),i&&t.look!==`handDrawn`&&g.selectChildren(`path`).attr(`style`,i),g.attr(`transform`,`translate(${-o/2}, ${-s/2})`),N(t,g),t.intersect=function(e){return n.info(`Pill intersect`,t,{points:d}),K.polygon(t,d,e)},a}e(nt,`hourglass`);async function rt(e,t,{config:{themeVariables:r,flowchart:i}}){let{labelStyles:a}=p(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:d,label:m}=await j(e,t,`icon-shape default`),_=t.pos===`t`,v=c,y=c,{nodeBorder:b}=r,{stylesMap:x}=h(t),S=-y/2,w=-v/2,T=t.label?8:0,E=C.svg(u),D=f(t,{stroke:`none`,fill:`none`});t.look!==`handDrawn`&&(D.roughness=0,D.fillStyle=`solid`);let O=E.rectangle(S,w,y,v,D),k=Math.max(y,d.width),A=v+d.height+T,M=E.rectangle(-k/2,-A/2,k,A,{...D,fill:`transparent`,stroke:`none`}),P=u.insert(()=>O,`:first-child`),F=u.insert(()=>M);if(t.icon){let e=u.append(`g`);e.html(`<g>${await g(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let n=e.node().getBBox(),r=n.width,i=n.height,a=n.x,o=n.y;e.attr(`transform`,`translate(${-r/2-a},${_?d.height/2+T/2-i/2-o:-d.height/2-T/2-i/2-o})`),e.attr(`style`,`color: ${x.get(`stroke`)??b};`)}return m.attr(`transform`,`translate(${-d.width/2-(d.x-(d.left??0))},${_?-A/2:A/2-d.height})`),P.attr(`transform`,`translate(0,${_?d.height/2+T/2:-d.height/2-T/2})`),N(t,F),t.intersect=function(e){if(n.info(`iconSquare intersect`,t,e),!t.label)return K.rect(t,e);let r=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=_?[{x:r-d.width/2,y:i-a/2},{x:r+d.width/2,y:i-a/2},{x:r+d.width/2,y:i-a/2+d.height+T},{x:r+y/2,y:i-a/2+d.height+T},{x:r+y/2,y:i+a/2},{x:r-y/2,y:i+a/2},{x:r-y/2,y:i-a/2+d.height+T},{x:r-d.width/2,y:i-a/2+d.height+T}]:[{x:r-y/2,y:i-a/2},{x:r+y/2,y:i-a/2},{x:r+y/2,y:i-a/2+v},{x:r+d.width/2,y:i-a/2+v},{x:r+d.width/2/2,y:i+a/2},{x:r-d.width/2,y:i+a/2},{x:r-d.width/2,y:i-a/2+v},{x:r-y/2,y:i-a/2+v}],K.polygon(t,o,e)},u}e(rt,`icon`);async function it(e,t,{config:{themeVariables:r,flowchart:i}}){let{labelStyles:a}=p(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:d,label:m}=await j(e,t,`icon-shape default`),_=t.label?8:0,v=t.pos===`t`,{nodeBorder:y,mainBkg:b}=r,{stylesMap:x}=h(t),S=C.svg(u),w=f(t,{});t.look!==`handDrawn`&&(w.roughness=0,w.fillStyle=`solid`),w.stroke=x.get(`fill`)??b;let T=u.append(`g`);t.icon&&T.html(`<g>${await g(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let E=T.node().getBBox(),D=E.width,O=E.height,k=E.x,A=E.y,M=Math.max(D,O)*Math.SQRT2+40,P=S.circle(0,0,M,w),F=Math.max(M,d.width),I=M+d.height+_,L=S.rectangle(-F/2,-I/2,F,I,{...w,fill:`transparent`,stroke:`none`}),ee=u.insert(()=>P,`:first-child`),R=u.insert(()=>L);return T.attr(`transform`,`translate(${-D/2-k},${v?d.height/2+_/2-O/2-A:-d.height/2-_/2-O/2-A})`),T.attr(`style`,`color: ${x.get(`stroke`)??y};`),m.attr(`transform`,`translate(${-d.width/2-(d.x-(d.left??0))},${v?-I/2:I/2-d.height})`),ee.attr(`transform`,`translate(0,${v?d.height/2+_/2:-d.height/2-_/2})`),N(t,R),t.intersect=function(e){return n.info(`iconSquare intersect`,t,e),K.rect(t,e)},u}e(it,`iconCircle`);async function at(e,t,{config:{themeVariables:r,flowchart:i}}){let{labelStyles:a}=p(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:d,halfPadding:m,label:_}=await j(e,t,`icon-shape default`),v=t.pos===`t`,y=c+m*2,b=c+m*2,{nodeBorder:x,mainBkg:S}=r,{stylesMap:w}=h(t),T=-b/2,E=-y/2,D=t.label?8:0,O=C.svg(u),k=f(t,{});t.look!==`handDrawn`&&(k.roughness=0,k.fillStyle=`solid`),k.stroke=w.get(`fill`)??S;let A=O.path(z(T,E,b,y,5),k),M=Math.max(b,d.width),P=y+d.height+D,F=O.rectangle(-M/2,-P/2,M,P,{...k,fill:`transparent`,stroke:`none`}),I=u.insert(()=>A,`:first-child`).attr(`class`,`icon-shape2`),L=u.insert(()=>F);if(t.icon){let e=u.append(`g`);e.html(`<g>${await g(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let n=e.node().getBBox(),r=n.width,i=n.height,a=n.x,o=n.y;e.attr(`transform`,`translate(${-r/2-a},${v?d.height/2+D/2-i/2-o:-d.height/2-D/2-i/2-o})`),e.attr(`style`,`color: ${w.get(`stroke`)??x};`)}return _.attr(`transform`,`translate(${-d.width/2-(d.x-(d.left??0))},${v?-P/2:P/2-d.height})`),I.attr(`transform`,`translate(0,${v?d.height/2+D/2:-d.height/2-D/2})`),N(t,L),t.intersect=function(e){if(n.info(`iconSquare intersect`,t,e),!t.label)return K.rect(t,e);let r=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=v?[{x:r-d.width/2,y:i-a/2},{x:r+d.width/2,y:i-a/2},{x:r+d.width/2,y:i-a/2+d.height+D},{x:r+b/2,y:i-a/2+d.height+D},{x:r+b/2,y:i+a/2},{x:r-b/2,y:i+a/2},{x:r-b/2,y:i-a/2+d.height+D},{x:r-d.width/2,y:i-a/2+d.height+D}]:[{x:r-b/2,y:i-a/2},{x:r+b/2,y:i-a/2},{x:r+b/2,y:i-a/2+y},{x:r+d.width/2,y:i-a/2+y},{x:r+d.width/2/2,y:i+a/2},{x:r-d.width/2,y:i+a/2},{x:r-d.width/2,y:i-a/2+y},{x:r-b/2,y:i-a/2+y}],K.polygon(t,o,e)},u}e(at,`iconRounded`);async function ot(e,t,{config:{themeVariables:r,flowchart:i}}){let{labelStyles:a}=p(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:d,halfPadding:m,label:_}=await j(e,t,`icon-shape default`),v=t.pos===`t`,y=c+m*2,b=c+m*2,{nodeBorder:x,mainBkg:S}=r,{stylesMap:w}=h(t),T=-b/2,E=-y/2,D=t.label?8:0,O=C.svg(u),k=f(t,{});t.look!==`handDrawn`&&(k.roughness=0,k.fillStyle=`solid`),k.stroke=w.get(`fill`)??S;let A=O.path(z(T,E,b,y,.1),k),M=Math.max(b,d.width),P=y+d.height+D,F=O.rectangle(-M/2,-P/2,M,P,{...k,fill:`transparent`,stroke:`none`}),I=u.insert(()=>A,`:first-child`),L=u.insert(()=>F);if(t.icon){let e=u.append(`g`);e.html(`<g>${await g(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let n=e.node().getBBox(),r=n.width,i=n.height,a=n.x,o=n.y;e.attr(`transform`,`translate(${-r/2-a},${v?d.height/2+D/2-i/2-o:-d.height/2-D/2-i/2-o})`),e.attr(`style`,`color: ${w.get(`stroke`)??x};`)}return _.attr(`transform`,`translate(${-d.width/2-(d.x-(d.left??0))},${v?-P/2:P/2-d.height})`),I.attr(`transform`,`translate(0,${v?d.height/2+D/2:-d.height/2-D/2})`),N(t,L),t.intersect=function(e){if(n.info(`iconSquare intersect`,t,e),!t.label)return K.rect(t,e);let r=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=v?[{x:r-d.width/2,y:i-a/2},{x:r+d.width/2,y:i-a/2},{x:r+d.width/2,y:i-a/2+d.height+D},{x:r+b/2,y:i-a/2+d.height+D},{x:r+b/2,y:i+a/2},{x:r-b/2,y:i+a/2},{x:r-b/2,y:i-a/2+d.height+D},{x:r-d.width/2,y:i-a/2+d.height+D}]:[{x:r-b/2,y:i-a/2},{x:r+b/2,y:i-a/2},{x:r+b/2,y:i-a/2+y},{x:r+d.width/2,y:i-a/2+y},{x:r+d.width/2/2,y:i+a/2},{x:r-d.width/2,y:i+a/2},{x:r-d.width/2,y:i-a/2+y},{x:r-b/2,y:i-a/2+y}],K.polygon(t,o,e)},u}e(ot,`iconSquare`);async function st(e,t,{config:{flowchart:r}}){let i=new Image;i.src=t?.img??``,await i.decode();let a=Number(i.naturalWidth.toString().replace(`px`,``)),o=Number(i.naturalHeight.toString().replace(`px`,``));t.imageAspectRatio=a/o;let{labelStyles:s}=p(t);t.labelStyle=s;let c=r?.wrappingWidth;t.defaultWidth=r?.wrappingWidth;let l=Math.max(t.label?c??0:0,t?.assetWidth??a),u=t.constraint===`on`&&t?.assetHeight?t.assetHeight*t.imageAspectRatio:l,d=t.constraint===`on`?u/t.imageAspectRatio:t?.assetHeight??o;t.width=Math.max(u,c??0);let{shapeSvg:m,bbox:h,label:g}=await j(e,t,`image-shape default`),_=t.pos===`t`,v=-u/2,y=-d/2,b=t.label?8:0,x=C.svg(m),S=f(t,{});t.look!==`handDrawn`&&(S.roughness=0,S.fillStyle=`solid`);let w=x.rectangle(v,y,u,d,S),T=Math.max(u,h.width),E=d+h.height+b,D=x.rectangle(-T/2,-E/2,T,E,{...S,fill:`none`,stroke:`none`}),O=m.insert(()=>w,`:first-child`),k=m.insert(()=>D);if(t.img){let e=m.append(`image`);e.attr(`href`,t.img),e.attr(`width`,u),e.attr(`height`,d),e.attr(`preserveAspectRatio`,`none`),e.attr(`transform`,`translate(${-u/2},${_?E/2-d:-E/2})`)}return g.attr(`transform`,`translate(${-h.width/2-(h.x-(h.left??0))},${_?-d/2-h.height/2-b/2:d/2-h.height/2+b/2})`),O.attr(`transform`,`translate(0,${_?h.height/2+b/2:-h.height/2-b/2})`),N(t,k),t.intersect=function(e){if(n.info(`iconSquare intersect`,t,e),!t.label)return K.rect(t,e);let r=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=_?[{x:r-h.width/2,y:i-a/2},{x:r+h.width/2,y:i-a/2},{x:r+h.width/2,y:i-a/2+h.height+b},{x:r+u/2,y:i-a/2+h.height+b},{x:r+u/2,y:i+a/2},{x:r-u/2,y:i+a/2},{x:r-u/2,y:i-a/2+h.height+b},{x:r-h.width/2,y:i-a/2+h.height+b}]:[{x:r-u/2,y:i-a/2},{x:r+u/2,y:i-a/2},{x:r+u/2,y:i-a/2+d},{x:r+h.width/2,y:i-a/2+d},{x:r+h.width/2/2,y:i+a/2},{x:r-h.width/2,y:i+a/2},{x:r-h.width/2,y:i-a/2+d},{x:r-u/2,y:i-a/2+d}],K.polygon(t,o,e)},m}e(st,`imageSquare`);async function ct(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=i,o=t.look===`neo`?i*2:i,{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=Math.max(c.height+a*2,t.height??0),u=Math.max(c.width+o*2,(t.width??0)-l),d=[{x:0,y:0},{x:u,y:0},{x:u+3*l/6,y:-l},{x:-3*l/6,y:-l}],m,{cssStyles:h}=t;if(t.look===`handDrawn`){let e=C.svg(s),n=f(t,{}),r=F(d),i=e.path(r,n);m=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-u/2}, ${l/2})`),h&&m.attr(`style`,h)}else m=q(s,u,l,d);return r&&m.attr(`style`,r),t.width=u,t.height=l,N(t,m),t.intersect=function(e){return K.polygon(t,d,e)},s}e(ct,`inv_trapezoid`);async function lt(e,t){let{shapeSvg:n,bbox:r,label:i}=await j(e,t,`label`),a=n.insert(`rect`,`:first-child`);return a.attr(`width`,.1).attr(`height`,.1),n.attr(`class`,`label edgeLabel`),i.attr(`transform`,`translate(${-(r.width/2)-(r.x-(r.left??0))}, ${-(r.height/2)-(r.y-(r.top??0))})`),N(t,a),t.intersect=function(e){return K.rect(t,e)},n}e(lt,`labelRect`);async function ut(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=i,o=t.look===`neo`?i*2:i,{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=Math.max(c.height+a,t.height??0),u=Math.max(c.width+o,(t.width??0)-l),d=[{x:0,y:0},{x:u+3*l/6,y:0},{x:u,y:-l},{x:-(3*l)/6,y:-l}],m,{cssStyles:h}=t;if(t.look===`handDrawn`){let e=C.svg(s),n=f(t,{}),r=F(d),i=e.path(r,n);m=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-u/2}, ${l/2})`),h&&m.attr(`style`,h)}else m=q(s,u,l,d);return r&&m.attr(`style`,r),t.width=u,t.height=l,N(t,m),t.intersect=function(e){return K.polygon(t,d,e)},s}e(ut,`lean_left`);async function dt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=i,o=t.look===`neo`?i*2:i,{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=Math.max(c.height+a,t.height??0),u=Math.max(c.width+o,(t.width??0)-l),d=[{x:-3*l/6,y:0},{x:u,y:0},{x:u+3*l/6,y:-l},{x:0,y:-l}],m,{cssStyles:h}=t;if(t.look===`handDrawn`){let e=C.svg(s),n=f(t,{}),r=F(d),i=e.path(r,n);m=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-u/2}, ${l/2})`),h&&m.attr(`style`,h)}else m=q(s,u,l,d);return r&&m.attr(`style`,r),t.width=u,t.height=l,N(t,m),t.intersect=function(e){return K.polygon(t,d,e)},s}e(dt,`lean_right`);function ft(e,t){let{labelStyles:r,nodeStyles:i}=p(t);t.label=``,t.labelStyle=r;let a=e.insert(`g`).attr(`class`,P(t)).attr(`id`,t.domId??t.id),{cssStyles:o}=t,s=Math.max(35,t?.width??0),c=Math.max(35,t?.height??0),l=[{x:s,y:0},{x:0,y:c+7/2},{x:s-14,y:c+7/2},{x:0,y:2*c},{x:s,y:c-7/2},{x:14,y:c-7/2}],u=C.svg(a),d=f(t,{});t.look!==`handDrawn`&&(d.roughness=0,d.fillStyle=`solid`);let m=F(l),h=u.path(m,d),g=a.insert(()=>h,`:first-child`);return g.attr(`class`,`outer-path`),o&&t.look!==`handDrawn`&&g.selectAll(`path`).attr(`style`,o),i&&t.look!==`handDrawn`&&g.selectAll(`path`).attr(`style`,i),g.attr(`transform`,`translate(-${s/2},${-c})`),N(t,g),t.intersect=function(e){return n.info(`lightningBolt intersect`,t,e),K.polygon(t,l,e)},a}e(ft,`lightningBolt`);var pt=e((e,t,n,r,i,a,o)=>[`M${e},${t+a}`,`a${i},${a} 0,0,0 ${n},0`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`,`M${e},${t+a+o}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createCylinderPathD`),mt=e((e,t,n,r,i,a,o)=>[`M${e},${t+a}`,`M${e+n},${t+a}`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`,`M${e},${t+a+o}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createOuterCylinderPathD`),ht=e((e,t,n,r,i,a)=>[`M${e-n/2},${-r/2}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createInnerCylinderPathD`),gt=10,_t=10;async function vt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?24:i;if(t.width||t.height){let e=t.width??0;t.width=(t.width??0)-a,t.width<_t&&(t.width=_t);let n=e/2/(2.5+e/50);t.height=(t.height??0)-o-n*3,t.height<gt&&(t.height=gt)}let{shapeSvg:s,bbox:c,label:l}=await j(e,t,P(t)),u=(t?.width?t?.width:c.width)+a*2,d=u/2,m=d/(2.5+u/50),h=(t?.height?t?.height:c.height)+m+o*2,g=h*.1,_,{cssStyles:v}=t;if(t.look===`handDrawn`){let e=C.svg(s),n=mt(0,0,u,h,d,m,g),r=ht(0,m,u,h,d,m),i=f(t,{}),a=e.path(n,i),o=e.path(r,i);s.insert(()=>o,`:first-child`).attr(`class`,`line`),_=s.insert(()=>a,`:first-child`),_.attr(`class`,`basic label-container`),v&&_.attr(`style`,v)}else{let e=pt(0,0,u,h,d,m,g);_=s.insert(`path`,`:first-child`).attr(`d`,e).attr(`class`,`basic label-container outer-path`).attr(`style`,b(v)).attr(`style`,r)}return _.attr(`label-offset-y`,m),_.attr(`transform`,`translate(${-u/2}, ${-(h/2+m)})`),N(t,_),l.attr(`transform`,`translate(${-(c.width/2)-(c.x-(c.left??0))}, ${-(c.height/2)+m-(c.y-(c.top??0))})`),t.intersect=function(e){let n=K.rect(t,e),r=n.x-(t.x??0);if(d!=0&&(Math.abs(r)<(t.width??0)/2||Math.abs(r)==(t.width??0)/2&&Math.abs(n.y-(t.y??0))>(t.height??0)/2-m)){let i=m*m*(1-r*r/(d*d));i>0&&(i=Math.sqrt(i)),i=m-i,e.y-(t.y??0)>0&&(i=-i),n.y+=i}return n},s}e(vt,`linedCylinder`);async function yt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i;(t.width||t.height)&&(t.width=(t.width??0)*10/11-a*2,t.width<10&&(t.width=10),t.height=(t?.height??0)-o*2,t.height<10&&(t.height=10));let{shapeSvg:s,bbox:c,label:l}=await j(e,t,P(t)),u=(t?.width?t?.width:c.width)+(a??0)*2,d=(t?.height?t?.height:c.height)+(o??0)*2,m=t.look===`neo`?d/4:d/8,h=d+m,{cssStyles:g}=t,_=C.svg(s),v=f(t,{});t.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=[{x:-u/2-u/2*.1,y:-h/2},{x:-u/2-u/2*.1,y:h/2},...I(-u/2-u/2*.1,h/2,u/2+u/2*.1,h/2,m,.8),{x:u/2+u/2*.1,y:-h/2},{x:-u/2-u/2*.1,y:-h/2},{x:-u/2,y:-h/2},{x:-u/2,y:h/2*1.1},{x:-u/2,y:-h/2}],b=_.polygon(y.map(e=>[e.x,e.y]),v),x=s.insert(()=>b,`:first-child`);return x.attr(`class`,`basic label-container outer-path`),g&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,g),r&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,r),x.attr(`transform`,`translate(0,${-m/2})`),l.attr(`transform`,`translate(${-u/2+(t.padding??0)+u/2*.1/2-(c.x-(c.left??0))},${-d/2+(t.padding??0)-m/2-(c.y-(c.top??0))})`),N(t,x),t.intersect=function(e){return K.polygon(t,y,e)},s}e(yt,`linedWaveEdgedRect`);async function bt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i,s=t.look===`neo`?10:5;(t.width||t.height)&&(t.width=Math.max((t?.width??0)-a*2-2*s,10),t.height=Math.max((t?.height??0)-o*2-2*s,10));let{shapeSvg:c,bbox:l,label:u}=await j(e,t,P(t)),d=(t?.width?t?.width:l.width)+a*2+2*s,m=(t?.height?t?.height:l.height)+o*2+2*s,h=d-2*s,g=m-2*s,_=-h/2,v=-g/2,{cssStyles:y}=t,b=C.svg(c),x=f(t,{}),S=[{x:_-s,y:v+s},{x:_-s,y:v+g+s},{x:_+h-s,y:v+g+s},{x:_+h-s,y:v+g},{x:_+h,y:v+g},{x:_+h,y:v+g-s},{x:_+h+s,y:v+g-s},{x:_+h+s,y:v-s},{x:_+s,y:v-s},{x:_+s,y:v},{x:_,y:v},{x:_,y:v+s}],w=[{x:_,y:v+s},{x:_+h-s,y:v+s},{x:_+h-s,y:v+g},{x:_+h,y:v+g},{x:_+h,y:v},{x:_,y:v}];t.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let T=F(S),E=b.path(T,x),D=F(w),O=b.path(D,x);t.look!==`handDrawn`&&(E=ee(E),O=ee(O));let k=c.insert(`g`,`:first-child`);return k.insert(()=>E),k.insert(()=>O),k.attr(`class`,`basic label-container outer-path`),y&&t.look!==`handDrawn`&&k.selectAll(`path`).attr(`style`,y),r&&t.look!==`handDrawn`&&k.selectAll(`path`).attr(`style`,r),u.attr(`transform`,`translate(${-(l.width/2)-s-(l.x-(l.left??0))}, ${-(l.height/2)+s-(l.y-(l.top??0))})`),N(t,k),t.intersect=function(e){return K.polygon(t,S,e)},c}e(bt,`multiRect`);async function xt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await j(e,t,P(t)),s=t.padding??0,c=t.look===`neo`?16:s,l=t.look===`neo`?12:s,u=!0;(t.width||t.height)&&(u=!1,t.width=(t?.width??0)-c*2,t.height=(t?.height??0)-l*3);let d=Math.max(a.width,t?.width??0)+c*2,m=Math.max(a.height,t?.height??0)+l*3,h=t.look===`neo`?m/4:m/8,g=m+(u?h/2:-h/2),_=-d/2,v=-g/2,{cssStyles:y}=t,b=I(_-10,v+g+10,_+d-10,v+g+10,h,.8),x=b?.[b.length-1],S=[{x:_-10,y:v+10},{x:_-10,y:v+g+10},...b,{x:_+d-10,y:x.y-10},{x:_+d,y:x.y-10},{x:_+d,y:x.y-20},{x:_+d+10,y:x.y-20},{x:_+d+10,y:v-10},{x:_+10,y:v-10},{x:_+10,y:v},{x:_,y:v},{x:_,y:v+10}],w=[{x:_,y:v+10},{x:_+d-10,y:v+10},{x:_+d-10,y:x.y-10},{x:_+d,y:x.y-10},{x:_+d,y:v},{x:_,y:v}],T=C.svg(i),E=f(t,{});t.look!==`handDrawn`&&(E.roughness=0,E.fillStyle=`solid`);let D=F(S),O=T.path(D,E),k=F(w),A=T.path(k,E),M=i.insert(()=>O,`:first-child`);return M.insert(()=>A),M.attr(`class`,`basic label-container outer-path`),y&&t.look!==`handDrawn`&&M.selectAll(`path`).attr(`style`,y),r&&t.look!==`handDrawn`&&M.selectAll(`path`).attr(`style`,r),M.attr(`transform`,`translate(0,${-h/2})`),o.attr(`transform`,`translate(${-(a.width/2)-10-(a.x-(a.left??0))}, ${-(a.height/2)+10-h/2-(a.y-(a.top??0))})`),N(t,M),t.intersect=function(e){return K.polygon(t,S,e)},i}e(xt,`multiWaveEdgedRectangle`);async function St(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r,t.useHtmlLabels||o(s())||(t.centerLabel=!0);let{shapeSvg:a,bbox:c,label:l}=await j(e,t,P(t)),u=Math.max(c.width+(t.padding??0)*2,t?.width??0),d=Math.max(c.height+(t.padding??0)*2,t?.height??0),m=-u/2,h=-d/2,{cssStyles:g}=t,_=C.svg(a),v=f(t,{fill:n.noteBkgColor,stroke:n.noteBorderColor});t.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=_.rectangle(m,h,u,d,v),b=a.insert(()=>y,`:first-child`);return b.attr(`class`,`basic label-container outer-path`),l.attr(`class`,`label noteLabel`),g&&t.look!==`handDrawn`&&b.selectAll(`path`).attr(`style`,g),i&&t.look!==`handDrawn`&&b.selectAll(`path`).attr(`style`,i),l.attr(`transform`,`translate(${-c.width/2-(c.x-(c.left??0))}, ${-(c.height/2)-(c.y-(c.top??0))})`),N(t,b),t.intersect=function(e){return K.rect(t,e)},a}e(St,`note`);var Ct=e((e,t,n)=>[`M${e+n/2},${t}`,`L${e+n},${t-n/2}`,`L${e+n/2},${t-n}`,`L${e},${t-n/2}`,`Z`].join(` `),`createDecisionBoxPathD`);async function wt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await j(e,t,P(t)),o=a.width+(t.padding??0)+(a.height+(t.padding??0)),s=.5,c=[{x:o/2,y:0},{x:o,y:-o/2},{x:o/2,y:-o},{x:0,y:-o/2}],l,{cssStyles:u}=t;if(t.look===`handDrawn`){let e=C.svg(i),n=f(t,{}),r=Ct(0,0,o),a=e.path(r,n);l=i.insert(()=>a,`:first-child`).attr(`transform`,`translate(${-o/2+s}, ${o/2})`),u&&l.attr(`style`,u)}else l=q(i,o,o,c),l.attr(`transform`,`translate(${-o/2+s}, ${o/2})`);return r&&l.attr(`style`,r),N(t,l),t.calcIntersect=function(e,t){let n=e.width,r=[{x:n/2,y:0},{x:n,y:-n/2},{x:n/2,y:-n},{x:0,y:-n/2}],i=K.polygon(e,r,t);return{x:i.x-.5,y:i.y-.5}},t.intersect=function(e){return this.calcIntersect(t,e)},i}e(wt,`question`);async function Tt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?21:i??0,o=t.look===`neo`?12:i??0,{shapeSvg:s,bbox:c,label:l}=await j(e,t,P(t)),u=c.width+(t.look===`neo`?a*2:a),d=Math.max(c.height+(t.look===`neo`?o*2:o),t.height??0),m=d/4,h=-Math.max(u,(t.width??0)-m)/2,g=-d/2,_=g/2,v=[{x:h+_,y:g},{x:h,y:0},{x:h+_,y:-g},{x:-h,y:-g},{x:-h,y:g}],{cssStyles:y}=t,b=C.svg(s),x=f(t,{});t.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let S=F(v),w=b.path(S,x),T=s.insert(()=>w,`:first-child`);return T.attr(`class`,`basic label-container outer-path`),y&&t.look!==`handDrawn`&&T.selectAll(`path`).attr(`style`,y),r&&t.look!==`handDrawn`&&T.selectAll(`path`).attr(`style`,r),T.attr(`transform`,`translate(${-_/2},0)`),l.attr(`transform`,`translate(${-_/2-c.width/2-(c.x-(c.left??0))}, ${-(c.height/2)-(c.y-(c.top??0))})`),N(t,T),t.intersect=function(e){return K.polygon(t,v,e)},s}e(Tt,`rect_left_inv_arrow`);async function Et(e,r){let{labelStyles:i,nodeStyles:a}=p(r);r.labelStyle=i;let s;s=r.cssClasses?`node `+r.cssClasses:`node default`;let c=e.insert(`g`).attr(`class`,s).attr(`id`,r.domId||r.id),l=c.insert(`g`),d=c.insert(`g`).attr(`class`,`label`).attr(`style`,a),m=r.description,h=r.label,g=await te(d,h,r.labelStyle,!0,!0),_={width:0,height:0};if(o(u())){let e=g.children[0],n=t(g);_=e.getBoundingClientRect(),n.attr(`width`,_.width),n.attr(`height`,_.height)}n.info(`Text 2`,m);let v=m||[],y=g.getBBox(),b=await te(d,Array.isArray(v)?v.join(`<br/>`):v,r.labelStyle,!0,!0),x=b.children[0],S=t(b);_=x.getBoundingClientRect(),S.attr(`width`,_.width),S.attr(`height`,_.height);let w=(r.padding||0)/2;t(b).attr(`transform`,`translate( `+(_.width>y.width?0:(y.width-_.width)/2)+`, `+(y.height+w+5)+`)`),t(g).attr(`transform`,`translate( `+(_.width<y.width?0:-(y.width-_.width)/2)+`, 0)`),_=d.node().getBBox(),d.attr(`transform`,`translate(`+-_.width/2+`, `+(-_.height/2-w+3)+`)`);let T=_.width+(r.padding||0),E=_.height+(r.padding||0),D=-_.width/2-w,O=-_.height/2-w,k,A;if(r.look===`handDrawn`){let e=C.svg(c),t=f(r,{}),i=e.path(z(D,O,T,E,r.rx||0),t),a=e.line(-_.width/2-w,-_.height/2-w+y.height+w,_.width/2+w,-_.height/2-w+y.height+w,t);A=c.insert(()=>(n.debug(`Rough node insert CXC`,i),a),`:first-child`),k=c.insert(()=>(n.debug(`Rough node insert CXC`,i),i),`:first-child`)}else k=l.insert(`rect`,`:first-child`),A=l.insert(`line`),k.attr(`class`,`outer title-state`).attr(`style`,a).attr(`x`,-_.width/2-w).attr(`y`,-_.height/2-w).attr(`width`,_.width+(r.padding||0)).attr(`height`,_.height+(r.padding||0)),A.attr(`class`,`divider`).attr(`x1`,-_.width/2-w).attr(`x2`,_.width/2+w).attr(`y1`,-_.height/2-w+y.height+w).attr(`y2`,-_.height/2-w+y.height+w);return N(r,k),r.intersect=function(e){return K.rect(r,e)},c}e(Et,`rectWithTitle`);async function Dt(e,t,{config:{themeVariables:n}}){let r=n?.radius??5;return Ue(e,t,{rx:r,ry:r,classes:``,labelPaddingX:(t?.padding??0)*1,labelPaddingY:(t?.padding??0)*1})}e(Dt,`roundedRect`);var Z=8;async function Ot(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.look===`neo`?16:t.padding??0,a=t.look===`neo`?12:t.padding??0,{shapeSvg:o,bbox:s,label:c}=await j(e,t,P(t)),l=(t?.width??s.width)+i*2+(t.look===`neo`?Z:Z*2),u=(t?.height??s.height)+a*2,d=l-Z,m=u,h=Z-l/2,g=-u/2,{cssStyles:_}=t,v=C.svg(o),y=f(t,{});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let x=[{x:h,y:g},{x:h+d,y:g},{x:h+d,y:g+m},{x:h-Z,y:g+m},{x:h-Z,y:g},{x:h,y:g},{x:h,y:g+m}],S=v.polygon(x.map(e=>[e.x,e.y]),y),w=o.insert(()=>S,`:first-child`);return w.attr(`class`,`basic label-container outer-path`).attr(`style`,b(_)),r&&t.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,r),_&&t.look!==`handDrawn`&&w.selectAll(`path`).attr(`style`,r),c.attr(`transform`,`translate(${Z/2-s.width/2-(s.x-(s.left??0))}, ${-(s.height/2)-(s.y-(s.top??0))})`),N(t,w),t.intersect=function(e){return K.rect(t,e)},o}e(Ot,`shadedProcess`);async function kt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i;(t.width||t.height)&&(t.width=Math.max((t?.width??0)-a*2,10),t.height=Math.max((t?.height??0)/1.5-o*2,10));let{shapeSvg:s,bbox:c,label:l}=await j(e,t,P(t)),u=(t?.width?t?.width:c.width)+a*2,d=((t?.height?t?.height:c.height)+o*2)*1.5,m=u,h=d/1.5,g=-m/2,_=-h/2,{cssStyles:v}=t,y=C.svg(s),b=f(t,{});t.look!==`handDrawn`&&(b.roughness=0,b.fillStyle=`solid`);let x=[{x:g,y:_},{x:g,y:_+h},{x:g+m,y:_+h},{x:g+m,y:_-h/2}],S=F(x),w=y.path(S,b),T=s.insert(()=>w,`:first-child`);return T.attr(`class`,`basic label-container outer-path`),v&&t.look!==`handDrawn`&&T.selectChildren(`path`).attr(`style`,v),r&&t.look!==`handDrawn`&&T.selectChildren(`path`).attr(`style`,r),T.attr(`transform`,`translate(0, ${h/4})`),l.attr(`transform`,`translate(${-m/2+(t.padding??0)-(c.x-(c.left??0))}, ${-h/4+(t.padding??0)-(c.y-(c.top??0))})`),N(t,T),t.intersect=function(e){return K.polygon(t,x,e)},s}e(kt,`slopedRect`);async function At(e,t){let n=t.padding??0,r=t.look===`neo`?16:n*2,i=t.look===`neo`?12:n;return Ue(e,t,{rx:0,ry:0,classes:``,labelPaddingX:t.labelPaddingX??r,labelPaddingY:i})}e(At,`squareRect`);async function jt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?20:i,o=t.look===`neo`?12:i,{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=c.height+(t.look===`neo`?o*2:o),u=c.width+l/4+(t.look===`neo`?a*2:a),d=l/2,{cssStyles:m}=t,h=C.svg(s),g=f(t,{});t.look!==`handDrawn`&&(g.roughness=0,g.fillStyle=`solid`);let _=[{x:-u/2+d,y:-l/2},{x:u/2-d,y:-l/2},...L(-u/2+d,0,d,50,90,270),{x:u/2-d,y:l/2},...L(u/2-d,0,d,50,270,450)],v=F(_),y=h.path(v,g),b=s.insert(()=>y,`:first-child`);return b.attr(`class`,`basic label-container outer-path`),m&&t.look!==`handDrawn`&&b.selectChildren(`path`).attr(`style`,m),r&&t.look!==`handDrawn`&&b.selectChildren(`path`).attr(`style`,r),N(t,b),t.intersect=function(e){return K.polygon(t,_,e)},s}e(jt,`stadium`);async function Mt(e,t){return Ue(e,t,{rx:t.look===`neo`?3:5,ry:t.look===`neo`?3:5,classes:`flowchart-node`})}e(Mt,`state`);function Nt(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r;let{cssStyles:a}=t,{lineColor:o,stateBorder:s,nodeBorder:c,nodeShadow:l}=n;(t.width||t.height)&&((t.width??0)<14&&(t.width=14),(t.height??0)<14&&(t.height=14)),t.width||=14,t.height||=14;let u=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId??t.id),d=C.svg(u),m=f(t,{});t.look!==`handDrawn`&&(m.roughness=0,m.fillStyle=`solid`);let h=d.circle(0,0,t.width,{...m,stroke:o,strokeWidth:2}),g=s??c,_=(t.width??0)*5/14,v=d.circle(0,0,_,{...m,fill:g,stroke:g,strokeWidth:2,fillStyle:`solid`}),y=u.insert(()=>h,`:first-child`);if(y.insert(()=>v),t.look!==`handDrawn`&&y.attr(`class`,`outer-path`),a&&y.selectAll(`path`).attr(`style`,a),i&&y.selectAll(`path`).attr(`style`,i),t.width<25&&l&&t.look!==`handDrawn`){let t=e.node()?.ownerSVGElement?.id??``,n=t?`${t}-drop-shadow-small`:`drop-shadow-small`;y.attr(`style`,`filter:url(#${n})`)}return N(t,y),t.intersect=function(e){return K.circle(t,(t.width??0)/2,e)},u}e(Nt,`stateEnd`);function Pt(e,t,{config:{themeVariables:n}}){let{lineColor:r,nodeShadow:i}=n;(t.width||t.height)&&((t.width??0)<14&&(t.width=14),(t.height??0)<14&&(t.height=14)),t.width||=14,t.height||=14;let a=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId||t.id),o;if(t.look===`handDrawn`){let e=C.svg(a).circle(0,0,t.width,m(r));o=a.insert(()=>e),o.attr(`class`,`state-start`).attr(`r`,(t.width??7)/2).attr(`width`,t.width??14).attr(`height`,t.height??14)}else o=a.insert(`circle`,`:first-child`),o.attr(`class`,`state-start`).attr(`r`,(t.width??7)/2).attr(`width`,t.width??14).attr(`height`,t.height??14);if(t.width<25&&i&&t.look!==`handDrawn`){let t=e.node()?.ownerSVGElement?.id??``,n=t?`${t}-drop-shadow-small`:`drop-shadow-small`;o.attr(`style`,`filter:url(#${n})`)}return N(t,o),t.intersect=function(e){return K.circle(t,(t.width??7)/2,e)},a}e(Pt,`stateStart`);var Ft=8;async function It(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t?.padding??8,a=t.look===`neo`?28:i,o=t.look===`neo`?12:i,{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=Math.max(c.width+2*Ft+a,t.width??0),u=Math.max(c.height+o,t.height??0),d=l-2*Ft,m=u,h=-l/2,g=-u/2,_=[{x:0,y:0},{x:d,y:0},{x:d,y:-m},{x:0,y:-m},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-m},{x:-8,y:-m},{x:-8,y:0}];if(t.look===`handDrawn`){let e=C.svg(s),n=f(t,{}),r=e.rectangle(h,g,d+16,m,n),i=e.line(h+Ft,g,h+Ft,g+m,n),a=e.line(h+Ft+d,g,h+Ft+d,g+m,n);s.insert(()=>i,`:first-child`),s.insert(()=>a,`:first-child`);let o=s.insert(()=>r,`:first-child`),{cssStyles:c}=t;o.attr(`class`,`basic label-container`).attr(`style`,b(c)),N(t,o)}else{let e=q(s,d,m,_);r&&e.attr(`style`,r),N(t,e)}return t.intersect=function(e){return K.polygon(t,_,e)},s}e(It,`subroutine`);var Lt=.2;async function Rt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i;(t.width||t.height)&&(t.height=Math.max((t?.height??0)-o*2,10),t.width=Math.max((t?.width??0)-a*2-Lt*(t.height+o*2),10));let{shapeSvg:s,bbox:c}=await j(e,t,P(t)),l=(t?.height?t?.height:c.height)+o*2,u=Lt*l,d=Lt*l,m=(t?.width?t?.width:c.width)+a*2+u-u,h=l,g=-m/2,_=-h/2,{cssStyles:v}=t,y=C.svg(s),b=f(t,{}),x=[{x:g-u/2,y:_},{x:g+m+u/2,y:_},{x:g+m+u/2,y:_+h},{x:g-u/2,y:_+h}],S=[{x:g+m-u/2,y:_+h},{x:g+m+u/2,y:_+h},{x:g+m+u/2,y:_+h-d}];t.look!==`handDrawn`&&(b.roughness=0,b.fillStyle=`solid`);let w=F(x),T=y.path(w,b),E=F(S),D=y.path(E,{...b,fillStyle:`solid`}),O=s.insert(()=>D,`:first-child`);return O.insert(()=>T,`:first-child`),O.attr(`class`,`basic label-container outer-path`),v&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,v),r&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,r),N(t,O),t.intersect=function(e){return K.polygon(t,x,e)},s}e(Rt,`taggedRect`);async function zt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await j(e,t,P(t)),s=Math.max(a.width+(t.padding??0)*2,t?.width??0),c=Math.max(a.height+(t.padding??0)*2,t?.height??0),l=c/8,u=.2*s,d=.2*c,m=c+l,{cssStyles:h}=t,g=C.svg(i),_=f(t,{});t.look!==`handDrawn`&&(_.roughness=0,_.fillStyle=`solid`);let v=[{x:-s/2-s/2*.1,y:m/2},...I(-s/2-s/2*.1,m/2,s/2+s/2*.1,m/2,l,.8),{x:s/2+s/2*.1,y:-m/2},{x:-s/2-s/2*.1,y:-m/2}],y=-s/2+s/2*.1,b=-m/2-d*.4,x=[{x:y+s-u,y:(b+c)*1.3},{x:y+s,y:b+c-d},{x:y+s,y:(b+c)*.9},...I(y+s,(b+c)*1.25,y+s-u,(b+c)*1.3,-c*.02,.5)],S=F(v),w=g.path(S,_),T=F(x),E=g.path(T,{..._,fillStyle:`solid`}),D=i.insert(()=>E,`:first-child`);return D.insert(()=>w,`:first-child`),D.attr(`class`,`basic label-container outer-path`),h&&t.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,h),r&&t.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,r),D.attr(`transform`,`translate(0,${-l/2})`),o.attr(`transform`,`translate(${-s/2+(t.padding??0)-(a.x-(a.left??0))},${-c/2+(t.padding??0)-l/2-(a.y-(a.top??0))})`),N(t,D),t.intersect=function(e){return K.polygon(t,v,e)},i}e(zt,`taggedWaveEdgedRectangle`);async function Bt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await j(e,t,P(t)),o=Math.max(a.width+(t.padding??0),t?.width||0),s=Math.max(a.height+(t.padding??0),t?.height||0),c=-o/2,l=-s/2,u=i.insert(`rect`,`:first-child`);return u.attr(`class`,`text`).attr(`style`,r).attr(`rx`,0).attr(`ry`,0).attr(`x`,c).attr(`y`,l).attr(`width`,o).attr(`height`,s),N(t,u),t.intersect=function(e){return K.rect(t,e)},i}e(Bt,`text`);var Vt=e((e,t,n,r,i,a)=>`M${e},${t}
3
3
  a${i},${a} 0,0,1 0,${-r}
4
4
  l${n},0