@taskmark/ui 0.2.6 → 0.3.1

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 (320) hide show
  1. package/README.md +16 -1
  2. package/app/board/page.tsx +3 -272
  3. package/app/globals.css +25 -0
  4. package/app/layout.tsx +15 -5
  5. package/app/page.tsx +14 -14
  6. package/app/setup/actions.ts +4 -4
  7. package/app/setup/page.tsx +9 -4
  8. package/bin/lib/resolve-board.mjs +1 -4
  9. package/bin/taskmark.js +15 -2
  10. package/components/board/app-bar.tsx +3 -0
  11. package/components/board/board-screen.tsx +229 -0
  12. package/components/board/changelog-panel.tsx +26 -0
  13. package/components/board/epic-list.tsx +4 -2
  14. package/components/board/list-view-switcher.tsx +7 -3
  15. package/components/board/markdown-content.tsx +21 -1
  16. package/components/board/mermaid-diagram.tsx +88 -0
  17. package/components/board/metric-stat-card.tsx +4 -4
  18. package/components/board/overall-tree-list.tsx +467 -0
  19. package/components/board/overall-work-items-list.tsx +6 -2
  20. package/components/board/points-heatmap.tsx +183 -0
  21. package/components/board/project-status-metrics-strip.tsx +5 -22
  22. package/components/board/static-board-app.tsx +29 -94
  23. package/components/board/status-badge.tsx +8 -0
  24. package/components/board/story-list.tsx +3 -1
  25. package/components/board/task-list.tsx +5 -1
  26. package/components/board/work-item-detail-body.tsx +123 -8
  27. package/components/board/work-items-list.tsx +2 -0
  28. package/components/theme-provider.tsx +39 -0
  29. package/components/theme-toggle.tsx +27 -0
  30. package/components/ui/sonner.tsx +2 -2
  31. package/dist/prod-next/BUILD_ID +1 -1
  32. package/dist/prod-next/app-path-routes-manifest.json +2 -2
  33. package/dist/prod-next/build-manifest.json +6 -6
  34. package/dist/prod-next/prerender-manifest.json +3 -27
  35. package/dist/prod-next/react-loadable-manifest.json +392 -2
  36. package/dist/prod-next/server/app/_global-error/page.js +2 -2
  37. package/dist/prod-next/server/app/_global-error/page.js.nft.json +1 -1
  38. package/dist/prod-next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  39. package/dist/prod-next/server/app/_global-error.html +1 -1
  40. package/dist/prod-next/server/app/_global-error.rsc +1 -1
  41. package/dist/prod-next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  42. package/dist/prod-next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  43. package/dist/prod-next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  44. package/dist/prod-next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  45. package/dist/prod-next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  46. package/dist/prod-next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  47. package/dist/prod-next/server/app/_not-found/page.js +2 -2
  48. package/dist/prod-next/server/app/_not-found/page.js.nft.json +1 -1
  49. package/dist/prod-next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  50. package/dist/prod-next/server/app/_not-found.html +1 -1
  51. package/dist/prod-next/server/app/_not-found.rsc +19 -17
  52. package/dist/prod-next/server/app/_not-found.segments/_full.segment.rsc +19 -17
  53. package/dist/prod-next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  54. package/dist/prod-next/server/app/_not-found.segments/_index.segment.rsc +8 -6
  55. package/dist/prod-next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  56. package/dist/prod-next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  57. package/dist/prod-next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  58. package/dist/prod-next/server/app/api/taskmark-reload/route.js +1 -1
  59. package/dist/prod-next/server/app/api/taskmark-reload/route.js.nft.json +1 -1
  60. package/dist/prod-next/server/app/board/page.js +2 -50
  61. package/dist/prod-next/server/app/board/page.js.nft.json +1 -1
  62. package/dist/prod-next/server/app/board/page_client-reference-manifest.js +1 -1
  63. package/dist/prod-next/server/app/favicon.ico/route.js +1 -1
  64. package/dist/prod-next/server/app/favicon.ico/route.js.nft.json +1 -1
  65. package/dist/prod-next/server/app/page.js +2 -2
  66. package/dist/prod-next/server/app/page.js.nft.json +1 -1
  67. package/dist/prod-next/server/app/page_client-reference-manifest.js +1 -1
  68. package/dist/prod-next/server/app/setup/page.js +2 -2
  69. package/dist/prod-next/server/app/setup/page.js.nft.json +1 -1
  70. package/dist/prod-next/server/app/setup/page_client-reference-manifest.js +1 -1
  71. package/dist/prod-next/server/app-paths-manifest.json +2 -2
  72. package/dist/prod-next/server/chunks/102.js +90 -0
  73. package/dist/prod-next/server/chunks/11.js +1 -0
  74. package/dist/prod-next/server/chunks/1286.js +1 -0
  75. package/dist/prod-next/server/chunks/1412.js +38 -0
  76. package/dist/prod-next/server/chunks/1605.js +1 -0
  77. package/dist/prod-next/server/chunks/169.js +1 -0
  78. package/dist/prod-next/server/chunks/18.js +86 -0
  79. package/dist/prod-next/server/chunks/2.js +1 -0
  80. package/dist/prod-next/server/chunks/2022.js +1 -0
  81. package/dist/prod-next/server/chunks/2156.js +1 -0
  82. package/dist/prod-next/server/chunks/2157.js +1 -0
  83. package/dist/prod-next/server/chunks/2325.js +82 -0
  84. package/dist/prod-next/server/chunks/2838.js +1 -0
  85. package/dist/prod-next/server/chunks/2897.js +79 -0
  86. package/dist/prod-next/server/chunks/3227.js +1 -0
  87. package/dist/prod-next/server/chunks/3266.js +1 -0
  88. package/dist/prod-next/server/chunks/3307.js +49 -0
  89. package/dist/prod-next/server/chunks/3387.js +19 -0
  90. package/dist/prod-next/server/chunks/3428.js +32 -0
  91. package/dist/prod-next/server/chunks/3479.js +1 -0
  92. package/dist/prod-next/server/chunks/367.js +115 -0
  93. package/dist/prod-next/server/chunks/3698.js +93 -0
  94. package/dist/prod-next/server/chunks/3709.js +148 -0
  95. package/dist/prod-next/server/chunks/41.js +1 -0
  96. package/dist/prod-next/server/chunks/4107.js +62 -0
  97. package/dist/prod-next/server/chunks/4569.js +34 -0
  98. package/dist/prod-next/server/chunks/{741.js → 4741.js} +1 -1
  99. package/dist/prod-next/server/chunks/4755.js +153 -0
  100. package/dist/prod-next/server/chunks/487.js +1 -0
  101. package/dist/prod-next/server/chunks/5002.js +1 -0
  102. package/dist/prod-next/server/chunks/5112.js +1 -0
  103. package/dist/prod-next/server/chunks/5289.js +8 -0
  104. package/dist/prod-next/server/chunks/5318.js +1 -0
  105. package/dist/prod-next/server/chunks/5452.js +23 -0
  106. package/dist/prod-next/server/chunks/5453.js +1 -0
  107. package/dist/prod-next/server/chunks/5749.js +27 -0
  108. package/dist/prod-next/server/chunks/5782.js +36 -0
  109. package/dist/prod-next/server/chunks/6163.js +104 -0
  110. package/dist/prod-next/server/chunks/6169.js +64 -0
  111. package/dist/prod-next/server/chunks/6208.js +172 -0
  112. package/dist/prod-next/server/chunks/6399.js +24 -0
  113. package/dist/prod-next/server/chunks/6496.js +1 -0
  114. package/dist/prod-next/server/chunks/6823.js +215 -0
  115. package/dist/prod-next/server/chunks/6888.js +1 -0
  116. package/dist/prod-next/server/chunks/6980.js +1 -0
  117. package/dist/prod-next/server/chunks/7245.js +77 -0
  118. package/dist/prod-next/server/chunks/7307.js +1 -0
  119. package/dist/prod-next/server/chunks/7372.js +287 -0
  120. package/dist/prod-next/server/chunks/7384.js +226 -0
  121. package/dist/prod-next/server/chunks/7516.js +1 -0
  122. package/dist/prod-next/server/chunks/7531.js +24 -0
  123. package/dist/prod-next/server/chunks/7591.js +1 -0
  124. package/dist/prod-next/server/chunks/7755.js +138 -0
  125. package/dist/prod-next/server/chunks/7916.js +1 -0
  126. package/dist/prod-next/server/chunks/8078.js +94 -0
  127. package/dist/prod-next/server/chunks/8253.js +41 -0
  128. package/dist/prod-next/server/chunks/8635.js +1 -0
  129. package/dist/prod-next/server/chunks/8688.js +1 -0
  130. package/dist/prod-next/server/chunks/8872.js +1 -0
  131. package/dist/prod-next/server/chunks/9006.js +1 -0
  132. package/dist/prod-next/server/chunks/9018.js +1 -0
  133. package/dist/prod-next/server/chunks/9047.js +1 -0
  134. package/dist/prod-next/server/chunks/9108.js +1 -0
  135. package/dist/prod-next/server/chunks/9280.js +256 -0
  136. package/dist/prod-next/server/chunks/9419.js +1 -0
  137. package/dist/prod-next/server/chunks/9430.js +1 -0
  138. package/dist/prod-next/server/chunks/9586.js +1 -0
  139. package/dist/prod-next/server/chunks/9775.js +1 -0
  140. package/dist/prod-next/server/chunks/992.js +1 -0
  141. package/dist/prod-next/server/chunks/9926.js +1 -0
  142. package/dist/prod-next/server/chunks/9984.js +8 -0
  143. package/dist/prod-next/server/middleware-build-manifest.js +1 -1
  144. package/dist/prod-next/server/middleware-react-loadable-manifest.js +1 -1
  145. package/dist/prod-next/server/pages/404.html +1 -1
  146. package/dist/prod-next/server/pages/500.html +1 -1
  147. package/dist/prod-next/server/server-reference-manifest.js +1 -1
  148. package/dist/prod-next/server/server-reference-manifest.json +1 -1
  149. package/dist/prod-next/server/webpack-runtime.js +1 -1
  150. package/dist/prod-next/static/chunks/1213.e5c6e70a79b5f7e6.js +24 -0
  151. package/dist/prod-next/static/chunks/1519.2f596e5f5af9ef57.js +62 -0
  152. package/dist/prod-next/static/chunks/1759-f5b8fb456f8fb420.js +1 -0
  153. package/dist/prod-next/static/chunks/1974.885c9a133b86d8a4.js +32 -0
  154. package/dist/prod-next/static/chunks/2280.6a7f540787704698.js +1 -0
  155. package/dist/prod-next/static/chunks/2521.7f745f50d30076e7.js +77 -0
  156. package/dist/prod-next/static/chunks/2585.4d6aa847c780c666.js +1 -0
  157. package/dist/prod-next/static/chunks/2589.1aad68c09021b1ac.js +1 -0
  158. package/dist/prod-next/static/chunks/2600.45ba17a0f756fc31.js +1 -0
  159. package/dist/prod-next/static/chunks/2619.9aac8983f30c7c8a.js +1 -0
  160. package/dist/prod-next/static/chunks/26d302b2.9f6383e42abdfe16.js +122 -0
  161. package/dist/prod-next/static/chunks/2768.305914f7900745b6.js +1 -0
  162. package/dist/prod-next/static/chunks/2931.c2acdbf72808b646.js +41 -0
  163. package/dist/prod-next/static/chunks/3012-838f69b72a0dc1b3.js +1 -0
  164. package/dist/prod-next/static/chunks/3016.406e568aa95ff867.js +1 -0
  165. package/dist/prod-next/static/chunks/3022.972047558a20553a.js +172 -0
  166. package/dist/prod-next/static/chunks/3064.3a2a1e7cd4fdca5f.js +1 -0
  167. package/dist/prod-next/static/chunks/3174.03fbed7b7d7a8256.js +1 -0
  168. package/dist/prod-next/static/chunks/3189.b048866768087750.js +1 -0
  169. package/dist/prod-next/static/chunks/3217.1a053843c58b70b5.js +24 -0
  170. package/dist/prod-next/static/chunks/3308.30b95d524f9c1daf.js +74 -0
  171. package/dist/prod-next/static/chunks/331.fc5d78e1e91daf43.js +1 -0
  172. package/dist/prod-next/static/chunks/3510.5d4d1c79533e080c.js +1 -0
  173. package/dist/prod-next/static/chunks/364.ce5400a9dd70b9dc.js +1 -0
  174. package/dist/prod-next/static/chunks/3661-1f08d73aaffb011d.js +1 -0
  175. package/dist/prod-next/static/chunks/370.57cfa27da8567918.js +1 -0
  176. package/dist/prod-next/static/chunks/3789.c418b69121761983.js +1 -0
  177. package/dist/prod-next/static/chunks/3794-c66b3d8325973459.js +32 -0
  178. package/dist/prod-next/static/chunks/3831.25ae62d10dccc27a.js +1 -0
  179. package/dist/prod-next/static/chunks/395.b41e9d76613d37b5.js +90 -0
  180. package/dist/prod-next/static/chunks/3a7aa434.93dbd20997cfd24f.js +82 -0
  181. package/dist/prod-next/static/chunks/4020.3cc19c463c49f969.js +23 -0
  182. package/dist/prod-next/static/chunks/4035.0acc428926d5c8dd.js +1 -0
  183. package/dist/prod-next/static/chunks/405.0902e4f6eb7bd9a2.js +215 -0
  184. package/dist/prod-next/static/chunks/4159.49ae537ff687bdc6.js +138 -0
  185. package/dist/prod-next/static/chunks/4208.384b381ca2757643.js +287 -0
  186. package/dist/prod-next/static/chunks/4263.ffa8d9bd8a0faaae.js +1 -0
  187. package/dist/prod-next/static/chunks/4561.d1a3aaca8bae3224.js +34 -0
  188. package/dist/prod-next/static/chunks/4592.d0f37bc216b9d988.js +93 -0
  189. package/dist/prod-next/static/chunks/4799.0dc7aa21bff2fd2a.js +1 -0
  190. package/dist/prod-next/static/chunks/4bd1b696-e356ca5ba0218e27.js +1 -0
  191. package/dist/prod-next/static/chunks/514.b804c51b26f5e126.js +1 -0
  192. package/dist/prod-next/static/chunks/5270.28592864d38e881c.js +1 -0
  193. package/dist/prod-next/static/chunks/52733464.3870f99cc446f9ff.js +1 -0
  194. package/dist/prod-next/static/chunks/5354.b559c717a607dc5c.js +1 -0
  195. package/dist/prod-next/static/chunks/5448.d3972d9fb464b54f.js +38 -0
  196. package/dist/prod-next/static/chunks/587.d52737d7288c11b4.js +1 -0
  197. package/dist/prod-next/static/chunks/5909.9e37f7b495b11995.js +115 -0
  198. package/dist/prod-next/static/chunks/5949.5504b3545fcc3d34.js +104 -0
  199. package/dist/prod-next/static/chunks/6322-4e97920c006f7933.js +1 -0
  200. package/dist/prod-next/static/chunks/6361.893d04ac34fa1b49.js +148 -0
  201. package/dist/prod-next/static/chunks/6774.8cd53427dbf32cac.js +86 -0
  202. package/dist/prod-next/static/chunks/6968.b80277c724dbc96e.js +1 -0
  203. package/dist/prod-next/static/chunks/7113.4b9e7ea870aa300a.js +8 -0
  204. package/dist/prod-next/static/chunks/7236.55a9728d35f5b8a6.js +1 -0
  205. package/dist/prod-next/static/chunks/7390.dde9b5bc2f6e24b8.js +1 -0
  206. package/dist/prod-next/static/chunks/7806.a903780fcfa3a30e.js +1 -0
  207. package/dist/prod-next/static/chunks/7997.be57e92e583fe635.js +1 -0
  208. package/dist/prod-next/static/chunks/8216.64a72d4d35ea7be0.js +1 -0
  209. package/dist/prod-next/static/chunks/830.5d5274d7ad1cb58e.js +1 -0
  210. package/dist/prod-next/static/chunks/8378.fa91de3406f554c9.js +226 -0
  211. package/dist/prod-next/static/chunks/8501.cd06aa1b0c7e1c6a.js +79 -0
  212. package/dist/prod-next/static/chunks/8663.6ec5792fb4952e45.js +27 -0
  213. package/dist/prod-next/static/chunks/872.96937e758ddce860.js +1 -0
  214. package/dist/prod-next/static/chunks/8803.75bde095fe3613f5.js +1 -0
  215. package/dist/prod-next/static/chunks/8863.72f5dbb820a0e4c3.js +1 -0
  216. package/dist/prod-next/static/chunks/90542734.f7a7b2972ef5a749.js +1 -0
  217. package/dist/prod-next/static/chunks/9379.5bc9c9343ec5a16c.js +64 -0
  218. package/dist/prod-next/static/chunks/9389.906fe7aa9cd6a170.js +1 -0
  219. package/dist/prod-next/static/chunks/9472.8818ee52cfa931a4.js +94 -0
  220. package/dist/prod-next/static/chunks/966.d6babbf8119162cc.js +1 -0
  221. package/dist/prod-next/static/chunks/9884.d4ac1a961b3366f1.js +36 -0
  222. package/dist/prod-next/static/chunks/9909.67cf9940b125243b.js +1 -0
  223. package/dist/prod-next/static/chunks/app/_global-error/page-8be5492b3b872a4c.js +1 -0
  224. package/dist/prod-next/static/chunks/app/_not-found/page-799e445a538b0024.js +1 -0
  225. package/dist/prod-next/static/chunks/app/api/taskmark-reload/route-8be5492b3b872a4c.js +1 -0
  226. package/dist/prod-next/static/chunks/app/board/page-5c181f45738daf1c.js +1 -0
  227. package/dist/prod-next/static/chunks/app/layout-21782e6d13a6f275.js +1 -0
  228. package/dist/prod-next/static/chunks/app/page-51bfe4356fe233e3.js +1 -0
  229. package/dist/prod-next/static/chunks/app/setup/page-3ccfba00c10f9b17.js +1 -0
  230. package/dist/prod-next/static/chunks/d3ac728e.7964f816a1ca64e5.js +1 -0
  231. package/dist/prod-next/static/chunks/e413bedd.3a12a8cb02e28fdf.js +153 -0
  232. package/dist/prod-next/static/chunks/ea233666.f00b64a7d99b4950.js +62 -0
  233. package/dist/prod-next/static/chunks/framework-711ef29bc66f648c.js +1 -0
  234. package/dist/prod-next/static/chunks/main-app-dd26d4f9d120646e.js +1 -0
  235. package/dist/prod-next/static/chunks/{main-bb33c46a9c25dee8.js → main-df4bcaed74f274eb.js} +2 -2
  236. package/dist/prod-next/static/chunks/next/dist/client/components/builtin/app-error-8be5492b3b872a4c.js +1 -0
  237. package/dist/prod-next/static/chunks/next/dist/client/components/builtin/forbidden-8be5492b3b872a4c.js +1 -0
  238. package/dist/prod-next/static/chunks/next/dist/client/components/builtin/global-error-45a0cf77e03361ed.js +1 -0
  239. package/dist/prod-next/static/chunks/next/dist/client/components/builtin/not-found-8be5492b3b872a4c.js +1 -0
  240. package/dist/prod-next/static/chunks/next/dist/client/components/builtin/unauthorized-8be5492b3b872a4c.js +1 -0
  241. package/dist/prod-next/static/chunks/webpack-713747aaa9716c4c.js +1 -0
  242. package/dist/prod-next/static/css/cb78d4b0062d9a3f.css +1 -0
  243. package/dist/public/taskmark-snapshot.json +1 -1
  244. package/lib/taskmark/board-index.ts +101 -0
  245. package/lib/taskmark/build-snapshot.ts +28 -7
  246. package/lib/taskmark/derive-parents.test.ts +23 -0
  247. package/lib/taskmark/derive-parents.ts +323 -0
  248. package/lib/taskmark/detail-load.ts +55 -7
  249. package/lib/taskmark/detail-types.ts +10 -2
  250. package/lib/taskmark/dev-reload-token.ts +1 -1
  251. package/lib/taskmark/discover.ts +4 -7
  252. package/lib/taskmark/epic-types.ts +2 -1
  253. package/lib/taskmark/flat-work-item-types.ts +1 -4
  254. package/lib/taskmark/identity.ts +3 -3
  255. package/lib/taskmark/item-types.ts +2 -1
  256. package/lib/taskmark/list-filters.test.ts +23 -0
  257. package/lib/taskmark/list-filters.ts +7 -2
  258. package/lib/taskmark/list-view-mode.test.ts +45 -0
  259. package/lib/taskmark/list-view-mode.ts +20 -9
  260. package/lib/taskmark/load-changelog.test.ts +32 -0
  261. package/lib/taskmark/load-changelog.ts +18 -0
  262. package/lib/taskmark/overall-tree.test.ts +196 -0
  263. package/lib/taskmark/overall-tree.ts +194 -0
  264. package/lib/taskmark/parse-detail.ts +5 -5
  265. package/lib/taskmark/parse-epics.ts +19 -16
  266. package/lib/taskmark/parse-flat-lists.ts +32 -28
  267. package/lib/taskmark/parse-items.ts +47 -9
  268. package/lib/taskmark/parse-stories.ts +18 -15
  269. package/lib/taskmark/points-calendar.test.ts +72 -0
  270. package/lib/taskmark/points-calendar.ts +86 -0
  271. package/lib/taskmark/project-metrics.ts +11 -7
  272. package/lib/taskmark/snapshot-types.ts +2 -0
  273. package/lib/taskmark/story-types.ts +2 -1
  274. package/lib/taskmark/table-sort.ts +4 -3
  275. package/lib/taskmark/timing.ts +29 -18
  276. package/lib/taskmark/validate.ts +1 -1
  277. package/lib/theme-cookie.test.ts +27 -0
  278. package/lib/theme-cookie.ts +43 -0
  279. package/package.json +3 -1
  280. package/public/taskmark-snapshot.json +1 -1
  281. package/scripts/build-static.mjs +61 -3
  282. package/dist/prod-next/server/app/setup.html +0 -1
  283. package/dist/prod-next/server/app/setup.meta +0 -17
  284. package/dist/prod-next/server/app/setup.rsc +0 -22
  285. package/dist/prod-next/server/app/setup.segments/_full.segment.rsc +0 -22
  286. package/dist/prod-next/server/app/setup.segments/_head.segment.rsc +0 -6
  287. package/dist/prod-next/server/app/setup.segments/_index.segment.rsc +0 -8
  288. package/dist/prod-next/server/app/setup.segments/_tree.segment.rsc +0 -5
  289. package/dist/prod-next/server/app/setup.segments/setup/__PAGE__.segment.rsc +0 -6
  290. package/dist/prod-next/server/app/setup.segments/setup.segment.rsc +0 -5
  291. package/dist/prod-next/server/chunks/318.js +0 -1
  292. package/dist/prod-next/server/chunks/490.js +0 -8
  293. package/dist/prod-next/server/chunks/57.js +0 -19
  294. package/dist/prod-next/server/chunks/616.js +0 -1
  295. package/dist/prod-next/server/chunks/708.js +0 -1
  296. package/dist/prod-next/server/chunks/724.js +0 -1
  297. package/dist/prod-next/static/chunks/4bd1b696-deb4a0a1da1923b0.js +0 -1
  298. package/dist/prod-next/static/chunks/51.e9139a9ea6eb36b9.js +0 -1
  299. package/dist/prod-next/static/chunks/613-6f794154d28bb75a.js +0 -1
  300. package/dist/prod-next/static/chunks/669-8103441c67b185da.js +0 -1
  301. package/dist/prod-next/static/chunks/701-df3ee5f1cf837b1a.js +0 -1
  302. package/dist/prod-next/static/chunks/794-25668765560cb197.js +0 -32
  303. package/dist/prod-next/static/chunks/app/_global-error/page-d34451c04262dd7d.js +0 -1
  304. package/dist/prod-next/static/chunks/app/_not-found/page-0b3785af737e7968.js +0 -1
  305. package/dist/prod-next/static/chunks/app/api/taskmark-reload/route-d34451c04262dd7d.js +0 -1
  306. package/dist/prod-next/static/chunks/app/board/page-cd1d9be0c0127225.js +0 -1
  307. package/dist/prod-next/static/chunks/app/layout-856e8a282e69e7d0.js +0 -1
  308. package/dist/prod-next/static/chunks/app/page-d34451c04262dd7d.js +0 -1
  309. package/dist/prod-next/static/chunks/app/setup/page-c3003359e8becc84.js +0 -1
  310. package/dist/prod-next/static/chunks/framework-b29f9083d3cda3b2.js +0 -1
  311. package/dist/prod-next/static/chunks/main-app-bfb36455d24b3e5a.js +0 -1
  312. package/dist/prod-next/static/chunks/next/dist/client/components/builtin/app-error-d34451c04262dd7d.js +0 -1
  313. package/dist/prod-next/static/chunks/next/dist/client/components/builtin/forbidden-d34451c04262dd7d.js +0 -1
  314. package/dist/prod-next/static/chunks/next/dist/client/components/builtin/global-error-dc53ab29e0491fe4.js +0 -1
  315. package/dist/prod-next/static/chunks/next/dist/client/components/builtin/not-found-d34451c04262dd7d.js +0 -1
  316. package/dist/prod-next/static/chunks/next/dist/client/components/builtin/unauthorized-d34451c04262dd7d.js +0 -1
  317. package/dist/prod-next/static/chunks/webpack-bfe8992962004e2b.js +0 -1
  318. package/dist/prod-next/static/css/2e6ec4c80894e3c0.css +0 -1
  319. /package/dist/prod-next/static/{sAWr5ATVuqk6Wqs18kAWs → EI1zQaa_kQ7DqUSE4o3Qo}/_buildManifest.js +0 -0
  320. /package/dist/prod-next/static/{sAWr5ATVuqk6Wqs18kAWs → EI1zQaa_kQ7DqUSE4o3Qo}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";exports.id=9419,exports.ids=[9419],exports.modules={9419:(a,b,c)=>{c.d(b,{diagram:()=>d.AC});var d=c(6208);c(23464),c(30917),c(17822),c(89463),c(51467),c(79440),c(48514),c(50396),c(38847),c(45037),c(69579),c(30492),c(29179),c(34950),c(12644),c(58715),c(95097)}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=9430,exports.ids=[9430],exports.modules={99430:(a,b,c)=>{c.d(b,{diagram:()=>E});var d,e=c(27384);c(30917),c(17822),c(51467),c(79440),c(48514),c(50396),c(38847),c(45037),c(69579),c(30492),c(29179);var f=c(34950),g=c(12644),h=c(58715),i=c(95097),j=c(69085),k=c(59108),l=c(74367),m=(0,i.K)(a=>a.append("circle").attr("class","start-state").attr("r",(0,g.D7)().state.sizeUnit).attr("cx",(0,g.D7)().state.padding+(0,g.D7)().state.sizeUnit).attr("cy",(0,g.D7)().state.padding+(0,g.D7)().state.sizeUnit),"drawStartState"),n=(0,i.K)(a=>a.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",(0,g.D7)().state.textHeight).attr("class","divider").attr("x2",2*(0,g.D7)().state.textHeight).attr("y1",0).attr("y2",0),"drawDivider"),o=(0,i.K)((a,b)=>{let c=a.append("text").attr("x",2*(0,g.D7)().state.padding).attr("y",(0,g.D7)().state.textHeight+2*(0,g.D7)().state.padding).attr("font-size",(0,g.D7)().state.fontSize).attr("class","state-title").text(b.id),d=c.node().getBBox();return a.insert("rect",":first-child").attr("x",(0,g.D7)().state.padding).attr("y",(0,g.D7)().state.padding).attr("width",d.width+2*(0,g.D7)().state.padding).attr("height",d.height+2*(0,g.D7)().state.padding).attr("rx",(0,g.D7)().state.radius),c},"drawSimpleState"),p=(0,i.K)((a,b)=>{let c=(0,i.K)(function(a,b,c){let d=a.append("tspan").attr("x",2*(0,g.D7)().state.padding).text(b);c||d.attr("dy",(0,g.D7)().state.textHeight)},"addTspan"),d=a.append("text").attr("x",2*(0,g.D7)().state.padding).attr("y",(0,g.D7)().state.textHeight+1.3*(0,g.D7)().state.padding).attr("font-size",(0,g.D7)().state.fontSize).attr("class","state-title").text(b.descriptions[0]).node().getBBox(),e=d.height,f=a.append("text").attr("x",(0,g.D7)().state.padding).attr("y",e+.4*(0,g.D7)().state.padding+(0,g.D7)().state.dividerMargin+(0,g.D7)().state.textHeight).attr("class","state-description"),h=!0,j=!0;b.descriptions.forEach(function(a){h||(c(f,a,j),j=!1),h=!1});let k=a.append("line").attr("x1",(0,g.D7)().state.padding).attr("y1",(0,g.D7)().state.padding+e+(0,g.D7)().state.dividerMargin/2).attr("y2",(0,g.D7)().state.padding+e+(0,g.D7)().state.dividerMargin/2).attr("class","descr-divider"),l=f.node().getBBox(),m=Math.max(l.width,d.width);return k.attr("x2",m+3*(0,g.D7)().state.padding),a.insert("rect",":first-child").attr("x",(0,g.D7)().state.padding).attr("y",(0,g.D7)().state.padding).attr("width",m+2*(0,g.D7)().state.padding).attr("height",l.height+e+2*(0,g.D7)().state.padding).attr("rx",(0,g.D7)().state.radius),a},"drawDescrState"),q=(0,i.K)((a,b,c)=>{let d,e=(0,g.D7)().state.padding,f=2*(0,g.D7)().state.padding,h=a.node().getBBox(),i=h.width,j=h.x,k=a.append("text").attr("x",0).attr("y",(0,g.D7)().state.titleShift).attr("font-size",(0,g.D7)().state.fontSize).attr("class","state-title").text(b.id),l=k.node().getBBox().width+f,m=Math.max(l,i);m===i&&(m+=f);let n=a.node().getBBox();b.doc,d=j-e,l>i&&(d=(i-m)/2+e),Math.abs(j-n.x)<e&&l>i&&(d=j-(l-i)/2);let o=1-(0,g.D7)().state.textHeight;return a.insert("rect",":first-child").attr("x",d).attr("y",o).attr("class",c?"alt-composit":"composit").attr("width",m).attr("height",n.height+(0,g.D7)().state.textHeight+(0,g.D7)().state.titleShift+1).attr("rx","0"),k.attr("x",d+e),l<=i&&k.attr("x",j+(m-f)/2-l/2+e),a.insert("rect",":first-child").attr("x",d).attr("y",(0,g.D7)().state.titleShift-(0,g.D7)().state.textHeight-(0,g.D7)().state.padding).attr("width",m).attr("height",3*(0,g.D7)().state.textHeight).attr("rx",(0,g.D7)().state.radius),a.insert("rect",":first-child").attr("x",d).attr("y",(0,g.D7)().state.titleShift-(0,g.D7)().state.textHeight-(0,g.D7)().state.padding).attr("width",m).attr("height",n.height+3+2*(0,g.D7)().state.textHeight).attr("rx",(0,g.D7)().state.radius),a},"addTitleAndBox"),r=(0,i.K)(a=>(a.append("circle").attr("class","end-state-outer").attr("r",(0,g.D7)().state.sizeUnit+(0,g.D7)().state.miniPadding).attr("cx",(0,g.D7)().state.padding+(0,g.D7)().state.sizeUnit+(0,g.D7)().state.miniPadding).attr("cy",(0,g.D7)().state.padding+(0,g.D7)().state.sizeUnit+(0,g.D7)().state.miniPadding),a.append("circle").attr("class","end-state-inner").attr("r",(0,g.D7)().state.sizeUnit).attr("cx",(0,g.D7)().state.padding+(0,g.D7)().state.sizeUnit+2).attr("cy",(0,g.D7)().state.padding+(0,g.D7)().state.sizeUnit+2)),"drawEndState"),s=(0,i.K)((a,b)=>{let c=(0,g.D7)().state.forkWidth,d=(0,g.D7)().state.forkHeight;if(b.parentId){let a=c;c=d,d=a}return a.append("rect").style("stroke","black").style("fill","black").attr("width",c).attr("height",d).attr("x",(0,g.D7)().state.padding).attr("y",(0,g.D7)().state.padding)},"drawForkJoinState"),t=(0,i.K)((a,b,c,d)=>{let e=0,f=d.append("text");f.style("text-anchor","start"),f.attr("class","noteText");let h=a.replace(/\r\n/g,"<br/>"),i=(h=h.replace(/\n/g,"<br/>")).split(g.Y2.lineBreakRegex),j=1.25*(0,g.D7)().state.noteMargin;for(let a of i){let d=a.trim();if(d.length>0){let a=f.append("tspan");a.text(d),0===j&&(j+=a.node().getBBox().height),e+=j,a.attr("x",b+(0,g.D7)().state.noteMargin),a.attr("y",c+e+1.25*(0,g.D7)().state.noteMargin)}}return{textWidth:f.node().getBBox().width,textHeight:e}},"_drawLongText"),u=(0,i.K)((a,b)=>{b.attr("class","state-note");let c=b.append("rect").attr("x",0).attr("y",(0,g.D7)().state.padding),{textWidth:d,textHeight:e}=t(a,0,0,b.append("g"));return c.attr("height",e+2*(0,g.D7)().state.noteMargin),c.attr("width",d+2*(0,g.D7)().state.noteMargin),c},"drawNote"),v=(0,i.K)(function(a,b){let c=b.id,d={id:c,label:b.id,width:0,height:0},e=a.append("g").attr("id",c).attr("class","stateGroup");"start"===b.type&&m(e),"end"===b.type&&r(e),("fork"===b.type||"join"===b.type)&&s(e,b),"note"===b.type&&u(b.note.text,e),"divider"===b.type&&n(e),"default"===b.type&&0===b.descriptions.length&&o(e,b),"default"===b.type&&b.descriptions.length>0&&p(e,b);let f=e.node().getBBox();return d.width=f.width+2*(0,g.D7)().state.padding,d.height=f.height+2*(0,g.D7)().state.padding,d},"drawState"),w=0,x=(0,i.K)(function(a,b,c){let d=(0,i.K)(function(a){switch(a){case e.u4.relationType.AGGREGATION:return"aggregation";case e.u4.relationType.EXTENSION:return"extension";case e.u4.relationType.COMPOSITION:return"composition";case e.u4.relationType.DEPENDENCY:return"dependency"}},"getRelationType");b.points=b.points.filter(a=>!Number.isNaN(a.y));let k=b.points,l=(0,j.n8j)().x(function(a){return a.x}).y(function(a){return a.y}).curve(j.qrM),m=a.append("path").attr("d",l(k)).attr("id","edge"+w).attr("class","transition"),n="";if((0,g.D7)().state.arrowMarkerAbsolute&&(n=(0,g.ID)(!0)),m.attr("marker-end","url("+n+"#"+d(e.u4.relationType.DEPENDENCY)+"End)"),void 0!==c.title){let d=a.append("g").attr("class","stateLabel"),{x:e,y:i}=f._K.calcLabelPosition(b.points),j=g.Y2.getRows(c.title),k=0,l=[],m=0,n=0;for(let a=0;a<=j.length;a++){let b=d.append("text").attr("text-anchor","middle").text(j[a]).attr("x",e).attr("y",i+k),c=b.node().getBBox();m=Math.max(m,c.width),n=Math.min(n,c.x),h.R.info(c.x,e,i+k),0===k&&(k=b.node().getBBox().height,h.R.info("Title height",k,i)),l.push(b)}let o=k*j.length;if(j.length>1){let a=(j.length-1)*k*.5;l.forEach((b,c)=>b.attr("y",i+c*k-a)),o=k*j.length}let p=d.node().getBBox();d.insert("rect",":first-child").attr("class","box").attr("x",e-m/2-(0,g.D7)().state.padding/2).attr("y",i-o/2-(0,g.D7)().state.padding/2-3.5).attr("width",m+(0,g.D7)().state.padding).attr("height",o+(0,g.D7)().state.padding),h.R.info(p)}w++},"drawEdge"),y={},z=(0,i.K)(function(){},"setConf"),A=(0,i.K)(function(a){a.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),B=(0,i.K)(function(a,b,c,e){let f;d=(0,g.D7)().state;let i=(0,g.D7)().securityLevel;"sandbox"===i&&(f=(0,j.Ltv)("#i"+b));let k="sandbox"===i?(0,j.Ltv)(f.nodes()[0].contentDocument.body):(0,j.Ltv)("body"),l="sandbox"===i?f.nodes()[0].contentDocument:document;h.R.debug("Rendering diagram "+a);let m=k.select(`[id='${b}']`);A(m),D(e.db.getRootDoc(),m.append("g").attr("id",b+"-root"),void 0,!1,k,l,e);let n=d.padding,o=m.node().getBBox(),p=o.width+2*n,q=o.height+2*n;(0,g.a$)(m,q,1.75*p,d.useMaxWidth),m.attr("viewBox",`${o.x-d.padding} ${o.y-d.padding} `+p+" "+q)},"draw"),C=(0,i.K)(a=>a?a.length*d.fontSizeFactor:1,"getLabelWidth"),D=(0,i.K)((a,b,c,e,f,i,j)=>{let m,n=new l.T({compound:!0,multigraph:!0}),o=!0;for(m=0;m<a.length;m++)if("relation"===a[m].stmt){o=!1;break}c?n.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:o?1:d.edgeLengthFactor,nodeSep:o?1:50,isMultiGraph:!0}):n.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:o?1:d.edgeLengthFactor,nodeSep:o?1:50,ranker:"tight-tree",isMultiGraph:!0}),n.setDefaultEdgeLabel(function(){return{}});let p=j.db.getStates(),r=j.db.getRelations();for(let a of Object.keys(p)){let g,h=p[a];if(c&&(h.parentId=c),h.doc){let a=b.append("g").attr("id",h.id).attr("class","stateGroup");g=D(h.doc,a,h.id,!e,f,i,j);{let b=(a=q(a,h,e)).node().getBBox();g.width=b.width,g.height=b.height+d.padding/2,y[h.id]={y:d.compositTitleSize}}}else g=v(b,h,n);if(h.note){let a=v(b,{descriptions:[],id:h.id+"-note",note:h.note,type:"note"},n);"left of"===h.note.position?(n.setNode(g.id+"-note",a),n.setNode(g.id,g)):(n.setNode(g.id,g),n.setNode(g.id+"-note",a)),n.setParent(g.id,g.id+"-group"),n.setParent(g.id+"-note",g.id+"-group")}else n.setNode(g.id,g)}h.R.debug("Count=",n.nodeCount(),n);let s=0;r.forEach(function(a){s++,h.R.debug("Setting edge",a),n.setEdge(a.id1,a.id2,{relation:a,width:C(a.title),height:d.labelHeight*g.Y2.getRows(a.title).length,labelpos:"c"},"id"+s)}),(0,k.Zp)(n),h.R.debug("Graph after layout",n.nodes());let t=b.node();n.nodes().forEach(function(a){void 0!==a&&void 0!==n.node(a)?(h.R.warn("Node "+a+": "+JSON.stringify(n.node(a))),f.select("#"+t.id+" #"+a).attr("transform","translate("+(n.node(a).x-n.node(a).width/2)+","+(n.node(a).y+(y[a]?y[a].y:0)-n.node(a).height/2)+" )"),f.select("#"+t.id+" #"+a).attr("data-x-shift",n.node(a).x-n.node(a).width/2),i.querySelectorAll("#"+t.id+" #"+a+" .divider").forEach(a=>{let b=a.parentElement,c=0,d=0;b&&(b.parentElement&&(c=b.parentElement.getBBox().width),Number.isNaN(d=parseInt(b.getAttribute("data-x-shift"),10))&&(d=0)),a.setAttribute("x1",0-d+8),a.setAttribute("x2",c-d-8)})):h.R.debug("No Node "+a+": "+JSON.stringify(n.node(a)))});let u=t.getBBox();n.edges().forEach(function(a){void 0!==a&&void 0!==n.edge(a)&&(h.R.debug("Edge "+a.v+" -> "+a.w+": "+JSON.stringify(n.edge(a))),x(b,n.edge(a),n.edge(a).relation))});let w={id:c||"root",label:c||"root",width:0,height:0};return w.width=(u=t.getBBox()).width+2*d.padding,w.height=u.height+2*d.padding,h.R.debug("Doc rendered",w,n),w},"renderDoc"),E={parser:e.Zk,get db(){return new e.u4(1)},renderer:{setConf:z,draw:B},styles:e.tM,init:(0,i.K)(a=>{a.state||(a.state={}),a.state.arrowMarkerAbsolute=a.arrowMarkerAbsolute},"init")}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=9586,exports.ids=[9586],exports.modules={79586:(a,b,c)=>{c.d(b,{diagram:()=>f});var d=c(66823);c(23464),c(30917),c(17822),c(51467),c(79440),c(48514),c(50396),c(38847),c(45037),c(69579),c(30492),c(29179),c(34950),c(12644),c(58715);var e=c(95097),f={parser:d._$,get db(){return new d.NM},renderer:d.Lh,styles:d.tM,init:(0,e.K)(a=>{a.class||(a.class={}),a.class.arrowMarkerAbsolute=a.arrowMarkerAbsolute},"init")}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=9775,exports.ids=[9775],exports.modules={69775:(a,b,c)=>{c.d(b,{createInfoServices:()=>d.v});var d=c(3196);c(9824)}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=992,exports.ids=[992],exports.modules={80992:(a,b,c)=>{c.r(b),c.d(b,{render:()=>ch});var d=c(59881);c(48514);var e=c(50396);c(38847),c(45037),c(69579),c(30492),c(29179),c(34950),c(12644);var f=c(58715),g=c(95097);function h(a){let b=[];for(let c=0;c<a.length-1;c++)b.push({a:a[c],b:a[c+1]});return b}function i(a,b,c,d){let e=b.x-a.x,f=b.y-a.y,g=d.x-c.x,h=d.y-c.y,i=e*h-f*g;if(0===i)return null;let j=c.x-a.x,k=c.y-a.y,l=(j*h-k*g)/i,m=(j*f-k*e)/i;return l<=1e-6||l>=.999999||m<=1e-6||m>=.999999?null:{point:{x:a.x+l*e,y:a.y+l*f},tA:l,tB:m}}function j(a){return Math.abs(a.b.x-a.a.x)>=Math.abs(a.b.y-a.a.y)}function k(a){let b=[];for(let c=0;c<a.length;c++){let d=a[c],e=h(d.points);for(let f=c+1;f<a.length;f++){let c=a[f],g=h(c.points);for(let[a,f]of e.entries())for(let[e,h]of g.entries()){let g=i(f.a,f.b,h.a,h.b);if(!g)continue;let k=j(f);k!==j(h)&&k?b.push({jumpEdgeId:d.id,otherEdgeId:c.id,segIndex:a,t:g.tA,point:g.point}):b.push({jumpEdgeId:c.id,otherEdgeId:d.id,segIndex:e,t:g.tB,point:g.point})}}}return b}function l(a){let b=Math.round(1e3*a)/1e3;return Number.isInteger(b),`${b}`}function m(a){return`${l(a.x)},${l(a.y)}`}function n(a){let b=a.b.x-a.a.x,c=a.b.y-a.a.y;return Math.abs(b)>=Math.abs(c)?+(b>=0):+(c>=0)}function o(a,b){if(a.length<2)return a.map(a=>({...a}));let c=a.map(a=>({...a})),d=b.arrowTypeStart&&e.hq[b.arrowTypeStart];if(d){let b=a[0],e=a[1],f=Math.atan2(e.y-b.y,e.x-b.x);c[0].x=b.x+d*Math.cos(f),c[0].y=b.y+d*Math.sin(f)}let f=b.arrowTypeEnd&&e.hq[b.arrowTypeEnd];if(f){let b=a.length,d=a[b-2],e=a[b-1],g=Math.atan2(e.y-d.y,e.x-d.x);c[b-1].x=e.x-f*Math.cos(g),c[b-1].y=e.y-f*Math.sin(g)}return c}function p(a,b,c,d,e){let f=a.point.x,g=a.point.y,h={x:f-b*a.r,y:g-c*a.r},i={x:f+b*a.r,y:g+c*a.r},j=[`L${m(h)}`];return"arc"===e?j.push(`A${l(a.r)},${l(a.r)} 0 0 ${d} ${m(i)}`):j.push(`M${m(i)}`),j}function q(a,b,c,d){let e=b.x-a.x,f=b.y-a.y,g=c.x-b.x,h=c.y-b.y,i=Math.hypot(e,f),j=Math.hypot(g,h);if(i<1e-5||j<1e-5)return null;let k=e/i,l=f/i,m=g/j,n=h/j,o=Math.acos(Math.max(-1,Math.min(1,k*m+l*n)));if(o<1e-5||1e-5>Math.abs(Math.PI-o))return null;let p=Math.min(d/Math.sin(o/2),i/2,j/2);return{startX:b.x-k*p,startY:b.y-l*p,endX:b.x+m*p,endY:b.y+n*p,ctrlX:b.x,ctrlY:b.y,cutLen:p}}function r(a,b,c){let d=a.points;if(d.length<2)return"";let e=o(d,a),f="rounded"===a.curve,g=h(e),i=new Map;for(let a of b){let b=g[a.segIndex];if(!b)continue;let d=Math.hypot(b.b.x-b.a.x,b.b.y-b.a.y),e=i.get(a.segIndex)??[];e.push({t:a.t,point:a.point,d:a.t*d,r:c.jumpRadius}),i.set(a.segIndex,e)}let j=[`M${m(e[0])}`];for(let a=0;a<g.length;a++){let b=g[a],d=Math.hypot(b.b.x-b.a.x,b.b.y-b.a.y),h=0===d?0:(b.b.x-b.a.x)/d,k=0===d?0:(b.b.y-b.a.y)/d,o=n(b),r=0;if(f&&a>0){let b=q(e[a-1],e[a],e[a+1]??e[a],5);b&&(r=b.cutLen)}let s=d,t=null;f&&a<g.length-1&&(t=q(e[a],e[a+1],e[a+2]??e[a+1],5))&&(s=d-t.cutLen);let u=[...i.get(a)??[]].sort((a,b)=>a.t-b.t);for(let a of u)a.r=Math.min(a.r,a.d-r,s-a.d);for(let a=0;a<u.length-1;a++){let b=u[a+1].d-u[a].d;if(u[a].r+u[a+1].r>b){let c=b/2;u[a].r=Math.min(u[a].r,c),u[a+1].r=Math.min(u[a+1].r,c)}}for(let a of u)a.r<.001||j.push(...p(a,h,k,o,c.jumpStyle));f&&t?(j.push(`L${l(t.startX)},${l(t.startY)}`),j.push(`Q${l(t.ctrlX)},${l(t.ctrlY)} ${l(t.endX)},${l(t.endY)}`)):j.push(`L${m(b.b)}`)}return j.join(" ")}function s(a){return/^[\d\s+,.LMelm-]*$/.test(a)}function t(a){return!a||"linear"===a||"rounded"===a||"step"===a||"stepBefore"===a||"stepAfter"===a}function u(a){if(!a)return null;try{let b="function"==typeof atob?atob(a):Buffer.from(a,"base64").toString(),c=JSON.parse(b);if(!Array.isArray(c))return null;let d=[];for(let a of c)a&&"number"==typeof a.x&&"number"==typeof a.y&&d.push({x:a.x,y:a.y});return d.length>=2?d:null}catch{return null}}function v(a,b,c){if(!c.enabled)return;let d=a.node();if(!d)return;let e=new Map;for(let a of b)e.set(a.id,a);let f=[],g=new Map;for(let a of b){let b="u">typeof CSS&&CSS.escape?CSS.escape(a.id):a.id,c=d.querySelector(`path[data-id="${b}"]`);if(!c)continue;g.set(a.id,c);let e=u(c.getAttribute("data-points"))??a.points;f.push({...a,points:e})}let h=k(f);if(0===h.length)return;let i=new Map;for(let a of h){let b=i.get(a.jumpEdgeId)??[];b.push(a),i.set(a.jumpEdgeId,b)}for(let a of f){let b=i.get(a.id);if(!b||0===b.length)continue;let d=e.get(a.id),f=d?.curve;if(void 0!==f&&!t(f))continue;let h=g.get(a.id);if(!h||void 0===f&&!s(h.getAttribute("d")??""))continue;let j=h.getAttribute("style")??"",k=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(j),l=k?Number.parseFloat(k[1]):null,m=k?Number.parseFloat(k[2]):null,n=r(a,b,c);if(h.setAttribute("d",n),null!==l&&null!==m&&"function"==typeof h.getTotalLength){let a=Math.max(0,h.getTotalLength()-l-m),b=`0 ${l} ${a} ${m}`,c=j.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${b};`).replace(/;\s*;+/g,";");h.setAttribute("style",c)}}}function w(a,{measure:b}){let c=a.config?.swimlane?.lineHops;if(!1===c)return;let d=a.edges.filter(a=>Array.isArray(a.points)&&a.points.length>=2).map(a=>({id:a.id,points:a.points,curve:a.curve,arrowTypeStart:a.arrowTypeStart,arrowTypeEnd:a.arrowTypeEnd}));v(b.groups.edgePaths,d,{enabled:!0,jumpRadius:6,jumpStyle:"gap"===c?"gap":"arc"})}(0,g.K)(h,"buildSegmentList"),(0,g.K)(i,"segmentIntersection"),(0,g.K)(j,"isHorizontalSeg"),(0,g.K)(k,"findEdgeIntersections"),(0,g.K)(l,"fmt"),(0,g.K)(m,"pointToString"),(0,g.K)(n,"getArcSweepFlag"),(0,g.K)(o,"applyMarkerOffsets"),(0,g.K)(p,"emitJump"),(0,g.K)(q,"computeRoundedCorner"),(0,g.K)(r,"rewriteEdgePath"),(0,g.K)(s,"isStraightPath"),(0,g.K)(t,"curveSupportsLineHops"),(0,g.K)(u,"decodeDataPoints"),(0,g.K)(v,"applyLineJumpsToSvg"),(0,g.K)(w,"applySwimlaneLineJumps");var x="__swimlane_default__";function y(a){return Math.max(a.padding??20,20)}function z(a){let{x:b,y:c,width:d,height:e}=a,f=a.swimlaneContentTop;if("number"!=typeof b||"number"!=typeof c||"number"!=typeof d||"number"!=typeof e||"number"!=typeof f||!Number.isFinite(b)||!Number.isFinite(c)||!Number.isFinite(d)||!Number.isFinite(e)||!Number.isFinite(f)||d<=0||e<=0)return void delete a.groupTitleRect;let g=c-e/2,h=Math.min(21,Math.max(0,Math.min(f,c+e/2)-g)),i=g+h;i<=g?delete a.groupTitleRect:a.groupTitleRect={left:b-d/2,right:b+d/2,top:g,bottom:i}}function A(a){let b=a.direction,c=a.nodes??=[];for(let c of a.nodes??[])c.isGroup&&!c.parentId&&(c.shape="swimlane",b&&(c.direction=b));let d=c.filter(a=>!a.isGroup&&!a.parentId);if(0===d.length)return;let e=c.find(a=>a.id===x);for(let a of(e?e.isGroup&&(e.shape="swimlane",b&&(e.direction=b)):(e={id:x,label:"",isGroup:!0,shape:"swimlane",padding:20,...b?{direction:b}:{}},c.push(e)),d))a.parentId=x}function B(a){let b=new Map;for(let c of a.nodes??[])b.set(c.id,c);let c=[];for(let b of a.edges??[]){let a="string"==typeof b.start?b.start:void 0,d="string"==typeof b.end?b.end:void 0;a&&d&&(b.labelNodeId||c.push({id:b.id,src:a,dst:d,ref:b}))}let d=a.nodes??[],e=d.filter(a=>a.isGroup),f=d.filter(a=>!a.isGroup);return{nodes:[...[...e].reverse(),...f].map(a=>a.id),edges:c,layout:a,nodeById:b}}function C(a,b,c,d){let{layout:e}=a,f=a.nodeById,g=d?.layerGap??100,h=d?.nodeGap??40,i=0;for(let a of b.layers){let b=0;for(let d of a){let a=f.get(d);if(!a){b++;continue}a.layer=i,a.order=b;let e=c.x[d]??b*h,j=c.y[d]??i*g;a.x=e,a.y=j,b++}i++}let j=e.nodes??[],k=new Map,l=[];for(let a of j){if(!a?.isGroup)continue;a.parentId||l.push(a);let b=j.filter(b=>b.parentId===a.id),d=1/0,e=-1/0,f=1/0,g=-1/0;for(let a of b){let b=a.x??c.x[a.id],h=a.y??c.y[a.id],i=a.width??0,j=a.height??0;null!=b&&null!=h&&(d=Math.min(d,b-i/2),e=Math.max(e,b+i/2),f=Math.min(f,h-j/2),g=Math.max(g,h+j/2))}if(d===1/0||f===1/0)a.x=a.x??0,a.y=a.y??0,a.width=a.width??0,a.height=a.height??0;else{let b=a.padding??20,c=Math.max(0,e-d)+(a.parentId?b:2*y(a)),h=Math.max(0,g-f)+b,i=(f+g)/2;a.x=(d+e)/2,a.y=i,a.width=c,a.height=h,k.set(a.id,{minX:d,maxX:e,minY:f,maxY:g})}}if(l.length>0&&k.size>0){let a=1/0,b=-1/0,c=0;for(let d of l){let e=d.padding??20;e>c&&(c=e);let f=k.get(d.id);f&&(a=Math.min(a,f.minY),b=Math.max(b,f.maxY))}if(a!==1/0&&b!==-1/0){let d=Math.max(0,b-a)+2*Math.max(c,36),e=(a+b)/2;for(let b of l)b.y=e,b.height=d,b.swimlaneContentTop=a;let f=[...l].sort((a,b)=>(a.x??0)-(b.x??0)),g=[],h=[],i=[];for(let a of f){let b=k.get(a.id);if(!b)continue;let c=Math.max(0,b.maxX-b.minX)+2*y(a),d=(b.minX+b.maxX)/2;g.push(a.id),h.push(d),i.push(c)}let j=g.length;if(j>0){let a=new Map;if(1===j)a.set(g[0],i[0]);else{let b=[];for(let a=0;a<j-1;a++)b.push(h[a+1]-h[a]);let c=Array(j);c[0]=0;for(let a=0;a<j-1;a++)c[a+1]=2*b[a]-c[a];let d=0,e=1/0;for(let a=0;a<j;a++){let b=i[a];a%2==0?d=Math.max(d,b-c[a]):e=Math.min(e,c[a]-b)}let f=d;f=d<=e?(d+e)/2:d;for(let b=0;b<j;b++){let d=c[b]+(b%2==0?f:-f),e=Math.max(i[b],d);a.set(g[b],e)}}for(let b of l){let c=a.get(b.id);null!=c&&(b.width=c),z(b)}}}}}function D(a){let b=[],c=[],d=new Map;for(let b of a.nodes)d.set(b.id,b);for(let e of a.edges){if(!e.label||0===e.label.length||e.isLayoutOnly||e.labelNodeId)continue;let a=e.start?d.get(e.start):void 0,g=e.end?d.get(e.end):void 0;if(!a||!g){f.R.warn("[EdgeLabelNodes]",`Edge ${e.id} has missing source or target node`);continue}let h=`edge-label-${e.start}-${e.end}-${e.id}`,i=a.parentId!==g.parentId?g.parentId:a.parentId,j={id:h,label:e.label,edgeStart:e.start??"",edgeEnd:e.end??"",shape:"labelRect",width:0,height:0,isEdgeLabel:!0,isDummy:!0,parentId:i,isGroup:!1,labelStyle:Array.isArray(e.labelStyle)?e.labelStyle[0]:e.labelStyle??"",...a.dir?{dir:a.dir}:{}};b.push(j),e.labelNodeId=h,e.label=void 0,e.text=void 0;let k={id:`${e.id}-to-label`,start:e.start,end:h,type:"normal",isLayoutOnly:!0},l={id:`${e.id}-from-label`,start:h,end:e.end,type:"normal",isLayoutOnly:!0};c.push(k,l)}let e=[...a.nodes,...b],g=[...a.edges,...c];return{...a,nodes:e,edges:g}}function E(a){let b=a.x??0,c=a.y??0,d=a.width??0,e=a.height??0;return d>0&&e>0?{cx:b,cy:c,rect:W(b,c,d,e)}:void 0}function F(a){if(a.isGroup)return;let b=E(a);if(b)return{id:String(a.id??""),cx:b.cx,cy:b.cy,rect:b.rect}}function G(a,b,c=.001){return Math.abs(a.x-b.x)<c&&Math.abs(a.y-b.y)<c}function H(a,b,c=.001){return Math.abs(a.x-b.x)<c}function I(a,b,c=.001){return Math.abs(a.y-b.y)<c}function J(a,b,c=.001){return I(a,b,c)&&Math.abs(a.x-b.x)>c}function K(a,b,c=.001){return H(a,b,c)&&Math.abs(a.y-b.y)>c}function L(a,b,c,d){return Math.max(0,Math.min(Math.max(a,b),Math.max(c,d))-Math.max(Math.min(a,b),Math.min(c,d)))}function M(a,b,c=.001){return a.horizontal&&b.horizontal&&I(a.a,b.a,c)?L(a.a.x,a.b.x,b.a.x,b.b.x):a.vertical&&b.vertical&&H(a.a,b.a,c)?L(a.a.y,a.b.y,b.a.y,b.b.y):0}function N(a,b=.001){let c=[];for(let d=0;d<a.length-1;d++){let e=a[d],f=a[d+1],g=J(e,f,b),h=K(e,f,b);(g||h)&&c.push({index:d,a:e,b:f,horizontal:g,vertical:h})}return c}function O(a,b=.001){let c=N(a,b),d=0;for(let a=1;a<c.length;a++)c[a-1].horizontal!==c[a].horizontal&&d++;return d}function P(a,b=.001){let c=[];for(let d of a){let a=c.length>0?c[c.length-1]:void 0;a&&G(a,d,b)||c.push({x:d.x,y:d.y})}return c}function Q(a,b=.001){if(!a||4!==a.length)return;let[c,d,e,f]=a;return J(c,d,b)&&K(d,e,b)&&J(e,f,b)?{kind:"HVH",p0:c,p1:d,p2:e,p3:f}:K(c,d,b)&&J(d,e,b)&&K(e,f,b)?{kind:"VHV",p0:c,p1:d,p2:e,p3:f}:void 0}function R(a,b,c,d=0){let e=Math.min(a.x,b.x),f=Math.max(a.x,b.x),g=Math.min(a.y,b.y),h=Math.max(a.y,b.y);return f>c.left-d&&e<c.right+d&&h>c.top-d&&g<c.bottom+d}function S(a,b,c=0){return a.x>b.left+c&&a.x<b.right-c&&a.y>b.top+c&&a.y<b.bottom-c}function T(a,b){return a.left<=b.left&&a.right>=b.right&&a.top<=b.top&&a.bottom>=b.bottom}function U(a,b){return a.left<b.right&&a.right>b.left&&a.top<b.bottom&&a.bottom>b.top}function V(a,b){return{left:a.left-b,right:a.right+b,top:a.top-b,bottom:a.bottom+b}}function W(a,b,c,d){return{left:a-c/2,right:a+c/2,top:b-d/2,bottom:b+d/2}}function X(a){return E(a)?.rect}function Y(a,b){switch(b){case"top":return{x:a.cx,y:a.rect.top};case"bottom":return{x:a.cx,y:a.rect.bottom};case"left":return{x:a.rect.left,y:a.cy};case"right":return{x:a.rect.right,y:a.cy}}}function Z(a,b,c,d,e,f=.001){let g="left"===b||"right"===b,h="left"===d||"right"===d;if(g&&h){if("right"===b&&"left"===d&&a.x<c.x||"left"===b&&"right"===d&&a.x>c.x){if(I(a,c,f))return[a,c];let b=(a.x+c.x)/2;return[a,{x:b,y:a.y},{x:b,y:c.y},c]}if(b===d){if(I(a,c,f))return;let d="left"===b?Math.min(a.x,c.x)-e:Math.max(a.x,c.x)+e;return[a,{x:d,y:a.y},{x:d,y:c.y},c]}return}if(!g&&!h){if(b===d){if(H(a,c,f))return;let d="top"===b?Math.min(a.y,c.y)-e:Math.max(a.y,c.y)+e;return[a,{x:a.x,y:d},{x:c.x,y:d},c]}if(!("bottom"===b&&"top"===d&&a.y<c.y||"top"===b&&"bottom"===d&&a.y>c.y))return;if(H(a,c,f))return[a,c];let g=(a.y+c.y)/2;return[a,{x:a.x,y:g},{x:c.x,y:g},c]}if(g&&!h){let e="right"===b&&c.x>a.x||"left"===b&&c.x<a.x,f="top"===d&&a.y<c.y||"bottom"===d&&a.y>c.y;return e&&f?[a,{x:c.x,y:a.y},c]:void 0}let i="bottom"===b&&c.y>a.y||"top"===b&&c.y<a.y,j="left"===d&&a.x<c.x||"right"===d&&a.x>c.x;return i&&j?[a,{x:a.x,y:c.y},c]:void 0}function $(a,b,c,d){return"left"===b||"right"===b?[a,{x:d,y:a.y},{x:d,y:c.y},c]:[a,{x:a.x,y:d},{x:c.x,y:d},c]}function _(a){let b=new Map,c=[];for(let d of a){if(d.isEdgeLabel)continue;let a=F(d);a&&(b.set(a.id,a),c.push({id:a.id,rect:a.rect}))}return{nodeInfoById:b,realNodeRects:c}}function aa(a){let b=[],c=[];for(let d of a){let a=F(d);if(!a)continue;let e={id:a.id,rect:a.rect};d.isEdgeLabel?c.push(e):b.push(e)}return{realNodeRects:b,labelNodeRects:c}}function ab(a,{includeEdgeLabels:b=!0}={}){let c=[];for(let d of a){if(d.isGroup||!b&&d.isEdgeLabel)continue;let a=d.x??0,e=d.y??0,f=d.width??0,g=d.height??0;c.push({nodeId:d.id,...W(a,e,f,g)})}return c}function ac(a,b,c=.001){let d=a.start,e=a.end;if(!d||!e)return;let f=b.get(d),g=b.get(e);if(f&&g)return{srcId:d,dstId:e,srcInfo:f,dstInfo:g,collinearX:Math.abs(f.cx-g.cx)<c,collinearY:Math.abs(f.cy-g.cy)<c}}function ad(a,b,c,d=[],e=0){for(let f of c)if(!d.includes(f.id)&&R(a,b,f.rect,-e))return!0;return!1}function ae(a,b,c,d,e=.001,f=1e-6){let g=I(a,b,e),h=H(a,b,e),i=I(c,d,e),j=H(c,d,e);if(g&&i||h&&j||!(g||h)||!(i||j))return!1;let k=g?{a:a,b:b}:{a:c,b:d},l=h?{a:a,b:b}:{a:c,b:d},m=k.a.y,n=Math.min(k.a.x,k.b.x),o=Math.max(k.a.x,k.b.x),p=l.a.x,q=Math.min(l.a.y,l.b.y),r=Math.max(l.a.y,l.b.y);if(p<n||p>o||m<q||m>r)return!1;let s=Math.abs(p-k.a.x)<f&&Math.abs(m-k.a.y)<f||Math.abs(p-k.b.x)<f&&Math.abs(m-k.b.y)<f,t=Math.abs(p-l.a.x)<f&&Math.abs(m-l.a.y)<f||Math.abs(p-l.b.x)<f&&Math.abs(m-l.b.y)<f;return!(s&&t)}function af(a,b,c,d,e=.001){let f=I(a,b,e),g=H(a,b,e),h=I(c,d,e),i=H(c,d,e);return g&&i&&H(a,c,e)?L(a.y,b.y,c.y,d.y)>e:!!(f&&h&&I(a,c,e))&&L(a.x,b.x,c.x,d.x)>e}function ag(a,b,c,d,{epsilon:e=.001,skipDegenerateOther:f=!1}={}){for(let g of c){if(g===d||g.isLayoutOnly)continue;let c=g.points;if(c&&!(c.length<2))for(let d=0;d<c.length-1;d++){let g=c[d],h=c[d+1];if(!(f&&G(g,h,e))&&(ae(a,b,g,h,e)||af(a,b,g,h,e)))return!0}}return!1}function ah(a,b,c,d,e=.001){let f=I(a,b,e),g=H(a,b,e),h=I(c,d,e),i=H(c,d,e);if(!(f&&i||g&&h))return!1;let j=f?{a:a,b:b}:{a:c,b:d},k=f?{a:c,b:d}:{a:a,b:b},l=j.a.y,m=Math.min(j.a.x,j.b.x),n=Math.max(j.a.x,j.b.x),o=k.a.x,p=Math.min(k.a.y,k.b.y),q=Math.max(k.a.y,k.b.y);return o>m+e&&o<n-e&&l>p+e&&l<q-e}function ai(a,b,c){let d=Math.min(b,c),e=Math.max(b,c);return a>d+.001&&a<e-.001}function aj(a,b,c){return H(a,b)&&H(b,c)?ai(b.y,a.y,c.y):!!(I(a,b)&&I(b,c))&&ai(b.x,a.x,c.x)}function ak(a){let b=!1,c=[];for(let d=0;d<a.length;d++){let e=c[c.length-1],f=a[d],g=d+1<a.length?a[d+1]:void 0;if(e&&g){if(G(e,g)){d++,b=!0;continue}if(aj(e,f,g)){b=!0;continue}}c.push(f)}return{points:c,changed:b}}function al(a){let b=[a[0]];for(let c=1;c<a.length;c++){let d=b[b.length-1],e=a[c];if(!H(d,e)&&!I(d,e)){let a=b.length>=2?b[b.length-2]:void 0,c=a&&H(a,d)?{x:d.x,y:e.y}:{x:e.x,y:d.y};b.push(c)}b.push(e)}let c=[];for(let a of b){let b=c[c.length-1];b&&G(b,a)||c.push(a)}return c}function am(a){if(a.length<3)return a;let b=[...a];for(let a=0;a<32;a++){let a=ak(b);if(b=a.points,!a.changed)break}return b}function an(a,b,c){if(a.isLayoutOnly||!a.points||a.points.length<c)return;let d=a.start?b.get(a.start):void 0,e=a.end?b.get(a.end):void 0;return{edge:a,points:a.points,srcRect:d?X(d):void 0,dstRect:e?X(e):void 0}}function ao(a,b,c){if(I(a,b,.001))return{x:a.x<c.left?c.left:c.right,y:a.y};if(H(a,b,.001)){let b=a.y<c.top?c.top:c.bottom;return{x:a.x,y:b}}return{x:Math.min(c.right,Math.max(c.left,a.x)),y:Math.min(c.bottom,Math.max(c.top,a.y))}}function ap(a,b,c){let d=c?1:-1,e=c?0:a.length-1;for(;e>=0&&e<a.length&&S(a[e],b,.5);)e+=d;if(e<0||e>=a.length)return a;let f=e-d;if(f<0||f>=a.length)return a;let g=ao(a[e],a[f],b);return c?[g,...a.slice(e)]:[...a.slice(0,e+1),g]}function aq(a,b){for(let c of a){let a=an(c,b,2);if(!a)continue;let d=[...a.points];a.srcRect&&(d=ap(d,a.srcRect,!0)),a.dstRect&&(d=ap(d,a.dstRect,!1)),d=aB(d=am(al(d)),a.srcRect,a.dstRect),a.edge.points=am(al(d))}}function ar(a,b,c,d=!1){if(I(a,b,.001)){if(b.y<c.top-.001||b.y>c.bottom+.001)return b;if(d){if(a.x<c.left-.001)return{x:c.left,y:a.y};if(a.x>c.right+.001)return{x:c.right,y:a.y}}return{x:Math.abs(b.x-c.left)<=Math.abs(b.x-c.right)?c.left:c.right,y:a.y}}if(H(a,b,.001)){if(b.x<c.left-.001||b.x>c.right+.001)return b;if(d){if(a.y<c.top-.001)return{x:a.x,y:c.top};if(a.y>c.bottom+.001)return{x:a.x,y:c.bottom}}let e=Math.abs(b.y-c.top)<=Math.abs(b.y-c.bottom);return{x:a.x,y:e?c.top:c.bottom}}return b}function as(a,b,c){let d=a[b];for(let e=b+c;e>=0&&e<a.length;e+=c){let b=a[e];if(!G(b,d,.001))return b}return a[b+c]}function at(a,b){let c=a+4,d=b-4;return c<=d?{lo:c,hi:d}:{lo:(a+b)/2,hi:(a+b)/2}}function au(a,b,c){let{lo:d,hi:e}=at(b,c);return Math.min(e,Math.max(d,a))}function av(a){let b=Math.max(...a.map(a=>a.lo)),c=Math.min(...a.map(a=>a.hi));if(!(b>c))return{lo:b,hi:c}}function aw(a,b){return"left"===b||"right"===b?at(a.top,a.bottom):at(a.left,a.right)}function ax(a,b,c){let d=a.y>=c.top-.001&&a.y<=c.bottom+.001,e=a.x>=c.left-.001&&a.x<=c.right+.001;if(I(a,b,.001)&&d){if(.001>Math.abs(a.x-c.left))return"left";if(.001>Math.abs(a.x-c.right))return"right"}if(H(a,b,.001)&&e){if(.001>Math.abs(a.y-c.top))return"top";if(.001>Math.abs(a.y-c.bottom))return"bottom"}}function ay(a){return"left"===a||"right"===a}function az(a,b,c,d,e){let f=[],g=c?ax(a,b,c):void 0,h=d?ax(b,a,d):void 0;return c&&g&&ay(g)===e&&f.push(aw(c,g)),d&&h&&ay(h)===e&&f.push(aw(d,h)),f.length>0?av(f):void 0}function aA(a,b,c,d,e){let f=az(a,b,c,d,e);if(!f)return;let g=e?a.y:a.x,h=Math.min(f.hi,Math.max(f.lo,g));if(!(.001>Math.abs(h-g)))return e?[{x:a.x,y:h},{x:b.x,y:h}]:[{x:h,y:a.y},{x:h,y:b.y}]}function aB(a,b,c){if(2!==a.length)return a;let[d,e]=a;return I(d,e,.001)?aA(d,e,b,c,!0)??a:H(d,e,.001)?aA(d,e,b,c,!1)??a:a}function aC(a,b,c){return ay(c)?{x:a.x,y:au(a.y,b.top,b.bottom)}:{x:au(a.x,b.left,b.right),y:a.y}}function aD(a,b,c,d,e,f){let g=a.map(a=>({...a}));for(let h=b;h>=0&&h<a.length;h+=c){let b=a[h];if(f&&!I(b,d,.001)||!f&&!H(b,d,.001))break;f?g[h].y=e.y:g[h].x=e.x}return g}function aE(a,b,c){if(a.length<2)return a;let d=c?0:a.length-1,e=c?1:-1,f=a[d],g=as(a,d,e);if(!g)return a;let h=ax(f,g,b);if(!h)return a;let i=ay(h),j=aC(f,b,h);return G(f,j,.001)?a:aD(a,d,e,f,j,i)}function aF(a,b,c){let d=Math.min(a.x,b.x)>=c.left-.001&&Math.max(a.x,b.x)<=c.right+.001,e=Math.min(a.y,b.y)>=c.top-.001&&Math.max(a.y,b.y)<=c.bottom+.001;return .001>Math.abs(a.y-c.top)&&.001>Math.abs(b.y-c.top)&&d?"top":.001>Math.abs(a.y-c.bottom)&&.001>Math.abs(b.y-c.bottom)&&d?"bottom":.001>Math.abs(a.x-c.left)&&.001>Math.abs(b.x-c.left)&&e?"left":.001>Math.abs(a.x-c.right)&&.001>Math.abs(b.x-c.right)&&e?"right":void 0}function aG(a,b,c,d){switch(a){case"top":return H(b,c,.001)&&c.y<d.top-.001;case"bottom":return H(b,c,.001)&&c.y>d.bottom+.001;case"left":return I(b,c,.001)&&c.x<d.left-.001;case"right":return I(b,c,.001)&&c.x>d.right+.001}}function aH(a,b,c){if(a.length<3)return a;if(c){let c=aF(a[0],a[1],b);return c&&aG(c,a[1],a[2],b)?a.slice(1):a}let d=a.length-1,e=aF(a[d-1],a[d],b);return e&&aG(e,a[d-1],a[d-2],b)?a.slice(0,d):a}function aI(a,b,c){let d=a;if(b){let a=as(d,0,1);if(a){let c=ar(a,d[0],b);c!==d[0]&&(d=[c,...d.slice(1)])}d=aH(d,b,!0)}if(c){let a=d.length-1,b=as(d,a,-1);if(b){let e=ar(b,d[a],c,!0);e!==d[a]&&(d=[...d.slice(0,a),e])}d=aH(d,c,!1)}let e=aB(d,b,c);return e!==d||2===d.length?e:(b&&(d=aE(d,b,!0)),c&&(d=aE(d,c,!1)),d)}function aJ(a,b){for(let c of a){let a=an(c,b,2);if(!a)continue;let d=aI(P(a.points,.001),a.srcRect,a.dstRect);if(d.length<3){a.edge.points=d;continue}let e=[d[0],{...d[0]},...d.slice(1,-1),d[d.length-1],{...d[d.length-1]}];a.edge.points=e}}function aK(a){return new Map(a.map(a=>[a.id,a]))}function aL(a,b){let c=a.parentId,d=null;for(;c;){let a=b.get(c);if(!a?.isGroup)break;d=a.id,c=a.parentId}return d}function aM(a,b){let c=0,d=a.parentId;for(;d;){let a=b.get(d);if(!a?.isGroup)break;c++,d=a.parentId}return c}function aN(a){let b=1/0,c=-1/0,d=1/0,e=-1/0;for(let f of a){let a=f.x,g=f.y;if("number"!=typeof a||"number"!=typeof g)continue;let h=f.width??0,i=f.height??0;b=Math.min(b,a-h/2),c=Math.max(c,a+h/2),d=Math.min(d,g-i/2),e=Math.max(e,g+i/2)}return b===1/0||d===1/0?null:{minX:b,maxX:c,minY:d,maxY:e}}function aO(a,b){let c=a.padding??20;a.x=(b.minX+b.maxX)/2,a.y=(b.minY+b.maxY)/2,a.width=Math.max(0,b.maxX-b.minX)+c,a.height=Math.max(0,b.maxY-b.minY)+c}function aP(a){let b=aK(a);for(let c of a.filter(a=>a.isGroup&&a.parentId).sort((a,c)=>aM(c,b)-aM(a,b))){let b=aN(a.filter(a=>a.parentId===c.id));b&&aO(c,b)}}function aQ(a,b){let c=a.nodes??[],d=a.edges??[],e=c.filter(a=>!a.isGroup),f=1/0,h=-1/0;for(let a of e){let c=a[b];"number"==typeof c&&(f=Math.min(f,c),h=Math.max(h,c))}if(!Number.isFinite(f)||!Number.isFinite(h))return!1;let i=(0,g.K)(a=>f+h-a,"mirror");for(let a of c){let c=a[b];"number"==typeof c&&(a[b]=i(c));let d=a.groupTitleRect;d&&(a.groupTitleRect="x"===b?{...d,left:i(d.right),right:i(d.left)}:{...d,top:i(d.bottom),bottom:i(d.top)})}for(let a of d)for(let c of a.points??[])c[b]=i(c[b]);return!0}function aR(a){return!(a.nodes??[]).some(a=>!a.isGroup)||aQ(a,"y")}function aS(a,b="LR"){let c=a.nodes??[],d=a.edges??[],e=c.filter(a=>!a.isGroup),f=1/0,g=1/0;for(let a of e){let b=a.x??0,c=a.y??0;b<f&&(f=b),c<g&&(g=c)}if(!Number.isFinite(f)||!Number.isFinite(g))return!1;let h=0,i=0;for(let a of e)h+=a.width??0,i+=a.height??0;let j=h/e.length,k=i/e.length,l=k>0?Math.max(1,j/k):1;for(let a of e){let b=a.x??0,c=((a.y??0)-g)*l+36,d=b-f;a.x=c,a.y=d}for(let a of d)if(a.points)for(let b of a.points){let a=b.x,c=(b.y-g)*l+36,d=a-f;b.x=c,b.y=d}aP(c);let m=c.filter(a=>a.isGroup&&!a.parentId);if(0===m.length)return"RL"===b&&aQ(a,"x"),!0;let n=aK(c),o=new Map;for(let a of c){if(a.isGroup)continue;let b=aL(a,n);if(!b)continue;let c=o.get(b)??[];c.push(a),o.set(b,c)}let p=0;for(let a of m){let b=a.padding??0;b>p&&(p=b)}let q=[],r=1/0,s=-1/0;for(let a of m){let b=aN(o.get(a.id)??[]);b&&(r=Math.min(r,b.minX),s=Math.max(s,b.maxX),q.push({lane:a,contentTop:b.minY,contentBottom:b.maxY,centerY:(b.minY+b.maxY)/2}))}if(r===1/0||s===-1/0)return!0;let t=Math.max(0,s-r)+2*Math.max(p,10),u=36+t,v=(r+s)/2-t/2-36,w=v+u/2,x=Math.max(p,36);q.sort((a,b)=>a.centerY-b.centerY);for(let a=0;a<q.length;a++){let b,c,d=q[a];if(b=0===a?d.contentTop-x:(q[a-1].contentBottom+d.contentTop)/2,a===q.length-1)c=d.contentBottom+x;else{let b=q[a+1];c=(d.contentBottom+b.contentTop)/2}let e=Math.max(0,c-b),f=(b+c)/2;d.lane.x=w,d.lane.y=f,d.lane.width=u,d.lane.height=e,d.lane.swimlaneContentTop=d.contentTop,d.lane.groupTitleRect={left:v,right:v+36,top:b,bottom:c}}return"RL"===b&&aQ(a,"x"),!0}(0,g.K)(y,"topLaneHorizontalPadding"),(0,g.K)(z,"assignTopLaneTitleRect"),(0,g.K)(A,"prepareLayoutForSwimlanes"),(0,g.K)(B,"toGraphView"),(0,g.K)(C,"writeBackToLayoutData"),(0,g.K)(D,"createEdgeLabelNodes"),(0,g.K)(E,"measuredNodeRect"),(0,g.K)(F,"nodeBoundsInfoFor"),(0,g.K)(G,"samePoint"),(0,g.K)(H,"sameX"),(0,g.K)(I,"sameY"),(0,g.K)(J,"isHorizontalSegment"),(0,g.K)(K,"isVerticalSegment"),(0,g.K)(L,"overlapLength"),(0,g.K)(M,"sameAxisSegmentOverlapLength"),(0,g.K)(N,"orthogonalSegmentsForPoints"),(0,g.K)(O,"countOrthogonalBends"),(0,g.K)(P,"dedupeConsecutivePoints"),(0,g.K)(Q,"classifyThreeSegmentRoute"),(0,g.K)(R,"segmentBoundsOverlapRect"),(0,g.K)(S,"pointInsideRect"),(0,g.K)(T,"rectContainsRect"),(0,g.K)(U,"rectsOverlap"),(0,g.K)(V,"inflateRect"),(0,g.K)(W,"rectFromCenterSize"),(0,g.K)(X,"rectOfNodeBounds"),(0,g.K)(Y,"portForRectSide"),(0,g.K)(Z,"buildOrthogonalPortPath"),(0,g.K)($,"buildSameSideTrackPath"),(0,g.K)(_,"collectRealNodeBounds"),(0,g.K)(aa,"collectNodeRectEntries"),(0,g.K)(ab,"collectLayoutNodeRects"),(0,g.K)(ac,"getNodePairGeometry"),(0,g.K)(ad,"segmentHitsAnyRect"),(0,g.K)(ae,"orthogonalSegmentsCross"),(0,g.K)(af,"sameAxisSegmentsOverlap"),(0,g.K)(ag,"segmentConflictsWithAnyEdge"),(0,g.K)(ah,"orthogonalSegmentsStrictlyCross"),(0,g.K)(ai,"strictlyBetween"),(0,g.K)(aj,"isCollinearIntermediate"),(0,g.K)(ak,"simplifyPolylineOnce"),(0,g.K)(al,"orthogonalizePolyline"),(0,g.K)(am,"simplifyPolyline"),(0,g.K)(an,"endpointContextFor"),(0,g.K)(ao,"segmentEnterPoint"),(0,g.K)(ap,"clipEndpoint"),(0,g.K)(aq,"clipEdgeEndpointsToNodeBoundaries"),(0,g.K)(ar,"snapEndpointToBoundary"),(0,g.K)(as,"firstDistinctAdjacent"),(0,g.K)(at,"cornerClearanceRange"),(0,g.K)(au,"clampToCornerClearance"),(0,g.K)(av,"intersectRanges"),(0,g.K)(aw,"clearanceRangeForSide"),(0,g.K)(ax,"terminalSideForSegment"),(0,g.K)(ay,"isHorizontalSide"),(0,g.K)(az,"straightClearanceRange"),(0,g.K)(aA,"clearStraightEndpointCornerAxis"),(0,g.K)(aB,"clearStraightEndpointCornerConnections"),(0,g.K)(aC,"cornerClearedEndpoint"),(0,g.K)(aD,"moveCollinearEndpointRun"),(0,g.K)(aE,"clearEndpointCornerConnection"),(0,g.K)(aF,"borderSideForSegment"),(0,g.K)(aG,"leavesOutward"),(0,g.K)(aH,"collapseOwnBorderStub"),(0,g.K)(aI,"snapAndCollapseEndpoints"),(0,g.K)(aJ,"prepareEdgeEndpointsForRenderer"),(0,g.K)(aK,"buildNodeMap"),(0,g.K)(aL,"resolveTopLevelGroupId"),(0,g.K)(aM,"groupDepth"),(0,g.K)(aN,"boundsForChildren"),(0,g.K)(aO,"applyGroupBounds"),(0,g.K)(aP,"recomputeNestedGroupBounds"),(0,g.K)(aQ,"mirrorAxis"),(0,g.K)(aR,"applyBtDirectionTransform"),(0,g.K)(aS,"applyLrDirectionTransform");var aT=[0,8,-8,16,-16];function aU(a,b){let{nodeInfoById:c,realNodeRects:d}=_(b);for(let b of a){let e;if(b.isLayoutOnly)continue;let f=b.points;if(!f||f.length<4)continue;let g=Q(P(f,1e-6),1e-6);if(!g)continue;let{p3:h}=g,i="HVH"===g.kind,j=ac(b,c,1e-6);if(!j)continue;let{srcId:k,dstId:l,srcInfo:m,dstInfo:n,collinearX:o,collinearY:p}=j;if(o||p)continue;let q=m.rect;for(let c of aT){let f,g,j;if(i){let a=n.cy>m.cy?q.bottom:q.top,b=m.cx+c;if(b<=q.left+1e-6||b>=q.right-1e-6)continue;f={x:b,y:a},g={x:b,y:h.y},j={x:h.x,y:h.y}}else{let a=n.cx>m.cx?q.right:q.left,b=m.cy+c;if(b<=q.top+1e-6||b>=q.bottom-1e-6)continue;f={x:a,y:b},g={x:h.x,y:b},j={x:h.x,y:h.y}}let o=G(f,g,1e-6),p=G(g,j,1e-6);if(o&&p||!o&&ad(f,g,d,[k],1)||!p&&ad(g,j,d,[l],1))continue;let r=!o&&ag(f,g,a,b,{epsilon:1e-6,skipDegenerateOther:!0}),s=!p&&ag(g,j,a,b,{epsilon:1e-6,skipDegenerateOther:!0});if(!r&&!s){e=o?[g,j]:p?[f,g]:[f,g,j];break}}e&&(b.points=e)}}function aV(a,b){let{realNodeRects:c,labelNodeRects:d}=aa(b.values());for(let e of a){let f,h;if(e.isLayoutOnly)continue;let i=e.points;if(!i||i.length<4)continue;let j=P(i,.001);if(j.length<4)continue;let k=j.length-1,l=j[k],m=j[k-1],n=j[k-2],o=Math.hypot(l.x-m.x,l.y-m.y);if(o>=10||o<.001)continue;let p=m.x-n.x,q=m.y-n.y;if(.001>Math.hypot(p,q))continue;let r=J(m,l,.001),s=K(m,l,.001),t=J(n,m,.001),u=K(n,m,.001);if(!(r&&u||s&&t))continue;let v=e.end,w=e.start,x=v?b.get(v):void 0;if(!x)continue;let y=x.x??0,z=x.y??0,A=X(x);if(!A)continue;if(u){let a=q<0;f={x:y,y:n.y},h={x:y,y:a?A.bottom:A.top}}else{let a=p>0;f={x:n.x,y:z},h={x:a?A.right:A.left,y:z}}if(ad(f,h,c,v?[v]:[],-2)||ad(f,h,d,[],-2))continue;if(w){let a=b.get(w),c=a?X(a):void 0;if(c&&S(f,c,2))continue}let B=(0,g.K)((a,b)=>`${a.x.toFixed(3)},${a.y.toFixed(3)}|${b.x.toFixed(3)},${b.y.toFixed(3)}`,"ownSegmentKey"),C=new Set;for(let a=0;a<j.length-1;a++)C.add(B(j[a],j[a+1]));let D=(0,g.K)((b,c)=>{for(let d of a){if(d===e||d.isLayoutOnly)continue;let a=d.points;if(a&&!(a.length<2))for(let d=0;d<a.length-1;d++){let e=a[d],f=a[d+1];if(!C.has(B(e,f))&&ah(b,c,e,f,.001))return!0}}return!1},"segmentCrossesOtherEdge");if(D(f,h))continue;if(k-3>=0){let a=j[k-3];if(ad(a,f,c,[w,v].filter(a=>!!a),-2)||D(a,f))continue}let E=[...j.slice(0,k-2),f,h];e.points=E;let F=e.labelNodeId;if(F){let a=b.get(F);if(a){let b=a.width??0,c=a.height??0;if(b>0&&c>0){let d,e,f=-1;for(let a=0;a<E.length-1;a++){let g=E[a],h=E[a+1],i=Math.hypot(h.x-g.x,h.y-g.y),j=I(g,h,.001),k=H(g,h,.001);(j&&i>=b+2||k&&i>=c+2)&&i>f&&(f=i,d=(g.x+h.x)/2,e=(g.y+h.y)/2)}void 0!==d&&void 0!==e&&(a.x=d,a.y=e)}}}}}(0,g.K)(aU,"portSwapToLShape"),(0,g.K)(aV,"collapseShortTerminalStub");var aW=(0,g.K)((a,b)=>H(a,b,.001)||I(a,b,.001),"orthogonallyAligned");function aX(a,b){let c=(0,g.K)((a,b)=>{let c=a.x??0,d=a.y??0,e=b.x-c,f=b.y-d,g=(a.width??0)/2,h=(a.height??0)/2;return Math.abs(f)*g>Math.abs(e)*h?(f<0&&(h=-h),{x:c+(0===f?0:h*e/f),y:d+h}):(e<0&&(g=-g),{x:c+g,y:d+(0===e?0:g*f/e)})},"rectIntersect"),d=(0,g.K)((a,d)=>{let e=P(a.points??[]);if(e.length<2)return;let f=d?a.start:a.end,g=f?b.get(f):void 0,h=g?X(g):void 0;if(!g||!f||!h)return;let i=d?e[0]:e[e.length-1],j=d?e[1]:e[e.length-2],k=c(g,i),l=i;return(aW(j,k)&&(l=j),H(k,l,.001))?{edge:a,edgeId:String(a.id??""),nodeId:f,atStart:d,orientation:"V",coord:k.x,min:Math.min(k.y,l.y),max:Math.max(k.y,l.y),boundary:k,railEnd:l,rect:h}:I(k,l,.001)?{edge:a,edgeId:String(a.id??""),nodeId:f,atStart:d,orientation:"H",coord:k.y,min:Math.min(k.x,l.x),max:Math.max(k.x,l.x),boundary:k,railEnd:l,rect:h}:void 0},"terminalLaneFor"),e=(0,g.K)((a,b)=>Math.max(0,Math.min(a.max,b.max)-Math.max(a.min,b.min)),"projectedOverlapLength"),f=(0,g.K)((a,b)=>a.nodeId===b.nodeId&&a.orientation===b.orientation&&("H"===a.orientation?(1>Math.abs(a.boundary.x-a.rect.left)||1>Math.abs(a.boundary.x-a.rect.right))&&H(a.boundary,b.boundary,1):(1>Math.abs(a.boundary.y-a.rect.top)||1>Math.abs(a.boundary.y-a.rect.bottom))&&I(a.boundary,b.boundary,1)),"sameTerminalFace"),h=(0,g.K)((a,b)=>a.nodeId===b.nodeId&&a.orientation===b.orientation&&e(a,b)>=8&&.5>Math.abs(a.coord-b.coord),"exactTerminalLaneConflict"),i=(0,g.K)((a,b)=>{if(a.nodeId!==b.nodeId||a.orientation!==b.orientation||"H"!==a.orientation||a.atStart===b.atStart)return!1;let c=e(a,b);if(c<8)return!1;let d=a.rect.bottom-a.rect.top;return!(c<d)&&!(c>2*d)&&f(a,b)&&16>Math.abs(a.coord-b.coord)},"nearTerminalLaneConflict"),j=(0,g.K)((a,b)=>{let c=P(a.edge.points??[]);if(c.length<2)return;let d="V"===a.orientation?{x:a.boundary.x+b,y:a.boundary.y}:{x:a.boundary.x,y:a.boundary.y+b},e="V"===a.orientation?{x:a.railEnd.x+b,y:a.railEnd.y}:{x:a.railEnd.x,y:a.railEnd.y+b};if(!(0,g.K)(()=>1>Math.abs(a.boundary.y-a.rect.top)||1>Math.abs(a.boundary.y-a.rect.bottom)?I(d,a.boundary,.001)&&d.x>=a.rect.left+1&&d.x<=a.rect.right-1:!!(1>Math.abs(a.boundary.x-a.rect.left)||1>Math.abs(a.boundary.x-a.rect.right))&&H(d,a.boundary,.001)&&d.y>=a.rect.top+1&&d.y<=a.rect.bottom-1,"boundaryStaysOnSameFace")())return;if(a.atStart){let b=c.length>1&&G(c[1],a.railEnd,.001),f=c.slice(b?2:1),g=f[0];if(g&&!aW(g,e))return;return[d,e,...f]}let f=c.length>1&&G(c[c.length-2],a.railEnd,.001),h=c.slice(0,f?-2:-1),i=h[h.length-1];if(!i||aW(i,e))return[...h,e,d]},"shiftedCandidate"),k=(0,g.K)(a=>{let c=a.edge,d=P(c.points??[]);if(2!==d.length)return!1;let e=c.start,f=c.end,g=e?b.get(e):void 0,h=f?b.get(f):void 0;if(!g||!h)return!1;let i=g.x??0,j=g.y??0,k=h.x??0,l=h.y??0,[m,n]=d;return I(m,n,.001)&&1>Math.abs(j-l)&&Math.abs(i-k)>1||H(m,n,.001)&&1>Math.abs(i-k)&&Math.abs(j-l)>1},"laneIsStraightCollinearConnector"),l=[-7,7,-14,14,-21,21];for(let b=0;b<8;b++){let b=a.filter(a=>!a.isLayoutOnly).flatMap(a=>[d(a,!0),d(a,!1)]).filter(a=>!!a),c=!1;for(let a=0;a<b.length&&!c;a++)for(let e=a+1;e<b.length&&!c;e++){let f=b[a],g=b[e];if(f.edge===g.edge||!(h(f,g)||i(f,g)))continue;let m=!h(f,g);for(let a of[f,g].sort((a,b)=>{let c=k(a),d=k(b);return c!==d?Number(c)-Number(d):Number(!b.atStart)-Number(!a.atStart)})){for(let e of l){let f=j(a,e);if(!f)continue;let g=d({...a.edge,points:f},a.atStart);if(!(!g||b.some(b=>b.edge!==a.edge&&(h(g,b)||m&&i(g,b))))){a.edge.points=f,c=!0;break}}if(c)break}}if(!c)return}}function aY(a,b){let{realNodeRects:c,labelNodeRects:d}=aa(b.values()),e=(0,g.K)((b,e)=>{let f=b.start,g=b.end,h=N(e);if(h.length!==e.length-1)return!1;let i=[f,g].filter(a=>!!a);for(let a of h)if(ad(a.a,a.b,c,i,-2)||ad(a.a,a.b,d,[],-2))return!1;for(let c of a){if(c===b||c.isLayoutOnly)continue;let a=c.points;if(a&&!(a.length<2)){for(let b of h)for(let c of N(P(a)))if(M(b,c,.5)>=8||ah(b.a,b.b,c.a,c.b,.001))return!1}}return!0},"candidateIsSafe"),f=(0,g.K)((a,b)=>{if(b+4>=a.length)return;let c=a[b],d=a[b+1],e=a[b+2],f=a[b+3],g=a[b+4],h=J(c,d)&&K(d,e)&&J(e,f)&&K(f,g)&&H(c,f,.001)&&H(c,g,.001)&&H(d,e,.001)&&(d.x-c.x)*(f.x-e.x)<0,i=K(c,d)&&J(d,e)&&K(e,f)&&J(f,g)&&I(c,f,.001)&&I(c,g,.001)&&I(d,e,.001)&&(d.y-c.y)*(f.y-e.y)<0;if(h||i)return P([...a.slice(0,b+1),g,...a.slice(b+5)]);if(b+5>=a.length)return;let j=a[b+5],k=K(c,d)&&J(d,e)&&K(e,f)&&J(f,g)&&K(g,j)&&H(c,g,.001)&&H(c,j,.001)&&H(e,f,.001)&&(e.x-d.x)*(g.x-f.x)<0,l=J(c,d)&&K(d,e)&&J(e,f)&&K(f,g)&&J(g,j)&&I(c,g,.001)&&I(c,j,.001)&&I(e,f,.001)&&(e.y-d.y)*(g.y-f.y)<0;if(k||l)return P([...a.slice(0,b+1),j,...a.slice(b+6)])},"withoutDogleg");for(let b=0;b<8;b++){let b=!1;for(let c of a){if(c.isLayoutOnly)continue;let a=P(c.points??[]);for(let d=0;d<=a.length-5;d++){let g=f(a,d);if(g&&e(c,g)){c.points=g,b=!0;break}}if(b)break}if(!b)return}}function aZ(a,b){let{realNodeRects:c,labelNodeRects:d}=aa(b.values()),e=a.filter(a=>!a.isLayoutOnly),f=(0,g.K)((a,b,c)=>P(a===b?c??[]:a.points??[]),"pointsFor"),h=(0,g.K)((a,b)=>{let c=0;for(let d=0;d<e.length;d++){let g=N(f(e[d],a,b));for(let h=d+1;h<e.length;h++){let d=N(f(e[h],a,b));for(let a of g)for(let b of d)ah(a.a,a.b,b.a,b.b,.001)&&c++}}return c},"strictCrossingCount"),i=(0,g.K)(a=>{let b=N(a);if(3!==b.length)return;let c=b[1];if(b[0].horizontal!==c.horizontal&&b[2].horizontal!==c.horizontal)return{index:c.index,horizontal:c.horizontal,vertical:c.vertical,segment:c}},"middleRail"),j=(0,g.K)((a,b)=>{let d=[a.start,a.end].filter(a=>!!a);return c.filter(a=>{if(d.includes(a.id))return!1;let c=a.rect;return b.horizontal?L(b.a.x,b.b.x,c.left,c.right)>=8&&b.a.y>=c.top-2&&b.a.y<=c.bottom+2:L(b.a.y,b.b.y,c.top,c.bottom)>=8&&b.a.x>=c.left-2&&b.a.x<=c.right+2})},"blockingRectsFor"),k=(0,g.K)((a,b,c)=>{let d=a.map(a=>({...a}));if(b.horizontal)d[b.index].y=c,d[b.index+1].y=c;else{if(!b.vertical)return;d[b.index].x=c,d[b.index+1].x=c}let e=am(P(d));return N(e).length===e.length-1?e:void 0},"candidateByMovingRail"),l=(0,g.K)((a,b,g)=>{let i=[a.start,a.end].filter(a=>!!a),j=N(b);if(j.length!==b.length-1)return!1;for(let a of j)if(ad(a.a,a.b,c,i,-2)||ad(a.a,a.b,d,[],-2))return!1;for(let b of e)if(b!==a){for(let a of j)for(let c of N(f(b)))if(M(a,c,.5)>=8)return!1}return h(a,b)<=g},"candidateIsSafe");for(let a=0;a<8;a++){let a=h(),b=!1;for(let c of e){let d=f(c),e=i(d);if(!e)continue;let g=j(c,e.segment);if(0!==g.length){for(let f of e.horizontal?[Math.min(...g.map(a=>a.rect.top))-20,Math.max(...g.map(a=>a.rect.bottom))+20]:[Math.min(...g.map(a=>a.rect.left))-20,Math.max(...g.map(a=>a.rect.right))+20]){let g=k(d,e.segment,f);if(g&&l(c,g,a)){c.points=g,b=!0;break}}if(b)break}}if(!b)return}}function a$(a,b){let c=(0,g.K)(a=>{let b=a.groupTitleRect;if(b&&"number"==typeof b.left&&"number"==typeof b.right&&"number"==typeof b.top&&"number"==typeof b.bottom&&Number.isFinite(b.left)&&Number.isFinite(b.right)&&Number.isFinite(b.top)&&Number.isFinite(b.bottom)&&!(b.right<=b.left)&&!(b.bottom<=b.top))return{left:b.left,right:b.right,top:b.top,bottom:b.bottom}},"validTitleRect"),d=(0,g.K)(a=>{if(!a.isGroup||a.parentId)return;let b=a.direction,d="string"==typeof b?b.toUpperCase():"";if("LR"===d||"RL"===d||"BT"===d)return;let e=c(a),f=a.y,g=a.height;if(!e||"number"!=typeof f||"number"!=typeof g||!Number.isFinite(f)||!Number.isFinite(g)||g<=0)return;let h=e.right-e.left,i=e.bottom-e.top;if(!(i<=0)&&!(h<i))return{node:a,rect:e}},"topLaneTitleFor"),e=(0,g.K)((a,b)=>{if(!a.horizontal)return!1;let c=a.a.y;return!(c<=b.top+.001)&&!(c>=b.bottom-.001)&&L(a.a.x,a.b.x,b.left,b.right)>=8},"horizontalSegmentIntersectsTitle"),f=[...b.values()].map(d).filter(a=>!!a);if(0===f.length)return;let h=0;for(let b of a)if(!b.isLayoutOnly)for(let a of N(P(b.points??[])))for(let b of f)e(a,b.rect)&&(h=Math.max(h,b.rect.bottom-a.a.y+4));if(!(h<=.001))for(let a of f){let b=a.node.y,c=a.node.height;"number"==typeof b&&"number"==typeof c&&Number.isFinite(b)&&Number.isFinite(c)&&!(c<=0)&&(a.node.y=b-h/2,a.node.height=c+h,a.node.groupTitleRect={...a.rect,top:a.rect.top-h,bottom:a.rect.bottom-h})}}function a_(a,b){let c=(0,g.K)(a=>{let b=a.groupTitleRect;if(b&&"number"==typeof b.left&&"number"==typeof b.right&&"number"==typeof b.top&&"number"==typeof b.bottom&&Number.isFinite(b.left)&&Number.isFinite(b.right)&&Number.isFinite(b.top)&&Number.isFinite(b.bottom)&&!(b.right<=b.left)&&!(b.bottom<=b.top))return{left:b.left,right:b.right,top:b.top,bottom:b.bottom}},"validTitleRect"),d=(0,g.K)(a=>{if(!a.isGroup||a.parentId||"LR"!==a.direction)return;let b=c(a),d=a.x,e=a.width;if(!b||"number"!=typeof d||"number"!=typeof e||!Number.isFinite(d)||!Number.isFinite(e)||e<=0)return;let f=b.right-b.left,g=b.bottom-b.top;if(!(f<=0)&&!(g<f))return{node:a,rect:b}},"leftLaneTitleFor"),e=(0,g.K)((a,b)=>{if(!a.vertical)return!1;let c=a.a.x;return!(c<=b.left+.001)&&!(c>=b.right-.001)&&L(a.a.y,a.b.y,b.top,b.bottom)>=8},"verticalSegmentIntersectsTitle"),f=(0,g.K)((a,b)=>{if(!a.horizontal)return!1;let c=a.a.y;return!(c<=b.top+.001)&&!(c>=b.bottom-.001)&&L(a.a.x,a.b.x,b.left,b.right)>=8},"horizontalSegmentIntersectsTitle"),h=[...b.values()].map(d).filter(a=>!!a);if(0===h.length)return;let i=0;for(let b of a)if(!b.isLayoutOnly){for(let a of N(P(b.points??[])))for(let b of h)if(e(a,b.rect))i=Math.max(i,b.rect.right-a.a.x+4);else if(f(a,b.rect)){let c=Math.min(a.a.x,a.b.x);i=Math.max(i,b.rect.right-c+4)}}if(!(i<=.001))for(let a of h){let b=a.node.x,c=a.node.width;"number"==typeof b&&"number"==typeof c&&Number.isFinite(b)&&Number.isFinite(c)&&!(c<=0)&&(a.node.x=b-i/2,a.node.width=c+i,a.node.groupTitleRect={...a.rect,left:a.rect.left-i,right:a.rect.right-i})}}function a0(a,b){let{realNodeRects:c}=aa(b.values()),d=a.filter(a=>!a.isLayoutOnly),e=(0,g.K)((a,b=new Map)=>P(b.get(a)??a.points??[]),"replacementPointsFor"),f=(0,g.K)((a=new Map)=>{let b=0;for(let c=0;c<d.length;c++){let f=N(e(d[c],a));for(let g=c+1;g<d.length;g++){let c=N(e(d[g],a));for(let a of f)for(let d of c)ah(a.a,a.b,d.a,d.b,.001)&&b++}}return b},"crossingCount"),h=(0,g.K)((a=new Map)=>d.reduce((b,c)=>b+O(e(c,a)),0),"totalBends"),i=(0,g.K)(a=>{let b=e(a);if(b.length<4)return;let c=b[b.length-2],d=b[b.length-1];if(J(c,d,.001)||K(c,d,.001))return{tailStart:c,terminal:d}},"terminalTailFor"),j=(0,g.K)((a,b)=>{let c,d=e(a);if(d.length<3)return;let f=d[0],g=d[1];if(J(f,g,.001))c={x:g.x,y:b.tailStart.y};else{if(!K(f,g,.001))return;c={x:b.tailStart.x,y:g.y}}let h=am(P([f,g,c,b.tailStart,b.terminal]));return N(h).length===h.length-1?h:void 0},"candidateWithDestinationTail"),k=(0,g.K)((a,b)=>{let d=[a.start,a.end].filter(a=>!!a);for(let a of N(b))if(ad(a.a,a.b,c,d,-2))return!0;return!1},"pathHasNodeHit"),l=(0,g.K)((a,b,c)=>{for(let f of d)if(f!==a){for(let a of N(b))for(let b of N(e(f,c)))if(M(a,b,.5)>=8)return!0}return!1},"pathHasSharedTrack"),m=(0,g.K)((a,b,c)=>!k(a,b)&&!l(a,b,c),"candidateIsSafe"),n=(0,g.K)(()=>{let a=new Map;for(let c of d){let d=c.end;if(!d||!b.has(d)||e(c).length<4)continue;let f=a.get(d)??[];f.push(c),a.set(d,f)}return a},"edgesByDestination");for(let a=0;a<4;a++){let a,b=f();if(0===b)return;let c=h(),d=b,e=c;for(let c of n().values())for(let g=0;g<c.length;g++)for(let k=g+1;k<c.length;k++){let l=c[g],n=c[k],o=i(l),p=i(n);if(!o||!p)continue;let q=j(l,p),r=j(n,o);if(!q||!r)continue;let s=new Map([[l,q],[n,r]]);if(!m(l,q,s)||!m(n,r,s))continue;let t=f(s),u=h(s);!(t>=b)&&(t>d||t===d&&u>=e||(a=s,d=t,e=u))}if(!a)return;for(let[b,c]of a)b.points=c}}function a1(a,b){let{realNodeRects:c,labelNodeRects:d}=aa(b.values()),e=a.filter(a=>!a.isLayoutOnly),f=(0,g.K)((a,b=new Map)=>P(b.get(a)??a.points??[]),"replacementPointsFor"),h=(0,g.K)((a=new Map)=>{let b=0;for(let c=0;c<e.length;c++){let d=N(f(e[c],a));for(let g=c+1;g<e.length;g++){let c=N(f(e[g],a));for(let a of d)for(let d of c)ah(a.a,a.b,d.a,d.b,.001)&&b++}}return b},"strictCrossingCount"),i=(0,g.K)((a=new Map)=>e.reduce((b,c)=>b+O(f(c,a)),0),"totalBends"),j=(0,g.K)(a=>{let c=a.start,d=a.end,e=c?b.get(c):void 0,f=d?b.get(d):void 0,g=e?X(e):void 0,h=f?X(f):void 0;return g&&h?{src:g,dst:h}:void 0},"endpointRectsFor"),k=(0,g.K)((a,b,c)=>{if(c.index<=0||c.index+1>=b.length-1)return;let d=j(a);if(d){if(c.vertical){let e=c.a.x,f=Math.min(d.src.left,d.dst.left),g=Math.max(d.src.right,d.dst.right),h=e<f-.001?"left":e>g+.001?"right":void 0;if(!h)return;return{edge:a,points:b,segmentIndex:c.index,axis:"vertical",side:h,coord:e,min:Math.min(c.a.y,c.b.y),max:Math.max(c.a.y,c.b.y)}}if(c.horizontal){let e=c.a.y,f=Math.min(d.src.top,d.dst.top),g=Math.max(d.src.bottom,d.dst.bottom),h=e<f-.001?"top":e>g+.001?"bottom":void 0;if(!h)return;return{edge:a,points:b,segmentIndex:c.index,axis:"horizontal",side:h,coord:e,min:Math.min(c.a.x,c.b.x),max:Math.max(c.a.x,c.b.x)}}}},"externalRailForSegment"),l=(0,g.K)(()=>{let a=[];for(let b of e){let c=f(b);for(let d of N(c)){let e=k(b,c,d);e&&a.push(e)}}return a},"collectExternalRails"),m=(0,g.K)((a,b)=>a.edge!==b.edge&&a.axis===b.axis&&a.side===b.side&&L(a.min,a.max,b.min,b.max)>=8,"railsInteract"),n=(0,g.K)(a=>{let b=[],c=new Set;for(let d of a){if(c.has(d))continue;let e=[d],f=[];for(c.add(d);e.length>0;){let b=e.pop();for(let d of(f.push(b),a))!c.has(d)&&m(b,d)&&(c.add(d),e.push(d))}f.length>1&&b.push(f)}return b},"connectedComponents"),o=(0,g.K)(a=>{let b=[];for(let c of a)b.some(a=>.001>Math.abs(a-c.coord))||b.push(c.coord);for(;b.length<a.length;){let c=Math.min(...b),d=Math.max(...b),e=a[0].side;b.push("left"===e||"top"===e?c-12*(a.length-b.length):d+12*(a.length-b.length))}return b},"uniqueCoordsFor"),p=(0,g.K)(a=>{let b=a.map(a=>a.coord),c=o(a),d=[];if(a.length<=6){let e=Array(c.length).fill(!1),f=[],h=(0,g.K)(()=>{if(f.length===a.length){f.some((a,c)=>Math.abs(a-b[c])>=.001)&&d.push([...f]);return}for(let[a,b]of c.entries())e[a]||(e[a]=!0,f.push(b),h(),f.pop(),e[a]=!1)},"visit");return h(),d}for(let a=0;a<b.length;a++)for(let c=a+1;c<b.length;c++){let e=[...b];[e[a],e[c]]=[e[c],e[a]],d.push(e)}return d},"coordinateAssignmentsFor"),q=(0,g.K)((a,b)=>{let c=new Map;for(let[d,e]of a.entries()){let a=b[d],f=c.get(e.edge)??e.points.map(a=>({x:a.x,y:a.y}));"vertical"===e.axis?(f[e.segmentIndex].x=a,f[e.segmentIndex+1].x=a):(f[e.segmentIndex].y=a,f[e.segmentIndex+1].y=a),c.set(e.edge,f)}let d=new Map;for(let[a,b]of c){let c=am(P(b));if(N(c).length!==c.length-1)return;d.set(a,c)}return d},"replacementsForAssignment"),r=(0,g.K)(a=>{for(let[b,e]of a){let a=[b.start,b.end].filter(a=>!!a);for(let b of N(e))if(ad(b.a,b.b,c,a,-2)||ad(b.a,b.b,d,[],-2))return!1}for(let b=0;b<e.length;b++){let c=e[b],d=a.has(c),g=N(f(c,a));for(let c=b+1;c<e.length;c++){let b=e[c];if(!d&&!a.has(b))continue;let h=N(f(b,a));for(let a of g)for(let b of h)if(M(a,b,.5)>=8)return!1}}return!0},"candidateIsSafe");for(let a=0;a<4;a++){let a,b=h();if(0===b)return;let c=b,d=i(),e=1/0;for(let f of n(l()))for(let g of p(f)){let j=q(f,g);if(!j||!r(j))continue;let k=h(j);if(k>=b)continue;let l=i(j),m=f.reduce((a,b,c)=>a+Math.abs(g[c]-b.coord),0);k>c||k===c&&(l>d||l===d&&m>=e)||(a=j,c=k,d=l,e=m)}if(!a)return;for(let[b,c]of a)b.points=c}}function a2(a,b){let{realNodeRects:c,labelNodeRects:d}=aa(b.values()),e=a.filter(a=>!a.isLayoutOnly),f=(0,g.K)((a,b,c)=>P(a===b?c??[]:a.points??[]),"pointsFor"),h=(0,g.K)(a=>N(a).reduce((a,b)=>a+Math.hypot(b.a.x-b.b.x,b.a.y-b.b.y),0),"pathLength"),i=(0,g.K)((a,b)=>{let c=0;for(let d=0;d<e.length;d++){let g=N(f(e[d],a,b));for(let h=d+1;h<e.length;h++){let d=N(f(e[h],a,b));for(let a of g)for(let b of d)ah(a.a,a.b,b.a,b.b,.001)&&c++}}return c},"strictCrossingCount"),j=(0,g.K)((a,b)=>{if(a.horizontal){let c=a.a.y;return(1>Math.abs(c-b.top)||1>Math.abs(c-b.bottom))&&L(a.a.x,a.b.x,b.left,b.right)>=8}if(a.vertical){let c=a.a.x;return(1>Math.abs(c-b.left)||1>Math.abs(c-b.right))&&L(a.a.y,a.b.y,b.top,b.bottom)>=8}return!1},"segmentRunsAlongRectBorder"),k=(0,g.K)(a=>{let c=[a.start,a.end].filter(a=>!!a),d=[];for(let a of c){let c=b.get(a),e=c?X(c):void 0;e&&d.push(e)}return d},"endpointRectsFor"),l=(0,g.K)((a,b)=>{if(b+3>=a.length)return[];let c=a[b],d=a[b+1],e=a[b+2],f=a[b+3],g=J(c,d,.001)&&K(d,e,.001)&&J(e,f,.001),h=K(c,d,.001)&&J(d,e,.001)&&K(e,f,.001);if(!g&&!h||!(g?Math.sign(d.x-c.x)!==Math.sign(f.x-e.x):Math.sign(d.y-c.y)!==Math.sign(f.y-e.y)))return[];let i=H(c,f,.001)||I(c,f,.001)?[]:[{x:c.x,y:f.y},{x:f.x,y:c.y}],j=0===i.length?[[...a.slice(0,b+1),...a.slice(b+3)]]:i.map(c=>[...a.slice(0,b+1),c,...a.slice(b+3)]),k=new Set;return j.map(a=>am(P(a))).filter(a=>{if(N(a).length!==a.length-1||!a.some(a=>G(a,f,.001)))return!1;let b=a.map(a=>`${a.x.toFixed(3)},${a.y.toFixed(3)}`).join("|");return!k.has(b)&&(k.add(b),!0)})},"shortcutCandidatesAt"),m=(0,g.K)((a,b,g)=>{let h=[a.start,a.end].filter(a=>!!a),l=k(a);for(let a of N(b))if(ad(a.a,a.b,c,h,-2)||ad(a.a,a.b,d,[],-2)||l.some(b=>j(a,b)))return!1;for(let c of e)if(c!==a){for(let a of N(b))for(let b of N(f(c)))if(M(a,b,.5)>=8)return!1}return i(a,b)<=g},"candidateIsSafe");for(let a=0;a<8;a++){let a,b,c=i(),d=c,g=1/0,j=1/0;for(let k of e){let e=f(k),n=O(e,.001),o=h(e);for(let f=0;f<=e.length-4;f++)for(let p of l(e,f)){let e=O(p,.001),f=h(p);if(!(e<n||e===n&&f<o-.001)||!m(k,p,c))continue;let l=i(k,p);l>d||l===d&&(e>g||e===g&&f>=j)||(a=k,b=p,d=l,g=e,j=f)}}if(!a||!b)return;a.points=b}}function a3(a,b){let c=[];for(let a of b.values()){if(a.isGroup||a.isEdgeLabel)continue;let b=a.x??0,d=a.y??0,e=X(a);e&&c.push({id:String(a.id??""),cx:b,cy:d,rect:e})}if(0===c.length)return;let d=new Map(c.map(a=>[a.id,a])),e=c.map(a=>({id:a.id,rect:a.rect})),f=["top","bottom","left","right"],h={top:Math.min(...c.map(a=>a.rect.top))-20,bottom:Math.max(...c.map(a=>a.rect.bottom))+20,left:Math.min(...c.map(a=>a.rect.left))-20,right:Math.max(...c.map(a=>a.rect.right))+20},i=a.filter(a=>!a.isLayoutOnly),j=new Map(i.map((a,b)=>[a,b])),k=(0,g.K)(a=>{let b="left"===a||"top"===a?-1:1,c=[];for(let d=0;d<=2;d++)c.push(h[a]+20*b*d);return c},"outwardTracksForSide"),l=(0,g.K)((a,b=new Map)=>P(b.get(a)??a.points??[]),"replacementPointsFor"),m=(0,g.K)((a,b)=>{let c=0;for(let d of a)for(let a of b)ah(d.a,d.b,a.a,a.b,.001)&&c++;return c},"crossingCountBetweenSegments"),n=(0,g.K)((a,b)=>m(N(a),N(b)),"crossingCountBetweenPaths"),o=(0,g.K)((a=new Map)=>{let b=0,c=[],d=new Set,e=[],f=(0,g.K)(a=>{d.has(a)||(d.add(a),e.push(a))},"addEdge");for(let d=0;d<i.length;d++){let e=i[d],g=l(e,a);for(let h=d+1;h<i.length;h++){let d=i[h],j=n(g,l(d,a));j>0&&(b+=j,c.push({first:e,second:d,count:j}),f(e),f(d))}}return e.sort((a,b)=>(j.get(a)??0)-(j.get(b)??0)),{count:b,pairs:c,edgeSet:d,edges:e}},"crossingSnapshot"),p=(0,g.K)((a,b)=>{let c=new Set(b.keys());if(0===c.size)return a.count;let d=0;for(let b of a.pairs)(c.has(b.first)||c.has(b.second))&&(d+=b.count);let e=0;for(let a=0;a<i.length;a++){let d=i[a],f=c.has(d),g=l(d,b);for(let d=a+1;d<i.length;d++){let a=i[d];(f||c.has(a))&&(e+=n(g,l(a,b)))}}return a.count-d+e},"crossingCountWithReplacements"),q=(0,g.K)(a=>{let b=new Map;for(let c of a.pairs){let a=b.get(c.first)??new Set;a.add(c.second),b.set(c.first,a);let d=b.get(c.second)??new Set;d.add(c.first),b.set(c.second,d)}let c=[],d=new Set;for(let e of a.edges){if(d.has(e))continue;let a=[e],f=[];for(d.add(e);a.length>0;){let c=a.pop();for(let e of(f.push(c),b.get(c)??[]))d.has(e)||(d.add(e),a.push(e))}f.sort((a,b)=>(j.get(a)??0)-(j.get(b)??0)),f.length>1&&c.push(f)}return c},"crossingComponents"),r=(0,g.K)(a=>[a.start,a.end].filter(a=>!!a),"endpointIdsFor"),s=(0,g.K)(a=>{let b=[];for(let c of q(a)){let a=new Set(c),d=new Set(c.flatMap(a=>r(a))),e=[...c];for(let b of i)!a.has(b)&&r(b).some(a=>d.has(a))&&e.push(b);e.sort((a,b)=>(j.get(a)??0)-(j.get(b)??0)),b.push(e)}return b},"pairSearchGroups"),t=(0,g.K)((a,b,c)=>p(a,new Map([[b,c]])),"crossingCountWithSingleReplacement"),u=(0,g.K)(a=>{let b=new Map;for(let c of a.pairs)b.set(c.first,(b.get(c.first)??0)+c.count),b.set(c.second,(b.get(c.second)??0)+c.count);return b},"currentCrossingsByEdge"),v=(0,g.K)(a=>a.slice(1).reduce((b,c,d)=>{let e=a[d];return b+Math.abs(c.x-e.x)+Math.abs(c.y-e.y)},0),"pathLength"),w=(0,g.K)((a=new Map)=>i.reduce((b,c)=>b+O(l(c,a)),0),"totalBends"),x=(0,g.K)((a=new Map)=>i.reduce((b,c)=>b+v(l(c,a)),0),"totalLength"),y=(0,g.K)((a,b,c=new Map)=>{let d=N(b);for(let b of i)if(b!==a){for(let a of d)for(let d of N(l(b,c)))if(M(a,d,.5)>=8)return!0}return!1},"pathHasSegmentConflict"),z=(0,g.K)((a,b)=>{let c=[a.start,a.end].filter(a=>!!a);for(let a of N(b))if(ad(a.a,a.b,e,c,-2))return!0;return!1},"pathHitsNode"),A=(0,g.K)((a,b)=>{let c=am(P(b));N(c).length===c.length-1&&a.push(c)},"pushOrthogonalCandidate"),B=(0,g.K)(a=>"left"===a||"right"===a,"sideIsHorizontal"),C=(0,g.K)((a,b,c)=>{switch(b){case"left":return Math.min(a.x,c.x)-20;case"right":return Math.max(a.x,c.x)+20;case"top":return Math.min(a.y,c.y)-20;case"bottom":return Math.max(a.y,c.y)+20}},"localTrackForSameSide"),D=(0,g.K)((a,b,c,d)=>{let e="left"===c||"top"===c?-1:1;for(let f of[C(b,c,d),h[c]])for(let g=0;g<=2;g++)A(a,$(b,c,d,f+20*e*g))},"addSameSideCandidates"),E=(0,g.K)((a,b,c,d,e)=>{for(let f of k(c))for(let c of k(e))A(a,[b,{x:f,y:b.y},{x:f,y:c},{x:d.x,y:c},d])},"addHorizontalToVerticalCandidates"),F=(0,g.K)((a,b,c,d,e)=>{for(let f of k(c))for(let c of k(e))A(a,[b,{x:b.x,y:f},{x:c,y:f},{x:c,y:d.y},d])},"addVerticalToHorizontalCandidates"),G=(0,g.K)((a,b,c,d,e)=>{let f=[...k("top"),...k("bottom")];for(let g of k(c))for(let c of k(e))for(let e of f)A(a,[b,{x:g,y:b.y},{x:g,y:e},{x:c,y:e},{x:c,y:d.y},d])},"addHorizontalPairCandidates"),H=(0,g.K)((a,b,c,d,e)=>{let f=[...k("left"),...k("right")];for(let g of k(c))for(let c of k(e))for(let e of f)A(a,[b,{x:b.x,y:g},{x:e,y:g},{x:e,y:c},{x:d.x,y:c},d])},"addVerticalPairCandidates"),I=(0,g.K)(a=>{let b=new Set;return a.map(a=>P(a)).filter(a=>{let c=a.map(a=>`${a.x.toFixed(3)},${a.y.toFixed(3)}`).join("|");return!b.has(c)&&!(a.length<2)&&(b.add(c),!0)})},"dedupeCandidatePaths"),L=(0,g.K)((a,b,c,d)=>{let e=[],f=Z(a,b,c,d,20,.001);f&&A(e,f),b===d&&D(e,a,b,c);let g=B(b),h=B(d);return g&&!h?E(e,a,b,c,d):!g&&h?F(e,a,b,c,d):g?G(e,a,b,c,d):H(e,a,b,c,d),I(e)},"buildCandidatesForSides"),Q=(0,g.K)((a,b,c,d)=>{let e=[...k("left"),...k("right")],g=[...k("top"),...k("bottom")];for(let h of f){let f=Y(d,h),i="top"===h||"bottom"===h?k(h):g;for(let d of e)for(let e of(A(a,[b,c,{x:d,y:c.y},{x:d,y:f.y},f]),i))A(a,[b,c,{x:d,y:c.y},{x:d,y:e},{x:f.x,y:e},f])}},"addVerticalDepartureOuterTrackCandidates"),R=(0,g.K)((a,b,c,d)=>{let e=[...k("left"),...k("right")],g=[...k("top"),...k("bottom")];for(let h of f){let f=Y(d,h),i="left"===h||"right"===h?k(h):e;for(let d of g)for(let e of(A(a,[b,c,{x:c.x,y:d},{x:f.x,y:d},f]),i))A(a,[b,c,{x:c.x,y:d},{x:e,y:d},{x:e,y:f.y},f])}},"addHorizontalDepartureOuterTrackCandidates"),S=(0,g.K)(a=>{let b=a.start,c=a.end,e=c?d.get(c):void 0;if(!b||!e)return[];let f=P(a.points??[]);if(f.length<4)return[];let g=f[0],h=f[1],i=[];return K(g,h,.001)?Q(i,g,h,e):J(g,h,.001)&&R(i,g,h,e),i},"terminalPreservingOuterTrackCandidates"),T=(0,g.K)(a=>{let b=a.start,c=a.end,e=b?d.get(b):void 0,g=c?d.get(c):void 0;if(!e||!g)return[];let h=[];for(let a of f){let b=Y(e,a);for(let c of f)h.push(...L(b,a,Y(g,c),c))}return h.push(...S(a)),h},"candidatePathsFor"),U=(0,g.K)(()=>new Map(i.map(a=>[a,N(l(a))])),"currentSegmentsByEdge"),V=(0,g.K)((a,b,c)=>{let d=new Set;for(let e of i){if(e===a)continue;let f=c.get(e)??N(l(e));b.some(a=>f.some(b=>M(a,b,.5)>=8))&&d.add(e)}return d},"sharedTrackConflictsFor"),W=(0,g.K)((a,b,c,d)=>{let e=new Set;return T(a).map(a=>am(P(a))).filter(b=>{if(z(a,b))return!1;let c=b.map(a=>`${a.x.toFixed(3)},${a.y.toFixed(3)}`).join("|");return!e.has(c)&&!(b.length<2)&&(e.add(c),!0)}).map(e=>{let f=N(e),g=0;for(let b of i)b!==a&&(g+=m(f,c.get(b)??N(l(b))));return{candidate:e,candidateSegments:f,crossings:b.count-(d.get(a)??0)+g,bends:O(e,.001),totalBends:O(e),length:v(e)}}).filter(({crossings:a})=>a<=b.count).sort((a,b)=>a.crossings-b.crossings||a.bends-b.bends||a.length-b.length).slice(0,48).map(b=>({path:b.candidate,segments:b.candidateSegments,sharedTrackConflicts:V(a,b.candidateSegments,c),totalBends:b.totalBends,length:b.length}))},"pairCandidatesFor"),_=(0,g.K)((a,b,c,d,e,f)=>{let g=0;for(let c of a.pairs)(c.first===b||c.second===b||c.first===d||c.second===d)&&(g+=c.count);let h=m(c.segments,e.segments);for(let a of i){if(a===b||a===d)continue;let g=f.get(a)??N(l(a));h+=m(c.segments,g)+m(e.segments,g)}return a.count-g+h},"pairCrossingCount"),aa=(0,g.K)((a,b)=>{for(let c of a.sharedTrackConflicts)if(c!==b)return!1;return!0},"conflictsOnlyWith"),ab=(0,g.K)((a,b)=>a.segments.some(a=>b.segments.some(b=>M(a,b,.5)>=8)),"candidatesShareTrack"),ac=(0,g.K)((a,b,c,d)=>aa(b,c.edge)&&aa(d,a.edge)&&!ab(b,d),"pairCandidatesAreCompatible"),ae=(0,g.K)((a,b,c,d,e)=>{let f=_(a.current,b.edge,c,d.edge,e,a.baseSegments);if(!(f>=a.current.count))return{replacements:new Map([[b.edge,c.path],[d.edge,e.path]]),crossings:f,bends:a.currentBends-(a.baseBendsByEdge.get(b.edge)??0)-(a.baseBendsByEdge.get(d.edge)??0)+c.totalBends+e.totalBends,length:a.currentLength-(a.baseLengthByEdge.get(b.edge)??0)-(a.baseLengthByEdge.get(d.edge)??0)+c.length+e.length}},"scorePairReplacement"),af=(0,g.K)((a,b)=>a.crossings<b.crossings||a.crossings===b.crossings&&(a.bends<b.bends||a.bends===b.bends&&a.length<b.length),"pairScoreIsBetter"),ag=(0,g.K)((a,b,c,d)=>{let e=d;for(let d of b.candidates)for(let f of c.candidates){if(!ac(b,d,c,f))continue;let g=ae(a,b,d,c,f);g&&af(g,e)&&(e=g)}return e},"bestScoreForOptionPair"),ai=(0,g.K)(a=>{let b=w(),c=x(),d=U(),e=u(a),f=new Map(i.map(a=>[a,O(l(a))])),g=new Map(i.map(a=>[a,v(l(a))])),h=new Map,j=s(a);for(let b of j)for(let c of b){if(h.has(c))continue;let b=W(c,a,d,e);b.length>0&&h.set(c,{edge:c,candidates:b})}let k={replacements:new Map,crossings:a.count,bends:b,length:c},m={current:a,currentBends:b,currentLength:c,baseBendsByEdge:f,baseLengthByEdge:g,baseSegments:d};for(let b of j){let c=new Set(b.filter(b=>a.edgeSet.has(b))),d=b.map(a=>h.get(a)).filter(a=>!!a);for(let a=0;a<d.length;a++){let b=d[a];for(let e=a+1;e<d.length;e++){let a=d[e];(c.has(b.edge)||c.has(a.edge))&&(k=ag(m,b,a,k))}}}return k.replacements.size>0?k.replacements:void 0},"bestPairedReplacement");for(let a=0;a<4;a++){let a,b,c=o(),d=c.count;if(0===d)return;let e=d,f=1/0;for(let g of c.edges){let h=O(l(g),.001);for(let i of T(g)){let j=z(g,i),k=!j&&y(g,i),l=t(c,g,i),m=O(i,.001);!j&&!k&&(l<d||l===d&&m<h)&&(l>e||l===e&&m>=f||(a=g,b=i,e=l,f=m))}}if(a&&b){a.points=b;continue}let g=ai(c);if(!g)return;for(let[a,b]of g)a.points=b}}function a4(a,b){let{nodeInfoById:c,realNodeRects:d}=_(b),e=["top","bottom","left","right"],f={top:Math.min(...d.map(a=>a.rect.top))-20,bottom:Math.max(...d.map(a=>a.rect.bottom))+20,left:Math.min(...d.map(a=>a.rect.left))-20,right:Math.max(...d.map(a=>a.rect.right))+20},h=(0,g.K)((a,b,c,d)=>{let e=[],g=Z(a,b,c,d,20,.001);return g&&e.push(g),b===d&&e.push($(a,b,c,f[b])),e},"buildOrthogonalPathCandidates"),i=(0,g.K)((a,b)=>{for(let c=0;c<a.length-1;c++)if(ad(a[c],a[c+1],d,b,1))return!0;return!1},"pathHitsNode"),j=(0,g.K)((b,c,d=!1)=>{let e=0,f=N(b,.001),g=c.start,h=c.end;for(let b of a){if(b===c||b.isLayoutOnly)continue;let a=b.start,i=b.end;if(!d&&g&&h&&(a===g||a===h||i===g||i===h))continue;let j=b.points;if(j&&!(j.length<2))for(let a of f)for(let b of N(j,.001)){if(ae(a.a,a.b,b.a,b.b,.001,.001)){e++;continue}M(a,b,.001)>=8&&e++}}return e},"pathConflictCount"),k=(0,g.K)((a,b)=>{let c=Math.abs(a.y-b.rect.top),d=Math.abs(a.y-b.rect.bottom),e=Math.abs(a.x-b.rect.left),f=Math.abs(a.x-b.rect.right),g="top",h=c;return d<h&&(g="bottom",h=d),e<h&&(g="left",h=e),f<h&&(g="right",h=f),g},"nearestSideOfRect"),l=new Map,m=(0,g.K)((a,b,c)=>{let d=l.get(a)??[];d.push({side:b,edgeId:c}),l.set(a,d)},"addFaceClaim");for(let b of a){if(b.isLayoutOnly)continue;let a=b.points??[];if(a.length<1)continue;let d=b.id??"",e=b.start,f=b.end;if(e){let b=c.get(e);b&&m(e,k(a[0],b),d)}if(f){let b=c.get(f);b&&m(f,k(a[a.length-1],b),d)}}let n=(0,g.K)((a,b,c)=>l.get(a)?.some(a=>a.edgeId!==c&&a.side===b)??!1,"faceIsClaimed");for(let b of a){let a;if(b.isLayoutOnly)continue;let d=b.points;if(!d||d.length<2)continue;let f=O(d,.001);if(f<4)continue;let g=b.start,o=b.end;if(!g||!o)continue;let p=c.get(g),q=c.get(o);if(!p||!q)continue;let r=b.id??"",s=j(d,b,!0),t=j(d,b),u=s,v=f;for(let c of e){if(n(g,c,r))continue;let d=Y(p,c);for(let f of e)if(!n(o,f,r))for(let e of h(d,c,Y(q,f),f)){if(i(e,[g,o]))continue;let c=O(e,.001);if(s>0){let d=j(e,b,!0);if(d>u||d===u&&c>=v)continue;u=d,v=c,a=e;continue}!(j(e,b)>t)&&c<v&&(v=c,a=e)}}if(a){b.points=a;let c=l.get(g);c&&l.set(g,c.filter(a=>a.edgeId!==r));let d=l.get(o);d&&l.set(o,d.filter(a=>a.edgeId!==r)),m(g,k(a[0],p),r),m(o,k(a[a.length-1],q),r)}}}function a5(a,b){let c=b?0:a.length-1,d=a[c],e=a[c+(b?1:-1)];if(!d||!e)return;let f=e.x-d.x,g=e.y-d.y;if(!(Math.abs(f)+Math.abs(g)<.001)){if(.001>=Math.abs(g)){let a=d.x+10*Math.sign(f);return{left:Math.min(d.x,a),right:Math.max(d.x,a),top:d.y-7,bottom:d.y+7}}if(.001>=Math.abs(f)){let a=d.y+10*Math.sign(g);return{left:d.x-7,right:d.x+7,top:Math.min(d.y,a),bottom:Math.max(d.y,a)}}return{left:Math.min(d.x,e.x),right:Math.max(d.x,e.x),top:Math.min(d.y,e.y),bottom:Math.max(d.y,e.y)}}}function a6(a){return{left:Math.min(a.left,a.right),right:Math.max(a.left,a.right),top:Math.min(a.top,a.bottom),bottom:Math.max(a.top,a.bottom)}}function a7(a,b){let c=P(b);return[a5(c,!0),a5(c,!1)].some(b=>b&&U(a,a6(b)))}function a8(a,b){let c=[];for(let b of a){if(b.isLayoutOnly)continue;let a=b.points;if(a&&!(a.length<2))for(let d=0;d<a.length-1;d++)c.push({edgeId:b.id,p1:a[d],p2:a[d+1]})}let d=[],e=[];for(let a of b.values()){let b=a.isGroup,c=a.parentId;if(b&&!c){let b=X(a);b&&e.push({id:a.id,rect:b});continue}if(b||a.isEdgeLabel)continue;let f=X(a);f&&d.push({nodeId:a.id,rect:f})}let f=(0,g.K)((a,b)=>{let c=V(b,3);for(let{nodeId:b,rect:e}of d)if(b!==a&&U(c,e))return!0;return!1},"labelOverlapsForeignNode"),h=(0,g.K)((a,b)=>{let d=V(b,3);for(let b of c)if(b.edgeId!==a&&R(b.p1,b.p2,d))return!0;return!1},"labelOverlapsForeignEdge"),i=(0,g.K)((a,b,c)=>f(a,c)||h(b,c),"labelOverlapsAnything"),j=[],k=(0,g.K)(a=>{for(let{id:b,rect:c}of e)if(T(c,a))return b},"findContainingLane"),l=(0,g.K)((a,b)=>j.some(c=>c.labelId!==a&&U(b,c.rect)),"overlapsPlacedLabel");for(let c of a){if(c.isLayoutOnly)continue;let a=c.labelNodeId;if(!a)continue;let d=b.get(a);if(!d)continue;let m=c.points;if(!m||m.length<2)continue;let n=d.width??0,o=d.height??0;if(n<=0||o<=0)continue;let p=[];for(let a=0;a<m.length-1;a++){let b=m[a],c=m[a+1],d=Math.abs(b.x-c.x),e=Math.abs(b.y-c.y);(!(d<.001)||!(e<.001))&&(d>=.001&&e>=.001||p.push({idx:a,length:d+e,orientation:d>=.001?"horizontal":"vertical",midX:(b.x+c.x)/2,midY:(b.y+c.y)/2}))}if(0===p.length)continue;let q=p.length>=3?p.filter(a=>a.idx>0&&a.idx<p.length-1):p,r=q.length>0?q:p,s=n>=o?"horizontal":"vertical",t=(0,g.K)(a=>[...a].sort((a,b)=>{let c=a.orientation===s;if(c!==(b.orientation===s))return c?-1:1;let d=a.length>=("horizontal"===a.orientation?n:o)+2;return d!==b.length>=("horizontal"===b.orientation?n:o)+2?d?-1:1:b.length-a.length}),"rankSegments"),u=p[0],v=p[p.length-1],w=[.5,.25,.75,.05,.95,.15,.85,.1,.9],x=(0,g.K)((a,b)=>{let c=m[a.idx],d=m[a.idx+1];return{midX:c.x+(d.x-c.x)*b,midY:c.y+(d.y-c.y)*b}},"anchorAtT"),y=(0,g.K)((a,b,c)=>Math.min(c,Math.max(b,a)),"clamp"),z=(0,g.K)((a,b)=>a.midX>=b.left-.001&&a.midX<=b.right+.001&&a.midY>=b.top-.001&&a.midY<=b.bottom+.001,"pointInsideRectInclusive"),A=(0,g.K)(a=>{let b=W(a.midX,a.midY,n,o),c=k(b);if(c)return{laneId:c,anchor:a,rect:b};let d=e.find(({rect:b})=>z(a,b));if(!d)return;let f=d.rect.left+n/2+1,g=d.rect.right-n/2-1,h=d.rect.top+o/2+1,i=d.rect.bottom-o/2-1;if(f>g||h>i)return;let j={midX:y(a.midX,f,g),midY:y(a.midY,h,i)},l=W(j.midX,j.midY,n,o);return z(a,l)?{laneId:d.id,anchor:j,rect:l}:void 0},"placementForAnchor"),B=(0,g.K)((a,b,c)=>"horizontal"===a.orientation?Math.abs(b.midX-c.x):Math.abs(b.midY-c.y),"distanceAlongSegment"),C=(0,g.K)((a,b)=>{let c=("horizontal"===a.orientation?n/2:o/2)+12;if(a===u){let d=m[a.idx];if(B(a,b,d)+.001<c)return!1}if(a===v){let d=m[a.idx+1];if(B(a,b,d)+.001<c)return!1}return!0},"labelClearsTerminalEndpoints"),D=(0,g.K)(b=>{for(let d of t(b))for(let b of w){let e=x(d,b);if(!C(d,e))continue;let f=A(e);if(!(!f||a7(f.rect,m))&&!l(a,f.rect)&&!i(a,c.id,f.rect))return{laneId:f.laneId,anchor:f.anchor}}},"tryPool"),E=(0,g.K)((b,d,e=!1)=>{for(let g of t(b)){let b={midX:g.midX,midY:g.midY};if(d&&!C(g,b))continue;let i=A(b);if(i&&!a7(i.rect,m)&&!l(a,i.rect)&&!f(a,i.rect)&&(e||!h(c.id,i.rect)))return{laneId:i.laneId,anchor:i.anchor}}},"findLaneContainingFallback"),F=D(r)??(r.length<p.length?D(p):void 0)??E(p,!0)??E(p,!1)??E(p,!1,!0);if(F){d.x=F.anchor.midX,d.y=F.anchor.midY,d.parentId=F.laneId;let b=W(F.anchor.midX,F.anchor.midY,n,o),c=j.findIndex(b=>b.labelId===a);c>=0?j[c]={labelId:a,rect:b}:j.push({labelId:a,rect:b})}}}(0,g.K)(aX,"separateSharedRenderedTerminalLanes"),(0,g.K)(aY,"collapseRedundantRectangularDoglegs"),(0,g.K)(aZ,"liftObstacleHuggingSameSideRails"),(0,g.K)(a$,"liftTopLaneTitleBandsAboveRails"),(0,g.K)(a_,"shiftLeftLaneTitleBandsLeftOfRails"),(0,g.K)(a0,"swapDestinationTerminalTailsToReduceCrossings"),(0,g.K)(a1,"reassignCrossingExternalRailChannels"),(0,g.K)(a2,"shortcutRedundantOrthogonalJogs"),(0,g.K)(a3,"resolveRenderedOrthogonalCrossings"),(0,g.K)(a4,"simplifyDetouredEdges"),(0,g.K)(a5,"markerClearanceRectFor"),(0,g.K)(a6,"normalizeRect"),(0,g.K)(a7,"labelOverlapsOwnMarker"),(0,g.K)(a8,"anchorLabelsToPolyline");function a9(a,b){return a<b?`${a}::${b}`:`${b}::${a}`}function ba(a,b){let{nodeInfoById:c,realNodeRects:d}=_(b),e=new Map;for(let a of b){let b=a.id;if(!a.isGroup&&a.isEdgeLabel){e.set(b,{w:a.width??0,h:a.height??0});continue}}let f=(0,g.K)((b,c,d,f)=>{let h=a9(c,d),i=0,j=(0,g.K)(a=>{if(!a)return;let b=e.get(a);if(!b)return;let c="x"===f?b.w/2:b.h/2;c>i&&(i=c)},"consider");for(let c of(j(b.labelNodeId),a)){if(c===b||c.isLayoutOnly)continue;let a=c.start,d=c.end;a&&d&&a9(a,d)===h&&j(c.labelNodeId)}return i>0?i+3:0},"labelClearanceFor");for(let b of a){let e,g;if(b.isLayoutOnly||!Q(b.points,1e-6))continue;let h=ac(b,c,1e-6);if(!h)continue;let{srcId:i,dstId:j,srcInfo:k,dstInfo:l,collinearX:m,collinearY:n}=h;if(m===n)continue;if(m){let a=l.cy>k.cy;e={x:k.cx,y:a?k.rect.bottom:k.rect.top},g={x:l.cx,y:a?l.rect.top:l.rect.bottom}}else{let a=l.cx>k.cx;e={x:a?k.rect.right:k.rect.left,y:k.cy},g={x:a?l.rect.left:l.rect.right,y:l.cy}}if(ad(e,g,d,[i,j],1))continue;let o=f(b,i,j,m?"x":"y"),p=o>4?o:4;for(let c of[0,p,-p]){let f={...e},h={...g};if(m){if(f.x+=c,h.x+=c,f.x<=k.rect.left||f.x>=k.rect.right||h.x<=l.rect.left||h.x>=l.rect.right)continue}else if(f.y+=c,h.y+=c,f.y<=k.rect.top||f.y>=k.rect.bottom||h.y<=l.rect.top||h.y>=l.rect.bottom)continue;if(!ad(f,h,d,[i,j],1)&&!ag(f,h,a,b,{epsilon:1e-6})){b.points=[f,h];break}}}}function bb(a,b){let{realNodeRects:c,labelNodeRects:d}=aa(b.values()),e=(0,g.K)((a,b)=>N(b,.001).map(c=>({...c,edge:a,interior:c.index>=1&&c.index<=b.length-3})),"segmentsFor"),f=(0,g.K)(()=>{let b=[];for(let c of a){if(c.isLayoutOnly)continue;let a=c.points;a&&!(a.length<2)&&b.push(...e(c,P(a)))}return b},"allSegments"),h=(0,g.K)((a,b)=>a.horizontal&&b.horizontal?L(a.a.x,a.b.x,b.a.x,b.b.x)>=8&&7>Math.abs(a.a.y-b.a.y):!!a.vertical&&!!b.vertical&&L(a.a.y,a.b.y,b.a.y,b.b.y)>=8&&7>Math.abs(a.a.x-b.a.x),"hasCrowdedParallelTrack"),i=(0,g.K)((b,f)=>{let g=b.start,i=b.end,j=e(b,f);if(j.length!==f.length-1)return!1;let k=[g,i].filter(a=>!!a),l=b.labelNodeId?[b.labelNodeId]:[];for(let a of j)if(ad(a.a,a.b,c,k,-2)||ad(a.a,a.b,d,l,-2))return!1;for(let c of a){if(c===b||c.isLayoutOnly)continue;let a=c.points;if(a&&!(a.length<2)){for(let b of j)for(let d of e(c,P(a)))if(h(b,d)||ah(b.a,b.b,d.a,d.b,.001))return!1}}return!0},"candidateIsSafe"),j=(0,g.K)((a,b)=>{let c=P(a.edge.points??[]);if(c.length<4||a.index>=c.length-1)return;let d=c.map(a=>({...a}));if(a.horizontal)d[a.index].y+=b,d[a.index+1].y+=b;else{if(!a.vertical)return;d[a.index].x+=b,d[a.index+1].x+=b}return e(a.edge,d).length===d.length-1?d:void 0},"shiftedCandidate"),k=(0,g.K)((a,b)=>({x:a.x??(b.left+b.right)/2,y:a.y??(b.top+b.bottom)/2}),"nodeCenter"),l=(0,g.K)(a=>{let c=a.edge,d=P(c.points??[]);if(4!==d.length||1!==a.index)return;let e=c.start?b.get(c.start):void 0,f=c.end?b.get(c.end):void 0,g=e?X(e):void 0,h=f?X(f):void 0,i=d.slice(a.index+2);if(e&&f&&g&&h&&0!==i.length)return{sourceCenter:k(e,g),targetCenter:k(f,h),sourceRect:g,tail:i}},"sourceDetourContextFor"),m=(0,g.K)((a,b,c,d,e,f)=>{let g=d.y>=c.y,h=g?e.bottom:e.top,i=h+(g?20:-20);if(g&&a.b.y<=i+.001||!g&&a.b.y>=i-.001)return;let j=a.a.x+b;return P([{x:c.x,y:h},{x:c.x,y:i},{x:j,y:i},{x:j,y:a.b.y},...f],.001)},"verticalSourceDetour"),n=(0,g.K)((a,b,c,d,e,f)=>{let g=d.x>=c.x,h=g?e.right:e.left,i=h+(g?20:-20);if(g&&a.b.x<=i+.001||!g&&a.b.x>=i-.001)return;let j=a.a.y+b;return P([{x:h,y:c.y},{x:i,y:c.y},{x:i,y:j},{x:a.b.x,y:j},...f],.001)},"horizontalSourceDetour"),o=(0,g.K)((a,b)=>{let c=l(a);if(c){if(a.vertical)return m(a,b,c.sourceCenter,c.targetCenter,c.sourceRect,c.tail);if(a.horizontal)return n(a,b,c.sourceCenter,c.targetCenter,c.sourceRect,c.tail)}},"sourceDetourCandidate"),p=[-7,7,-14,14,-21,21];for(let a=0;a<12;a++){let a=f(),b=!1;for(let c=0;c<a.length&&!b;c++)for(let d=c+1;d<a.length&&!b;d++){let e=a[c],f=a[d];if(e.edge!==f.edge&&h(e,f))for(let a of[e,f].filter(a=>a.interior)){for(let c of p){let d=j(a,c);if(d&&i(a.edge,d)){a.edge.points=d,b=!0;break}let e=o(a,c);if(e&&i(a.edge,e)){a.edge.points=e,b=!0;break}}if(b)break}}if(!b)return}}function bc(a,b,c,d){let e=b.x-a.x,f=b.y-a.y,g=d.x-c.x,h=d.y-c.y,i=e*h-f*g;if(1e-10>Math.abs(i))return!1;let j=c.x-a.x,k=c.y-a.y,l=(j*h-k*g)/i,m=(j*f-k*e)/i;return l>.01&&l<.99&&m>.01&&m<.99}function bd(a){let b=a.nodes??[],c=a.edges??[],d=[];if(!c.length||!b.length)return d;let e=ab(b),g=[];for(let a of c){if(a.isLayoutOnly)continue;let b=a.points;if(!b||b.length<2)continue;let c=a.start,f=a.end,h=a.labelNodeId,i=a.id??`${c}->${f}`;for(let a of e)if(a.nodeId!==c&&a.nodeId!==f&&(!h||a.nodeId!==h)){for(let c=0;c<b.length-1;c++)if(R(b[c],b[c+1],a,-1)){d.push({type:"edge-node-overlap",edgeId:i,targetId:a.nodeId,detail:`segment ${c} passes through node "${a.nodeId}"`});break}}for(let a=0;a<b.length-1;a++)g.push({edgeId:i,start:c,end:f,p1:b[a],p2:b[a+1]})}let h=new Set;for(let a=0;a<g.length;a++)for(let b=a+1;b<g.length;b++){let c=g[a],e=g[b];if(c.edgeId!==e.edgeId&&c.start!==e.start&&c.start!==e.end&&c.end!==e.start&&c.end!==e.end&&bc(c.p1,c.p2,e.p1,e.p2)){let a=c.edgeId<e.edgeId?`${c.edgeId}|${e.edgeId}`:`${e.edgeId}|${c.edgeId}`;h.has(a)||(h.add(a),d.push({type:"edge-edge-crossing",edgeId:c.edgeId,targetId:e.edgeId,detail:`edges "${c.edgeId}" and "${e.edgeId}" cross`}))}}if(d.length>0){let a=d.filter(a=>"edge-node-overlap"===a.type).length,b=d.filter(a=>"edge-edge-crossing"===a.type).length;for(let c of(f.R.warn(`[SWIMLANE_VALIDATE] ${d.length} issue(s) detected: ${a} edge-node overlap(s), ${b} edge crossing(s)`),d))f.R.warn(`[SWIMLANE_VALIDATE] ${c.type}: ${c.detail}`)}return d}function be(a,b){let c=a.nodes??[],d=a.edges??[],e=c.filter(a=>!a.isGroup);if(("LR"===b||"RL"===b)&&e.length>0&&!aS(a,b)||"BT"===b&&e.length>0&&!aR(a))return;for(let a of d){if(a.isLayoutOnly)continue;let b=a.points;b&&!(b.length<2)&&(a.points=am(al(b)))}a4(d,c),ba(d,c),aU(d,c);let f=new Map;for(let a of c)f.set(String(a.id),a);a8(d,f),aq(d,f),aV(d,f),bb(d,f),aX(d,f),aY(d,f),aZ(d,f),a0(d,f);let h=(0,g.K)(()=>{a3(d,f),a1(d,f),a2(d,f),a8(d,f),aJ(d,f),aZ(d,f),a8(d,f),aJ(d,f)},"finalizeRenderedEdges");h(),bb(d,f),h(),a$(d,f),a_(d,f),a$(d,f),a_(d,f)}function bf(a){let b=new Map(a.nodeById),c=new Set,d=[];for(let e of a.edges){if(!b.has(e.src)||!b.has(e.dst))continue;let a=`${e.id}:${e.src}->${e.dst}`;c.has(a)||(c.add(a),d.push(e))}return{nodes:[...b.keys()],edges:d,layout:a.layout,nodeById:b}}function bg(a,b){return a.edges.filter(a=>a.dst===b)}function bh(a){let b=new Map;for(let c of a.nodes)b.set(c,[]);for(let c of a.edges)b.get(c.src).push(c.dst);return b}function bi(a){let b=bh(a);for(let a of b.values())a.sort((a,b)=>a.localeCompare(b));return b}function bj(a){let b=new Map;for(let c of a.nodes)b.set(c,0);for(let c of a.edges)b.set(c.dst,(b.get(c.dst)??0)+1);return b}function bk(a){return[...a.entries()].filter(([,a])=>0===a).map(([a])=>a).sort((a,b)=>a.localeCompare(b))}function bl(a,b=()=>!0){let c=new Map,d=new Map;for(let b of a.nodes)c.set(b,[]),d.set(b,[]);for(let e of a.edges)b(e)&&(d.get(e.src).push(e.dst),c.get(e.dst).push(e.src));return{preds:c,succs:d}}function bm(a,b,c,d){let e=0;for(let b of a.nodes)d?.skipGroups&&a.nodeById.get(b)?.isGroup||(e=Math.max(e,c[b]??0));let f=Array.from({length:e+1},()=>[]);for(let e of b)d?.skipGroups&&a.nodeById.get(e)?.isGroup||f[Math.max(0,c[e]??0)].push(e);return f}function bn(a){let b=bj(a),c=bk(b),d=[],e=bi(a);for(;c.length;){let a=c.shift();for(let f of(d.push(a),e.get(a)??[]))if(b.set(f,(b.get(f)??0)-1),(b.get(f)??0)===0){let a=0;for(;a<c.length&&c[a]<f;)a++;c.splice(a,0,f)}}return d.length===a.nodes.length?d:null}function bo(a){let b=new Map,c=0;for(let d of a)b.set(d,c),c++;return b}function bp(a){let b=Array(a.length),c=(0,g.K)((d,e)=>{if(e-d<=1)return 0;let f=d+e>>1,g=c(d,f)+c(f,e),h=d,i=f,j=d;for(;h<f||i<e;)i>=e||h<f&&a[h]<=a[i]?b[j++]=a[h++]:(b[j++]=a[i++],g+=f-h);for(let c=d;c<e;c++)a[c]=b[c];return g},"count");return c(0,a.length)}function bq(a){let b=bf(a),c=new Map;for(let a of b.nodes)c.set(a,[]);for(let a of b.edges)c.get(a.src).push(a);for(let a of c.values())a.sort((a,b)=>a.dst===b.dst?a.id.localeCompare(b.id):a.dst.localeCompare(b.dst));let d=Object.create(null);for(let a of b.nodes)d[a]=0;let e=[],f=(0,g.K)(a=>{for(let b of(d[a]=1,c.get(a)??[])){let a=b.dst;0===d[a]?f(a):1===d[a]&&e.push(b)}d[a]=2},"dfs");for(let a of[...b.nodes].sort((a,b)=>a.localeCompare(b)))0===d[a]&&f(a);let h=new Set(e.map(a=>`${a.id}:${a.src}->${a.dst}`)),i=b.edges.map(a=>h.has(`${a.id}:${a.src}->${a.dst}`)?{id:a.id,src:a.dst,dst:a.src,weight:a.weight,ref:a.ref}:a);return{acyclic:{nodes:[...b.nodes],edges:i,layout:b.layout,nodeById:new Map(b.nodeById)},reversed:e}}function br(a){let b=new Map,c=(0,g.K)(d=>{if(b.has(d))return b.get(d);let e=a.nodeById.get(d);if(!e)return b.set(d,null),null;let f=e.parentId;if(!f)return b.set(d,null),null;let g=c(f)??f;return b.set(d,g),g},"resolve");for(let b of a.nodes)c(b);return b}function bs(a){let b=br(a);return a=>b.get(a)??null}function bt(a){let b=[];for(let c of a.layout.nodes??[])c.isGroup&&!c.parentId&&b.push(c.id);return[...new Set(b)].reverse()}function bu(a,b){let c=bt(a);if(!b||0===b.length)return c;let d=new Set(c),e=new Set,f=[];for(let a of b)!d.has(a)||e.has(a)||(e.add(a),f.push(a));for(let a of c)e.has(a)||f.push(a);return f}(0,g.K)(a9,"pairKey"),(0,g.K)(ba,"straightenCollinearSiblingDetours"),(0,g.K)(bb,"nudgeSharedInteriorSubpaths"),(0,g.K)(bc,"segmentsIntersect"),(0,g.K)(bd,"validateSwimlanesLayout"),(0,g.K)(be,"postProcessSwimlaneLayout"),(0,g.K)(bf,"normalizeGraph"),(0,g.K)(bg,"incoming"),(0,g.K)(bh,"buildSuccessorMap"),(0,g.K)(bi,"buildSortedSuccessorMap"),(0,g.K)(bj,"buildInDegreeMap"),(0,g.K)(bk,"sortedZeroInDegreeNodes"),(0,g.K)(bl,"buildPredecessorSuccessorMaps"),(0,g.K)(bm,"buildLayersFromRanks"),(0,g.K)(bn,"topoSortIfAcyclic"),(0,g.K)(bo,"buildLayerIndex"),(0,g.K)(bp,"countInversions"),(0,g.K)(bq,"removeCycles_DFS"),(0,g.K)(br,"buildTopLaneMap"),(0,g.K)(bs,"createTopLaneResolver"),(0,g.K)(bt,"buildTopLaneOrder"),(0,g.K)(bu,"resolveTopLaneOrder");function bv(a,b){let c=bf(a),d=b?.laneOf??(()=>null),e=b?.rankHint,{preds:f}=bl(c);for(let a of f.values())a.sort((a,b)=>a.localeCompare(b));let h=bn(c)??[...c.nodes].sort((a,b)=>a.localeCompare(b)),i=new Map;for(let[a,b]of h.entries())i.set(b,a);let j=new Map,k=new Map;for(let a of c.nodes)k.set(a,[]);for(let a of h){let b=(f.get(a)??[]).filter(a=>j.has(a));if(b.length>0){let c=bw(a,b,{laneOf:d,rankHint:e,topoIndex:i});j.set(a,c),k.get(c).push(a)}else j.has(a)||j.set(a,null)}for(let a of c.nodes)j.has(a)||j.set(a,null);let l=new Set;for(let a of c.nodes)(j.get(a)??null)===null&&l.add(a);let m=[...l].sort((a,b)=>{let c=i.get(a)??0,d=i.get(b)??0;return c===d?a.localeCompare(b):c-d}),n=bx(c),o=new Map;for(let[a,b]of n.entries())o.set(a,[...b].sort((a,b)=>a.localeCompare(b)));let p=by(o),q=bz(o),r=new Map;for(let a of c.nodes)r.set(a,[]);for(let a of q)for(let b of a.nodes){let c=r.get(b);c?c.push(a.id):r.set(b,[a.id])}let s=[],t=[],u=new Set,v=(0,g.K)(a=>{if(!u.has(a)){for(let b of(u.add(a),s.push(a),k.get(a)??[]))v(b);t.push(a)}},"walk");for(let a of m)v(a);for(let a of h)v(a);return{parent:j,children:k,roots:m,componentOf:p,blocks:q,nodeBlocks:r,adjacency:o,preorder:s,postorder:t,topologicalOrder:h}}function bw(a,b,c){let d=c.laneOf(a);return[...b].sort((a,b)=>{let e=c.laneOf(a),f=c.laneOf(b),g=null!=e&&e===d;if(g!==(null!=f&&f===d))return g?-1:1;let h=c.rankHint?.[a],i=c.rankHint?.[b];if(null!=h&&null!=i&&h!==i)return i-h;let j=c.topoIndex.get(a)??0,k=c.topoIndex.get(b)??0;return j!==k?j-k:a.localeCompare(b)})[0]}function bx(a){let b=new Map;for(let c of a.nodes)b.set(c,new Set);for(let c of a.edges)b.get(c.src).add(c.dst),b.get(c.dst).add(c.src);return b}function by(a){let b=new Map,c=0;for(let d of a.keys()){if(b.has(d))continue;let e=[d];for(;e.length>0;){let d=e.pop();if(!b.has(d))for(let f of(b.set(d,c),a.get(d)??[]))b.has(f)||e.push(f)}c++}return b}function bz(a){let b=new Map,c=new Map,d=[],e=[],f=0,h=(0,g.K)((g,i)=>{for(let j of(b.set(g,++f),c.set(g,f),a.get(g)??[]))j!==i&&(b.has(j)?(b.get(j)??0)<(b.get(g)??0)&&(d.push([g,j]),c.set(g,Math.min(c.get(g)??f,b.get(j)??f))):(d.push([g,j]),h(j,g),c.set(g,Math.min(c.get(g)??f,c.get(j)??f)),(c.get(j)??0)>=(b.get(g)??0)&&e.push(bA(g,j,d,e.length))))},"visit");for(let c of a.keys())b.has(c)||h(c,null);return e}function bA(a,b,c,d){let e=[],f=new Set;for(;c.length>0;){let d=c.pop();if(e.push(d),f.add(d[0]),f.add(d[1]),d[0]===a&&d[1]===b||d[0]===b&&d[1]===a)break}return{id:d,edges:e,nodes:[...f]}}function bB(a,b,c){let d=[...a.nodes],e=new Map;for(let[a,b]of d.entries())e.set(b,a);let f=d.length,h=Array(f).fill(-1),i=Array(f).fill(0),j=[],k=new Set;for(let a of d){let b=c.parent.get(a)??null,d=e.get(a);null!=d&&null==b&&(h[d]=-1,i[d]=0,k.has(a)||(k.add(a),j.push(a)))}for(;j.length>0;){let a=j.shift(),b=e.get(a);if(null!=b)for(let d of c.children.get(a)??[]){if(k.has(d))continue;let a=e.get(d);null!=a&&(h[a]=b,i[a]=i[b]+1,k.add(d),j.push(d))}}for(let a of d){if(k.has(a))continue;let b=e.get(a);null!=b&&(h[b]=-1,i[b]=0,k.add(a))}let l=Math.max(1,Math.ceil(Math.log2(Math.max(1,f)))+1),m=Array.from({length:l},()=>Array(f).fill(-1));for(let a=0;a<f;a++)m[0][a]=h[a];for(let a=1;a<l;a++)for(let b=0;b<f;b++){let c=m[a-1][b];m[a][b]=-1===c?-1:m[a-1][c]}let n=(0,g.K)((a,b)=>{if(-1===a||-1===b)return -1;i[a]<i[b]&&([a,b]=[b,a]);let c=i[a]-i[b];for(let b=0;b<l;b++)if(c>>b&1&&-1===(a=m[b][a]))return -1;if(a===b)return a;for(let c=l-1;c>=0;c--){let d=m[c][a],e=m[c][b];-1!==d&&-1!==e&&d!==e&&(a=d,b=e)}return m[0][a]},"lcaIndex"),o=Array.from({length:f},()=>new Map);for(let c of a.edges){let a=c.src,d=c.dst,f=b[a],g=b[d];if(null==f||null==g||(f>g&&([a,d]=[d,a],[f,g]=[g,f]),null==f||null==g||f===g))continue;let h=e.get(a),i=e.get(d);if(null==h||null==i)continue;let j=n(h,i);if(-1===j)continue;let k=o[j];for(let a=f;a<g;a++)k.set(a,(k.get(a)??0)+1)}let p=new Map,q=(0,g.K)((a,b)=>{if(0!==b.size)for(let[c,d]of b)a.set(c,(a.get(c)??0)+d)},"mergeInto"),r=new Set,s=(0,g.K)(a=>{let d=e.get(a);r.add(a);let f=null==d?void 0:o[d],g=f?new Map(f):new Map;for(let d of c.children.get(a)??[]){let c=s(d),e=b[a];if(null!=e){let f=p.get(a);f||(f=new Map,p.set(a,f));let g=c.get(e)??0,h=b[d];null!=h&&h>e&&(g+=1),f.set(d,g)}q(g,c)}return g},"dfs");for(let a of c.roots)r.has(a)||s(a);for(let a of d)r.has(a)||s(a);return p}function bC(a,b,c){let d=new Map,e=(0,g.K)(a=>{let f=c[a]??0,g=[...b.get(a)??[]];for(let a of(g.sort(bD(c)),g)){e(a);let b=d.get(a);null!=b&&(f=Math.min(f,b))}d.set(a,f)},"annotate");for(let b of a)e(b);return d}function bD(a){return(b,c)=>{let d=a[b]??0,e=a[c]??0;return d===e?b.localeCompare(c):d-e}}function bE(a,b,c,d){let e=0;for(let a of b){let b=c[a]??0;b>e&&(e=b)}let f=Array.from({length:e+1},()=>[]),h=new Set,i=(0,g.K)(a=>{if(h.has(a))return;h.add(a);let b=c[a]??0;for(let c of(f[b]||(f[b]=[]),f[b].push(a),d(a)))i(c)},"emit");for(let b of a)i(b);for(let a of b)if(!h.has(a)){let b=c[a]??0;f[b]||(f[b]=[]),f[b].push(a),h.add(a)}return f}function bF(a){let b=[];for(let c of a){let a=new Set,d=[];for(let b of c)a.has(b)||(a.add(b),d.push(b));b.push(d)}return b}function bG(a,b,c,d){return e=>{let f=a.get(e)??[];if(0===f.length)return[];let g=b[e]??0,h=[],i=[],j=c.get(e);for(let a of f){let b=d.get(a)??g;b>g?h.push({child:a,min:b}):i.push(a)}return h.sort((a,b)=>a.min===b.min?a.child.localeCompare(b.child):a.min-b.min),i.sort((a,b)=>{let c=j?.get(a)??0,e=j?.get(b)??0;if(c!==e)return c-e;let f=d.get(a)??g,h=d.get(b)??g;return f!==h?f-h:a.localeCompare(b)}),[...h.map(a=>a.child),...i]}}function bH(a,b,c){let d=bv(a,{rankHint:b,laneOf:c}),{children:e,roots:f}=d;for(let b of a.nodes)e.has(b)||e.set(b,[]);let g=bB(a,b,d),h=[...f].sort(bD(b)),i=bC(h,e,b),j=bG(e,b,g,i),k=bE(h,a.nodes,b,j);return bF(k)}function bI(a,b,c){let d=new Set(a),e=new Set(b),f=bo(b),g=[];for(let a of c)d.has(a.src)&&e.has(a.dst)&&g.push(f.get(a.dst));return bp(g)}function bJ(a,b,c){let d=[];for(let a of b){let b=c[a.src],e=c[a.dst];if(null==b||null==e||b===e)continue;let f=a.src,g=a.dst,h=b,i=e;b>e&&(f=a.dst,g=a.src,h=e,i=b);for(let b=h;b<i;b++)d.push({id:`${a.id}@${b}`,src:f,dst:g,ref:a.ref})}let e=0;for(let b=0;b+1<a.length;b++)e+=bI(a[b],a[b+1],d);return e}function bK(a,b){let c={...b},{preds:d}=bl(a),e=bs(a),f=bJ(bH(a,c,e),a.edges,c);for(let b=0;b<4;b++){let b=!1;for(let g of[...a.nodes].sort((a,b)=>(c[b]??0)-(c[a]??0))){let h=c[g]??0;if(0===h)continue;let i=0;for(let a of d.get(g)??[])i=Math.max(i,(c[a]??0)+1);if(i>=h)continue;c[g]=i;let j=bJ(bH(a,c,e),a.edges,c);j<f?(f=j,b=!0):c[g]=h}if(!b)break}return c}function bL(a,b){let c=bs(a);for(let d of[...a.nodes].sort((a,c)=>(b[a]??0)-(b[c]??0)||a.localeCompare(c))){let e=c(d);if(!e)continue;let f=a.edges.filter(a=>a.src===d);if(0===f.length)continue;let g=!1,h=0;for(let a of f){let b=c(a.dst);null==b||b===e?g=!0:h++}if(0===h||g)continue;let i=0,j=!1;for(let b of a.edges){if(b.dst!==d)continue;let a=c(b.src);a&&(a===e?j=!0:i++)}if(i>0||!j)continue;let k=b[d]??0,l=k+h,m=0;for(let c of a.edges)c.dst===d&&(m=Math.max(m,(b[c.src]??0)+1));let n=Math.max(k,m,l);n!==k&&(b[d]=n)}}function bM(a,b){let c=bf(a),d=bn(c)??[...c.nodes].sort(),e=b?.compactSingleInput??!1,f=bs(c),g=Object.create(null);for(let a of d){let d=bg(c,a),h=b?.ignoreCrossLaneEdges?d.filter(b=>{let c=f(b.src),d=f(a);return!c||!d||c===d}):d;if(0===h.length)g[a]=0;else if(e&&1===h.length){let b=h[0].src;f(b)!==f(a)?g[a]=g[b]??0:g[a]=(g[b]??0)+1}else{let b=-1/0;for(let a of h)b=Math.max(b,(g[a.src]??0)+1);g[a]=b===-1/0?0:b}}return b?.optimizeRanksByCrossings&&(g=bK(c,g)),b?.ignoreCrossLaneEdges&&bL(c,g),{layers:bH(c,g,f),rankOf:g,dummy:new Set}}function bN(a,b){let c=bf(a),d={...bM(c,{compactSingleInput:b?.compactSingleInput,ignoreCrossLaneEdges:b?.ignoreCrossLaneEdges,optimizeRanksByCrossings:b?.optimizeRanksByCrossings}).rankOf},e=bs(c),{preds:f,succs:h}=bl(c,a=>{if(b?.ignoreCrossLaneEdges){let b=e(a.src),c=e(a.dst);if(b&&c&&b!==c)return!1}return!0}),i=bn(c)??[...c.nodes],j=[...i].reverse(),k=(0,g.K)((a,b)=>{let c=0;for(let b of f.get(a)??[])c=Math.max(c,(d[b]??0)+1);let e=1/0,g=h.get(a)??[];return g.length>0&&(e=Math.min(...g.map(a=>(d[a]??0)-1))),Number.isFinite(e)||(e=Math.max(c,b)),Math.min(Math.max(b,c),e)},"clampFeasible"),l=(0,g.K)(a=>{let b=!1;for(let c of a){let a=f.get(c)??[],e=h.get(c)??[];if(0===a.length&&0===e.length)continue;let g=Math.round(((a.length>0?a.reduce((a,b)=>a+(d[b]??0)+1,0)/a.length:d[c]??0)+(e.length>0?e.reduce((a,b)=>a+(d[b]??0)-1,0)/e.length:d[c]??0))/2),i=k(c,g);i!==d[c]&&(d[c]=i,b=!0)}return b},"relaxOrder");for(let a=0;a<8;a++){let a=l(i),b=l(j);if(!a&&!b)break}for(let a of i){let b=0;for(let c of f.get(a)??[])b=Math.max(b,(d[c]??0)+1);(d[a]??0)<b&&(d[a]=b)}for(let a of j){let b=h.get(a)??[];if(b.length>0){let c=Math.min(...b.map(a=>(d[a]??0)-1));(d[a]??0)>c&&(d[a]=c)}}return{layers:bm(c,i,d),rankOf:d,dummy:new Set}}function bO(a){let b=bj(a),c=bi(a),d=bk(b),e=[];for(;d.length>0;){let a=[];for(let f of d)for(let d of(e.push(f),c.get(f)??[]))b.set(d,(b.get(d)??0)-1),(b.get(d)??0)===0&&a.push(d);d=a.sort((a,b)=>a.localeCompare(b))}return e.length===a.nodes.length?e:null}function bP(a,b){let c=bf(a),d=b?.direction==="LR"?bO(c)??[...c.nodes].sort():bn(c)??[...c.nodes].sort(),e=bs(c),f=(0,g.K)(a=>e(a)??a,"laneOf"),h=Object.create(null),i=new Map,j=(0,g.K)((a,c)=>b?.ignoreCrossLaneEdges??!0?+(f(a)===f(c)):1,"edgeWeight");for(let a of d){let b=c.nodeById.get(a);if(b?.isGroup)continue;let d=bg(c,a),e=0;if(d.length>0)for(let b of d){let c=b.src;e=Math.max(e,(h[c]??0)+j(c,a))}let g=f(a),k=Math.max(e,i.get(g)??0);h[a]=k,i.set(g,k+1)}return{layers:bm(c,d,h,{skipGroups:!0}),rankOf:h,dummy:new Set}}function bQ(a,b){let c=bf(b),{rankOf:d}=a,e=a.layers.map(a=>[...a]),f=new Set(a.dummy?[...a.dummy]:[]),h=0,i=new Map(c.nodeById),j=(0,g.K)(a=>{let b=`placeholder-${h++}`;for(i.set(b,{id:b,isGroup:!1,isDummy:!0,width:0,height:0}),f.add(b);e.length<=a;)e.push([]);return e[a].push(b),d[b]=a,b},"addDummyAt"),k=[...c.edges].sort((a,b)=>a.id===b.id?a.src===b.src?a.dst.localeCompare(b.dst):a.src.localeCompare(b.src):a.id.localeCompare(b.id)),l=[];for(let a of k){let b=d[a.src]??0,c=d[a.dst]??0;if(c-b<=1){l.push(a);continue}let e=a.src;for(let d=b+1,f=0;d<c;d++,f++){let b=j(d);l.push({id:`${a.id}#${f}`,src:e,dst:b,weight:a.weight,ref:a.ref}),e=b}let f=c-b-2;l.push({id:`${a.id}#${Math.max(f+1,0)}`,src:e,dst:a.dst,weight:a.weight,ref:a.ref})}let m={nodes:[...c.nodes,...[...f].filter(a=>!c.nodes.includes(a))],edges:l,layout:c.layout,nodeById:i};return{layering:{layers:e,rankOf:d,dummy:f},graphWithDummies:m}}function bR(a){let b=a.length;if(0===b)return 1/0;let c=[...a].sort((a,b)=>a-b);return b%2==1?c[(b-1)/2]:.5*(c[b/2-1]+c[b/2])}function bS(a){return 0===a.length?1/0:a.reduce((a,b)=>a+b,0)/a.length}function bT(a,b,c,d){let e=new Map;for(let b of a)e.set(b,[]);for(let a of c)"down"===d?b.has(a.src)&&e.has(a.dst)&&e.get(a.dst).push(b.get(a.src)):b.has(a.dst)&&e.has(a.src)&&e.get(a.src).push(b.get(a.dst));return e}function bU(a,b,c){let d=c.get(a)??0,e=c.get(b)??0;return d!==e?d-e:a.localeCompare(b)}function bV(a,b,c){let d=new Set(a),e=new Set(b),f=bo(a),g=bo(b),h=[];for(let a of c)d.has(a.src)&&e.has(a.dst)&&h.push({u:f.get(a.src),v:g.get(a.dst)});return h.sort((a,b)=>a.u===b.u?a.v-b.v:a.u-b.u),bp(h.map(a=>a.v))}function bW(a,b,c){return[...a].sort((a,d)=>{let e=bR(b.get(a)??[]),f=bR(b.get(d)??[]);return e===f?bU(a,d,c):isFinite(e)?isFinite(f)?e-f:-1:1})}function bX(a,b,c,d,e,f){let g=bo(a),h=bo(b),i=bT(b,g,c,d);if(!e||!f||0===f.length)return bW(b,i,h);let j=new Map;for(let a of b){let b=e(a),c=j.get(b)??[];c.push(a),j.set(b,c)}let k=[];for(let a of f){let b=j.get(a);if(!b||0===b.length)continue;let c=bW(b,i,h);k.push(...c)}let l=j.get(null);if(l&&l.length>0)for(let a of bW(l,i,h)){let b=bS(i.get(a)??[]),c=k.length;if(isFinite(b)){for(let[a,d]of k.entries())if(b<bS(i.get(d)??[])){c=a;break}}k.splice(c,0,a)}return k}function bY(a,b,c,d,e){let f=[...b],h=new Set(a),i=new Set(b),j=d?new Set(d):null,k=c.filter(a=>h.has(a.src)&&i.has(a.dst)),l=j?c.filter(a=>i.has(a.src)&&j.has(a.dst)):void 0,m=(0,g.K)(b=>{let c=bV(a,b,k);return l&&d&&(c+=bV(b,d,l)),c},"crossingScore"),n=e?new Map:null;if(e&&n)for(let a of b)n.set(a,e(a));let o=!0,p=m(f);for(;o;){o=!1;for(let a=0;a+1<f.length;a++){if(n&&n.get(f[a])!==n.get(f[a+1]))continue;let b=p;[f[a],f[a+1]]=[f[a+1],f[a]];let c=m(f);c<b?(p=c,o=!0):[f[a],f[a+1]]=[f[a+1],f[a]]}}return f}function bZ(a,b,c){let d=a.layers.map(a=>[...a]),e=b.edges,f=bs(b),g=bu(b,c?.laneOrder);for(let a=0;a<3;a++){for(let a=1;a<d.length;a++)d[a]=bX(d[a-1],d[a],e,"down",f,g),d[a]=bY(d[a-1],d[a],e,d[a+1],f);for(let a=d.length-2;a>=0;a--)d[a]=bX(d[a+1],d[a],e,"up",f,g),d[a]=bY(d[a+1],d[a],e,d[a-1],f)}return{layers:d}}function b$(a,b,c){let d=c?.layerGap??100,e=c?.nodeGap??40,f=c?.laneGap??2*e,h=c?.direction??"TB",i=a.layers,j=Object.create(null),k=Object.create(null),l=(0,g.K)(a=>b.nodeById.get(a),"getNode"),m=(0,g.K)(a=>l(a)?.width??0,"getWidth"),n=(0,g.K)(a=>l(a)?.height??0,"getHeight"),o=bs(b),p=bu(b,c?.laneOrder),q=i.map(a=>a.reduce((a,b)=>Math.max(a,n(b)),0)),r=[];if("LR"===h||"RL"===h)for(let a=0;a+1<i.length;a++){let b=Math.max(0,(i[a].reduce((a,b)=>Math.max(a,m(b)),0)+i[a+1].reduce((a,b)=>Math.max(a,m(b)),0))/2-(q[a]/2+q[a+1]/2)-d);r.push(b)}let s=new Set;for(let a of i)for(let b of a)s.add(o(b));let t=s.has(null),u=p.filter(a=>s.has(a)),v=[...t?[null]:[],...u],w=Object.create(null);for(let a of u)w[a]=0;for(let a of(t&&(w.null=0),i)){let b=Object.create(null),c=[];for(let d of a){let a=o(d);null===a?c.push(d):(b[a]||=[]).push(d)}for(let[a,c]of Object.entries(b)){let b=c.reduce((a,b)=>a+m(b),0)+e*Math.max(0,c.length-1);w[a]=Math.max(w[a]??0,b)}if(t&&c.length){let a=c.reduce((a,b)=>a+m(b),0)+e*Math.max(0,c.length-1);w.null=Math.max(w.null??0,a)}}let x=new Map;{let a=v.map(a=>(null===a?w.null:w[a])??0),b=-(a.reduce((a,b)=>a+b,0)+f*Math.max(0,v.length-1))/2;for(let c=0;c<v.length;c++){let d=v[c],e=a[c]??0,g=b+e/2;x.set(d,g),b+=e,c<v.length-1&&(b+=f)}}let y=0;for(let[a,b]of i.entries()){let c=q[a]??0,f=new Map;for(let a of b){let b=o(a),c=f.get(b)??[];c.push(a),f.set(b,c)}for(let a of v){let b=f.get(a)??[];if(0===b.length)continue;let d=x.get(a);if(1===b.length){let a=b[0];j[a]=d,k[a]=y+c/2}else{let a=b.map(a=>m(a)),f=d-(a.reduce((a,b)=>a+b,0)+e*(b.length-1))/2;for(let[d,g]of b.entries()){let b=a[d];j[g]=f+b/2,k[g]=y+c/2,f+=b+e}}}y+=c+d+(r[a]??0)}let z=new Map;for(let a of b.edges){let b=a.ref.id;z.has(b)||z.set(b,[]),z.get(b).push(a)}for(let[,a]of z){if(0===a.length)continue;let c=a[0].ref,d=c.start,e=c.end;if(null==d||null==e)continue;let f=Math.round(((j[d]??0)+(j[e]??0))/2),g=new Set;for(let b of a)g.add(b.src),g.add(b.dst);for(let a of g){if(a===d||a===e)continue;let c=b.nodeById.get(a);c?.isDummy&&(j[a]=f)}}return{x:j,y:k}}function b_(a){let b=0x811c9dc5;for(let c=0;c<a.length;c++)b^=a.charCodeAt(c),b=Math.imul(b,0x1000193);return b>>>0}function b0(a){let b=a>>>0;return()=>{let a=b+=0x6d2b79f5;return a=Math.imul(a^a>>>15,1|a),(((a^=a+Math.imul(a^a>>>7,61|a))^a>>>14)>>>0)/0x100000000}}function b1(a,b){let c=[...a],d=b0(b);for(let a=c.length-1;a>0;a--){let b=Math.floor(d()*(a+1));[c[a],c[b]]=[c[b],c[a]]}return c}function b2(a,b){let c=0;for(let[d,e]of a.entries())c+=Math.abs(d-(b.get(e)??d));return c}function b3(a,b){let c=new Map;for(let[b,d]of a.entries())c.set(d,b);let d=0;for(let{a,b:e,weight:f}of b){let b=c.get(a),g=c.get(e);null!=b&&null!=g&&(d+=f*Math.abs(b-g))}return d}function b4(a){let b=bt(a);if(b.length<2)return[];let c=new Map(b.map((a,b)=>[a,b])),d=bs(a),e=new Map;for(let b of a.layout.edges??[]){if(b.isLayoutOnly)continue;let f="string"==typeof b.start?b.start:void 0,g="string"==typeof b.end?b.end:void 0;if(!f||!g||!a.nodeById.has(f)||!a.nodeById.has(g))continue;let h=d(f),i=d(g);if(!h||!i||h===i)continue;let j=c.get(h),k=c.get(i);if(null==j||null==k)continue;let[l,m]=j<=k?[h,i]:[i,h],n=`${l}\0${m}`,o=e.get(n);o?o.weight++:e.set(n,{a:l,b:m,weight:1})}return[...e.values()]}function b5(a,b,c){let d=[...a],e=b3(d,b),f=!0,g=0,h=Math.max(1,d.length);for(;f&&g<h;){f=!1,g++;for(let a=0;a+1<d.length;a++){[d[a],d[a+1]]=[d[a+1],d[a]];let c=b3(d,b);c<e?(e=c,f=!0):[d[a],d[a+1]]=[d[a+1],d[a]]}}return{order:d,cost:e,sourceDistance:b2(d,c)}}function b6(a,b){return a.cost!==b.cost?a.cost<b.cost:a.sourceDistance<b.sourceDistance}function b7(a,b,c){let d=[...b].sort((a,b)=>a.a===b.a?a.b.localeCompare(b.b):a.a.localeCompare(b.a)).map(({a,b,weight:c})=>`${a}:${b}:${c}`).join("|");return b_(`${a.join("|")}#${d}#${c}`)}function b8(a,b={}){let c=bt(a);if(c.length<2)return c;let d=b4(a);if(0===d.length)return c;let e=new Map(c.map((a,b)=>[a,b])),f=b5(c,d,e),g=Math.max(0,b.restarts??8);for(let a=0;a<g;a++){let b=b7(c,d,a),g=b5(b1(c,b),d,e);b6(g,f)&&(f=g)}return f.order}function b9(a,b){let c=b?.ignoreCrossLaneEdges??!0,d=b?.optimizeRanksByCrossings??!0,e=bf(a),f=b?.automaticLaneOrdering?b8(e,{restarts:8}):void 0,g=bq(e),h=g.acyclic,{layering:i,graphWithDummies:j}=bQ(c?bP(h,{compactSingleInput:b?.compactSingleInput??!0,ignoreCrossLaneEdges:!0,direction:b?.direction}):bN(h,{compactSingleInput:b?.compactSingleInput??!0,ignoreCrossLaneEdges:!1,optimizeRanksByCrossings:d}),h),k=bZ(i,j,{laneOrder:f}),l=b$(k,j,{layerGap:b?.layerGap,nodeGap:b?.nodeGap,direction:b?.direction,laneOrder:f});return{acyclic:h,reversed:g.reversed,layering:i,ordered:k,coordinates:l}}function ca(a,b,c){let d=a.x??0,e=a.y??0,f=b.x-d,g=b.y-e,h=Math.abs(f),i=Math.abs(g);return h<1e-6&&i<1e-6?c:i>1e-6&&3*i>=h?g>0?"bottom":"top":h>1e-6?f>0?"right":"left":c}function cb(a,b){return 1e-6>Math.abs(a.to-b.from)||1e-6>Math.abs(a.to-b.to)?a.to:a.from}function cc(a,b){return"vertical"===a.orient?{x:a.coord,y:b}:{x:b,y:a.coord}}function cd(a,b){let c=a.nodes??[],d=a.edges??[],e=[];for(let a of d)a.isLayoutOnly||e.push({...a,__originalEdge:a});let f=new Map,h=new Map,i=[],j="LR"===b;for(let a of c)f.set(a.id,a);for(let a of c.filter(a=>a.isGroup&&!a.parentId)){let b={id:a.id},d=(0,g.K)(a=>{h.set(a.id,b),c.filter(b=>b.parentId===a.id).forEach(d)},"assignLane");d(a)}let k=c.filter(a=>!a.isGroup&&!a.isEdgeLabel).map(a=>{let b=a.width??10,c=a.height??10,d=a.x??0,e=a.y??0;return{nodeId:a.id,minX:d-b/2-8,maxX:d+b/2+8,minY:e-c/2-8,maxY:e+c/2+8,visualXHalfExtent:j?c/2+8:b/2+8}}),l=(0,g.K)((a,b,c,d)=>{let e=i.find(c=>c.orientation===a&&1>Math.abs(c.coord-b));return e||(e={id:`pipe-${a}-${b.toFixed(0)}`,orientation:a,coord:b,spanMin:c,spanMax:d,tracks:[]},i.push(e)),e.spanMin=Math.min(e.spanMin,c),e.spanMax=Math.max(e.spanMax,d),e},"getOrAddPipe"),m=(0,g.K)((a,b)=>{let c=a.width??10,d=a.height??10,e=a.x??0,f=a.y??0;switch(b){case"top":return{x:e,y:f-d/2};case"bottom":return{x:e,y:f+d/2};case"left":return{x:e-c/2,y:f};case"right":return{x:e+c/2,y:f}}},"portForSide"),n=(0,g.K)((a,b,c)=>m(a,ca(a,b,c?"bottom":"top")),"getOrthogonalPort"),o=[],p=[],q=new Set,r=(0,g.K)((a,b,c)=>{if(0===o.length)return 0;let d=1e-6>Math.abs(b.y-c.y),e=1e-6>Math.abs(b.x-c.x);if(!d&&!e)return 0;let f=0;if(d){let d=b.y,e=Math.min(b.x,c.x)-1e-6,g=Math.max(b.x,c.x)+1e-6;if(g<=e)return 0;for(let b of o)b.edgeIndex!==a&&"vertical"===b.orientation&&!(b.pipe.coord<e)&&!(b.pipe.coord>g)&&b.from-1e-6<=d&&b.to+1e-6>=d&&(f+=1e3)}else if(e){let d=b.x,e=Math.min(b.y,c.y)-1e-6,g=Math.max(b.y,c.y)+1e-6;if(g<=e)return 0;for(let b of o)b.edgeIndex!==a&&"horizontal"===b.orientation&&!(b.pipe.coord<e)&&!(b.pipe.coord>g)&&b.from-1e-6<=d&&b.to+1e-6>=d&&(f+=1e3)}return f},"crossingPenalty"),s=e.map((a,b)=>{if(!a.start||!a.end)return{idx:b,crossLane:0,dx:0,dy:0};let c=f.get(a.start),d=f.get(a.end),e=h.get(a.start),g=h.get(a.end),i=e&&g&&e.id!==g.id?1:0;return{idx:b,crossLane:i,dx:c&&d?Math.abs((d.x??0)-(c.x??0)):0,dy:c&&d?Math.abs((d.y??0)-(c.y??0)):0}}).sort((a,b)=>{if(a.crossLane!==b.crossLane)return b.crossLane-a.crossLane;let c=a.dx+a.dy,d=b.dx+b.dy;return Math.abs(c-d)>1?c-d:a.idx-b.idx}).map(a=>a.idx),t=(0,g.K)((a,b,c,d)=>{let e=Math.min(a.x,b.x),f=Math.max(a.x,b.x),g=Math.min(a.y,b.y),h=Math.max(a.y,b.y);return!!k.find(i=>(!c||i.nodeId!==c)&&(!d||i.nodeId!==d)&&(Math.abs(a.x-b.x)>1e-6?i.minY<a.y&&i.maxY>a.y&&i.maxX>e&&i.minX<f:i.minX<a.x&&i.maxX>a.x&&i.maxY>g&&i.minY<h))},"isSegmentBlocked"),u=new Map,v=new Map;for(let a of e)a.start&&a.end&&a.start!==a.end&&(v.set(a.start,(v.get(a.start)??0)+1),v.set(a.end,(v.get(a.end)??0)+1));let w=(0,g.K)((a,b)=>ca(a,b,"bottom"),"determineSide"),x=new Map;for(let[a,b]of e.entries()){if(!b.start||!b.end||b.start===b.end||b.points&&b.points.length>0)continue;let c=f.get(b.start),d=f.get(b.end);if(!c||!d)continue;let e=(d.x??0)-(c.x??0),g=(d.y??0)-(c.y??0);x.set(a,{edgeIdx:a,srcId:b.start,dstId:b.end,srcSide:w(c,{x:d.x??0,y:d.y??0}),dstSide:w(d,{x:c.x??0,y:c.y??0}),absDx:Math.abs(e),absDy:Math.abs(g),dxSign:Math.sign(e),dySign:Math.sign(g)})}let y=(0,g.K)(a=>"top"===a.srcSide||"bottom"===a.srcSide?0===a.absDx?1/0:a.absDy/a.absDx:0===a.absDy?1/0:a.absDx/a.absDy,"preferenceStrength"),z=(0,g.K)(a=>"top"===a.srcSide||"bottom"===a.srcSide?a.dxSign>=0?"right":"left":a.dySign>=0?"bottom":"top","secondarySide"),A=new Map;for(let a of x.values()){let b=`${a.srcId}:${a.srcSide}`;A.has(b)||A.set(b,[]),A.get(b).push(a)}let B=new Map,C=(0,g.K)((a,b)=>`${a}:${b}`,"loadKey");for(let a of x.values())B.set(C(a.srcId,a.srcSide),(B.get(C(a.srcId,a.srcSide))??0)+1),B.set(C(a.dstId,a.dstSide),(B.get(C(a.dstId,a.dstSide))??0)+1);for(let a of A.values())if(!(a.length<2)){a.sort((a,b)=>{let c=y(a),d=y(b);return Math.abs(c-d)>1e-9?d-c:a.edgeIdx-b.edgeIdx});for(let b=1;b<a.length;b++){let c=a[b],d=z(c),e=B.get(C(c.srcId,c.srcSide))??0,f=B.get(C(c.srcId,d))??0;f>=e||(B.set(C(c.srcId,c.srcSide),e-1),B.set(C(c.srcId,d),f+1),c.srcSide=d)}}let D=(0,g.K)(a=>{let b=a?.shape;return"question"===b||"diamond"===b},"isDiamondNode"),E=new Map;for(let a of x.values())E.has(a.dstId)||E.set(a.dstId,new Set),E.get(a.dstId).add(a.dstSide);for(let a of x.values()){if(!D(f.get(a.srcId)))continue;let b=E.get(a.srcId);if(!b?.has(a.srcSide))continue;let c=z(a);if(b.has(c)||(B.get(C(a.srcId,c))??0)>0)continue;let d=B.get(C(a.srcId,a.srcSide))??0;B.set(C(a.srcId,a.srcSide),Math.max(0,d-1)),B.set(C(a.srcId,c),1),a.srcSide=c}for(let a of x.values()){let{edgeIdx:b,srcId:c,dstId:d,srcSide:e,dstSide:g}=a,h=f.get(c),i=f.get(d),j=`${c}:${e}:src`,k="top"===e||"bottom"===e?i.x??0:i.y??0;u.has(j)||u.set(j,[]),u.get(j).push({edgeIdx:b,oppositeCoord:k});let l=`${d}:${g}:dst`,m="top"===g||"bottom"===g?h.x??0:h.y??0;u.has(l)||u.set(l,[]),u.get(l).push({edgeIdx:b,oppositeCoord:m})}let F=new Map;for(let[a,b]of u){if(b.length<2)continue;b.sort((a,b)=>a.oppositeCoord-b.oppositeCoord);let c=a.split(":"),d=c.slice(0,-2).join(":"),e=c[c.length-2],g=c[c.length-1],h=f.get(d);if(!h)continue;let i="left"===e||"right"===e?h.height??10:h.width??10,j=h.shape,k=Math.min(20,Math.max(8,("question"===j||"diamond"===j?.3*i:i)/(b.length+1))),l=-(k*(b.length-1))/2;for(let[a,c]of b.entries()){let b=l+a*k,d=`${c.edgeIdx}:${g}`;F.set(d,b)}}let G=(0,g.K)(a=>!!e[a]?.labelNodeId,"edgeHasLabelNode"),H=(0,g.K)((a,b)=>!!a&&((u.get(`${a}:${b}:src`)??[]).some(({edgeIdx:a})=>G(a))||(u.get(`${a}:${b}:dst`)??[]).some(({edgeIdx:a})=>G(a))),"faceHasLabelNode"),I=(0,g.K)((a,b,c)=>"top"===b||"bottom"===b?{x:a.x+c,y:a.y}:{x:a.x,y:a.y+c},"applyPortOffset"),J=(0,g.K)((a,b,c)=>{let d=x.get(a),e={x:c.x??0,y:c.y??0},f={x:b.x??0,y:b.y??0},g=d?.srcSide??w(b,e),h=d?.dstSide??w(c,f),i=d?m(b,d.srcSide):n(b,e,!0),j=d?m(c,d.dstSide):n(c,f,!1),k=F.get(`${a}:src`),l=F.get(`${a}:dst`);return void 0!==k&&(i=I(i,g,k)),void 0!==l&&(j=I(j,h,l)),{pSrcPort:i,pDstPort:j,srcSide:g,dstSide:h}},"portsForEdge");for(let a of s){let b=e[a];if(p[a]=[],!b.start||!b.end||b.points&&b.points.length>0||b.start===b.end)continue;let c=f.get(b.start),d=f.get(b.end);if(!c||!d)continue;let{pSrcPort:h,pDstPort:m,srcSide:n,dstSide:s}=J(a,c,d),w={...h},x={...m},y="top"===n||"bottom"===n,z="top"===s||"bottom"===s;y?w.y=h.y>(c.y??0)?h.y+20:h.y-20:w.x=h.x>(c.x??0)?h.x+20:h.x-20,z?x.y=m.y>(d.y??0)?m.y+20:m.y-20:x.x=m.x>(d.x??0)?m.x+20:m.x-20;let A=(0,g.K)((a,b)=>{for(let c of k)if(!b.includes(c.nodeId)&&a.x>c.minX&&a.x<c.maxX&&a.y>c.minY&&a.y<c.maxY)return{inside:!0,obstacle:c};return{inside:!1}},"isPointInObstacle"),B=(0,g.K)((a,b,c,d,e)=>{if(e){let e=a.y>(b.y??0);return{x:(c.x??0)>=a.x?d.maxX+15:d.minX-15,y:e?d.maxY+15:d.minY-15,leavesPositiveSide:e}}let f=a.x>(b.x??0),g=(c.y??0)>=a.y;return{x:f?d.maxX+15:d.minX-15,y:g?d.maxY+15:d.minY-15,leavesPositiveSide:f}},"obstacleDetour"),C=[],D=[b.start,b.end],E=A(w,D);if(E.inside&&E.obstacle){let a=E.obstacle;if(y){let b=B(h,c,d,a,!0);w.x=b.x,w.y=b.y;let e=b.leavesPositiveSide?Math.min(a.minY-2,h.y+20):Math.max(a.maxY+2,h.y-20);C=[{x:h.x,y:e},{x:b.x,y:e},{x:b.x,y:b.y}]}else{let b=B(h,c,d,a,!1),e=b.leavesPositiveSide?Math.min(a.minX-2,h.x+20):Math.max(a.maxX+2,h.x-20);w.x=b.x,w.y=b.y,C=[{x:e,y:h.y},{x:e,y:b.y},{x:b.x,y:b.y}]}}let G=[],I=A(x,D);if(I.inside&&I.obstacle){let a=I.obstacle;if(z){let b=B(m,d,c,a,!0);x.x=b.x,x.y=b.y,G=[{x:b.x,y:b.y},{x:m.x,y:b.y}]}else{let b=B(m,d,c,a,!1);x.x=b.x,x.y=b.y,G=[{x:b.x,y:b.y},{x:b.x,y:m.y}]}}if(0===C.length&&0===G.length){let c=15>Math.abs(w.x-x.x),d=15>Math.abs(w.y-x.y),e=void 0!==F.get(`${a}:src`)||void 0!==F.get(`${a}:dst`),f=(u.get(`${b.start??""}:${n}:src`)?.length??0)+(u.get(`${b.start??""}:${n}:dst`)?.length??0),g=(u.get(`${b.end??""}:${s}:src`)?.length??0)+(u.get(`${b.end??""}:${s}:dst`)?.length??0),i=f>1||g>1,j=v.get(b.start??"")??0,k=v.get(b.end??"")??0,l=f>1&&H(b.start,n)||g>1&&H(b.end,s),p=f<=1||j<=2,r=g<=1||k<=2,y=i&&!l&&p&&r;if((c||d)&&!e&&(!i||y)&&!t(h,m,b.start,b.end)){b.points=[{...h},{...w},{...x},{...m}],q.add(a);let c=d?"horizontal":"vertical",e=d?h.y:h.x,f=d?Math.min(h.x,m.x):Math.min(h.y,m.y),g=d?Math.max(h.x,m.x):Math.max(h.y,m.y),i={id:`fast-path-${c}-${e.toFixed(0)}-${a}`,orientation:c,coord:e,spanMin:f,spanMax:g,tracks:[]};o.push({edgeIndex:a,segmentIndex:0,orientation:c,pipe:i,trackIndex:0,from:f,to:g});continue}}let K=l("vertical",w.x,w.y,w.y);w.x=K.coord;let L=l("vertical",x.x,x.y,x.y);x.x=L.coord;let M=Math.min(w.x,x.x)-50,N=Math.max(w.x,x.x)+50,O=Math.min(w.y,x.y)-50,P=Math.max(w.y,x.y)+50;for(let a of k){let b=Math.min(w.x,x.x),c=Math.max(w.x,x.x),d=Math.min(w.y,x.y),e=Math.max(w.y,x.y);a.minX<c&&a.maxX>b&&a.minY<e&&a.maxY>d&&(M=Math.min(M,a.minX-25),N=Math.max(N,a.maxX+25),O=Math.min(O,a.minY-25),P=Math.max(P,a.maxY+25))}for(let a of k)a.maxX<M||a.minX>N||a.maxY<O||a.minY>P||(l("horizontal",a.minY-15,M,N),l("horizontal",a.maxY+15,M,N),l("vertical",a.minX-15,O,P),l("vertical",a.maxX+15,O,P));l("horizontal",w.y,M,N),l("horizontal",x.y,M,N);let Q=i.filter(a=>"horizontal"===a.orientation&&a.coord>=O&&a.coord<=P),R=i.filter(a=>"vertical"===a.orientation&&a.coord>=M&&a.coord<=N),S=(0,g.K)((a,b)=>`${a.toFixed(1)},${b.toFixed(1)}`,"getKey"),T=S(w.x,w.y),U=S(x.x,x.y),V=new Map,W=new Map,X=new Map,Y=new Set,Z=[];V.set(T,0),X.set(T,"n"),Z.push({key:T,f:Math.hypot(x.x-w.x,x.y-w.y),pt:w}),Y.add(T);let $=[],_=(0,g.K)((a,c)=>t(a,c,b.start,b.end),"checkSegmentBlocked"),aa={x:x.x,y:w.y},ab=_(w,aa),ac=_(aa,x),ad=ab||ac,ae={x:w.x,y:x.y},af=_(w,ae),ag=_(ae,x),ah=af||ag;if(ad?ah||($=1e-6>Math.abs(w.x-x.x)?[w,x]:[w,ae,x]):$=1e-6>Math.abs(w.y-x.y)||1e-6>Math.abs(w.x-x.x)?[w,x]:[w,aa,x],0===$.length)for(;Z.length>0;){Z.sort((a,b)=>a.f-b.f);let c=Z.shift();if(Y.delete(c.key),c.key===U){let a=U,b=x;for($=[b];W.has(a);){let c=W.get(a);$.unshift(c),b=c,a=S(c.x,c.y)}break}let d=c.pt.x,e=c.pt.y,f=R.sort((a,b)=>a.coord-b.coord),g=f.findIndex(a=>1>Math.abs(a.coord-d)),h=Q.sort((a,b)=>a.coord-b.coord),i=h.findIndex(a=>1>Math.abs(a.coord-e)),j=[];for(let l of(g>0&&j.push({x:f[g-1].coord,y:e}),g>=0&&g<f.length-1&&j.push({x:f[g+1].coord,y:e}),i>0&&j.push({x:d,y:h[i-1].coord}),i>=0&&i<h.length-1&&j.push({x:d,y:h[i+1].coord}),j)){let f=Math.min(d,l.x),g=Math.max(d,l.x),h=Math.min(e,l.y),i=Math.max(e,l.y);if(k.some(a=>a.nodeId!==b.start&&a.nodeId!==b.end&&(f!==g?a.minY<e&&a.maxY>e&&a.maxX>f&&a.minX<g:a.minX<d&&a.maxX>d&&a.maxY>h&&a.minY<i)))continue;let j=S(l.x,l.y),m=Math.abs(l.x-d)+Math.abs(l.y-e),n=r(a,c.pt,l),o=0,p=x.x-w.x,q=x.y-w.y,s=l.x-d,t=l.y-e;(q>10&&t<-5||q<-10&&t>5)&&(o=100*Math.abs(t)),(p>10&&s<-5||p<-10&&s>5)&&(o+=50*Math.abs(s));let u=0,v=X.get(c.key)??"n",y=Math.abs(s)>1e-6?"h":"v";"n"!==v&&v!==y&&(u=50);let z=m+n+o+u,A=(V.get(c.key)??1/0)+z,B=Math.abs(x.x-l.x)+Math.abs(x.y-l.y);if(A<(V.get(j)??1/0))if(W.set(j,c.pt),V.set(j,A),X.set(j,y),Y.has(j)){let a=Z.findIndex(a=>a.key===j);-1!==a&&(Z[a].f=A+B)}else Z.push({key:j,f:A+B,pt:l}),Y.add(j)}}if(0===$.length&&($=[w,{x:w.x,y:x.y},x]),$.length>4){let a=$[0],b=$[$.length-1],c=Math.min(a.x,b.x),d=Math.max(a.x,b.x),e=Math.min(a.y,b.y),f=Math.max(a.y,b.y);for(let a of $)c=Math.min(c,a.x),d=Math.max(d,a.x),e=Math.min(e,a.y),f=Math.max(f,a.y);let h=d>Math.max(a.x,b.x),i=c<Math.min(a.x,b.x);if(j){if(h){let c=Math.max(a.x,b.x),e=Math.min(a.y,b.y),f=Math.max(a.y,b.y),g=k.filter(a=>a.minX<c&&a.maxX>c&&a.minY<f&&a.maxY>e);if(g.length>0){let c=Math.max(a.x,b.x);for(let a of g){let b=(a.minX+a.maxX)/2;void 0===a.visualXHalfExtent||isNaN(a.visualXHalfExtent)||(c=Math.max(c,b+a.visualXHalfExtent+15))}isNaN(c)||(d=c)}}if(i){let d=k.filter(c=>c.minX<Math.min(a.x,b.x)+15&&c.minY<Math.max(a.y,b.y)&&c.maxY>Math.min(a.y,b.y));if(d.length>0){let e=Math.min(a.x,b.x);for(let a of d)e=Math.min(e,(a.minX+a.maxX)/2-a.visualXHalfExtent-15);c=e}}}let l=(0,g.K)(c=>{let d=b.y>a.y,e=k.filter(c=>{let d=Math.min(a.x,b.x)<c.maxX&&Math.max(a.x,b.x)>c.minX,e=Math.min(a.y,b.y)<c.maxY&&Math.max(a.y,b.y)>c.minY;return d&&e}),f=e;if(j&&e.length>0){let a=e.filter(a=>a.minX<c&&a.maxX>c);a.length>0&&(f=a)}if(0===f.length)return b.y;if(d){let a=Math.max(...f.map(a=>a.maxY))+15;if(a<b.y-1e-6)return a}else{let a=Math.min(...f.map(a=>a.minY))-15;if(a>b.y+1e-6)return a}return b.y},"findBestReturnY"),m=(0,g.K)(c=>{let d=l(c),e={x:c,y:a.y},f={x:c,y:d},g={x:b.x,y:d},h=_(a,e),i=_(e,f),j=_(f,g),k=d!==b.y&&_(g,b);return h||i||j||k?null:1e-6>Math.abs(d-b.y)?[a,e,f,b]:[a,e,f,g,b]},"trySimplifyWithDetourX"),n=h&&!i?m(d):i&&!h?m(c):null;n&&($=n)}let ai=[h,...C,...$,...G.reverse(),m];if(ai.length>=3){let a=ai[ai.length-1],b=ai[ai.length-2],c=ai[ai.length-3],d=1e-6>Math.abs(c.y-b.y)&&1e-6>Math.abs(b.y-a.y),e=1e-6>Math.abs(c.x-b.x)&&1e-6>Math.abs(b.x-a.x);if(d){let d=Math.sign(b.x-c.x),e=Math.sign(a.x-c.x);0!==d&&d===e&&Math.abs(b.x-c.x)>Math.abs(a.x-c.x)&&ai.splice(-2,1)}else if(e){let d=Math.sign(b.y-c.y),e=Math.sign(a.y-c.y);0!==d&&d===e&&Math.abs(b.y-c.y)>Math.abs(a.y-c.y)&&ai.splice(-2,1)}}let aj=[ai[0]];for(let a=1;a<ai.length-1;a++){if(1===a){aj.push(ai[a]);continue}let b=aj[aj.length-1],c=ai[a],d=ai[a+1];if(1e-6>Math.abs(b.y-c.y)&&1e-6>Math.abs(c.y-d.y)){c.x>b.x!=d.x>c.x&&aj.push(c);continue}if(1e-6>Math.abs(b.x-c.x)&&1e-6>Math.abs(c.x-d.x)){c.y>b.y!=d.y>c.y&&aj.push(c);continue}aj.push(c)}aj.push(ai[ai.length-1]);for(let b=0;b<aj.length-1;b++){let c=aj[b],d=aj[b+1],e=1e-6>Math.abs(c.x-d.x)?"vertical":"horizontal",f="vertical"===e?c.x:c.y,g="vertical"===e?Math.min(c.y,d.y):Math.min(c.x,d.x),h="vertical"===e?Math.max(c.y,d.y):Math.max(c.x,d.x),i=l(e,f,g,h),j={edgeIndex:a,segmentIndex:b,orientation:e,pipe:i,trackIndex:0,from:g,to:h};o.push(j),p[a].push(o.length-1),i.tracks[0]||(i.tracks[0]={index:0,coord:i.coord,segments:[]}),i.tracks[0].segments.push({edgeIndex:a,segmentIndex:b,from:g,to:h})}}let K=(0,g.K)((a,b)=>a.from<b.to&&b.from<a.to,"segmentsOverlap"),L=(0,g.K)((a,b,c,d)=>{let e=!d.segments.some(c=>(c.edgeIndex!==b.edgeIndex||c.segmentIndex!==b.segmentIndex)&&K(c,a)),f=!c.segments.some(c=>(c.edgeIndex!==a.edgeIndex||c.segmentIndex!==a.segmentIndex)&&K(c,b));return!!e&&!!f&&(a.trackIndex=d.index,b.trackIndex=c.index,c.segments=[...c.segments.filter(b=>b.edgeIndex!==a.edgeIndex||b.segmentIndex!==a.segmentIndex),{edgeIndex:b.edgeIndex,segmentIndex:b.segmentIndex,from:b.from,to:b.to}],d.segments=[...d.segments.filter(a=>a.edgeIndex!==b.edgeIndex||a.segmentIndex!==b.segmentIndex),{edgeIndex:a.edgeIndex,segmentIndex:a.segmentIndex,from:a.from,to:a.to}],!0)},"trySwapSegmentsAcrossTracks"),M=(0,g.K)(a=>{let b=a.tracks.length;return a.tracks[b]={index:b,coord:a.coord,segments:[]},b},"createNewTrack"),N=(0,g.K)((a,b)=>{let c=a.pipe.tracks[a.trackIndex];c.segments=c.segments.filter(b=>b.edgeIndex!==a.edgeIndex||b.segmentIndex!==a.segmentIndex),a.trackIndex=b,a.pipe.tracks[b].segments.push({edgeIndex:a.edgeIndex,segmentIndex:a.segmentIndex,from:a.from,to:a.to})},"moveSegmentToTrack"),O=(0,g.K)((a,b)=>{for(let c of p[a.edgeIndex]){let d=o[c];d.pipe===a.pipe&&N(d,b)}},"moveSegmentChainToTrack"),P=(0,g.K)(a=>{let b=p[a.edgeIndex],c=b.indexOf(o.indexOf(a)),d=[];return c>0&&d.push(o[b[c-1]]),c<b.length-1&&d.push(o[b[c+1]]),d},"getAdjacentSegmentsAlongEdge"),Q=(0,g.K)((a,b)=>{if(a.orientation===b.orientation)return!1;let c="horizontal"===a.orientation?a:b,d="horizontal"===a.orientation?b:a;return d.pipe.coord>c.from&&d.pipe.coord<c.to&&c.pipe.coord>d.from&&c.pipe.coord<d.to},"haveAnyCrossing"),R=(0,g.K)((a,b)=>{for(let c of a.tracks)if(!c.segments.some(a=>(a.edgeIndex!==b.edgeIndex||a.segmentIndex!==b.segmentIndex)&&K(a,b)))return c.index;return -1},"findAvailableTrack"),S=(0,g.K)((a,b)=>{if(a.trackIndex===b.trackIndex)return K(a,b);let c=P(a),d=P(b);return c.some(a=>d.some(b=>Q(a,b)))},"segmentsConflict"),T=(0,g.K)((a,b,c)=>{if(L(a,b,a.pipe.tracks[a.trackIndex],b.pipe.tracks[b.trackIndex]))return;let d=R(a.pipe,b);c(b,-1!==d?d:M(a.pipe))},"resolveTrackConflict"),U=(0,g.K)(a=>{let b=0;for(let c=0;c<a.length;c++)for(let d=c+1;d<a.length;d++){let e=a[c],f=a[d];e.pipe===f.pipe&&S(e,f)&&(b++,T(e,f,O))}return b},"resolveHandleConflicts"),V=new Map,W=(0,g.K)(a=>{if(V.has(a))return V.get(a);let b=p[a];if(0===b.length){let b={dest:0,deviation:0,base:0,delta:0};return V.set(a,b),b}let c=o[b[0]].pipe.coord,d=c;for(let a=1;a<b.length;a++){let e=o[b[a]];if("horizontal"===e.orientation){let a=e.from,b=e.to;d=Math.abs(a-c)>Math.abs(b-c)?a:b;break}}let e=Math.abs(d-c),f={dest:d,deviation:e,base:c,delta:d-c};return V.set(a,f),f},"getDestInfo"),X=(0,g.K)(()=>{let a=0,b=new Map;for(let[a,c]of e.entries())0!==p[a].length&&c.start&&(b.has(c.start)||b.set(c.start,[]),b.get(c.start).push(a));let c=(0,g.K)(a=>{let b=e[a];if(!b.start||!b.end)return 0;let c=f.get(b.start),d=f.get(b.end);return c&&d?Math.abs((d.x??0)-(c.x??0))+Math.abs((d.y??0)-(c.y??0)):0},"getEdgeDistance");for(let d of b.values())d.sort((a,b)=>{let d=W(a),e=W(b);if(Math.abs(d.deviation-e.deviation)>1)return d.deviation-e.deviation;if(Math.abs(d.dest-e.dest)>1)return d.dest-e.dest;let f=c(a),g=c(b);if(Math.abs(f-g)>1)return g-f;let h=p[a].length,i=p[b].length;if(h!==i)return h-i;if(1===h){let c=p[a][0],d=p[b][0];if(o[c]&&o[d]){let a=o[c],b=o[d],e=Math.abs(a.to-a.from),f=Math.abs(b.to-b.from);if(Math.abs(e-f)>1)return e-f}}return 0}),a+=U(d.map(a=>o[p[a][0]]));return a},"fixSourceHandleCrossings"),Y=(0,g.K)(()=>{let a=0,b=new Map;for(let[a,c]of e.entries())0!==p[a].length&&c.end&&(b.has(c.end)||b.set(c.end,[]),b.get(c.end).push(a));for(let c of b.values())c.sort((a,b)=>{let c=(0,g.K)(a=>{let b=p[a];if(b.length<2)return 0;let c=o[b[b.length-2]];return Math.abs(c.to-c.from)},"getDist"),d=c(a),e=c(b);return Math.abs(d-e)>.1?d-e:a-b}),a+=U(c.map(a=>o[p[a][p[a].length-1]]));return a},"fixTargetHandleCrossings"),Z=(0,g.K)(()=>{let a=0;for(let b of i){let c=[];for(let a of b.tracks)for(let b of a.segments){let a=p[b.edgeIndex].find(a=>o[a].segmentIndex===b.segmentIndex);void 0!==a&&c.push(o[a])}c.sort((a,b)=>a.edgeIndex-b.edgeIndex||a.segmentIndex-b.segmentIndex);for(let b=0;b<c.length;b++)for(let d=b+1;d<c.length;d++){let e=c[b],f=c[d];S(e,f)&&(a++,T(e,f,N))}}return a},"fixPipeCrossings"),$=0;for(;$<10&&0!==0+X()+Y()+Z();){;$++}let _=new Map;for(let a of i){let b=[];a.tracks.forEach(a=>{a.segments.forEach(c=>{b.push({edgeIndex:c.edgeIndex,segmentIndex:c.segmentIndex,trackIndex:a.index,from:c.from,to:c.to})})}),b.sort((a,b)=>a.from-b.from);let c=[];if(b.length>0){let a=[b[0]],d=b[0].to;for(let e=1;e<b.length;e++){let f=b[e];f.from<d?(a.push(f),d=Math.max(d,f.to)):(c.push(a),a=[f],d=f.to)}c.push(a)}for(let b of c){let c=new Set;b.forEach(a=>c.add(a.trackIndex));let d=new Map;b.forEach(a=>{let b=W(a.edgeIndex);d.set(a.trackIndex,(d.get(a.trackIndex)??0)+b.delta)});let e=[...c].filter(a=>(d.get(a)??0)<-1),f=[...c].filter(a=>(d.get(a)??0)>1),h=[...c].filter(a=>1>=Math.abs(d.get(a)??0));e.sort((a,b)=>(d.get(b)??0)-(d.get(a)??0)),f.sort((a,b)=>(d.get(a)??0)-(d.get(b)??0));let i=(0,g.K)((c,d)=>{b.filter(a=>a.trackIndex===c).forEach(b=>{let c=q.has(b.edgeIndex)?a.coord:d;_.set(`${b.edgeIndex}-${b.segmentIndex}`,c)})},"assignCoord"),j=0;for(let b of e)j++,i(b,a.coord-10*j);if(0===h.length&&c.size>0){let a=[...c].sort((a,b)=>Math.abs(d.get(a)??0)-Math.abs(d.get(b)??0))[0],b=e.indexOf(a);-1!==b&&e.splice(b,1);let g=f.indexOf(a);-1!==g&&f.splice(g,1),h.push(a)}let k=0;for(let b of h){if(0===k)i(b,a.coord);else{let c=k%2==1?1:-1,d=Math.ceil(k/2);i(b,a.coord+c*d*5)}k++}let l=0;for(let b of f)l++,i(b,a.coord+10*l)}}for(let[a,b]of e.entries()){let c=p[a]??[];if(0===c.length)continue;let d=[],{pSrcPort:e,pDstPort:g}=J(a,f.get(b.start),f.get(b.end)),h=c.map(a=>{let b=o[a],c=_.get(`${b.edgeIndex}-${b.segmentIndex}`)??b.pipe.coord;return{orient:b.orientation,coord:c,from:b.from,to:b.to}});d.push(e);for(let a=0;a<h.length;a++){let b=h[a],c=d[d.length-1],e="vertical"===b.orient?c.y:c.x,f="vertical"===b.orient?c.x:c.y,g=h[a+1],i=a<h.length-1;if(Math.abs(f-b.coord)>1e-6&&d.push(cc(b,e)),i&&g.orient===b.orient)if(Math.abs(b.coord-g.coord)>1e-6){let a="vertical"===b.orient?(e+g.from)/2:cb(b,g);d.push(cc(b,a),cc(g,a))}else(0===a||a===h.length-2)&&d.push(cc(b,cb(b,g)));else if(i)d.push(cc(b,g.coord));else{let a=Math.abs(b.from-e)<Math.abs(b.to-e)?b.to:b.from;d.push(cc(b,a))}}let i=d[d.length-1];(Math.abs(i.x-g.x)>1e-6||Math.abs(i.y-g.y)>1e-6)&&d.push(g);let j=[];d.length>0&&j.push(d[0]);for(let a=1;a<d.length;a++){let b=d[a],c=j[j.length-1];(Math.abs(b.x-c.x)>1e-6||Math.abs(b.y-c.y)>1e-6)&&j.push(b)}b.points=j}for(let a of e){let b=a.__originalEdge;b&&a.points&&(b.points=a.points)}a.edges=(a.edges??[]).filter(a=>!a.isLayoutOnly);let aa=(0,g.K)((a,b)=>{let c=b.x??0,d=b.y??0,e=b.width??0,f=b.height??0;if(e<=0||f<=0)return a;let g=c-e/2,h=c+e/2,i=d-f/2,j=d+f/2;if(a.x<g||a.x>h||a.y<i||a.y>j)return a;let k=a.x-g,l=h-a.x,m=a.y-i,n=Math.min(k,l,m,j-a.y);return n===k?{x:g,y:a.y}:n===l?{x:h,y:a.y}:n===m?{x:a.x,y:i}:{x:a.x,y:j}},"nodeBoundaryClamp");for(let b of a.edges){let a=b.points;if(!a||a.length<2)continue;let c=b.start,d=b.end,e=c?f.get(c):void 0,g=d?f.get(d):void 0;e&&(a[0]=aa(a[0],e)),g&&(a[a.length-1]=aa(a[a.length-1],g))}return a}function ce(a){return a.direction??"TB"}function cf(a){let b=B(a),c=a.config.flowchart?.nodeSpacing??40,d=a.config.flowchart?.rankSpacing??100,e=a.config.swimlane?.ignoreCrossLaneEdges??!0,f=a.config.swimlane?.optimizeRanksByCrossings??!0,g=a.config.swimlane?.automaticLaneOrdering??!1,h=ce(a),{ordered:i,coordinates:j}=b9(b,{nodeGap:c,layerGap:d,ignoreCrossLaneEdges:e,optimizeRanksByCrossings:f,automaticLaneOrdering:g,direction:h});for(let e of(C(b,i,j,{nodeGap:c,layerGap:d}),a.edges??[]))delete e.points;for(let b of(cd(a,h),a.edges??[]))b.curve&&"basis"!==b.curve||(b.curve="rounded");return be(a,h),bd(a),h}function cg(a){A(a);let b=D(a);a.nodes=b.nodes,a.edges=b.edges}(0,g.K)(bv,"buildDrivingTree"),(0,g.K)(bw,"chooseParent"),(0,g.K)(bx,"buildAdjacency"),(0,g.K)(by,"assignComponents"),(0,g.K)(bz,"computeBlocks"),(0,g.K)(bA,"popBlock"),(0,g.K)(bB,"computeSubtreeCrossCounts"),(0,g.K)(bC,"annotateMinimumLayers"),(0,g.K)(bD,"compareByRankThenId"),(0,g.K)(bE,"emitNodesInTreeOrder"),(0,g.K)(bF,"deduplicateLayers"),(0,g.K)(bG,"createChildOrderer"),(0,g.K)(bH,"buildMultitreeLayerOrder"),(0,g.K)(bI,"countCrossingsBetweenAdjacent"),(0,g.K)(bJ,"totalCrossings"),(0,g.K)(bK,"optimizeRanksByCrossings"),(0,g.K)(bL,"adjustCrossLaneSources"),(0,g.K)(bM,"assignLayers_LongestPath"),(0,g.K)(bN,"assignLayers_Gravity"),(0,g.K)(bO,"topoSortByGenerationIfAcyclic"),(0,g.K)(bP,"assignLayers_LaneAwareCompact"),(0,g.K)(bQ,"makeProperLayering"),(0,g.K)(bR,"median"),(0,g.K)(bS,"barycenter"),(0,g.K)(bT,"neighborPositionsFor"),(0,g.K)(bU,"currentOrderTieBreak"),(0,g.K)(bV,"countCrossingsBetweenAdjacent"),(0,g.K)(bW,"sortByHeuristic"),(0,g.K)(bX,"reorderLayer"),(0,g.K)(bY,"transposeImprove"),(0,g.K)(bZ,"orderLayers"),(0,g.K)(b$,"assignCoordinates"),(0,g.K)(b_,"hashString"),(0,g.K)(b0,"mulberry32"),(0,g.K)(b1,"deterministicShuffle"),(0,g.K)(b2,"sourceDistance"),(0,g.K)(b3,"laneArrangementCost"),(0,g.K)(b4,"buildWeightedLaneEdges"),(0,g.K)(b5,"greedySwitch"),(0,g.K)(b6,"isBetterCandidate"),(0,g.K)(b7,"seedForRestart"),(0,g.K)(b8,"optimizeTopLaneOrder"),(0,g.K)(b9,"sugiyamaLayout"),(0,g.K)(ca,"chooseOrthogonalSide"),(0,g.K)(cb,"sharedLineEndpointCoord"),(0,g.K)(cc,"pointOnLine"),(0,g.K)(cd,"routeEdgesOrthogonal"),(0,g.K)(ce,"getSwimlaneDirection"),(0,g.K)(cf,"runSwimlaneLayoutCore"),(0,g.K)(cg,"prepareSwimlaneLayout");var ch=(0,d.xY)({prepareLayout:cg,runLayoutCore:cf,afterPaint:w})}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=9926,exports.ids=[9926],exports.modules={79926:(a,b,c)=>{c.d(b,{diagram:()=>f});var d=c(66823);c(23464),c(30917),c(17822),c(51467),c(79440),c(48514),c(50396),c(38847),c(45037),c(69579),c(30492),c(29179),c(34950),c(12644),c(58715);var e=c(95097),f={parser:d._$,get db(){return new d.NM},renderer:d.Lh,styles:d.tM,init:(0,e.K)(a=>{a.class||(a.class={}),a.class.arrowMarkerAbsolute=a.arrowMarkerAbsolute},"init")}}};
@@ -0,0 +1,8 @@
1
+ exports.id=9984,exports.ids=[9984],exports.modules={9796:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/menda0/Projects/taskmark/taskmark-frontend/components/theme-provider.tsx","ThemeProvider")},17305:(a,b,c)=>{"use strict";c.d(b,{cn:()=>f});var d=c(89356),e=c(16184);function f(...a){return(0,e.QP)((0,d.$)(a))}},18836:(a,b,c)=>{"use strict";c.d(b,{Ku:()=>f,NT:()=>d,UW:()=>i,_7:()=>h,a4:()=>e,pZ:()=>g});let d="taskmark_master_folder",e="taskmark_master_folders",f="taskmark_active_project",g={epics:"taskmark_hide_completed_epics",stories:"taskmark_hide_completed_stories",tasks:"taskmark_hide_completed_tasks",overallWorkItems:"taskmark_hide_completed_overall_work_items",workItems:"taskmark_hide_completed_work_items"},h=3,i=new Set(["node_modules",".git",".next",".turbo",".cache","dist","build","coverage","out","vendor"])},23302:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81921,23))},24925:(a,b,c)=>{"use strict";c.d(b,{C:()=>h,o:()=>g});var d=c(74794),e=c(99405),f=c(81788);function g(a){let b=[];for(let c of a){let a=(0,f.N)(c);a.ok&&b.push(a.masterPath)}let c=(0,e.tb)(b);return{masters:b,projects:c,source:"cookies",autoconfig:!1}}function h(a){let b=(0,d.resolveAutoconfigWorkspace)();return b&&b.projects.length>0?{masters:b.masters,projects:b.projects,source:b.source,autoconfig:!0}:g(a)}},26284:(a,b,c)=>{"use strict";c.d(b,{$:()=>i,r:()=>h});var d=c(48249),e=c(15712),f=c(21654),g=c(33191);let h=(0,f.F)((0,g.cn)("group/button font-head font-medium inline-flex cursor-pointer items-center justify-center gap-2 rounded whitespace-nowrap select-none transition-all duration-200","disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-60","focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary aria-invalid:border-destructive","[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"),{variants:{variant:{default:"border-2 border-black bg-primary text-primary-foreground shadow-md transition duration-200 hover:translate-y-1 hover:bg-primary-hover hover:shadow active:translate-x-1 active:translate-y-2 active:shadow-none",secondary:"border-2 border-black bg-secondary text-secondary-foreground shadow-md transition duration-200 hover:translate-y-1 hover:bg-secondary-hover hover:shadow active:translate-x-1 active:translate-y-2 active:shadow-none",destructive:"border-2 border-black bg-destructive text-destructive-foreground shadow-md transition duration-200 hover:translate-y-1 hover:bg-destructive/90 hover:shadow active:translate-x-1 active:translate-y-2 active:shadow-none",outline:"border-2 bg-transparent shadow-md transition duration-200 hover:translate-y-1 hover:shadow active:translate-x-1 active:translate-y-2 active:shadow-none",ghost:"bg-transparent hover:bg-accent",link:"bg-transparent hover:underline"},size:{default:"px-4 py-1.5 text-base",xs:"px-2 py-0.5 text-xs",sm:"px-3 py-1 text-sm",lg:"px-6 py-2 text-base lg:px-8 lg:py-3 lg:text-lg",icon:"p-2","icon-xs":"p-1","icon-sm":"p-1.5","icon-lg":"p-3"}},defaultVariants:{variant:"default",size:"default"}});function i({className:a,variant:b="default",size:c="default",...f}){return(0,d.jsx)(e.$,{"data-slot":"button","data-variant":b,"data-size":c,className:(0,g.cn)(h({variant:b,size:c,className:a})),...f})}},28715:(a,b,c)=>{"use strict";function d(){return"1"===process.env.NEXT_PUBLIC_TASKMARK_STATIC||"1"===process.env.TASKMARK_STATIC}c.d(b,{Z:()=>d})},33191:(a,b,c)=>{"use strict";c.d(b,{cn:()=>f});var d=c(99314),e=c(96862);function f(...a){return(0,e.QP)((0,d.$)(a))}},35675:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>h});var d=c(48249),e=c(67484),f=c(8696);function g(){let{theme:a}=(0,f.D)();return e.useEffect(()=>{let b=function(a){if("light"===a||"dark"===a)return a}(a);b&&function(a){if("u"<typeof document)return;let b=[`taskmark_theme=${a}`,"path=/","max-age=31536000","SameSite=Lax"],c=function(a){if("taskmark.dev"===a||a.endsWith(".taskmark.dev"))return".taskmark.dev"}(window.location.hostname);c&&b.push(`domain=${c}`),"https:"===window.location.protocol&&b.push("Secure"),document.cookie=b.join("; ")}(b)},[a]),null}function h({children:a,...b}){return(0,d.jsxs)(f.N,{attribute:"class",defaultTheme:"system",enableSystem:!0,disableTransitionOnChange:!0,storageKey:"taskmark_theme",...b,children:[(0,d.jsx)(g,{}),a]})}},44365:(a,b,c)=>{Promise.resolve().then(c.bind(c,66623)),Promise.resolve().then(c.bind(c,35675)),Promise.resolve().then(c.bind(c,99703)),Promise.resolve().then(c.t.bind(c,90929,23))},46055:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(88868);let e=async a=>[{type:"image/x-icon",sizes:"16x16",url:(0,d.fillMetadataSegment)(".",await a.params,"favicon.ico",!0)+"?603d046c9a6fdfbb"}]},52929:(a,b,c)=>{"use strict";c.d(b,{BoardDevReloader:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call BoardDevReloader() from the server but BoardDevReloader is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/menda0/Projects/taskmark/taskmark-frontend/components/board/board-dev-reloader.tsx","BoardDevReloader")},52940:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81921,23)),Promise.resolve().then(c.t.bind(c,60440,23)),Promise.resolve().then(c.t.bind(c,84342,23)),Promise.resolve().then(c.t.bind(c,82265,23)),Promise.resolve().then(c.t.bind(c,35421,23)),Promise.resolve().then(c.t.bind(c,61335,23)),Promise.resolve().then(c.t.bind(c,70664,23)),Promise.resolve().then(c.bind(c,74661))},53641:(a,b,c)=>{"use strict";c.d(b,{c7:()=>p,tb:()=>q,PG:()=>n,NB:()=>o});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(18836);function i(a){return a.endsWith("-taskmark")}function j(a){let b=g().resolve(a);return i(g().basename(b))?b:g().dirname(b)}function k(a){return e().existsSync(g().join(a,"epics"))}function l(a){let b=g().join(a,"taskmark");try{if(!e().statSync(b).isDirectory())return null}catch{return null}return k(b)?b:null}function m(a){if(!i(g().basename(a)))return null;try{if(!e().statSync(a).isDirectory())return null}catch{return null}return k(a)?a:null}function n(a){let b=g().resolve(a);try{if(!e().statSync(b).isDirectory())return null}catch{return null}let c=m(b);if(c)return c;let d=l(b);return d||(k(b)?b:null)}function o(a){let b=function(a){let b=g().resolve(a);try{return e().realpathSync(b)}catch{return b}}(a);return{id:b,name:g().basename(j(b)),projectPath:j(b),boardPath:b}}function p(a,b=h._7){let c=g().resolve(a),d=new Map;return!function a(c,f){var i;let j,k=m(c)??l(c);if(k){let a=o(k);d.set(a.id,a);return}if(!(f>=b)){try{j=e().readdirSync(c,{withFileTypes:!0})}catch{return}for(let b of j)b.isDirectory()&&(i=b.name,!(h.UW.has(i)||i.startsWith("."))&&1&&a(g().join(c,b.name),f+1))}}(c,0),[...d.values()].sort((a,b)=>a.name.localeCompare(b.name))}function q(a){let b=new Map;for(let c of a)for(let a of p(c))b.set(a.id,a);return[...b.values()].sort((a,b)=>a.name.localeCompare(b.name))}},61132:(a,b,c)=>{"use strict";c.d(b,{xS:()=>t,ap:()=>s,RM:()=>q,HH:()=>v,yJ:()=>r,s3:()=>u});var d=c(95349),e=c(49487),f=c(42650),g=c(71324),h=c(31421);let i=(0,c(57975).promisify)(h.execFile);function j(a){return a.length>1&&(a.endsWith("/")||a.endsWith("\\"))?a.slice(0,-1):a}async function k(){try{let{stdout:a}=await i("osascript",["-e",'POSIX path of (choose folder with prompt "Select Taskmark master folder")'],{timeout:12e4}),b=j(a.trim());if(!b)return{ok:!1,cancelled:!0};return{ok:!0,path:b}}catch(b){let a=b instanceof Error?b.message:String(b);if(a.includes("User canceled")||a.includes("User cancelled")||a.includes("-128")||b&&"object"==typeof b&&"stderr"in b&&String(b.stderr).includes("-128"))return{ok:!1,cancelled:!0};return{ok:!1,cancelled:!1,error:`Folder picker failed: ${a}`}}}async function l(){try{let{stdout:a}=await i("zenity",["--file-selection","--directory","--title=Select Taskmark master folder"],{timeout:12e4}),b=j(a.trim());if(!b)return{ok:!1,cancelled:!0};return{ok:!0,path:b}}catch(b){if(1===(b&&"object"==typeof b&&"code"in b?b.code:void 0))return{ok:!1,cancelled:!0};let a=b instanceof Error?b.message:String(b);if(a.includes("ENOENT"))return{ok:!1,cancelled:!1,error:"Folder picker needs zenity on Linux, or paste a path instead."};return{ok:!1,cancelled:!1,error:`Folder picker failed: ${a}`}}}async function m(){let a=`
2
+ Add-Type -AssemblyName System.Windows.Forms
3
+ $dialog = New-Object System.Windows.Forms.FolderBrowserDialog
4
+ $dialog.Description = 'Select Taskmark master folder'
5
+ $dialog.ShowNewFolderButton = $false
6
+ if ($dialog.ShowDialog() -ne [System.Windows.Forms.DialogResult]::OK) { exit 1 }
7
+ Write-Output $dialog.SelectedPath
8
+ `;try{let{stdout:b}=await i("powershell.exe",["-NoProfile","-Command",a],{timeout:12e4}),c=j(b.trim());if(!c)return{ok:!1,cancelled:!0};return{ok:!0,path:c}}catch(b){if(1===(b&&"object"==typeof b&&"code"in b?b.code:void 0))return{ok:!1,cancelled:!0};let a=b instanceof Error?b.message:String(b);return{ok:!1,cancelled:!1,error:`Folder picker failed: ${a}`}}}async function n(){switch(process.platform){case"darwin":return k();case"win32":return m();case"linux":return l();default:return{ok:!1,cancelled:!1,error:`Folder picker is not supported on ${process.platform}. Paste a path instead.`}}}var o=c(24925),p=c(81788);async function q(a,b){let c=String(b.get("masterPath")??""),d=(0,p.N)(c);return d.ok?{masterPath:d.masterPath,projects:d.projects}:{error:d.error}}async function r(a,b){let c=String(b.get("masterPath")??""),d=(0,p.N)(c);if(!d.ok)return{error:d.error};await (0,g.mY)(d.masterPath);let f=await (0,g.ek)(),h=(0,o.o)(f),i=d.projects[0],j=h.projects.find(a=>a.id===i?.id)??h.projects[0];j&&await (0,g.CS)(j.id),(0,e.redirect)("/")}async function s(){let a=await n();return a.ok?{path:a.path}:a.cancelled?{}:{error:a.error}}async function t(){let{resolveAutoconfigWorkspace:a}=await Promise.resolve().then(c.bind(c,74794));a()?.projects.length&&(0,e.redirect)("/"),(0,e.redirect)("/setup?mode=add")}async function u(a){let b=String(a.get("projectId")??"").trim();b&&(await (0,g.CS)(b),(0,f.revalidatePath)("/"),(0,e.redirect)("/"))}async function v(){let{clearMasterFoldersCookie:a}=await Promise.resolve().then(c.bind(c,71324));await a(),await (0,g.df)(),(0,e.redirect)("/setup")}(0,c(89337).D)([q,r,s,t,u,v]),(0,d.A)(q,"60fc35e9e521c3a78cadf92e25212185983074de35",null),(0,d.A)(r,"6081a8fbc9ac5b6fc39063487c96b1467195bf08c8",null),(0,d.A)(s,"00566f9a020d2e9c02bf15aa919f880c0e2a476cfc",null),(0,d.A)(t,"006839ae44e9ea0886604d7db5c62e5da636d150c9",null),(0,d.A)(u,"40667a83a15b7200835fa0a354a23e32226b9bb943",null),(0,d.A)(v,"0014966349e518123f1fb8f15ae9207d9422ed4dd3",null)},61189:(a,b,c)=>{"use strict";c.d(b,{Ku:()=>f,NT:()=>d,UW:()=>k,XD:()=>h,_7:()=>j,a4:()=>e,qv:()=>g,rt:()=>i});let d="taskmark_master_folder",e="taskmark_master_folders",f="taskmark_active_project",g=31536e3,h=31536e3,i=31536e3,j=3,k=new Set(["node_modules",".git",".next",".turbo",".cache","dist","build","coverage","out","vendor"])},64034:(a,b,c)=>{"use strict";c.d(b,{BT:()=>i,Wu:()=>k,X9:()=>j,ZB:()=>h,Zp:()=>f,aR:()=>g,wL:()=>l});var d=c(48249);c(67484);var e=c(33191);function f({className:a,size:b="default",...c}){return(0,d.jsx)("div",{"data-slot":"card","data-size":b,className:(0,e.cn)("group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded border-2 bg-card py-(--card-spacing) text-sm text-card-foreground shadow-md [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",a),...c})}function g({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-header",className:(0,e.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)",a),...b})}function h({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-title",className:(0,e.cn)("text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",a),...b})}function i({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-description",className:(0,e.cn)("text-sm text-muted-foreground",a),...b})}function j({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-action",className:(0,e.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",a),...b})}function k({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-content",className:(0,e.cn)("px-(--card-spacing)",a),...b})}function l({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-footer",className:(0,e.cn)("flex items-center rounded-b-xl border-t-2 bg-muted/50 p-(--card-spacing)",a),...b})}},66092:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,95547,23)),Promise.resolve().then(c.t.bind(c,15098,23)),Promise.resolve().then(c.t.bind(c,47644,23)),Promise.resolve().then(c.t.bind(c,33859,23)),Promise.resolve().then(c.t.bind(c,98099,23)),Promise.resolve().then(c.t.bind(c,16237,23)),Promise.resolve().then(c.t.bind(c,98562,23)),Promise.resolve().then(c.t.bind(c,36675,23))},66623:(a,b,c)=>{"use strict";c.d(b,{BoardDevReloader:()=>f});var d=c(19099),e=c(67484);function f(){return(0,d.useRouter)(),(0,e.useRef)(0),null}},69949:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>r,metadata:()=>q,viewport:()=>p});var d=c(5735),e=c(29760),f=c.n(e),g=c(97931),h=c.n(g),i=c(93968),j=c(52929),k=c(9796),l=c(85561);let m={url:(process.env.NEXT_PUBLIC_SITE_URL||(process.env.VERCEL_URL?`https://${process.env.VERCEL_URL}`:null)||"https://taskmark.dev").replace(/\/$/,"")},n=`(function(){try{var n=${JSON.stringify("taskmark_theme")};var k=${JSON.stringify("taskmark_theme")};var m=document.cookie.match(new RegExp("(?:^|; )"+n+"=([^;]*)"));var stored=m?decodeURIComponent(m[1]):null;function ok(v){return v==="light"||v==="dark"}if(!ok(stored)){stored=null;try{stored=localStorage.getItem(k);if(!ok(stored))stored=localStorage.getItem("theme")}catch(e){stored=null}if(!ok(stored))stored=null}if(ok(stored)){try{localStorage.setItem(k,stored)}catch(e){}}var dark=stored==="dark"||(stored!=="light"&&window.matchMedia("(prefers-color-scheme: dark)").matches);document.documentElement.classList.toggle("dark",dark);document.documentElement.style.colorScheme=dark?"dark":"light"}catch(e){}})();`;c(82704);let o="Taskmark — product memory for agent work. Local markdown boards for Cursor with static sizing and work logs.",p={themeColor:"#111111"},q={metadataBase:new URL(m.url),applicationName:"Taskmark",title:{default:"Taskmark",template:"%s \xb7 Taskmark"},description:o,icons:{icon:[{url:"/favicon.ico",sizes:"any"},{url:"/favicon.svg",type:"image/svg+xml"},{url:"/favicon-96x96.png",sizes:"96x96",type:"image/png"}],apple:[{url:"/apple-touch-icon.png",sizes:"180x180"}]},manifest:"/site.webmanifest",openGraph:{type:"website",locale:"en_US",url:m.url,siteName:"Taskmark",title:"Taskmark",description:o,images:[{url:"/og/og-default.png",width:1200,height:630,alt:"Taskmark — product memory for agent work"}]},twitter:{card:"summary_large_image",title:"Taskmark",description:o,images:["/og/og-default.png"]},robots:{index:!0,follow:!0}};function r({children:a}){return(0,d.jsx)("html",{lang:"en",suppressHydrationWarning:!0,children:(0,d.jsxs)("body",{className:`${f().variable} ${h().variable} font-sans antialiased`,children:[(0,d.jsx)(i.default,{id:"taskmark-theme-init",strategy:"beforeInteractive",dangerouslySetInnerHTML:{__html:n}}),(0,d.jsxs)(k.ThemeProvider,{children:[(0,d.jsx)(l.Toaster,{}),(0,d.jsx)(j.BoardDevReloader,{}),a]})]})})}},71324:(a,b,c)=>{"use strict";c.d(b,{mY:()=>k,df:()=>o,clearMasterFoldersCookie:()=>l,KQ:()=>m,ek:()=>i,CS:()=>n});var d=c(36042),e=c(61189);function f(){return"1"===process.env.NEXT_PUBLIC_TASKMARK_STATIC||"1"===process.env.TASKMARK_STATIC}async function g(a){if(f())return null;let b=await (0,d.UL)(),c=b.get(a)?.value;if(!c)return null;try{return decodeURIComponent(c)}catch{return c}}function h(a){return encodeURIComponent(a)}async function i(){let a=await g(e.a4);if(a)try{let b=JSON.parse(a);if(Array.isArray(b))return[...new Set(b.filter(a=>"string"==typeof a).map(a=>a.trim()).filter(Boolean))]}catch{}let b=await g(e.NT);return b?.trim()?[b.trim()]:[]}async function j(a){if(f())return;let b=[...new Set(a.map(a=>a.trim()).filter(Boolean))],c=await (0,d.UL)();c.set(e.a4,h(JSON.stringify(b)),{path:"/",maxAge:e.XD,sameSite:"lax",httpOnly:!0}),b.length>0?c.set(e.NT,h(b[b.length-1]),{path:"/",maxAge:e.qv,sameSite:"lax",httpOnly:!0}):c.delete(e.NT)}async function k(a){let b=[...await i()];return b.includes(a)||b.push(a),await j(b),b}async function l(){if(f())return;let a=await (0,d.UL)();a.delete(e.a4),a.delete(e.NT)}async function m(){return g(e.Ku)}async function n(a){f()||(await (0,d.UL)()).set(e.Ku,h(a),{path:"/",maxAge:e.rt,sameSite:"lax",httpOnly:!0})}async function o(){f()||(await (0,d.UL)()).delete(e.Ku)}},74794:(a,b,c)=>{"use strict";c.d(b,{resolveAutoconfigWorkspace:()=>l});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(99405);function i(a){let b=process.env[a];return b&&b.trim()?g().resolve(b.trim()):null}function j(a,b){let c=(0,h.NB)(a);return{source:b,singleProject:!0,masters:[c.projectPath],projects:[c]}}function k(){let a=[],b=new Set;for(let c of[process.env.TASKMARK_CWD,process.env.INIT_CWD,process.cwd()]){if(!c||!c.trim())continue;let d=g().resolve(c.trim());try{let c=e().realpathSync(d);if(b.has(c))continue;b.add(c),a.push(c)}catch{if(b.has(d))continue;b.add(d),a.push(d)}}return a}function l(){let a;if("1"===(a=process.env.TASKMARK_WORKSPACE?.trim().toLowerCase())||"true"===a)return null;let b=i("TASKMARK_BOARD");if(b){let a=(0,h.PG)(b);if(a)return j(a,"env_board");console.warn(`[taskmark] TASKMARK_BOARD is set but is not a valid board path: ${b}`)}let c=i("TASKMARK_MASTER");if(c){let a=function(a,b){let c;try{c=(0,h.c7)(a)}catch{return null}return 0===c.length?null:{source:b,singleProject:1===c.length,masters:[g().resolve(a)],projects:c}}(c,"env_master");if(a)return a;console.warn(`[taskmark] TASKMARK_MASTER is set but no Taskmark boards were found: ${c}`)}for(let a of k()){let b=(0,h.PG)(a);if(b)return j(b,"cwd")}for(let a of k()){let b=function(a){let b,c=g().resolve(a),d=g().dirname(c),f=g().basename(d),i=g().join(d,`${f}-taskmark`),j=(0,h.PG)(i);if(j)return j;try{b=e().readdirSync(d,{withFileTypes:!0})}catch{return null}let k=[];for(let a of b){if(!a.isDirectory()||!a.name.endsWith("-taskmark"))continue;let b=(0,h.PG)(g().join(d,a.name));b&&k.push(b)}if(0===k.length)return null;if(1===k.length)return k[0];let l=g().basename(c).split("-").filter(Boolean);for(let a=l.length-1;a>=1;a--){let b=l.slice(0,a).join("-"),c=k.find(a=>g().basename(a)===`${b}-taskmark`);if(c)return c}return null}(a);if(b)return j(b,"sibling")}return null}},75220:(a,b,c)=>{"use strict";c.d(b,{Xs:()=>l,nu:()=>m});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(53641),i=c(89470);function j(a){let b=process.env[a];return b&&b.trim()?g().resolve(b.trim()):null}function k(a,b){let c=(0,h.NB)(a);return{source:b,singleProject:!0,masters:[c.projectPath],projects:[c]}}function l(){let a=[],b=new Set;for(let c of[process.env.TASKMARK_CWD,process.env.INIT_CWD,process.cwd()]){if(!c||!c.trim())continue;let d=g().resolve(c.trim());try{let c=e().realpathSync(d);if(b.has(c))continue;b.add(c),a.push(c)}catch{if(b.has(d))continue;b.add(d),a.push(d)}}return a}function m(){if((0,i.h)())return null;let a=j("TASKMARK_BOARD");if(a){let b=(0,h.PG)(a);if(b)return k(b,"env_board");console.warn(`[taskmark] TASKMARK_BOARD is set but is not a valid board path: ${a}`)}let b=j("TASKMARK_MASTER");if(b){let a=function(a,b){let c;try{c=(0,h.c7)(a)}catch{return null}return 0===c.length?null:{source:b,singleProject:1===c.length,masters:[g().resolve(a)],projects:c}}(b,"env_master");if(a)return a;console.warn(`[taskmark] TASKMARK_MASTER is set but no Taskmark boards were found: ${b}`)}for(let a of l()){let b=(0,h.PG)(a);if(b)return k(b,"cwd")}for(let a of l()){let b=function(a){let b,c=g().resolve(a),d=g().dirname(c),f=g().basename(d),i=g().join(d,`${f}-taskmark`),j=(0,h.PG)(i);if(j)return j;try{b=e().readdirSync(d,{withFileTypes:!0})}catch{return null}let k=[];for(let a of b){if(!a.isDirectory()||!a.name.endsWith("-taskmark"))continue;let b=(0,h.PG)(g().join(d,a.name));b&&k.push(b)}if(0===k.length)return null;if(1===k.length)return k[0];let l=g().basename(c).split("-").filter(Boolean);for(let a=l.length-1;a>=1;a--){let b=l.slice(0,a).join("-"),c=k.find(a=>g().basename(a)===`${b}-taskmark`);if(c)return c}return null}(a);if(b)return k(b,"sibling")}return null}},76692:(a,b,c)=>{"use strict";c.d(b,{KQ:()=>j,nG:()=>k,ek:()=>i});var d=c(65573),e=c(18836);function f(a){return"1"===a||"true"===a}var g=c(28715);async function h(a){if((0,g.Z)())return null;let b=await (0,d.UL)(),c=b.get(a)?.value;if(!c)return null;try{return decodeURIComponent(c)}catch{return c}}async function i(){let a=await h(e.a4);if(a)try{let b=JSON.parse(a);if(Array.isArray(b))return[...new Set(b.filter(a=>"string"==typeof a).map(a=>a.trim()).filter(Boolean))]}catch{}let b=await h(e.NT);return b?.trim()?[b.trim()]:[]}async function j(){return h(e.Ku)}async function k(){if((0,g.Z)())return{epics:!1,stories:!1,tasks:!1,overallWorkItems:!1,workItems:!1};let a=await (0,d.UL)();return{epics:f(a.get(e.pZ.epics)?.value),stories:f(a.get(e.pZ.stories)?.value),tasks:f(a.get(e.pZ.tasks)?.value),overallWorkItems:f(a.get(e.pZ.overallWorkItems)?.value),workItems:f(a.get(e.pZ.workItems)?.value)}}},78335:()=>{},81788:(a,b,c)=>{"use strict";c.d(b,{N:()=>i});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(99405);function i(a){let b,c,d=a.trim();if(!d)return{ok:!1,code:"empty",error:"Enter a master folder path."};let f=g().resolve(d);try{b=e().statSync(f)}catch(a){if("ENOENT"===(a&&"object"==typeof a&&"code"in a?String(a.code):""))return{ok:!1,code:"not_found",error:"Folder not found. Check the path and try again."};return{ok:!1,code:"unreadable",error:"Cannot read that folder. Check permissions and try again."}}if(!b.isDirectory())return{ok:!1,code:"not_directory",error:"That path is not a folder."};try{c=(0,h.c7)(f)}catch{return{ok:!1,code:"unreadable",error:"Cannot scan that folder. Check permissions and try again."}}return 0===c.length?{ok:!1,code:"no_projects",error:"No Taskmark projects found in subfolders. Look for a nested taskmark/epics/ board, or a dedicated *-taskmark folder with epics/ at its root."}:{ok:!0,masterPath:f,projects:c}}},82704:()=>{},83134:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,95547,23))},85561:(a,b,c)=>{"use strict";c.d(b,{Toaster:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/menda0/Projects/taskmark/taskmark-frontend/components/ui/sonner.tsx","Toaster")},89470:(a,b,c)=>{"use strict";c.d(b,{N:()=>g,h:()=>f});var d=c(76760),e=c.n(d);function f(){let a=process.env.TASKMARK_WORKSPACE?.trim().toLowerCase();return"1"===a||"true"===a}function g(){for(let a of[process.env.TASKMARK_WORKSPACE_ROOT,process.env.INIT_CWD])if(a&&a.trim())return e().resolve(a.trim());return""}},96487:()=>{},97101:(a,b,c)=>{Promise.resolve().then(c.bind(c,52929)),Promise.resolve().then(c.bind(c,9796)),Promise.resolve().then(c.bind(c,85561)),Promise.resolve().then(c.t.bind(c,33071,23))},99405:(a,b,c)=>{"use strict";c.d(b,{c7:()=>p,tb:()=>q,PG:()=>n,NB:()=>o});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(61189);function i(a){return a.endsWith("-taskmark")}function j(a){let b=g().resolve(a);return i(g().basename(b))?b:g().dirname(b)}function k(a){return e().existsSync(g().join(a,"epics"))}function l(a){let b=g().join(a,"taskmark");try{if(!e().statSync(b).isDirectory())return null}catch{return null}return k(b)?b:null}function m(a){if(!i(g().basename(a)))return null;try{if(!e().statSync(a).isDirectory())return null}catch{return null}return k(a)?a:null}function n(a){let b=g().resolve(a);try{if(!e().statSync(b).isDirectory())return null}catch{return null}let c=m(b);if(c)return c;let d=l(b);return d||(k(b)?b:null)}function o(a){let b=function(a){let b=g().resolve(a);try{return e().realpathSync(b)}catch{return b}}(a);return{id:b,name:g().basename(j(b)),projectPath:j(b),boardPath:b}}function p(a,b=h._7){let c=g().resolve(a),d=new Map;return!function a(c,f){var i;let j,k=m(c)??l(c);if(k){let a=o(k);d.set(a.id,a);return}if(!(f>=b)){try{j=e().readdirSync(c,{withFileTypes:!0})}catch{return}for(let b of j)b.isDirectory()&&(i=b.name,!(h.UW.has(i)||i.startsWith("."))&&1&&a(g().join(c,b.name),f+1))}}(c,0),[...d.values()].sort((a,b)=>a.name.localeCompare(b.name))}function q(a){let b=new Map;for(let c of a)for(let a of p(c))b.set(a.id,a);return[...b.values()].sort((a,b)=>a.name.localeCompare(b.name))}},99703:(a,b,c)=>{"use strict";c.d(b,{Toaster:()=>l});var d=c(48249),e=c(99646),f=c(77265),g=c(34460),h=c(49393),i=c(69357),j=c(8696),k=c(90707);let l=({...a})=>{let{resolvedTheme:b}=(0,j.D)();return(0,d.jsx)(k.l$,{theme:"dark"===b?"dark":"light",className:"toaster group",icons:{success:(0,d.jsx)(e.A,{className:"size-4"}),info:(0,d.jsx)(f.A,{className:"size-4"}),warning:(0,d.jsx)(g.A,{className:"size-4"}),error:(0,d.jsx)(h.A,{className:"size-4"}),loading:(0,d.jsx)(i.A,{className:"size-4 animate-spin"})},toastOptions:{unstyled:!0,classNames:{toast:"group/toast relative flex w-(--width) items-center gap-3 rounded border-2 border-border bg-popover p-4 font-sans text-popover-foreground shadow-md",content:"flex min-w-0 flex-col gap-0.5",title:"font-head text-sm font-medium",description:"text-sm text-muted-foreground",icon:"shrink-0",actionButton:"ms-auto h-fit min-w-fit shrink-0 rounded border-2 border-border bg-primary px-2 py-1 text-xs font-medium text-primary-foreground shadow-sm transition-all duration-200 hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none",cancelButton:"ms-auto h-fit min-w-fit shrink-0 rounded border-2 border-border bg-muted px-2 py-1 text-xs font-medium text-foreground shadow-sm transition-all duration-200 hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none",closeButton:"absolute -top-2 -start-2 rounded-full border-2 border-border bg-background p-0.5 transition-colors hover:bg-muted",success:"[&_[data-icon]]:text-chart-2",warning:"[&_[data-icon]]:text-chart-1",error:"[&_[data-icon]]:text-destructive"}},...a})}}};
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/sAWr5ATVuqk6Wqs18kAWs/_buildManifest.js","static/sAWr5ATVuqk6Wqs18kAWs/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-bfe8992962004e2b.js","static/chunks/4bd1b696-deb4a0a1da1923b0.js","static/chunks/794-25668765560cb197.js","static/chunks/main-app-bfb36455d24b3e5a.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/EI1zQaa_kQ7DqUSE4o3Qo/_buildManifest.js","static/EI1zQaa_kQ7DqUSE4o3Qo/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-713747aaa9716c4c.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-c66b3d8325973459.js","static/chunks/main-app-dd26d4f9d120646e.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
@@ -1 +1 @@
1
- self.__REACT_LOADABLE_MANIFEST='{"components/board/work-item-sheet.tsx -> @/app/board/actions":{"id":94051,"files":["static/chunks/51.e9139a9ea6eb36b9.js"]}}';
1
+ self.__REACT_LOADABLE_MANIFEST='{"components/board/mermaid-diagram.tsx -> mermaid":{"id":43328,"files":["static/chunks/26d302b2.9f6383e42abdfe16.js","static/chunks/ea233666.f00b64a7d99b4950.js","static/chunks/3308.30b95d524f9c1daf.js"]},"components/board/work-item-sheet.tsx -> @/app/board/actions":{"id":19909,"files":["static/chunks/9909.67cf9940b125243b.js"]},"node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/architecture-7GRP2DOG.mjs":{"id":84263,"files":["static/chunks/4263.ffa8d9bd8a0faaae.js"]},"node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/cynefin-OW5HDTMX.mjs":{"id":93016,"files":["static/chunks/3016.406e568aa95ff867.js"]},"node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/eventmodeling-NTZA5JFV.mjs":{"id":78803,"files":["static/chunks/8803.75bde095fe3613f5.js"]},"node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/gitGraph-4MIJSDKK.mjs":{"id":50331,"files":["static/chunks/331.fc5d78e1e91daf43.js"]},"node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/info-A6RAGUB7.mjs":{"id":23831,"files":["static/chunks/3831.25ae62d10dccc27a.js"]},"node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/packet-AYTQ26CC.mjs":{"id":99389,"files":["static/chunks/9389.906fe7aa9cd6a170.js"]},"node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/pie-WAS4IAKB.mjs":{"id":13510,"files":["static/chunks/3510.5d4d1c79533e080c.js"]},"node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/radar-RG4KPBEZ.mjs":{"id":53189,"files":["static/chunks/3189.b048866768087750.js"]},"node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/railroad-74A4TZTK.mjs":{"id":82585,"files":["static/chunks/2585.4d6aa847c780c666.js"]},"node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/railroad-abnf-HS5TGJTU.mjs":{"id":83064,"files":["static/chunks/3064.3a2a1e7cd4fdca5f.js"]},"node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/railroad-ebnf-LZEXJU2U.mjs":{"id":72968,"files":["static/chunks/587.d52737d7288c11b4.js"]},"node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/railroad-peg-WCYAUIDC.mjs":{"id":5354,"files":["static/chunks/5354.b559c717a607dc5c.js"]},"node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/treeView-Q6P3EWNA.mjs":{"id":10364,"files":["static/chunks/364.ce5400a9dd70b9dc.js"]},"node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/treemap-WGGIJYW6.mjs":{"id":92600,"files":["static/chunks/2600.45ba17a0f756fc31.js"]},"node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/wardley-WFR3VGLG.mjs":{"id":98216,"files":["static/chunks/8216.64a72d4d35ea7be0.js"]},"node_modules/mermaid/dist/chunks/mermaid.core/chunk-2E4U76K2.mjs -> ./sizeCapture-INFHLROL.mjs":{"id":53789,"files":["static/chunks/3789.c418b69121761983.js"]},"node_modules/mermaid/dist/chunks/mermaid.core/chunk-DU6HZSFF.mjs -> katex":{"id":71876,"files":["static/chunks/d3ac728e.7964f816a1ca64e5.js"]},"node_modules/mermaid/dist/chunks/mermaid.core/chunk-TLUHSLCS.mjs -> ./cose-bilkent-JH36ORCC.mjs":{"id":50370,"files":["static/chunks/90542734.f7a7b2972ef5a749.js","static/chunks/370.57cfa27da8567918.js"]},"node_modules/mermaid/dist/chunks/mermaid.core/chunk-TLUHSLCS.mjs -> ./dagre-GXQ25YYZ.mjs":{"id":20966,"files":["static/chunks/2768.305914f7900745b6.js","static/chunks/966.d6babbf8119162cc.js"]},"node_modules/mermaid/dist/chunks/mermaid.core/chunk-TLUHSLCS.mjs -> ./swimlanes-42K2YHIH.mjs":{"id":58070,"files":["static/chunks/52733464.3870f99cc446f9ff.js","static/chunks/2619.9aac8983f30c7c8a.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/abnfDiagram-VCTEODGH.mjs":{"id":80872,"files":["static/chunks/3a7aa434.93dbd20997cfd24f.js","static/chunks/8863.72f5dbb820a0e4c3.js","static/chunks/6774.8cd53427dbf32cac.js","static/chunks/872.96937e758ddce860.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/architectureDiagram-5GKGNRK7.mjs":{"id":49884,"files":["static/chunks/3a7aa434.93dbd20997cfd24f.js","static/chunks/90542734.f7a7b2972ef5a749.js","static/chunks/8863.72f5dbb820a0e4c3.js","static/chunks/9884.d4ac1a961b3366f1.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/blockDiagram-I7D4REHJ.mjs":{"id":14159,"files":["static/chunks/4159.49ae537ff687bdc6.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/c4Diagram-7LVT6UL2.mjs":{"id":71974,"files":["static/chunks/1974.885c9a133b86d8a4.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/classDiagram-ZZMXUADV.mjs":{"id":830,"files":["static/chunks/405.0902e4f6eb7bd9a2.js","static/chunks/830.5d5274d7ad1cb58e.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/classDiagram-v2-VYDZK3BY.mjs":{"id":42280,"files":["static/chunks/405.0902e4f6eb7bd9a2.js","static/chunks/2280.6a7f540787704698.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/cynefinDiagram-5FMLGOSQ.mjs":{"id":71519,"files":["static/chunks/3a7aa434.93dbd20997cfd24f.js","static/chunks/8863.72f5dbb820a0e4c3.js","static/chunks/1519.2f596e5f5af9ef57.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/diagram-S7CK7UJ4.mjs":{"id":28663,"files":["static/chunks/3a7aa434.93dbd20997cfd24f.js","static/chunks/8863.72f5dbb820a0e4c3.js","static/chunks/8663.6ec5792fb4952e45.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/diagram-UQ7AKVKN.mjs":{"id":32931,"files":["static/chunks/3a7aa434.93dbd20997cfd24f.js","static/chunks/8863.72f5dbb820a0e4c3.js","static/chunks/2931.c2acdbf72808b646.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/diagram-VSXAHHWV.mjs":{"id":57806,"files":["static/chunks/3a7aa434.93dbd20997cfd24f.js","static/chunks/8863.72f5dbb820a0e4c3.js","static/chunks/7806.a903780fcfa3a30e.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/diagram-VX7I27RA.mjs":{"id":11213,"files":["static/chunks/3a7aa434.93dbd20997cfd24f.js","static/chunks/8863.72f5dbb820a0e4c3.js","static/chunks/1213.e5c6e70a79b5f7e6.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/diagram-Z3DM3KII.mjs":{"id":83217,"files":["static/chunks/3a7aa434.93dbd20997cfd24f.js","static/chunks/8863.72f5dbb820a0e4c3.js","static/chunks/3217.1a053843c58b70b5.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/ebnfDiagram-PWID7BFC.mjs":{"id":73174,"files":["static/chunks/3a7aa434.93dbd20997cfd24f.js","static/chunks/8863.72f5dbb820a0e4c3.js","static/chunks/6774.8cd53427dbf32cac.js","static/chunks/3174.03fbed7b7d7a8256.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/erDiagram-RLTQ6QDP.mjs":{"id":49472,"files":["static/chunks/9472.8818ee52cfa931a4.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/flowDiagram-HODETNUW.mjs":{"id":47997,"files":["static/chunks/3022.972047558a20553a.js","static/chunks/7997.be57e92e583fe635.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/ganttDiagram-EL5Y4UJY.mjs":{"id":14208,"files":["static/chunks/4208.384b381ca2757643.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/gitGraphDiagram-WWUBYQGX.mjs":{"id":15949,"files":["static/chunks/3a7aa434.93dbd20997cfd24f.js","static/chunks/8863.72f5dbb820a0e4c3.js","static/chunks/5949.5504b3545fcc3d34.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/infoDiagram-27XIBGKW.mjs":{"id":60514,"files":["static/chunks/3a7aa434.93dbd20997cfd24f.js","static/chunks/8863.72f5dbb820a0e4c3.js","static/chunks/514.b804c51b26f5e126.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/ishikawaDiagram-5VMMS53U.mjs":{"id":59379,"files":["static/chunks/9379.5bc9c9343ec5a16c.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/journeyDiagram-3NMN7TZE.mjs":{"id":56361,"files":["static/chunks/6361.893d04ac34fa1b49.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/kanban-definition-UXKFOSKX.mjs":{"id":54592,"files":["static/chunks/4592.d0f37bc216b9d988.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/mindmap-definition-YA3MSWOX.mjs":{"id":40395,"files":["static/chunks/395.b41e9d76613d37b5.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/pegDiagram-XKGWAZYB.mjs":{"id":57236,"files":["static/chunks/3a7aa434.93dbd20997cfd24f.js","static/chunks/8863.72f5dbb820a0e4c3.js","static/chunks/6774.8cd53427dbf32cac.js","static/chunks/7236.55a9728d35f5b8a6.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/pieDiagram-E7YTZNPT.mjs":{"id":95448,"files":["static/chunks/3a7aa434.93dbd20997cfd24f.js","static/chunks/8863.72f5dbb820a0e4c3.js","static/chunks/5448.d3972d9fb464b54f.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/quadrantDiagram-AXDQQJYC.mjs":{"id":85270,"files":["static/chunks/5270.28592864d38e881c.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/railroadDiagram-O6MQD6OU.mjs":{"id":26968,"files":["static/chunks/3a7aa434.93dbd20997cfd24f.js","static/chunks/8863.72f5dbb820a0e4c3.js","static/chunks/6774.8cd53427dbf32cac.js","static/chunks/6968.b80277c724dbc96e.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/requirementDiagram-BXWQKSXE.mjs":{"id":38501,"files":["static/chunks/8501.cd06aa1b0c7e1c6a.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/sankeyDiagram-P5KCCOFB.mjs":{"id":44561,"files":["static/chunks/4561.d1a3aaca8bae3224.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/sequenceDiagram-WJ2MYXX4.mjs":{"id":51901,"files":["static/chunks/e413bedd.3a12a8cb02e28fdf.js","static/chunks/4035.0acc428926d5c8dd.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/stateDiagram-D77RDMKH.mjs":{"id":67390,"files":["static/chunks/2768.305914f7900745b6.js","static/chunks/8378.fa91de3406f554c9.js","static/chunks/7390.dde9b5bc2f6e24b8.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/stateDiagram-v2-MP3YSRHH.mjs":{"id":52589,"files":["static/chunks/8378.fa91de3406f554c9.js","static/chunks/2589.1aad68c09021b1ac.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/swimlanesDiagram-VR7AAH4N.mjs":{"id":47113,"files":["static/chunks/3022.972047558a20553a.js","static/chunks/7113.4b9e7ea870aa300a.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/timeline-definition-24CTP7MA.mjs":{"id":5909,"files":["static/chunks/5909.9e37f7b495b11995.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/vennDiagram-4TSXK5OY.mjs":{"id":4020,"files":["static/chunks/4020.3cc19c463c49f969.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/wardleyDiagram-VM6X3IG4.mjs":{"id":12521,"files":["static/chunks/3a7aa434.93dbd20997cfd24f.js","static/chunks/8863.72f5dbb820a0e4c3.js","static/chunks/2521.7f745f50d30076e7.js"]},"node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/xychartDiagram-S5SC5T6Z.mjs":{"id":44799,"files":["static/chunks/4799.0dc7aa21bff2fd2a.js"]}}';
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/36966cca54120369-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/982ceffe7b733b3b-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/c593627ceef17a4b.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/2e6ec4c80894e3c0.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-bfe8992962004e2b.js"/><script src="/_next/static/chunks/4bd1b696-deb4a0a1da1923b0.js" async=""></script><script src="/_next/static/chunks/794-25668765560cb197.js" async=""></script><script src="/_next/static/chunks/main-app-bfb36455d24b3e5a.js" async=""></script><script src="/_next/static/chunks/613-6f794154d28bb75a.js" async=""></script><script src="/_next/static/chunks/app/layout-856e8a282e69e7d0.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><meta name="theme-color" content="#111111"/><title>Taskmark</title><meta name="description" content="Taskmark — product memory for agent work. Local markdown boards for Cursor with sizing, work logs, and velocity."/><meta name="application-name" content="Taskmark"/><link rel="manifest" href="/site.webmanifest"/><meta name="robots" content="index, follow"/><meta property="og:title" content="Taskmark"/><meta property="og:description" content="Taskmark — product memory for agent work. Local markdown boards for Cursor with sizing, work logs, and velocity."/><meta property="og:url" content="https://taskmark.dev"/><meta property="og:site_name" content="Taskmark"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://taskmark.dev/og/og-default.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Taskmark — product memory for agent work"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Taskmark"/><meta name="twitter:description" content="Taskmark — product memory for agent work. Local markdown boards for Cursor with sizing, work logs, and velocity."/><meta name="twitter:image" content="https://taskmark.dev/og/og-default.png"/><link rel="icon" href="/favicon.ico?603d046c9a6fdfbb" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/favicon.ico" sizes="any"/><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><link rel="icon" href="/favicon-96x96.png" sizes="96x96" type="image/png"/><link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_93a132 __variable_dd5b2f font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-bfe8992962004e2b.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[61549,[\"613\",\"static/chunks/613-6f794154d28bb75a.js\",\"177\",\"static/chunks/app/layout-856e8a282e69e7d0.js\"],\"Toaster\"]\n3:I[10223,[\"613\",\"static/chunks/613-6f794154d28bb75a.js\",\"177\",\"static/chunks/app/layout-856e8a282e69e7d0.js\"],\"BoardDevReloader\"]\n4:I[57121,[],\"\"]\n5:I[74581,[],\"\"]\n6:I[90484,[],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\na:I[90484,[],\"ViewportBoundary\"]\nc:I[90484,[],\"MetadataBoundary\"]\ne:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/36966cca54120369-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/982ceffe7b733b3b-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/c593627ceef17a4b.css\",\"style\"]\n:HL[\"/_next/static/css/2e6ec4c80894e3c0.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c593627ceef17a4b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/2e6ec4c80894e3c0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"__variable_93a132 __variable_dd5b2f font-sans antialiased\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{}],[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,null]},null,false,\"$@9\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Ld\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"sAWr5ATVuqk6Wqs18kAWs\"}\n"])</script><script>self.__next_f.push([1,"f:[]\n9:\"$Wf\"\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#111111\"}]]\n"])</script><script>self.__next_f.push([1,"10:I[86869,[],\"IconMark\"]\n8:null\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"title\",\"0\",{\"children\":\"Taskmark\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Taskmark — product memory for agent work. Local markdown boards for Cursor with sizing, work logs, and velocity.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"Taskmark\"}],[\"$\",\"link\",\"3\",{\"rel\":\"manifest\",\"href\":\"/site.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"4\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:title\",\"content\":\"Taskmark\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:description\",\"content\":\"Taskmark — product memory for agent work. Local markdown boards for Cursor with sizing, work logs, and velocity.\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:url\",\"content\":\"https://taskmark.dev\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:site_name\",\"content\":\"Taskmark\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image\",\"content\":\"https://taskmark.dev/og/og-default.png\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:image:alt\",\"content\":\"Taskmark — product memory for agent work\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:title\",\"content\":\"Taskmark\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:description\",\"content\":\"Taskmark — product memory for agent work. Local markdown boards for Cursor with sizing, work logs, and velocity.\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:image\",\"content\":\"https://taskmark.dev/og/og-default.png\"}],[\"$\",\"link\",\"19\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?603d046c9a6fdfbb\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"20\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"sizes\":\"any\"}],[\"$\",\"link\",\"21\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"22\",{\"rel\":\"icon\",\"href\":\"/favicon-96x96.png\",\"sizes\":\"96x96\",\"type\":\"image/png\"}],[\"$\",\"link\",\"23\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-touch-icon.png\",\"sizes\":\"180x180\"}],[\"$\",\"$L10\",\"24\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/36966cca54120369-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/982ceffe7b733b3b-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/cb78d4b0062d9a3f.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/c593627ceef17a4b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-713747aaa9716c4c.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-c66b3d8325973459.js" async=""></script><script src="/_next/static/chunks/main-app-dd26d4f9d120646e.js" async=""></script><script src="/_next/static/chunks/3661-1f08d73aaffb011d.js" async=""></script><script src="/_next/static/chunks/app/layout-21782e6d13a6f275.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><meta name="theme-color" content="#111111"/><title>Taskmark</title><meta name="description" content="Taskmark — product memory for agent work. Local markdown boards for Cursor with static sizing and work logs."/><meta name="application-name" content="Taskmark"/><link rel="manifest" href="/site.webmanifest"/><meta name="robots" content="index, follow"/><meta property="og:title" content="Taskmark"/><meta property="og:description" content="Taskmark — product memory for agent work. Local markdown boards for Cursor with static sizing and work logs."/><meta property="og:url" content="https://taskmark.dev"/><meta property="og:site_name" content="Taskmark"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://taskmark.dev/og/og-default.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Taskmark — product memory for agent work"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Taskmark"/><meta name="twitter:description" content="Taskmark — product memory for agent work. Local markdown boards for Cursor with static sizing and work logs."/><meta name="twitter:image" content="https://taskmark.dev/og/og-default.png"/><link rel="icon" href="/favicon.ico?603d046c9a6fdfbb" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/favicon.ico" sizes="any"/><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><link rel="icon" href="/favicon-96x96.png" sizes="96x96" type="image/png"/><link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_93a132 __variable_dd5b2f font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"(function(){try{var n=\"taskmark_theme\";var k=\"taskmark_theme\";var m=document.cookie.match(new RegExp(\"(?:^|; )\"+n+\"=([^;]*)\"));var stored=m?decodeURIComponent(m[1]):null;function ok(v){return v===\"light\"||v===\"dark\"}if(!ok(stored)){stored=null;try{stored=localStorage.getItem(k);if(!ok(stored))stored=localStorage.getItem(\"theme\")}catch(e){stored=null}if(!ok(stored))stored=null}if(ok(stored)){try{localStorage.setItem(k,stored)}catch(e){}}var dark=stored===\"dark\"||(stored!==\"light\"\u0026\u0026window.matchMedia(\"(prefers-color-scheme: dark)\").matches);document.documentElement.classList.toggle(\"dark\",dark);document.documentElement.style.colorScheme=dark?\"dark\":\"light\"}catch(e){}})();","id":"taskmark-theme-init"}])</script><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","taskmark_theme","system",null,["light","dark"],null,true,true)</script><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-713747aaa9716c4c.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[42593,[\"3661\",\"static/chunks/3661-1f08d73aaffb011d.js\",\"7177\",\"static/chunks/app/layout-21782e6d13a6f275.js\"],\"\"]\n3:I[98764,[\"3661\",\"static/chunks/3661-1f08d73aaffb011d.js\",\"7177\",\"static/chunks/app/layout-21782e6d13a6f275.js\"],\"ThemeProvider\"]\n4:I[61549,[\"3661\",\"static/chunks/3661-1f08d73aaffb011d.js\",\"7177\",\"static/chunks/app/layout-21782e6d13a6f275.js\"],\"Toaster\"]\n5:I[10223,[\"3661\",\"static/chunks/3661-1f08d73aaffb011d.js\",\"7177\",\"static/chunks/app/layout-21782e6d13a6f275.js\"],\"BoardDevReloader\"]\n6:I[57121,[],\"\"]\n7:I[74581,[],\"\"]\n8:I[90484,[],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nc:I[90484,[],\"ViewportBoundary\"]\ne:I[90484,[],\"MetadataBoundary\"]\n10:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/36966cca54120369-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/982ceffe7b733b3b-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/cb78d4b0062d9a3f.css\",\"style\"]\n:HL[\"/_next/static/css/c593627ceef17a4b.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/cb78d4b0062d9a3f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c593627ceef17a4b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"__variable_93a132 __variable_dd5b2f font-sans antialiased\",\"children\":[[\"$\",\"$L2\",null,{\"id\":\"taskmark-theme-init\",\"strategy\":\"beforeInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var n=\\\"taskmark_theme\\\";var k=\\\"taskmark_theme\\\";var m=document.cookie.match(new RegExp(\\\"(?:^|; )\\\"+n+\\\"=([^;]*)\\\"));var stored=m?decodeURIComponent(m[1]):null;function ok(v){return v===\\\"light\\\"||v===\\\"dark\\\"}if(!ok(stored)){stored=null;try{stored=localStorage.getItem(k);if(!ok(stored))stored=localStorage.getItem(\\\"theme\\\")}catch(e){stored=null}if(!ok(stored))stored=null}if(ok(stored)){try{localStorage.setItem(k,stored)}catch(e){}}var dark=stored===\\\"dark\\\"||(stored!==\\\"light\\\"\u0026\u0026window.matchMedia(\\\"(prefers-color-scheme: dark)\\\").matches);document.documentElement.classList.toggle(\\\"dark\\\",dark);document.documentElement.style.colorScheme=dark?\\\"dark\\\":\\\"light\\\"}catch(e){}})();\"}}],[\"$\",\"$L3\",null,{\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"$L5\",null,{}],[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@a\"}]}]]}],{},null,false,null]},null,false,\"$@b\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Le\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"EI1zQaa_kQ7DqUSE4o3Qo\"}\n"])</script><script>self.__next_f.push([1,"11:[]\nb:\"$W11\"\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#111111\"}]]\n"])</script><script>self.__next_f.push([1,"12:I[86869,[],\"IconMark\"]\na:null\n"])</script><script>self.__next_f.push([1,"f:[[\"$\",\"title\",\"0\",{\"children\":\"Taskmark\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Taskmark — product memory for agent work. Local markdown boards for Cursor with static sizing and work logs.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"Taskmark\"}],[\"$\",\"link\",\"3\",{\"rel\":\"manifest\",\"href\":\"/site.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"4\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:title\",\"content\":\"Taskmark\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:description\",\"content\":\"Taskmark — product memory for agent work. Local markdown boards for Cursor with static sizing and work logs.\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:url\",\"content\":\"https://taskmark.dev\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:site_name\",\"content\":\"Taskmark\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image\",\"content\":\"https://taskmark.dev/og/og-default.png\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:image:alt\",\"content\":\"Taskmark — product memory for agent work\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:title\",\"content\":\"Taskmark\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:description\",\"content\":\"Taskmark — product memory for agent work. Local markdown boards for Cursor with static sizing and work logs.\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:image\",\"content\":\"https://taskmark.dev/og/og-default.png\"}],[\"$\",\"link\",\"19\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?603d046c9a6fdfbb\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"20\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"sizes\":\"any\"}],[\"$\",\"link\",\"21\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"22\",{\"rel\":\"icon\",\"href\":\"/favicon-96x96.png\",\"sizes\":\"96x96\",\"type\":\"image/png\"}],[\"$\",\"link\",\"23\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-touch-icon.png\",\"sizes\":\"180x180\"}],[\"$\",\"$L12\",\"24\",{}]]\n"])</script></body></html>