@layers-app/editor 2.2.8 → 2.2.10

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 (210) hide show
  1. package/dist/index.cjs +2 -2
  2. package/dist/index.js +2 -2
  3. package/dist/{layers.CvrViPJG.js → layers.0aAptiBr.js} +8 -8
  4. package/dist/{layers.BDBe77TL.js → layers.4CvCPUx4.js} +1 -1
  5. package/dist/layers.7JThJyFu.js +6 -0
  6. package/dist/{layers.DrxbVkyV.js → layers.7vx2hue6.js} +1 -1
  7. package/dist/{layers.C__COulp.js → layers.8NpkPu5J.js} +1 -1
  8. package/dist/{layers.z4q71mMk.js → layers.8vwH2NeN.js} +1 -1
  9. package/dist/{layers.B4WO4j9T.js → layers.9rPUdZLr.js} +1 -1
  10. package/dist/{layers.BWWVf9Ba.js → layers.ANeCT5P5.js} +1 -1
  11. package/dist/{layers.BqZWH9En.js → layers.Ar_mfeaF.js} +1 -1
  12. package/dist/{layers.C2gfpoT_.js → layers.B-P9i94s.js} +1 -1
  13. package/dist/{layers.D7yo4MfW.js → layers.B-SZd3zA.js} +1 -1
  14. package/dist/{layers.DR6hxKqm.js → layers.B1c-Ow8t.js} +1 -1
  15. package/dist/{layers.CuUNK8va.js → layers.B1czjg6w.js} +4 -4
  16. package/dist/{layers.BLvcUv_1.js → layers.B1qeNNhk.js} +3 -3
  17. package/dist/{layers.Cgnx0Og-.js → layers.B3uuA0Gd.js} +4 -4
  18. package/dist/{layers.B7TZo55n.js → layers.B4I4OQ-m.js} +1 -1
  19. package/dist/{layers.rUALCUAJ.js → layers.B4VHoW80.js} +1 -1
  20. package/dist/{layers.CiYMQ63U.js → layers.B7f5TWqx.js} +1 -1
  21. package/dist/{layers.Cliu4TWT.js → layers.B7vX8oL3.js} +4 -4
  22. package/dist/{layers.DF1g1W1y.js → layers.BAI1-34q.js} +1 -1
  23. package/dist/{layers.D9wnOB49.js → layers.BAld3ZsI.js} +1 -1
  24. package/dist/{layers.CtnjQXA0.js → layers.BECFTDFf.js} +1 -1
  25. package/dist/{layers.oA0CPF_1.js → layers.BIR3wXCY.js} +1 -1
  26. package/dist/{layers.n_UKBYh2.js → layers.BJSFgXBS.js} +1 -1
  27. package/dist/{layers.CjRGjY7y.js → layers.BL_BwDc0.js} +1 -1
  28. package/dist/{layers.Df2Tx3z8.js → layers.BMshwZ_7.js} +1 -1
  29. package/dist/{layers.CgZ4a0SH.js → layers.BO0EaZbd.js} +1 -1
  30. package/dist/{layers.C11Q2Qmx.js → layers.BOCqkCja.js} +1 -1
  31. package/dist/{layers.BwpOSoCc.js → layers.BPtJNlKj.js} +1 -1
  32. package/dist/{layers.CW2tS43F.js → layers.BQDPlc2X.js} +1 -1
  33. package/dist/{layers.CHZlNILM.js → layers.BQVWgKmf.js} +1 -1
  34. package/dist/{layers.DMtdZLzF.js → layers.BRXb2urA.js} +1 -1
  35. package/dist/{layers.CZQfAvCl.js → layers.BW0oXY3i.js} +3 -3
  36. package/dist/{layers.BNfI36oB.js → layers.BYmra9_y.js} +1 -1
  37. package/dist/{layers.CRlQtJDq.js → layers.BZP0Epog.js} +1 -1
  38. package/dist/{layers.BCmQYXTC.js → layers.BZQsFHGB.js} +1 -1
  39. package/dist/{layers.DAJRTaTs.js → layers.B_Z_8Jtd.js} +1 -1
  40. package/dist/{layers.D6oXh7oQ.js → layers.B_ko0BL8.js} +1 -1
  41. package/dist/{layers.B5hKAoj-.js → layers.Bb1tAC2t.js} +6 -6
  42. package/dist/{layers.Catyf_OL.js → layers.Bd97NUoK.js} +1 -1
  43. package/dist/{layers.Dn8o-hDC.js → layers.BdLIHFmt.js} +1 -1
  44. package/dist/{layers.Co8UsSuU.js → layers.BeZUcl1v.js} +1 -1
  45. package/dist/{layers.DMAMR1gV.js → layers.BepBufiX.js} +1 -1
  46. package/dist/{layers.D3ucB3Ra.js → layers.BfV4gQS8.js} +1 -1
  47. package/dist/{layers.Dsf83MRO.js → layers.Bj0E0SmF.js} +1 -1
  48. package/dist/{layers.C2zL0-Tw.js → layers.Bji4tzuT.js} +2 -2
  49. package/dist/{layers.DZwB17Dr.js → layers.BkOvpyxO.js} +1 -1
  50. package/dist/{layers.CIfWq5vc.js → layers.Bl2H2I3d.js} +1 -1
  51. package/dist/{layers.CMMij1Zn.js → layers.Bmq2sAk0.js} +4 -4
  52. package/dist/{layers.CmSHoj1x.js → layers.BqUDrI5g.js} +1 -1
  53. package/dist/{layers.DSFuvjQB.js → layers.Br_ZWr52.js} +1 -1
  54. package/dist/{layers.Bijp6iu5.js → layers.BsMxdwlQ.js} +1 -1
  55. package/dist/{layers.vdOBHGGK.js → layers.BsRzc8ab.js} +2 -2
  56. package/dist/{layers.BfkR8nRl.js → layers.BspnRMga.js} +1 -1
  57. package/dist/{layers.CUXP6eI6.js → layers.BtuIxH2o.js} +1 -1
  58. package/dist/{layers.EFtQNdmK.js → layers.Bu-uPhlH.js} +1 -1
  59. package/dist/{layers.eSyxlfEe.js → layers.Bu68rcVY.js} +1 -1
  60. package/dist/{layers.C558Gva9.js → layers.BvXTuqdr.js} +1 -1
  61. package/dist/{layers.B6n2EN4k.js → layers.Bw5hayAk.js} +1 -1
  62. package/dist/{layers.D_zmpwQx.js → layers.Bwz09uQW.js} +1 -1
  63. package/dist/{layers.BANIYnUf.js → layers.BxStmJty.js} +1 -1
  64. package/dist/{layers.XSymnYOh.js → layers.Bxe39dD3.js} +1 -1
  65. package/dist/{layers.DtHUMgx-.js → layers.By5pjrjF.js} +6 -5
  66. package/dist/{layers.5cDAJmTN.js → layers.Byeq0SBf.js} +1 -1
  67. package/dist/{layers.ZjBBda0P.js → layers.C0Y4mkLy.js} +1 -1
  68. package/dist/{layers.4t-t2fR8.js → layers.C2iGaFEQ.js} +1 -1
  69. package/dist/{layers.ClpjuFzD.js → layers.C3kD9vrA.js} +1 -1
  70. package/dist/{layers.0NtbISY7.js → layers.C3vRf6i4.js} +1 -1
  71. package/dist/{layers.BJ2wAp0B.js → layers.C68X8Luq.js} +1 -1
  72. package/dist/{layers.DosObSn4.js → layers.C8SzBM8d.js} +1 -1
  73. package/dist/{layers.DM6stShH.js → layers.C8TWw4d2.js} +5 -5
  74. package/dist/layers.C9DXiBPV.js +916 -0
  75. package/dist/{layers.B--INCs4.js → layers.CCFfc8NI.js} +4 -4
  76. package/dist/{layers.DkoGkiiP.js → layers.CCwUlq9S.js} +1 -1
  77. package/dist/{layers.DBmsVXY9.js → layers.CF-YyNgY.js} +1 -1
  78. package/dist/{layers.kCFbAAE0.js → layers.CG2ym8wP.js} +1 -1
  79. package/dist/{layers.BAxPGLDX.js → layers.CIJtnagh.js} +1 -1
  80. package/dist/{layers.CmlAvdJv.js → layers.CJCnvp_b.js} +1 -1
  81. package/dist/{layers.BBLye899.js → layers.CMbAsC1X.js} +1 -1
  82. package/dist/{layers.iw6xwChK.js → layers.CMiYs3YP.js} +25 -25
  83. package/dist/{layers.BQl_z0HH.js → layers.CNQQ5Wxb.js} +1 -1
  84. package/dist/{layers.CRMcmPjL.js → layers.COaoSOFU.js} +1 -1
  85. package/dist/{layers.CCReFpjc.js → layers.COnxeAQC.js} +1 -1
  86. package/dist/{layers.B_H4nd21.js → layers.CPE9qdC9.js} +3 -3
  87. package/dist/{layers.WaLHVeEJ.js → layers.CPi_Qujs.js} +1 -1
  88. package/dist/{layers.BrhdIPkI.js → layers.CREGzGmq.js} +1 -1
  89. package/dist/{layers.MWqZYcBK.js → layers.CSJeVWfh.js} +1 -1
  90. package/dist/{layers.CyyR5fhx.js → layers.CTyGHZl1.js} +3 -3
  91. package/dist/{layers.wjTd0Xjg.js → layers.CV0OQb1e.js} +1 -1
  92. package/dist/{layers.BLhpYKcJ.js → layers.CWwexnRR.js} +12 -3
  93. package/dist/{layers.DdsmsdqJ.js → layers.CXiOFnmu.js} +1 -1
  94. package/dist/{layers.BW_ztwLS.js → layers.CXxKDzn6.js} +1 -1
  95. package/dist/{layers.BbrzBAcn.js → layers.CY0B29eF.js} +3 -3
  96. package/dist/{layers.D3Tj_61d.js → layers.CZRwrT00.js} +1 -1
  97. package/dist/{layers.BNXlu0PW.js → layers.C_txsk2y.js} +1 -1
  98. package/dist/{layers.Dz3Z95hO.js → layers.CdYxWNXU.js} +1 -1
  99. package/dist/{layers.iQ3F32fl.js → layers.CedSvBOr.js} +1 -1
  100. package/dist/layers.CevzF4EG.js +1 -0
  101. package/dist/{layers.CevLfKUF.js → layers.CgiCrX4Z.js} +1 -1
  102. package/dist/{layers.OIQ8QEor.js → layers.Cj2_Pyp-.js} +1 -1
  103. package/dist/{layers.DvbYBfAq.js → layers.Clg23GRe.js} +1 -1
  104. package/dist/{layers.DRY0PTej.js → layers.CnJPZWrD.js} +1 -1
  105. package/dist/{layers.Co_7HjSz.js → layers.Cp-iItkZ.js} +3 -3
  106. package/dist/{layers.BNAelQgs.js → layers.Cp4leEw9.js} +1 -1
  107. package/dist/{layers.CvNkjprF.js → layers.CplQRziO.js} +1 -1
  108. package/dist/{layers.Cen7u4O9.js → layers.Cq2JAuM2.js} +1 -1
  109. package/dist/{layers.m3TdviP9.js → layers.CrNBG69-.js} +1 -1
  110. package/dist/{layers.DWOrq2Tn.js → layers.Cswlx_H3.js} +2 -2
  111. package/dist/{layers.OUtHLEVW.js → layers.Cu1uSIap.js} +1 -1
  112. package/dist/{layers.VMv04VnB.js → layers.Cw4WDL39.js} +1 -1
  113. package/dist/{layers.BOOrO9IZ.js → layers.Cwp-TA2e.js} +3 -3
  114. package/dist/{layers.BkydoYM7.js → layers.CzNIxbOl.js} +1 -1
  115. package/dist/{layers.D93suRjD.js → layers.CzzOdKuL.js} +14118 -13914
  116. package/dist/{layers.B_JgbGR1.js → layers.D--pL7GC.js} +1 -1
  117. package/dist/{layers._1gQcwl2.js → layers.D-qbxzIo.js} +1 -1
  118. package/dist/{layers.EWw8X_it.js → layers.D0yyw12H.js} +1 -1
  119. package/dist/{layers.DPFGryan.js → layers.D1BExWan.js} +1 -1
  120. package/dist/layers.D2riWlb6.js +8 -0
  121. package/dist/{layers.35dEhoIR.js → layers.D4HLbAbk.js} +3 -3
  122. package/dist/{layers.Df1fqXVF.js → layers.D5jR47g8.js} +1 -1
  123. package/dist/{layers.DUKv2Qwo.js → layers.D64tJyOp.js} +1 -1
  124. package/dist/{layers.DsqIpeF9.js → layers.D7S42qpd.js} +1 -1
  125. package/dist/{layers.HbBTqB64.js → layers.D8483l54.js} +1 -1
  126. package/dist/layers.D8PzymW1.js +1 -0
  127. package/dist/{layers.DUJuEEa5.js → layers.DBmhlDn5.js} +1 -1
  128. package/dist/{layers.i5h9DrxM.js → layers.DCy47Xb4.js} +1 -1
  129. package/dist/{layers.ClNFopyB.js → layers.DIsON_tr.js} +1 -1
  130. package/dist/{layers.C1pavYb4.js → layers.DJFoIAs-.js} +1 -1
  131. package/dist/{layers.B45P7kZN.js → layers.DKPi79mV.js} +1 -1
  132. package/dist/{layers.BqIGW35o.js → layers.DLi087e3.js} +1 -1
  133. package/dist/{layers.BQ6GJm93.js → layers.DLrPBGcq.js} +3 -3
  134. package/dist/{layers.fl_GvI-z.js → layers.DMhIJRVR.js} +1 -1
  135. package/dist/{layers.KotdLDwF.js → layers.DN4K9_Wm.js} +4 -4
  136. package/dist/{layers.CdEcOQEg.js → layers.DN9JXw_h.js} +4 -4
  137. package/dist/{layers.BYOVYXhR.js → layers.DO5Z7z_f.js} +1 -1
  138. package/dist/{layers.DB_W9ZcD.js → layers.DPtNjWEV.js} +1 -1
  139. package/dist/layers.DQ68fVbo.js +1 -0
  140. package/dist/{layers.CUz5Sa33.js → layers.DRCdaPgs.js} +1 -1
  141. package/dist/{layers.BRBp1j6c.js → layers.D_JDNayd.js} +1 -1
  142. package/dist/{layers.BMuJaRNe.js → layers.DaMJtirQ.js} +1 -1
  143. package/dist/{layers.CDiNlX5v.js → layers.DadNn-pV.js} +3 -3
  144. package/dist/{layers.CUNmjJIh.js → layers.DbcVBDAr.js} +1 -1
  145. package/dist/{layers.ChUS8APh.js → layers.DcIA9bX3.js} +1 -1
  146. package/dist/{layers.CipEkL2Y.js → layers.DeJnyH7n.js} +1 -1
  147. package/dist/{layers.D_KjIxlX.js → layers.DeaPDqWj.js} +1 -1
  148. package/dist/{layers.CTl81tzo.js → layers.DecGVNEo.js} +1 -1
  149. package/dist/{layers.CttSuTGF.js → layers.Dev4VmPS.js} +1 -1
  150. package/dist/{layers.Bd9mc0r6.js → layers.Df3_anG-.js} +1 -1
  151. package/dist/{layers.rxrvbRt5.js → layers.DfIwHdvW.js} +1 -1
  152. package/dist/{layers.CjvY-pqO.js → layers.DfpZ7YgA.js} +1 -1
  153. package/dist/{layers.a0RmStf6.js → layers.DhbiGqi5.js} +1 -1
  154. package/dist/{layers.CLMCVXrH.js → layers.DjW6bE01.js} +1 -1
  155. package/dist/{layers.DNf2dgcv.js → layers.DnRK7Wgj.js} +1 -1
  156. package/dist/{layers.BiTVgbtY.js → layers.DnV-ldKg.js} +1 -1
  157. package/dist/{layers.CjL96QOq.js → layers.DqsQlSU9.js} +1 -1
  158. package/dist/{layers.Cq9HZMAd.js → layers.DrnJSuC5.js} +1 -1
  159. package/dist/{layers.CQ2b2lCK.js → layers.DuCAOIlQ.js} +1 -1
  160. package/dist/{layers.Dde900Id.js → layers.DuTxQ7YV.js} +4 -4
  161. package/dist/{layers.C96zwp6b.js → layers.Eb9DrlAv.js} +1 -1
  162. package/dist/{layers.BDRxJVDM.js → layers.FTMJXHFA.js} +2 -2
  163. package/dist/{layers.BkN0bq7r.js → layers.Gpi_dPai.js} +1 -1
  164. package/dist/{layers.CBdrwHVd.js → layers.IET4vz9g.js} +1 -1
  165. package/dist/{layers.DgaFjsg9.js → layers.J7vLlGk5.js} +1 -1
  166. package/dist/{layers.B2eRhODg.js → layers.JxNes2ed.js} +4 -4
  167. package/dist/{layers.Bzrirbla.js → layers.KH0kcSve.js} +1 -1
  168. package/dist/{layers.CkHN7N1J.js → layers.KlE1grqK.js} +7 -7
  169. package/dist/{layers.D-Y-fOmf.js → layers.L-5Nb28h.js} +1 -1
  170. package/dist/{layers.B15jGVYz.js → layers.LS18cQcm.js} +1 -1
  171. package/dist/{layers.CI0Li36X.js → layers.M1zujfqW.js} +1 -1
  172. package/dist/{layers.CFaw8H52.js → layers.M9hNOd4R.js} +1 -1
  173. package/dist/{layers.le5XjFIH.js → layers.MQL3UDmQ.js} +1 -1
  174. package/dist/{layers.C1NhOEN1.js → layers.O0eufZTU.js} +1 -1
  175. package/dist/{layers.B4DK2kRq.js → layers.O9umMyzq.js} +1 -1
  176. package/dist/{layers.Dv7BzC8c.js → layers.P9eHfYW_.js} +1 -1
  177. package/dist/{layers.BATjIQ2G.js → layers.PD6vXyS5.js} +5 -5
  178. package/dist/{layers.xxnuUrnp.js → layers.PymdwIkC.js} +1 -1
  179. package/dist/{layers.BXlXApRY.js → layers.QWJ15xFL.js} +1 -1
  180. package/dist/{layers.BPMuKXHt.js → layers.R-XKUlw-.js} +1 -1
  181. package/dist/layers.R8Iyu9V3.js +1 -0
  182. package/dist/{layers.D1feFsBx.js → layers.SWpcFXum.js} +2 -2
  183. package/dist/{layers.CI3E23ea.js → layers.Sj_hRG5i.js} +1 -1
  184. package/dist/{layers.HAmUjl7S.js → layers.TMOPOKNY.js} +4 -4
  185. package/dist/{layers.CgZf7_bn.js → layers.U3Unb8Mn.js} +1 -1
  186. package/dist/{layers.C6mBpfA6.js → layers.WYqAOb3b.js} +1 -1
  187. package/dist/{layers.tuVkIOnu.js → layers._2fNp-Zf.js} +1 -1
  188. package/dist/{layers.BC8MuAfW.js → layers.adod_VXH.js} +1 -1
  189. package/dist/{layers.BVKBbjql.js → layers.e0TnxlME.js} +1 -1
  190. package/dist/{layers.-CqpRnqz.js → layers.eyOhT5q2.js} +1 -1
  191. package/dist/{layers.CvI9qHiY.js → layers.kycUTQ9j.js} +1 -1
  192. package/dist/{layers.AjcRwkei.js → layers.nnP_p4hf.js} +1 -1
  193. package/dist/{layers.C7Ajccx8.js → layers.oqZR4HVL.js} +1 -1
  194. package/dist/{layers.C7HAIhL2.js → layers.tOKeeOTR.js} +1 -1
  195. package/dist/{layers.BPMf39tc.js → layers.txdPybK3.js} +1 -1
  196. package/dist/{layers.D-fdS5UQ.js → layers.u5sO-rdk.js} +2 -2
  197. package/dist/{layers.2kRpTaqI.js → layers.vFNpxl7U.js} +1 -1
  198. package/dist/{layers.Bg2ZVTWg.js → layers.x3rVqs4s.js} +1 -1
  199. package/dist/{layers.Con0Xf9D.js → layers.xN9poyK-.js} +1 -1
  200. package/dist/{layers.DnOYmhWs.js → layers.xqQUXbZU.js} +1 -1
  201. package/dist/{layers.af_xQJ5i.js → layers.yei70UPl.js} +1 -1
  202. package/dist/{layers.DPvVpz8G.js → layers.ypNzL7cU.js} +1 -1
  203. package/package.json +1 -1
  204. package/dist/layers.8I4Vcs5g.js +0 -1
  205. package/dist/layers.CCW46Smb.js +0 -1
  206. package/dist/layers.Co5T0Jqf.js +0 -6
  207. package/dist/layers.DawMn7bA.js +0 -8
  208. package/dist/layers.DlV641fX.js +0 -1
  209. package/dist/layers.L_s2iRha.js +0 -901
  210. package/dist/layers.U-C7BtsX.js +0 -1
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./layers.CkHN7N1J.js");var u={paste:"পেস্ট করুন",pasteAsPlaintext:"প্লেইনটেক্সট হিসাবে পেস্ট করুন",pasteCharts:"চার্ট পেস্ট করুন",selectAll:"সবটা সিলেক্ট করুন",multiSelect:"একাধিক সিলেক্ট করুন",moveCanvas:"ক্যানভাস সরান",cut:"কাট করুন",copy:"কপি করুন",copyAsPng:"পীএনজী ছবির মতন কপি করুন",copyAsSvg:"এসভীজী ছবির মতন কপি করুন",copyText:"লিখিত তথ্যের মতন কপি করুন",copySource:"",convertToCode:"",bringForward:"অধিকতর সামনে আনুন",sendToBack:"অধিকতর পিছনে নিয়ে যান",bringToFront:"সবার সামনে আনুন",sendBackward:"সবার পিছনে নিয়ে যান",delete:"মুছা",copyStyles:"ডিজাইন কপি করুন",pasteStyles:"ডিজাইন পেস্ট করুন",stroke:"রেখাংশ",background:"পটভূমি",fill:"রং",strokeWidth:"রেখাংশের বেধ",strokeStyle:"রেখাংশের ডিজাইন",strokeStyle_solid:"পুরু",strokeStyle_dashed:"পাতলা",strokeStyle_dotted:"বিন্দুবিন্দু",sloppiness:"ভ্রান্তি",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:"",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:"ব্যবহৃত ক্যানভাস",layers:"মাত্রা",actions:"ক্রিয়া",language:"ভাষা",liveCollaboration:"সরাসরি পারস্পরিক সহযোগিতা...",duplicateSelection:"সদৃশ সিলেক্ট",untitled:"অনামী",name:"নাম",yourName:"আপনার নাম",madeWithExcalidraw:"এক্সক্যালিড্র দ্বারা তৈরি",group:"দল গঠন করুন",ungroup:"দল বিভেদ করুন",collaborators:"সহযোগী",showGrid:"গ্রিড দেখান",addToLibrary:"সংগ্রহে যোগ করুন",removeFromLibrary:"সংগ্রহ থেকে বের করুন",libraryLoadingMessage:"সংগ্রহ তৈরি হচ্ছে",libraries:"সংগ্রহ দেখুন",loadingScene:"দৃশ্য তৈরি হচ্ছে",align:"পংক্তিবিন্যাস",alignTop:"উপর পংক্তি",alignBottom:"নিম্ন পংক্তি",alignLeft:"বাম পংক্তি",alignRight:"ডান পংক্তি",centerVertically:"উলম্ব কেন্দ্রিত",centerHorizontally:"অনুভূমিক কেন্দ্রিত",distributeHorizontally:"অনুভূমিকভাবে বিতরণ করুন",distributeVertically:"উল্লম্বভাবে বিতরণ করুন",flipHorizontal:"অনুভূমিক আবর্তন",flipVertical:"উলম্ব আবর্তন",viewMode:"দৃশ্য",share:"ভাগ করুন",showStroke:"",showBackground:"",toggleTheme:"",personalLib:"",excalidrawLib:"",decreaseFontSize:"লেখনীর মাত্রা কমান",increaseFontSize:"লেখনীর মাত্রা বাড়ান",unbindText:"",bindText:"",createContainerFromText:"",link:{edit:"লিঙ্ক সংশোধন",editEmbed:"",create:"লিঙ্ক তৈরী",createEmbed:"",label:"লিঙ্ক নামকরণ",labelEmbed:"",empty:""},lineEditor:{edit:"",exit:""},elementLock:{lock:"আবদ্ধ করুন",unlock:"বিচ্ছিন্ন করুন",lockAll:"সব আবদ্ধ করুন",unlockAll:"সব বিচ্ছিন্ন করুন"},statusPublished:"প্রকাশিত",sidebarLock:"লক",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},B={noItems:"সংগ্রহে কিছু যোগ করা হয়নি",hint_emptyLibrary:"এখানে যোগ করার জন্য ক্যানভাসে একটি বস্তু নির্বাচন করুন, অথবা নীচে, প্রকাশ্য সংগ্রহশালা থেকে একটি সংগ্রহ ইনস্টল করুন৷",hint_emptyPrivateLibrary:"এখানে যোগ করার জন্য ক্যানভাসে একটি বস্তু নির্বাচন করুন"},A={clearReset:"ক্যানভাস সাফ করুন",exportJSON:"জেসন নিবদ্ধ করুন",exportImage:"",export:"",copyToClipboard:"ক্লিপবোর্ডে কপি করুন",save:"জমা করুন",saveAs:"অন্যভাবে জমা করুন",load:"",getShareableLink:"ভাগযোগ্য লিঙ্ক পান",close:"বন্ধ করুন",selectLanguage:"ভাষা চিহ্নিত করুন",scrollBackToContent:"বিষয়বস্তুতে ফেরত যান",zoomIn:"বড় করুন",zoomOut:"ছোট করুন",resetZoom:"স্বাভাবিক করুন",menu:"তালিকা",done:"সম্পন্ন",edit:"সংশোধন করুন",undo:"ফেরত যান",redo:"পুনরায় করুন",resetLibrary:"সংগ্রহ সাফ করুন",createNewRoom:"নতুন রুম বানান",fullScreen:"পূর্ণস্ক্রীন",darkMode:"ডার্ক মোড",lightMode:"লাইট মোড",zenMode:"জেন মোড",objectsSnapMode:"",exitZenMode:"জেন মোড বন্ধ করুন",cancel:"বাতিল",clear:"সাফ",remove:"বিয়োগ",embed:"",publishLibrary:"সংগ্রহ প্রকাশ করুন",submit:"জমা করুন",confirm:"নিশ্চিত করুন",embeddableInteractionButton:""},C={clearReset:"এটি পুরো ক্যানভাস সাফ করবে। আপনি কি নিশ্চিত?",couldNotCreateShareableLink:"ভাগ করা যায় এমন লিঙ্ক তৈরি করা যায়নি।",couldNotCreateShareableLinkTooBig:"ভাগ করা যায় এমন লিঙ্ক তৈরি করা যায়নি: দৃশ্যটি খুব বড়",couldNotLoadInvalidFile:"অবৈধ ফাইল লোড করা যায়নি",importBackendFailed:"ব্যাকেন্ড থেকে আপলোড ব্যর্থ হয়েছে।",cannotExportEmptyCanvas:"খালি ক্যানভাস নিবদ্ধ করা যাবে না।",couldNotCopyToClipboard:"ক্লিপবোর্ডে কপি করা যায়নি।",decryptFailed:"তথ্য ডিক্রিপ্ট করা যায়নি।",uploadedSecurly:"আপলোডটি এন্ড-টু-এন্ড এনক্রিপশনের মাধ্যমে সুরক্ষিত করা হয়েছে, যার অর্থ হল এক্সক্যালিড্র সার্ভার এবং তৃতীয় পক্ষের দ্বারা পড়তে পারা সম্ভব নয়।",loadSceneOverridePrompt:"বাহ্যিক অঙ্কন লোড করা আপনার বিদ্যমান দৃশ্য প্রতিস্থাপন করবে। আপনি কি অবিরত করতে চান?",collabStopOverridePrompt:`অধিবেশন বন্ধ করা আপনার পূর্ববর্তী, স্থানীয়ভাবে সঞ্চিত অঙ্কন ওভাররাইট করবে। আপনি কি নিশ্চিত?
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./layers.KlE1grqK.js");var u={paste:"পেস্ট করুন",pasteAsPlaintext:"প্লেইনটেক্সট হিসাবে পেস্ট করুন",pasteCharts:"চার্ট পেস্ট করুন",selectAll:"সবটা সিলেক্ট করুন",multiSelect:"একাধিক সিলেক্ট করুন",moveCanvas:"ক্যানভাস সরান",cut:"কাট করুন",copy:"কপি করুন",copyAsPng:"পীএনজী ছবির মতন কপি করুন",copyAsSvg:"এসভীজী ছবির মতন কপি করুন",copyText:"লিখিত তথ্যের মতন কপি করুন",copySource:"",convertToCode:"",bringForward:"অধিকতর সামনে আনুন",sendToBack:"অধিকতর পিছনে নিয়ে যান",bringToFront:"সবার সামনে আনুন",sendBackward:"সবার পিছনে নিয়ে যান",delete:"মুছা",copyStyles:"ডিজাইন কপি করুন",pasteStyles:"ডিজাইন পেস্ট করুন",stroke:"রেখাংশ",background:"পটভূমি",fill:"রং",strokeWidth:"রেখাংশের বেধ",strokeStyle:"রেখাংশের ডিজাইন",strokeStyle_solid:"পুরু",strokeStyle_dashed:"পাতলা",strokeStyle_dotted:"বিন্দুবিন্দু",sloppiness:"ভ্রান্তি",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:"",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:"ব্যবহৃত ক্যানভাস",layers:"মাত্রা",actions:"ক্রিয়া",language:"ভাষা",liveCollaboration:"সরাসরি পারস্পরিক সহযোগিতা...",duplicateSelection:"সদৃশ সিলেক্ট",untitled:"অনামী",name:"নাম",yourName:"আপনার নাম",madeWithExcalidraw:"এক্সক্যালিড্র দ্বারা তৈরি",group:"দল গঠন করুন",ungroup:"দল বিভেদ করুন",collaborators:"সহযোগী",showGrid:"গ্রিড দেখান",addToLibrary:"সংগ্রহে যোগ করুন",removeFromLibrary:"সংগ্রহ থেকে বের করুন",libraryLoadingMessage:"সংগ্রহ তৈরি হচ্ছে",libraries:"সংগ্রহ দেখুন",loadingScene:"দৃশ্য তৈরি হচ্ছে",align:"পংক্তিবিন্যাস",alignTop:"উপর পংক্তি",alignBottom:"নিম্ন পংক্তি",alignLeft:"বাম পংক্তি",alignRight:"ডান পংক্তি",centerVertically:"উলম্ব কেন্দ্রিত",centerHorizontally:"অনুভূমিক কেন্দ্রিত",distributeHorizontally:"অনুভূমিকভাবে বিতরণ করুন",distributeVertically:"উল্লম্বভাবে বিতরণ করুন",flipHorizontal:"অনুভূমিক আবর্তন",flipVertical:"উলম্ব আবর্তন",viewMode:"দৃশ্য",share:"ভাগ করুন",showStroke:"",showBackground:"",toggleTheme:"",personalLib:"",excalidrawLib:"",decreaseFontSize:"লেখনীর মাত্রা কমান",increaseFontSize:"লেখনীর মাত্রা বাড়ান",unbindText:"",bindText:"",createContainerFromText:"",link:{edit:"লিঙ্ক সংশোধন",editEmbed:"",create:"লিঙ্ক তৈরী",createEmbed:"",label:"লিঙ্ক নামকরণ",labelEmbed:"",empty:""},lineEditor:{edit:"",exit:""},elementLock:{lock:"আবদ্ধ করুন",unlock:"বিচ্ছিন্ন করুন",lockAll:"সব আবদ্ধ করুন",unlockAll:"সব বিচ্ছিন্ন করুন"},statusPublished:"প্রকাশিত",sidebarLock:"লক",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},B={noItems:"সংগ্রহে কিছু যোগ করা হয়নি",hint_emptyLibrary:"এখানে যোগ করার জন্য ক্যানভাসে একটি বস্তু নির্বাচন করুন, অথবা নীচে, প্রকাশ্য সংগ্রহশালা থেকে একটি সংগ্রহ ইনস্টল করুন৷",hint_emptyPrivateLibrary:"এখানে যোগ করার জন্য ক্যানভাসে একটি বস্তু নির্বাচন করুন"},A={clearReset:"ক্যানভাস সাফ করুন",exportJSON:"জেসন নিবদ্ধ করুন",exportImage:"",export:"",copyToClipboard:"ক্লিপবোর্ডে কপি করুন",save:"জমা করুন",saveAs:"অন্যভাবে জমা করুন",load:"",getShareableLink:"ভাগযোগ্য লিঙ্ক পান",close:"বন্ধ করুন",selectLanguage:"ভাষা চিহ্নিত করুন",scrollBackToContent:"বিষয়বস্তুতে ফেরত যান",zoomIn:"বড় করুন",zoomOut:"ছোট করুন",resetZoom:"স্বাভাবিক করুন",menu:"তালিকা",done:"সম্পন্ন",edit:"সংশোধন করুন",undo:"ফেরত যান",redo:"পুনরায় করুন",resetLibrary:"সংগ্রহ সাফ করুন",createNewRoom:"নতুন রুম বানান",fullScreen:"পূর্ণস্ক্রীন",darkMode:"ডার্ক মোড",lightMode:"লাইট মোড",zenMode:"জেন মোড",objectsSnapMode:"",exitZenMode:"জেন মোড বন্ধ করুন",cancel:"বাতিল",clear:"সাফ",remove:"বিয়োগ",embed:"",publishLibrary:"সংগ্রহ প্রকাশ করুন",submit:"জমা করুন",confirm:"নিশ্চিত করুন",embeddableInteractionButton:""},C={clearReset:"এটি পুরো ক্যানভাস সাফ করবে। আপনি কি নিশ্চিত?",couldNotCreateShareableLink:"ভাগ করা যায় এমন লিঙ্ক তৈরি করা যায়নি।",couldNotCreateShareableLinkTooBig:"ভাগ করা যায় এমন লিঙ্ক তৈরি করা যায়নি: দৃশ্যটি খুব বড়",couldNotLoadInvalidFile:"অবৈধ ফাইল লোড করা যায়নি",importBackendFailed:"ব্যাকেন্ড থেকে আপলোড ব্যর্থ হয়েছে।",cannotExportEmptyCanvas:"খালি ক্যানভাস নিবদ্ধ করা যাবে না।",couldNotCopyToClipboard:"ক্লিপবোর্ডে কপি করা যায়নি।",decryptFailed:"তথ্য ডিক্রিপ্ট করা যায়নি।",uploadedSecurly:"আপলোডটি এন্ড-টু-এন্ড এনক্রিপশনের মাধ্যমে সুরক্ষিত করা হয়েছে, যার অর্থ হল এক্সক্যালিড্র সার্ভার এবং তৃতীয় পক্ষের দ্বারা পড়তে পারা সম্ভব নয়।",loadSceneOverridePrompt:"বাহ্যিক অঙ্কন লোড করা আপনার বিদ্যমান দৃশ্য প্রতিস্থাপন করবে। আপনি কি অবিরত করতে চান?",collabStopOverridePrompt:`অধিবেশন বন্ধ করা আপনার পূর্ববর্তী, স্থানীয়ভাবে সঞ্চিত অঙ্কন ওভাররাইট করবে। আপনি কি নিশ্চিত?
2
2
 
