@tickernelz/paperclip-pro-ui 2026.925.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. package/README.md +30 -0
  2. package/dist/android-chrome-192x192.png +0 -0
  3. package/dist/android-chrome-512x512.png +0 -0
  4. package/dist/announcement-preview.svg +11 -0
  5. package/dist/apple-touch-icon.png +0 -0
  6. package/dist/assets/AgentAvatar-BR1Z_L_Z.js +1 -0
  7. package/dist/assets/AgentIdentity-BgihkjQU.js +1 -0
  8. package/dist/assets/Agents.production-BsKiBknO.js +2 -0
  9. package/dist/assets/CompanyActivity.production-Bp4gxpq3.js +1 -0
  10. package/dist/assets/CompanyExport-BvUhFYBr.js +4 -0
  11. package/dist/assets/CompanySkills.production-htb9HH0N.js +10 -0
  12. package/dist/assets/Costs.production-CzulNW6Y.js +1 -0
  13. package/dist/assets/EmptyState-DOb3I5aU.js +1 -0
  14. package/dist/assets/MarkdownBody-AdwNLx7A.js +16 -0
  15. package/dist/assets/MarkdownEditor-B3NYD32f.js +85 -0
  16. package/dist/assets/OrgChart.production-DbBigpMZ.js +1 -0
  17. package/dist/assets/PageSkeleton-C-C3Xlc_.js +1 -0
  18. package/dist/assets/RoutineDetail.production-DJn3YZiR.js +1 -0
  19. package/dist/assets/RoutineRunVariablesDialog-BkLLbP3a.js +5 -0
  20. package/dist/assets/Routines.production-BBDkh1yN.js +1 -0
  21. package/dist/assets/SidebarContext-9UFQ2Pex.js +1 -0
  22. package/dist/assets/StatusIcon-DMDp_WJw.js +1 -0
  23. package/dist/assets/abnfDiagram-VCTEODGH-wiE_K2ku.js +1 -0
  24. package/dist/assets/agents-DrLpWAcm.js +1 -0
  25. package/dist/assets/apl-MHzTCvfx.js +1 -0
  26. package/dist/assets/arc-BQ55EiX2.js +1 -0
  27. package/dist/assets/architecture-7GRP2DOG-B-bRgmfI.js +1 -0
  28. package/dist/assets/architectureDiagram-5GKGNRK7-BkhBoP5_.js +36 -0
  29. package/dist/assets/array-CL5Tisss.js +1 -0
  30. package/dist/assets/asciiarmor-DFLNSgns.js +1 -0
  31. package/dist/assets/asn1-CfPVWRYE.js +1 -0
  32. package/dist/assets/asterisk-CJ4OeA7Y.js +1 -0
  33. package/dist/assets/badge-BLr1M3ne.js +1 -0
  34. package/dist/assets/blockDiagram-I7D4REHJ-fyVn7r-9.js +129 -0
  35. package/dist/assets/bot-CET4VfU-.js +1 -0
  36. package/dist/assets/brainfuck-NEHkmXMc.js +1 -0
  37. package/dist/assets/button-DCI8NFig.js +1 -0
  38. package/dist/assets/c4Diagram-7LVT6UL2-BqC3qTZS.js +38 -0
  39. package/dist/assets/card-BD8MkPAL.js +1 -0
  40. package/dist/assets/channel-0B5iAV5A.js +1 -0
  41. package/dist/assets/character-CguPM7IG.js +1 -0
  42. package/dist/assets/check-C6myARng.js +1 -0
  43. package/dist/assets/checkbox-CmYq-YMP.js +1 -0
  44. package/dist/assets/chevron-down-D2wNtbQf.js +1 -0
  45. package/dist/assets/chevron-right-CU6xIk8W.js +1 -0
  46. package/dist/assets/chunk-2Q5K7J3B-CkPHWFj-.js +1 -0
  47. package/dist/assets/chunk-4HAMMTFA-CGGd_Pxz.js +62 -0
  48. package/dist/assets/chunk-5VM5RSS4-2H3r6wq0.js +15 -0
  49. package/dist/assets/chunk-75Z2AOVW-BaPl5WA6.js +2 -0
  50. package/dist/assets/chunk-DU6HZSFF-2P5iNHqg.js +127 -0
  51. package/dist/assets/chunk-F27PBJKO-Ci7GmRgM.js +1 -0
  52. package/dist/assets/chunk-FOHPRMQF-7Ogwfo6e.js +153 -0
  53. package/dist/assets/chunk-GMAD6QVW-BfvaaEBW.js +70 -0
  54. package/dist/assets/chunk-GVQU2GXP-Cwp_Wpj2.js +1 -0
  55. package/dist/assets/chunk-IMKFNOWR-BjXu-u1C.js +231 -0
  56. package/dist/assets/chunk-JWPE2WC7--HEGjv3t.js +1 -0
  57. package/dist/assets/chunk-L3NEJ4N5-JUd1UqX1.js +1 -0
  58. package/dist/assets/chunk-OSK3NFVY-DlrxddG-.js +10 -0
  59. package/dist/assets/chunk-P2QGCYS3-CjqEi3mx.js +1 -0
  60. package/dist/assets/chunk-POPQ4Y6H-BytmIqFc.js +1 -0
  61. package/dist/assets/chunk-PWAF6VOD-CR3rNBNB.js +1 -0
  62. package/dist/assets/chunk-SHT3W25Y-B1Klag0Z.js +168 -0
  63. package/dist/assets/chunk-SVP7TREG-A4BO1_5v.js +88 -0
  64. package/dist/assets/chunk-TICWLB2K-B4lRXha0.js +206 -0
  65. package/dist/assets/chunk-XXDRQBXY-BhrH-9FX.js +1 -0
  66. package/dist/assets/chunk-Y2CYZVJY-OvsAdhaO.js +1 -0
  67. package/dist/assets/classDiagram-ZZMXUADV-icHQAbF4.js +1 -0
  68. package/dist/assets/classDiagram-v2-VYDZK3BY-icHQAbF4.js +1 -0
  69. package/dist/assets/clike-CIx9nZSv.js +1 -0
  70. package/dist/assets/clipboard-BZT4l65i.js +1 -0
  71. package/dist/assets/clojure-DFaIEz5O.js +1 -0
  72. package/dist/assets/cmake-koz-qBlo.js +1 -0
  73. package/dist/assets/cobol-Bo8Zw9gB.js +1 -0
  74. package/dist/assets/coffeescript-CXYzYf-Y.js +1 -0
  75. package/dist/assets/commonlisp-C4OOCwkD.js +1 -0
  76. package/dist/assets/company-members-C1IoXITE.js +1 -0
  77. package/dist/assets/cose-bilkent-JH36ORCC-ShY6JvWh.js +1 -0
  78. package/dist/assets/createLucideIcon-D-iIM3hK.js +92 -0
  79. package/dist/assets/crystal-BlJXQDvy.js +1 -0
  80. package/dist/assets/css-DEZwfVpY.js +1 -0
  81. package/dist/assets/cynefin-OW5HDTMX-SmJ8tLYh.js +1 -0
  82. package/dist/assets/cynefinDiagram-5FMLGOSQ-Qp2NNXUx.js +62 -0
  83. package/dist/assets/cypher-z2oFsVv2.js +1 -0
  84. package/dist/assets/cytoscape.esm-B68Piqei.js +321 -0
  85. package/dist/assets/d-Dkt6y7AQ.js +1 -0
  86. package/dist/assets/dagre-Bnei_7lW.js +1 -0
  87. package/dist/assets/dagre-GXQ25YYZ-C1bu-Sbk.js +4 -0
  88. package/dist/assets/defaultLocale-C2Bpu8Ih.js +1 -0
  89. package/dist/assets/definition-qmfin__X.js +1 -0
  90. package/dist/assets/diagram-S7CK7UJ4-D0cqRe3j.js +30 -0
  91. package/dist/assets/diagram-UQ7AKVKN-DdEgR6LR.js +41 -0
  92. package/dist/assets/diagram-VSXAHHWV-B_APewr5.js +3 -0
  93. package/dist/assets/diagram-VX7I27RA-B2quR8-z.js +24 -0
  94. package/dist/assets/diagram-Z3DM3KII-BpQRCt5N.js +24 -0
  95. package/dist/assets/diff-C60bAYOU.js +1 -0
  96. package/dist/assets/dist-B0TRtKS8.js +1 -0
  97. package/dist/assets/dist-B3Uu-urE.js +1 -0
  98. package/dist/assets/dist-BRrJTSwu.js +1 -0
  99. package/dist/assets/dist-BX-OCtve.js +7 -0
  100. package/dist/assets/dist-BXoB5t8y.js +1 -0
  101. package/dist/assets/dist-BeN6V24C.js +1 -0
  102. package/dist/assets/dist-Bs8B1orN.js +1 -0
  103. package/dist/assets/dist-BuzarGBs.js +1 -0
  104. package/dist/assets/dist-C2jegCUe.js +2 -0
  105. package/dist/assets/dist-C8CoeHVO.js +6 -0
  106. package/dist/assets/dist-CBo4NvFW.js +1 -0
  107. package/dist/assets/dist-CSbL7rtN.js +1 -0
  108. package/dist/assets/dist-CWrRKmYk.js +1 -0
  109. package/dist/assets/dist-CXeuJs-w.js +1 -0
  110. package/dist/assets/dist-Cc3Bt6H4.js +1 -0
  111. package/dist/assets/dist-Cj4C2HPs.js +1 -0
  112. package/dist/assets/dist-DCJXgQu0.js +13 -0
  113. package/dist/assets/dist-DKJ0FdKS.js +1 -0
  114. package/dist/assets/dist-DZgNtG8a.js +1 -0
  115. package/dist/assets/dist-DoBOMP6Y.js +1 -0
  116. package/dist/assets/dist-DpmnjHX9.js +1 -0
  117. package/dist/assets/dist-DsLYqWnM.js +1 -0
  118. package/dist/assets/dist-DyyIM2uF.js +3 -0
  119. package/dist/assets/dist-YH7EZ8d1.js +1 -0
  120. package/dist/assets/dist-oQmcCiSD.js +1 -0
  121. package/dist/assets/dist-sLIQSVjm.js +13 -0
  122. package/dist/assets/dist-xQwUswee.js +1 -0
  123. package/dist/assets/dockerfile-BttNdtK0.js +1 -0
  124. package/dist/assets/dtd-CCVZU5Da.js +1 -0
  125. package/dist/assets/dylan-3pmV5wzs.js +1 -0
  126. package/dist/assets/ebnf-bm-I2WIh.js +1 -0
  127. package/dist/assets/ebnfDiagram-PWID7BFC-C9x73jSZ.js +1 -0
  128. package/dist/assets/ecl-BIv3PrZb.js +1 -0
  129. package/dist/assets/eiffel-DuLnr4-r.js +1 -0
  130. package/dist/assets/elm-njbaCU-L.js +1 -0
  131. package/dist/assets/environments-Cd-g_MmN.js +1 -0
  132. package/dist/assets/erDiagram-RLTQ6QDP-Dkp7z94L.js +99 -0
  133. package/dist/assets/erlang-CuhOC2I8.js +1 -0
  134. package/dist/assets/eventmodeling-NTZA5JFV-CCSRuDgA.js +1 -0
  135. package/dist/assets/external-link-BKz-OKDG.js +1 -0
  136. package/dist/assets/factor-CM3-9V3b.js +1 -0
  137. package/dist/assets/fcl-nWsMJ92o.js +1 -0
  138. package/dist/assets/file-text-DXa-cUrm.js +1 -0
  139. package/dist/assets/flowDiagram-HODETNUW-CDvpIOlT.js +1 -0
  140. package/dist/assets/forth-BQ9HrCVY.js +1 -0
  141. package/dist/assets/fortran-DHJe28ev.js +1 -0
  142. package/dist/assets/ganttDiagram-EL5Y4UJY-CJs7mNJX.js +292 -0
  143. package/dist/assets/gas-ByO0qYMr.js +1 -0
  144. package/dist/assets/gherkin-CwOmHL5K.js +1 -0
  145. package/dist/assets/gitGraph-4MIJSDKK-SUTvd_QT.js +1 -0
  146. package/dist/assets/gitGraphDiagram-WWUBYQGX-ByeD7NPE.js +106 -0
  147. package/dist/assets/graphlib-DHhK3saS.js +1 -0
  148. package/dist/assets/groovy-ByXGF8cx.js +1 -0
  149. package/dist/assets/haskell-CHSpCNOy.js +1 -0
  150. package/dist/assets/haxe-P2jh68ck.js +1 -0
  151. package/dist/assets/health-Dc13TJNg.js +1 -0
  152. package/dist/assets/heartbeats-CY77VTM_.js +1 -0
  153. package/dist/assets/http-0jwMmfWP.js +1 -0
  154. package/dist/assets/idl-DTVVj6r5.js +1 -0
  155. package/dist/assets/index-CWuperHN.css +1 -0
  156. package/dist/assets/index-ZrmXLuMX.js +733 -0
  157. package/dist/assets/info-A6RAGUB7-DP8pqSDg.js +1 -0
  158. package/dist/assets/infoDiagram-27XIBGKW-B6sR9qVK.js +2 -0
  159. package/dist/assets/init-BXPE0p7i.js +1 -0
  160. package/dist/assets/input-BkGpMopE.js +1 -0
  161. package/dist/assets/ishikawaDiagram-5VMMS53U-HFQ3gYGN.js +70 -0
  162. package/dist/assets/javascript-Cblpdx44.js +1 -0
  163. package/dist/assets/journeyDiagram-3NMN7TZE-BtoNErTz.js +139 -0
  164. package/dist/assets/julia-KVJvUu_F.js +1 -0
  165. package/dist/assets/kanban-definition-UXKFOSKX-Y55yoRj4.js +89 -0
  166. package/dist/assets/katex-Du_FPwxl.js +257 -0
  167. package/dist/assets/label-C-aWneNy.js +5 -0
  168. package/dist/assets/line-CJEZO7lL.js +1 -0
  169. package/dist/assets/linear-s0r5e4qh.js +1 -0
  170. package/dist/assets/livescript-DSHsJPcD.js +1 -0
  171. package/dist/assets/loader-circle-DwlcG9aS.js +1 -0
  172. package/dist/assets/lua-Vher-70I.js +1 -0
  173. package/dist/assets/mathematica-CE9SaVsW.js +1 -0
  174. package/dist/assets/mbox-JGl1Fgvq.js +1 -0
  175. package/dist/assets/mention-chips-pBjlxGok.js +17 -0
  176. package/dist/assets/mermaid-parser.core-CHJSk6z0.js +7 -0
  177. package/dist/assets/mermaid.core-G_BSi0G0.js +42 -0
  178. package/dist/assets/mindmap-definition-YA3MSWOX-BnlANYwV.js +96 -0
  179. package/dist/assets/mirc-BGWbO906.js +1 -0
  180. package/dist/assets/mllike-DuNQsEw8.js +1 -0
  181. package/dist/assets/model-DL5biheO.js +1 -0
  182. package/dist/assets/modelica-5XCgKQt8.js +1 -0
  183. package/dist/assets/mscgen-mVFg19ri.js +1 -0
  184. package/dist/assets/mumps-C7oS353s.js +1 -0
  185. package/dist/assets/nginx-DXVlpyCz.js +1 -0
  186. package/dist/assets/nsis-KFC6hioG.js +1 -0
  187. package/dist/assets/ntriples-5ckCopnn.js +1 -0
  188. package/dist/assets/octagon-alert-CTp78pR9.js +1 -0
  189. package/dist/assets/octave-D1J2QQNt.js +1 -0
  190. package/dist/assets/ordinal-BJyFM1v8.js +1 -0
  191. package/dist/assets/oz-CPsllMDD.js +1 -0
  192. package/dist/assets/packet-AYTQ26CC-DHxu-C4z.js +1 -0
  193. package/dist/assets/pascal-B-I6JP0Y.js +1 -0
  194. package/dist/assets/path-D6mommQw.js +1 -0
  195. package/dist/assets/pegDiagram-XKGWAZYB-CHhCzuLt.js +1 -0
  196. package/dist/assets/perl-CI8WIWBi.js +1 -0
  197. package/dist/assets/pie-WAS4IAKB-CP_gIBKD.js +1 -0
  198. package/dist/assets/pieDiagram-E7YTZNPT-CEGI1j0Q.js +39 -0
  199. package/dist/assets/pig-FQI0W3S3.js +1 -0
  200. package/dist/assets/powershell-BAu6x78A.js +1 -0
  201. package/dist/assets/preload-helper-CceJXRIF.js +1 -0
  202. package/dist/assets/prod-COP_vZWu.js +495 -0
  203. package/dist/assets/properties-BKTTDgau.js +1 -0
  204. package/dist/assets/protobuf-UWh8gh_j.js +1 -0
  205. package/dist/assets/pug-C20tNwmy.js +1 -0
  206. package/dist/assets/puppet-BAHVzCkO.js +1 -0
  207. package/dist/assets/python-C2DOnsac.js +1 -0
  208. package/dist/assets/q-Cooe-Nh8.js +1 -0
  209. package/dist/assets/quadrantDiagram-AXDQQJYC-BfVC-A1t.js +7 -0
  210. package/dist/assets/r-CktBKya9.js +1 -0
  211. package/dist/assets/radar-RG4KPBEZ-DbvKbV6l.js +1 -0
  212. package/dist/assets/railroad-74A4TZTK-BPHjMWIu.js +1 -0
  213. package/dist/assets/railroad-abnf-HS5TGJTU-DKY8xCGL.js +1 -0
  214. package/dist/assets/railroad-ebnf-LZEXJU2U-DK75GN4x.js +1 -0
  215. package/dist/assets/railroad-peg-WCYAUIDC-0bHp9JB9.js +1 -0
  216. package/dist/assets/railroadDiagram-O6MQD6OU-Bwh6snZb.js +1 -0
  217. package/dist/assets/requirementDiagram-BXWQKSXE-NEvTOdsw.js +84 -0
  218. package/dist/assets/rolldown-runtime-ZpX3ckPj.js +1 -0
  219. package/dist/assets/rotate-ccw-BhopZISX.js +1 -0
  220. package/dist/assets/rough.esm-DnC5Tr1g.js +1 -0
  221. package/dist/assets/router-BxwR1PwE.js +15 -0
  222. package/dist/assets/rpm-Csj9nLHl.js +1 -0
  223. package/dist/assets/ruby-bGx9eo-K.js +1 -0
  224. package/dist/assets/runtime-IAg0vdY9.js +4137 -0
  225. package/dist/assets/sankeyDiagram-P5KCCOFB-AvKb1lr-.js +40 -0
  226. package/dist/assets/sas-Drou_EQ9.js +1 -0
  227. package/dist/assets/save-D5KpMLil.js +1 -0
  228. package/dist/assets/scheme-DcjG9bAf.js +1 -0
  229. package/dist/assets/select-BqqjvKLd.js +1 -0
  230. package/dist/assets/sequenceDiagram-WJ2MYXX4-BP0QZnHN.js +162 -0
  231. package/dist/assets/sheet-Z4n6AEBA.js +1 -0
  232. package/dist/assets/shell-BSKClwid.js +1 -0
  233. package/dist/assets/sieve-CcvsXPZo.js +1 -0
  234. package/dist/assets/simple-mode-B79cVo-x.js +1 -0
  235. package/dist/assets/sizeCapture-INFHLROL-XURNLuv_.js +1 -0
  236. package/dist/assets/skeleton-BxD7FB8M.js +1 -0
  237. package/dist/assets/smalltalk-Cmg-4mjQ.js +1 -0
  238. package/dist/assets/solr-Dj8ahEwG.js +1 -0
  239. package/dist/assets/sparql-LAJYmgfk.js +1 -0
  240. package/dist/assets/spreadsheet-B8doD_pL.js +1 -0
  241. package/dist/assets/sql-C3kWxFGw.js +1 -0
  242. package/dist/assets/src-Bssc388C.js +1 -0
  243. package/dist/assets/stateDiagram-D77RDMKH-Ce0Wj7yz.js +1 -0
  244. package/dist/assets/stateDiagram-v2-MP3YSRHH-CREL-f_f.js +1 -0
  245. package/dist/assets/stex-CW6K5Nmu.js +1 -0
  246. package/dist/assets/stylus-BS-Ienrc.js +1 -0
  247. package/dist/assets/swift-BD82LMDK.js +1 -0
  248. package/dist/assets/swimlanes-42K2YHIH-CX7zPtNU.js +1 -0
  249. package/dist/assets/swimlanesDiagram-VR7AAH4N-B22pD4D6.js +8 -0
  250. package/dist/assets/tabs-Dqn3cNzC.js +1 -0
  251. package/dist/assets/tcl-RZa1cqc-.js +1 -0
  252. package/dist/assets/textile-C-BY_OGF.js +1 -0
  253. package/dist/assets/tiddlywiki-C9bm_Oju.js +1 -0
  254. package/dist/assets/tiki-DJOT-rFT.js +1 -0
  255. package/dist/assets/timeline-definition-24CTP7MA-Bw21rjHm.js +120 -0
  256. package/dist/assets/toml-Civ2fTsu.js +1 -0
  257. package/dist/assets/treeView-Q6P3EWNA-CzxfDhvq.js +1 -0
  258. package/dist/assets/treemap-WGGIJYW6-DNWYF4zd.js +1 -0
  259. package/dist/assets/triangle-alert-DOta-xfM.js +1 -0
  260. package/dist/assets/troff-Lns35Xcq.js +1 -0
  261. package/dist/assets/ttcn-7vlxVTUK.js +1 -0
  262. package/dist/assets/ttcn-cfg-B8qhhp6o.js +1 -0
  263. package/dist/assets/turtle-DTIS1YQ7.js +1 -0
  264. package/dist/assets/use-adapter-capabilities-0-4PhK9y.js +1 -0
  265. package/dist/assets/useHiddenSettings-D9d6LOsg.js +1 -0
  266. package/dist/assets/vb-BO8UacKu.js +1 -0
  267. package/dist/assets/vbscript-DWLru3lT.js +1 -0
  268. package/dist/assets/velocity-BIIn-Nl2.js +1 -0
  269. package/dist/assets/vennDiagram-4TSXK5OY-BuncstTm.js +34 -0
  270. package/dist/assets/verilog-BVYlmXGg.js +1 -0
  271. package/dist/assets/vhdl-Cn8cC8Yb.js +1 -0
  272. package/dist/assets/wardley-WFR3VGLG-C18JBEVS.js +1 -0
  273. package/dist/assets/wardleyDiagram-VM6X3IG4-DOHY7xcd.js +78 -0
  274. package/dist/assets/webidl-ChvzbZ5-.js +1 -0
  275. package/dist/assets/xquery-BKN7qEbU.js +1 -0
  276. package/dist/assets/xychartDiagram-S5SC5T6Z-qOWxoNte.js +7 -0
  277. package/dist/assets/yacas-BG9ha7tU.js +1 -0
  278. package/dist/assets/z80-CB2cGLew.js +1 -0
  279. package/dist/assets/zap-gf6Ev631.js +41 -0
  280. package/dist/brands/adapters/LICENSE +21 -0
  281. package/dist/brands/adapters/README.md +7 -0
  282. package/dist/brands/adapters/cursor-dark.svg +1 -0
  283. package/dist/brands/adapters/cursor.svg +1 -0
  284. package/dist/brands/adapters/gemini-color.svg +1 -0
  285. package/dist/brands/adapters/grok-dark.svg +1 -0
  286. package/dist/brands/adapters/grok.svg +1 -0
  287. package/dist/brands/adapters/hermesagent-dark.svg +1 -0
  288. package/dist/brands/adapters/hermesagent.svg +1 -0
  289. package/dist/brands/adapters/kimi-color-light.svg +1 -0
  290. package/dist/brands/adapters/kimi-color.svg +1 -0
  291. package/dist/brands/adapters/pi-dark.svg +1 -0
  292. package/dist/brands/adapters/pi.svg +1 -0
  293. package/dist/brands/apps/LOBE-LICENSE +21 -0
  294. package/dist/brands/apps/agentmail-dark.svg +16 -0
  295. package/dist/brands/apps/agentmail.svg +17 -0
  296. package/dist/brands/apps/airtable.svg +1 -0
  297. package/dist/brands/apps/anthropic-dark.svg +1 -0
  298. package/dist/brands/apps/anthropic.svg +1 -0
  299. package/dist/brands/apps/api-key-generic.svg +1 -0
  300. package/dist/brands/apps/arcade.png +0 -0
  301. package/dist/brands/apps/asana.svg +12 -0
  302. package/dist/brands/apps/beehiiv.png +0 -0
  303. package/dist/brands/apps/bitly.svg +1 -0
  304. package/dist/brands/apps/box.svg +1 -0
  305. package/dist/brands/apps/brex-dark.svg +1 -0
  306. package/dist/brands/apps/brex.svg +1 -0
  307. package/dist/brands/apps/candid.png +0 -0
  308. package/dist/brands/apps/clickhouse-dark.svg +1 -0
  309. package/dist/brands/apps/clickhouse.svg +1 -0
  310. package/dist/brands/apps/cloudflare.svg +1 -0
  311. package/dist/brands/apps/cloudinary-dark.svg +1 -0
  312. package/dist/brands/apps/cloudinary.svg +3 -0
  313. package/dist/brands/apps/coda.svg +1 -0
  314. package/dist/brands/apps/composio-dark.svg +11 -0
  315. package/dist/brands/apps/composio.svg +16 -0
  316. package/dist/brands/apps/context7-dark.svg +8 -0
  317. package/dist/brands/apps/context7.svg +8 -0
  318. package/dist/brands/apps/discord-dark.svg +1 -0
  319. package/dist/brands/apps/discord.svg +1 -0
  320. package/dist/brands/apps/egnyte.svg +1 -0
  321. package/dist/brands/apps/embat.svg +1 -0
  322. package/dist/brands/apps/executor.png +0 -0
  323. package/dist/brands/apps/fireflies.svg +76 -0
  324. package/dist/brands/apps/github-dark.svg +10 -0
  325. package/dist/brands/apps/github.svg +10 -0
  326. package/dist/brands/apps/gmail.svg +1 -0
  327. package/dist/brands/apps/google-calendar.svg +1 -0
  328. package/dist/brands/apps/google-chat.svg +1 -0
  329. package/dist/brands/apps/google-docs.svg +1 -0
  330. package/dist/brands/apps/google-drive.svg +1 -0
  331. package/dist/brands/apps/google-people.svg +1 -0
  332. package/dist/brands/apps/google-sheets.svg +1 -0
  333. package/dist/brands/apps/google-slides.svg +1 -0
  334. package/dist/brands/apps/google-workspace-search.svg +1 -0
  335. package/dist/brands/apps/hugging-face.svg +8 -0
  336. package/dist/brands/apps/imessage-photon.png +0 -0
  337. package/dist/brands/apps/jam-dev-dark.svg +1 -0
  338. package/dist/brands/apps/jam-dev.svg +1 -0
  339. package/dist/brands/apps/jira-dark.svg +1 -0
  340. package/dist/brands/apps/jira.svg +4 -0
  341. package/dist/brands/apps/kernel.svg +3 -0
  342. package/dist/brands/apps/linear-dark.svg +5 -0
  343. package/dist/brands/apps/linear.svg +5 -0
  344. package/dist/brands/apps/local-falcon.png +0 -0
  345. package/dist/brands/apps/make-dark.svg +1 -0
  346. package/dist/brands/apps/make.svg +1 -0
  347. package/dist/brands/apps/manifest.json +496 -0
  348. package/dist/brands/apps/manufact-dark.svg +6 -0
  349. package/dist/brands/apps/manufact.svg +5 -0
  350. package/dist/brands/apps/mem0.svg +1 -0
  351. package/dist/brands/apps/microsoft-teams.svg +68 -0
  352. package/dist/brands/apps/miro-dark.svg +1 -0
  353. package/dist/brands/apps/miro.svg +4 -0
  354. package/dist/brands/apps/mixpanel-dark.svg +1 -0
  355. package/dist/brands/apps/mixpanel.svg +1 -0
  356. package/dist/brands/apps/netlify-dark.svg +1 -0
  357. package/dist/brands/apps/netlify.svg +16 -0
  358. package/dist/brands/apps/notion-dark.svg +1 -0
  359. package/dist/brands/apps/notion.svg +1 -0
  360. package/dist/brands/apps/oauth-generic.svg +1 -0
  361. package/dist/brands/apps/openai-dark.svg +1 -0
  362. package/dist/brands/apps/openai.svg +1 -0
  363. package/dist/brands/apps/openrouter-dark.svg +3 -0
  364. package/dist/brands/apps/openrouter.svg +3 -0
  365. package/dist/brands/apps/oreilly.svg +1 -0
  366. package/dist/brands/apps/pagerduty.svg +4 -0
  367. package/dist/brands/apps/planetscale-dark.svg +1 -0
  368. package/dist/brands/apps/planetscale.svg +1 -0
  369. package/dist/brands/apps/posthog-dark.svg +1 -0
  370. package/dist/brands/apps/posthog.svg +1 -0
  371. package/dist/brands/apps/postman.svg +1 -0
  372. package/dist/brands/apps/railway-dark.svg +1 -0
  373. package/dist/brands/apps/railway.svg +1 -0
  374. package/dist/brands/apps/razorpay-dark.svg +1 -0
  375. package/dist/brands/apps/razorpay.svg +1 -0
  376. package/dist/brands/apps/resend-dark.svg +1 -0
  377. package/dist/brands/apps/resend.svg +1 -0
  378. package/dist/brands/apps/sanity-dark.svg +1 -0
  379. package/dist/brands/apps/sanity.svg +1 -0
  380. package/dist/brands/apps/sentry-dark.svg +1 -0
  381. package/dist/brands/apps/sentry.svg +1 -0
  382. package/dist/brands/apps/shopify.svg +24 -0
  383. package/dist/brands/apps/similarweb-dark.svg +1 -0
  384. package/dist/brands/apps/similarweb.svg +1 -0
  385. package/dist/brands/apps/slack.png +0 -0
  386. package/dist/brands/apps/slack.svg +17 -0
  387. package/dist/brands/apps/stripe.svg +11 -0
  388. package/dist/brands/apps/supabase.svg +15 -0
  389. package/dist/brands/apps/telegram.svg +12 -0
  390. package/dist/brands/apps/ticket-tailor-dark.svg +1 -0
  391. package/dist/brands/apps/ticket-tailor.svg +1 -0
  392. package/dist/brands/apps/ticktick.svg +1 -0
  393. package/dist/brands/apps/todoist.svg +1 -0
  394. package/dist/brands/apps/vercel-dark.svg +1 -0
  395. package/dist/brands/apps/vercel.svg +1 -0
  396. package/dist/brands/apps/webflow.svg +1 -0
  397. package/dist/brands/apps/wix-dark.svg +12 -0
  398. package/dist/brands/apps/wix.svg +12 -0
  399. package/dist/brands/apps/xai-dark.svg +1 -0
  400. package/dist/brands/apps/xai.svg +1 -0
  401. package/dist/brands/apps/xero.svg +1 -0
  402. package/dist/brands/apps/youcom-dark.svg +13 -0
  403. package/dist/brands/apps/youcom.svg +13 -0
  404. package/dist/brands/apps/zapier.svg +1 -0
  405. package/dist/brands/claude-color.svg +17 -0
  406. package/dist/brands/codex-color.svg +17 -0
  407. package/dist/brands/opencode-logo-dark-square.svg +18 -0
  408. package/dist/brands/opencode-logo-light-square.svg +18 -0
  409. package/dist/favicon-16x16.png +0 -0
  410. package/dist/favicon-32x32.png +0 -0
  411. package/dist/favicon.ico +0 -0
  412. package/dist/favicon.svg +9 -0
  413. package/dist/fonts/InterVariable-Italic.woff2 +0 -0
  414. package/dist/fonts/InterVariable.woff2 +0 -0
  415. package/dist/fonts/NOTICE.md +17 -0
  416. package/dist/index.html +97 -0
  417. package/dist/paperclip-thinking.svg +17 -0
  418. package/dist/site.webmanifest +30 -0
  419. package/dist/sw.js +85 -0
  420. package/dist/worktree-favicon-16x16.png +0 -0
  421. package/dist/worktree-favicon-32x32.png +0 -0
  422. package/dist/worktree-favicon.ico +0 -0
  423. package/dist/worktree-favicon.svg +9 -0
  424. package/package.json +22 -0
