collabmd 0.1.49 → 0.1.52

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 (750) hide show
  1. package/README.md +11 -660
  2. package/bin/collabmd.js +36 -20
  3. package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-BEz2BKN1.js +1 -0
  4. package/dist/client/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  5. package/dist/client/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  6. package/dist/client/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  7. package/dist/client/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  8. package/dist/client/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  9. package/dist/client/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  10. package/dist/client/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  11. package/dist/client/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  12. package/dist/client/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  13. package/dist/client/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  14. package/dist/client/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  15. package/dist/client/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  16. package/dist/client/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  17. package/dist/client/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  18. package/dist/client/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  19. package/dist/client/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  20. package/dist/client/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  21. package/dist/client/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  22. package/dist/client/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  23. package/dist/client/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  24. package/dist/client/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  25. package/dist/client/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  26. package/dist/client/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  27. package/dist/client/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  28. package/dist/client/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  29. package/dist/client/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  30. package/dist/client/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  31. package/dist/client/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  32. package/dist/client/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  33. package/dist/client/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  34. package/dist/client/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  35. package/dist/client/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  36. package/dist/client/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  37. package/dist/client/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  38. package/dist/client/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  39. package/dist/client/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  40. package/dist/client/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  41. package/dist/client/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  42. package/dist/client/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  43. package/dist/client/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  44. package/dist/client/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  45. package/dist/client/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  46. package/dist/client/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  47. package/dist/client/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  48. package/dist/client/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  49. package/dist/client/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  50. package/dist/client/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  51. package/dist/client/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  52. package/dist/client/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  53. package/dist/client/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  54. package/dist/client/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  55. package/dist/client/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  56. package/dist/client/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  57. package/dist/client/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  58. package/dist/client/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  59. package/dist/client/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  60. package/dist/client/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  61. package/dist/client/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  62. package/dist/client/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  63. package/dist/client/assets/Middleware-DUgFSleI.js +1 -0
  64. package/dist/client/assets/_basePickBy-QJXUw_pr.js +1 -0
  65. package/dist/client/assets/_baseUniq-DR4vVjyC.js +1 -0
  66. package/dist/client/assets/abnfDiagram-O67JEVCF-Dwt6a0Ds.js +1 -0
  67. package/dist/client/assets/abnfDiagram-VCTEODGH-DxNxad6-.js +1 -0
  68. package/dist/client/assets/ar-SA-5WIASEJP-Di7OimCN.js +10 -0
  69. package/dist/client/assets/architecture-7GRP2DOG-BBwRXFv3.js +1 -0
  70. package/dist/client/assets/architecture-7GRP2DOG-DJVtYNt-.js +1 -0
  71. package/dist/client/assets/architectureDiagram-5GKGNRK7-C1uvg5id.js +36 -0
  72. package/dist/client/assets/architectureDiagram-NJMV4G6O-D5CGiX3G.js +36 -0
  73. package/dist/client/assets/az-AZ-V5EUQD6C-C19OGTT_.js +1 -0
  74. package/dist/client/assets/{babel-CY5KOv-I.js → babel-Bi_28hhi.js} +1 -1
  75. package/dist/client/assets/band-D-Cum8PO.js +1 -0
  76. package/dist/client/assets/bg-BG-EXASCMTR-BIt0xWyb.js +5 -0
  77. package/dist/client/assets/blockDiagram-BEXU5L5S-BgTM0var.js +140 -0
  78. package/dist/client/assets/blockDiagram-I7D4REHJ-B2YonsoG.js +129 -0
  79. package/dist/client/assets/bn-BD-U4SYNFCO-CdNaPy4Q.js +3 -0
  80. package/dist/client/assets/bn-IN-HKDJIITE-CdNaPy4Q.js +3 -0
  81. package/dist/client/assets/{browser-BKLM0ThC-IxjwuOIz-BBqQnUEb.js → browser-BKLM0ThC-IxjwuOIz-C0mP17s1.js} +1 -1
  82. package/dist/client/assets/{browser-utils-DbXSMI-6.js → browser-utils-vlHL9goC.js} +1 -1
  83. package/dist/client/assets/{c4Diagram-7LVT6UL2-yD2poxqw.js → c4Diagram-7LVT6UL2-r4IwomZm.js} +2 -2
  84. package/dist/client/assets/c4Diagram-YGBWAQC7-_xZPrNkB.js +38 -0
  85. package/dist/client/assets/ca-ES-2KGUU5XB-C9t-c0cH.js +8 -0
  86. package/dist/client/assets/channel-CgcHBnmr.js +1 -0
  87. package/dist/client/assets/chunk-2E4U76K2-CIQUuV9n.js +1 -0
  88. package/dist/client/assets/chunk-2Q5K7J3B-BMFG3ur0.js +1 -0
  89. package/dist/client/assets/{chunk-2ZTRR5NV-C2qZJila.js → chunk-2ZTRR5NV-CnDP55cn.js} +1 -1
  90. package/dist/client/assets/chunk-2ZTRR5NV-DcPRfelM.js +2 -0
  91. package/dist/client/assets/chunk-3FUC2YCW-8tZlhTGX.js +1 -0
  92. package/dist/client/assets/{chunk-3Z5EZCMW-DMniOlPd.js → chunk-3Z5EZCMW-BAnA6eQ7.js} +1 -1
  93. package/dist/client/assets/chunk-3Z5EZCMW-Yx4Q5AcN.js +1 -0
  94. package/dist/client/assets/chunk-4HAMMTFA-q0ldNVvr.js +62 -0
  95. package/dist/client/assets/chunk-4SOEAONT-C3fufoVl.js +40 -0
  96. package/dist/client/assets/chunk-5DYCD2WN-BKWCKnK-.js +1 -0
  97. package/dist/client/assets/{chunk-5V3GS4D5-i-ZDOEnP.js → chunk-5V3GS4D5-B5uC2oxu.js} +1 -1
  98. package/dist/client/assets/chunk-5V3GS4D5-BR7kgIgJ.js +1 -0
  99. package/dist/client/assets/chunk-5VM5RSS4-hE9rU_bl.js +15 -0
  100. package/dist/client/assets/chunk-6AEJRKK7-DTVZj5bY.js +1 -0
  101. package/dist/client/assets/{chunk-6AZGARVD-BB6FqMl-.js → chunk-6AZGARVD--pTGpDnx.js} +1 -1
  102. package/dist/client/assets/chunk-6AZGARVD-CnZDr4Cj.js +1 -0
  103. package/dist/client/assets/{chunk-6EIED4P4-DdUJkP0f.js → chunk-6EIED4P4-Bp8dpTvX.js} +1 -1
  104. package/dist/client/assets/chunk-6EIED4P4-DBVWq7Tz.js +1 -0
  105. package/dist/client/assets/{chunk-6K3QC6MW-CqVsVn-y.js → chunk-6K3QC6MW-DGVRzL6v.js} +1 -1
  106. package/dist/client/assets/chunk-6K3QC6MW-JnuvEGV4.js +1 -0
  107. package/dist/client/assets/{chunk-6TQVIW2G-DKlLbNIP.js → chunk-6TQVIW2G-BSj0l_pu.js} +1 -1
  108. package/dist/client/assets/chunk-6TQVIW2G-DgBX-Pv0.js +1 -0
  109. package/dist/client/assets/chunk-742MDFTN-D1nh6vNv.js +1 -0
  110. package/dist/client/assets/{chunk-747NJXEK-BFkZPlab.js → chunk-747NJXEK-BjqqAsS9.js} +1 -1
  111. package/dist/client/assets/chunk-747NJXEK-Cur1aosP.js +2 -0
  112. package/dist/client/assets/chunk-75Z2AOVW-DitkSoSG.js +2 -0
  113. package/dist/client/assets/chunk-7INBJB4K-CDmiHbaX.js +62 -0
  114. package/dist/client/assets/chunk-7M6MHVWA-BDakkknV.js +213 -0
  115. package/dist/client/assets/chunk-7PRAP22T-9uTvtc_-.js +1 -0
  116. package/dist/client/assets/{chunk-CLGD4ZFX-BMeArk03.js → chunk-CLGD4ZFX-BfYJtJm1.js} +1 -1
  117. package/dist/client/assets/chunk-DU6HZSFF-CWlP1Dk_.js +125 -0
  118. package/dist/client/assets/chunk-DUW6YSOI-Dgx8z5s3.js +1 -0
  119. package/dist/client/assets/chunk-DYU5D34O-DN0WQZBm.js +1 -0
  120. package/dist/client/assets/{chunk-F27PBJKO-D4xNct1r.js → chunk-F27PBJKO-DPcsPcEs.js} +1 -1
  121. package/dist/client/assets/{chunk-FOHPRMQF-DHwB1DNv.js → chunk-FOHPRMQF-Dmmo5Kak.js} +9 -9
  122. package/dist/client/assets/chunk-FOHPRMQF-DzxwRta7.js +161 -0
  123. package/dist/client/assets/chunk-GMAD6QVW-Bgk8qnty.js +8 -0
  124. package/dist/client/assets/chunk-GNY47TPC-CTrH5O5R.js +1 -0
  125. package/dist/client/assets/{chunk-SVP7TREG-DB485R5x.js → chunk-GTNCS2PH-ChgkzEIi.js} +1 -1
  126. package/dist/client/assets/chunk-GVQU2GXP-CQ8cl-Uu.js +1 -0
  127. package/dist/client/assets/chunk-GWA4HPMP-CGmv2yIq.js +1 -0
  128. package/dist/client/assets/{chunk-I5DQTOEV-Hm2LfiYI.js → chunk-I5DQTOEV-B98XA8VK.js} +1 -1
  129. package/dist/client/assets/chunk-I5DQTOEV-aBZooNp1.js +1 -0
  130. package/dist/client/assets/{chunk-ICYGCRZG-749o-pGJ.js → chunk-ICYGCRZG-D97UeqJs.js} +1 -1
  131. package/dist/client/assets/chunk-ICYGCRZG-odvlDZyA.js +1 -0
  132. package/dist/client/assets/{chunk-IH6LHLGP-CC6I9F3i.js → chunk-IH6LHLGP-BNevEHZK.js} +1 -1
  133. package/dist/client/assets/chunk-IH6LHLGP-CvXe34hB.js +1 -0
  134. package/dist/client/assets/{chunk-IMKFNOWR-D8jEuU3Q.js → chunk-IMKFNOWR-CBqxfpcP.js} +2 -2
  135. package/dist/client/assets/chunk-J5ZVWO5B-oDCd-gWO.js +1 -0
  136. package/dist/client/assets/chunk-JWPE2WC7-GDilnS5Y.js +1 -0
  137. package/dist/client/assets/{chunk-KI3K4JFJ-Rma-0k_M.js → chunk-KI3K4JFJ-D5XCPRZv.js} +1 -1
  138. package/dist/client/assets/chunk-KI3K4JFJ-FTtDwx3-.js +1 -0
  139. package/dist/client/assets/chunk-L3NEJ4N5-BflzkdTI.js +1 -0
  140. package/dist/client/assets/{chunk-LNGE3PJU-DWpGwHrW.js → chunk-LNGE3PJU-5-SxdO55.js} +1 -1
  141. package/dist/client/assets/chunk-LNGE3PJU-5nWSl6jJ.js +34 -0
  142. package/dist/client/assets/chunk-MBY4JIJT-DTJ4UcAm.js +8 -0
  143. package/dist/client/assets/chunk-NETBCI7D-CmUwDWUZ.js +1 -0
  144. package/dist/client/assets/chunk-O7XYJQB3-D0_ZY2za.js +126 -0
  145. package/dist/client/assets/chunk-OSK3NFVY-DqeKV_pg.js +10 -0
  146. package/dist/client/assets/{chunk-OUJLGHUK-D0j2JRSg.js → chunk-OUJLGHUK-75UXlPjl.js} +1 -1
  147. package/dist/client/assets/chunk-OUJLGHUK-DA95-S9B.js +2 -0
  148. package/dist/client/assets/{chunk-P2QGCYS3-Oag_FdCq.js → chunk-P2QGCYS3-BA--DhpW.js} +1 -1
  149. package/dist/client/assets/chunk-POPQ4Y6H-V_NEc45n.js +1 -0
  150. package/dist/client/assets/chunk-PWAF6VOD-D_kLse-N.js +1 -0
  151. package/dist/client/assets/{chunk-FLYJHZSQ-Be7lKF17.js → chunk-RUX4WMZV-BGnd3s_C.js} +4 -4
  152. package/dist/client/assets/{chunk-SHT3W25Y-BiQGljao.js → chunk-SHT3W25Y-YM3S-A_M.js} +5 -5
  153. package/dist/client/assets/chunk-SVP7TREG-DdNhDOmW.js +88 -0
  154. package/dist/client/assets/{chunk-TICWLB2K-8rAVvoS3.js → chunk-TICWLB2K-BGGgCr4x.js} +3 -3
  155. package/dist/client/assets/chunk-TLUHSLCS-DCZhIDYA.js +1 -0
  156. package/dist/client/assets/chunk-UA2S7LBM-DicYDjDM.js +1 -0
  157. package/dist/client/assets/{chunk-UY3FDG6J-CnmaAkG5.js → chunk-UY3FDG6J-DqSM_0FB.js} +1 -1
  158. package/dist/client/assets/chunk-UY3FDG6J-QT-rkt0y.js +1 -0
  159. package/dist/client/assets/chunk-WEXAMYUT-DDlVNp8J.js +1 -0
  160. package/dist/client/assets/chunk-X3CZISLH-BixgQztF.js +1 -0
  161. package/dist/client/assets/chunk-X3CZISLH-DwWpRaN8.js +1 -0
  162. package/dist/client/assets/{chunk-XHIXRSVI-BFQ6B8BE.js → chunk-XHIXRSVI-BSN7JlfK.js} +1 -1
  163. package/dist/client/assets/chunk-XHIXRSVI-DN_fEwws.js +1 -0
  164. package/dist/client/assets/chunk-XXDRQBXY-C7hQHDmQ.js +1 -0
  165. package/dist/client/assets/{chunk-XXDRQBXY-BvKO0v-W.js → chunk-XXDRQBXY-CdRN9Akd.js} +1 -1
  166. package/dist/client/assets/chunk-Y2CYZVJY-BbRBGnmc.js +1 -0
  167. package/dist/client/assets/chunk-Z7XXMR3K-P4Vaq8hD.js +10 -0
  168. package/dist/client/assets/chunk-ZIGJFQKS-b8OUHKK5.js +2 -0
  169. package/dist/client/assets/classDiagram-ZZMXUADV-QLbh_Nkf.js +1 -0
  170. package/dist/client/assets/classDiagram-v2-NBCMYWYE-3TQORq33.js +217 -0
  171. package/dist/client/assets/classDiagram-v2-VYDZK3BY-QLbh_Nkf.js +1 -0
  172. package/dist/client/assets/clone-C1hp9FUh.js +1 -0
  173. package/dist/client/assets/comment-markdown-renderer-Bxi_JRSR.js +1 -0
  174. package/dist/client/assets/comment-thread-store-CHvy8GF8.js +1 -0
  175. package/dist/client/assets/comment-threads-nJhK1yfc.js +4 -0
  176. package/dist/client/assets/cose-bilkent-JH36ORCC-Czr0rwGr.js +1 -0
  177. package/dist/client/assets/cose-bilkent-JH36ORCC-DLmEf9HS.js +1 -0
  178. package/dist/client/assets/cs-CZ-VUCGPRML-BfCoYAgj.js +7 -0
  179. package/dist/client/assets/cynefin-OW5HDTMX-CF3N9j1_.js +1 -0
  180. package/dist/client/assets/cynefin-OW5HDTMX-e-Quc9Yl.js +1 -0
  181. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-DTnLZaO7.js +62 -0
  182. package/dist/client/assets/cynefinDiagram-VND7K2PF-DwfMZ3vk.js +62 -0
  183. package/dist/client/assets/cytoscape-cose-bilkent-NdTYBUiT.js +1 -0
  184. package/dist/client/assets/cytoscape-fcose-DE9_QRG_.js +1 -0
  185. package/dist/client/assets/cytoscape.esm-EK2DW5Qr.js +321 -0
  186. package/dist/client/assets/da-DK-NNDP2IVP-DBw9ZNTR.js +2 -0
  187. package/dist/client/assets/dagre-6A5THRUB-DewyAGK6.js +4 -0
  188. package/dist/client/assets/dagre-D7FiCLLP.js +1 -0
  189. package/dist/client/assets/{dagre-GXQ25YYZ-Cr67wLpQ.js → dagre-GXQ25YYZ-Vtyx08Qh.js} +2 -2
  190. package/dist/client/assets/de-CH-I7RAVIZN-DYW18Vsr.js +11 -0
  191. package/dist/client/assets/de-DE-WBQ3DQLR-DYW18Vsr.js +11 -0
  192. package/dist/client/assets/deferred-collab-D4cxEdad.css +1 -0
  193. package/dist/client/assets/deferred-git-BHKtkFYi.css +1 -0
  194. package/dist/client/assets/deferred-preview-BAXYgf4T.css +1 -0
  195. package/dist/client/assets/diagram-22UHCM2B-DbZirFfl.js +200 -0
  196. package/dist/client/assets/diagram-3UASUU5V-DmhdYv6_.js +24 -0
  197. package/dist/client/assets/diagram-ATOU4E4O-B5uX-jVO.js +3 -0
  198. package/dist/client/assets/diagram-CDSNMT55-D_qyS11R.js +30 -0
  199. package/dist/client/assets/diagram-MLGK6HIB-DIBG6Ivu.js +24 -0
  200. package/dist/client/assets/diagram-MPIPVDR6-D9XsALDV.js +41 -0
  201. package/dist/client/assets/{diagram-S7CK7UJ4-DywERe__.js → diagram-S7CK7UJ4-CGTzfo2f.js} +3 -3
  202. package/dist/client/assets/diagram-UQ7AKVKN-CWZS8QtB.js +41 -0
  203. package/dist/client/assets/{diagram-VSXAHHWV-0H1a61Bn.js → diagram-VSXAHHWV-DaO1nOZF.js} +3 -3
  204. package/dist/client/assets/diagram-VX7I27RA-B54P6Cyf.js +24 -0
  205. package/dist/client/assets/diagram-Z3DM3KII-Cl2EXiXp.js +24 -0
  206. package/dist/client/assets/direct-engine-DdrQKpgq-4QysbH_V.js +5 -0
  207. package/dist/client/assets/dist-B7fBbwrO.js +1 -0
  208. package/dist/client/assets/{dist-DGEbEfw4.js → dist-BVCNc-Es.js} +1 -1
  209. package/dist/client/assets/dist-BYBF4LtZ.js +1 -0
  210. package/dist/client/assets/{dist-TW8iFRyW.js → dist-B_1hMrc6.js} +1 -1
  211. package/dist/client/assets/{dist-DVy5woUy.js → dist-BfpAc922.js} +1 -1
  212. package/dist/client/assets/dist-BnVaoRgZ.js +1 -0
  213. package/dist/client/assets/dist-Bog8M5U3.js +13 -0
  214. package/dist/client/assets/{dist-jVU5Be5P.js → dist-CAG5sIOj.js} +1 -1
  215. package/dist/client/assets/{dist-LQ4kDCKz.js → dist-CKf7LlAo.js} +1 -1
  216. package/dist/client/assets/{dist-BeajGMhO.js → dist-CUsXdnU4.js} +1 -1
  217. package/dist/client/assets/{dist-Tw-Fxpeb.js → dist-CXOUa90Q.js} +1 -1
  218. package/dist/client/assets/dist-CYMCikZo.js +1 -0
  219. package/dist/client/assets/dist-CYfPeupF.js +1 -0
  220. package/dist/client/assets/dist-Ch6Sr9KF.js +28 -0
  221. package/dist/client/assets/dist-Ck-B8onw.js +2 -0
  222. package/dist/client/assets/dist-CrkYYcOU.js +1 -0
  223. package/dist/client/assets/{dist-D5wCC32z.js → dist-CsQTfQFi.js} +1 -1
  224. package/dist/client/assets/dist-Cu5Ze2cs.js +6 -0
  225. package/dist/client/assets/{dist-C5NgpdG5.js → dist-CvVoyTRF.js} +1 -1
  226. package/dist/client/assets/{dist-GvvCNBe4.js → dist-D4kDR0g8.js} +1 -1
  227. package/dist/client/assets/dist-D8LnhZzy.js +1 -0
  228. package/dist/client/assets/{dist-D3fehAZ2.js → dist-DGa-2MNX.js} +2 -2
  229. package/dist/client/assets/dist-DI6c02Da.js +39 -0
  230. package/dist/client/assets/{dist-BPHLJ09L.js → dist-DNONgI1P.js} +2 -2
  231. package/dist/client/assets/{dist-C0G3AaXG.js → dist-DVBYH83t.js} +1 -1
  232. package/dist/client/assets/dist-DX6qtdxv.js +1 -0
  233. package/dist/client/assets/{dist-DzNmC81X.js → dist-Da-jLrCf.js} +1 -1
  234. package/dist/client/assets/dist-DofvCYzJ.js +1 -0
  235. package/dist/client/assets/{dist-CdmKGRGr.js → dist-Dx37MHWs.js} +1 -1
  236. package/dist/client/assets/dist-GTGhtpyW.js +9 -0
  237. package/dist/client/assets/{dist-BK9QvQrc.js → dist-W0FoeIxk.js} +9 -9
  238. package/dist/client/assets/{dist-mj2Ht75J.js → dist-Y6zYRI-A.js} +1 -1
  239. package/dist/client/assets/{dist-netZOQtD.js → dist-jVKfryIL.js} +1 -1
  240. package/dist/client/assets/{dist-DuH3ZrHo.js → dist-zHDLm1oE.js} +1 -1
  241. package/dist/client/assets/document-formatter-gO8qM2qY.js +1 -0
  242. package/dist/client/assets/drawioEditor-DCkWweiy.js +9 -0
  243. package/dist/client/assets/duration-BiuFXtXd.js +1 -0
  244. package/dist/client/assets/ebnfDiagram-PWID7BFC-PfC84FyI.js +1 -0
  245. package/dist/client/assets/ebnfDiagram-ZINNZB2B-DYvm_QtE.js +1 -0
  246. package/dist/client/assets/editor-session-DxRyr4EM.js +14 -0
  247. package/dist/client/assets/el-GR-TYQHVGXW-Dx82YYAS.js +7 -0
  248. package/dist/client/assets/elk-276RUBZZ-B8LB3Pac.js +27 -0
  249. package/dist/client/assets/embedded-editor-base-elU0Avik.css +1 -0
  250. package/dist/client/assets/{embedpdf-DA4bA119-BPqZxwjc.js → embedpdf-DA4bA119-DsoNiPlQ.js} +4 -5
  251. package/dist/client/assets/{embedpdf-BmE13ZZ0.js → embedpdf-DyOonRvx.js} +1 -1
  252. package/dist/client/assets/{en-SJ2YIMFF-CJBL3nkq.js → en-GNC3RJIS-CEy_oGTd.js} +1 -1
  253. package/dist/client/assets/erDiagram-OPXOYQCR-o8GRv8A_.js +99 -0
  254. package/dist/client/assets/{erDiagram-RLTQ6QDP-CbrDdd5P.js → erDiagram-RLTQ6QDP-C9cJl5NB.js} +2 -2
  255. package/dist/client/assets/es-ES-JEUOREKJ-Rx0NUQDl.js +12 -0
  256. package/dist/client/assets/esm-BzZ1JFVo.js +65 -0
  257. package/dist/client/assets/{estree-CuT_pB8K.js → estree-DCT3Jm65.js} +4 -4
  258. package/dist/client/assets/eu-ES-SO5DEEAN-CDYm-BcK.js +8 -0
  259. package/dist/client/assets/eventmodeling-NTZA5JFV-CDy1bN6j.js +1 -0
  260. package/dist/client/assets/eventmodeling-NTZA5JFV-Dxtv5D-P.js +1 -0
  261. package/dist/client/assets/excalidraw-element-link-CGZ5934B.js +7 -0
  262. package/dist/client/assets/{excalidrawEditor-BbSbI80a.css → excalidrawEditor-BCTFp_CV.css} +1 -1
  263. package/dist/client/assets/excalidrawEditor-BVfSxjSO.js +9 -0
  264. package/dist/client/assets/export-page-BCo_e15t.js +46 -0
  265. package/dist/client/assets/exportDocument-Ba-n1X4U.css +1 -0
  266. package/dist/client/assets/exportDocument-DP6oE_or.js +2 -0
  267. package/dist/client/assets/fa-IR-I4JNTJHK-CFtHZqoT.js +9 -0
  268. package/dist/client/assets/fi-FI-REAEF6HQ-BIpjJqIb.js +6 -0
  269. package/dist/client/assets/file-search-3hYF4cYa.js +1 -0
  270. package/dist/client/assets/flowDiagram-HODETNUW-Bq4470NR.js +1 -0
  271. package/dist/client/assets/flowDiagram-KWPJA3E3-DQG9qGiU.js +1 -0
  272. package/dist/client/assets/forth-D6RzAl64.js +1 -0
  273. package/dist/client/assets/fr-FR-SUCL7J6B-DGAKE8jH.js +12 -0
  274. package/dist/client/assets/ganttDiagram-EL5Y4UJY-x40PW0Ah.js +292 -0
  275. package/dist/client/assets/ganttDiagram-FUAMR5RP-BQpsI7gQ.js +292 -0
  276. package/dist/client/assets/gitGraph-4MIJSDKK-B-rpDYbz.js +1 -0
  277. package/dist/client/assets/gitGraph-4MIJSDKK-ZaBIE4Lb.js +1 -0
  278. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-ahsNaZsp.js +106 -0
  279. package/dist/client/assets/gitGraphDiagram-X574FWY7-wbs_2m9f.js +106 -0
  280. package/dist/client/assets/gl-ES-KHCSOGVH-DWKh0CMu.js +6 -0
  281. package/dist/client/assets/graphlib-C9Tl7QrK.js +1 -0
  282. package/dist/client/assets/he-IL-JYXVXV2Q-zqbcM-4g.js +9 -0
  283. package/dist/client/assets/hi-IN-BU52H3BO-CY8v6eG9.js +3 -0
  284. package/dist/client/assets/highlight-theme-CzNkO-IJ.js +1 -0
  285. package/dist/client/assets/{html-Cdnr2qzU.js → html-CBXMuS97.js} +2 -2
  286. package/dist/client/assets/html-DTuc_pxj.js +1 -0
  287. package/dist/client/assets/hu-HU-OWADXDQ3-CEl6Udfh.js +3 -0
  288. package/dist/client/assets/id-ID-2WY7E4VX-CCAeQpPr.js +8 -0
  289. package/dist/client/assets/image-EJJKRVD3-BQfi5nWJ.js +1 -0
  290. package/dist/client/assets/{image-blob-reduce.esm-Dj7YBvMv.js → image-blob-reduce.esm-BFq-Mx5V.js} +2 -2
  291. package/dist/client/assets/index-BxAuGDoN.css +1 -0
  292. package/dist/client/assets/index-uw9O0z1c.js +1112 -0
  293. package/dist/client/assets/info-A6RAGUB7-BcGxhjED.js +1 -0
  294. package/dist/client/assets/info-A6RAGUB7-BlutK7BT.js +1 -0
  295. package/dist/client/assets/infoDiagram-27XIBGKW-MrZyptIy.js +2 -0
  296. package/dist/client/assets/infoDiagram-VRGFBTTK-KkUjDRAQ.js +2 -0
  297. package/dist/client/assets/{ishikawaDiagram-5VMMS53U-BMPC6hfp.js → ishikawaDiagram-5VMMS53U-Bnt9yM0O.js} +2 -2
  298. package/dist/client/assets/ishikawaDiagram-OU5B5YK6-Di9BcpOY.js +70 -0
  299. package/dist/client/assets/it-IT-INVHSAJF-DytAgndh.js +12 -0
  300. package/dist/client/assets/ja-JP-JBNTKYP4-BflWlGhw.js +12 -0
  301. package/dist/client/assets/javascript-B9I2pbsP.js +1 -0
  302. package/dist/client/assets/javascript-DctB8BJo.js +1 -0
  303. package/dist/client/assets/{journeyDiagram-3NMN7TZE-B1sApUmM.js → journeyDiagram-3NMN7TZE-Bl0abK1r.js} +1 -1
  304. package/dist/client/assets/journeyDiagram-ZHPQQLJL-J-sGrs9e.js +139 -0
  305. package/dist/client/assets/jsx-runtime-DKj5X9O4.js +1 -0
  306. package/dist/client/assets/kaa-TC3VIB7V-B-xtZfy0.js +1 -0
  307. package/dist/client/assets/kab-KAB-UOUDSQKM-BmO0O4Y4.js +4 -0
  308. package/dist/client/assets/kanban-definition-PNTS6WVX-5ZDV_yIa.js +89 -0
  309. package/dist/client/assets/{kanban-definition-UXKFOSKX-C9yP4td1.js → kanban-definition-UXKFOSKX-DMgUfNt0.js} +10 -10
  310. package/dist/client/assets/{katex-CXMH3UgJ.js → katex-9NBMfU68.js} +2 -2
  311. package/dist/client/assets/katex-ZlcWpGUi.js +257 -0
  312. package/dist/client/assets/kk-KZ-P5H2X7YS-CSQFB8IN.js +1 -0
  313. package/dist/client/assets/{km-KH-PCWDKPHP-DSmy5shj.js → km-KH-IHMV2US7-BxrjuEzr.js} +4 -4
  314. package/dist/client/assets/ko-KR-ZTMANIDF-BnNRXd5J.js +5 -0
  315. package/dist/client/assets/ku-TR-GPJTRB5G-BZM7f2aT.js +6 -0
  316. package/dist/client/assets/line-DEbP8Ok6.js +1 -0
  317. package/dist/client/assets/linear-DExL6ILt.js +1 -0
  318. package/dist/client/assets/lobby-presence-Cz5jGOPg.js +1 -0
  319. package/dist/client/assets/lt-LT-V3XDOK3P-MVQBOHmF.js +3 -0
  320. package/dist/client/assets/{lua-CL1SqxuB.js → lua-zbJo2mq3.js} +1 -1
  321. package/dist/client/assets/lv-LV-DVQ3FADO-CrenwAhS.js +4 -0
  322. package/dist/client/assets/{markdown-CByV-4CU.js → markdown-Bo71X2X2.js} +8 -8
  323. package/dist/client/assets/markdown-it-DpvIRaVq.js +13 -0
  324. package/dist/client/assets/markdown-math-CyyBVuDO.js +517 -0
  325. package/dist/client/assets/merge-CALoRt3l.js +1 -0
  326. package/dist/client/assets/mermaid-parser.core-Bpogunsh.js +3 -0
  327. package/dist/client/assets/mermaid-parser.core-DBy--Jc0.js +3 -0
  328. package/dist/client/assets/mermaid.core-BeOUPE3Q.js +10 -0
  329. package/dist/client/assets/mindmap-definition-NLK3R4M7-ByVb-0vj.js +96 -0
  330. package/dist/client/assets/{mindmap-definition-YA3MSWOX-BUQHcYbK.js → mindmap-definition-YA3MSWOX-DBZN5_GH.js} +29 -29
  331. package/dist/client/assets/mr-IN-VZ6HH5FE-B-PHPglH.js +9 -0
  332. package/dist/client/assets/my-MM-XYKWHRK6-Be5sYp5q.js +1 -0
  333. package/dist/client/assets/nb-NO-UNO2GGZJ-BvSKGdja.js +8 -0
  334. package/dist/client/assets/{nginx-BMaDbqW3.js → nginx-8H7HVH4w.js} +1 -1
  335. package/dist/client/assets/nl-NL-76EFHT4P-C2yNx1Cj.js +13 -0
  336. package/dist/client/assets/nn-NO-CFKD7ABE-4NsqlDRP.js +4 -0
  337. package/dist/client/assets/oc-FR-YBJTCJ3J-B4OTQsWW.js +4 -0
  338. package/dist/client/assets/pa-IN-SNOXSMRV-CKj_sOG7.js +4 -0
  339. package/dist/client/assets/packet-AYTQ26CC-CqpSjTWl.js +1 -0
  340. package/dist/client/assets/packet-AYTQ26CC-DvbY8dI6.js +1 -0
  341. package/dist/client/assets/pegDiagram-GJSIUBJH-aost1sSO.js +1 -0
  342. package/dist/client/assets/pegDiagram-XKGWAZYB-DRo8CZu3.js +1 -0
  343. package/dist/client/assets/percentages-LWOC67ZH-VhvllE7L.js +1 -0
  344. package/dist/client/assets/{pica-xkWDouSg.js → pica-BPrp-GK1.js} +1 -1
  345. package/dist/client/assets/pie-DzWLGKAD.js +1 -0
  346. package/dist/client/assets/pie-WAS4IAKB-Bg2eCNl5.js +1 -0
  347. package/dist/client/assets/pie-WAS4IAKB-DWSm9SSD.js +1 -0
  348. package/dist/client/assets/pieDiagram-5QR66LMP-BICdpEuz.js +39 -0
  349. package/dist/client/assets/pieDiagram-E7YTZNPT-CZThaHsc.js +39 -0
  350. package/dist/client/assets/pl-PL-BSY6YFZ3-CFuzA6L0.js +12 -0
  351. package/dist/client/assets/preload-helper-BAlEavIC.js +1 -0
  352. package/dist/client/assets/preview-render-compiler-ktU0SXxY.js +43 -0
  353. package/dist/client/assets/preview-render-profile-D652PAjA.js +1 -0
  354. package/dist/client/assets/preview-render-worker-BI2bFVqM.js +575 -0
  355. package/dist/client/assets/prod-DU-0VfI7.js +145 -0
  356. package/dist/client/assets/prod-cXUNdmYV.js +1 -0
  357. package/dist/client/assets/pt-BR-CZDV62R3-CkPMtyNx.js +10 -0
  358. package/dist/client/assets/pt-PT-JO57XJJW-CBSnfGtF.js +12 -0
  359. package/dist/client/assets/{pug-Wky5Dnfy.js → pug-CqqUmdG7.js} +1 -1
  360. package/dist/client/assets/purify.es-go7v6Te-.js +3 -0
  361. package/dist/client/assets/{quadrantDiagram-AXDQQJYC-DwexhEhd.js → quadrantDiagram-AXDQQJYC-C5iowkl_.js} +3 -3
  362. package/dist/client/assets/quadrantDiagram-O4NWA36T-Bgx5bF97.js +7 -0
  363. package/dist/client/assets/quick-switcher-De4PjZFC.css +1 -0
  364. package/dist/client/assets/quick-switcher-controller-DSlOwOsU.js +1 -0
  365. package/dist/client/assets/radar-RG4KPBEZ-BfNQUEQy.js +1 -0
  366. package/dist/client/assets/radar-RG4KPBEZ-DxExotg6.js +1 -0
  367. package/dist/client/assets/railroad-74A4TZTK-BaQ6U6eJ.js +1 -0
  368. package/dist/client/assets/railroad-74A4TZTK-FfHmeIQk.js +1 -0
  369. package/dist/client/assets/railroad-abnf-HS5TGJTU-BJ3KZw7J.js +1 -0
  370. package/dist/client/assets/railroad-abnf-HS5TGJTU-CLkdDRsJ.js +1 -0
  371. package/dist/client/assets/railroad-ebnf-LZEXJU2U-B162zvcG.js +1 -0
  372. package/dist/client/assets/railroad-ebnf-LZEXJU2U-DA0sEq7w.js +1 -0
  373. package/dist/client/assets/railroad-peg-WCYAUIDC-CGs5GeJ5.js +1 -0
  374. package/dist/client/assets/railroad-peg-WCYAUIDC-DCmlICzO.js +1 -0
  375. package/dist/client/assets/railroadDiagram-O6MQD6OU-BTt_rKjT.js +1 -0
  376. package/dist/client/assets/railroadDiagram-XR7U4H2S-DbVoNgSz.js +1 -0
  377. package/dist/client/assets/{requirementDiagram-BXWQKSXE-C4cKwiIw.js → requirementDiagram-BXWQKSXE-BkvazG7r.js} +1 -1
  378. package/dist/client/assets/requirementDiagram-PLB6GJNP-BT0j9C40.js +84 -0
  379. package/dist/client/assets/ro-RO-UZ5ICYYN-BOuntc_r.js +12 -0
  380. package/dist/client/assets/room-DX7lIfnu.js +1 -0
  381. package/dist/client/assets/ru-RU-AN7JPREC-D-ow3SNR.js +10 -0
  382. package/dist/client/assets/runtime-config-BFVdhnJu.js +1 -0
  383. package/dist/client/assets/runtime-paths-Cn0snt_9.js +1 -0
  384. package/dist/client/assets/sankeyDiagram-IPEJSGJF-X1BCUIrf.js +40 -0
  385. package/dist/client/assets/sankeyDiagram-P5KCCOFB-C_IemB9h.js +40 -0
  386. package/dist/client/assets/sankeyLinkHorizontal-usjP1-Cg.js +1 -0
  387. package/dist/client/assets/sequenceDiagram-PO4LG4MO-B-2QfXhV.js +169 -0
  388. package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-BX6jqJFD.js → sequenceDiagram-WJ2MYXX4-CxFBgLGd.js} +3 -3
  389. package/dist/client/assets/si-LK-7CBLD6QQ-c91EepX0.js +1 -0
  390. package/dist/client/assets/{sieve-BAxa3IjF.js → sieve-tLWDfEkZ.js} +1 -1
  391. package/dist/client/assets/sizeCapture-INFHLROL-B0uUizjq.js +1 -1
  392. package/dist/client/assets/sizeCapture-INFHLROL-DrzwYt5z.js +1 -0
  393. package/dist/client/assets/sk-SK-SWR6DKBI-D5vFMIL6.js +7 -0
  394. package/dist/client/assets/sl-SI-QY5KCFGA-RZhwMpQL.js +8 -0
  395. package/dist/client/assets/solr-B78wSQJQ.js +1 -0
  396. package/dist/client/assets/src-XiVvaevx.js +1 -0
  397. package/dist/client/assets/stateDiagram-D77RDMKH-BaSQ6Owj.js +1 -0
  398. package/dist/client/assets/stateDiagram-v2-GCMORJYK-CsVcfwVp.js +291 -0
  399. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-CLlwrdvU.js +1 -0
  400. package/dist/client/assets/sv-SE-O3OFCY3J-DnS86_7q.js +12 -0
  401. package/dist/client/assets/swimlanes-2SLR337P-CnYTVqRX.js +1 -0
  402. package/dist/client/assets/swimlanes-42K2YHIH-CALFEmiS.js +1 -0
  403. package/dist/client/assets/swimlanesDiagram-TC7HE7FX-Bh4tmz27.js +8 -0
  404. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-xhehUG9e.js +8 -0
  405. package/dist/client/assets/ta-IN-V6NHHU6Z-D5jy7_AE.js +6 -0
  406. package/dist/client/assets/th-TH-WLSZUSBX-DHehoYR2.js +1 -0
  407. package/dist/client/assets/{timeline-definition-24CTP7MA-BA-lVH6P.js → timeline-definition-24CTP7MA-zse-5Dbm.js} +5 -5
  408. package/dist/client/assets/timeline-definition-EJHVYXUP-BhqPlKkN.js +120 -0
  409. package/dist/client/assets/tr-TR-GUFYG22B-ClVaf8h1.js +4 -0
  410. package/dist/client/assets/treeView-Q6P3EWNA-BvHOzbu9.js +1 -0
  411. package/dist/client/assets/treeView-Q6P3EWNA-Cccy0ngL.js +1 -0
  412. package/dist/client/assets/treemap-CxZTjHiH.js +1 -0
  413. package/dist/client/assets/treemap-WGGIJYW6-oety7paS.js +1 -0
  414. package/dist/client/assets/treemap-WGGIJYW6-sMRCjCtX.js +1 -0
  415. package/dist/client/assets/uk-UA-K6SV5NFQ-BLTTtyNB.js +6 -0
  416. package/dist/client/assets/usecaseDiagram-POWQR4AR-DR2LHQYs.js +328 -0
  417. package/dist/client/assets/uz-UZ-TVKTZO2G-Bm02Eg3D.js +1 -0
  418. package/dist/client/assets/v4-DDdyfk2q.js +1 -0
  419. package/dist/client/assets/vault-api-client-BQxLVPeF.js +7 -0
  420. package/dist/client/assets/vault-paths-BT-6nztu.js +1 -0
  421. package/dist/client/assets/vault-utils-Bct69Xw2.js +1 -0
  422. package/dist/client/assets/venn.esm-C5rDfA9t.js +7 -0
  423. package/dist/client/assets/vennDiagram-4TSXK5OY-DgHr6cJD.js +28 -0
  424. package/dist/client/assets/vennDiagram-UO4OBE2U-BRwLn2Q1.js +28 -0
  425. package/dist/client/assets/{verilog-7LoJAqYT.js → verilog-CjI9Y6RI.js} +1 -1
  426. package/dist/client/assets/vi-VN-7FKFXJNO-CL3WPhmG.js +7 -0
  427. package/dist/client/assets/wardley-WFR3VGLG-BdwDpX_I.js +1 -0
  428. package/dist/client/assets/wardley-WFR3VGLG-Y7xty_3m.js +1 -0
  429. package/dist/client/assets/{wardleyDiagram-VM6X3IG4-C2oY-YbF.js → wardleyDiagram-VM6X3IG4-9A60XZis.js} +3 -3
  430. package/dist/client/assets/wardleyDiagram-VNRHLVJA-B_tMcVFG.js +78 -0
  431. package/dist/client/assets/wiki-link-resolver-Dch88erO.js +1 -0
  432. package/dist/client/assets/{worker-engine-m0rlHn8R-S8mpn_O0.js → worker-engine-m0rlHn8R-5h66k403.js} +1 -1
  433. package/dist/client/assets/workspace-change-CVA9dVmy.js +1 -0
  434. package/dist/client/assets/workspace-sync-client-C2pdaQUN.js +1 -0
  435. package/dist/client/assets/xychartDiagram-PMCCYNJV-fRpZ1MA5.js +7 -0
  436. package/dist/client/assets/xychartDiagram-S5SC5T6Z-D00iy-wB.js +7 -0
  437. package/dist/client/assets/{yaml-9ltHPDNO.js → yaml-BcZaqAz8.js} +1 -1
  438. package/dist/client/assets/yjs-B41tM6Sz.js +4 -0
  439. package/dist/client/assets/yjs-provider-reset-guard-DpntzUDR.js +1 -0
  440. package/dist/client/assets/zh-CN-AOKVLNNK-DGidDH2b.js +11 -0
  441. package/dist/client/assets/zh-HK-CDKPF5DC-CRcNR3rk.js +1 -0
  442. package/dist/client/assets/zh-TW-ZVGYESGW-C7Qji1y6.js +13 -0
  443. package/dist/client/drawio-editor.html +9 -9
  444. package/dist/client/excalidraw-editor.html +43 -38
  445. package/dist/client/export-document.html +6 -7
  446. package/dist/client/index.html +49 -38
  447. package/package.json +23 -26
  448. package/src/client/app/drawio-editor.html +2 -1
  449. package/src/client/app/excalidraw-editor.html +2 -1
  450. package/src/client/app/export-document-entry.js +1 -0
  451. package/src/client/app/export-document.html +2 -1
  452. package/src/client/app/index.html +47 -16
  453. package/src/client/app/main-entry.js +1 -19
  454. package/src/client/application/app-shell/comments-feature.js +6 -0
  455. package/src/client/application/app-shell/ui-feature-shell.js +156 -59
  456. package/src/client/application/app-shell/ui-feature-tab-activity.js +8 -3
  457. package/src/client/application/app-shell-elements.js +7 -0
  458. package/src/client/application/diagram-preview-hydrator.js +7 -0
  459. package/src/client/application/highlight-theme.js +16 -0
  460. package/src/client/application/mermaid-preview-hydrator.js +89 -3
  461. package/src/client/application/preview-diagram-utils.js +1 -0
  462. package/src/client/application/preview-render-compiler.js +45 -20
  463. package/src/client/application/preview-render-executor.js +4 -27
  464. package/src/client/application/preview-render-profile.js +8 -12
  465. package/src/client/application/preview-renderer.js +27 -7
  466. package/src/client/application/workspace-coordinator.js +20 -21
  467. package/src/client/bootstrap/collabmd-app-shell.js +87 -42
  468. package/src/client/bootstrap/lazy-collab-clients.js +90 -0
  469. package/src/client/browser-utils.js +1 -1
  470. package/src/client/domain/excalidraw-scene-reconcile.js +5 -2
  471. package/src/client/domain/excalidraw-scene.js +0 -11
  472. package/src/client/domain/file-search.js +1 -0
  473. package/src/client/domain/hash-routes.js +5 -0
  474. package/src/client/domain/highlight-runtime.js +74 -0
  475. package/src/client/domain/lobby-chat.js +2 -0
  476. package/src/client/domain/markdown-math.js +14 -0
  477. package/src/client/domain/runtime-paths.js +56 -7
  478. package/src/client/domain/vault-utils.js +11 -0
  479. package/src/client/excalidraw-editor.js +20 -4
  480. package/src/client/export/export-host.js +3 -7
  481. package/src/client/export/export-pipeline.js +208 -21
  482. package/src/client/infrastructure/auth-client.js +1 -2
  483. package/src/client/infrastructure/browser-preferences-port.js +24 -0
  484. package/src/client/infrastructure/editor-session.js +20 -0
  485. package/src/client/infrastructure/editor-view-adapter.js +51 -15
  486. package/src/client/infrastructure/excalidraw-room-client.js +11 -46
  487. package/src/client/infrastructure/git-api-client.js +5 -0
  488. package/src/client/infrastructure/hosted-api-client.js +60 -0
  489. package/src/client/infrastructure/lobby-presence.js +2 -2
  490. package/src/client/infrastructure/runtime-config.js +3 -1
  491. package/src/client/infrastructure/tab-activity-lock.js +8 -4
  492. package/src/client/infrastructure/webmcp-tool-registry.js +27 -6
  493. package/src/client/presentation/bases-preview-controller.js +2 -1
  494. package/src/client/presentation/comment-markdown-renderer.js +4 -14
  495. package/src/client/presentation/comment-overview-controller.js +1 -2
  496. package/src/client/presentation/comment-ui/comment-ui-shared.js +5 -2
  497. package/src/client/presentation/comment-ui-controller.js +21 -30
  498. package/src/client/presentation/create-menu-presenter.js +16 -18
  499. package/src/client/presentation/drawio-embed-controller.js +55 -7
  500. package/src/client/presentation/excalidraw-embed-controller.js +11 -3
  501. package/src/client/presentation/file-explorer-controller.js +4 -0
  502. package/src/client/presentation/file-explorer-view.js +304 -176
  503. package/src/client/presentation/file-history-view-controller.js +6 -0
  504. package/src/client/presentation/git-diff-view-controller.js +3 -2
  505. package/src/client/presentation/git-panel-controller.js +7 -6
  506. package/src/client/presentation/hosted-workspace-gate-controller.js +180 -0
  507. package/src/client/presentation/image-lightbox-controller.js +7 -6
  508. package/src/client/presentation/layout-controller.js +10 -1
  509. package/src/client/presentation/outline-controller.js +0 -86
  510. package/src/client/presentation/quick-switcher-controller.js +50 -13
  511. package/src/client/presentation/scroll-sync-controller.js +69 -21
  512. package/src/client/presentation/team-settings-controller.js +228 -0
  513. package/src/client/styles/components/navigation.css +2 -2
  514. package/src/client/styles/deferred-collab.css +6 -0
  515. package/src/client/styles/deferred-git.css +7 -0
  516. package/src/client/styles/deferred-preview.css +7 -0
  517. package/src/client/styles/features/diagram-preview.css +1 -15
  518. package/src/client/styles/features/outline.css +4 -2
  519. package/src/client/styles/features/preview-markdown.css +29 -15
  520. package/src/client/styles/features/team-settings.css +162 -0
  521. package/src/client/styles/foundation/themes.css +56 -271
  522. package/src/client/styles/foundation/tokens.css +2 -2
  523. package/src/client/styles/layout/editor-page.css +0 -14
  524. package/src/client/styles/layout/overlays.css +16 -0
  525. package/src/client/styles/layout/responsive.css +5 -5
  526. package/src/client/styles/layout/shell.css +26 -1
  527. package/src/client/styles/layout/sidebar.css +95 -3
  528. package/src/client/styles/style.css +3 -19
  529. package/src/client/styles/surfaces/landing-page.css +260 -0
  530. package/src/domain/agent-tool-definitions.js +182 -74
  531. package/src/domain/collabmd-content-capabilities.js +62 -7
  532. package/src/domain/collaboration-protocol.js +2 -0
  533. package/src/domain/excalidraw-agent-scene.js +108 -6
  534. package/src/domain/excalidraw-agent-verification.js +95 -1
  535. package/src/domain/excalidraw-room-codec.js +12 -1
  536. package/src/domain/literal-text-search.js +13 -0
  537. package/src/domain/markdown-outline.js +35 -0
  538. package/src/server/application/agent-connection-service.js +6 -2
  539. package/src/server/application/agent-content-service.js +250 -114
  540. package/src/server/auth/create-auth-service.js +40 -12
  541. package/src/server/auth/session-cookie.js +49 -38
  542. package/src/server/config/env.js +97 -6
  543. package/src/server/create-app-server.js +23 -153
  544. package/src/server/domain/backlink-index.js +1 -11
  545. package/src/server/domain/bases/base-query-results.js +7 -3
  546. package/src/server/domain/bases/base-query-service.js +2 -7
  547. package/src/server/domain/collaboration/collaboration-room.js +54 -16
  548. package/src/server/domain/docx-exporter.js +256 -2
  549. package/src/server/domain/hosted-workspace-contract.js +7 -0
  550. package/src/server/domain/hosted-workspace.js +39 -63
  551. package/src/server/domain/ripgrep-search-service.js +97 -34
  552. package/src/server/infrastructure/git/diff-service.js +15 -11
  553. package/src/server/infrastructure/git/git-service.js +4 -0
  554. package/src/server/infrastructure/git/image-mime.js +4 -3
  555. package/src/server/infrastructure/git/local-exclude.js +13 -1
  556. package/src/server/infrastructure/git/status-service.js +10 -6
  557. package/src/server/infrastructure/http/create-agent-api-handler.js +1 -1
  558. package/src/server/infrastructure/http/create-git-api-query-handler.js +25 -0
  559. package/src/server/infrastructure/http/create-hosted-api-handler.js +5 -0
  560. package/src/server/infrastructure/http/create-request-handler.js +95 -26
  561. package/src/server/infrastructure/http/create-static-handler.js +3 -0
  562. package/src/server/infrastructure/http/create-vault-api-query-handler.js +28 -55
  563. package/src/server/infrastructure/http/http-response.js +2 -0
  564. package/src/server/infrastructure/mcp/create-agent-mcp-handler.js +2 -1
  565. package/src/server/infrastructure/persistence/hosted-metadata-store.js +42 -5
  566. package/src/server/infrastructure/persistence/path-utils.js +23 -3
  567. package/src/server/infrastructure/persistence/pull-backup-store.js +52 -42
  568. package/src/server/infrastructure/persistence/sidecar-store.js +19 -9
  569. package/src/server/infrastructure/persistence/vault-file-store.js +57 -171
  570. package/src/server/infrastructure/plantuml/plantuml-renderer.js +33 -0
  571. package/src/server/infrastructure/structurizr/structurizr-workspace-service.js +24 -10
  572. package/src/server/infrastructure/websocket/attach-collaboration-gateway.js +55 -25
  573. package/src/server/infrastructure/websocket/client-socket-session.js +32 -4
  574. package/src/server/infrastructure/workspace/file-system-sync-service.js +4 -2
  575. package/src/server/shared/agent-tool-rate-limiter.js +7 -0
  576. package/src/server/startup/git-remote-bootstrap.js +56 -49
  577. package/src/server/vault-registry.js +251 -0
  578. package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-C-nmgL5g.js +0 -1
  579. package/dist/client/assets/abnfDiagram-VCTEODGH-CdVZqicp.js +0 -1
  580. package/dist/client/assets/ar-SA-PQUY64WN-xjXgbW6d.js +0 -10
  581. package/dist/client/assets/architecture-7GRP2DOG-BMOPAkUC.js +0 -1
  582. package/dist/client/assets/architectureDiagram-5GKGNRK7-wUo0bXif.js +0 -36
  583. package/dist/client/assets/az-AZ-OXJXL76K-4JkO4Pca.js +0 -1
  584. package/dist/client/assets/base-CaIEJUF9.css +0 -1
  585. package/dist/client/assets/bg-BG-W2GKIJDF-DnkH_o81.js +0 -5
  586. package/dist/client/assets/blockDiagram-I7D4REHJ-BRSK3m49.js +0 -129
  587. package/dist/client/assets/bn-BD-TGL7M4PJ-CG4JkmtP.js +0 -3
  588. package/dist/client/assets/bn-IN-BKETKYEH-CG4JkmtP.js +0 -3
  589. package/dist/client/assets/ca-ES-LD5SCRVV-U6_TVMX9.js +0 -8
  590. package/dist/client/assets/channel-Fa4GS_-F.js +0 -1
  591. package/dist/client/assets/chunk-2E4U76K2-BPnTT-J3.js +0 -2
  592. package/dist/client/assets/chunk-4HAMMTFA-DStbIfJ1.js +0 -62
  593. package/dist/client/assets/chunk-75Z2AOVW-C5pGd3W9.js +0 -2
  594. package/dist/client/assets/chunk-7XWMRXBY-CfMzEq80.js +0 -1
  595. package/dist/client/assets/chunk-DU6HZSFF-Zkp69c6c.js +0 -127
  596. package/dist/client/assets/chunk-GMAD6QVW-NZ6WpDb8.js +0 -72
  597. package/dist/client/assets/chunk-GVQU2GXP-D8SDprfX.js +0 -1
  598. package/dist/client/assets/chunk-L3NEJ4N5-aijKP-eh.js +0 -1
  599. package/dist/client/assets/chunk-OSK3NFVY-CCbLQAMa.js +0 -10
  600. package/dist/client/assets/chunk-POPQ4Y6H-CYnpIgXT.js +0 -1
  601. package/dist/client/assets/chunk-PWAF6VOD-JSNrcBmP.js +0 -1
  602. package/dist/client/assets/chunk-RM4UPSZO-DOWllDY8.js +0 -41
  603. package/dist/client/assets/chunk-TLUHSLCS-DTY5v0aj.js +0 -2
  604. package/dist/client/assets/classDiagram-ZZMXUADV-BsQWoR3Q.js +0 -1
  605. package/dist/client/assets/classDiagram-v2-VYDZK3BY-BsQWoR3Q.js +0 -1
  606. package/dist/client/assets/comment-thread-store-CX98zR6q.js +0 -1
  607. package/dist/client/assets/comment-threads-BnRwo5B9.js +0 -4
  608. package/dist/client/assets/cose-bilkent-JH36ORCC-Cm_QF_yb.js +0 -1
  609. package/dist/client/assets/cs-CZ-OFPU5DBV-BmFAIhqX.js +0 -7
  610. package/dist/client/assets/cynefin-OW5HDTMX-7tP7QfM3.js +0 -1
  611. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-rTz9RhFH.js +0 -62
  612. package/dist/client/assets/cytoscape.esm-B-NFISlW.js +0 -321
  613. package/dist/client/assets/da-DK-FRDJFYWF-H387Jw8B.js +0 -2
  614. package/dist/client/assets/dagre-PrKaheQc.js +0 -1
  615. package/dist/client/assets/de-CH-ZG7H3QK3-C_groygo.js +0 -11
  616. package/dist/client/assets/de-DE-SIJYH4IH-C_groygo.js +0 -11
  617. package/dist/client/assets/diagram-UQ7AKVKN-CNYlXtu4.js +0 -41
  618. package/dist/client/assets/diagram-VX7I27RA-CsJbsx5F.js +0 -24
  619. package/dist/client/assets/diagram-Z3DM3KII-D0mLxEgI.js +0 -24
  620. package/dist/client/assets/direct-engine-DdrQKpgq-CtKfQzCt.js +0 -5
  621. package/dist/client/assets/dist--hk9I5HQ.js +0 -1
  622. package/dist/client/assets/dist-B1XEa-Zs.js +0 -1
  623. package/dist/client/assets/dist-BJ1bJs33.js +0 -1
  624. package/dist/client/assets/dist-Bd1JucQF.js +0 -1
  625. package/dist/client/assets/dist-ByrG2qBA.js +0 -1
  626. package/dist/client/assets/dist-CKS_-are.js +0 -1
  627. package/dist/client/assets/dist-D37Hyu3h.js +0 -9
  628. package/dist/client/assets/dist-Dl_tpDSr.js +0 -1
  629. package/dist/client/assets/dist-Dm4w5UId.js +0 -1
  630. package/dist/client/assets/dist-DpYDHR9p.js +0 -6
  631. package/dist/client/assets/dist-JaU3aRlD.js +0 -19
  632. package/dist/client/assets/dist-RKBTaQMb.js +0 -13
  633. package/dist/client/assets/dist-eBx8q6Sy.js +0 -1
  634. package/dist/client/assets/document-formatter-rDDjRfZ2.js +0 -2
  635. package/dist/client/assets/drawioEditor-JubEEha7.js +0 -9
  636. package/dist/client/assets/ebnfDiagram-PWID7BFC-HeTxHpCU.js +0 -1
  637. package/dist/client/assets/editor-session-Bk6oIvSr.js +0 -54
  638. package/dist/client/assets/el-GR-IEE2CGI2-BkT6YT54.js +0 -7
  639. package/dist/client/assets/embedded-editor-base-BlCgz6mw.css +0 -1
  640. package/dist/client/assets/es-Bfdp096f.js +0 -22
  641. package/dist/client/assets/es-ES-TVVPWKV5-CpPKJXTM.js +0 -12
  642. package/dist/client/assets/eu-ES-CGBMFQDT-Bu3N2493.js +0 -8
  643. package/dist/client/assets/eventmodeling-NTZA5JFV-BR2FzK4R.js +0 -1
  644. package/dist/client/assets/excalidraw-element-link-YLIaTnVF.js +0 -7
  645. package/dist/client/assets/excalidrawEditor-dBMbRX_S.js +0 -9
  646. package/dist/client/assets/export-page-CRRQ2NEl.js +0 -57
  647. package/dist/client/assets/exportDocument-BlQRd9_m.js +0 -2
  648. package/dist/client/assets/exportDocument-CNSbjZwu.css +0 -1
  649. package/dist/client/assets/fa-IR-IE6XAPR4-BEvLCORD.js +0 -9
  650. package/dist/client/assets/fi-FI-P7TKNHRM-DI0q8iSX.js +0 -6
  651. package/dist/client/assets/file-icon-svg-Y_kpF957.js +0 -1
  652. package/dist/client/assets/file-search-DDLyyLDU.js +0 -1
  653. package/dist/client/assets/flowDiagram-HODETNUW-D5Gy0wmg.js +0 -1
  654. package/dist/client/assets/forth-Cezjo90N.js +0 -1
  655. package/dist/client/assets/fr-FR-QI2XZNT7-y8kXd8LA.js +0 -12
  656. package/dist/client/assets/ganttDiagram-EL5Y4UJY-BHgOYiZz.js +0 -292
  657. package/dist/client/assets/gitGraph-4MIJSDKK-DYlXv_yJ.js +0 -1
  658. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-Dl__X3Sk.js +0 -106
  659. package/dist/client/assets/gl-ES-TLYCNOZZ-Br-Fhff-.js +0 -6
  660. package/dist/client/assets/graphlib-DS17s2tU.js +0 -1
  661. package/dist/client/assets/he-IL-ZX43XLGP-qKQq6V9X.js +0 -9
  662. package/dist/client/assets/hi-IN-UTYRMTUF-DOUcwrDO.js +0 -3
  663. package/dist/client/assets/hu-HU-AJOSEBW6-FqTyvHlD.js +0 -3
  664. package/dist/client/assets/id-ID-ETLTVG6C-CQqh3CLS.js +0 -8
  665. package/dist/client/assets/image-ZVKINSPA-DgzW5zAy.js +0 -1
  666. package/dist/client/assets/index-D3RER1SZ.js +0 -1023
  667. package/dist/client/assets/index-DREVKl_K.css +0 -1
  668. package/dist/client/assets/info-A6RAGUB7-BlU-8_xu.js +0 -1
  669. package/dist/client/assets/infoDiagram-27XIBGKW-DBpoANC9.js +0 -2
  670. package/dist/client/assets/it-IT-B4B6TP6L-V-yK3SZz.js +0 -12
  671. package/dist/client/assets/ja-JP-IYKVURR5-BQKBXRpX.js +0 -12
  672. package/dist/client/assets/javascript-BWjar7HY.js +0 -1
  673. package/dist/client/assets/javascript-D-FtdkNC.js +0 -1
  674. package/dist/client/assets/jsx-runtime-BpzPEenQ.js +0 -1
  675. package/dist/client/assets/kaa-SE2BUIKX-CZ5kfwPg.js +0 -1
  676. package/dist/client/assets/kab-KAB-Y3GLKXLR-Do7GWfuN.js +0 -4
  677. package/dist/client/assets/kk-KZ-ABWUFVOH-BpqVciQz.js +0 -1
  678. package/dist/client/assets/ko-KR-7JQDXKGM-N42lep78.js +0 -5
  679. package/dist/client/assets/ku-TR-NAH2Q5B7-K8LLl9fk.js +0 -6
  680. package/dist/client/assets/line-BFl3ujec.js +0 -1
  681. package/dist/client/assets/linear-n-3HSMUF.js +0 -1
  682. package/dist/client/assets/lt-LT-VQFYRSNQ-BmOd0ALn.js +0 -3
  683. package/dist/client/assets/lv-LV-T62VSYUM-B22WdPhp.js +0 -4
  684. package/dist/client/assets/mermaid-parser.core-Bl0efOMt.js +0 -4
  685. package/dist/client/assets/mermaid.core-BrY09czX.js +0 -11
  686. package/dist/client/assets/mermaid.core-DfcNfOTv.js +0 -1
  687. package/dist/client/assets/modulepreload-polyfill-P2Xu9kJm.js +0 -1
  688. package/dist/client/assets/mr-IN-V4FHLCJE-XX069tpm.js +0 -9
  689. package/dist/client/assets/my-MM-E3SQ6E54-cst_-5SB.js +0 -1
  690. package/dist/client/assets/nb-NO-MLNOFN5H-Bu2URWko.js +0 -8
  691. package/dist/client/assets/nl-NL-D5L3ZV4M-BqrV0btt.js +0 -13
  692. package/dist/client/assets/nn-NO-NNHDGPKB-DK-xZaWM.js +0 -4
  693. package/dist/client/assets/oc-FR-DWCRF55G-BZ5Po5R6.js +0 -4
  694. package/dist/client/assets/pa-IN-3JSAY44M-BZQSjKrS.js +0 -4
  695. package/dist/client/assets/packet-AYTQ26CC-BSJEH9Lb.js +0 -1
  696. package/dist/client/assets/pegDiagram-XKGWAZYB-Bi2Iml7Z.js +0 -1
  697. package/dist/client/assets/percentages-ETZPVQEE-DFxFqXgH.js +0 -1
  698. package/dist/client/assets/pie-WAS4IAKB-qxv01Y8W.js +0 -1
  699. package/dist/client/assets/pieDiagram-E7YTZNPT-_gYXnMoi.js +0 -39
  700. package/dist/client/assets/pl-PL-ACURYKP3-qcEOSfCk.js +0 -12
  701. package/dist/client/assets/preload-helper-HclGiUj8.js +0 -1
  702. package/dist/client/assets/preview-render-compiler-CfxJYldJ.js +0 -41
  703. package/dist/client/assets/preview-render-compiler-Cu8_i9iS.js +0 -1
  704. package/dist/client/assets/preview-render-worker-c4Yi93qW.js +0 -66
  705. package/dist/client/assets/prod-BiJL30sl.js +0 -1
  706. package/dist/client/assets/prod-qAk7rHa4.js +0 -177
  707. package/dist/client/assets/pt-BR-LOX7MLGD-DLueHSyZ.js +0 -10
  708. package/dist/client/assets/pt-PT-CZ2U2RFQ-BJ-GAEm6.js +0 -12
  709. package/dist/client/assets/quick-switcher-controller-BoIK_wuG.js +0 -1
  710. package/dist/client/assets/radar-RG4KPBEZ-B6h6pWOs.js +0 -1
  711. package/dist/client/assets/railroad-74A4TZTK-CGtTWdGc.js +0 -1
  712. package/dist/client/assets/railroad-abnf-HS5TGJTU-Cq7y22IA.js +0 -1
  713. package/dist/client/assets/railroad-ebnf-LZEXJU2U-V0aQVv9m.js +0 -1
  714. package/dist/client/assets/railroad-peg-WCYAUIDC-BQiIsX_p.js +0 -1
  715. package/dist/client/assets/railroadDiagram-O6MQD6OU-BVA5UbMu.js +0 -1
  716. package/dist/client/assets/ro-RO-2HECL2X6-CJUvKAf0.js +0 -12
  717. package/dist/client/assets/ru-RU-HAYNXO46-BWSlvTrt.js +0 -10
  718. package/dist/client/assets/runtime-config-DcmnGcXU.js +0 -1
  719. package/dist/client/assets/sankeyDiagram-P5KCCOFB-B5HHkRT2.js +0 -40
  720. package/dist/client/assets/si-LK-W5KNS4H6-DGGCsn7k.js +0 -1
  721. package/dist/client/assets/sk-SK-7K2CFGDV-CY4uTYgQ.js +0 -7
  722. package/dist/client/assets/sl-SI-OXV2QZWW-2-weqaBY.js +0 -6
  723. package/dist/client/assets/solr-BBopId9w.js +0 -1
  724. package/dist/client/assets/src-oBChb5qS.js +0 -1
  725. package/dist/client/assets/stateDiagram-D77RDMKH-CmqxyRGx.js +0 -1
  726. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-zoLLQVyh.js +0 -1
  727. package/dist/client/assets/sv-SE-JTOBZRGL-9-IUtVkO.js +0 -12
  728. package/dist/client/assets/swimlanes-42K2YHIH-Bmgb9Zld.js +0 -1
  729. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DS-KQN37.js +0 -8
  730. package/dist/client/assets/ta-IN-KFAVKXGT-gHO6Q_DH.js +0 -6
  731. package/dist/client/assets/th-TH-VDMSCPDL-BvJuw6PJ.js +0 -1
  732. package/dist/client/assets/tr-TR-CEZ6GX45-CG6UU3Su.js +0 -4
  733. package/dist/client/assets/treeView-Q6P3EWNA-BTTYcvrF.js +0 -1
  734. package/dist/client/assets/treemap-WGGIJYW6-Cg7tyfH8.js +0 -1
  735. package/dist/client/assets/uk-UA-Q3H3OXQC-CSuIg_DY.js +0 -6
  736. package/dist/client/assets/uz-UZ-NGCSWWPX-mom7rxSP.js +0 -1
  737. package/dist/client/assets/vault-api-client-iZLhMJKe.js +0 -6
  738. package/dist/client/assets/vennDiagram-4TSXK5OY-DNdUC_Xj.js +0 -34
  739. package/dist/client/assets/vi-VN-P3NDEVPS-BB0Fu9ck.js +0 -7
  740. package/dist/client/assets/wardley-WFR3VGLG-C6N1rULY.js +0 -1
  741. package/dist/client/assets/wiki-link-resolver-DFIwErjc.js +0 -1
  742. package/dist/client/assets/xychartDiagram-S5SC5T6Z-CoIR8CBX.js +0 -7
  743. package/dist/client/assets/yjs-provider-reset-guard-9ul1qF6k.js +0 -4
  744. package/dist/client/assets/zh-CN-SS3O57GA-Bj8wsiMe.js +0 -11
  745. package/dist/client/assets/zh-HK-LWJT3VCF-DOTquTCh.js +0 -1
  746. package/dist/client/assets/zh-TW-VJXC72RT-B48PRo-l.js +0 -13
  747. package/integrations/pi/index.ts +0 -94
  748. package/src/server/domain/collaboration/protocol.js +0 -6
  749. /package/dist/client/assets/{vault-api-client-C3mlS_4N.css → auth-gate-C3mlS_4N.css} +0 -0
  750. /package/dist/client/assets/{base-BYODPHdS.js → github.min-DBihDoic.js} +0 -0