3
3
  (যদি আপনি আপনার স্থানীয় অঙ্কন রাখতে চান, তাহলে শুধু ব্রাউজার ট্যাবটি বন্ধ করুন।)`,errorAddingToLibrary:"বস্তুটি সংগ্রহে যোগ করা যায়নি",errorRemovingFromLibrary:"বস্তুটি সংগ্রহ থেকে বিয়োগ করা যায়নি",confirmAddLibrary:"এটি আপনার সংগ্রহে {{numShapes}} আকার(গুলি) যোগ করবে। আপনি কি নিশ্চিত?",imageDoesNotContainScene:"এই ছবিতে কোনো দৃশ্যের তথ্য আছে বলে মনে হয় না৷ আপনি কি নিবদ্ধ করার সময় দৃশ্য এমবেডিং করতে সক্ষম?",cannotRestoreFromImage:"এই ফাইল থেকে দৃশ্য পুনরুদ্ধার করা যায়নি",invalidSceneUrl:"সরবরাহ করা লিঙ্ক থেকে দৃশ্য লোড করা যায়নি৷ এটি হয় বিকৃত, অথবা বৈধ এক্সক্যালিড্র জেসন তথ্য নেই৷",resetLibrary:"এটি আপনার সংগ্রহ পরিষ্কার করবে। আপনি কি নিশ্চিত?",removeItemsFromsLibrary:"সংগ্রহ থেকে {{count}} বস্তু বিয়োগ করা হবে। আপনি কি নিশ্চিত?",invalidEncryptionKey:"অবৈধ এনক্রীপশন কী।",collabOfflineWarning:""},e={unsupportedFileType:"অসমর্থিত ফাইল।",imageInsertError:"ছবি সন্নিবেশ করা যায়নি। পরে আবার চেষ্টা করুন...",fileTooBig:"ফাইলটি খুব বড়। সর্বাধিক অনুমোদিত আকার হল {{maxSize}}৷",svgImageInsertError:"এসভীজী ছবি সন্নিবেশ করা যায়নি। এসভীজী মার্কআপটি অবৈধ মনে হচ্ছে৷",failedToFetchImage:"",invalidSVGString:"এসভীজী মার্কআপটি অবৈধ মনে হচ্ছে৷",cannotResolveCollabServer:"কোল্যাব সার্ভারের সাথে সংযোগ করা যায়নি। পৃষ্ঠাটি পুনরায় লোড করে আবার চেষ্টা করুন।",importLibraryError:"সংগ্রহ লোড করা যায়নি",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},F={selection:"বাছাই",image:"চিত্র সন্নিবেশ",rectangle:"আয়তক্ষেত্র",diamond:"রুহিতন",ellipse:"উপবৃত্ত",arrow:"তীর",line:"রেখা",freedraw:"কলম",text:"লেখা",library:"সংগ্রহ",lock:"আঁকার পরে নির্বাচিত টুল সক্রিয় রাখুন",penMode:"",link:"একটি নির্বাচিত আকৃতির জন্য লিঙ্ক যোগ বা আপডেট করুন",eraser:"ঝাড়ন",frame:"",magicframe:"",embeddable:"",laser:"",hand:"",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},E={canvasActions:"ক্যানভাস কার্যকলাপ",selectedShapeActions:"বাছাই করা আকার(গুলি)র কার্যকলাপ",shapes:"আকার(গুলি)"},D={canvasPanning:"",linearElement:"একাধিক বিন্দু শুরু করতে ক্লিক করুন, একক লাইনের জন্য টেনে আনুন",freeDraw:"ক্লিক করুন এবং টেনে আনুন, আপনার কাজ শেষ হলে ছেড়ে দিন",text:"বিশেষ্য: আপনি নির্বাচন টুলের সাথে যে কোনো জায়গায় ডাবল-ক্লিক করে পাঠ্য যোগ করতে পারেন",embeddable:"",text_selected:"লেখা সম্পাদনা করতে ডাবল-ক্লিক করুন বা এন্টার টিপুন",text_editing:"লেখা সম্পাদনা শেষ করতে এসকেপ বা কন্ট্রোল/কম্যান্ড যোগে এন্টার টিপুন",linearElementMulti:"শেষ বিন্দুতে ক্লিক করুন অথবা শেষ করতে এসকেপ বা এন্টার টিপুন",lockAngle:"ঘোরানোর সময় আপনি শিফ্ট ধরে রেখে কোণ সীমাবদ্ধ করতে পারেন",resize:`আপনি আকার পরিবর্তন করার সময় শিফ্ট ধরে রেখে অনুপাতকে সীমাবদ্ধ করতে পারেন,