@@ -0,0 +1 @@
1
+ var Ir=Object.defineProperty;var N=(t,e)=>Ir(t,"name",{value:e,configurable:!0});import{n as l}from"./chunk-Y2CYZVJY-OvsAdhaO.js";import{m as Mn}from"./src-Bssc388C.js";import"./chunk-DU6HZSFF-2P5iNHqg.js";import"./chunk-75Z2AOVW-BaPl5WA6.js";import"./chunk-PWAF6VOD-CR3rNBNB.js";import"./chunk-GMAD6QVW-BfvaaEBW.js";import"./chunk-P2QGCYS3-CjqEi3mx.js";import"./chunk-4HAMMTFA-CGGd_Pxz.js";import"./chunk-GVQU2GXP-Cwp_Wpj2.js";import{o as Eo}from"./chunk-OSK3NFVY-DlrxddG-.js";import"./chunk-L3NEJ4N5-JUd1UqX1.js";import{a as Sr}from"./mermaid.core-G_BSi0G0.js";var wo=5,Xe=1e-5,Ye=1e-6;function Ue(t){const e=[];for(let n=0;n<t.length-1;n++)e.push({a:t[n],b:t[n+1]});return e}N(Ue,"buildSegmentList");l(Ue,"buildSegmentList");function Po(t,e,n,o){const s=e.x-t.x,r=e.y-t.y,c=o.x-n.x,a=o.y-n.y,d=s*a-r*c;if(d===0)return null;const i=n.x-t.x,g=n.y-t.y,b=(i*a-g*c)/d,M=(i*r-g*s)/d;return b<=Ye||b>=1-Ye||M<=Ye||M>=1-Ye?null:{point:{x:t.x+b*s,y:t.y+b*r},tA:b,tB:M}}N(Po,"segmentIntersection");l(Po,"segmentIntersection");function In(t){return Math.abs(t.b.x-t.a.x)>=Math.abs(t.b.y-t.a.y)}N(In,"isHorizontalSeg");l(In,"isHorizontalSeg");function Bo(t){const e=[];for(let n=0;n<t.length;n++){const o=t[n],s=Ue(o.points);for(let r=n+1;r<t.length;r++){const c=t[r],a=Ue(c.points);for(const[d,i]of s.entries())for(const[g,b]of a.entries()){const M=Po(i.a,i.b,b.a,b.b);if(!M)continue;const h=In(i);h!==In(b)&&h?e.push({jumpEdgeId:o.id,otherEdgeId:c.id,segIndex:d,t:M.tA,point:M.point}):e.push({jumpEdgeId:c.id,otherEdgeId:o.id,segIndex:g,t:M.tB,point:M.point})}}}return e}N(Bo,"findEdgeIntersections");l(Bo,"findEdgeIntersections");function ee(t){const e=Math.round(t*1e3)/1e3;return Number.isInteger(e)?`${e}`:`${e}`}N(ee,"fmt");l(ee,"fmt");function we(t){return`${ee(t.x)},${ee(t.y)}`}N(we,"pointToString");l(we,"pointToString");function ko(t){const e=t.b.x-t.a.x,n=t.b.y-t.a.y;return Math.abs(e)>=Math.abs(n)?e>=0?1:0:n>=0?1:0}N(ko,"getArcSweepFlag");l(ko,"getArcSweepFlag");var Cr=.001;function Fo(t,e){if(t.length<2)return t.map(r=>({...r}));const n=t.map(r=>({...r})),o=e.arrowTypeStart&&Eo[e.arrowTypeStart];if(o){const r=t[0],c=t[1],a=Math.atan2(c.y-r.y,c.x-r.x);n[0].x=r.x+o*Math.cos(a),n[0].y=r.y+o*Math.sin(a)}const s=e.arrowTypeEnd&&Eo[e.arrowTypeEnd];if(s){const r=t.length,c=t[r-2],a=t[r-1],d=Math.atan2(a.y-c.y,a.x-c.x);n[r-1].x=a.x-s*Math.cos(d),n[r-1].y=a.y-s*Math.sin(d)}return n}N(Fo,"applyMarkerOffsets");l(Fo,"applyMarkerOffsets");function _o(t,e,n,o,s){const r=t.point.x,c=t.point.y,a={x:r-e*t.r,y:c-n*t.r},d={x:r+e*t.r,y:c+n*t.r},i=[`L${we(a)}`];return s==="arc"?i.push(`A${ee(t.r)},${ee(t.r)} 0 0 ${o} ${we(d)}`):i.push(`M${we(d)}`),i}N(_o,"emitJump");l(_o,"emitJump");function Sn(t,e,n,o){const s=e.x-t.x,r=e.y-t.y,c=n.x-e.x,a=n.y-e.y,d=Math.hypot(s,r),i=Math.hypot(c,a);if(d<Xe||i<Xe)return null;const g=s/d,b=r/d,M=c/i,h=a/i,p=g*M+b*h,f=Math.acos(Math.max(-1,Math.min(1,p)));if(f<Xe||Math.abs(Math.PI-f)<Xe)return null;const x=Math.min(o/Math.sin(f/2),d/2,i/2);return{startX:e.x-g*x,startY:e.y-b*x,endX:e.x+M*x,endY:e.y+h*x,ctrlX:e.x,ctrlY:e.y,cutLen:x}}N(Sn,"computeRoundedCorner");l(Sn,"computeRoundedCorner");function Do(t,e,n){const o=t.points;if(o.length<2)return"";const s=Fo(o,t),r=t.curve==="rounded",c=Ue(s),a=new Map;for(const i of e){const g=c[i.segIndex];if(!g)continue;const b=Math.hypot(g.b.x-g.a.x,g.b.y-g.a.y),M=a.get(i.segIndex)??[];M.push({t:i.t,point:i.point,d:i.t*b,r:n.jumpRadius}),a.set(i.segIndex,M)}const d=[`M${we(s[0])}`];for(let i=0;i<c.length;i++){const g=c[i],b=Math.hypot(g.b.x-g.a.x,g.b.y-g.a.y),M=b===0?0:(g.b.x-g.a.x)/b,h=b===0?0:(g.b.y-g.a.y)/b,p=ko(g);let f=0;if(r&&i>0){const w=Sn(s[i-1],s[i],s[i+1]??s[i],wo);w&&(f=w.cutLen)}let x=b,E=null;r&&i<c.length-1&&(E=Sn(s[i],s[i+1],s[i+2]??s[i+1],wo),E&&(x=b-E.cutLen));const S=[...a.get(i)??[]].sort((w,v)=>w.t-v.t);for(const w of S)w.r=Math.min(w.r,w.d-f,x-w.d);for(let w=0;w<S.length-1;w++){const v=S[w+1].d-S[w].d;if(S[w].r+S[w+1].r>v){const m=v/2;S[w].r=Math.min(S[w].r,m),S[w+1].r=Math.min(S[w+1].r,m)}}for(const w of S)w.r<Cr||d.push(..._o(w,M,h,p,n.jumpStyle));r&&E?(d.push(`L${ee(E.startX)},${ee(E.startY)}`),d.push(`Q${ee(E.ctrlX)},${ee(E.ctrlY)} ${ee(E.endX)},${ee(E.endY)}`)):d.push(`L${we(g.b)}`)}return d.join(" ")}N(Do,"rewriteEdgePath");l(Do,"rewriteEdgePath");function Ho(t){return/^[\d\s+,.LMelm-]*$/.test(t)}N(Ho,"isStraightPath");l(Ho,"isStraightPath");function Xo(t){return t?t==="linear"||t==="rounded"||t==="step"||t==="stepBefore"||t==="stepAfter":!0}N(Xo,"curveSupportsLineHops");l(Xo,"curveSupportsLineHops");function Yo(t){if(!t)return null;try{const e=typeof atob=="function"?atob(t):Buffer.from(t,"base64").toString(),n=JSON.parse(e);if(!Array.isArray(n))return null;const o=[];for(const s of n)s&&typeof s.x=="number"&&typeof s.y=="number"&&o.push({x:s.x,y:s.y});return o.length>=2?o:null}catch{return null}}N(Yo,"decodeDataPoints");l(Yo,"decodeDataPoints");function Go(t,e,n){if(!n.enabled)return;const o=t.node();if(!o)return;const s=new Map;for(const i of e)s.set(i.id,i);const r=[],c=new Map;for(const i of e){const g=typeof CSS<"u"&&CSS.escape?CSS.escape(i.id):i.id,b=o.querySelector(`path[data-id="${g}"]`);if(!b)continue;c.set(i.id,b);const M=Yo(b.getAttribute("data-points"))??i.points;r.push({...i,points:M})}const a=Bo(r);if(a.length===0)return;const d=new Map;for(const i of a){const g=d.get(i.jumpEdgeId)??[];g.push(i),d.set(i.jumpEdgeId,g)}for(const i of r){const g=d.get(i.id);if(!g||g.length===0)continue;const b=s.get(i.id)?.curve;if(b!==void 0&&!Xo(b))continue;const M=c.get(i.id);if(!M||b===void 0&&!Ho(M.getAttribute("d")??""))continue;const h=M.getAttribute("style")??"",p=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(h),f=p?Number.parseFloat(p[1]):null,x=p?Number.parseFloat(p[2]):null,E=Do(i,g,n);if(M.setAttribute("d",E),f!==null&&x!==null&&typeof M.getTotalLength=="function"){const S=M.getTotalLength(),w=`0 ${f} ${Math.max(0,S-f-x)} ${x}`,v=h.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${w};`).replace(/;\s*;+/g,";");M.setAttribute("style",v)}}}N(Go,"applyLineJumpsToSvg");l(Go,"applyLineJumpsToSvg");function $o(t,{measure:e}){const n=t.config?.swimlane?.lineHops;if(n===!1)return;const o=n==="gap"?"gap":"arc",s=t.edges.filter(r=>Array.isArray(r.points)&&r.points.length>=2).map(r=>({id:r.id,points:r.points,curve:r.curve,arrowTypeStart:r.arrowTypeStart,arrowTypeEnd:r.arrowTypeEnd}));Go(e.groups.edgePaths,s,{enabled:!0,jumpRadius:6,jumpStyle:o})}N($o,"applySwimlaneLineJumps");l($o,"applySwimlaneLineJumps");var mn="__swimlane_default__",Lr=21,Ao=20;function Cn(t){return Math.max(t.padding??Ao,Ao)}N(Cn,"topLaneHorizontalPadding");l(Cn,"topLaneHorizontalPadding");function zo(t){const{x:e,y:n,width:o,height:s}=t,r=t.swimlaneContentTop;if(typeof e!="number"||typeof n!="number"||typeof o!="number"||typeof s!="number"||typeof r!="number"||!Number.isFinite(e)||!Number.isFinite(n)||!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(r)||o<=0||s<=0){delete t.groupTitleRect;return}const c=n-s/2,a=Math.min(r,n+s/2),d=c+Math.min(Lr,Math.max(0,a-c));if(d<=c){delete t.groupTitleRect;return}t.groupTitleRect={left:e-o/2,right:e+o/2,top:c,bottom:d}}N(zo,"assignTopLaneTitleRect");l(zo,"assignTopLaneTitleRect");function Vo(t){const e=t.direction,n=t.nodes??=[];for(const r of t.nodes??[])r.isGroup&&!r.parentId&&(r.shape="swimlane",e&&(r.direction=e));const o=n.filter(r=>!r.isGroup&&!r.parentId);if(o.length===0)return;let s=n.find(r=>r.id===mn);s?s.isGroup&&(s.shape="swimlane",e&&(s.direction=e)):(s={id:mn,label:"",isGroup:!0,shape:"swimlane",padding:20,...e?{direction:e}:{}},n.push(s));for(const r of o)r.parentId=mn}N(Vo,"prepareLayoutForSwimlanes");l(Vo,"prepareLayoutForSwimlanes");function jo(t){const e=new Map;for(const c of t.nodes??[])e.set(c.id,c);const n=[];for(const c of t.edges??[]){const a=typeof c.start=="string"?c.start:void 0,d=typeof c.end=="string"?c.end:void 0;!a||!d||c.labelNodeId||n.push({id:c.id,src:a,dst:d,ref:c})}const o=t.nodes??[],s=o.filter(c=>c.isGroup),r=o.filter(c=>!c.isGroup);return{nodes:[...[...s].reverse(),...r].map(c=>c.id),edges:n,layout:t,nodeById:e}}N(jo,"toGraphView");l(jo,"toGraphView");function Uo(t,e,n,o){const{layout:s}=t,r=t.nodeById,c=o?.layerGap??100,a=o?.nodeGap??40;let d=0;for(const M of e.layers){let h=0;for(const p of M){const f=r.get(p);if(!f){h++;continue}f.layer=d,f.order=h;const x=n.x[p]??h*a,E=n.y[p]??d*c;f.x=x,f.y=E,h++}d++}const i=s.nodes??[],g=new Map,b=[];for(const M of i){if(!M?.isGroup)continue;M.parentId||b.push(M);const h=i.filter(S=>S.parentId===M.id);let p=1/0,f=-1/0,x=1/0,E=-1/0;for(const S of h){const w=S.x??n.x[S.id],v=S.y??n.y[S.id],m=S.width??0,I=S.height??0;w!=null&&v!=null&&(p=Math.min(p,w-m/2),f=Math.max(f,w+m/2),x=Math.min(x,v-I/2),E=Math.max(E,v+I/2))}if(p===1/0||x===1/0)M.x=M.x??0,M.y=M.y??0,M.width=M.width??0,M.height=M.height??0;else{const S=M.padding??20,w=M.parentId?S:2*Cn(M),v=S,m=Math.max(0,f-p)+w,I=Math.max(0,E-x)+v,T=(p+f)/2,P=(x+E)/2;M.x=T,M.y=P,M.width=m,M.height=I,g.set(M.id,{minX:p,maxX:f,minY:x,maxY:E})}}if(b.length>0&&g.size>0){let M=1/0,h=-1/0,p=0;for(const f of b){const x=f.padding??20;x>p&&(p=x);const E=g.get(f.id);E&&(M=Math.min(M,E.minY),h=Math.max(h,E.maxY))}if(M!==1/0&&h!==-1/0){const f=Math.max(0,h-M)+2*Math.max(p,36),x=(M+h)/2;for(const I of b)I.y=x,I.height=f,I.swimlaneContentTop=M;const E=[...b].sort((I,T)=>(I.x??0)-(T.x??0)),S=[],w=[],v=[];for(const I of E){const T=g.get(I.id);if(!T)continue;const P=Math.max(0,T.maxX-T.minX)+2*Cn(I),O=(T.minX+T.maxX)/2;S.push(I.id),w.push(O),v.push(P)}const m=S.length;if(m>0){const I=new Map;if(m===1)I.set(S[0],v[0]);else{const T=[];for(let F=0;F<m-1;F++)T.push(w[F+1]-w[F]);const P=new Array(m);P[0]=0;for(let F=0;F<m-1;F++)P[F+1]=2*T[F]-P[F];let O=0,R=Number.POSITIVE_INFINITY;for(let F=0;F<m;F++){const Y=v[F];F%2===0?O=Math.max(O,Y-P[F]):R=Math.min(R,P[F]-Y)}let _=O;O<=R?_=(O+R)/2:_=O;for(let F=0;F<m;F++){const Y=P[F]+(F%2===0?_:-_),J=Math.max(v[F],Y);I.set(S[F],J)}}for(const T of b){const P=I.get(T.id);P!=null&&(T.width=P),zo(T)}}}}}N(Uo,"writeBackToLayoutData");l(Uo,"writeBackToLayoutData");var vr="[EdgeLabelNodes]";function Wo(t){const e=[],n=[],o=new Map;for(const c of t.nodes)o.set(c.id,c);for(const c of t.edges){if(!c.label||c.label.length===0||c.isLayoutOnly||c.labelNodeId)continue;const a=c.start?o.get(c.start):void 0,d=c.end?o.get(c.end):void 0;if(!a||!d){Mn.warn(vr,`Edge ${c.id} has missing source or target node`);continue}const i=`edge-label-${c.start}-${c.end}-${c.id}`,g=a.parentId!==d.parentId?d.parentId:a.parentId,b={id:i,label:c.label,edgeStart:c.start??"",edgeEnd:c.end??"",shape:"labelRect",width:0,height:0,isEdgeLabel:!0,isDummy:!0,parentId:g,isGroup:!1,labelStyle:Array.isArray(c.labelStyle)?c.labelStyle[0]:c.labelStyle??"",...a.dir?{dir:a.dir}:{}};e.push(b),c.labelNodeId=i,c.label=void 0,c.text=void 0;const M={id:`${c.id}-to-label`,start:c.start,end:i,type:"normal",isLayoutOnly:!0},h={id:`${c.id}-from-label`,start:i,end:c.end,type:"normal",isLayoutOnly:!0};n.push(M,h)}const s=[...t.nodes,...e],r=[...t.edges,...n];return{...t,nodes:s,edges:r}}N(Wo,"createEdgeLabelNodes");l(Wo,"createEdgeLabelNodes");var _t=.001;function to(t){const e=t.x??0,n=t.y??0,o=t.width??0,s=t.height??0;return o>0&&s>0?{cx:e,cy:n,rect:Ae(e,n,o,s)}:void 0}N(to,"measuredNodeRect");l(to,"measuredNodeRect");function eo(t){if(t.isGroup)return;const e=to(t);if(e)return{id:String(t.id??""),cx:e.cx,cy:e.cy,rect:e.rect}}N(eo,"nodeBoundsInfoFor");l(eo,"nodeBoundsInfoFor");function Qt(t,e,n=_t){return Math.abs(t.x-e.x)<n&&Math.abs(t.y-e.y)<n}N(Qt,"samePoint");l(Qt,"samePoint");function dt(t,e,n=_t){return Math.abs(t.x-e.x)<n}N(dt,"sameX");l(dt,"sameX");function ut(t,e,n=_t){return Math.abs(t.y-e.y)<n}N(ut,"sameY");l(ut,"sameY");function Et(t,e,n=_t){return ut(t,e,n)&&Math.abs(t.x-e.x)>n}N(Et,"isHorizontalSegment");l(Et,"isHorizontalSegment");function wt(t,e,n=_t){return dt(t,e,n)&&Math.abs(t.y-e.y)>n}N(wt,"isVerticalSegment");l(wt,"isVerticalSegment");function $t(t,e,n,o){return Math.max(0,Math.min(Math.max(t,e),Math.max(n,o))-Math.max(Math.min(t,e),Math.min(n,o)))}N($t,"overlapLength");l($t,"overlapLength");function oe(t,e,n=_t){return t.horizontal&&e.horizontal&&ut(t.a,e.a,n)?$t(t.a.x,t.b.x,e.a.x,e.b.x):t.vertical&&e.vertical&&dt(t.a,e.a,n)?$t(t.a.y,t.b.y,e.a.y,e.b.y):0}N(oe,"sameAxisSegmentOverlapLength");l(oe,"sameAxisSegmentOverlapLength");function Te(t,e=_t){const n=[];for(let o=0;o<t.length-1;o++){const s=t[o],r=t[o+1],c=Et(s,r,e),a=wt(s,r,e);(c||a)&&n.push({index:o,a:s,b:r,horizontal:c,vertical:a})}return n}N(Te,"orthogonalSegmentsForPoints");l(Te,"orthogonalSegmentsForPoints");function qt(t,e=_t){const n=Te(t,e);let o=0;for(let s=1;s<n.length;s++)n[s-1].horizontal!==n[s].horizontal&&o++;return o}N(qt,"countOrthogonalBends");l(qt,"countOrthogonalBends");function pt(t,e=_t){const n=[];for(const o of t){const s=n.length>0?n[n.length-1]:void 0;(!s||!Qt(s,o,e))&&n.push({x:o.x,y:o.y})}return n}N(pt,"dedupeConsecutivePoints");l(pt,"dedupeConsecutivePoints");function no(t,e=_t){if(!t||t.length!==4)return;const[n,o,s,r]=t;return Et(n,o,e)&&wt(o,s,e)&&Et(s,r,e)?{kind:"HVH",p0:n,p1:o,p2:s,p3:r}:wt(n,o,e)&&Et(o,s,e)&&wt(s,r,e)?{kind:"VHV",p0:n,p1:o,p2:s,p3:r}:void 0}N(no,"classifyThreeSegmentRoute");l(no,"classifyThreeSegmentRoute");function on(t,e,n,o=0){const s=Math.min(t.x,e.x),r=Math.max(t.x,e.x),c=Math.min(t.y,e.y),a=Math.max(t.y,e.y);return r>n.left-o&&s<n.right+o&&a>n.top-o&&c<n.bottom+o}N(on,"segmentBoundsOverlapRect");l(on,"segmentBoundsOverlapRect");function oo(t,e,n=0){return t.x>e.left+n&&t.x<e.right-n&&t.y>e.top+n&&t.y<e.bottom-n}N(oo,"pointInsideRect");l(oo,"pointInsideRect");function Ko(t,e){return t.left<=e.left&&t.right>=e.right&&t.top<=e.top&&t.bottom>=e.bottom}N(Ko,"rectContainsRect");l(Ko,"rectContainsRect");function We(t,e){return t.left<e.right&&t.right>e.left&&t.top<e.bottom&&t.bottom>e.top}N(We,"rectsOverlap");l(We,"rectsOverlap");function Ln(t,e){return{left:t.left-e,right:t.right+e,top:t.top-e,bottom:t.bottom+e}}N(Ln,"inflateRect");l(Ln,"inflateRect");function Ae(t,e,n,o){return{left:t-n/2,right:t+n/2,top:e-o/2,bottom:e+o/2}}N(Ae,"rectFromCenterSize");l(Ae,"rectFromCenterSize");function jt(t){return to(t)?.rect}N(jt,"rectOfNodeBounds");l(jt,"rectOfNodeBounds");function Ie(t,e){switch(e){case"top":return{x:t.cx,y:t.rect.top};case"bottom":return{x:t.cx,y:t.rect.bottom};case"left":return{x:t.rect.left,y:t.cy};case"right":return{x:t.rect.right,y:t.cy}}}N(Ie,"portForRectSide");l(Ie,"portForRectSide");function so(t,e,n,o,s,r=_t){const c=e==="left"||e==="right",a=o==="left"||o==="right";if(c&&a){if(e==="right"&&o==="left"&&t.x<n.x||e==="left"&&o==="right"&&t.x>n.x){if(ut(t,n,r))return[t,n];const g=(t.x+n.x)/2;return[t,{x:g,y:t.y},{x:g,y:n.y},n]}if(e===o){if(ut(t,n,r))return;const g=e==="left"?Math.min(t.x,n.x)-s:Math.max(t.x,n.x)+s;return[t,{x:g,y:t.y},{x:g,y:n.y},n]}return}if(!c&&!a){if(e===o){if(dt(t,n,r))return;const b=e==="top"?Math.min(t.y,n.y)-s:Math.max(t.y,n.y)+s;return[t,{x:t.x,y:b},{x:n.x,y:b},n]}if(!(e==="bottom"&&o==="top"&&t.y<n.y||e==="top"&&o==="bottom"&&t.y>n.y))return;if(dt(t,n,r))return[t,n];const g=(t.y+n.y)/2;return[t,{x:t.x,y:g},{x:n.x,y:g},n]}if(c&&!a){const g=e==="right"&&n.x>t.x||e==="left"&&n.x<t.x,b=o==="top"&&t.y<n.y||o==="bottom"&&t.y>n.y;return g&&b?[t,{x:n.x,y:t.y},n]:void 0}const d=e==="bottom"&&n.y>t.y||e==="top"&&n.y<t.y,i=o==="left"&&t.x<n.x||o==="right"&&t.x>n.x;return d&&i?[t,{x:t.x,y:n.y},n]:void 0}N(so,"buildOrthogonalPortPath");l(so,"buildOrthogonalPortPath");function ro(t,e,n,o){return e==="left"||e==="right"?[t,{x:o,y:t.y},{x:o,y:n.y},n]:[t,{x:t.x,y:o},{x:n.x,y:o},n]}N(ro,"buildSameSideTrackPath");l(ro,"buildSameSideTrackPath");function sn(t){const e=new Map,n=[];for(const o of t){if(o.isEdgeLabel)continue;const s=eo(o);s&&(e.set(s.id,s),n.push({id:s.id,rect:s.rect}))}return{nodeInfoById:e,realNodeRects:n}}N(sn,"collectRealNodeBounds");l(sn,"collectRealNodeBounds");function me(t){const e=[],n=[];for(const o of t){const s=eo(o);if(!s)continue;const r={id:s.id,rect:s.rect};o.isEdgeLabel?n.push(r):e.push(r)}return{realNodeRects:e,labelNodeRects:n}}N(me,"collectNodeRectEntries");l(me,"collectNodeRectEntries");function qo(t,{includeEdgeLabels:e=!0}={}){const n=[];for(const o of t){if(o.isGroup||!e&&o.isEdgeLabel)continue;const s=o.x??0,r=o.y??0,c=o.width??0,a=o.height??0;n.push({nodeId:o.id,...Ae(s,r,c,a)})}return n}N(qo,"collectLayoutNodeRects");l(qo,"collectLayoutNodeRects");function io(t,e,n=_t){const o=t.start,s=t.end;if(!o||!s)return;const r=e.get(o),c=e.get(s);if(!(!r||!c))return{srcId:o,dstId:s,srcInfo:r,dstInfo:c,collinearX:Math.abs(r.cx-c.cx)<n,collinearY:Math.abs(r.cy-c.cy)<n}}N(io,"getNodePairGeometry");l(io,"getNodePairGeometry");function Tt(t,e,n,o=[],s=0){for(const r of n)if(!o.includes(r.id)&&on(t,e,r.rect,-s))return!0;return!1}N(Tt,"segmentHitsAnyRect");l(Tt,"segmentHitsAnyRect");function co(t,e,n,o,s=_t,r=1e-6){const c=ut(t,e,s),a=dt(t,e,s),d=ut(n,o,s),i=dt(n,o,s);if(c&&d||a&&i||!(c||a)||!(d||i))return!1;const g=c?{a:t,b:e}:{a:n,b:o},b=a?{a:t,b:e}:{a:n,b:o},M=g.a.y,h=Math.min(g.a.x,g.b.x),p=Math.max(g.a.x,g.b.x),f=b.a.x,x=Math.min(b.a.y,b.b.y),E=Math.max(b.a.y,b.b.y);if(f<h||f>p||M<x||M>E)return!1;const S=Math.abs(f-g.a.x)<r&&Math.abs(M-g.a.y)<r||Math.abs(f-g.b.x)<r&&Math.abs(M-g.b.y)<r,w=Math.abs(f-b.a.x)<r&&Math.abs(M-b.a.y)<r||Math.abs(f-b.b.x)<r&&Math.abs(M-b.b.y)<r;return!(S&&w)}N(co,"orthogonalSegmentsCross");l(co,"orthogonalSegmentsCross");function Jo(t,e,n,o,s=_t){const r=ut(t,e,s),c=dt(t,e,s),a=ut(n,o,s),d=dt(n,o,s);return c&&d&&dt(t,n,s)?$t(t.y,e.y,n.y,o.y)>s:r&&a&&ut(t,n,s)?$t(t.x,e.x,n.x,o.x)>s:!1}N(Jo,"sameAxisSegmentsOverlap");l(Jo,"sameAxisSegmentsOverlap");function Ke(t,e,n,o,{epsilon:s=_t,skipDegenerateOther:r=!1}={}){for(const c of n){if(c===o||c.isLayoutOnly)continue;const a=c.points;if(!(!a||a.length<2))for(let d=0;d<a.length-1;d++){const i=a[d],g=a[d+1];if(!(r&&Qt(i,g,s))&&(co(t,e,i,g,s)||Jo(t,e,i,g,s)))return!0}}return!1}N(Ke,"segmentConflictsWithAnyEdge");l(Ke,"segmentConflictsWithAnyEdge");function ae(t,e,n,o,s=_t){const r=ut(t,e,s),c=dt(t,e,s),a=ut(n,o,s),d=dt(n,o,s);if(!(r&&d||c&&a))return!1;const i=r?{a:t,b:e}:{a:n,b:o},g=r?{a:n,b:o}:{a:t,b:e},b=i.a.y,M=Math.min(i.a.x,i.b.x),h=Math.max(i.a.x,i.b.x),p=g.a.x,f=Math.min(g.a.y,g.b.y),x=Math.max(g.a.y,g.b.y);return p>M+s&&p<h-s&&b>f+s&&b<x-s}N(ae,"orthogonalSegmentsStrictlyCross");l(ae,"orthogonalSegmentsStrictlyCross");function vn(t,e,n){const o=Math.min(e,n),s=Math.max(e,n);return t>o+_t&&t<s-_t}N(vn,"strictlyBetween");l(vn,"strictlyBetween");function Zo(t,e,n){return dt(t,e)&&dt(e,n)?vn(e.y,t.y,n.y):ut(t,e)&&ut(e,n)?vn(e.x,t.x,n.x):!1}N(Zo,"isCollinearIntermediate");l(Zo,"isCollinearIntermediate");function Qo(t){let e=!1;const n=[];for(let o=0;o<t.length;o++){const s=n[n.length-1],r=t[o],c=o+1<t.length?t[o+1]:void 0;if(s&&c){if(Qt(s,c)){o++,e=!0;continue}if(Zo(s,r,c)){e=!0;continue}}n.push(r)}return{points:n,changed:e}}N(Qo,"simplifyPolylineOnce");l(Qo,"simplifyPolylineOnce");function qe(t){const e=[t[0]];for(let o=1;o<t.length;o++){const s=e[e.length-1],r=t[o];if(!dt(s,r)&&!ut(s,r)){const c=e.length>=2?e[e.length-2]:void 0,a=c&&dt(c,s)?{x:s.x,y:r.y}:{x:r.x,y:s.y};e.push(a)}e.push(r)}const n=[];for(const o of e){const s=n[n.length-1];(!s||!Qt(s,o))&&n.push(o)}return n}N(qe,"orthogonalizePolyline");l(qe,"orthogonalizePolyline");function se(t){if(t.length<3)return t;let e=[...t];for(let n=0;n<32;n++){const o=Qo(e);if(e=o.points,!o.changed)break}return e}N(se,"simplifyPolyline");l(se,"simplifyPolyline");var tt=.001,Er=.5,To=4;function ao(t,e,n){const o=t;if(o.isLayoutOnly||!o.points||o.points.length<n)return;const s=o.start?e.get(o.start):void 0,r=o.end?e.get(o.end):void 0;return{edge:o,points:o.points,srcRect:s?jt(s):void 0,dstRect:r?jt(r):void 0}}N(ao,"endpointContextFor");l(ao,"endpointContextFor");function ts(t,e,n){if(ut(t,e,tt))return{x:t.x<n.left?n.left:n.right,y:t.y};if(dt(t,e,tt)){const o=t.y<n.top?n.top:n.bottom;return{x:t.x,y:o}}return{x:Math.min(n.right,Math.max(n.left,t.x)),y:Math.min(n.bottom,Math.max(n.top,t.y))}}N(ts,"segmentEnterPoint");l(ts,"segmentEnterPoint");function En(t,e,n){const o=n?1:-1;let s=n?0:t.length-1;for(;s>=0&&s<t.length&&oo(t[s],e,Er);)s+=o;if(s<0||s>=t.length)return t;const r=s-o;if(r<0||r>=t.length)return t;const c=ts(t[s],t[r],e);return n?[c,...t.slice(s)]:[...t.slice(0,s+1),c]}N(En,"clipEndpoint");l(En,"clipEndpoint");function es(t,e){for(const n of t){const o=ao(n,e,2);if(!o)continue;let s=[...o.points];o.srcRect&&(s=En(s,o.srcRect,!0)),o.dstRect&&(s=En(s,o.dstRect,!1)),s=se(qe(s)),s=fo(s,o.srcRect,o.dstRect),o.edge.points=se(qe(s))}}N(es,"clipEdgeEndpointsToNodeBoundaries");l(es,"clipEdgeEndpointsToNodeBoundaries");function wn(t,e,n,o=!1){if(ut(t,e,tt)){if(e.y<n.top-tt||e.y>n.bottom+tt)return e;if(o){if(t.x<n.left-tt)return{x:n.left,y:t.y};if(t.x>n.right+tt)return{x:n.right,y:t.y}}return{x:Math.abs(e.x-n.left)<=Math.abs(e.x-n.right)?n.left:n.right,y:t.y}}if(dt(t,e,tt)){if(e.x<n.left-tt||e.x>n.right+tt)return e;if(o){if(t.y<n.top-tt)return{x:t.x,y:n.top};if(t.y>n.bottom+tt)return{x:t.x,y:n.bottom}}const s=Math.abs(e.y-n.top)<=Math.abs(e.y-n.bottom);return{x:t.x,y:s?n.top:n.bottom}}return e}N(wn,"snapEndpointToBoundary");l(wn,"snapEndpointToBoundary");function Je(t,e,n){const o=t[e];for(let s=e+n;s>=0&&s<t.length;s+=n){const r=t[s];if(!Qt(r,o,tt))return r}return t[e+n]}N(Je,"firstDistinctAdjacent");l(Je,"firstDistinctAdjacent");function Ze(t,e){const n=t+To,o=e-To;return n<=o?{lo:n,hi:o}:{lo:(t+e)/2,hi:(t+e)/2}}N(Ze,"cornerClearanceRange");l(Ze,"cornerClearanceRange");function An(t,e,n){const{lo:o,hi:s}=Ze(e,n);return Math.min(s,Math.max(o,t))}N(An,"clampToCornerClearance");l(An,"clampToCornerClearance");function ns(t){const e=Math.max(...t.map(o=>o.lo)),n=Math.min(...t.map(o=>o.hi));if(!(e>n))return{lo:e,hi:n}}N(ns,"intersectRanges");l(ns,"intersectRanges");function Tn(t,e){return e==="left"||e==="right"?Ze(t.top,t.bottom):Ze(t.left,t.right)}N(Tn,"clearanceRangeForSide");l(Tn,"clearanceRangeForSide");function Qe(t,e,n){const o=t.y>=n.top-tt&&t.y<=n.bottom+tt,s=t.x>=n.left-tt&&t.x<=n.right+tt;if(ut(t,e,tt)&&o){if(Math.abs(t.x-n.left)<tt)return"left";if(Math.abs(t.x-n.right)<tt)return"right"}if(dt(t,e,tt)&&s){if(Math.abs(t.y-n.top)<tt)return"top";if(Math.abs(t.y-n.bottom)<tt)return"bottom"}}N(Qe,"terminalSideForSegment");l(Qe,"terminalSideForSegment");function Oe(t){return t==="left"||t==="right"}N(Oe,"isHorizontalSide");l(Oe,"isHorizontalSide");function os(t,e,n,o,s){const r=[],c=n?Qe(t,e,n):void 0,a=o?Qe(e,t,o):void 0;return n&&c&&Oe(c)===s&&r.push(Tn(n,c)),o&&a&&Oe(a)===s&&r.push(Tn(o,a)),r.length>0?ns(r):void 0}N(os,"straightClearanceRange");l(os,"straightClearanceRange");function Rn(t,e,n,o,s){const r=os(t,e,n,o,s);if(!r)return;const c=s?t.y:t.x,a=Math.min(r.hi,Math.max(r.lo,c));if(!(Math.abs(a-c)<tt))return s?[{x:t.x,y:a},{x:e.x,y:a}]:[{x:a,y:t.y},{x:a,y:e.y}]}N(Rn,"clearStraightEndpointCornerAxis");l(Rn,"clearStraightEndpointCornerAxis");function fo(t,e,n){if(t.length!==2)return t;const[o,s]=t;return ut(o,s,tt)?Rn(o,s,e,n,!0)??t:dt(o,s,tt)?Rn(o,s,e,n,!1)??t:t}N(fo,"clearStraightEndpointCornerConnections");l(fo,"clearStraightEndpointCornerConnections");function ss(t,e,n){return Oe(n)?{x:t.x,y:An(t.y,e.top,e.bottom)}:{x:An(t.x,e.left,e.right),y:t.y}}N(ss,"cornerClearedEndpoint");l(ss,"cornerClearedEndpoint");function rs(t,e,n,o,s,r){const c=t.map(a=>({...a}));for(let a=e;a>=0&&a<t.length;a+=n){const d=t[a];if(r&&!ut(d,o,tt)||!r&&!dt(d,o,tt))break;r?c[a].y=s.y:c[a].x=s.x}return c}N(rs,"moveCollinearEndpointRun");l(rs,"moveCollinearEndpointRun");function Nn(t,e,n){if(t.length<2)return t;const o=n?0:t.length-1,s=n?1:-1,r=t[o],c=Je(t,o,s);if(!c)return t;const a=Qe(r,c,e);if(!a)return t;const d=Oe(a),i=ss(r,e,a);return Qt(r,i,tt)?t:rs(t,o,s,r,i,d)}N(Nn,"clearEndpointCornerConnection");l(Nn,"clearEndpointCornerConnection");function On(t,e,n){const o=Math.min(t.x,e.x)>=n.left-tt&&Math.max(t.x,e.x)<=n.right+tt,s=Math.min(t.y,e.y)>=n.top-tt&&Math.max(t.y,e.y)<=n.bottom+tt;if(Math.abs(t.y-n.top)<tt&&Math.abs(e.y-n.top)<tt&&o)return"top";if(Math.abs(t.y-n.bottom)<tt&&Math.abs(e.y-n.bottom)<tt&&o)return"bottom";if(Math.abs(t.x-n.left)<tt&&Math.abs(e.x-n.left)<tt&&s)return"left";if(Math.abs(t.x-n.right)<tt&&Math.abs(e.x-n.right)<tt&&s)return"right"}N(On,"borderSideForSegment");l(On,"borderSideForSegment");function Pn(t,e,n,o){switch(t){case"top":return dt(e,n,tt)&&n.y<o.top-tt;case"bottom":return dt(e,n,tt)&&n.y>o.bottom+tt;case"left":return ut(e,n,tt)&&n.x<o.left-tt;case"right":return ut(e,n,tt)&&n.x>o.right+tt}}N(Pn,"leavesOutward");l(Pn,"leavesOutward");function Bn(t,e,n){if(t.length<3)return t;if(n){const r=On(t[0],t[1],e);return r&&Pn(r,t[1],t[2],e)?t.slice(1):t}const o=t.length-1,s=On(t[o-1],t[o],e);return s&&Pn(s,t[o-1],t[o-2],e)?t.slice(0,o):t}N(Bn,"collapseOwnBorderStub");l(Bn,"collapseOwnBorderStub");function is(t,e,n){let o=t;if(e){const r=Je(o,0,1);if(r){const c=wn(r,o[0],e);c!==o[0]&&(o=[c,...o.slice(1)])}o=Bn(o,e,!0)}if(n){const r=o.length-1,c=Je(o,r,-1);if(c){const a=wn(c,o[r],n,!0);a!==o[r]&&(o=[...o.slice(0,r),a])}o=Bn(o,n,!1)}const s=fo(o,e,n);return s!==o||o.length===2?s:(e&&(o=Nn(o,e,!0)),n&&(o=Nn(o,n,!1)),o)}N(is,"snapAndCollapseEndpoints");l(is,"snapAndCollapseEndpoints");function kn(t,e){for(const n of t){const o=ao(n,e,2);if(!o)continue;const s=is(pt(o.points,tt),o.srcRect,o.dstRect);if(s.length<3){o.edge.points=s;continue}const r=[s[0],{...s[0]},...s.slice(1,-1),s[s.length-1],{...s[s.length-1]}];o.edge.points=r}}N(kn,"prepareEdgeEndpointsForRenderer");l(kn,"prepareEdgeEndpointsForRenderer");function lo(t){return new Map(t.map(e=>[e.id,e]))}N(lo,"buildNodeMap");l(lo,"buildNodeMap");function cs(t,e){let n=t.parentId,o=null;for(;n;){const s=e.get(n);if(!s?.isGroup)break;o=s.id,n=s.parentId}return o}N(cs,"resolveTopLevelGroupId");l(cs,"resolveTopLevelGroupId");function Fn(t,e){let n=0,o=t.parentId;for(;o;){const s=e.get(o);if(!s?.isGroup)break;n++,o=s.parentId}return n}N(Fn,"groupDepth");l(Fn,"groupDepth");function uo(t){let e=1/0,n=-1/0,o=1/0,s=-1/0;for(const r of t){const c=r.x,a=r.y;if(typeof c!="number"||typeof a!="number")continue;const d=r.width??0,i=r.height??0;e=Math.min(e,c-d/2),n=Math.max(n,c+d/2),o=Math.min(o,a-i/2),s=Math.max(s,a+i/2)}return e===1/0||o===1/0?null:{minX:e,maxX:n,minY:o,maxY:s}}N(uo,"boundsForChildren");l(uo,"boundsForChildren");function as(t,e){const n=t.padding??20;t.x=(e.minX+e.maxX)/2,t.y=(e.minY+e.maxY)/2,t.width=Math.max(0,e.maxX-e.minX)+n,t.height=Math.max(0,e.maxY-e.minY)+n}N(as,"applyGroupBounds");l(as,"applyGroupBounds");function fs(t){const e=lo(t),n=t.filter(o=>o.isGroup&&o.parentId).sort((o,s)=>Fn(s,e)-Fn(o,e));for(const o of n){const s=uo(t.filter(r=>r.parentId===o.id));s&&as(o,s)}}N(fs,"recomputeNestedGroupBounds");l(fs,"recomputeNestedGroupBounds");function tn(t,e){const n=t.nodes??[],o=t.edges??[],s=n.filter(d=>!d.isGroup);let r=1/0,c=-1/0;for(const d of s){const i=d[e];typeof i=="number"&&(r=Math.min(r,i),c=Math.max(c,i))}if(!Number.isFinite(r)||!Number.isFinite(c))return!1;const a=l(d=>r+c-d,"mirror");for(const d of n){const i=d[e];typeof i=="number"&&(d[e]=a(i));const g=d.groupTitleRect;g&&(d.groupTitleRect=e==="x"?{...g,left:a(g.right),right:a(g.left)}:{...g,top:a(g.bottom),bottom:a(g.top)})}for(const d of o)for(const i of d.points??[])i[e]=a(i[e]);return!0}N(tn,"mirrorAxis");l(tn,"mirrorAxis");function ls(t){return(t.nodes??[]).some(e=>!e.isGroup)?tn(t,"y"):!0}N(ls,"applyBtDirectionTransform");l(ls,"applyBtDirectionTransform");function ds(t,e="LR"){const n=t.nodes??[],o=t.edges??[],s=n.filter(O=>!O.isGroup);let r=1/0,c=1/0;for(const O of s){const R=O.x??0,_=O.y??0;R<r&&(r=R),_<c&&(c=_)}if(!Number.isFinite(r)||!Number.isFinite(c))return!1;const a=36;let d=0,i=0;for(const O of s)d+=O.width??0,i+=O.height??0;const g=d/s.length,b=i/s.length,M=b>0?Math.max(1,g/b):1;for(const O of s){const R=O.x??0,_=((O.y??0)-c)*M+a,F=R-r;O.x=_,O.y=F}for(const O of o)if(O.points)for(const R of O.points){const _=R.x,F=(R.y-c)*M+a,Y=_-r;R.x=F,R.y=Y}fs(n);const h=n.filter(O=>O.isGroup&&!O.parentId);if(h.length===0)return e==="RL"&&tn(t,"x"),!0;const p=lo(n),f=new Map;for(const O of n){if(O.isGroup)continue;const R=cs(O,p);if(!R)continue;const _=f.get(R)??[];_.push(O),f.set(R,_)}let x=0;for(const O of h){const R=O.padding??0;R>x&&(x=R)}const E=[];let S=1/0,w=-1/0;for(const O of h){const R=uo(f.get(O.id)??[]);R&&(S=Math.min(S,R.minX),w=Math.max(w,R.maxX),E.push({lane:O,contentTop:R.minY,contentBottom:R.maxY,centerY:(R.minY+R.maxY)/2}))}if(S===1/0||w===-1/0)return!0;const v=Math.max(0,w-S)+2*Math.max(x,10),m=a+v,I=(S+w)/2-v/2-a,T=I+m/2,P=Math.max(x,a);E.sort((O,R)=>O.centerY-R.centerY);for(let O=0;O<E.length;O++){const R=E[O];let _,F;if(O===0?_=R.contentTop-P:_=(E[O-1].contentBottom+R.contentTop)/2,O===E.length-1)F=R.contentBottom+P;else{const et=E[O+1];F=(R.contentBottom+et.contentTop)/2}const Y=Math.max(0,F-_),J=(_+F)/2;R.lane.x=T,R.lane.y=J,R.lane.width=m,R.lane.height=Y,R.lane.swimlaneContentTop=R.contentTop,R.lane.groupTitleRect={left:I,right:I+a,top:_,bottom:F}}return e==="RL"&&tn(t,"x"),!0}N(ds,"applyLrDirectionTransform");l(ds,"applyLrDirectionTransform");var te=1e-6,Ge=8,wr=[0,Ge,-Ge,2*Ge,-2*Ge];function us(t,e){const{nodeInfoById:n,realNodeRects:o}=sn(e);for(const s of t){if(s.isLayoutOnly)continue;const r=s.points;if(!r||r.length<4)continue;const c=no(pt(r,te),te);if(!c)continue;const{p3:a}=c,d=c.kind==="HVH",i=io(s,n,te);if(!i)continue;const{srcId:g,dstId:b,srcInfo:M,dstInfo:h,collinearX:p,collinearY:f}=i;if(p||f)continue;let x;const E=M.rect;for(const S of wr){let w,v,m;if(d){const R=h.cy>M.cy?E.bottom:E.top,_=M.cx+S;if(_<=E.left+te||_>=E.right-te)continue;w={x:_,y:R},v={x:_,y:a.y},m={x:a.x,y:a.y}}else{const R=h.cx>M.cx?E.right:E.left,_=M.cy+S;if(_<=E.top+te||_>=E.bottom-te)continue;w={x:R,y:_},v={x:a.x,y:_},m={x:a.x,y:a.y}}const I=Qt(w,v,te),T=Qt(v,m,te);if(I&&T||!I&&Tt(w,v,o,[g],1)||!T&&Tt(v,m,o,[b],1))continue;const P=!I&&Ke(w,v,t,s,{epsilon:te,skipDegenerateOther:!0}),O=!T&&Ke(v,m,t,s,{epsilon:te,skipDegenerateOther:!0});if(!(P||O)){I?x=[v,m]:T?x=[w,v]:x=[w,v,m];break}}x&&(s.points=x)}}N(us,"portSwapToLShape");l(us,"portSwapToLShape");function hs(t,e){const{realNodeRects:r,labelNodeRects:c}=me(e.values());for(const a of t){if(a.isLayoutOnly)continue;const d=a.points;if(!d||d.length<4)continue;const i=pt(d,.001);if(i.length<4)continue;const g=i.length-1,b=i[g],M=i[g-1],h=i[g-2],p=b.x-M.x,f=b.y-M.y,x=Math.hypot(p,f);if(x>=10||x<.001)continue;const E=M.x-h.x,S=M.y-h.y;if(Math.hypot(E,S)<.001)continue;const w=Et(M,b,.001),v=wt(M,b,.001),m=Et(h,M,.001),I=wt(h,M,.001);if(!(w&&I||v&&m))continue;const T=a.end,P=a.start,O=T?e.get(T):void 0;if(!O)continue;const R=O.x??0,_=O.y??0,F=jt(O);if(!F)continue;let Y,J;if(I){const rt=S<0;Y={x:R,y:h.y},J={x:R,y:rt?F.bottom:F.top}}else{const rt=E>0;Y={x:h.x,y:_},J={x:rt?F.right:F.left,y:_}}if(Tt(Y,J,r,T?[T]:[],-2)||Tt(Y,J,c,[],-2))continue;if(P){const rt=e.get(P),K=rt?jt(rt):void 0;if(K&&oo(Y,K,2))continue}const et=l((rt,K)=>`${rt.x.toFixed(3)},${rt.y.toFixed(3)}|${K.x.toFixed(3)},${K.y.toFixed(3)}`,"ownSegmentKey"),nt=new Set;for(let rt=0;rt<i.length-1;rt++)nt.add(et(i[rt],i[rt+1]));const Mt=l((rt,K)=>{for(const Q of t){if(Q===a||Q.isLayoutOnly)continue;const st=Q.points;if(!(!st||st.length<2))for(let at=0;at<st.length-1;at++){const bt=st[at],It=st[at+1];if(!nt.has(et(bt,It))&&ae(rt,K,bt,It,.001))return!0}}return!1},"segmentCrossesOtherEdge");if(Mt(Y,J))continue;if(g-3>=0){const rt=i[g-3],K=[P,T].filter(Q=>!!Q);if(Tt(rt,Y,r,K,-2)||Mt(rt,Y))continue}const xt=[...i.slice(0,g-2),Y,J];a.points=xt;const kt=a.labelNodeId;if(kt){const rt=e.get(kt);if(rt){const K=rt.width??0,Q=rt.height??0;if(K>0&&Q>0){let st,at,bt=-1;for(let It=0;It<xt.length-1;It++){const Lt=xt[It],Ut=xt[It+1],Jt=Math.hypot(Ut.x-Lt.x,Ut.y-Lt.y),re=ut(Lt,Ut,.001),ie=dt(Lt,Ut,.001);(re&&Jt>=K+2||ie&&Jt>=Q+2)&&Jt>bt&&(bt=Jt,st=(Lt.x+Ut.x)/2,at=(Lt.y+Ut.y)/2)}st!==void 0&&at!==void 0&&(rt.x=st,rt.y=at)}}}}}N(hs,"collapseShortTerminalStub");l(hs,"collapseShortTerminalStub");var Z=.001,Ft=8,it=Te,yn=l((t,e)=>dt(t,e,Z)||ut(t,e,Z),"orthogonallyAligned");function gs(t,e){const s=l((h,p)=>{const f=h.x??0,x=h.y??0,E=p.x-f,S=p.y-x;let w=(h.width??0)/2,v=(h.height??0)/2;return Math.abs(S)*w>Math.abs(E)*v?(S<0&&(v=-v),{x:f+(S===0?0:v*E/S),y:x+v}):(E<0&&(w=-w),{x:f+w,y:x+(E===0?0:w*S/E)})},"rectIntersect"),r=l((h,p)=>{const f=pt(h.points??[]);if(f.length<2)return;const x=p?h.start:h.end,E=x?e.get(x):void 0,S=E?jt(E):void 0;if(!E||!x||!S)return;const w=p?f[0]:f[f.length-1],v=p?f[1]:f[f.length-2],m=s(E,w);let I=w;if(yn(v,m)&&(I=v),dt(m,I,Z))return{edge:h,edgeId:String(h.id??""),nodeId:x,atStart:p,orientation:"V",coord:m.x,min:Math.min(m.y,I.y),max:Math.max(m.y,I.y),boundary:m,railEnd:I,rect:S};if(ut(m,I,Z))return{edge:h,edgeId:String(h.id??""),nodeId:x,atStart:p,orientation:"H",coord:m.y,min:Math.min(m.x,I.x),max:Math.max(m.x,I.x),boundary:m,railEnd:I,rect:S}},"terminalLaneFor"),c=l((h,p)=>Math.max(0,Math.min(h.max,p.max)-Math.max(h.min,p.min)),"projectedOverlapLength"),a=l((h,p)=>h.nodeId!==p.nodeId||h.orientation!==p.orientation?!1:h.orientation==="H"?(Math.abs(h.boundary.x-h.rect.left)<1||Math.abs(h.boundary.x-h.rect.right)<1)&&dt(h.boundary,p.boundary,1):(Math.abs(h.boundary.y-h.rect.top)<1||Math.abs(h.boundary.y-h.rect.bottom)<1)&&ut(h.boundary,p.boundary,1),"sameTerminalFace"),d=l((h,p)=>h.nodeId!==p.nodeId||h.orientation!==p.orientation?!1:c(h,p)>=Ft&&Math.abs(h.coord-p.coord)<.5,"exactTerminalLaneConflict"),i=l((h,p)=>{if(h.nodeId!==p.nodeId||h.orientation!==p.orientation||h.orientation!=="H"||h.atStart===p.atStart)return!1;const f=c(h,p);if(f<Ft)return!1;const x=h.rect.bottom-h.rect.top;return f<x||f>2*x?!1:a(h,p)&&Math.abs(h.coord-p.coord)<16},"nearTerminalLaneConflict"),g=l((h,p)=>{const f=pt(h.edge.points??[]);if(f.length<2)return;const x=h.orientation==="V"?{x:h.boundary.x+p,y:h.boundary.y}:{x:h.boundary.x,y:h.boundary.y+p},E=h.orientation==="V"?{x:h.railEnd.x+p,y:h.railEnd.y}:{x:h.railEnd.x,y:h.railEnd.y+p};if(!l(()=>Math.abs(h.boundary.y-h.rect.top)<1||Math.abs(h.boundary.y-h.rect.bottom)<1?ut(x,h.boundary,Z)&&x.x>=h.rect.left+1&&x.x<=h.rect.right-1:Math.abs(h.boundary.x-h.rect.left)<1||Math.abs(h.boundary.x-h.rect.right)<1?dt(x,h.boundary,Z)&&x.y>=h.rect.top+1&&x.y<=h.rect.bottom-1:!1,"boundaryStaysOnSameFace")())return;if(h.atStart){const m=f.length>1&&Qt(f[1],h.railEnd,Z),I=f.slice(m?2:1),T=I[0];return T&&!yn(T,E)?void 0:[x,E,...I]}const S=f.length>1&&Qt(f[f.length-2],h.railEnd,Z),w=f.slice(0,S?-2:-1),v=w[w.length-1];if(!(v&&!yn(v,E)))return[...w,E,x]},"shiftedCandidate"),b=l(h=>{const p=h.edge,f=pt(p.points??[]);if(f.length!==2)return!1;const x=p.start,E=p.end,S=x?e.get(x):void 0,w=E?e.get(E):void 0;if(!S||!w)return!1;const v=S.x??0,m=S.y??0,I=w.x??0,T=w.y??0,[P,O]=f;return ut(P,O,Z)&&Math.abs(m-T)<1&&Math.abs(v-I)>1||dt(P,O,Z)&&Math.abs(v-I)<1&&Math.abs(m-T)>1},"laneIsStraightCollinearConnector"),M=[-7,7,-14,14,-21,21];for(let h=0;h<8;h++){const p=t.filter(x=>!x.isLayoutOnly).flatMap(x=>[r(x,!0),r(x,!1)]).filter(x=>!!x);let f=!1;for(let x=0;x<p.length&&!f;x++)for(let E=x+1;E<p.length&&!f;E++){const S=p[x],w=p[E];if(S.edge===w.edge||!(d(S,w)||i(S,w)))continue;const v=!d(S,w),m=[S,w].sort((I,T)=>{const P=b(I),O=b(T);return P!==O?Number(P)-Number(O):+!T.atStart-+!I.atStart});for(const I of m){for(const T of M){const P=g(I,T);if(!P)continue;const O=r({...I.edge,points:P},I.atStart);if(!(!O||p.some(R=>R.edge!==I.edge&&(d(O,R)||v&&i(O,R))))){I.edge.points=P,f=!0;break}}if(f)break}}if(!f)return}}N(gs,"separateSharedRenderedTerminalLanes");l(gs,"separateSharedRenderedTerminalLanes");function ps(t,e){const{realNodeRects:o,labelNodeRects:s}=me(e.values()),r=l((a,d)=>{const i=a.start,g=a.end,b=it(d);if(b.length!==d.length-1)return!1;const M=[i,g].filter(h=>!!h);for(const h of b)if(Tt(h.a,h.b,o,M,-2)||Tt(h.a,h.b,s,[],-2))return!1;for(const h of t){if(h===a||h.isLayoutOnly)continue;const p=h.points;if(!(!p||p.length<2)){for(const f of b)for(const x of it(pt(p)))if(oe(f,x,.5)>=Ft||ae(f.a,f.b,x.a,x.b,Z))return!1}}return!0},"candidateIsSafe"),c=l((a,d)=>{if(d+4>=a.length)return;const i=a[d],g=a[d+1],b=a[d+2],M=a[d+3],h=a[d+4],p=Et(i,g)&&wt(g,b)&&Et(b,M)&&wt(M,h)&&dt(i,M,Z)&&dt(i,h,Z)&&dt(g,b,Z)&&(g.x-i.x)*(M.x-b.x)<0,f=wt(i,g)&&Et(g,b)&&wt(b,M)&&Et(M,h)&&ut(i,M,Z)&&ut(i,h,Z)&&ut(g,b,Z)&&(g.y-i.y)*(M.y-b.y)<0;if(p||f)return pt([...a.slice(0,d+1),h,...a.slice(d+5)]);if(d+5>=a.length)return;const x=a[d+5],E=wt(i,g)&&Et(g,b)&&wt(b,M)&&Et(M,h)&&wt(h,x)&&dt(i,h,Z)&&dt(i,x,Z)&&dt(b,M,Z)&&(b.x-g.x)*(h.x-M.x)<0,S=Et(i,g)&&wt(g,b)&&Et(b,M)&&wt(M,h)&&Et(h,x)&&ut(i,h,Z)&&ut(i,x,Z)&&ut(b,M,Z)&&(b.y-g.y)*(h.y-M.y)<0;if(!(!E&&!S))return pt([...a.slice(0,d+1),x,...a.slice(d+6)])},"withoutDogleg");for(let a=0;a<8;a++){let d=!1;for(const i of t){if(i.isLayoutOnly)continue;const g=pt(i.points??[]);for(let b=0;b<=g.length-5;b++){const M=c(g,b);if(!(!M||!r(i,M))){i.points=M,d=!0;break}}if(d)break}if(!d)return}}N(ps,"collapseRedundantRectangularDoglegs");l(ps,"collapseRedundantRectangularDoglegs");function _n(t,e){const{realNodeRects:r,labelNodeRects:c}=me(e.values()),a=t.filter(p=>!p.isLayoutOnly),d=l((p,f,x)=>pt(p===f?x??[]:p.points??[]),"pointsFor"),i=l((p,f)=>{let x=0;for(let E=0;E<a.length;E++){const S=it(d(a[E],p,f));for(let w=E+1;w<a.length;w++){const v=it(d(a[w],p,f));for(const m of S)for(const I of v)ae(m.a,m.b,I.a,I.b,Z)&&x++}}return x},"strictCrossingCount"),g=l(p=>{const f=it(p);if(f.length!==3)return;const x=f[1];if(!(f[0].horizontal===x.horizontal||f[2].horizontal===x.horizontal))return{index:x.index,horizontal:x.horizontal,vertical:x.vertical,segment:x}},"middleRail"),b=l((p,f)=>{const x=[p.start,p.end].filter(E=>!!E);return r.filter(E=>{if(x.includes(E.id))return!1;const S=E.rect;return f.horizontal?$t(f.a.x,f.b.x,S.left,S.right)>=Ft&&f.a.y>=S.top-2&&f.a.y<=S.bottom+2:$t(f.a.y,f.b.y,S.top,S.bottom)>=Ft&&f.a.x>=S.left-2&&f.a.x<=S.right+2})},"blockingRectsFor"),M=l((p,f,x)=>{const E=p.map(w=>({...w}));if(f.horizontal)E[f.index].y=x,E[f.index+1].y=x;else if(f.vertical)E[f.index].x=x,E[f.index+1].x=x;else return;const S=se(pt(E));return it(S).length===S.length-1?S:void 0},"candidateByMovingRail"),h=l((p,f,x)=>{const E=[p.start,p.end].filter(w=>!!w),S=it(f);if(S.length!==f.length-1)return!1;for(const w of S)if(Tt(w.a,w.b,r,E,-2)||Tt(w.a,w.b,c,[],-2))return!1;for(const w of a)if(w!==p){for(const v of S)for(const m of it(d(w)))if(oe(v,m,.5)>=Ft)return!1}return i(p,f)<=x},"candidateIsSafe");for(let p=0;p<8;p++){const f=i();let x=!1;for(const E of a){const S=d(E),w=g(S);if(!w)continue;const v=b(E,w.segment);if(v.length===0)continue;const m=w.horizontal?[Math.min(...v.map(I=>I.rect.top))-20,Math.max(...v.map(I=>I.rect.bottom))+20]:[Math.min(...v.map(I=>I.rect.left))-20,Math.max(...v.map(I=>I.rect.right))+20];for(const I of m){const T=M(S,w.segment,I);if(!(!T||!h(E,T,f))){E.points=T,x=!0;break}}if(x)break}if(!x)return}}N(_n,"liftObstacleHuggingSameSideRails");l(_n,"liftObstacleHuggingSameSideRails");function Dn(t,e){const o=l(d=>{const i=d.groupTitleRect;if(!(!i||typeof i.left!="number"||typeof i.right!="number"||typeof i.top!="number"||typeof i.bottom!="number"||!Number.isFinite(i.left)||!Number.isFinite(i.right)||!Number.isFinite(i.top)||!Number.isFinite(i.bottom)||i.right<=i.left||i.bottom<=i.top))return{left:i.left,right:i.right,top:i.top,bottom:i.bottom}},"validTitleRect"),s=l(d=>{if(!d.isGroup||d.parentId)return;const i=d.direction,g=typeof i=="string"?i.toUpperCase():"";if(g==="LR"||g==="RL"||g==="BT")return;const b=o(d),M=d.y,h=d.height;if(!b||typeof M!="number"||typeof h!="number"||!Number.isFinite(M)||!Number.isFinite(h)||h<=0)return;const p=b.right-b.left,f=b.bottom-b.top;if(!(f<=0||p<f))return{node:d,rect:b}},"topLaneTitleFor"),r=l((d,i)=>{if(!d.horizontal)return!1;const g=d.a.y;return g<=i.top+Z||g>=i.bottom-Z?!1:$t(d.a.x,d.b.x,i.left,i.right)>=Ft},"horizontalSegmentIntersectsTitle"),c=[...e.values()].map(s).filter(d=>!!d);if(c.length===0)return;let a=0;for(const d of t){if(d.isLayoutOnly)continue;const i=pt(d.points??[]);for(const g of it(i))for(const b of c)r(g,b.rect)&&(a=Math.max(a,b.rect.bottom-g.a.y+4))}if(!(a<=Z))for(const d of c){const i=d.node.y,g=d.node.height;typeof i!="number"||typeof g!="number"||!Number.isFinite(i)||!Number.isFinite(g)||g<=0||(d.node.y=i-a/2,d.node.height=g+a,d.node.groupTitleRect={...d.rect,top:d.rect.top-a,bottom:d.rect.bottom-a})}}N(Dn,"liftTopLaneTitleBandsAboveRails");l(Dn,"liftTopLaneTitleBandsAboveRails");function Hn(t,e){const o=l(i=>{const g=i.groupTitleRect;if(!(!g||typeof g.left!="number"||typeof g.right!="number"||typeof g.top!="number"||typeof g.bottom!="number"||!Number.isFinite(g.left)||!Number.isFinite(g.right)||!Number.isFinite(g.top)||!Number.isFinite(g.bottom)||g.right<=g.left||g.bottom<=g.top))return{left:g.left,right:g.right,top:g.top,bottom:g.bottom}},"validTitleRect"),s=l(i=>{if(!i.isGroup||i.parentId||i.direction!=="LR")return;const g=o(i),b=i.x,M=i.width;if(!g||typeof b!="number"||typeof M!="number"||!Number.isFinite(b)||!Number.isFinite(M)||M<=0)return;const h=g.right-g.left,p=g.bottom-g.top;if(!(h<=0||p<h))return{node:i,rect:g}},"leftLaneTitleFor"),r=l((i,g)=>{if(!i.vertical)return!1;const b=i.a.x;return b<=g.left+Z||b>=g.right-Z?!1:$t(i.a.y,i.b.y,g.top,g.bottom)>=Ft},"verticalSegmentIntersectsTitle"),c=l((i,g)=>{if(!i.horizontal)return!1;const b=i.a.y;return b<=g.top+Z||b>=g.bottom-Z?!1:$t(i.a.x,i.b.x,g.left,g.right)>=Ft},"horizontalSegmentIntersectsTitle"),a=[...e.values()].map(s).filter(i=>!!i);if(a.length===0)return;let d=0;for(const i of t){if(i.isLayoutOnly)continue;const g=pt(i.points??[]);for(const b of it(g))for(const M of a)if(r(b,M.rect))d=Math.max(d,M.rect.right-b.a.x+4);else if(c(b,M.rect)){const h=Math.min(b.a.x,b.b.x);d=Math.max(d,M.rect.right-h+4)}}if(!(d<=Z))for(const i of a){const g=i.node.x,b=i.node.width;typeof g!="number"||typeof b!="number"||!Number.isFinite(g)||!Number.isFinite(b)||b<=0||(i.node.x=g-d/2,i.node.width=b+d,i.node.groupTitleRect={...i.rect,left:i.rect.left-d,right:i.rect.right-d})}}N(Hn,"shiftLeftLaneTitleBandsLeftOfRails");l(Hn,"shiftLeftLaneTitleBandsLeftOfRails");function ms(t,e){const{realNodeRects:o}=me(e.values()),s=t.filter(p=>!p.isLayoutOnly),r=l((p,f=new Map)=>pt(f.get(p)??p.points??[]),"replacementPointsFor"),c=l((p=new Map)=>{let f=0;for(let x=0;x<s.length;x++){const E=it(r(s[x],p));for(let S=x+1;S<s.length;S++){const w=it(r(s[S],p));for(const v of E)for(const m of w)ae(v.a,v.b,m.a,m.b,Z)&&f++}}return f},"crossingCount"),a=l((p=new Map)=>s.reduce((f,x)=>f+qt(r(x,p)),0),"totalBends"),d=l(p=>{const f=r(p);if(f.length<4)return;const x=f[f.length-2],E=f[f.length-1];if(!(!Et(x,E,Z)&&!wt(x,E,Z)))return{tailStart:x,terminal:E}},"terminalTailFor"),i=l((p,f)=>{const x=r(p);if(x.length<3)return;const E=x[0],S=x[1];let w;if(Et(E,S,Z))w={x:S.x,y:f.tailStart.y};else if(wt(E,S,Z))w={x:f.tailStart.x,y:S.y};else return;const v=se(pt([E,S,w,f.tailStart,f.terminal]));return it(v).length===v.length-1?v:void 0},"candidateWithDestinationTail"),g=l((p,f)=>{const x=[p.start,p.end].filter(E=>!!E);for(const E of it(f))if(Tt(E.a,E.b,o,x,-2))return!0;return!1},"pathHasNodeHit"),b=l((p,f,x)=>{for(const E of s)if(E!==p){for(const S of it(f))for(const w of it(r(E,x)))if(oe(S,w,.5)>=Ft)return!0}return!1},"pathHasSharedTrack"),M=l((p,f,x)=>!g(p,f)&&!b(p,f,x),"candidateIsSafe"),h=l(()=>{const p=new Map;for(const f of s){const x=f.end;if(!x||!e.has(x)||r(f).length<4)continue;const E=p.get(x)??[];E.push(f),p.set(x,E)}return p},"edgesByDestination");for(let p=0;p<4;p++){const f=c();if(f===0)return;const x=a();let E,S=f,w=x;for(const v of h().values())for(let m=0;m<v.length;m++)for(let I=m+1;I<v.length;I++){const T=v[m],P=v[I],O=d(T),R=d(P);if(!O||!R)continue;const _=i(T,R),F=i(P,O);if(!_||!F)continue;const Y=new Map([[T,_],[P,F]]);if(!M(T,_,Y)||!M(P,F,Y))continue;const J=c(Y),et=a(Y);J>=f||J>S||J===S&&et>=w||(E=Y,S=J,w=et)}if(!E)return;for(const[v,m]of E)v.points=m}}N(ms,"swapDestinationTerminalTailsToReduceCrossings");l(ms,"swapDestinationTerminalTailsToReduceCrossings");function ys(t,e){const{realNodeRects:r,labelNodeRects:c}=me(e.values()),a=t.filter(v=>!v.isLayoutOnly),d=l((v,m=new Map)=>pt(m.get(v)??v.points??[]),"replacementPointsFor"),i=l((v=new Map)=>{let m=0;for(let I=0;I<a.length;I++){const T=it(d(a[I],v));for(let P=I+1;P<a.length;P++){const O=it(d(a[P],v));for(const R of T)for(const _ of O)ae(R.a,R.b,_.a,_.b,Z)&&m++}}return m},"strictCrossingCount"),g=l((v=new Map)=>a.reduce((m,I)=>m+qt(d(I,v)),0),"totalBends"),b=l(v=>{const m=v.start,I=v.end,T=m?e.get(m):void 0,P=I?e.get(I):void 0,O=T?jt(T):void 0,R=P?jt(P):void 0;return O&&R?{src:O,dst:R}:void 0},"endpointRectsFor"),M=l((v,m,I)=>{if(I.index<=0||I.index+1>=m.length-1)return;const T=b(v);if(T){if(I.vertical){const P=I.a.x,O=Math.min(T.src.left,T.dst.left),R=Math.max(T.src.right,T.dst.right),_=P<O-Z?"left":P>R+Z?"right":void 0;return _?{edge:v,points:m,segmentIndex:I.index,axis:"vertical",side:_,coord:P,min:Math.min(I.a.y,I.b.y),max:Math.max(I.a.y,I.b.y)}:void 0}if(I.horizontal){const P=I.a.y,O=Math.min(T.src.top,T.dst.top),R=Math.max(T.src.bottom,T.dst.bottom),_=P<O-Z?"top":P>R+Z?"bottom":void 0;return _?{edge:v,points:m,segmentIndex:I.index,axis:"horizontal",side:_,coord:P,min:Math.min(I.a.x,I.b.x),max:Math.max(I.a.x,I.b.x)}:void 0}}},"externalRailForSegment"),h=l(()=>{const v=[];for(const m of a){const I=d(m);for(const T of it(I)){const P=M(m,I,T);P&&v.push(P)}}return v},"collectExternalRails"),p=l((v,m)=>v.edge!==m.edge&&v.axis===m.axis&&v.side===m.side&&$t(v.min,v.max,m.min,m.max)>=Ft,"railsInteract"),f=l(v=>{const m=[],I=new Set;for(const T of v){if(I.has(T))continue;const P=[T],O=[];for(I.add(T);P.length>0;){const R=P.pop();O.push(R);for(const _ of v)!I.has(_)&&p(R,_)&&(I.add(_),P.push(_))}O.length>1&&m.push(O)}return m},"connectedComponents"),x=l(v=>{const m=[];for(const I of v)m.some(T=>Math.abs(T-I.coord)<Z)||m.push(I.coord);for(;m.length<v.length;){const I=Math.min(...m),T=Math.max(...m),P=v[0].side;m.push(P==="left"||P==="top"?I-12*(v.length-m.length):T+12*(v.length-m.length))}return m},"uniqueCoordsFor"),E=l(v=>{const m=v.map(P=>P.coord),I=x(v),T=[];if(v.length<=6){const P=new Array(I.length).fill(!1),O=[],R=l(()=>{if(O.length===v.length){O.some((_,F)=>Math.abs(_-m[F])>=Z)&&T.push([...O]);return}for(const[_,F]of I.entries())P[_]||(P[_]=!0,O.push(F),R(),O.pop(),P[_]=!1)},"visit");return R(),T}for(let P=0;P<m.length;P++)for(let O=P+1;O<m.length;O++){const R=[...m];[R[P],R[O]]=[R[O],R[P]],T.push(R)}return T},"coordinateAssignmentsFor"),S=l((v,m)=>{const I=new Map;for(const[P,O]of v.entries()){const R=m[P],_=I.get(O.edge)??O.points.map(F=>({x:F.x,y:F.y}));O.axis==="vertical"?(_[O.segmentIndex].x=R,_[O.segmentIndex+1].x=R):(_[O.segmentIndex].y=R,_[O.segmentIndex+1].y=R),I.set(O.edge,_)}const T=new Map;for(const[P,O]of I){const R=se(pt(O));if(it(R).length!==R.length-1)return;T.set(P,R)}return T},"replacementsForAssignment"),w=l(v=>{for(const[m,I]of v){const T=[m.start,m.end].filter(P=>!!P);for(const P of it(I))if(Tt(P.a,P.b,r,T,-2)||Tt(P.a,P.b,c,[],-2))return!1}for(let m=0;m<a.length;m++){const I=a[m],T=v.has(I),P=it(d(I,v));for(let O=m+1;O<a.length;O++){const R=a[O];if(!T&&!v.has(R))continue;const _=it(d(R,v));for(const F of P)for(const Y of _)if(oe(F,Y,.5)>=Ft)return!1}}return!0},"candidateIsSafe");for(let v=0;v<4;v++){const m=i();if(m===0)return;let I,T=m,P=g(),O=Number.POSITIVE_INFINITY;for(const R of f(h()))for(const _ of E(R)){const F=S(R,_);if(!F||!w(F))continue;const Y=i(F);if(Y>=m)continue;const J=g(F),et=R.reduce((nt,Mt,xt)=>nt+Math.abs(_[xt]-Mt.coord),0);Y>T||Y===T&&(J>P||J===P&&et>=O)||(I=F,T=Y,P=J,O=et)}if(!I)return;for(const[R,_]of I)R.points=_}}N(ys,"reassignCrossingExternalRailChannels");l(ys,"reassignCrossingExternalRailChannels");function xs(t,e){const{realNodeRects:o,labelNodeRects:s}=me(e.values()),r=t.filter(h=>!h.isLayoutOnly),c=l((h,p,f)=>pt(h===p?f??[]:h.points??[]),"pointsFor"),a=l(h=>it(h).reduce((p,f)=>{const x=f.a.x-f.b.x,E=f.a.y-f.b.y;return p+Math.hypot(x,E)},0),"pathLength"),d=l((h,p)=>{let f=0;for(let x=0;x<r.length;x++){const E=it(c(r[x],h,p));for(let S=x+1;S<r.length;S++){const w=it(c(r[S],h,p));for(const v of E)for(const m of w)ae(v.a,v.b,m.a,m.b,Z)&&f++}}return f},"strictCrossingCount"),i=l((h,p)=>{if(h.horizontal){const f=h.a.y;return(Math.abs(f-p.top)<1||Math.abs(f-p.bottom)<1)&&$t(h.a.x,h.b.x,p.left,p.right)>=Ft}if(h.vertical){const f=h.a.x;return(Math.abs(f-p.left)<1||Math.abs(f-p.right)<1)&&$t(h.a.y,h.b.y,p.top,p.bottom)>=Ft}return!1},"segmentRunsAlongRectBorder"),g=l(h=>{const p=[h.start,h.end].filter(x=>!!x),f=[];for(const x of p){const E=e.get(x),S=E?jt(E):void 0;S&&f.push(S)}return f},"endpointRectsFor"),b=l((h,p)=>{if(p+3>=h.length)return[];const f=h[p],x=h[p+1],E=h[p+2],S=h[p+3],w=Et(f,x,Z)&&wt(x,E,Z)&&Et(E,S,Z),v=wt(f,x,Z)&&Et(x,E,Z)&&wt(E,S,Z);if(!w&&!v)return[];if(!(w?Math.sign(x.x-f.x)!==Math.sign(S.x-E.x):Math.sign(x.y-f.y)!==Math.sign(S.y-E.y)))return[];const m=dt(f,S,Z)||ut(f,S,Z)?[]:[{x:f.x,y:S.y},{x:S.x,y:f.y}],I=m.length===0?[[...h.slice(0,p+1),...h.slice(p+3)]]:m.map(P=>[...h.slice(0,p+1),P,...h.slice(p+3)]),T=new Set;return I.map(P=>se(pt(P))).filter(P=>{if(it(P).length!==P.length-1||!P.some(R=>Qt(R,S,Z)))return!1;const O=P.map(R=>`${R.x.toFixed(3)},${R.y.toFixed(3)}`).join("|");return T.has(O)?!1:(T.add(O),!0)})},"shortcutCandidatesAt"),M=l((h,p,f)=>{const x=[h.start,h.end].filter(S=>!!S),E=g(h);for(const S of it(p))if(Tt(S.a,S.b,o,x,-2)||Tt(S.a,S.b,s,[],-2)||E.some(w=>i(S,w)))return!1;for(const S of r)if(S!==h){for(const w of it(p))for(const v of it(c(S)))if(oe(w,v,.5)>=Ft)return!1}return d(h,p)<=f},"candidateIsSafe");for(let h=0;h<8;h++){const p=d();let f,x,E=p,S=Number.POSITIVE_INFINITY,w=Number.POSITIVE_INFINITY;for(const v of r){const m=c(v),I=qt(m,Z),T=a(m);for(let P=0;P<=m.length-4;P++)for(const O of b(m,P)){const R=qt(O,Z),_=a(O);if(!(R<I||R===I&&_<T-Z)||!M(v,O,p))continue;const F=d(v,O);F>E||F===E&&(R>S||R===S&&_>=w)||(f=v,x=O,E=F,S=R,w=_)}}if(!f||!x)return;f.points=x}}N(xs,"shortcutRedundantOrthogonalJogs");l(xs,"shortcutRedundantOrthogonalJogs");function bs(t,e){const c=[];for(const B of e.values()){if(B.isGroup||B.isEdgeLabel)continue;const D=B.x??0,H=B.y??0,j=jt(B);j&&c.push({id:String(B.id??""),cx:D,cy:H,rect:j})}if(c.length===0)return;const a=new Map(c.map(B=>[B.id,B])),d=c.map(B=>({id:B.id,rect:B.rect})),i=["top","bottom","left","right"],g={top:Math.min(...c.map(B=>B.rect.top))-20,bottom:Math.max(...c.map(B=>B.rect.bottom))+20,left:Math.min(...c.map(B=>B.rect.left))-20,right:Math.max(...c.map(B=>B.rect.right))+20},b=t.filter(B=>!B.isLayoutOnly),M=new Map(b.map((B,D)=>[B,D])),h=l(B=>{const D=B==="left"||B==="top"?-1:1,H=[];for(let j=0;j<=2;j++)H.push(g[B]+D*20*j);return H},"outwardTracksForSide"),p=l((B,D=new Map)=>pt(D.get(B)??B.points??[]),"replacementPointsFor"),f=l((B,D)=>{let H=0;for(const j of B)for(const u of D)ae(j.a,j.b,u.a,u.b,Z)&&H++;return H},"crossingCountBetweenSegments"),x=l((B,D)=>f(it(B),it(D)),"crossingCountBetweenPaths"),E=l((B=new Map)=>{let D=0;const H=[],j=new Set,u=[],y=l(C=>{j.has(C)||(j.add(C),u.push(C))},"addEdge");for(let C=0;C<b.length;C++){const L=b[C],A=p(L,B);for(let k=C+1;k<b.length;k++){const z=b[k],q=x(A,p(z,B));q>0&&(D+=q,H.push({first:L,second:z,count:q}),y(L),y(z))}}return u.sort((C,L)=>(M.get(C)??0)-(M.get(L)??0)),{count:D,pairs:H,edgeSet:j,edges:u}},"crossingSnapshot"),S=l((B,D)=>{const H=new Set(D.keys());if(H.size===0)return B.count;let j=0;for(const y of B.pairs)(H.has(y.first)||H.has(y.second))&&(j+=y.count);let u=0;for(let y=0;y<b.length;y++){const C=b[y],L=H.has(C),A=p(C,D);for(let k=y+1;k<b.length;k++){const z=b[k];!L&&!H.has(z)||(u+=x(A,p(z,D)))}}return B.count-j+u},"crossingCountWithReplacements"),w=l(B=>{const D=new Map;for(const u of B.pairs){const y=D.get(u.first)??new Set;y.add(u.second),D.set(u.first,y);const C=D.get(u.second)??new Set;C.add(u.first),D.set(u.second,C)}const H=[],j=new Set;for(const u of B.edges){if(j.has(u))continue;const y=[u],C=[];for(j.add(u);y.length>0;){const L=y.pop();C.push(L);for(const A of D.get(L)??[])j.has(A)||(j.add(A),y.push(A))}C.sort((L,A)=>(M.get(L)??0)-(M.get(A)??0)),C.length>1&&H.push(C)}return H},"crossingComponents"),v=l(B=>[B.start,B.end].filter(D=>!!D),"endpointIdsFor"),m=l(B=>{const D=[];for(const H of w(B)){const j=new Set(H),u=new Set(H.flatMap(C=>v(C))),y=[...H];for(const C of b)j.has(C)||v(C).some(L=>u.has(L))&&y.push(C);y.sort((C,L)=>(M.get(C)??0)-(M.get(L)??0)),D.push(y)}return D},"pairSearchGroups"),I=l((B,D,H)=>S(B,new Map([[D,H]])),"crossingCountWithSingleReplacement"),T=l(B=>{const D=new Map;for(const H of B.pairs)D.set(H.first,(D.get(H.first)??0)+H.count),D.set(H.second,(D.get(H.second)??0)+H.count);return D},"currentCrossingsByEdge"),P=l(B=>B.slice(1).reduce((D,H,j)=>{const u=B[j];return D+Math.abs(H.x-u.x)+Math.abs(H.y-u.y)},0),"pathLength"),O=l((B=new Map)=>b.reduce((D,H)=>D+qt(p(H,B)),0),"totalBends"),R=l((B=new Map)=>b.reduce((D,H)=>D+P(p(H,B)),0),"totalLength"),_=l((B,D,H=new Map)=>{const j=it(D);for(const u of b)if(u!==B){for(const y of j)for(const C of it(p(u,H)))if(oe(y,C,.5)>=Ft)return!0}return!1},"pathHasSegmentConflict"),F=l((B,D)=>{const H=[B.start,B.end].filter(j=>!!j);for(const j of it(D))if(Tt(j.a,j.b,d,H,-2))return!0;return!1},"pathHitsNode"),Y=l((B,D)=>{const H=se(pt(D));it(H).length===H.length-1&&B.push(H)},"pushOrthogonalCandidate"),J=l(B=>B==="left"||B==="right","sideIsHorizontal"),et=l((B,D,H)=>{switch(D){case"left":return Math.min(B.x,H.x)-20;case"right":return Math.max(B.x,H.x)+20;case"top":return Math.min(B.y,H.y)-20;case"bottom":return Math.max(B.y,H.y)+20}},"localTrackForSameSide"),nt=l((B,D,H,j)=>{const u=H==="left"||H==="top"?-1:1,y=[et(D,H,j),g[H]];for(const C of y)for(let L=0;L<=2;L++)Y(B,ro(D,H,j,C+u*20*L))},"addSameSideCandidates"),Mt=l((B,D,H,j,u)=>{for(const y of h(H))for(const C of h(u))Y(B,[D,{x:y,y:D.y},{x:y,y:C},{x:j.x,y:C},j])},"addHorizontalToVerticalCandidates"),xt=l((B,D,H,j,u)=>{for(const y of h(H))for(const C of h(u))Y(B,[D,{x:D.x,y},{x:C,y},{x:C,y:j.y},j])},"addVerticalToHorizontalCandidates"),kt=l((B,D,H,j,u)=>{const y=[...h("top"),...h("bottom")];for(const C of h(H))for(const L of h(u))for(const A of y)Y(B,[D,{x:C,y:D.y},{x:C,y:A},{x:L,y:A},{x:L,y:j.y},j])},"addHorizontalPairCandidates"),rt=l((B,D,H,j,u)=>{const y=[...h("left"),...h("right")];for(const C of h(H))for(const L of h(u))for(const A of y)Y(B,[D,{x:D.x,y:C},{x:A,y:C},{x:A,y:L},{x:j.x,y:L},j])},"addVerticalPairCandidates"),K=l(B=>{const D=new Set;return B.map(H=>pt(H)).filter(H=>{const j=H.map(u=>`${u.x.toFixed(3)},${u.y.toFixed(3)}`).join("|");return D.has(j)||H.length<2?!1:(D.add(j),!0)})},"dedupeCandidatePaths"),Q=l((B,D,H,j)=>{const u=[],y=so(B,D,H,j,20,Z);y&&Y(u,y),D===j&&nt(u,B,D,H);const C=J(D),L=J(j);return C&&!L?Mt(u,B,D,H,j):!C&&L?xt(u,B,D,H,j):C?kt(u,B,D,H,j):rt(u,B,D,H,j),K(u)},"buildCandidatesForSides"),st=l((B,D,H,j)=>{const u=[...h("left"),...h("right")],y=[...h("top"),...h("bottom")];for(const C of i){const L=Ie(j,C),A=C==="top"||C==="bottom"?h(C):y;for(const k of u){Y(B,[D,H,{x:k,y:H.y},{x:k,y:L.y},L]);for(const z of A)Y(B,[D,H,{x:k,y:H.y},{x:k,y:z},{x:L.x,y:z},L])}}},"addVerticalDepartureOuterTrackCandidates"),at=l((B,D,H,j)=>{const u=[...h("left"),...h("right")],y=[...h("top"),...h("bottom")];for(const C of i){const L=Ie(j,C),A=C==="left"||C==="right"?h(C):u;for(const k of y){Y(B,[D,H,{x:H.x,y:k},{x:L.x,y:k},L]);for(const z of A)Y(B,[D,H,{x:H.x,y:k},{x:z,y:k},{x:z,y:L.y},L])}}},"addHorizontalDepartureOuterTrackCandidates"),bt=l(B=>{const D=B.start,H=B.end,j=H?a.get(H):void 0;if(!D||!j)return[];const u=pt(B.points??[]);if(u.length<4)return[];const y=u[0],C=u[1],L=[];return wt(y,C,Z)?st(L,y,C,j):Et(y,C,Z)&&at(L,y,C,j),L},"terminalPreservingOuterTrackCandidates"),It=l(B=>{const D=B.start,H=B.end,j=D?a.get(D):void 0,u=H?a.get(H):void 0;if(!j||!u)return[];const y=[];for(const C of i){const L=Ie(j,C);for(const A of i)y.push(...Q(L,C,Ie(u,A),A))}return y.push(...bt(B)),y},"candidatePathsFor"),Lt=l(()=>new Map(b.map(B=>[B,it(p(B))])),"currentSegmentsByEdge"),Ut=l((B,D,H)=>{const j=new Set;for(const u of b){if(u===B)continue;const y=H.get(u)??it(p(u));D.some(C=>y.some(L=>oe(C,L,.5)>=Ft))&&j.add(u)}return j},"sharedTrackConflictsFor"),Jt=l((B,D,H,j)=>{const u=new Set;return It(B).map(y=>se(pt(y))).filter(y=>{if(F(B,y))return!1;const C=y.map(L=>`${L.x.toFixed(3)},${L.y.toFixed(3)}`).join("|");return u.has(C)||y.length<2?!1:(u.add(C),!0)}).map(y=>{const C=it(y);let L=0;for(const A of b)A!==B&&(L+=f(C,H.get(A)??it(p(A))));return{candidate:y,candidateSegments:C,crossings:D.count-(j.get(B)??0)+L,bends:qt(y,Z),totalBends:qt(y),length:P(y)}}).filter(({crossings:y})=>y<=D.count).sort((y,C)=>y.crossings-C.crossings||y.bends-C.bends||y.length-C.length).slice(0,48).map(y=>({path:y.candidate,segments:y.candidateSegments,sharedTrackConflicts:Ut(B,y.candidateSegments,H),totalBends:y.totalBends,length:y.length}))},"pairCandidatesFor"),re=l((B,D,H,j,u,y)=>{let C=0;for(const A of B.pairs)(A.first===D||A.second===D||A.first===j||A.second===j)&&(C+=A.count);let L=f(H.segments,u.segments);for(const A of b){if(A===D||A===j)continue;const k=y.get(A)??it(p(A));L+=f(H.segments,k)+f(u.segments,k)}return B.count-C+L},"pairCrossingCount"),ie=l((B,D)=>{for(const H of B.sharedTrackConflicts)if(H!==D)return!1;return!0},"conflictsOnlyWith"),Be=l((B,D)=>B.segments.some(H=>D.segments.some(j=>oe(H,j,.5)>=Ft)),"candidatesShareTrack"),Se=l((B,D,H,j)=>ie(D,H.edge)&&ie(j,B.edge)&&!Be(D,j),"pairCandidatesAreCompatible"),Ne=l((B,D,H,j,u)=>{const y=re(B.current,D.edge,H,j.edge,u,B.baseSegments);if(!(y>=B.current.count))return{replacements:new Map([[D.edge,H.path],[j.edge,u.path]]),crossings:y,bends:B.currentBends-(B.baseBendsByEdge.get(D.edge)??0)-(B.baseBendsByEdge.get(j.edge)??0)+H.totalBends+u.totalBends,length:B.currentLength-(B.baseLengthByEdge.get(D.edge)??0)-(B.baseLengthByEdge.get(j.edge)??0)+H.length+u.length}},"scorePairReplacement"),an=l((B,D)=>B.crossings<D.crossings||B.crossings===D.crossings&&(B.bends<D.bends||B.bends===D.bends&&B.length<D.length),"pairScoreIsBetter"),fn=l((B,D,H,j)=>{let u=j;for(const y of D.candidates)for(const C of H.candidates){if(!Se(D,y,H,C))continue;const L=Ne(B,D,y,H,C);L&&an(L,u)&&(u=L)}return u},"bestScoreForOptionPair"),ln=l(B=>{const D=O(),H=R(),j=Lt(),u=T(B),y=new Map(b.map(q=>[q,qt(p(q))])),C=new Map(b.map(q=>[q,P(p(q))])),L=new Map,A=m(B);for(const q of A)for(const G of q){if(L.has(G))continue;const X=Jt(G,B,j,u);X.length>0&&L.set(G,{edge:G,candidates:X})}let k={replacements:new Map,crossings:B.count,bends:D,length:H};const z={current:B,currentBends:D,currentLength:H,baseBendsByEdge:y,baseLengthByEdge:C,baseSegments:j};for(const q of A){const G=new Set(q.filter(W=>B.edgeSet.has(W))),X=q.map(W=>L.get(W)).filter(W=>!!W);for(let W=0;W<X.length;W++){const ft=X[W];for(let St=W+1;St<X.length;St++){const ot=X[St];!G.has(ft.edge)&&!G.has(ot.edge)||(k=fn(z,ft,ot,k))}}}return k.replacements.size>0?k.replacements:void 0},"bestPairedReplacement");for(let B=0;B<4;B++){const D=E(),H=D.count;if(H===0)return;let j,u,y=H,C=Number.POSITIVE_INFINITY;for(const A of D.edges){const k=qt(p(A),Z);for(const z of It(A)){const q=F(A,z),G=!q&&_(A,z),X=I(D,A,z),W=qt(z,Z);q||G||(X<H||X===H&&W<k)&&(X>y||X===y&&W>=C||(j=A,u=z,y=X,C=W))}}if(j&&u){j.points=u;continue}const L=ln(D);if(!L)return;for(const[A,k]of L)A.points=k}}N(bs,"resolveRenderedOrthogonalCrossings");l(bs,"resolveRenderedOrthogonalCrossings");var pe=.001,Ar=8;function Ms(t,e){const{nodeInfoById:n,realNodeRects:o}=sn(e),s=["top","bottom","left","right"],r=20,c={top:Math.min(...o.map(f=>f.rect.top))-r,bottom:Math.max(...o.map(f=>f.rect.bottom))+r,left:Math.min(...o.map(f=>f.rect.left))-r,right:Math.max(...o.map(f=>f.rect.right))+r},a=l((f,x,E,S)=>{const w=[],v=so(f,x,E,S,r,pe);return v&&w.push(v),x===S&&w.push(ro(f,x,E,c[x])),w},"buildOrthogonalPathCandidates"),d=l((f,x)=>{for(let E=0;E<f.length-1;E++){const S=f[E],w=f[E+1];if(Tt(S,w,o,x,1))return!0}return!1},"pathHitsNode"),i=l((f,x,E=!1)=>{let S=0;const w=Te(f,pe),v=x.start,m=x.end;for(const I of t){if(I===x||I.isLayoutOnly)continue;const T=I.start,P=I.end;if(!E&&v&&m&&(T===v||T===m||P===v||P===m))continue;const O=I.points;if(!(!O||O.length<2))for(const R of w)for(const _ of Te(O,pe)){if(co(R.a,R.b,_.a,_.b,pe,pe)){S++;continue}oe(R,_,pe)>=Ar&&S++}}return S},"pathConflictCount"),g=4,b=l((f,x)=>{const E=Math.abs(f.y-x.rect.top),S=Math.abs(f.y-x.rect.bottom),w=Math.abs(f.x-x.rect.left),v=Math.abs(f.x-x.rect.right);let m="top",I=E;return S<I&&(m="bottom",I=S),w<I&&(m="left",I=w),v<I&&(m="right",I=v),m},"nearestSideOfRect"),M=new Map,h=l((f,x,E)=>{const S=M.get(f)??[];S.push({side:x,edgeId:E}),M.set(f,S)},"addFaceClaim");for(const f of t){if(f.isLayoutOnly)continue;const x=f.points??[];if(x.length<1)continue;const E=f.id??"",S=f.start,w=f.end;if(S){const v=n.get(S);v&&h(S,b(x[0],v),E)}if(w){const v=n.get(w);v&&h(w,b(x[x.length-1],v),E)}}const p=l((f,x,E)=>M.get(f)?.some(S=>S.edgeId!==E&&S.side===x)??!1,"faceIsClaimed");for(const f of t){if(f.isLayoutOnly)continue;const x=f.points;if(!x||x.length<2)continue;const E=qt(x,pe);if(E<g)continue;const S=f.start,w=f.end;if(!S||!w)continue;const v=n.get(S),m=n.get(w);if(!v||!m)continue;const I=f.id??"",T=i(x,f,!0),P=i(x,f);let O,R=T,_=E;for(const F of s){if(p(S,F,I))continue;const Y=Ie(v,F);for(const J of s){if(p(w,J,I))continue;const et=Ie(m,J);for(const nt of a(Y,F,et,J)){if(d(nt,[S,w]))continue;const Mt=qt(nt,pe);if(T>0){const xt=i(nt,f,!0);if(xt>R||xt===R&&Mt>=_)continue;R=xt,_=Mt,O=nt;continue}i(nt,f)>P||Mt<_&&(_=Mt,O=nt)}}}if(O){f.points=O;const F=M.get(S);F&&M.set(S,F.filter(J=>J.edgeId!==I));const Y=M.get(w);Y&&M.set(w,Y.filter(J=>J.edgeId!==I)),h(S,b(O[0],v),I),h(w,b(O[O.length-1],m),I)}}}N(Ms,"simplifyDetouredEdges");l(Ms,"simplifyDetouredEdges");var Vt=.001,Ro=10,$e=7;function Xn(t,e){const n=e?0:t.length-1,o=e?1:-1,s=t[n],r=t[n+o];if(!s||!r)return;const c=r.x-s.x,a=r.y-s.y;if(!(Math.abs(c)+Math.abs(a)<Vt)){if(Math.abs(a)<=Vt){const d=s.x+Math.sign(c)*Ro;return{left:Math.min(s.x,d),right:Math.max(s.x,d),top:s.y-$e,bottom:s.y+$e}}if(Math.abs(c)<=Vt){const d=s.y+Math.sign(a)*Ro;return{left:s.x-$e,right:s.x+$e,top:Math.min(s.y,d),bottom:Math.max(s.y,d)}}return{left:Math.min(s.x,r.x),right:Math.max(s.x,r.x),top:Math.min(s.y,r.y),bottom:Math.max(s.y,r.y)}}}N(Xn,"markerClearanceRectFor");l(Xn,"markerClearanceRectFor");function Is(t){return{left:Math.min(t.left,t.right),right:Math.max(t.left,t.right),top:Math.min(t.top,t.bottom),bottom:Math.max(t.top,t.bottom)}}N(Is,"normalizeRect");l(Is,"normalizeRect");function Yn(t,e){const n=pt(e);return[Xn(n,!0),Xn(n,!1)].some(o=>o&&We(t,Is(o)))}N(Yn,"labelOverlapsOwnMarker");l(Yn,"labelOverlapsOwnMarker");function Ve(t,e){const n=[];for(const p of t){if(p.isLayoutOnly)continue;const f=p.points;if(!(!f||f.length<2))for(let x=0;x<f.length-1;x++)n.push({edgeId:p.id,p1:f[x],p2:f[x+1]})}const o=[],s=[];for(const p of e.values()){const f=p.isGroup,x=p.parentId;if(f&&!x){const S=jt(p);S&&s.push({id:p.id,rect:S});continue}if(f||p.isEdgeLabel)continue;const E=jt(p);E&&o.push({nodeId:p.id,rect:E})}const r=3,c=1,a=12,d=l((p,f)=>{const x=Ln(f,r);for(const{nodeId:E,rect:S}of o)if(E!==p&&We(x,S))return!0;return!1},"labelOverlapsForeignNode"),i=l((p,f)=>{const x=Ln(f,r);for(const E of n)if(E.edgeId!==p&&on(E.p1,E.p2,x))return!0;return!1},"labelOverlapsForeignEdge"),g=l((p,f,x)=>d(p,x)||i(f,x),"labelOverlapsAnything"),b=[],M=l(p=>{for(const{id:f,rect:x}of s)if(Ko(x,p))return f},"findContainingLane"),h=l((p,f)=>b.some(x=>x.labelId!==p&&We(f,x.rect)),"overlapsPlacedLabel");for(const p of t){if(p.isLayoutOnly)continue;const f=p.labelNodeId;if(!f)continue;const x=e.get(f);if(!x)continue;const E=p.points;if(!E||E.length<2)continue;const S=x.width??0,w=x.height??0;if(S<=0||w<=0)continue;const v=[];for(let K=0;K<E.length-1;K++){const Q=E[K],st=E[K+1],at=Math.abs(Q.x-st.x),bt=Math.abs(Q.y-st.y);at<Vt&&bt<Vt||at>=Vt&&bt>=Vt||v.push({idx:K,length:at+bt,orientation:at>=Vt?"horizontal":"vertical",midX:(Q.x+st.x)/2,midY:(Q.y+st.y)/2})}if(v.length===0)continue;const m=v.length>=3?v.filter(K=>K.idx>0&&K.idx<v.length-1):v,I=m.length>0?m:v,T=S>=w?"horizontal":"vertical",P=l(K=>[...K].sort((Q,st)=>{const at=Q.orientation===T;if(at!==(st.orientation===T))return at?-1:1;const bt=Q.length>=(Q.orientation==="horizontal"?S:w)+2;return bt!==st.length>=(st.orientation==="horizontal"?S:w)+2?bt?-1:1:st.length-Q.length}),"rankSegments"),O=v[0],R=v[v.length-1],_=[.5,.25,.75,.05,.95,.15,.85,.1,.9],F=l((K,Q)=>{const st=E[K.idx],at=E[K.idx+1];return{midX:st.x+(at.x-st.x)*Q,midY:st.y+(at.y-st.y)*Q}},"anchorAtT"),Y=l((K,Q,st)=>Math.min(st,Math.max(Q,K)),"clamp"),J=l((K,Q)=>K.midX>=Q.left-Vt&&K.midX<=Q.right+Vt&&K.midY>=Q.top-Vt&&K.midY<=Q.bottom+Vt,"pointInsideRectInclusive"),et=l(K=>{const Q=Ae(K.midX,K.midY,S,w),st=M(Q);if(st)return{laneId:st,anchor:K,rect:Q};const at=s.find(({rect:ie})=>J(K,ie));if(!at)return;const bt=at.rect.left+S/2+c,It=at.rect.right-S/2-c,Lt=at.rect.top+w/2+c,Ut=at.rect.bottom-w/2-c;if(bt>It||Lt>Ut)return;const Jt={midX:Y(K.midX,bt,It),midY:Y(K.midY,Lt,Ut)},re=Ae(Jt.midX,Jt.midY,S,w);return J(K,re)?{laneId:at.id,anchor:Jt,rect:re}:void 0},"placementForAnchor"),nt=l((K,Q,st)=>K.orientation==="horizontal"?Math.abs(Q.midX-st.x):Math.abs(Q.midY-st.y),"distanceAlongSegment"),Mt=l((K,Q)=>{const st=(K.orientation==="horizontal"?S/2:w/2)+a;if(K===O){const at=E[K.idx];if(nt(K,Q,at)+Vt<st)return!1}if(K===R){const at=E[K.idx+1];if(nt(K,Q,at)+Vt<st)return!1}return!0},"labelClearsTerminalEndpoints"),xt=l(K=>{const Q=P(K);for(const st of Q)for(const at of _){const bt=F(st,at);if(!Mt(st,bt))continue;const It=et(bt);if(It&&!Yn(It.rect,E)&&!h(f,It.rect)&&!g(f,p.id,It.rect))return{laneId:It.laneId,anchor:It.anchor}}},"tryPool"),kt=l((K,Q,st=!1)=>{const at=P(K);for(const bt of at){const It={midX:bt.midX,midY:bt.midY};if(Q&&!Mt(bt,It))continue;const Lt=et(It);if(Lt&&!Yn(Lt.rect,E)&&!h(f,Lt.rect)&&!d(f,Lt.rect)&&(st||!i(p.id,Lt.rect)))return{laneId:Lt.laneId,anchor:Lt.anchor}}},"findLaneContainingFallback"),rt=xt(I)??(I.length<v.length?xt(v):void 0)??kt(v,!0)??kt(v,!1)??kt(v,!1,!0);if(rt){x.x=rt.anchor.midX,x.y=rt.anchor.midY,x.parentId=rt.laneId;const K=Ae(rt.anchor.midX,rt.anchor.midY,S,w),Q=b.findIndex(st=>st.labelId===f);Q>=0?b[Q]={labelId:f,rect:K}:b.push({labelId:f,rect:K})}}}N(Ve,"anchorLabelsToPolyline");l(Ve,"anchorLabelsToPolyline");var xn=1e-6,No=4,Tr=3;function Gn(t,e){return t<e?`${t}::${e}`:`${e}::${t}`}N(Gn,"pairKey");l(Gn,"pairKey");function Ss(t,e){const{nodeInfoById:n,realNodeRects:o}=sn(e),s=new Map;for(const c of e){const a=c.id;if(!c.isGroup&&c.isEdgeLabel){s.set(a,{w:c.width??0,h:c.height??0});continue}}const r=l((c,a,d,i)=>{const g=Gn(a,d);let b=0;const M=l(h=>{if(!h)return;const p=s.get(h);if(!p)return;const f=i==="x"?p.w/2:p.h/2;f>b&&(b=f)},"consider");M(c.labelNodeId);for(const h of t){if(h===c||h.isLayoutOnly)continue;const p=h.start,f=h.end;!p||!f||Gn(p,f)===g&&M(h.labelNodeId)}return b>0?b+Tr:0},"labelClearanceFor");for(const c of t){if(c.isLayoutOnly)continue;const a=c.points;if(!no(a,xn))continue;const d=io(c,n,xn);if(!d)continue;const{srcId:i,dstId:g,srcInfo:b,dstInfo:M,collinearX:h,collinearY:p}=d;if(h===p)continue;let f,x;if(h){const v=M.cy>b.cy;f={x:b.cx,y:v?b.rect.bottom:b.rect.top},x={x:M.cx,y:v?M.rect.top:M.rect.bottom}}else{const v=M.cx>b.cx;f={x:v?b.rect.right:b.rect.left,y:b.cy},x={x:v?M.rect.left:M.rect.right,y:M.cy}}if(Tt(f,x,o,[i,g],1))continue;const E=r(c,i,g,h?"x":"y"),S=E>No?E:No,w=[0,S,-S];for(const v of w){const m={...f},I={...x};if(h){if(m.x+=v,I.x+=v,m.x<=b.rect.left||m.x>=b.rect.right||I.x<=M.rect.left||I.x>=M.rect.right)continue}else if(m.y+=v,I.y+=v,m.y<=b.rect.top||m.y>=b.rect.bottom||I.y<=M.rect.top||I.y>=M.rect.bottom)continue;if(!Tt(m,I,o,[i,g],1)&&!Ke(m,I,t,c,{epsilon:xn})){c.points=[m,I];break}}}}N(Ss,"straightenCollinearSiblingDetours");l(Ss,"straightenCollinearSiblingDetours");function $n(t,e){const{realNodeRects:d,labelNodeRects:i}=me(e.values()),g=l((m,I)=>Te(I,.001).map(T=>({...T,edge:m,interior:T.index>=1&&T.index<=I.length-3})),"segmentsFor"),b=l(()=>{const m=[];for(const I of t){if(I.isLayoutOnly)continue;const T=I.points;!T||T.length<2||m.push(...g(I,pt(T)))}return m},"allSegments"),M=l((m,I)=>m.horizontal&&I.horizontal?$t(m.a.x,m.b.x,I.a.x,I.b.x)>=8&&Math.abs(m.a.y-I.a.y)<7:m.vertical&&I.vertical?$t(m.a.y,m.b.y,I.a.y,I.b.y)>=8&&Math.abs(m.a.x-I.a.x)<7:!1,"hasCrowdedParallelTrack"),h=l((m,I)=>{const T=m.start,P=m.end,O=g(m,I);if(O.length!==I.length-1)return!1;const R=[T,P].filter(F=>!!F),_=m.labelNodeId?[m.labelNodeId]:[];for(const F of O)if(Tt(F.a,F.b,d,R,-2)||Tt(F.a,F.b,i,_,-2))return!1;for(const F of t){if(F===m||F.isLayoutOnly)continue;const Y=F.points;if(!(!Y||Y.length<2)){for(const J of O)for(const et of g(F,pt(Y)))if(M(J,et)||ae(J.a,J.b,et.a,et.b,.001))return!1}}return!0},"candidateIsSafe"),p=l((m,I)=>{const T=pt(m.edge.points??[]);if(T.length<4||m.index>=T.length-1)return;const P=T.map(O=>({...O}));if(m.horizontal)P[m.index].y+=I,P[m.index+1].y+=I;else if(m.vertical)P[m.index].x+=I,P[m.index+1].x+=I;else return;return g(m.edge,P).length===P.length-1?P:void 0},"shiftedCandidate"),f=l((m,I)=>({x:m.x??(I.left+I.right)/2,y:m.y??(I.top+I.bottom)/2}),"nodeCenter"),x=l(m=>{const I=m.edge,T=pt(I.points??[]);if(T.length!==4||m.index!==1)return;const P=I.start?e.get(I.start):void 0,O=I.end?e.get(I.end):void 0,R=P?jt(P):void 0,_=O?jt(O):void 0,F=T.slice(m.index+2);if(!(!P||!O||!R||!_||F.length===0))return{sourceCenter:f(P,R),targetCenter:f(O,_),sourceRect:R,tail:F}},"sourceDetourContextFor"),E=l((m,I,T,P,O,R)=>{const _=P.y>=T.y,F=_?O.bottom:O.top,Y=F+(_?20:-20);if(_&&m.b.y<=Y+.001||!_&&m.b.y>=Y-.001)return;const J=m.a.x+I;return pt([{x:T.x,y:F},{x:T.x,y:Y},{x:J,y:Y},{x:J,y:m.b.y},...R],.001)},"verticalSourceDetour"),S=l((m,I,T,P,O,R)=>{const _=P.x>=T.x,F=_?O.right:O.left,Y=F+(_?20:-20);if(_&&m.b.x<=Y+.001||!_&&m.b.x>=Y-.001)return;const J=m.a.y+I;return pt([{x:F,y:T.y},{x:Y,y:T.y},{x:Y,y:J},{x:m.b.x,y:J},...R],.001)},"horizontalSourceDetour"),w=l((m,I)=>{const T=x(m);if(T){if(m.vertical)return E(m,I,T.sourceCenter,T.targetCenter,T.sourceRect,T.tail);if(m.horizontal)return S(m,I,T.sourceCenter,T.targetCenter,T.sourceRect,T.tail)}},"sourceDetourCandidate"),v=[-7,7,-14,14,-21,21];for(let m=0;m<12;m++){const I=b();let T=!1;for(let P=0;P<I.length&&!T;P++)for(let O=P+1;O<I.length&&!T;O++){const R=I[P],_=I[O];if(R.edge===_.edge||!M(R,_))continue;const F=[R,_].filter(Y=>Y.interior);for(const Y of F){for(const J of v){const et=p(Y,J);if(et&&h(Y.edge,et)){Y.edge.points=et,T=!0;break}const nt=w(Y,J);if(nt&&h(Y.edge,nt)){Y.edge.points=nt,T=!0;break}}if(T)break}}if(!T)return}}N($n,"nudgeSharedInteriorSubpaths");l($n,"nudgeSharedInteriorSubpaths");function Cs(t,e,n,o){const s=e.x-t.x,r=e.y-t.y,c=o.x-n.x,a=o.y-n.y,d=s*a-r*c;if(Math.abs(d)<1e-10)return!1;const i=n.x-t.x,g=n.y-t.y,b=(i*a-g*c)/d,M=(i*r-g*s)/d,h=.01;return b>h&&b<.99&&M>h&&M<.99}N(Cs,"segmentsIntersect");l(Cs,"segmentsIntersect");function Ls(t){const e=t.nodes??[],n=t.edges??[],o=[];if(!n.length||!e.length)return o;const s=qo(e),r=[];for(const a of n){if(a.isLayoutOnly)continue;const d=a.points;if(!d||d.length<2)continue;const i=a.start,g=a.end,b=a.labelNodeId,M=a.id??`${i}->${g}`;for(const h of s)if(!(h.nodeId===i||h.nodeId===g)&&!(b&&h.nodeId===b)){for(let p=0;p<d.length-1;p++)if(on(d[p],d[p+1],h,-1)){o.push({type:"edge-node-overlap",edgeId:M,targetId:h.nodeId,detail:`segment ${p} passes through node "${h.nodeId}"`});break}}for(let h=0;h<d.length-1;h++)r.push({edgeId:M,start:i,end:g,p1:d[h],p2:d[h+1]})}const c=new Set;for(let a=0;a<r.length;a++)for(let d=a+1;d<r.length;d++){const i=r[a],g=r[d];if(i.edgeId!==g.edgeId&&!(i.start===g.start||i.start===g.end||i.end===g.start||i.end===g.end)&&Cs(i.p1,i.p2,g.p1,g.p2)){const b=i.edgeId<g.edgeId?`${i.edgeId}|${g.edgeId}`:`${g.edgeId}|${i.edgeId}`;c.has(b)||(c.add(b),o.push({type:"edge-edge-crossing",edgeId:i.edgeId,targetId:g.edgeId,detail:`edges "${i.edgeId}" and "${g.edgeId}" cross`}))}}if(o.length>0){const a=o.filter(i=>i.type==="edge-node-overlap").length,d=o.filter(i=>i.type==="edge-edge-crossing").length;Mn.warn(`[SWIMLANE_VALIDATE] ${o.length} issue(s) detected: ${a} edge-node overlap(s), ${d} edge crossing(s)`);for(const i of o)Mn.warn(`[SWIMLANE_VALIDATE] ${i.type}: ${i.detail}`)}return o}N(Ls,"validateSwimlanesLayout");l(Ls,"validateSwimlanesLayout");function vs(t,e){const n=t.nodes??[],o=t.edges??[],s=n.filter(a=>!a.isGroup);if((e==="LR"||e==="RL")&&s.length>0&&!ds(t,e)||e==="BT"&&s.length>0&&!ls(t))return;for(const a of o){if(a.isLayoutOnly)continue;const d=a.points;!d||d.length<2||(a.points=se(qe(d)))}Ms(o,n),Ss(o,n),us(o,n);const r=new Map;for(const a of n)r.set(String(a.id),a);Ve(o,r),es(o,r),hs(o,r),$n(o,r),gs(o,r),ps(o,r),_n(o,r),ms(o,r);const c=l(()=>{bs(o,r),ys(o,r),xs(o,r),Ve(o,r),kn(o,r),_n(o,r),Ve(o,r),kn(o,r)},"finalizeRenderedEdges");c(),$n(o,r),c(),Dn(o,r),Hn(o,r),Dn(o,r),Hn(o,r)}N(vs,"postProcessSwimlaneLayout");l(vs,"postProcessSwimlaneLayout");function ye(t){const e=new Map(t.nodeById),n=new Set,o=[];for(const s of t.edges){if(!e.has(s.src)||!e.has(s.dst))continue;const r=`${s.id}:${s.src}->${s.dst}`;n.has(r)||(n.add(r),o.push(s))}return{nodes:[...e.keys()],edges:o,layout:t.layout,nodeById:e}}N(ye,"normalizeGraph");l(ye,"normalizeGraph");function ho(t,e){return t.edges.filter(n=>n.dst===e)}N(ho,"incoming");l(ho,"incoming");function Es(t){const e=new Map;for(const n of t.nodes)e.set(n,[]);for(const n of t.edges)e.get(n.src).push(n.dst);return e}N(Es,"buildSuccessorMap");l(Es,"buildSuccessorMap");function go(t){const e=Es(t);for(const n of e.values())n.sort((o,s)=>o.localeCompare(s));return e}N(go,"buildSortedSuccessorMap");l(go,"buildSortedSuccessorMap");function po(t){const e=new Map;for(const n of t.nodes)e.set(n,0);for(const n of t.edges)e.set(n.dst,(e.get(n.dst)??0)+1);return e}N(po,"buildInDegreeMap");l(po,"buildInDegreeMap");function mo(t){return[...t.entries()].filter(([,e])=>e===0).map(([e])=>e).sort((e,n)=>e.localeCompare(n))}N(mo,"sortedZeroInDegreeNodes");l(mo,"sortedZeroInDegreeNodes");function rn(t,e=()=>!0){const n=new Map,o=new Map;for(const s of t.nodes)n.set(s,[]),o.set(s,[]);for(const s of t.edges)e(s)&&(o.get(s.src).push(s.dst),n.get(s.dst).push(s.src));return{preds:n,succs:o}}N(rn,"buildPredecessorSuccessorMaps");l(rn,"buildPredecessorSuccessorMaps");function yo(t,e,n,o){let s=0;for(const c of t.nodes)o?.skipGroups&&t.nodeById.get(c)?.isGroup||(s=Math.max(s,n[c]??0));const r=Array.from({length:s+1},()=>[]);for(const c of e)o?.skipGroups&&t.nodeById.get(c)?.isGroup||r[Math.max(0,n[c]??0)].push(c);return r}N(yo,"buildLayersFromRanks");l(yo,"buildLayersFromRanks");function Pe(t){const e=po(t),n=mo(e),o=[],s=go(t);for(;n.length;){const r=n.shift();o.push(r);for(const c of s.get(r)??[])if(e.set(c,(e.get(c)??0)-1),(e.get(c)??0)===0){let a=0;for(;a<n.length&&n[a]<c;)a++;n.splice(a,0,c)}}return o.length===t.nodes.length?o:null}N(Pe,"topoSortIfAcyclic");l(Pe,"topoSortIfAcyclic");function Re(t){const e=new Map;let n=0;for(const o of t)e.set(o,n),n++;return e}N(Re,"buildLayerIndex");l(Re,"buildLayerIndex");function xo(t){const e=new Array(t.length),n=l((o,s)=>{if(s-o<=1)return 0;const r=o+s>>1;let c=n(o,r)+n(r,s),a=o,d=r,i=o;for(;a<r||d<s;)d>=s||a<r&&t[a]<=t[d]?e[i++]=t[a++]:(e[i++]=t[d++],c+=r-a);for(let g=o;g<s;g++)t[g]=e[g];return c},"count");return n(0,t.length)}N(xo,"countInversions");l(xo,"countInversions");function ws(t){const e=ye(t),n=new Map;for(const i of e.nodes)n.set(i,[]);for(const i of e.edges)n.get(i.src).push(i);for(const i of n.values())i.sort((g,b)=>g.dst===b.dst?g.id.localeCompare(b.id):g.dst.localeCompare(b.dst));const o=Object.create(null);for(const i of e.nodes)o[i]=0;const s=[],r=l(i=>{o[i]=1;for(const g of n.get(i)??[]){const b=g.dst;o[b]===0?r(b):o[b]===1&&s.push(g)}o[i]=2},"dfs"),c=[...e.nodes].sort((i,g)=>i.localeCompare(g));for(const i of c)o[i]===0&&r(i);const a=new Set(s.map(i=>`${i.id}:${i.src}->${i.dst}`)),d=e.edges.map(i=>a.has(`${i.id}:${i.src}->${i.dst}`)?{id:i.id,src:i.dst,dst:i.src,weight:i.weight,ref:i.ref}:i);return{acyclic:{nodes:[...e.nodes],edges:d,layout:e.layout,nodeById:new Map(e.nodeById)},reversed:s}}N(ws,"removeCycles_DFS");l(ws,"removeCycles_DFS");function As(t){const e=new Map,n=l(o=>{if(e.has(o))return e.get(o);const s=t.nodeById.get(o);if(!s)return e.set(o,null),null;const r=s.parentId;if(!r)return e.set(o,null),null;const c=n(r)??r;return e.set(o,c),c},"resolve");for(const o of t.nodes)n(o);return e}N(As,"buildTopLaneMap");l(As,"buildTopLaneMap");function fe(t){const e=As(t);return n=>e.get(n)??null}N(fe,"createTopLaneResolver");l(fe,"createTopLaneResolver");function cn(t){const e=[];for(const n of t.layout.nodes??[])n.isGroup&&!n.parentId&&e.push(n.id);return[...new Set(e)].reverse()}N(cn,"buildTopLaneOrder");l(cn,"buildTopLaneOrder");function bo(t,e){const n=cn(t);if(!e||e.length===0)return n;const o=new Set(n),s=new Set,r=[];for(const c of e)!o.has(c)||s.has(c)||(s.add(c),r.push(c));for(const c of n)s.has(c)||r.push(c);return r}N(bo,"resolveTopLaneOrder");l(bo,"resolveTopLaneOrder");var Rr={EPSILON:1e-6},en={GRAVITY_ITERATIONS:8,MAX_CROSSING_OPTIMIZATION_PASSES:4,DEFAULT_COMPACT_SINGLE_INPUT:!0},Oo={DEFAULT_LAYER_GAP:100,DEFAULT_NODE_GAP:40};function Ts(t,e){const n=ye(t),o=e?.laneOf??(()=>null),s=e?.rankHint,{preds:r}=rn(n);for(const m of r.values())m.sort((I,T)=>I.localeCompare(T));const c=Pe(n)??[...n.nodes].sort((m,I)=>m.localeCompare(I)),a=new Map;for(const[m,I]of c.entries())a.set(I,m);const d=new Map,i=new Map;for(const m of n.nodes)i.set(m,[]);for(const m of c){const I=(r.get(m)??[]).filter(T=>d.has(T));if(I.length>0){const T=Rs(m,I,{laneOf:o,rankHint:s,topoIndex:a});d.set(m,T),i.get(T).push(m)}else d.has(m)||d.set(m,null)}for(const m of n.nodes)d.has(m)||d.set(m,null);const g=new Set;for(const m of n.nodes)(d.get(m)??null)===null&&g.add(m);const b=[...g].sort((m,I)=>{const T=a.get(m)??0,P=a.get(I)??0;return T===P?m.localeCompare(I):T-P}),M=Ns(n),h=new Map;for(const[m,I]of M.entries())h.set(m,[...I].sort((T,P)=>T.localeCompare(P)));const p=Os(h),f=Ps(h),x=new Map;for(const m of n.nodes)x.set(m,[]);for(const m of f)for(const I of m.nodes){const T=x.get(I);T?T.push(m.id):x.set(I,[m.id])}const E=[],S=[],w=new Set,v=l(m=>{if(!w.has(m)){w.add(m),E.push(m);for(const I of i.get(m)??[])v(I);S.push(m)}},"walk");for(const m of b)v(m);for(const m of c)v(m);return{parent:d,children:i,roots:b,componentOf:p,blocks:f,nodeBlocks:x,adjacency:h,preorder:E,postorder:S,topologicalOrder:c}}N(Ts,"buildDrivingTree");l(Ts,"buildDrivingTree");function Rs(t,e,n){const o=n.laneOf(t);return[...e].sort((s,r)=>{const c=n.laneOf(s),a=n.laneOf(r),d=c!=null&&c===o;if(d!==(a!=null&&a===o))return d?-1:1;const i=n.rankHint?.[s],g=n.rankHint?.[r];if(i!=null&&g!=null&&i!==g)return g-i;const b=n.topoIndex.get(s)??0,M=n.topoIndex.get(r)??0;return b!==M?b-M:s.localeCompare(r)})[0]}N(Rs,"chooseParent");l(Rs,"chooseParent");function Ns(t){const e=new Map;for(const n of t.nodes)e.set(n,new Set);for(const n of t.edges)e.get(n.src).add(n.dst),e.get(n.dst).add(n.src);return e}N(Ns,"buildAdjacency");l(Ns,"buildAdjacency");function Os(t){const e=new Map;let n=0;for(const o of t.keys()){if(e.has(o))continue;const s=[o];for(;s.length>0;){const r=s.pop();if(!e.has(r)){e.set(r,n);for(const c of t.get(r)??[])e.has(c)||s.push(c)}}n++}return e}N(Os,"assignComponents");l(Os,"assignComponents");function Ps(t){const e=new Map,n=new Map,o=[],s=[];let r=0;const c=l((a,d)=>{e.set(a,++r),n.set(a,r);for(const i of t.get(a)??[])i!==d&&(e.has(i)?(e.get(i)??0)<(e.get(a)??0)&&(o.push([a,i]),n.set(a,Math.min(n.get(a)??r,e.get(i)??r))):(o.push([a,i]),c(i,a),n.set(a,Math.min(n.get(a)??r,n.get(i)??r)),(n.get(i)??0)>=(e.get(a)??0)&&s.push(Bs(a,i,o,s.length))))},"visit");for(const a of t.keys())e.has(a)||c(a,null);return s}N(Ps,"computeBlocks");l(Ps,"computeBlocks");function Bs(t,e,n,o){const s=[],r=new Set;for(;n.length>0;){const c=n.pop();if(s.push(c),r.add(c[0]),r.add(c[1]),c[0]===t&&c[1]===e||c[0]===e&&c[1]===t)break}return{id:o,edges:s,nodes:[...r]}}N(Bs,"popBlock");l(Bs,"popBlock");function ks(t,e,n){const o=[...t.nodes],s=new Map;for(const[S,w]of o.entries())s.set(w,S);const r=o.length,c=new Array(r).fill(-1),a=new Array(r).fill(0),d=[],i=new Set;for(const S of o){const w=n.parent.get(S)??null,v=s.get(S);v!=null&&w==null&&(c[v]=-1,a[v]=0,i.has(S)||(i.add(S),d.push(S)))}for(;d.length>0;){const S=d.shift(),w=s.get(S);if(w==null)continue;const v=n.children.get(S)??[];for(const m of v){if(i.has(m))continue;const I=s.get(m);I!=null&&(c[I]=w,a[I]=a[w]+1,i.add(m),d.push(m))}}for(const S of o){if(i.has(S))continue;const w=s.get(S);w!=null&&(c[w]=-1,a[w]=0,i.add(S))}const g=Math.max(1,Math.ceil(Math.log2(Math.max(1,r)))+1),b=Array.from({length:g},()=>new Array(r).fill(-1));for(let S=0;S<r;S++)b[0][S]=c[S];for(let S=1;S<g;S++)for(let w=0;w<r;w++){const v=b[S-1][w];b[S][w]=v===-1?-1:b[S-1][v]}const M=l((S,w)=>{if(S===-1||w===-1)return-1;a[S]<a[w]&&([S,w]=[w,S]);const v=a[S]-a[w];for(let m=0;m<g;m++)if(v>>m&1&&(S=b[m][S],S===-1))return-1;if(S===w)return S;for(let m=g-1;m>=0;m--){const I=b[m][S],T=b[m][w];I===-1||T===-1||I!==T&&(S=I,w=T)}return b[0][S]},"lcaIndex"),h=Array.from({length:r},()=>new Map);for(const S of t.edges){let w=S.src,v=S.dst,m=e[w],I=e[v];if(m==null||I==null||(m>I&&([w,v]=[v,w],[m,I]=[I,m]),m==null||I==null||m===I))continue;const T=s.get(w),P=s.get(v);if(T==null||P==null)continue;const O=M(T,P);if(O===-1)continue;const R=h[O];for(let _=m;_<I;_++)R.set(_,(R.get(_)??0)+1)}const p=new Map,f=l((S,w)=>{if(w.size!==0)for(const[v,m]of w)S.set(v,(S.get(v)??0)+m)},"mergeInto"),x=new Set,E=l(S=>{const w=s.get(S);x.add(S);const v=w==null?void 0:h[w],m=v?new Map(v):new Map,I=n.children.get(S)??[];for(const T of I){const P=E(T),O=e[S];if(O!=null){let R=p.get(S);R||(R=new Map,p.set(S,R));let _=P.get(O)??0;const F=e[T];F!=null&&F>O&&(_+=1),R.set(T,_)}f(m,P)}return m},"dfs");for(const S of n.roots)x.has(S)||E(S);for(const S of o)x.has(S)||E(S);return p}N(ks,"computeSubtreeCrossCounts");l(ks,"computeSubtreeCrossCounts");function Fs(t,e,n){const o=new Map,s=l(r=>{let c=n[r]??0;const a=[...e.get(r)??[]];a.sort(Mo(n));for(const d of a){s(d);const i=o.get(d);i!=null&&(c=Math.min(c,i))}o.set(r,c)},"annotate");for(const r of t)s(r);return o}N(Fs,"annotateMinimumLayers");l(Fs,"annotateMinimumLayers");function Mo(t){return(e,n)=>{const o=t[e]??0,s=t[n]??0;return o===s?e.localeCompare(n):o-s}}N(Mo,"compareByRankThenId");l(Mo,"compareByRankThenId");function _s(t,e,n,o){let s=0;for(const d of e){const i=n[d]??0;i>s&&(s=i)}const r=Array.from({length:s+1},()=>[]),c=new Set,a=l(d=>{if(c.has(d))return;c.add(d);const i=n[d]??0;r[i]||(r[i]=[]),r[i].push(d);for(const g of o(d))a(g)},"emit");for(const d of t)a(d);for(const d of e)if(!c.has(d)){const i=n[d]??0;r[i]||(r[i]=[]),r[i].push(d),c.add(d)}return r}N(_s,"emitNodesInTreeOrder");l(_s,"emitNodesInTreeOrder");function Ds(t){const e=[];for(const n of t){const o=new Set,s=[];for(const r of n)o.has(r)||(o.add(r),s.push(r));e.push(s)}return e}N(Ds,"deduplicateLayers");l(Ds,"deduplicateLayers");function Hs(t,e,n,o){return s=>{const r=t.get(s)??[];if(r.length===0)return[];const c=e[s]??0,a=[],d=[],i=n.get(s);for(const g of r){const b=o.get(g)??c;b>c?a.push({child:g,min:b}):d.push(g)}return a.sort((g,b)=>g.min===b.min?g.child.localeCompare(b.child):g.min-b.min),d.sort((g,b)=>{const M=i?.get(g)??0,h=i?.get(b)??0;if(M!==h)return M-h;const p=o.get(g)??c,f=o.get(b)??c;return p!==f?p-f:g.localeCompare(b)}),[...a.map(g=>g.child),...d]}}N(Hs,"createChildOrderer");l(Hs,"createChildOrderer");function nn(t,e,n){const o=Ts(t,{rankHint:e,laneOf:n}),{children:s,roots:r}=o;for(const g of t.nodes)s.has(g)||s.set(g,[]);const c=ks(t,e,o),a=[...r].sort(Mo(e)),d=Hs(s,e,c,Fs(a,s,e));let i=_s(a,t.nodes,e,d);return i=Ds(i),i}N(nn,"buildMultitreeLayerOrder");l(nn,"buildMultitreeLayerOrder");function Xs(t,e,n){const o=new Set(t),s=new Set(e),r=Re(e),c=[];for(const a of n)o.has(a.src)&&s.has(a.dst)&&c.push(r.get(a.dst));return xo(c)}N(Xs,"countCrossingsBetweenAdjacent");l(Xs,"countCrossingsBetweenAdjacent");function zn(t,e,n){const o=[];for(const r of e){const c=n[r.src],a=n[r.dst];if(c==null||a==null||c===a)continue;let d=r.src,i=r.dst,g=c,b=a;c>a&&(d=r.dst,i=r.src,g=a,b=c);for(let M=g;M<b;M++)o.push({id:`${r.id}@${M}`,src:d,dst:i,ref:r.ref})}let s=0;for(let r=0;r+1<t.length;r++)s+=Xs(t[r],t[r+1],o);return s}N(zn,"totalCrossings");l(zn,"totalCrossings");function Ys(t,e){const n={...e},{preds:o}=rn(t),s=fe(t);let r=zn(nn(t,n,s),t.edges,n);const c=en.MAX_CROSSING_OPTIMIZATION_PASSES;for(let a=0;a<c;a++){let d=!1;const i=[...t.nodes].sort((g,b)=>(n[b]??0)-(n[g]??0));for(const g of i){const b=n[g]??0;if(b===0)continue;let M=0;for(const f of o.get(g)??[])M=Math.max(M,(n[f]??0)+1);if(M>=b)continue;const h=b;n[g]=M;const p=zn(nn(t,n,s),t.edges,n);p<r?(r=p,d=!0):n[g]=h}if(!d)break}return n}N(Ys,"optimizeRanksByCrossings");l(Ys,"optimizeRanksByCrossings");function Gs(t,e){const n=fe(t),o=[...t.nodes].sort((s,r)=>(e[s]??0)-(e[r]??0)||s.localeCompare(r));for(const s of o){const r=n(s);if(!r)continue;const c=t.edges.filter(f=>f.src===s);if(c.length===0)continue;let a=!1,d=0;for(const f of c){const x=n(f.dst);x==null||x===r?a=!0:d++}if(d===0||a)continue;let i=0,g=!1;for(const f of t.edges){if(f.dst!==s)continue;const x=n(f.src);x&&(x===r?g=!0:i++)}if(i>0||!g)continue;const b=e[s]??0,M=b+d;let h=0;for(const f of t.edges)f.dst===s&&(h=Math.max(h,(e[f.src]??0)+1));const p=Math.max(b,h,M);p!==b&&(e[s]=p)}}N(Gs,"adjustCrossLaneSources");l(Gs,"adjustCrossLaneSources");function $s(t,e){const n=ye(t),o=Pe(n)??[...n.nodes].sort(),s=e?.compactSingleInput??!1,r=fe(n);let c=Object.create(null);for(const a of o){const d=ho(n,a),i=e?.ignoreCrossLaneEdges?d.filter(g=>{const b=r(g.src),M=r(a);return!b||!M?!0:b===M}):d;if(i.length===0)c[a]=0;else if(s&&i.length===1){const g=i[0].src;r(g)!==r(a)?c[a]=c[g]??0:c[a]=(c[g]??0)+1}else{let g=-1/0;for(const b of i)g=Math.max(g,(c[b.src]??0)+1);c[a]=g===-1/0?0:g}}return(e?.optimizeRanksByCrossings??!1)&&(c=Ys(n,c)),e?.ignoreCrossLaneEdges&&Gs(n,c),{layers:nn(n,c,r),rankOf:c,dummy:new Set}}N($s,"assignLayers_LongestPath");l($s,"assignLayers_LongestPath");function zs(t,e){const n=ye(t),o={...$s(n,{compactSingleInput:e?.compactSingleInput,ignoreCrossLaneEdges:e?.ignoreCrossLaneEdges,optimizeRanksByCrossings:e?.optimizeRanksByCrossings}).rankOf},s=fe(n),{preds:r,succs:c}=rn(n,M=>{if(e?.ignoreCrossLaneEdges){const h=s(M.src),p=s(M.dst);if(h&&p&&h!==p)return!1}return!0}),a=Pe(n)??[...n.nodes],d=[...a].reverse(),i=l((M,h)=>{let p=0;for(const E of r.get(M)??[])p=Math.max(p,(o[E]??0)+1);let f=Number.POSITIVE_INFINITY;const x=c.get(M)??[];return x.length>0&&(f=Math.min(...x.map(E=>(o[E]??0)-1))),Number.isFinite(f)||(f=Math.max(p,h)),Math.min(Math.max(h,p),f)},"clampFeasible"),g=en.GRAVITY_ITERATIONS,b=l(M=>{let h=!1;for(const p of M){const f=r.get(p)??[],x=c.get(p)??[];if(f.length===0&&x.length===0)continue;const E=f.length>0?f.reduce((m,I)=>m+(o[I]??0)+1,0)/f.length:o[p]??0,S=x.length>0?x.reduce((m,I)=>m+(o[I]??0)-1,0)/x.length:o[p]??0,w=Math.round((E+S)/2),v=i(p,w);v!==o[p]&&(o[p]=v,h=!0)}return h},"relaxOrder");for(let M=0;M<g;M++){const h=b(a),p=b(d);if(!h&&!p)break}for(const M of a){let h=0;for(const p of r.get(M)??[])h=Math.max(h,(o[p]??0)+1);(o[M]??0)<h&&(o[M]=h)}for(const M of d){const h=c.get(M)??[];if(h.length>0){const p=Math.min(...h.map(f=>(o[f]??0)-1));(o[M]??0)>p&&(o[M]=p)}}return{layers:yo(n,a,o),rankOf:o,dummy:new Set}}N(zs,"assignLayers_Gravity");l(zs,"assignLayers_Gravity");function Vs(t){const e=po(t),n=go(t);let o=mo(e);const s=[];for(;o.length>0;){const r=[];for(const c of o){s.push(c);for(const a of n.get(c)??[])e.set(a,(e.get(a)??0)-1),(e.get(a)??0)===0&&r.push(a)}o=r.sort((c,a)=>c.localeCompare(a))}return s.length===t.nodes.length?s:null}N(Vs,"topoSortByGenerationIfAcyclic");l(Vs,"topoSortByGenerationIfAcyclic");function js(t,e){const n=ye(t),o=e?.direction==="LR"?Vs(n)??[...n.nodes].sort():Pe(n)??[...n.nodes].sort(),s=fe(n),r=l(i=>s(i)??i,"laneOf"),c=Object.create(null),a=new Map,d=l((i,g)=>e?.ignoreCrossLaneEdges??!0?r(i)===r(g)?1:0:1,"edgeWeight");for(const i of o){if(n.nodeById.get(i)?.isGroup)continue;const g=ho(n,i);let b=0;if(g.length>0)for(const f of g){const x=f.src,E=c[x]??0;b=Math.max(b,E+d(x,i))}const M=r(i),h=a.get(M)??0,p=Math.max(b,h);c[i]=p,a.set(M,p+1)}return{layers:yo(n,o,c,{skipGroups:!0}),rankOf:c,dummy:new Set}}N(js,"assignLayers_LaneAwareCompact");l(js,"assignLayers_LaneAwareCompact");function Us(t,e){const n=ye(e),{rankOf:o}=t,s=t.layers.map(M=>[...M]),r=new Set(t.dummy?[...t.dummy]:[]);let c=0;const a=new Map(n.nodeById),d=l(M=>{const h=`placeholder-${c++}`,p={id:h,isGroup:!1,isDummy:!0,width:0,height:0};for(a.set(h,p),r.add(h);s.length<=M;)s.push([]);return s[M].push(h),o[h]=M,h},"addDummyAt"),i=[...n.edges].sort((M,h)=>M.id===h.id?M.src===h.src?M.dst.localeCompare(h.dst):M.src.localeCompare(h.src):M.id.localeCompare(h.id)),g=[];for(const M of i){const h=o[M.src]??0,p=o[M.dst]??0;if(p-h<=1){g.push(M);continue}let f=M.src;for(let E=h+1,S=0;E<p;E++,S++){const w=d(E);g.push({id:`${M.id}#${S}`,src:f,dst:w,weight:M.weight,ref:M.ref}),f=w}const x=p-h-2;g.push({id:`${M.id}#${Math.max(x+1,0)}`,src:f,dst:M.dst,weight:M.weight,ref:M.ref})}const b={nodes:[...n.nodes,...[...r].filter(M=>!n.nodes.includes(M))],edges:g,layout:n.layout,nodeById:a};return{layering:{layers:s,rankOf:o,dummy:r},graphWithDummies:b}}N(Us,"makeProperLayering");l(Us,"makeProperLayering");function Vn(t){const e=t.length;if(e===0)return Number.POSITIVE_INFINITY;const n=[...t].sort((o,s)=>o-s);return e%2===1?n[(e-1)/2]:.5*(n[e/2-1]+n[e/2])}N(Vn,"median");l(Vn,"median");function jn(t){return t.length===0?Number.POSITIVE_INFINITY:t.reduce((e,n)=>e+n,0)/t.length}N(jn,"barycenter");l(jn,"barycenter");function Ws(t,e,n,o){const s=new Map;for(const r of t)s.set(r,[]);for(const r of n)o==="down"?e.has(r.src)&&s.has(r.dst)&&s.get(r.dst).push(e.get(r.src)):e.has(r.dst)&&s.has(r.src)&&s.get(r.src).push(e.get(r.dst));return s}N(Ws,"neighborPositionsFor");l(Ws,"neighborPositionsFor");function Ks(t,e,n){const o=n.get(t)??0,s=n.get(e)??0;return o!==s?o-s:t.localeCompare(e)}N(Ks,"currentOrderTieBreak");l(Ks,"currentOrderTieBreak");function Un(t,e,n){const o=new Set(t),s=new Set(e),r=Re(t),c=Re(e),a=[];for(const d of n)o.has(d.src)&&s.has(d.dst)&&a.push({u:r.get(d.src),v:c.get(d.dst)});return a.sort((d,i)=>d.u===i.u?d.v-i.v:d.u-i.u),xo(a.map(d=>d.v))}N(Un,"countCrossingsBetweenAdjacent2");l(Un,"countCrossingsBetweenAdjacent");function je(t,e,n){return[...t].sort((o,s)=>{const r=Vn(e.get(o)??[]),c=Vn(e.get(s)??[]);return r===c?Ks(o,s,n):isFinite(r)?isFinite(c)?r-c:-1:1})}N(je,"sortByHeuristic");l(je,"sortByHeuristic");function Wn(t,e,n,o,s,r){const c=Re(t),a=Re(e),d=Ws(e,c,n,o);if(!s||!r||r.length===0)return je(e,d,a);const i=new Map;for(const M of e){const h=s(M),p=i.get(h)??[];p.push(M),i.set(h,p)}const g=[];for(const M of r){const h=i.get(M);if(!h||h.length===0)continue;const p=je(h,d,a);g.push(...p)}const b=i.get(null);if(b&&b.length>0){const M=je(b,d,a);for(const h of M){const p=jn(d.get(h)??[]);let f=g.length;if(isFinite(p)){for(const[x,E]of g.entries())if(p<jn(d.get(E)??[])){f=x;break}}g.splice(f,0,h)}}return g}N(Wn,"reorderLayer");l(Wn,"reorderLayer");function Kn(t,e,n,o,s){const r=[...e],c=new Set(t),a=new Set(e),d=o?new Set(o):null,i=n.filter(f=>c.has(f.src)&&a.has(f.dst)),g=d?n.filter(f=>a.has(f.src)&&d.has(f.dst)):void 0,b=l(f=>{let x=Un(t,f,i);return g&&o&&(x+=Un(f,o,g)),x},"crossingScore"),M=s?new Map:null;if(s&&M)for(const f of e)M.set(f,s(f));let h=!0,p=b(r);for(;h;){h=!1;for(let f=0;f+1<r.length;f++){if(M&&M.get(r[f])!==M.get(r[f+1]))continue;const x=p;[r[f],r[f+1]]=[r[f+1],r[f]];const E=b(r);E<x?(p=E,h=!0):[r[f],r[f+1]]=[r[f+1],r[f]]}}return r}N(Kn,"transposeImprove");l(Kn,"transposeImprove");function qs(t,e,n){const o=t.layers.map(a=>[...a]),s=e.edges,r=fe(e),c=bo(e,n?.laneOrder);for(let a=0;a<3;a++){for(let d=1;d<o.length;d++)o[d]=Wn(o[d-1],o[d],s,"down",r,c),o[d]=Kn(o[d-1],o[d],s,o[d+1],r);for(let d=o.length-2;d>=0;d--)o[d]=Wn(o[d+1],o[d],s,"up",r,c),o[d]=Kn(o[d+1],o[d],s,o[d-1],r)}return{layers:o}}N(qs,"orderLayers");l(qs,"orderLayers");function Js(t,e,n){const o=n?.layerGap??Oo.DEFAULT_LAYER_GAP,s=n?.nodeGap??Oo.DEFAULT_NODE_GAP,r=n?.laneGap??s*2,c=n?.direction??"TB",a=c==="LR"||c==="RL",d=t.layers,i=Object.create(null),g=Object.create(null),b=l(R=>e.nodeById.get(R),"getNode"),M=l(R=>b(R)?.width??0,"getWidth"),h=l(R=>b(R)?.height??0,"getHeight"),p=fe(e),f=bo(e,n?.laneOrder),x=d.map(R=>R.reduce((_,F)=>Math.max(_,h(F)),0)),E=[];if(a)for(let R=0;R+1<d.length;R++){const _=d[R].reduce((xt,kt)=>Math.max(xt,M(kt)),0),F=d[R+1].reduce((xt,kt)=>Math.max(xt,M(kt)),0),Y=x[R],J=x[R+1],et=Y/2+J/2,nt=(_+F)/2,Mt=Math.max(0,nt-et-o);E.push(Mt)}const S=new Set;for(const R of d)for(const _ of R)S.add(p(_));const w=S.has(null),v=f.filter(R=>S.has(R)),m=[...w?[null]:[],...v],I=Object.create(null);for(const R of v)I[R]=0;w&&(I.null=0);for(const R of d){const _=Object.create(null),F=[];for(const Y of R){const J=p(Y);J===null?F.push(Y):(_[J]||=[]).push(Y)}for(const[Y,J]of Object.entries(_)){const et=J.reduce((nt,Mt)=>nt+M(Mt),0)+s*Math.max(0,J.length-1);I[Y]=Math.max(I[Y]??0,et)}if(w&&F.length){const Y=F.reduce((J,et)=>J+M(et),0)+s*Math.max(0,F.length-1);I.null=Math.max(I.null??0,Y)}}const T=new Map;{const R=m.map(F=>(F===null?I.null:I[F])??0);let _=-(R.reduce((F,Y)=>F+Y,0)+r*Math.max(0,m.length-1))/2;for(let F=0;F<m.length;F++){const Y=m[F],J=R[F]??0,et=_+J/2;T.set(Y,et),_+=J,F<m.length-1&&(_+=r)}}let P=0;for(const[R,_]of d.entries()){const F=x[R]??0,Y=new Map;for(const et of _){const nt=p(et),Mt=Y.get(nt)??[];Mt.push(et),Y.set(nt,Mt)}for(const et of m){const nt=Y.get(et)??[];if(nt.length===0)continue;const Mt=T.get(et);if(nt.length===1){const xt=nt[0];i[xt]=Mt,g[xt]=P+F/2}else{const xt=nt.map(rt=>M(rt));let kt=Mt-(xt.reduce((rt,K)=>rt+K,0)+s*(nt.length-1))/2;for(const[rt,K]of nt.entries()){const Q=xt[rt];i[K]=kt+Q/2,g[K]=P+F/2,kt+=Q+s}}}const J=E[R]??0;P+=F+o+J}const O=new Map;for(const R of e.edges){const _=R.ref.id;O.has(_)||O.set(_,[]),O.get(_).push(R)}for(const[,R]of O){if(R.length===0)continue;const _=R[0].ref,F=_.start,Y=_.end;if(F==null||Y==null)continue;const J=Math.round(((i[F]??0)+(i[Y]??0))/2),et=new Set;for(const nt of R)et.add(nt.src),et.add(nt.dst);for(const nt of et)nt===F||nt===Y||e.nodeById.get(nt)?.isDummy&&(i[nt]=J)}return{x:i,y:g}}N(Js,"assignCoordinates");l(Js,"assignCoordinates");var Zs=8;function Qs(t){let e=2166136261;for(let n=0;n<t.length;n++)e^=t.charCodeAt(n),e=Math.imul(e,16777619);return e>>>0}N(Qs,"hashString");l(Qs,"hashString");function tr(t){let e=t>>>0;return()=>{e+=1831565813;let n=e;return n=Math.imul(n^n>>>15,n|1),n^=n+Math.imul(n^n>>>7,n|61),((n^n>>>14)>>>0)/4294967296}}N(tr,"mulberry32");l(tr,"mulberry32");function er(t,e){const n=[...t],o=tr(e);for(let s=n.length-1;s>0;s--){const r=Math.floor(o()*(s+1));[n[s],n[r]]=[n[r],n[s]]}return n}N(er,"deterministicShuffle");l(er,"deterministicShuffle");function nr(t,e){let n=0;for(const[o,s]of t.entries())n+=Math.abs(o-(e.get(s)??o));return n}N(nr,"sourceDistance");l(nr,"sourceDistance");function qn(t,e){const n=new Map;for(const[s,r]of t.entries())n.set(r,s);let o=0;for(const{a:s,b:r,weight:c}of e){const a=n.get(s),d=n.get(r);a==null||d==null||(o+=c*Math.abs(a-d))}return o}N(qn,"laneArrangementCost");l(qn,"laneArrangementCost");function or(t){const e=cn(t);if(e.length<2)return[];const n=new Map(e.map((r,c)=>[r,c])),o=fe(t),s=new Map;for(const r of t.layout.edges??[]){if(r.isLayoutOnly)continue;const c=typeof r.start=="string"?r.start:void 0,a=typeof r.end=="string"?r.end:void 0;if(!c||!a||!t.nodeById.has(c)||!t.nodeById.has(a))continue;const d=o(c),i=o(a);if(!d||!i||d===i)continue;const g=n.get(d),b=n.get(i);if(g==null||b==null)continue;const[M,h]=g<=b?[d,i]:[i,d],p=`${M}\0${h}`,f=s.get(p);f?f.weight++:s.set(p,{a:M,b:h,weight:1})}return[...s.values()]}N(or,"buildWeightedLaneEdges");l(or,"buildWeightedLaneEdges");function Jn(t,e,n){const o=[...t];let s=qn(o,e),r=!0,c=0;const a=Math.max(1,o.length);for(;r&&c<a;){r=!1,c++;for(let d=0;d+1<o.length;d++){[o[d],o[d+1]]=[o[d+1],o[d]];const i=qn(o,e);i<s?(s=i,r=!0):[o[d],o[d+1]]=[o[d+1],o[d]]}}return{order:o,cost:s,sourceDistance:nr(o,n)}}N(Jn,"greedySwitch");l(Jn,"greedySwitch");function sr(t,e){return t.cost!==e.cost?t.cost<e.cost:t.sourceDistance<e.sourceDistance}N(sr,"isBetterCandidate");l(sr,"isBetterCandidate");function rr(t,e,n){const o=[...e].sort((s,r)=>s.a===r.a?s.b.localeCompare(r.b):s.a.localeCompare(r.a)).map(({a:s,b:r,weight:c})=>`${s}:${r}:${c}`).join("|");return Qs(`${t.join("|")}#${o}#${n}`)}N(rr,"seedForRestart");l(rr,"seedForRestart");function ir(t,e={}){const n=cn(t);if(n.length<2)return n;const o=or(t);if(o.length===0)return n;const s=new Map(n.map((a,d)=>[a,d]));let r=Jn(n,o,s);const c=Math.max(0,e.restarts??Zs);for(let a=0;a<c;a++){const d=Jn(er(n,rr(n,o,a)),o,s);sr(d,r)&&(r=d)}return r.order}N(ir,"optimizeTopLaneOrder");l(ir,"optimizeTopLaneOrder");function cr(t,e){const n=e?.ignoreCrossLaneEdges??!0,o=e?.optimizeRanksByCrossings??!0,s=ye(t),r=e?.automaticLaneOrdering?ir(s,{restarts:Zs}):void 0,c=ws(s),a=c.acyclic,{layering:d,graphWithDummies:i}=Us(n?js(a,{compactSingleInput:e?.compactSingleInput??en.DEFAULT_COMPACT_SINGLE_INPUT,ignoreCrossLaneEdges:!0,direction:e?.direction}):zs(a,{compactSingleInput:e?.compactSingleInput??en.DEFAULT_COMPACT_SINGLE_INPUT,ignoreCrossLaneEdges:!1,optimizeRanksByCrossings:o}),a),g=qs(d,i,{laneOrder:r}),b=Js(g,i,{layerGap:e?.layerGap,nodeGap:e?.nodeGap,direction:e?.direction,laneOrder:r});return{acyclic:a,reversed:c.reversed,layering:d,ordered:g,coordinates:b}}N(cr,"sugiyamaLayout");l(cr,"sugiyamaLayout");var ct=Rr.EPSILON,Nr=8,be=15,Ee=15,ze=25,Zt=20,bn=10;function Zn(t,e,n){const o=t.x??0,s=t.y??0,r=e.x-o,c=e.y-s,a=Math.abs(r),d=Math.abs(c);return a<ct&&d<ct?n:d>ct&&d*3>=a?c>0?"bottom":"top":a>ct?r>0?"right":"left":n}N(Zn,"chooseOrthogonalSide");l(Zn,"chooseOrthogonalSide");function Qn(t,e){return Math.abs(t.to-e.from)<ct||Math.abs(t.to-e.to)<ct?t.to:t.from}N(Qn,"sharedLineEndpointCoord");l(Qn,"sharedLineEndpointCoord");function Me(t,e){return t.orient==="vertical"?{x:t.coord,y:e}:{x:e,y:t.coord}}N(Me,"pointOnLine");l(Me,"pointOnLine");function ar(t,e){const n=t.nodes??[],o=t.edges??[],s=[];for(const u of o)u.isLayoutOnly||s.push({...u,__originalEdge:u});const r=new Map,c=new Map,a=[],d=e==="LR";for(const u of n)r.set(u.id,u);const i=n.filter(u=>u.isGroup&&!u.parentId);for(const u of i){const y={id:u.id},C=l(L=>{c.set(L.id,y),n.filter(A=>A.parentId===L.id).forEach(C)},"assignLane");C(u)}const g=n.filter(u=>!u.isGroup&&!u.isEdgeLabel).map(u=>{const y=u.width??10,C=u.height??10,L=u.x??0,A=u.y??0,k=Nr;return{nodeId:u.id,minX:L-y/2-k,maxX:L+y/2+k,minY:A-C/2-k,maxY:A+C/2+k,visualXHalfExtent:d?C/2+k:y/2+k}}),b=l((u,y,C,L)=>{let A=a.find(k=>k.orientation===u&&Math.abs(k.coord-y)<1);return A||(A={id:`pipe-${u}-${y.toFixed(0)}`,orientation:u,coord:y,spanMin:C,spanMax:L,tracks:[]},a.push(A)),A.spanMin=Math.min(A.spanMin,C),A.spanMax=Math.max(A.spanMax,L),A},"getOrAddPipe"),M=l((u,y)=>{const C=u.width??10,L=u.height??10,A=u.x??0,k=u.y??0;switch(y){case"top":return{x:A,y:k-L/2};case"bottom":return{x:A,y:k+L/2};case"left":return{x:A-C/2,y:k};case"right":return{x:A+C/2,y:k}}},"portForSide"),h=l((u,y,C)=>M(u,Zn(u,y,C?"bottom":"top")),"getOrthogonalPort"),p=[],f=[],x=new Set,E=1e3,S=l((u,y,C)=>{if(p.length===0)return 0;const L=Math.abs(y.y-C.y)<ct,A=Math.abs(y.x-C.x)<ct;if(!L&&!A)return 0;let k=0;if(L){const z=y.y,q=Math.min(y.x,C.x)-ct,G=Math.max(y.x,C.x)+ct;if(G<=q)return 0;for(const X of p)X.edgeIndex===u||X.orientation!=="vertical"||X.pipe.coord<q||X.pipe.coord>G||X.from-ct<=z&&X.to+ct>=z&&(k+=E)}else if(A){const z=y.x,q=Math.min(y.y,C.y)-ct,G=Math.max(y.y,C.y)+ct;if(G<=q)return 0;for(const X of p)X.edgeIndex===u||X.orientation!=="horizontal"||X.pipe.coord<q||X.pipe.coord>G||X.from-ct<=z&&X.to+ct>=z&&(k+=E)}return k},"crossingPenalty"),w=s.map((u,y)=>{if(!u.start||!u.end)return{idx:y,crossLane:0,dx:0,dy:0};const C=r.get(u.start),L=r.get(u.end),A=c.get(u.start),k=c.get(u.end);return{idx:y,crossLane:A&&k&&A.id!==k.id?1:0,dx:C&&L?Math.abs((L.x??0)-(C.x??0)):0,dy:C&&L?Math.abs((L.y??0)-(C.y??0)):0}}).sort((u,y)=>{if(u.crossLane!==y.crossLane)return y.crossLane-u.crossLane;const C=u.dx+u.dy,L=y.dx+y.dy;return Math.abs(C-L)>1?C-L:u.idx-y.idx}).map(u=>u.idx),v=l((u,y,C,L)=>{const A=Math.min(u.x,y.x),k=Math.max(u.x,y.x),z=Math.min(u.y,y.y),q=Math.max(u.y,y.y);return!!g.find(G=>C&&G.nodeId===C||L&&G.nodeId===L?!1:Math.abs(u.x-y.x)>ct?G.minY<u.y&&G.maxY>u.y&&G.maxX>A&&G.minX<k:G.minX<u.x&&G.maxX>u.x&&G.maxY>z&&G.minY<q)},"isSegmentBlocked"),m=new Map,I=new Map;for(const u of s)!u.start||!u.end||u.start===u.end||(I.set(u.start,(I.get(u.start)??0)+1),I.set(u.end,(I.get(u.end)??0)+1));const T=l((u,y)=>Zn(u,y,"bottom"),"determineSide"),P=new Map;for(const[u,y]of s.entries()){if(!y.start||!y.end||y.start===y.end||y.points&&y.points.length>0)continue;const C=r.get(y.start),L=r.get(y.end);if(!C||!L)continue;const A=(L.x??0)-(C.x??0),k=(L.y??0)-(C.y??0);P.set(u,{edgeIdx:u,srcId:y.start,dstId:y.end,srcSide:T(C,{x:L.x??0,y:L.y??0}),dstSide:T(L,{x:C.x??0,y:C.y??0}),absDx:Math.abs(A),absDy:Math.abs(k),dxSign:Math.sign(A),dySign:Math.sign(k)})}const O=l(u=>u.srcSide==="top"||u.srcSide==="bottom"?u.absDx===0?1/0:u.absDy/u.absDx:u.absDy===0?1/0:u.absDx/u.absDy,"preferenceStrength"),R=l(u=>u.srcSide==="top"||u.srcSide==="bottom"?u.dxSign>=0?"right":"left":u.dySign>=0?"bottom":"top","secondarySide"),_=new Map;for(const u of P.values()){const y=`${u.srcId}:${u.srcSide}`;_.has(y)||_.set(y,[]),_.get(y).push(u)}const F=new Map,Y=l((u,y)=>`${u}:${y}`,"loadKey");for(const u of P.values())F.set(Y(u.srcId,u.srcSide),(F.get(Y(u.srcId,u.srcSide))??0)+1),F.set(Y(u.dstId,u.dstSide),(F.get(Y(u.dstId,u.dstSide))??0)+1);for(const u of _.values())if(!(u.length<2)){u.sort((y,C)=>{const L=O(y),A=O(C);return Math.abs(L-A)>1e-9?A-L:y.edgeIdx-C.edgeIdx});for(let y=1;y<u.length;y++){const C=u[y],L=R(C),A=F.get(Y(C.srcId,C.srcSide))??0,k=F.get(Y(C.srcId,L))??0;k>=A||(F.set(Y(C.srcId,C.srcSide),A-1),F.set(Y(C.srcId,L),k+1),C.srcSide=L)}}const J=l(u=>{const y=u?.shape;return y==="question"||y==="diamond"},"isDiamondNode"),et=new Map;for(const u of P.values())et.has(u.dstId)||et.set(u.dstId,new Set),et.get(u.dstId).add(u.dstSide);for(const u of P.values()){if(!J(r.get(u.srcId)))continue;const y=et.get(u.srcId);if(!y?.has(u.srcSide))continue;const C=R(u);if(y.has(C)||(F.get(Y(u.srcId,C))??0)>0)continue;const L=F.get(Y(u.srcId,u.srcSide))??0;F.set(Y(u.srcId,u.srcSide),Math.max(0,L-1)),F.set(Y(u.srcId,C),1),u.srcSide=C}for(const u of P.values()){const{edgeIdx:y,srcId:C,dstId:L,srcSide:A,dstSide:k}=u,z=r.get(C),q=r.get(L),G=`${C}:${A}:src`,X=A==="top"||A==="bottom"?q.x??0:q.y??0;m.has(G)||m.set(G,[]),m.get(G).push({edgeIdx:y,oppositeCoord:X});const W=`${L}:${k}:dst`,ft=k==="top"||k==="bottom"?z.x??0:z.y??0;m.has(W)||m.set(W,[]),m.get(W).push({edgeIdx:y,oppositeCoord:ft})}const nt=new Map,Mt=8;for(const[u,y]of m){if(y.length<2)continue;y.sort((St,ot)=>St.oppositeCoord-ot.oppositeCoord);const C=u.split(":"),L=C.slice(0,-2).join(":"),A=C[C.length-2],k=C[C.length-1],z=r.get(L);if(!z)continue;const q=A==="left"||A==="right"?z.height??10:z.width??10,G=z.shape,X=G==="question"||G==="diamond"?q*.3:q,W=Math.min(20,Math.max(Mt,X/(y.length+1))),ft=-(W*(y.length-1))/2;for(const[St,ot]of y.entries()){const ht=ft+St*W,At=`${ot.edgeIdx}:${k}`;nt.set(At,ht)}}const xt=l(u=>!!s[u]?.labelNodeId,"edgeHasLabelNode"),kt=l((u,y)=>u?(m.get(`${u}:${y}:src`)??[]).some(({edgeIdx:C})=>xt(C))||(m.get(`${u}:${y}:dst`)??[]).some(({edgeIdx:C})=>xt(C)):!1,"faceHasLabelNode"),rt=l((u,y,C)=>y==="top"||y==="bottom"?{x:u.x+C,y:u.y}:{x:u.x,y:u.y+C},"applyPortOffset"),K=l((u,y,C)=>{const L=P.get(u),A={x:C.x??0,y:C.y??0},k={x:y.x??0,y:y.y??0},z=L?.srcSide??T(y,A),q=L?.dstSide??T(C,k);let G=L?M(y,L.srcSide):h(y,A,!0),X=L?M(C,L.dstSide):h(C,k,!1);const W=nt.get(`${u}:src`),ft=nt.get(`${u}:dst`);return W!==void 0&&(G=rt(G,z,W)),ft!==void 0&&(X=rt(X,q,ft)),{pSrcPort:G,pDstPort:X,srcSide:z,dstSide:q}},"portsForEdge");for(const u of w){const y=s[u];if(f[u]=[],!y.start||!y.end||y.points&&y.points.length>0||y.start===y.end)continue;const C=r.get(y.start),L=r.get(y.end);if(!C||!L)continue;const{pSrcPort:A,pDstPort:k,srcSide:z,dstSide:q}=K(u,C,L),G={...A},X={...k},W=z==="top"||z==="bottom",ft=q==="top"||q==="bottom";W?G.y=A.y>(C.y??0)?A.y+Zt:A.y-Zt:G.x=A.x>(C.x??0)?A.x+Zt:A.x-Zt,ft?X.y=k.y>(L.y??0)?k.y+Zt:k.y-Zt:X.x=k.x>(L.x??0)?k.x+Zt:k.x-Zt;const St=l(($,V)=>{for(const U of g)if(!V.includes(U.nodeId)&&$.x>U.minX&&$.x<U.maxX&&$.y>U.minY&&$.y<U.maxY)return{inside:!0,obstacle:U};return{inside:!1}},"isPointInObstacle"),ot=l(($,V,U,lt,Rt)=>{if(Rt){const Nt=$.y>(V.y??0);return{x:(U.x??0)>=$.x?lt.maxX+be:lt.minX-be,y:Nt?lt.maxY+Ee:lt.minY-Ee,leavesPositiveSide:Nt}}const Ct=$.x>(V.x??0),vt=(U.y??0)>=$.y;return{x:Ct?lt.maxX+be:lt.minX-be,y:vt?lt.maxY+Ee:lt.minY-Ee,leavesPositiveSide:Ct}},"obstacleDetour");let ht=[];const At=[y.start,y.end],Gt=St(G,At);if(Gt.inside&&Gt.obstacle){const $=Gt.obstacle;if(W){const V=ot(A,C,L,$,!0);G.x=V.x,G.y=V.y;const U=V.leavesPositiveSide?Math.min($.minY-2,A.y+Zt):Math.max($.maxY+2,A.y-Zt);ht=[{x:A.x,y:U},{x:V.x,y:U},{x:V.x,y:V.y}]}else{const V=ot(A,C,L,$,!1),U=V.leavesPositiveSide?Math.min($.minX-2,A.x+Zt):Math.max($.maxX+2,A.x-Zt);G.x=V.x,G.y=V.y,ht=[{x:U,y:A.y},{x:U,y:V.y},{x:V.x,y:V.y}]}}let ce=[];const Ce=St(X,At);if(Ce.inside&&Ce.obstacle){const $=Ce.obstacle;if(ft){const V=ot(k,L,C,$,!0);X.x=V.x,X.y=V.y,ce=[{x:V.x,y:V.y},{x:k.x,y:V.y}]}else{const V=ot(k,L,C,$,!1);X.x=V.x,X.y=V.y,ce=[{x:V.x,y:V.y},{x:V.x,y:k.y}]}}if(ht.length===0&&ce.length===0){const $=be,V=Math.abs(G.x-X.x)<$,U=Math.abs(G.y-X.y)<$,lt=nt.get(`${u}:src`)!==void 0||nt.get(`${u}:dst`)!==void 0,Rt=(m.get(`${y.start??""}:${z}:src`)?.length??0)+(m.get(`${y.start??""}:${z}:dst`)?.length??0),Ct=(m.get(`${y.end??""}:${q}:src`)?.length??0)+(m.get(`${y.end??""}:${q}:dst`)?.length??0),vt=Rt>1||Ct>1,Nt=I.get(y.start??"")??0,gt=I.get(y.end??"")??0,Yt=Rt>1&&kt(y.start,z)||Ct>1&&kt(y.end,q);if((V||U)&&!lt&&(!vt||vt&&!Yt&&(Rt<=1||Nt<=2)&&(Ct<=1||gt<=2))&&!v(A,k,y.start,y.end)){y.points=[{...A},{...G},{...X},{...k}],x.add(u);const zt=U?"horizontal":"vertical",Ot=U?A.y:A.x,Dt=U?Math.min(A.x,k.x):Math.min(A.y,k.y),mt=U?Math.max(A.x,k.x):Math.max(A.y,k.y),Pt={id:`fast-path-${zt}-${Ot.toFixed(0)}-${u}`,orientation:zt,coord:Ot,spanMin:Dt,spanMax:mt,tracks:[]};p.push({edgeIndex:u,segmentIndex:0,orientation:zt,pipe:Pt,trackIndex:0,from:Dt,to:mt});continue}}G.x=b("vertical",G.x,G.y,G.y).coord,X.x=b("vertical",X.x,X.y,X.y).coord;let le=Math.min(G.x,X.x)-50,de=Math.max(G.x,X.x)+50,Le=Math.min(G.y,X.y)-50,ve=Math.max(G.y,X.y)+50;for(const $ of g){const V=Math.min(G.x,X.x),U=Math.max(G.x,X.x),lt=Math.min(G.y,X.y),Rt=Math.max(G.y,X.y);$.minX<U&&$.maxX>V&&$.minY<Rt&&$.maxY>lt&&(le=Math.min(le,$.minX-ze),de=Math.max(de,$.maxX+ze),Le=Math.min(Le,$.minY-ze),ve=Math.max(ve,$.maxY+ze))}for(const $ of g){if($.maxX<le||$.minX>de||$.maxY<Le||$.minY>ve)continue;const V=be;b("horizontal",$.minY-V,le,de),b("horizontal",$.maxY+V,le,de);const U=Ee;b("vertical",$.minX-U,Le,ve),b("vertical",$.maxX+U,Le,ve)}b("horizontal",G.y,le,de),b("horizontal",X.y,le,de);const ur=a.filter($=>$.orientation==="horizontal"&&$.coord>=Le&&$.coord<=ve),hr=a.filter($=>$.orientation==="vertical"&&$.coord>=le&&$.coord<=de),ke=l(($,V)=>`${$.toFixed(1)},${V.toFixed(1)}`,"getKey"),Fe=ke(G.x,G.y),Io=ke(X.x,X.y),_e=new Map,dn=new Map,un=new Map,De=new Set,xe=[];_e.set(Fe,0),un.set(Fe,"n"),xe.push({key:Fe,f:Math.hypot(X.x-G.x,X.y-G.y),pt:G}),De.add(Fe);let Ht=[];const ue=l(($,V)=>v($,V,y.start,y.end),"checkSegmentBlocked"),hn={x:X.x,y:G.y},gr=ue(G,hn),pr=ue(hn,X),mr=gr||pr,gn={x:G.x,y:X.y},yr=ue(G,gn),xr=ue(gn,X);if(mr?yr||xr||(Math.abs(G.x-X.x)<ct?Ht=[G,X]:Ht=[G,gn,X]):Math.abs(G.y-X.y)<ct||Math.abs(G.x-X.x)<ct?Ht=[G,X]:Ht=[G,hn,X],Ht.length===0)for(;xe.length>0;){xe.sort((gt,Yt)=>gt.f-Yt.f);const $=xe.shift();if(De.delete($.key),$.key===Io){let gt=Io,Yt=X;for(Ht=[Yt];dn.has(gt);){const zt=dn.get(gt);Ht.unshift(zt),Yt=zt,gt=ke(zt.x,zt.y)}break}const V=$.pt.x,U=$.pt.y,lt=hr.sort((gt,Yt)=>gt.coord-Yt.coord),Rt=lt.findIndex(gt=>Math.abs(gt.coord-V)<1),Ct=ur.sort((gt,Yt)=>gt.coord-Yt.coord),vt=Ct.findIndex(gt=>Math.abs(gt.coord-U)<1),Nt=[];Rt>0&&Nt.push({x:lt[Rt-1].coord,y:U}),Rt>=0&&Rt<lt.length-1&&Nt.push({x:lt[Rt+1].coord,y:U}),vt>0&&Nt.push({x:V,y:Ct[vt-1].coord}),vt>=0&&vt<Ct.length-1&&Nt.push({x:V,y:Ct[vt+1].coord});for(const gt of Nt){const Yt=Math.min(V,gt.x),zt=Math.max(V,gt.x),Ot=Math.min(U,gt.y),Dt=Math.max(U,gt.y);if(g.some(Kt=>Kt.nodeId===y.start||Kt.nodeId===y.end?!1:Yt!==zt?Kt.minY<U&&Kt.maxY>U&&Kt.maxX>Yt&&Kt.minX<zt:Kt.minX<V&&Kt.maxX>V&&Kt.maxY>Ot&&Kt.minY<Dt))continue;const mt=ke(gt.x,gt.y),Pt=Math.abs(gt.x-V)+Math.abs(gt.y-U),Wt=S(u,$.pt,gt);let yt=0;const Bt=X.x-G.x,he=X.y-G.y,ge=gt.x-V,pn=gt.y-U;(he>10&&pn<-5||he<-10&&pn>5)&&(yt=Math.abs(pn)*100),(Bt>10&&ge<-5||Bt<-10&&ge>5)&&(yt+=Math.abs(ge)*50);let So=0;const Co=un.get($.key)??"n",Lo=Math.abs(ge)>ct?"h":"v";Co!=="n"&&Co!==Lo&&(So=50);const br=Pt+Wt+yt+So,He=(_e.get($.key)??1/0)+br,vo=Math.abs(X.x-gt.x)+Math.abs(X.y-gt.y);if(He<(_e.get(mt)??1/0))if(dn.set(mt,$.pt),_e.set(mt,He),un.set(mt,Lo),!De.has(mt))xe.push({key:mt,f:He+vo,pt:gt}),De.add(mt);else{const Kt=xe.findIndex(Mr=>Mr.key===mt);Kt!==-1&&(xe[Kt].f=He+vo)}}}if(Ht.length===0&&(Ht=[G,{x:G.x,y:X.y},X]),Ht.length>4){const $=Ht[0],V=Ht[Ht.length-1];let U=Math.min($.x,V.x),lt=Math.max($.x,V.x),Rt=Math.min($.y,V.y),Ct=Math.max($.y,V.y);for(const Ot of Ht)U=Math.min(U,Ot.x),lt=Math.max(lt,Ot.x),Rt=Math.min(Rt,Ot.y),Ct=Math.max(Ct,Ot.y);const vt=lt>Math.max($.x,V.x),Nt=U<Math.min($.x,V.x);if(d){const Ot=Ee;if(vt){const Dt=Math.max($.x,V.x),mt=Math.min($.y,V.y),Pt=Math.max($.y,V.y),Wt=g.filter(yt=>yt.minX<Dt&&yt.maxX>Dt&&yt.minY<Pt&&yt.maxY>mt);if(Wt.length>0){let yt=Math.max($.x,V.x);for(const Bt of Wt){const he=(Bt.minX+Bt.maxX)/2;if(Bt.visualXHalfExtent===void 0||isNaN(Bt.visualXHalfExtent))continue;const ge=he+Bt.visualXHalfExtent+Ot;yt=Math.max(yt,ge)}isNaN(yt)||(lt=yt)}}if(Nt){const Dt=g.filter(mt=>mt.minX<Math.min($.x,V.x)+Ot&&mt.minY<Math.max($.y,V.y)&&mt.maxY>Math.min($.y,V.y));if(Dt.length>0){let mt=Math.min($.x,V.x);for(const Pt of Dt){const Wt=(Pt.minX+Pt.maxX)/2-Pt.visualXHalfExtent-Ot;mt=Math.min(mt,Wt)}U=mt}}}const gt=l(Ot=>{const Dt=V.y>$.y,mt=g.filter(yt=>{const Bt=Math.min($.x,V.x)<yt.maxX&&Math.max($.x,V.x)>yt.minX,he=Math.min($.y,V.y)<yt.maxY&&Math.max($.y,V.y)>yt.minY;return Bt&&he});let Pt=mt;if(d&&mt.length>0){const yt=mt.filter(Bt=>Bt.minX<Ot&&Bt.maxX>Ot);yt.length>0&&(Pt=yt)}if(Pt.length===0)return V.y;const Wt=be;if(Dt){const yt=Math.max(...Pt.map(Bt=>Bt.maxY))+Wt;if(yt<V.y-ct)return yt}else{const yt=Math.min(...Pt.map(Bt=>Bt.minY))-Wt;if(yt>V.y+ct)return yt}return V.y},"findBestReturnY"),Yt=l(Ot=>{const Dt=gt(Ot),mt={x:Ot,y:$.y},Pt={x:Ot,y:Dt},Wt={x:V.x,y:Dt},yt=ue($,mt),Bt=ue(mt,Pt),he=ue(Pt,Wt),ge=Dt!==V.y?ue(Wt,V):!1;return!yt&&!Bt&&!he&&!ge?Math.abs(Dt-V.y)<ct?[$,mt,Pt,V]:[$,mt,Pt,Wt,V]:null},"trySimplifyWithDetourX"),zt=vt&&!Nt?Yt(lt):Nt&&!vt?Yt(U):null;zt&&(Ht=zt)}const Xt=[A,...ht,...Ht,...ce.reverse(),k];if(Xt.length>=3){const $=Xt[Xt.length-1],V=Xt[Xt.length-2],U=Xt[Xt.length-3],lt=Math.abs(U.y-V.y)<ct&&Math.abs(V.y-$.y)<ct,Rt=Math.abs(U.x-V.x)<ct&&Math.abs(V.x-$.x)<ct;if(lt){const Ct=Math.sign(V.x-U.x),vt=Math.sign($.x-U.x);Ct!==0&&Ct===vt&&Math.abs(V.x-U.x)>Math.abs($.x-U.x)&&Xt.splice(-2,1)}else if(Rt){const Ct=Math.sign(V.y-U.y),vt=Math.sign($.y-U.y);Ct!==0&&Ct===vt&&Math.abs(V.y-U.y)>Math.abs($.y-U.y)&&Xt.splice(-2,1)}}const ne=[Xt[0]];for(let $=1;$<Xt.length-1;$++){if($===1){ne.push(Xt[$]);continue}const V=ne[ne.length-1],U=Xt[$],lt=Xt[$+1];if(Math.abs(V.y-U.y)<ct&&Math.abs(U.y-lt.y)<ct){if(U.x>V.x!=lt.x>U.x){ne.push(U);continue}continue}if(Math.abs(V.x-U.x)<ct&&Math.abs(U.x-lt.x)<ct){if(U.y>V.y!=lt.y>U.y){ne.push(U);continue}continue}ne.push(U)}ne.push(Xt[Xt.length-1]);for(let $=0;$<ne.length-1;$++){const V=ne[$],U=ne[$+1],lt=Math.abs(V.x-U.x)<ct?"vertical":"horizontal",Rt=lt==="vertical"?V.x:V.y,Ct=lt==="vertical"?Math.min(V.y,U.y):Math.min(V.x,U.x),vt=lt==="vertical"?Math.max(V.y,U.y):Math.max(V.x,U.x),Nt=b(lt,Rt,Ct,vt),gt={edgeIndex:u,segmentIndex:$,orientation:lt,pipe:Nt,trackIndex:0,from:Ct,to:vt};p.push(gt),f[u].push(p.length-1),Nt.tracks[0]||(Nt.tracks[0]={index:0,coord:Nt.coord,segments:[]}),Nt.tracks[0].segments.push({edgeIndex:u,segmentIndex:$,from:Ct,to:vt})}}const Q=l((u,y)=>u.from<y.to&&y.from<u.to,"segmentsOverlap"),st=l((u,y,C,L)=>{const A=!L.segments.some(z=>(z.edgeIndex!==y.edgeIndex||z.segmentIndex!==y.segmentIndex)&&Q(z,u)),k=!C.segments.some(z=>(z.edgeIndex!==u.edgeIndex||z.segmentIndex!==u.segmentIndex)&&Q(z,y));return A&&k?(u.trackIndex=L.index,y.trackIndex=C.index,C.segments=[...C.segments.filter(z=>z.edgeIndex!==u.edgeIndex||z.segmentIndex!==u.segmentIndex),{edgeIndex:y.edgeIndex,segmentIndex:y.segmentIndex,from:y.from,to:y.to}],L.segments=[...L.segments.filter(z=>z.edgeIndex!==y.edgeIndex||z.segmentIndex!==y.segmentIndex),{edgeIndex:u.edgeIndex,segmentIndex:u.segmentIndex,from:u.from,to:u.to}],!0):!1},"trySwapSegmentsAcrossTracks"),at=l(u=>{const y=u.tracks.length;return u.tracks[y]={index:y,coord:u.coord,segments:[]},y},"createNewTrack"),bt=l((u,y)=>{const C=u.pipe.tracks[u.trackIndex];C.segments=C.segments.filter(L=>L.edgeIndex!==u.edgeIndex||L.segmentIndex!==u.segmentIndex),u.trackIndex=y,u.pipe.tracks[y].segments.push({edgeIndex:u.edgeIndex,segmentIndex:u.segmentIndex,from:u.from,to:u.to})},"moveSegmentToTrack"),It=l((u,y)=>{const C=f[u.edgeIndex];for(const L of C){const A=p[L];A.pipe===u.pipe&&bt(A,y)}},"moveSegmentChainToTrack"),Lt=l(u=>{const y=f[u.edgeIndex],C=y.indexOf(p.indexOf(u)),L=[];return C>0&&L.push(p[y[C-1]]),C<y.length-1&&L.push(p[y[C+1]]),L},"getAdjacentSegmentsAlongEdge"),Ut=l((u,y)=>{if(u.orientation===y.orientation)return!1;const C=u.orientation==="horizontal"?u:y,L=u.orientation==="horizontal"?y:u;return L.pipe.coord>C.from&&L.pipe.coord<C.to&&C.pipe.coord>L.from&&C.pipe.coord<L.to},"haveAnyCrossing"),Jt=l((u,y)=>{for(const C of u.tracks)if(!C.segments.some(L=>(L.edgeIndex!==y.edgeIndex||L.segmentIndex!==y.segmentIndex)&&Q(L,y)))return C.index;return-1},"findAvailableTrack"),re=l((u,y)=>{if(u.trackIndex===y.trackIndex)return Q(u,y);const C=Lt(u),L=Lt(y);return C.some(A=>L.some(k=>Ut(A,k)))},"segmentsConflict"),ie=l((u,y,C)=>{if(st(u,y,u.pipe.tracks[u.trackIndex],y.pipe.tracks[y.trackIndex]))return;const L=Jt(u.pipe,y);C(y,L!==-1?L:at(u.pipe))},"resolveTrackConflict"),Be=l(u=>{let y=0;for(let C=0;C<u.length;C++)for(let L=C+1;L<u.length;L++){const A=u[C],k=u[L];A.pipe===k.pipe&&re(A,k)&&(y++,ie(A,k,It))}return y},"resolveHandleConflicts"),Se=new Map,Ne=l(u=>{if(Se.has(u))return Se.get(u);const y=f[u];if(y.length===0){const z={dest:0,deviation:0,base:0,delta:0};return Se.set(u,z),z}const C=p[y[0]].pipe.coord;let L=C;for(let z=1;z<y.length;z++){const q=p[y[z]];if(q.orientation==="horizontal"){const G=q.from,X=q.to;L=Math.abs(G-C)>Math.abs(X-C)?G:X;break}}const A=Math.abs(L-C),k={dest:L,deviation:A,base:C,delta:L-C};return Se.set(u,k),k},"getDestInfo"),an=l(()=>{let u=0;const y=new Map;for(const[L,A]of s.entries())f[L].length!==0&&A.start&&(y.has(A.start)||y.set(A.start,[]),y.get(A.start).push(L));const C=l(L=>{const A=s[L];if(!A.start||!A.end)return 0;const k=r.get(A.start),z=r.get(A.end);if(!k||!z)return 0;const q=(z.x??0)-(k.x??0),G=(z.y??0)-(k.y??0);return Math.abs(q)+Math.abs(G)},"getEdgeDistance");for(const L of y.values()){L.sort((k,z)=>{const q=Ne(k),G=Ne(z);if(Math.abs(q.deviation-G.deviation)>1)return q.deviation-G.deviation;if(Math.abs(q.dest-G.dest)>1)return q.dest-G.dest;const X=C(k),W=C(z);if(Math.abs(X-W)>1)return W-X;const ft=f[k].length,St=f[z].length;if(ft!==St)return ft-St;if(ft===1){const ot=f[k][0],ht=f[z][0];if(p[ot]&&p[ht]){const At=p[ot],Gt=p[ht],ce=Math.abs(At.to-At.from),Ce=Math.abs(Gt.to-Gt.from);if(Math.abs(ce-Ce)>1)return ce-Ce}}return 0});const A=L.map(k=>p[f[k][0]]);u+=Be(A)}return u},"fixSourceHandleCrossings"),fn=l(()=>{let u=0;const y=new Map;for(const[C,L]of s.entries())f[C].length!==0&&L.end&&(y.has(L.end)||y.set(L.end,[]),y.get(L.end).push(C));for(const C of y.values()){C.sort((A,k)=>{const z=l(X=>{const W=f[X];if(W.length<2)return 0;const ft=p[W[W.length-2]];return Math.abs(ft.to-ft.from)},"getDist"),q=z(A),G=z(k);return Math.abs(q-G)>.1?q-G:A-k});const L=C.map(A=>p[f[A][f[A].length-1]]);u+=Be(L)}return u},"fixTargetHandleCrossings"),ln=l(()=>{let u=0;for(const y of a){const C=[];for(const L of y.tracks)for(const A of L.segments){const k=f[A.edgeIndex].find(z=>p[z].segmentIndex===A.segmentIndex);k!==void 0&&C.push(p[k])}C.sort((L,A)=>L.edgeIndex-A.edgeIndex||L.segmentIndex-A.segmentIndex);for(let L=0;L<C.length;L++)for(let A=L+1;A<C.length;A++){const k=C[L],z=C[A];re(k,z)&&(u++,ie(k,z,bt))}}return u},"fixPipeCrossings");let B=0;const D=10;for(;B<D;){let u=0;if(u+=an(),u+=fn(),u+=ln(),u===0)break;B++}const H=new Map;for(const u of a){const y=[];u.tracks.forEach(L=>{L.segments.forEach(A=>{y.push({edgeIndex:A.edgeIndex,segmentIndex:A.segmentIndex,trackIndex:L.index,from:A.from,to:A.to})})}),y.sort((L,A)=>L.from-A.from);const C=[];if(y.length>0){let L=[y[0]],A=y[0].to;for(let k=1;k<y.length;k++){const z=y[k];z.from<A?(L.push(z),A=Math.max(A,z.to)):(C.push(L),L=[z],A=z.to)}C.push(L)}for(const L of C){const A=new Set;L.forEach(ot=>A.add(ot.trackIndex));const k=new Map;L.forEach(ot=>{const ht=Ne(ot.edgeIndex);k.set(ot.trackIndex,(k.get(ot.trackIndex)??0)+ht.delta)});const z=[...A].filter(ot=>(k.get(ot)??0)<-1),q=[...A].filter(ot=>(k.get(ot)??0)>1),G=[...A].filter(ot=>Math.abs(k.get(ot)??0)<=1);z.sort((ot,ht)=>(k.get(ht)??0)-(k.get(ot)??0)),q.sort((ot,ht)=>(k.get(ot)??0)-(k.get(ht)??0));const X=l((ot,ht)=>{L.filter(At=>At.trackIndex===ot).forEach(At=>{const Gt=x.has(At.edgeIndex)?u.coord:ht;H.set(`${At.edgeIndex}-${At.segmentIndex}`,Gt)})},"assignCoord");let W=0;for(const ot of z)W++,X(ot,u.coord-W*bn);if(G.length===0&&A.size>0){const ot=[...A].sort((Gt,ce)=>Math.abs(k.get(Gt)??0)-Math.abs(k.get(ce)??0))[0],ht=z.indexOf(ot);ht!==-1&&z.splice(ht,1);const At=q.indexOf(ot);At!==-1&&q.splice(At,1),G.push(ot)}let ft=0;for(const ot of G){if(ft===0)X(ot,u.coord);else{const ht=ft%2===1?1:-1,At=Math.ceil(ft/2);X(ot,u.coord+ht*At*bn*.5)}ft++}let St=0;for(const ot of q)St++,X(ot,u.coord+St*bn)}}for(const[u,y]of s.entries()){const C=f[u]??[];if(C.length===0)continue;const L=[],{pSrcPort:A,pDstPort:k}=K(u,r.get(y.start),r.get(y.end)),z=C.map(X=>{const W=p[X],ft=H.get(`${W.edgeIndex}-${W.segmentIndex}`)??W.pipe.coord;return{orient:W.orientation,coord:ft,from:W.from,to:W.to}});L.push(A);for(let X=0;X<z.length;X++){const W=z[X],ft=L[L.length-1],St=W.orient==="vertical"?ft.y:ft.x,ot=W.orient==="vertical"?ft.x:ft.y,ht=z[X+1],At=X<z.length-1;if(Math.abs(ot-W.coord)>ct&&L.push(Me(W,St)),At&&ht.orient===W.orient)if(Math.abs(W.coord-ht.coord)>ct){const Gt=W.orient==="vertical"?(St+ht.from)/2:Qn(W,ht);L.push(Me(W,Gt),Me(ht,Gt))}else(X===0||X===z.length-2)&&L.push(Me(W,Qn(W,ht)));else if(At)L.push(Me(W,ht.coord));else{const Gt=Math.abs(W.from-St)<Math.abs(W.to-St)?W.to:W.from;L.push(Me(W,Gt))}}const q=L[L.length-1];(Math.abs(q.x-k.x)>ct||Math.abs(q.y-k.y)>ct)&&L.push(k);const G=[];L.length>0&&G.push(L[0]);for(let X=1;X<L.length;X++){const W=L[X],ft=G[G.length-1];(Math.abs(W.x-ft.x)>ct||Math.abs(W.y-ft.y)>ct)&&G.push(W)}y.points=G}for(const u of s){const y=u.__originalEdge;y&&u.points&&(y.points=u.points)}t.edges=(t.edges??[]).filter(u=>!u.isLayoutOnly);const j=l((u,y)=>{const C=y.x??0,L=y.y??0,A=y.width??0,k=y.height??0;if(A<=0||k<=0)return u;const z=C-A/2,q=C+A/2,G=L-k/2,X=L+k/2;if(u.x<z||u.x>q||u.y<G||u.y>X)return u;const W=u.x-z,ft=q-u.x,St=u.y-G,ot=X-u.y,ht=Math.min(W,ft,St,ot);return ht===W?{x:z,y:u.y}:ht===ft?{x:q,y:u.y}:ht===St?{x:u.x,y:G}:{x:u.x,y:X}},"nodeBoundaryClamp");for(const u of t.edges){const y=u.points;if(!y||y.length<2)continue;const C=u.start,L=u.end,A=C?r.get(C):void 0,k=L?r.get(L):void 0;A&&(y[0]=j(y[0],A)),k&&(y[y.length-1]=j(y[y.length-1],k))}return t}N(ar,"routeEdgesOrthogonal");l(ar,"routeEdgesOrthogonal");function fr(t){return t.direction??"TB"}N(fr,"getSwimlaneDirection");l(fr,"getSwimlaneDirection");function lr(t){const e=jo(t),n=t.config.flowchart?.nodeSpacing??40,o=t.config.flowchart?.rankSpacing??100,s=t.config.swimlane?.ignoreCrossLaneEdges??!0,r=t.config.swimlane?.optimizeRanksByCrossings??!0,c=t.config.swimlane?.automaticLaneOrdering??!1,a=fr(t),{ordered:d,coordinates:i}=cr(e,{nodeGap:n,layerGap:o,ignoreCrossLaneEdges:s,optimizeRanksByCrossings:r,automaticLaneOrdering:c,direction:a});Uo(e,d,i,{nodeGap:n,layerGap:o});for(const g of t.edges??[])delete g.points;ar(t,a);for(const g of t.edges??[])(!g.curve||g.curve==="basis")&&(g.curve="rounded");return vs(t,a),Ls(t),a}N(lr,"runSwimlaneLayoutCore");l(lr,"runSwimlaneLayoutCore");function dr(t){Vo(t);const e=Wo(t);t.nodes=e.nodes,t.edges=e.edges}N(dr,"prepareSwimlaneLayout");l(dr,"prepareSwimlaneLayout");var jr=Sr({prepareLayout:dr,runLayoutCore:lr,afterPaint:$o});export{jr as render};
@@ -0,0 +1,8 @@
1
+ import{n as r}from"./chunk-Y2CYZVJY-OvsAdhaO.js";import"./src-Bssc388C.js";import"./chunk-DU6HZSFF-2P5iNHqg.js";import"./chunk-75Z2AOVW-BaPl5WA6.js";import"./chunk-PWAF6VOD-CR3rNBNB.js";import"./chunk-GMAD6QVW-BfvaaEBW.js";import"./chunk-P2QGCYS3-CjqEi3mx.js";import"./chunk-4HAMMTFA-CGGd_Pxz.js";import"./chunk-GVQU2GXP-Cwp_Wpj2.js";import"./chunk-OSK3NFVY-DlrxddG-.js";import"./chunk-F27PBJKO-Ci7GmRgM.js";import"./chunk-XXDRQBXY-BhrH-9FX.js";import"./chunk-POPQ4Y6H-BytmIqFc.js";import"./chunk-L3NEJ4N5-JUd1UqX1.js";import{r as o,t as m}from"./chunk-SHT3W25Y-B1Klag0Z.js";import"./mermaid.core-G_BSi0G0.js";var $=m({defaultLayout:"swimlane",styles:r(t=>`${o(t)}
2
+ .swimlane.cluster rect {
3
+ stroke: ${t.clusterBorder} !important;
4
+ }
5
+ [data-look="neo"].cluster rect {
6
+ filter: none;
7
+ }
8
+ `,"getStyles")});export{$ as diagram};
@@ -0,0 +1 @@
1
+ var S=Object.defineProperty;var n=(a,t)=>S(a,"name",{value:t,configurable:!0});import{i as I}from"./rolldown-runtime-ZpX3ckPj.js";import{Fr as z,Lr as A,S as T,a as P,c as R,i as M,l as x,r as E,s as h}from"./createLucideIcon-D-iIM3hK.js";import{i as F,n as N,r as w,t as L}from"./dist-B3Uu-urE.js";import{r as V}from"./button-DCI8NFig.js";var f=I(A(),1),s=I(z(),1),$=Object.defineProperty,v=n((a,t)=>$(a,"name",{value:t,configurable:!0}),"__name"),_="Tabs",[D,nt]=R(_,[w]),k=w(),[G,C]=D(_),q=f.forwardRef(v(n(function(t,c){const{__scopeTabs:u,value:e,onValueChange:i,defaultValue:l,orientation:r="horizontal",dir:b,activationMode:p="automatic",...m}=t,d=F(b),[o,g]=P({prop:e,onChange:i,defaultProp:l??"",caller:_});return(0,s.jsx)(G,{scope:u,baseId:E(),value:o,onValueChange:g,orientation:r,dir:d,activationMode:p,children:(0,s.jsx)(x.div,{dir:d,"data-orientation":r,...m,ref:c})})},"Tabs2"),"Tabs")),K="TabsList",B=f.forwardRef(v(n(function(t,c){const{__scopeTabs:u,loop:e=!0,...i}=t,l=C(K,u),r=k(u);return(0,s.jsx)(N,{asChild:!0,...r,orientation:l.orientation,dir:l.dir,loop:e,children:(0,s.jsx)(x.div,{role:"tablist","aria-orientation":l.orientation,...i,ref:c})})},"TabsList2"),"TabsList")),O="TabsTrigger",H=f.forwardRef(v(n(function(t,c){const{__scopeTabs:u,value:e,disabled:i=!1,...l}=t,r=C(O,u),b=k(u),p=j(r.baseId,e),m=y(r.baseId,e),d=e===r.value;return(0,s.jsx)(L,{asChild:!0,...b,focusable:!i,active:d,children:(0,s.jsx)(x.button,{type:"button",role:"tab","aria-selected":d,"aria-controls":m,"data-state":d?"active":"inactive","data-disabled":i?"":void 0,disabled:i,id:p,...l,ref:c,onMouseDown:h(t.onMouseDown,o=>{!i&&o.button===0&&o.ctrlKey===!1?r.onValueChange(e):o.preventDefault()}),onKeyDown:h(t.onKeyDown,o=>{i||o.target!==o.currentTarget||[" ","Enter"].includes(o.key)&&r.onValueChange(e)}),onFocus:h(t.onFocus,()=>{const o=r.activationMode!=="manual";!d&&!i&&o&&r.onValueChange(e)})})})},"TabsTrigger2"),"TabsTrigger")),J="TabsContent",Q=f.forwardRef(v(n(function(t,c){const{__scopeTabs:u,value:e,forceMount:i,children:l,...r}=t,b=C(J,u),p=j(b.baseId,e),m=y(b.baseId,e),d=e===b.value,o=f.useRef(d);return f.useEffect(()=>{const g=requestAnimationFrame(()=>o.current=!1);return()=>cancelAnimationFrame(g)},[]),(0,s.jsx)(M,{present:i||d,children:n(({present:g})=>(0,s.jsx)(x.div,{"data-state":d?"active":"inactive","data-orientation":b.orientation,role:"tabpanel","aria-labelledby":p,hidden:!g,id:m,tabIndex:0,...r,ref:c,style:{...t.style,animationDuration:o.current?"0s":void 0},children:g&&l}),"children")})},"TabsContent2"),"TabsContent"));function j(a,t){return`${a}-trigger-${t}`}n(j,"makeTriggerId");v(j,"makeTriggerId");function y(a,t){return`${a}-content-${t}`}n(y,"makeContentId");v(y,"makeContentId");var U=q,W=B,X=H,Y=Q;function it({className:a,orientation:t="horizontal",...c}){return(0,s.jsx)(U,{"data-slot":"tabs","data-orientation":t,orientation:t,className:T("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",a),...c})}n(it,"Tabs");var Z=V("p-(--sz-3px) group-data-[orientation=horizontal]/tabs:h-9 group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col",{variants:{variant:{default:"bg-muted",line:"gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});function st({className:a,variant:t="default",...c}){return(0,s.jsx)(W,{"data-slot":"tabs-list","data-variant":t,className:T(Z({variant:t}),a),...c})}n(st,"TabsList");function ct({className:a,...t}){return(0,s.jsx)(X,{"data-slot":"tabs-trigger",className:T("focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-foreground/60 hover:text-foreground dark:text-muted-foreground dark:hover:text-foreground relative inline-flex h-(--sz-calc-27) flex-1 items-center justify-center gap-1.5 border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-(--tp-color-background-color-border-color-box-shadow) group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start focus-visible:ring-(length:--rad-3) focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent","data-[state=active]:bg-background dark:data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 data-[state=active]:text-foreground","after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-(--sz-neg-5px) group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",a),...t})}n(ct,"TabsTrigger");function dt({className:a,...t}){return(0,s.jsx)(Y,{"data-slot":"tabs-content",className:T("flex-1 outline-none",a),...t})}n(dt,"TabsContent");export{ct as i,dt as n,st as r,it as t};
@@ -0,0 +1 @@
1
+ var d=Object.defineProperty;var a=(e,n)=>d(e,"name",{value:n,configurable:!0});function p(e){for(var n={},t=e.split(" "),r=0;r<t.length;++r)n[t[r]]=!0;return n}a(p,"parseWords");var u=p("Tcl safe after append array auto_execok auto_import auto_load auto_mkindex auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd close concat continue dde eof encoding error eval exec exit expr fblocked fconfigure fcopy file fileevent filename filename flush for foreach format gets glob global history http if incr info interp join lappend lindex linsert list llength load lrange lreplace lsearch lset lsort memory msgcat namespace open package parray pid pkg::create pkg_mkIndex proc puts pwd re_syntax read regex regexp registry regsub rename resource return scan seek set socket source split string subst switch tcl_endOfWord tcl_findLibrary tcl_startOfNextWord tcl_wordBreakAfter tcl_startOfPreviousWord tcl_wordBreakBefore tcltest tclvars tell time trace unknown unset update uplevel upvar variable vwait"),c=p("if elseif else and not or eq ne in ni for foreach while switch"),s=/[+\-*&%=<>!?^\/\|]/;function l(e,n,t){return n.tokenize=t,t(e,n)}a(l,"chain");function i(e,n){var t=n.beforeParams;n.beforeParams=!1;var r=e.next();if((r=='"'||r=="'")&&n.inParams)return l(e,n,k(r));if(/[\[\]{}\(\),;\.]/.test(r))return r=="("&&t?n.inParams=!0:r==")"&&(n.inParams=!1),null;if(/\d/.test(r))return e.eatWhile(/[\w\.]/),"number";if(r=="#")return e.eat("*")?l(e,n,m):r=="#"&&e.match(/ *\[ *\[/)?l(e,n,b):(e.skipToEnd(),"comment");if(r=='"')return e.skipTo(/"/),"comment";if(r=="$")return e.eatWhile(/[$_a-z0-9A-Z\.{:]/),e.eatWhile(/}/),n.beforeParams=!0,"builtin";if(s.test(r))return e.eatWhile(s),"comment";e.eatWhile(/[\w\$_{}\xa1-\uffff]/);var o=e.current().toLowerCase();return u&&u.propertyIsEnumerable(o)?"keyword":c&&c.propertyIsEnumerable(o)?(n.beforeParams=!0,"keyword"):null}a(i,"tokenBase");function k(e){return function(n,t){for(var r=!1,o,f=!1;(o=n.next())!=null;){if(o==e&&!r){f=!0;break}r=!r&&o=="\\"}return f&&(t.tokenize=i),"string"}}a(k,"tokenString");function m(e,n){for(var t=!1,r;r=e.next();){if(r=="#"&&t){n.tokenize=i;break}t=r=="*"}return"comment"}a(m,"tokenComment");function b(e,n){for(var t=0,r;r=e.next();){if(r=="#"&&t==2){n.tokenize=i;break}r=="]"?t++:r!=" "&&(t=0)}return"meta"}a(b,"tokenUnparsed");var g={name:"tcl",startState:a(function(){return{tokenize:i,beforeParams:!1,inParams:!1}},"startState"),token:a(function(e,n){return e.eatSpace()?null:n.tokenize(e,n)},"token"),languageData:{commentTokens:{line:"#"}}};export{g as tcl};
@@ -0,0 +1 @@
1
+ var g=Object.defineProperty;var r=(i,e)=>g(i,"name",{value:e,configurable:!0});var c={addition:"inserted",attributes:"propertyName",bold:"strong",cite:"keyword",code:"monospace",definitionList:"list",deletion:"deleted",div:"punctuation",em:"emphasis",footnote:"variable",footCite:"qualifier",header:"heading",html:"comment",image:"atom",italic:"emphasis",link:"link",linkDefinition:"link",list1:"list",list2:"list.special",list3:"list",notextile:"string.special",pre:"operator",p:"content",quote:"bracket",span:"quote",specialChar:"character",strong:"strong",sub:"content.special",sup:"content.special",table:"variableName.special",tableHeading:"operator"};function m(i,e){e.mode=o.newLayout,e.tableHeading=!1,e.layoutType==="definitionList"&&e.spanningLayout&&i.match(l("definitionListEnd"),!1)&&(e.spanningLayout=!1)}r(m,"startNewLine");function b(i,e,n){if(n==="_")return i.eat("_")?f(i,e,"italic",/__/,2):f(i,e,"em",/_/,1);if(n==="*")return i.eat("*")?f(i,e,"bold",/\*\*/,2):f(i,e,"strong",/\*/,1);if(n==="[")return i.match(/\d+\]/)&&(e.footCite=!0),a(e);if(n==="("&&i.match(/^(r|tm|c)\)/))return c.specialChar;if(n==="<"&&i.match(/(\w+)[^>]+>[^<]+<\/\1>/))return c.html;if(n==="?"&&i.eat("?"))return f(i,e,"cite",/\?\?/,2);if(n==="="&&i.eat("="))return f(i,e,"notextile",/==/,2);if(n==="-"&&!i.eat("-"))return f(i,e,"deletion",/-/,1);if(n==="+")return f(i,e,"addition",/\+/,1);if(n==="~")return f(i,e,"sub",/~/,1);if(n==="^")return f(i,e,"sup",/\^/,1);if(n==="%")return f(i,e,"span",/%/,1);if(n==="@")return f(i,e,"code",/@/,1);if(n==="!"){var u=f(i,e,"image",/(?:\([^\)]+\))?!/,1);return i.match(/^:\S+/),u}return a(e)}r(b,"handlePhraseModifier");function f(i,e,n,u,s){var d=i.pos>s?i.string.charAt(i.pos-s-1):null,p=i.peek();if(e[n]){if((!p||/\W/.test(p))&&d&&/\S/.test(d)){var h=a(e);return e[n]=!1,h}}else(!d||/\W/.test(d))&&p&&/\S/.test(p)&&i.match(new RegExp("^.*\\S"+u.source+"(?:\\W|$)"),!1)&&(e[n]=!0,e.mode=o.attributes);return a(e)}r(f,"togglePhraseModifier");function a(i){var e=y(i);if(e)return e;var n=[];return i.layoutType&&n.push(c[i.layoutType]),n=n.concat(k(i,"addition","bold","cite","code","deletion","em","footCite","image","italic","link","span","strong","sub","sup","table","tableHeading")),i.layoutType==="header"&&n.push(c.header+"-"+i.header),n.length?n.join(" "):null}r(a,"tokenStyles");function y(i){var e=i.layoutType;switch(e){case"notextile":case"code":case"pre":return c[e];default:return i.notextile?c.notextile+(e?" "+c[e]:""):null}}r(y,"textileDisabled");function k(i){for(var e=[],n=1;n<arguments.length;++n)i[arguments[n]]&&e.push(c[arguments[n]]);return e}r(k,"activeStyles");function T(i){var e=i.spanningLayout,n=i.layoutType;for(var u in i)i.hasOwnProperty(u)&&delete i[u];i.mode=o.newLayout,e&&(i.layoutType=n,i.spanningLayout=!0)}r(T,"blankLine");var t={cache:{},single:{bc:"bc",bq:"bq",definitionList:/- .*?:=+/,definitionListEnd:/.*=:\s*$/,div:"div",drawTable:/\|.*\|/,foot:/fn\d+/,header:/h[1-6]/,html:/\s*<(?:\/)?(\w+)(?:[^>]+)?>(?:[^<]+<\/\1>)?/,link:/[^"]+":\S/,linkDefinition:/\[[^\s\]]+\]\S+/,list:/(?:#+|\*+)/,notextile:"notextile",para:"p",pre:"pre",table:"table",tableCellAttributes:/[\/\\]\d+/,tableHeading:/\|_\./,tableText:/[^"_\*\[\(\?\+~\^%@|-]+/,text:/[^!"_=\*\[\(<\?\+~\^%@-]+/},attributes:{align:/(?:<>|<|>|=)/,selector:/\([^\(][^\)]+\)/,lang:/\[[^\[\]]+\]/,pad:/(?:\(+|\)+){1,2}/,css:/\{[^\}]+\}/},createRe:r(function(i){switch(i){case"drawTable":return t.makeRe("^",t.single.drawTable,"$");case"html":return t.makeRe("^",t.single.html,"(?:",t.single.html,")*","$");case"linkDefinition":return t.makeRe("^",t.single.linkDefinition,"$");case"listLayout":return t.makeRe("^",t.single.list,l("allAttributes"),"*\\s+");case"tableCellAttributes":return t.makeRe("^",t.choiceRe(t.single.tableCellAttributes,l("allAttributes")),"+\\.");case"type":return t.makeRe("^",l("allTypes"));case"typeLayout":return t.makeRe("^",l("allTypes"),l("allAttributes"),"*\\.\\.?","(\\s+|$)");case"attributes":return t.makeRe("^",l("allAttributes"),"+");case"allTypes":return t.choiceRe(t.single.div,t.single.foot,t.single.header,t.single.bc,t.single.bq,t.single.notextile,t.single.pre,t.single.table,t.single.para);case"allAttributes":return t.choiceRe(t.attributes.selector,t.attributes.css,t.attributes.lang,t.attributes.align,t.attributes.pad);default:return t.makeRe("^",t.single[i])}},"createRe"),makeRe:r(function(){for(var i="",e=0;e<arguments.length;++e){var n=arguments[e];i+=typeof n=="string"?n:n.source}return new RegExp(i)},"makeRe"),choiceRe:r(function(){for(var i=[arguments[0]],e=1;e<arguments.length;++e)i[e*2-1]="|",i[e*2]=arguments[e];return i.unshift("(?:"),i.push(")"),t.makeRe.apply(null,i)},"choiceRe")};function l(i){return t.cache[i]||(t.cache[i]=t.createRe(i))}r(l,"RE");var o={newLayout:r(function(i,e){if(i.match(l("typeLayout"),!1))return e.spanningLayout=!1,(e.mode=o.blockType)(i,e);var n;return y(e)||(i.match(l("listLayout"),!1)?n=o.list:i.match(l("drawTable"),!1)?n=o.table:i.match(l("linkDefinition"),!1)?n=o.linkDefinition:i.match(l("definitionList"))?n=o.definitionList:i.match(l("html"),!1)&&(n=o.html)),(e.mode=n||o.text)(i,e)},"newLayout"),blockType:r(function(i,e){var n,u;if(e.layoutType=null,n=i.match(l("type")))u=n[0];else return(e.mode=o.text)(i,e);return(n=u.match(l("header")))?(e.layoutType="header",e.header=parseInt(n[0][1])):u.match(l("bq"))?e.layoutType="quote":u.match(l("bc"))?e.layoutType="code":u.match(l("foot"))?e.layoutType="footnote":u.match(l("notextile"))?e.layoutType="notextile":u.match(l("pre"))?e.layoutType="pre":u.match(l("div"))?e.layoutType="div":u.match(l("table"))&&(e.layoutType="table"),e.mode=o.attributes,a(e)},"blockType"),text:r(function(i,e){if(i.match(l("text")))return a(e);var n=i.next();return n==='"'?(e.mode=o.link)(i,e):b(i,e,n)},"text"),attributes:r(function(i,e){return e.mode=o.layoutLength,i.match(l("attributes"))?c.attributes:a(e)},"attributes"),layoutLength:r(function(i,e){return i.eat(".")&&i.eat(".")&&(e.spanningLayout=!0),e.mode=o.text,a(e)},"layoutLength"),list:r(function(i,e){e.listDepth=i.match(l("list"))[0].length;var n=(e.listDepth-1)%3;return n?n===1?e.layoutType="list2":e.layoutType="list3":e.layoutType="list1",e.mode=o.attributes,a(e)},"list"),link:r(function(i,e){return e.mode=o.text,i.match(l("link"))?(i.match(/\S+/),c.link):a(e)},"link"),linkDefinition:r(function(i){return i.skipToEnd(),c.linkDefinition},"linkDefinition"),definitionList:r(function(i,e){return i.match(l("definitionList")),e.layoutType="definitionList",i.match(/\s*$/)?e.spanningLayout=!0:e.mode=o.attributes,a(e)},"definitionList"),html:r(function(i){return i.skipToEnd(),c.html},"html"),table:r(function(i,e){return e.layoutType="table",(e.mode=o.tableCell)(i,e)},"table"),tableCell:r(function(i,e){return i.match(l("tableHeading"))?e.tableHeading=!0:i.eat("|"),e.mode=o.tableCellAttributes,a(e)},"tableCell"),tableCellAttributes:r(function(i,e){return e.mode=o.tableText,i.match(l("tableCellAttributes"))?c.attributes:a(e)},"tableCellAttributes"),tableText:r(function(i,e){return i.match(l("tableText"))?a(e):i.peek()==="|"?(e.mode=o.tableCell,a(e)):b(i,e,i.next())},"tableText")},L={name:"textile",startState:r(function(){return{mode:o.newLayout}},"startState"),token:r(function(i,e){return i.sol()&&m(i,e),e.mode(i,e)},"token"),blankLine:T};export{L as textile};
@@ -0,0 +1 @@
1
+ var l=Object.defineProperty;var i=(e,r)=>l(e,"name",{value:r,configurable:!0});var f={},k={allTags:!0,closeAll:!0,list:!0,newJournal:!0,newTiddler:!0,permaview:!0,saveChanges:!0,search:!0,slider:!0,tabs:!0,tag:!0,tagging:!0,tags:!0,tiddler:!0,timeline:!0,today:!0,version:!0,option:!0,with:!0,filter:!0},h=/[\w_\-]/i,a=/^\-\-\-\-+$/,d=/^\/\*\*\*$/,v=/^\*\*\*\/$/,p=/^<<<$/,w=/^\/\/\{\{\{$/,b=/^\/\/\}\}\}$/,S=/^<!--\{\{\{-->$/,$=/^<!--\}\}\}-->$/,y=/^\{\{\{$/,z=/^\}\}\}$/,C=/.*?\}\}\}/;function o(e,r,t){return r.tokenize=t,t(e,r)}i(o,"chain");function u(e,r){var t=e.sol(),n=e.peek();if(r.block=!1,t&&/[<\/\*{}\-]/.test(n)){if(e.match(y))return r.block=!0,o(e,r,c);if(e.match(p))return"quote";if(e.match(d)||e.match(v)||e.match(w)||e.match(b)||e.match(S)||e.match($))return"comment";if(e.match(a))return"contentSeparator"}if(e.next(),t&&/[\/\*!#;:>|]/.test(n)){if(n=="!")return e.skipToEnd(),"header";if(n=="*")return e.eatWhile("*"),"comment";if(n=="#")return e.eatWhile("#"),"comment";if(n==";")return e.eatWhile(";"),"comment";if(n==":")return e.eatWhile(":"),"comment";if(n==">")return e.eatWhile(">"),"quote";if(n=="|")return"header"}if(n=="{"&&e.match("{{"))return o(e,r,c);if(/[hf]/i.test(n)&&/[ti]/i.test(e.peek())&&e.match(/\b(ttps?|tp|ile):\/\/[\-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i))return"link";if(n=='"')return"string";if(n=="~"||/[\[\]]/.test(n)&&e.match(n))return"brace";if(n=="@")return e.eatWhile(h),"link";if(/\d/.test(n))return e.eatWhile(/\d/),"number";if(n=="/"){if(e.eat("%"))return o(e,r,W);if(e.eat("/"))return o(e,r,g)}if(n=="_"&&e.eat("_"))return o(e,r,T);if(n=="-"&&e.eat("-")){if(e.peek()!=" ")return o(e,r,m);if(e.peek()==" ")return"brace"}return n=="'"&&e.eat("'")?o(e,r,x):n=="<"&&e.eat("<")?o(e,r,E):(e.eatWhile(/[\w\$_]/),f.propertyIsEnumerable(e.current())?"keyword":null)}i(u,"tokenBase");function W(e,r){for(var t=!1,n;n=e.next();){if(n=="/"&&t){r.tokenize=u;break}t=n=="%"}return"comment"}i(W,"twTokenComment");function x(e,r){for(var t=!1,n;n=e.next();){if(n=="'"&&t){r.tokenize=u;break}t=n=="'"}return"strong"}i(x,"twTokenStrong");function c(e,r){var t=r.block;return t&&e.current()?"comment":!t&&e.match(C)||t&&e.sol()&&e.match(z)?(r.tokenize=u,"comment"):(e.next(),"comment")}i(c,"twTokenCode");function g(e,r){for(var t=!1,n;n=e.next();){if(n=="/"&&t){r.tokenize=u;break}t=n=="/"}return"emphasis"}i(g,"twTokenEm");function T(e,r){for(var t=!1,n;n=e.next();){if(n=="_"&&t){r.tokenize=u;break}t=n=="_"}return"link"}i(T,"twTokenUnderline");function m(e,r){for(var t=!1,n;n=e.next();){if(n=="-"&&t){r.tokenize=u;break}t=n=="-"}return"deleted"}i(m,"twTokenStrike");function E(e,r){if(e.current()=="<<")return"meta";var t=e.next();return t?t==">"&&e.peek()==">"?(e.next(),r.tokenize=u,"meta"):(e.eatWhile(/[\w\$_]/),k.propertyIsEnumerable(e.current())?"keyword":null):(r.tokenize=u,null)}i(E,"twTokenMacro");var B={name:"tiddlywiki",startState:i(function(){return{tokenize:u}},"startState"),token:i(function(e,r){return e.eatSpace()?null:r.tokenize(e,r)},"token")};export{B as tiddlyWiki};
@@ -0,0 +1 @@
1
+ var z=Object.defineProperty;var i=(e,n)=>z(e,"name",{value:n,configurable:!0});function f(e,n,t){return function(r,k){for(;!r.eol();){if(r.match(n)){k.tokenize=c;break}r.next()}return t&&(k.tokenize=t),e}}i(f,"inBlock");function l(e){return function(n,t){for(;!n.eol();)n.next();return t.tokenize=c,e}}i(l,"inLine");function c(e,n){function t(p){return n.tokenize=p,p(e,n)}i(t,"chain");var r=e.sol(),k=e.next();switch(k){case"{":return e.eat("/"),e.eatSpace(),e.eatWhile(/[^\s\u00a0=\"\'\/?(}]/),n.tokenize=x,"tag";case"_":if(e.eat("_"))return t(f("strong","__",c));break;case"'":if(e.eat("'"))return t(f("em","''",c));break;case"(":if(e.eat("("))return t(f("link","))",c));break;case"[":return t(f("url","]",c));case"|":if(e.eat("|"))return t(f("comment","||"));break;case"-":if(e.eat("="))return t(f("header string","=-",c));if(e.eat("-"))return t(f("error tw-deleted","--",c));break;case"=":if(e.match("=="))return t(f("tw-underline","===",c));break;case":":if(e.eat(":"))return t(f("comment","::"));break;case"^":return t(f("tw-box","^"));case"~":if(e.match("np~"))return t(f("meta","~/np~"))}if(r)switch(k){case"!":return e.match("!!!!!")||e.match("!!!!")||e.match("!!!")||e.match("!!"),t(l("header string"));case"*":case"#":case"+":return t(l("tw-listitem bracket"))}return null}i(c,"inText");var d,s;function x(e,n){var t=e.next(),r=e.peek();return t=="}"?(n.tokenize=c,"tag"):t=="("||t==")"?"bracket":t=="="?(s="equals",r==">"&&(e.next(),r=e.peek()),/[\'\"]/.test(r)||(n.tokenize=L()),"operator"):/[\'\"]/.test(t)?(n.tokenize=P(t),n.tokenize(e,n)):(e.eatWhile(/[^\s\u00a0=\"\'\/?]/),"keyword")}i(x,"inPlugin");function P(e){return function(n,t){for(;!n.eol();)if(n.next()==e){t.tokenize=x;break}return"string"}}i(P,"inAttribute");function L(){return function(e,n){for(;!e.eol();){var t=e.next(),r=e.peek();if(t==" "||t==","||/[ )}]/.test(r)){n.tokenize=x;break}}return"string"}}i(L,"inAttributeNoQuote");var u,a;function g(){for(var e=arguments.length-1;e>=0;e--)u.cc.push(arguments[e])}i(g,"pass");function o(){return g.apply(null,arguments),!0}i(o,"cont");function b(e,n){var t=u.context&&u.context.noIndent;u.context={prev:u.context,pluginName:e,indent:u.indented,startOfLine:n,noIndent:t}}i(b,"pushContext");function v(){u.context&&(u.context=u.context.prev)}i(v,"popContext");function N(e){if(e=="openPlugin")return u.pluginName=d,o(h,O(u.startOfLine));if(e=="closePlugin"){var n=!1;return u.context?(n=u.context.pluginName!=d,v()):n=!0,n&&(a="error"),o(S(n))}else return e=="string"&&((!u.context||u.context.name!="!cdata")&&b("!cdata"),u.tokenize==c&&v()),o()}i(N,"element");function O(e){return function(n){return n=="selfclosePlugin"||n=="endPlugin"||n=="endPlugin"&&b(u.pluginName,e),o()}}i(O,"endplugin");function S(e){return function(n){return e&&(a="error"),n=="endPlugin"?o():g()}}i(S,"endcloseplugin");function h(e){return e=="keyword"?(a="attribute",o(h)):e=="equals"?o(_,h):g()}i(h,"attributes");function _(e){return e=="keyword"?(a="string",o()):e=="string"?o(w):g()}i(_,"attvalue");function w(e){return e=="string"?o(w):g()}i(w,"attvaluemaybe");var q={name:"tiki",startState:i(function(){return{tokenize:c,cc:[],indented:0,startOfLine:!0,pluginName:null,context:null}},"startState"),token:i(function(e,n){if(e.sol()&&(n.startOfLine=!0,n.indented=e.indentation()),e.eatSpace())return null;a=s=d=null;var t=n.tokenize(e,n);if((t||s)&&t!="comment")for(u=n;!(n.cc.pop()||N)(s||t););return n.startOfLine=!1,a||t},"token"),indent:i(function(e,n,t){var r=e.context;if(r&&r.noIndent)return 0;for(r&&/^{\//.test(n)&&(r=r.prev);r&&!r.startOfLine;)r=r.prev;return r?r.indent+t.unit:0},"indent")};export{q as tiki};
@@ -0,0 +1,120 @@
1
+ var Wt=Object.defineProperty;var b=(e,t)=>Wt(e,"name",{value:t,configurable:!0});import{n as o,t as Pt}from"./chunk-Y2CYZVJY-OvsAdhaO.js";import{m as v,p as j}from"./src-Bssc388C.js";import{J as ft,a as Bt,b as yt,et as Vt,o as Ft,rt as zt,tt as Ot,x as mt}from"./chunk-DU6HZSFF-2P5iNHqg.js";import{t as ct}from"./arc-BQ55EiX2.js";import{p as Gt}from"./chunk-75Z2AOVW-BaPl5WA6.js";import{f as Dt}from"./mermaid.core-G_BSi0G0.js";var et=(function(){var e=o(function(i,l,u,h){for(u=u||{},h=i.length;h--;u[i[h]]=l);return u},"o"),t=[6,11,13,14,15,17,19,20,23,24],n=[1,12],a=[1,13],r=[1,14],c=[1,15],s=[1,16],d=[1,19],y=[1,20],f={trace:o(b(function(){},"trace"),"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:o(b(function(l,u,h,g,x,p,E){var k=p.length-1;switch(x){case 1:return p[k-1];case 3:g.setDirection("LR");break;case 4:g.setDirection("TD");break;case 5:this.$=[];break;case 6:p[k-1].push(p[k]),this.$=p[k-1];break;case 7:case 8:this.$=p[k];break;case 9:case 10:this.$=[];break;case 11:g.getCommonDb().setDiagramTitle(p[k].substr(6)),this.$=p[k].substr(6);break;case 12:this.$=p[k].trim(),g.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=p[k].trim(),g.getCommonDb().setAccDescription(this.$);break;case 15:g.addSection(p[k].substr(8)),this.$=p[k].substr(8);break;case 18:g.addTask(p[k],0,""),this.$=p[k];break;case 19:g.addEvent(p[k].substr(2)),this.$=p[k]}},"anonymous"),"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},e(t,[2,5],{5:6}),e(t,[2,2]),e(t,[2,3]),e(t,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:n,15:a,17:r,19:c,20:s,21:17,22:18,23:d,24:y},e(t,[2,10],{1:[2,1]}),e(t,[2,6]),{12:21,14:n,15:a,17:r,19:c,20:s,21:17,22:18,23:d,24:y},e(t,[2,8]),e(t,[2,9]),e(t,[2,11]),{16:[1,22]},{18:[1,23]},e(t,[2,14]),e(t,[2,15]),e(t,[2,16]),e(t,[2,17]),e(t,[2,18]),e(t,[2,19]),e(t,[2,7]),e(t,[2,12]),e(t,[2,13])],defaultActions:{},parseError:o(b(function(l,u){if(u.recoverable)this.trace(l);else{var h=new Error(l);throw h.hash=u,h}},"parseError"),"parseError"),parse:o(b(function(l){var u=this,h=[0],g=[],x=[null],p=[],E=this.table,k="",M=0,P=0,V=0,F=2,H=1,C=p.slice.call(arguments,1),S=Object.create(this.lexer),A={yy:{}};for(var z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z)&&(A.yy[z]=this.yy[z]);S.setInput(l,A.yy),A.yy.lexer=S,A.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var $=S.yylloc;p.push($);var _=S.options&&S.options.ranges;typeof A.yy.parseError=="function"?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function T(B){h.length=h.length-2*B,x.length=x.length-B,p.length=p.length-B}b(T,"popStack"),o(T,"popStack");function N(){var B=g.pop()||S.lex()||H;return typeof B!="number"&&(B instanceof Array&&(g=B,B=g.pop()),B=u.symbols_[B]||B),B}b(N,"lex"),o(N,"lex");for(var w,L,W,I,K,D={},U,O,lt,q;;){if(W=h[h.length-1],this.defaultActions[W]?I=this.defaultActions[W]:((w===null||typeof w>"u")&&(w=N()),I=E[W]&&E[W][w]),typeof I>"u"||!I.length||!I[0]){var tt="";q=[];for(U in E[W])this.terminals_[U]&&U>F&&q.push("'"+this.terminals_[U]+"'");S.showPosition?tt="Parse error on line "+(M+1)+`:
2
+ `+S.showPosition()+`
3
+ Expecting `+q.join(", ")+", got '"+(this.terminals_[w]||w)+"'":tt="Parse error on line "+(M+1)+": Unexpected "+(w==H?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(tt,{text:S.match,token:this.terminals_[w]||w,line:S.yylineno,loc:$,expected:q})}if(I[0]instanceof Array&&I.length>1)throw new Error("Parse Error: multiple actions possible at state: "+W+", token: "+w);switch(I[0]){case 1:h.push(w),x.push(S.yytext),p.push(S.yylloc),h.push(I[1]),w=null,L?(w=L,L=null):(P=S.yyleng,k=S.yytext,M=S.yylineno,$=S.yylloc,V>0&&V--);break;case 2:if(O=this.productions_[I[1]][1],D.$=x[x.length-O],D._$={first_line:p[p.length-(O||1)].first_line,last_line:p[p.length-1].last_line,first_column:p[p.length-(O||1)].first_column,last_column:p[p.length-1].last_column},_&&(D._$.range=[p[p.length-(O||1)].range[0],p[p.length-1].range[1]]),K=this.performAction.apply(D,[k,P,M,A.yy,I[1],x,p].concat(C)),typeof K<"u")return K;O&&(h=h.slice(0,-1*O*2),x=x.slice(0,-1*O),p=p.slice(0,-1*O)),h.push(this.productions_[I[1]][0]),x.push(D.$),p.push(D._$),lt=E[h[h.length-2]][h[h.length-1]],h.push(lt);break;case 3:return!0}}return!0},"parse"),"parse")};f.lexer=(function(){return{EOF:1,parseError:o(b(function(l,u){if(this.yy.parser)this.yy.parser.parseError(l,u);else throw new Error(l)},"parseError"),"parseError"),setInput:o(function(i,l){return this.yy=l||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var i=this._input[0];return this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i,i.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},"input"),unput:o(function(i){var l=i.length,u=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var h=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),u.length-1&&(this.yylineno-=u.length-1);var g=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:u?(u.length===h.length?this.yylloc.first_column:0)+h[h.length-u.length].length-u[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[g[0],g[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(i){this.unput(this.match.slice(i))},"less"),pastInput:o(function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var i=this.pastInput(),l=new Array(i.length+1).join("-");return i+this.upcomingInput()+`
5
+ `+l+"^"},"showPosition"),test_match:o(function(i,l){var u,h,g;if(this.options.backtrack_lexer&&(g={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(g.yylloc.range=this.yylloc.range.slice(0))),h=i[0].match(/(?:\r\n?|\n).*/g),h&&(this.yylineno+=h.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:h?h[h.length-1].length-h[h.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+i[0].length},this.yytext+=i[0],this.match+=i[0],this.matches=i,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(i[0].length),this.matched+=i[0],u=this.performAction.call(this,this.yy,this,l,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),u)return u;if(this._backtrack){for(var x in g)this[x]=g[x];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var i,l,u,h;this._more||(this.yytext="",this.match="");for(var g=this._currentRules(),x=0;x<g.length;x++)if(u=this._input.match(this.rules[g[x]]),u&&(!l||u[0].length>l[0].length)){if(l=u,h=x,this.options.backtrack_lexer){if(i=this.test_match(u,g[x]),i!==!1)return i;if(this._backtrack){l=!1;continue}else return!1}else if(!this.options.flex)break}return l?(i=this.test_match(l,g[h]),i!==!1?i:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
6
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(b(function(){var l=this.next();return l||this.lex()},"lex"),"lex"),begin:o(b(function(l){this.conditionStack.push(l)},"begin"),"begin"),popState:o(b(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),"popState"),_currentRules:o(b(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),"_currentRules"),topState:o(b(function(l){return l=this.conditionStack.length-1-Math.abs(l||0),l>=0?this.conditionStack[l]:"INITIAL"},"topState"),"topState"),pushState:o(b(function(l){this.begin(l)},"pushState"),"pushState"),stateStackSize:o(b(function(){return this.conditionStack.length},"stateStackSize"),"stateStackSize"),options:{"case-insensitive":!0},performAction:o(b(function(l,u,h,g){switch(h){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;case 10:return this.popState(),"acc_title_value";case 11:return this.begin("acc_descr"),17;case 12:return this.popState(),"acc_descr_value";case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}}})();function m(){this.yy={}}return b(m,"Parser"),o(m,"Parser"),m.prototype=f,f.Parser=m,new m})();et.parser=et;var Kt=et,xt={};Pt(xt,{addEvent:b(()=>Nt,"addEvent"),addSection:b(()=>St,"addSection"),addTask:b(()=>$t,"addTask"),addTaskOrg:b(()=>It,"addTaskOrg"),clear:b(()=>vt,"clear"),default:b(()=>Ut,"default"),getCommonDb:b(()=>bt,"getCommonDb"),getDirection:b(()=>wt,"getDirection"),getSections:b(()=>Et,"getSections"),getTasks:b(()=>Tt,"getTasks"),setDirection:b(()=>_t,"setDirection")});var X="",kt=0,rt="LR",it=[],J=[],Z=[],bt=o(()=>Ft,"getCommonDb"),vt=o(function(){it.length=0,J.length=0,X="",Z.length=0,rt="LR",Bt()},"clear"),_t=o(function(e){rt=e},"setDirection"),wt=o(function(){return rt},"getDirection"),St=o(function(e){X=e,it.push(e)},"addSection"),Et=o(function(){return it},"getSections"),Tt=o(function(){let e=ht();const t=100;let n=0;for(;!e&&n<t;)e=ht(),n++;return J.push(...Z),J},"getTasks"),$t=o(function(e,t,n){const a={id:kt++,section:X,type:X,task:e,score:t||0,events:n?[n]:[]};Z.push(a)},"addTask"),Nt=o(function(e){Z.find(t=>t.id===kt-1).events.push(e)},"addEvent"),It=o(function(e){const t={section:X,type:X,description:e,task:e,classes:[]};J.push(t)},"addTaskOrg"),ht=o(function(){const e=o(function(n){return Z[n].processed},"compileTask");let t=!0;for(const[n,a]of Z.entries())e(n),t=t&&a.processed;return t},"compileTasks"),Ut={clear:vt,getCommonDb:bt,getDirection:wt,setDirection:_t,addSection:St,getSections:Et,getTasks:Tt,addTask:$t,addTaskOrg:It,addEvent:Nt},Ht=0,Q=o(function(e,t){const n=e.append("rect");return n.attr("x",t.x),n.attr("y",t.y),n.attr("fill",t.fill),n.attr("stroke",t.stroke),n.attr("width",t.width),n.attr("height",t.height),n.attr("rx",t.rx),n.attr("ry",t.ry),t.class!==void 0&&n.attr("class",t.class),n},"drawRect"),Xt=o(function(e,t){const a=e.append("circle").attr("cx",t.cx).attr("cy",t.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),r=e.append("g");r.append("circle").attr("cx",t.cx-15/3).attr("cy",t.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),r.append("circle").attr("cx",t.cx+15/3).attr("cy",t.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function c(y){const f=ct().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);y.append("path").attr("class","mouth").attr("d",f).attr("transform","translate("+t.cx+","+(t.cy+2)+")")}b(c,"smile"),o(c,"smile");function s(y){const f=ct().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);y.append("path").attr("class","mouth").attr("d",f).attr("transform","translate("+t.cx+","+(t.cy+7)+")")}b(s,"sad"),o(s,"sad");function d(y){y.append("line").attr("class","mouth").attr("stroke",2).attr("x1",t.cx-5).attr("y1",t.cy+7).attr("x2",t.cx+5).attr("y2",t.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return b(d,"ambivalent"),o(d,"ambivalent"),t.score>3?c(r):t.score<3?s(r):d(r),a},"drawFace"),Zt=o(function(e,t){const n=e.append("circle");return n.attr("cx",t.cx),n.attr("cy",t.cy),n.attr("class","actor-"+t.pos),n.attr("fill",t.fill),n.attr("stroke",t.stroke),n.attr("r",t.r),n.class!==void 0&&n.attr("class",n.class),t.title!==void 0&&n.append("title").text(t.title),n},"drawCircle"),Lt=o(function(e,t){const n=t.text.replace(/<br\s*\/?>/gi," "),a=e.append("text");a.attr("x",t.x),a.attr("y",t.y),a.attr("class","legend"),a.style("text-anchor",t.anchor),t.class!==void 0&&a.attr("class",t.class);const r=a.append("tspan");return r.attr("x",t.x+t.textMargin*2),r.text(n),a},"drawText"),jt=o(function(e,t){function n(r,c,s,d,y){return r+","+c+" "+(r+s)+","+c+" "+(r+s)+","+(c+d-y)+" "+(r+s-y*1.2)+","+(c+d)+" "+r+","+(c+d)}b(n,"genPoints"),o(n,"genPoints");const a=e.append("polygon");a.attr("points",n(t.x,t.y,50,20,7)),a.attr("class","labelBox"),t.y=t.y+t.labelMargin,t.x=t.x+.5*t.labelMargin,Lt(e,t)},"drawLabel"),qt=o(function(e,t,n){const a=e.append("g"),r=st();r.x=t.x,r.y=t.y,r.fill=t.fill,r.width=n.width,r.height=n.height,r.class="journey-section section-type-"+t.num,r.rx=3,r.ry=3,Q(a,r),Mt(n)(t.text,a,r.x,r.y,r.width,r.height,{class:"journey-section section-type-"+t.num},n,t.colour)},"drawSection"),nt=-1,Jt=o(function(e,t,n,a){const r=t.x+n.width/2,c=e.append("g");nt++,c.append("line").attr("id",a+"-task"+nt).attr("x1",r).attr("y1",t.y).attr("x2",r).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Xt(c,{cx:r,cy:300+(5-t.score)*30,score:t.score});const s=st();s.x=t.x,s.y=t.y,s.fill=t.fill,s.width=n.width,s.height=n.height,s.class="task task-type-"+t.num,s.rx=3,s.ry=3,Q(c,s),Mt(n)(t.task,c,s.x,s.y,s.width,s.height,{class:"task"},n,t.colour)},"drawTask"),Qt=o(function(e,t){Q(e,{x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,class:"rect"}).lower()},"drawBackgroundRect"),Yt=o(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),st=o(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),Mt=(function(){function e(r,c,s,d,y,f,m,i){a(c.append("text").attr("x",s+y/2).attr("y",d+f/2+5).style("font-color",i).style("text-anchor","middle").text(r),m)}b(e,"byText"),o(e,"byText");function t(r,c,s,d,y,f,m,i,l){const{taskFontSize:u,taskFontFamily:h}=i,g=r.split(/<br\s*\/?>/gi);for(let x=0;x<g.length;x++){const p=x*u-u*(g.length-1)/2,E=c.append("text").attr("x",s+y/2).attr("y",d).attr("fill",l).style("text-anchor","middle").style("font-size",u).style("font-family",h);E.append("tspan").attr("x",s+y/2).attr("dy",p).text(g[x]),E.attr("y",d+f/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),a(E,m)}}b(t,"byTspan"),o(t,"byTspan");function n(r,c,s,d,y,f,m,i){const l=c.append("switch"),u=l.append("foreignObject").attr("x",s).attr("y",d).attr("width",y).attr("height",f).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");u.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(r),t(r,l,s,d,y,f,m,i),a(u,m)}b(n,"byFo"),o(n,"byFo");function a(r,c){for(const s in c)s in c&&r.attr(s,c[s])}return b(a,"_setTextAttrs"),o(a,"_setTextAttrs"),function(r){return r.textPlacement==="fo"?n:r.textPlacement==="old"?e:t}})(),te=o(function(e,t){Ht=0,nt=-1,e.append("defs").append("marker").attr("id",t+"-arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics");function at(e,t){e.each(function(){var n=j(this),a=n.text().split(/(\s+|<br>)/).reverse(),r,c=[],s=1.1,d=n.attr("y"),y=parseFloat(n.attr("dy")),f=n.text(null).append("tspan").attr("x",0).attr("y",d).attr("dy",y+"em");for(let m=0;m<a.length;m++)r=a[a.length-1-m],c.push(r),f.text(c.join(" ").trim()),(f.node().getComputedTextLength()>t||r==="<br>")&&(c.pop(),f.text(c.join(" ").trim()),r==="<br>"?c=[""]:c=[r],f=n.append("tspan").attr("x",0).attr("y",d).attr("dy",s+"em").text(r))})}b(at,"wrap");o(at,"wrap");var ee=o(function(e,t,n,a,r,c=!1){const{theme:s,look:d}=a,y=s?.includes("redux"),f=n%(a?.themeVariables?.THEME_COLOR_LIMIT??12)-1,m=e.append("g");t.section=f,m.attr("class",(t.class?t.class+" ":"")+"timeline-node "+("section-"+f));const i=m.append("g"),l=m.append("g"),u=l.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(at,t.width).node().getBBox(),h=a.fontSize?.replace?a.fontSize.replace("px",""):a.fontSize;if(t.height=u.height+h*1.1*.5+t.padding,t.height=Math.max(t.height,t.maxHeight),t.width=t.width+2*t.padding,l.attr("transform","translate("+t.width/2+", "+t.padding/2+")"),y&&l.attr("transform",`translate(${t.width/2}, ${c?t.padding/2+3:t.padding})`),re(i,t,f,r,a),d==="neo"&&(m.attr("data-look","neo"),y)){const g=s.includes("dark"),x=e.node()?.ownerSVGElement??e.node(),p=j(x),E=p.attr("id")??"",k=E?`${E}-drop-shadow`:"drop-shadow";if(p.select(`#${k}`).empty()){const M=p.select("defs");(M.empty()?p.append("defs"):M).append("filter").attr("id",k).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",g?"0.2":"0.06").attr("flood-color",g?"#FFFFFF":"#000000")}}return t},"drawNode"),ne=o(function(e,t,n){const a=e.append("g"),r=a.append("text").text(t.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(at,t.width).node().getBBox(),c=n.fontSize?.replace?n.fontSize.replace("px",""):n.fontSize;return a.remove(),r.height+c*1.1*.5+t.padding},"getVirtualNodeHeight"),re=o(function(e,t,n,a,r){const{theme:c}=r,s=c?.includes("redux")?0:5,d=5,y=s>0?`M0 ${t.height-d} v${-t.height+10} q0,-${s},${s},-${s} h${t.width-10} q${s},0,${s},${s} v${t.height-d} H0 Z`:`M0 ${t.height-d} v${-(t.height-d)} h${t.width} v${t.height} H0 Z`;e.append("path").attr("id",a+"-node-"+Ht++).attr("class","node-bkg node-"+t.type).attr("d",y),c?.includes("redux")||e.append("line").attr("class","node-line-"+n).attr("x1",0).attr("y1",t.height).attr("x2",t.width).attr("y2",t.height)},"defaultBkg"),R={drawRect:Q,drawCircle:Zt,drawSection:qt,drawText:Lt,drawLabel:jt,drawTask:Jt,drawBackgroundRect:Qt,getTextObj:Yt,getNoteRect:st,initGraphics:te,drawNode:ee,getVirtualNodeHeight:ne},ie=o(function(e,t,n,a){const r=mt(),{look:c,theme:s,themeVariables:d}=r,{useGradient:y,gradientStart:f,gradientStop:m}=d,i=r.timeline?.leftMargin??50;v.debug("timeline",a.db);const l=r.securityLevel;let u;l==="sandbox"&&(u=j("#i"+t));const h=(l==="sandbox"?j(u.nodes()[0].contentDocument.body):j("body")).select("#"+t);h.append("g");const g=a.db.getTasks(),x=a.db.getCommonDb().getDiagramTitle();v.debug("task",g),R.initGraphics(h,t);const p=a.db.getSections();v.debug("sections",p);let E=0,k=0,M=0,P=0,V=50+i,F=50;P=50;let H=0,C=!0;p.forEach(function($){const _={number:H,descr:$,section:H,width:150,padding:20,maxHeight:E},T=R.getVirtualNodeHeight(h,_,r);v.debug("sectionHeight before draw",T),E=Math.max(E,T+20)});let S=0,A=0;v.debug("tasks.length",g.length);for(const[$,_]of g.entries()){const T={number:$,descr:_,section:_.section,width:150,padding:20,maxHeight:k},N=R.getVirtualNodeHeight(h,T,r);v.debug("taskHeight before draw",N),k=Math.max(k,N+20),S=Math.max(S,_.events.length);let w=0;for(const L of _.events){const W={descr:L,section:_.section,number:_.section,width:150,padding:20,maxHeight:50};w+=R.getVirtualNodeHeight(h,W,r)}_.events.length>0&&(w+=(_.events.length-1)*10),A=Math.max(A,w)}v.debug("maxSectionHeight before draw",E),v.debug("maxTaskHeight before draw",k),p&&p.length>0?p.forEach($=>{const _=g.filter(L=>L.section===$),T={number:H,descr:$,section:H,width:200*Math.max(_.length,1)-50,padding:20,maxHeight:E};v.debug("sectionNode",T);const N=h.append("g"),w=R.drawNode(N,T,H,r,t);v.debug("sectionNode output",w),N.attr("transform",`translate(${V}, ${P})`),F+=E+50,_.length>0&&dt(h,_,H,V,F,k,r,S,A,E,!1,t),V+=200*Math.max(_.length,1),F=P,H++}):(C=!1,dt(h,g,H,V,F,k,r,S,A,E,!0,t));const z=h.node().getBBox();if(v.debug("bounds",z),x&&h.append("text").text(x).attr("x",c==="neo"?z.x*2+i:z.width/2-i).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),M=C?E+k+150:k+100,h.append("g").attr("class","lineWrapper").append("line").attr("x1",i).attr("y1",M).attr("x2",z.width+3*i).attr("y2",M).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${t}-arrowhead)`),c==="neo"&&y&&s!=="neutral"){const $=h.select("defs"),_=($.empty()?h.append("defs"):$).append("linearGradient").attr("id",h.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");_.append("stop").attr("offset","0%").attr("stop-color",f).attr("stop-opacity",1),_.append("stop").attr("offset","100%").attr("stop-color",m).attr("stop-opacity",1)}ft(void 0,h,r.timeline?.padding??50,r.timeline?.useMaxWidth??!1)},"draw"),dt=o(function(e,t,n,a,r,c,s,d,y,f,m,i){for(const l of t){const u={descr:l.task,section:n,number:n,width:150,padding:20,maxHeight:c};v.debug("taskNode",u);const h=e.append("g").attr("class","taskWrapper"),g=R.drawNode(h,u,n,s,i).height;if(v.debug("taskHeight after draw",g),h.attr("transform",`translate(${a}, ${r})`),c=Math.max(c,g),l.events){const x=e.append("g").attr("class","lineWrapper");let p=c;r+=100,p=p+se(e,l.events,n,a,r,s,i),r-=100,x.append("line").attr("x1",a+95).attr("y1",r+c).attr("x2",a+95).attr("y2",r+c+100+y+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${i}-arrowhead)`).attr("stroke-dasharray","5,5")}a=a+200,m&&!s.timeline?.disableMulticolor&&n++}r=r-10},"drawTasks"),se=o(function(e,t,n,a,r,c,s){let d=0;const y=r;r=r+100;for(const f of t){const m={descr:f,section:n,number:n,width:150,padding:20,maxHeight:50};v.debug("eventNode",m);const i=e.append("g").attr("class","eventWrapper"),l=R.drawNode(i,m,n,c,s,!0).height;d=d+l,i.attr("transform",`translate(${a}, ${r})`),r=r+10+l}return r=y,d},"drawEvents"),ae={setConf:o(()=>{},"setConf"),draw:ie},Y=200,G=5,oe=Y+G*2,ot=Y+100,le=ot+G*2,At=10,ce=0,ut=20,Rt=20,pt=30,Ct=50,he=o(function(e,t,n,a){const r=mt(),c=r.timeline?.leftMargin??50;v.debug("timeline",a.db);const s=Dt(t);s.append("g");const d=a.db.getTasks(),y=a.db.getCommonDb().getDiagramTitle();v.debug("task",d),R.initGraphics(s);const f=a.db.getSections();v.debug("sections",f);let m=0,i=0;const l=50+c;let u=50;const h=u,g=l,x=oe+Rt,p=le+Ct,E=g+x;let k=0;const M=f&&f.length>0,P=M?E:l+x,V=Math.max(50,x+p-G*2);f.forEach(function(_){const T={number:k,descr:_,section:k,width:V,padding:G,maxHeight:m},N=R.getVirtualNodeHeight(s,T,r);v.debug("sectionHeight before draw",N),m=Math.max(m,N)});let F=0;v.debug("tasks.length",d.length);for(const[_,T]of d.entries()){const N={number:_,descr:T,section:T.section,width:Y,padding:G,maxHeight:i},w=R.getVirtualNodeHeight(s,N,r);v.debug("taskHeight before draw",w),i=Math.max(i,w);let L=0;for(const W of T.events){const I={descr:W,section:T.section,number:T.section,width:ot,padding:G,maxHeight:50};L+=R.getVirtualNodeHeight(s,I,r)}T.events.length>0&&(L+=(T.events.length-1)*At),F=Math.max(F,L)+ce}v.debug("maxSectionHeight before draw",m),v.debug("maxTaskHeight before draw",i);const H=Math.max(i,F)+pt;M?f.forEach(_=>{const T=d.filter(U=>U.section===_),N={number:k,descr:_,section:k,width:V,padding:G,maxHeight:m};v.debug("sectionNode",N);const w=s.append("g"),L=R.drawNode(w,N,k,r);v.debug("sectionNode output",L);const W=P-x;w.attr("transform",`translate(${W}, ${u})`);const I=u+L.height+ut;T.length>0&&gt(s,T,k,P,I,i,r,H,!1);const K=T.length,D=L.height+ut+H*Math.max(K,1)-(K>0?pt*2:0);u+=D,k++}):gt(s,d,k,P,u,i,r,H,!0);let C=s.node()?.getBBox();if(!C)throw new Error("bbox not found");if(v.debug("bounds",C),y){if(s.append("text").text(y).attr("x",C.width/2-c).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),C=s.node()?.getBBox(),!C)throw new Error("bbox not found");v.debug("bounds after title",C)}const[S]=Gt(r.fontSize),A=(S??16)*2,z=(S??16)*.5+20,$=s.append("g").attr("class","lineWrapper");$.append("line").attr("x1",P).attr("y1",h-A).attr("x2",P).attr("y2",C.y+C.height+z).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),$.lower(),ft(void 0,s,r.timeline?.padding??50,r.timeline?.useMaxWidth??!1)},"draw"),gt=o(function(e,t,n,a,r,c,s,d,y){for(const f of t){const m={descr:f.task,section:n,number:n,width:Y,padding:G,maxHeight:c};v.debug("taskNode",m);const i=e.append("g").attr("class","taskWrapper"),l=R.drawNode(i,m,n,s),u=l.height;v.debug("taskHeight after draw",u);const h=a-Rt-l.width;if(i.attr("transform",`translate(${h}, ${r})`),c=Math.max(c,u),f.events&&f.events.length>0){const g=r,x=a+Ct;de(e,f.events,n,a,x,g,s)}r=r+d,y&&!s.timeline?.disableMulticolor&&n++}},"drawTasks"),de=o(function(e,t,n,a,r,c,s){let d=c;for(const y of t){const f={descr:y,section:n,number:n,width:ot,padding:G,maxHeight:0};v.debug("eventNode",f);const m=e.append("g").attr("class","eventWrapper"),i=R.drawNode(m,f,n,s).height;m.attr("transform",`translate(${r}, ${d})`);const l=e.append("g").attr("class","lineWrapper"),u=d+i/2;l.append("line").attr("x1",a).attr("y1",u).attr("x2",r).attr("y2",u).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),d=d+i+At}return d-c},"drawEvents"),ue={setConf:o(()=>{},"setConf"),draw:he},pe=o(e=>{const{theme:t}=yt(),n=t?.includes("dark"),a=t?.includes("color"),r=e.svgId?.replace(/^#/,"")??"",c=r?`url(#${r}-drop-shadow)`:e.dropShadow??"none";let s="";for(let d=0;d<e.THEME_COLOR_LIMIT;d++){const y=`${17-3*d}`,f=a?e.borderColorArray[d]:e.mainBkg,m=a?e.borderColorArray[d]:e.nodeBorder;s+=`
7
+ .section-${d-1} rect,
8
+ .section-${d-1} path,
9
+ .section-${d-1} circle {
10
+ fill: ${n&&a?e.mainBkg:f};
11
+ stroke: ${m};
12
+ stroke-width: ${e.strokeWidth};
13
+ filter: ${c};
14
+ }
15
+
16
+ .section-${d-1} text {
17
+ fill: ${e.nodeBorder};
18
+ font-weight: ${e.fontWeight}
19
+ }
20
+
21
+ .node-icon-${d-1} {
22
+ font-size: 40px;
23
+ color: ${e["cScaleLabel"+d]};
24
+ }
25
+
26
+ .section-edge-${d-1} {
27
+ stroke: ${e["cScale"+d]};
28
+ }
29
+
30
+ .edge-depth-${d-1} {
31
+ stroke-width: ${y};
32
+ }
33
+
34
+ .section-${d-1} line {
35
+ stroke: ${e["cScaleInv"+d]};
36
+ stroke-width: 3;
37
+ }
38
+
39
+ .lineWrapper line {
40
+ stroke: ${e.nodeBorder};
41
+ stroke-width:${e.strokeWidth}
42
+ }
43
+
44
+ .disabled,
45
+ .disabled circle,
46
+ .disabled text {
47
+ fill: ${e.tertiaryColor??"lightgray"};
48
+ }
49
+
50
+ .disabled text {
51
+ fill: ${e.clusterBorder??"#efefef"};
52
+ }
53
+ `}return s},"genReduxSections"),ge=o(e=>{let t="";for(let n=0;n<e.THEME_COLOR_LIMIT;n++)e["lineColor"+n]=e["lineColor"+n]||e["cScaleInv"+n],zt(e["lineColor"+n])?e["lineColor"+n]=Ot(e["lineColor"+n],20):e["lineColor"+n]=Vt(e["lineColor"+n],20);for(let n=0;n<e.THEME_COLOR_LIMIT;n++){const a=""+(17-3*n);t+=`
54
+ .section-${n-1} rect, .section-${n-1} path, .section-${n-1} circle, .section-${n-1} path {
55
+ fill: ${e["cScale"+n]};
56
+ }
57
+ .section-${n-1} text {
58
+ fill: ${e["cScaleLabel"+n]};
59
+ }
60
+ .node-icon-${n-1} {
61
+ font-size: 40px;
62
+ color: ${e["cScaleLabel"+n]};
63
+ }
64
+ .section-edge-${n-1}{
65
+ stroke: ${e["cScale"+n]};
66
+ }
67
+ .edge-depth-${n-1}{
68
+ stroke-width: ${a};
69
+ }
70
+ .section-${n-1} line {
71
+ stroke: ${e["cScaleInv"+n]} ;
72
+ stroke-width: 3;
73
+ }
74
+
75
+ .lineWrapper line{
76
+ stroke: ${e["cScaleLabel"+n]} ;
77
+ }
78
+
79
+ .disabled, .disabled circle, .disabled text {
80
+ fill: ${e.tertiaryColor??"lightgray"};
81
+ }
82
+ .disabled text {
83
+ fill: ${e.clusterBorder??"#efefef"};
84
+ }
85
+ `}return t},"genSections"),_e={db:xt,renderer:{setConf:o(()=>{},"setConf"),draw:o((e,t,n,a)=>(a?.db?.getDirection?.()??"LR")==="TD"?ue.draw(e,t,n,a):ae.draw(e,t,n,a),"draw")},parser:Kt,styles:o(e=>{const{theme:t}=yt(),n=t?.includes("redux"),a=t==="neutral",r=e.svgId?.replace(/^#/,"")??"";let c="";if(e.useGradient&&r&&e.THEME_COLOR_LIMIT&&!a)for(let s=0;s<e.THEME_COLOR_LIMIT;s++)c+=`
86
+ .section-${s-1}[data-look="neo"] rect,
87
+ .section-${s-1}[data-look="neo"] path,
88
+ .section-${s-1}[data-look="neo"] circle {
89
+ fill: ${e.mainBkg};
90
+ stroke: url(#${r}-gradient);
91
+ stroke-width: 2;
92
+ }
93
+ .section-${s-1}[data-look="neo"] line {
94
+ stroke: url(#${r}-gradient);
95
+ stroke-width: 2;
96
+ }`;return`
97
+ .edge {
98
+ stroke-width: 3;
99
+ }
100
+ ${n?pe(e):ge(e)}
101
+ ${c}
102
+ .section-root rect, .section-root path, .section-root circle {
103
+ fill: ${e.git0};
104
+ }
105
+ .section-root text {
106
+ fill: ${e.gitBranchLabel0};
107
+ }
108
+ .icon-container {
109
+ height:100%;
110
+ display: flex;
111
+ justify-content: center;
112
+ align-items: center;
113
+ }
114
+ .edge {
115
+ fill: none;
116
+ }
117
+ .eventWrapper {
118
+ filter: brightness(120%);
119
+ }
120
+ `},"getStyles")};export{_e as diagram};