@@ -1,6 +0,0 @@
1
- import"./chunk-SRAX5OIU-KFQikY-4.js";var e={paste:`Вставити`,pasteAsPlaintext:`Вставити як текст`,pasteCharts:`Вставити діаграми`,chartType_bar:``,chartType_line:``,chartType_radar:``,chartType_plaintext:``,selectAll:`Вибрати все`,multiSelect:`Додати елемент до вибраного`,moveCanvas:`Перемістити полотно`,cut:`Вирізати`,copy:`Копіювати`,copyAsPng:`Копіювати як PNG`,copyAsSvg:`Копіювати як SVG`,copyText:`Копіювати як текст`,copySource:`Скопіювати джерело в буфер обміну`,convertToCode:`Перетворити у код`,bringForward:`Перемістити вперед`,sendToBack:`На задній план`,bringToFront:`На передній план`,sendBackward:`Перемістити назад`,delete:`Видалити`,copyStyles:`Копіювати стилі`,pasteStyles:`Вставити стилі`,stroke:`Контур`,changeStroke:`Змінити колір обведення`,background:`Тло`,changeBackground:`Змінити колір фону`,fill:`Заповнити`,strokeWidth:`Товщина контуру`,strokeStyle:`Стиль контуру`,strokeStyle_solid:`Суцільний`,strokeStyle_dashed:`Пунктир`,strokeStyle_dotted:`Крапки`,sloppiness:`Охайність`,pressure:``,pressure_constant:``,pressure_variable:``,opacity:`Прозорість`,textAlign:`Вирівнювання тексту`,edges:`Краї`,sharp:`Гострі`,round:`Круглі`,arrowheads:`Закінчення стрілки`,arrowhead_none:`Жоден`,arrowhead_arrow:`Стрілка`,arrowhead_bar:`Колона`,arrowhead_circle:`Коло`,arrowhead_circle_outline:`Коло (контур)`,arrowhead_triangle:`Трикутник`,arrowhead_triangle_outline:`Трикутник (контур)`,arrowhead_diamond:`Ромб`,arrowhead_diamond_outline:`Ромб (контур)`,arrowhead_crowfoot_many:``,arrowhead_crowfoot_one:``,arrowhead_crowfoot_one_or_many:``,arrowhead_cardinality_one:``,arrowhead_cardinality_many:``,arrowhead_cardinality_one_or_many:``,arrowhead_cardinality_exactly_one:``,arrowhead_cardinality_zero_or_one:``,arrowhead_cardinality_zero_or_many:``,more_options:`Інші опції`,cardinality:``,arrowtypes:`Тип стрілки`,arrowtype_sharp:`Гостра стрілка`,arrowtype_round:`Вигнута стрілка`,arrowtype_elbowed:`Прямокутна стрілка`,fontSize:`Розмір шрифту`,fontFamily:`Шрифт`,addWatermark:`Додати "Зроблено з Excalidraw"`,handDrawn:`Ручний апарат`,normal:`Звичайний`,code:`Код`,small:`Малий`,medium:`Середній`,large:`Великий`,veryLarge:`Дуже великий`,solid:`Суцільна`,hachure:`Штриховка`,zigzag:`Зиґзаґ`,crossHatch:`Перехресна штриховка`,thin:`Тонкий`,bold:`Жирний`,left:`Зліва`,center:`По центру`,right:`Справа`,extraBold:`Товстий`,architect:`Архітектор`,artist:`Художник`,cartoonist:`Карикатурист`,fileTitle:`Назва файла`,colorPicker:`Палітра кольорів`,canvasColors:`Використовується на полотні`,canvasBackground:`Тло полотна`,drawingCanvas:`Полотно`,clearCanvas:`Прозоре полотно`,layers:`Шари`,actions:`Дії`,language:`Мова`,liveCollaboration:`Спільна робота наживо...`,duplicateSelection:`Дублювати`,untitled:`Без назви`,name:`Ім’я`,yourName:`Ваше ім’я`,madeWithExcalidraw:`Зроблено з Excalidraw`,group:`Групувати виділене`,ungroup:`Розгрупувати виділене`,collaborators:`Співавтори`,toggleGrid:`Перемикати сітку`,addToLibrary:`Додати до бібліотеки`,removeFromLibrary:`Видалити з бібліотеки`,libraryLoadingMessage:`Завантаження бібліотеки…`,libraries:`Всі бібліотеки`,loadingScene:`Завантаження сцени…`,loadScene:`Завантажити сцену з файлу`,align:`Вирівнювання`,alignTop:`Вирівняти по верхньому краю`,alignBottom:`Вирівняти по нижньому краю`,alignLeft:`Вирівняти по лівому краю`,alignRight:`Вирівнювання по правому краю`,centerVertically:`Центрувати по вертикалі`,centerHorizontally:`Центрувати по горизонталі`,distributeHorizontally:`Розподілити по горизонталі`,distributeVertically:`Розподілити по вертикалі`,flipHorizontal:`Віддзеркалити горизонтально`,flipVertical:`Віддзеркалити вертикально`,viewMode:`Режим перегляду`,share:`Поділитися`,showStroke:`Показати палітру для контура`,showBackground:`Показати палітру для фону`,showFonts:`Показати засіб вибору шрифту`,toggleTheme:`Перемикати світлу/темну теми`,theme:`Тема`,personalLib:`Персональна бібліотека`,excalidrawLib:`Бібліотека Excalidraw`,decreaseFontSize:`Зменшити розмір шрифту`,increaseFontSize:`Збільшити розмір шрифту`,unbindText:`Відв'язати текст`,bindText:`Прив’язати текст до контейнера`,createContainerFromText:`Огорнути текст у контейнер`,link:{edit:`Редагування посилання`,editEmbed:`Редагувати вбудоване посилання`,create:`Додати посилання`,label:`Посилання`,labelEmbed:`Посилання і вкладення`,empty:`Посилання відсутнє`,hint:`Введіть або вставте ваше посилання тут`,goToElement:`Перейти до цільового елемента`},lineEditor:{edit:`Редагувати лінію`,editArrow:`Редагувати стрілку`},polygon:{breakPolygon:``,convertToPolygon:``},elementLock:{lock:`Блокувати`,unlock:`Розблокувати`,lockAll:`Заблокувати все`,unlockAll:`Розблокувати все`},statusPublished:`Опубліковано`,sidebarLock:`Не закривати бокове меню`,selectAllElementsInFrame:`Обрати всі елементи у фреймі`,removeAllElementsFromFrame:`Видалити всі елементи з фрейму`,eyeDropper:`Вибрати колір з полотна`,textToDiagram:`Діаграма з тексту`,prompt:`Запит`,followUs:`Підписатися`,discordChat:`Чат в Discord`,zoomToFitViewport:`Збільшити до розміру перегляду`,zoomToFitSelection:`Збільшити, щоб відповідати виділенню`,zoomToFit:`Збільшити, щоб умістити всі елементи`,installPWA:`Встановити Excalidraw локально (PWA)`,autoResize:`Увімкнути автоматичне змінення розміру тексту`,imageCropping:`Обрізка зображення`,unCroppedDimension:`Необрізаний розмір`,copyElementLink:`Копіювати посилання на об'єкт`,linkToElement:`Посилання на об’єкт`,wrapSelectionInFrame:`Обтікання виділеного фрагмента рамкою`,tab:``,shapeSwitch:``,preferences:``,preferences_toolLock:``,boxSelectionMode:``,boxSelectionContain:``,boxSelectionOverlap:``,arrowBinding:``,midpointSnapping:``},t={title:`Посилання на об’єкт`,desc:`Натисніть на фігуру на полотні або вставте посилання.`,notFound:`Зв'язаний об'єкт не знайдено на полотні.`},n={noItems:`Тут поки пусто...`,hint_emptyLibrary:`Виберіть об'єкт на полотні, щоб додати його сюди або встановіть бібліотеку з публічного репозиторію, що нижче.`,hint_emptyPrivateLibrary:`Виберіть елемент на полотні, щоб додати його сюди.`,search:{inputPlaceholder:``,heading:``,noResults:``,clearSearch:`Очистити пошук`}},r={title:`Знайти на полотні`,noMatch:`Збігів не знайдено...`,singleResult:`результат`,multipleResults:`результати`,placeholder:`Знайти текст на полотні...`,frames:``,texts:``},i={clearReset:`Очистити полотно`,exportJSON:`Експорт у файл`,exportImage:`Експорт зображення...`,export:`Зберегти як...`,copyToClipboard:`Скопіювати до буферу обміну`,copyLink:`Копіювати посилання`,save:`Зберегти до поточного файлу`,saveAs:`Зберегти як`,load:`Відкрити`,getShareableLink:`Отримати посилання`,close:`Закрити`,selectLanguage:`Обрати мову`,scrollBackToContent:`Повернутися до вмісту`,zoomIn:`Збільшити`,zoomOut:`Зменшити`,resetZoom:`Скинути масштаб`,menu:`Меню`,done:`Готово`,edit:`Редагувати`,undo:`Відмінити`,redo:`Повторити`,resetLibrary:`Очистити бібліотеку`,createNewRoom:`Створити нову кімнату`,fullScreen:`Повноекранний режим`,darkMode:`Темна тема`,lightMode:`Світла тема`,systemMode:`Системний режим`,zenMode:`Режим Дзен`,objectsSnapMode:`Прив'язати до об'єктів`,exitZenMode:`Вийти з дзен-режиму`,cancel:`Скасувати`,saveLibNames:``,clear:`Очистити`,remove:`Видалити`,embed:`Перемкнути вкладення`,publishLibrary:`Перейменувати або опублікувати`,submit:`Надіслати`,confirm:`Підтвердити`,embeddableInteractionButton:`Натисніть для взаємодії`},a={clearReset:`Це очистить все полотно. Впевнені?`,couldNotCreateShareableLink:`Не вдалося створити посилання.`,couldNotCreateShareableLinkTooBig:`Не вдалося створити посилання для обміну: сцена занадто велика`,couldNotLoadInvalidFile:`Файл з помилками не відкрився`,importBackendFailed:`Імпортування невдале.`,cannotExportEmptyCanvas:`Не вийшло експортувати пусте полотно.`,couldNotCopyToClipboard:`Не вдалося скопіювати до буфера обміну.`,decryptFailed:`Не вдалося розшифрувати дані.`,uploadedSecurly:`Це завантаження було захищене наскрізним шифруванням, а це означає що сервер Excalidraw та інші не зможуть прочитати вміст.`,loadSceneOverridePrompt:`Завантаження зовнішнього креслення замінить ваш наявний контент. Продовжити?`,collabStopOverridePrompt:`Зупинка сесії перезапише ваш попередній, локально збережений малюнок. Ви впевнені?
2
-
3
- (Якщо ви хочете зберегти локальний малюнок, просто закрийте замість нього вкладку браузера.)`,errorAddingToLibrary:`Не вдалося додати елемент до бібліотеки`,errorRemovingFromLibrary:`Не вдалося видалити елемент з бібліотеки`,confirmAddLibrary:`Це призведе до додавання {{numShapes}} фігур до вашої бібліотеки. Ви впевнені?`,imageDoesNotContainScene:`Виглядає ніби зображення не містить корисної інформації. Ви увімкнули вбудовування сцени при експорті?`,cannotRestoreFromImage:`Сцена не може бути відновлена з цього файлу зображення`,invalidSceneUrl:`Не вдалося імпортувати сцену з наданого URL. Він або недоформований, або не містить дійсних даних Excalidraw JSON.`,resetLibrary:`Це призведе до очищення бібліотеки. Ви впевнені?`,removeItemsFromsLibrary:`Видалити {{count}} елемент(ів) з бібліотеки?`,invalidEncryptionKey:`Ключ шифрування повинен бути довжиною до 22 символів. Спільну роботу вимкнено.`,collabOfflineWarning:`Немає підключення до Інтернету.
4
- Ваші зміни не будуть збережені!`,localStorageQuotaExceeded:``},o={unsupportedFileType:`Непідтримуваний тип файлу.`,imageInsertError:`Не вдалося вставити зображення. Повторіть спробу пізніше...`,fileTooBig:`Занадто великий розмір файлу, максимальний розмір файлу {{maxSize}}.`,svgImageInsertError:`Не вдалося вставити SVG-зображення. Помилка розмітки SVG.`,failedToFetchImage:`Не вдалося отримати зображення.`,cannotResolveCollabServer:`Не вдалося приєднатися до сервера. Перезавантажте сторінку та повторіть спробу.`,importLibraryError:`Не вдалося завантажити бібліотеку`,saveLibraryError:`Не вдалося зберегти бібліотеку в сховище. Збережіть свою бібліотеку у файл локально, щоб не втратити зміни.`,collabSaveFailed:`Не вдалося зберегти у базу даних сервера. Якщо проблеми не зникнуть, Вам слід зберегти файл локально, щоб не втратити роботу.`,collabSaveFailed_sizeExceeded:`Полотно завелике! Не вдалося зберегти у базу даних сервера. Вам слід зберегти файл локально, щоб не втратити свою роботу.`,imageToolNotSupported:`Зображення відключені.`,brave_measure_text_error:{line1:`Ви використовуєте браузер Brave з увімкненим налаштуванням <bold>Агресивного Блокування Розпізнавання Пристрою</bold>.`,line2:`Це може нашкодити <bold>текстовим елементам</bold> у ваших малюнках.`,line3:`Ми наполегливо рекомендуємо вимкнути це налаштування. Виконайте наступні <link>кроки</link>, щоб виправити це.`,line4:`Якщо вимкнення цього параметра не вирішує показ текстових елементів, тоді створіть, будь ласка, <issueLink>запит на розв'язання проблеми</issueLink> на нашому GitHub або напишіть нам у <discordLink>Discord</discordLink>`},libraryElementTypeError:{embeddable:`Вбудовані елементи не можна додати в бібліотеку.`,iframe:`Елементи iFrame не можна додати до бібліотеки.`,image:`Підтримка додавання зображень в бібліотеку найближчим часом!`},asyncPasteFailedOnRead:`Не вдалося вставити (неможливо прочитати з буфера обміну).`,asyncPasteFailedOnParse:`Не вдалося вставити.`,copyToSystemClipboardFailed:`Не вдалося скопіювати до буфера обміну.`},s={selection:`Виділення`,lasso:``,image:`Вставити зображення`,rectangle:`Прямокутник`,diamond:`Ромб`,ellipse:`Еліпс`,arrow:`Стрілка`,line:`Лінія`,freedraw:`Малювати`,text:`Текст`,library:`Бібліотека`,lock:`Залишити обраний інструмент активним після креслення`,penMode:`Режим пера - запобігання дотику`,link:`Додати/оновити посилання для вибраної форми`,eraser:`Гумка`,frame:`Інструмент фрейму`,magicframe:`Перетворити у код`,embeddable:`Веб вкладення`,laser:`Лазерний вказівник`,autoshape:``,hand:`Рука (інструмент для панорамування)`,extraTools:`Інші інструменти`,mermaidToExcalidraw:`Mermaid у Excalidraw`,convertElementType:``},c={rectangle:`Прямокутник`,diamond:`Ромб`,ellipse:`Еліпс`,arrow:`Стрілка`,line:`Лінія`,freedraw:`Малювання від руки`,text:`Текст`,image:`Зображення`,group:`Група`,frame:`Рамка`,magicframe:`Перетворити у код`,embeddable:`Веб вкладення`,selection:`Виділення`,iframe:`IFrame`},l={canvasActions:`Дії з полотном`,selectedShapeActions:`Вибрані дії з фігурою`,shapes:`Фігури`},u={dismissSearch:``,canvasPanning:``,linearElement:`Натисніть щоб додати кілька точок. Перетягніть щоб намалювати одну лінію`,arrowTool:``,arrowBindModifiers:``,freeDraw:`Натисніть і потягніть, відпустіть коли завершите`,text:`Порада: можна також додати текст, двічі клацнувши по будь-якому місці інструментом вибору`,embeddable:`Клікніть та перетягніть для створення вбудованого вебсайту`,autoshape:``,text_selected:``,text_editing:``,linearElementMulti:``,lockAngle:``,resize:``,resizeImage:``,rotate:``,toggleArrowhead:``,lineEditor_info:``,lineEditor_line_info:``,lineEditor_pointSelected:``,lineEditor_nothingSelected:``,publishLibrary:`Опублікувати свою власну бібліотеку`,bindTextToElement:`{{shortcut}} щоб додати текст`,createFlowchart:``,deepBoxSelect:``,eraserRevert:``,firefox_clipboard_write:`Цю функцію можна ввімкнути, встановивши значення "true" для налаштування "dom.events.asyncClipboard.clipboardItem". Перейдіть на сторінку «about:config», щоб змінити налаштування браузера у Firefox.`,disableSnapping:``,enterCropEditor:``,leaveCropEditor:``},d={cannotShowPreview:`Не вдається показати попередній перегляд`,canvasTooBig:`Полотно може бути завеликим.`,canvasTooBigTip:`Порада: спробуйте підсунути найвіддаленіші елементи ближче один до одного.`},f={headingMain:`Сталася помилка. Спробуйте <button>перезавантажити сторінку.</button>`,clearCanvasMessage:`Якщо перезавантаження не допоможе, спробуйте <button>очистити полотно.</button>`,clearCanvasCaveat:` Це призведе до втрати роботи `,trackedToSentry:`Помилка з ідентифікатором {{eventId}} було відслідковано в нашій системі.`,openIssueMessage:`Ми були дуже обережні, щоб не включати інформацію про ваші сцени в текст помилки. Якщо ваша сцена не була приватна, будь ласка, розгляньте можливість продовження на нашому <button>трекер помилок.</button> Будь ласка, додайте інформацію нижче, скопіюючи і вставляючи у GitHub issue.`,sceneContent:`Вміст сцени:`},p={or:`Або`},m={desc_intro:`Запросіть людей до співпраці над вашим малюнком.`,desc_privacy:`Не хвилюйтеся, сеанс наскрізно зашифрований і повністю приватний. Навіть наш сервер не бачить, що ви малюєте.`,button_startSession:`Почати сесію`,button_stopSession:`Закрити сесію`,desc_inProgressIntro:`Сесія спільної роботи над кресленням триває.`,desc_shareLink:`Поділіться цим посиланням з будь-ким для спільної роботи:`,desc_exitSession:`Зупинка сесії відключить вас від кімнати, але ви зможете продовжити роботу з полотном локально. Зверніть увагу, що це не вплине на інших людей, і вони все одно зможуть працювати над їх версією.`,shareTitle:`Приєднатися до сеансу спільної роботи на Excalidraw`},h={title:`Помилка`},g={title:``,defaultMessage:``},_={disk_title:`Зберегти на диск`,disk_details:`Експорт даних сцени в файл, з якого можна імпортувати пізніше.`,disk_button:`Зберегти до файлу`,link_title:`Доступ за посиланням`,link_details:`Експортувати як посилання тільки для читання.`,link_button:`Експортувати у посилання`,excalidrawplus_description:`Збережіть сцену у вашому обліковому записі Excalidraw+.`,excalidrawplus_button:`Експортувати`,excalidrawplus_exportError:`Не вдалося експортувати у Excalidraw+...`},v={blog:`Наш блог`,click:`натиснути`,deepSelect:`Глибокий вибір`,deepBoxSelect:`Глибоке виділення в межах рамки, та обмеження перетягування`,createFlowchart:`Створіть графік із загального елемента`,navigateFlowchart:`Перейти на графік`,curvedArrow:`Крива стрілка`,curvedLine:`Крива лінія`,documentation:`Документація`,doubleClick:`подвійний клік`,drag:`перетягнути`,editor:`Редактор`,editLineArrowPoints:`Редагувати лінію/стрілки`,editText:`Редагувати текст / додати позначку`,github:`Знайшли помилку? Повідомте`,howto:`Дотримуйтесь наших інструкцій`,or:`або`,preventBinding:`Запобігти зв'язування зі стрілками`,tools:`Інструменти`,shortcuts:`Гарячі клавіші`,textFinish:`Завершити редагування (текстовий редактор)`,textNewLine:`Додати новий рядок (текстовий редактор)`,title:`Допомога`,view:`Вигляд`,zoomToFit:`Збільшити щоб умістити всі елементи`,zoomToSelection:`Наблизити вибране`,toggleElementLock:`Заблокувати/розблокувати вибране`,movePageUpDown:`Пересунути сторінку вгору/вниз`,movePageLeftRight:`Пересунути сторінку вліво/вправо`,cropStart:`Обрізати зображення`,cropFinish:`Закінчити обрізку зображення`},y={title:`Очистити полотно`},b={title:`Опублікувати бібліотеку`,itemName:`Назва елементу`,authorName:`Ім'я автора`,githubUsername:`Ім'я користувача Github`,twitterUsername:`Ім'я користувача Twitter`,libraryName:`Назва бібліотеки`,libraryDesc:`Опис бібліотеки`,website:`Вебсайт`,placeholder:{authorName:`Ваше ім'я або ім'я користувача`,libraryName:`Назва вашої бібліотеки`,libraryDesc:`Опис вашої бібліотеки, щоб допомогти людям зрозуміти її використання`,githubHandle:`Ім'я користувача в GitHub (необов'язково), щоб ви могли редагувати бібліотеку під час перевірки`,twitterHandle:`Ім'я користувача у Twitter (необов'язково), щоб ми могли згадати вас під час промоції у Twitter`,website:`Посилання на ваш особистий сайт або інший сайт (опціонально)`},errors:{required:`Обов’язково`,website:`Введіть дійсну URL-адресу`},noteDescription:`Подати бібліотеку, щоб вона була включена до <link>публічного репозиторія бібліотек</link>для інших людей, для використання у їхніх полотнах.`,noteGuidelines:`Спочатку бібліотека повинна бути підтверджена. Будь ласка, прочитайте <link>настанови</link> перед відправкою. Вам знадобиться обліковий запис на GitHub, щоб колаборувати та вносити зміни, але це не обов'язково.`,noteLicense:`Публікуючи, ви погоджуєтеся, що бібліотека буде опублікована під <link>Ліцензія MIT, </link>, простими словами, це означає що нею зможе користуватися будь-хто без обмежень.`,noteItems:`Кожен об'єкт в бібліотеці повинен мати назву, це потрібно для пошуку та фільтрування. Наступні об'єкти бібліотеки будуть включені:`,atleastOneLibItem:`Будь ласка, виберіть принаймні один елемент бібліотеки, щоб почати`,republishWarning:`Зауважте, деякі з вибраних елементів позначені як вже опубліковані/надіслані. Ви повинні повторно надсилати елементи тільки при оновленні вже опублікованої бібліотеки чи при публікації бібліотеки.`},x={title:`Бібліотека відправлена`,content:`Дякуємо, {{authorName}}. Ваша бібліотека була відправлена для розгляду. Ви можете відстежувати статус<link>тут</link>`},S={resetLibrary:`Очистити бібліотеку`,removeItemsFromLib:`Видалити вибрані елементи з бібліотеки`},C={header:`Експортувати зображення`,label:{withBackground:`Тло`,onlySelected:`Тільки вибране`,darkMode:`Темний режим`,embedScene:`Вбудована сцена`,scale:`Масштабування`,padding:`Відступ`},tooltip:{embedScene:`Дані сцени будуть збережені в експортований файл PNG/SVG. Ця сцена може бути відновлена з нього, однак це збільшить розмір експортованого файлу.`},title:{exportToPng:`Експортувати в PNG`,exportToSvg:`Експортувати у SVG`,copyPngToClipboard:`Скопіювати PNG в буфер обміну`},button:{exportToPng:`PNG`,exportToSvg:`SVG`,copyPngToClipboard:`Копіювати в буфер обміну`}},w={tooltip:`Ваші креслення захищені наскрізним шифруванням — сервери Excalidraw ніколи їх не побачать.`,link:`Допис у блозі на наскрізному шифруванні в Excalidraw`},T={angle:`Кут`,shapes:`Форми`,height:`Висота`,scene:`Сцена`,selected:`Обрано`,storage:`Сховище`,fullTitle:`Властивості полотна та форми`,title:`Властивості`,generalStats:`Загальні`,elementProperties:`Властивості форми`,total:`Всього`,version:`Версія`,versionCopy:`Натисніть, щоб скопіювати`,versionNotAvailable:`Версія недоступна`,width:`Ширина`},E={addedToLibrary:`Додано до бібліотеки`,copyStyles:`Скопійовані стилі.`,copyToClipboard:`Скопіювати до буферу обміну.`,copyToClipboardAsPng:`Скопійовано {{exportSelection}} до буфера обміну як PNG
5
- ({{exportColorScheme}})`,copyToClipboardAsSvg:`Скопійовано {{exportSelection}} до буфера обміну як SVG
6
- ({{exportColorScheme}})`,fileSaved:`Файл збережено.`,fileSavedToFilename:`Збережено в {filename}`,canvas:`полотно`,selection:`виділення`,pasteAsSingleElement:`Використайте {{shortcut}} для вставки самостійного зразка або використайте в текстовому редакторі`,unableToEmbed:`Вбудування цієї url на даний час не допускається. Підніміть питання на GitHub, щоб попросити внести URL-адресу до білого списку`,unrecognizedLinkFormat:`Посилання, яке ви вставили, не відповідає очікуваному формату. Будь ласка, спробуйте вставити рядок "embed", наданий сайтом-джерелом`,elementLinkCopied:`Посилання скопійовано в буфер обміну`},D={transparent:`Прозорий`,black:`Чорний`,white:`Білий`,red:`Червоний`,pink:`Рожевий`,grape:`Виноградний`,violet:`Фіолетовий`,gray:`Сірий`,blue:`Синій`,cyan:`Ціан`,teal:`Бірюзовий`,green:`Зелений`,yellow:`Жовтий`,orange:`Помаранчевий`,bronze:`Бронзовий`},O={app:{center_heading:``,center_heading_line2:``,center_heading_line3:``,center_heading_plus:`Чи бажаєте перейти до Excalidraw+?`,menuHint:`Експорт, налаштування, мови, ...`},defaults:{menuHint:`Експорт, налаштування та багато іншого...`,center_heading:`Діаграми. Робити. Просто.`,toolbarHint:`Оберіть інструмент і почніть малювати!`,helpHint:`Гарячі клавіші і допомога`}},k={color:`Колір`,mostUsedCustomColors:`Найбільш використовувані користувацькі кольори`,colors:`Кольори`,shades:`Тіні`,hexCode:`Hex-код`,noShades:`Немає доступних відтінків цього кольору`,invalidColor:``,invalidHexLength:``},A={action:{exportToImage:{title:`Експортувати як зображення`,button:`Експортувати як зображення`,description:`Експорт даних сцени у вигляді зображення, з якого можна імпортувати пізніше.`},saveToDisk:{title:`Зберегти на диск`,button:`Зберегти на диск`,description:`Експорт даних сцени в файл, з якого можна імпортувати пізніше.`},excalidrawPlus:{title:`Excalidraw+`,button:`Експортувати до Excalidraw+`,description:`Зберегти сцену до робочого простору Excalidraw+.`}},modal:{loadFromFile:{title:`Завантажити з файлу`,button:`Завантажити з файлу`,description:`Завантаження з файлу <bold>замінить наявний вміст</bold>.<br></br>Ви можете спочатку створити резервну копію малюнка, скориставшись одним із наведених нижче способів.`},shareableLink:{title:`Завантажити з посилання`,button:`Замінити мій контент`,description:`Завантаження зовнішнього малюнка <bold>замінить ваш наявний вміст</bold>.<br></br>Ви можете спочатку створити резервну копію малюнка, скориставшись одним із наведених нижче способів.`}}},j={title:`Mermaid у Excalidraw`,button:`Вставити`,description:``,syntax:`Синтаксис Mermaid`,preview:`Попередній перегляд`,label:``,inputPlaceholder:``,autoFixAvailable:``},M={error:`Помилка!`},N={inputPlaceholder:``,inputPlaceholderWithMessages:``,generating:``,rateLimitRemaining:`Сьогодні залишилося {{count}} запитів`,role:{user:`Ви`,assistant:`ШІ-асистент`,system:`Система`},aiBeta:``,label:`Чат`,menu:`Меню`,newChat:`Новий чат`,deleteChat:`Видалити чат`,deleteMessage:`Видалити повідомлення`,viewAsMermaid:``,placeholder:{title:``,description:``,hint:``},preview:``,insert:`Вставити`,retry:`Спробувати знову`,errors:{promptTooShort:`Запит надто короткий (мін. {{min}} символів)`,promptTooLong:``,generationFailed:``,invalidDiagram:``,fixInMermaid:``,aiRepair:``,requestAborted:``,requestFailed:``,mermaidParseError:``},rateLimit:{messageLimit:``,generalRateLimit:``,messageLimitInputPlaceholder:`Ви досягли вашого ліміту повідомлень`},upsellBtnLabel:``},P={placeholder:`Швидкий пошук`},F={badge:{old:`старий`},sceneFonts:`На цій сцені`,availableFonts:`Доступні шрифти`,empty:`Шрифти не знайдено`},I={empty:`Користувачів не знайдено`,hint:{text:`Натисніть на користувача, щоб підписатися`,followStatus:`Ви вже підписані на цього користувача`,inCall:`Користувач здійснює голосовий виклик`,micMuted:`Мікрофон користувача вимкнено`,isSpeaking:`Користувач говорить`}},L={title:`Командна палітра`,shortcuts:{select:`Вибрати`,confirm:`Підтвердити`,close:`Закрити`},recents:`Нещодавно використані`,search:{placeholder:`Шукайте меню, команди та відкривайте приховані перлини`,noMatch:`Немає відповідних команд...`},itemNotAvailable:`Команда недоступна...`,shortcutHint:`Для панелі команд використовуйте {{shortcut}}`},R={ctrl:`Ctrl`,option:`Option`,cmd:`Cmd`,alt:`Alt`,escape:`Esc`,enter:`Enter`,shift:`Shift`,spacebar:`Space`,delete:`Delete`,mmb:`Коліщатко`},z={labels:e,elementLink:t,library:n,search:r,buttons:i,alerts:a,errors:o,toolBar:s,element:c,headings:l,hints:u,canvasError:d,errorSplash:f,shareDialog:p,roomDialog:m,errorDialog:h,progressDialog:g,exportDialog:_,helpDialog:v,clearCanvasDialog:y,publishDialog:b,publishSuccessDialog:x,confirmDialog:S,imageExportDialog:C,encrypted:w,stats:T,toast:E,colors:D,welcomeScreen:O,colorPicker:k,overwriteConfirm:A,mermaid:j,ttd:M,chat:N,quickSearch:P,fontList:F,userList:I,commandPalette:L,keys:R};export{a as alerts,i as buttons,d as canvasError,N as chat,y as clearCanvasDialog,k as colorPicker,D as colors,L as commandPalette,S as confirmDialog,z as default,c as element,t as elementLink,w as encrypted,h as errorDialog,f as errorSplash,o as errors,_ as exportDialog,F as fontList,l as headings,v as helpDialog,u as hints,C as imageExportDialog,R as keys,e as labels,n as library,j as mermaid,A as overwriteConfirm,g as progressDialog,b as publishDialog,x as publishSuccessDialog,P as quickSearch,m as roomDialog,r as search,p as shareDialog,T as stats,E as toast,s as toolBar,M as ttd,I as userList,O as welcomeScreen};
@@ -1 +0,0 @@
1
- import"./chunk-SRAX5OIU-KFQikY-4.js";var e={paste:``,pasteAsPlaintext:``,pasteCharts:``,chartType_bar:``,chartType_line:``,chartType_radar:``,chartType_plaintext:``,selectAll:``,multiSelect:``,moveCanvas:``,cut:``,copy:``,copyAsPng:``,copyAsSvg:``,copyText:``,copySource:``,convertToCode:``,bringForward:``,sendToBack:``,bringToFront:``,sendBackward:``,delete:``,copyStyles:``,pasteStyles:``,stroke:``,changeStroke:``,background:``,changeBackground:``,fill:``,strokeWidth:``,strokeStyle:``,strokeStyle_solid:``,strokeStyle_dashed:``,strokeStyle_dotted:``,sloppiness:``,pressure:``,pressure_constant:``,pressure_variable:``,opacity:``,textAlign:``,edges:``,sharp:``,round:``,arrowheads:``,arrowhead_none:``,arrowhead_arrow:``,arrowhead_bar:``,arrowhead_circle:``,arrowhead_circle_outline:``,arrowhead_triangle:``,arrowhead_triangle_outline:``,arrowhead_diamond:``,arrowhead_diamond_outline:``,arrowhead_crowfoot_many:``,arrowhead_crowfoot_one:``,arrowhead_crowfoot_one_or_many:``,arrowhead_cardinality_one:``,arrowhead_cardinality_many:``,arrowhead_cardinality_one_or_many:``,arrowhead_cardinality_exactly_one:``,arrowhead_cardinality_zero_or_one:``,arrowhead_cardinality_zero_or_many:``,more_options:``,cardinality:``,arrowtypes:``,arrowtype_sharp:``,arrowtype_round:``,arrowtype_elbowed:``,fontSize:``,fontFamily:``,addWatermark:``,handDrawn:``,normal:``,code:``,small:``,medium:``,large:``,veryLarge:``,solid:``,hachure:``,zigzag:``,crossHatch:``,thin:``,bold:``,left:``,center:``,right:``,extraBold:``,architect:``,artist:``,cartoonist:``,fileTitle:``,colorPicker:``,canvasColors:``,canvasBackground:``,drawingCanvas:``,clearCanvas:``,layers:``,actions:``,language:``,liveCollaboration:``,duplicateSelection:``,untitled:``,name:``,yourName:``,madeWithExcalidraw:``,group:``,ungroup:``,collaborators:``,toggleGrid:``,addToLibrary:``,removeFromLibrary:``,libraryLoadingMessage:``,libraries:``,loadingScene:``,loadScene:``,align:``,alignTop:``,alignBottom:``,alignLeft:``,alignRight:``,centerVertically:``,centerHorizontally:``,distributeHorizontally:``,distributeVertically:``,flipHorizontal:``,flipVertical:``,viewMode:``,share:``,showStroke:``,showBackground:``,showFonts:``,toggleTheme:``,theme:``,personalLib:``,excalidrawLib:``,decreaseFontSize:``,increaseFontSize:``,unbindText:``,bindText:``,createContainerFromText:``,link:{edit:``,editEmbed:``,create:``,label:``,labelEmbed:``,empty:``,hint:``,goToElement:``},lineEditor:{edit:``,editArrow:``},polygon:{breakPolygon:``,convertToPolygon:``},elementLock:{lock:``,unlock:``,lockAll:``,unlockAll:``},statusPublished:``,sidebarLock:``,selectAllElementsInFrame:``,removeAllElementsFromFrame:``,eyeDropper:``,textToDiagram:``,prompt:``,followUs:``,discordChat:``,zoomToFitViewport:``,zoomToFitSelection:``,zoomToFit:``,installPWA:``,autoResize:``,imageCropping:``,unCroppedDimension:``,copyElementLink:``,linkToElement:``,wrapSelectionInFrame:``,tab:``,shapeSwitch:``,preferences:``,preferences_toolLock:``,boxSelectionMode:``,boxSelectionContain:``,boxSelectionOverlap:``,arrowBinding:``,midpointSnapping:``},t={title:``,desc:``,notFound:``},n={noItems:``,hint_emptyLibrary:``,hint_emptyPrivateLibrary:``,search:{inputPlaceholder:``,heading:``,noResults:``,clearSearch:``}},r={title:``,noMatch:``,singleResult:``,multipleResults:``,placeholder:``,frames:``,texts:``},i={clearReset:``,exportJSON:``,exportImage:``,export:``,copyToClipboard:``,copyLink:``,save:``,saveAs:``,load:``,getShareableLink:``,close:``,selectLanguage:``,scrollBackToContent:``,zoomIn:``,zoomOut:``,resetZoom:``,menu:``,done:``,edit:``,undo:``,redo:``,resetLibrary:``,createNewRoom:``,fullScreen:``,darkMode:``,lightMode:``,systemMode:``,zenMode:``,objectsSnapMode:``,exitZenMode:``,cancel:``,saveLibNames:``,clear:``,remove:``,embed:``,publishLibrary:``,submit:``,confirm:``,embeddableInteractionButton:``},a={clearReset:``,couldNotCreateShareableLink:``,couldNotCreateShareableLinkTooBig:``,couldNotLoadInvalidFile:``,importBackendFailed:``,cannotExportEmptyCanvas:``,couldNotCopyToClipboard:``,decryptFailed:``,uploadedSecurly:``,loadSceneOverridePrompt:``,collabStopOverridePrompt:``,errorAddingToLibrary:``,errorRemovingFromLibrary:``,confirmAddLibrary:``,imageDoesNotContainScene:``,cannotRestoreFromImage:``,invalidSceneUrl:``,resetLibrary:``,removeItemsFromsLibrary:``,invalidEncryptionKey:``,collabOfflineWarning:``,localStorageQuotaExceeded:``},o={unsupportedFileType:``,imageInsertError:``,fileTooBig:``,svgImageInsertError:``,failedToFetchImage:``,cannotResolveCollabServer:``,importLibraryError:``,saveLibraryError:``,collabSaveFailed:``,collabSaveFailed_sizeExceeded:``,imageToolNotSupported:``,brave_measure_text_error:{line1:``,line2:``,line3:``,line4:``},libraryElementTypeError:{embeddable:``,iframe:``,image:``},asyncPasteFailedOnRead:``,asyncPasteFailedOnParse:``,copyToSystemClipboardFailed:``},s={selection:``,lasso:``,image:``,rectangle:``,diamond:``,ellipse:``,arrow:``,line:``,freedraw:``,text:``,library:``,lock:``,penMode:``,link:``,eraser:``,frame:``,magicframe:``,embeddable:``,laser:``,autoshape:``,hand:``,extraTools:``,mermaidToExcalidraw:``,convertElementType:``},c={rectangle:``,diamond:``,ellipse:``,arrow:``,line:``,freedraw:``,text:``,image:``,group:``,frame:``,magicframe:``,embeddable:``,selection:``,iframe:``},l={canvasActions:``,selectedShapeActions:``,shapes:``},u={dismissSearch:``,canvasPanning:``,linearElement:``,arrowTool:``,arrowBindModifiers:``,freeDraw:``,text:``,embeddable:``,autoshape:``,text_selected:``,text_editing:``,linearElementMulti:``,lockAngle:``,resize:``,resizeImage:``,rotate:``,toggleArrowhead:``,lineEditor_info:``,lineEditor_line_info:``,lineEditor_pointSelected:``,lineEditor_nothingSelected:``,publishLibrary:``,bindTextToElement:``,createFlowchart:``,deepBoxSelect:``,eraserRevert:``,firefox_clipboard_write:``,disableSnapping:``,enterCropEditor:``,leaveCropEditor:``},d={cannotShowPreview:``,canvasTooBig:``,canvasTooBigTip:``},f={headingMain:``,clearCanvasMessage:``,clearCanvasCaveat:``,trackedToSentry:``,openIssueMessage:``,sceneContent:``},p={or:``},m={desc_intro:``,desc_privacy:``,button_startSession:``,button_stopSession:``,desc_inProgressIntro:``,desc_shareLink:``,desc_exitSession:``,shareTitle:``},h={title:``},g={title:``,defaultMessage:``},_={disk_title:``,disk_details:``,disk_button:``,link_title:``,link_details:``,link_button:``,excalidrawplus_description:``,excalidrawplus_button:``,excalidrawplus_exportError:``},v={blog:``,click:``,deepSelect:``,deepBoxSelect:``,createFlowchart:``,navigateFlowchart:``,curvedArrow:``,curvedLine:``,documentation:``,doubleClick:``,drag:``,editor:``,editLineArrowPoints:``,editText:``,github:``,howto:``,or:``,preventBinding:``,tools:``,shortcuts:``,textFinish:``,textNewLine:``,title:``,view:``,zoomToFit:``,zoomToSelection:``,toggleElementLock:``,movePageUpDown:``,movePageLeftRight:``,cropStart:``,cropFinish:``},y={title:``},b={title:``,itemName:``,authorName:``,githubUsername:``,twitterUsername:``,libraryName:``,libraryDesc:``,website:``,placeholder:{authorName:``,libraryName:``,libraryDesc:``,githubHandle:``,twitterHandle:``,website:``},errors:{required:``,website:``},noteDescription:``,noteGuidelines:``,noteLicense:``,noteItems:``,atleastOneLibItem:``,republishWarning:``},x={title:``,content:``},S={resetLibrary:``,removeItemsFromLib:``},C={header:``,label:{withBackground:``,onlySelected:``,darkMode:``,embedScene:``,scale:``,padding:``},tooltip:{embedScene:``},title:{exportToPng:``,exportToSvg:``,copyPngToClipboard:``},button:{exportToPng:``,exportToSvg:``,copyPngToClipboard:``}},w={tooltip:``,link:``},T={angle:``,shapes:``,height:``,scene:``,selected:``,storage:``,fullTitle:``,title:``,generalStats:``,elementProperties:``,total:``,version:``,versionCopy:``,versionNotAvailable:``,width:``},E={addedToLibrary:``,copyStyles:``,copyToClipboard:``,copyToClipboardAsPng:``,copyToClipboardAsSvg:``,fileSaved:``,fileSavedToFilename:``,canvas:``,selection:``,pasteAsSingleElement:``,unableToEmbed:``,unrecognizedLinkFormat:``,elementLinkCopied:``},D={transparent:``,black:``,white:``,red:``,pink:``,grape:``,violet:``,gray:``,blue:``,cyan:``,teal:``,green:``,yellow:``,orange:``,bronze:``},O={app:{center_heading:``,center_heading_line2:``,center_heading_line3:``,center_heading_plus:``,menuHint:``},defaults:{menuHint:``,center_heading:``,toolbarHint:``,helpHint:``}},k={color:``,mostUsedCustomColors:``,colors:``,shades:``,hexCode:``,noShades:``,invalidColor:``,invalidHexLength:``},A={action:{exportToImage:{title:``,button:``,description:``},saveToDisk:{title:``,button:``,description:``},excalidrawPlus:{title:``,button:``,description:``}},modal:{loadFromFile:{title:``,button:``,description:``},shareableLink:{title:``,button:``,description:``}}},j={title:``,button:``,description:``,syntax:``,preview:``,label:``,inputPlaceholder:``,autoFixAvailable:``},M={error:``},N={inputPlaceholder:``,inputPlaceholderWithMessages:``,generating:``,rateLimitRemaining:``,role:{user:``,assistant:``,system:``},aiBeta:``,label:``,menu:``,newChat:``,deleteChat:``,deleteMessage:``,viewAsMermaid:``,placeholder:{title:``,description:``,hint:``},preview:``,insert:``,retry:``,errors:{promptTooShort:``,promptTooLong:``,generationFailed:``,invalidDiagram:``,fixInMermaid:``,aiRepair:``,requestAborted:``,requestFailed:``,mermaidParseError:``},rateLimit:{messageLimit:``,generalRateLimit:``,messageLimitInputPlaceholder:``},upsellBtnLabel:``},P={placeholder:``},F={badge:{old:``},sceneFonts:``,availableFonts:``,empty:``},I={empty:``,hint:{text:``,followStatus:``,inCall:``,micMuted:``,isSpeaking:``}},L={title:``,shortcuts:{select:``,confirm:``,close:``},recents:``,search:{placeholder:``,noMatch:``},itemNotAvailable:``,shortcutHint:``},R={ctrl:``,option:``,cmd:``,alt:``,escape:``,enter:``,shift:``,spacebar:``,delete:``,mmb:``},z={labels:e,elementLink:t,library:n,search:r,buttons:i,alerts:a,errors:o,toolBar:s,element:c,headings:l,hints:u,canvasError:d,errorSplash:f,shareDialog:p,roomDialog:m,errorDialog:h,progressDialog:g,exportDialog:_,helpDialog:v,clearCanvasDialog:y,publishDialog:b,publishSuccessDialog:x,confirmDialog:S,imageExportDialog:C,encrypted:w,stats:T,toast:E,colors:D,welcomeScreen:O,colorPicker:k,overwriteConfirm:A,mermaid:j,ttd:M,chat:N,quickSearch:P,fontList:F,userList:I,commandPalette:L,keys:R};export{a as alerts,i as buttons,d as canvasError,N as chat,y as clearCanvasDialog,k as colorPicker,D as colors,L as commandPalette,S as confirmDialog,z as default,c as element,t as elementLink,w as encrypted,h as errorDialog,f as errorSplash,o as errors,_ as exportDialog,F as fontList,l as headings,v as helpDialog,u as hints,C as imageExportDialog,R as keys,e as labels,n as library,j as mermaid,A as overwriteConfirm,g as progressDialog,b as publishDialog,x as publishSuccessDialog,P as quickSearch,m as roomDialog,r as search,p as shareDialog,T as stats,E as toast,s as toolBar,M as ttd,I as userList,O as welcomeScreen};
@@ -1,6 +0,0 @@
1
- import{h as e,l as t,n}from"./runtime-config-DcmnGcXU.js";import{c as r,i,n as a,s as o}from"./browser-utils-DbXSMI-6.js";import{_ as s,a as c,f as l,h as u,m as d,s as f}from"./file-kind-BwMIcZbi.js";var p={enabled:!1,implemented:!0,loginEndpoint:`/api/auth/oidc/login`,passwordLabel:`Password`,provider:``,requiresLogin:!1,sessionEndpoint:`/api/auth/session`,statusEndpoint:`/api/auth/status`,strategy:`none`,submitLabel:`Continue`},m=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAIAAAABc2X6AAAGsklEQVR4Ae3cA3jsShgG4Gvbtu1js7aObdu2bdbudmvbtu1VtUg2ydw7x95mstnt5rZ5voflG80/fzL72L89bOsF94J7wWgb2dSgiAzpPHmwbfPK1qWzxDNsRdb6Ar2BgtF9hSbDRbYG4mk2beuXwm+Q89yV+TmAILgHptrb5DyPtg3LhBZjBCP+RovewNZlc2TOl8nGel0HA4LA4qPhkRSM6XcHoEYk86fIfT2AQqFzYIBjMncHofkoZBWNCM1GSq+cpdpadQIMKEoRzIeXIroEkW08TObpDAiiO8F4Tga85TBnoEc8xVKZm9UNYECS0stnBCP/Ud+AnJH/SC+eAiShPTDZ3CRZPIN9CUokC6ZSYqE2wHhmKhw/2TegR2RnSFSUaRaMJccLxg7QsAQhktkTAACaAmOxkbA80h2taKIZKWzR1BFWRAQLRvXhphYdDEtcWDxxU4sOhjdDkdVYbmrRwYAgJIums3RTNWrftbHz/AmZh5MiLBAGVqOdZ4+1790inmrFvpYZuPPEATWdknmT5f7eZEN9V2N7o9zPu3XNInQte2BlcYE6tVTbltXw4kf9h5QlhW3rliBr1QcDAODsjPFlhmelqfNvKQty4S9B0KoPVgTxmWk7Tx0COMZCF6GzA3ZC0LWMwJSsTWiOXj+O6iP382KzowAAvMOhaxmAqw/Ijr4tGPsHgnbsACwxlpNNPABIIv5LIvxpzOVlkdXPNMGK8CCudi2pFi+ovRFlwLOtc7/uUgvnxhxu05LpIyD17nTu+EAw8q9HaVtXzgcAcBUMcAER/sx9YBj5pdeExr897NLtT9TVcLgRTzVcgbyHBuc9L5n8PdLJzAEwmWP1KDCMMvTp9jWf3tbC1gdQKDgMBhRBRL0GYaojO35zxOo8fZjbz5ZAZz700Anm9pLI9g+yoY7bYKrJBWJoRpk8SJ0/fDoc13QuRuNdgMmydfTBZPkGdcDDd0q1EDkOVIKzTOiDKVGY7oPLmylVYCKlL30wIKW6D44tJlSCE76nC45+CwHXfWDfdKVKcMwHdMEJ33MC7JqEqwRHvEgXnDaYE+ArMayBB3ECDAennnVKn4tUDU74gS446k1OgB3i8Z41LHmkKHtW4eGfpRpctv5/VlomlxOsTR6kKQN1H1wnptiZHpYFv27pMbqus4kxOChbySzTz8loakfukhIkYKEBEBzw6SBXk79cLQ5lXv5XuxtJAaMDdA/v+JMydVs8irBnDvB+g9QbGeY1SUFg2gTn1JD0z+cdPIVaTbym0JemeQ6FzrtzJtdFm+DT4Rh9MD9DybxNmxL03mg3g/u0MP3cbWo6GrWjbZMBg/0Id6wqAcWwEX+F/10fVzPIe2jmRW3VTiP+VBjC4bU6KgMAID9qaQt9frl3P6hSndOaP7HrxdSYPQiH92QYhvAwTRH7KdSWBL9h5j4GeugkqDpWc1oZBqaelSGNwMWNJMLjUkHxBn//zwZeH3topr+7bWxDmia0AID17gok7aTTMrTnw1KsfZTPVMhAyj9uVl5lIexqcQLs4KFpYXjpSjQw3HwrIqCBQQ5mXsZInBWtoIOac1GOqrU4IsUJwOSllsmha5iZTf3npzXnqXka+1dFmzo4D9vZgQp2TsAZvrZUIC7729WSmRlmVfz+HGExKpUCVGJj1oSQlTd+SZ9Lm4bubqKvtTkmk+OAIRhu+zMu3jEwyqTQ1d7lofWdzV0VyWSxpPJkjpOB76z7fsPfjjOHHMhBb0QzAhMUMS18nRrgOzHkz96YdPR4toNTMT+gKjq4OtatNPBCvgfcp9PD1w/wsFP14y7WA4/zu9SudVWw8HKpUC4Zw5uOLmQ//c4fGrZL8iit+WEpvMmxAIZbtrCor7uNLpj/ubpk6N6Kh059M6tINl8Qh4UUHGa73wzjNGHQ4dj7wC6JOPtLACLqkvq4WeuE2cWi/+nLt0csOKnQ1CKP+IYMWELqgPnGiLVh6O7Go8GYZpfxpDbnwkaHjpj3JfLRV7Wgb01SARxIupc6wntyfGOG9pbikRQJmzvodRg7mRq2tkkm7IbFlhktBdaBS7SsPZx1haDIbltOSwGKXxl5px7UZGaEb8gXlerEgmmMxB2KfEciTKHRAsvbmPo0nVsST1BEdH3Kyrh9bJVlQ7wmbk05USSu0PUPPWjDOtxLg5bF7h7tM42B08x//o7U0/AmrCSV3PtYiwZpS3B13MHMS/DIz4rYaBO0VM93JpwbwaJtqNfEsbwZFgEL50VtgcJLBV6wK9aKtfd+cEkvuBfcC37k9h8VGR+csPdltgAAAABJRU5ErkJggg==`;function h(){return{...p,...n().auth??{}}}function g(){return e(window.location.hash).get(`auth_password`)||``}function _(){let t=e(window.location.hash);if(!t.has(`auth_password`))return;t.delete(`auth_password`);let n=t.toString(),r=`${window.location.pathname}${window.location.search}${n?`#${n}`:``}`;window.history.replaceState(null,``,r)}function v(t){let n=e(window.location.hash),r=n.get(t)||``;if(!r)return``;n.delete(t);let i=n.toString(),a=`${window.location.pathname}${window.location.search}${i?`#${i}`:``}`;return window.history.replaceState(null,``,a),r}function y(){return`${window.location.pathname}${window.location.search}${window.location.hash}`}async function b(e){let t=await fetch(e.statusEndpoint,{headers:{Accept:`application/json`}});return r(t,`Failed to read auth status`)}function x(e){let t=e?.auth??{};if(t.strategy!==`oidc`||t.provider!==`google`)return;let n=String(e?.user?.name??``).trim();if(n)try{window.localStorage.setItem(`collabmd-user-name`,n)}catch{}}async function S(e,t){let n=await fetch(e.sessionEndpoint,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({password:t})});return r(n,`Authentication failed`)}function C(){let e=document.createElement(`div`);e.className=`auth-gate-overlay`;let t=document.createElement(`section`);return t.className=`auth-gate-card`,e.append(t),{card:t,overlay:e}}function w(){let e=document.createElement(`span`);e.className=`auth-gate-button__icon`,e.setAttribute(`aria-hidden`,`true`);let t=document.createElement(`img`);return t.alt=``,t.decoding=`async`,t.height=20,t.loading=`eager`,t.src=m,t.width=20,e.append(t),e}function T(e,t,{errorMessage:n=``}){e.replaceChildren();let r=document.createElement(`h1`);r.textContent=`Authentication required`;let i=document.createElement(`p`);i.textContent=`Sign in with Google to join this session.`;let a=document.createElement(`div`);a.className=`auth-gate-actions`;let o=document.createElement(`button`);o.className=`ui-button ui-button--secondary auth-gate-button auth-gate-button--google`,o.type=`button`,o.append(w(),document.createTextNode(t.submitLabel||`Continue with Google`));let s=document.createElement(`div`);s.className=`auth-gate-error`,s.textContent=n,a.append(o),e.append(r,i,s,a),o.addEventListener(`click`,()=>{let e=new URL(t.loginEndpoint,window.location.origin);e.searchParams.set(`returnTo`,y()),window.location.assign(e.toString())})}function E(e,{title:t,body:n,secondaryActionLabel:r=``,onSecondaryAction:i=null}){e.replaceChildren();let a=document.createElement(`h1`);a.textContent=t;let o=document.createElement(`p`);if(o.textContent=n,e.append(a,o),r&&typeof i==`function`){let t=document.createElement(`button`);t.className=`ui-button ui-button--secondary auth-gate-secondary-button`,t.type=`button`,t.textContent=r,t.addEventListener(`click`,()=>{i()}),e.append(t)}}function D(e,t,{onSubmit:n}){e.replaceChildren();let r=document.createElement(`h1`);r.textContent=`Authentication required`;let i=document.createElement(`p`);i.textContent=`Enter the host password to join this shared session.`;let a=document.createElement(`form`);a.className=`auth-gate-form`;let o=document.createElement(`label`);o.className=`auth-gate-label`,o.textContent=t.passwordLabel;let s=document.createElement(`input`);s.className=`ui-input auth-gate-input`,s.type=`password`,s.name=`password`,s.autocomplete=`current-password`,s.required=!0;let c=document.createElement(`div`);c.className=`auth-gate-error`;let l=document.createElement(`div`);l.className=`auth-gate-actions`;let u=document.createElement(`button`);u.className=`ui-button ui-button--primary auth-gate-button`,u.type=`submit`,u.textContent=t.submitLabel,l.append(u),o.append(s),a.append(r,i,o,c,l),e.append(a),a.addEventListener(`submit`,e=>{e.preventDefault();let t=s.value;s.disabled=!0,u.disabled=!0,c.textContent=``,n(t).catch(e=>{c.textContent=e instanceof Error?e.message:`Authentication failed`,s.disabled=!1,u.disabled=!1,s.select(),s.focus()})}),queueMicrotask(()=>{s.focus()})}async function O(){let e=h();if(!e.enabled||e.strategy===`none`)return{authenticated:!0,auth:e};let{card:t,overlay:n}=C();document.body.append(n);let r=v(`auth_error`);return new Promise(i=>{let a=(t=null)=>{_(),x(t),n.remove(),i({authenticated:!0,auth:t?.auth??e,user:t?.user??null})};(async()=>{E(t,{body:`Checking access to this session…`,title:`CollabMD`});try{let t=await b(e);if(t.authenticated){a(t);return}}catch(e){E(t,{body:e instanceof Error?`${e.message} Refresh the page and try again.`:`Failed to contact the auth service. Refresh the page and try again.`,title:`Cannot verify access`});return}if(e.strategy===`password`){let n=g();if(n)try{_(),await S(e,n),a();return}catch{}D(t,e,{onSubmit:async t=>{await S(e,t),a()}});return}if(e.strategy===`oidc`){T(t,e,{errorMessage:r}),r=``;return}E(t,{body:`This authentication strategy is not available.`,title:`Authentication unavailable`})})()})}function k(e){return!e||e.repeat||!e.metaKey&&!e.ctrlKey||e.shiftKey||e.altKey?!1:String(e.key??``).toLowerCase()===`k`||e.code===`KeyK`}function A(e){let t=String(e??``).trim().replace(/\\/g,`/`);if(!t||t.startsWith(`/`))return``;let n=t.split(`/`).map(e=>e.trim()).filter(Boolean);return n.some(e=>e===`.`||e===`..`)?``:n.join(`/`)}function j(e,t){let n=A(e),r=A(t);return n?r?`${n}/${r}`:n:r}function M(e=``){return String(e??``).replace(/\/+$/u,``).split(`/`).filter(Boolean).pop()||``}function N(e=``){let t=String(e??``).replace(/\/+$/u,``),n=t.lastIndexOf(`/`);return n>=0?t.slice(0,n):``}function P(e,t){return e.toLowerCase().endsWith(t.toLowerCase())?e:`${e}${t}`}function F(e){return`# ${s(String(e??``).split(`/`).pop()||``)||`Untitled`}\n\n`}function I(e){let t=A(e),n=c(t)?t:`${t}.base`;return{content:[`views:`,` - type: table`,` name: Table`,` order:`,` - file.name`,``].join(`
2
- `),path:n}}function L(e){let t=A(e),n=l(t)?t:`${t}.mmd`;return{content:[`flowchart TD`,` A[Start] --> B{Decide}`,` B -->|Yes| C[Ship it]`,` B -->|No| D[Revise]`,``].join(`
3
- `),path:n}}function R(e){let t=A(e),n=f(t)?t:`${t}.drawio`;return{content:[`<mxfile host="app.diagrams.net" modified="2026-01-01T00:00:00.000Z" agent="CollabMD" version="24.7.17">`,` <diagram id="page-1" name="Page-1">`,` <mxGraphModel dx="1200" dy="800" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">`,` <root>`,` <mxCell id="0" />`,` <mxCell id="1" parent="0" />`,` </root>`,` </mxGraphModel>`,` </diagram>`,`</mxfile>`,``].join(`
4
- `),path:n}}function z(e){let t=A(e),n=d(t)?t:`${t}.puml`;return{content:[`@startuml`,`Alice -> Bob: Hello`,`@enduml`,``].join(`
5
- `),path:n}}function B(e){let t=A(e),n=u(t)?t:`${t}.dsl`;return{content:`workspace "CollabMD Example" "A small Structurizr workspace" {, model {, user = person "User" "Uses the system", system = softwareSystem "Example System" "The system being documented" {, web = container "Web Application" "Serves the user interface" "JavaScript" {, home = component "Home Page" "Shows the landing page" "React", editor = component "Editor" "Edits workspace content" "React", }, api = container "API" "Handles requests" "Node.js", }, user -> system "Uses", web -> api "Calls" "HTTPS/JSON", home -> editor "Links to", }, views {, systemContext system "Context" {, include *, autoLayout, }, container system "Containers" {, include *, autoLayout, }, component web "Components" {, include *, autoLayout, }, styles {, element "Person" {, shape person, }, }, },},`.split(`,`).join(`
6
- `),path:n}}function V(e){return encodeURIComponent(String(e??``))}async function H(e,{fallbackError:t,fallbackFileName:n}={}){let r=await fetch(e);if(!r.ok){let e=await r.json().catch(()=>({}));throw Error(e.error||t)}let o=await r.blob();return a(o,i(r.headers.get(`content-disposition`)||``,n),{removeDelayMs:0,revokeDelayMs:0}),r}var U={async readTree(){let e=await fetch(t(`/files`));return r(e,`Failed to load file tree`)},async callAgentTool(e,n,{signal:i}={}){let a=await fetch(t(`/agent/tools/${encodeURIComponent(e)}`),{body:JSON.stringify(n),headers:{"Content-Type":`application/json`},method:`POST`,signal:i});return r(a,`Failed to execute ${e}`)},async readCommentOverview(){let e=await fetch(t(`/comments/overview`));return r(e,`Failed to load comment overview`)},async readFile(e){let n=await fetch(t(`/file?path=${encodeURIComponent(e)}`));return r(n,`Failed to read file`)},async readBacklinks(e,{signal:n}={}){let i=await fetch(t(`/backlinks?file=${encodeURIComponent(e)}`),{signal:n}),a=await r(i,`Failed to load backlinks`);return Array.isArray(a.backlinks)?a.backlinks:[]},async syncStructurizrWorkspace({path:e,source:n}){let i=await fetch(t(`/structurizr/sync`),{body:JSON.stringify({path:e,source:n}),headers:{"Content-Type":`application/json`},method:`POST`});return r(i,`Failed to sync Structurizr workspace`)},async renderSvg(e){let n=await fetch(t(`/plantuml/render`),{body:JSON.stringify({source:e}),headers:{"Content-Type":`application/json`},method:`POST`}),i=await r(n,`Failed to render PlantUML`);if(!i.ok||typeof i.svg!=`string`)throw Error(i.error||`Failed to render PlantUML`);return i.svg},async searchText({limit:e=50,query:n=``,signal:i=null}={}){let a=new URLSearchParams({limit:String(e),q:String(n??``)}),o=await fetch(t(`/search?${a.toString()}`),{signal:i});return r(o,`Failed to search files`)},async queryBase({activeFilePath:e=``,path:n=``,search:i=``,source:a=null,sourcePath:o=``,view:s=``}={}){let c=await fetch(t(`/base/query`),{body:JSON.stringify({activeFilePath:e,path:n,search:i,source:a,sourcePath:o,view:s}),headers:{"Content-Type":`application/json`},method:`POST`});return r(c,`Failed to query base`)},async exportBaseCsv({activeFilePath:e=``,path:n=``,search:r=``,source:i=null,sourcePath:a=``,view:o=``}={}){let s=await fetch(t(`/base/export`),{body:JSON.stringify({activeFilePath:e,path:n,search:r,source:i,sourcePath:a,view:o}),headers:{"Content-Type":`application/json`},method:`POST`});if(!s.ok){let e=await s.json().catch(()=>({}));throw Error(e.error||`Failed to export base CSV`)}return{blob:await s.blob(),contentDisposition:s.headers.get(`content-disposition`)||``}},async queryBasePropertyValues({activeFilePath:e=``,path:n=``,propertyId:i=``,query:a=``,source:o=null,sourcePath:s=``,view:c=``}={}){let l=await fetch(t(`/base/property-values`),{body:JSON.stringify({activeFilePath:e,path:n,propertyId:i,query:a,source:o,sourcePath:s,view:c}),headers:{"Content-Type":`application/json`},method:`POST`});return r(l,`Failed to load base property values`)},async transformBase({activeFilePath:e=``,mutation:n=null,path:i=``,source:a=null,sourcePath:o=``,view:s=``}={}){let c=await fetch(t(`/base/transform`),{body:JSON.stringify({activeFilePath:e,mutation:n,path:i,source:a,sourcePath:o,view:s}),headers:{"Content-Type":`application/json`},method:`POST`});return r(c,`Failed to transform base`)},async createFile({content:e,path:n,requestId:i=null}){let a=await fetch(t(`/file`),{body:JSON.stringify({content:e,path:n}),headers:o(i,{"Content-Type":`application/json`}),method:`POST`});return r(a,`Failed to create file`)},async writeFile({content:e,path:n,requestId:i=null}){let a=await fetch(t(`/file`),{body:JSON.stringify({content:e,path:n}),headers:o(i,{"Content-Type":`application/json`}),method:`PUT`});return r(a,`Failed to write file`)},async renameFile({oldPath:e,newPath:n,requestId:i=null}){let a=await fetch(t(`/file`),{body:JSON.stringify({newPath:n,oldPath:e}),headers:o(i,{"Content-Type":`application/json`}),method:`PATCH`});return r(a,`Failed to rename file`)},async deleteFile(e,{requestId:n=null}={}){let i=await fetch(t(`/file?path=${encodeURIComponent(e)}`),{headers:n?o(n):void 0,method:`DELETE`});return r(i,`Failed to delete file`)},async createDirectory(e,{requestId:n=null}={}){let i=await fetch(t(`/directory`),{body:JSON.stringify({path:e}),headers:o(n,{"Content-Type":`application/json`}),method:`POST`});return r(i,`Failed to create folder`)},async renameDirectory({oldPath:e,newPath:n,requestId:i=null}){let a=await fetch(t(`/directory`),{body:JSON.stringify({newPath:n,oldPath:e}),headers:o(i,{"Content-Type":`application/json`}),method:`PATCH`});return r(a,`Failed to rename folder`)},async deleteDirectory(e,{recursive:n=!1,requestId:i=null}={}){let a=new URLSearchParams({path:String(e??``)});n&&a.set(`recursive`,`1`);let s=await fetch(t(`/directory?${a.toString()}`),{headers:i?o(i):void 0,method:`DELETE`});return r(s,`Failed to delete folder`)},async uploadImageAttachment({file:e,fileName:n=``,sourcePath:i}){let a=await fetch(t(`/attachments`),{body:e,headers:{"Content-Type":e?.type||`application/octet-stream`,"X-CollabMD-File-Name":V(n),"X-CollabMD-Source-Path":V(i)},method:`POST`});return r(a,`Failed to upload image`)},async uploadFile({file:e,path:n,requestId:i=null}){let a=await fetch(t(`/file/upload`),{body:e,headers:o(i,{"Content-Type":e?.type||`application/octet-stream`,"X-CollabMD-File-Path":V(n)}),method:`POST`});return r(a,`Failed to upload file`)},async downloadFile(e){let n=M(e)||`download`;return H(t(`/download/file?path=${encodeURIComponent(e)}`),{fallbackError:`Failed to download file`,fallbackFileName:n})},async downloadDirectory(e){let n=M(e)||`vault`;return H(t(`/download/directory?path=${encodeURIComponent(e)}`),{fallbackError:`Failed to download folder`,fallbackFileName:`${n}.zip`})}};export{F as a,B as c,N as d,A as f,R as i,P as l,O as m,j as n,L as o,k as p,I as r,z as s,U as t,M as u};
@@ -1,34 +0,0 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{p as t}from"./src-oBChb5qS.js";import{H as n,K as r,U as i,a,b as o,c as s,et as c,f as l,nt as u,rt as d,tt as f,v as p,w as m,y as h}from"./chunk-DU6HZSFF-Zkp69c6c.js";import{i as g}from"./chunk-75Z2AOVW-C5pGd3W9.js";import{t as _}from"./chunk-CLGD4ZFX-BMeArk03.js";import{t as v}from"./rough.esm-Dy-Kn_BL.js";var y=(e,t)=>u(e,`a`,-t),b=1e-10;function x(e,t){let n=C(e),r=n.filter(t=>S(t,e)),i=0,a=0,o=[];if(r.length>1){let t=O(r);for(let e=0;e<r.length;++e){let n=r[e];n.angle=Math.atan2(n.x-t.x,n.y-t.y)}r.sort((e,t)=>t.angle-e.angle);let n=r[r.length-1];for(let t=0;t<r.length;++t){let s=r[t];a+=(n.x+s.x)*(s.y-n.y);let c={x:(s.x+n.x)/2,y:(s.y+n.y)/2},l=null;for(let t=0;t<s.parentIndex.length;++t)if(n.parentIndex.includes(s.parentIndex[t])){let r=e[s.parentIndex[t]],i=Math.atan2(s.x-r.x,s.y-r.y),a=Math.atan2(n.x-r.x,n.y-r.y),o=a-i;o<0&&(o+=2*Math.PI);let u=a-o/2,d=T(c,{x:r.x+r.radius*Math.sin(u),y:r.y+r.radius*Math.cos(u)});d>r.radius*2&&(d=r.radius*2),(l==null||l.width>d)&&(l={circle:r,width:d,p1:s,p2:n,large:d>r.radius,sweep:!0})}l!=null&&(o.push(l),i+=w(l.circle.radius,l.width),n=s)}}else{let t=e[0];for(let n=1;n<e.length;++n)e[n].radius<t.radius&&(t=e[n]);let n=!1;for(let r=0;r<e.length;++r)if(T(e[r],t)>Math.abs(t.radius-e[r].radius)){n=!0;break}n?i=a=0:(i=t.radius*t.radius*Math.PI,o.push({circle:t,p1:{x:t.x,y:t.y+t.radius},p2:{x:t.x-b,y:t.y+t.radius},width:t.radius*2,large:!0,sweep:!0}))}return a/=2,t&&(t.area=i+a,t.arcArea=i,t.polygonArea=a,t.arcs=o,t.innerPoints=r,t.intersectionPoints=n),i+a}function S(e,t){return t.every(t=>T(e,t)<t.radius+b)}function C(e){let t=[];for(let n=0;n<e.length;++n)for(let r=n+1;r<e.length;++r){let i=D(e[n],e[r]);for(let e of i)e.parentIndex=[n,r],t.push(e)}return t}function w(e,t){return e*e*Math.acos(1-t/e)-(e-t)*Math.sqrt(t*(2*e-t))}function T(e,t){return Math.sqrt((e.x-t.x)*(e.x-t.x)+(e.y-t.y)*(e.y-t.y))}function E(e,t,n){if(n>=e+t)return 0;if(n<=Math.abs(e-t))return Math.PI*Math.min(e,t)*Math.min(e,t);let r=e-(n*n-t*t+e*e)/(2*n),i=t-(n*n-e*e+t*t)/(2*n);return w(e,r)+w(t,i)}function D(e,t){let n=T(e,t),r=e.radius,i=t.radius;if(n>=r+i||n<=Math.abs(r-i))return[];let a=(r*r-i*i+n*n)/(2*n),o=Math.sqrt(r*r-a*a),s=e.x+a*(t.x-e.x)/n,c=e.y+a*(t.y-e.y)/n,l=-(t.y-e.y)*(o/n),u=-(t.x-e.x)*(o/n);return[{x:s+l,y:c-u},{x:s-l,y:c+u}]}function O(e){let t={x:0,y:0};for(let n of e)t.x+=n.x,t.y+=n.y;return t.x/=e.length,t.y/=e.length,t}function k(e,t,n,r){r||={};let i=r.maxIterations||100,a=r.tolerance||1e-10,o=e(t),s=e(n),c=n-t;if(o*s>0)throw`Initial bisect points must have opposite signs`;if(o===0)return t;if(s===0)return n;for(let n=0;n<i;++n){c/=2;let n=t+c,r=e(n);if(r*o>=0&&(t=n),Math.abs(c)<a||r===0)return n}return t+c}function A(e){let t=Array(e);for(let n=0;n<e;++n)t[n]=0;return t}function j(e,t){return A(e).map(()=>A(t))}function M(e,t){let n=0;for(let r=0;r<e.length;++r)n+=e[r]*t[r];return n}function N(e){return Math.sqrt(M(e,e))}function P(e,t,n){for(let r=0;r<t.length;++r)e[r]=t[r]*n}function F(e,t,n,r,i){for(let a=0;a<e.length;++a)e[a]=t*n[a]+r*i[a]}function I(e,t,n){n||={};let r=n.maxIterations||t.length*200,i=n.nonZeroDelta||1.05,a=n.zeroDelta||.001,o=n.minErrorDelta||1e-6,s=n.minErrorDelta||1e-5,c=n.rho===void 0?1:n.rho,l=n.chi===void 0?2:n.chi,u=n.psi===void 0?-.5:n.psi,d=n.sigma===void 0?.5:n.sigma,f,p=t.length,m=Array(p+1);m[0]=t,m[0].fx=e(t),m[0].id=0;for(let n=0;n<p;++n){let r=t.slice();r[n]=r[n]?r[n]*i:a,m[n+1]=r,m[n+1].fx=e(r),m[n+1].id=n+1}function h(e){for(let t=0;t<e.length;t++)m[p][t]=e[t];m[p].fx=e.fx}let g=(e,t)=>e.fx-t.fx,_=t.slice(),v=t.slice(),y=t.slice(),b=t.slice();for(let t=0;t<r;++t){if(m.sort(g),n.history){let e=m.map(e=>{let t=e.slice();return t.fx=e.fx,t.id=e.id,t});e.sort((e,t)=>e.id-t.id),n.history.push({x:m[0].slice(),fx:m[0].fx,simplex:e})}f=0;for(let e=0;e<p;++e)f=Math.max(f,Math.abs(m[0][e]-m[1][e]));if(Math.abs(m[0].fx-m[p].fx)<o&&f<s)break;for(let e=0;e<p;++e){_[e]=0;for(let t=0;t<p;++t)_[e]+=m[t][e];_[e]/=p}let t=m[p];if(F(v,1+c,_,-c,t),v.fx=e(v),v.fx<m[0].fx)F(b,1+l,_,-l,t),b.fx=e(b),b.fx<v.fx?h(b):h(v);else if(v.fx>=m[p-1].fx){let n=!1;if(v.fx>t.fx?(F(y,1+u,_,-u,t),y.fx=e(y),y.fx<t.fx?h(y):n=!0):(F(y,1-u*c,_,u*c,t),y.fx=e(y),y.fx<v.fx?h(y):n=!0),n){if(d>=1)break;for(let t=1;t<m.length;++t)F(m[t],1-d,m[0],d,m[t]),m[t].fx=e(m[t])}}else h(v)}return m.sort(g),{fx:m[0].fx,x:m[0]}}function L(e,t,n,r,i,a,o){let s=n.fx,c=M(n.fxprime,t),l=s,u=s,d=c,f=0;i||=1,a||=1e-6,o||=.1;function p(u,f,p){for(let m=0;m<16;++m)if(i=(u+f)/2,F(r.x,1,n.x,i,t),l=r.fx=e(r.x,r.fxprime),d=M(r.fxprime,t),l>s+a*i*c||l>=p)f=i;else{if(Math.abs(d)<=-o*c)return i;d*(f-u)>=0&&(f=u),u=i,p=l}return 0}for(let m=0;m<10;++m){if(F(r.x,1,n.x,i,t),l=r.fx=e(r.x,r.fxprime),d=M(r.fxprime,t),l>s+a*i*c||m&&l>=u)return p(f,i,u);if(Math.abs(d)<=-o*c)return i;if(d>=0)return p(i,f,l);u=l,f=i,i*=2}return i}function R(e,t,n){let r={x:t.slice(),fx:0,fxprime:t.slice()},i={x:t.slice(),fx:0,fxprime:t.slice()},a=t.slice(),o,s,c=1,l;n||={},l=n.maxIterations||t.length*20,r.fx=e(r.x,r.fxprime),o=r.fxprime.slice(),P(o,r.fxprime,-1);for(let t=0;t<l;++t){if(c=L(e,o,r,i,c),n.history&&n.history.push({x:r.x.slice(),fx:r.fx,fxprime:r.fxprime.slice(),alpha:c}),!c)P(o,r.fxprime,-1);else{F(a,1,i.fxprime,-1,r.fxprime);let e=M(r.fxprime,r.fxprime),t=Math.max(0,M(a,i.fxprime)/e);F(o,t,o,-1,i.fxprime),s=r,r=i,i=s}if(N(r.fxprime)<=1e-5)break}return n.history&&n.history.push({x:r.x.slice(),fx:r.fx,fxprime:r.fxprime.slice(),alpha:c}),r}function ee(e,t={}){t.maxIterations=t.maxIterations||500;let n=t.initialLayout||ae,r=t.lossFunction||B,i=ne(e,t),a=n(i,t),o=Object.keys(a),s=[];for(let e of o)s.push(a[e].x),s.push(a[e].y);let c=I(e=>{let t={};for(let n=0;n<o.length;++n){let r=o[n];t[r]={x:e[2*n],y:e[2*n+1],radius:a[r].radius}}return r(t,i)},s,t).x;for(let e=0;e<o.length;++e){let t=o[e];a[t].x=c[2*e],a[t].y=c[2*e+1]}return a}var te=1e-10;function z(e,t,n){return Math.min(e,t)*Math.min(e,t)*Math.PI<=n+te?Math.abs(e-t):k(r=>E(e,t,r)-n,0,e+t)}function ne(e,t={}){let n=t.distinct,r=e.map(e=>Object.assign({},e));function i(e){return e.join(`;`)}if(n){let e=new Map;for(let t of r)for(let n=0;n<t.sets.length;n++){let r=String(t.sets[n]);e.set(r,t.size+(e.get(r)||0));for(let i=n+1;i<t.sets.length;i++){let n=String(t.sets[i]),a=`${r};${n}`,o=`${n};${r}`;e.set(a,t.size+(e.get(a)||0)),e.set(o,t.size+(e.get(o)||0))}}for(let t of r)t.sets.length<3&&(t.size=e.get(i(t.sets)))}let a=[],o=new Set;for(let e of r)if(e.sets.length===1)a.push(e.sets[0]);else if(e.sets.length===2){let t=e.sets[0],n=e.sets[1];o.add(i(e.sets)),o.add(i([n,t]))}a.sort((e,t)=>e===t?0:e<t?-1:1);for(let e=0;e<a.length;++e){let t=a[e];for(let n=e+1;n<a.length;++n){let e=a[n];o.has(i([t,e]))||r.push({sets:[t,e],size:0})}}return r}function re(e,t,n){let r=j(t.length,t.length),i=j(t.length,t.length);return e.filter(e=>e.sets.length===2).forEach(e=>{let a=n[e.sets[0]],o=n[e.sets[1]],s=z(Math.sqrt(t[a].size/Math.PI),Math.sqrt(t[o].size/Math.PI),e.size);r[a][o]=r[o][a]=s;let c=0;e.size+1e-10>=Math.min(t[a].size,t[o].size)?c=1:e.size<=1e-10&&(c=-1),i[a][o]=i[o][a]=c}),{distances:r,constraints:i}}function ie(e,t,n,r){for(let e=0;e<t.length;++e)t[e]=0;let i=0;for(let a=0;a<n.length;++a){let o=e[2*a],s=e[2*a+1];for(let c=a+1;c<n.length;++c){let l=e[2*c],u=e[2*c+1],d=n[a][c],f=r[a][c],p=(l-o)*(l-o)+(u-s)*(u-s),m=Math.sqrt(p),h=p-d*d;f>0&&m<=d||f<0&&m>=d||(i+=2*h*h,t[2*a]+=4*h*(o-l),t[2*a+1]+=4*h*(s-u),t[2*c]+=4*h*(l-o),t[2*c+1]+=4*h*(u-s))}}return i}function ae(e,t={}){let n=se(e,t),r=t.lossFunction||B;if(e.length>=8){let i=oe(e,t),a=r(i,e),o=r(n,e);a+1e-8<o&&(n=i)}return n}function oe(e,t={}){let n=t.restarts||10,r=[],i={};for(let t of e)t.sets.length===1&&(i[t.sets[0]]=r.length,r.push(t));let{distances:a,constraints:o}=re(e,r,i),s=N(a.map(N))/a.length;a=a.map(e=>e.map(e=>e/s));let c=(e,t)=>ie(e,t,a,o),l=null;for(let e=0;e<n;++e){let e=R(c,A(a.length*2).map(Math.random),t);(!l||e.fx<l.fx)&&(l=e)}let u=l.x,d={};for(let e=0;e<r.length;++e){let t=r[e];d[t.sets[0]]={x:u[2*e]*s,y:u[2*e+1]*s,radius:Math.sqrt(t.size/Math.PI)}}if(t.history)for(let e of t.history)P(e.x,s);return d}function se(e,t){let n=t&&t.lossFunction?t.lossFunction:B,r={},i={};for(let t of e)if(t.sets.length===1){let e=t.sets[0];r[e]={x:1e10,y:1e10,rowid:r.length,size:t.size,radius:Math.sqrt(t.size/Math.PI)},i[e]=[]}e=e.filter(e=>e.sets.length===2);for(let t of e){let e=t.weight==null?1:t.weight,n=t.sets[0],a=t.sets[1];t.size+te>=Math.min(r[n].size,r[a].size)&&(e=0),i[n].push({set:a,size:t.size,weight:e}),i[a].push({set:n,size:t.size,weight:e})}let a=[];Object.keys(i).forEach(e=>{let t=0;for(let n=0;n<i[e].length;++n)t+=i[e][n].size*i[e][n].weight;a.push({set:e,size:t})});function o(e,t){return t.size-e.size}a.sort(o);let s={};function c(e){return e.set in s}function l(e,t){r[t].x=e.x,r[t].y=e.y,s[t]=!0}l({x:0,y:0},a[0].set);for(let t=1;t<a.length;++t){let s=a[t].set,d=i[s].filter(c),f=r[s];if(d.sort(o),d.length===0)throw`ERROR: missing pairwise overlap information`;let p=[];for(var u=0;u<d.length;++u){let e=r[d[u].set],t=z(f.radius,e.radius,d[u].size);p.push({x:e.x+t,y:e.y}),p.push({x:e.x-t,y:e.y}),p.push({y:e.y+t,x:e.x}),p.push({y:e.y-t,x:e.x});for(let n=u+1;n<d.length;++n){let i=r[d[n].set],a=z(f.radius,i.radius,d[n].size),o=D({x:e.x,y:e.y,radius:t},{x:i.x,y:i.y,radius:a});p.push(...o)}}let m=1e50,h=p[0];for(let t of p){r[s].x=t.x,r[s].y=t.y;let i=n(r,e);i<m&&(m=i,h=t)}l(h,s)}return r}function B(e,t){let n=0;for(let r of t){if(r.sets.length===1)continue;let t;if(r.sets.length===2){let n=e[r.sets[0]],i=e[r.sets[1]];t=E(n.radius,i.radius,T(n,i))}else t=x(r.sets.map(t=>e[t]));let i=r.weight==null?1:r.weight;n+=i*(t-r.size)*(t-r.size)}return n}function ce(e,t){let n=0;for(let r of t){if(r.sets.length===1)continue;let t;if(r.sets.length===2){let n=e[r.sets[0]],i=e[r.sets[1]];t=E(n.radius,i.radius,T(n,i))}else t=x(r.sets.map(t=>e[t]));let i=r.weight==null?1:r.weight,a=Math.log((t+1)/(r.size+1));n+=i*a*a}return n}function le(e,t,n){if(n==null?e.sort((e,t)=>t.radius-e.radius):e.sort(n),e.length>0){let t=e[0].x,n=e[0].y;for(let r of e)r.x-=t,r.y-=n}if(e.length===2&&T(e[0],e[1])<Math.abs(e[1].radius-e[0].radius)&&(e[1].x=e[0].x+e[0].radius-e[1].radius-1e-10,e[1].y=e[0].y),e.length>1){let n=Math.atan2(e[1].x,e[1].y)-t,r=Math.cos(n),i=Math.sin(n);for(let t of e){let e=t.x,n=t.y;t.x=r*e-i*n,t.y=i*e+r*n}}if(e.length>2){let n=Math.atan2(e[2].x,e[2].y)-t;for(;n<0;)n+=2*Math.PI;for(;n>2*Math.PI;)n-=2*Math.PI;if(n>Math.PI){let t=e[1].y/(1e-10+e[1].x);for(let n of e){var r=(n.x+t*n.y)/(1+t*t);n.x=2*r-n.x,n.y=2*r*t-n.y}}}}function ue(e){e.forEach(e=>{e.parent=e});function t(e){return e.parent!==e&&(e.parent=t(e.parent)),e.parent}function n(e,n){let r=t(e);r.parent=t(n)}for(let t=0;t<e.length;++t)for(let r=t+1;r<e.length;++r){let i=e[t].radius+e[r].radius;T(e[t],e[r])+1e-10<i&&n(e[r],e[t])}let r=new Map;for(let n=0;n<e.length;++n){let i=t(e[n]).parent.setid;r.has(i)||r.set(i,[]),r.get(i).push(e[n])}return e.forEach(e=>{delete e.parent}),Array.from(r.values())}function V(e){let t=t=>({max:e.reduce((e,n)=>Math.max(e,n[t]+n.radius),-1/0),min:e.reduce((e,n)=>Math.min(e,n[t]-n.radius),1/0)});return{xRange:t(`x`),yRange:t(`y`)}}function de(e,t,n){t??=Math.PI/2;let r=me(e).map(e=>Object.assign({},e)),i=ue(r);for(let e of i){le(e,t,n);let r=V(e);e.size=(r.xRange.max-r.xRange.min)*(r.yRange.max-r.yRange.min),e.bounds=r}i.sort((e,t)=>t.size-e.size),r=i[0];let a=r.bounds,o=(a.xRange.max-a.xRange.min)/50;function s(e,t,n){if(!e)return;let i=e.bounds,s,c;if(t)s=a.xRange.max-i.xRange.min+o;else{s=a.xRange.max-i.xRange.max;let e=(i.xRange.max-i.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;e<0&&(s+=e)}if(n)c=a.yRange.max-i.yRange.min+o;else{c=a.yRange.max-i.yRange.max;let e=(i.yRange.max-i.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;e<0&&(c+=e)}for(let t of e)t.x+=s,t.y+=c,r.push(t)}let c=1;for(;c<i.length;)s(i[c],!0,!1),s(i[c+1],!1,!0),s(i[c+2],!0,!0),c+=3,a=V(r);return pe(r)}function fe(e,t,n,r,i){let a=me(e);t-=2*r,n-=2*r;let{xRange:o,yRange:s}=V(a);if(o.max===o.min||s.max===s.min)return console.log(`not scaling solution: zero size detected`),e;let c,l;if(i){let e=Math.sqrt(i/Math.PI)*2;c=t/e,l=n/e}else c=t/(o.max-o.min),l=n/(s.max-s.min);let u=Math.min(l,c),d=(t-(o.max-o.min)*u)/2,f=(n-(s.max-s.min)*u)/2;return pe(a.map(e=>({radius:u*e.radius,x:r+d+(e.x-o.min)*u,y:r+f+(e.y-s.min)*u,setid:e.setid})))}function pe(e){let t={};for(let n of e)t[n.setid]=n;return t}function me(e){return Object.keys(e).map(t=>Object.assign(e[t],{setid:t}))}function he(e={}){let t=!1,n=600,r=350,i=15,a=1e3,o=Math.PI/2,s=!0,c=null,l=!0,u=!0,d=null,f=null,p=!1,m=null,h=e&&e.symmetricalTextCentre?e.symmetricalTextCentre:!1,g={},_=e&&e.colourScheme?e.colourScheme:e&&e.colorScheme?e.colorScheme:[`#1f77b4`,`#ff7f0e`,`#2ca02c`,`#d62728`,`#9467bd`,`#8c564b`,`#e377c2`,`#7f7f7f`,`#bcbd22`,`#17becf`],v=0,y=function(e){if(e in g)return g[e];var t=g[e]=_[v];return v+=1,v>=_.length&&(v=0),t},b=ee,x=B;function S(g){let _=g.datum(),v=new Set;_.forEach(e=>{e.size==0&&e.sets.length==1&&v.add(e.sets[0])}),_=_.filter(e=>!e.sets.some(e=>v.has(e)));let S={},C={};if(_.length>0){let e=b(_,{lossFunction:x,distinct:p});s&&(e=de(e,o,f)),S=fe(e,n,r,i,c),C=ve(S,_,h)}let w={};_.forEach(e=>{e.label&&(w[e.sets]=e.label)});function T(e){if(e.sets in w)return w[e.sets];if(e.sets.length==1)return``+e.sets[0]}g.selectAll(`svg`).data([S]).enter().append(`svg`);let E=g.select(`svg`);t?E.attr(`viewBox`,`0 0 ${n} ${r}`):E.attr(`width`,n).attr(`height`,r);let D={},O=!1;E.selectAll(`.venn-area path`).each(function(e){let t=this.getAttribute(`d`);e.sets.length==1&&t&&!p&&(O=!0,D[e.sets[0]]=be(t))});function k(e){return t=>Ce(e.sets.map(e=>{let i=D[e],a=S[e];return i||={x:n/2,y:r/2,radius:1},a||={x:n/2,y:r/2,radius:1},{x:i.x*(1-t)+a.x*t,y:i.y*(1-t)+a.y*t,radius:i.radius*(1-t)+a.radius*t}}),m)}let A=E.selectAll(`.venn-area`).data(_,e=>e.sets),j=A.enter().append(`g`).attr(`class`,e=>`venn-area venn-${e.sets.length==1?`circle`:`intersection`}${e.colour||e.color?` venn-coloured`:``}`).attr(`data-venn-sets`,e=>e.sets.join(`_`)),M=j.append(`path`),N=j.append(`text`).attr(`class`,`label`).text(e=>T(e)).attr(`text-anchor`,`middle`).attr(`dy`,`.35em`).attr(`x`,n/2).attr(`y`,r/2);u&&(M.style(`fill-opacity`,`0`).filter(e=>e.sets.length==1).style(`fill`,e=>e.colour?e.colour:e.color?e.color:y(e.sets)).style(`fill-opacity`,`.25`),N.style(`fill`,t=>t.colour||t.color?`#FFF`:e.textFill?e.textFill:t.sets.length==1?y(t.sets):`#444`));function P(e){return typeof e.transition==`function`?e.transition(`venn`).duration(a):e}let F=g;O&&typeof F.transition==`function`?(F=P(g),F.selectAll(`path`).attrTween(`d`,k)):F.selectAll(`path`).attr(`d`,e=>Ce(e.sets.map(e=>S[e])),m);let I=F.selectAll(`text`).filter(e=>e.sets in C).text(e=>T(e)).attr(`x`,e=>Math.floor(C[e.sets].x)).attr(`y`,e=>Math.floor(C[e.sets].y));l&&(O?`on`in I?I.on(`end`,H(S,T)):I.each(`end`,H(S,T)):I.each(H(S,T)));let L=P(A.exit()).remove();typeof A.transition==`function`&&L.selectAll(`path`).attrTween(`d`,k);let R=L.selectAll(`text`).attr(`x`,n/2).attr(`y`,r/2);return d!==null&&(N.style(`font-size`,`0px`),I.style(`font-size`,d),R.style(`font-size`,`0px`)),{circles:S,textCentres:C,nodes:A,enter:j,update:F,exit:L}}return S.wrap=function(e){return arguments.length?(l=e,S):l},S.useViewBox=function(){return t=!0,S},S.width=function(e){return arguments.length?(n=e,S):n},S.height=function(e){return arguments.length?(r=e,S):r},S.padding=function(e){return arguments.length?(i=e,S):i},S.distinct=function(e){return arguments.length?(p=e,S):p},S.colours=function(e){return arguments.length?(y=e,S):y},S.colors=function(e){return arguments.length?(y=e,S):y},S.fontSize=function(e){return arguments.length?(d=e,S):d},S.round=function(e){return arguments.length?(m=e,S):m},S.duration=function(e){return arguments.length?(a=e,S):a},S.layoutFunction=function(e){return arguments.length?(b=e,S):b},S.normalize=function(e){return arguments.length?(s=e,S):s},S.scaleToFit=function(e){return arguments.length?(c=e,S):c},S.styled=function(e){return arguments.length?(u=e,S):u},S.orientation=function(e){return arguments.length?(o=e,S):o},S.orientationOrder=function(e){return arguments.length?(f=e,S):f},S.lossFunction=function(e){return arguments.length?(x=e==="default"?B:e===`logRatio`?ce:e,S):x},S}function H(e,t){return function(n){let r=this,i=e[n.sets[0]].radius||50,a=t(n)||``,o=a.split(/\s+/).reverse(),s=(a.length+o.length)/3,c=o.pop(),l=[c],u=0,d=1.1;r.textContent=null;let f=[];function p(e){let t=r.ownerDocument.createElementNS(r.namespaceURI,`tspan`);return t.textContent=e,f.push(t),r.append(t),t}let m=p(c);for(;c=o.pop(),c;){l.push(c);let e=l.join(` `);m.textContent=e,e.length>s&&m.getComputedTextLength()>i&&(l.pop(),m.textContent=l.join(` `),l=[c],m=p(c),u++)}let h=.35-u*d/2,g=r.getAttribute(`x`),_=r.getAttribute(`y`);f.forEach((e,t)=>{e.setAttribute(`x`,g),e.setAttribute(`y`,_),e.setAttribute(`dy`,`${h+t*d}em`)})}}function U(e,t,n){let r=t[0].radius-T(t[0],e);for(let n=1;n<t.length;++n){let i=t[n].radius-T(t[n],e);i<=r&&(r=i)}for(let t=0;t<n.length;++t){let i=T(n[t],e)-n[t].radius;i<=r&&(r=i)}return r}function ge(e,t,n){let r=[];for(let t of e)r.push({x:t.x,y:t.y}),r.push({x:t.x+t.radius/2,y:t.y}),r.push({x:t.x-t.radius/2,y:t.y}),r.push({x:t.x,y:t.y+t.radius/2}),r.push({x:t.x,y:t.y-t.radius/2});let i=r[0],a=U(r[0],e,t);for(let n=1;n<r.length;++n){let o=U(r[n],e,t);o>=a&&(i=r[n],a=o)}let o=I(n=>-1*U({x:n[0],y:n[1]},e,t),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,s={x:n?0:o[0],y:o[1]},c=!0;for(let t of e)if(T(s,t)>t.radius){c=!1;break}for(let e of t)if(T(s,e)<e.radius){c=!1;break}if(c)return s;if(e.length==1)return{x:e[0].x,y:e[0].y};let l={};return x(e,l),l.arcs.length===0?{x:0,y:-1e3,disjoint:!0}:l.arcs.length==1?{x:l.arcs[0].circle.x,y:l.arcs[0].circle.y}:t.length?ge(e,[]):O(l.arcs.map(e=>e.p1))}function _e(e){let t={},n=Object.keys(e);for(let e of n)t[e]=[];for(let r=0;r<n.length;r++){let i=n[r],a=e[i];for(let o=r+1;o<n.length;++o){let r=n[o],s=e[r],c=T(a,s);c+s.radius<=a.radius+1e-10?t[r].push(i):c+a.radius<=s.radius+1e-10&&t[i].push(r)}}return t}function ve(e,t,n){let r={},i=_e(e);for(let a=0;a<t.length;++a){let o=t[a].sets,s={},c={};for(let e=0;e<o.length;++e){s[o[e]]=!0;let t=i[o[e]];for(let e=0;e<t.length;++e)c[t[e]]=!0}let l=[],u=[];for(let t in e)t in s?l.push(e[t]):t in c||u.push(e[t]);let d=ge(l,u,n);r[o]=d,d.disjoint&&t[a].size>0&&console.log(`WARNING: area `+o+` not represented on screen`)}return r}function ye(e,t,n){let r=[];return r.push(`
2
- M`,e,t),r.push(`
3
- m`,-n,0),r.push(`
4
- a`,n,n,0,1,0,n*2,0),r.push(`
5
- a`,n,n,0,1,0,-n*2,0),r.join(` `)}function be(e){let t=e.split(` `);return{x:Number.parseFloat(t[1]),y:Number.parseFloat(t[2]),radius:-Number.parseFloat(t[4])}}function xe(e){if(e.length===0)return[];let t={};return x(e,t),t.arcs}function Se(e,t){if(e.length===0)return`M 0 0`;let n=10**(t||0),r=t==null?e=>e:e=>Math.round(e*n)/n;if(e.length==1){let t=e[0].circle;return ye(r(t.x),r(t.y),r(t.radius))}let i=[`
6
- M`,r(e[0].p2.x),r(e[0].p2.y)];for(let t of e){let e=r(t.circle.radius);i.push(`
7
- A`,e,e,0,+!!t.large,+!!t.sweep,r(t.p1.x),r(t.p1.y))}return i.join(` `)}function Ce(e,t){return Se(xe(e),t)}function we(e,t={}){let{lossFunction:n,layoutFunction:r=ee,normalize:i=!0,orientation:a=Math.PI/2,orientationOrder:o,width:s=600,height:c=350,padding:l=15,scaleToFit:u=!1,symmetricalTextCentre:d=!1,distinct:f,round:p=2}=t,m=r(e,{lossFunction:n==="default"||!n?B:n===`logRatio`?ce:n,distinct:f});i&&(m=de(m,a,o));let h=fe(m,s,c,l,u),g=ve(h,e,d),_=new Map(Object.keys(h).map(e=>[e,{set:e,x:h[e].x,y:h[e].y,radius:h[e].radius}])),v=e.map(e=>{let t=e.sets.map(e=>_.get(e)),n=xe(t);return{circles:t,arcs:n,path:Se(n,p),area:e,has:new Set(e.sets)}});function y(e){let t=``;for(let n of v)n.has.size>e.length&&e.every(e=>n.has.has(e))&&(t+=` `+n.path);return t}return v.map(({circles:e,arcs:t,path:n,area:r})=>({data:r,text:g[r.sets],circles:e,arcs:t,path:n,distinctPath:n+y(r.sets)}))}var W=(function(){var t=e(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[5,8],r=[7,8,11,12,17,19,22,24],i=[1,17],a=[1,18],o=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],s=[1,31],c=[1,39],l=[7,8,11,12,17,19,22,24,27],u=[1,57],d=[1,56],f=[1,58],p=[1,59],m=[1,60],h=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],g={trace:e(function(){},`trace`),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:`error`,5:`VENN`,7:`EOF`,8:`NEWLINE`,11:`TITLE`,12:`SET`,14:`BRACKET_LABEL`,15:`COLON`,16:`NUMERIC`,17:`UNION`,19:`TEXT`,20:`IDENTIFIER`,21:`STRING`,22:`INDENT_TEXT`,24:`STYLE`,27:`COMMA`,31:`HEXCOLOR`,32:`RGBCOLOR`,33:`RGBACOLOR`},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:e(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 1:return a[s-1];case 2:case 3:case 4:this.$=[];break;case 5:a[s-1].push(a[s]),this.$=a[s-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=a[s];break;case 8:r.setDiagramTitle(a[s].substr(6)),this.$=a[s].substr(6);break;case 9:r.addSubsetData([a[s]],void 0,void 0),r.setIndentMode&&r.setIndentMode(!0);break;case 10:r.addSubsetData([a[s-1]],a[s],void 0),r.setIndentMode&&r.setIndentMode(!0);break;case 11:r.addSubsetData([a[s-2]],void 0,parseFloat(a[s])),r.setIndentMode&&r.setIndentMode(!0);break;case 12:r.addSubsetData([a[s-3]],a[s-2],parseFloat(a[s])),r.setIndentMode&&r.setIndentMode(!0);break;case 13:if(a[s].length<2)throw Error(`union requires multiple identifiers`);r.validateUnionIdentifiers&&r.validateUnionIdentifiers(a[s]),r.addSubsetData(a[s],void 0,void 0),r.setIndentMode&&r.setIndentMode(!0);break;case 14:if(a[s-1].length<2)throw Error(`union requires multiple identifiers`);r.validateUnionIdentifiers&&r.validateUnionIdentifiers(a[s-1]),r.addSubsetData(a[s-1],a[s],void 0),r.setIndentMode&&r.setIndentMode(!0);break;case 15:if(a[s-2].length<2)throw Error(`union requires multiple identifiers`);r.validateUnionIdentifiers&&r.validateUnionIdentifiers(a[s-2]),r.addSubsetData(a[s-2],void 0,parseFloat(a[s])),r.setIndentMode&&r.setIndentMode(!0);break;case 16:if(a[s-3].length<2)throw Error(`union requires multiple identifiers`);r.validateUnionIdentifiers&&r.validateUnionIdentifiers(a[s-3]),r.addSubsetData(a[s-3],a[s-2],parseFloat(a[s])),r.setIndentMode&&r.setIndentMode(!0);break;case 17:case 18:case 19:r.addTextData(a[s-1],a[s],void 0);break;case 20:case 21:r.addTextData(a[s-2],a[s-1],a[s]);break;case 23:r.addStyleData(a[s-1],a[s]);break;case 24:case 25:case 26:var c=r.getCurrentSets();if(!c)throw Error(`text requires set`);r.addTextData(c,a[s],void 0);break;case 27:case 28:var c=r.getCurrentSets();if(!c)throw Error(`text requires set`);r.addTextData(c,a[s-1],a[s]);break;case 29:case 41:this.$=[a[s]];break;case 30:case 42:this.$=[...a[s-2],a[s]];break;case 31:this.$=[a[s-2],a[s]];break;case 33:this.$=a[s].join(` `);break;case 34:this.$=[a[s]];break;case 35:a[s-1].push(a[s]),this.$=a[s-1];break;case 43:case 44:this.$=a[s]}},`anonymous`),table:[t(n,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(r,[2,4],{6:5}),t(n,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(r,[2,5]),t(r,[2,6]),t(r,[2,7]),t(r,[2,8]),{13:16,20:i,21:a},{13:20,18:19,20:i,21:a},{13:20,18:21,20:i,21:a},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:i,21:a},t(r,[2,9],{14:[1,27],15:[1,28]}),t(o,[2,43]),t(o,[2,44]),t(r,[2,13],{14:[1,29],15:[1,30],27:s}),t(o,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:s},t(r,[2,22]),t(r,[2,24],{14:[1,35]}),t(r,[2,25],{14:[1,36]}),t(r,[2,26]),{20:c,25:37,26:38,27:s},t(r,[2,10],{15:[1,40]}),{16:[1,41]},t(r,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:i,21:a},t(r,[2,17],{14:[1,45]}),t(r,[2,18],{14:[1,46]}),t(r,[2,19]),t(r,[2,27]),t(r,[2,28]),t(r,[2,23],{27:[1,47]}),t(l,[2,29]),{15:[1,48]},{16:[1,49]},t(r,[2,11]),{16:[1,50]},t(r,[2,15]),t(o,[2,42]),t(r,[2,20]),t(r,[2,21]),{20:c,26:51},{16:u,20:d,21:[1,53],28:52,29:54,30:55,31:f,32:p,33:m},t(r,[2,12]),t(r,[2,16]),t(l,[2,30]),t(l,[2,31]),t(l,[2,32]),t(l,[2,33],{30:61,16:u,20:d,31:f,32:p,33:m}),t(h,[2,34]),t(h,[2,36]),t(h,[2,37]),t(h,[2,38]),t(h,[2,39]),t(h,[2,40]),t(h,[2,35])],defaultActions:{6:[2,1]},parseError:e(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:e(function(t){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(t,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;this.parseError=typeof g.yy.parseError==`function`?g.yy.parseError:Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}e(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}e(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
8
- `+h.showPosition()+`
9
- Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(M,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:j})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:r.push(S),a.push(h.yytext),o.push(h.yylloc),r.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),E!==void 0)return E;k&&(r=r.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),r.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),A=s[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0},`parse`)};g.lexer=(function(){return{EOF:1,parseError:e(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:e(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=``,this.conditionStack=[`INITIAL`],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},`setInput`),input:e(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},`input`),unput:e(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:e(function(){return this._more=!0,this},`more`),reject:e(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(`Lexical error on line `+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
10
- `+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:e(function(e){this.unput(this.match.slice(e))},`less`),pastInput:e(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:e(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:e(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
11
- `+t+`^`},`showPosition`),test_match:e(function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=e[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},`test_match`),next:e(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,r;this._more||(this.yytext=``,this.match=``);for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(e=this.test_match(n,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[r]),e!==!1&&e):this._input===``?this.EOF:this.parseError(`Lexical error on line `+(this.yylineno+1)+`. Unrecognized text.
12
- `+this.showPosition(),{text:``,token:null,line:this.yylineno})},`next`),lex:e(function(){return this.next()||this.lex()},`lex`),begin:e(function(e){this.conditionStack.push(e)},`begin`),popState:e(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},`popState`),_currentRules:e(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},`_currentRules`),topState:e(function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:`INITIAL`},`topState`),pushState:e(function(e){this.begin(e)},`pushState`),stateStackSize:e(function(){return this.conditionStack.length},`stateStackSize`),options:{"case-insensitive":!0},performAction:e(function(e,t,n,r){switch(n){case 0:break;case 1:break;case 2:break;case 3:if(e.getIndentMode&&e.getIndentMode())return e.consumeIndentText=!0,this.begin(`INITIAL`),22;break;case 4:break;case 5:e.setIndentMode&&e.setIndentMode(!1),this.begin(`INITIAL`),this.unput(t.yytext);break;case 6:return this.begin(`bol`),8;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(e.consumeIndentText)e.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return t.yytext=t.yytext.slice(2,-2),14;case 17:return t.yytext=t.yytext.slice(1,-1).trim(),14;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},`anonymous`),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}}})();function _(){this.yy={}}return e(_,`Parser`),_.prototype=g,g.Parser=_,new _})();W.parser=W;var Te=W,G=[],K=[],q=[],J=new Set,Y,X=!1,Ee=e((e,t,n)=>{let r=Q(e).sort(),i=n??10/e.length**2;Y=r,r.length===1&&J.add(r[0]),G.push({sets:r,size:i,label:t?Z(t):void 0})},`addSubsetData`),De=e(()=>G,`getSubsetData`),Z=e(e=>{let t=e.trim();return t.length>=2&&t.startsWith(`"`)&&t.endsWith(`"`)?t.slice(1,-1):t},`normalizeText`),Oe=e(e=>e&&Z(e),`normalizeStyleValue`),ke=e((e,t,n)=>{let r=Z(t);K.push({sets:Q(e).sort(),id:r,label:n?Z(n):void 0})},`addTextData`),Ae=e((e,t)=>{let n=Q(e).sort(),r={};for(let[e,n]of t)r[e]=Oe(n)??n;q.push({targets:n,styles:r})},`addStyleData`),je=e(()=>q,`getStyleData`),Q=e(e=>e.map(e=>Z(e)),`normalizeIdentifierList`),Me=e(e=>{let t=Q(e).filter(e=>!J.has(e));if(t.length>0)throw Error(`unknown set identifier: ${t.join(`, `)}`)},`validateUnionIdentifiers`),Ne=e(()=>K,`getTextData`),Pe=e(()=>Y,`getCurrentSets`),Fe=e(()=>X,`getIndentMode`),Ie=e(e=>{X=e},`setIndentMode`),Le=l.venn;function Re(){return g(Le,o().venn)}e(Re,`getConfig`);var ze={getConfig:Re,clear:e(()=>{a(),G.length=0,K.length=0,q.length=0,J.clear(),Y=void 0,X=!1},`customClear`),setAccTitle:i,getAccTitle:h,setDiagramTitle:r,getDiagramTitle:m,getAccDescription:p,setAccDescription:n,addSubsetData:Ee,getSubsetData:De,addTextData:ke,addStyleData:Ae,validateUnionIdentifiers:Me,getTextData:Ne,getStyleData:je,getCurrentSets:Pe,getIndentMode:Fe,setIndentMode:Ie},Be=e(e=>`
13
- .venn-title {
14
- font-size: 32px;
15
- fill: ${e.vennTitleTextColor};
16
- font-family: ${e.fontFamily};
17
- }
18
-
19
- .venn-circle text {
20
- font-size: 48px;
21
- font-family: ${e.fontFamily};
22
- }
23
-
24
- .venn-intersection text {
25
- font-size: 48px;
26
- fill: ${e.vennSetTextColor};
27
- font-family: ${e.fontFamily};
28
- }
29
-
30
- .venn-text-node {
31
- font-family: ${e.fontFamily};
32
- color: ${e.vennSetTextColor};
33
- }
34
- `,`getStyles`);function Ve(e){let t=new Map;for(let n of e){let e=n.targets.join(`|`),r=t.get(e);r?Object.assign(r,n.styles):t.set(e,{...n.styles})}return t}e(Ve,`buildStyleByKey`);var He=e((e,n,r,i)=>{let a=i.db,l=a.getConfig?.(),{themeVariables:u,look:p,handDrawnSeed:m}=o(),h=p===`handDrawn`,g=[u.venn1,u.venn2,u.venn3,u.venn4,u.venn5,u.venn6,u.venn7,u.venn8].filter(Boolean),b=a.getDiagramTitle?.(),x=a.getSubsetData(),S=a.getTextData(),C=Ve(a.getStyleData()),w=We(x),T=l?.width??800,E=l?.height??450,D=T/1600,O=b?48*D:0,k=u.primaryTextColor??u.textColor,A=_(n);A.attr(`viewBox`,`0 0 ${T} ${E}`),b&&A.append(`text`).text(b).attr(`class`,`venn-title`).attr(`font-size`,`${32*D}px`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).attr(`x`,`50%`).attr(`y`,32*D).style(`fill`,u.vennTitleTextColor||u.titleColor);let j=t(document.createElement(`div`)),M=he().width(T).height(E-O);j.datum(w).call(M);let N=h?v.svg(j.select(`svg`).node()):void 0,P=we(w,{width:T,height:E-O,padding:l?.padding??15}),F=new Map;for(let e of P){let t=$([...e.data.sets].sort());F.set(t,e)}S.length>0&&Ue(l,F,j,S,D,C);let I=d(u.background||`#f4f4f4`);j.selectAll(`.venn-circle`).each(function(e,n){let r=t(this),i=$([...e.sets].sort()),a=C.get(i),o=a?.fill||g[n%g.length]||u.primaryColor;r.classed(`venn-set-${n%8}`,!0);let s=a?.[`fill-opacity`]??.1,l=a?.stroke||o,d=a?.[`stroke-width`]||`${5*D}`;if(h&&N){let e=F.get(i);if(e&&e.circles.length>0){let t=e.circles[0],i=N.circle(t.x,t.y,t.radius*2,{roughness:.7,seed:m,fill:y(o,.7),fillStyle:`hachure`,fillWeight:2,hachureGap:8,hachureAngle:-41+n*60,stroke:l,strokeWidth:parseFloat(String(d))});r.select(`path`).remove(),r.node()?.insertBefore(i,r.select(`text`).node())}}else r.select(`path`).style(`fill`,o).style(`fill-opacity`,s).style(`stroke`,l).style(`stroke-width`,d).style(`stroke-opacity`,.95);let p=a?.color||(I?f(o,30):c(o,30));r.select(`text`).style(`font-size`,`${48*D}px`).style(`fill`,p)}),h&&N?j.selectAll(`.venn-intersection`).each(function(e){let n=t(this),r=$([...e.sets].sort()),i=C.get(r),a=i?.fill;if(a){let e=n.select(`path`),t=e.attr(`d`);if(t){let n=N.path(t,{roughness:.7,seed:m,fill:y(a,.3),fillStyle:`cross-hatch`,fillWeight:2,hachureGap:6,hachureAngle:60,stroke:`none`}),r=e.node();r?.parentNode?.insertBefore(n,r),e.remove()}}else n.select(`path`).style(`fill-opacity`,0);n.select(`text`).style(`font-size`,`${48*D}px`).style(`fill`,i?.color??u.vennSetTextColor??k)}):(j.selectAll(`.venn-intersection text`).style(`font-size`,`${48*D}px`).style(`fill`,e=>{let t=$([...e.sets].sort());return C.get(t)?.color??u.vennSetTextColor??k}),j.selectAll(`.venn-intersection path`).style(`fill-opacity`,e=>{let t=$([...e.sets].sort());return+!!C.get(t)?.fill}).style(`fill`,e=>{let t=$([...e.sets].sort());return C.get(t)?.fill??`transparent`}));let L=A.append(`g`).attr(`transform`,`translate(0, ${O})`),R=j.select(`svg`).node();if(R&&`childNodes`in R)for(let e of[...R.childNodes])L.node()?.appendChild(e);s(A,E,T,l?.useMaxWidth??!0)},`draw`);function $(e){return e.join(`|`)}e($,`stableSetsKey`);function Ue(e,t,n,r,i,a){let o=e?.useDebugLayout??!1,s=n.select(`svg`).append(`g`).attr(`class`,`venn-text-nodes`),c=new Map;for(let e of r){let t=$(e.sets),n=c.get(t);n?n.push(e):c.set(t,[e])}for(let[e,n]of c.entries()){let r=t.get(e);if(!r?.text)continue;let c=r.text.x,l=r.text.y,u=Math.min(...r.circles.map(e=>e.radius)),d=Math.min(...r.circles.map(e=>e.radius-Math.hypot(c-e.x,l-e.y))),f=Number.isFinite(d)?Math.max(0,d):0;f===0&&Number.isFinite(u)&&(f=u*.6);let p=s.append(`g`).attr(`class`,`venn-text-area`).attr(`font-size`,`${40*i}px`);o&&p.append(`circle`).attr(`class`,`venn-text-debug-circle`).attr(`cx`,c).attr(`cy`,l).attr(`r`,f).attr(`fill`,`none`).attr(`stroke`,`purple`).attr(`stroke-width`,1.5*i).attr(`stroke-dasharray`,`${6*i} ${4*i}`);let m=Math.max(80*i,f*2*.95),h=Math.max(60*i,f*2*.95),g=(r.data.label&&r.data.label.length>0?Math.min(32*i,f*.25):0)+(n.length<=2?30*i:0),_=c-m/2,v=l-h/2+g,y=Math.max(1,Math.ceil(Math.sqrt(n.length))),b=Math.max(1,Math.ceil(n.length/y)),x=m/y,S=h/b;for(let[e,t]of n.entries()){let n=e%y,r=Math.floor(e/y),s=_+x*(n+.5),c=v+S*(r+.5);o&&p.append(`rect`).attr(`class`,`venn-text-debug-cell`).attr(`x`,_+x*n).attr(`y`,v+S*r).attr(`width`,x).attr(`height`,S).attr(`fill`,`none`).attr(`stroke`,`teal`).attr(`stroke-width`,1*i).attr(`stroke-dasharray`,`${4*i} ${3*i}`);let l=x*.9,u=S*.9,d=p.append(`foreignObject`).attr(`class`,`venn-text-node-fo`).attr(`width`,l).attr(`height`,u).attr(`x`,s-l/2).attr(`y`,c-u/2).attr(`overflow`,`visible`),f=a.get(t.id)?.color,m=d.append(`xhtml:span`).attr(`class`,`venn-text-node`).style(`display`,`flex`).style(`width`,`100%`).style(`height`,`100%`).style(`white-space`,`normal`).style(`align-items`,`center`).style(`justify-content`,`center`).style(`text-align`,`center`).style(`overflow-wrap`,`normal`).style(`word-break`,`normal`).text(t.label??t.id);f&&m.style(`color`,f)}}}e(Ue,`renderTextNodes`);function We(e){let t=new Set(e.map(e=>[...e.sets].sort().join(`|`))),n=new Map(e.filter(e=>e.sets.length===1&&e.size!==void 0).map(e=>[e.sets[0],e.size])),r=[];for(let i of e){if(i.sets.length<3)continue;let e=[...i.sets].sort();for(let i=0;i<e.length-1;i++)for(let a=i+1;a<e.length;a++){let o=[e[i],e[a]],s=o.join(`|`);if(!t.has(s)){t.add(s);let e=n.get(o[0]),i=n.get(o[1]),a=e!==void 0&&i!==void 0?Math.min(e,i)/4:2.5;r.push({sets:o,size:a,label:``})}}}return r.length>0?[...e,...r]:e}e(We,`ensurePairwiseSubsets`);var Ge={parser:Te,db:ze,renderer:{draw:He},styles:Be};export{Ge as diagram};
@@ -1,7 +0,0 @@
1
- import"./chunk-SRAX5OIU-KFQikY-4.js";var e={paste:`Dán`,pasteAsPlaintext:`Dán kiểu văn bản thuần`,pasteCharts:`Dán biểu đồ`,chartType_bar:``,chartType_line:``,chartType_radar:``,chartType_plaintext:``,selectAll:`Chọn tất cả`,multiSelect:`Chọn thêm đối tượng này`,moveCanvas:`Di chuyển canvas`,cut:`Cắt`,copy:`Sao chép`,copyAsPng:`Sao chép vào bộ nhớ tạm dưới dạng PNG`,copyAsSvg:`Sao chép vào bộ nhớ tạm dưới dạng SVG`,copyText:`Sao chép vào bộ nhớ tạm dưới dạng chữ`,copySource:`Sao chép vào bộ nhớ tạm`,convertToCode:`Chuyển thành mã`,bringForward:`Đưa ra trước`,sendToBack:`Hạ xuống dưới`,bringToFront:`Đưa ra đầu tiên`,sendBackward:`Hạ xuống cuối`,delete:`Xóa`,copyStyles:`Sao chép định dạng`,pasteStyles:`Dán định dạng`,stroke:`Nét`,changeStroke:`Đổi màu nét vẽ`,background:`Nền`,changeBackground:`Thay đổi màu nền`,fill:`Đổ màu`,strokeWidth:`Độ dày nét`,strokeStyle:`Kiểu nét`,strokeStyle_solid:`Khối`,strokeStyle_dashed:`Gạch ngang`,strokeStyle_dotted:`Nhiều chấm`,sloppiness:`Hoa văn nét`,pressure:``,pressure_constant:``,pressure_variable:``,opacity:`Độ trong suốt`,textAlign:`Căn chỉnh văn bản`,edges:`Cạnh`,sharp:`Nhọn`,round:`Tròn`,arrowheads:`Đầu mũi tên`,arrowhead_none:`Không`,arrowhead_arrow:`Mũi tên`,arrowhead_bar:`Thanh`,arrowhead_circle:`Hình tròn`,arrowhead_circle_outline:`Hình tròn (đường viền)`,arrowhead_triangle:`Tam giác`,arrowhead_triangle_outline:`Tam giác (đường viền)`,arrowhead_diamond:`Kim cương`,arrowhead_diamond_outline:`Kim cương (đường viền)`,arrowhead_crowfoot_many:``,arrowhead_crowfoot_one:``,arrowhead_crowfoot_one_or_many:``,arrowhead_cardinality_one:``,arrowhead_cardinality_many:``,arrowhead_cardinality_one_or_many:``,arrowhead_cardinality_exactly_one:``,arrowhead_cardinality_zero_or_one:``,arrowhead_cardinality_zero_or_many:``,more_options:`Tùy chọn khác`,cardinality:``,arrowtypes:`Loại mũi tên`,arrowtype_sharp:`Mũi tên nhọn`,arrowtype_round:`Mũi tên cong`,arrowtype_elbowed:`Mũi tên gấp khúc`,fontSize:`Cỡ chữ`,fontFamily:`Phông chữ`,addWatermark:`Làm với Excalidraw"`,handDrawn:`Vẽ tay`,normal:`Bình thường`,code:`Mã`,small:`Nhỏ`,medium:`Vừa`,large:`Lớn`,veryLarge:`Rất lớn`,solid:`Đặc`,hachure:`Nét gạch gạch`,zigzag:`Zig-zag`,crossHatch:`Nét gạch chéo`,thin:`Mỏng`,bold:`In đậm`,left:`Trái`,center:`Giữa`,right:`Phải`,extraBold:`Nét siêu đậm`,architect:`Kiến trúc sư`,artist:`Nghệ sỹ`,cartoonist:`Hoạt hình`,fileTitle:`Tên tập tin`,colorPicker:`Chọn màu`,canvasColors:`Đã dùng trên canvas`,canvasBackground:`Nền canvas`,drawingCanvas:`Canvas vẽ`,clearCanvas:`Xóa khung vẽ`,layers:`Lớp`,actions:`Chức năng`,language:`Ngôn ngữ`,liveCollaboration:`Hợp tác trực tiếp...`,duplicateSelection:`Tạo bản sao`,untitled:`Không có tiêu đề`,name:`Tên`,yourName:`Tên của bạn`,madeWithExcalidraw:`Làm với Excalidraw`,group:`Gộp nhóm lại lựa chọn`,ungroup:`Tách nhóm lựa chọn`,collaborators:`Cộng tác viên`,toggleGrid:`Bật/tắt lưới`,addToLibrary:`Thêm vào thư viện`,removeFromLibrary:`Xóa khỏi thư viện`,libraryLoadingMessage:`Đang tải thư viện…`,libraries:`Xem thư viện`,loadingScene:`Đang tải về…`,loadScene:`Tải bản vẽ từ tệp`,align:`Căn chỉnh`,alignTop:`Căn trên`,alignBottom:`Căn dưới`,alignLeft:`Canh trái`,alignRight:`Canh phải`,centerVertically:`Giữa theo chiều dọc`,centerHorizontally:`Giữa theo chiều ngang`,distributeHorizontally:`Phân bố theo chiều ngang`,distributeVertically:`Phân bố theo chiều dọc`,flipHorizontal:`Lật ngang`,flipVertical:`Lật dọc`,viewMode:`Chế độ xem`,share:`Chia sẻ`,showStroke:`Hiển thị chọn màu`,showBackground:`Hiện thị chọn màu nền`,showFonts:`Hiển thị bộ chọn phông chữ`,toggleTheme:`Chuyển đổi giao diện sáng/tối`,theme:`Chủ đề`,personalLib:`Thư viện cá nhân`,excalidrawLib:`Thư viện Excalidraw`,decreaseFontSize:`Giảm cỡ chữ`,increaseFontSize:`Tăng cỡ chữ`,unbindText:`Bỏ liên kết văn bản`,bindText:`Gắn văn bản vào khung`,createContainerFromText:`Ngắt dòng văn bản trong khung`,link:{edit:`Sửa liên kết`,editEmbed:`Chỉnh sửa liên kết nhúng`,create:`Thêm liên kết`,label:`Liên kết`,labelEmbed:`Liên kết & nhúng`,empty:`Chưa đặt liên kết`,hint:`Nhập hoặc dán liên kết vào đây`,goToElement:`Đi tới phần tử đích`},lineEditor:{edit:`Điều chỉnh nét`,editArrow:``},polygon:{breakPolygon:``,convertToPolygon:``},elementLock:{lock:`Khoá`,unlock:`Mở khoá`,lockAll:`Khóa tất cả`,unlockAll:`Mở khóa tất cả`},statusPublished:`Đã đăng tải`,sidebarLock:`Giữ thanh bên luôn mở`,selectAllElementsInFrame:`Chọn tất cả phần tử trong khung`,removeAllElementsFromFrame:`Loại bỏ tất cả các phần tử trong khung`,eyeDropper:`Chọn màu từ vùng vẽ`,textToDiagram:`Văn bản sang sơ đồ`,prompt:`Lời nhắc`,followUs:`Theo dõi chúng tôi`,discordChat:`Trò chuyện Discord`,zoomToFitViewport:`Thu phóng vừa với khung nhìn`,zoomToFitSelection:`Thu phóng vừa với vùng chọn`,zoomToFit:`Thu phóng để hiển thị toàn bộ các phần tử`,installPWA:`Cài đặt Excalidraw trên máy (PWA)`,autoResize:`Bật tự động thay đổi kích thước văn bản`,imageCropping:`Cắt ảnh`,unCroppedDimension:`Kích thước gốc (chưa cắt)`,copyElementLink:`Sao chép liên kết tới đối tượng`,linkToElement:`Liên kết đến đối tượng`,wrapSelectionInFrame:`Đưa vùng chọn vào khung`,tab:``,shapeSwitch:``,preferences:``,preferences_toolLock:``,boxSelectionMode:``,boxSelectionContain:``,boxSelectionOverlap:``,arrowBinding:``,midpointSnapping:``},t={title:`Liên kết đến đối tượng`,desc:`Nhấp vào một hình trên vùng vẽ hoặc dán liên kết.`,notFound:`Không tìm thấy đối tượng liên kết trên vùng vẽ.`},n={noItems:`Chưa có món nào...`,hint_emptyLibrary:`Chọn một món trên canvas để thêm nó vào đây, hoặc cài đặt thư viện từ kho lưu trữ công cộng, ở bên dưới.`,hint_emptyPrivateLibrary:`Chọn một món trên canvas để thêm nó vào đây.`,search:{inputPlaceholder:``,heading:``,noResults:``,clearSearch:``}},r={title:`Tìm trên vùng vẽ`,noMatch:`Không có kết quả phù hợp...`,singleResult:`kết quả`,multipleResults:`các kết quả`,placeholder:`Tìm văn bản trên vùng vẽ`,frames:``,texts:``},i={clearReset:`Reset canvas`,exportJSON:`Xuất ra tập tin`,exportImage:`Xuất file ảnh...`,export:`Lưu vào...`,copyToClipboard:`Sao chép vào bộ nhớ tạm`,copyLink:`Sao chép liên kết`,save:`Lưu vào tập tin hiện tại`,saveAs:`Lưu thành`,load:`Mở`,getShareableLink:`Tạo liên kết để chia sẻ`,close:`Đóng`,selectLanguage:`Chọn ngôn ngữ`,scrollBackToContent:`Cuộn về nội dung chính`,zoomIn:`Phóng to`,zoomOut:`Thu nhỏ`,resetZoom:`Đặt lại thu phóng`,menu:`Bảng chọn`,done:`Xong`,edit:`Chỉnh sửa`,undo:`Hoàn tác`,redo:`Làm lại`,resetLibrary:`Cài lại thư viện`,createNewRoom:`Tạo phòng mới`,fullScreen:`Toàn màn hình`,darkMode:`Chế độ tối`,lightMode:`Chế độ sáng`,systemMode:`Chế độ hệ thống`,zenMode:`Chế độ zen`,objectsSnapMode:`Căn chỉnh theo đối tượng`,exitZenMode:`Thoát chể độ zen`,cancel:`Hủy`,saveLibNames:``,clear:`Làm sạch`,remove:`Xóa`,embed:`Bật/tắt chế độ nhúng`,publishLibrary:``,submit:`Gửi`,confirm:`Xác nhận`,embeddableInteractionButton:`Nhấn để tương tác`},a={clearReset:`Điều này sẽ dọn hết canvas. Bạn có chắc không?`,couldNotCreateShareableLink:`Không thể tạo đường dẫn chia sẻ.`,couldNotCreateShareableLinkTooBig:`Không thể tạo đường dẫn chia sẻ: bản vẽ quá lớn`,couldNotLoadInvalidFile:`Không thể load tập tin không hợp lệ`,importBackendFailed:`Nhập dữ liệu từ máy chủ thất bại.`,cannotExportEmptyCanvas:`Không thể xuất canvas trống.`,couldNotCopyToClipboard:`Không thể sao chép vào bộ nhớ tạm.`,decryptFailed:`Không thể giải mã dữ liệu.`,uploadedSecurly:`Việc tải lên đã được bảo mật với mã hóa đầu cuối, có nghĩa là máy chủ Excalidraw và bên thứ ba không thể đọc nội dung.`,loadSceneOverridePrompt:`Mở bản vẽ bên ngoài sẽ thay thế nội dung hiện tại của bạn. Bạn có muốn tiếp tục không?`,collabStopOverridePrompt:`Dừng phiên sẽ ghi đè lên bản vẽ được lưu trữ cục bộ trước đó của bạn. Bạn có chắc không?
2
-
3
- (Nếu bạn muốn giữ bản vẽ cục bộ của mình, chỉ cần đóng tab trình duyệt.)`,errorAddingToLibrary:`Không thể thêm món vào thư viện`,errorRemovingFromLibrary:`Không thể xoá món khỏi thư viện`,confirmAddLibrary:`Hình {{numShapes}} sẽ được thêm vào thư viện. Bạn chắc chứ?`,imageDoesNotContainScene:`Hình ảnh này dường như không chứa bất kỳ dữ liệu cảnh nào. Bạn đã bật tính năng nhúng cảnh khi xuất chưa?`,cannotRestoreFromImage:`Không thể khôi phục bản vẽ từ tệp hình ảnh này.`,invalidSceneUrl:`Không thể nhập nội dung từ URL đã cung cấp. Đó có thể là do URL không đúng cú pháp hoặc không chứa dữ liệu JSON hợp lệ với Excalidraw.`,resetLibrary:`Hành động này sẽ xóa toàn bộ thư viện của bạn. Bạn chắc chắn chứ?`,removeItemsFromsLibrary:`Xoá {{count}} món từ thư viện?`,invalidEncryptionKey:`Khóa mã hóa phải có 22 ký tự. Hợp tác trực tiếp bị vô hiệu hóa.`,collabOfflineWarning:`Không có kết nối internet.
4
- Thay đổi của bạn sẽ không được lưu!`,localStorageQuotaExceeded:``},o={unsupportedFileType:`Loại tập tin không được hỗ trợ.`,imageInsertError:`Không thể thêm ảnh. Hãy thử lại sau...`,fileTooBig:`Tệp tin quá lớn. Dung lượng tối đa cho phép là {{maxSize}}.`,svgImageInsertError:`Không thể thêm ảnh SVG. Mã SVG có vẻ sai.`,failedToFetchImage:`Có lỗi khi tải ảnh.`,cannotResolveCollabServer:`Không thể kết nối với máy chủ hợp tác. Hãy tải lại trang và thử lại.`,importLibraryError:`Không thể tải thư viện`,saveLibraryError:`Không thể lưu thư viện vào bộ nhớ. Hãy lưu thành tệp trên máy để đảm bảo bạn không mất các thay đổi.`,collabSaveFailed:`Không thể lưu vào cơ sở dữ liệu. Nếu vấn đề tiếp tục xảy ra, bạn nên lưu tệp vào máy để đảm bảo bạn không bị mất công việc.`,collabSaveFailed_sizeExceeded:`Không thể lưu vào cơ sở dữ liệu, canvas có vẻ quá lớn. Bạn nên lưu tệp cục bộ để đảm bảo bạn không bị mất công việc.`,imageToolNotSupported:`Hình ảnh đã được vô hiệu hóa.`,brave_measure_text_error:{line1:`Dường như bạn đang sử dụng trình duyệt Brave với cài đặt <bold>Aggressively Block Fingerprinting</bold> được bật.`,line2:`Điều này có thể gây ra lỗi cho các <bold>Text Elements</bold> trong bản vẽ của bạn.`,line3:`Chúng tôi khuyên bạn nên tắt tùy chọn này. Xem <link>hướng dẫn này</link> để biết cách thực hiện.`,line4:`Nếu tắt cài đặt này vẫn không sửa được lỗi hiển thị chữ, hãy tạo <issueLink>báo cáo lỗi</issueLink> trên GitHub hoặc liên hệ qua <discordLink>Discord</discordLink>.`},libraryElementTypeError:{embeddable:`Không thể lưu phần tử nhúng vào thư viện`,iframe:`Các phần tử IFrame không thể được thêm vào thư viện.`,image:`Thêm hình ảnh vào thư viện sẽ sớm được hỗ trợ!`},asyncPasteFailedOnRead:`Không thể dán (không thể đọc từ bộ nhớ tạm của hệ thống).`,asyncPasteFailedOnParse:`Không thể dán.`,copyToSystemClipboardFailed:`Không thể sao chép vào bộ nhớ tạm.`},s={selection:`Lựa chọn`,lasso:``,image:`Chèn ảnh`,rectangle:`Hình chữ nhật`,diamond:`Kim cương`,ellipse:`Hình elíp`,arrow:`Mũi tên`,line:`Đường kẻ`,freedraw:`Vẽ`,text:`Văn bản`,library:`Thư viện`,lock:`Giữ dụng cũ hiện tại sau khi vẽ`,penMode:`Chế độ bút vẽ - ngăn ngừa chạm nhầm`,link:`Thêm / Cập nhật liên kết cho hình đã chọn`,eraser:`Xóa`,frame:`Công cụ tạo khung`,magicframe:`Wireframe thành code`,embeddable:`Nhúng Web`,laser:`Con trỏ laser`,autoshape:``,hand:`Tay kéo`,extraTools:`Công cụ khác`,mermaidToExcalidraw:`Mermaid sang Excalidraw`,convertElementType:``},c={rectangle:`Hình chữ nhật`,diamond:`Kim cương`,ellipse:`Hình bầu dục`,arrow:`Mũi tên`,line:`Đường kẻ`,freedraw:`Vẽ tự do`,text:`Văn bản`,image:`Hình ảnh`,group:`Nhóm`,frame:`Khung hình`,magicframe:`Wireframe thành code`,embeddable:`Nhúng Web`,selection:`Lựa chọn`,iframe:`IFrame`},l={canvasActions:`Hành động canvas`,selectedShapeActions:`Các hành động cho hình dạng đã chọn`,shapes:`Các hình khối`},u={dismissSearch:``,canvasPanning:``,linearElement:`Ấn để bắt đầu nhiểm điểm vẽ, kéo để vẽ một đường thẳng`,arrowTool:``,arrowBindModifiers:``,freeDraw:`Ấn bà kéo, thả khi bạn xong`,text:`Mẹo: bạn có thể thêm văn bản tại bất cứ đâu bằng cách ấn hai lần bằng tool lựa chọn`,embeddable:`Nhấp và kéo để tạo nội dung nhúng từ website.`,autoshape:``,text_selected:``,text_editing:``,linearElementMulti:``,lockAngle:``,resize:``,resizeImage:``,rotate:`Giới hạn góc độ bằng cách giữ {{shortcut}} khi xoay`,toggleArrowhead:``,lineEditor_info:``,lineEditor_line_info:``,lineEditor_pointSelected:``,lineEditor_nothingSelected:``,publishLibrary:`Chia sẻ thư viện của bạn`,bindTextToElement:`Nhấn {{shortcut}} để thêm văn bản`,createFlowchart:``,deepBoxSelect:``,eraserRevert:``,firefox_clipboard_write:`Tính năng này có thể được bật bằng cách đặt cờ "dom.events.asyncClipboard.clipboardItem" thành "true". Để thay đổi cờ trình duyệt trong Firefox, hãy truy cập trang "about:config".`,disableSnapping:``,enterCropEditor:``,leaveCropEditor:``},d={cannotShowPreview:`Không thể xem trước`,canvasTooBig:`Canvas này có thể hơi lớn.`,canvasTooBigTip:`Mẹo: hãy thử di chuyển các elements nhất lại gần nhau hơn một chút.`},f={headingMain:`Đã xảy ra lỗi. Hãy thử <button>tải lại trang</button>.`,clearCanvasMessage:`Nếu không tải lại được, hãy thử <button>dọn canvas.</button>`,clearCanvasCaveat:` Điều này sẽ dẫn đến mất dữ liệu bạn đã làm `,trackedToSentry:``,openIssueMessage:``,sceneContent:`Nội dung bản vẽ:`},p={or:`Hoặc`},m={desc_intro:`Mời mọi người cùng cộng tác trong bản vẽ của bạn.`,desc_privacy:`Đừng lo, phiên hoạt động đã được mã hóa đầu cuối, và hoàn toàn riêng tư. Ngay cả máy chủ của chúng tôi cũng không thể thấy những gì bạn vẽ.`,button_startSession:`Bắt đầu phiên`,button_stopSession:`Kết thúc phiên`,desc_inProgressIntro:`Phiên làm việc trực tiếp hiện đang diễn ra.`,desc_shareLink:`Chia sẻ liên kết này với người bạn muốn cộng tác cùng:`,desc_exitSession:`Dừng phiên sẽ đưa bạn ra khỏi phòng, nhưng bạn vẫn có thể làm việc tiếp trên máy. Những người khác sẽ không bị ảnh hưởng và vẫn cộng tác trên bản của họ.`,shareTitle:`Vào phiên làm việc chung trên Excalidraw`},h={title:`Lỗi`},g={title:``,defaultMessage:``},_={disk_title:`Lưu về máy`,disk_details:``,disk_button:`Lưu vào tệp tin`,link_title:`Liên kết có thể chia sẻ`,link_details:`Tạo liên kết chỉ xem`,link_button:`Tạo liên kết`,excalidrawplus_description:`Lưu bản vẽ vào không gian làm việc Excalidraw+ của bạn.`,excalidrawplus_button:`Xuất`,excalidrawplus_exportError:`Hiện tại không thể xuất sang Excalidraw+...`},v={blog:`Đọc blog của chúng tôi`,click:`Nhấp`,deepSelect:``,deepBoxSelect:``,createFlowchart:``,navigateFlowchart:``,curvedArrow:`Mũi tên cong`,curvedLine:`Đường cong`,documentation:`Tài liệu`,doubleClick:`Nhấp đúp`,drag:`kéo`,editor:`Trình chỉnh sửa`,editLineArrowPoints:`Chỉnh sửa điểm của đường/mũi tên`,editText:`Chỉnh sửa văn bản / thêm nhãn`,github:`Phát hiện lỗi? Gửi phản hồi`,howto:`Làm theo hướng dẫn của chúng tôi`,or:`hoặc`,preventBinding:`Ngăn mũi tên tự gắn`,tools:`Công cụ`,shortcuts:`Phím tắt bàn phím`,textFinish:`Hoàn tất chỉnh sửa (trình soạn thảo văn bản)`,textNewLine:``,title:`Trợ giúp`,view:`Xem`,zoomToFit:``,zoomToSelection:``,toggleElementLock:`Khóa/mở khóa vùng lựa chọn`,movePageUpDown:`Chuyển trang lên/xuống`,movePageLeftRight:`Chuyển trang trái/phải`,cropStart:`Cắt ảnh`,cropFinish:``},y={title:`Dọn canvas`},b={title:``,itemName:`Tên món`,authorName:`Tên tác giả`,githubUsername:`Tên tài khoản Github`,twitterUsername:`Tên tài khoản Twitter`,libraryName:`Tên thư viện`,libraryDesc:`Mô tả thư viện`,website:`Website`,placeholder:{authorName:`Tên của bạn hoặc tên tài khoản`,libraryName:`Tên thư viện của bạn`,libraryDesc:`Mô tả thư viện của bạn để mọi người có thể hiểu được cách dùng của nó`,githubHandle:``,twitterHandle:`Tên Twitter (không bắt buộc) để chúng tôi ghi nhận bạn khi chia sẻ trên Twitter.`,website:`Đường dẫn tới trang web cá nhân của bạn hoặc tới đâu đó (tùy chọn)`},errors:{required:`Bắt buộc`,website:`Nhập đường dẫn hợp lệ`},noteDescription:`Chia sẻ thư viện của bạn vào <link>kho thư viện công khai</link> để mọi người có thể dùng trong bản vẽ của họ.`,noteGuidelines:`Thư viện cần được phê duyệt thủ công trước. Vui lòng đọc <link>hướng dẫn</link> trước khi gửi. Bạn sẽ cần tài khoản GitHub để trao đổi và chỉnh sửa khi được yêu cầu, nhưng điều này không bắt buộc.`,noteLicense:`Bằng việc gửi, bạn đồng ý rằng thư viện sẽ được phát hành theo <link>Giấy phép MIT</link>, nghĩa là bất kỳ ai cũng có thể sử dụng mà không bị hạn chế.`,noteItems:`Từng món trong thư viện phải có tên riêng để có thể lọc. Các món thư viện sau đây sẽ thêm:`,atleastOneLibItem:`Vui lòng chọn ít nhất một món thư viện để bắt đầu`,republishWarning:`Lưu ý: một số món đã chọn được đánh dấu là đã xuất bản/đã gửi. Bạn chỉ nên gửi lại các món khi cập nhật thư viện hiện có hoặc gửi.`},x={title:`Thư viện đã được gửi`,content:`Cảm ơn {{authorName}}! Thư viện của bạn đã được gửi để duyệt. Bạn có thể xem tiến trình <link>tại đây</link>.`},S={resetLibrary:`Cài lại thư viện`,removeItemsFromLib:`Xóa món đã chọn khỏi thư viện`},C={header:`Xuất thành hình ảnh`,label:{withBackground:`Nền`,onlySelected:`Chỉ phần tử đã lựa chọn`,darkMode:`Chế độ tối`,embedScene:``,scale:`Thu phóng`,padding:`Phần đệm`},tooltip:{embedScene:`Dữ liệu của bối cảnh sẽ được lưu dưới định dạng PNG/SVG vậy nên bối cảnh có thể khôi phục lại từ nó.
5
- Sẽ tăng kích thước của tệp được lưu.`},title:{exportToPng:``,exportToSvg:``,copyPngToClipboard:`Sao chép PNG vào bộ nhớ`},button:{exportToPng:`PNG`,exportToSvg:`SVG`,copyPngToClipboard:`Sao chép vào bộ nhớ tạm`}},w={tooltip:`Bản vẽ của bạn được bảo mật bằng mã hóa đầu cuối, vì vậy máy chủ Excalidraw sẽ không thể xem chúng.`,link:`Bài blog về mã hóa đầu cuối trong Excalidraw`},T={angle:`Góc`,shapes:``,height:`Chiều cao`,scene:`Bối cảnh`,selected:`Đã chọn`,storage:`Bộ nhớ`,fullTitle:``,title:`Thuộc tính`,generalStats:`Chung`,elementProperties:``,total:`Tổng cộng`,version:`Phiên bản`,versionCopy:`Nhấn để sao chép`,versionNotAvailable:`Phiên bản không khả dụng`,width:`Chiều rộng`},E={addedToLibrary:`Đã thêm vào Thư viện`,copyStyles:`Đã sao chép định dạng.`,copyToClipboard:`Đã sao chép vào bộ nhớ tạm.`,copyToClipboardAsPng:`Đã sao chép {{exportSelection}} sang bộ nhớ tạm dưới định dạng PNG
6
- ({{exportColorScheme}})`,copyToClipboardAsSvg:`Đã sao chép {{exportSelection}} sang bộ nhớ tạm dưới định dạng SVG
7
- ({{exportColorScheme}})`,fileSaved:`Đã lưu tập tin`,fileSavedToFilename:``,canvas:``,selection:`lựa chọn`,pasteAsSingleElement:`Sử dụng {{shortcut}} để dán như một phần tử riêng lẻ hoặc dán vào một bộ soạn thảo văn bản có sẵn`,unableToEmbed:`Nhúng liên kết này hiện không được phép. Đưa ra vấn đề trên GitHub để yêu cầu đưa liên kết này vào danh sách được phép`,unrecognizedLinkFormat:`Liên kết bạn nhúng không khớp với định dạng mong đợi. Vui lòng thử dán liên kết 'embed' do trang nguồn cung cấp`,elementLinkCopied:`Đã sao chép liên kết vào bộ nhớ tạm`},D={transparent:`Độ trong suốt`,black:`Màu đen`,white:``,red:``,pink:``,grape:``,violet:``,gray:``,blue:``,cyan:``,teal:`Màu xanh lục`,green:`Màu xanh lá`,yellow:`Màu vàng`,orange:`Màu cam`,bronze:``},O={app:{center_heading:``,center_heading_line2:``,center_heading_line3:``,center_heading_plus:``,menuHint:``},defaults:{menuHint:``,center_heading:``,toolbarHint:``,helpHint:``}},k={color:``,mostUsedCustomColors:``,colors:``,shades:``,hexCode:``,noShades:``,invalidColor:``,invalidHexLength:``},A={action:{exportToImage:{title:``,button:``,description:``},saveToDisk:{title:``,button:``,description:``},excalidrawPlus:{title:``,button:``,description:``}},modal:{loadFromFile:{title:``,button:``,description:``},shareableLink:{title:``,button:``,description:``}}},j={title:``,button:``,description:``,syntax:``,preview:``,label:``,inputPlaceholder:``,autoFixAvailable:``},M={error:``},N={inputPlaceholder:``,inputPlaceholderWithMessages:``,generating:``,rateLimitRemaining:``,role:{user:``,assistant:``,system:``},aiBeta:``,label:``,menu:``,newChat:``,deleteChat:``,deleteMessage:``,viewAsMermaid:``,placeholder:{title:``,description:``,hint:``},preview:``,insert:``,retry:``,errors:{promptTooShort:``,promptTooLong:``,generationFailed:``,invalidDiagram:``,fixInMermaid:``,aiRepair:``,requestAborted:``,requestFailed:``,mermaidParseError:``},rateLimit:{messageLimit:``,generalRateLimit:``,messageLimitInputPlaceholder:``},upsellBtnLabel:``},P={placeholder:``},F={badge:{old:``},sceneFonts:``,availableFonts:``,empty:``},I={empty:``,hint:{text:``,followStatus:``,inCall:``,micMuted:``,isSpeaking:``}},L={title:``,shortcuts:{select:``,confirm:``,close:``},recents:``,search:{placeholder:``,noMatch:``},itemNotAvailable:``,shortcutHint:``},R={ctrl:``,option:``,cmd:``,alt:``,escape:``,enter:``,shift:``,spacebar:``,delete:``,mmb:``},z={labels:e,elementLink:t,library:n,search:r,buttons:i,alerts:a,errors:o,toolBar:s,element:c,headings:l,hints:u,canvasError:d,errorSplash:f,shareDialog:p,roomDialog:m,errorDialog:h,progressDialog:g,exportDialog:_,helpDialog:v,clearCanvasDialog:y,publishDialog:b,publishSuccessDialog:x,confirmDialog:S,imageExportDialog:C,encrypted:w,stats:T,toast:E,colors:D,welcomeScreen:O,colorPicker:k,overwriteConfirm:A,mermaid:j,ttd:M,chat:N,quickSearch:P,fontList:F,userList:I,commandPalette:L,keys:R};export{a as alerts,i as buttons,d as canvasError,N as chat,y as clearCanvasDialog,k as colorPicker,D as colors,L as commandPalette,S as confirmDialog,z as default,c as element,t as elementLink,w as encrypted,h as errorDialog,f as errorSplash,o as errors,_ as exportDialog,F as fontList,l as headings,v as helpDialog,u as hints,C as imageExportDialog,R as keys,e as labels,n as library,j as mermaid,A as overwriteConfirm,g as progressDialog,b as publishDialog,x as publishSuccessDialog,P as quickSearch,m as roomDialog,r as search,p as shareDialog,T as stats,E as toast,s as toolBar,M as ttd,I as userList,O as welcomeScreen};
@@ -1 +0,0 @@
1
- import"./chunk-FOHPRMQF-DHwB1DNv.js";import{n as e}from"./chunk-ICYGCRZG-749o-pGJ.js";export{e as createWardleyServices};
@@ -1 +0,0 @@
1
- import{d as e,n as t}from"./file-kind-BwMIcZbi.js";function n(e,t){return e.match(t)?.length??0}function r(e=``){let t=String(e),r=n(t,/!\[\[[^\]]+\.(?:mmd|mermaid)(?:\|[^\]]+)?\]\]/gi),i=n(t,/(^|\n)```(?:plantuml|puml)\b/gi),a=n(t,/!\[\[[^\]]+\.(?:puml|plantuml)(?:\|[^\]]+)?\]\]/gi);return{chars:t.length,drawioEmbeds:n(t,/!\[\[[^\]]+\.drawio(?:\|[^\]]+)?\]\]/gi),excalidrawEmbeds:n(t,/!\[\[[^\]]+\.excalidraw(?:\|[^\]]+)?\]\]/gi),mermaidBlocks:n(t,/(^|\n)```mermaid\b/gi)+r,plantumlBlocks:i+a}}function i(e){return!!(e&&(e.chars>=15e4||e.mermaidBlocks>=20||e.drawioEmbeds>=8||e.excalidrawEmbeds>=8||e.plantumlBlocks>=12))}function a(e=``){let t=String(e),n=/(^|\n)```mermaid\b/i.test(t)||/!\[\[[^\]]+\.(?:mmd|mermaid)(?:\|[^\]]+)?\]\]/i.test(t),r=/!\[\[[^\]]+\.drawio(?:\|[^\]]+)?\]\]/i.test(t),i=/!\[\[[^\]]+\.excalidraw(?:\|[^\]]+)?\]\]/i.test(t),a=/(^|\n)```(?:plantuml|puml)\b/i.test(t)||/!\[\[[^\]]+\.(?:puml|plantuml)(?:\|[^\]]+)?\]\]/i.test(t);return t.length>=15e4?{debounceMs:500,deferUntilIdle:!0}:n||a?{debounceMs:300,deferUntilIdle:!1}:r||i?{debounceMs:0,deferUntilIdle:!1}:{debounceMs:100,deferUntilIdle:!1}}function o(e){return String(e??``).trim()||null}function s(n,r){let i=o(n);if(!i||!Array.isArray(r)||r.length===0)return null;let a=null;for(let e of r){if(e===i)return e;!a&&e.endsWith(`/${i}`)&&(a=e)}if(a||t(i))return a;let s=`${i}.md`,c=null;for(let t of r)if(e(t)){if(t===s)return t;!c&&t.endsWith(`/${s}`)&&(c=t)}return c}export{i,r as n,a as r,s as t};
@@ -1,7 +0,0 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as t}from"./src-oBChb5qS.js";import{D as n,H as r,K as i,U as a,a as o,b as s,c,f as l,v as u,w as d,y as f,z as p}from"./chunk-DU6HZSFF-Zkp69c6c.js";import{t as m}from"./linear-n-3HSMUF.js";import{t as h}from"./ordinal-BDEzSJ7C.js";import{t as g}from"./init-C-OQMol4.js";import{i as _}from"./chunk-75Z2AOVW-C5pGd3W9.js";import{t as v}from"./line-BFl3ujec.js";import{t as y}from"./chunk-CLGD4ZFX-BMeArk03.js";import"./chunk-PWAF6VOD-JSNrcBmP.js";import{t as b}from"./chunk-GMAD6QVW-NZ6WpDb8.js";function x(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r<i;)a[r]=e+r*n;return a}function S(){var e=h().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,a,o,s=!1,c=0,l=0,u=.5;delete e.unknown;function d(){var e=t().length,d=i<r,f=d?i:r,p=d?r:i;a=(p-f)/Math.max(1,e-c+l*2),s&&(a=Math.floor(a)),f+=(p-f-a*(e-c))*u,o=a*(1-c),s&&(f=Math.round(f),o=Math.round(o));var m=x(e).map(function(e){return f+a*e});return n(d?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),d()):t()},e.range=function(e){return arguments.length?([r,i]=e,r=+r,i=+i,d()):[r,i]},e.rangeRound=function(e){return[r,i]=e,r=+r,i=+i,s=!0,d()},e.bandwidth=function(){return o},e.step=function(){return a},e.round=function(e){return arguments.length?(s=!!e,d()):s},e.padding=function(e){return arguments.length?(c=Math.min(1,l=+e),d()):c},e.paddingInner=function(e){return arguments.length?(c=Math.min(1,e),d()):c},e.paddingOuter=function(e){return arguments.length?(l=+e,d()):l},e.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),d()):u},e.copy=function(){return S(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},g.apply(d(),arguments)}var C=(function(){var t=e(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[1,10,12,14,16,18,19,21,23],r=[2,6],i=[1,3],a=[1,5],o=[1,6],s=[1,7],c=[1,5,10,12,14,16,18,19,21,23,36,37,38],l=[1,25],u=[1,26],d=[1,28],f=[1,29],p=[1,30],m=[1,31],h=[1,32],g=[1,33],_=[1,34],v=[1,35],y=[1,36],b=[1,37],x=[1,43],S=[1,42],C=[1,47],w=[1,50],T=[1,10,12,14,16,18,19,21,23,36,37,38],E=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38],D=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38,42,43,44,45,46,47,48,49,50,51],O=[1,65],k=[26,28],A={trace:e(function(){},`trace`),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,dataPoints:25,SQUARE_BRACES_END:26,dataPoint:27,COMMA:28,NUMBER_WITH_DECIMAL:29,STR:30,xAxisData:31,bandData:32,ARROW_DELIMITER:33,commaSeparatedTexts:34,yAxisData:35,NEWLINE:36,SEMI:37,EOF:38,alphaNum:39,MD_STR:40,alphaNumToken:41,AMP:42,NUM:43,ALPHA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,MINUS:50,UNDERSCORE:51,$accept:0,$end:1},terminals_:{2:`error`,5:`XYCHART`,8:`CHART_ORIENTATION`,10:`title`,12:`X_AXIS`,14:`Y_AXIS`,16:`LINE`,18:`BAR`,19:`acc_title`,20:`acc_title_value`,21:`acc_descr`,22:`acc_descr_value`,23:`acc_descr_multiline_value`,24:`SQUARE_BRACES_START`,26:`SQUARE_BRACES_END`,28:`COMMA`,29:`NUMBER_WITH_DECIMAL`,30:`STR`,33:`ARROW_DELIMITER`,36:`NEWLINE`,37:`SEMI`,38:`EOF`,40:`MD_STR`,42:`AMP`,43:`NUM`,44:`ALPHA`,45:`PLUS`,46:`EQUALS`,47:`MULT`,48:`DOT`,49:`BRKT`,50:`MINUS`,51:`UNDERSCORE`},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[27,2],[27,1],[13,1],[13,2],[13,1],[31,1],[31,3],[32,3],[34,3],[34,1],[15,1],[15,2],[15,1],[35,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[39,1],[39,2],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1]],performAction:e(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 5:r.setOrientation(a[s]);break;case 9:r.setDiagramTitle(a[s].text.trim());break;case 12:r.setLineData({text:``,type:`text`},a[s]);break;case 13:r.setLineData(a[s-1],a[s]);break;case 14:r.setBarData({text:``,type:`text`},a[s]);break;case 15:r.setBarData(a[s-1],a[s]);break;case 16:this.$=a[s].trim(),r.setAccTitle(this.$);break;case 17:case 18:this.$=a[s].trim(),r.setAccDescription(this.$);break;case 19:this.$=a[s-1];break;case 20:case 30:this.$=[a[s-2],...a[s]];break;case 21:case 31:this.$=[a[s]];break;case 22:this.$={value:Number(a[s-1]),label:a[s]};break;case 23:this.$={value:Number(a[s]),label:``};break;case 24:r.setXAxisTitle(a[s]);break;case 25:r.setXAxisTitle(a[s-1]);break;case 26:r.setXAxisTitle({type:`text`,text:``});break;case 27:r.setXAxisBand(a[s]);break;case 28:r.setXAxisRangeData(Number(a[s-2]),Number(a[s]));break;case 29:this.$=a[s-1];break;case 32:r.setYAxisTitle(a[s]);break;case 33:r.setYAxisTitle(a[s-1]);break;case 34:r.setYAxisTitle({type:`text`,text:``});break;case 35:r.setYAxisRangeData(Number(a[s-2]),Number(a[s]));break;case 39:this.$={text:a[s],type:`text`};break;case 40:this.$={text:a[s],type:`text`};break;case 41:this.$={text:a[s],type:`markdown`};break;case 42:this.$=a[s];break;case 43:this.$=a[s-1]+``+a[s]}},`anonymous`),table:[t(n,r,{3:1,4:2,7:4,5:i,36:a,37:o,38:s}),{1:[3]},t(n,r,{4:2,7:4,3:8,5:i,36:a,37:o,38:s}),t(n,r,{4:2,7:4,6:9,3:10,5:i,8:[1,11],36:a,37:o,38:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(c,[2,36]),t(c,[2,37]),t(c,[2,38]),{1:[2,1]},t(n,r,{4:2,7:4,3:21,5:i,36:a,37:o,38:s}),{1:[2,3]},t(c,[2,5]),t(n,[2,7],{4:22,36:a,37:o,38:s}),{11:23,30:l,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:39,13:38,24:x,29:S,30:l,31:40,32:41,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:45,15:44,29:C,30:l,35:46,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:49,17:48,24:w,30:l,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:52,17:51,24:w,30:l,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{20:[1,53]},{22:[1,54]},t(T,[2,18]),{1:[2,2]},t(T,[2,8]),t(T,[2,9]),t(E,[2,39],{41:55,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b}),t(E,[2,40]),t(E,[2,41]),t(D,[2,42]),t(D,[2,44]),t(D,[2,45]),t(D,[2,46]),t(D,[2,47]),t(D,[2,48]),t(D,[2,49]),t(D,[2,50]),t(D,[2,51]),t(D,[2,52]),t(D,[2,53]),t(T,[2,10]),t(T,[2,24],{32:41,31:56,24:x,29:S}),t(T,[2,26]),t(T,[2,27]),{33:[1,57]},{11:59,30:l,34:58,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},t(T,[2,11]),t(T,[2,32],{35:60,29:C}),t(T,[2,34]),{33:[1,61]},t(T,[2,12]),{17:62,24:w},{25:63,27:64,29:O},t(T,[2,14]),{17:66,24:w},t(T,[2,16]),t(T,[2,17]),t(D,[2,43]),t(T,[2,25]),{29:[1,67]},{26:[1,68]},{26:[2,31],28:[1,69]},t(T,[2,33]),{29:[1,70]},t(T,[2,13]),{26:[1,71]},{26:[2,21],28:[1,72]},t(k,[2,23],{30:[1,73]}),t(T,[2,15]),t(T,[2,28]),t(T,[2,29]),{11:59,30:l,34:74,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},t(T,[2,35]),t(T,[2,19]),{25:75,27:64,29:O},t(k,[2,22]),{26:[2,30]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],74:[2,30],75:[2,20]},parseError:e(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:e(function(t){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(t,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;this.parseError=typeof g.yy.parseError==`function`?g.yy.parseError:Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}e(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}e(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
2
- `+h.showPosition()+`
3
- Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(M,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:j})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:r.push(S),a.push(h.yytext),o.push(h.yylloc),r.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),E!==void 0)return E;k&&(r=r.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),r.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),A=s[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0},`parse`)};A.lexer=(function(){return{EOF:1,parseError:e(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:e(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=``,this.conditionStack=[`INITIAL`],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},`setInput`),input:e(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},`input`),unput:e(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:e(function(){return this._more=!0,this},`more`),reject:e(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(`Lexical error on line `+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
- `+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:e(function(e){this.unput(this.match.slice(e))},`less`),pastInput:e(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:e(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:e(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
5
- `+t+`^`},`showPosition`),test_match:e(function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=e[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},`test_match`),next:e(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,r;this._more||(this.yytext=``,this.match=``);for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(e=this.test_match(n,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[r]),e!==!1&&e):this._input===``?this.EOF:this.parseError(`Lexical error on line `+(this.yylineno+1)+`. Unrecognized text.
6
- `+this.showPosition(),{text:``,token:null,line:this.yylineno})},`next`),lex:e(function(){return this.next()||this.lex()},`lex`),begin:e(function(e){this.conditionStack.push(e)},`begin`),popState:e(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},`popState`),_currentRules:e(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},`_currentRules`),topState:e(function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:`INITIAL`},`topState`),pushState:e(function(e){this.begin(e)},`pushState`),stateStackSize:e(function(){return this.conditionStack.length},`stateStackSize`),options:{"case-insensitive":!0},performAction:e(function(e,t,n,r){switch(n){case 0:break;case 1:break;case 2:return this.popState(),36;case 3:return this.popState(),36;case 4:return 36;case 5:break;case 6:return 10;case 7:return this.pushState(`acc_title`),19;case 8:return this.popState(),`acc_title_value`;case 9:return this.pushState(`acc_descr`),21;case 10:return this.popState(),`acc_descr_value`;case 11:this.pushState(`acc_descr_multiline`);break;case 12:this.popState();break;case 13:return`acc_descr_multiline_value`;case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState(`axis_data`),`X_AXIS`;case 18:return this.pushState(`axis_data`),`Y_AXIS`;case 19:return this.pushState(`axis_band_data`),24;case 20:return 33;case 21:return this.pushState(`data`),16;case 22:return this.pushState(`data`),18;case 23:return this.pushState(`data_inner`),24;case 24:return 29;case 25:return this.popState(),26;case 26:this.popState();break;case 27:this.pushState(`string`);break;case 28:this.popState();break;case 29:return`STR`;case 30:return 24;case 31:return 26;case 32:return 44;case 33:return`COLON`;case 34:return 45;case 35:return 28;case 36:return 46;case 37:return 47;case 38:return 49;case 39:return 51;case 40:return 48;case 41:return 42;case 42:return 50;case 43:return 43;case 44:break;case 45:return 37;case 46:return 38}},`anonymous`),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\})/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}}})();function j(){this.yy={}}return e(j,`Parser`),j.prototype=A,A.Parser=j,new j})();C.parser=C;var w=C;function T(e){return e.type===`bar`}e(T,`isBarPlot`);function E(e){return e.type===`band`}e(E,`isBandAxisData`);function D(e){return e.type===`linear`}e(D,`isLinearAxisData`);var O=class{constructor(e){this.parentGroup=e}static{e(this,`TextDimensionCalculatorWithFont`)}getMaxDimension(e,t){if(!this.parentGroup)return{width:e.reduce((e,t)=>Math.max(t.length,e),0)*t,height:t};let n={width:0,height:0},r=this.parentGroup.append(`g`).attr(`visibility`,`hidden`).attr(`font-size`,t);for(let i of e){let e=b(r,1,i),a=e?e.width:i.length*t,o=e?e.height:t;n.width=Math.max(n.width,a),n.height=Math.max(n.height,o)}return r.remove(),n}},k=.7,A=.2,j=class{constructor(e,t,n,r){this.axisConfig=e,this.title=t,this.textDimensionCalculator=n,this.axisThemeConfig=r,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition=`left`,this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.normalizedLabelRotationInRad=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition=`left`,this.normalizedLabelRotationInRad=this.axisConfig.labelRotation>=-90&&this.axisConfig.labelRotation<=90?this.axisConfig.labelRotation*Math.PI/180:0}static{e(this,`BaseAxis`)}setRange(e){this.range=e,this.axisPosition===`left`||this.axisPosition===`right`?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){let e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){k*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(k*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let t=e.height;if(this.axisConfig.showAxisLine&&t>this.axisConfig.axisLineWidth&&(t-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),r=A*e.width;this.outerPadding=Math.min(n.width/2,r);let i=n.height;this.axisPosition===`bottom`&&this.normalizedLabelRotationInRad!==0&&(i=Math.max(i,Math.abs(Math.sin(this.normalizedLabelRotationInRad)*n.width)+Math.abs(Math.cos(this.normalizedLabelRotationInRad)*n.height))),i+=this.axisConfig.labelPadding*2,this.labelTextHeight=n.height,i<=t&&(t-=i,this.showLabel=!0)}if(this.axisConfig.showTick&&t>=this.axisConfig.tickLength&&(this.showTick=!0,t-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let e=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=e.height+this.axisConfig.titlePadding*2;this.titleTextHeight=e.height,n<=t&&(t-=n,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-t}calculateSpaceIfDrawnVertical(e){let t=e.width;if(this.axisConfig.showAxisLine&&t>this.axisConfig.axisLineWidth&&(t-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),r=A*e.height;this.outerPadding=Math.min(n.height/2,r);let i=n.width+this.axisConfig.labelPadding*2;i<=t&&(t-=i,this.showLabel=!0)}if(this.axisConfig.showTick&&t>=this.axisConfig.tickLength&&(this.showTick=!0,t-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let e=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=e.height+this.axisConfig.titlePadding*2;this.titleTextHeight=e.height,n<=t&&(t-=n,this.showTitle=!0)}this.boundingRect.width=e.width-t,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition===`left`||this.axisPosition===`right`?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateOffsetByRotation(e){let t=this.normalizedLabelRotationInRad;return t===0?0:Math.sin(t)*this.getLabelDimension()[e]/2}getDrawableElementsForLeftAxis(){let e=[];if(this.showAxisLine){let t=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:`path`,groupTexts:[`left-axis`,`axisl-line`],data:[{path:`M ${t},${this.boundingRect.y} L ${t},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:`text`,groupTexts:[`left-axis`,`label`],data:this.getTickValues().map(e=>({text:e.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(e),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:`middle`,horizontalPos:`right`}))}),this.showTick){let t=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:`path`,groupTexts:[`left-axis`,`ticks`],data:this.getTickValues().map(e=>({path:`M ${t},${this.getScaleValue(e)} L ${t-this.axisConfig.tickLength},${this.getScaleValue(e)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:`text`,groupTexts:[`left-axis`,`title`],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:`top`,horizontalPos:`center`}]}),e}getDrawableElementsForBottomAxis(){let e=[];if(this.showAxisLine){let t=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:`path`,groupTexts:[`bottom-axis`,`axis-line`],data:[{path:`M ${this.boundingRect.x},${t} L ${this.boundingRect.x+this.boundingRect.width},${t}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:`text`,groupTexts:[`bottom-axis`,`label`],data:this.getTickValues().map(e=>({text:e.toString(),x:this.getScaleValue(e)+this.calculateOffsetByRotation(`height`),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0)+Math.abs(this.calculateOffsetByRotation(`width`)),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:this.normalizedLabelRotationInRad*180/Math.PI,verticalPos:`top`,horizontalPos:`center`}))}),this.showTick){let t=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:`path`,groupTexts:[`bottom-axis`,`ticks`],data:this.getTickValues().map(e=>({path:`M ${this.getScaleValue(e)},${t} L ${this.getScaleValue(e)},${t+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:`text`,groupTexts:[`bottom-axis`,`title`],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:`top`,horizontalPos:`center`}]}),e}getDrawableElementsForTopAxis(){let e=[];if(this.showAxisLine){let t=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:`path`,groupTexts:[`top-axis`,`axis-line`],data:[{path:`M ${this.boundingRect.x},${t} L ${this.boundingRect.x+this.boundingRect.width},${t}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:`text`,groupTexts:[`top-axis`,`label`],data:this.getTickValues().map(e=>({text:e.toString(),x:this.getScaleValue(e),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:`top`,horizontalPos:`center`}))}),this.showTick){let t=this.boundingRect.y;e.push({type:`path`,groupTexts:[`top-axis`,`ticks`],data:this.getTickValues().map(e=>({path:`M ${this.getScaleValue(e)},${t+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(e)},${t+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:`text`,groupTexts:[`top-axis`,`title`],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:`top`,horizontalPos:`center`}]}),e}getDrawableElements(){if(this.axisPosition===`left`)return this.getDrawableElementsForLeftAxis();if(this.axisPosition===`right`)throw Error(`Drawing of right axis is not implemented`);return this.axisPosition===`bottom`?this.getDrawableElementsForBottomAxis():this.axisPosition===`top`?this.getDrawableElementsForTopAxis():[]}},M=class extends j{static{e(this,`BandAxis`)}constructor(e,t,n,r,i){super(e,r,i,t),this.categories=n,this.scale=S().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=S().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),t.trace(`BandAxis axis final categories, range: `,this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}},ee=class extends j{static{e(this,`LinearAxis`)}constructor(e,t,n,r,i){super(e,r,i,t),this.domain=n,this.scale=m().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let e=[...this.domain];this.axisPosition===`left`&&e.reverse(),this.scale=m().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}};function N(e,t,n,r){let i=new O(r);return E(e)?new M(t,n,e.categories,e.title,i):new ee(t,n,[e.min,e.max],e.title,i)}e(N,`getAxis`);var te=class{constructor(e,t,n,r){this.textDimensionCalculator=e,this.chartConfig=t,this.chartData=n,this.chartThemeConfig=r,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{e(this,`ChartTitle`)}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){let t=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(t.width,e.width),r=t.height+2*this.chartConfig.titlePadding;return t.width<=n&&t.height<=r&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=r,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){let e=[];return this.showChartTitle&&e.push({groupTexts:[`chart-title`],type:`text`,data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:`middle`,horizontalPos:`center`,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}};function P(e,t,n,r){return new te(new O(r),e,t,n)}e(P,`getChartTitleComponent`);var ne=.75,re=.5,ie=.35;function F(e){return{fontSize:e,markerSize:e*ne,markerSpacing:e*ie,itemSpacing:e*re}}e(F,`getLegendLayout`);var ae=class{constructor(e,t,n,r){this.textDimensionCalculator=e,this.chartConfig=t,this.chartData=n,this.chartThemeConfig=r,this.boundingRect={x:0,y:0,width:0,height:0},this.visiblePlots=[]}static{e(this,`ChartLegend`)}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){if(this.visiblePlots=this.chartConfig.showLegend?this.chartData.plots.filter(e=>e.title):[],this.visiblePlots.length===0)return this.boundingRect.width=0,this.boundingRect.height=0,{width:0,height:0};let{fontSize:t,markerSize:n,markerSpacing:r,itemSpacing:i}=F(this.chartConfig.legendFontSize),a=this.textDimensionCalculator.getMaxDimension(this.visiblePlots.map(e=>e.title),t),o=this.chartConfig.legendPadding*2+n+r+a.width,s=this.chartConfig.legendPadding*2+this.visiblePlots.length*t+(this.visiblePlots.length-1)*i;return o<=e.width&&s<=e.height?(this.boundingRect.width=o,this.boundingRect.height=s):(this.visiblePlots=[],this.boundingRect.width=0,this.boundingRect.height=0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(this.visiblePlots.length===0)return[];let{fontSize:e,markerSize:t,markerSpacing:n,itemSpacing:r}=F(this.chartConfig.legendFontSize),i=e+r,a=this.boundingRect.x+this.chartConfig.legendPadding,o=this.boundingRect.y+this.chartConfig.legendPadding,s=[],c=[];for(let[e,n]of this.visiblePlots.entries())if(T(n))s.push({x:a,y:o+e*i,width:t,height:t,fill:n.fill,strokeFill:n.fill,strokeWidth:0});else{let r=o+e*i+t/2;c.push({path:`M ${a},${r} L ${a+t},${r}`,strokeFill:n.strokeFill,strokeWidth:n.strokeWidth})}return[{groupTexts:[`legend`,`markers`],type:`rect`,data:s},{groupTexts:[`legend`,`markers`],type:`path`,data:c},{groupTexts:[`legend`,`label`],type:`text`,data:this.visiblePlots.map((r,s)=>({text:r.title,x:a+t+n,y:o+s*i+t/2,fill:this.chartThemeConfig.legendTextColor,fontSize:e,rotation:0,verticalPos:`middle`,horizontalPos:`left`}))}]}};function I(e,t,n,r){return new ae(new O(r),e,t,n)}e(I,`getChartLegendComponent`);var oe=class{constructor(e,t,n,r,i){this.plotData=e,this.xAxis=t,this.yAxis=n,this.orientation=r,this.plotIndex=i}static{e(this,`LinePlot`)}getDrawableElement(){let e=this.plotData.data.map(e=>[this.xAxis.getScaleValue(e[0]),this.yAxis.getScaleValue(e[1])]),t;if(t=this.orientation===`horizontal`?v().y(e=>e[0]).x(e=>e[1])(e):v().x(e=>e[0]).y(e=>e[1])(e),!t)return[];let n=[{groupTexts:[`plot`,`line-plot-${this.plotIndex}`],type:`path`,data:[{path:t,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}];if(this.plotData.pointLabels&&this.plotData.pointLabels.length>0){let t=[];for(let[n,[r,i]]of e.entries()){let e=this.plotData.pointLabels[n];e&&(this.orientation===`horizontal`?t.push({x:i+10,y:r,text:e,fill:this.plotData.strokeFill,verticalPos:`middle`,horizontalPos:`left`,fontSize:12,rotation:0}):t.push({x:r,y:i-10,text:e,fill:this.plotData.strokeFill,verticalPos:`middle`,horizontalPos:`center`,fontSize:12,rotation:0}))}t.length>0&&n.push({groupTexts:[`plot`,`line-plot-${this.plotIndex}`,`labels`],type:`text`,data:t})}return n}},se=class{constructor(e,t,n,r,i,a){this.barData=e,this.boundingRect=t,this.xAxis=n,this.yAxis=r,this.orientation=i,this.plotIndex=a}static{e(this,`BarPlot`)}getDrawableElement(){let e=this.barData.data.map(e=>[this.xAxis.getScaleValue(e[0]),this.yAxis.getScaleValue(e[1])]),t=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*.95,n=t/2;return this.orientation===`horizontal`?[{groupTexts:[`plot`,`bar-plot-${this.plotIndex}`],type:`rect`,data:e.map(e=>({x:this.boundingRect.x,y:e[0]-n,height:t,width:e[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:[`plot`,`bar-plot-${this.plotIndex}`],type:`rect`,data:e.map(e=>({x:e[0]-n,y:e[1],width:t,height:this.boundingRect.y+this.boundingRect.height-e[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},ce=class{constructor(e,t,n){this.chartConfig=e,this.chartData=t,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0}}static{e(this,`BasePlot`)}setAxes(e,t){this.xAxis=e,this.yAxis=t}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error(`Axes must be passed to render Plots`);let e=[];for(let[t,n]of this.chartData.plots.entries())switch(n.type){case`line`:{let r=new oe(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,t);e.push(...r.getDrawableElement())}break;case`bar`:{let r=new se(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,t);e.push(...r.getDrawableElement())}}return e}};function le(e,t,n){return new ce(e,t,n)}e(le,`getPlotComponent`);var ue=class{constructor(e,t,n,r){this.chartConfig=e,this.chartData=t,this.componentStore={title:P(e,t,n,r),plot:le(e,t,n),legend:I(e,t,n,r),xAxis:N(t.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},r),yAxis:N(t.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},r)}}static{e(this,`Orchestrator`)}calculateVerticalSpace(){let e=this.chartConfig.width,t=this.chartConfig.height,n=0,r=0,i={width:0,height:0},a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),o=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),s=this.componentStore.plot.calculateSpace({width:a,height:o});e-=s.width,t-=s.height,s=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:t}),r=s.height,t-=s.height,this.componentStore.xAxis.setAxisPosition(`bottom`),s=this.componentStore.xAxis.calculateSpace({width:e,height:t}),t-=s.height,this.componentStore.yAxis.setAxisPosition(`left`),s=this.componentStore.yAxis.calculateSpace({width:e,height:t}),n=s.width,e-=s.width,i=this.componentStore.legend.calculateSpace({width:e,height:o}),e-=i.width,e>0&&(a+=e,e=0),t>0&&(o+=t,t=0),this.componentStore.plot.calculateSpace({width:a,height:o}),this.componentStore.plot.setBoundingBoxXY({x:n,y:r}),this.componentStore.legend.setBoundingBoxXY({x:n+a,y:r+Math.max((o-i.height)/2,0)}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:r+o}),this.componentStore.yAxis.setRange([r,r+o]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:r}),this.chartData.plots.some(e=>T(e))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,t=this.chartConfig.height,n=0,r=0,i=0,a={width:0,height:0},o=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),c=this.componentStore.plot.calculateSpace({width:o,height:s});e-=c.width,t-=c.height,c=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:t}),n=c.height,t-=c.height,this.componentStore.xAxis.setAxisPosition(`left`),c=this.componentStore.xAxis.calculateSpace({width:e,height:t}),e-=c.width,r=c.width,this.componentStore.yAxis.setAxisPosition(`top`),c=this.componentStore.yAxis.calculateSpace({width:e,height:t}),t-=c.height,i=n+c.height,a=this.componentStore.legend.calculateSpace({width:e,height:s}),e-=a.width,e>0&&(o+=e,e=0),t>0&&(s+=t,t=0),this.componentStore.plot.calculateSpace({width:o,height:s}),this.componentStore.plot.setBoundingBoxXY({x:r,y:i}),this.componentStore.legend.setBoundingBoxXY({x:r+o,y:i+Math.max((s-a.height)/2,0)}),this.componentStore.yAxis.setRange([r,r+o]),this.componentStore.yAxis.setBoundingBoxXY({x:r,y:n}),this.componentStore.xAxis.setRange([i,i+s]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(e=>T(e))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation===`horizontal`?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();let e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(let t of Object.values(this.componentStore))e.push(...t.getDrawableElements());return e}},de=class{static{e(this,`XYChartBuilder`)}static build(e,t,n,r){return new ue(e,t,n,r).getDrawableElement()}},L=0,R,z=K(),B=G(),V=q(),H=B.plotColorPalette.split(`,`).map(e=>e.trim()),U=!1,W=!1;function G(){let e=n(),t=s();return _(e.xyChart,t.themeVariables.xyChart)}e(G,`getChartDefaultThemeConfig`);function K(){let e=s();return _(l.xyChart,e.xyChart)}e(K,`getChartDefaultConfig`);function q(){return{yAxis:{type:`linear`,title:``,min:1/0,max:-1/0},xAxis:{type:`band`,title:``,categories:[]},title:``,plots:[]}}e(q,`getChartDefaultData`);function J(e){let t=s();return p(e.trim(),t)}e(J,`textSanitizer`);function Y(e){R=e}e(Y,`setTmpSVGG`);function fe(e){e===`horizontal`?z.chartOrientation=`horizontal`:z.chartOrientation=`vertical`}e(fe,`setOrientation`);function pe(e){V.xAxis.title=J(e.text)}e(pe,`setXAxisTitle`);function X(e,t){V.xAxis={type:`linear`,title:V.xAxis.title,min:e,max:t},U=!0}e(X,`setXAxisRangeData`);function me(e){V.xAxis={type:`band`,title:V.xAxis.title,categories:e.map(e=>J(e.text))},U=!0}e(me,`setXAxisBand`);function he(e){V.yAxis.title=J(e.text)}e(he,`setYAxisTitle`);function Z(e,t){V.yAxis={type:`linear`,title:V.yAxis.title,min:e,max:t},W=!0}e(Z,`setYAxisRangeData`);function ge(e){let t=Math.min(...e),n=Math.max(...e),r=D(V.yAxis)?V.yAxis.min:1/0,i=D(V.yAxis)?V.yAxis.max:-1/0;V.yAxis={type:`linear`,title:V.yAxis.title,min:Math.min(r,t),max:Math.max(i,n)}}e(ge,`setYAxisRangeFromPlotData`);function Q(e){let t=[];if(e.length===0)return t;if(!U){let t=D(V.xAxis)?V.xAxis.min:1/0,n=D(V.xAxis)?V.xAxis.max:-1/0;X(Math.min(t,1),Math.max(n,e.length))}if(E(V.xAxis)&&e.length>V.xAxis.categories.length&&(e=e.slice(0,V.xAxis.categories.length)),W||ge(e),E(V.xAxis)&&(t=V.xAxis.categories.map((t,n)=>[t,e[n]])),D(V.xAxis)){let n=V.xAxis.min,r=V.xAxis.max;if(e.length===1)t=[[`${n}`,e[0]]];else{let i=(r-n)/(e.length-1);t=e.map((e,t)=>[`${n+t*i}`,e])}}return t}e(Q,`transformDataWithoutCategory`);function $(e){return H[e===0?0:e%H.length]}e($,`getPlotColorFromPalette`);function _e(e,t){let n=t.map(e=>e.value),r=t.map(e=>e.label?J(e.label):``),i=Q(n),a=r.some(e=>e!==``);V.plots.push({type:`line`,title:J(e.text),strokeFill:$(L),strokeWidth:2,data:i,...a?{pointLabels:r}:{}}),L++}e(_e,`setLineData`);function ve(e,t){let n=Q(t.map(e=>e.value));V.plots.push({type:`bar`,title:J(e.text),fill:$(L),data:n}),L++}e(ve,`setBarData`);function ye(){if(V.plots.length===0)throw Error(`No Plot to render, please provide a plot with some data`);return V.title=d(),de.build(z,V,B,R)}e(ye,`getDrawableElem`);function be(){return B}e(be,`getChartThemeConfig`);function xe(){return z}e(xe,`getChartConfig`);function Se(){return V}e(Se,`getXYChartData`);var Ce={parser:w,db:{getDrawableElem:ye,clear:e(function(){o(),L=0,z=K(),V=q(),B=G(),H=B.plotColorPalette.split(`,`).map(e=>e.trim()),U=!1,W=!1},`clear`),setAccTitle:a,getAccTitle:f,setDiagramTitle:i,getDiagramTitle:d,getAccDescription:u,setAccDescription:r,setOrientation:fe,setXAxisTitle:pe,setXAxisRangeData:X,setXAxisBand:me,setYAxisTitle:he,setYAxisRangeData:Z,setLineData:_e,setBarData:ve,setTmpSVGG:Y,getChartThemeConfig:be,getChartConfig:xe,getXYChartData:Se},renderer:{draw:e((n,r,i,a)=>{let o=a.db,s=o.getChartThemeConfig(),l=o.getChartConfig(),u=o.getXYChartData().plots[0].data.map(e=>e[1]);function d(e){return e===`top`?`text-before-edge`:`middle`}e(d,`getDominantBaseLine`);function f(e){return e===`left`?`start`:e===`right`?`end`:`middle`}e(f,`getTextAnchor`);function p(e){return`translate(${e.x}, ${e.y}) rotate(${e.rotation||0})`}e(p,`getTextTransformation`),t.debug(`Rendering xychart chart
7
- `+n);let m=y(r),h=m.append(`g`).attr(`class`,`main`),g=h.append(`rect`).attr(`width`,l.width).attr(`height`,l.height).attr(`class`,`background`);c(m,l.height,l.width,!0),m.attr(`viewBox`,`0 0 ${l.width} ${l.height}`),g.attr(`fill`,s.backgroundColor),o.setTmpSVGG(m.append(`g`).attr(`class`,`mermaid-tmp-group`));let _=o.getDrawableElem(),v={};function b(e){let t=h,n=``;for(let[r]of e.entries()){let i=h;r>0&&v[n]&&(i=v[n]),n+=e[r],t=v[n],t||=v[n]=i.append(`g`).attr(`class`,e[r])}return t}e(b,`getGroup`);for(let t of _){if(t.data.length===0)continue;let n=b(t.groupTexts);switch(t.type){case`rect`:if(n.selectAll(`rect`).data(t.data).enter().append(`rect`).attr(`x`,e=>e.x).attr(`y`,e=>e.y).attr(`width`,e=>e.width).attr(`height`,e=>e.height).attr(`fill`,e=>e.fill).attr(`stroke`,e=>e.strokeFill).attr(`stroke-width`,e=>e.strokeWidth),l.showDataLabel){let r=l.showDataLabelOutsideBar;if(l.chartOrientation===`horizontal`){let i=function(e,t){let{data:n,label:r}=e;return t*r.length*a<=n.width-o};e(i,`fitsHorizontally`);let a=.7,o=10,c=t.data.map((e,t)=>({data:e,label:u[t].toString()})).filter(e=>e.data.width>0&&e.data.height>0),l=c.map(e=>{let{data:t}=e,n=t.height*.7;for(;!i(e,n)&&n>0;)--n;return n}),d=Math.floor(Math.min(...l)),f=e(e=>r?e.data.x+e.data.width+10:e.data.x+e.data.width-10,`determineLabelXPosition`);n.selectAll(`text`).data(c).enter().append(`text`).attr(`x`,f).attr(`y`,e=>e.data.y+e.data.height/2).attr(`text-anchor`,r?`start`:`end`).attr(`dominant-baseline`,`middle`).attr(`fill`,s.dataLabelColor).attr(`font-size`,`${d}px`).text(e=>e.label)}else{let i=function(e,t,n){let{data:r,label:i}=e,a=t*i.length*.7,o=r.x+r.width/2,s=o-a/2,c=o+a/2,l=s>=r.x&&c<=r.x+r.width,u=r.y+n+t<=r.y+r.height;return l&&u};e(i,`fitsInBar`);let a=t.data.map((e,t)=>({data:e,label:u[t].toString()})).filter(e=>e.data.width>0&&e.data.height>0),o=a.map(e=>{let{data:t,label:n}=e,r=t.width/(n.length*.7);for(;!i(e,r,10)&&r>0;)--r;return r}),c=Math.floor(Math.min(...o)),l=e(e=>r?e.data.y-10:e.data.y+10,`determineLabelYPosition`);n.selectAll(`text`).data(a).enter().append(`text`).attr(`x`,e=>e.data.x+e.data.width/2).attr(`y`,l).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,r?`auto`:`hanging`).attr(`fill`,s.dataLabelColor).attr(`font-size`,`${c}px`).text(e=>e.label)}}break;case`text`:n.selectAll(`text`).data(t.data).enter().append(`text`).attr(`x`,0).attr(`y`,0).attr(`fill`,e=>e.fill).attr(`font-size`,e=>e.fontSize).attr(`dominant-baseline`,e=>d(e.verticalPos)).attr(`text-anchor`,e=>f(e.horizontalPos)).attr(`transform`,e=>p(e)).text(e=>e.text);break;case`path`:n.selectAll(`path`).data(t.data).enter().append(`path`).attr(`d`,e=>e.path).attr(`fill`,e=>e.fill?e.fill:`none`).attr(`stroke`,e=>e.strokeFill).attr(`stroke-width`,e=>e.strokeWidth)}}},`draw`)}};export{Ce as diagram};