4
4
  কেন্দ্র থেকে আকার পরিবর্তন করতে অল্ট ধরে রাখুন`,resizeImage:"আপনি শিফ্ট ধরে রেখে অবাধে আকার পরিবর্তন করতে পারেন, কেন্দ্র থেকে আকার পরিবর্তন করতে অল্ট ধরুন",rotate:"আপনি ঘোরানোর সময় শিফ্ট ধরে রেখে কোণগুলিকে সীমাবদ্ধ করতে পারেন",lineEditor_info:"",lineEditor_pointSelected:"বিন্দু(গুলি) মুছতে ডিলিট টিপুন, কন্ট্রোল/কম্যান্ড যোগে ডি টিপুন নকল করতে অথবা সরানোর জন্য টানুন",lineEditor_nothingSelected:`সম্পাদনা করার জন্য একটি বিন্দু নির্বাচন করুন (একাধিক নির্বাচন করতে শিফ্ট ধরে রাখুন),
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./layers.Dz3Z95hO.js"),t=require("./layers.Cliu4TWT.js");require("lodash-es");const z=require("./layers.Cyzu9PKQ.js"),T=require("./layers.BLd2spTm.js");require("./layers.CkHN7N1J.js");require("lodash-es/memoize.js");require("lodash-es/merge.js");require("lodash-es/isEmpty.js");const L=require("./layers.DMAMR1gV.js"),P=e=>e.append("circle").attr("class","start-state").attr("r",t.getConfig().state.sizeUnit).attr("cx",t.getConfig().state.padding+t.getConfig().state.sizeUnit).attr("cy",t.getConfig().state.padding+t.getConfig().state.sizeUnit),q=e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t.getConfig().state.textHeight).attr("class","divider").attr("x2",t.getConfig().state.textHeight*2).attr("y1",0).attr("y2",0),A=(e,n)=>{const r=e.append("text").attr("x",2*t.getConfig().state.padding).attr("y",t.getConfig().state.textHeight+2*t.getConfig().state.padding).attr("font-size",t.getConfig().state.fontSize).attr("class","state-title").text(n.id),d=r.node().getBBox();return e.insert("rect",":first-child").attr("x",t.getConfig().state.padding).attr("y",t.getConfig().state.padding).attr("width",d.width+2*t.getConfig().state.padding).attr("height",d.height+2*t.getConfig().state.padding).attr("rx",t.getConfig().state.radius),r},G=(e,n)=>{const r=function(c,w,y){const S=c.append("tspan").attr("x",2*t.getConfig().state.padding).text(w);y||S.attr("dy",t.getConfig().state.textHeight)},a=e.append("text").attr("x",2*t.getConfig().state.padding).attr("y",t.getConfig().state.textHeight+1.3*t.getConfig().state.padding).attr("font-size",t.getConfig().state.fontSize).attr("class","state-title").text(n.descriptions[0]).node().getBBox(),l=a.height,f=e.append("text").attr("x",t.getConfig().state.padding).attr("y",l+t.getConfig().state.padding*.4+t.getConfig().state.dividerMargin+t.getConfig().state.textHeight).attr("class","state-description");let i=!0,s=!0;n.descriptions.forEach(function(c){i||(r(f,c,s),s=!1),i=!1});const C=e.append("line").attr("x1",t.getConfig().state.padding).attr("y1",t.getConfig().state.padding+l+t.getConfig().state.dividerMargin/2).attr("y2",t.getConfig().state.padding+l+t.getConfig().state.dividerMargin/2).attr("class","descr-divider"),p=f.node().getBBox(),g=Math.max(p.width,a.width);return C.attr("x2",g+3*t.getConfig().state.padding),e.insert("rect",":first-child").attr("x",t.getConfig().state.padding).attr("y",t.getConfig().state.padding).attr("width",g+2*t.getConfig().state.padding).attr("height",p.height+l+2*t.getConfig().state.padding).attr("rx",t.getConfig().state.radius),e},W=(e,n,r)=>{const d=t.getConfig().state.padding,a=2*t.getConfig().state.padding,l=e.node().getBBox(),f=l.width,i=l.x,s=e.append("text").attr("x",0).attr("y",t.getConfig().state.titleShift).attr("font-size",t.getConfig().state.fontSize).attr("class","state-title").text(n.id),p=s.node().getBBox().width+a;let g=Math.max(p,f);g===f&&(g=g+a);let c;const w=e.node().getBBox();n.doc,c=i-d,p>f&&(c=(f-g)/2+d),Math.abs(i-w.x)<d&&p>f&&(c=i-(p-f)/2);const y=1-t.getConfig().state.textHeight;return e.insert("rect",":first-child").attr("x",c).attr("y",y).attr("class",r?"alt-composit":"composit").attr("width",g).attr("height",w.height+t.getConfig().state.textHeight+t.getConfig().state.titleShift+1).attr("rx","0"),s.attr("x",c+d),p<=f&&s.attr("x",i+(g-a)/2-p/2+d),e.insert("rect",":first-child").attr("x",c).attr("y",t.getConfig().state.titleShift-t.getConfig().state.textHeight-t.getConfig().state.padding).attr("width",g).attr("height",t.getConfig().state.textHeight*3).attr("rx",t.getConfig().state.radius),e.insert("rect",":first-child").attr("x",c).attr("y",t.getConfig().state.titleShift-t.getConfig().state.textHeight-t.getConfig().state.padding).attr("width",g).attr("height",w.height+3+2*t.getConfig().state.textHeight).attr("rx",t.getConfig().state.radius),e},v=e=>(e.append("circle").attr("class","end-state-outer").attr("r",t.getConfig().state.sizeUnit+t.getConfig().state.miniPadding).attr("cx",t.getConfig().state.padding+t.getConfig().state.sizeUnit+t.getConfig().state.miniPadding).attr("cy",t.getConfig().state.padding+t.getConfig().state.sizeUnit+t.getConfig().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t.getConfig().state.sizeUnit).attr("cx",t.getConfig().state.padding+t.getConfig().state.sizeUnit+2).attr("cy",t.getConfig().state.padding+t.getConfig().state.sizeUnit+2)),R=(e,n)=>{let r=t.getConfig().state.forkWidth,d=t.getConfig().state.forkHeight;if(n.parentId){let a=r;r=d,d=a}return e.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",d).attr("x",t.getConfig().state.padding).attr("y",t.getConfig().state.padding)},U=(e,n,r,d)=>{let a=0;const l=d.append("text");l.style("text-anchor","start"),l.attr("class","noteText");let f=e.replace(/\r\n/g,"<br/>");f=f.replace(/\n/g,"<br/>");const i=f.split(t.common$1.lineBreakRegex);let s=1.25*t.getConfig().state.noteMargin;for(const C of i){const p=C.trim();if(p.length>0){const g=l.append("tspan");if(g.text(p),s===0){const c=g.node().getBBox();s+=c.height}a+=s,g.attr("x",n+t.getConfig().state.noteMargin),g.attr("y",r+a+1.25*t.getConfig().state.noteMargin)}}return{textWidth:l.node().getBBox().width,textHeight:a}},F=(e,n)=>{n.attr("class","state-note");const r=n.append("rect").attr("x",0).attr("y",t.getConfig().state.padding),d=n.append("g"),{textWidth:a,textHeight:l}=U(e,0,0,d);return r.attr("height",l+2*t.getConfig().state.noteMargin),r.attr("width",a+t.getConfig().state.noteMargin*2),r},M=function(e,n){const r=n.id,d={id:r,label:n.id,width:0,height:0},a=e.append("g").attr("id",r).attr("class","stateGroup");n.type==="start"&&P(a),n.type==="end"&&v(a),(n.type==="fork"||n.type==="join")&&R(a,n),n.type==="note"&&F(n.note.text,a),n.type==="divider"&&q(a),n.type==="default"&&n.descriptions.length===0&&A(a,n),n.type==="default"&&n.descriptions.length>0&&G(a,n);const l=a.node().getBBox();return d.width=l.width+2*t.getConfig().state.padding,d.height=l.height+2*t.getConfig().state.padding,d};let H=0;const O=function(e,n,r){const d=function(s){switch(s){case m.db.relationType.AGGREGATION:return"aggregation";case m.db.relationType.EXTENSION:return"extension";case m.db.relationType.COMPOSITION:return"composition";case m.db.relationType.DEPENDENCY:return"dependency"}};n.points=n.points.filter(s=>!Number.isNaN(s.y));const a=n.points,l=L.line().x(function(s){return s.x}).y(function(s){return s.y}).curve(t.curveBasis),f=e.append("path").attr("d",l(a)).attr("id","edge"+H).attr("class","transition");let i="";if(t.getConfig().state.arrowMarkerAbsolute&&(i=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,i=i.replace(/\(/g,"\\("),i=i.replace(/\)/g,"\\)")),f.attr("marker-end","url("+i+"#"+d(m.db.relationType.DEPENDENCY)+"End)"),r.title!==void 0){const s=e.append("g").attr("class","stateLabel"),{x:C,y:p}=t.utils.calcLabelPosition(n.points),g=t.common$1.getRows(r.title);let c=0;const w=[];let y=0,S=0;for(let x=0;x<=g.length;x++){const h=s.append("text").attr("text-anchor","middle").text(g[x]).attr("x",C).attr("y",p+c),u=h.node().getBBox();y=Math.max(y,u.width),S=Math.min(S,u.x),t.log$1.info(u.x,C,p+c),c===0&&(c=h.node().getBBox().height,t.log$1.info("Title height",c,p)),w.push(h)}let E=c*g.length;if(g.length>1){const x=(g.length-1)*c*.5;w.forEach((h,u)=>h.attr("y",p+u*c-x)),E=c*g.length}const o=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",C-y/2-t.getConfig().state.padding/2).attr("y",p-E/2-t.getConfig().state.padding/2-3.5).attr("width",y+t.getConfig().state.padding).attr("height",E+t.getConfig().state.padding),t.log$1.info(o)}H++};let b;const N={},X=function(){},J=function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},Y=function(e,n,r,d){b=t.getConfig().state;const a=t.getConfig().securityLevel;let l;a==="sandbox"&&(l=t.select("#i"+n));const f=a==="sandbox"?t.select(l.nodes()[0].contentDocument.body):t.select("body"),i=a==="sandbox"?l.nodes()[0].contentDocument:document;t.log$1.debug("Rendering diagram "+e);const s=f.select(`[id='${n}']`);J(s);const C=d.db.getRootDoc();$(C,s,void 0,!1,f,i,d);const p=b.padding,g=s.node().getBBox(),c=g.width+p*2,w=g.height+p*2,y=c*1.75;t.configureSvgSize(s,w,y,b.useMaxWidth),s.attr("viewBox",`${g.x-b.padding} ${g.y-b.padding} `+c+" "+w)},I=e=>e?e.length*b.fontSizeFactor:1,$=(e,n,r,d,a,l,f)=>{const i=new T.Graph({compound:!0,multigraph:!0});let s,C=!0;for(s=0;s<e.length;s++)if(e[s].stmt==="relation"){C=!1;break}r?i.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:C?1:b.edgeLengthFactor,nodeSep:C?1:50,isMultiGraph:!0}):i.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:C?1:b.edgeLengthFactor,nodeSep:C?1:50,ranker:"tight-tree",isMultiGraph:!0}),i.setDefaultEdgeLabel(function(){return{}}),f.db.extract(e);const p=f.db.getStates(),g=f.db.getRelations(),c=Object.keys(p);for(const o of c){const x=p[o];r&&(x.parentId=r);let h;if(x.doc){let u=n.append("g").attr("id",x.id).attr("class","stateGroup");h=$(x.doc,u,x.id,!d,a,l,f);{u=W(u,x,d);let B=u.node().getBBox();h.width=B.width,h.height=B.height+b.padding/2,N[x.id]={y:b.compositTitleSize}}}else h=M(n,x);if(x.note){const u={descriptions:[],id:x.id+"-note",note:x.note,type:"note"},B=M(n,u);x.note.position==="left of"?(i.setNode(h.id+"-note",B),i.setNode(h.id,h)):(i.setNode(h.id,h),i.setNode(h.id+"-note",B)),i.setParent(h.id,h.id+"-group"),i.setParent(h.id+"-note",h.id+"-group")}else i.setNode(h.id,h)}t.log$1.debug("Count=",i.nodeCount(),i);let w=0;g.forEach(function(o){w++,t.log$1.debug("Setting edge",o),i.setEdge(o.id1,o.id2,{relation:o,width:I(o.title),height:b.labelHeight*t.common$1.getRows(o.title).length,labelpos:"c"},"id"+w)}),z.layout(i),t.log$1.debug("Graph after layout",i.nodes());const y=n.node();i.nodes().forEach(function(o){o!==void 0&&i.node(o)!==void 0?(t.log$1.warn("Node "+o+": "+JSON.stringify(i.node(o))),a.select("#"+y.id+" #"+o).attr("transform","translate("+(i.node(o).x-i.node(o).width/2)+","+(i.node(o).y+(N[o]?N[o].y:0)-i.node(o).height/2)+" )"),a.select("#"+y.id+" #"+o).attr("data-x-shift",i.node(o).x-i.node(o).width/2),l.querySelectorAll("#"+y.id+" #"+o+" .divider").forEach(h=>{const u=h.parentElement;let B=0,k=0;u&&(u.parentElement&&(B=u.parentElement.getBBox().width),k=parseInt(u.getAttribute("data-x-shift"),10),Number.isNaN(k)&&(k=0)),h.setAttribute("x1",0-k+8),h.setAttribute("x2",B-k-8)})):t.log$1.debug("No Node "+o+": "+JSON.stringify(i.node(o)))});let S=y.getBBox();i.edges().forEach(function(o){o!==void 0&&i.edge(o)!==void 0&&(t.log$1.debug("Edge "+o.v+" -> "+o.w+": "+JSON.stringify(i.edge(o))),O(n,i.edge(o),i.edge(o).relation))}),S=y.getBBox();const E={id:r||"root",label:r||"root",width:0,height:0};return E.width=S.width+2*b.padding,E.height=S.height+2*b.padding,t.log$1.debug("Doc rendered",E,i),E},_={setConf:X,draw:Y},Z={parser:m.parser$1,db:m.db,renderer:_,styles:m.styles,init:e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,m.db.clear()}};exports.diagram=Z;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./layers.CdYxWNXU.js"),t=require("./layers.B7vX8oL3.js");require("lodash-es");const z=require("./layers.Cyzu9PKQ.js"),T=require("./layers.BLd2spTm.js");require("./layers.KlE1grqK.js");require("lodash-es/memoize.js");require("lodash-es/merge.js");require("lodash-es/isEmpty.js");const L=require("./layers.BepBufiX.js"),P=e=>e.append("circle").attr("class","start-state").attr("r",t.getConfig().state.sizeUnit).attr("cx",t.getConfig().state.padding+t.getConfig().state.sizeUnit).attr("cy",t.getConfig().state.padding+t.getConfig().state.sizeUnit),q=e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t.getConfig().state.textHeight).attr("class","divider").attr("x2",t.getConfig().state.textHeight*2).attr("y1",0).attr("y2",0),A=(e,n)=>{const r=e.append("text").attr("x",2*t.getConfig().state.padding).attr("y",t.getConfig().state.textHeight+2*t.getConfig().state.padding).attr("font-size",t.getConfig().state.fontSize).attr("class","state-title").text(n.id),d=r.node().getBBox();return e.insert("rect",":first-child").attr("x",t.getConfig().state.padding).attr("y",t.getConfig().state.padding).attr("width",d.width+2*t.getConfig().state.padding).attr("height",d.height+2*t.getConfig().state.padding).attr("rx",t.getConfig().state.radius),r},G=(e,n)=>{const r=function(c,w,y){const S=c.append("tspan").attr("x",2*t.getConfig().state.padding).text(w);y||S.attr("dy",t.getConfig().state.textHeight)},a=e.append("text").attr("x",2*t.getConfig().state.padding).attr("y",t.getConfig().state.textHeight+1.3*t.getConfig().state.padding).attr("font-size",t.getConfig().state.fontSize).attr("class","state-title").text(n.descriptions[0]).node().getBBox(),l=a.height,f=e.append("text").attr("x",t.getConfig().state.padding).attr("y",l+t.getConfig().state.padding*.4+t.getConfig().state.dividerMargin+t.getConfig().state.textHeight).attr("class","state-description");let i=!0,s=!0;n.descriptions.forEach(function(c){i||(r(f,c,s),s=!1),i=!1});const C=e.append("line").attr("x1",t.getConfig().state.padding).attr("y1",t.getConfig().state.padding+l+t.getConfig().state.dividerMargin/2).attr("y2",t.getConfig().state.padding+l+t.getConfig().state.dividerMargin/2).attr("class","descr-divider"),p=f.node().getBBox(),g=Math.max(p.width,a.width);return C.attr("x2",g+3*t.getConfig().state.padding),e.insert("rect",":first-child").attr("x",t.getConfig().state.padding).attr("y",t.getConfig().state.padding).attr("width",g+2*t.getConfig().state.padding).attr("height",p.height+l+2*t.getConfig().state.padding).attr("rx",t.getConfig().state.radius),e},W=(e,n,r)=>{const d=t.getConfig().state.padding,a=2*t.getConfig().state.padding,l=e.node().getBBox(),f=l.width,i=l.x,s=e.append("text").attr("x",0).attr("y",t.getConfig().state.titleShift).attr("font-size",t.getConfig().state.fontSize).attr("class","state-title").text(n.id),p=s.node().getBBox().width+a;let g=Math.max(p,f);g===f&&(g=g+a);let c;const w=e.node().getBBox();n.doc,c=i-d,p>f&&(c=(f-g)/2+d),Math.abs(i-w.x)<d&&p>f&&(c=i-(p-f)/2);const y=1-t.getConfig().state.textHeight;return e.insert("rect",":first-child").attr("x",c).attr("y",y).attr("class",r?"alt-composit":"composit").attr("width",g).attr("height",w.height+t.getConfig().state.textHeight+t.getConfig().state.titleShift+1).attr("rx","0"),s.attr("x",c+d),p<=f&&s.attr("x",i+(g-a)/2-p/2+d),e.insert("rect",":first-child").attr("x",c).attr("y",t.getConfig().state.titleShift-t.getConfig().state.textHeight-t.getConfig().state.padding).attr("width",g).attr("height",t.getConfig().state.textHeight*3).attr("rx",t.getConfig().state.radius),e.insert("rect",":first-child").attr("x",c).attr("y",t.getConfig().state.titleShift-t.getConfig().state.textHeight-t.getConfig().state.padding).attr("width",g).attr("height",w.height+3+2*t.getConfig().state.textHeight).attr("rx",t.getConfig().state.radius),e},v=e=>(e.append("circle").attr("class","end-state-outer").attr("r",t.getConfig().state.sizeUnit+t.getConfig().state.miniPadding).attr("cx",t.getConfig().state.padding+t.getConfig().state.sizeUnit+t.getConfig().state.miniPadding).attr("cy",t.getConfig().state.padding+t.getConfig().state.sizeUnit+t.getConfig().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t.getConfig().state.sizeUnit).attr("cx",t.getConfig().state.padding+t.getConfig().state.sizeUnit+2).attr("cy",t.getConfig().state.padding+t.getConfig().state.sizeUnit+2)),R=(e,n)=>{let r=t.getConfig().state.forkWidth,d=t.getConfig().state.forkHeight;if(n.parentId){let a=r;r=d,d=a}return e.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",d).attr("x",t.getConfig().state.padding).attr("y",t.getConfig().state.padding)},U=(e,n,r,d)=>{let a=0;const l=d.append("text");l.style("text-anchor","start"),l.attr("class","noteText");let f=e.replace(/\r\n/g,"<br/>");f=f.replace(/\n/g,"<br/>");const i=f.split(t.common$1.lineBreakRegex);let s=1.25*t.getConfig().state.noteMargin;for(const C of i){const p=C.trim();if(p.length>0){const g=l.append("tspan");if(g.text(p),s===0){const c=g.node().getBBox();s+=c.height}a+=s,g.attr("x",n+t.getConfig().state.noteMargin),g.attr("y",r+a+1.25*t.getConfig().state.noteMargin)}}return{textWidth:l.node().getBBox().width,textHeight:a}},F=(e,n)=>{n.attr("class","state-note");const r=n.append("rect").attr("x",0).attr("y",t.getConfig().state.padding),d=n.append("g"),{textWidth:a,textHeight:l}=U(e,0,0,d);return r.attr("height",l+2*t.getConfig().state.noteMargin),r.attr("width",a+t.getConfig().state.noteMargin*2),r},M=function(e,n){const r=n.id,d={id:r,label:n.id,width:0,height:0},a=e.append("g").attr("id",r).attr("class","stateGroup");n.type==="start"&&P(a),n.type==="end"&&v(a),(n.type==="fork"||n.type==="join")&&R(a,n),n.type==="note"&&F(n.note.text,a),n.type==="divider"&&q(a),n.type==="default"&&n.descriptions.length===0&&A(a,n),n.type==="default"&&n.descriptions.length>0&&G(a,n);const l=a.node().getBBox();return d.width=l.width+2*t.getConfig().state.padding,d.height=l.height+2*t.getConfig().state.padding,d};let H=0;const O=function(e,n,r){const d=function(s){switch(s){case m.db.relationType.AGGREGATION:return"aggregation";case m.db.relationType.EXTENSION:return"extension";case m.db.relationType.COMPOSITION:return"composition";case m.db.relationType.DEPENDENCY:return"dependency"}};n.points=n.points.filter(s=>!Number.isNaN(s.y));const a=n.points,l=L.line().x(function(s){return s.x}).y(function(s){return s.y}).curve(t.curveBasis),f=e.append("path").attr("d",l(a)).attr("id","edge"+H).attr("class","transition");let i="";if(t.getConfig().state.arrowMarkerAbsolute&&(i=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,i=i.replace(/\(/g,"\\("),i=i.replace(/\)/g,"\\)")),f.attr("marker-end","url("+i+"#"+d(m.db.relationType.DEPENDENCY)+"End)"),r.title!==void 0){const s=e.append("g").attr("class","stateLabel"),{x:C,y:p}=t.utils.calcLabelPosition(n.points),g=t.common$1.getRows(r.title);let c=0;const w=[];let y=0,S=0;for(let x=0;x<=g.length;x++){const h=s.append("text").attr("text-anchor","middle").text(g[x]).attr("x",C).attr("y",p+c),u=h.node().getBBox();y=Math.max(y,u.width),S=Math.min(S,u.x),t.log$1.info(u.x,C,p+c),c===0&&(c=h.node().getBBox().height,t.log$1.info("Title height",c,p)),w.push(h)}let E=c*g.length;if(g.length>1){const x=(g.length-1)*c*.5;w.forEach((h,u)=>h.attr("y",p+u*c-x)),E=c*g.length}const o=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",C-y/2-t.getConfig().state.padding/2).attr("y",p-E/2-t.getConfig().state.padding/2-3.5).attr("width",y+t.getConfig().state.padding).attr("height",E+t.getConfig().state.padding),t.log$1.info(o)}H++};let b;const N={},X=function(){},J=function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},Y=function(e,n,r,d){b=t.getConfig().state;const a=t.getConfig().securityLevel;let l;a==="sandbox"&&(l=t.select("#i"+n));const f=a==="sandbox"?t.select(l.nodes()[0].contentDocument.body):t.select("body"),i=a==="sandbox"?l.nodes()[0].contentDocument:document;t.log$1.debug("Rendering diagram "+e);const s=f.select(`[id='${n}']`);J(s);const C=d.db.getRootDoc();$(C,s,void 0,!1,f,i,d);const p=b.padding,g=s.node().getBBox(),c=g.width+p*2,w=g.height+p*2,y=c*1.75;t.configureSvgSize(s,w,y,b.useMaxWidth),s.attr("viewBox",`${g.x-b.padding} ${g.y-b.padding} `+c+" "+w)},I=e=>e?e.length*b.fontSizeFactor:1,$=(e,n,r,d,a,l,f)=>{const i=new T.Graph({compound:!0,multigraph:!0});let s,C=!0;for(s=0;s<e.length;s++)if(e[s].stmt==="relation"){C=!1;break}r?i.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:C?1:b.edgeLengthFactor,nodeSep:C?1:50,isMultiGraph:!0}):i.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:C?1:b.edgeLengthFactor,nodeSep:C?1:50,ranker:"tight-tree",isMultiGraph:!0}),i.setDefaultEdgeLabel(function(){return{}}),f.db.extract(e);const p=f.db.getStates(),g=f.db.getRelations(),c=Object.keys(p);for(const o of c){const x=p[o];r&&(x.parentId=r);let h;if(x.doc){let u=n.append("g").attr("id",x.id).attr("class","stateGroup");h=$(x.doc,u,x.id,!d,a,l,f);{u=W(u,x,d);let B=u.node().getBBox();h.width=B.width,h.height=B.height+b.padding/2,N[x.id]={y:b.compositTitleSize}}}else h=M(n,x);if(x.note){const u={descriptions:[],id:x.id+"-note",note:x.note,type:"note"},B=M(n,u);x.note.position==="left of"?(i.setNode(h.id+"-note",B),i.setNode(h.id,h)):(i.setNode(h.id,h),i.setNode(h.id+"-note",B)),i.setParent(h.id,h.id+"-group"),i.setParent(h.id+"-note",h.id+"-group")}else i.setNode(h.id,h)}t.log$1.debug("Count=",i.nodeCount(),i);let w=0;g.forEach(function(o){w++,t.log$1.debug("Setting edge",o),i.setEdge(o.id1,o.id2,{relation:o,width:I(o.title),height:b.labelHeight*t.common$1.getRows(o.title).length,labelpos:"c"},"id"+w)}),z.layout(i),t.log$1.debug("Graph after layout",i.nodes());const y=n.node();i.nodes().forEach(function(o){o!==void 0&&i.node(o)!==void 0?(t.log$1.warn("Node "+o+": "+JSON.stringify(i.node(o))),a.select("#"+y.id+" #"+o).attr("transform","translate("+(i.node(o).x-i.node(o).width/2)+","+(i.node(o).y+(N[o]?N[o].y:0)-i.node(o).height/2)+" )"),a.select("#"+y.id+" #"+o).attr("data-x-shift",i.node(o).x-i.node(o).width/2),l.querySelectorAll("#"+y.id+" #"+o+" .divider").forEach(h=>{const u=h.parentElement;let B=0,k=0;u&&(u.parentElement&&(B=u.parentElement.getBBox().width),k=parseInt(u.getAttribute("data-x-shift"),10),Number.isNaN(k)&&(k=0)),h.setAttribute("x1",0-k+8),h.setAttribute("x2",B-k-8)})):t.log$1.debug("No Node "+o+": "+JSON.stringify(i.node(o)))});let S=y.getBBox();i.edges().forEach(function(o){o!==void 0&&i.edge(o)!==void 0&&(t.log$1.debug("Edge "+o.v+" -> "+o.w+": "+JSON.stringify(i.edge(o))),O(n,i.edge(o),i.edge(o).relation))}),S=y.getBBox();const E={id:r||"root",label:r||"root",width:0,height:0};return E.width=S.width+2*b.padding,E.height=S.height+2*b.padding,t.log$1.debug("Doc rendered",E,i),E},_={setConf:X,draw:Y},Z={parser:m.parser$1,db:m.db,renderer:_,styles:m.styles,init:e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,m.db.clear()}};exports.diagram=Z;
@@ -1,4 +1,4 @@
1
- import "./layers.CvrViPJG.js";
1
+ import "./layers.0aAptiBr.js";
2
2
  var e = { paste: "Einfügen", pasteAsPlaintext: "Als reinen Text einfügen", pasteCharts: "Diagramme einfügen", selectAll: "Alle auswählen", multiSelect: "Element zur Auswahl hinzufügen", moveCanvas: "Leinwand verschieben", cut: "Ausschneiden", copy: "Kopieren", copyAsPng: "In Zwischenablage kopieren (PNG)", copyAsSvg: "In Zwischenablage kopieren (SVG)", copyText: "In die Zwischenablage als Text kopieren", copySource: "Quelle in Zwischenablage kopieren", convertToCode: "In Code konvertieren", bringForward: "Nach vorne", sendToBack: "In den Hintergrund", bringToFront: "In den Vordergrund", sendBackward: "Nach hinten", delete: "Löschen", copyStyles: "Formatierung kopieren", pasteStyles: "Formatierung übernehmen", stroke: "Strich", background: "Hintergrund", fill: "Füllung", strokeWidth: "Strichstärke", strokeStyle: "Konturstil", strokeStyle_solid: "Durchgezogen", strokeStyle_dashed: "Gestrichelt", strokeStyle_dotted: "Gepunktet", sloppiness: "Sauberkeit", opacity: "Deckkraft", textAlign: "Textausrichtung", edges: "Kanten", sharp: "Scharf", round: "Rund", arrowheads: "Pfeilspitzen", arrowhead_none: "Keine", arrowhead_arrow: "Pfeil", arrowhead_bar: "Balken", arrowhead_circle: "Kreis", arrowhead_circle_outline: "Kreis (Umrandung)", arrowhead_triangle: "Dreieck", arrowhead_triangle_outline: "Dreieck (Umrandung)", arrowhead_diamond: "Raute", arrowhead_diamond_outline: "Raute (Umrandung)", fontSize: "Schriftgröße", fontFamily: "Schriftfamilie", addWatermark: '"Made with Excalidraw" hinzufügen', handDrawn: "Handgezeichnet", normal: "Normal", code: "Code", small: "Klein", medium: "Mittel", large: "Groß", veryLarge: "Sehr groß", solid: "Deckend", hachure: "Schraffiert", zigzag: "Zickzack", crossHatch: "Kreuzschraffiert", thin: "Dünn", bold: "Fett", left: "Links", center: "Zentriert", right: "Rechts", extraBold: "Extra Fett", architect: "Architekt", artist: "Künstler", cartoonist: "Karikaturist", fileTitle: "Dateiname", colorPicker: "Farbauswähler", canvasColors: "Auf Leinwand verwendet", canvasBackground: "Zeichenflächenhintergrund", drawingCanvas: "Leinwand", layers: "Ebenen", actions: "Aktionen", language: "Sprache", liveCollaboration: "Live-Zusammenarbeit...", duplicateSelection: "Duplizieren", untitled: "Unbenannt", name: "Name", yourName: "Dein Name", madeWithExcalidraw: "Made with Excalidraw", group: "Auswahl gruppieren", ungroup: "Gruppierung aufheben", collaborators: "Mitarbeitende", showGrid: "Raster anzeigen", addToLibrary: "Zur Bibliothek hinzufügen", removeFromLibrary: "Aus Bibliothek entfernen", libraryLoadingMessage: "Lade Bibliothek…", libraries: "Bibliotheken durchsuchen", loadingScene: "Lade Zeichnung…", align: "Ausrichten", alignTop: "Obere Kanten", alignBottom: "Untere Kanten", alignLeft: "Linke Kanten", alignRight: "Rechte Kanten", centerVertically: "Vertikal zentrieren", centerHorizontally: "Horizontal zentrieren", distributeHorizontally: "Horizontal verteilen", distributeVertically: "Vertikal verteilen", flipHorizontal: "Horizontal spiegeln", flipVertical: "Vertikal spiegeln", viewMode: "Ansichtsmodus", share: "Teilen", showStroke: "Auswahl für Strichfarbe anzeigen", showBackground: "Hintergrundfarbe auswählen", toggleTheme: "Design umschalten", personalLib: "Persönliche Bibliothek", excalidrawLib: "Excalidraw Bibliothek", decreaseFontSize: "Schriftgröße verkleinern", increaseFontSize: "Schrift vergrößern", unbindText: "Text lösen", bindText: "Text an Container binden", createContainerFromText: "Text in Container einbetten", link: { edit: "Link bearbeiten", editEmbed: "Link bearbeiten & einbetten", create: "Link erstellen", createEmbed: "Link erstellen & einbetten", label: "Link", labelEmbed: "Verlinken & einbetten", empty: "Kein Link festgelegt" }, lineEditor: { edit: "Linie bearbeiten", exit: "Linieneditor verlassen" }, elementLock: { lock: "Sperren", unlock: "Entsperren", lockAll: "Alle sperren", unlockAll: "Alle entsperren" }, statusPublished: "Veröffentlicht", sidebarLock: "Seitenleiste offen lassen", selectAllElementsInFrame: "Alle Elemente im Rahmen auswählen", removeAllElementsFromFrame: "Alle Elemente aus dem Rahmen entfernen", eyeDropper: "Farbe von der Zeichenfläche auswählen", textToDiagram: "Text zu Diagramm", prompt: "Eingabe" }, n = { noItems: "Noch keine Elemente hinzugefügt...", hint_emptyLibrary: "Wähle ein Element auf der Zeichenfläche, um es hier hinzuzufügen. Oder installiere eine Bibliothek aus dem öffentlichen Verzeichnis.", hint_emptyPrivateLibrary: "Wähle ein Element von der Zeichenfläche, um es hier hinzuzufügen." }, i = { clearReset: "Zeichenfläche löschen & Hintergrundfarbe zurücksetzen", exportJSON: "In Datei exportieren", exportImage: "Exportiere Bild...", export: "Speichern als...", copyToClipboard: "In Zwischenablage kopieren", save: "In aktueller Datei speichern", saveAs: "Speichern unter", load: "Öffnen", getShareableLink: "Teilbaren Link erhalten", close: "Schließen", selectLanguage: "Sprache auswählen", scrollBackToContent: "Zurück zum Inhalt", zoomIn: "Vergrößern", zoomOut: "Verkleinern", resetZoom: "Zoom zurücksetzen", menu: "Menü", done: "Fertig", edit: "Bearbeiten", undo: "Rückgängig machen", redo: "Wiederholen", resetLibrary: "Bibliothek zurücksetzen", createNewRoom: "Neuen Raum erstellen", fullScreen: "Vollbildanzeige", darkMode: "Dunkles Design", lightMode: "Helles Design", zenMode: "Zen-Modus", objectsSnapMode: "Einrasten an Objekten", exitZenMode: "Zen-Modus verlassen", cancel: "Abbrechen", clear: "Löschen", remove: "Entfernen", embed: "Einbettung umschalten", publishLibrary: "Veröffentlichen", submit: "Absenden", confirm: "Bestätigen", embeddableInteractionButton: "Klicken, um zu interagieren" }, r = { clearReset: "Dies wird die ganze Zeichenfläche löschen. Bist du dir sicher?", couldNotCreateShareableLink: "Konnte keinen teilbaren Link erstellen.", couldNotCreateShareableLinkTooBig: "Konnte keinen teilbaren Link erstellen: Die Zeichnung ist zu groß", couldNotLoadInvalidFile: "Ungültige Datei konnte nicht geladen werden", importBackendFailed: "Import vom Server ist fehlgeschlagen.", cannotExportEmptyCanvas: "Leere Zeichenfläche kann nicht exportiert werden.", couldNotCopyToClipboard: "Kopieren in die Zwischenablage fehlgeschlagen.", decryptFailed: "Daten konnten nicht entschlüsselt werden.", uploadedSecurly: "Der Upload wurde mit Ende-zu-Ende-Verschlüsselung gespeichert. Weder Excalidraw noch Dritte können den Inhalt einsehen.", loadSceneOverridePrompt: "Das Laden einer externen Zeichnung ersetzt den vorhandenen Inhalt. Möchtest du fortfahren?", collabStopOverridePrompt: `Das Stoppen der Sitzung wird deine vorherige, lokal gespeicherte Zeichnung überschreiben. Bist du dir sicher?
3
3
 
4
4
  (Wenn du deine lokale Zeichnung behalten möchtest, schließe stattdessen den Browser-Tab.)`, errorAddingToLibrary: "Das Element konnte nicht zur Bibliothek hinzugefügt werden", errorRemovingFromLibrary: "Das Element konnte nicht aus der Bibliothek entfernt werden", confirmAddLibrary: "Dies fügt {{numShapes}} Form(en) zu deiner Bibliothek hinzu. Bist du dir sicher?", imageDoesNotContainScene: "Dieses Bild scheint keine Szenendaten zu enthalten. Hast Du das Einbetten der Szene während des Exports aktiviert?", cannotRestoreFromImage: "Die Zeichnung konnte aus dieser Bilddatei nicht wiederhergestellt werden", invalidSceneUrl: "Die Szene konnte nicht von der angegebenen URL importiert werden. Sie ist entweder fehlerhaft oder enthält keine gültigen Excalidraw JSON-Daten.", resetLibrary: "Dieses löscht deine Bibliothek. Bist du sicher?", removeItemsFromsLibrary: "{{count}} Element(e) aus der Bibliothek löschen?", invalidEncryptionKey: "Verschlüsselungsschlüssel muss 22 Zeichen lang sein. Die Live-Zusammenarbeit ist deaktiviert.", collabOfflineWarning: `Keine Internetverbindung verfügbar.
@@ -1,4 +1,4 @@
1
- "use strict";const h=require("./layers.Cliu4TWT.js"),K=require("./layers.CRMcmPjL.js"),it=require("./layers.DMAMR1gV.js"),nt=(a,t,e,i)=>{t.forEach(l=>{dt[l](a,e,i)})},lt=(a,t,e)=>{h.log$1.trace("Making markers for ",e),a.append("defs").append("marker").attr("id",e+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),a.append("defs").append("marker").attr("id",e+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},ct=(a,t,e)=>{a.append("defs").append("marker").attr("id",e+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),a.append("defs").append("marker").attr("id",e+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},ot=(a,t,e)=>{a.append("defs").append("marker").attr("id",e+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),a.append("defs").append("marker").attr("id",e+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},ht=(a,t,e)=>{a.append("defs").append("marker").attr("id",e+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),a.append("defs").append("marker").attr("id",e+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},ft=(a,t,e)=>{a.append("defs").append("marker").attr("id",e+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),a.append("defs").append("marker").attr("id",e+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},yt=(a,t,e)=>{a.append("marker").attr("id",e+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),a.append("marker").attr("id",e+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},gt=(a,t,e)=>{a.append("marker").attr("id",e+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),a.append("marker").attr("id",e+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},pt=(a,t,e)=>{a.append("marker").attr("id",e+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),a.append("marker").attr("id",e+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},xt=(a,t,e)=>{a.append("defs").append("marker").attr("id",e+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},dt={extension:lt,composition:ct,aggregation:ot,dependency:ht,lollipop:ft,point:yt,circle:gt,cross:pt,barb:xt},ut=nt;function bt(a,t){t&&a.attr("style",t)}function wt(a,t){const e=h.select(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),i=e.append("xhtml:div"),l=a.label,r=a.isNode?"nodeLabel":"edgeLabel";return i.html(h.sanitizeText$2('<span class="'+r+'" '+(a.labelStyle?'style="'+a.labelStyle+'"':"")+">"+l+"</span>",t)),bt(i,a.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap"),i.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}const mt=(a,t,e,i)=>{let l=a||"";typeof l=="object"&&(l=l[0]);const r=h.getConfig();if(h.evaluate(r.flowchart.htmlLabels)){l=l.replace(/\\n|\n/g,"<br />"),h.log$1.debug("vertexText"+l);const s={isNode:i,label:h.decodeEntities(l).replace(/fa[blrs]?:fa-[\w-]+/g,c=>`<i class='${c.replace(":"," ")}'></i>`),labelStyle:t.replace("fill:","color:")};return wt(s,r)}else{const s=document.createElementNS("http://www.w3.org/2000/svg","text");s.setAttribute("style",t.replace("color:","fill:"));let n=[];typeof l=="string"?n=l.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(l)?n=l:n=[];for(const c of n){const f=document.createElementNS("http://www.w3.org/2000/svg","tspan");f.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),f.setAttribute("dy","1em"),f.setAttribute("x","0"),e?f.setAttribute("class","title-row"):f.setAttribute("class","row"),f.textContent=c.trim(),s.appendChild(f)}return s}},B=mt,L=async(a,t,e,i)=>{let l;const r=t.useHtmlLabels||h.evaluate(h.getConfig().flowchart.htmlLabels);e?l=e:l="node default";const s=a.insert("g").attr("class",l).attr("id",t.domId||t.id),n=s.insert("g").attr("class","label").attr("style",t.labelStyle);let c;t.labelText===void 0?c="":c=typeof t.labelText=="string"?t.labelText:t.labelText[0];const f=n.node();let o;t.labelType==="markdown"?o=K.createText(n,h.sanitizeText$2(h.decodeEntities(c),h.getConfig()),{useHtmlLabels:r,width:t.width||h.getConfig().flowchart.wrappingWidth,classes:"markdown-node-label"}):o=f.appendChild(B(h.sanitizeText$2(h.decodeEntities(c),h.getConfig()),t.labelStyle,!1,i));let y=o.getBBox();const p=t.padding/2;if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const g=o.children[0],d=h.select(o),m=g.getElementsByTagName("img");if(m){const x=c.replace(/<img[^>]*>/g,"").trim()==="";await Promise.all([...m].map(u=>new Promise(S=>{function C(){if(u.style.display="flex",u.style.flexDirection="column",x){const M=h.getConfig().fontSize?h.getConfig().fontSize:window.getComputedStyle(document.body).fontSize,W=parseInt(M,10)*5+"px";u.style.minWidth=W,u.style.maxWidth=W}else u.style.width="100%";S(u)}setTimeout(()=>{u.complete&&C()}),u.addEventListener("error",C),u.addEventListener("load",C)})))}y=g.getBoundingClientRect(),d.attr("width",y.width),d.attr("height",y.height)}return r?n.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"):n.attr("transform","translate(0, "+-y.height/2+")"),t.centerLabel&&n.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),n.insert("rect",":first-child"),{shapeSvg:s,bbox:y,halfPadding:p,label:n}},w=(a,t)=>{const e=t.node().getBBox();a.width=e.width,a.height=e.height};function _(a,t,e,i){return a.insert("polygon",":first-child").attr("points",i.map(function(l){return l.x+","+l.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+e/2+")")}function kt(a,t){return a.intersect(t)}function P(a,t,e,i){var l=a.x,r=a.y,s=l-i.x,n=r-i.y,c=Math.sqrt(t*t*n*n+e*e*s*s),f=Math.abs(t*e*s/c);i.x<l&&(f=-f);var o=Math.abs(t*e*n/c);return i.y<r&&(o=-o),{x:l+f,y:r+o}}function vt(a,t,e){return P(a,t,t,e)}function Lt(a,t,e,i){var l,r,s,n,c,f,o,y,p,g,d,m,x,u,S;if(l=t.y-a.y,s=a.x-t.x,c=t.x*a.y-a.x*t.y,p=l*e.x+s*e.y+c,g=l*i.x+s*i.y+c,!(p!==0&&g!==0&&G(p,g))&&(r=i.y-e.y,n=e.x-i.x,f=i.x*e.y-e.x*i.y,o=r*a.x+n*a.y+f,y=r*t.x+n*t.y+f,!(o!==0&&y!==0&&G(o,y))&&(d=l*n-r*s,d!==0)))return m=Math.abs(d/2),x=s*f-n*c,u=x<0?(x-m)/d:(x+m)/d,x=r*c-l*f,S=x<0?(x-m)/d:(x+m)/d,{x:u,y:S}}function G(a,t){return a*t>0}function St(a,t,e){var i=a.x,l=a.y,r=[],s=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(d){s=Math.min(s,d.x),n=Math.min(n,d.y)}):(s=Math.min(s,t.x),n=Math.min(n,t.y));for(var c=i-a.width/2-s,f=l-a.height/2-n,o=0;o<t.length;o++){var y=t[o],p=t[o<t.length-1?o+1:0],g=Lt(a,e,{x:c+y.x,y:f+y.y},{x:c+p.x,y:f+p.y});g&&r.push(g)}return r.length?(r.length>1&&r.sort(function(d,m){var x=d.x-e.x,u=d.y-e.y,S=Math.sqrt(x*x+u*u),C=m.x-e.x,M=m.y-e.y,I=Math.sqrt(C*C+M*M);return S<I?-1:S===I?0:1}),r[0]):a}const $t=(a,t)=>{var e=a.x,i=a.y,l=t.x-e,r=t.y-i,s=a.width/2,n=a.height/2,c,f;return Math.abs(r)*s>Math.abs(l)*n?(r<0&&(n=-n),c=r===0?0:n*l/r,f=n):(l<0&&(s=-s),c=s,f=l===0?0:s*r/l),{x:e+c,y:i+f}},tt=$t,b={node:kt,circle:vt,ellipse:P,polygon:St,rect:tt},Ct=async(a,t)=>{t.useHtmlLabels||h.getConfig().flowchart.htmlLabels||(t.centerLabel=!0);const{shapeSvg:i,bbox:l,halfPadding:r}=await L(a,t,"node "+t.classes,!0);h.log$1.info("Classes = ",t.classes);const s=i.insert("rect",":first-child");return s.attr("rx",t.rx).attr("ry",t.ry).attr("x",-l.width/2-r).attr("y",-l.height/2-r).attr("width",l.width+t.padding).attr("height",l.height+t.padding),w(t,s),t.intersect=function(n){return b.rect(t,n)},i},Mt=Ct,Tt=a=>{const t=new Set;for(const e of a)switch(e){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(e);break}return t},Bt=(a,t,e)=>{const i=Tt(a),l=2,r=t.height+2*e.padding,s=r/l,n=t.width+2*s+e.padding,c=e.padding/2;return i.has("right")&&i.has("left")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:s,y:0},{x:n/2,y:2*c},{x:n-s,y:0},{x:n,y:0},{x:n,y:-r/3},{x:n+2*c,y:-r/2},{x:n,y:-2*r/3},{x:n,y:-r},{x:n-s,y:-r},{x:n/2,y:-r-2*c},{x:s,y:-r},{x:0,y:-r},{x:0,y:-2*r/3},{x:-2*c,y:-r/2},{x:0,y:-r/3}]:i.has("right")&&i.has("left")&&i.has("up")?[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}]:i.has("right")&&i.has("left")&&i.has("down")?[{x:0,y:0},{x:s,y:-r},{x:n-s,y:-r},{x:n,y:0}]:i.has("right")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:n,y:-s},{x:n,y:-r+s},{x:0,y:-r}]:i.has("left")&&i.has("up")&&i.has("down")?[{x:n,y:0},{x:0,y:-s},{x:0,y:-r+s},{x:n,y:-r}]:i.has("right")&&i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")&&i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:i.has("right")&&i.has("up")?[{x:0,y:0},{x:n,y:-s},{x:0,y:-r}]:i.has("right")&&i.has("down")?[{x:0,y:0},{x:n,y:0},{x:0,y:-r}]:i.has("left")&&i.has("up")?[{x:n,y:0},{x:0,y:-s},{x:n,y:-r}]:i.has("left")&&i.has("down")?[{x:n,y:0},{x:0,y:0},{x:n,y:-r}]:i.has("right")?[{x:s,y:-c},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r+c}]:i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")?[{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c}]:i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:[{x:0,y:0}]},Z=a=>a?" "+a:"",E=(a,t)=>`node default${Z(a.classes)} ${Z(a.class)}`,F=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=l+r,n=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];h.log$1.info("Question main (Circle)");const c=_(e,s,s,n);return c.attr("style",t.style),w(t,c),t.intersect=function(f){return h.log$1.warn("Intersect called"),b.polygon(t,n,f)},e},Et=(a,t)=>{const e=a.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=28,l=[{x:0,y:i/2},{x:i/2,y:0},{x:0,y:-i/2},{x:-i/2,y:0}];return e.insert("polygon",":first-child").attr("points",l.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(s){return b.circle(t,14,s)},e},_t=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=4,r=i.height+t.padding,s=r/l,n=i.width+2*s+t.padding,c=[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}],f=_(e,n,r,c);return f.attr("style",t.style),w(t,f),t.intersect=function(o){return b.polygon(t,c,o)},e},Nt=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,void 0,!0),l=2,r=i.height+2*t.padding,s=r/l,n=i.width+2*s+t.padding,c=Bt(t.directions,i,t),f=_(e,n,r,c);return f.attr("style",t.style),w(t,f),t.intersect=function(o){return b.polygon(t,c,o)},e},Rt=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-r/2,y:0},{x:l,y:0},{x:l,y:-r},{x:-r/2,y:-r},{x:0,y:-r/2}];return _(e,l,r,s).attr("style",t.style),t.width=l+r,t.height=r,t.intersect=function(c){return b.polygon(t,s,c)},e},Ht=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:r/6,y:-r}],n=_(e,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},e},It=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:2*r/6,y:0},{x:l+r/6,y:0},{x:l-2*r/6,y:-r},{x:-r/6,y:-r}],n=_(e,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},e},Ot=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l+2*r/6,y:0},{x:l-r/6,y:-r},{x:r/6,y:-r}],n=_(e,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},e},Wt=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:-2*r/6,y:-r}],n=_(e,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},e},Xt=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l+r/2,y:0},{x:l,y:-r/2},{x:l+r/2,y:-r},{x:0,y:-r}],n=_(e,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},e},Yt=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=i.width+t.padding,r=l/2,s=r/(2.5+l/50),n=i.height+s+t.padding,c="M 0,"+s+" a "+r+","+s+" 0,0,0 "+l+" 0 a "+r+","+s+" 0,0,0 "+-l+" 0 l 0,"+n+" a "+r+","+s+" 0,0,0 "+l+" 0 l 0,"+-n,f=e.attr("label-offset-y",s).insert("path",":first-child").attr("style",t.style).attr("d",c).attr("transform","translate("+-l/2+","+-(n/2+s)+")");return w(t,f),t.intersect=function(o){const y=b.rect(t,o),p=y.x-t.x;if(r!=0&&(Math.abs(p)<t.width/2||Math.abs(p)==t.width/2&&Math.abs(y.y-t.y)>t.height/2-s)){let g=s*s*(1-p*p/(r*r));g!=0&&(g=Math.sqrt(g)),g=s-g,o.y-t.y>0&&(g=-g),y.y+=g}return y},e},Dt=async(a,t)=>{const{shapeSvg:e,bbox:i,halfPadding:l}=await L(a,t,"node "+t.classes+" "+t.class,!0),r=e.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,f=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",f).attr("width",s).attr("height",n),t.props){const o=new Set(Object.keys(t.props));t.props.borders&&(z(r,t.props.borders,s,n),o.delete("borders")),o.forEach(y=>{h.log$1.warn(`Unknown node property ${y}`)})}return w(t,r),t.intersect=function(o){return b.rect(t,o)},e},At=async(a,t)=>{const{shapeSvg:e,bbox:i,halfPadding:l}=await L(a,t,"node "+t.classes,!0),r=e.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,f=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic cluster composite label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",f).attr("width",s).attr("height",n),t.props){const o=new Set(Object.keys(t.props));t.props.borders&&(z(r,t.props.borders,s,n),o.delete("borders")),o.forEach(y=>{h.log$1.warn(`Unknown node property ${y}`)})}return w(t,r),t.intersect=function(o){return b.rect(t,o)},e},jt=async(a,t)=>{const{shapeSvg:e}=await L(a,t,"label",!0);h.log$1.trace("Classes = ",t.class);const i=e.insert("rect",":first-child"),l=0,r=0;if(i.attr("width",l).attr("height",r),e.attr("class","label edgeLabel"),t.props){const s=new Set(Object.keys(t.props));t.props.borders&&(z(i,t.props.borders,l,r),s.delete("borders")),s.forEach(n=>{h.log$1.warn(`Unknown node property ${n}`)})}return w(t,i),t.intersect=function(s){return b.rect(t,s)},e};function z(a,t,e,i){const l=[],r=n=>{l.push(n,0)},s=n=>{l.push(0,n)};t.includes("t")?(h.log$1.debug("add top border"),r(e)):s(e),t.includes("r")?(h.log$1.debug("add right border"),r(i)):s(i),t.includes("b")?(h.log$1.debug("add bottom border"),r(e)):s(e),t.includes("l")?(h.log$1.debug("add left border"),r(i)):s(i),a.attr("stroke-dasharray",l.join(" "))}const Ut=(a,t)=>{let e;t.classes?e="node "+t.classes:e="node default";const i=a.insert("g").attr("class",e).attr("id",t.domId||t.id),l=i.insert("rect",":first-child"),r=i.insert("line"),s=i.insert("g").attr("class","label"),n=t.labelText.flat?t.labelText.flat():t.labelText;let c="";typeof n=="object"?c=n[0]:c=n,h.log$1.info("Label text abc79",c,n,typeof n=="object");const f=s.node().appendChild(B(c,t.labelStyle,!0,!0));let o={width:0,height:0};if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const m=f.children[0],x=h.select(f);o=m.getBoundingClientRect(),x.attr("width",o.width),x.attr("height",o.height)}h.log$1.info("Text 2",n);const y=n.slice(1,n.length);let p=f.getBBox();const g=s.node().appendChild(B(y.join?y.join("<br/>"):y,t.labelStyle,!0,!0));if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const m=g.children[0],x=h.select(g);o=m.getBoundingClientRect(),x.attr("width",o.width),x.attr("height",o.height)}const d=t.padding/2;return h.select(g).attr("transform","translate( "+(o.width>p.width?0:(p.width-o.width)/2)+", "+(p.height+d+5)+")"),h.select(f).attr("transform","translate( "+(o.width<p.width?0:-(p.width-o.width)/2)+", 0)"),o=s.node().getBBox(),s.attr("transform","translate("+-o.width/2+", "+(-o.height/2-d+3)+")"),l.attr("class","outer title-state").attr("x",-o.width/2-d).attr("y",-o.height/2-d).attr("width",o.width+t.padding).attr("height",o.height+t.padding),r.attr("class","divider").attr("x1",-o.width/2-d).attr("x2",o.width/2+d).attr("y1",-o.height/2-d+p.height+d).attr("y2",-o.height/2-d+p.height+d),w(t,l),t.intersect=function(m){return b.rect(t,m)},i},zt=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=i.height+t.padding,r=i.width+l/4+t.padding,s=e.insert("rect",":first-child").attr("style",t.style).attr("rx",l/2).attr("ry",l/2).attr("x",-r/2).attr("y",-l/2).attr("width",r).attr("height",l);return w(t,s),t.intersect=function(n){return b.rect(t,n)},e},Gt=async(a,t)=>{const{shapeSvg:e,bbox:i,halfPadding:l}=await L(a,t,E(t),!0),r=e.insert("circle",":first-child");return r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),h.log$1.info("Circle main"),w(t,r),t.intersect=function(s){return h.log$1.info("Circle intersect",t,i.width/2+l,s),b.circle(t,i.width/2+l,s)},e},Zt=async(a,t)=>{const{shapeSvg:e,bbox:i,halfPadding:l}=await L(a,t,E(t),!0),r=5,s=e.insert("g",":first-child"),n=s.insert("circle"),c=s.insert("circle");return s.attr("class",t.class),n.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l+r).attr("width",i.width+t.padding+r*2).attr("height",i.height+t.padding+r*2),c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),h.log$1.info("DoubleCircle main"),w(t,n),t.intersect=function(f){return h.log$1.info("DoubleCircle intersect",t,i.width/2+l+r,f),b.circle(t,i.width/2+l+r,f)},e},Ft=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l,y:0},{x:l,y:-r},{x:0,y:-r},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-r},{x:-8,y:-r},{x:-8,y:0}],n=_(e,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},e},qt=(a,t)=>{const e=a.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=e.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),w(t,i),t.intersect=function(l){return b.circle(t,7,l)},e},q=(a,t,e)=>{const i=a.insert("g").attr("class","node default").attr("id",t.domId||t.id);let l=70,r=10;e==="LR"&&(l=10,r=70);const s=i.append("rect").attr("x",-1*l/2).attr("y",-1*r/2).attr("width",l).attr("height",r).attr("class","fork-join");return w(t,s),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(n){return b.rect(t,n)},i},Qt=(a,t)=>{const e=a.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=e.insert("circle",":first-child"),l=e.insert("circle",":first-child");return l.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),i.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),w(t,l),t.intersect=function(r){return b.circle(t,7,r)},e},Vt=(a,t)=>{const e=t.padding/2,i=4,l=8;let r;t.classes?r="node "+t.classes:r="node default";const s=a.insert("g").attr("class",r).attr("id",t.domId||t.id),n=s.insert("rect",":first-child"),c=s.insert("line"),f=s.insert("line");let o=0,y=i;const p=s.insert("g").attr("class","label");let g=0;const d=t.classData.annotations&&t.classData.annotations[0],m=t.classData.annotations[0]?"«"+t.classData.annotations[0]+"»":"",x=p.node().appendChild(B(m,t.labelStyle,!0,!0));let u=x.getBBox();if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const k=x.children[0],v=h.select(x);u=k.getBoundingClientRect(),v.attr("width",u.width),v.attr("height",u.height)}t.classData.annotations[0]&&(y+=u.height+i,o+=u.width);let S=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(h.getConfig().flowchart.htmlLabels?S+="&lt;"+t.classData.type+"&gt;":S+="<"+t.classData.type+">");const C=p.node().appendChild(B(S,t.labelStyle,!0,!0));h.select(C).attr("class","classTitle");let M=C.getBBox();if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const k=C.children[0],v=h.select(C);M=k.getBoundingClientRect(),v.attr("width",M.width),v.attr("height",M.height)}y+=M.height+i,M.width>o&&(o=M.width);const I=[];t.classData.members.forEach(k=>{const v=k.getDisplayDetails();let H=v.displayText;h.getConfig().flowchart.htmlLabels&&(H=H.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const N=p.node().appendChild(B(H,v.cssStyle?v.cssStyle:t.labelStyle,!0,!0));let T=N.getBBox();if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const U=N.children[0],X=h.select(N);T=U.getBoundingClientRect(),X.attr("width",T.width),X.attr("height",T.height)}T.width>o&&(o=T.width),y+=T.height+i,I.push(N)}),y+=l;const W=[];if(t.classData.methods.forEach(k=>{const v=k.getDisplayDetails();let H=v.displayText;h.getConfig().flowchart.htmlLabels&&(H=H.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const N=p.node().appendChild(B(H,v.cssStyle?v.cssStyle:t.labelStyle,!0,!0));let T=N.getBBox();if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const U=N.children[0],X=h.select(N);T=U.getBoundingClientRect(),X.attr("width",T.width),X.attr("height",T.height)}T.width>o&&(o=T.width),y+=T.height+i,W.push(N)}),y+=l,d){let k=(o-u.width)/2;h.select(x).attr("transform","translate( "+(-1*o/2+k)+", "+-1*y/2+")"),g=u.height+i}let st=(o-M.width)/2;return h.select(C).attr("transform","translate( "+(-1*o/2+st)+", "+(-1*y/2+g)+")"),g+=M.height+i,c.attr("class","divider").attr("x1",-o/2-e).attr("x2",o/2+e).attr("y1",-y/2-e+l+g).attr("y2",-y/2-e+l+g),g+=l,I.forEach(k=>{h.select(k).attr("transform","translate( "+-o/2+", "+(-1*y/2+g+l/2)+")");const v=k==null?void 0:k.getBBox();g+=((v==null?void 0:v.height)??0)+i}),g+=l,f.attr("class","divider").attr("x1",-o/2-e).attr("x2",o/2+e).attr("y1",-y/2-e+l+g).attr("y2",-y/2-e+l+g),g+=l,W.forEach(k=>{h.select(k).attr("transform","translate( "+-o/2+", "+(-1*y/2+g)+")");const v=k==null?void 0:k.getBBox();g+=((v==null?void 0:v.height)??0)+i}),n.attr("style",t.style).attr("class","outer title-state").attr("x",-o/2-e).attr("y",-(y/2)-e).attr("width",o+t.padding).attr("height",y+t.padding),w(t,n),t.intersect=function(k){return b.rect(t,k)},s},Q={rhombus:F,composite:At,question:F,rect:Dt,labelRect:jt,rectWithTitle:Ut,choice:Et,circle:Gt,doublecircle:Zt,stadium:zt,hexagon:_t,block_arrow:Nt,rect_left_inv_arrow:Rt,lean_right:Ht,lean_left:It,trapezoid:Ot,inv_trapezoid:Wt,rect_right_inv_arrow:Xt,cylinder:Yt,start:qt,end:Qt,note:Mt,subroutine:Ft,fork:q,join:q,class_box:Vt};let O={};const Jt=async(a,t,e)=>{let i,l;if(t.link){let r;h.getConfig().securityLevel==="sandbox"?r="_top":t.linkTarget&&(r=t.linkTarget||"_blank"),i=a.insert("svg:a").attr("xlink:href",t.link).attr("target",r),l=await Q[t.shape](i,t,e)}else l=await Q[t.shape](a,t,e),i=l;return t.tooltip&&l.attr("title",t.tooltip),t.class&&l.attr("class","node default "+t.class),i.attr("data-node","true"),i.attr("data-id",t.id),O[t.id]=i,t.haveCallback&&O[t.id].attr("class",O[t.id].attr("class")+" clickable"),i},Kt=(a,t)=>{O[t.id]=a},Pt=()=>{O={}},tr=a=>{const t=O[a.id];h.log$1.trace("Transforming node",a.diff,a,"translate("+(a.x-a.width/2-5)+", "+a.width/2+")");const e=8,i=a.diff||0;return a.clusterNode?t.attr("transform","translate("+(a.x+i-a.width/2)+", "+(a.y-a.height/2-e)+")"):t.attr("transform","translate("+a.x+", "+a.y+")"),i},rt=({flowchart:a})=>{var t,e;const i=((t=a==null?void 0:a.subGraphTitleMargin)==null?void 0:t.top)??0,l=((e=a==null?void 0:a.subGraphTitleMargin)==null?void 0:e.bottom)??0,r=i+l;return{subGraphTitleTopMargin:i,subGraphTitleBottomMargin:l,subGraphTitleTotalMargin:r}},R={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function Y(a,t){if(a===void 0||t===void 0)return{angle:0,deltaX:0,deltaY:0};a=A(a),t=A(t);const[e,i]=[a.x,a.y],[l,r]=[t.x,t.y],s=l-e,n=r-i;return{angle:Math.atan(n/s),deltaX:s,deltaY:n}}const A=a=>Array.isArray(a)?{x:a[0],y:a[1]}:a,at=a=>({x:function(t,e,i){let l=0;if(e===0&&Object.hasOwn(R,a.arrowTypeStart)){const{angle:r,deltaX:s}=Y(i[0],i[1]);l=R[a.arrowTypeStart]*Math.cos(r)*(s>=0?1:-1)}else if(e===i.length-1&&Object.hasOwn(R,a.arrowTypeEnd)){const{angle:r,deltaX:s}=Y(i[i.length-1],i[i.length-2]);l=R[a.arrowTypeEnd]*Math.cos(r)*(s>=0?1:-1)}return A(t).x+l},y:function(t,e,i){let l=0;if(e===0&&Object.hasOwn(R,a.arrowTypeStart)){const{angle:r,deltaY:s}=Y(i[0],i[1]);l=R[a.arrowTypeStart]*Math.abs(Math.sin(r))*(s>=0?1:-1)}else if(e===i.length-1&&Object.hasOwn(R,a.arrowTypeEnd)){const{angle:r,deltaY:s}=Y(i[i.length-1],i[i.length-2]);l=R[a.arrowTypeEnd]*Math.abs(Math.sin(r))*(s>=0?1:-1)}return A(t).y+l}}),et=(a,t,e,i,l)=>{t.arrowTypeStart&&V(a,"start",t.arrowTypeStart,e,i,l),t.arrowTypeEnd&&V(a,"end",t.arrowTypeEnd,e,i,l)},rr={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},V=(a,t,e,i,l,r)=>{const s=rr[e];if(!s){h.log$1.warn(`Unknown arrow type: ${e}`);return}const n=t==="start"?"Start":"End";a.attr(`marker-${t}`,`url(${i}#${l}_${r}-${s}${n})`)};let j={},$={};const ar=()=>{j={},$={}},er=(a,t)=>{const e=h.evaluate(h.getConfig().flowchart.htmlLabels),i=t.labelType==="markdown"?K.createText(a,t.label,{style:t.labelStyle,useHtmlLabels:e,addSvgBackground:!0}):B(t.label,t.labelStyle),l=a.insert("g").attr("class","edgeLabel"),r=l.insert("g").attr("class","label");r.node().appendChild(i);let s=i.getBBox();if(e){const c=i.children[0],f=h.select(i);s=c.getBoundingClientRect(),f.attr("width",s.width),f.attr("height",s.height)}r.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),j[t.id]=l,t.width=s.width,t.height=s.height;let n;if(t.startLabelLeft){const c=B(t.startLabelLeft,t.labelStyle),f=a.insert("g").attr("class","edgeTerminals"),o=f.insert("g").attr("class","inner");n=o.node().appendChild(c);const y=c.getBBox();o.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),$[t.id]||($[t.id]={}),$[t.id].startLeft=f,D(n,t.startLabelLeft)}if(t.startLabelRight){const c=B(t.startLabelRight,t.labelStyle),f=a.insert("g").attr("class","edgeTerminals"),o=f.insert("g").attr("class","inner");n=f.node().appendChild(c),o.node().appendChild(c);const y=c.getBBox();o.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),$[t.id]||($[t.id]={}),$[t.id].startRight=f,D(n,t.startLabelRight)}if(t.endLabelLeft){const c=B(t.endLabelLeft,t.labelStyle),f=a.insert("g").attr("class","edgeTerminals"),o=f.insert("g").attr("class","inner");n=o.node().appendChild(c);const y=c.getBBox();o.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),f.node().appendChild(c),$[t.id]||($[t.id]={}),$[t.id].endLeft=f,D(n,t.endLabelLeft)}if(t.endLabelRight){const c=B(t.endLabelRight,t.labelStyle),f=a.insert("g").attr("class","edgeTerminals"),o=f.insert("g").attr("class","inner");n=o.node().appendChild(c);const y=c.getBBox();o.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),f.node().appendChild(c),$[t.id]||($[t.id]={}),$[t.id].endRight=f,D(n,t.endLabelRight)}return i};function D(a,t){h.getConfig().flowchart.htmlLabels&&a&&(a.style.width=t.length*9+"px",a.style.height="12px")}const sr=(a,t)=>{h.log$1.debug("Moving label abc88 ",a.id,a.label,j[a.id],t);let e=t.updatedPath?t.updatedPath:t.originalPath;const i=h.getConfig(),{subGraphTitleTotalMargin:l}=rt(i);if(a.label){const r=j[a.id];let s=a.x,n=a.y;if(e){const c=h.utils.calcLabelPosition(e);h.log$1.debug("Moving label "+a.label+" from (",s,",",n,") to (",c.x,",",c.y,") abc88"),t.updatedPath&&(s=c.x,n=c.y)}r.attr("transform",`translate(${s}, ${n+l/2})`)}if(a.startLabelLeft){const r=$[a.id].startLeft;let s=a.x,n=a.y;if(e){const c=h.utils.calcTerminalLabelPosition(a.arrowTypeStart?10:0,"start_left",e);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(a.startLabelRight){const r=$[a.id].startRight;let s=a.x,n=a.y;if(e){const c=h.utils.calcTerminalLabelPosition(a.arrowTypeStart?10:0,"start_right",e);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(a.endLabelLeft){const r=$[a.id].endLeft;let s=a.x,n=a.y;if(e){const c=h.utils.calcTerminalLabelPosition(a.arrowTypeEnd?10:0,"end_left",e);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(a.endLabelRight){const r=$[a.id].endRight;let s=a.x,n=a.y;if(e){const c=h.utils.calcTerminalLabelPosition(a.arrowTypeEnd?10:0,"end_right",e);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}},ir=(a,t)=>{const e=a.x,i=a.y,l=Math.abs(t.x-e),r=Math.abs(t.y-i),s=a.width/2,n=a.height/2;return l>=s||r>=n},nr=(a,t,e)=>{h.log$1.debug(`intersection calc abc89:
1
+ "use strict";const h=require("./layers.B7vX8oL3.js"),K=require("./layers.COaoSOFU.js"),it=require("./layers.BepBufiX.js"),nt=(a,t,e,i)=>{t.forEach(l=>{dt[l](a,e,i)})},lt=(a,t,e)=>{h.log$1.trace("Making markers for ",e),a.append("defs").append("marker").attr("id",e+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),a.append("defs").append("marker").attr("id",e+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},ct=(a,t,e)=>{a.append("defs").append("marker").attr("id",e+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),a.append("defs").append("marker").attr("id",e+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},ot=(a,t,e)=>{a.append("defs").append("marker").attr("id",e+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),a.append("defs").append("marker").attr("id",e+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},ht=(a,t,e)=>{a.append("defs").append("marker").attr("id",e+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),a.append("defs").append("marker").attr("id",e+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},ft=(a,t,e)=>{a.append("defs").append("marker").attr("id",e+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),a.append("defs").append("marker").attr("id",e+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},yt=(a,t,e)=>{a.append("marker").attr("id",e+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),a.append("marker").attr("id",e+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},gt=(a,t,e)=>{a.append("marker").attr("id",e+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),a.append("marker").attr("id",e+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},pt=(a,t,e)=>{a.append("marker").attr("id",e+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),a.append("marker").attr("id",e+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},xt=(a,t,e)=>{a.append("defs").append("marker").attr("id",e+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},dt={extension:lt,composition:ct,aggregation:ot,dependency:ht,lollipop:ft,point:yt,circle:gt,cross:pt,barb:xt},ut=nt;function bt(a,t){t&&a.attr("style",t)}function wt(a,t){const e=h.select(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),i=e.append("xhtml:div"),l=a.label,r=a.isNode?"nodeLabel":"edgeLabel";return i.html(h.sanitizeText$2('<span class="'+r+'" '+(a.labelStyle?'style="'+a.labelStyle+'"':"")+">"+l+"</span>",t)),bt(i,a.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap"),i.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}const mt=(a,t,e,i)=>{let l=a||"";typeof l=="object"&&(l=l[0]);const r=h.getConfig();if(h.evaluate(r.flowchart.htmlLabels)){l=l.replace(/\\n|\n/g,"<br />"),h.log$1.debug("vertexText"+l);const s={isNode:i,label:h.decodeEntities(l).replace(/fa[blrs]?:fa-[\w-]+/g,c=>`<i class='${c.replace(":"," ")}'></i>`),labelStyle:t.replace("fill:","color:")};return wt(s,r)}else{const s=document.createElementNS("http://www.w3.org/2000/svg","text");s.setAttribute("style",t.replace("color:","fill:"));let n=[];typeof l=="string"?n=l.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(l)?n=l:n=[];for(const c of n){const f=document.createElementNS("http://www.w3.org/2000/svg","tspan");f.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),f.setAttribute("dy","1em"),f.setAttribute("x","0"),e?f.setAttribute("class","title-row"):f.setAttribute("class","row"),f.textContent=c.trim(),s.appendChild(f)}return s}},B=mt,L=async(a,t,e,i)=>{let l;const r=t.useHtmlLabels||h.evaluate(h.getConfig().flowchart.htmlLabels);e?l=e:l="node default";const s=a.insert("g").attr("class",l).attr("id",t.domId||t.id),n=s.insert("g").attr("class","label").attr("style",t.labelStyle);let c;t.labelText===void 0?c="":c=typeof t.labelText=="string"?t.labelText:t.labelText[0];const f=n.node();let o;t.labelType==="markdown"?o=K.createText(n,h.sanitizeText$2(h.decodeEntities(c),h.getConfig()),{useHtmlLabels:r,width:t.width||h.getConfig().flowchart.wrappingWidth,classes:"markdown-node-label"}):o=f.appendChild(B(h.sanitizeText$2(h.decodeEntities(c),h.getConfig()),t.labelStyle,!1,i));let y=o.getBBox();const p=t.padding/2;if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const g=o.children[0],d=h.select(o),m=g.getElementsByTagName("img");if(m){const x=c.replace(/<img[^>]*>/g,"").trim()==="";await Promise.all([...m].map(u=>new Promise(S=>{function C(){if(u.style.display="flex",u.style.flexDirection="column",x){const M=h.getConfig().fontSize?h.getConfig().fontSize:window.getComputedStyle(document.body).fontSize,W=parseInt(M,10)*5+"px";u.style.minWidth=W,u.style.maxWidth=W}else u.style.width="100%";S(u)}setTimeout(()=>{u.complete&&C()}),u.addEventListener("error",C),u.addEventListener("load",C)})))}y=g.getBoundingClientRect(),d.attr("width",y.width),d.attr("height",y.height)}return r?n.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"):n.attr("transform","translate(0, "+-y.height/2+")"),t.centerLabel&&n.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),n.insert("rect",":first-child"),{shapeSvg:s,bbox:y,halfPadding:p,label:n}},w=(a,t)=>{const e=t.node().getBBox();a.width=e.width,a.height=e.height};function _(a,t,e,i){return a.insert("polygon",":first-child").attr("points",i.map(function(l){return l.x+","+l.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+e/2+")")}function kt(a,t){return a.intersect(t)}function P(a,t,e,i){var l=a.x,r=a.y,s=l-i.x,n=r-i.y,c=Math.sqrt(t*t*n*n+e*e*s*s),f=Math.abs(t*e*s/c);i.x<l&&(f=-f);var o=Math.abs(t*e*n/c);return i.y<r&&(o=-o),{x:l+f,y:r+o}}function vt(a,t,e){return P(a,t,t,e)}function Lt(a,t,e,i){var l,r,s,n,c,f,o,y,p,g,d,m,x,u,S;if(l=t.y-a.y,s=a.x-t.x,c=t.x*a.y-a.x*t.y,p=l*e.x+s*e.y+c,g=l*i.x+s*i.y+c,!(p!==0&&g!==0&&G(p,g))&&(r=i.y-e.y,n=e.x-i.x,f=i.x*e.y-e.x*i.y,o=r*a.x+n*a.y+f,y=r*t.x+n*t.y+f,!(o!==0&&y!==0&&G(o,y))&&(d=l*n-r*s,d!==0)))return m=Math.abs(d/2),x=s*f-n*c,u=x<0?(x-m)/d:(x+m)/d,x=r*c-l*f,S=x<0?(x-m)/d:(x+m)/d,{x:u,y:S}}function G(a,t){return a*t>0}function St(a,t,e){var i=a.x,l=a.y,r=[],s=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(d){s=Math.min(s,d.x),n=Math.min(n,d.y)}):(s=Math.min(s,t.x),n=Math.min(n,t.y));for(var c=i-a.width/2-s,f=l-a.height/2-n,o=0;o<t.length;o++){var y=t[o],p=t[o<t.length-1?o+1:0],g=Lt(a,e,{x:c+y.x,y:f+y.y},{x:c+p.x,y:f+p.y});g&&r.push(g)}return r.length?(r.length>1&&r.sort(function(d,m){var x=d.x-e.x,u=d.y-e.y,S=Math.sqrt(x*x+u*u),C=m.x-e.x,M=m.y-e.y,I=Math.sqrt(C*C+M*M);return S<I?-1:S===I?0:1}),r[0]):a}const $t=(a,t)=>{var e=a.x,i=a.y,l=t.x-e,r=t.y-i,s=a.width/2,n=a.height/2,c,f;return Math.abs(r)*s>Math.abs(l)*n?(r<0&&(n=-n),c=r===0?0:n*l/r,f=n):(l<0&&(s=-s),c=s,f=l===0?0:s*r/l),{x:e+c,y:i+f}},tt=$t,b={node:kt,circle:vt,ellipse:P,polygon:St,rect:tt},Ct=async(a,t)=>{t.useHtmlLabels||h.getConfig().flowchart.htmlLabels||(t.centerLabel=!0);const{shapeSvg:i,bbox:l,halfPadding:r}=await L(a,t,"node "+t.classes,!0);h.log$1.info("Classes = ",t.classes);const s=i.insert("rect",":first-child");return s.attr("rx",t.rx).attr("ry",t.ry).attr("x",-l.width/2-r).attr("y",-l.height/2-r).attr("width",l.width+t.padding).attr("height",l.height+t.padding),w(t,s),t.intersect=function(n){return b.rect(t,n)},i},Mt=Ct,Tt=a=>{const t=new Set;for(const e of a)switch(e){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(e);break}return t},Bt=(a,t,e)=>{const i=Tt(a),l=2,r=t.height+2*e.padding,s=r/l,n=t.width+2*s+e.padding,c=e.padding/2;return i.has("right")&&i.has("left")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:s,y:0},{x:n/2,y:2*c},{x:n-s,y:0},{x:n,y:0},{x:n,y:-r/3},{x:n+2*c,y:-r/2},{x:n,y:-2*r/3},{x:n,y:-r},{x:n-s,y:-r},{x:n/2,y:-r-2*c},{x:s,y:-r},{x:0,y:-r},{x:0,y:-2*r/3},{x:-2*c,y:-r/2},{x:0,y:-r/3}]:i.has("right")&&i.has("left")&&i.has("up")?[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}]:i.has("right")&&i.has("left")&&i.has("down")?[{x:0,y:0},{x:s,y:-r},{x:n-s,y:-r},{x:n,y:0}]:i.has("right")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:n,y:-s},{x:n,y:-r+s},{x:0,y:-r}]:i.has("left")&&i.has("up")&&i.has("down")?[{x:n,y:0},{x:0,y:-s},{x:0,y:-r+s},{x:n,y:-r}]:i.has("right")&&i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")&&i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:i.has("right")&&i.has("up")?[{x:0,y:0},{x:n,y:-s},{x:0,y:-r}]:i.has("right")&&i.has("down")?[{x:0,y:0},{x:n,y:0},{x:0,y:-r}]:i.has("left")&&i.has("up")?[{x:n,y:0},{x:0,y:-s},{x:n,y:-r}]:i.has("left")&&i.has("down")?[{x:n,y:0},{x:0,y:0},{x:n,y:-r}]:i.has("right")?[{x:s,y:-c},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r+c}]:i.has("left")?[{x:s,y:0},{x:s,y:-c},{x:n-s,y:-c},{x:n-s,y:-r+c},{x:s,y:-r+c},{x:s,y:-r},{x:0,y:-r/2}]:i.has("up")?[{x:s,y:-c},{x:s,y:-r+c},{x:0,y:-r+c},{x:n/2,y:-r},{x:n,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c}]:i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:s,y:-c},{x:s,y:-r+c},{x:n-s,y:-r+c},{x:n-s,y:-c},{x:n,y:-c}]:[{x:0,y:0}]},Z=a=>a?" "+a:"",E=(a,t)=>`node default${Z(a.classes)} ${Z(a.class)}`,F=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=l+r,n=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];h.log$1.info("Question main (Circle)");const c=_(e,s,s,n);return c.attr("style",t.style),w(t,c),t.intersect=function(f){return h.log$1.warn("Intersect called"),b.polygon(t,n,f)},e},Et=(a,t)=>{const e=a.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=28,l=[{x:0,y:i/2},{x:i/2,y:0},{x:0,y:-i/2},{x:-i/2,y:0}];return e.insert("polygon",":first-child").attr("points",l.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(s){return b.circle(t,14,s)},e},_t=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=4,r=i.height+t.padding,s=r/l,n=i.width+2*s+t.padding,c=[{x:s,y:0},{x:n-s,y:0},{x:n,y:-r/2},{x:n-s,y:-r},{x:s,y:-r},{x:0,y:-r/2}],f=_(e,n,r,c);return f.attr("style",t.style),w(t,f),t.intersect=function(o){return b.polygon(t,c,o)},e},Nt=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,void 0,!0),l=2,r=i.height+2*t.padding,s=r/l,n=i.width+2*s+t.padding,c=Bt(t.directions,i,t),f=_(e,n,r,c);return f.attr("style",t.style),w(t,f),t.intersect=function(o){return b.polygon(t,c,o)},e},Rt=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-r/2,y:0},{x:l,y:0},{x:l,y:-r},{x:-r/2,y:-r},{x:0,y:-r/2}];return _(e,l,r,s).attr("style",t.style),t.width=l+r,t.height=r,t.intersect=function(c){return b.polygon(t,s,c)},e},Ht=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:r/6,y:-r}],n=_(e,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},e},It=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:2*r/6,y:0},{x:l+r/6,y:0},{x:l-2*r/6,y:-r},{x:-r/6,y:-r}],n=_(e,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},e},Ot=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:-2*r/6,y:0},{x:l+2*r/6,y:0},{x:l-r/6,y:-r},{x:r/6,y:-r}],n=_(e,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},e},Wt=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:r/6,y:0},{x:l-r/6,y:0},{x:l+2*r/6,y:-r},{x:-2*r/6,y:-r}],n=_(e,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},e},Xt=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l+r/2,y:0},{x:l,y:-r/2},{x:l+r/2,y:-r},{x:0,y:-r}],n=_(e,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},e},Yt=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=i.width+t.padding,r=l/2,s=r/(2.5+l/50),n=i.height+s+t.padding,c="M 0,"+s+" a "+r+","+s+" 0,0,0 "+l+" 0 a "+r+","+s+" 0,0,0 "+-l+" 0 l 0,"+n+" a "+r+","+s+" 0,0,0 "+l+" 0 l 0,"+-n,f=e.attr("label-offset-y",s).insert("path",":first-child").attr("style",t.style).attr("d",c).attr("transform","translate("+-l/2+","+-(n/2+s)+")");return w(t,f),t.intersect=function(o){const y=b.rect(t,o),p=y.x-t.x;if(r!=0&&(Math.abs(p)<t.width/2||Math.abs(p)==t.width/2&&Math.abs(y.y-t.y)>t.height/2-s)){let g=s*s*(1-p*p/(r*r));g!=0&&(g=Math.sqrt(g)),g=s-g,o.y-t.y>0&&(g=-g),y.y+=g}return y},e},Dt=async(a,t)=>{const{shapeSvg:e,bbox:i,halfPadding:l}=await L(a,t,"node "+t.classes+" "+t.class,!0),r=e.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,f=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",f).attr("width",s).attr("height",n),t.props){const o=new Set(Object.keys(t.props));t.props.borders&&(z(r,t.props.borders,s,n),o.delete("borders")),o.forEach(y=>{h.log$1.warn(`Unknown node property ${y}`)})}return w(t,r),t.intersect=function(o){return b.rect(t,o)},e},At=async(a,t)=>{const{shapeSvg:e,bbox:i,halfPadding:l}=await L(a,t,"node "+t.classes,!0),r=e.insert("rect",":first-child"),s=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,c=t.positioned?-s/2:-i.width/2-l,f=t.positioned?-n/2:-i.height/2-l;if(r.attr("class","basic cluster composite label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",f).attr("width",s).attr("height",n),t.props){const o=new Set(Object.keys(t.props));t.props.borders&&(z(r,t.props.borders,s,n),o.delete("borders")),o.forEach(y=>{h.log$1.warn(`Unknown node property ${y}`)})}return w(t,r),t.intersect=function(o){return b.rect(t,o)},e},jt=async(a,t)=>{const{shapeSvg:e}=await L(a,t,"label",!0);h.log$1.trace("Classes = ",t.class);const i=e.insert("rect",":first-child"),l=0,r=0;if(i.attr("width",l).attr("height",r),e.attr("class","label edgeLabel"),t.props){const s=new Set(Object.keys(t.props));t.props.borders&&(z(i,t.props.borders,l,r),s.delete("borders")),s.forEach(n=>{h.log$1.warn(`Unknown node property ${n}`)})}return w(t,i),t.intersect=function(s){return b.rect(t,s)},e};function z(a,t,e,i){const l=[],r=n=>{l.push(n,0)},s=n=>{l.push(0,n)};t.includes("t")?(h.log$1.debug("add top border"),r(e)):s(e),t.includes("r")?(h.log$1.debug("add right border"),r(i)):s(i),t.includes("b")?(h.log$1.debug("add bottom border"),r(e)):s(e),t.includes("l")?(h.log$1.debug("add left border"),r(i)):s(i),a.attr("stroke-dasharray",l.join(" "))}const Ut=(a,t)=>{let e;t.classes?e="node "+t.classes:e="node default";const i=a.insert("g").attr("class",e).attr("id",t.domId||t.id),l=i.insert("rect",":first-child"),r=i.insert("line"),s=i.insert("g").attr("class","label"),n=t.labelText.flat?t.labelText.flat():t.labelText;let c="";typeof n=="object"?c=n[0]:c=n,h.log$1.info("Label text abc79",c,n,typeof n=="object");const f=s.node().appendChild(B(c,t.labelStyle,!0,!0));let o={width:0,height:0};if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const m=f.children[0],x=h.select(f);o=m.getBoundingClientRect(),x.attr("width",o.width),x.attr("height",o.height)}h.log$1.info("Text 2",n);const y=n.slice(1,n.length);let p=f.getBBox();const g=s.node().appendChild(B(y.join?y.join("<br/>"):y,t.labelStyle,!0,!0));if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const m=g.children[0],x=h.select(g);o=m.getBoundingClientRect(),x.attr("width",o.width),x.attr("height",o.height)}const d=t.padding/2;return h.select(g).attr("transform","translate( "+(o.width>p.width?0:(p.width-o.width)/2)+", "+(p.height+d+5)+")"),h.select(f).attr("transform","translate( "+(o.width<p.width?0:-(p.width-o.width)/2)+", 0)"),o=s.node().getBBox(),s.attr("transform","translate("+-o.width/2+", "+(-o.height/2-d+3)+")"),l.attr("class","outer title-state").attr("x",-o.width/2-d).attr("y",-o.height/2-d).attr("width",o.width+t.padding).attr("height",o.height+t.padding),r.attr("class","divider").attr("x1",-o.width/2-d).attr("x2",o.width/2+d).attr("y1",-o.height/2-d+p.height+d).attr("y2",-o.height/2-d+p.height+d),w(t,l),t.intersect=function(m){return b.rect(t,m)},i},zt=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=i.height+t.padding,r=i.width+l/4+t.padding,s=e.insert("rect",":first-child").attr("style",t.style).attr("rx",l/2).attr("ry",l/2).attr("x",-r/2).attr("y",-l/2).attr("width",r).attr("height",l);return w(t,s),t.intersect=function(n){return b.rect(t,n)},e},Gt=async(a,t)=>{const{shapeSvg:e,bbox:i,halfPadding:l}=await L(a,t,E(t),!0),r=e.insert("circle",":first-child");return r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),h.log$1.info("Circle main"),w(t,r),t.intersect=function(s){return h.log$1.info("Circle intersect",t,i.width/2+l,s),b.circle(t,i.width/2+l,s)},e},Zt=async(a,t)=>{const{shapeSvg:e,bbox:i,halfPadding:l}=await L(a,t,E(t),!0),r=5,s=e.insert("g",":first-child"),n=s.insert("circle"),c=s.insert("circle");return s.attr("class",t.class),n.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l+r).attr("width",i.width+t.padding+r*2).attr("height",i.height+t.padding+r*2),c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+l).attr("width",i.width+t.padding).attr("height",i.height+t.padding),h.log$1.info("DoubleCircle main"),w(t,n),t.intersect=function(f){return h.log$1.info("DoubleCircle intersect",t,i.width/2+l+r,f),b.circle(t,i.width/2+l+r,f)},e},Ft=async(a,t)=>{const{shapeSvg:e,bbox:i}=await L(a,t,E(t),!0),l=i.width+t.padding,r=i.height+t.padding,s=[{x:0,y:0},{x:l,y:0},{x:l,y:-r},{x:0,y:-r},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-r},{x:-8,y:-r},{x:-8,y:0}],n=_(e,l,r,s);return n.attr("style",t.style),w(t,n),t.intersect=function(c){return b.polygon(t,s,c)},e},qt=(a,t)=>{const e=a.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=e.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),w(t,i),t.intersect=function(l){return b.circle(t,7,l)},e},q=(a,t,e)=>{const i=a.insert("g").attr("class","node default").attr("id",t.domId||t.id);let l=70,r=10;e==="LR"&&(l=10,r=70);const s=i.append("rect").attr("x",-1*l/2).attr("y",-1*r/2).attr("width",l).attr("height",r).attr("class","fork-join");return w(t,s),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(n){return b.rect(t,n)},i},Qt=(a,t)=>{const e=a.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=e.insert("circle",":first-child"),l=e.insert("circle",":first-child");return l.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),i.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),w(t,l),t.intersect=function(r){return b.circle(t,7,r)},e},Vt=(a,t)=>{const e=t.padding/2,i=4,l=8;let r;t.classes?r="node "+t.classes:r="node default";const s=a.insert("g").attr("class",r).attr("id",t.domId||t.id),n=s.insert("rect",":first-child"),c=s.insert("line"),f=s.insert("line");let o=0,y=i;const p=s.insert("g").attr("class","label");let g=0;const d=t.classData.annotations&&t.classData.annotations[0],m=t.classData.annotations[0]?"«"+t.classData.annotations[0]+"»":"",x=p.node().appendChild(B(m,t.labelStyle,!0,!0));let u=x.getBBox();if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const k=x.children[0],v=h.select(x);u=k.getBoundingClientRect(),v.attr("width",u.width),v.attr("height",u.height)}t.classData.annotations[0]&&(y+=u.height+i,o+=u.width);let S=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(h.getConfig().flowchart.htmlLabels?S+="&lt;"+t.classData.type+"&gt;":S+="<"+t.classData.type+">");const C=p.node().appendChild(B(S,t.labelStyle,!0,!0));h.select(C).attr("class","classTitle");let M=C.getBBox();if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const k=C.children[0],v=h.select(C);M=k.getBoundingClientRect(),v.attr("width",M.width),v.attr("height",M.height)}y+=M.height+i,M.width>o&&(o=M.width);const I=[];t.classData.members.forEach(k=>{const v=k.getDisplayDetails();let H=v.displayText;h.getConfig().flowchart.htmlLabels&&(H=H.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const N=p.node().appendChild(B(H,v.cssStyle?v.cssStyle:t.labelStyle,!0,!0));let T=N.getBBox();if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const U=N.children[0],X=h.select(N);T=U.getBoundingClientRect(),X.attr("width",T.width),X.attr("height",T.height)}T.width>o&&(o=T.width),y+=T.height+i,I.push(N)}),y+=l;const W=[];if(t.classData.methods.forEach(k=>{const v=k.getDisplayDetails();let H=v.displayText;h.getConfig().flowchart.htmlLabels&&(H=H.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const N=p.node().appendChild(B(H,v.cssStyle?v.cssStyle:t.labelStyle,!0,!0));let T=N.getBBox();if(h.evaluate(h.getConfig().flowchart.htmlLabels)){const U=N.children[0],X=h.select(N);T=U.getBoundingClientRect(),X.attr("width",T.width),X.attr("height",T.height)}T.width>o&&(o=T.width),y+=T.height+i,W.push(N)}),y+=l,d){let k=(o-u.width)/2;h.select(x).attr("transform","translate( "+(-1*o/2+k)+", "+-1*y/2+")"),g=u.height+i}let st=(o-M.width)/2;return h.select(C).attr("transform","translate( "+(-1*o/2+st)+", "+(-1*y/2+g)+")"),g+=M.height+i,c.attr("class","divider").attr("x1",-o/2-e).attr("x2",o/2+e).attr("y1",-y/2-e+l+g).attr("y2",-y/2-e+l+g),g+=l,I.forEach(k=>{h.select(k).attr("transform","translate( "+-o/2+", "+(-1*y/2+g+l/2)+")");const v=k==null?void 0:k.getBBox();g+=((v==null?void 0:v.height)??0)+i}),g+=l,f.attr("class","divider").attr("x1",-o/2-e).attr("x2",o/2+e).attr("y1",-y/2-e+l+g).attr("y2",-y/2-e+l+g),g+=l,W.forEach(k=>{h.select(k).attr("transform","translate( "+-o/2+", "+(-1*y/2+g)+")");const v=k==null?void 0:k.getBBox();g+=((v==null?void 0:v.height)??0)+i}),n.attr("style",t.style).attr("class","outer title-state").attr("x",-o/2-e).attr("y",-(y/2)-e).attr("width",o+t.padding).attr("height",y+t.padding),w(t,n),t.intersect=function(k){return b.rect(t,k)},s},Q={rhombus:F,composite:At,question:F,rect:Dt,labelRect:jt,rectWithTitle:Ut,choice:Et,circle:Gt,doublecircle:Zt,stadium:zt,hexagon:_t,block_arrow:Nt,rect_left_inv_arrow:Rt,lean_right:Ht,lean_left:It,trapezoid:Ot,inv_trapezoid:Wt,rect_right_inv_arrow:Xt,cylinder:Yt,start:qt,end:Qt,note:Mt,subroutine:Ft,fork:q,join:q,class_box:Vt};let O={};const Jt=async(a,t,e)=>{let i,l;if(t.link){let r;h.getConfig().securityLevel==="sandbox"?r="_top":t.linkTarget&&(r=t.linkTarget||"_blank"),i=a.insert("svg:a").attr("xlink:href",t.link).attr("target",r),l=await Q[t.shape](i,t,e)}else l=await Q[t.shape](a,t,e),i=l;return t.tooltip&&l.attr("title",t.tooltip),t.class&&l.attr("class","node default "+t.class),i.attr("data-node","true"),i.attr("data-id",t.id),O[t.id]=i,t.haveCallback&&O[t.id].attr("class",O[t.id].attr("class")+" clickable"),i},Kt=(a,t)=>{O[t.id]=a},Pt=()=>{O={}},tr=a=>{const t=O[a.id];h.log$1.trace("Transforming node",a.diff,a,"translate("+(a.x-a.width/2-5)+", "+a.width/2+")");const e=8,i=a.diff||0;return a.clusterNode?t.attr("transform","translate("+(a.x+i-a.width/2)+", "+(a.y-a.height/2-e)+")"):t.attr("transform","translate("+a.x+", "+a.y+")"),i},rt=({flowchart:a})=>{var t,e;const i=((t=a==null?void 0:a.subGraphTitleMargin)==null?void 0:t.top)??0,l=((e=a==null?void 0:a.subGraphTitleMargin)==null?void 0:e.bottom)??0,r=i+l;return{subGraphTitleTopMargin:i,subGraphTitleBottomMargin:l,subGraphTitleTotalMargin:r}},R={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function Y(a,t){if(a===void 0||t===void 0)return{angle:0,deltaX:0,deltaY:0};a=A(a),t=A(t);const[e,i]=[a.x,a.y],[l,r]=[t.x,t.y],s=l-e,n=r-i;return{angle:Math.atan(n/s),deltaX:s,deltaY:n}}const A=a=>Array.isArray(a)?{x:a[0],y:a[1]}:a,at=a=>({x:function(t,e,i){let l=0;if(e===0&&Object.hasOwn(R,a.arrowTypeStart)){const{angle:r,deltaX:s}=Y(i[0],i[1]);l=R[a.arrowTypeStart]*Math.cos(r)*(s>=0?1:-1)}else if(e===i.length-1&&Object.hasOwn(R,a.arrowTypeEnd)){const{angle:r,deltaX:s}=Y(i[i.length-1],i[i.length-2]);l=R[a.arrowTypeEnd]*Math.cos(r)*(s>=0?1:-1)}return A(t).x+l},y:function(t,e,i){let l=0;if(e===0&&Object.hasOwn(R,a.arrowTypeStart)){const{angle:r,deltaY:s}=Y(i[0],i[1]);l=R[a.arrowTypeStart]*Math.abs(Math.sin(r))*(s>=0?1:-1)}else if(e===i.length-1&&Object.hasOwn(R,a.arrowTypeEnd)){const{angle:r,deltaY:s}=Y(i[i.length-1],i[i.length-2]);l=R[a.arrowTypeEnd]*Math.abs(Math.sin(r))*(s>=0?1:-1)}return A(t).y+l}}),et=(a,t,e,i,l)=>{t.arrowTypeStart&&V(a,"start",t.arrowTypeStart,e,i,l),t.arrowTypeEnd&&V(a,"end",t.arrowTypeEnd,e,i,l)},rr={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},V=(a,t,e,i,l,r)=>{const s=rr[e];if(!s){h.log$1.warn(`Unknown arrow type: ${e}`);return}const n=t==="start"?"Start":"End";a.attr(`marker-${t}`,`url(${i}#${l}_${r}-${s}${n})`)};let j={},$={};const ar=()=>{j={},$={}},er=(a,t)=>{const e=h.evaluate(h.getConfig().flowchart.htmlLabels),i=t.labelType==="markdown"?K.createText(a,t.label,{style:t.labelStyle,useHtmlLabels:e,addSvgBackground:!0}):B(t.label,t.labelStyle),l=a.insert("g").attr("class","edgeLabel"),r=l.insert("g").attr("class","label");r.node().appendChild(i);let s=i.getBBox();if(e){const c=i.children[0],f=h.select(i);s=c.getBoundingClientRect(),f.attr("width",s.width),f.attr("height",s.height)}r.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),j[t.id]=l,t.width=s.width,t.height=s.height;let n;if(t.startLabelLeft){const c=B(t.startLabelLeft,t.labelStyle),f=a.insert("g").attr("class","edgeTerminals"),o=f.insert("g").attr("class","inner");n=o.node().appendChild(c);const y=c.getBBox();o.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),$[t.id]||($[t.id]={}),$[t.id].startLeft=f,D(n,t.startLabelLeft)}if(t.startLabelRight){const c=B(t.startLabelRight,t.labelStyle),f=a.insert("g").attr("class","edgeTerminals"),o=f.insert("g").attr("class","inner");n=f.node().appendChild(c),o.node().appendChild(c);const y=c.getBBox();o.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),$[t.id]||($[t.id]={}),$[t.id].startRight=f,D(n,t.startLabelRight)}if(t.endLabelLeft){const c=B(t.endLabelLeft,t.labelStyle),f=a.insert("g").attr("class","edgeTerminals"),o=f.insert("g").attr("class","inner");n=o.node().appendChild(c);const y=c.getBBox();o.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),f.node().appendChild(c),$[t.id]||($[t.id]={}),$[t.id].endLeft=f,D(n,t.endLabelLeft)}if(t.endLabelRight){const c=B(t.endLabelRight,t.labelStyle),f=a.insert("g").attr("class","edgeTerminals"),o=f.insert("g").attr("class","inner");n=o.node().appendChild(c);const y=c.getBBox();o.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),f.node().appendChild(c),$[t.id]||($[t.id]={}),$[t.id].endRight=f,D(n,t.endLabelRight)}return i};function D(a,t){h.getConfig().flowchart.htmlLabels&&a&&(a.style.width=t.length*9+"px",a.style.height="12px")}const sr=(a,t)=>{h.log$1.debug("Moving label abc88 ",a.id,a.label,j[a.id],t);let e=t.updatedPath?t.updatedPath:t.originalPath;const i=h.getConfig(),{subGraphTitleTotalMargin:l}=rt(i);if(a.label){const r=j[a.id];let s=a.x,n=a.y;if(e){const c=h.utils.calcLabelPosition(e);h.log$1.debug("Moving label "+a.label+" from (",s,",",n,") to (",c.x,",",c.y,") abc88"),t.updatedPath&&(s=c.x,n=c.y)}r.attr("transform",`translate(${s}, ${n+l/2})`)}if(a.startLabelLeft){const r=$[a.id].startLeft;let s=a.x,n=a.y;if(e){const c=h.utils.calcTerminalLabelPosition(a.arrowTypeStart?10:0,"start_left",e);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(a.startLabelRight){const r=$[a.id].startRight;let s=a.x,n=a.y;if(e){const c=h.utils.calcTerminalLabelPosition(a.arrowTypeStart?10:0,"start_right",e);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(a.endLabelLeft){const r=$[a.id].endLeft;let s=a.x,n=a.y;if(e){const c=h.utils.calcTerminalLabelPosition(a.arrowTypeEnd?10:0,"end_left",e);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}if(a.endLabelRight){const r=$[a.id].endRight;let s=a.x,n=a.y;if(e){const c=h.utils.calcTerminalLabelPosition(a.arrowTypeEnd?10:0,"end_right",e);s=c.x,n=c.y}r.attr("transform",`translate(${s}, ${n})`)}},ir=(a,t)=>{const e=a.x,i=a.y,l=Math.abs(t.x-e),r=Math.abs(t.y-i),s=a.width/2,n=a.height/2;return l>=s||r>=n},nr=(a,t,e)=>{h.log$1.debug(`intersection calc abc89:
2
2
  outsidePoint: ${JSON.stringify(t)}
3
3
  insidePoint : ${JSON.stringify(e)}
4
4
  node : x:${a.x} y:${a.y} w:${a.width} h:${a.height}`);const i=a.x,l=a.y,r=Math.abs(i-e.x),s=a.width/2;let n=e.x<t.x?s-r:s+r;const c=a.height/2,f=Math.abs(t.y-e.y),o=Math.abs(t.x-e.x);if(Math.abs(l-t.y)*s>Math.abs(i-t.x)*c){let y=e.y<t.y?t.y-c-l:l-c-t.y;n=o*y/f;const p={x:e.x<t.x?e.x+n:e.x-o+n,y:e.y<t.y?e.y+f-y:e.y-f+y};return n===0&&(p.x=t.x,p.y=t.y),o===0&&(p.x=t.x),f===0&&(p.y=t.y),h.log$1.debug(`abc89 topp/bott calc, Q ${f}, q ${y}, R ${o}, r ${n}`,p),p}else{e.x<t.x?n=t.x-s-i:n=i-s-t.x;let y=f*n/o,p=e.x<t.x?e.x+o-n:e.x-o+n,g=e.y<t.y?e.y+y:e.y-y;return h.log$1.debug(`sides calc abc89, Q ${f}, q ${y}, R ${o}, r ${n}`,{_x:p,_y:g}),n===0&&(p=t.x,g=t.y),o===0&&(p=t.x),f===0&&(g=t.y),{x:p,y:g}}},J=(a,t)=>{h.log$1.debug("abc88 cutPathAtIntersect",a,t);let e=[],i=a[0],l=!1;return a.forEach(r=>{if(!ir(t,r)&&!l){const s=nr(t,i,r);let n=!1;e.forEach(c=>{n=n||c.x===s.x&&c.y===s.y}),e.some(c=>c.x===s.x&&c.y===s.y)||e.push(s),l=!0}else i=r,l||e.push(r)}),e},lr=function(a,t,e,i,l,r,s){let n=e.points;h.log$1.debug("abc88 InsertEdge: edge=",e,"e=",t);let c=!1;const f=r.node(t.v);var o=r.node(t.w);o!=null&&o.intersect&&(f!=null&&f.intersect)&&(n=n.slice(1,e.points.length-1),n.unshift(f.intersect(n[0])),n.push(o.intersect(n[n.length-1]))),e.toCluster&&(h.log$1.debug("to cluster abc88",i[e.toCluster]),n=J(e.points,i[e.toCluster].node),c=!0),e.fromCluster&&(h.log$1.debug("from cluster abc88",i[e.fromCluster]),n=J(n.reverse(),i[e.fromCluster].node).reverse(),c=!0);const y=n.filter(M=>!Number.isNaN(M.y));let p=h.curveBasis;e.curve&&(l==="graph"||l==="flowchart")&&(p=e.curve);const{x:g,y:d}=at(e),m=it.line().x(g).y(d).curve(p);let x;switch(e.thickness){case"normal":x="edge-thickness-normal";break;case"thick":x="edge-thickness-thick";break;case"invisible":x="edge-thickness-thick";break;default:x=""}switch(e.pattern){case"solid":x+=" edge-pattern-solid";break;case"dotted":x+=" edge-pattern-dotted";break;case"dashed":x+=" edge-pattern-dashed";break}const u=a.append("path").attr("d",m(y)).attr("id",e.id).attr("class"," "+x+(e.classes?" "+e.classes:"")).attr("style",e.style);let S="";(h.getConfig().flowchart.arrowMarkerAbsolute||h.getConfig().state.arrowMarkerAbsolute)&&(S=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,S=S.replace(/\(/g,"\\("),S=S.replace(/\)/g,"\\)")),et(u,e,S,s,l);let C={};return c&&(C.updatedPath=n),C.originalPath=e.points,C};exports.addEdgeMarkers=et;exports.clear=ar;exports.clear$1=Pt;exports.createLabel$1=B;exports.getLineFunctionsWithOffset=at;exports.getSubGraphTitleMargins=rt;exports.insertEdge=lr;exports.insertEdgeLabel=er;exports.insertMarkers$1=ut;exports.insertNode=Jt;exports.intersectRect$1=tt;exports.labelHelper=L;exports.positionEdgeLabel=sr;exports.positionNode=tr;exports.setNodeElem=Kt;exports.updateNodeBounds=w;
@@ -1 +1 @@
1
- "use strict";const P=require("lodash-es"),J=require("./layers.Cyzu9PKQ.js"),k=require("./layers.BLd2spTm.js"),u=require("./layers.BJ2wAp0B.js"),i=require("./layers.Cliu4TWT.js"),j=require("./layers.CRMcmPjL.js");function G(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const m=G(P);function x(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:M(e),edges:F(e)};return m.isUndefined(e.graph())||(t.value=m.clone(e.graph())),t}function M(e){return m.map(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),s={v:t};return m.isUndefined(n)||(s.value=n),m.isUndefined(r)||(s.parent=r),s})}function F(e){return m.map(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return m.isUndefined(t.name)||(r.name=t.name),m.isUndefined(n)||(r.value=n),r})}let a={},w={},p={};const q=()=>{w={},p={},a={}},X=(e,t)=>(i.log$1.trace("In isDescendant",t," ",e," = ",w[t].includes(e)),!!w[t].includes(e)),_=(e,t)=>(i.log$1.info("Descendants of ",t," is ",w[t]),i.log$1.info("Edge is ",e),e.v===t||e.w===t?!1:w[t]?w[t].includes(e.v)||X(e.v,t)||X(e.w,t)||w[t].includes(e.w):(i.log$1.debug("Tilt, ",t,",not in descendants"),!1)),B=(e,t,n,r)=>{i.log$1.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const s=t.children(e)||[];e!==r&&s.push(e),i.log$1.warn("Copying (nodes) clusterId",e,"nodes",s),s.forEach(o=>{if(t.children(o).length>0)B(o,t,n,r);else{const f=t.node(o);i.log$1.info("cp ",o," to ",r," with parent ",e),n.setNode(o,f),r!==t.parent(o)&&(i.log$1.warn("Setting parent",o,t.parent(o)),n.setParent(o,t.parent(o))),e!==r&&o!==e?(i.log$1.debug("Setting parent",o,e),n.setParent(o,e)):(i.log$1.info("In copy ",e,"root",r,"data",t.node(e),r),i.log$1.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==r,"node!==clusterId",o!==e));const g=t.edges(o);i.log$1.debug("Copying Edges",g),g.forEach(d=>{i.log$1.info("Edge",d);const h=t.edge(d.v,d.w,d.name);i.log$1.info("Edge data",h,r);try{_(d,r)?(i.log$1.info("Copying as ",d.v,d.w,h,d.name),n.setEdge(d.v,d.w,h,d.name),i.log$1.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.log$1.info("Skipping copy of edge ",d.v,"-->",d.w," rootId: ",r," clusterId:",e)}catch($){i.log$1.error($)}})}i.log$1.debug("Removing node",o),t.removeNode(o)})},D=(e,t)=>{const n=t.children(e);let r=[...n];for(const s of n)p[s]=e,r=[...r,...D(s,t)];return r},C=(e,t)=>{i.log$1.trace("Searching",e);const n=t.children(e);if(i.log$1.trace("Searching children of id ",e,n),n.length<1)return i.log$1.trace("This is a valid node",e),e;for(const r of n){const s=C(r,t);if(s)return i.log$1.trace("Found replacement for",e," => ",s),s}},S=e=>!a[e]||!a[e].externalConnections?e:a[e]?a[e].id:e,U=(e,t)=>{if(!e||t>10){i.log$1.debug("Opting out, no graph ");return}else i.log$1.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.log$1.warn("Cluster identified",n," Replacement id in edges: ",C(n,e)),w[n]=D(n,e),a[n]={id:C(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),s=e.edges();r.length>0?(i.log$1.debug("Cluster identified",n,w),s.forEach(o=>{if(o.v!==n&&o.w!==n){const f=X(o.v,n),g=X(o.w,n);f^g&&(i.log$1.warn("Edge: ",o," leaves cluster ",n),i.log$1.warn("Descendants of XXX ",n,": ",w[n]),a[n].externalConnections=!0)}})):i.log$1.debug("Not a cluster ",n,w)});for(let n of Object.keys(a)){const r=a[n].id,s=e.parent(r);s!==n&&a[s]&&!a[s].externalConnections&&(a[n].id=s)}e.edges().forEach(function(n){const r=e.edge(n);i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let s=n.v,o=n.w;if(i.log$1.warn("Fix XXX",a,"ids:",n.v,n.w,"Translating: ",a[n.v]," --- ",a[n.w]),a[n.v]&&a[n.w]&&a[n.v]===a[n.w]){i.log$1.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name);const f=n.w+"---"+n.v;e.setNode(f,{domId:f,id:f,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const g=structuredClone(r),d=structuredClone(r);g.label="",g.arrowTypeEnd="none",d.label="",g.fromCluster=n.v,d.toCluster=n.v,e.setEdge(s,f,g,n.name+"-cyclic-special"),e.setEdge(f,o,d,n.name+"-cyclic-special")}else if(a[n.v]||a[n.w]){if(i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v){const f=e.parent(s);a[f].externalConnections=!0,r.fromCluster=n.v}if(o!==n.w){const f=e.parent(o);a[f].externalConnections=!0,r.toCluster=n.w}i.log$1.warn("Fix Replacing with XXX",s,o,n.name),e.setEdge(s,o,r,n.name)}}),i.log$1.warn("Adjusted Graph",x(e)),T(e,0),i.log$1.trace(a)},T=(e,t)=>{if(i.log$1.warn("extractor - ",t,x(e),e.children("D")),t>10){i.log$1.error("Bailing out");return}let n=e.nodes(),r=!1;for(const s of n){const o=e.children(s);r=r||o.length>0}if(!r){i.log$1.debug("Done, no node has children",e.nodes());return}i.log$1.debug("Nodes = ",n,t);for(const s of n)if(i.log$1.debug("Extracting node",s,a,a[s]&&!a[s].externalConnections,!e.parent(s),e.node(s),e.children("D")," Depth ",t),!a[s])i.log$1.debug("Not a cluster",s,t);else if(!a[s].externalConnections&&e.children(s)&&e.children(s).length>0){i.log$1.warn("Cluster without external connections, without a parent and with children",s,t);let f=e.graph().rankdir==="TB"?"LR":"TB";a[s]&&a[s].clusterData&&a[s].clusterData.dir&&(f=a[s].clusterData.dir,i.log$1.warn("Fixing dir",a[s].clusterData.dir,f));const g=new k.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:f,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.log$1.warn("Old graph before copy",x(e)),B(s,e,g,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:a[s].clusterData,labelText:a[s].labelText,graph:g}),i.log$1.warn("New graph after copy node: (",s,")",x(g)),i.log$1.debug("Old graph after copy",x(e))}else i.log$1.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!a[s].externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),i.log$1.debug(a);n=e.nodes(),i.log$1.warn("New list of nodes",n);for(const s of n){const o=e.node(s);i.log$1.warn(" Now next level",s,o),o.clusterNode&&T(o.graph,t+1)}},O=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const s=e.children(r),o=O(e,s);n=[...n,...o]}),n},A=e=>O(e,e.children()),H=(e,t)=>{i.log$1.info("Creating subgraph rect for ",t.id,t);const n=i.getConfig(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),s=r.insert("rect",":first-child"),o=i.evaluate(n.flowchart.htmlLabels),f=r.insert("g").attr("class","cluster-label"),g=t.labelType==="markdown"?j.createText(f,t.labelText,{style:t.labelStyle,useHtmlLabels:o}):f.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}const h=0*t.padding,$=h/2,y=t.width<=d.width+h?d.width+h:t.width;t.width<=d.width+h?t.diff=(d.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,i.log$1.trace("Data ",t,JSON.stringify(t)),s.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-y/2).attr("y",t.y-t.height/2-$).attr("width",y).attr("height",t.height+h);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o?f.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2+N})`):f.attr("transform",`translate(${t.x}, ${t.y-t.height/2+N})`);const b=s.node().getBBox();return t.width=b.width,t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},V=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2-o).attr("width",t.width+s).attr("height",t.height+s).attr("fill","none");const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.intersect=function(g){return u.intersectRect$1(t,g)},n},z=(e,t)=>{const n=i.getConfig(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),s=r.insert("rect",":first-child"),o=r.insert("g").attr("class","cluster-label"),f=r.append("rect"),g=o.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}d=g.getBBox();const h=0*t.padding,$=h/2,y=t.width<=d.width+t.padding?d.width+t.padding:t.width;t.width<=d.width+t.padding?t.diff=(d.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,s.attr("class","outer").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$).attr("width",y+h).attr("height",t.height+h),f.attr("class","inner").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$+d.height-1).attr("width",y+h).attr("height",t.height+h-d.height-3);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2-t.padding/3+(i.evaluate(n.flowchart.htmlLabels)?5:3)+N})`);const b=s.node().getBBox();return t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},W=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("class","divider").attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2).attr("width",t.width+s).attr("height",t.height+s);const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.diff=-t.padding/2,t.intersect=function(g){return u.intersectRect$1(t,g)},n},K={rect:H,roundedWithTitle:z,noteGroup:V,divider:W};let R={};const Q=(e,t)=>{i.log$1.trace("Inserting cluster");const n=t.shape||"rect";R[t.id]=K[n](e,t)},Y=()=>{R={}},L=async(e,t,n,r,s,o)=>{i.log$1.info("Graph in recursive render: XXX",x(t),s);const f=t.graph().rankdir;i.log$1.trace("Dir in recursive render - dir:",f);const g=e.insert("g").attr("class","root");t.nodes()?i.log$1.info("Recursive render XXX",t.nodes()):i.log$1.info("No nodes found for",t),t.edges().length>0&&i.log$1.trace("Recursive edges",t.edge(t.edges()[0]));const d=g.insert("g").attr("class","clusters"),h=g.insert("g").attr("class","edgePaths"),$=g.insert("g").attr("class","edgeLabels"),y=g.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(l){const c=t.node(l);if(s!==void 0){const v=JSON.parse(JSON.stringify(s.clusterData));i.log$1.info("Setting data for cluster XXX (",l,") ",v,s),t.setNode(s.id,v),t.parent(l)||(i.log$1.trace("Setting parent",l,s.id),t.setParent(l,s.id,v))}if(i.log$1.info("(Insert) Node XXX"+l+": "+JSON.stringify(t.node(l))),c&&c.clusterNode){i.log$1.info("Cluster identified",l,c.width,t.node(l));const v=await L(y,c.graph,n,r,t.node(l),o),E=v.elem;u.updateNodeBounds(c,E),c.diff=v.diff||0,i.log$1.info("Node bounds (abc123)",l,c,c.width,c.x,c.y),u.setNodeElem(E,c),i.log$1.warn("Recursive render complete ",E,c)}else t.children(l).length>0?(i.log$1.info("Cluster - the non recursive path XXX",l,c.id,c,t),i.log$1.info(C(c.id,t)),a[c.id]={id:C(c.id,t),node:c}):(i.log$1.info("Node - the non recursive path",l,c.id,c),await u.insertNode(y,t.node(l),f))})),t.edges().forEach(function(l){const c=t.edge(l.v,l.w,l.name);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l)),i.log$1.info("Edge "+l.v+" -> "+l.w+": ",l," ",JSON.stringify(t.edge(l))),i.log$1.info("Fix",a,"ids:",l.v,l.w,"Translating: ",a[l.v],a[l.w]),u.insertEdgeLabel($,c)}),t.edges().forEach(function(l){i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l))}),i.log$1.info("#############################################"),i.log$1.info("### Layout ###"),i.log$1.info("#############################################"),i.log$1.info(t),J.layout(t),i.log$1.info("Graph after layout:",x(t));let N=0;const{subGraphTitleTotalMargin:b}=u.getSubGraphTitleMargins(o);return A(t).forEach(function(l){const c=t.node(l);i.log$1.info("Position "+l+": "+JSON.stringify(t.node(l))),i.log$1.info("Position "+l+": ("+c.x,","+c.y,") width: ",c.width," height: ",c.height),c&&c.clusterNode?(c.y+=b,u.positionNode(c)):t.children(l).length>0?(c.height+=b,Q(d,c),a[c.id].node=c):(c.y+=b/2,u.positionNode(c))}),t.edges().forEach(function(l){const c=t.edge(l);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(c),c),c.points.forEach(E=>E.y+=b/2);const v=u.insertEdge(h,l,c,a,n,t,r);u.positionEdgeLabel(c,v)}),t.nodes().forEach(function(l){const c=t.node(l);i.log$1.info(l,c.type,c.diff),c.type==="group"&&(N=c.diff)}),{elem:g,diff:N}},Z=async(e,t,n,r,s)=>{u.insertMarkers$1(e,n,r,s),u.clear$1(),u.clear(),Y(),q(),i.log$1.warn("Graph at first:",JSON.stringify(x(t))),U(t),i.log$1.warn("Graph after:",JSON.stringify(x(t)));const o=i.getConfig();await L(e,t,r,s,void 0,o)};exports.render=Z;
1
+ "use strict";const P=require("lodash-es"),J=require("./layers.Cyzu9PKQ.js"),k=require("./layers.BLd2spTm.js"),u=require("./layers.C68X8Luq.js"),i=require("./layers.B7vX8oL3.js"),j=require("./layers.COaoSOFU.js");function G(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const m=G(P);function x(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:M(e),edges:F(e)};return m.isUndefined(e.graph())||(t.value=m.clone(e.graph())),t}function M(e){return m.map(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),s={v:t};return m.isUndefined(n)||(s.value=n),m.isUndefined(r)||(s.parent=r),s})}function F(e){return m.map(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return m.isUndefined(t.name)||(r.name=t.name),m.isUndefined(n)||(r.value=n),r})}let a={},w={},p={};const q=()=>{w={},p={},a={}},X=(e,t)=>(i.log$1.trace("In isDescendant",t," ",e," = ",w[t].includes(e)),!!w[t].includes(e)),_=(e,t)=>(i.log$1.info("Descendants of ",t," is ",w[t]),i.log$1.info("Edge is ",e),e.v===t||e.w===t?!1:w[t]?w[t].includes(e.v)||X(e.v,t)||X(e.w,t)||w[t].includes(e.w):(i.log$1.debug("Tilt, ",t,",not in descendants"),!1)),B=(e,t,n,r)=>{i.log$1.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const s=t.children(e)||[];e!==r&&s.push(e),i.log$1.warn("Copying (nodes) clusterId",e,"nodes",s),s.forEach(o=>{if(t.children(o).length>0)B(o,t,n,r);else{const f=t.node(o);i.log$1.info("cp ",o," to ",r," with parent ",e),n.setNode(o,f),r!==t.parent(o)&&(i.log$1.warn("Setting parent",o,t.parent(o)),n.setParent(o,t.parent(o))),e!==r&&o!==e?(i.log$1.debug("Setting parent",o,e),n.setParent(o,e)):(i.log$1.info("In copy ",e,"root",r,"data",t.node(e),r),i.log$1.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==r,"node!==clusterId",o!==e));const g=t.edges(o);i.log$1.debug("Copying Edges",g),g.forEach(d=>{i.log$1.info("Edge",d);const h=t.edge(d.v,d.w,d.name);i.log$1.info("Edge data",h,r);try{_(d,r)?(i.log$1.info("Copying as ",d.v,d.w,h,d.name),n.setEdge(d.v,d.w,h,d.name),i.log$1.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.log$1.info("Skipping copy of edge ",d.v,"-->",d.w," rootId: ",r," clusterId:",e)}catch($){i.log$1.error($)}})}i.log$1.debug("Removing node",o),t.removeNode(o)})},D=(e,t)=>{const n=t.children(e);let r=[...n];for(const s of n)p[s]=e,r=[...r,...D(s,t)];return r},C=(e,t)=>{i.log$1.trace("Searching",e);const n=t.children(e);if(i.log$1.trace("Searching children of id ",e,n),n.length<1)return i.log$1.trace("This is a valid node",e),e;for(const r of n){const s=C(r,t);if(s)return i.log$1.trace("Found replacement for",e," => ",s),s}},S=e=>!a[e]||!a[e].externalConnections?e:a[e]?a[e].id:e,U=(e,t)=>{if(!e||t>10){i.log$1.debug("Opting out, no graph ");return}else i.log$1.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.log$1.warn("Cluster identified",n," Replacement id in edges: ",C(n,e)),w[n]=D(n,e),a[n]={id:C(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),s=e.edges();r.length>0?(i.log$1.debug("Cluster identified",n,w),s.forEach(o=>{if(o.v!==n&&o.w!==n){const f=X(o.v,n),g=X(o.w,n);f^g&&(i.log$1.warn("Edge: ",o," leaves cluster ",n),i.log$1.warn("Descendants of XXX ",n,": ",w[n]),a[n].externalConnections=!0)}})):i.log$1.debug("Not a cluster ",n,w)});for(let n of Object.keys(a)){const r=a[n].id,s=e.parent(r);s!==n&&a[s]&&!a[s].externalConnections&&(a[n].id=s)}e.edges().forEach(function(n){const r=e.edge(n);i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let s=n.v,o=n.w;if(i.log$1.warn("Fix XXX",a,"ids:",n.v,n.w,"Translating: ",a[n.v]," --- ",a[n.w]),a[n.v]&&a[n.w]&&a[n.v]===a[n.w]){i.log$1.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name);const f=n.w+"---"+n.v;e.setNode(f,{domId:f,id:f,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const g=structuredClone(r),d=structuredClone(r);g.label="",g.arrowTypeEnd="none",d.label="",g.fromCluster=n.v,d.toCluster=n.v,e.setEdge(s,f,g,n.name+"-cyclic-special"),e.setEdge(f,o,d,n.name+"-cyclic-special")}else if(a[n.v]||a[n.w]){if(i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v){const f=e.parent(s);a[f].externalConnections=!0,r.fromCluster=n.v}if(o!==n.w){const f=e.parent(o);a[f].externalConnections=!0,r.toCluster=n.w}i.log$1.warn("Fix Replacing with XXX",s,o,n.name),e.setEdge(s,o,r,n.name)}}),i.log$1.warn("Adjusted Graph",x(e)),T(e,0),i.log$1.trace(a)},T=(e,t)=>{if(i.log$1.warn("extractor - ",t,x(e),e.children("D")),t>10){i.log$1.error("Bailing out");return}let n=e.nodes(),r=!1;for(const s of n){const o=e.children(s);r=r||o.length>0}if(!r){i.log$1.debug("Done, no node has children",e.nodes());return}i.log$1.debug("Nodes = ",n,t);for(const s of n)if(i.log$1.debug("Extracting node",s,a,a[s]&&!a[s].externalConnections,!e.parent(s),e.node(s),e.children("D")," Depth ",t),!a[s])i.log$1.debug("Not a cluster",s,t);else if(!a[s].externalConnections&&e.children(s)&&e.children(s).length>0){i.log$1.warn("Cluster without external connections, without a parent and with children",s,t);let f=e.graph().rankdir==="TB"?"LR":"TB";a[s]&&a[s].clusterData&&a[s].clusterData.dir&&(f=a[s].clusterData.dir,i.log$1.warn("Fixing dir",a[s].clusterData.dir,f));const g=new k.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:f,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.log$1.warn("Old graph before copy",x(e)),B(s,e,g,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:a[s].clusterData,labelText:a[s].labelText,graph:g}),i.log$1.warn("New graph after copy node: (",s,")",x(g)),i.log$1.debug("Old graph after copy",x(e))}else i.log$1.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!a[s].externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),i.log$1.debug(a);n=e.nodes(),i.log$1.warn("New list of nodes",n);for(const s of n){const o=e.node(s);i.log$1.warn(" Now next level",s,o),o.clusterNode&&T(o.graph,t+1)}},O=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const s=e.children(r),o=O(e,s);n=[...n,...o]}),n},A=e=>O(e,e.children()),H=(e,t)=>{i.log$1.info("Creating subgraph rect for ",t.id,t);const n=i.getConfig(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),s=r.insert("rect",":first-child"),o=i.evaluate(n.flowchart.htmlLabels),f=r.insert("g").attr("class","cluster-label"),g=t.labelType==="markdown"?j.createText(f,t.labelText,{style:t.labelStyle,useHtmlLabels:o}):f.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}const h=0*t.padding,$=h/2,y=t.width<=d.width+h?d.width+h:t.width;t.width<=d.width+h?t.diff=(d.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,i.log$1.trace("Data ",t,JSON.stringify(t)),s.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-y/2).attr("y",t.y-t.height/2-$).attr("width",y).attr("height",t.height+h);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o?f.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2+N})`):f.attr("transform",`translate(${t.x}, ${t.y-t.height/2+N})`);const b=s.node().getBBox();return t.width=b.width,t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},V=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2-o).attr("width",t.width+s).attr("height",t.height+s).attr("fill","none");const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.intersect=function(g){return u.intersectRect$1(t,g)},n},z=(e,t)=>{const n=i.getConfig(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),s=r.insert("rect",":first-child"),o=r.insert("g").attr("class","cluster-label"),f=r.append("rect"),g=o.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}d=g.getBBox();const h=0*t.padding,$=h/2,y=t.width<=d.width+t.padding?d.width+t.padding:t.width;t.width<=d.width+t.padding?t.diff=(d.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,s.attr("class","outer").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$).attr("width",y+h).attr("height",t.height+h),f.attr("class","inner").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$+d.height-1).attr("width",y+h).attr("height",t.height+h-d.height-3);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2-t.padding/3+(i.evaluate(n.flowchart.htmlLabels)?5:3)+N})`);const b=s.node().getBBox();return t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},W=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("class","divider").attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2).attr("width",t.width+s).attr("height",t.height+s);const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.diff=-t.padding/2,t.intersect=function(g){return u.intersectRect$1(t,g)},n},K={rect:H,roundedWithTitle:z,noteGroup:V,divider:W};let R={};const Q=(e,t)=>{i.log$1.trace("Inserting cluster");const n=t.shape||"rect";R[t.id]=K[n](e,t)},Y=()=>{R={}},L=async(e,t,n,r,s,o)=>{i.log$1.info("Graph in recursive render: XXX",x(t),s);const f=t.graph().rankdir;i.log$1.trace("Dir in recursive render - dir:",f);const g=e.insert("g").attr("class","root");t.nodes()?i.log$1.info("Recursive render XXX",t.nodes()):i.log$1.info("No nodes found for",t),t.edges().length>0&&i.log$1.trace("Recursive edges",t.edge(t.edges()[0]));const d=g.insert("g").attr("class","clusters"),h=g.insert("g").attr("class","edgePaths"),$=g.insert("g").attr("class","edgeLabels"),y=g.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(l){const c=t.node(l);if(s!==void 0){const v=JSON.parse(JSON.stringify(s.clusterData));i.log$1.info("Setting data for cluster XXX (",l,") ",v,s),t.setNode(s.id,v),t.parent(l)||(i.log$1.trace("Setting parent",l,s.id),t.setParent(l,s.id,v))}if(i.log$1.info("(Insert) Node XXX"+l+": "+JSON.stringify(t.node(l))),c&&c.clusterNode){i.log$1.info("Cluster identified",l,c.width,t.node(l));const v=await L(y,c.graph,n,r,t.node(l),o),E=v.elem;u.updateNodeBounds(c,E),c.diff=v.diff||0,i.log$1.info("Node bounds (abc123)",l,c,c.width,c.x,c.y),u.setNodeElem(E,c),i.log$1.warn("Recursive render complete ",E,c)}else t.children(l).length>0?(i.log$1.info("Cluster - the non recursive path XXX",l,c.id,c,t),i.log$1.info(C(c.id,t)),a[c.id]={id:C(c.id,t),node:c}):(i.log$1.info("Node - the non recursive path",l,c.id,c),await u.insertNode(y,t.node(l),f))})),t.edges().forEach(function(l){const c=t.edge(l.v,l.w,l.name);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l)),i.log$1.info("Edge "+l.v+" -> "+l.w+": ",l," ",JSON.stringify(t.edge(l))),i.log$1.info("Fix",a,"ids:",l.v,l.w,"Translating: ",a[l.v],a[l.w]),u.insertEdgeLabel($,c)}),t.edges().forEach(function(l){i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l))}),i.log$1.info("#############################################"),i.log$1.info("### Layout ###"),i.log$1.info("#############################################"),i.log$1.info(t),J.layout(t),i.log$1.info("Graph after layout:",x(t));let N=0;const{subGraphTitleTotalMargin:b}=u.getSubGraphTitleMargins(o);return A(t).forEach(function(l){const c=t.node(l);i.log$1.info("Position "+l+": "+JSON.stringify(t.node(l))),i.log$1.info("Position "+l+": ("+c.x,","+c.y,") width: ",c.width," height: ",c.height),c&&c.clusterNode?(c.y+=b,u.positionNode(c)):t.children(l).length>0?(c.height+=b,Q(d,c),a[c.id].node=c):(c.y+=b/2,u.positionNode(c))}),t.edges().forEach(function(l){const c=t.edge(l);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(c),c),c.points.forEach(E=>E.y+=b/2);const v=u.insertEdge(h,l,c,a,n,t,r);u.positionEdgeLabel(c,v)}),t.nodes().forEach(function(l){const c=t.node(l);i.log$1.info(l,c.type,c.diff),c.type==="group"&&(N=c.diff)}),{elem:g,diff:N}},Z=async(e,t,n,r,s)=>{u.insertMarkers$1(e,n,r,s),u.clear$1(),u.clear(),Y(),q(),i.log$1.warn("Graph at first:",JSON.stringify(x(t))),U(t),i.log$1.warn("Graph after:",JSON.stringify(x(t)));const o=i.getConfig();await L(e,t,r,s,void 0,o)};exports.render=Z;
@@ -1,12 +1,12 @@
1
- import { f as $, p as St } from "./layers.Df2Tx3z8.js";
2
- import { d as x, a0 as G, l as M, g as D, Y as Lt, _ as V, $ as W, t as Z, V as tt, j as et } from "./layers.iw6xwChK.js";
1
+ import { f as $, p as St } from "./layers.BMshwZ_7.js";
2
+ import { d as x, a0 as G, l as M, g as D, Y as Lt, _ as V, $ as W, t as Z, V as tt, j as et } from "./layers.CMiYs3YP.js";
3
3
  import * as rt from "lodash-es";
4
4
  import { pick as _t, defaults as I } from "lodash-es";
5
5
  import { l as Et } from "./layers.D4T8fTcj.js";
6
6
  import { G as Tt } from "./layers.BJDrjORS.js";
7
- import { b as T, c as at, i as nt, d as _, e as st, g as it, f as Nt, a as At, s as Pt } from "./layers.CZQfAvCl.js";
8
- import { l as Ct } from "./layers.C2gfpoT_.js";
9
- import "./layers.CvrViPJG.js";
7
+ import { b as T, c as at, i as nt, d as _, e as st, g as it, f as Nt, a as At, s as Pt } from "./layers.BW0oXY3i.js";
8
+ import { l as Ct } from "./layers.B-P9i94s.js";
9
+ import "./layers.0aAptiBr.js";
10
10
  import "lodash-es/memoize.js";
11
11
  import "lodash-es/merge.js";
12
12
  import "lodash-es/isEmpty.js";