@wangjian2254/pi-web 0.8.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -0
- package/.next/app-path-routes-manifest.json +47 -0
- package/.next/build-manifest.json +20 -0
- package/.next/diagnostics/build-diagnostics.json +6 -0
- package/.next/diagnostics/framework.json +1 -0
- package/.next/export-marker.json +6 -0
- package/.next/images-manifest.json +68 -0
- package/.next/next-minimal-server.js.nft.json +1 -0
- package/.next/next-server.js.nft.json +1 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +161 -0
- package/.next/react-loadable-manifest.json +2358 -0
- package/.next/required-server-files.js +369 -0
- package/.next/required-server-files.json +369 -0
- package/.next/routes-manifest.json +378 -0
- package/.next/server/app/_global-error/page.js +31 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
- package/.next/server/app/_global-error.html +1 -0
- package/.next/server/app/_global-error.meta +27 -0
- package/.next/server/app/_global-error.rsc +14 -0
- package/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +20 -0
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/.next/server/app/_not-found/page.js +1 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/.next/server/app/_not-found.html +1 -0
- package/.next/server/app/_not-found.meta +27 -0
- package/.next/server/app/_not-found.rsc +20 -0
- package/.next/server/app/_not-found.segments/_full.segment.rsc +20 -0
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +24 -0
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -0
- package/.next/server/app/api/agent/[id]/bash-output/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/[id]/bash-output/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/agent/[id]/events/route.js +3 -0
- package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/[id]/events/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/agent/[id]/route.js +1 -0
- package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/agent/new/route.js +1 -0
- package/.next/server/app/api/agent/new/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/new/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/agent/running/events/route.js +3 -0
- package/.next/server/app/api/agent/running/events/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/running/events/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/agent/running/route.js +1 -0
- package/.next/server/app/api/agent/running/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/running/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/app-update/route.js +1 -0
- package/.next/server/app/api/app-update/route.js.nft.json +1 -0
- package/.next/server/app/api/app-update/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/all-providers/route.js +1 -0
- package/.next/server/app/api/auth/all-providers/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/all-providers/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -0
- package/.next/server/app/api/auth/api-key/[provider]/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/api-key/[provider]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/login/[provider]/route.js +3 -0
- package/.next/server/app/api/auth/login/[provider]/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/login/[provider]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/logout/[provider]/route.js +1 -0
- package/.next/server/app/api/auth/logout/[provider]/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/logout/[provider]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/providers/route.js +1 -0
- package/.next/server/app/api/auth/providers/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/providers/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/cwd/browse/route.js +1 -0
- package/.next/server/app/api/cwd/browse/route.js.nft.json +1 -0
- package/.next/server/app/api/cwd/browse/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/cwd/validate/route.js +1 -0
- package/.next/server/app/api/cwd/validate/route.js.nft.json +1 -0
- package/.next/server/app/api/cwd/validate/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/default-cwd/route.js +1 -0
- package/.next/server/app/api/default-cwd/route.js.nft.json +1 -0
- package/.next/server/app/api/default-cwd/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/file-index/route.js +1 -0
- package/.next/server/app/api/file-index/route.js.nft.json +1 -0
- package/.next/server/app/api/file-index/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/files/[...path]/route.js +49 -0
- package/.next/server/app/api/files/[...path]/route.js.nft.json +1 -0
- package/.next/server/app/api/files/[...path]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/git/diff/route.js +6 -0
- package/.next/server/app/api/git/diff/route.js.nft.json +1 -0
- package/.next/server/app/api/git/diff/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/git/status/route.js +6 -0
- package/.next/server/app/api/git/status/route.js.nft.json +1 -0
- package/.next/server/app/api/git/status/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/home/route.js +1 -0
- package/.next/server/app/api/home/route.js.nft.json +1 -0
- package/.next/server/app/api/home/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models/route.js +1 -0
- package/.next/server/app/api/models/route.js.nft.json +1 -0
- package/.next/server/app/api/models/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models-config/catalog/route.js +1 -0
- package/.next/server/app/api/models-config/catalog/route.js.nft.json +1 -0
- package/.next/server/app/api/models-config/catalog/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models-config/discover/route.js +1 -0
- package/.next/server/app/api/models-config/discover/route.js.nft.json +1 -0
- package/.next/server/app/api/models-config/discover/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models-config/route.js +1 -0
- package/.next/server/app/api/models-config/route.js.nft.json +1 -0
- package/.next/server/app/api/models-config/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models-config/test/route.js +1 -0
- package/.next/server/app/api/models-config/test/route.js.nft.json +1 -0
- package/.next/server/app/api/models-config/test/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/plugins/route.js +1 -0
- package/.next/server/app/api/plugins/route.js.nft.json +1 -0
- package/.next/server/app/api/plugins/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/project-trust/route.js +1 -0
- package/.next/server/app/api/project-trust/route.js.nft.json +1 -0
- package/.next/server/app/api/project-trust/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/auto-name/route.js +10 -0
- package/.next/server/app/api/sessions/[id]/auto-name/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/auto-name/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/context/route.js +1 -0
- package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/context/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -0
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/export/route.js +54 -0
- package/.next/server/app/api/sessions/[id]/export/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/export/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/route.js +1 -0
- package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/state/route.js +1 -0
- package/.next/server/app/api/sessions/[id]/state/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/state/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/route.js +1 -0
- package/.next/server/app/api/sessions/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/check/route.js +1 -0
- package/.next/server/app/api/skills/check/route.js.nft.json +1 -0
- package/.next/server/app/api/skills/check/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/install/route.js +1 -0
- package/.next/server/app/api/skills/install/route.js.nft.json +1 -0
- package/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/route.js +6 -0
- package/.next/server/app/api/skills/route.js.nft.json +1 -0
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/search/route.js +1 -0
- package/.next/server/app/api/skills/search/route.js.nft.json +1 -0
- package/.next/server/app/api/skills/search/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/update/route.js +1 -0
- package/.next/server/app/api/skills/update/route.js.nft.json +1 -0
- package/.next/server/app/api/skills/update/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/worktrees/route.js +1 -0
- package/.next/server/app/api/worktrees/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -0
- package/.next/server/app/favicon.ico/route.js +1 -0
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -0
- package/.next/server/app/favicon.ico.body +0 -0
- package/.next/server/app/favicon.ico.meta +1 -0
- package/.next/server/app/index.html +1 -0
- package/.next/server/app/index.meta +21 -0
- package/.next/server/app/index.rsc +21 -0
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +24 -0
- package/.next/server/app/index.segments/_full.segment.rsc +21 -0
- package/.next/server/app/index.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/manifest.webmanifest/route.js +17 -0
- package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -0
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -0
- package/.next/server/app/manifest.webmanifest.body +1 -0
- package/.next/server/app/manifest.webmanifest.meta +1 -0
- package/.next/server/app/page.js +93 -0
- package/.next/server/app/page.js.nft.json +1 -0
- package/.next/server/app/page_client-reference-manifest.js +1 -0
- package/.next/server/app-paths-manifest.json +47 -0
- package/.next/server/chunks/1286.js +1 -0
- package/.next/server/chunks/1412.js +38 -0
- package/.next/server/chunks/1605.js +1 -0
- package/.next/server/chunks/169.js +1 -0
- package/.next/server/chunks/1776.js +1 -0
- package/.next/server/chunks/18.js +86 -0
- package/.next/server/chunks/1813.js +1 -0
- package/.next/server/chunks/1822.js +90 -0
- package/.next/server/chunks/1881.js +1 -0
- package/.next/server/chunks/2022.js +1 -0
- package/.next/server/chunks/2063.js +148 -0
- package/.next/server/chunks/2156.js +1 -0
- package/.next/server/chunks/2157.js +1 -0
- package/.next/server/chunks/2325.js +82 -0
- package/.next/server/chunks/2349.js +1 -0
- package/.next/server/chunks/2430.js +193 -0
- package/.next/server/chunks/2838.js +1 -0
- package/.next/server/chunks/3016.js +226 -0
- package/.next/server/chunks/3227.js +1 -0
- package/.next/server/chunks/3266.js +1 -0
- package/.next/server/chunks/3379.js +1 -0
- package/.next/server/chunks/3479.js +1 -0
- package/.next/server/chunks/367.js +115 -0
- package/.next/server/chunks/3957.js +8 -0
- package/.next/server/chunks/4107.js +62 -0
- package/.next/server/chunks/4569.js +34 -0
- package/.next/server/chunks/4741.js +165 -0
- package/.next/server/chunks/4755.js +153 -0
- package/.next/server/chunks/5002.js +1 -0
- package/.next/server/chunks/5112.js +1 -0
- package/.next/server/chunks/5235.js +94 -0
- package/.next/server/chunks/5318.js +1 -0
- package/.next/server/chunks/5452.js +23 -0
- package/.next/server/chunks/5453.js +1 -0
- package/.next/server/chunks/5491.js +1 -0
- package/.next/server/chunks/5582.js +3 -0
- package/.next/server/chunks/5709.js +79 -0
- package/.next/server/chunks/573.js +93 -0
- package/.next/server/chunks/5749.js +27 -0
- package/.next/server/chunks/5782.js +36 -0
- package/.next/server/chunks/6163.js +104 -0
- package/.next/server/chunks/6169.js +64 -0
- package/.next/server/chunks/6374.js +1 -0
- package/.next/server/chunks/6399.js +24 -0
- package/.next/server/chunks/6429.js +1 -0
- package/.next/server/chunks/6496.js +1 -0
- package/.next/server/chunks/6521.js +1 -0
- package/.next/server/chunks/703.js +1 -0
- package/.next/server/chunks/7112.js +138 -0
- package/.next/server/chunks/7245.js +77 -0
- package/.next/server/chunks/7307.js +1 -0
- package/.next/server/chunks/7372.js +287 -0
- package/.next/server/chunks/7516.js +1 -0
- package/.next/server/chunks/7531.js +24 -0
- package/.next/server/chunks/7591.js +1 -0
- package/.next/server/chunks/7880.js +32 -0
- package/.next/server/chunks/7916.js +1 -0
- package/.next/server/chunks/8003.js +1 -0
- package/.next/server/chunks/8253.js +41 -0
- package/.next/server/chunks/8272.js +172 -0
- package/.next/server/chunks/8604.js +1 -0
- package/.next/server/chunks/885.js +215 -0
- package/.next/server/chunks/8872.js +1 -0
- package/.next/server/chunks/9006.js +1 -0
- package/.next/server/chunks/9018.js +1 -0
- package/.next/server/chunks/9047.js +1 -0
- package/.next/server/chunks/9108.js +1 -0
- package/.next/server/chunks/9280.js +256 -0
- package/.next/server/chunks/9478.js +1 -0
- package/.next/server/chunks/974.js +1 -0
- package/.next/server/chunks/9775.js +1 -0
- package/.next/server/functions-config-manifest.json +19 -0
- package/.next/server/instrumentation.js +1 -0
- package/.next/server/instrumentation.js.nft.json +1 -0
- package/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/.next/server/middleware-build-manifest.js +1 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/.next/server/middleware.js +163 -0
- package/.next/server/middleware.js.nft.json +1 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +1 -0
- package/.next/server/pages/404.html +1 -0
- package/.next/server/pages/500.html +1 -0
- package/.next/server/pages-manifest.json +4 -0
- package/.next/server/prefetch-hints.json +39 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +1 -0
- package/.next/server/webpack-runtime.js +1 -0
- package/.next/static/J_ZfdqxTZWPTlFJk0cFFy/_buildManifest.js +1 -0
- package/.next/static/J_ZfdqxTZWPTlFJk0cFFy/_ssgManifest.js +1 -0
- package/.next/static/chunks/1169.bdfe59d2bdd2fd7a.js +79 -0
- package/.next/static/chunks/1213.e5c6e70a79b5f7e6.js +24 -0
- package/.next/static/chunks/1519.2f596e5f5af9ef57.js +62 -0
- package/.next/static/chunks/2121.b6920b57bd44dc00.js +8 -0
- package/.next/static/chunks/2521.7f745f50d30076e7.js +77 -0
- package/.next/static/chunks/2585.4d6aa847c780c666.js +1 -0
- package/.next/static/chunks/2600.45ba17a0f756fc31.js +1 -0
- package/.next/static/chunks/2619.9431a3f48da8eef4.js +1 -0
- package/.next/static/chunks/26d302b2.b77b53a34ca944aa.js +122 -0
- package/.next/static/chunks/2768.1a75ba9e2be767cf.js +1 -0
- package/.next/static/chunks/2931.c2acdbf72808b646.js +41 -0
- package/.next/static/chunks/3016.406e568aa95ff867.js +1 -0
- package/.next/static/chunks/3064.3a2a1e7cd4fdca5f.js +1 -0
- package/.next/static/chunks/3098.8355b3073369e6c6.js +1 -0
- package/.next/static/chunks/3174.03fbed7b7d7a8256.js +1 -0
- package/.next/static/chunks/3189.b048866768087750.js +1 -0
- package/.next/static/chunks/3217.1a053843c58b70b5.js +24 -0
- package/.next/static/chunks/3249-d891ccff87c62b6d.js +7 -0
- package/.next/static/chunks/3308.61466f0df05a0277.js +74 -0
- package/.next/static/chunks/331.fc5d78e1e91daf43.js +1 -0
- package/.next/static/chunks/3510.5d4d1c79533e080c.js +1 -0
- package/.next/static/chunks/364.ce5400a9dd70b9dc.js +1 -0
- package/.next/static/chunks/3675.b362b13bde55d05d.js +138 -0
- package/.next/static/chunks/370.8e8f3cf8eb0e29dd.js +1 -0
- package/.next/static/chunks/3794-d29203733ca4633c.js +52 -0
- package/.next/static/chunks/3831.25ae62d10dccc27a.js +1 -0
- package/.next/static/chunks/3a7aa434.280905293fc59b77.js +82 -0
- package/.next/static/chunks/4.0eb5f9326ce27ce3.js +1 -0
- package/.next/static/chunks/4020.3cc19c463c49f969.js +23 -0
- package/.next/static/chunks/4035.0acc428926d5c8dd.js +1 -0
- package/.next/static/chunks/4127.faf29bf971c4c969.js +1 -0
- package/.next/static/chunks/4208.8ea72bb20afa959e.js +287 -0
- package/.next/static/chunks/4263.ffa8d9bd8a0faaae.js +1 -0
- package/.next/static/chunks/4449.8427233f9ccd03de.js +1 -0
- package/.next/static/chunks/4561.d1a3aaca8bae3224.js +34 -0
- package/.next/static/chunks/4799.3c6182ded3f32244.js +1 -0
- package/.next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js +1 -0
- package/.next/static/chunks/5167.ee4f95d1419b58b7.js +93 -0
- package/.next/static/chunks/5270.28592864d38e881c.js +1 -0
- package/.next/static/chunks/5354.b559c717a607dc5c.js +1 -0
- package/.next/static/chunks/5448.d3972d9fb464b54f.js +38 -0
- package/.next/static/chunks/587.d52737d7288c11b4.js +1 -0
- package/.next/static/chunks/5909.9e37f7b495b11995.js +115 -0
- package/.next/static/chunks/5949.5504b3545fcc3d34.js +104 -0
- package/.next/static/chunks/6310.11650bfd096161c8.js +172 -0
- package/.next/static/chunks/633e7c23.c1fb9d5dc2d4eabe.js +62 -0
- package/.next/static/chunks/6690.ca9ec043dbe8477a.js +226 -0
- package/.next/static/chunks/6774.8cd53427dbf32cac.js +86 -0
- package/.next/static/chunks/6968.b80277c724dbc96e.js +1 -0
- package/.next/static/chunks/7236.55a9728d35f5b8a6.js +1 -0
- package/.next/static/chunks/7477.adc836ca6242f190.js +94 -0
- package/.next/static/chunks/7513.d01d7fcbc6360501.js +1 -0
- package/.next/static/chunks/7806.a903780fcfa3a30e.js +1 -0
- package/.next/static/chunks/8216.64a72d4d35ea7be0.js +1 -0
- package/.next/static/chunks/8255.9df58822ebb2e95f.js +1 -0
- package/.next/static/chunks/8435.10e9cecef654c172.js +148 -0
- package/.next/static/chunks/8663.6ec5792fb4952e45.js +27 -0
- package/.next/static/chunks/872.96937e758ddce860.js +1 -0
- package/.next/static/chunks/8803.75bde095fe3613f5.js +1 -0
- package/.next/static/chunks/8863.72f5dbb820a0e4c3.js +1 -0
- package/.next/static/chunks/90542734.026d4575f63ad955.js +1 -0
- package/.next/static/chunks/911.6117d29223492070.js +90 -0
- package/.next/static/chunks/9354.d3ff9fa6f9cce6a4.js +32 -0
- package/.next/static/chunks/9379.5bc9c9343ec5a16c.js +64 -0
- package/.next/static/chunks/9389.906fe7aa9cd6a170.js +1 -0
- package/.next/static/chunks/9428.47f8f2cfd1b7abed.js +215 -0
- package/.next/static/chunks/9793.4567af813117ad25.js +1 -0
- package/.next/static/chunks/9804.755b81a1e7b890f6.js +1 -0
- package/.next/static/chunks/9884.c6cac4659c50ebfa.js +36 -0
- package/.next/static/chunks/a15fdc23.ca6360563c6c6cb7.js +1 -0
- package/.next/static/chunks/app/_global-error/page-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/_not-found/page-16aa12ab6fbc821c.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/bash-output/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/events/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/agent/new/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/agent/running/events/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/agent/running/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/app-update/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/auth/all-providers/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/auth/login/[provider]/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/auth/providers/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/cwd/browse/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/cwd/validate/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/default-cwd/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/file-index/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/files/[...path]/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/git/diff/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/git/status/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/home/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/models/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/models-config/catalog/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/models-config/discover/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/models-config/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/models-config/test/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/plugins/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/project-trust/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/context/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/export/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/state/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/skills/check/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/skills/install/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/skills/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/skills/search/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/skills/update/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/layout-e5f7bb44574d63fc.js +1 -0
- package/.next/static/chunks/app/manifest.webmanifest/route-169a43802549110e.js +1 -0
- package/.next/static/chunks/app/page-f820ce4b1ac503d7.js +87 -0
- package/.next/static/chunks/d3ac728e-7964f816a1ca64e5.js +1 -0
- package/.next/static/chunks/e413bedd.3a12a8cb02e28fdf.js +153 -0
- package/.next/static/chunks/framework-b33a8f5d57cd8d87.js +1 -0
- package/.next/static/chunks/main-430d592a1108ec6e.js +5 -0
- package/.next/static/chunks/main-app-a5a42985016f7a3f.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-169a43802549110e.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-169a43802549110e.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-5303c7949f15b13b.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-169a43802549110e.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-169a43802549110e.js +1 -0
- package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/.next/static/chunks/webpack-17a06dc12cf6e786.js +1 -0
- package/.next/static/css/4cbedad236d913cb.css +1 -0
- package/.next/static/css/88714c00e109ce28.css +1 -0
- package/.next/static/css/d0108a26a7a2390c.css +1 -0
- package/.next/static/media/15605e25b523335c-s.woff2 +0 -0
- package/.next/static/media/1a3dce5cfb5f7760-s.woff2 +0 -0
- package/.next/static/media/1cdd02902f937a18-s.woff2 +0 -0
- package/.next/static/media/4c4b3b30b6bcb2be-s.woff2 +0 -0
- package/.next/static/media/641a7b8a5800ee0e-s.woff2 +0 -0
- package/.next/static/media/7deddc85b7ffd1dc-s.p.woff2 +0 -0
- package/.next/static/media/KaTeX_AMS-Regular.1608a09b.woff +0 -0
- package/.next/static/media/KaTeX_AMS-Regular.4aafdb68.ttf +0 -0
- package/.next/static/media/KaTeX_AMS-Regular.a79f1c31.woff2 +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Bold.b6770918.woff +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Bold.cce5b8ec.ttf +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Bold.ec17d132.woff2 +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Regular.07ef19e7.ttf +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Regular.55fac258.woff2 +0 -0
- package/.next/static/media/KaTeX_Caligraphic-Regular.dad44a7f.woff +0 -0
- package/.next/static/media/KaTeX_Fraktur-Bold.9f256b85.woff +0 -0
- package/.next/static/media/KaTeX_Fraktur-Bold.b18f59e1.ttf +0 -0
- package/.next/static/media/KaTeX_Fraktur-Bold.d42a5579.woff2 +0 -0
- package/.next/static/media/KaTeX_Fraktur-Regular.7c187121.woff +0 -0
- package/.next/static/media/KaTeX_Fraktur-Regular.d3c882a6.woff2 +0 -0
- package/.next/static/media/KaTeX_Fraktur-Regular.ed38e79f.ttf +0 -0
- package/.next/static/media/KaTeX_Main-Bold.b74a1a8b.ttf +0 -0
- package/.next/static/media/KaTeX_Main-Bold.c3fb5ac2.woff2 +0 -0
- package/.next/static/media/KaTeX_Main-Bold.d181c465.woff +0 -0
- package/.next/static/media/KaTeX_Main-BoldItalic.6f2bb1df.woff2 +0 -0
- package/.next/static/media/KaTeX_Main-BoldItalic.70d8b0a5.ttf +0 -0
- package/.next/static/media/KaTeX_Main-BoldItalic.e3f82f9d.woff +0 -0
- package/.next/static/media/KaTeX_Main-Italic.47373d1e.ttf +0 -0
- package/.next/static/media/KaTeX_Main-Italic.8916142b.woff2 +0 -0
- package/.next/static/media/KaTeX_Main-Italic.9024d815.woff +0 -0
- package/.next/static/media/KaTeX_Main-Regular.0462f03b.woff2 +0 -0
- package/.next/static/media/KaTeX_Main-Regular.7f51fe03.woff +0 -0
- package/.next/static/media/KaTeX_Main-Regular.b7f8fe9b.ttf +0 -0
- package/.next/static/media/KaTeX_Math-BoldItalic.572d331f.woff2 +0 -0
- package/.next/static/media/KaTeX_Math-BoldItalic.a879cf83.ttf +0 -0
- package/.next/static/media/KaTeX_Math-BoldItalic.f1035d8d.woff +0 -0
- package/.next/static/media/KaTeX_Math-Italic.5295ba48.woff +0 -0
- package/.next/static/media/KaTeX_Math-Italic.939bc644.ttf +0 -0
- package/.next/static/media/KaTeX_Math-Italic.f28c23ac.woff2 +0 -0
- package/.next/static/media/KaTeX_SansSerif-Bold.8c5b5494.woff2 +0 -0
- package/.next/static/media/KaTeX_SansSerif-Bold.94e1e8dc.ttf +0 -0
- package/.next/static/media/KaTeX_SansSerif-Bold.bf59d231.woff +0 -0
- package/.next/static/media/KaTeX_SansSerif-Italic.3b1e59b3.woff2 +0 -0
- package/.next/static/media/KaTeX_SansSerif-Italic.7c9bc82b.woff +0 -0
- package/.next/static/media/KaTeX_SansSerif-Italic.b4c20c84.ttf +0 -0
- package/.next/static/media/KaTeX_SansSerif-Regular.74048478.woff +0 -0
- package/.next/static/media/KaTeX_SansSerif-Regular.ba21ed5f.woff2 +0 -0
- package/.next/static/media/KaTeX_SansSerif-Regular.d4d7ba48.ttf +0 -0
- package/.next/static/media/KaTeX_Script-Regular.03e9641d.woff2 +0 -0
- package/.next/static/media/KaTeX_Script-Regular.07505710.woff +0 -0
- package/.next/static/media/KaTeX_Script-Regular.fe9cbbe1.ttf +0 -0
- package/.next/static/media/KaTeX_Size1-Regular.e1e279cb.woff +0 -0
- package/.next/static/media/KaTeX_Size1-Regular.eae34984.woff2 +0 -0
- package/.next/static/media/KaTeX_Size1-Regular.fabc004a.ttf +0 -0
- package/.next/static/media/KaTeX_Size2-Regular.57727022.woff +0 -0
- package/.next/static/media/KaTeX_Size2-Regular.5916a24f.woff2 +0 -0
- package/.next/static/media/KaTeX_Size2-Regular.d6b476ec.ttf +0 -0
- package/.next/static/media/KaTeX_Size3-Regular.9acaf01c.woff +0 -0
- package/.next/static/media/KaTeX_Size3-Regular.a144ef58.ttf +0 -0
- package/.next/static/media/KaTeX_Size3-Regular.b4230e7e.woff2 +0 -0
- package/.next/static/media/KaTeX_Size4-Regular.10d95fd3.woff2 +0 -0
- package/.next/static/media/KaTeX_Size4-Regular.7a996c9d.woff +0 -0
- package/.next/static/media/KaTeX_Size4-Regular.fbccdabe.ttf +0 -0
- package/.next/static/media/KaTeX_Typewriter-Regular.6258592b.woff +0 -0
- package/.next/static/media/KaTeX_Typewriter-Regular.a8709e36.woff2 +0 -0
- package/.next/static/media/KaTeX_Typewriter-Regular.d97aaf4a.ttf +0 -0
- package/.next/static/media/ec14413c594b3356-s.p.woff2 +0 -0
- package/.next/trace +6 -0
- package/.next/trace-build +1 -0
- package/.next/types/app/api/agent/[id]/bash-output/route.ts +353 -0
- package/.next/types/app/api/agent/[id]/events/route.ts +353 -0
- package/.next/types/app/api/agent/[id]/route.ts +353 -0
- package/.next/types/app/api/agent/new/route.ts +353 -0
- package/.next/types/app/api/agent/running/events/route.ts +353 -0
- package/.next/types/app/api/agent/running/route.ts +353 -0
- package/.next/types/app/api/app-update/route.ts +353 -0
- package/.next/types/app/api/auth/all-providers/route.ts +353 -0
- package/.next/types/app/api/auth/api-key/[provider]/route.ts +353 -0
- package/.next/types/app/api/auth/login/[provider]/route.ts +353 -0
- package/.next/types/app/api/auth/logout/[provider]/route.ts +353 -0
- package/.next/types/app/api/auth/providers/route.ts +353 -0
- package/.next/types/app/api/cwd/browse/route.ts +353 -0
- package/.next/types/app/api/cwd/validate/route.ts +353 -0
- package/.next/types/app/api/default-cwd/route.ts +353 -0
- package/.next/types/app/api/file-index/route.ts +353 -0
- package/.next/types/app/api/files/[...path]/route.ts +353 -0
- package/.next/types/app/api/git/diff/route.ts +353 -0
- package/.next/types/app/api/git/status/route.ts +353 -0
- package/.next/types/app/api/home/route.ts +353 -0
- package/.next/types/app/api/models/route.ts +353 -0
- package/.next/types/app/api/models-config/catalog/route.ts +353 -0
- package/.next/types/app/api/models-config/discover/route.ts +353 -0
- package/.next/types/app/api/models-config/route.ts +353 -0
- package/.next/types/app/api/models-config/test/route.ts +353 -0
- package/.next/types/app/api/plugins/route.ts +353 -0
- package/.next/types/app/api/project-trust/route.ts +353 -0
- package/.next/types/app/api/sessions/[id]/auto-name/route.ts +353 -0
- package/.next/types/app/api/sessions/[id]/context/route.ts +353 -0
- package/.next/types/app/api/sessions/[id]/entries/[entryId]/thinking/route.ts +353 -0
- package/.next/types/app/api/sessions/[id]/export/route.ts +353 -0
- package/.next/types/app/api/sessions/[id]/route.ts +353 -0
- package/.next/types/app/api/sessions/[id]/state/route.ts +353 -0
- package/.next/types/app/api/sessions/route.ts +353 -0
- package/.next/types/app/api/skills/check/route.ts +353 -0
- package/.next/types/app/api/skills/install/route.ts +353 -0
- package/.next/types/app/api/skills/route.ts +353 -0
- package/.next/types/app/api/skills/search/route.ts +353 -0
- package/.next/types/app/api/skills/update/route.ts +353 -0
- package/.next/types/app/api/worktrees/route.ts +353 -0
- package/.next/types/app/layout.ts +89 -0
- package/.next/types/app/page.ts +89 -0
- package/.next/types/cache-life.d.ts +146 -0
- package/.next/types/package.json +1 -0
- package/.next/types/root-params.d.ts +3 -0
- package/.next/types/routes.d.ts +112 -0
- package/.next/types/validator.ts +430 -0
- package/LICENSE +21 -0
- package/README.ja.md +132 -0
- package/README.md +156 -0
- package/README.ru.md +132 -0
- package/README.zh-CN.md +134 -0
- package/bin/node-version.js +35 -0
- package/bin/pi-web-options.js +43 -0
- package/bin/pi-web.js +115 -0
- package/bin/process-lifecycle.js +46 -0
- package/next.config.ts +53 -0
- package/package.json +79 -0
- package/public/icons/apple-touch-icon.png +0 -0
- package/public/icons/catppuccin/LICENSE +22 -0
- package/public/icons/catppuccin/README.md +10 -0
- package/public/icons/catppuccin/latte/_file.svg +3 -0
- package/public/icons/catppuccin/latte/_folder.svg +3 -0
- package/public/icons/catppuccin/latte/_folder_open.svg +3 -0
- package/public/icons/catppuccin/latte/bash.svg +7 -0
- package/public/icons/catppuccin/latte/bun-lock.svg +8 -0
- package/public/icons/catppuccin/latte/config.svg +3 -0
- package/public/icons/catppuccin/latte/css.svg +6 -0
- package/public/icons/catppuccin/latte/database.svg +3 -0
- package/public/icons/catppuccin/latte/docker.svg +3 -0
- package/public/icons/catppuccin/latte/env.svg +3 -0
- package/public/icons/catppuccin/latte/eslint.svg +6 -0
- package/public/icons/catppuccin/latte/git.svg +6 -0
- package/public/icons/catppuccin/latte/go.svg +3 -0
- package/public/icons/catppuccin/latte/graphql.svg +3 -0
- package/public/icons/catppuccin/latte/html.svg +6 -0
- package/public/icons/catppuccin/latte/javascript-react.svg +8 -0
- package/public/icons/catppuccin/latte/javascript.svg +6 -0
- package/public/icons/catppuccin/latte/json.svg +3 -0
- package/public/icons/catppuccin/latte/lock.svg +3 -0
- package/public/icons/catppuccin/latte/markdown.svg +3 -0
- package/public/icons/catppuccin/latte/ms-word.svg +6 -0
- package/public/icons/catppuccin/latte/next.svg +6 -0
- package/public/icons/catppuccin/latte/npm-lock.svg +7 -0
- package/public/icons/catppuccin/latte/pdf.svg +3 -0
- package/public/icons/catppuccin/latte/python.svg +8 -0
- package/public/icons/catppuccin/latte/rust.svg +6 -0
- package/public/icons/catppuccin/latte/sass.svg +3 -0
- package/public/icons/catppuccin/latte/terraform.svg +3 -0
- package/public/icons/catppuccin/latte/toml.svg +3 -0
- package/public/icons/catppuccin/latte/typescript-react.svg +8 -0
- package/public/icons/catppuccin/latte/typescript.svg +6 -0
- package/public/icons/catppuccin/latte/yaml.svg +3 -0
- package/public/icons/catppuccin/mocha/_file.svg +3 -0
- package/public/icons/catppuccin/mocha/_folder.svg +3 -0
- package/public/icons/catppuccin/mocha/_folder_open.svg +3 -0
- package/public/icons/catppuccin/mocha/bash.svg +7 -0
- package/public/icons/catppuccin/mocha/bun-lock.svg +8 -0
- package/public/icons/catppuccin/mocha/config.svg +3 -0
- package/public/icons/catppuccin/mocha/css.svg +6 -0
- package/public/icons/catppuccin/mocha/database.svg +3 -0
- package/public/icons/catppuccin/mocha/docker.svg +3 -0
- package/public/icons/catppuccin/mocha/env.svg +3 -0
- package/public/icons/catppuccin/mocha/eslint.svg +6 -0
- package/public/icons/catppuccin/mocha/git.svg +6 -0
- package/public/icons/catppuccin/mocha/go.svg +3 -0
- package/public/icons/catppuccin/mocha/graphql.svg +3 -0
- package/public/icons/catppuccin/mocha/html.svg +6 -0
- package/public/icons/catppuccin/mocha/javascript-react.svg +8 -0
- package/public/icons/catppuccin/mocha/javascript.svg +6 -0
- package/public/icons/catppuccin/mocha/json.svg +3 -0
- package/public/icons/catppuccin/mocha/lock.svg +3 -0
- package/public/icons/catppuccin/mocha/markdown.svg +3 -0
- package/public/icons/catppuccin/mocha/ms-word.svg +6 -0
- package/public/icons/catppuccin/mocha/next.svg +6 -0
- package/public/icons/catppuccin/mocha/npm-lock.svg +7 -0
- package/public/icons/catppuccin/mocha/pdf.svg +3 -0
- package/public/icons/catppuccin/mocha/python.svg +8 -0
- package/public/icons/catppuccin/mocha/rust.svg +6 -0
- package/public/icons/catppuccin/mocha/sass.svg +3 -0
- package/public/icons/catppuccin/mocha/terraform.svg +3 -0
- package/public/icons/catppuccin/mocha/toml.svg +3 -0
- package/public/icons/catppuccin/mocha/typescript-react.svg +8 -0
- package/public/icons/catppuccin/mocha/typescript.svg +6 -0
- package/public/icons/catppuccin/mocha/yaml.svg +3 -0
- package/public/icons/icon-192.png +0 -0
- package/public/icons/icon-512.png +0 -0
- package/public/offline.html +83 -0
- package/public/sw.js +118 -0
- package/public/sw.test.mjs +86 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=8604,exports.ids=[8604],exports.modules={38604:(a,b,c)=>{c.r(b),c.d(b,{render:()=>ch});var d=c(1925);c(67317);var e=c(84999);c(21079),c(38881),c(69579),c(39317),c(29179),c(12569),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,215 @@
|
|
|
1
|
+
"use strict";exports.id=885,exports.ids=[885],exports.modules={17822:(a,b,c)=>{c.d(b,{P:()=>g});var d=c(12644),e=c(58715),f=c(95097),g=(0,f.K)((a,b,c,f)=>{a.attr("class",c);let{width:g,height:j,x:k,y:l}=h(a,b);(0,d.a$)(a,j,g,f);let m=i(k,l,g,j,b);a.attr("viewBox",m),e.R.debug(`viewBox configured: ${m} with padding: ${b}`)},"setupViewPortForSVG"),h=(0,f.K)((a,b)=>{let c=a.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:c.width+2*b,height:c.height+2*b,x:c.x,y:c.y}},"calculateDimensionsWithPadding"),i=(0,f.K)((a,b,c,d,e)=>`${a-e} ${b-e} ${c} ${d}`,"createViewBox")},23266:(a,b,c)=>{c.d(b,{Lh:()=>y,NM:()=>v,_$:()=>p,tM:()=>w});var d=c(23464),e=c(30917),f=c(17822),g=c(17747),h=c(79440),i=c(12569),j=c(12644),k=c(58715),l=c(95097),m=c(69085),n=c(11656),o=function(){var a=(0,l.K)(function(a,b,c,d){for(c=c||{},d=a.length;d--;c[a[d]]=b);return c},"o"),b=[1,18],c=[1,19],d=[1,20],e=[1,41],f=[1,26],g=[1,42],h=[1,24],i=[1,25],j=[1,32],k=[1,33],m=[1,34],n=[1,45],o=[1,35],p=[1,36],q=[1,37],r=[1,38],s=[1,27],t=[1,28],u=[1,29],v=[1,30],w=[1,31],x=[1,44],y=[1,46],z=[1,43],A=[1,47],B=[1,9],C=[1,8,9],D=[1,58],E=[1,59],F=[1,60],G=[1,61],H=[1,62],I=[1,63],J=[1,64],K=[1,8,9,41],L=[1,77],M=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],N=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],O=[13,60,86,100,102,103],P=[13,60,73,74,86,100,102,103],Q=[13,60,68,69,70,71,72,86,100,102,103],R=[1,103],S=[1,121],T=[1,117],U=[1,113],V=[1,119],W=[1,114],X=[1,115],Y=[1,116],Z=[1,118],$=[1,120],_=[22,50,60,61,82,86,87,88,89,90],aa=[1,128],ab=[12,39],ac=[1,8,9,39,41,44,46],ad=[1,8,9,22],ae=[1,153],af=[1,8,9,61],ag=[1,8,9,22,50,60,61,82,86,87,88,89,90],ah={trace:(0,l.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[38,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:(0,l.K)(function(a,b,c,d,e,f,g){var h=f.length-1;switch(e){case 8:this.$=f[h-1];break;case 9:case 10:case 13:case 15:case 46:this.$=f[h];break;case 11:case 14:this.$=f[h-2]+"."+f[h];break;case 12:case 16:case 110:this.$=f[h-1]+f[h];break;case 17:case 18:this.$=f[h-1]+"~"+f[h]+"~";break;case 19:d.addRelation(f[h]);break;case 20:f[h-1].title=d.cleanupLabel(f[h]),d.addRelation(f[h-1]);break;case 31:this.$=f[h].trim(),d.setAccTitle(this.$);break;case 32:case 33:this.$=f[h].trim(),d.setAccDescription(this.$);break;case 34:d.addClassesToNamespace(f[h-3],f[h-1][0],f[h-1][1]),d.popNamespace();break;case 35:d.addClassesToNamespace(f[h-4],f[h-1][0],f[h-1][1]),d.popNamespace();break;case 36:this.$=d.addNamespace(f[h]);break;case 37:this.$=d.addNamespace(f[h-1],f[h]);break;case 38:this.$=[[f[h]],[]];break;case 39:this.$=[[f[h-1]],[]];break;case 40:f[h][0].unshift(f[h-2]),this.$=f[h];break;case 41:this.$=[[],[f[h]]];break;case 42:this.$=[[],[f[h-1]]];break;case 43:f[h][1].unshift(f[h-2]),this.$=f[h];break;case 44:case 45:this.$=[[],[]];break;case 48:d.setCssClass(f[h-2],f[h]);break;case 49:d.addMembers(f[h-3],f[h-1]);break;case 51:d.setCssClass(f[h-5],f[h-3]),d.addMembers(f[h-5],f[h-1]);break;case 52:d.addAnnotation(f[h-3],f[h-1]);break;case 53:d.addAnnotation(f[h-6],f[h-4]),d.addMembers(f[h-6],f[h-1]);break;case 54:d.addAnnotation(f[h-5],f[h-3]);break;case 55:this.$=f[h],d.addClass(f[h]);break;case 56:this.$=f[h-1],d.addClass(f[h-1]),d.setClassLabel(f[h-1],f[h]);break;case 60:d.addAnnotation(f[h],f[h-2]);break;case 61:case 74:case 107:this.$=[f[h]];break;case 62:f[h].push(f[h-1]),this.$=f[h];break;case 63:case 65:case 66:break;case 64:d.addMember(f[h-1],d.cleanupLabel(f[h]));break;case 67:this.$={id1:f[h-2],id2:f[h],relation:f[h-1],relationTitle1:"none",relationTitle2:"none"};break;case 68:this.$={id1:f[h-3],id2:f[h],relation:f[h-1],relationTitle1:f[h-2],relationTitle2:"none"};break;case 69:this.$={id1:f[h-3],id2:f[h],relation:f[h-2],relationTitle1:"none",relationTitle2:f[h-1]};break;case 70:this.$={id1:f[h-4],id2:f[h],relation:f[h-2],relationTitle1:f[h-3],relationTitle2:f[h-1]};break;case 71:this.$=d.addNote(f[h],f[h-1]);break;case 72:this.$=d.addNote(f[h]);break;case 73:this.$=f[h-2],d.defineClass(f[h-1],f[h]);break;case 75:this.$=f[h-2].concat([f[h]]);break;case 76:d.setDirection("TB");break;case 77:d.setDirection("BT");break;case 78:d.setDirection("RL");break;case 79:d.setDirection("LR");break;case 80:this.$={type1:f[h-2],type2:f[h],lineType:f[h-1]};break;case 81:this.$={type1:"none",type2:f[h],lineType:f[h-1]};break;case 82:this.$={type1:f[h-1],type2:"none",lineType:f[h]};break;case 83:this.$={type1:"none",type2:"none",lineType:f[h]};break;case 84:this.$=d.relationType.AGGREGATION;break;case 85:this.$=d.relationType.EXTENSION;break;case 86:this.$=d.relationType.COMPOSITION;break;case 87:this.$=d.relationType.DEPENDENCY;break;case 88:this.$=d.relationType.LOLLIPOP;break;case 89:this.$=d.lineType.LINE;break;case 90:this.$=d.lineType.DOTTED_LINE;break;case 91:case 97:this.$=f[h-2],d.setClickEvent(f[h-1],f[h]);break;case 92:case 98:this.$=f[h-3],d.setClickEvent(f[h-2],f[h-1]),d.setTooltip(f[h-2],f[h]);break;case 93:this.$=f[h-2],d.setLink(f[h-1],f[h]);break;case 94:this.$=f[h-3],d.setLink(f[h-2],f[h-1],f[h]);break;case 95:this.$=f[h-3],d.setLink(f[h-2],f[h-1]),d.setTooltip(f[h-2],f[h]);break;case 96:this.$=f[h-4],d.setLink(f[h-3],f[h-2],f[h]),d.setTooltip(f[h-3],f[h-1]);break;case 99:this.$=f[h-3],d.setClickEvent(f[h-2],f[h-1],f[h]);break;case 100:this.$=f[h-4],d.setClickEvent(f[h-3],f[h-2],f[h-1]),d.setTooltip(f[h-3],f[h]);break;case 101:this.$=f[h-3],d.setLink(f[h-2],f[h]);break;case 102:this.$=f[h-4],d.setLink(f[h-3],f[h-1],f[h]);break;case 103:this.$=f[h-4],d.setLink(f[h-3],f[h-1]),d.setTooltip(f[h-3],f[h]);break;case 104:this.$=f[h-5],d.setLink(f[h-4],f[h-2],f[h]),d.setTooltip(f[h-4],f[h-1]);break;case 105:this.$=f[h-2],d.setCssStyle(f[h-1],f[h]);break;case 106:d.setCssClass(f[h-1],f[h]);break;case 108:f[h-2].push(f[h]),this.$=f[h-2]}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:b,35:c,37:d,38:22,42:e,43:23,46:f,48:g,51:h,52:i,54:j,56:k,57:m,60:n,62:o,63:p,64:q,65:r,75:s,76:t,78:u,82:v,83:w,86:x,100:y,102:z,103:A},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},a(B,[2,5],{8:[1,48]}),{8:[1,49]},a(C,[2,19],{22:[1,50]}),a(C,[2,21]),a(C,[2,22]),a(C,[2,23]),a(C,[2,24]),a(C,[2,25]),a(C,[2,26]),a(C,[2,27]),a(C,[2,28]),a(C,[2,29]),a(C,[2,30]),{34:[1,51]},{36:[1,52]},a(C,[2,33]),a(C,[2,63],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:D,69:E,70:F,71:G,72:H,73:I,74:J}),{39:[1,65]},a(K,[2,47],{39:[1,67],44:[1,66],46:[1,68]}),a(C,[2,65]),a(C,[2,66]),{16:69,60:n,86:x,100:y,102:z},{16:39,17:40,19:70,60:n,86:x,100:y,102:z,103:A},{16:39,17:40,19:71,60:n,86:x,100:y,102:z,103:A},{16:39,17:40,19:72,60:n,86:x,100:y,102:z,103:A},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:n,86:x,100:y,102:z,103:A},{13:L,55:76},{58:78,60:[1,79]},a(C,[2,76]),a(C,[2,77]),a(C,[2,78]),a(C,[2,79]),a(M,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:n,86:x,100:y,102:z,103:A}),a(M,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:n,86:x,100:y,102:z,103:A},{16:39,17:40,19:87,60:n,86:x,100:y,102:z,103:A},a(N,[2,133]),a(N,[2,134]),a(N,[2,135]),a(N,[2,136]),a([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,137]),a(B,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:b,35:c,37:d,42:e,46:f,48:g,51:h,52:i,54:j,56:k,57:m,60:n,62:o,63:p,64:q,65:r,75:s,76:t,78:u,82:v,83:w,86:x,100:y,102:z,103:A}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:b,35:c,37:d,38:22,42:e,43:23,46:f,48:g,51:h,52:i,54:j,56:k,57:m,60:n,62:o,63:p,64:q,65:r,75:s,76:t,78:u,82:v,83:w,86:x,100:y,102:z,103:A},a(C,[2,20]),a(C,[2,31]),a(C,[2,32]),{13:[1,91],16:39,17:40,19:90,60:n,86:x,100:y,102:z,103:A},{53:92,66:56,67:57,68:D,69:E,70:F,71:G,72:H,73:I,74:J},a(C,[2,64]),{67:93,73:I,74:J},a(O,[2,83],{66:94,68:D,69:E,70:F,71:G,72:H}),a(P,[2,84]),a(P,[2,85]),a(P,[2,86]),a(P,[2,87]),a(P,[2,88]),a(Q,[2,89]),a(Q,[2,90]),{8:[1,96],23:99,24:97,30:98,38:22,40:95,42:e,43:23,48:g,54:j,56:k},{16:100,60:n,86:x,100:y,102:z},{41:[1,102],45:101,51:R},{16:104,60:n,86:x,100:y,102:z},{47:[1,105]},{13:[1,106]},{13:[1,107]},{79:[1,108],81:[1,109]},{22:S,50:T,59:110,60:U,82:V,84:111,85:112,86:W,87:X,88:Y,89:Z,90:$},{60:[1,122]},{13:L,55:123},a(K,[2,72]),a(K,[2,138]),{22:S,50:T,59:124,60:U,61:[1,125],82:V,84:111,85:112,86:W,87:X,88:Y,89:Z,90:$},a(_,[2,74]),{16:39,17:40,19:126,60:n,86:x,100:y,102:z,103:A},a(M,[2,16]),a(M,[2,17]),a(M,[2,18]),{11:127,12:aa,39:[2,36]},a(ab,[2,9],{16:85,17:86,15:130,18:[1,129],60:n,86:x,100:y,102:z,103:A}),a(ab,[2,10]),a(ac,[2,55],{11:131,12:aa}),a(B,[2,7]),{9:[1,132]},a(ad,[2,67]),{16:39,17:40,19:133,60:n,86:x,100:y,102:z,103:A},{13:[1,135],16:39,17:40,19:134,60:n,86:x,100:y,102:z,103:A},a(O,[2,82],{66:136,68:D,69:E,70:F,71:G,72:H}),a(O,[2,81]),{41:[1,137]},{23:99,24:97,30:98,38:22,40:138,42:e,43:23,48:g,54:j,56:k},{8:[1,139],41:[2,38]},{8:[1,140],41:[2,41]},{8:[1,141],41:[2,44]},a(K,[2,48],{39:[1,142]}),{41:[1,143]},a(K,[2,50]),{41:[2,61],45:144,51:R},{47:[1,145]},{16:39,17:40,19:146,60:n,86:x,100:y,102:z,103:A},a(C,[2,91],{13:[1,147]}),a(C,[2,93],{13:[1,149],77:[1,148]}),a(C,[2,97],{13:[1,150],80:[1,151]}),{13:[1,152]},a(C,[2,105],{61:ae}),a(af,[2,107],{85:154,22:S,50:T,60:U,82:V,86:W,87:X,88:Y,89:Z,90:$}),a(ag,[2,109]),a(ag,[2,111]),a(ag,[2,112]),a(ag,[2,113]),a(ag,[2,114]),a(ag,[2,115]),a(ag,[2,116]),a(ag,[2,117]),a(ag,[2,118]),a(ag,[2,119]),a(C,[2,106]),a(K,[2,71]),a(C,[2,73],{61:ae}),{60:[1,155]},a(M,[2,14]),{39:[2,37]},{13:[1,156]},{15:157,16:85,17:86,60:n,86:x,100:y,102:z,103:A},a(ab,[2,12]),a(ac,[2,56]),{1:[2,4]},a(ad,[2,69]),a(ad,[2,68]),{16:39,17:40,19:158,60:n,86:x,100:y,102:z,103:A},a(O,[2,80]),a(K,[2,34]),{41:[1,159]},{23:99,24:97,30:98,38:22,40:160,41:[2,39],42:e,43:23,48:g,54:j,56:k},{23:99,24:97,30:98,38:22,40:161,41:[2,42],42:e,43:23,48:g,54:j,56:k},{23:99,24:97,30:98,38:22,40:162,41:[2,45],42:e,43:23,48:g,54:j,56:k},{45:163,51:R},a(K,[2,49]),{41:[2,62]},a(K,[2,52],{39:[1,164]}),a(C,[2,60]),a(C,[2,92]),a(C,[2,94]),a(C,[2,95],{77:[1,165]}),a(C,[2,98]),a(C,[2,99],{13:[1,166]}),a(C,[2,101],{13:[1,168],77:[1,167]}),{22:S,50:T,60:U,82:V,84:169,85:112,86:W,87:X,88:Y,89:Z,90:$},a(ag,[2,110]),a(_,[2,75]),{14:[1,170]},a(ab,[2,11]),a(ad,[2,70]),a(K,[2,35]),{41:[2,40]},{41:[2,43]},{41:[2,46]},{41:[1,171]},{41:[1,173],45:172,51:R},a(C,[2,96]),a(C,[2,100]),a(C,[2,102]),a(C,[2,103],{77:[1,174]}),a(af,[2,108],{85:154,22:S,50:T,60:U,82:V,86:W,87:X,88:Y,89:Z,90:$}),a(ac,[2,8]),a(K,[2,51]),{41:[1,175]},a(K,[2,54]),a(C,[2,104]),a(K,[2,53])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],127:[2,37],132:[2,4],144:[2,62],160:[2,40],161:[2,43],162:[2,46]},parseError:(0,l.K)(function(a,b){if(b.recoverable)this.trace(a);else{var c=Error(a);throw c.hash=b,c}},"parseError"),parse:(0,l.K)(function(a){var b=this,c=[0],d=[],e=[null],f=[],g=this.table,h="",i=0,j=0,k=0,m=f.slice.call(arguments,1),n=Object.create(this.lexer),o={};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(o[p]=this.yy[p]);n.setInput(a,o),o.lexer=n,o.parser=this,void 0===n.yylloc&&(n.yylloc={});var q=n.yylloc;f.push(q);var r=n.options&&n.options.ranges;function s(){var a;return"number"!=typeof(a=d.pop()||n.lex()||1)&&(a instanceof Array&&(a=(d=a).pop()),a=b.symbols_[a]||a),a}"function"==typeof o.parseError?this.parseError=o.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,l.K)(function(a){c.length=c.length-2*a,e.length=e.length-a,f.length=f.length-a},"popStack"),(0,l.K)(s,"lex");for(var t,u,v,w,x,y,z,A,B,C={};;){if(v=c[c.length-1],this.defaultActions[v]?w=this.defaultActions[v]:(null==t&&(t=s()),w=g[v]&&g[v][t]),void 0===w||!w.length||!w[0]){var D="";for(y in B=[],g[v])this.terminals_[y]&&y>2&&B.push("'"+this.terminals_[y]+"'");D=n.showPosition?"Parse error on line "+(i+1)+":\n"+n.showPosition()+"\nExpecting "+B.join(", ")+", got '"+(this.terminals_[t]||t)+"'":"Parse error on line "+(i+1)+": Unexpected "+(1==t?"end of input":"'"+(this.terminals_[t]||t)+"'"),this.parseError(D,{text:n.match,token:this.terminals_[t]||t,line:n.yylineno,loc:q,expected:B})}if(w[0]instanceof Array&&w.length>1)throw Error("Parse Error: multiple actions possible at state: "+v+", token: "+t);switch(w[0]){case 1:c.push(t),e.push(n.yytext),f.push(n.yylloc),c.push(w[1]),t=null,u?(t=u,u=null):(j=n.yyleng,h=n.yytext,i=n.yylineno,q=n.yylloc,k>0&&k--);break;case 2:if(z=this.productions_[w[1]][1],C.$=e[e.length-z],C._$={first_line:f[f.length-(z||1)].first_line,last_line:f[f.length-1].last_line,first_column:f[f.length-(z||1)].first_column,last_column:f[f.length-1].last_column},r&&(C._$.range=[f[f.length-(z||1)].range[0],f[f.length-1].range[1]]),void 0!==(x=this.performAction.apply(C,[h,j,i,o,w[1],e,f].concat(m))))return x;z&&(c=c.slice(0,-1*z*2),e=e.slice(0,-1*z),f=f.slice(0,-1*z)),c.push(this.productions_[w[1]][0]),e.push(C.$),f.push(C._$),A=g[c[c.length-2]][c[c.length-1]],c.push(A);break;case 3:return!0}}return!0},"parse")};function ai(){this.yy={}}return ah.lexer={EOF:1,parseError:(0,l.K)(function(a,b){if(this.yy.parser)this.yy.parser.parseError(a,b);else throw Error(a)},"parseError"),setInput:(0,l.K)(function(a,b){return this.yy=b||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,l.K)(function(){var a=this._input[0];return this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a,a.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},"input"),unput:(0,l.K)(function(a){var b=a.length,c=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b),this.offset-=b;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[e[0],e[0]+this.yyleng-b]),this.yyleng=this.yytext.length,this},"unput"),more:(0,l.K)(function(){return this._more=!0,this},"more"),reject:(0,l.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,l.K)(function(a){this.unput(this.match.slice(a))},"less"),pastInput:(0,l.K)(function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,l.K)(function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,l.K)(function(){var a=this.pastInput(),b=Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},"showPosition"),test_match:(0,l.K)(function(a,b){var c,d,e;if(this.options.backtrack_lexer&&(e={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(e.yylloc.range=this.yylloc.range.slice(0))),(d=a[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],c=this.performAction.call(this,this.yy,this,b,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),c)return c;if(this._backtrack)for(var f in e)this[f]=e[f];return!1},"test_match"),next:(0,l.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var a,b,c,d,e=this._currentRules(),f=0;f<e.length;f++)if((c=this._input.match(this.rules[e[f]]))&&(!b||c[0].length>b[0].length)){if(b=c,d=f,this.options.backtrack_lexer){if(!1!==(a=this.test_match(c,e[f])))return a;if(!this._backtrack)return!1;b=!1;continue}if(!this.options.flex)break}return b?!1!==(a=this.test_match(b,e[d]))&&a:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,l.K)(function(){var a=this.next();return a||this.lex()},"lex"),begin:(0,l.K)(function(a){this.conditionStack.push(a)},"begin"),popState:(0,l.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,l.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,l.K)(function(a){return(a=this.conditionStack.length-1-Math.abs(a||0))>=0?this.conditionStack[a]:"INITIAL"},"topState"),pushState:(0,l.K)(function(a){this.begin(a)},"pushState"),stateStackSize:(0,l.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,l.K)(function(a,b,c,d){switch(c){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:case 5:case 14:case 31:case 37:case 41:case 48:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 19:case 22:case 24:case 59:case 62:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 36:return 8;case 15:case 16:return 7;case 17:case 38:case 46:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 23:return 80;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;case 30:case 40:return this.popState(),8;case 32:return this.begin("namespace-body"),39;case 33:this.popState(),this.less(0);break;case 34:case 44:return this.popState(),41;case 35:case 45:return"EOF_IN_STRUCT";case 39:return this.begin("class"),48;case 42:return this.popState(),this.popState(),41;case 43:return this.begin("class-body"),39;case 47:return"OPEN_IN_STRUCT";case 49:return"MEMBER";case 50:return 83;case 51:return 75;case 52:return 76;case 53:return 78;case 54:return 54;case 55:return 56;case 56:return 46;case 57:return 47;case 58:return 81;case 60:return"GENERICTYPE";case 61:this.begin("generic");break;case 63:return"BQUOTE_STR";case 64:this.begin("bqstring");break;case 65:case 66:case 67:case 68:return 77;case 69:case 70:return 69;case 71:case 72:return 71;case 73:return 70;case 74:return 68;case 75:return 72;case 76:return 73;case 77:return 74;case 78:return 22;case 79:return 44;case 80:return 100;case 81:return 18;case 82:return"PLUS";case 83:return 87;case 84:return 61;case 85:case 86:return 89;case 87:return 90;case 88:case 89:return"EQUALS";case 90:return 60;case 91:return 12;case 92:return 14;case 93:return"PUNCTUATION";case 94:return 86;case 95:return 102;case 96:case 97:return 50;case 98:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,29,34,35,36,37,38,39,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},namespace:{rules:[26,29,30,31,32,33,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},"class-body":{rules:[26,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},class:{rules:[26,40,41,42,43,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_descr:{rules:[9,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_title:{rules:[7,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},callback_args:{rules:[22,23,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},callback_name:{rules:[19,20,21,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},href:{rules:[26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},struct:{rules:[26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},generic:{rules:[26,50,51,52,53,54,55,56,57,58,59,60,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},bqstring:{rules:[26,50,51,52,53,54,55,56,57,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},string:{rules:[24,25,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,39,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98],inclusive:!0}}},(0,l.K)(ai,"Parser"),ai.prototype=ah,ah.Parser=ai,new ai}();o.parser=o;var p=o,q=["#","+","~","-",""],r=class{static{(0,l.K)(this,"ClassMember")}constructor(a,b){this.memberType=b,this.visibility="",this.classifier="",this.text="";const c=(0,j.jZ)(a,(0,j.D7)());this.parseMember(c)}getDisplayDetails(){let a=this.visibility+(0,j.QO)(this.id);return"method"===this.memberType&&(a+=`(${(0,j.QO)(this.parameters.trim())})`,this.returnType&&(a+=" : "+(0,j.QO)(this.returnType))),{displayText:a=a.trim(),cssStyle:this.parseClassifier()}}parseMember(a){let b="";if("method"===this.memberType){let c=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(a);if(c){let a=c[1]?c[1].trim():"";if(q.includes(a)&&(this.visibility=a),this.id=c[2],this.parameters=c[3]?c[3].trim():"",b=c[4]?c[4].trim():"",this.returnType=c[5]?c[5].trim():"",""===b){let a=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(a)&&(b=a,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{let c=a.length,d=a.substring(0,1),e=a.substring(c-1);q.includes(d)&&(this.visibility=d),/[$*]/.exec(e)&&(b=e),this.id=a.substring(+(""!==this.visibility),""===b?c:c-1)}this.classifier=b,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();let c=`${this.visibility?"\\"+this.visibility:""}${(0,j.QO)(this.id)}${"method"===this.memberType?`(${(0,j.QO)(this.parameters)})${this.returnType?" : "+(0,j.QO)(this.returnType):""}`:""}`;this.text=c.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},s="classId-",t=0,u=(0,l.K)(a=>j.Y2.sanitizeText(a,(0,j.D7)()),"sanitizeText"),v=class a{constructor(){this.relations=[],this.classes=new Map,this.styleClasses=new Map,this.notes=new Map,this.interfaces=[],this.namespaces=new Map,this.namespaceCounter=0,this.namespaceStack=[],this.diagramId="",this.functions=[],this.lineType={LINE:0,DOTTED_LINE:1},this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},this.setupToolTips=(0,l.K)(a=>{let b=(0,h.Ck)();(0,m.Ltv)(a).select("svg").selectAll("g").filter(function(){return null!==(0,m.Ltv)(this).attr("title")}).on("mouseover",a=>{let c=(0,m.Ltv)(a.currentTarget),d=c.attr("title");if(!d)return;let e=a.currentTarget.getBoundingClientRect();b.transition().duration(200).style("opacity",".9"),b.html(n.A.sanitize(d)).style("left",`${window.scrollX+e.left+e.width/2}px`).style("top",`${window.scrollY+e.bottom+4}px`),c.classed("hover",!0)}).on("mouseout",a=>{b.transition().duration(500).style("opacity",0),(0,m.Ltv)(a.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=j.SV,this.getAccTitle=j.iN,this.setAccDescription=j.EI,this.getAccDescription=j.m7,this.setDiagramTitle=j.ke,this.getDiagramTitle=j.ab,this.getConfig=(0,l.K)(()=>(0,j.D7)().class,"getConfig"),this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.popNamespace=this.popNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}static{(0,l.K)(this,"ClassDB")}splitClassNameAndType(a){let b=j.Y2.sanitizeText(a,(0,j.D7)()),c="",d=b;if(b.indexOf("~")>0){let a=b.split("~");d=u(a[0]),c=u(a[1])}return{className:d,type:c}}setClassLabel(a,b){let c=j.Y2.sanitizeText(a,(0,j.D7)());b&&(b=u(b));let{className:d}=this.splitClassNameAndType(c);this.classes.get(d).label=b,this.classes.get(d).text=`${b}${this.classes.get(d).type?`<${this.classes.get(d).type}>`:""}`}addClass(a){let b=j.Y2.sanitizeText(a,(0,j.D7)()),{className:c,type:d}=this.splitClassNameAndType(b);if(this.classes.has(c))return;let e=j.Y2.sanitizeText(c,(0,j.D7)());this.classes.set(e,{id:e,type:d,label:e,text:`${e}${d?`<${d}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:s+e+"-"+t}),t++}addInterface(a,b){let c={id:`interface${this.interfaces.length}`,label:a,classId:b};this.interfaces.push(c)}setDiagramId(a){this.diagramId=a}lookUpDomId(a){let b=j.Y2.sanitizeText(a,(0,j.D7)());if(this.classes.has(b)){let a=this.classes.get(b).domId;return this.diagramId?`${this.diagramId}-${a}`:a}throw Error("Class not found: "+b)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.namespaceStack=[],this.diagramId="",this.direction="TB",(0,j.IU)()}getClass(a){return this.classes.get(a)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(a){let b="number"==typeof a?`note${a}`:a;return this.notes.get(b)}getNotes(){return this.notes}addRelation(a){k.R.debug("Adding relation: "+JSON.stringify(a));let b=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];a.relation.type1!==this.relationType.LOLLIPOP||b.includes(a.relation.type2)?a.relation.type2!==this.relationType.LOLLIPOP||b.includes(a.relation.type1)?(this.addClass(a.id1),this.addClass(a.id2)):(this.addClass(a.id1),this.addInterface(a.id2,a.id1),a.id2=`interface${this.interfaces.length-1}`):(this.addClass(a.id2),this.addInterface(a.id1,a.id2),a.id1=`interface${this.interfaces.length-1}`),a.id1=this.splitClassNameAndType(a.id1).className,a.id2=this.splitClassNameAndType(a.id2).className,a.relationTitle1=j.Y2.sanitizeText(a.relationTitle1.trim(),(0,j.D7)()),a.relationTitle2=j.Y2.sanitizeText(a.relationTitle2.trim(),(0,j.D7)()),this.relations.push(a)}addAnnotation(a,b){let c=this.splitClassNameAndType(a).className;this.classes.get(c).annotations.push(b)}addMember(a,b){this.addClass(a);let c=this.splitClassNameAndType(a).className,d=this.classes.get(c);if("string"==typeof b){let a=b.trim();a.startsWith("<<")&&a.endsWith(">>")?d.annotations.push(u(a.substring(2,a.length-2))):a.indexOf(")")>0?d.methods.push(new r(a,"method")):a&&d.members.push(new r(a,"attribute"))}}addMembers(a,b){Array.isArray(b)&&(b.reverse(),b.forEach(b=>this.addMember(a,b)))}addNote(a,b){let c=this.notes.size,d={id:`note${c}`,class:b,text:a,index:c};return this.notes.set(d.id,d),d.id}cleanupLabel(a){return a.startsWith(":")&&(a=a.substring(1)),u(a.trim())}setCssClass(a,b){a.split(",").forEach(a=>{let c=a;/\d/.exec(a[0])&&(c=s+c),c=this.splitClassNameAndType(c).className;let d=this.classes.get(c);d&&(d.cssClasses+=" "+b)})}defineClass(a,b){for(let c of a){let a=this.styleClasses.get(c);void 0===a&&(a={id:c,styles:[],textStyles:[]},this.styleClasses.set(c,a)),b&&b.forEach(b=>{if(/color/.exec(b)){let c=b.replace("fill","bgFill");a.textStyles.push(c)}a.styles.push(b)}),this.classes.forEach(a=>{a.cssClasses.includes(c)&&a.styles.push(...b.flatMap(a=>a.split(",")))})}}setTooltip(a,b){a.split(",").forEach(a=>{if(void 0!==b){let c=this.splitClassNameAndType(a).className,d=this.classes.get(c);d&&(d.tooltip=u(b))}})}getTooltip(a,b){return b&&this.namespaces.has(b)?this.namespaces.get(b).classes.get(a).tooltip:this.classes.get(a).tooltip}setLink(a,b,c){let d=(0,j.D7)();a.split(",").forEach(a=>{let e=a;/\d/.exec(a[0])&&(e=s+e),e=this.splitClassNameAndType(e).className;let f=this.classes.get(e);f&&(f.link=i._K.formatUrl(b,d),"sandbox"===d.securityLevel?f.linkTarget="_top":"string"==typeof c?f.linkTarget=u(c):f.linkTarget="_blank")}),this.setCssClass(a,"clickable")}setClickEvent(a,b,c){a.split(",").forEach(a=>{this.setClickFunc(a,b,c);let d=this.splitClassNameAndType(a).className,e=this.classes.get(d);e&&(e.haveCallback=!0)}),this.setCssClass(a,"clickable")}setClickFunc(a,b,c){let d=j.Y2.sanitizeText(a,(0,j.D7)());if("loose"!==(0,j.D7)().securityLevel||void 0===b)return;let e=this.splitClassNameAndType(d).className;if(this.classes.has(e)){let a=[];if("string"==typeof c){a=c.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let b=0;b<a.length;b++){let c=a[b].trim();c.startsWith('"')&&c.endsWith('"')&&(c=c.substr(1,c.length-2)),a[b]=c}}0===a.length&&a.push(e),this.functions.push(()=>{let c=this.lookUpDomId(e),d=document.querySelector(`[id="${c}"]`);null!==d&&d.addEventListener("click",()=>{i._K.runFunc(b,...a)},!1)})}}bindFunctions(a){this.functions.forEach(b=>{b(a)})}escapeHtml(a){return a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}getDirection(){return this.direction}setDirection(a){this.direction=a}static resolveQualifiedId(a,b){let c=b.at(-1);return c?`${c}.${a}`:a}static getAncestorIds(a){let b=a.split("."),c=Array(b.length);c[0]=b[0];for(let a=1;a<b.length;a++)c[a]=`${c[a-1]}.${b[a]}`;return c}createNamespaceNode(a,b,c,d=!1){return{id:a,label:b,classes:new Map,notes:new Map,children:new Map,domId:s+a+"-"+this.namespaceCounter++,parent:c,explicit:d}}linkParentChild(a,b){let c=this.namespaces.get(a),d=this.namespaces.get(b);c&&d&&(c.children.has(b)||c.children.set(b,d),d.parent??=a)}addNamespace(b,c){let d=a.resolveQualifiedId(b,this.namespaceStack);if(this.namespaceStack.push(d),this.namespaces.has(d)){let a=this.namespaces.get(d);return a.explicit=!0,c&&(a.label=c),d}let e=d.split("."),f=a.getAncestorIds(d);for(let a=0;a<f.length;a++){let b=f[a],d=a>0?f[a-1]:void 0,g=a===f.length-1,h=g&&c?c:e[a];this.namespaces.has(b)?g&&(this.namespaces.get(b).explicit=!0):this.namespaces.set(b,this.createNamespaceNode(b,h,d,g)),d&&this.linkParentChild(d,b)}return d}popNamespace(){this.namespaceStack.pop()}getNamespace(a){return this.namespaces.get(a)}getNamespaces(){return this.namespaces}addClassesToNamespace(a,b,c){if(this.namespaces.has(a)){for(let c of b){let{className:b}=this.splitClassNameAndType(c),d=this.getClass(b);d.parent=a,this.namespaces.get(a).classes.set(b,d)}for(let b of c){let c=this.getNote(b);c.parent=a,this.namespaces.get(a).notes.set(b,c)}}}setCssStyle(a,b){let c=this.classes.get(a);if(b&&c)for(let a of b)a.includes(",")?c.styles.push(...a.split(",")):c.styles.push(a)}getArrowMarker(a){let b;switch(a){case 0:b="aggregation";break;case 1:b="extension";break;case 2:b="composition";break;case 3:b="dependency";break;case 4:b="lollipop";break;default:b="none"}return b}resolveExplicitAncestor(a){let b=a;for(;b;){let a=this.namespaces.get(b);if(!a)break;if(a.explicit)return b;b=a.parent}}getData(){let a=[],b=[],c=(0,j.D7)(),d=c.class?.hierarchicalNamespaces??!0;for(let b of this.namespaces.values()){if(!d&&!b.explicit)continue;let e={id:b.id,label:d?b.label:b.id,isGroup:!0,padding:c.class.padding??16,shape:"rect",cssStyles:[],look:c.look,parentId:d?b.parent:void 0};a.push(e)}for(let b of this.classes.values()){let e=d?b.parent:this.resolveExplicitAncestor(b.parent),f={...b,type:void 0,isGroup:!1,parentId:e,look:c.look};a.push(f)}for(let e of this.notes.values()){let f=d?e.parent:this.resolveExplicitAncestor(e.parent),g={id:e.id,label:e.text,isGroup:!1,shape:"note",padding:c.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${c.themeVariables.noteBkgColor}`,`stroke: ${c.themeVariables.noteBorderColor}`],look:c.look,parentId:f,labelType:"markdown"};a.push(g);let h=this.classes.get(e.class)?.id;if(h){let a={id:`edgeNote${e.index}`,start:e.id,end:h,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:c.look};b.push(a)}}for(let b of this.interfaces){let d={id:b.id,label:b.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:c.look};a.push(d)}let e=0;for(let a of this.relations){e++;let d={id:(0,i.rY)(a.id1,a.id2,{prefix:"id",counter:e}),start:a.id1,end:a.id2,type:"normal",label:a.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(a.relation.type1),arrowTypeEnd:this.getArrowMarker(a.relation.type2),startLabelRight:"none"===a.relationTitle1?"":a.relationTitle1,endLabelLeft:"none"===a.relationTitle2?"":a.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:a.style||"",pattern:1==a.relation.lineType?"dashed":"solid",look:c.look,labelType:"markdown"};b.push(d)}return{nodes:a,edges:b,other:{},config:c,direction:this.getDirection()}}},w=(0,l.K)(a=>`g.classGroup text {
|
|
2
|
+
fill: ${a.nodeBorder||a.classText};
|
|
3
|
+
stroke: none;
|
|
4
|
+
font-family: ${a.fontFamily};
|
|
5
|
+
font-size: 10px;
|
|
6
|
+
|
|
7
|
+
.title {
|
|
8
|
+
font-weight: bolder;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.cluster-label text {
|
|
14
|
+
fill: ${a.titleColor};
|
|
15
|
+
}
|
|
16
|
+
.cluster-label span {
|
|
17
|
+
color: ${a.titleColor};
|
|
18
|
+
}
|
|
19
|
+
.cluster-label span p {
|
|
20
|
+
background-color: transparent;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.cluster rect {
|
|
24
|
+
fill: ${a.clusterBkg};
|
|
25
|
+
stroke: ${a.clusterBorder};
|
|
26
|
+
stroke-width: 1px;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.cluster text {
|
|
30
|
+
fill: ${a.titleColor};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.cluster span {
|
|
34
|
+
color: ${a.titleColor};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.nodeLabel, .edgeLabel {
|
|
38
|
+
color: ${a.classText};
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.noteLabel .nodeLabel, .noteLabel .edgeLabel {
|
|
42
|
+
color: ${a.noteTextColor};
|
|
43
|
+
}
|
|
44
|
+
.edgeLabel .label rect {
|
|
45
|
+
fill: ${a.mainBkg};
|
|
46
|
+
}
|
|
47
|
+
.label text {
|
|
48
|
+
fill: ${a.classText};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.labelBkg {
|
|
52
|
+
background: ${a.mainBkg};
|
|
53
|
+
}
|
|
54
|
+
.edgeLabel .label span {
|
|
55
|
+
background: ${a.mainBkg};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.classTitle {
|
|
59
|
+
font-weight: bolder;
|
|
60
|
+
}
|
|
61
|
+
.node rect,
|
|
62
|
+
.node circle,
|
|
63
|
+
.node ellipse,
|
|
64
|
+
.node polygon,
|
|
65
|
+
.node path {
|
|
66
|
+
fill: ${a.mainBkg};
|
|
67
|
+
stroke: ${a.nodeBorder};
|
|
68
|
+
stroke-width: ${a.strokeWidth};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
.divider {
|
|
73
|
+
stroke: ${a.nodeBorder};
|
|
74
|
+
stroke-width: 1;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
g.clickable {
|
|
78
|
+
cursor: pointer;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
g.classGroup rect {
|
|
82
|
+
fill: ${a.mainBkg};
|
|
83
|
+
stroke: ${a.nodeBorder};
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
g.classGroup line {
|
|
87
|
+
stroke: ${a.nodeBorder};
|
|
88
|
+
stroke-width: 1;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.classLabel .box {
|
|
92
|
+
stroke: none;
|
|
93
|
+
stroke-width: 0;
|
|
94
|
+
fill: ${a.mainBkg};
|
|
95
|
+
opacity: 0.5;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.classLabel .label {
|
|
99
|
+
fill: ${a.nodeBorder};
|
|
100
|
+
font-size: 10px;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.relation {
|
|
104
|
+
stroke: ${a.lineColor};
|
|
105
|
+
stroke-width: ${a.strokeWidth};
|
|
106
|
+
fill: none;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.dashed-line{
|
|
110
|
+
stroke-dasharray: 3;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.dotted-line{
|
|
114
|
+
stroke-dasharray: 1 2;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
[id$="-compositionStart"], .composition {
|
|
118
|
+
fill: ${a.lineColor} !important;
|
|
119
|
+
stroke: ${a.lineColor} !important;
|
|
120
|
+
stroke-width: 1;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
[id$="-compositionEnd"], .composition {
|
|
124
|
+
fill: ${a.lineColor} !important;
|
|
125
|
+
stroke: ${a.lineColor} !important;
|
|
126
|
+
stroke-width: 1;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
[id$="-dependencyStart"], .dependency {
|
|
130
|
+
fill: ${a.lineColor} !important;
|
|
131
|
+
stroke: ${a.lineColor} !important;
|
|
132
|
+
stroke-width: 1;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
[id$="-dependencyEnd"], .dependency {
|
|
136
|
+
fill: ${a.lineColor} !important;
|
|
137
|
+
stroke: ${a.lineColor} !important;
|
|
138
|
+
stroke-width: 1;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
[id$="-extensionStart"], .extension {
|
|
142
|
+
fill: transparent !important;
|
|
143
|
+
stroke: ${a.lineColor} !important;
|
|
144
|
+
stroke-width: 1;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
[id$="-extensionEnd"], .extension {
|
|
148
|
+
fill: transparent !important;
|
|
149
|
+
stroke: ${a.lineColor} !important;
|
|
150
|
+
stroke-width: 1;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
[id$="-aggregationStart"], .aggregation {
|
|
154
|
+
fill: transparent !important;
|
|
155
|
+
stroke: ${a.lineColor} !important;
|
|
156
|
+
stroke-width: 1;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
[id$="-aggregationEnd"], .aggregation {
|
|
160
|
+
fill: transparent !important;
|
|
161
|
+
stroke: ${a.lineColor} !important;
|
|
162
|
+
stroke-width: 1;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
[id$="-lollipopStart"], .lollipop {
|
|
166
|
+
fill: ${a.mainBkg} !important;
|
|
167
|
+
stroke: ${a.lineColor} !important;
|
|
168
|
+
stroke-width: 1;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
[id$="-lollipopEnd"], .lollipop {
|
|
172
|
+
fill: ${a.mainBkg} !important;
|
|
173
|
+
stroke: ${a.lineColor} !important;
|
|
174
|
+
stroke-width: 1;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.edgeTerminals {
|
|
178
|
+
font-size: 11px;
|
|
179
|
+
line-height: initial;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.classTitleText {
|
|
183
|
+
text-anchor: middle;
|
|
184
|
+
font-size: 18px;
|
|
185
|
+
fill: ${a.textColor};
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.edgeLabel[data-look="neo"] {
|
|
189
|
+
background-color: ${a.edgeLabelBackground};
|
|
190
|
+
p {
|
|
191
|
+
background-color: ${a.edgeLabelBackground};
|
|
192
|
+
}
|
|
193
|
+
rect {
|
|
194
|
+
opacity: 0.5;
|
|
195
|
+
background-color: ${a.edgeLabelBackground};
|
|
196
|
+
fill: ${a.edgeLabelBackground};
|
|
197
|
+
}
|
|
198
|
+
text-align: center;
|
|
199
|
+
}
|
|
200
|
+
${(0,d.o)()}
|
|
201
|
+
`,"getStyles"),x=(0,l.K)((a,b="TB")=>{if(!a.doc)return b;let c=b;for(let b of a.doc)"dir"===b.stmt&&(c=b.value);return c},"getDir"),y={getClasses:(0,l.K)(function(a,b){return b.db.getClasses()},"getClasses"),draw:(0,l.K)(async function(a,b,c,d){k.R.info("REF0:"),k.R.info("Drawing class diagram (v3)",b);let{securityLevel:h,state:l,layout:m}=(0,j.D7)();d.db.setDiagramId(b);let n=d.db.getData(),o=(0,e.A)(b,h);n.type=d.type,n.layoutAlgorithm=(0,g.q7)(m),n.nodeSpacing=l?.nodeSpacing||50,n.rankSpacing=l?.rankSpacing||50,n.markers=["aggregation","extension","composition","dependency","lollipop"],n.diagramId=b,await (0,g.XX)(n,o),i._K.insertTitle(o,"classDiagramTitleText",l?.titleTopMargin??25,d.db.getDiagramTitle()),(0,f.P)(o,8,"classDiagram",l?.useMaxWidth??!0)},"draw"),getDir:x}},23464:(a,b,c)=>{c.d(b,{o:()=>d});var d=(0,c(95097).K)(()=>`
|
|
202
|
+
/* Font Awesome icon styling - consolidated */
|
|
203
|
+
.label-icon {
|
|
204
|
+
display: inline-block;
|
|
205
|
+
height: 1em;
|
|
206
|
+
overflow: visible;
|
|
207
|
+
vertical-align: -0.125em;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
.node .label-icon path {
|
|
211
|
+
fill: currentColor;
|
|
212
|
+
stroke: revert;
|
|
213
|
+
stroke-width: revert;
|
|
214
|
+
}
|
|
215
|
+
`,"getIconStyles")},30917:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(95097),e=c(69085),f=(0,d.K)((a,b)=>{let c;return"sandbox"===b&&(c=(0,e.Ltv)("#i"+a)),("sandbox"===b?(0,e.Ltv)(c.nodes()[0].contentDocument.body):(0,e.Ltv)("body")).select(`[id="${a}"]`)},"getDiagramElement")},79440:(a,b,c)=>{c.d(b,{CP:()=>l,Ck:()=>o,HT:()=>n,PB:()=>m,aC:()=>k,lC:()=>i,m:()=>j,tk:()=>h});var d=c(12644),e=c(95097),f=c(65207),g=c(69085),h=(0,e.K)((a,b)=>{let c=a.append("rect");if(c.attr("x",b.x),c.attr("y",b.y),c.attr("fill",b.fill),c.attr("stroke",b.stroke),c.attr("width",b.width),c.attr("height",b.height),b.name&&c.attr("name",b.name),b.rx&&c.attr("rx",b.rx),b.ry&&c.attr("ry",b.ry),void 0!==b.attrs)for(let a in b.attrs)c.attr(a,b.attrs[a]);return b.class&&c.attr("class",b.class),c},"drawRect"),i=(0,e.K)((a,b)=>{h(a,{x:b.startx,y:b.starty,width:b.stopx-b.startx,height:b.stopy-b.starty,fill:b.fill,stroke:b.stroke,class:"rect"}).lower()},"drawBackgroundRect"),j=(0,e.K)((a,b)=>{let c=b.text.replace(d.H1," "),e=a.append("text");e.attr("x",b.x),e.attr("y",b.y),e.attr("class","legend"),e.style("text-anchor",b.anchor),b.class&&e.attr("class",b.class);let f=e.append("tspan");return f.attr("x",b.x+2*b.textMargin),f.text(c),e},"drawText"),k=(0,e.K)((a,b,c,d)=>{let e=a.append("image");e.attr("x",b),e.attr("y",c);let g=(0,f.J)(d);e.attr("xlink:href",g)},"drawImage"),l=(0,e.K)((a,b,c,d)=>{let e=a.append("use");e.attr("x",b),e.attr("y",c);let g=(0,f.J)(d);e.attr("xlink:href",`#${g}`)},"drawEmbeddedImage"),m=(0,e.K)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),n=(0,e.K)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),o=(0,e.K)(()=>{let a=(0,g.Ltv)(".mermaidTooltip");return a.empty()&&(a=(0,g.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),a},"createTooltip")}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=8872,exports.ids=[8872],exports.modules={28872:(a,b,c)=>{c.d(b,{createTreeViewServices:()=>d.I});var d=c(47707);c(9824)}};
|