@vectorize-io/hindsight-control-plane 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/package.json +1 -1
  2. package/standalone/.next/BUILD_ID +1 -1
  3. package/standalone/.next/app-path-routes-manifest.json +2 -0
  4. package/standalone/.next/build-manifest.json +7 -8
  5. package/standalone/.next/prerender-manifest.json +3 -7
  6. package/standalone/.next/required-server-files.json +40 -193
  7. package/standalone/.next/routes-manifest.json +17 -1
  8. package/standalone/.next/server/app/_global-error/page/build-manifest.json +5 -6
  9. package/standalone/.next/server/app/_global-error/page.js +2 -2
  10. package/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  11. package/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  12. package/standalone/.next/server/app/_global-error.html +2 -2
  13. package/standalone/.next/server/app/_global-error.rsc +8 -8
  14. package/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  15. package/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +8 -8
  16. package/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +4 -6
  17. package/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  18. package/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/standalone/.next/server/app/_not-found/page/build-manifest.json +5 -6
  20. package/standalone/.next/server/app/_not-found/page.js +2 -2
  21. package/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  22. package/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  23. package/standalone/.next/server/app/_not-found.html +1 -1
  24. package/standalone/.next/server/app/_not-found.rsc +12 -12
  25. package/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +12 -12
  26. package/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +5 -7
  27. package/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
  28. package/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  29. package/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  30. package/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  31. package/standalone/.next/server/app/api/banks/[bankId]/route/app-paths-manifest.json +3 -0
  32. package/standalone/.next/server/app/api/banks/[bankId]/route/build-manifest.json +11 -0
  33. package/standalone/.next/server/app/api/banks/[bankId]/route/server-reference-manifest.json +4 -0
  34. package/standalone/.next/server/app/api/banks/[bankId]/route.js +7 -0
  35. package/standalone/.next/server/app/api/banks/[bankId]/route.js.map +5 -0
  36. package/standalone/.next/server/app/api/banks/[bankId]/route.js.nft.json +1 -0
  37. package/standalone/.next/server/app/api/banks/[bankId]/route_client-reference-manifest.js +2 -0
  38. package/standalone/.next/server/app/api/banks/route.js +3 -2
  39. package/standalone/.next/server/app/api/banks/route.js.nft.json +1 -1
  40. package/standalone/.next/server/app/api/chunks/[chunkId]/route.js +3 -2
  41. package/standalone/.next/server/app/api/chunks/[chunkId]/route.js.nft.json +1 -1
  42. package/standalone/.next/server/app/api/documents/[documentId]/route.js +3 -2
  43. package/standalone/.next/server/app/api/documents/[documentId]/route.js.nft.json +1 -1
  44. package/standalone/.next/server/app/api/documents/route.js +3 -2
  45. package/standalone/.next/server/app/api/documents/route.js.nft.json +1 -1
  46. package/standalone/.next/server/app/api/entities/[entityId]/regenerate/route.js +3 -2
  47. package/standalone/.next/server/app/api/entities/[entityId]/regenerate/route.js.nft.json +1 -1
  48. package/standalone/.next/server/app/api/entities/[entityId]/route.js +3 -2
  49. package/standalone/.next/server/app/api/entities/[entityId]/route.js.nft.json +1 -1
  50. package/standalone/.next/server/app/api/entities/route.js +3 -2
  51. package/standalone/.next/server/app/api/entities/route.js.nft.json +1 -1
  52. package/standalone/.next/server/app/api/graph/route.js +3 -2
  53. package/standalone/.next/server/app/api/graph/route.js.nft.json +1 -1
  54. package/standalone/.next/server/app/api/health/route.js +2 -1
  55. package/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
  56. package/standalone/.next/server/app/api/list/route.js +3 -2
  57. package/standalone/.next/server/app/api/list/route.js.nft.json +1 -1
  58. package/standalone/.next/server/app/api/memories/[memoryId]/route/app-paths-manifest.json +3 -0
  59. package/standalone/.next/server/app/api/memories/[memoryId]/route/build-manifest.json +11 -0
  60. package/standalone/.next/server/app/api/memories/[memoryId]/route/server-reference-manifest.json +4 -0
  61. package/standalone/.next/server/app/api/memories/[memoryId]/route.js +6 -0
  62. package/standalone/.next/server/app/api/memories/[memoryId]/route.js.map +5 -0
  63. package/standalone/.next/server/app/api/memories/[memoryId]/route.js.nft.json +1 -0
  64. package/standalone/.next/server/app/api/memories/[memoryId]/route_client-reference-manifest.js +2 -0
  65. package/standalone/.next/server/app/api/memories/retain/route.js +3 -2
  66. package/standalone/.next/server/app/api/memories/retain/route.js.nft.json +1 -1
  67. package/standalone/.next/server/app/api/memories/retain_async/route.js +3 -2
  68. package/standalone/.next/server/app/api/memories/retain_async/route.js.nft.json +1 -1
  69. package/standalone/.next/server/app/api/operations/[agentId]/route.js +3 -2
  70. package/standalone/.next/server/app/api/operations/[agentId]/route.js.nft.json +1 -1
  71. package/standalone/.next/server/app/api/profile/[bankId]/route.js +3 -2
  72. package/standalone/.next/server/app/api/profile/[bankId]/route.js.nft.json +1 -1
  73. package/standalone/.next/server/app/api/recall/route.js +3 -2
  74. package/standalone/.next/server/app/api/recall/route.js.nft.json +1 -1
  75. package/standalone/.next/server/app/api/reflect/route.js +3 -2
  76. package/standalone/.next/server/app/api/reflect/route.js.nft.json +1 -1
  77. package/standalone/.next/server/app/api/stats/[agentId]/route.js +3 -2
  78. package/standalone/.next/server/app/api/stats/[agentId]/route.js.nft.json +1 -1
  79. package/standalone/.next/server/app/banks/[bankId]/page/build-manifest.json +5 -6
  80. package/standalone/.next/server/app/banks/[bankId]/page.js +2 -2
  81. package/standalone/.next/server/app/banks/[bankId]/page.js.nft.json +1 -1
  82. package/standalone/.next/server/app/banks/[bankId]/page_client-reference-manifest.js +1 -1
  83. package/standalone/.next/server/app/dashboard/page/build-manifest.json +5 -6
  84. package/standalone/.next/server/app/dashboard/page.js +2 -2
  85. package/standalone/.next/server/app/dashboard/page.js.nft.json +1 -1
  86. package/standalone/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
  87. package/standalone/.next/server/app/dashboard.html +1 -1
  88. package/standalone/.next/server/app/dashboard.rsc +14 -14
  89. package/standalone/.next/server/app/dashboard.segments/_full.segment.rsc +14 -14
  90. package/standalone/.next/server/app/dashboard.segments/_head.segment.rsc +5 -7
  91. package/standalone/.next/server/app/dashboard.segments/_index.segment.rsc +6 -6
  92. package/standalone/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  93. package/standalone/.next/server/app/dashboard.segments/dashboard/__PAGE__.segment.rsc +4 -4
  94. package/standalone/.next/server/app/dashboard.segments/dashboard.segment.rsc +3 -3
  95. package/standalone/.next/server/app/index.html +1 -1
  96. package/standalone/.next/server/app/index.rsc +12 -12
  97. package/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  98. package/standalone/.next/server/app/index.segments/_full.segment.rsc +12 -12
  99. package/standalone/.next/server/app/index.segments/_head.segment.rsc +5 -7
  100. package/standalone/.next/server/app/index.segments/_index.segment.rsc +6 -6
  101. package/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  102. package/standalone/.next/server/app/page/build-manifest.json +5 -6
  103. package/standalone/.next/server/app/page.js +3 -3
  104. package/standalone/.next/server/app/page.js.nft.json +1 -1
  105. package/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  106. package/standalone/.next/server/app-paths-manifest.json +2 -0
  107. package/standalone/.next/server/chunks/[root-of-the-server]__116b0d31._.js +3 -0
  108. package/standalone/.next/server/chunks/[root-of-the-server]__296b95db._.js +3 -0
  109. package/standalone/.next/server/chunks/[root-of-the-server]__356491b1._.js +3 -0
  110. package/standalone/.next/server/chunks/[root-of-the-server]__37560d9a._.js +3 -0
  111. package/standalone/.next/server/chunks/[root-of-the-server]__478d7304._.js +3 -0
  112. package/standalone/.next/server/chunks/[root-of-the-server]__51072426._.js +3 -0
  113. package/standalone/.next/server/chunks/[root-of-the-server]__517fcb62._.js +3 -0
  114. package/standalone/.next/server/chunks/[root-of-the-server]__57dac9c2._.js +3 -0
  115. package/standalone/.next/server/chunks/[root-of-the-server]__6872cebd._.js +3 -0
  116. package/standalone/.next/server/chunks/[root-of-the-server]__687469c1._.js +3 -0
  117. package/standalone/.next/server/chunks/[root-of-the-server]__71e0e3b9._.js +21 -0
  118. package/standalone/.next/server/chunks/[root-of-the-server]__8241ce67._.js +3 -0
  119. package/standalone/.next/server/chunks/[root-of-the-server]__85fada80._.js +3 -0
  120. package/standalone/.next/server/chunks/[root-of-the-server]__9a7529ab._.js +1 -1
  121. package/standalone/.next/server/chunks/[root-of-the-server]__9af3dcb2._.js +3 -0
  122. package/standalone/.next/server/chunks/[root-of-the-server]__ab5df0f3._.js +3 -0
  123. package/standalone/.next/server/chunks/[root-of-the-server]__b9387f6f._.js +3 -0
  124. package/standalone/.next/server/chunks/[root-of-the-server]__e4e9fd7e._.js +3 -0
  125. package/standalone/.next/server/chunks/[root-of-the-server]__ef34dcbb._.js +3 -0
  126. package/standalone/.next/server/chunks/[root-of-the-server]__fd2d4ac3._.js +3 -0
  127. package/standalone/.next/server/chunks/[turbopack]_runtime.js +32 -7
  128. package/standalone/.next/server/chunks/e51bf__next-internal_server_app_api_banks_[bankId]_route_actions_e35b026c.js +3 -0
  129. package/standalone/.next/server/chunks/e51bf__next-internal_server_app_api_memories_[memoryId]_route_actions_461fd16c.js +3 -0
  130. package/standalone/.next/server/chunks/hindsight-clients_typescript_dist_79330c4c._.js +3 -0
  131. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__3f6f18bb._.js +1 -1
  132. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__655f8d11._.js +6 -2
  133. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__8dd83d7a._.js +1 -1
  134. package/standalone/.next/server/chunks/ssr/[turbopack]_runtime.js +32 -7
  135. package/standalone/.next/server/chunks/ssr/_04b70dca._.js +6 -0
  136. package/standalone/.next/server/chunks/ssr/_26df66d0._.js +2 -2
  137. package/standalone/.next/server/chunks/ssr/_407ede86._.js +9 -0
  138. package/standalone/.next/server/chunks/ssr/_53a4aa41._.js +2 -2
  139. package/standalone/.next/server/chunks/ssr/_6f1a7a53._.js +6 -0
  140. package/standalone/.next/server/chunks/ssr/_944e56a6._.js +2 -2
  141. package/standalone/.next/server/chunks/ssr/_e3307836._.js +9 -0
  142. package/standalone/.next/server/chunks/ssr/hindsight-control-plane_src_fe96d618._.js +1 -1
  143. package/standalone/.next/server/chunks/ssr/node_modules_256e9ddd._.js +3 -0
  144. package/standalone/.next/server/chunks/ssr/node_modules_next_dist_08570d7f._.js +2 -2
  145. package/standalone/.next/server/chunks/ssr/node_modules_next_dist_4b9a0874._.js +3 -0
  146. package/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_89742413.js +2 -2
  147. package/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js +6 -0
  148. package/standalone/.next/server/middleware-build-manifest.js +5 -6
  149. package/standalone/.next/server/pages/404.html +1 -1
  150. package/standalone/.next/server/pages/500.html +2 -2
  151. package/standalone/.next/server/server-reference-manifest.js +1 -1
  152. package/standalone/.next/server/server-reference-manifest.json +1 -1
  153. package/standalone/.next/static/chunks/068dff78c3e35897.css +2 -0
  154. package/standalone/.next/static/chunks/30ea11065999f7ac.js +1 -0
  155. package/standalone/.next/static/chunks/5777bc08048e2edc.js +4 -0
  156. package/standalone/.next/static/chunks/5d60d221a60086fb.js +1 -0
  157. package/standalone/.next/static/chunks/7340adf74ff47ec0.js +1 -0
  158. package/standalone/.next/static/chunks/8ca05de898c11578.js +1 -0
  159. package/standalone/.next/static/chunks/9b12d8cc6a26cbbc.js +7 -0
  160. package/standalone/.next/static/chunks/a6dad97d9634a72d.js.map +1 -0
  161. package/standalone/.next/static/chunks/c1c4c028479eeb7d.js +7 -0
  162. package/standalone/.next/static/chunks/eef1ea5ced749e04.js +2 -0
  163. package/standalone/.next/static/chunks/f37acefc5ba19606.js +1 -0
  164. package/standalone/.next/static/chunks/turbopack-59d7bb1a28984373.js +4 -0
  165. package/standalone/node_modules/@img/sharp-libvips-linux-x64/README.md +46 -0
  166. package/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  167. package/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/index.js +1 -0
  168. package/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  169. package/standalone/node_modules/@img/sharp-libvips-linux-x64/package.json +42 -0
  170. package/standalone/node_modules/@img/sharp-libvips-linux-x64/versions.json +30 -0
  171. package/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
  172. package/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  173. package/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
  174. package/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  175. package/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
  176. package/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
  177. package/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  178. package/standalone/node_modules/@img/sharp-linux-x64/package.json +46 -0
  179. package/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  180. package/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
  181. package/standalone/node_modules/@next/env/package.json +4 -4
  182. package/standalone/node_modules/next/dist/build/analyze/index.js +242 -0
  183. package/standalone/node_modules/next/dist/build/define-env.js +22 -13
  184. package/standalone/node_modules/next/dist/build/entries.js +5 -5
  185. package/standalone/node_modules/next/dist/build/generate-routes-manifest.js +91 -0
  186. package/standalone/node_modules/next/dist/build/index.js +172 -223
  187. package/standalone/node_modules/next/dist/build/output/log.js +4 -7
  188. package/standalone/node_modules/next/dist/build/segment-config/app/app-segments.js +23 -99
  189. package/standalone/node_modules/next/dist/build/segment-config/app/collect-root-param-keys.js +3 -3
  190. package/standalone/node_modules/next/dist/build/spinner.js +3 -3
  191. package/standalone/node_modules/next/dist/build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree.js +137 -0
  192. package/standalone/node_modules/next/dist/build/static-paths/app.js +69 -210
  193. package/standalone/node_modules/next/dist/build/static-paths/utils.js +83 -11
  194. package/standalone/node_modules/next/dist/build/swc/index.js +10 -6
  195. package/standalone/node_modules/next/dist/build/templates/app-page.js +21 -14
  196. package/standalone/node_modules/next/dist/build/templates/app-route.js +8 -10
  197. package/standalone/node_modules/next/dist/build/templates/edge-app-route.js +7 -10
  198. package/standalone/node_modules/next/dist/build/templates/edge-ssr-app.js +16 -20
  199. package/standalone/node_modules/next/dist/build/templates/edge-ssr.js +20 -14
  200. package/standalone/node_modules/next/dist/build/templates/edge-wrapper.js +24 -0
  201. package/standalone/node_modules/next/dist/build/templates/middleware.js +7 -6
  202. package/standalone/node_modules/next/dist/build/templates/pages-edge-api.js +3 -2
  203. package/standalone/node_modules/next/dist/build/turbopack-analyze/index.js +116 -0
  204. package/standalone/node_modules/next/dist/build/turbopack-build/impl.js +2 -1
  205. package/standalone/node_modules/next/dist/build/type-check.js +7 -8
  206. package/standalone/node_modules/next/dist/build/utils.js +45 -4
  207. package/standalone/node_modules/next/dist/build/validate-app-paths.js +242 -0
  208. package/standalone/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js +20 -2
  209. package/standalone/node_modules/next/dist/build/webpack/loaders/next-edge-app-route-loader/index.js +2 -5
  210. package/standalone/node_modules/next/dist/build/webpack/loaders/next-edge-ssr-loader/index.js +4 -11
  211. package/standalone/node_modules/next/dist/build/webpack/loaders/next-root-params-loader.js +1 -1
  212. package/standalone/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.js +1 -1
  213. package/standalone/node_modules/next/dist/build/webpack/plugins/middleware-plugin.js +3 -0
  214. package/standalone/node_modules/next/dist/build/webpack-build/impl.js +1 -0
  215. package/standalone/node_modules/next/dist/build/webpack-config.js +35 -3
  216. package/standalone/node_modules/next/dist/cli/next-test.js +3 -5
  217. package/standalone/node_modules/next/dist/client/components/app-router-headers.js +5 -0
  218. package/standalone/node_modules/next/dist/client/components/app-router-instance.js +3 -11
  219. package/standalone/node_modules/next/dist/client/components/app-router.js +8 -28
  220. package/standalone/node_modules/next/dist/client/components/navigation-devtools.js +5 -7
  221. package/standalone/node_modules/next/dist/client/components/navigation.js +4 -3
  222. package/standalone/node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js +3 -22
  223. package/standalone/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js +6 -18
  224. package/standalone/node_modules/next/dist/client/components/router-reducer/ppr-navigations.js +844 -590
  225. package/standalone/node_modules/next/dist/client/components/router-reducer/reducers/hmr-refresh-reducer.js +4 -76
  226. package/standalone/node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js +21 -18
  227. package/standalone/node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js +48 -85
  228. package/standalone/node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js +25 -10
  229. package/standalone/node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js +126 -113
  230. package/standalone/node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js +30 -39
  231. package/standalone/node_modules/next/dist/client/components/router-reducer/router-reducer-types.js +0 -1
  232. package/standalone/node_modules/next/dist/client/components/router-reducer/router-reducer.js +2 -2
  233. package/standalone/node_modules/next/dist/client/components/segment-cache/cache-map.js +13 -18
  234. package/standalone/node_modules/next/dist/client/components/segment-cache/cache.js +27 -14
  235. package/standalone/node_modules/next/dist/client/components/segment-cache/lru.js +3 -1
  236. package/standalone/node_modules/next/dist/client/components/segment-cache/navigation.js +176 -133
  237. package/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +12 -12
  238. package/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +12 -12
  239. package/standalone/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +3 -3
  240. package/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +10 -10
  241. package/standalone/node_modules/next/dist/compiled/react-is/package.json +1 -1
  242. package/standalone/node_modules/next/dist/lib/build-custom-route.js +4 -4
  243. package/standalone/node_modules/next/dist/lib/constants.js +0 -5
  244. package/standalone/node_modules/next/dist/lib/generate-interception-routes-rewrites.js +0 -1
  245. package/standalone/node_modules/next/dist/lib/helpers/get-npx-command.js +3 -3
  246. package/standalone/node_modules/next/dist/lib/inline-static-env.js +1 -1
  247. package/standalone/node_modules/next/dist/lib/metadata/metadata.js +17 -11
  248. package/standalone/node_modules/next/dist/lib/needs-experimental-react.js +2 -2
  249. package/standalone/node_modules/next/dist/lib/resolve-build-paths.js +44 -76
  250. package/standalone/node_modules/next/dist/lib/server-external-packages.jsonc +103 -0
  251. package/standalone/node_modules/next/dist/lib/static-env.js +6 -6
  252. package/standalone/node_modules/next/dist/lib/turbopack-warning.js +3 -5
  253. package/standalone/node_modules/next/dist/lib/typescript/runTypeCheck.js +61 -5
  254. package/standalone/node_modules/next/dist/lib/typescript/type-paths.js +56 -0
  255. package/standalone/node_modules/next/dist/lib/typescript/writeConfigurationDefaults.js +6 -17
  256. package/standalone/node_modules/next/dist/lib/verify-typescript-setup.js +10 -2
  257. package/standalone/node_modules/next/dist/lib/worker.js +17 -9
  258. package/standalone/node_modules/next/dist/server/app-render/action-handler.js +113 -77
  259. package/standalone/node_modules/next/dist/server/app-render/app-render-prerender-utils.js +36 -15
  260. package/standalone/node_modules/next/dist/server/app-render/app-render-render-utils.js +36 -15
  261. package/standalone/node_modules/next/dist/server/app-render/app-render-scheduling.js +188 -0
  262. package/standalone/node_modules/next/dist/server/app-render/app-render.js +804 -748
  263. package/standalone/node_modules/next/dist/server/app-render/collect-segment-data.js +8 -2
  264. package/standalone/node_modules/next/dist/server/app-render/create-component-styles-and-scripts.js +1 -1
  265. package/standalone/node_modules/next/dist/server/app-render/create-error-handler.js +42 -75
  266. package/standalone/node_modules/next/dist/server/app-render/dynamic-rendering.js +127 -14
  267. package/standalone/node_modules/next/dist/server/app-render/encryption-utils.js +3 -108
  268. package/standalone/node_modules/next/dist/server/app-render/encryption.js +4 -3
  269. package/standalone/node_modules/next/dist/server/app-render/flight-render-result.js +3 -2
  270. package/standalone/node_modules/next/dist/server/app-render/get-css-inlined-link-tags.js +9 -8
  271. package/standalone/node_modules/next/dist/server/app-render/get-layer-assets.js +1 -1
  272. package/standalone/node_modules/next/dist/server/app-render/manifests-singleton.js +257 -0
  273. package/standalone/node_modules/next/dist/server/app-render/prospective-render-utils.js +25 -8
  274. package/standalone/node_modules/next/dist/server/app-render/staged-rendering.js +161 -15
  275. package/standalone/node_modules/next/dist/server/app-render/use-flight-response.js +67 -20
  276. package/standalone/node_modules/next/dist/server/app-render/walk-tree-with-flight-router-state.js +2 -2
  277. package/standalone/node_modules/next/dist/server/async-storage/work-store.js +2 -1
  278. package/standalone/node_modules/next/dist/server/base-server.js +32 -23
  279. package/standalone/node_modules/next/dist/server/config-schema.js +8 -1
  280. package/standalone/node_modules/next/dist/server/config-shared.js +83 -2
  281. package/standalone/node_modules/next/dist/server/config.js +24 -17
  282. package/standalone/node_modules/next/dist/server/dev/hot-reloader-rspack.js +171 -0
  283. package/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +37 -25
  284. package/standalone/node_modules/next/dist/server/dev/hot-reloader-types.js +1 -0
  285. package/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +62 -57
  286. package/standalone/node_modules/next/dist/server/dev/log-requests.js +11 -3
  287. package/standalone/node_modules/next/dist/server/dev/messages.js +10 -0
  288. package/standalone/node_modules/next/dist/server/dev/serialized-errors.js +67 -0
  289. package/standalone/node_modules/next/dist/server/dev/static-paths-worker.js +10 -0
  290. package/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  291. package/standalone/node_modules/next/dist/server/lib/chrome-devtools-workspace.js +2 -2
  292. package/standalone/node_modules/next/dist/server/lib/dev-bundler-service.js +6 -10
  293. package/standalone/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +4 -4
  294. package/standalone/node_modules/next/dist/server/lib/lazy-result.js +1 -1
  295. package/standalone/node_modules/next/dist/server/lib/patch-fetch.js +9 -9
  296. package/standalone/node_modules/next/dist/server/lib/router-server.js +43 -29
  297. package/standalone/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.js +0 -21
  298. package/standalone/node_modules/next/dist/server/lib/router-utils/filesystem.js +2 -7
  299. package/standalone/node_modules/next/dist/server/lib/router-utils/resolve-routes.js +8 -4
  300. package/standalone/node_modules/next/dist/server/lib/start-server.js +3 -3
  301. package/standalone/node_modules/next/dist/server/lib/trace/tracer.js +4 -0
  302. package/standalone/node_modules/next/dist/server/load-components.js +3 -9
  303. package/standalone/node_modules/next/dist/server/next-server.js +19 -18
  304. package/standalone/node_modules/next/dist/server/next.js +1 -1
  305. package/standalone/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js +570 -0
  306. package/standalone/node_modules/next/dist/server/node-environment-extensions/utils.js +60 -3
  307. package/standalone/node_modules/next/dist/server/node-environment.js +1 -0
  308. package/standalone/node_modules/next/dist/server/patch-error-inspect.js +7 -4
  309. package/standalone/node_modules/next/dist/server/request/fallback-params.js +23 -66
  310. package/standalone/node_modules/next/dist/server/route-modules/app-route/module.js +2 -2
  311. package/standalone/node_modules/next/dist/server/route-modules/pages/pages-handler.js +6 -3
  312. package/standalone/node_modules/next/dist/server/route-modules/route-module.js +79 -18
  313. package/standalone/node_modules/next/dist/server/stream-utils/node-web-streams-helper.js +28 -4
  314. package/standalone/node_modules/next/dist/server/typescript/rules/config.js +50 -6
  315. package/standalone/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +68 -23
  316. package/standalone/node_modules/next/dist/server/web/edge-route-module-wrapper.js +7 -5
  317. package/standalone/node_modules/next/dist/server/web/sandbox/context.js +8 -9
  318. package/standalone/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js +2 -1
  319. package/standalone/node_modules/next/dist/server/web/spec-extension/revalidate.js +7 -3
  320. package/standalone/node_modules/next/dist/shared/lib/action-revalidation-kind.js +31 -0
  321. package/standalone/node_modules/next/dist/shared/lib/constants.js +6 -1
  322. package/standalone/node_modules/next/dist/shared/lib/deployment-id.js +36 -0
  323. package/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +1 -1
  324. package/standalone/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js +5 -0
  325. package/standalone/node_modules/next/dist/shared/lib/router/routes/app.js +122 -0
  326. package/standalone/node_modules/next/dist/shared/lib/router/utils/get-dynamic-param.js +20 -49
  327. package/standalone/node_modules/next/dist/shared/lib/router/utils/get-segment-param.js +6 -6
  328. package/standalone/node_modules/next/dist/shared/lib/router/utils/interception-prefix-from-param-type.js +33 -0
  329. package/standalone/node_modules/next/dist/shared/lib/router/utils/resolve-param-value.js +116 -0
  330. package/standalone/node_modules/next/dist/shared/lib/segment-cache/output-export-prefetch-encoding.js +3 -24
  331. package/standalone/node_modules/next/dist/shared/lib/segment.js +5 -0
  332. package/standalone/node_modules/next/dist/shared/lib/turbopack/utils.js +6 -5
  333. package/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  334. package/standalone/node_modules/next/dist/telemetry/events/build.js +11 -0
  335. package/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
  336. package/standalone/node_modules/next/package.json +20 -18
  337. package/standalone/node_modules/react/cjs/react.production.js +1 -1
  338. package/standalone/node_modules/react/package.json +1 -1
  339. package/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +1 -1
  340. package/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +1 -1
  341. package/standalone/node_modules/react-dom/cjs/react-dom-server.browser.production.js +3 -3
  342. package/standalone/node_modules/react-dom/cjs/react-dom-server.edge.production.js +3 -3
  343. package/standalone/node_modules/react-dom/cjs/react-dom-server.node.production.js +3 -3
  344. package/standalone/node_modules/react-dom/cjs/react-dom.production.js +1 -1
  345. package/standalone/node_modules/react-dom/package.json +2 -2
  346. package/standalone/package.json +1 -1
  347. package/standalone/server.js +1 -1
  348. package/standalone/.next/server/chunks/[root-of-the-server]__02a1e7f7._.js +0 -3
  349. package/standalone/.next/server/chunks/[root-of-the-server]__0f1b189c._.js +0 -3
  350. package/standalone/.next/server/chunks/[root-of-the-server]__228c769f._.js +0 -3
  351. package/standalone/.next/server/chunks/[root-of-the-server]__317b54d0._.js +0 -21
  352. package/standalone/.next/server/chunks/[root-of-the-server]__464d3847._.js +0 -3
  353. package/standalone/.next/server/chunks/[root-of-the-server]__5e1d146d._.js +0 -3
  354. package/standalone/.next/server/chunks/[root-of-the-server]__6ee44ea3._.js +0 -3
  355. package/standalone/.next/server/chunks/[root-of-the-server]__73093267._.js +0 -3
  356. package/standalone/.next/server/chunks/[root-of-the-server]__81c0d784._.js +0 -3
  357. package/standalone/.next/server/chunks/[root-of-the-server]__9c3dd746._.js +0 -3
  358. package/standalone/.next/server/chunks/[root-of-the-server]__bae0f53c._.js +0 -3
  359. package/standalone/.next/server/chunks/[root-of-the-server]__be9afc00._.js +0 -3
  360. package/standalone/.next/server/chunks/[root-of-the-server]__d2485edb._.js +0 -3
  361. package/standalone/.next/server/chunks/[root-of-the-server]__d4b39930._.js +0 -3
  362. package/standalone/.next/server/chunks/[root-of-the-server]__d4f9d631._.js +0 -3
  363. package/standalone/.next/server/chunks/[root-of-the-server]__e5a6b81d._.js +0 -3
  364. package/standalone/.next/server/chunks/[root-of-the-server]__f318615b._.js +0 -3
  365. package/standalone/.next/server/chunks/ssr/_3476210c._.js +0 -6
  366. package/standalone/.next/server/chunks/ssr/_5e906836._.js +0 -9
  367. package/standalone/.next/server/chunks/ssr/_8362f37b._.js +0 -6
  368. package/standalone/.next/server/chunks/ssr/_e8cbc2be._.js +0 -9
  369. package/standalone/.next/server/chunks/ssr/node_modules_5363a9de._.js +0 -3
  370. package/standalone/.next/server/chunks/ssr/node_modules_next_dist_cc88faaa._.js +0 -3
  371. package/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_3fe9760a._.js +0 -6
  372. package/standalone/.next/static/chunks/023d923a37d494fc.js +0 -1
  373. package/standalone/.next/static/chunks/0e1b9f3295e06ab1.js +0 -1
  374. package/standalone/.next/static/chunks/0e662c07abb2cacd.js +0 -1
  375. package/standalone/.next/static/chunks/247eb132b7f7b574.js +0 -1
  376. package/standalone/.next/static/chunks/497f7b5edc7d3fce.js +0 -1
  377. package/standalone/.next/static/chunks/4a2e6ca9bc162ffe.js +0 -4
  378. package/standalone/.next/static/chunks/9bc5002cc495aadf.js +0 -7
  379. package/standalone/.next/static/chunks/9eef728357965f0b.js +0 -7
  380. package/standalone/.next/static/chunks/c0409be3e0eda16b.js +0 -1
  381. package/standalone/.next/static/chunks/d0cdc56d06040c69.js +0 -2
  382. package/standalone/.next/static/chunks/f3b9062eed4c1661.css +0 -2
  383. package/standalone/.next/static/chunks/turbopack-030018f439265ea0.js +0 -3
  384. package/standalone/node_modules/next/dist/build/deployment-id.js +0 -18
  385. package/standalone/node_modules/next/dist/client/components/router-reducer/apply-flight-data.js +0 -53
  386. package/standalone/node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js +0 -105
  387. package/standalone/node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js +0 -110
  388. package/standalone/node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js +0 -131
  389. package/standalone/node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js +0 -25
  390. package/standalone/node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js +0 -32
  391. package/standalone/node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js +0 -104
  392. package/standalone/node_modules/next/dist/lib/server-external-packages.json +0 -75
  393. package/standalone/node_modules/next/dist/server/app-render/action-utils.js +0 -90
  394. package/standalone/node_modules/next/dist/server/normalizers/request/prefetch-rsc.js +0 -31
  395. /package/standalone/.next/static/{49bdaGRmDVYO0WSBsNFA3 → FoyZVJhqn8jToZ2jQdT4e}/_buildManifest.js +0 -0
  396. /package/standalone/.next/static/{49bdaGRmDVYO0WSBsNFA3 → FoyZVJhqn8jToZ2jQdT4e}/_clientMiddlewareManifest.json +0 -0
  397. /package/standalone/.next/static/{49bdaGRmDVYO0WSBsNFA3 → FoyZVJhqn8jToZ2jQdT4e}/_ssgManifest.js +0 -0
@@ -0,0 +1,9 @@
1
+ module.exports=[91735,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={assign:function(){return i},searchParamsToUrlQuery:function(){return f},urlQueryToSearchParams:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){let b={};for(let[c,d]of a.entries()){let a=b[c];void 0===a?b[c]=d:Array.isArray(a)?a.push(d):b[c]=[a,d]}return b}function g(a){return"string"==typeof a?a:("number"!=typeof a||isNaN(a))&&"boolean"!=typeof a?"":String(a)}function h(a){let b=new URLSearchParams;for(let[c,d]of Object.entries(a))if(Array.isArray(d))for(let a of d)b.append(c,g(a));else b.set(c,g(d));return b}function i(a,...b){for(let c of b){for(let b of c.keys())a.delete(b);for(let[b,d]of c.entries())a.append(b,d)}return a}},43087,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={formatUrl:function(){return h},formatWithValidation:function(){return j},urlObjectKeys:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(46058)._(a.r(91735)),g=/https?|ftp|gopher|file/;function h(a){let{auth:b,hostname:c}=a,d=a.protocol||"",e=a.pathname||"",h=a.hash||"",i=a.query||"",j=!1;b=b?encodeURIComponent(b).replace(/%3A/i,":")+"@":"",a.host?j=b+a.host:c&&(j=b+(~c.indexOf(":")?`[${c}]`:c),a.port&&(j+=":"+a.port)),i&&"object"==typeof i&&(i=String(f.urlQueryToSearchParams(i)));let k=a.search||i&&`?${i}`||"";return d&&!d.endsWith(":")&&(d+=":"),a.slashes||(!d||g.test(d))&&!1!==j?(j="//"+(j||""),e&&"/"!==e[0]&&(e="/"+e)):j||(j=""),h&&"#"!==h[0]&&(h="#"+h),k&&"?"!==k[0]&&(k="?"+k),e=e.replace(/[?#]/g,encodeURIComponent),k=k.replace("#","%23"),`${d}${j}${e}${k}${h}`}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function j(a){return h(a)}},46272,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DecodeError:function(){return s},MiddlewareNotFoundError:function(){return w},MissingStaticPage:function(){return v},NormalizeError:function(){return t},PageNotFoundError:function(){return u},SP:function(){return q},ST:function(){return r},WEB_VITALS:function(){return f},execOnce:function(){return g},getDisplayName:function(){return l},getLocationOrigin:function(){return j},getURL:function(){return k},isAbsoluteUrl:function(){return i},isResSent:function(){return n},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return o},stringifyError:function(){return x}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=["CLS","FCP","FID","INP","LCP","TTFB"];function g(a){let b,c=!1;return(...d)=>(c||(c=!0,b=a(...d)),b)}let h=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,i=a=>h.test(a);function j(){let{protocol:a,hostname:b,port:c}=window.location;return`${a}//${b}${c?":"+c:""}`}function k(){let{href:a}=window.location,b=j();return a.substring(b.length)}function l(a){return"string"==typeof a?a:a.displayName||a.name||"Unknown"}function n(a){return a.finished||a.headersSent}function o(a){let b=a.split("?");return b[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(b[1]?`?${b.slice(1).join("?")}`:"")}async function p(a,b){let c=b.res||b.ctx&&b.ctx.res;if(!a.getInitialProps)return b.ctx&&b.Component?{pageProps:await p(b.Component,b.ctx)}:{};let d=await a.getInitialProps(b);if(c&&n(c))return d;if(!d)throw Object.defineProperty(Error(`"${l(a)}.getInitialProps()" should resolve to an object. But found "${d}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d}let q="undefined"!=typeof performance,r=q&&["mark","measure","getEntriesByName"].every(a=>"function"==typeof performance[a]);class s extends Error{}class t extends Error{}class u extends Error{constructor(a){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${a}`}}class v extends Error{constructor(a,b){super(),this.message=`Failed to load static file for page: ${a} ${b}`}}class w extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function x(a){return JSON.stringify({message:a.message,stack:a.stack})}},8868,(a,b,c)=>{"use strict";function d(a){let b=a.indexOf("#"),c=a.indexOf("?"),d=c>-1&&(b<0||c<b);return d||b>-1?{pathname:a.substring(0,d?c:b),query:d?a.substring(c,b>-1?b:void 0):"",hash:b>-1?a.slice(b):""}:{pathname:a,query:"",hash:""}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"parsePath",{enumerable:!0,get:function(){return d}})},5407,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"addPathPrefix",{enumerable:!0,get:function(){return e}});let d=a.r(8868);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return`${b}${c}${e}${f}`}},46112,(a,b,c)=>{"use strict";function d(a){return a.replace(/\/$/,"")||"/"}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"removeTrailingSlash",{enumerable:!0,get:function(){return d}})},25075,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return f}});let d=a.r(46112),e=a.r(8868),f=a=>{if(!a.startsWith("/"))return a;let{pathname:b,query:c,hash:f}=(0,e.parsePath)(a);return`${(0,d.removeTrailingSlash)(b)}${c}${f}`};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},38243,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"addBasePath",{enumerable:!0,get:function(){return f}});let d=a.r(5407),e=a.r(25075);function f(a,b){return(0,e.normalizePathTrailingSlash)((0,d.addPathPrefix)(a,""))}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},10846,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e,f,g={FetchStrategy:function(){return k},NavigationResultTag:function(){return i},PrefetchPriority:function(){return j}};for(var h in g)Object.defineProperty(c,h,{enumerable:!0,get:g[h]});var i=((d={})[d.MPA=0]="MPA",d[d.Success=1]="Success",d[d.NoOp=2]="NoOp",d[d.Async=3]="Async",d),j=((e={})[e.Intent=2]="Intent",e[e.Default=1]="Default",e[e.Background=0]="Background",e),k=((f={})[f.LoadingBoundary=0]="LoadingBoundary",f[f.PPR=1]="PPR",f[f.PPRRuntime=2]="PPRRuntime",f[f.Full=3]="Full",f);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},92702,(a,b,c)=>{"use strict";function d(a,b){let c=new URL(a);return{pathname:c.pathname,search:c.search,nextUrl:b}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createCacheKey",{enumerable:!0,get:function(){return d}}),("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},76e3,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"HasLoadingBoundary",{enumerable:!0,get:function(){return e}});var d,e=((d={})[d.SegmentHasLoadingBoundary=1]="SegmentHasLoadingBoundary",d[d.SubtreeHasLoadingBoundary=2]="SubtreeHasLoadingBoundary",d[d.SubtreeHasNoLoadingBoundary=3]="SubtreeHasNoLoadingBoundary",d)},30641,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"matchSegment",{enumerable:!0,get:function(){return d}});let d=(a,b)=>"string"==typeof a?"string"==typeof b&&a===b:"string"!=typeof b&&a[0]===b[0]&&a[1]===b[1];("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},37909,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ACTION_HEADER:function(){return g},FLIGHT_HEADERS:function(){return p},NEXT_ACTION_NOT_FOUND_HEADER:function(){return w},NEXT_ACTION_REVALIDATED_HEADER:function(){return z},NEXT_DID_POSTPONE_HEADER:function(){return s},NEXT_HMR_REFRESH_HASH_COOKIE:function(){return l},NEXT_HMR_REFRESH_HEADER:function(){return k},NEXT_HTML_REQUEST_ID_HEADER:function(){return y},NEXT_IS_PRERENDER_HEADER:function(){return v},NEXT_REQUEST_ID_HEADER:function(){return x},NEXT_REWRITTEN_PATH_HEADER:function(){return t},NEXT_REWRITTEN_QUERY_HEADER:function(){return u},NEXT_ROUTER_PREFETCH_HEADER:function(){return i},NEXT_ROUTER_SEGMENT_PREFETCH_HEADER:function(){return j},NEXT_ROUTER_STALE_TIME_HEADER:function(){return r},NEXT_ROUTER_STATE_TREE_HEADER:function(){return h},NEXT_RSC_UNION_QUERY:function(){return q},NEXT_URL:function(){return n},RSC_CONTENT_TYPE_HEADER:function(){return o},RSC_HEADER:function(){return f}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="rsc",g="next-action",h="next-router-state-tree",i="next-router-prefetch",j="next-router-segment-prefetch",k="next-hmr-refresh",l="__next_hmr_refresh_hash__",n="next-url",o="text/x-component",p=[f,h,i,k,j],q="_rsc",r="x-nextjs-stale-time",s="x-nextjs-postponed",t="x-nextjs-rewritten-path",u="x-nextjs-rewritten-query",v="x-nextjs-prerender",w="x-nextjs-action-not-found",x="x-nextjs-request-id",y="x-nextjs-html-request-id",z="x-action-revalidated";("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},88347,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e={ACTION_HMR_REFRESH:function(){return k},ACTION_NAVIGATE:function(){return h},ACTION_REFRESH:function(){return g},ACTION_RESTORE:function(){return i},ACTION_SERVER_ACTION:function(){return l},ACTION_SERVER_PATCH:function(){return j},PrefetchKind:function(){return n}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});let g="refresh",h="navigate",i="restore",j="server-patch",k="hmr-refresh",l="server-action";var n=((d={}).AUTO="auto",d.FULL="full",d);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},67009,(a,b,c)=>{"use strict";function d(a){return null!==a&&"object"==typeof a&&"then"in a&&"function"==typeof a.then}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isThenable",{enumerable:!0,get:function(){return d}})},90841,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={dispatchAppRouterAction:function(){return i},useActionQueue:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(46058)._(a.r(72131)),g=a.r(67009),h=null;function i(a){if(null===h)throw Object.defineProperty(Error("Internal Next.js error: Router action dispatched before initialization."),"__NEXT_ERROR_CODE",{value:"E668",enumerable:!1,configurable:!0});h(a)}function j(a){let[b,c]=f.default.useState(a.state);h=b=>a.dispatch(b,c);let d=(0,f.useMemo)(()=>b,[b]);return(0,g.isThenable)(d)?(0,f.use)(d):d}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},20611,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"callServer",{enumerable:!0,get:function(){return g}});let d=a.r(72131),e=a.r(88347),f=a.r(90841);async function g(a,b){return new Promise((c,g)=>{(0,d.startTransition)(()=>{(0,f.dispatchAppRouterAction)({type:e.ACTION_SERVER_ACTION,actionId:a,actionArgs:b,resolve:c,reject:g})})})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},1722,(a,b,c)=>{"use strict";let d;Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"findSourceMapURL",{enumerable:!0,get:function(){return d}});("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},58216,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={HEAD_REQUEST_KEY:function(){return h},ROOT_SEGMENT_REQUEST_KEY:function(){return g},appendSegmentRequestKeyPart:function(){return j},convertSegmentPathToStaticExportFilename:function(){return n},createSegmentRequestKeyPart:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(39118),g="",h="/_head";function i(a){if("string"==typeof a)return a.startsWith(f.PAGE_SEGMENT_KEY)?f.PAGE_SEGMENT_KEY:"/_not-found"===a?"_not-found":l(a);let b=a[0];return"$"+a[2]+"$"+l(b)}function j(a,b,c){return a+"/"+("children"===b?c:`@${l(b)}/${c}`)}let k=/^[a-zA-Z0-9\-_@]+$/;function l(a){return k.test(a)?a:"!"+btoa(a).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function n(a){return`__next${a.replace(/\//g,".")}.txt`}},23187,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={doesStaticSegmentAppearInURL:function(){return l},getCacheKeyForDynamicParam:function(){return n},getParamValueFromCacheKey:function(){return p},getRenderedPathname:function(){return j},getRenderedSearch:function(){return i},parseDynamicParamFromURLPart:function(){return k},urlSearchParamsToParsedUrlQuery:function(){return q},urlToUrlWithoutFlightMarker:function(){return o}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(39118),g=a.r(58216),h=a.r(37909);function i(a){let b=a.headers.get(h.NEXT_REWRITTEN_QUERY_HEADER);return null!==b?""===b?"":"?"+b:o(new URL(a.url)).search}function j(a){return a.headers.get(h.NEXT_REWRITTEN_PATH_HEADER)??o(new URL(a.url)).pathname}function k(a,b,c){switch(a){case"c":return c<b.length?b.slice(c).map(a=>encodeURIComponent(a)):[];case"ci(..)(..)":case"ci(.)":case"ci(..)":case"ci(...)":{let d=a.length-2;return c<b.length?b.slice(c).map((a,b)=>0===b?encodeURIComponent(a.slice(d)):encodeURIComponent(a)):[]}case"oc":return c<b.length?b.slice(c).map(a=>encodeURIComponent(a)):null;case"d":if(c>=b.length)return"";return encodeURIComponent(b[c]);case"di(..)(..)":case"di(.)":case"di(..)":case"di(...)":{let d=a.length-2;if(c>=b.length)return"";return encodeURIComponent(b[c].slice(d))}default:return""}}function l(a){return!(a===g.ROOT_SEGMENT_REQUEST_KEY||a.startsWith(f.PAGE_SEGMENT_KEY)||"("===a[0]&&a.endsWith(")"))&&a!==f.DEFAULT_SEGMENT_KEY&&"/_not-found"!==a}function n(a,b){return"string"==typeof a?(0,f.addSearchParamsIfPageSegment)(a,Object.fromEntries(new URLSearchParams(b))):null===a?"":a.join("/")}function o(a){let b=new URL(a);return b.searchParams.delete(h.NEXT_RSC_UNION_QUERY),b}function p(a,b){return"c"===b||"oc"===b?a.split("/"):a}function q(a){let b={};for(let[c,d]of a.entries())void 0===b[c]?b[c]=d:Array.isArray(b[c])?b[c].push(d):b[c]=[b[c],d];return b}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},74685,(a,b,c)=>{"use strict";function d(a,b=!0){return a.pathname+a.search+(b?a.hash:"")}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createHrefFromUrl",{enumerable:!0,get:function(){return d}}),("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},22129,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={createInitialRSCPayloadFromFallbackPrerender:function(){return j},getFlightDataPartsFromPath:function(){return i},getNextFlightSegmentPath:function(){return k},normalizeFlightData:function(){return l},prepareFlightRouterStateForRequest:function(){return n}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(39118),g=a.r(23187),h=a.r(74685);function i(a){let[b,c,d,e]=a.slice(-4),f=a.slice(0,-4);return{pathToSegment:f.slice(0,-1),segmentPath:f,segment:f[f.length-1]??"",tree:b,seedData:c,head:d,isHeadPartial:e,isRootRender:4===a.length}}function j(a,b){let c=(0,g.getRenderedPathname)(a),d=(0,g.getRenderedSearch)(a),e=(0,h.createHrefFromUrl)(new URL(location.href)),f=b.f[0],i=f[0];return{b:b.b,c:e.split("/"),q:d,i:b.i,f:[[function a(b,c,d,e){let f,h,i=b[0];if("string"==typeof i)f=i,h=(0,g.doesStaticSegmentAppearInURL)(i);else{let a=i[0],b=i[2],j=(0,g.parseDynamicParamFromURLPart)(b,d,e);f=[a,(0,g.getCacheKeyForDynamicParam)(j,c),b],h=!0}let j=h?e+1:e,k=b[1],l={};for(let b in k){let e=k[b];l[b]=a(e,c,d,j)}return[f,l,null,b[3],b[4]]}(i,d,c.split("/").filter(a=>""!==a),0),f[1],f[2],f[2]]],m:b.m,G:b.G,S:b.S}}function k(a){return a.slice(2)}function l(a){return"string"==typeof a?a:a.map(a=>i(a))}function n(a,b){return b?encodeURIComponent(JSON.stringify(a)):encodeURIComponent(JSON.stringify(function a(b){var c,d;let[e,g,h,i,j,k]=b,l="string"==typeof(c=e)&&c.startsWith(f.PAGE_SEGMENT_KEY+"?")?f.PAGE_SEGMENT_KEY:c,n={};for(let[b,c]of Object.entries(g))n[b]=a(c);let o=[l,n,null,(d=i)&&"refresh"!==d?i:null];return void 0!==j&&(o[4]=j),void 0!==k&&(o[5]=k),o}(a)))}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},91377,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getAppBuildId:function(){return h},setAppBuildId:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="";function g(a){f=a}function h(){return f}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},16661,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={djb2Hash:function(){return f},hexHash:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){let b=5381;for(let c=0;c<a.length;c++)b=(b<<5)+b+a.charCodeAt(c)|0;return b>>>0}function g(a){return f(a).toString(36).slice(0,5)}},35604,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"computeCacheBustingSearchParam",{enumerable:!0,get:function(){return e}});let d=a.r(16661);function e(a,b,c,e){return(void 0===a||"0"===a)&&void 0===b&&void 0===c&&void 0===e?"":(0,d.hexHash)([a||"0",b||"0",c||"0",e||"0"].join(","))}},25744,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={setCacheBustingSearchParam:function(){return h},setCacheBustingSearchParamWithHash:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(35604),g=a.r(37909),h=(a,b)=>{i(a,(0,f.computeCacheBustingSearchParam)(b[g.NEXT_ROUTER_PREFETCH_HEADER],b[g.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER],b[g.NEXT_ROUTER_STATE_TREE_HEADER],b[g.NEXT_URL]))},i=(a,b)=>{let c=a.search,d=(c.startsWith("?")?c.slice(1):c).split("&").filter(a=>a&&!a.startsWith(`${g.NEXT_RSC_UNION_QUERY}=`));b.length>0?d.push(`${g.NEXT_RSC_UNION_QUERY}=${b}`):d.push(`${g.NEXT_RSC_UNION_QUERY}`),a.search=d.length?`?${d.join("&")}`:""};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},20873,(a,b,c)=>{"use strict";let d;Object.defineProperty(c,"__esModule",{value:!0});var e={createFetch:function(){return u},createFromNextReadableStream:function(){return v},fetchServerResponse:function(){return t}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});let g=a.r(38783),h=a.r(37909),i=a.r(20611),j=a.r(1722),k=a.r(22129),l=a.r(91377),n=a.r(25744),o=a.r(23187),p=a.r(68063),q=g.createFromReadableStream,r=g.createFromFetch;function s(a){return(0,o.urlToUrlWithoutFlightMarker)(new URL(a,location.origin)).toString()}async function t(a,b){let{flightRouterState:c,nextUrl:d}=b,e={[h.RSC_HEADER]:"1",[h.NEXT_ROUTER_STATE_TREE_HEADER]:(0,k.prepareFlightRouterStateForRequest)(c,b.isHmrRefresh)};d&&(e[h.NEXT_URL]=d);try{let b=await u(a,e,"auto",!0),c=(0,o.urlToUrlWithoutFlightMarker)(new URL(b.url)),d=b.redirected?c:a,f=b.headers.get("content-type")||"",g=!!b.headers.get("vary")?.includes(h.NEXT_URL),i=!!b.headers.get(h.NEXT_DID_POSTPONE_HEADER),j=b.headers.get(h.NEXT_ROUTER_STALE_TIME_HEADER),n=null!==j?1e3*parseInt(j,10):-1;if(!f.startsWith(h.RSC_CONTENT_TYPE_HEADER)||!b.ok||!b.body)return a.hash&&(c.hash=a.hash),s(c.toString());let p=b.flightResponse;if(null===p){let a,c=i?(a=b.body.getReader(),new ReadableStream({async pull(b){for(;;){let{done:c,value:d}=await a.read();if(!c){b.enqueue(d);continue}return}}})):b.body;p=v(c,e)}let q=await p;if((0,l.getAppBuildId)()!==q.b)return s(b.url);let r=(0,k.normalizeFlightData)(q.f);if("string"==typeof r)return s(r);return{flightData:r,canonicalUrl:d,renderedSearch:(0,o.getRenderedSearch)(b),couldBeIntercepted:g,prerendered:q.S,postponed:i,staleTime:n,debugInfo:p._debugInfo??null}}catch(b){return console.error(`Failed to fetch RSC payload for ${a}. Falling back to browser navigation.`,b),a.toString()}}async function u(a,b,c,e,f){var g,k;let l=(0,p.getDeploymentId)();l&&(b["x-deployment-id"]=l);let o=new URL(a);(0,n.setCacheBustingSearchParam)(o,b);let q=fetch(o,{credentials:"same-origin",headers:b,priority:c||void 0,signal:f}),s=e?(g=q,k=b,r(g,{callServer:i.callServer,findSourceMapURL:j.findSourceMapURL,debugChannel:d&&d(k)})):null,t=await q,u=t.redirected,v=new URL(t.url,o);return v.searchParams.delete(h.NEXT_RSC_UNION_QUERY),{url:v.href,redirected:u,ok:t.ok,headers:t.headers,body:t.body,status:t.status,flightResponse:s}}function v(a,b){return q(a,{callServer:i.callServer,findSourceMapURL:j.findSourceMapURL,debugChannel:d&&d(b)})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},54645,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={deleteFromLru:function(){return l},lruPut:function(){return j},updateLruSize:function(){return k}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(51561),g=null,h=!1,i=0;function j(a){if(g===a)return;let b=a.prev,c=a.next;if(null===c||null===b?(i+=a.size,n()):(b.next=c,c.prev=b),null===g)a.prev=a,a.next=a;else{let b=g.prev;a.prev=b,null!==b&&(b.next=a),a.next=g,g.prev=a}g=a}function k(a,b){let c=a.size;a.size=b,null!==a.next&&(i=i-c+b,n())}function l(a){let b=a.next,c=a.prev;null!==b&&null!==c&&(i-=a.size,a.next=null,a.prev=null,g===a?g=b===g?null:b:(c.next=b,b.prev=c))}function n(){h||i<=0x3200000||(h=!0,p(o))}function o(){h=!1;for(;i>0x2d00000&&null!==g;){let a=g.prev;null!==a&&(0,f.deleteMapEntry)(a)}}let p="function"==typeof requestIdleCallback?requestIdleCallback:a=>setTimeout(a,0);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},51561,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={Fallback:function(){return g},createCacheMap:function(){return i},deleteFromCacheMap:function(){return o},deleteMapEntry:function(){return p},getFromCacheMap:function(){return j},isValueExpired:function(){return k},setInCacheMap:function(){return l},setSizeInCacheMap:function(){return q}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(54645),g={},h={};function i(){return{parent:null,key:null,value:null,map:null,prev:null,next:null,size:0}}function j(a,b,c,d,e){let i=function a(b,c,d,e,f,i){let j,l;if(null!==e)j=e.value,l=e.parent;else if(f&&i!==h)j=h,l=null;else return null===d.value?d:k(b,c,d.value)?(p(d),null):d;let n=d.map;if(null!==n){let d=n.get(j);if(void 0!==d){let e=a(b,c,d,l,f,j);if(null!==e)return e}let e=n.get(g);if(void 0!==e)return a(b,c,e,l,f,j)}return null}(a,b,c,d,e,0);return null===i||null===i.value?null:((0,f.lruPut)(i),i.value)}function k(a,b,c){return c.staleAt<=a||c.version<b}function l(a,b,c,d){let e=function(a,b,c){let d=a,e=b,f=null;for(;;){let a=f;if(null!==e)f=e.value,e=e.parent;else if(c&&a!==h){if(null===d.value)return d;f=h}else break;let b=d.map;if(null!==b){let a=b.get(f);if(void 0!==a){d=a;continue}}else b=new Map,d.map=b;let g={parent:d,key:f,value:null,map:null,prev:null,next:null,size:0};b.set(f,g),d=g}return d}(a,b,d);n(e,c),(0,f.lruPut)(e),(0,f.updateLruSize)(e,c.size)}function n(a,b){null!==a.value&&(a.value.ref=null,a.value=null);let c=b.ref;a.value=b,b.ref=a,(0,f.updateLruSize)(a,b.size),null!==c&&c!==a&&c.value===b&&p(c)}function o(a){let b=a.ref;null!==b&&(a.ref=null,p(b))}function p(a){a.value=null,(0,f.deleteFromLru)(a);let b=a.map;if(null===b){let b=a.parent,c=a.key;for(;null!==b;){let a=b.map;if(null!==a&&(a.delete(c),0===a.size)&&(b.map=null,null===b.value)){c=b.key,b=b.parent;continue}break}}else{let c=b.get(h);void 0!==c&&null!==c.value&&n(a,c.value)}}function q(a,b){let c=a.ref;null!==c&&(a.size=b,(0,f.updateLruSize)(c,b))}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},91442,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={appendLayoutVaryPath:function(){return k},clonePageVaryPathWithNewSearchParams:function(){return q},finalizeLayoutVaryPath:function(){return l},finalizeMetadataVaryPath:function(){return o},finalizePageVaryPath:function(){return n},getFulfilledRouteVaryPath:function(){return j},getRouteVaryPath:function(){return i},getSegmentVaryPathForRequest:function(){return p}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(10846),g=a.r(51561),h=a.r(58216);function i(a,b,c){return{value:a,parent:{value:b,parent:{value:c,parent:null}}}}function j(a,b,c,d){return{value:a,parent:{value:b,parent:{value:d?c:g.Fallback,parent:null}}}}function k(a,b){return{value:b,parent:a}}function l(a,b){return{value:a,parent:b}}function n(a,b,c){return{value:a,parent:{value:b,parent:c}}}function o(a,b,c){return{value:a+h.HEAD_REQUEST_KEY,parent:{value:b,parent:c}}}function p(a,b){let c=b.varyPath;if(b.isPage&&a!==f.FetchStrategy.Full&&a!==f.FetchStrategy.PPRRuntime){let a=c.parent.parent;return{value:c.value,parent:{value:g.Fallback,parent:a}}}return c}function q(a,b){let c=a.parent;return{value:a.value,parent:{value:b,parent:c.parent}}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},19924,(a,b,c)=>{"use strict";function d(a){return a.startsWith("/")?a:`/${a}`}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureLeadingSlash",{enumerable:!0,get:function(){return d}})},53808,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={normalizeAppPath:function(){return h},normalizeRscURL:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(19924),g=a.r(39118);function h(a){return(0,f.ensureLeadingSlash)(a.split("/").reduce((a,b,c,d)=>!b||(0,g.isGroupSegment)(b)||"@"===b[0]||("page"===b||"route"===b)&&c===d.length-1?a:`${a}/${b}`,""))}function i(a){return a.replace(/\.rsc($|\?)/,"$1")}},18099,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={INTERCEPTION_ROUTE_MARKERS:function(){return g},extractInterceptionRouteInformation:function(){return i},isInterceptionRouteAppPath:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(53808),g=["(..)(..)","(.)","(..)","(...)"];function h(a){return void 0!==a.split("/").find(a=>g.find(b=>a.startsWith(b)))}function i(a){let b,c,d;for(let e of a.split("/"))if(c=g.find(a=>e.startsWith(a))){[b,d]=a.split(c,2);break}if(!b||!c||!d)throw Object.defineProperty(Error(`Invalid interception route: ${a}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`),"__NEXT_ERROR_CODE",{value:"E269",enumerable:!1,configurable:!0});switch(b=(0,f.normalizeAppPath)(b),c){case"(.)":d="/"===b?`/${d}`:b+"/"+d;break;case"(..)":if("/"===b)throw Object.defineProperty(Error(`Invalid interception route: ${a}. Cannot use (..) marker at the root level, use (.) instead.`),"__NEXT_ERROR_CODE",{value:"E207",enumerable:!1,configurable:!0});d=b.split("/").slice(0,-1).concat(d).join("/");break;case"(...)":d="/"+d;break;case"(..)(..)":let e=b.split("/");if(e.length<=2)throw Object.defineProperty(Error(`Invalid interception route: ${a}. Cannot use (..)(..) marker at the root level or one level up.`),"__NEXT_ERROR_CODE",{value:"E486",enumerable:!1,configurable:!0});d=e.slice(0,-2).concat(d).join("/");break;default:throw Object.defineProperty(Error("Invariant: unexpected marker"),"__NEXT_ERROR_CODE",{value:"E112",enumerable:!1,configurable:!0})}return{interceptingRoute:b,interceptedRoute:d}}},37042,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={computeChangedPath:function(){return l},extractPathFromFlightRouterState:function(){return k},getSelectedParams:function(){return function a(b,c={}){for(let d of Object.values(b[1])){let b=d[0],e=Array.isArray(b),f=e?b[1]:b;!f||f.startsWith(g.PAGE_SEGMENT_KEY)||(e&&("c"===b[2]||"oc"===b[2])?c[b[0]]=b[1].split("/"):e&&(c[b[0]]=b[1]),c=a(d,c))}return c}}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(18099),g=a.r(39118),h=a.r(30641),i=a=>"string"==typeof a?"children"===a?"":a:a[1];function j(a){return a.reduce((a,b)=>{let c;return""===(b="/"===(c=b)[0]?c.slice(1):c)||(0,g.isGroupSegment)(b)?a:`${a}/${b}`},"")||"/"}function k(a){let b=Array.isArray(a[0])?a[0][1]:a[0];if(b===g.DEFAULT_SEGMENT_KEY||f.INTERCEPTION_ROUTE_MARKERS.some(a=>b.startsWith(a)))return;if(b.startsWith(g.PAGE_SEGMENT_KEY))return"";let c=[i(b)],d=a[1]??{},e=d.children?k(d.children):void 0;if(void 0!==e)c.push(e);else for(let[a,b]of Object.entries(d)){if("children"===a)continue;let d=k(b);void 0!==d&&c.push(d)}return j(c)}function l(a,b){let c=function a(b,c){let[d,e]=b,[g,j]=c,l=i(d),n=i(g);if(f.INTERCEPTION_ROUTE_MARKERS.some(a=>l.startsWith(a)||n.startsWith(a)))return"";if(!(0,h.matchSegment)(d,g))return k(c)??"";for(let b in e)if(j[b]){let c=a(e[b],j[b]);if(null!==c)return`${i(g)}/${c}`}return null}(a,b);return null==c||"/"===c?c:j(c.split("/"))}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},88632,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"handleMutable",{enumerable:!0,get:function(){return f}});let d=a.r(37042);function e(a){return void 0!==a}function f(a,b){let c=b.shouldScroll??!0,f=a.previousNextUrl,g=a.nextUrl;if(e(b.patchedTree)){let c=(0,d.computeChangedPath)(a.tree,b.patchedTree);c?(f=g,g=c):g||(g=a.canonicalUrl)}return{canonicalUrl:b.canonicalUrl??a.canonicalUrl,renderedSearch:b.renderedSearch??a.renderedSearch,pushRef:{pendingPush:e(b.pendingPush)?b.pendingPush:a.pushRef.pendingPush,mpaNavigation:e(b.mpaNavigation)?b.mpaNavigation:a.pushRef.mpaNavigation,preserveCustomHistoryState:e(b.preserveCustomHistoryState)?b.preserveCustomHistoryState:a.pushRef.preserveCustomHistoryState},focusAndScrollRef:{apply:!!c&&(!!e(b?.scrollableSegments)||a.focusAndScrollRef.apply),onlyHashChange:b.onlyHashChange||!1,hashFragment:c?b.hashFragment&&""!==b.hashFragment?decodeURIComponent(b.hashFragment.slice(1)):a.focusAndScrollRef.hashFragment:null,segmentPaths:c?b?.scrollableSegments??a.focusAndScrollRef.segmentPaths:[]},cache:b.cache?b.cache:a.cache,tree:e(b.patchedTree)?b.patchedTree:a.tree,nextUrl:g,previousNextUrl:f,debugInfo:b.collectedDebugInfo??null}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},70681,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createRouterCacheKey",{enumerable:!0,get:function(){return e}});let d=a.r(39118);function e(a,b=!1){return Array.isArray(a)?`${a[0]}|${a[1]}|${a[2]}`:b&&a.startsWith(d.PAGE_SEGMENT_KEY)?d.PAGE_SEGMENT_KEY:a}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},71094,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isNavigatingToNewRootLayout",{enumerable:!0,get:function(){return function a(b,c){let d=b[0],e=c[0];if(Array.isArray(d)&&Array.isArray(e)){if(d[0]!==e[0]||d[2]!==e[2])return!0}else if(d!==e)return!0;if(b[4])return!c[4];if(c[4])return!0;let f=Object.values(b[1])[0],g=Object.values(c[1])[0];return!f||!g||a(f,g)}}}),("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},57051,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e={FreshnessPolicy:function(){return r},createInitialCacheNodeForHydration:function(){return t},isDeferredRsc:function(){return H},spawnDynamicRequests:function(){return C},startPPRNavigation:function(){return u}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});let g=a.r(39118),h=a.r(30641),i=a.r(74685),j=a.r(70681),k=a.r(20873),l=a.r(90841),n=a.r(88347),o=a.r(71094),p=a.r(23053),q=a.r(37472);var r=((d={})[d.Default=0]="Default",d[d.Hydration=1]="Hydration",d[d.HistoryTraversal=2]="HistoryTraversal",d[d.RefreshAll=3]="RefreshAll",d[d.HMRRefresh=4]="HMRRefresh",d);let s=()=>{};function t(a,b,c,d){return v(a,b,void 0,1,c,d,null,null,!1,null,null,!1,{scrollableSegments:null,separateRefreshUrls:null}).node}function u(a,b,c,d,e,f,k,l,n,p,q,r,s){return function a(b,c,d,e,f,k,l,n,p,q,r,s,t,u,B,C,D,E){var F,G;let H,I,J,K=e[0],L=f[0];if(!(0,h.matchSegment)(L,K))return!l&&(0,o.isNavigatingToNewRootLayout)(e,f)||L===g.NOT_FOUND_SEGMENT_KEY||null===u||null===B?null:v(b,f,d,k,n,p,q,r,s,u,B,C,E);let M=null!==B&&null!==u?u.concat([B,L]):[],N=f[1],O=e[1],P=null!==n?n[1]:null,Q=null!==q?q[1]:null,R=!0===f[4],S=l||R,T=void 0!==d?d.parallelRoutes:void 0,U=!1,V=!1;switch(k){case 0:case 2:case 1:U=!1,V=!1;break;case 3:case 4:U=!0,V=!0}let W=new Map(U?void 0:T),X=0===Object.keys(N).length;if(void 0===d||V||X&&t)if(null!==n&&null!==n[0]){let a=n[0],c=n[2],d=null===p;I=z(a,c,!1,p,d,X,W,b),J=X&&d}else if(null!==q){let a=q[0],c=q[2],d=q[3];I=z(a,c,d,r,s,X,W,b),J=d||X&&s}else I=A(W,X,b,k),J=!0;else I=y(!1,d,W),J=!1;let Y=f[2],Z="string"==typeof Y&&"refresh"===f[3]?Y:D;J&&null!==Z&&(F=E,G=Z,null===(H=F.separateRefreshUrls)?F.separateRefreshUrls=new Set([G]):H.add(G));let $={},_=null,aa=!1,ab={};for(let d in N){let e=N[d],f=O[d];if(void 0===f)return null;let h=void 0!==T?T.get(d):void 0,l=null!==P?P[d]:null,n=null!==Q?Q[d]:null,o=e[0],q=p,u=r,v=s;2!==k&&o===g.DEFAULT_SEGMENT_KEY&&(o=(e=function(a,b){let c;return"refresh"===b[3]?c=b:((c=w(b,b[1]))[2]=(0,i.createHrefFromUrl)(a),c[3]="refresh"),c}(c,f))[0],l=null,q=null,n=null,u=null,v=!1);let x=(0,j.createRouterCacheKey)(o),y=a(b,c,void 0!==h?h.get(x):void 0,f,e,k,S,l??null,q,n??null,u,v,t,M,d,C||J,Z,E);if(null===y)return null;null===_&&(_=new Map),_.set(d,y);let z=y.node;if(null!==z){let a=new Map(U?void 0:h);a.set(x,z),W.set(d,a)}let A=y.route;$[d]=A;let B=y.dynamicRequestTree;null!==B?(aa=!0,ab[d]=B):ab[d]=A}return{status:+!J,route:w(f,$),node:I,dynamicRequestTree:x(f,ab,J,aa,C),refreshUrl:Z,children:_}}(a,b,null!==c?c:void 0,d,e,f,!1,k,l,n,p,q,r,null,null,!1,null,s)}function v(a,b,c,d,e,f,g,h,i,k,l,n,o){let q,r,s=b[0],t=null!==l&&null!==k?k.concat([l,s]):[],u=b[1],B=null!==g?g[1]:null,C=null!==e?e[1]:null,D=void 0!==c?c.parallelRoutes:void 0,E=!1,F=!1,G=!1;switch(d){case 0:E=!1,F=void 0===c||a-c.navigatedAt>=p.DYNAMIC_STALETIME_MS,G=!1;break;case 1:F=!1,E=!1,G=!1;break;case 2:if(F=!1,F=!1,void 0!==c){let a=c.rsc;G=!H(a)||"pending"!==a.status}else G=!1;break;case 3:case 4:F=!0,E=!0,G=!1}let I=new Map(E?void 0:D),J=0===Object.keys(u).length;if(J&&(null===o.scrollableSegments&&(o.scrollableSegments=[]),o.scrollableSegments.push(t)),F||void 0===c)if(null!==e&&null!==e[0]){let b=e[0],c=e[2],g=null===f&&1!==d;q=z(b,c,!1,f,g,J,I,a),r=J&&g}else if(1===d&&J&&null!==f)q=z(null,null,!1,f,!1,J,I,a),r=!1;else if(1!==d&&null!==g){let b=g[0],c=g[2],d=g[3];q=z(b,c,d,h,i,J,I,a),r=d||J&&i}else q=A(I,J,a,d),r=!0;else q=y(G,c,I),r=!1;let K={},L=null,M=!1,N={};for(let b in u){let c=u[b],e=void 0!==D?D.get(b):void 0,g=null!==C?C[b]:null,k=null!==B?B[b]:null,l=c[0],p=(0,j.createRouterCacheKey)(l),q=v(a,c,void 0!==e?e.get(p):void 0,d,g??null,f,k??null,h,i,t,b,n||r,o);null===L&&(L=new Map),L.set(b,q);let s=q.node;if(null!==s){let a=new Map(E?void 0:e);a.set(p,s),I.set(b,a)}let w=q.route;K[b]=w;let x=q.dynamicRequestTree;null!==x?(M=!0,N[b]=x):N[b]=w}return{status:+!r,route:w(b,K),node:q,dynamicRequestTree:x(b,N,r,M,n),refreshUrl:null,children:L}}function w(a,b){let c=[a[0],b];return 2 in a&&(c[2]=a[2]),3 in a&&(c[3]=a[3]),4 in a&&(c[4]=a[4]),c}function x(a,b,c,d,e){let f=null;return c?(f=w(a,b),e||(f[3]="refetch")):f=d?w(a,b):null,f}function y(a,b,c){return{rsc:b.rsc,prefetchRsc:a?null:b.prefetchRsc,head:b.head,prefetchHead:a?null:b.prefetchHead,loading:b.loading,parallelRoutes:c,navigatedAt:b.navigatedAt}}function z(a,b,c,d,e,f,g,h){let i,j,k,l;return c?(j=a,i=I()):(j=null,i=a),f?e?(k=d,l=I()):(k=null,l=d):(k=null,l=null),{rsc:i,prefetchRsc:j,head:l,prefetchHead:k,loading:b,parallelRoutes:g,navigatedAt:h}}function A(a,b,c,d){let e=1===d;return{rsc:e?null:I(),prefetchRsc:null,head:!e&&b?I():null,prefetchHead:null,loading:e?null:I(),parallelRoutes:a,navigatedAt:c}}let B=!1;function C(a,b,c,d,e){let f=a.dynamicRequestTree;if(null===f){B=!1;return}let g=F(a,f,b,c,d),h=e.separateRefreshUrls,j=null;if(null!==h){j=[];let e=(0,i.createHrefFromUrl)(b);for(let b of h)b!==e&&null!==f&&j.push(F(a,f,new URL(b,location.origin),c,d))}D(a,c,g,j).then(s,s)}async function D(a,b,c,d){var e,f;let g=await (e=c,f=d,new Promise(a=>{let b=b=>{0===b.exitStatus?0==--d&&a(0):a(b.exitStatus)},c=()=>a(2),d=1;e.then(b,c),null!==f&&(d+=f.length,f.forEach(a=>a.then(b,c)))}));switch(0===g&&(g=function a(b,c,d){var e,f,g;let h,i,j,k;0===b.status?(b.status=2,e=b.node,f=c,g=d,H(i=e.rsc)&&(null===f?i.resolve(null,g):i.reject(f,g)),H(j=e.loading)&&j.resolve(null,g),H(k=e.head)&&k.resolve(null,g),h=null===b.refreshUrl?1:2):h=0;let l=b.children;if(null!==l)for(let[,b]of l){let e=a(b,c,d);e>h&&(h=e)}return h}(a,null,null)),g){case 0:B=!1;return;case 1:{let d=await c;E(!1,d.url,b,d.seed,a.route);return}case 2:{let d=await c;E(!0,d.url,b,d.seed,a.route);return}default:return g}}function E(a,b,c,d,e){a=a||B,B=!0;let f={type:n.ACTION_SERVER_PATCH,previousTree:e,url:b,nextUrl:c,seed:d,mpa:a};(0,l.dispatchAppRouterAction)(f)}async function F(a,b,c,d,e){try{let f=await (0,k.fetchServerResponse)(c,{flightRouterState:b,nextUrl:d,isHmrRefresh:4===e});if("string"==typeof f)return{exitStatus:2,url:new URL(f,location.origin),seed:null};let g=(0,q.convertServerPatchToFullTree)(a.route,f.flightData,f.renderedSearch);return{exitStatus:+!!function a(b,c,d,e,f){0===b.status&&null!==d&&(b.status=1,function(a,b,c,d){let e=a.rsc,f=b[0];if(null===f)return;null===e?a.rsc=f:H(e)&&e.resolve(f,d);let g=a.loading;if(H(g)){let a=b[2];g.resolve(a,d)}let h=a.head;H(h)&&h.resolve(c,d)}(b.node,d,e,f));let g=b.children,i=c[1],j=null!==d?d[1]:null,k=!1;if(null!==g)for(let b in i){let c=i[b],d=null!==j?j[b]:null,l=g.get(b);if(void 0===l)k=!0;else{let b=l.route[0];(0,h.matchSegment)(c[0],b)&&null!=d&&a(l,c,d,e,f)&&(k=!0)}}return k}(a,g.tree,g.data,g.head,f.debugInfo),url:new URL(f.canonicalUrl,location.origin),seed:g}}catch{return{exitStatus:2,url:c,seed:null}}}let G=Symbol();function H(a){return a&&"object"==typeof a&&a.tag===G}function I(){let a,b,c=[],d=new Promise((c,d)=>{a=c,b=d});return d.status="pending",d.resolve=(b,e)=>{"pending"===d.status&&(d.status="fulfilled",d.value=b,null!==e&&c.push.apply(c,e),a(b))},d.reject=(a,e)=>{"pending"===d.status&&(d.status="rejected",d.reason=a,null!==e&&c.push.apply(c,e),b(a))},d.tag=G,d._debugInfo=c,d}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},37472,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={convertServerPatchToFullTree:function(){return v},navigate:function(){return n},navigateToSeededRoute:function(){return o}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(20873),g=a.r(57051),h=a.r(74685),i=a.r(99032),j=a.r(92702),k=a.r(39118),l=a.r(10846);function n(a,b,c,d,e,f,g,h){let k=Date.now(),n=a.href,o=n===b.href,q=(0,j.createCacheKey)(n,e),t=(0,i.readRouteCacheEntry)(k,q);if(null!==t&&t.status===i.EntryStatus.Fulfilled){let h=r(k,t,t.tree),i=h.flightRouterState,j=h.seedData,l=s(k,t),n=l.rsc,q=l.isPartial,u=t.canonicalUrl+a.hash;return p(k,a,b,e,o,c,d,i,j,n,q,u,t.renderedSearch,f,g)}if(null===t||t.status!==i.EntryStatus.Rejected){let h=(0,i.requestOptimisticRouteCacheEntry)(k,a,e);if(null!==h){let i=r(k,h,h.tree),j=i.flightRouterState,l=i.seedData,n=s(k,h),q=n.rsc,t=n.isPartial,u=h.canonicalUrl+a.hash;return p(k,a,b,e,o,c,d,j,l,q,t,u,h.renderedSearch,f,g)}}let v=h.collectedDebugInfo??[];return void 0===h.collectedDebugInfo&&(v=h.collectedDebugInfo=[]),{tag:l.NavigationResultTag.Async,data:u(k,a,b,e,c,d,f,g,v)}}function o(a,b,c,d,e,f,h,i,j,k){let n={scrollableSegments:null,separateRefreshUrls:null},o=b.href===e.href,p=(0,g.startPPRNavigation)(a,e,f,h,d.tree,i,d.data,d.head,null,null,!1,o,n);return null!==p?((0,g.spawnDynamicRequests)(p,b,j,i,n),q(p,c,d.renderedSearch,n.scrollableSegments,k,b.hash)):{tag:l.NavigationResultTag.MPA,data:c}}function p(a,b,c,d,e,f,h,i,j,k,n,o,p,r,s){let t={scrollableSegments:null,separateRefreshUrls:null},u=(0,g.startPPRNavigation)(a,c,f,h,i,r,null,null,j,k,n,e,t);return null!==u?((0,g.spawnDynamicRequests)(u,b,d,r,t),q(u,o,p,t.scrollableSegments,s,b.hash)):{tag:l.NavigationResultTag.MPA,data:o}}function q(a,b,c,d,e,f){return{tag:l.NavigationResultTag.Success,data:{flightRouterState:a.route,cacheNode:a.node,canonicalUrl:b,renderedSearch:c,scrollableSegments:d,shouldScroll:e,hash:f}}}function r(a,b,c){let d={},e={},f=c.slots;if(null!==f)for(let c in f){let g=r(a,b,f[c]);d[c]=g.flightRouterState,e[c]=g.seedData}let g=null,h=null,j=!0,l=(0,i.readSegmentCacheEntry)(a,c.varyPath);if(null!==l)switch(l.status){case i.EntryStatus.Fulfilled:g=l.rsc,h=l.loading,j=l.isPartial;break;case i.EntryStatus.Pending:{let a=(0,i.waitForSegmentCacheEntry)(l);g=a.then(a=>null!==a?a.rsc:null),h=a.then(a=>null!==a?a.loading:null),j=l.isPartial}case i.EntryStatus.Empty:case i.EntryStatus.Rejected:}return{flightRouterState:[(0,k.addSearchParamsIfPageSegment)(c.segment,Object.fromEntries(new URLSearchParams(b.renderedSearch))),d,null,null,c.isRootLayout],seedData:[g,e,h,j,!1]}}function s(a,b){let c=null,d=!0,e=(0,i.readSegmentCacheEntry)(a,b.metadata.varyPath);if(null!==e)switch(e.status){case i.EntryStatus.Fulfilled:c=e.rsc,d=e.isPartial;break;case i.EntryStatus.Pending:c=(0,i.waitForSegmentCacheEntry)(e).then(a=>null!==a?a.rsc:null),d=e.isPartial;case i.EntryStatus.Empty:case i.EntryStatus.Rejected:}return{rsc:c,isPartial:d}}let t=["",{},null,"refetch"];async function u(a,b,c,d,e,i,j,k,n){let p;switch(j){case g.FreshnessPolicy.Default:case g.FreshnessPolicy.HistoryTraversal:p=i;break;case g.FreshnessPolicy.Hydration:case g.FreshnessPolicy.RefreshAll:case g.FreshnessPolicy.HMRRefresh:p=t;break;default:p=i}let q=(0,f.fetchServerResponse)(b,{flightRouterState:p,nextUrl:d}),r=await q;if("string"==typeof r)return{tag:l.NavigationResultTag.MPA,data:r};let{flightData:s,canonicalUrl:u,renderedSearch:w,debugInfo:x}=r;null!==x&&n.push(...x);let y=v(i,s,w);return o(a,b,(0,h.createHrefFromUrl)(u),y,c,e,i,j,d,k)}function v(a,b,c){let d=a,e=null,f=null;for(let{segmentPath:a,tree:c,seedData:g,head:h}of b){let b=function a(b,c,d,e,f,g){let h;if(g===f.length)return{tree:d,data:e};let i=f[g],j=b[1],k=null!==c?c[1]:null,l={},n={};for(let b in j){let c=j[b],h=null!==k?k[b]??null:null;if(b===i){let i=a(c,h,d,e,f,g+2);l[b]=i.tree,n[b]=i.data}else l[b]=c,n[b]=h}return h=[b[0],l],2 in b&&(h[2]=b[2]),3 in b&&(h[3]=b[3]),4 in b&&(h[4]=b[4]),{tree:h,data:[null,n,null,!0,!1]}}(d,e,c,g,a,0);d=b.tree,e=b.data,f=h}return{tree:d,data:e,renderedSearch:c,head:f}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},23053,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DYNAMIC_STALETIME_MS:function(){return l},STATIC_STALETIME_MS:function(){return n},generateSegmentsFromPatch:function(){return function a(b){let c=[],[d,e]=b;if(0===Object.keys(e).length)return[[d]];for(let[b,f]of Object.entries(e))for(let e of a(f))""===d?c.push([b,...e]):c.push([d,b,...e]);return c}},handleExternalUrl:function(){return o},handleNavigationResult:function(){return p},navigateReducer:function(){return q}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(74685),g=a.r(88632),h=a.r(37472),i=a.r(10846),j=a.r(99032),k=a.r(57051),l=1e3*Number("0"),n=(0,j.getStaleTimeMs)(Number("300"));function o(a,b,c,d){return b.mpaNavigation=!0,b.canonicalUrl=c,b.pendingPush=d,b.scrollableSegments=void 0,(0,g.handleMutable)(a,b)}function p(a,b,c,d,e){switch(e.tag){case i.NavigationResultTag.MPA:return o(b,c,e.data,d);case i.NavigationResultTag.Success:{c.cache=e.data.cacheNode,c.patchedTree=e.data.flightRouterState,c.renderedSearch=e.data.renderedSearch,c.canonicalUrl=e.data.canonicalUrl,c.scrollableSegments=e.data.scrollableSegments??void 0,c.shouldScroll=e.data.shouldScroll,c.hashFragment=e.data.hash;let d=new URL(b.canonicalUrl,a);return a.pathname===d.pathname&&a.search===d.search&&a.hash!==d.hash&&(c.onlyHashChange=!0,c.shouldScroll=e.data.shouldScroll,c.hashFragment=a.hash,c.scrollableSegments=[]),(0,g.handleMutable)(b,c)}case i.NavigationResultTag.Async:return e.data.then(e=>p(a,b,c,d,e),()=>b);default:return b}}function q(a,b){let{url:c,isExternalUrl:d,navigateType:e,shouldScroll:g}=b,i={},j=(0,f.createHrefFromUrl)(c),l="push"===e;if(i.preserveCustomHistoryState=!1,i.pendingPush=l,d)return o(a,i,c.toString(),l);if(document.getElementById("__next-page-redirect"))return o(a,i,j,l);let n=new URL(a.canonicalUrl,location.origin),q=(0,h.navigate)(c,n,a.cache,a.tree,a.nextUrl,k.FreshnessPolicy.Default,g,i);return p(c,a,i,l,q)}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},54427,(a,b,c)=>{"use strict";function d(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createPromiseWithResolvers",{enumerable:!0,get:function(){return d}})},99032,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e={EntryStatus:function(){return z},canNewFetchStrategyProvideMoreContent:function(){return af},convertRouteTreeToFlightRouterState:function(){return function a(b){let c={};if(null!==b.slots)for(let d in b.slots)c[d]=a(b.slots[d]);return[b.segment,c,null,null,b.isRootLayout]}},createDetachedSegmentCacheEntry:function(){return S},fetchRouteOnCacheMiss:function(){return Z},fetchSegmentOnCacheMiss:function(){return $},fetchSegmentPrefetchesUsingDynamicRequest:function(){return _},getCurrentCacheVersion:function(){return F},getStaleTimeMs:function(){return y},overwriteRevalidatingSegmentCacheEntry:function(){return Q},pingInvalidationListeners:function(){return H},readOrCreateRevalidatingSegmentEntry:function(){return P},readOrCreateRouteCacheEntry:function(){return L},readOrCreateSegmentCacheEntry:function(){return O},readRouteCacheEntry:function(){return I},readSegmentCacheEntry:function(){return J},requestOptimisticRouteCacheEntry:function(){return M},revalidateEntireCache:function(){return G},upgradeToPendingSegment:function(){return T},upsertSegmentEntry:function(){return R},waitForSegmentCacheEntry:function(){return K}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});let g=a.r(76e3),h=a.r(37909),i=a.r(20873),j=a.r(42297),k=a.r(91442),l=a.r(91377),n=a.r(74685),o=a.r(92702),p=a.r(23187),q=a.r(51561),r=a.r(58216),s=a.r(22129),t=a.r(23053),u=a.r(16441),v=a.r(39118),w=a.r(10846),x=a.r(54427);function y(a){return 1e3*Math.max(a,30)}var z=((d={})[d.Empty=0]="Empty",d[d.Pending=1]="Pending",d[d.Fulfilled=2]="Fulfilled",d[d.Rejected=3]="Rejected",d);let A=["",{},null,"metadata-only"],B=(0,q.createCacheMap)(),C=(0,q.createCacheMap)(),D=null,E=0;function F(){return E}function G(a,b){E++,(0,j.startRevalidationCooldown)(),(0,u.pingVisibleLinks)(a,b),H(a,b)}function H(a,b){if(null!==D){let c=D;for(let d of(D=null,c))(0,j.isPrefetchTaskDirty)(d,a,b)&&function(a){let b=a.onInvalidate;if(null!==b){a.onInvalidate=null;try{b()}catch(a){"function"==typeof reportError?reportError(a):console.error(a)}}}(d)}}function I(a,b){let c=(0,k.getRouteVaryPath)(b.pathname,b.search,b.nextUrl);return(0,q.getFromCacheMap)(a,E,B,c,!1)}function J(a,b){return(0,q.getFromCacheMap)(a,E,C,b,!1)}function K(a){let b=a.promise;return null===b&&(b=a.promise=(0,x.createPromiseWithResolvers)()),b.promise}function L(a,b,c){null!==b.onInvalidate&&(null===D?D=new Set([b]):D.add(b));let d=I(a,c);if(null!==d)return d;let e={canonicalUrl:null,status:0,blockedTasks:null,tree:null,metadata:null,couldBeIntercepted:!0,isPPREnabled:!1,renderedSearch:null,ref:null,size:0,staleAt:1/0,version:E},f=(0,k.getRouteVaryPath)(c.pathname,c.search,c.nextUrl);return(0,q.setInCacheMap)(B,f,e,!1),e}function M(a,b,c){let d=b.search;if(""===d)return null;let e=new URL(b);e.search="";let f=I(a,(0,o.createCacheKey)(e.href,c));if(null===f||2!==f.status)return null;let g=new URL(f.canonicalUrl,b.origin),h=""!==g.search?g.search:d,i=""!==f.renderedSearch?f.renderedSearch:d,j=new URL(f.canonicalUrl,location.origin);return j.search=h,{canonicalUrl:(0,n.createHrefFromUrl)(j),status:2,blockedTasks:null,tree:N(f.tree,i),metadata:N(f.metadata,i),couldBeIntercepted:f.couldBeIntercepted,isPPREnabled:f.isPPREnabled,renderedSearch:i,ref:null,size:0,staleAt:f.staleAt,version:f.version}}function N(a,b){let c=null,d=a.slots;if(null!==d)for(let a in c={},d){let e=d[a];c[a]=N(e,b)}return a.isPage?{requestKey:a.requestKey,segment:a.segment,varyPath:(0,k.clonePageVaryPathWithNewSearchParams)(a.varyPath,b),isPage:!0,slots:c,isRootLayout:a.isRootLayout,hasLoadingBoundary:a.hasLoadingBoundary,hasRuntimePrefetch:a.hasRuntimePrefetch}:{requestKey:a.requestKey,segment:a.segment,varyPath:a.varyPath,isPage:!1,slots:c,isRootLayout:a.isRootLayout,hasLoadingBoundary:a.hasLoadingBoundary,hasRuntimePrefetch:a.hasRuntimePrefetch}}function O(a,b,c,d){let e=J(a,d.varyPath);if(null!==e)return e;let f=(0,k.getSegmentVaryPathForRequest)(b,d),g=S(c.staleAt);return(0,q.setInCacheMap)(C,f,g,!1),g}function P(a,b,c,d){var e;let f=(e=d.varyPath,(0,q.getFromCacheMap)(a,E,C,e,!0));if(null!==f)return f;let g=(0,k.getSegmentVaryPathForRequest)(b,d),h=S(c.staleAt);return(0,q.setInCacheMap)(C,g,h,!0),h}function Q(a,b,c){let d=(0,k.getSegmentVaryPathForRequest)(a,c),e=S(b.staleAt);return(0,q.setInCacheMap)(C,d,e,!0),e}function R(a,b,c){if((0,q.isValueExpired)(a,E,c))return null;let d=J(a,b);if(null!==d){var e;if(c.fetchStrategy!==d.fetchStrategy&&(e=d.fetchStrategy,!(e<c.fetchStrategy))||!d.isPartial&&c.isPartial)return c.status=3,c.loading=null,c.rsc=null,null;(0,q.deleteFromCacheMap)(d)}return(0,q.setInCacheMap)(C,b,c,!1),c}function S(a){return{status:0,fetchStrategy:w.FetchStrategy.PPR,rsc:null,loading:null,isPartial:!0,promise:null,ref:null,size:0,staleAt:a,version:0}}function T(a,b){return a.status=1,a.fetchStrategy=b,b===w.FetchStrategy.Full&&(a.isPartial=!1),a.version=E,a}function U(a){let b=a.blockedTasks;if(null!==b){for(let a of b)(0,j.pingPrefetchTask)(a);a.blockedTasks=null}}function V(a,b,c,d,e,f,h,i){let j={requestKey:r.HEAD_REQUEST_KEY,segment:r.HEAD_REQUEST_KEY,varyPath:c,isPage:!0,slots:null,isRootLayout:!1,hasLoadingBoundary:g.HasLoadingBoundary.SubtreeHasNoLoadingBoundary,hasRuntimePrefetch:!1};return a.status=2,a.tree=b,a.metadata=j,a.staleAt=d,a.couldBeIntercepted=e,a.canonicalUrl=f,a.renderedSearch=h,a.isPPREnabled=i,U(a),a}function W(a,b,c,d,e){return a.status=2,a.rsc=b,a.loading=c,a.staleAt=d,a.isPartial=e,null!==a.promise&&(a.promise.resolve(a),a.promise=null),a}function X(a,b){a.status=3,a.staleAt=b,U(a)}function Y(a,b){a.status=3,a.staleAt=b,null!==a.promise&&(a.promise.resolve(null),a.promise=null)}async function Z(a,b,c){let d=c.pathname,e=c.search,f=c.nextUrl,j={[h.RSC_HEADER]:"1",[h.NEXT_ROUTER_PREFETCH_HEADER]:"1",[h.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER]:"/_tree"};null!==f&&(j[h.NEXT_URL]=f);try{let c,o,u=new URL(d+e,location.origin);if(c=await ad(u,j),o=null!==c&&c.redirected?new URL(c.url):u,!c||!c.ok||204===c.status||!c.body)return X(a,Date.now()+1e4),null;let z=(0,n.createHrefFromUrl)(o),A=c.headers.get("vary"),C=null!==A&&A.includes(h.NEXT_URL),D=(0,x.createPromiseWithResolvers)(),E="2"===c.headers.get(h.NEXT_DID_POSTPONE_HEADER);if(E){let b,d,e=ae(c.body,D.resolve,function(b){(0,q.setSizeInCacheMap)(a,b)}),f=await (0,i.createFromNextReadableStream)(e,j);if(f.buildId!==(0,l.getAppBuildId)())return X(a,Date.now()+1e4),null;let h=(0,p.getRenderedPathname)(c),n=(0,p.getRenderedSearch)(c),o={metadataVaryPath:null},s=(b=h.split("/").filter(a=>""!==a),d=r.ROOT_SEGMENT_REQUEST_KEY,function a(b,c,d,e,f,h,i,j){let l,n,o=null,q=b.slots;if(null!==q)for(let b in l=!1,n=(0,k.finalizeLayoutVaryPath)(e,d),o={},q){let c,g,l,n=q[b],s=n.name,t=n.paramType,u=n.paramKey;if(null!==t){let a=(0,p.parseDynamicParamFromURLPart)(t,f,h),b=null!==u?u:(0,p.getCacheKeyForDynamicParam)(a,"");l=(0,k.appendLayoutVaryPath)(d,b),g=[s,b,t],c=!0}else l=d,g=s,c=(0,p.doesStaticSegmentAppearInURL)(s);let v=c?h+1:h,w=(0,r.createSegmentRequestKeyPart)(g),x=(0,r.appendSegmentRequestKeyPart)(e,b,w);o[b]=a(n,g,l,x,f,v,i,j)}else e.endsWith(v.PAGE_SEGMENT_KEY)?(l=!0,n=(0,k.finalizePageVaryPath)(e,i,d),null===j.metadataVaryPath&&(j.metadataVaryPath=(0,k.finalizeMetadataVaryPath)(e,i,d))):(l=!1,n=(0,k.finalizeLayoutVaryPath)(e,d));return{requestKey:e,segment:c,varyPath:n,isPage:l,slots:o,isRootLayout:b.isRootLayout,hasLoadingBoundary:g.HasLoadingBoundary.SegmentHasLoadingBoundary,hasRuntimePrefetch:b.hasRuntimePrefetch}}(f.tree,d,null,r.ROOT_SEGMENT_REQUEST_KEY,b,0,n,o)),t=o.metadataVaryPath;if(null===t)return X(a,Date.now()+1e4),null;let u=y(f.staleTime);V(a,s,t,Date.now()+u,C,z,n,E)}else{let d=ae(c.body,D.resolve,function(b){(0,q.setSizeInCacheMap)(a,b)}),e=await (0,i.createFromNextReadableStream)(d,j);if(e.b!==(0,l.getAppBuildId)())return X(a,Date.now()+1e4),null;!function(a,b,c,d,e,f,i,j,l){let n=(0,p.getRenderedSearch)(d),o=(0,s.normalizeFlightData)(e.f);if("string"==typeof o||1!==o.length)return X(f,a+1e4);let q=o[0];if(!q.isRootRender)return X(f,a+1e4);let u=q.tree,w="number"==typeof e.rp?.[1]?e.rp[1]:parseInt(d.headers.get(h.NEXT_ROUTER_STALE_TIME_HEADER)??"",10),x=isNaN(w)?t.STATIC_STALETIME_MS:y(w),z="1"===d.headers.get(h.NEXT_DID_POSTPONE_HEADER),A={metadataVaryPath:null},B=function a(b,c,d,e,f){let h,i,j,l,n=b[0];if(Array.isArray(n)){j=!1;let a=n[1];i=(0,k.appendLayoutVaryPath)(d,a),l=(0,k.finalizeLayoutVaryPath)(c,i),h=n}else i=d,c.endsWith(v.PAGE_SEGMENT_KEY)?(j=!0,h=v.PAGE_SEGMENT_KEY,l=(0,k.finalizePageVaryPath)(c,e,i),null===f.metadataVaryPath&&(f.metadataVaryPath=(0,k.finalizeMetadataVaryPath)(c,e,i))):(j=!1,h=n,l=(0,k.finalizeLayoutVaryPath)(c,i));let o=null,p=b[1];for(let b in p){let d=p[b],g=d[0],h=(0,r.createSegmentRequestKeyPart)(g),j=a(d,(0,r.appendSegmentRequestKeyPart)(c,b,h),i,e,f);null===o?o={[b]:j}:o[b]=j}return{requestKey:c,segment:h,varyPath:l,isPage:j,slots:o,isRootLayout:!0===b[4],hasLoadingBoundary:void 0!==b[5]?b[5]:g.HasLoadingBoundary.SubtreeHasNoLoadingBoundary,hasRuntimePrefetch:!1}}(u,r.ROOT_SEGMENT_REQUEST_KEY,null,n,A),C=A.metadataVaryPath;if(null===C)return X(f,a+1e4);let D=V(f,B,C,a+x,i,j,n,l);ab(a,b,c,d,e,z,D,null)}(Date.now(),b,w.FetchStrategy.LoadingBoundary,c,e,a,C,z,E)}if(!C){let b=(0,k.getFulfilledRouteVaryPath)(d,e,f,C);(0,q.setInCacheMap)(B,b,a,!1)}return{value:null,closed:D.promise}}catch(b){return X(a,Date.now()+1e4),null}}async function $(a,b,c,d){let e=new URL(a.canonicalUrl,location.origin),f=c.nextUrl,g=d.requestKey,j=g===r.ROOT_SEGMENT_REQUEST_KEY?"/_index":g,k={[h.RSC_HEADER]:"1",[h.NEXT_ROUTER_PREFETCH_HEADER]:"1",[h.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER]:j};null!==f&&(k[h.NEXT_URL]=f);try{let c=await ad(e,k);if(!c||!c.ok||204===c.status||"2"!==c.headers.get(h.NEXT_DID_POSTPONE_HEADER)||!c.body)return Y(b,Date.now()+1e4),null;let d=(0,x.createPromiseWithResolvers)(),f=ae(c.body,d.resolve,function(a){(0,q.setSizeInCacheMap)(b,a)}),g=await (0,i.createFromNextReadableStream)(f,k);if(g.buildId!==(0,l.getAppBuildId)())return Y(b,Date.now()+1e4),null;return{value:W(b,g.rsc,g.loading,a.staleAt,g.isPartial),closed:d.promise}}catch(a){return Y(b,Date.now()+1e4),null}}async function _(a,b,c,d,e){let f=a.key,g=new URL(b.canonicalUrl,location.origin),j=f.nextUrl;1===e.size&&e.has(b.metadata.requestKey)&&(d=A);let k={[h.RSC_HEADER]:"1",[h.NEXT_ROUTER_STATE_TREE_HEADER]:(0,s.prepareFlightRouterStateForRequest)(d)};switch(null!==j&&(k[h.NEXT_URL]=j),c){case w.FetchStrategy.Full:break;case w.FetchStrategy.PPRRuntime:k[h.NEXT_ROUTER_PREFETCH_HEADER]="2";break;case w.FetchStrategy.LoadingBoundary:k[h.NEXT_ROUTER_PREFETCH_HEADER]="1"}try{let d=await ad(g,k);if(!d||!d.ok||!d.body||(0,p.getRenderedSearch)(d)!==b.renderedSearch)return aa(e,Date.now()+1e4),null;let f=(0,x.createPromiseWithResolvers)(),h=null,j=ae(d.body,f.resolve,function(a){if(null===h)return;let b=a/h.length;for(let a of h)(0,q.setSizeInCacheMap)(a,b)}),l=await (0,i.createFromNextReadableStream)(j,k),n=c===w.FetchStrategy.PPRRuntime&&l.rp?.[0]===!0;return h=ab(Date.now(),a,c,d,l,n,b,e),{value:null,closed:f.promise}}catch(a){return aa(e,Date.now()+1e4),null}}function aa(a,b){let c=[];for(let d of a.values())1===d.status?Y(d,b):2===d.status&&c.push(d);return c}function ab(a,b,c,d,e,f,g,i){if(e.b!==(0,l.getAppBuildId)())return null!==i&&aa(i,a+1e4),null;let j=(0,s.normalizeFlightData)(e.f);if("string"==typeof j)return null;let k="number"==typeof e.rp?.[1]?e.rp[1]:parseInt(d.headers.get(h.NEXT_ROUTER_STALE_TIME_HEADER)??"",10),n=a+(isNaN(k)?t.STATIC_STALETIME_MS:y(k));for(let d of j){let e=d.seedData;if(null!==e){let h=d.segmentPath,j=g.tree;for(let b=0;b<h.length;b+=2){let c=h[b];if(j?.slots?.[c]===void 0)return null!==i&&aa(i,a+1e4),null;j=j.slots[c]}!function a(b,c,d,e,f,g,h,i,j){let k=h[0];ac(b,d,e,k,h[2],null===k||i,g,f,j);let l=f.slots;if(null!==l){let f=h[1];for(let h in l){let k=l[h],n=f[h];null!=n&&a(b,c,d,e,k,g,n,i,j)}}}(a,b,c,g,j,n,e,f,i)}let h=d.head;null!==h&&ac(a,c,g,h,null,d.isHeadPartial,n,g.metadata,i)}return null!==i?aa(i,a+1e4):null}function ac(a,b,c,d,e,f,g,h,i){let j=null!==i?i.get(h.requestKey):void 0;if(void 0!==j)W(j,d,e,g,f);else{let i=O(a,b,c,h);if(0===i.status)W(T(i,b),d,e,g,f);else{let c=W(T(S(g),b),d,e,g,f);R(a,(0,k.getSegmentVaryPathForRequest)(b,h),c)}}}async function ad(a,b){let c=await (0,i.createFetch)(a,b,"low",!1);if(!c.ok)return null;{let a=c.headers.get("content-type");if(!(a&&a.startsWith(h.RSC_CONTENT_TYPE_HEADER)))return null}return c}function ae(a,b,c){let d=0,e=a.getReader();return new ReadableStream({async pull(a){for(;;){let{done:f,value:g}=await e.read();if(!f){a.enqueue(g),c(d+=g.byteLength);continue}b();return}}})}function af(a,b){return a<b}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},42297,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={cancelPrefetchTask:function(){return w},isPrefetchTaskDirty:function(){return y},pingPrefetchTask:function(){return E},reschedulePrefetchTask:function(){return x},schedulePrefetchTask:function(){return v},startRevalidationCooldown:function(){return u}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(76e3),g=a.r(30641),h=a.r(99032),i=a.r(91442),j=a.r(92702),k=a.r(10846),l=a.r(39118),n="function"==typeof queueMicrotask?queueMicrotask:a=>Promise.resolve().then(a).catch(a=>setTimeout(()=>{throw a})),o=[],p=0,q=0,r=!1,s=null,t=null;function u(){null!==t&&clearTimeout(t),t=setTimeout(()=>{t=null,A()},300)}function v(a,b,c,d,e){let f={key:a,treeAtTimeOfPrefetch:b,cacheVersion:(0,h.getCurrentCacheVersion)(),priority:d,phase:1,hasBackgroundWork:!1,spawnedRuntimePrefetches:null,fetchStrategy:c,sortId:q++,isCanceled:!1,onInvalidate:e,_heapIndex:-1};return z(f),Q(o,f),A(),f}function w(a){a.isCanceled=!0,function(a,b){let c=b._heapIndex;if(-1!==c&&(b._heapIndex=-1,0!==a.length)){let d=a.pop();d!==b&&(a[c]=d,d._heapIndex=c,V(a,d,c))}}(o,a)}function x(a,b,c,d){a.isCanceled=!1,a.phase=1,a.sortId=q++,a.priority=a===s?k.PrefetchPriority.Intent:d,a.treeAtTimeOfPrefetch=b,a.fetchStrategy=c,z(a),-1!==a._heapIndex?T(o,a):Q(o,a),A()}function y(a,b,c){let d=(0,h.getCurrentCacheVersion)();return a.cacheVersion!==d||a.treeAtTimeOfPrefetch!==c||a.key.nextUrl!==b}function z(a){a.priority===k.PrefetchPriority.Intent&&a!==s&&(null!==s&&s.priority!==k.PrefetchPriority.Background&&(s.priority=k.PrefetchPriority.Default,T(o,s)),s=a)}function A(){r||(r=!0,n(F))}function B(a){return null===t&&(a.priority===k.PrefetchPriority.Intent?p<12:p<4)}function C(a){return p++,a.then(a=>null===a?(D(),null):(a.closed.then(D),a.value))}function D(){p--,A()}function E(a){a.isCanceled||-1!==a._heapIndex||(Q(o,a),A())}function F(){r=!1;let a=Date.now(),b=R(o);for(;null!==b&&B(b);){b.cacheVersion=(0,h.getCurrentCacheVersion)();let c=function(a,b){let c=b.key,d=(0,h.readOrCreateRouteCacheEntry)(a,b,c),e=function(a,b,c){switch(c.status){case h.EntryStatus.Empty:C((0,h.fetchRouteOnCacheMiss)(c,b,b.key)),c.staleAt=a+6e4,c.status=h.EntryStatus.Pending;case h.EntryStatus.Pending:{let a=c.blockedTasks;return null===a?c.blockedTasks=new Set([b]):a.add(b),1}case h.EntryStatus.Rejected:break;case h.EntryStatus.Fulfilled:{if(0!==b.phase)return 2;if(!B(b))return 0;let i=c.tree,j=b.fetchStrategy===k.FetchStrategy.PPR?c.isPPREnabled?k.FetchStrategy.PPR:k.FetchStrategy.LoadingBoundary:b.fetchStrategy;switch(j){case k.FetchStrategy.PPR:{var d,e,g;if(J(d=a,e=b,g=c,(0,h.readOrCreateSegmentCacheEntry)(d,k.FetchStrategy.PPR,g,g.metadata),e.key,g.metadata),0===function a(b,c,d,e,f){let g=(0,h.readOrCreateSegmentCacheEntry)(b,c.fetchStrategy,d,f);J(b,c,d,g,c.key,f);let i=e[1],j=f.slots;if(null!==j)for(let e in j){if(!B(c))return 0;let f=j[e],g=f.segment,k=i[e],l=k?.[0];if(0===(void 0!==l&&O(d,g,l)?a(b,c,d,k,f):function a(b,c,d,e){if(e.hasRuntimePrefetch)return null===c.spawnedRuntimePrefetches?c.spawnedRuntimePrefetches=new Set([e.requestKey]):c.spawnedRuntimePrefetches.add(e.requestKey),2;let f=(0,h.readOrCreateSegmentCacheEntry)(b,c.fetchStrategy,d,e);if(J(b,c,d,f,c.key,e),null!==e.slots){if(!B(c))return 0;for(let f in e.slots)if(0===a(b,c,d,e.slots[f]))return 0}return 2}(b,c,d,f)))return 0}return 2}(a,b,c,b.treeAtTimeOfPrefetch,i))return 0;let f=b.spawnedRuntimePrefetches;if(null!==f){let d=new Map;H(a,b,c,d,k.FetchStrategy.PPRRuntime);let e=function a(b,c,d,e,f,g){if(f.has(e.requestKey))return I(b,c,d,e,!1,g,k.FetchStrategy.PPRRuntime);let h={},i=e.slots;if(null!==i)for(let e in i){let j=i[e];h[e]=a(b,c,d,j,f,g)}return[e.segment,h,null,null]}(a,b,c,i,f,d);d.size>0&&C((0,h.fetchSegmentPrefetchesUsingDynamicRequest)(b,c,k.FetchStrategy.PPRRuntime,e,d))}return 2}case k.FetchStrategy.Full:case k.FetchStrategy.PPRRuntime:case k.FetchStrategy.LoadingBoundary:{let d=new Map;H(a,b,c,d,j);let e=function a(b,c,d,e,g,i,j){let l=e[1],n=g.slots,o={};if(null!==n)for(let e in n){let g=n[e],p=g.segment,q=l[e],r=q?.[0];if(void 0!==r&&O(d,p,r)){let f=a(b,c,d,q,g,i,j);o[e]=f}else switch(j){case k.FetchStrategy.LoadingBoundary:{let a=g.hasLoadingBoundary!==f.HasLoadingBoundary.SubtreeHasNoLoadingBoundary?function a(b,c,d,e,g,i){let j=null===g?"inside-shared-layout":null,l=(0,h.readOrCreateSegmentCacheEntry)(b,c.fetchStrategy,d,e);switch(l.status){case h.EntryStatus.Empty:i.set(e.requestKey,(0,h.upgradeToPendingSegment)(l,k.FetchStrategy.LoadingBoundary)),"refetch"!==g&&(j=g="refetch");break;case h.EntryStatus.Fulfilled:if(e.hasLoadingBoundary===f.HasLoadingBoundary.SegmentHasLoadingBoundary)return(0,h.convertRouteTreeToFlightRouterState)(e);case h.EntryStatus.Pending:case h.EntryStatus.Rejected:}let n={};if(null!==e.slots)for(let f in e.slots){let h=e.slots[f];n[f]=a(b,c,d,h,g,i)}return[e.segment,n,null,j,e.isRootLayout]}(b,c,d,g,null,i):(0,h.convertRouteTreeToFlightRouterState)(g);o[e]=a;break}case k.FetchStrategy.PPRRuntime:{let a=I(b,c,d,g,!1,i,j);o[e]=a;break}case k.FetchStrategy.Full:{let a=I(b,c,d,g,!1,i,j);o[e]=a}}}return[g.segment,o,null,null,g.isRootLayout]}(a,b,c,b.treeAtTimeOfPrefetch,i,d,j);return d.size>0&&C((0,h.fetchSegmentPrefetchesUsingDynamicRequest)(b,c,j,e,d)),2}}}}return 2}(a,b,d);if(0!==e&&""!==c.search){let d=new URL(c.pathname,location.origin),e=(0,j.createCacheKey)(d.href,c.nextUrl),f=(0,h.readOrCreateRouteCacheEntry)(a,b,e);switch(f.status){case h.EntryStatus.Empty:G(b)&&(f.status=h.EntryStatus.Pending,C((0,h.fetchRouteOnCacheMiss)(f,b,e)));case h.EntryStatus.Pending:case h.EntryStatus.Fulfilled:case h.EntryStatus.Rejected:}}return e}(a,b),d=b.hasBackgroundWork;switch(b.hasBackgroundWork=!1,b.spawnedRuntimePrefetches=null,c){case 0:return;case 1:S(o),b=R(o);continue;case 2:1===b.phase?(b.phase=0,T(o,b)):d?(b.priority=k.PrefetchPriority.Background,T(o,b)):S(o),b=R(o);continue}}}function G(a){return a.priority===k.PrefetchPriority.Background||(a.hasBackgroundWork=!0,!1)}function H(a,b,c,d,e){I(a,b,c,c.metadata,!1,d,e===k.FetchStrategy.LoadingBoundary?k.FetchStrategy.Full:e)}function I(a,b,c,d,e,f,g){let i=(0,h.readOrCreateSegmentCacheEntry)(a,g,c,d),j=null;switch(i.status){case h.EntryStatus.Empty:j=(0,h.upgradeToPendingSegment)(i,g);break;case h.EntryStatus.Fulfilled:i.isPartial&&(0,h.canNewFetchStrategyProvideMoreContent)(i.fetchStrategy,g)&&(j=L(a,c,d,g));break;case h.EntryStatus.Pending:case h.EntryStatus.Rejected:(0,h.canNewFetchStrategyProvideMoreContent)(i.fetchStrategy,g)&&(j=L(a,c,d,g))}let k={};if(null!==d.slots)for(let h in d.slots){let i=d.slots[h];k[h]=I(a,b,c,i,e||null!==j,f,g)}null!==j&&f.set(d.requestKey,j);let l=e||null===j?null:"refetch";return[d.segment,k,null,l,d.isRootLayout]}function J(a,b,c,d,e,f){switch(d.status){case h.EntryStatus.Empty:C((0,h.fetchSegmentOnCacheMiss)(c,(0,h.upgradeToPendingSegment)(d,k.FetchStrategy.PPR),e,f));break;case h.EntryStatus.Pending:switch(d.fetchStrategy){case k.FetchStrategy.PPR:case k.FetchStrategy.PPRRuntime:case k.FetchStrategy.Full:break;case k.FetchStrategy.LoadingBoundary:G(b)&&K(a,c,e,f);break;default:d.fetchStrategy}break;case h.EntryStatus.Rejected:switch(d.fetchStrategy){case k.FetchStrategy.PPR:case k.FetchStrategy.PPRRuntime:case k.FetchStrategy.Full:break;case k.FetchStrategy.LoadingBoundary:K(a,c,e,f);break;default:d.fetchStrategy}case h.EntryStatus.Fulfilled:}}function K(a,b,c,d){let e=(0,h.readOrCreateRevalidatingSegmentEntry)(a,k.FetchStrategy.PPR,b,d);switch(e.status){case h.EntryStatus.Empty:N(C((0,h.fetchSegmentOnCacheMiss)(b,(0,h.upgradeToPendingSegment)(e,k.FetchStrategy.PPR),c,d)),(0,i.getSegmentVaryPathForRequest)(k.FetchStrategy.PPR,d));case h.EntryStatus.Pending:case h.EntryStatus.Fulfilled:case h.EntryStatus.Rejected:}}function L(a,b,c,d){let e=(0,h.readOrCreateRevalidatingSegmentEntry)(a,d,b,c);if(e.status===h.EntryStatus.Empty){let a=(0,h.upgradeToPendingSegment)(e,d);return N((0,h.waitForSegmentCacheEntry)(a),(0,i.getSegmentVaryPathForRequest)(d,c)),a}if((0,h.canNewFetchStrategyProvideMoreContent)(e.fetchStrategy,d)){let a=(0,h.overwriteRevalidatingSegmentCacheEntry)(d,b,c),e=(0,h.upgradeToPendingSegment)(a,d);return N((0,h.waitForSegmentCacheEntry)(e),(0,i.getSegmentVaryPathForRequest)(d,c)),e}switch(e.status){case h.EntryStatus.Pending:case h.EntryStatus.Fulfilled:case h.EntryStatus.Rejected:default:return null}}let M=()=>{};function N(a,b){a.then(a=>{null!==a&&(0,h.upsertSegmentEntry)(Date.now(),b,a)},M)}function O(a,b,c){return c===l.PAGE_SEGMENT_KEY?b===(0,l.addSearchParamsIfPageSegment)(l.PAGE_SEGMENT_KEY,Object.fromEntries(new URLSearchParams(a.renderedSearch))):(0,g.matchSegment)(c,b)}function P(a,b){let c=b.priority-a.priority;if(0!==c)return c;let d=b.phase-a.phase;return 0!==d?d:b.sortId-a.sortId}function Q(a,b){let c=a.length;a.push(b),b._heapIndex=c,U(a,b,c)}function R(a){return 0===a.length?null:a[0]}function S(a){if(0===a.length)return null;let b=a[0];b._heapIndex=-1;let c=a.pop();return c!==b&&(a[0]=c,c._heapIndex=0,V(a,c,0)),b}function T(a,b){let c=b._heapIndex;-1!==c&&(0===c?V(a,b,0):P(a[c-1>>>1],b)>0?U(a,b,c):V(a,b,c))}function U(a,b,c){let d=c;for(;d>0;){let c=d-1>>>1,e=a[c];if(!(P(e,b)>0))return;a[c]=b,b._heapIndex=c,a[d]=e,e._heapIndex=d,d=c}}function V(a,b,c){let d=c,e=a.length,f=e>>>1;for(;d<f;){let c=(d+1)*2-1,f=a[c],g=c+1,h=a[g];if(0>P(f,b))g<e&&0>P(h,f)?(a[d]=h,h._heapIndex=d,a[g]=b,b._heapIndex=g,d=g):(a[d]=f,f._heapIndex=d,a[c]=b,b._heapIndex=c,d=c);else{if(!(g<e&&0>P(h,b)))return;a[d]=h,h._heapIndex=d,a[g]=b,b._heapIndex=g,d=g}}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},16441,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={IDLE_LINK_STATUS:function(){return l},PENDING_LINK_STATUS:function(){return k},mountFormInstance:function(){return u},mountLinkInstance:function(){return t},onLinkVisibilityChanged:function(){return w},onNavigationIntent:function(){return x},pingVisibleLinks:function(){return z},setLinkForCurrentNavigation:function(){return n},unmountLinkForCurrentNavigation:function(){return o},unmountPrefetchableInstance:function(){return v}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(10846),g=a.r(92702),h=a.r(42297),i=a.r(72131),j=null,k={pending:!0},l={pending:!1};function n(a){(0,i.startTransition)(()=>{j?.setOptimisticLinkStatus(l),a?.setOptimisticLinkStatus(k),j=a})}function o(a){j===a&&(j=null)}let p="function"==typeof WeakMap?new WeakMap:new Map,q=new Set,r="function"==typeof IntersectionObserver?new IntersectionObserver(function(a){for(let b of a){let a=b.intersectionRatio>0;w(b.target,a)}},{rootMargin:"200px"}):null;function s(a,b){void 0!==p.get(a)&&v(a),p.set(a,b),null!==r&&r.observe(a)}function t(a,b,c,d,e,f){if(e){let b=null;if(null!==b){let e={router:c,fetchStrategy:d,isVisible:!1,prefetchTask:null,prefetchHref:b.href,setOptimisticLinkStatus:f};return s(a,e),e}}return{router:c,fetchStrategy:d,isVisible:!1,prefetchTask:null,prefetchHref:null,setOptimisticLinkStatus:f}}function u(a,b,c,d){let e=null;null===e||s(a,{router:c,fetchStrategy:d,isVisible:!1,prefetchTask:null,prefetchHref:e.href,setOptimisticLinkStatus:null})}function v(a){let b=p.get(a);if(void 0!==b){p.delete(a),q.delete(b);let c=b.prefetchTask;null!==c&&(0,h.cancelPrefetchTask)(c)}null!==r&&r.unobserve(a)}function w(a,b){let c=p.get(a);void 0!==c&&(c.isVisible=b,b?q.add(c):q.delete(c),y(c,f.PrefetchPriority.Default))}function x(a,b){let c=p.get(a);void 0!==c&&void 0!==c&&y(c,f.PrefetchPriority.Intent)}function y(a,b){}function z(a,b){for(let c of q){let d=c.prefetchTask;if(null!==d&&!(0,h.isPrefetchTaskDirty)(d,a,b))continue;null!==d&&(0,h.cancelPrefetchTask)(d);let e=(0,g.createCacheKey)(c.prefetchHref,a);c.prefetchTask=(0,h.schedulePrefetchTask)(e,b,c.fetchStrategy,f.PrefetchPriority.Default,null)}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},11679,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"pathHasPrefix",{enumerable:!0,get:function(){return e}});let d=a.r(8868);function e(a,b){if("string"!=typeof a)return!1;let{pathname:c}=(0,d.parsePath)(a);return c===b||c.startsWith(b+"/")}},78897,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"hasBasePath",{enumerable:!0,get:function(){return e}});let d=a.r(11679);function e(a){return(0,d.pathHasPrefix)(a,"")}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},11762,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isLocalURL",{enumerable:!0,get:function(){return f}});let d=a.r(46272),e=a.r(78897);function f(a){if(!(0,d.isAbsoluteUrl)(a))return!0;try{let b=(0,d.getLocationOrigin)(),c=new URL(a,b);return c.origin===b&&(0,e.hasBasePath)(c.pathname)}catch(a){return!1}}},9833,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"errorOnce",{enumerable:!0,get:function(){return d}});let d=a=>{}},38246,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return r},useLinkStatus:function(){return t}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(46058),g=a.r(87924),h=f._(a.r(72131)),i=a.r(43087),j=a.r(9270),k=a.r(8591),l=a.r(46272),n=a.r(38243);a.r(92434);let o=a.r(16441);a.r(11762);let p=a.r(10846);function q(a){return"string"==typeof a?a:(0,i.formatUrl)(a)}function r(a){var b;let c,d,e,[f,i]=(0,h.useOptimistic)(o.IDLE_LINK_STATUS),r=(0,h.useRef)(null),{href:t,as:u,children:v,prefetch:w=null,passHref:x,replace:y,shallow:z,scroll:A,onClick:B,onMouseEnter:C,onTouchStart:D,legacyBehavior:E=!1,onNavigate:F,ref:G,unstable_dynamicOnHover:H,...I}=a;c=v,E&&("string"==typeof c||"number"==typeof c)&&(c=(0,g.jsx)("a",{children:c}));let J=h.default.useContext(j.AppRouterContext),K=!1!==w,L=!1!==w?null===(b=w)||"auto"===b?p.FetchStrategy.PPR:p.FetchStrategy.Full:p.FetchStrategy.PPR,{href:M,as:N}=h.default.useMemo(()=>{let a=q(t);return{href:a,as:u?q(u):a}},[t,u]);if(E){if(c?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});d=h.default.Children.only(c)}let O=E?d&&"object"==typeof d&&d.ref:G,P=h.default.useCallback(a=>(null!==J&&(r.current=(0,o.mountLinkInstance)(a,M,J,L,K,i)),()=>{r.current&&((0,o.unmountLinkForCurrentNavigation)(r.current),r.current=null),(0,o.unmountPrefetchableInstance)(a)}),[K,M,J,L,i]),Q={ref:(0,k.useMergedRef)(P,O),onClick(a){if((E||"function"!=typeof B||B(a),E&&d.props&&"function"==typeof d.props.onClick&&d.props.onClick(a),J)&&!a.defaultPrevented);},onMouseEnter(a){E||"function"!=typeof C||C(a),E&&d.props&&"function"==typeof d.props.onMouseEnter&&d.props.onMouseEnter(a),J&&K&&(0,o.onNavigationIntent)(a.currentTarget,!0===H)},onTouchStart:function(a){E||"function"!=typeof D||D(a),E&&d.props&&"function"==typeof d.props.onTouchStart&&d.props.onTouchStart(a),J&&K&&(0,o.onNavigationIntent)(a.currentTarget,!0===H)}};return(0,l.isAbsoluteUrl)(N)?Q.href=N:E&&!x&&("a"!==d.type||"href"in d.props)||(Q.href=(0,n.addBasePath)(N)),e=E?h.default.cloneElement(d,Q):(0,g.jsx)("a",{...I,...Q,children:c}),(0,g.jsx)(s.Provider,{value:f,children:e})}a.r(9833);let s=(0,h.createContext)(o.IDLE_LINK_STATUS),t=()=>(0,h.useContext)(s);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},17224,(a,b,c)=>{a.e,b.exports=function(){var a=[function(a,b,c){"use strict";function d(){}d.QUALITY=1,d.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,d.DEFAULT_INCREMENTAL=!1,d.DEFAULT_ANIMATION_ON_LAYOUT=!0,d.DEFAULT_ANIMATION_DURING_LAYOUT=!1,d.DEFAULT_ANIMATION_PERIOD=50,d.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,d.DEFAULT_GRAPH_MARGIN=15,d.NODE_DIMENSIONS_INCLUDE_LABELS=!1,d.SIMPLE_NODE_SIZE=40,d.SIMPLE_NODE_HALF_SIZE=d.SIMPLE_NODE_SIZE/2,d.EMPTY_COMPOUND_NODE_SIZE=40,d.MIN_EDGE_LENGTH=1,d.WORLD_BOUNDARY=1e6,d.INITIAL_WORLD_BOUNDARY=d.WORLD_BOUNDARY/1e3,d.WORLD_CENTER_X=1200,d.WORLD_CENTER_Y=900,a.exports=d},function(a,b,c){"use strict";var d=c(2),e=c(8),f=c(9);function g(a,b,c){d.call(this,c),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=c,this.bendpoints=[],this.source=a,this.target=b}for(var h in g.prototype=Object.create(d.prototype),d)g[h]=d[h];g.prototype.getSource=function(){return this.source},g.prototype.getTarget=function(){return this.target},g.prototype.isInterGraph=function(){return this.isInterGraph},g.prototype.getLength=function(){return this.length},g.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},g.prototype.getBendpoints=function(){return this.bendpoints},g.prototype.getLca=function(){return this.lca},g.prototype.getSourceInLca=function(){return this.sourceInLca},g.prototype.getTargetInLca=function(){return this.targetInLca},g.prototype.getOtherEnd=function(a){if(this.source===a)return this.target;if(this.target===a)return this.source;throw"Node is not incident with this edge"},g.prototype.getOtherEndInGraph=function(a,b){for(var c=this.getOtherEnd(a),d=b.getGraphManager().getRoot();;){if(c.getOwner()==b)return c;if(c.getOwner()==d)break;c=c.getOwner().getParent()}return null},g.prototype.updateLength=function(){var a=[,,,,];this.isOverlapingSourceAndTarget=e.getIntersection(this.target.getRect(),this.source.getRect(),a),this.isOverlapingSourceAndTarget||(this.lengthX=a[0]-a[2],this.lengthY=a[1]-a[3],1>Math.abs(this.lengthX)&&(this.lengthX=f.sign(this.lengthX)),1>Math.abs(this.lengthY)&&(this.lengthY=f.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},g.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),1>Math.abs(this.lengthX)&&(this.lengthX=f.sign(this.lengthX)),1>Math.abs(this.lengthY)&&(this.lengthY=f.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},a.exports=g},function(a,b,c){"use strict";a.exports=function(a){this.vGraphObject=a}},function(a,b,c){"use strict";var d=c(2),e=c(10),f=c(13),g=c(0),h=c(16),i=c(5);function j(a,b,c,g){null==c&&null==g&&(g=b),d.call(this,g),null!=a.graphManager&&(a=a.graphManager),this.estimatedSize=e.MIN_VALUE,this.inclusionTreeDepth=e.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=a,null!=c&&null!=b?this.rect=new f(b.x,b.y,c.width,c.height):this.rect=new f}for(var k in j.prototype=Object.create(d.prototype),d)j[k]=d[k];j.prototype.getEdges=function(){return this.edges},j.prototype.getChild=function(){return this.child},j.prototype.getOwner=function(){return this.owner},j.prototype.getWidth=function(){return this.rect.width},j.prototype.setWidth=function(a){this.rect.width=a},j.prototype.getHeight=function(){return this.rect.height},j.prototype.setHeight=function(a){this.rect.height=a},j.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},j.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},j.prototype.getCenter=function(){return new i(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},j.prototype.getLocation=function(){return new i(this.rect.x,this.rect.y)},j.prototype.getRect=function(){return this.rect},j.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},j.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},j.prototype.setRect=function(a,b){this.rect.x=a.x,this.rect.y=a.y,this.rect.width=b.width,this.rect.height=b.height},j.prototype.setCenter=function(a,b){this.rect.x=a-this.rect.width/2,this.rect.y=b-this.rect.height/2},j.prototype.setLocation=function(a,b){this.rect.x=a,this.rect.y=b},j.prototype.moveBy=function(a,b){this.rect.x+=a,this.rect.y+=b},j.prototype.getEdgeListToNode=function(a){var b=[],c=this;return c.edges.forEach(function(d){if(d.target==a){if(d.source!=c)throw"Incorrect edge source!";b.push(d)}}),b},j.prototype.getEdgesBetween=function(a){var b=[],c=this;return c.edges.forEach(function(d){if(d.source!=c&&d.target!=c)throw"Incorrect edge source and/or target";(d.target==a||d.source==a)&&b.push(d)}),b},j.prototype.getNeighborsList=function(){var a=new Set,b=this;return b.edges.forEach(function(c){if(c.source==b)a.add(c.target);else{if(c.target!=b)throw"Incorrect incidency!";a.add(c.source)}}),a},j.prototype.withChildren=function(){var a=new Set;if(a.add(this),null!=this.child)for(var b=this.child.getNodes(),c=0;c<b.length;c++)b[c].withChildren().forEach(function(b){a.add(b)});return a},j.prototype.getNoOfChildren=function(){var a=0;if(null==this.child)a=1;else for(var b=this.child.getNodes(),c=0;c<b.length;c++)a+=b[c].getNoOfChildren();return 0==a&&(a=1),a},j.prototype.getEstimatedSize=function(){if(this.estimatedSize==e.MIN_VALUE)throw"assert failed";return this.estimatedSize},j.prototype.calcEstimatedSize=function(){return null==this.child?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},j.prototype.scatter=function(){var a,b,c=-g.INITIAL_WORLD_BOUNDARY,d=g.INITIAL_WORLD_BOUNDARY;a=g.WORLD_CENTER_X+h.nextDouble()*(d-c)+c;var e=-g.INITIAL_WORLD_BOUNDARY,f=g.INITIAL_WORLD_BOUNDARY;b=g.WORLD_CENTER_Y+h.nextDouble()*(f-e)+e,this.rect.x=a,this.rect.y=b},j.prototype.updateBounds=function(){if(null==this.getChild())throw"assert failed";if(0!=this.getChild().getNodes().length){var a=this.getChild();if(a.updateBounds(!0),this.rect.x=a.getLeft(),this.rect.y=a.getTop(),this.setWidth(a.getRight()-a.getLeft()),this.setHeight(a.getBottom()-a.getTop()),g.NODE_DIMENSIONS_INCLUDE_LABELS){var b=a.getRight()-a.getLeft(),c=a.getBottom()-a.getTop();this.labelWidth&&("left"==this.labelPosHorizontal?(this.rect.x-=this.labelWidth,this.setWidth(b+this.labelWidth)):"center"==this.labelPosHorizontal&&this.labelWidth>b?(this.rect.x-=(this.labelWidth-b)/2,this.setWidth(this.labelWidth)):"right"==this.labelPosHorizontal&&this.setWidth(b+this.labelWidth)),this.labelHeight&&("top"==this.labelPosVertical?(this.rect.y-=this.labelHeight,this.setHeight(c+this.labelHeight)):"center"==this.labelPosVertical&&this.labelHeight>c?(this.rect.y-=(this.labelHeight-c)/2,this.setHeight(this.labelHeight)):"bottom"==this.labelPosVertical&&this.setHeight(c+this.labelHeight))}}},j.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==e.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},j.prototype.transform=function(a){var b=this.rect.x;b>g.WORLD_BOUNDARY?b=g.WORLD_BOUNDARY:b<-g.WORLD_BOUNDARY&&(b=-g.WORLD_BOUNDARY);var c=this.rect.y;c>g.WORLD_BOUNDARY?c=g.WORLD_BOUNDARY:c<-g.WORLD_BOUNDARY&&(c=-g.WORLD_BOUNDARY);var d=new i(b,c),e=a.inverseTransformPoint(d);this.setLocation(e.x,e.y)},j.prototype.getLeft=function(){return this.rect.x},j.prototype.getRight=function(){return this.rect.x+this.rect.width},j.prototype.getTop=function(){return this.rect.y},j.prototype.getBottom=function(){return this.rect.y+this.rect.height},j.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},a.exports=j},function(a,b,c){"use strict";var d=c(0);function e(){}for(var f in d)e[f]=d[f];e.MAX_ITERATIONS=2500,e.DEFAULT_EDGE_LENGTH=50,e.DEFAULT_SPRING_STRENGTH=.45,e.DEFAULT_REPULSION_STRENGTH=4500,e.DEFAULT_GRAVITY_STRENGTH=.4,e.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,e.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,e.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,e.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,e.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,e.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,e.COOLING_ADAPTATION_FACTOR=.33,e.ADAPTATION_LOWER_NODE_LIMIT=1e3,e.ADAPTATION_UPPER_NODE_LIMIT=5e3,e.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,e.MAX_NODE_DISPLACEMENT=3*e.MAX_NODE_DISPLACEMENT_INCREMENTAL,e.MIN_REPULSION_DIST=e.DEFAULT_EDGE_LENGTH/10,e.CONVERGENCE_CHECK_PERIOD=100,e.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,e.MIN_EDGE_LENGTH=1,e.GRID_CALCULATION_CHECK_PERIOD=10,a.exports=e},function(a,b,c){"use strict";function d(a,b){null==a&&null==b?(this.x=0,this.y=0):(this.x=a,this.y=b)}d.prototype.getX=function(){return this.x},d.prototype.getY=function(){return this.y},d.prototype.setX=function(a){this.x=a},d.prototype.setY=function(a){this.y=a},d.prototype.getDifference=function(a){return new DimensionD(this.x-a.x,this.y-a.y)},d.prototype.getCopy=function(){return new d(this.x,this.y)},d.prototype.translate=function(a){return this.x+=a.width,this.y+=a.height,this},a.exports=d},function(a,b,c){"use strict";var d=c(2),e=c(10),f=c(0),g=c(7),h=c(3),i=c(1),j=c(13),k=c(12),l=c(11);function n(a,b,c){d.call(this,c),this.estimatedSize=e.MIN_VALUE,this.margin=f.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=a,null!=b&&b instanceof g?this.graphManager=b:null!=b&&b instanceof Layout&&(this.graphManager=b.graphManager)}for(var o in n.prototype=Object.create(d.prototype),d)n[o]=d[o];n.prototype.getNodes=function(){return this.nodes},n.prototype.getEdges=function(){return this.edges},n.prototype.getGraphManager=function(){return this.graphManager},n.prototype.getParent=function(){return this.parent},n.prototype.getLeft=function(){return this.left},n.prototype.getRight=function(){return this.right},n.prototype.getTop=function(){return this.top},n.prototype.getBottom=function(){return this.bottom},n.prototype.isConnected=function(){return this.isConnected},n.prototype.add=function(a,b,c){if(null==b&&null==c){if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(a)>-1)throw"Node already in graph!";return a.owner=this,this.getNodes().push(a),a}if(!(this.getNodes().indexOf(b)>-1&&this.getNodes().indexOf(c)>-1))throw"Source or target not in graph!";if(b.owner!=c.owner||b.owner!=this)throw"Both owners must be this graph!";return b.owner!=c.owner?null:(a.source=b,a.target=c,a.isInterGraph=!1,this.getEdges().push(a),b.edges.push(a),c!=b&&c.edges.push(a),a)},n.prototype.remove=function(a){if(a instanceof h){if(null==a)throw"Node is null!";if(null==a.owner||a.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var b,c=a.edges.slice(),d=c.length,e=0;e<d;e++)(b=c[e]).isInterGraph?this.graphManager.remove(b):b.source.owner.remove(b);var f=this.nodes.indexOf(a);if(-1==f)throw"Node not in owner node list!";this.nodes.splice(f,1)}else if(a instanceof i){var b=a;if(null==b)throw"Edge is null!";if(null==b.source||null==b.target)throw"Source and/or target is null!";if(null==b.source.owner||null==b.target.owner||b.source.owner!=this||b.target.owner!=this)throw"Source and/or target owner is invalid!";var g=b.source.edges.indexOf(b),j=b.target.edges.indexOf(b);if(!(g>-1&&j>-1))throw"Source and/or target doesn't know this edge!";b.source.edges.splice(g,1),b.target!=b.source&&b.target.edges.splice(j,1);var f=b.source.owner.getEdges().indexOf(b);if(-1==f)throw"Not in owner's edge list!";b.source.owner.getEdges().splice(f,1)}},n.prototype.updateLeftTop=function(){for(var a,b,c,d=e.MAX_VALUE,f=e.MAX_VALUE,g=this.getNodes(),h=g.length,i=0;i<h;i++){var j=g[i];a=j.getTop(),b=j.getLeft(),d>a&&(d=a),f>b&&(f=b)}return d==e.MAX_VALUE?null:(c=void 0!=g[0].getParent().paddingLeft?g[0].getParent().paddingLeft:this.margin,this.left=f-c,this.top=d-c,new k(this.left,this.top))},n.prototype.updateBounds=function(a){for(var b,c,d,f,g,h=e.MAX_VALUE,i=-e.MAX_VALUE,k=e.MAX_VALUE,l=-e.MAX_VALUE,n=this.nodes,o=n.length,p=0;p<o;p++){var q=n[p];a&&null!=q.child&&q.updateBounds(),b=q.getLeft(),c=q.getRight(),d=q.getTop(),f=q.getBottom(),h>b&&(h=b),i<c&&(i=c),k>d&&(k=d),l<f&&(l=f)}var r=new j(h,k,i-h,l-k);h==e.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),g=void 0!=n[0].getParent().paddingLeft?n[0].getParent().paddingLeft:this.margin,this.left=r.x-g,this.right=r.x+r.width+g,this.top=r.y-g,this.bottom=r.y+r.height+g},n.calculateBounds=function(a){for(var b,c,d,f,g=e.MAX_VALUE,h=-e.MAX_VALUE,i=e.MAX_VALUE,k=-e.MAX_VALUE,l=a.length,n=0;n<l;n++){var o=a[n];b=o.getLeft(),c=o.getRight(),d=o.getTop(),f=o.getBottom(),g>b&&(g=b),h<c&&(h=c),i>d&&(i=d),k<f&&(k=f)}return new j(g,i,h-g,k-i)},n.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},n.prototype.getEstimatedSize=function(){if(this.estimatedSize==e.MIN_VALUE)throw"assert failed";return this.estimatedSize},n.prototype.calcEstimatedSize=function(){for(var a=0,b=this.nodes,c=b.length,d=0;d<c;d++)a+=b[d].calcEstimatedSize();return 0==a?this.estimatedSize=f.EMPTY_COMPOUND_NODE_SIZE:this.estimatedSize=a/Math.sqrt(this.nodes.length),this.estimatedSize},n.prototype.updateConnected=function(){var a,b,c=this;if(0==this.nodes.length){this.isConnected=!0;return}var d=new l,e=new Set,f=this.nodes[0];for(f.withChildren().forEach(function(a){d.push(a),e.add(a)});0!==d.length;)for(var g=(a=(f=d.shift()).getEdges()).length,h=0;h<g;h++)null==(b=a[h].getOtherEndInGraph(f,this))||e.has(b)||b.withChildren().forEach(function(a){d.push(a),e.add(a)});if(this.isConnected=!1,e.size>=this.nodes.length){var i=0;e.forEach(function(a){a.owner==c&&i++}),i==this.nodes.length&&(this.isConnected=!0)}},a.exports=n},function(a,b,c){"use strict";var d,e=c(1);function f(a){d=c(6),this.layout=a,this.graphs=[],this.edges=[]}f.prototype.addRoot=function(){var a=this.layout.newGraph(),b=this.layout.newNode(null),c=this.add(a,b);return this.setRootGraph(c),this.rootGraph},f.prototype.add=function(a,b,c,d,e){if(null==c&&null==d&&null==e){if(null==a)throw"Graph is null!";if(null==b)throw"Parent node is null!";if(this.graphs.indexOf(a)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(a),null!=a.parent)throw"Already has a parent!";if(null!=b.child)throw"Already has a child!";return a.parent=b,b.child=a,a}e=c,d=b,c=a;var f=d.getOwner(),g=e.getOwner();if(null==f||f.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==g||g.getGraphManager()!=this)throw"Target not in this graph mgr!";if(f==g)return c.isInterGraph=!1,f.add(c,d,e);if(c.isInterGraph=!0,c.source=d,c.target=e,this.edges.indexOf(c)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(c),null==c.source||null==c.target)throw"Edge source and/or target is null!";if(-1!=c.source.edges.indexOf(c)||-1!=c.target.edges.indexOf(c))throw"Edge already in source and/or target incidency list!";return c.source.edges.push(c),c.target.edges.push(c),c},f.prototype.remove=function(a){if(a instanceof d){if(a.getGraphManager()!=this)throw"Graph not in this graph mgr";if(a!=this.rootGraph&&(null==a.parent||a.parent.graphManager!=this))throw"Invalid parent node!";for(var b,c,f=[],g=(f=f.concat(a.getEdges())).length,h=0;h<g;h++)b=f[h],a.remove(b);var i=[];g=(i=i.concat(a.getNodes())).length;for(var h=0;h<g;h++)c=i[h],a.remove(c);a==this.rootGraph&&this.setRootGraph(null);var j=this.graphs.indexOf(a);this.graphs.splice(j,1),a.parent=null}else if(a instanceof e){if(null==(b=a))throw"Edge is null!";if(!b.isInterGraph)throw"Not an inter-graph edge!";if(null==b.source||null==b.target)throw"Source and/or target is null!";if(-1==b.source.edges.indexOf(b)||-1==b.target.edges.indexOf(b))throw"Source and/or target doesn't know this edge!";var j=b.source.edges.indexOf(b);if(b.source.edges.splice(j,1),j=b.target.edges.indexOf(b),b.target.edges.splice(j,1),null==b.source.owner||null==b.source.owner.getGraphManager())throw"Edge owner graph or owner graph manager is null!";if(-1==b.source.owner.getGraphManager().edges.indexOf(b))throw"Not in owner graph manager's edge list!";var j=b.source.owner.getGraphManager().edges.indexOf(b);b.source.owner.getGraphManager().edges.splice(j,1)}},f.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},f.prototype.getGraphs=function(){return this.graphs},f.prototype.getAllNodes=function(){if(null==this.allNodes){for(var a=[],b=this.getGraphs(),c=b.length,d=0;d<c;d++)a=a.concat(b[d].getNodes());this.allNodes=a}return this.allNodes},f.prototype.resetAllNodes=function(){this.allNodes=null},f.prototype.resetAllEdges=function(){this.allEdges=null},f.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},f.prototype.getAllEdges=function(){if(null==this.allEdges){var a=[],b=this.getGraphs();b.length;for(var c=0;c<b.length;c++)a=a.concat(b[c].getEdges());a=a.concat(this.edges),this.allEdges=a}return this.allEdges},f.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},f.prototype.setAllNodesToApplyGravitation=function(a){if(null!=this.allNodesToApplyGravitation)throw"assert failed";this.allNodesToApplyGravitation=a},f.prototype.getRoot=function(){return this.rootGraph},f.prototype.setRootGraph=function(a){if(a.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=a,null==a.parent&&(a.parent=this.layout.newNode("Root node"))},f.prototype.getLayout=function(){return this.layout},f.prototype.isOneAncestorOfOther=function(a,b){if(null==a||null==b)throw"assert failed";if(a==b)return!0;for(var c,d=a.getOwner();null!=(c=d.getParent());){if(c==b)return!0;if(null==(d=c.getOwner()))break}for(d=b.getOwner();null!=(c=d.getParent());){if(c==a)return!0;if(null==(d=c.getOwner()))break}return!1},f.prototype.calcLowestCommonAncestors=function(){for(var a,b,c,d,e,f=this.getAllEdges(),g=f.length,h=0;h<g;h++){if(b=(a=f[h]).source,c=a.target,a.lca=null,a.sourceInLca=b,a.targetInLca=c,b==c){a.lca=b.getOwner();continue}for(d=b.getOwner();null==a.lca;){for(a.targetInLca=c,e=c.getOwner();null==a.lca;){if(e==d){a.lca=e;break}if(e==this.rootGraph)break;if(null!=a.lca)throw"assert failed";a.targetInLca=e.getParent(),e=a.targetInLca.getOwner()}if(d==this.rootGraph)break;null==a.lca&&(a.sourceInLca=d.getParent(),d=a.sourceInLca.getOwner())}if(null==a.lca)throw"assert failed"}},f.prototype.calcLowestCommonAncestor=function(a,b){if(a==b)return a.getOwner();for(var c=a.getOwner();null!=c;){for(var d=b.getOwner();null!=d;){if(d==c)return d;d=d.getParent().getOwner()}c=c.getParent().getOwner()}return c},f.prototype.calcInclusionTreeDepths=function(a,b){null==a&&null==b&&(a=this.rootGraph,b=1);for(var c,d=a.getNodes(),e=d.length,f=0;f<e;f++)(c=d[f]).inclusionTreeDepth=b,null!=c.child&&this.calcInclusionTreeDepths(c.child,b+1)},f.prototype.includesInvalidEdge=function(){for(var a,b=[],c=this.edges.length,d=0;d<c;d++)a=this.edges[d],this.isOneAncestorOfOther(a.source,a.target)&&b.push(a);for(var d=0;d<b.length;d++)this.remove(b[d]);return!1},a.exports=f},function(a,b,c){"use strict";var d=c(12);function e(){}e.calcSeparationAmount=function(a,b,c,d){if(!a.intersects(b))throw"assert failed";var e=[,,];this.decideDirectionsForOverlappingNodes(a,b,e),c[0]=Math.min(a.getRight(),b.getRight())-Math.max(a.x,b.x),c[1]=Math.min(a.getBottom(),b.getBottom())-Math.max(a.y,b.y),a.getX()<=b.getX()&&a.getRight()>=b.getRight()?c[0]+=Math.min(b.getX()-a.getX(),a.getRight()-b.getRight()):b.getX()<=a.getX()&&b.getRight()>=a.getRight()&&(c[0]+=Math.min(a.getX()-b.getX(),b.getRight()-a.getRight())),a.getY()<=b.getY()&&a.getBottom()>=b.getBottom()?c[1]+=Math.min(b.getY()-a.getY(),a.getBottom()-b.getBottom()):b.getY()<=a.getY()&&b.getBottom()>=a.getBottom()&&(c[1]+=Math.min(a.getY()-b.getY(),b.getBottom()-a.getBottom()));var f=Math.abs((b.getCenterY()-a.getCenterY())/(b.getCenterX()-a.getCenterX()));b.getCenterY()===a.getCenterY()&&b.getCenterX()===a.getCenterX()&&(f=1);var g=f*c[0],h=c[1]/f;c[0]<h?h=c[0]:g=c[1],c[0]=-1*e[0]*(h/2+d),c[1]=-1*e[1]*(g/2+d)},e.decideDirectionsForOverlappingNodes=function(a,b,c){a.getCenterX()<b.getCenterX()?c[0]=-1:c[0]=1,a.getCenterY()<b.getCenterY()?c[1]=-1:c[1]=1},e.getIntersection2=function(a,b,c){var d=a.getCenterX(),e=a.getCenterY(),f=b.getCenterX(),g=b.getCenterY();if(a.intersects(b))return c[0]=d,c[1]=e,c[2]=f,c[3]=g,!0;var h=a.getX(),i=a.getY(),j=a.getRight(),k=a.getX(),l=a.getBottom(),n=a.getRight(),o=a.getWidthHalf(),p=a.getHeightHalf(),q=b.getX(),r=b.getY(),s=b.getRight(),t=b.getX(),u=b.getBottom(),v=b.getRight(),w=b.getWidthHalf(),x=b.getHeightHalf(),y=!1,z=!1;if(d===f)e>g?(c[0]=d,c[1]=i,c[2]=f,c[3]=u):e<g&&(c[0]=d,c[1]=l,c[2]=f,c[3]=r);else if(e===g)d>f?(c[0]=h,c[1]=e,c[2]=s,c[3]=g):d<f&&(c[0]=j,c[1]=e,c[2]=q,c[3]=g);else{var A=a.height/a.width,B=b.height/b.width,C=(g-e)/(f-d),D=void 0,E=void 0,F=void 0,G=void 0,H=void 0,I=void 0;if(-A===C?(d>f?(c[0]=k,c[1]=l):(c[0]=j,c[1]=i),y=!0):A===C&&(d>f?(c[0]=h,c[1]=i):(c[0]=n,c[1]=l),y=!0),-B===C?(f>d?(c[2]=t,c[3]=u):(c[2]=s,c[3]=r),z=!0):B===C&&(f>d?(c[2]=q,c[3]=r):(c[2]=v,c[3]=u),z=!0),y&&z)return!1;if(d>f?e>g?(D=this.getCardinalDirection(A,C,4),E=this.getCardinalDirection(B,C,2)):(D=this.getCardinalDirection(-A,C,3),E=this.getCardinalDirection(-B,C,1)):e>g?(D=this.getCardinalDirection(-A,C,1),E=this.getCardinalDirection(-B,C,3)):(D=this.getCardinalDirection(A,C,2),E=this.getCardinalDirection(B,C,4)),!y)switch(D){case 1:G=i,F=d+-p/C,c[0]=F,c[1]=G;break;case 2:F=n,G=e+o*C,c[0]=F,c[1]=G;break;case 3:G=l,F=d+p/C,c[0]=F,c[1]=G;break;case 4:F=k,G=e+-o*C,c[0]=F,c[1]=G}if(!z)switch(E){case 1:I=r,H=f+-x/C,c[2]=H,c[3]=I;break;case 2:H=v,I=g+w*C,c[2]=H,c[3]=I;break;case 3:I=u,H=f+x/C,c[2]=H,c[3]=I;break;case 4:H=t,I=g+-w*C,c[2]=H,c[3]=I}}return!1},e.getCardinalDirection=function(a,b,c){return a>b?c:1+c%4},e.getIntersection=function(a,b,c,e){if(null==e)return this.getIntersection2(a,b,c);var f=a.x,g=a.y,h=b.x,i=b.y,j=c.x,k=c.y,l=e.x,n=e.y,o=void 0,p=void 0,q=void 0,r=void 0,s=void 0,t=void 0,u=void 0;return(o=i-g,q=f-h,s=h*g-f*i,p=n-k,r=j-l,t=l*k-j*n,0==(u=o*r-p*q))?null:new d((q*t-r*s)/u,(p*s-o*t)/u)},e.angleOfVector=function(a,b,c,d){var e=void 0;return a!==c?(e=Math.atan((d-b)/(c-a)),c<a?e+=Math.PI:d<b&&(e+=this.TWO_PI)):e=d<b?this.ONE_AND_HALF_PI:this.HALF_PI,e},e.doIntersect=function(a,b,c,d){var e=a.x,f=a.y,g=b.x,h=b.y,i=c.x,j=c.y,k=d.x,l=d.y,n=(g-e)*(l-j)-(k-i)*(h-f);if(0===n)return!1;var o=((l-j)*(k-e)+(i-k)*(l-f))/n,p=((f-h)*(k-e)+(g-e)*(l-f))/n;return 0<o&&o<1&&0<p&&p<1},e.findCircleLineIntersections=function(a,b,c,d,e,f,g){var h=(c-a)*(c-a)+(d-b)*(d-b),i=2*((a-e)*(c-a)+(b-f)*(d-b)),j=(a-e)*(a-e)+(b-f)*(b-f)-g*g;if(!(i*i-4*h*j>=0))return null;var k=(-i+Math.sqrt(i*i-4*h*j))/(2*h),l=(-i-Math.sqrt(i*i-4*h*j))/(2*h);return k>=0&&k<=1?[k]:l>=0&&l<=1?[l]:null},e.HALF_PI=.5*Math.PI,e.ONE_AND_HALF_PI=1.5*Math.PI,e.TWO_PI=2*Math.PI,e.THREE_PI=3*Math.PI,a.exports=e},function(a,b,c){"use strict";function d(){}d.sign=function(a){return a>0?1:a<0?-1:0},d.floor=function(a){return a<0?Math.ceil(a):Math.floor(a)},d.ceil=function(a){return a<0?Math.floor(a):Math.ceil(a)},a.exports=d},function(a,b,c){"use strict";function d(){}d.MAX_VALUE=0x7fffffff,d.MIN_VALUE=-0x80000000,a.exports=d},function(a,b,c){"use strict";var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),e=function(a){return{value:a,next:null,prev:null}},f=function(a,b,c,d){return null!==a?a.next=b:d.head=b,null!==c?c.prev=b:d.tail=b,b.prev=a,b.next=c,d.length++,b},g=function(a,b){var c=a.prev,d=a.next;return null!==c?c.next=d:b.head=d,null!==d?d.prev=c:b.tail=c,a.prev=a.next=null,b.length--,a};a.exports=function(){function a(b){var c=this;if(!(this instanceof a))throw TypeError("Cannot call a class as a function");this.length=0,this.head=null,this.tail=null,null!=b&&b.forEach(function(a){return c.push(a)})}return d(a,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(a,b){return f(b.prev,e(a),b,this)}},{key:"insertAfter",value:function(a,b){return f(b,e(a),b.next,this)}},{key:"insertNodeBefore",value:function(a,b){return f(b.prev,a,b,this)}},{key:"insertNodeAfter",value:function(a,b){return f(b,a,b.next,this)}},{key:"push",value:function(a){return f(this.tail,e(a),null,this)}},{key:"unshift",value:function(a){return f(null,e(a),this.head,this)}},{key:"remove",value:function(a){return g(a,this)}},{key:"pop",value:function(){return g(this.tail,this).value}},{key:"popNode",value:function(){return g(this.tail,this)}},{key:"shift",value:function(){return g(this.head,this).value}},{key:"shiftNode",value:function(){return g(this.head,this)}},{key:"get_object_at",value:function(a){if(a<=this.length()){for(var b=1,c=this.head;b<a;)c=c.next,b++;return c.value}}},{key:"set_object_at",value:function(a,b){if(a<=this.length()){for(var c=1,d=this.head;c<a;)d=d.next,c++;d.value=b}}}]),a}()},function(a,b,c){"use strict";function d(a,b,c){this.x=null,this.y=null,null==a&&null==b&&null==c?(this.x=0,this.y=0):"number"==typeof a&&"number"==typeof b&&null==c?(this.x=a,this.y=b):"Point"==a.constructor.name&&null==b&&null==c&&(c=a,this.x=c.x,this.y=c.y)}d.prototype.getX=function(){return this.x},d.prototype.getY=function(){return this.y},d.prototype.getLocation=function(){return new d(this.x,this.y)},d.prototype.setLocation=function(a,b,c){"Point"==a.constructor.name&&null==b&&null==c?(c=a,this.setLocation(c.x,c.y)):"number"==typeof a&&"number"==typeof b&&null==c&&(parseInt(a)==a&&parseInt(b)==b?this.move(a,b):(this.x=Math.floor(a+.5),this.y=Math.floor(b+.5)))},d.prototype.move=function(a,b){this.x=a,this.y=b},d.prototype.translate=function(a,b){this.x+=a,this.y+=b},d.prototype.equals=function(a){return"Point"==a.constructor.name?this.x==a.x&&this.y==a.y:this==a},d.prototype.toString=function(){return new d().constructor.name+"[x="+this.x+",y="+this.y+"]"},a.exports=d},function(a,b,c){"use strict";function d(a,b,c,d){this.x=0,this.y=0,this.width=0,this.height=0,null!=a&&null!=b&&null!=c&&null!=d&&(this.x=a,this.y=b,this.width=c,this.height=d)}d.prototype.getX=function(){return this.x},d.prototype.setX=function(a){this.x=a},d.prototype.getY=function(){return this.y},d.prototype.setY=function(a){this.y=a},d.prototype.getWidth=function(){return this.width},d.prototype.setWidth=function(a){this.width=a},d.prototype.getHeight=function(){return this.height},d.prototype.setHeight=function(a){this.height=a},d.prototype.getRight=function(){return this.x+this.width},d.prototype.getBottom=function(){return this.y+this.height},d.prototype.intersects=function(a){return!(this.getRight()<a.x||this.getBottom()<a.y||a.getRight()<this.x||a.getBottom()<this.y)},d.prototype.getCenterX=function(){return this.x+this.width/2},d.prototype.getMinX=function(){return this.getX()},d.prototype.getMaxX=function(){return this.getX()+this.width},d.prototype.getCenterY=function(){return this.y+this.height/2},d.prototype.getMinY=function(){return this.getY()},d.prototype.getMaxY=function(){return this.getY()+this.height},d.prototype.getWidthHalf=function(){return this.width/2},d.prototype.getHeightHalf=function(){return this.height/2},a.exports=d},function(a,b,c){"use strict";var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};function e(){}e.lastID=0,e.createID=function(a){return e.isPrimitive(a)?a:(null!=a.uniqueID||(a.uniqueID=e.getString(),e.lastID++),a.uniqueID)},e.getString=function(a){return null==a&&(a=e.lastID),"Object#"+a},e.isPrimitive=function(a){var b=void 0===a?"undefined":d(a);return null==a||"object"!=b&&"function"!=b},a.exports=e},function(a,b,c){"use strict";function d(a){if(!Array.isArray(a))return Array.from(a);for(var b=0,c=Array(a.length);b<a.length;b++)c[b]=a[b];return c}var e=c(0),f=c(7),g=c(3),h=c(1),i=c(6),j=c(5),k=c(17),l=c(29);function n(a){l.call(this),this.layoutQuality=e.QUALITY,this.createBendsAsNeeded=e.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=e.DEFAULT_INCREMENTAL,this.animationOnLayout=e.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=e.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=e.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=e.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new f(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,null!=a&&(this.isRemoteUse=a)}n.RANDOM_SEED=1,n.prototype=Object.create(l.prototype),n.prototype.getGraphManager=function(){return this.graphManager},n.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},n.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},n.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},n.prototype.newGraphManager=function(){var a=new f(this);return this.graphManager=a,a},n.prototype.newGraph=function(a){return new i(null,this.graphManager,a)},n.prototype.newNode=function(a){return new g(this.graphManager,a)},n.prototype.newEdge=function(a){return new h(null,null,a)},n.prototype.checkLayoutSuccess=function(){return null==this.graphManager.getRoot()||0==this.graphManager.getRoot().getNodes().length||this.graphManager.includesInvalidEdge()},n.prototype.runLayout=function(){var a;return this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters(),a=!this.checkLayoutSuccess()&&this.layout(),"during"!==e.ANIMATE&&(a&&!this.isSubLayout&&this.doPostLayout(),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,a)},n.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},n.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var a=this.graphManager.getAllEdges(),b=0;b<a.length;b++)a[b];for(var c=this.graphManager.getRoot().getNodes(),b=0;b<c.length;b++)c[b];this.update(this.graphManager.getRoot())}},n.prototype.update=function(a){if(null==a)this.update2();else if(a instanceof g){if(null!=a.getChild())for(var b=a.getChild().getNodes(),c=0;c<b.length;c++)update(b[c]);null!=a.vGraphObject&&a.vGraphObject.update(a)}else a instanceof h?null!=a.vGraphObject&&a.vGraphObject.update(a):a instanceof i&&null!=a.vGraphObject&&a.vGraphObject.update(a)},n.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=e.QUALITY,this.animationDuringLayout=e.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=e.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=e.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=e.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=e.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=e.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},n.prototype.transform=function(a){if(void 0==a)this.transform(new j(0,0));else{var b=new k,c=this.graphManager.getRoot().updateLeftTop();if(null!=c){b.setWorldOrgX(a.x),b.setWorldOrgY(a.y),b.setDeviceOrgX(c.x),b.setDeviceOrgY(c.y);for(var d=this.getAllNodes(),e=0;e<d.length;e++)d[e].transform(b)}}},n.prototype.positionNodesRandomly=function(a){if(void 0==a)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var b,c,d=a.getNodes(),e=0;e<d.length;e++)null==(c=(b=d[e]).getChild())||0==c.getNodes().length?b.scatter():(this.positionNodesRandomly(c),b.updateBounds())},n.prototype.getFlatForest=function(){for(var a=[],b=!0,c=this.graphManager.getRoot().getNodes(),e=!0,f=0;f<c.length;f++)null!=c[f].getChild()&&(e=!1);if(!e)return a;var g=new Set,h=[],i=new Map,j=[];for(j=j.concat(c);j.length>0&&b;){for(h.push(j[0]);h.length>0&&b;){var k=h[0];h.splice(0,1),g.add(k);for(var l=k.getEdges(),f=0;f<l.length;f++){var n=l[f].getOtherEnd(k);if(i.get(k)!=n)if(g.has(n)){b=!1;break}else h.push(n),i.set(n,k)}}if(b){var o=[].concat(d(g));a.push(o);for(var f=0;f<o.length;f++){var p=o[f],q=j.indexOf(p);q>-1&&j.splice(q,1)}g=new Set,i=new Map}else a=[]}return a},n.prototype.createDummyNodesForBendpoints=function(a){for(var b=[],c=a.source,d=this.graphManager.calcLowestCommonAncestor(a.source,a.target),e=0;e<a.bendpoints.length;e++){var f=this.newNode(null);f.setRect(new Point(0,0),new Dimension(1,1)),d.add(f);var g=this.newEdge(null);this.graphManager.add(g,c,f),b.add(f),c=f}var g=this.newEdge(null);return this.graphManager.add(g,c,a.target),this.edgeToDummyNodes.set(a,b),a.isInterGraph()?this.graphManager.remove(a):d.remove(a),b},n.prototype.createBendpointsFromDummyNodes=function(){var a=[];a=a.concat(this.graphManager.getAllEdges()),a=[].concat(d(this.edgeToDummyNodes.keys())).concat(a);for(var b=0;b<a.length;b++){var c=a[b];if(c.bendpoints.length>0){for(var e=this.edgeToDummyNodes.get(c),f=0;f<e.length;f++){var g=e[f],h=new j(g.getCenterX(),g.getCenterY()),i=c.bendpoints.get(f);i.x=h.x,i.y=h.y,g.getOwner().remove(g)}this.graphManager.add(c,c.source,c.target)}}},n.transform=function(a,b,c,d){if(void 0==c||void 0==d)return a<=50?(e=9*b/500,f=b/10):(e=9*b/50,f=-8*b),e*a+f;var e,f,g=b;return a<=50?g-=(b-b/c)/50*(50-a):g+=(b*d-b)/50*(a-50),g},n.findCenterOfTree=function(a){var b=[];b=b.concat(a);var c=[],d=new Map,e=!1,f=null;(1==b.length||2==b.length)&&(e=!0,f=b[0]);for(var g=0;g<b.length;g++){var h=b[g],i=h.getNeighborsList().size;d.set(h,h.getNeighborsList().size),1==i&&c.push(h)}var j=[];for(j=j.concat(c);!e;){var k=[];k=k.concat(j),j=[];for(var g=0;g<b.length;g++){var h=b[g],l=b.indexOf(h);l>=0&&b.splice(l,1),h.getNeighborsList().forEach(function(a){if(0>c.indexOf(a)){var b=d.get(a)-1;1==b&&j.push(a),d.set(a,b)}})}c=c.concat(j),(1==b.length||2==b.length)&&(e=!0,f=b[0])}return f},n.prototype.setGraphManager=function(a){this.graphManager=a},a.exports=n},function(a,b,c){"use strict";function d(){}d.seed=1,d.x=0,d.nextDouble=function(){return d.x=1e4*Math.sin(d.seed++),d.x-Math.floor(d.x)},a.exports=d},function(a,b,c){"use strict";var d=c(5);function e(a,b){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}e.prototype.getWorldOrgX=function(){return this.lworldOrgX},e.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},e.prototype.getWorldOrgY=function(){return this.lworldOrgY},e.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},e.prototype.getWorldExtX=function(){return this.lworldExtX},e.prototype.setWorldExtX=function(a){this.lworldExtX=a},e.prototype.getWorldExtY=function(){return this.lworldExtY},e.prototype.setWorldExtY=function(a){this.lworldExtY=a},e.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},e.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},e.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},e.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},e.prototype.getDeviceExtX=function(){return this.ldeviceExtX},e.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},e.prototype.getDeviceExtY=function(){return this.ldeviceExtY},e.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},e.prototype.transformX=function(a){var b=0,c=this.lworldExtX;return 0!=c&&(b=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/c),b},e.prototype.transformY=function(a){var b=0,c=this.lworldExtY;return 0!=c&&(b=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/c),b},e.prototype.inverseTransformX=function(a){var b=0,c=this.ldeviceExtX;return 0!=c&&(b=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/c),b},e.prototype.inverseTransformY=function(a){var b=0,c=this.ldeviceExtY;return 0!=c&&(b=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/c),b},e.prototype.inverseTransformPoint=function(a){return new d(this.inverseTransformX(a.x),this.inverseTransformY(a.y))},a.exports=e},function(a,b,c){"use strict";var d=c(15),e=c(4),f=c(0),g=c(8),h=c(9);function i(){d.call(this),this.useSmartIdealEdgeLengthCalculation=e.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=e.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=e.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=e.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=e.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*e.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=e.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=e.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=e.MAX_ITERATIONS}for(var j in i.prototype=Object.create(d.prototype),d)i[j]=d[j];i.prototype.initParameters=function(){d.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=e.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},i.prototype.calcIdealEdgeLengths=function(){for(var a,b,c,d,g,h,i,j=this.getGraphManager().getAllEdges(),k=0;k<j.length;k++)b=(a=j[k]).idealLength,a.isInterGraph&&(d=a.getSource(),g=a.getTarget(),h=a.getSourceInLca().getEstimatedSize(),i=a.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(a.idealLength+=h+i-2*f.SIMPLE_NODE_SIZE),c=a.getLca().getInclusionTreeDepth(),a.idealLength+=b*e.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(d.getInclusionTreeDepth()+g.getInclusionTreeDepth()-2*c))},i.prototype.initSpringEmbedder=function(){var a=this.getAllNodes().length;this.incremental?(a>e.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*e.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(a-e.ADAPTATION_LOWER_NODE_LIMIT)/(e.ADAPTATION_UPPER_NODE_LIMIT-e.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-e.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=e.MAX_NODE_DISPLACEMENT_INCREMENTAL):(a>e.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(e.COOLING_ADAPTATION_FACTOR,1-(a-e.ADAPTATION_LOWER_NODE_LIMIT)/(e.ADAPTATION_UPPER_NODE_LIMIT-e.ADAPTATION_LOWER_NODE_LIMIT)*(1-e.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=e.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.displacementThresholdPerNode=3*e.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},i.prototype.calcSpringForces=function(){for(var a,b=this.getAllEdges(),c=0;c<b.length;c++)a=b[c],this.calcSpringForce(a,a.idealLength)},i.prototype.calcRepulsionForces=function(){var a,b,c,d,f,g=!(arguments.length>0)||void 0===arguments[0]||arguments[0],h=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%e.GRID_CALCULATION_CHECK_PERIOD==1&&g&&this.updateGrid(),f=new Set,a=0;a<i.length;a++)c=i[a],this.calculateRepulsionForceOfANode(c,f,g,h),f.add(c);else for(a=0;a<i.length;a++)for(c=i[a],b=a+1;b<i.length;b++)d=i[b],c.getOwner()==d.getOwner()&&this.calcRepulsionForce(c,d)},i.prototype.calcGravitationalForces=function(){for(var a,b=this.getAllNodesToApplyGravitation(),c=0;c<b.length;c++)a=b[c],this.calcGravitationalForce(a)},i.prototype.moveNodes=function(){for(var a=this.getAllNodes(),b=0;b<a.length;b++)a[b].move()},i.prototype.calcSpringForce=function(a,b){var c,d,e,f,g=a.getSource(),h=a.getTarget();if(this.uniformLeafNodeSizes&&null==g.getChild()&&null==h.getChild())a.updateLengthSimple();else if(a.updateLength(),a.isOverlapingSourceAndTarget)return;0!=(c=a.getLength())&&(e=(d=a.edgeElasticity*(c-b))*(a.lengthX/c),f=d*(a.lengthY/c),g.springForceX+=e,g.springForceY+=f,h.springForceX-=e,h.springForceY-=f)},i.prototype.calcRepulsionForce=function(a,b){var c,d,f,i,j,k,l,n=a.getRect(),o=b.getRect(),p=[,,],q=[,,,,];if(n.intersects(o)){g.calcSeparationAmount(n,o,p,e.DEFAULT_EDGE_LENGTH/2),k=2*p[0],l=2*p[1];var r=a.noOfChildren*b.noOfChildren/(a.noOfChildren+b.noOfChildren);a.repulsionForceX-=r*k,a.repulsionForceY-=r*l,b.repulsionForceX+=r*k,b.repulsionForceY+=r*l}else this.uniformLeafNodeSizes&&null==a.getChild()&&null==b.getChild()?(c=o.getCenterX()-n.getCenterX(),d=o.getCenterY()-n.getCenterY()):(g.getIntersection(n,o,q),c=q[2]-q[0],d=q[3]-q[1]),Math.abs(c)<e.MIN_REPULSION_DIST&&(c=h.sign(c)*e.MIN_REPULSION_DIST),Math.abs(d)<e.MIN_REPULSION_DIST&&(d=h.sign(d)*e.MIN_REPULSION_DIST),i=Math.sqrt(f=c*c+d*d),k=(j=(a.nodeRepulsion/2+b.nodeRepulsion/2)*a.noOfChildren*b.noOfChildren/f)*c/i,l=j*d/i,a.repulsionForceX-=k,a.repulsionForceY-=l,b.repulsionForceX+=k,b.repulsionForceY+=l},i.prototype.calcGravitationalForce=function(a){var b,c,d,e,f,g,h,i;c=((b=a.getOwner()).getRight()+b.getLeft())/2,d=(b.getTop()+b.getBottom())/2,e=a.getCenterX()-c,f=a.getCenterY()-d,g=Math.abs(e)+a.getWidth()/2,h=Math.abs(f)+a.getHeight()/2,a.getOwner()==this.graphManager.getRoot()?(g>(i=b.getEstimatedSize()*this.gravityRangeFactor)||h>i)&&(a.gravitationForceX=-this.gravityConstant*e,a.gravitationForceY=-this.gravityConstant*f):(g>(i=b.getEstimatedSize()*this.compoundGravityRangeFactor)||h>i)&&(a.gravitationForceX=-this.gravityConstant*e*this.compoundGravityConstant,a.gravitationForceY=-this.gravityConstant*f*this.compoundGravityConstant)},i.prototype.isConverged=function(){var a,b=!1;return this.totalIterations>this.maxIterations/3&&(b=2>Math.abs(this.totalDisplacement-this.oldTotalDisplacement)),a=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,a||b},i.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},i.prototype.calcNoOfChildrenForAllNodes=function(){for(var a,b=this.graphManager.getAllNodes(),c=0;c<b.length;c++)(a=b[c]).noOfChildren=a.getNoOfChildren()},i.prototype.calcGrid=function(a){var b=0,c=0;b=parseInt(Math.ceil((a.getRight()-a.getLeft())/this.repulsionRange)),c=parseInt(Math.ceil((a.getBottom()-a.getTop())/this.repulsionRange));for(var d=Array(b),e=0;e<b;e++)d[e]=Array(c);for(var e=0;e<b;e++)for(var f=0;f<c;f++)d[e][f]=[];return d},i.prototype.addNodeToGrid=function(a,b,c){var d=0,e=0,f=0,g=0;d=parseInt(Math.floor((a.getRect().x-b)/this.repulsionRange)),e=parseInt(Math.floor((a.getRect().width+a.getRect().x-b)/this.repulsionRange)),f=parseInt(Math.floor((a.getRect().y-c)/this.repulsionRange)),g=parseInt(Math.floor((a.getRect().height+a.getRect().y-c)/this.repulsionRange));for(var h=d;h<=e;h++)for(var i=f;i<=g;i++)this.grid[h][i].push(a),a.setGridCoordinates(d,e,f,g)},i.prototype.updateGrid=function(){var a,b,c=this.getAllNodes();for(a=0,this.grid=this.calcGrid(this.graphManager.getRoot());a<c.length;a++)b=c[a],this.addNodeToGrid(b,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},i.prototype.calculateRepulsionForceOfANode=function(a,b,c,d){if(this.totalIterations%e.GRID_CALCULATION_CHECK_PERIOD==1&&c||d){var f,g=new Set;a.surrounding=[];for(var h=this.grid,i=a.startX-1;i<a.finishX+2;i++)for(var j=a.startY-1;j<a.finishY+2;j++)if(!(i<0||j<0||i>=h.length||j>=h[0].length)){for(var k=0;k<h[i][j].length;k++)if(f=h[i][j][k],a.getOwner()==f.getOwner()&&a!=f&&!b.has(f)&&!g.has(f)){var l=Math.abs(a.getCenterX()-f.getCenterX())-(a.getWidth()/2+f.getWidth()/2),n=Math.abs(a.getCenterY()-f.getCenterY())-(a.getHeight()/2+f.getHeight()/2);l<=this.repulsionRange&&n<=this.repulsionRange&&g.add(f)}}a.surrounding=[].concat(function(a){if(!Array.isArray(a))return Array.from(a);for(var b=0,c=Array(a.length);b<a.length;b++)c[b]=a[b];return c}(g))}for(i=0;i<a.surrounding.length;i++)this.calcRepulsionForce(a,a.surrounding[i])},i.prototype.calcRepulsionRange=function(){return 0},a.exports=i},function(a,b,c){"use strict";var d=c(1),e=c(4);function f(a,b,c){d.call(this,a,b,c),this.idealLength=e.DEFAULT_EDGE_LENGTH,this.edgeElasticity=e.DEFAULT_SPRING_STRENGTH}for(var g in f.prototype=Object.create(d.prototype),d)f[g]=d[g];a.exports=f},function(a,b,c){"use strict";var d=c(3),e=c(4);function f(a,b,c,f){d.call(this,a,b,c,f),this.nodeRepulsion=e.DEFAULT_REPULSION_STRENGTH,this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}for(var g in f.prototype=Object.create(d.prototype),d)f[g]=d[g];f.prototype.setGridCoordinates=function(a,b,c,d){this.startX=a,this.finishX=b,this.startY=c,this.finishY=d},a.exports=f},function(a,b,c){"use strict";function d(a,b){this.width=0,this.height=0,null!==a&&null!==b&&(this.height=b,this.width=a)}d.prototype.getWidth=function(){return this.width},d.prototype.setWidth=function(a){this.width=a},d.prototype.getHeight=function(){return this.height},d.prototype.setHeight=function(a){this.height=a},a.exports=d},function(a,b,c){"use strict";var d=c(14);function e(){this.map={},this.keys=[]}e.prototype.put=function(a,b){var c=d.createID(a);this.contains(c)||(this.map[c]=b,this.keys.push(a))},e.prototype.contains=function(a){return d.createID(a),null!=this.map[a]},e.prototype.get=function(a){var b=d.createID(a);return this.map[b]},e.prototype.keySet=function(){return this.keys},a.exports=e},function(a,b,c){"use strict";var d=c(14);function e(){this.set={}}e.prototype.add=function(a){var b=d.createID(a);this.contains(b)||(this.set[b]=a)},e.prototype.remove=function(a){delete this.set[d.createID(a)]},e.prototype.clear=function(){this.set={}},e.prototype.contains=function(a){return this.set[d.createID(a)]==a},e.prototype.isEmpty=function(){return 0===this.size()},e.prototype.size=function(){return Object.keys(this.set).length},e.prototype.addAllTo=function(a){for(var b=Object.keys(this.set),c=b.length,d=0;d<c;d++)a.push(this.set[b[d]])},e.prototype.size=function(){return Object.keys(this.set).length},e.prototype.addAll=function(a){for(var b=a.length,c=0;c<b;c++){var d=a[c];this.add(d)}},a.exports=e},function(a,b,c){"use strict";function d(){}d.multMat=function(a,b){for(var c=[],d=0;d<a.length;d++){c[d]=[];for(var e=0;e<b[0].length;e++){c[d][e]=0;for(var f=0;f<a[0].length;f++)c[d][e]+=a[d][f]*b[f][e]}}return c},d.transpose=function(a){for(var b=[],c=0;c<a[0].length;c++){b[c]=[];for(var d=0;d<a.length;d++)b[c][d]=a[d][c]}return b},d.multCons=function(a,b){for(var c=[],d=0;d<a.length;d++)c[d]=a[d]*b;return c},d.minusOp=function(a,b){for(var c=[],d=0;d<a.length;d++)c[d]=a[d]-b[d];return c},d.dotProduct=function(a,b){for(var c=0,d=0;d<a.length;d++)c+=a[d]*b[d];return c},d.mag=function(a){return Math.sqrt(this.dotProduct(a,a))},d.normalize=function(a){for(var b=[],c=this.mag(a),d=0;d<a.length;d++)b[d]=a[d]/c;return b},d.multGamma=function(a){for(var b=[],c=0,d=0;d<a.length;d++)c+=a[d];c*=-1/a.length;for(var e=0;e<a.length;e++)b[e]=c+a[e];return b},d.multL=function(a,b,c){for(var d=[],e=[],f=[],g=0;g<b[0].length;g++){for(var h=0,i=0;i<b.length;i++)h+=-.5*b[i][g]*a[i];e[g]=h}for(var j=0;j<c.length;j++){for(var k=0,l=0;l<c.length;l++)k+=c[j][l]*e[l];f[j]=k}for(var n=0;n<b.length;n++){for(var o=0,p=0;p<b[0].length;p++)o+=b[n][p]*f[p];d[n]=o}return d},a.exports=d},function(a,b,c){"use strict";var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),e=c(11);a.exports=function(){function a(b,c){if(!(this instanceof a))throw TypeError("Cannot call a class as a function");(null!==c||void 0!==c)&&(this.compareFunction=this._defaultCompareFunction);var d=void 0;d=b instanceof e?b.size():b.length,this._quicksort(b,0,d-1)}return d(a,[{key:"_quicksort",value:function(a,b,c){if(b<c){var d=this._partition(a,b,c);this._quicksort(a,b,d),this._quicksort(a,d+1,c)}}},{key:"_partition",value:function(a,b,c){for(var d=this._get(a,b),e=b,f=c;;){for(;this.compareFunction(d,this._get(a,f));)f--;for(;this.compareFunction(this._get(a,e),d);)e++;if(!(e<f))return f;this._swap(a,e,f),e++,f--}}},{key:"_get",value:function(a,b){return a instanceof e?a.get_object_at(b):a[b]}},{key:"_set",value:function(a,b,c){a instanceof e?a.set_object_at(b,c):a[b]=c}},{key:"_swap",value:function(a,b,c){var d=this._get(a,b);this._set(a,b,this._get(a,c)),this._set(a,c,d)}},{key:"_defaultCompareFunction",value:function(a,b){return b>a}}]),a}()},function(a,b,c){"use strict";function d(){}d.svd=function(a){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=a.length,this.n=a[0].length;var b=Math.min(this.m,this.n);this.s=function(a){for(var b=[];a-- >0;)b.push(0);return b}(Math.min(this.m+1,this.n)),this.U=function a(b){if(0==b.length)return 0;for(var c=[],d=0;d<b[0];d++)c.push(a(b.slice(1)));return c}([this.m,b]),this.V=function a(b){if(0==b.length)return 0;for(var c=[],d=0;d<b[0];d++)c.push(a(b.slice(1)));return c}([this.n,this.n]);for(var c=function(a){for(var b=[];a-- >0;)b.push(0);return b}(this.n),e=function(a){for(var b=[];a-- >0;)b.push(0);return b}(this.m),f=Math.min(this.m-1,this.n),g=Math.max(0,Math.min(this.n-2,this.m)),h=0;h<Math.max(f,g);h++){if(h<f){this.s[h]=0;for(var i=h;i<this.m;i++)this.s[h]=d.hypot(this.s[h],a[i][h]);if(0!==this.s[h]){a[h][h]<0&&(this.s[h]=-this.s[h]);for(var j=h;j<this.m;j++)a[j][h]/=this.s[h];a[h][h]+=1}this.s[h]=-this.s[h]}for(var k=h+1;k<this.n;k++){if(q=h<f,r=0!==this.s[h],q&&r){for(var l=0,n=h;n<this.m;n++)l+=a[n][h]*a[n][k];l=-l/a[h][h];for(var o=h;o<this.m;o++)a[o][k]+=l*a[o][h]}c[k]=a[h][k]}if(s=h<f)for(var p=h;p<this.m;p++)this.U[p][h]=a[p][h];if(h<g){c[h]=0;for(var q,r,s,t,u,v=h+1;v<this.n;v++)c[h]=d.hypot(c[h],c[v]);if(0!==c[h]){c[h+1]<0&&(c[h]=-c[h]);for(var w=h+1;w<this.n;w++)c[w]/=c[h];c[h+1]+=1}if(c[h]=-c[h],t=h+1<this.m,u=0!==c[h],t&&u){for(var x=h+1;x<this.m;x++)e[x]=0;for(var y=h+1;y<this.n;y++)for(var z=h+1;z<this.m;z++)e[z]+=c[y]*a[z][y];for(var A=h+1;A<this.n;A++)for(var B=-c[A]/c[h+1],C=h+1;C<this.m;C++)a[C][A]+=B*e[C]}for(var D=h+1;D<this.n;D++)this.V[D][h]=c[D]}}var E=Math.min(this.n,this.m+1);f<this.n&&(this.s[f]=a[f][f]),this.m<E&&(this.s[E-1]=0),g+1<E&&(c[g]=a[g][E-1]),c[E-1]=0;for(var F=f;F<b;F++){for(var G=0;G<this.m;G++)this.U[G][F]=0;this.U[F][F]=1}for(var H=f-1;H>=0;H--)if(0!==this.s[H]){for(var I=H+1;I<b;I++){for(var J=0,K=H;K<this.m;K++)J+=this.U[K][H]*this.U[K][I];J=-J/this.U[H][H];for(var L=H;L<this.m;L++)this.U[L][I]+=J*this.U[L][H]}for(var M=H;M<this.m;M++)this.U[M][H]=-this.U[M][H];this.U[H][H]=1+this.U[H][H];for(var N=0;N<H-1;N++)this.U[N][H]=0}else{for(var O=0;O<this.m;O++)this.U[O][H]=0;this.U[H][H]=1}for(var P=this.n-1;P>=0;P--){if(al=P<g,am=0!==c[P],al&&am)for(var Q=P+1;Q<b;Q++){for(var R=0,S=P+1;S<this.n;S++)R+=this.V[S][P]*this.V[S][Q];R=-R/this.V[P+1][P];for(var T=P+1;T<this.n;T++)this.V[T][Q]+=R*this.V[T][P]}for(var U=0;U<this.n;U++)this.V[U][P]=0;this.V[P][P]=1}for(var V=E-1,W=0;E>0;){var X=void 0,Y=void 0;for(X=E-2;X>=-1&&-1!==X;X--)if(Math.abs(c[X])<=16033346880071782e-307+2220446049250313e-31*(Math.abs(this.s[X])+Math.abs(this.s[X+1]))){c[X]=0;break}if(X===E-2)Y=4;else{var Z=void 0;for(Z=E-1;Z>=X&&Z!==X;Z--){var $=(Z!==E?Math.abs(c[Z]):0)+(Z!==X+1?Math.abs(c[Z-1]):0);if(Math.abs(this.s[Z])<=16033346880071782e-307+2220446049250313e-31*$){this.s[Z]=0;break}}Z===X?Y=3:Z===E-1?Y=1:(Y=2,X=Z)}switch(X++,Y){case 1:var _=c[E-2];c[E-2]=0;for(var aa=E-2;aa>=X;aa--){var ab=d.hypot(this.s[aa],_),ac=this.s[aa]/ab,ad=_/ab;this.s[aa]=ab,aa!==X&&(_=-ad*c[aa-1],c[aa-1]=ac*c[aa-1]);for(var ae=0;ae<this.n;ae++)ab=ac*this.V[ae][aa]+ad*this.V[ae][E-1],this.V[ae][E-1]=-ad*this.V[ae][aa]+ac*this.V[ae][E-1],this.V[ae][aa]=ab}break;case 2:var af=c[X-1];c[X-1]=0;for(var ag=X;ag<E;ag++){var ah=d.hypot(this.s[ag],af),ai=this.s[ag]/ah,aj=af/ah;this.s[ag]=ah,af=-aj*c[ag],c[ag]=ai*c[ag];for(var ak=0;ak<this.m;ak++)ah=ai*this.U[ak][ag]+aj*this.U[ak][X-1],this.U[ak][X-1]=-aj*this.U[ak][ag]+ai*this.U[ak][X-1],this.U[ak][ag]=ah}break;case 3:var al,am,an,ao,ap=Math.max(Math.max(Math.max(Math.max(Math.abs(this.s[E-1]),Math.abs(this.s[E-2])),Math.abs(c[E-2])),Math.abs(this.s[X])),Math.abs(c[X])),aq=this.s[E-1]/ap,ar=this.s[E-2]/ap,as=c[E-2]/ap,at=this.s[X]/ap,au=c[X]/ap,av=((ar+aq)*(ar-aq)+as*as)/2,aw=aq*as*(aq*as),ax=0;an=0!==av,ao=0!==aw,(an||ao)&&(ax=Math.sqrt(av*av+aw),av<0&&(ax=-ax),ax=aw/(av+ax));for(var ay=(at+aq)*(at-aq)+ax,az=at*au,aA=X;aA<E-1;aA++){var aB=d.hypot(ay,az),aC=ay/aB,aD=az/aB;aA!==X&&(c[aA-1]=aB),ay=aC*this.s[aA]+aD*c[aA],c[aA]=aC*c[aA]-aD*this.s[aA],az=aD*this.s[aA+1],this.s[aA+1]=aC*this.s[aA+1];for(var aE=0;aE<this.n;aE++)aB=aC*this.V[aE][aA]+aD*this.V[aE][aA+1],this.V[aE][aA+1]=-aD*this.V[aE][aA]+aC*this.V[aE][aA+1],this.V[aE][aA]=aB;if(aB=d.hypot(ay,az),aC=ay/aB,aD=az/aB,this.s[aA]=aB,ay=aC*c[aA]+aD*this.s[aA+1],this.s[aA+1]=-aD*c[aA]+aC*this.s[aA+1],az=aD*c[aA+1],c[aA+1]=aC*c[aA+1],aA<this.m-1)for(var aF=0;aF<this.m;aF++)aB=aC*this.U[aF][aA]+aD*this.U[aF][aA+1],this.U[aF][aA+1]=-aD*this.U[aF][aA]+aC*this.U[aF][aA+1],this.U[aF][aA]=aB}c[E-2]=ay;break;case 4:if(this.s[X]<=0){this.s[X]=this.s[X]<0?-this.s[X]:0;for(var aG=0;aG<=V;aG++)this.V[aG][X]=-this.V[aG][X]}for(;X<V&&!(this.s[X]>=this.s[X+1]);){var aH=this.s[X];if(this.s[X]=this.s[X+1],this.s[X+1]=aH,X<this.n-1)for(var aI=0;aI<this.n;aI++)aH=this.V[aI][X+1],this.V[aI][X+1]=this.V[aI][X],this.V[aI][X]=aH;if(X<this.m-1)for(var aJ=0;aJ<this.m;aJ++)aH=this.U[aJ][X+1],this.U[aJ][X+1]=this.U[aJ][X],this.U[aJ][X]=aH;X++}E--}}return{U:this.U,V:this.V,S:this.s}},d.hypot=function(a,b){var c=void 0;return Math.abs(a)>Math.abs(b)?(c=b/a,c=Math.abs(a)*Math.sqrt(1+c*c)):0!=b?(c=a/b,c=Math.abs(b)*Math.sqrt(1+c*c)):c=0,c},a.exports=d},function(a,b,c){"use strict";var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}();a.exports=function(){function a(b,c){var d=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,e=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,f=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;if(!(this instanceof a))throw TypeError("Cannot call a class as a function");this.sequence1=b,this.sequence2=c,this.match_score=d,this.mismatch_penalty=e,this.gap_penalty=f,this.iMax=b.length+1,this.jMax=c.length+1,this.grid=Array(this.iMax);for(var g=0;g<this.iMax;g++){this.grid[g]=Array(this.jMax);for(var h=0;h<this.jMax;h++)this.grid[g][h]=0}this.tracebackGrid=Array(this.iMax);for(var i=0;i<this.iMax;i++){this.tracebackGrid[i]=Array(this.jMax);for(var j=0;j<this.jMax;j++)this.tracebackGrid[i][j]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return d(a,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var a=1;a<this.jMax;a++)this.grid[0][a]=this.grid[0][a-1]+this.gap_penalty,this.tracebackGrid[0][a]=[!1,!1,!0];for(var b=1;b<this.iMax;b++)this.grid[b][0]=this.grid[b-1][0]+this.gap_penalty,this.tracebackGrid[b][0]=[!1,!0,!1];for(var c=1;c<this.iMax;c++)for(var d=1;d<this.jMax;d++){var e=[this.sequence1[c-1]===this.sequence2[d-1]?this.grid[c-1][d-1]+this.match_score:this.grid[c-1][d-1]+this.mismatch_penalty,this.grid[c-1][d]+this.gap_penalty,this.grid[c][d-1]+this.gap_penalty],f=this.arrayAllMaxIndexes(e);this.grid[c][d]=e[f[0]],this.tracebackGrid[c][d]=[f.includes(0),f.includes(1),f.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var a=[];for(a.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});a[0];){var b=a[0],c=this.tracebackGrid[b.pos[0]][b.pos[1]];c[0]&&a.push({pos:[b.pos[0]-1,b.pos[1]-1],seq1:this.sequence1[b.pos[0]-1]+b.seq1,seq2:this.sequence2[b.pos[1]-1]+b.seq2}),c[1]&&a.push({pos:[b.pos[0]-1,b.pos[1]],seq1:this.sequence1[b.pos[0]-1]+b.seq1,seq2:"-"+b.seq2}),c[2]&&a.push({pos:[b.pos[0],b.pos[1]-1],seq1:"-"+b.seq1,seq2:this.sequence2[b.pos[1]-1]+b.seq2}),0===b.pos[0]&&0===b.pos[1]&&this.alignments.push({sequence1:b.seq1,sequence2:b.seq2}),a.shift()}return this.alignments}},{key:"getAllIndexes",value:function(a,b){for(var c=[],d=-1;-1!==(d=a.indexOf(b,d+1));)c.push(d);return c}},{key:"arrayAllMaxIndexes",value:function(a){return this.getAllIndexes(a,Math.max.apply(null,a))}}]),a}()},function(a,b,c){"use strict";var d=function(){};d.FDLayout=c(18),d.FDLayoutConstants=c(4),d.FDLayoutEdge=c(19),d.FDLayoutNode=c(20),d.DimensionD=c(21),d.HashMap=c(22),d.HashSet=c(23),d.IGeometry=c(8),d.IMath=c(9),d.Integer=c(10),d.Point=c(12),d.PointD=c(5),d.RandomSeed=c(16),d.RectangleD=c(13),d.Transform=c(17),d.UniqueIDGeneretor=c(14),d.Quicksort=c(25),d.LinkedList=c(11),d.LGraphObject=c(2),d.LGraph=c(6),d.LEdge=c(1),d.LGraphManager=c(7),d.LNode=c(3),d.Layout=c(15),d.LayoutConstants=c(0),d.NeedlemanWunsch=c(27),d.Matrix=c(24),d.SVD=c(26),a.exports=d},function(a,b,c){"use strict";function d(){this.listeners=[]}var e=d.prototype;e.addListener=function(a,b){this.listeners.push({event:a,callback:b})},e.removeListener=function(a,b){for(var c=this.listeners.length;c>=0;c--){var d=this.listeners[c];d.event===a&&d.callback===b&&this.listeners.splice(c,1)}},e.emit=function(a,b){for(var c=0;c<this.listeners.length;c++){var d=this.listeners[c];a===d.event&&d.callback(b)}},a.exports=d}],b={};function c(d){if(b[d])return b[d].exports;var e=b[d]={i:d,l:!1,exports:{}};return a[d].call(e.exports,e,e.exports,c),e.l=!0,e.exports}return c.m=a,c.c=b,c.i=function(a){return a},c.d=function(a,b,d){c.o(a,b)||Object.defineProperty(a,b,{configurable:!1,enumerable:!0,get:d})},c.n=function(a){var b=a&&a.__esModule?function(){return a.default}:function(){return a};return c.d(b,"a",b),b},c.o=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)},c.p="",c(c.s=28)}()},89165,(a,b,c)=>{var d;a.e,d=a.r(17224),b.exports=(()=>{"use strict";var a={45:(a,b,c)=>{var d={};d.layoutBase=c(551),d.CoSEConstants=c(806),d.CoSEEdge=c(767),d.CoSEGraph=c(880),d.CoSEGraphManager=c(578),d.CoSELayout=c(765),d.CoSENode=c(991),d.ConstraintHandler=c(902),a.exports=d},806:(a,b,c)=>{var d=c(551).FDLayoutConstants;function e(){}for(var f in d)e[f]=d[f];e.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,e.DEFAULT_RADIAL_SEPARATION=d.DEFAULT_EDGE_LENGTH,e.DEFAULT_COMPONENT_SEPERATION=60,e.TILE=!0,e.TILING_PADDING_VERTICAL=10,e.TILING_PADDING_HORIZONTAL=10,e.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,e.ENFORCE_CONSTRAINTS=!0,e.APPLY_LAYOUT=!0,e.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,e.TREE_REDUCTION_ON_INCREMENTAL=!0,e.PURE_INCREMENTAL=e.DEFAULT_INCREMENTAL,a.exports=e},767:(a,b,c)=>{var d=c(551).FDLayoutEdge;function e(a,b,c){d.call(this,a,b,c)}for(var f in e.prototype=Object.create(d.prototype),d)e[f]=d[f];a.exports=e},880:(a,b,c)=>{var d=c(551).LGraph;function e(a,b,c){d.call(this,a,b,c)}for(var f in e.prototype=Object.create(d.prototype),d)e[f]=d[f];a.exports=e},578:(a,b,c)=>{var d=c(551).LGraphManager;function e(a){d.call(this,a)}for(var f in e.prototype=Object.create(d.prototype),d)e[f]=d[f];a.exports=e},765:(a,b,c)=>{var d=c(551).FDLayout,e=c(578),f=c(880),g=c(991),h=c(767),i=c(806),j=c(902),k=c(551).FDLayoutConstants,l=c(551).LayoutConstants,n=c(551).Point,o=c(551).PointD,p=c(551).DimensionD,q=c(551).Layout,r=c(551).Integer,s=c(551).IGeometry,t=c(551).LGraph,u=c(551).Transform,v=c(551).LinkedList;function w(){d.call(this),this.toBeTiled={},this.constraints={}}for(var x in w.prototype=Object.create(d.prototype),d)w[x]=d[x];w.prototype.newGraphManager=function(){var a=new e(this);return this.graphManager=a,a},w.prototype.newGraph=function(a){return new f(null,this.graphManager,a)},w.prototype.newNode=function(a){return new g(this.graphManager,a)},w.prototype.newEdge=function(a){return new h(null,null,a)},w.prototype.initParameters=function(){d.prototype.initParameters.call(this,arguments),this.isSubLayout||(i.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=i.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=k.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=k.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=k.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=k.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},w.prototype.initSpringEmbedder=function(){d.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/k.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},w.prototype.layout=function(){return l.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},w.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(i.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var a=new Set(this.getAllNodes()),b=this.nodesWithGravity.filter(function(b){return a.has(b)});this.graphManager.setAllNodesToApplyGravitation(b)}}else{var c=this.getFlatForest();if(c.length>0)this.positionNodesRadially(c);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var a=new Set(this.getAllNodes()),b=this.nodesWithGravity.filter(function(b){return a.has(b)});this.graphManager.setAllNodesToApplyGravitation(b),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(j.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),i.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},w.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(!(this.prunedNodesAll.length>0))return!0;else this.isTreeGrowing=!0;if(this.totalIterations%k.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(!(this.prunedNodesAll.length>0))return!0;else this.isTreeGrowing=!0;this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var a=new Set(this.getAllNodes()),b=this.nodesWithGravity.filter(function(b){return a.has(b)});this.graphManager.setAllNodesToApplyGravitation(b),this.graphManager.updateBounds(),this.updateGrid(),i.PURE_INCREMENTAL?this.coolingFactor=k.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=k.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),i.PURE_INCREMENTAL?this.coolingFactor=k.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=k.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var c=!this.isTreeGrowing&&!this.isGrowthFinished,d=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(c,d),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},w.prototype.getPositionsData=function(){for(var a=this.graphManager.getAllNodes(),b={},c=0;c<a.length;c++){var d=a[c].rect,e=a[c].id;b[e]={id:e,x:d.getCenterX(),y:d.getCenterY(),w:d.width,h:d.height}}return b},w.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var a=!1;if("during"===k.ANIMATE)this.emit("layoutstarted");else{for(;!a;)a=this.tick();this.graphManager.updateBounds()}},w.prototype.moveNodes=function(){for(var a,b=this.getAllNodes(),c=0;c<b.length;c++)b[c].calculateDisplacement();Object.keys(this.constraints).length>0&&this.updateDisplacements();for(var c=0;c<b.length;c++)b[c].move()},w.prototype.initConstraintVariables=function(){var a=this;this.idToNodeMap=new Map,this.fixedNodeSet=new Set;for(var b=this.graphManager.getAllNodes(),c=0;c<b.length;c++){var d=b[c];this.idToNodeMap.set(d.id,d)}if(this.constraints.fixedNodeConstraint){this.constraints.fixedNodeConstraint.forEach(function(b){a.fixedNodeSet.add(b.nodeId)});for(var d,b=this.graphManager.getAllNodes(),c=0;c<b.length;c++)if(null!=(d=b[c]).getChild()){var e=function b(c){for(var d,e=c.getChild().getNodes(),f=0,g=0;g<e.length;g++)null==(d=e[g]).getChild()?a.fixedNodeSet.has(d.id)&&(f+=100):f+=b(d);return f}(d);e>0&&(d.fixedNodeWeight=e)}}if(this.constraints.relativePlacementConstraint){var f=new Map,g=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(b){a.fixedNodesOnHorizontal.add(b),a.fixedNodesOnVertical.add(b)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var h=this.constraints.alignmentConstraint.vertical,c=0;c<h.length;c++)this.dummyToNodeForVerticalAlignment.set("dummy"+c,[]),h[c].forEach(function(b){f.set(b,"dummy"+c),a.dummyToNodeForVerticalAlignment.get("dummy"+c).push(b),a.fixedNodeSet.has(b)&&a.fixedNodesOnHorizontal.add("dummy"+c)});if(this.constraints.alignmentConstraint.horizontal)for(var j=this.constraints.alignmentConstraint.horizontal,c=0;c<j.length;c++)this.dummyToNodeForHorizontalAlignment.set("dummy"+c,[]),j[c].forEach(function(b){g.set(b,"dummy"+c),a.dummyToNodeForHorizontalAlignment.get("dummy"+c).push(b),a.fixedNodeSet.has(b)&&a.fixedNodesOnVertical.add("dummy"+c)})}if(i.RELAX_MOVEMENT_ON_CONSTRAINTS)this.shuffle=function(a){var b,c,d;for(d=a.length-1;d>=2*a.length/3;d--)b=Math.floor(Math.random()*(d+1)),c=a[d],a[d]=a[b],a[b]=c;return a},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(b){if(b.left){var c=f.has(b.left)?f.get(b.left):b.left,d=f.has(b.right)?f.get(b.right):b.right;a.nodesInRelativeHorizontal.includes(c)||(a.nodesInRelativeHorizontal.push(c),a.nodeToRelativeConstraintMapHorizontal.set(c,[]),a.dummyToNodeForVerticalAlignment.has(c)?a.nodeToTempPositionMapHorizontal.set(c,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(c)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(c,a.idToNodeMap.get(c).getCenterX())),a.nodesInRelativeHorizontal.includes(d)||(a.nodesInRelativeHorizontal.push(d),a.nodeToRelativeConstraintMapHorizontal.set(d,[]),a.dummyToNodeForVerticalAlignment.has(d)?a.nodeToTempPositionMapHorizontal.set(d,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(d)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(d,a.idToNodeMap.get(d).getCenterX())),a.nodeToRelativeConstraintMapHorizontal.get(c).push({right:d,gap:b.gap}),a.nodeToRelativeConstraintMapHorizontal.get(d).push({left:c,gap:b.gap})}else{var e=g.has(b.top)?g.get(b.top):b.top,h=g.has(b.bottom)?g.get(b.bottom):b.bottom;a.nodesInRelativeVertical.includes(e)||(a.nodesInRelativeVertical.push(e),a.nodeToRelativeConstraintMapVertical.set(e,[]),a.dummyToNodeForHorizontalAlignment.has(e)?a.nodeToTempPositionMapVertical.set(e,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(e)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(e,a.idToNodeMap.get(e).getCenterY())),a.nodesInRelativeVertical.includes(h)||(a.nodesInRelativeVertical.push(h),a.nodeToRelativeConstraintMapVertical.set(h,[]),a.dummyToNodeForHorizontalAlignment.has(h)?a.nodeToTempPositionMapVertical.set(h,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(h)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(h,a.idToNodeMap.get(h).getCenterY())),a.nodeToRelativeConstraintMapVertical.get(e).push({bottom:h,gap:b.gap}),a.nodeToRelativeConstraintMapVertical.get(h).push({top:e,gap:b.gap})}});else{var k=new Map,l=new Map;this.constraints.relativePlacementConstraint.forEach(function(a){if(a.left){var b=f.has(a.left)?f.get(a.left):a.left,c=f.has(a.right)?f.get(a.right):a.right;k.has(b)?k.get(b).push(c):k.set(b,[c]),k.has(c)?k.get(c).push(b):k.set(c,[b])}else{var d=g.has(a.top)?g.get(a.top):a.top,e=g.has(a.bottom)?g.get(a.bottom):a.bottom;l.has(d)?l.get(d).push(e):l.set(d,[e]),l.has(e)?l.get(e).push(d):l.set(e,[d])}});var n=function(a,b){var c=[],d=[],e=new v,f=new Set,g=0;return a.forEach(function(h,i){if(!f.has(i)){c[g]=[],d[g]=!1;var j=i;for(e.push(j),f.add(j),c[g].push(j);0!=e.length;)j=e.shift(),b.has(j)&&(d[g]=!0),a.get(j).forEach(function(a){f.has(a)||(e.push(a),f.add(a),c[g].push(a))});g++}}),{components:c,isFixed:d}},o=n(k,a.fixedNodesOnHorizontal);this.componentsOnHorizontal=o.components,this.fixedComponentsOnHorizontal=o.isFixed;var p=n(l,a.fixedNodesOnVertical);this.componentsOnVertical=p.components,this.fixedComponentsOnVertical=p.isFixed}}},w.prototype.updateDisplacements=function(){var a=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(b){var c=a.idToNodeMap.get(b.nodeId);c.displacementX=0,c.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var b=this.constraints.alignmentConstraint.vertical,c=0;c<b.length;c++){for(var d=0,e=0;e<b[c].length;e++){if(this.fixedNodeSet.has(b[c][e])){d=0;break}d+=this.idToNodeMap.get(b[c][e]).displacementX}for(var f=d/b[c].length,e=0;e<b[c].length;e++)this.idToNodeMap.get(b[c][e]).displacementX=f}if(this.constraints.alignmentConstraint.horizontal)for(var g=this.constraints.alignmentConstraint.horizontal,c=0;c<g.length;c++){for(var h=0,e=0;e<g[c].length;e++){if(this.fixedNodeSet.has(g[c][e])){h=0;break}h+=this.idToNodeMap.get(g[c][e]).displacementY}for(var j=h/g[c].length,e=0;e<g[c].length;e++)this.idToNodeMap.get(g[c][e]).displacementY=j}}if(this.constraints.relativePlacementConstraint)if(i.RELAX_MOVEMENT_ON_CONSTRAINTS)this.totalIterations%10==0&&(this.shuffle(this.nodesInRelativeHorizontal),this.shuffle(this.nodesInRelativeVertical)),this.nodesInRelativeHorizontal.forEach(function(b){if(!a.fixedNodesOnHorizontal.has(b)){var c=0;c=a.dummyToNodeForVerticalAlignment.has(b)?a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(b)[0]).displacementX:a.idToNodeMap.get(b).displacementX,a.nodeToRelativeConstraintMapHorizontal.get(b).forEach(function(d){if(d.right){var e=a.nodeToTempPositionMapHorizontal.get(d.right)-a.nodeToTempPositionMapHorizontal.get(b)-c;e<d.gap&&(c-=d.gap-e)}else{var e=a.nodeToTempPositionMapHorizontal.get(b)-a.nodeToTempPositionMapHorizontal.get(d.left)+c;e<d.gap&&(c+=d.gap-e)}}),a.nodeToTempPositionMapHorizontal.set(b,a.nodeToTempPositionMapHorizontal.get(b)+c),a.dummyToNodeForVerticalAlignment.has(b)?a.dummyToNodeForVerticalAlignment.get(b).forEach(function(b){a.idToNodeMap.get(b).displacementX=c}):a.idToNodeMap.get(b).displacementX=c}}),this.nodesInRelativeVertical.forEach(function(b){if(!a.fixedNodesOnHorizontal.has(b)){var c=0;c=a.dummyToNodeForHorizontalAlignment.has(b)?a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(b)[0]).displacementY:a.idToNodeMap.get(b).displacementY,a.nodeToRelativeConstraintMapVertical.get(b).forEach(function(d){if(d.bottom){var e=a.nodeToTempPositionMapVertical.get(d.bottom)-a.nodeToTempPositionMapVertical.get(b)-c;e<d.gap&&(c-=d.gap-e)}else{var e=a.nodeToTempPositionMapVertical.get(b)-a.nodeToTempPositionMapVertical.get(d.top)+c;e<d.gap&&(c+=d.gap-e)}}),a.nodeToTempPositionMapVertical.set(b,a.nodeToTempPositionMapVertical.get(b)+c),a.dummyToNodeForHorizontalAlignment.has(b)?a.dummyToNodeForHorizontalAlignment.get(b).forEach(function(b){a.idToNodeMap.get(b).displacementY=c}):a.idToNodeMap.get(b).displacementY=c}});else{for(var c=0;c<this.componentsOnHorizontal.length;c++){var k=this.componentsOnHorizontal[c];if(this.fixedComponentsOnHorizontal[c])for(var e=0;e<k.length;e++)this.dummyToNodeForVerticalAlignment.has(k[e])?this.dummyToNodeForVerticalAlignment.get(k[e]).forEach(function(b){a.idToNodeMap.get(b).displacementX=0}):this.idToNodeMap.get(k[e]).displacementX=0;else{for(var l=0,n=0,e=0;e<k.length;e++)if(this.dummyToNodeForVerticalAlignment.has(k[e])){var o=this.dummyToNodeForVerticalAlignment.get(k[e]);l+=o.length*this.idToNodeMap.get(o[0]).displacementX,n+=o.length}else l+=this.idToNodeMap.get(k[e]).displacementX,n++;for(var p=l/n,e=0;e<k.length;e++)this.dummyToNodeForVerticalAlignment.has(k[e])?this.dummyToNodeForVerticalAlignment.get(k[e]).forEach(function(b){a.idToNodeMap.get(b).displacementX=p}):this.idToNodeMap.get(k[e]).displacementX=p}}for(var c=0;c<this.componentsOnVertical.length;c++){var k=this.componentsOnVertical[c];if(this.fixedComponentsOnVertical[c])for(var e=0;e<k.length;e++)this.dummyToNodeForHorizontalAlignment.has(k[e])?this.dummyToNodeForHorizontalAlignment.get(k[e]).forEach(function(b){a.idToNodeMap.get(b).displacementY=0}):this.idToNodeMap.get(k[e]).displacementY=0;else{for(var l=0,n=0,e=0;e<k.length;e++)if(this.dummyToNodeForHorizontalAlignment.has(k[e])){var o=this.dummyToNodeForHorizontalAlignment.get(k[e]);l+=o.length*this.idToNodeMap.get(o[0]).displacementY,n+=o.length}else l+=this.idToNodeMap.get(k[e]).displacementY,n++;for(var p=l/n,e=0;e<k.length;e++)this.dummyToNodeForHorizontalAlignment.has(k[e])?this.dummyToNodeForHorizontalAlignment.get(k[e]).forEach(function(b){a.idToNodeMap.get(b).displacementY=p}):this.idToNodeMap.get(k[e]).displacementY=p}}}},w.prototype.calculateNodesToApplyGravitationTo=function(){var a,b,c=[],d=this.graphManager.getGraphs(),e=d.length;for(b=0;b<e;b++)(a=d[b]).updateConnected(),a.isConnected||(c=c.concat(a.getNodes()));return c},w.prototype.createBendpoints=function(){var a=[];a=a.concat(this.graphManager.getAllEdges());var b=new Set;for(f=0;f<a.length;f++){var c=a[f];if(!b.has(c)){var d=c.getSource(),e=c.getTarget();if(d==e)c.getBendpoints().push(new o),c.getBendpoints().push(new o),this.createDummyNodesForBendpoints(c),b.add(c);else{var f,g,h=[];if(h=(h=h.concat(d.getEdgeListToNode(e))).concat(e.getEdgeListToNode(d)),!b.has(h[0])){if(h.length>1)for(g=0;g<h.length;g++){var i=h[g];i.getBendpoints().push(new o),this.createDummyNodesForBendpoints(i)}h.forEach(function(a){b.add(a)})}}}if(b.size==a.length)break}},w.prototype.positionNodesRadially=function(a){for(var b=new n(0,0),c=Math.ceil(Math.sqrt(a.length)),d=0,e=0,f=0,g=new o(0,0),h=0;h<a.length;h++){h%c==0&&(f=0,e=d,0!=h&&(e+=i.DEFAULT_COMPONENT_SEPERATION),d=0);var j=a[h],k=q.findCenterOfTree(j);b.x=f,b.y=e,(g=w.radialLayout(j,k,b)).y>d&&(d=Math.floor(g.y)),f=Math.floor(g.x+i.DEFAULT_COMPONENT_SEPERATION)}this.transform(new o(l.WORLD_CENTER_X-g.x/2,l.WORLD_CENTER_Y-g.y/2))},w.radialLayout=function(a,b,c){var d=Math.max(this.maxDiagonalInTree(a),i.DEFAULT_RADIAL_SEPARATION);w.branchRadialLayout(b,null,0,359,0,d);var e=t.calculateBounds(a),f=new u;f.setDeviceOrgX(e.getMinX()),f.setDeviceOrgY(e.getMinY()),f.setWorldOrgX(c.x),f.setWorldOrgY(c.y);for(var g=0;g<a.length;g++)a[g].transform(f);var h=new o(e.getMaxX(),e.getMaxY());return f.inverseTransformPoint(h)},w.branchRadialLayout=function(a,b,c,d,e,f){var g,h=(d-c+1)/2;h<0&&(h+=180);var i=(h+c)%360*s.TWO_PI/360,j=e*Math.cos(i),k=e*Math.sin(i);a.setCenter(j,k);var l=[],n=(l=l.concat(a.getEdges())).length;null!=b&&n--;for(var o=0,p=l.length,q=a.getEdgesBetween(b);q.length>1;){var r=q[0];q.splice(0,1);var t=l.indexOf(r);t>=0&&l.splice(t,1),p--,n--}g=null!=b?(l.indexOf(q[0])+1)%p:0;for(var u=Math.abs(d-c)/n,v=g;o!=n;v=++v%p){var x=l[v].getOtherEnd(a);if(x!=b){var y=(c+o*u)%360,z=(y+u)%360;w.branchRadialLayout(x,a,y,z,e+f,f),o++}}},w.maxDiagonalInTree=function(a){for(var b=r.MIN_VALUE,c=0;c<a.length;c++){var d=a[c].getDiagonal();d>b&&(b=d)}return b},w.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},w.prototype.groupZeroDegreeMembers=function(){var a=this,b={};this.memberGroups={},this.idToDummyNode={};for(var c=[],d=this.graphManager.getAllNodes(),e=0;e<d.length;e++){var f=d[e],h=f.getParent();0!==this.getNodeDegreeWithChildren(f)||void 0!=h.id&&this.getToBeTiled(h)||c.push(f)}for(var e=0;e<c.length;e++){var f=c[e],i=f.getParent().id;void 0===b[i]&&(b[i]=[]),b[i]=b[i].concat(f)}Object.keys(b).forEach(function(c){if(b[c].length>1){var d="DummyCompound_"+c;a.memberGroups[d]=b[c];var e=b[c][0].getParent(),f=new g(a.graphManager);f.id=d,f.paddingLeft=e.paddingLeft||0,f.paddingRight=e.paddingRight||0,f.paddingBottom=e.paddingBottom||0,f.paddingTop=e.paddingTop||0,a.idToDummyNode[d]=f;var h=a.getGraphManager().add(a.newGraph(),f),i=e.getChild();i.add(f);for(var j=0;j<b[c].length;j++){var k=b[c][j];i.remove(k),h.add(k)}}})},w.prototype.clearCompounds=function(){var a={},b={};this.performDFSOnCompounds();for(var c=0;c<this.compoundOrder.length;c++)b[this.compoundOrder[c].id]=this.compoundOrder[c],a[this.compoundOrder[c].id]=[].concat(this.compoundOrder[c].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[c].getChild()),this.compoundOrder[c].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(a,b)},w.prototype.clearZeroDegreeMembers=function(){var a=this,b=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(c){var d=a.idToDummyNode[c];if(b[c]=a.tileNodes(a.memberGroups[c],d.paddingLeft+d.paddingRight),d.rect.width=b[c].width,d.rect.height=b[c].height,d.setCenter(b[c].centerX,b[c].centerY),d.labelMarginLeft=0,d.labelMarginTop=0,i.NODE_DIMENSIONS_INCLUDE_LABELS){var e=d.rect.width,f=d.rect.height;d.labelWidth&&("left"==d.labelPosHorizontal?(d.rect.x-=d.labelWidth,d.setWidth(e+d.labelWidth),d.labelMarginLeft=d.labelWidth):"center"==d.labelPosHorizontal&&d.labelWidth>e?(d.rect.x-=(d.labelWidth-e)/2,d.setWidth(d.labelWidth),d.labelMarginLeft=(d.labelWidth-e)/2):"right"==d.labelPosHorizontal&&d.setWidth(e+d.labelWidth)),d.labelHeight&&("top"==d.labelPosVertical?(d.rect.y-=d.labelHeight,d.setHeight(f+d.labelHeight),d.labelMarginTop=d.labelHeight):"center"==d.labelPosVertical&&d.labelHeight>f?(d.rect.y-=(d.labelHeight-f)/2,d.setHeight(d.labelHeight),d.labelMarginTop=(d.labelHeight-f)/2):"bottom"==d.labelPosVertical&&d.setHeight(f+d.labelHeight))}})},w.prototype.repopulateCompounds=function(){for(var a=this.compoundOrder.length-1;a>=0;a--){var b=this.compoundOrder[a],c=b.id,d=b.paddingLeft,e=b.paddingTop,f=b.labelMarginLeft,g=b.labelMarginTop;this.adjustLocations(this.tiledMemberPack[c],b.rect.x,b.rect.y,d,e,f,g)}},w.prototype.repopulateZeroDegreeMembers=function(){var a=this,b=this.tiledZeroDegreePack;Object.keys(b).forEach(function(c){var d=a.idToDummyNode[c],e=d.paddingLeft,f=d.paddingTop,g=d.labelMarginLeft,h=d.labelMarginTop;a.adjustLocations(b[c],d.rect.x,d.rect.y,e,f,g,h)})},w.prototype.getToBeTiled=function(a){var b=a.id;if(null!=this.toBeTiled[b])return this.toBeTiled[b];var c=a.getChild();if(null==c)return this.toBeTiled[b]=!1,!1;for(var d=c.getNodes(),e=0;e<d.length;e++){var f=d[e];if(this.getNodeDegree(f)>0)return this.toBeTiled[b]=!1,!1;if(null==f.getChild()){this.toBeTiled[f.id]=!1;continue}if(!this.getToBeTiled(f))return this.toBeTiled[b]=!1,!1}return this.toBeTiled[b]=!0,!0},w.prototype.getNodeDegree=function(a){a.id;for(var b=a.getEdges(),c=0,d=0;d<b.length;d++){var e=b[d];e.getSource().id!==e.getTarget().id&&(c+=1)}return c},w.prototype.getNodeDegreeWithChildren=function(a){var b=this.getNodeDegree(a);if(null==a.getChild())return b;for(var c=a.getChild().getNodes(),d=0;d<c.length;d++){var e=c[d];b+=this.getNodeDegreeWithChildren(e)}return b},w.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},w.prototype.fillCompexOrderByDFS=function(a){for(var b=0;b<a.length;b++){var c=a[b];null!=c.getChild()&&this.fillCompexOrderByDFS(c.getChild().getNodes()),this.getToBeTiled(c)&&this.compoundOrder.push(c)}},w.prototype.adjustLocations=function(a,b,c,d,e,f,g){b+=d+f,c+=e+g;for(var h=b,i=0;i<a.rows.length;i++){var j=a.rows[i];b=h;for(var k=0,l=0;l<j.length;l++){var n=j[l];n.rect.x=b,n.rect.y=c,b+=n.rect.width+a.horizontalPadding,n.rect.height>k&&(k=n.rect.height)}c+=k+a.verticalPadding}},w.prototype.tileCompoundMembers=function(a,b){var c=this;this.tiledMemberPack=[],Object.keys(a).forEach(function(d){var e=b[d];if(c.tiledMemberPack[d]=c.tileNodes(a[d],e.paddingLeft+e.paddingRight),e.rect.width=c.tiledMemberPack[d].width,e.rect.height=c.tiledMemberPack[d].height,e.setCenter(c.tiledMemberPack[d].centerX,c.tiledMemberPack[d].centerY),e.labelMarginLeft=0,e.labelMarginTop=0,i.NODE_DIMENSIONS_INCLUDE_LABELS){var f=e.rect.width,g=e.rect.height;e.labelWidth&&("left"==e.labelPosHorizontal?(e.rect.x-=e.labelWidth,e.setWidth(f+e.labelWidth),e.labelMarginLeft=e.labelWidth):"center"==e.labelPosHorizontal&&e.labelWidth>f?(e.rect.x-=(e.labelWidth-f)/2,e.setWidth(e.labelWidth),e.labelMarginLeft=(e.labelWidth-f)/2):"right"==e.labelPosHorizontal&&e.setWidth(f+e.labelWidth)),e.labelHeight&&("top"==e.labelPosVertical?(e.rect.y-=e.labelHeight,e.setHeight(g+e.labelHeight),e.labelMarginTop=e.labelHeight):"center"==e.labelPosVertical&&e.labelHeight>g?(e.rect.y-=(e.labelHeight-g)/2,e.setHeight(e.labelHeight),e.labelMarginTop=(e.labelHeight-g)/2):"bottom"==e.labelPosVertical&&e.setHeight(g+e.labelHeight))}})},w.prototype.tileNodes=function(a,b){var c=this.tileNodesByFavoringDim(a,b,!0),d=this.tileNodesByFavoringDim(a,b,!1),e=this.getOrgRatio(c);return this.getOrgRatio(d)<e?d:c},w.prototype.getOrgRatio=function(a){var b=a.width/a.height;return b<1&&(b=1/b),b},w.prototype.calcIdealRowWidth=function(a,b){var c,d=i.TILING_PADDING_VERTICAL,e=i.TILING_PADDING_HORIZONTAL,f=a.length,g=0,h=0,j=0;a.forEach(function(a){g+=a.getWidth(),h+=a.getHeight(),a.getWidth()>j&&(j=a.getWidth())});var k=g/f,l=Math.pow(d-e,2)+4*(k+e)*(h/f+d)*f,n=(e-d+Math.sqrt(l))/(2*(k+e));b?(c=Math.ceil(n))==n&&c++:c=Math.floor(n);var o=c*(k+e)-e;return j>o&&(o=j),o+=2*e},w.prototype.tileNodesByFavoringDim=function(a,b,c){var d=i.TILING_PADDING_VERTICAL,e=i.TILING_PADDING_HORIZONTAL,f=i.TILING_COMPARE_BY,g={rows:[],rowWidth:[],rowHeight:[],width:0,height:b,verticalPadding:d,horizontalPadding:e,centerX:0,centerY:0};f&&(g.idealRowWidth=this.calcIdealRowWidth(a,c));var h=function(a){return a.rect.width*a.rect.height},j=function(a,b){return h(b)-h(a)};a.sort(function(a,b){var c=j;return g.idealRowWidth?(c=f)(a.id,b.id):c(a,b)});for(var k=0,l=0,n=0;n<a.length;n++){var o=a[n];k+=o.getCenterX(),l+=o.getCenterY()}g.centerX=k/a.length,g.centerY=l/a.length;for(var n=0;n<a.length;n++){var o=a[n];if(0==g.rows.length)this.insertNodeToRow(g,o,0,b);else if(this.canAddHorizontal(g,o.rect.width,o.rect.height)){var p=g.rows.length-1;g.idealRowWidth||(p=this.getShortestRowIndex(g)),this.insertNodeToRow(g,o,p,b)}else this.insertNodeToRow(g,o,g.rows.length,b);this.shiftToLastRow(g)}return g},w.prototype.insertNodeToRow=function(a,b,c,d){c==a.rows.length&&(a.rows.push([]),a.rowWidth.push(d),a.rowHeight.push(0));var e=a.rowWidth[c]+b.rect.width;a.rows[c].length>0&&(e+=a.horizontalPadding),a.rowWidth[c]=e,a.width<e&&(a.width=e);var f=b.rect.height;c>0&&(f+=a.verticalPadding);var g=0;f>a.rowHeight[c]&&(g=a.rowHeight[c],a.rowHeight[c]=f,g=a.rowHeight[c]-g),a.height+=g,a.rows[c].push(b)},w.prototype.getShortestRowIndex=function(a){for(var b=-1,c=Number.MAX_VALUE,d=0;d<a.rows.length;d++)a.rowWidth[d]<c&&(b=d,c=a.rowWidth[d]);return b},w.prototype.getLongestRowIndex=function(a){for(var b=-1,c=5e-324,d=0;d<a.rows.length;d++)a.rowWidth[d]>c&&(b=d,c=a.rowWidth[d]);return b},w.prototype.canAddHorizontal=function(a,b,c){if(a.idealRowWidth){var d,e,f=a.rows.length-1;return a.rowWidth[f]+b+a.horizontalPadding<=a.idealRowWidth}var g=this.getShortestRowIndex(a);if(g<0)return!0;var h=a.rowWidth[g];if(h+a.horizontalPadding+b<=a.width)return!0;var i=0;return a.rowHeight[g]<c&&g>0&&(i=c+a.verticalPadding-a.rowHeight[g]),d=a.width-h>=b+a.horizontalPadding?(a.height+i)/(h+b+a.horizontalPadding):(a.height+i)/a.width,i=c+a.verticalPadding,(e=a.width<b?(a.height+i)/b:(a.height+i)/a.width)<1&&(e=1/e),d<1&&(d=1/d),d<e},w.prototype.shiftToLastRow=function(a){var b=this.getLongestRowIndex(a),c=a.rowWidth.length-1,d=a.rows[b],e=d[d.length-1],f=e.width+a.horizontalPadding;if(a.width-a.rowWidth[c]>f&&b!=c){d.splice(-1,1),a.rows[c].push(e),a.rowWidth[b]=a.rowWidth[b]-f,a.rowWidth[c]=a.rowWidth[c]+f,a.width=a.rowWidth[instance.getLongestRowIndex(a)];for(var g=5e-324,h=0;h<d.length;h++)d[h].height>g&&(g=d[h].height);b>0&&(g+=a.verticalPadding);var i=a.rowHeight[b]+a.rowHeight[c];a.rowHeight[b]=g,a.rowHeight[c]<e.height+a.verticalPadding&&(a.rowHeight[c]=e.height+a.verticalPadding);var j=a.rowHeight[b]+a.rowHeight[c];a.height+=j-i,this.shiftToLastRow(a)}},w.prototype.tilingPreLayout=function(){i.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},w.prototype.tilingPostLayout=function(){i.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},w.prototype.reduceTrees=function(){for(var a,b=[],c=!0;c;){var d=this.graphManager.getAllNodes(),e=[];c=!1;for(var f=0;f<d.length;f++)if(1==(a=d[f]).getEdges().length&&!a.getEdges()[0].isInterGraph&&null==a.getChild()){if(i.PURE_INCREMENTAL){var g=a.getEdges()[0].getOtherEnd(a),h=new p(a.getCenterX()-g.getCenterX(),a.getCenterY()-g.getCenterY());e.push([a,a.getEdges()[0],a.getOwner(),h])}else e.push([a,a.getEdges()[0],a.getOwner()]);c=!0}if(!0==c){for(var j=[],k=0;k<e.length;k++)1==e[k][0].getEdges().length&&(j.push(e[k]),e[k][0].getOwner().remove(e[k][0]));b.push(j),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=b},w.prototype.growTree=function(a){for(var b,c=a.length,d=a[c-1],e=0;e<d.length;e++)b=d[e],this.findPlaceforPrunedNode(b),b[2].add(b[0]),b[2].add(b[1],b[1].source,b[1].target);a.splice(a.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},w.prototype.findPlaceforPrunedNode=function(a){var b=a[0];if(d=b==a[1].source?a[1].target:a[1].source,i.PURE_INCREMENTAL)b.setCenter(d.getCenterX()+a[3].getWidth(),d.getCenterY()+a[3].getHeight());else{var c,d,e,f,g=d.startX,h=d.finishX,j=d.startY,l=d.finishY,n=[0,0,0,0];if(j>0)for(var o=g;o<=h;o++)n[0]+=this.grid[o][j-1].length+this.grid[o][j].length-1;if(h<this.grid.length-1)for(var o=j;o<=l;o++)n[1]+=this.grid[h+1][o].length+this.grid[h][o].length-1;if(l<this.grid[0].length-1)for(var o=g;o<=h;o++)n[2]+=this.grid[o][l+1].length+this.grid[o][l].length-1;if(g>0)for(var o=j;o<=l;o++)n[3]+=this.grid[g-1][o].length+this.grid[g][o].length-1;for(var p=r.MAX_VALUE,q=0;q<n.length;q++)n[q]<p?(p=n[q],e=1,f=q):n[q]==p&&e++;if(3==e&&0==p)0==n[0]&&0==n[1]&&0==n[2]?c=1:0==n[0]&&0==n[1]&&0==n[3]?c=0:0==n[0]&&0==n[2]&&0==n[3]?c=3:0==n[1]&&0==n[2]&&0==n[3]&&(c=2);else if(2==e&&0==p){var s=Math.floor(2*Math.random());c=0==n[0]&&0==n[1]?+(0!=s):0==n[0]&&0==n[2]?2*(0!=s):0==n[0]&&0==n[3]?3*(0!=s):0==n[1]&&0==n[2]?0==s?1:2:0==n[1]&&0==n[3]?0==s?1:3:0==s?2:3}else if(4==e&&0==p){var s=Math.floor(4*Math.random());c=s}else c=f;0==c?b.setCenter(d.getCenterX(),d.getCenterY()-d.getHeight()/2-k.DEFAULT_EDGE_LENGTH-b.getHeight()/2):1==c?b.setCenter(d.getCenterX()+d.getWidth()/2+k.DEFAULT_EDGE_LENGTH+b.getWidth()/2,d.getCenterY()):2==c?b.setCenter(d.getCenterX(),d.getCenterY()+d.getHeight()/2+k.DEFAULT_EDGE_LENGTH+b.getHeight()/2):b.setCenter(d.getCenterX()-d.getWidth()/2-k.DEFAULT_EDGE_LENGTH-b.getWidth()/2,d.getCenterY())}},a.exports=w},991:(a,b,c)=>{var d=c(551).FDLayoutNode,e=c(551).IMath;function f(a,b,c,e){d.call(this,a,b,c,e)}for(var g in f.prototype=Object.create(d.prototype),d)f[g]=d[g];f.prototype.calculateDisplacement=function(){var a=this.graphManager.getLayout();null!=this.getChild()&&this.fixedNodeWeight?(this.displacementX+=a.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=a.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=a.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=a.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>a.coolingFactor*a.maxNodeDisplacement&&(this.displacementX=a.coolingFactor*a.maxNodeDisplacement*e.sign(this.displacementX)),Math.abs(this.displacementY)>a.coolingFactor*a.maxNodeDisplacement&&(this.displacementY=a.coolingFactor*a.maxNodeDisplacement*e.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(a,b){for(var c,d=this.getChild().getNodes(),e=0;e<d.length;e++)null==(c=d[e]).getChild()?(c.displacementX+=a,c.displacementY+=b):c.propogateDisplacementToChildren(a,b)},f.prototype.move=function(){var a=this.graphManager.getLayout();(null==this.child||0==this.child.getNodes().length)&&(this.moveBy(this.displacementX,this.displacementY),a.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY)),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},f.prototype.setPred1=function(a){this.pred1=a},f.prototype.getPred1=function(){return pred1},f.prototype.getPred2=function(){return pred2},f.prototype.setNext=function(a){this.next=a},f.prototype.getNext=function(){return next},f.prototype.setProcessed=function(a){this.processed=a},f.prototype.isProcessed=function(){return processed},a.exports=f},902:(a,b,c)=>{function d(a){if(!Array.isArray(a))return Array.from(a);for(var b=0,c=Array(a.length);b<a.length;b++)c[b]=a[b];return c}var e=c(806),f=c(551).LinkedList,g=c(551).Matrix,h=c(551).SVD;function i(){}i.handleConstraints=function(a){var b={};b.fixedNodeConstraint=a.constraints.fixedNodeConstraint,b.alignmentConstraint=a.constraints.alignmentConstraint,b.relativePlacementConstraint=a.constraints.relativePlacementConstraint;for(var c=new Map,i=new Map,j=[],k=[],l=a.getAllNodes(),n=0,o=0;o<l.length;o++){var p=l[o];null==p.getChild()&&(i.set(p.id,n++),j.push(p.getCenterX()),k.push(p.getCenterY()),c.set(p.id,p))}b.relativePlacementConstraint&&b.relativePlacementConstraint.forEach(function(a){a.gap||0==a.gap||(a.left?a.gap=e.DEFAULT_EDGE_LENGTH+c.get(a.left).getWidth()/2+c.get(a.right).getWidth()/2:a.gap=e.DEFAULT_EDGE_LENGTH+c.get(a.top).getHeight()/2+c.get(a.bottom).getHeight()/2)});var q=function(a){var b=0,c=0;return a.forEach(function(a){b+=j[i.get(a)],c+=k[i.get(a)]}),{x:b/a.size,y:c/a.size}},r=function(a,b,c,e,g){var h=new Map;a.forEach(function(a,b){h.set(b,0)}),a.forEach(function(a,b){a.forEach(function(a){h.set(a.id,h.get(a.id)+1)})});var l=new Map,n=new Map,o=new f;for(h.forEach(function(a,d){0==a?(o.push(d),c||("horizontal"==b?l.set(d,i.has(d)?j[i.get(d)]:e.get(d)):l.set(d,i.has(d)?k[i.get(d)]:e.get(d)))):l.set(d,-1/0),c&&n.set(d,new Set([d]))}),c&&g.forEach(function(a){var d=[];if(a.forEach(function(a){c.has(a)&&d.push(a)}),d.length>0){var f=0;d.forEach(function(a){"horizontal"==b?l.set(a,i.has(a)?j[i.get(a)]:e.get(a)):l.set(a,i.has(a)?k[i.get(a)]:e.get(a)),f+=l.get(a)}),f/=d.length,a.forEach(function(a){c.has(a)||l.set(a,f)})}else{var g=0;a.forEach(function(a){"horizontal"==b?g+=i.has(a)?j[i.get(a)]:e.get(a):g+=i.has(a)?k[i.get(a)]:e.get(a)}),g/=a.length,a.forEach(function(a){l.set(a,g)})}});0!=o.length;)!function(){var d=o.shift();a.get(d).forEach(function(a){if(l.get(a.id)<l.get(d)+a.gap)if(c&&c.has(a.id)){var f=void 0;if(f="horizontal"==b?i.has(a.id)?j[i.get(a.id)]:e.get(a.id):i.has(a.id)?k[i.get(a.id)]:e.get(a.id),l.set(a.id,f),f<l.get(d)+a.gap){var g=l.get(d)+a.gap-f;n.get(d).forEach(function(a){l.set(a,l.get(a)-g)})}}else l.set(a.id,l.get(d)+a.gap);h.set(a.id,h.get(a.id)-1),0==h.get(a.id)&&o.push(a.id),c&&n.set(a.id,function(a,b){var c=new Set(a),d=!0,e=!1,f=void 0;try{for(var g,h=b[Symbol.iterator]();!(d=(g=h.next()).done);d=!0){var i=g.value;c.add(i)}}catch(a){e=!0,f=a}finally{try{!d&&h.return&&h.return()}finally{if(e)throw f}}return c}(n.get(d),n.get(a.id)))})}();if(c){var p=new Set;a.forEach(function(a,b){0==a.length&&p.add(b)});var q=[];n.forEach(function(a,b){if(p.has(b)){var e=!1,f=!0,g=!1,h=void 0;try{for(var i,j=a[Symbol.iterator]();!(f=(i=j.next()).done);f=!0){var k=i.value;c.has(k)&&(e=!0)}}catch(a){g=!0,h=a}finally{try{!f&&j.return&&j.return()}finally{if(g)throw h}}if(!e){var l=!1,n=void 0;q.forEach(function(b,c){b.has([].concat(d(a))[0])&&(l=!0,n=c)}),l?a.forEach(function(a){q[n].add(a)}):q.push(new Set(a))}}}),q.forEach(function(a,c){var d=1/0,f=1/0,g=-1/0,h=-1/0,n=!0,o=!1,p=void 0;try{for(var q,r=a[Symbol.iterator]();!(n=(q=r.next()).done);n=!0){var s=q.value,t=void 0;t="horizontal"==b?i.has(s)?j[i.get(s)]:e.get(s):i.has(s)?k[i.get(s)]:e.get(s);var u=l.get(s);t<d&&(d=t),t>g&&(g=t),u<f&&(f=u),u>h&&(h=u)}}catch(a){o=!0,p=a}finally{try{!n&&r.return&&r.return()}finally{if(o)throw p}}var v=(d+g)/2-(f+h)/2,w=!0,x=!1,y=void 0;try{for(var z,A=a[Symbol.iterator]();!(w=(z=A.next()).done);w=!0){var B=z.value;l.set(B,l.get(B)+v)}}catch(a){x=!0,y=a}finally{try{!w&&A.return&&A.return()}finally{if(x)throw y}}})}return l},s=function(a){var b=0,c=0,d=0,e=0;if(a.forEach(function(a){a.left?j[i.get(a.left)]-j[i.get(a.right)]>=0?b++:c++:k[i.get(a.top)]-k[i.get(a.bottom)]>=0?d++:e++}),b>c&&d>e)for(var f=0;f<i.size;f++)j[f]=-1*j[f],k[f]=-1*k[f];else if(b>c)for(var g=0;g<i.size;g++)j[g]=-1*j[g];else if(d>e)for(var h=0;h<i.size;h++)k[h]=-1*k[h]},t=function(a){var b=[],c=new f,d=new Set,e=0;return a.forEach(function(f,g){if(!d.has(g)){b[e]=[];var h=g;for(c.push(h),d.add(h),b[e].push(h);0!=c.length;)h=c.shift(),a.get(h).forEach(function(a){d.has(a.id)||(c.push(a.id),d.add(a.id),b[e].push(a.id))});e++}}),b},u=function(a){var b=new Map;return a.forEach(function(a,c){b.set(c,[])}),a.forEach(function(a,c){a.forEach(function(a){b.get(c).push(a),b.get(a.id).push({id:c,gap:a.gap,direction:a.direction})})}),b},v=function(a){var b=new Map;return a.forEach(function(a,c){b.set(c,[])}),a.forEach(function(a,c){a.forEach(function(a){b.get(a.id).push({id:c,gap:a.gap,direction:a.direction})})}),b},w=[],x=[],y=!1,z=!1,A=new Set,B=new Map,C=new Map,D=[];if(b.fixedNodeConstraint&&b.fixedNodeConstraint.forEach(function(a){A.add(a.nodeId)}),b.relativePlacementConstraint&&(b.relativePlacementConstraint.forEach(function(a){a.left?(B.has(a.left)?B.get(a.left).push({id:a.right,gap:a.gap,direction:"horizontal"}):B.set(a.left,[{id:a.right,gap:a.gap,direction:"horizontal"}]),B.has(a.right)||B.set(a.right,[])):(B.has(a.top)?B.get(a.top).push({id:a.bottom,gap:a.gap,direction:"vertical"}):B.set(a.top,[{id:a.bottom,gap:a.gap,direction:"vertical"}]),B.has(a.bottom)||B.set(a.bottom,[]))}),D=t(C=u(B))),e.TRANSFORM_ON_CONSTRAINT_HANDLING){if(b.fixedNodeConstraint&&b.fixedNodeConstraint.length>1)b.fixedNodeConstraint.forEach(function(a,b){w[b]=[a.position.x,a.position.y],x[b]=[j[i.get(a.nodeId)],k[i.get(a.nodeId)]]}),y=!0;else if(b.alignmentConstraint)!function(){var a=0;if(b.alignmentConstraint.vertical){for(var c=b.alignmentConstraint.vertical,e=0;e<c.length;e++)!function(b){var e=new Set;c[b].forEach(function(a){e.add(a)});var f=new Set([].concat(d(e)).filter(function(a){return A.has(a)})),g=void 0;g=f.size>0?j[i.get(f.values().next().value)]:q(e).x,c[b].forEach(function(b){w[a]=[g,k[i.get(b)]],x[a]=[j[i.get(b)],k[i.get(b)]],a++})}(e);y=!0}if(b.alignmentConstraint.horizontal){for(var f=b.alignmentConstraint.horizontal,g=0;g<f.length;g++)!function(b){var c=new Set;f[b].forEach(function(a){c.add(a)});var e=new Set([].concat(d(c)).filter(function(a){return A.has(a)})),g=void 0;g=e.size>0?j[i.get(e.values().next().value)]:q(c).y,f[b].forEach(function(b){w[a]=[j[i.get(b)],g],x[a]=[j[i.get(b)],k[i.get(b)]],a++})}(g);y=!0}b.relativePlacementConstraint&&(z=!0)}();else if(b.relativePlacementConstraint){for(var E=0,F=0,G=0;G<D.length;G++)D[G].length>E&&(E=D[G].length,F=G);if(E<C.size/2)s(b.relativePlacementConstraint),y=!1,z=!1;else{var H=new Map,I=new Map,J=[];D[F].forEach(function(a){B.get(a).forEach(function(b){"horizontal"==b.direction?(H.has(a)?H.get(a).push(b):H.set(a,[b]),H.has(b.id)||H.set(b.id,[]),J.push({left:a,right:b.id})):(I.has(a)?I.get(a).push(b):I.set(a,[b]),I.has(b.id)||I.set(b.id,[]),J.push({top:a,bottom:b.id}))})}),s(J),z=!1;var K=r(H,"horizontal"),L=r(I,"vertical");D[F].forEach(function(a,b){x[b]=[j[i.get(a)],k[i.get(a)]],w[b]=[],K.has(a)?w[b][0]=K.get(a):w[b][0]=j[i.get(a)],L.has(a)?w[b][1]=L.get(a):w[b][1]=k[i.get(a)]}),y=!0}}if(y){for(var M=void 0,N=g.transpose(w),O=g.transpose(x),P=0;P<N.length;P++)N[P]=g.multGamma(N[P]),O[P]=g.multGamma(O[P]);var Q=g.multMat(N,g.transpose(O)),R=h.svd(Q);M=g.multMat(R.V,g.transpose(R.U));for(var S=0;S<i.size;S++){var T=[j[S],k[S]],U=[M[0][0],M[1][0]],V=[M[0][1],M[1][1]];j[S]=g.dotProduct(T,U),k[S]=g.dotProduct(T,V)}z&&s(b.relativePlacementConstraint)}}if(e.ENFORCE_CONSTRAINTS){if(b.fixedNodeConstraint&&b.fixedNodeConstraint.length>0){var W={x:0,y:0};b.fixedNodeConstraint.forEach(function(a,b){var c,d={x:j[i.get(a.nodeId)],y:k[i.get(a.nodeId)]},e=(c=a.position,{x:c.x-d.x,y:c.y-d.y});W.x+=e.x,W.y+=e.y}),W.x/=b.fixedNodeConstraint.length,W.y/=b.fixedNodeConstraint.length,j.forEach(function(a,b){j[b]+=W.x}),k.forEach(function(a,b){k[b]+=W.y}),b.fixedNodeConstraint.forEach(function(a){j[i.get(a.nodeId)]=a.position.x,k[i.get(a.nodeId)]=a.position.y})}if(b.alignmentConstraint){if(b.alignmentConstraint.vertical)for(var X=b.alignmentConstraint.vertical,Y=0;Y<X.length;Y++)!function(a){var b=new Set;X[a].forEach(function(a){b.add(a)});var c=new Set([].concat(d(b)).filter(function(a){return A.has(a)})),e=void 0;e=c.size>0?j[i.get(c.values().next().value)]:q(b).x,b.forEach(function(a){A.has(a)||(j[i.get(a)]=e)})}(Y);if(b.alignmentConstraint.horizontal)for(var Z=b.alignmentConstraint.horizontal,$=0;$<Z.length;$++)!function(a){var b=new Set;Z[a].forEach(function(a){b.add(a)});var c=new Set([].concat(d(b)).filter(function(a){return A.has(a)})),e=void 0;e=c.size>0?k[i.get(c.values().next().value)]:q(b).y,b.forEach(function(a){A.has(a)||(k[i.get(a)]=e)})}($)}b.relativePlacementConstraint&&function(){var a=new Map,c=new Map,d=new Map,e=new Map,f=new Map,g=new Map,h=new Set,l=new Set;if(A.forEach(function(a){h.add(a),l.add(a)}),b.alignmentConstraint){if(b.alignmentConstraint.vertical)for(var n=b.alignmentConstraint.vertical,o=function(b){d.set("dummy"+b,[]),n[b].forEach(function(c){a.set(c,"dummy"+b),d.get("dummy"+b).push(c),A.has(c)&&h.add("dummy"+b)}),f.set("dummy"+b,j[i.get(n[b][0])])},p=0;p<n.length;p++)o(p);if(b.alignmentConstraint.horizontal)for(var q=b.alignmentConstraint.horizontal,s=function(a){e.set("dummy"+a,[]),q[a].forEach(function(b){c.set(b,"dummy"+a),e.get("dummy"+a).push(b),A.has(b)&&l.add("dummy"+a)}),g.set("dummy"+a,k[i.get(q[a][0])])},w=0;w<q.length;w++)s(w)}var x=new Map,y=new Map,z=function(b){B.get(b).forEach(function(d){var e=void 0,f=void 0;"horizontal"==d.direction?(e=a.get(b)?a.get(b):b,f=a.get(d.id)?{id:a.get(d.id),gap:d.gap,direction:d.direction}:d,x.has(e)?x.get(e).push(f):x.set(e,[f]),x.has(f.id)||x.set(f.id,[])):(e=c.get(b)?c.get(b):b,f=c.get(d.id)?{id:c.get(d.id),gap:d.gap,direction:d.direction}:d,y.has(e)?y.get(e).push(f):y.set(e,[f]),y.has(f.id)||y.set(f.id,[]))})},C=!0,D=!1,E=void 0;try{for(var F,G=B.keys()[Symbol.iterator]();!(C=(F=G.next()).done);C=!0){var H=F.value;z(H)}}catch(a){D=!0,E=a}finally{try{!C&&G.return&&G.return()}finally{if(D)throw E}}var I=u(x),J=u(y),K=t(I),L=t(J),M=v(x),N=v(y),O=[],P=[];K.forEach(function(a,b){O[b]=[],a.forEach(function(a){0==M.get(a).length&&O[b].push(a)})}),L.forEach(function(a,b){P[b]=[],a.forEach(function(a){0==N.get(a).length&&P[b].push(a)})});var Q=r(x,"horizontal",h,f,O),R=r(y,"vertical",l,g,P),S=function(a){d.get(a)?d.get(a).forEach(function(b){j[i.get(b)]=Q.get(a)}):j[i.get(a)]=Q.get(a)},T=!0,U=!1,V=void 0;try{for(var W,X=Q.keys()[Symbol.iterator]();!(T=(W=X.next()).done);T=!0){var Y=W.value;S(Y)}}catch(a){U=!0,V=a}finally{try{!T&&X.return&&X.return()}finally{if(U)throw V}}var Z=function(a){e.get(a)?e.get(a).forEach(function(b){k[i.get(b)]=R.get(a)}):k[i.get(a)]=R.get(a)},$=!0,_=!1,aa=void 0;try{for(var ab,ac=R.keys()[Symbol.iterator]();!($=(ab=ac.next()).done);$=!0){var Y=ab.value;Z(Y)}}catch(a){_=!0,aa=a}finally{try{!$&&ac.return&&ac.return()}finally{if(_)throw aa}}}()}for(var _=0;_<l.length;_++){var aa=l[_];null==aa.getChild()&&aa.setCenter(j[i.get(aa.id)],k[i.get(aa.id)])}},a.exports=i},551:a=>{a.exports=d}},b={};return function c(d){var e=b[d];if(void 0!==e)return e.exports;var f=b[d]={exports:{}};return a[d](f,f.exports,c),f.exports}(45)})()},29502,(a,b,c)=>{var d;a.e,d=a.r(89165),b.exports=(()=>{"use strict";var a={658:a=>{a.exports=null!=Object.assign?Object.assign.bind(Object):function(a){for(var b=arguments.length,c=Array(b>1?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];return c.forEach(function(b){Object.keys(b).forEach(function(c){return a[c]=b[c]})}),a}},548:(a,b,c)=>{var d=function(a,b){if(Array.isArray(a))return a;if(Symbol.iterator in Object(a))return function(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!b||c.length!==b);d=!0);}catch(a){e=!0,f=a}finally{try{!d&&h.return&&h.return()}finally{if(e)throw f}}return c}(a,b);throw TypeError("Invalid attempt to destructure non-iterable instance")},e=c(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(a){for(var b={},c=0;c<a.length;c++)b[a[c].id()]=!0;return a.filter(function(a,c){"number"==typeof a&&(a=c);for(var d=a.parent()[0];null!=d;){if(b[d.id()])return!1;d=d.parent()[0]}return!0})},f.connectComponents=function(a,b,c,d){var f=new e,g=new Set,h=[],i=void 0,j=void 0,k=void 0,l=!1,n=1,o=[],p=[];do!function(){var d=a.collection();p.push(d);var e=c[0],q=a.collection();for(q.merge(e).merge(e.descendants().intersection(b)),h.push(e),q.forEach(function(a){f.push(a),g.add(a),d.merge(a)});0!=f.length;)!function(){e=f.shift();var j=a.collection();e.neighborhood().nodes().forEach(function(a){b.intersection(e.edgesWith(a)).length>0&&j.merge(a)});for(var k=0;k<j.length;k++){var l=j[k];null==(i=c.intersection(l.union(l.ancestors())))||g.has(i[0])||i.union(i.descendants()).forEach(function(a){f.push(a),g.add(a),d.merge(a),c.has(a)&&h.push(a)})}}();if(d.forEach(function(a){b.intersection(a.connectedEdges()).forEach(function(a){d.has(a.source())&&d.has(a.target())&&d.merge(a)})}),h.length==c.length&&(l=!0),!l||l&&n>1){k=(j=h[0]).connectedEdges().length,h.forEach(function(a){a.connectedEdges().length<k&&(k=a.connectedEdges().length,j=a)}),o.push(j.id());var r=a.collection();r.merge(h[0]),h.forEach(function(a){r.merge(a)}),h=[],c=c.difference(r),n++}}();while(!l)return d&&o.length>0&&d.set("dummy"+(d.size+1),o),p},f.relocateComponent=function(a,b,c){if(!c.fixedNodeConstraint){var e=1/0,f=-1/0,g=1/0,h=-1/0;if("draft"==c.quality){var i=!0,j=!1,k=void 0;try{for(var l,n=b.nodeIndexes[Symbol.iterator]();!(i=(l=n.next()).done);i=!0){var o=l.value,p=d(o,2),q=p[0],r=p[1],s=c.cy.getElementById(q);if(s){var t=s.boundingBox(),u=b.xCoords[r]-t.w/2,v=b.xCoords[r]+t.w/2,w=b.yCoords[r]-t.h/2,x=b.yCoords[r]+t.h/2;u<e&&(e=u),v>f&&(f=v),w<g&&(g=w),x>h&&(h=x)}}}catch(a){j=!0,k=a}finally{try{!i&&n.return&&n.return()}finally{if(j)throw k}}var y=a.x-(f+e)/2,z=a.y-(h+g)/2;b.xCoords=b.xCoords.map(function(a){return a+y}),b.yCoords=b.yCoords.map(function(a){return a+z})}else{Object.keys(b).forEach(function(a){var c=b[a],d=c.getRect().x,i=c.getRect().x+c.getRect().width,j=c.getRect().y,k=c.getRect().y+c.getRect().height;d<e&&(e=d),i>f&&(f=i),j<g&&(g=j),k>h&&(h=k)});var A=a.x-(f+e)/2,B=a.y-(h+g)/2;Object.keys(b).forEach(function(a){var c=b[a];c.setCenter(c.getCenterX()+A,c.getCenterY()+B)})}}},f.calcBoundingBox=function(a,b,c,d){for(var e=Number.MAX_SAFE_INTEGER,f=Number.MIN_SAFE_INTEGER,g=Number.MAX_SAFE_INTEGER,h=Number.MIN_SAFE_INTEGER,i=void 0,j=void 0,k=void 0,l=void 0,n=a.descendants().not(":parent"),o=n.length,p=0;p<o;p++){var q=n[p];i=b[d.get(q.id())]-q.width()/2,j=b[d.get(q.id())]+q.width()/2,k=c[d.get(q.id())]-q.height()/2,l=c[d.get(q.id())]+q.height()/2,e>i&&(e=i),f<j&&(f=j),g>k&&(g=k),h<l&&(h=l)}var r={};return r.topLeftX=e,r.topLeftY=g,r.width=f-e,r.height=h-g,r},f.calcParentsWithoutChildren=function(a,b){var c=a.collection();return b.nodes(":parent").forEach(function(a){var b=!1;a.children().forEach(function(a){"none"!=a.css("display")&&(b=!0)}),b||c.merge(a)}),c},a.exports=f},816:(a,b,c)=>{var d=c(548),e=c(140).CoSELayout,f=c(140).CoSENode,g=c(140).layoutBase.PointD,h=c(140).layoutBase.DimensionD,i=c(140).layoutBase.LayoutConstants,j=c(140).layoutBase.FDLayoutConstants,k=c(140).CoSEConstants;a.exports={coseLayout:function(a,b){var c=a.cy,l=a.eles,n=l.nodes(),o=l.edges(),p=void 0,q=void 0,r=void 0,s={};a.randomize&&(p=b.nodeIndexes,q=b.xCoords,r=b.yCoords);var t=function(a){return"function"==typeof a},u=function(a,b){return t(a)?a(b):a},v=d.calcParentsWithoutChildren(c,l);null!=a.nestingFactor&&(k.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=j.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=a.nestingFactor),null!=a.gravity&&(k.DEFAULT_GRAVITY_STRENGTH=j.DEFAULT_GRAVITY_STRENGTH=a.gravity),null!=a.numIter&&(k.MAX_ITERATIONS=j.MAX_ITERATIONS=a.numIter),null!=a.gravityRange&&(k.DEFAULT_GRAVITY_RANGE_FACTOR=j.DEFAULT_GRAVITY_RANGE_FACTOR=a.gravityRange),null!=a.gravityCompound&&(k.DEFAULT_COMPOUND_GRAVITY_STRENGTH=j.DEFAULT_COMPOUND_GRAVITY_STRENGTH=a.gravityCompound),null!=a.gravityRangeCompound&&(k.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=j.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=a.gravityRangeCompound),null!=a.initialEnergyOnIncremental&&(k.DEFAULT_COOLING_FACTOR_INCREMENTAL=j.DEFAULT_COOLING_FACTOR_INCREMENTAL=a.initialEnergyOnIncremental),null!=a.tilingCompareBy&&(k.TILING_COMPARE_BY=a.tilingCompareBy),"proof"==a.quality?i.QUALITY=2:i.QUALITY=0,k.NODE_DIMENSIONS_INCLUDE_LABELS=j.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=a.nodeDimensionsIncludeLabels,k.DEFAULT_INCREMENTAL=j.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=!a.randomize,k.ANIMATE=j.ANIMATE=i.ANIMATE=a.animate,k.TILE=a.tile,k.TILING_PADDING_VERTICAL="function"==typeof a.tilingPaddingVertical?a.tilingPaddingVertical.call():a.tilingPaddingVertical,k.TILING_PADDING_HORIZONTAL="function"==typeof a.tilingPaddingHorizontal?a.tilingPaddingHorizontal.call():a.tilingPaddingHorizontal,k.DEFAULT_INCREMENTAL=j.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=!0,k.PURE_INCREMENTAL=!a.randomize,i.DEFAULT_UNIFORM_LEAF_NODE_SIZES=a.uniformNodeDimensions,"transformed"==a.step&&(k.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,k.ENFORCE_CONSTRAINTS=!1,k.APPLY_LAYOUT=!1),"enforced"==a.step&&(k.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,k.ENFORCE_CONSTRAINTS=!0,k.APPLY_LAYOUT=!1),"cose"==a.step&&(k.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,k.ENFORCE_CONSTRAINTS=!1,k.APPLY_LAYOUT=!0),"all"==a.step&&(a.randomize?k.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:k.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,k.ENFORCE_CONSTRAINTS=!0,k.APPLY_LAYOUT=!0),a.fixedNodeConstraint||a.alignmentConstraint||a.relativePlacementConstraint?k.TREE_REDUCTION_ON_INCREMENTAL=!1:k.TREE_REDUCTION_ON_INCREMENTAL=!0;var w=new e,x=w.newGraphManager();return!function a(b,c,e,i){for(var j=c.length,k=0;k<j;k++){var l=c[k],n=null;0==l.intersection(v).length&&(n=l.children());var o=void 0,t=l.layoutDimensions({nodeDimensionsIncludeLabels:i.nodeDimensionsIncludeLabels});if(null!=l.outerWidth()&&null!=l.outerHeight())if(i.randomize)if(l.isParent()){var w=d.calcBoundingBox(l,q,r,p);o=0==l.intersection(v).length?b.add(new f(e.graphManager,new g(w.topLeftX,w.topLeftY),new h(w.width,w.height))):b.add(new f(e.graphManager,new g(w.topLeftX,w.topLeftY),new h(parseFloat(t.w),parseFloat(t.h))))}else o=b.add(new f(e.graphManager,new g(q[p.get(l.id())]-t.w/2,r[p.get(l.id())]-t.h/2),new h(parseFloat(t.w),parseFloat(t.h))));else o=b.add(new f(e.graphManager,new g(l.position("x")-t.w/2,l.position("y")-t.h/2),new h(parseFloat(t.w),parseFloat(t.h))));else o=b.add(new f(this.graphManager));(o.id=l.data("id"),o.nodeRepulsion=u(i.nodeRepulsion,l),o.paddingLeft=parseInt(l.css("padding")),o.paddingTop=parseInt(l.css("padding")),o.paddingRight=parseInt(l.css("padding")),o.paddingBottom=parseInt(l.css("padding")),i.nodeDimensionsIncludeLabels&&(o.labelWidth=l.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).w,o.labelHeight=l.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).h,o.labelPosVertical=l.css("text-valign"),o.labelPosHorizontal=l.css("text-halign")),s[l.data("id")]=o,isNaN(o.rect.x)&&(o.rect.x=0),isNaN(o.rect.y)&&(o.rect.y=0),null!=n&&n.length>0)&&a(e.getGraphManager().add(e.newGraph(),o),n,e,i)}}(x.addRoot(),d.getTopMostNodes(n),w,a),!function(b,c,d){for(var e=0,f=0,g=0;g<d.length;g++){var h=d[g],i=s[h.data("source")],l=s[h.data("target")];if(i&&l&&i!==l&&0==i.getEdgesBetween(l).length){var n=c.add(b.newEdge(),i,l);n.id=h.id(),n.idealLength=u(a.idealEdgeLength,h),n.edgeElasticity=u(a.edgeElasticity,h),e+=n.idealLength,f++}}null!=a.idealEdgeLength&&(f>0?k.DEFAULT_EDGE_LENGTH=j.DEFAULT_EDGE_LENGTH=e/f:t(a.idealEdgeLength)?k.DEFAULT_EDGE_LENGTH=j.DEFAULT_EDGE_LENGTH=50:k.DEFAULT_EDGE_LENGTH=j.DEFAULT_EDGE_LENGTH=a.idealEdgeLength,k.MIN_REPULSION_DIST=j.MIN_REPULSION_DIST=j.DEFAULT_EDGE_LENGTH/10,k.DEFAULT_RADIAL_SEPARATION=j.DEFAULT_EDGE_LENGTH)}(w,x,o),a.fixedNodeConstraint&&(w.constraints.fixedNodeConstraint=a.fixedNodeConstraint),a.alignmentConstraint&&(w.constraints.alignmentConstraint=a.alignmentConstraint),a.relativePlacementConstraint&&(w.constraints.relativePlacementConstraint=a.relativePlacementConstraint),w.runLayout(),s}}},212:(a,b,c)=>{var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),e=c(658),f=c(548),g=c(657).spectralLayout,h=c(816).coseLayout,i=Object.freeze({quality:"default",randomize:!0,animate:!0,animationDuration:1e3,animationEasing:void 0,fit:!0,padding:30,nodeDimensionsIncludeLabels:!1,uniformNodeDimensions:!1,packComponents:!0,step:"all",samplingType:!0,sampleSize:25,nodeSeparation:75,piTol:1e-7,nodeRepulsion:function(a){return 4500},idealEdgeLength:function(a){return 50},edgeElasticity:function(a){return .45},nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,tilingCompareBy:void 0,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.3,fixedNodeConstraint:void 0,alignmentConstraint:void 0,relativePlacementConstraint:void 0,ready:function(){},stop:function(){}});a.exports=function(){function a(b){if(!(this instanceof a))throw TypeError("Cannot call a class as a function");this.options=e({},i,b)}return d(a,[{key:"run",value:function(){var a=this.options,b=a.cy,c=a.eles,d=[],e=[],i=void 0,j=[];a.fixedNodeConstraint&&(!Array.isArray(a.fixedNodeConstraint)||0==a.fixedNodeConstraint.length)&&(a.fixedNodeConstraint=void 0),a.alignmentConstraint&&(a.alignmentConstraint.vertical&&(!Array.isArray(a.alignmentConstraint.vertical)||0==a.alignmentConstraint.vertical.length)&&(a.alignmentConstraint.vertical=void 0),a.alignmentConstraint.horizontal&&(!Array.isArray(a.alignmentConstraint.horizontal)||0==a.alignmentConstraint.horizontal.length)&&(a.alignmentConstraint.horizontal=void 0)),a.relativePlacementConstraint&&(!Array.isArray(a.relativePlacementConstraint)||0==a.relativePlacementConstraint.length)&&(a.relativePlacementConstraint=void 0),(a.fixedNodeConstraint||a.alignmentConstraint||a.relativePlacementConstraint)&&(a.tile=!1,a.packComponents=!1);var k=void 0,l=!1;if(b.layoutUtilities&&a.packComponents&&((k=b.layoutUtilities("get"))||(k=b.layoutUtilities()),l=!0),c.nodes().length>0)if(l){var n=f.getTopMostNodes(a.eles.nodes());if((i=f.connectComponents(b,a.eles,n)).forEach(function(a){var b=a.boundingBox();j.push({x:b.x1+b.w/2,y:b.y1+b.h/2})}),a.randomize&&i.forEach(function(b){a.eles=b,d.push(g(a))}),"default"==a.quality||"proof"==a.quality){var o=b.collection();if(a.tile){var p=new Map,q=0,r={nodeIndexes:p,xCoords:[],yCoords:[]},s=[];if(i.forEach(function(a,b){0==a.edges().length&&(a.nodes().forEach(function(b,c){o.merge(a.nodes()[c]),b.isParent()||(r.nodeIndexes.set(a.nodes()[c].id(),q++),r.xCoords.push(a.nodes()[0].position().x),r.yCoords.push(a.nodes()[0].position().y))}),s.push(b))}),o.length>1){var t=o.boundingBox();j.push({x:t.x1+t.w/2,y:t.y1+t.h/2}),i.push(o),d.push(r);for(var u=s.length-1;u>=0;u--)i.splice(s[u],1),d.splice(s[u],1),j.splice(s[u],1)}}i.forEach(function(b,c){a.eles=b,e.push(h(a,d[c])),f.relocateComponent(j[c],e[c],a)})}else i.forEach(function(b,c){f.relocateComponent(j[c],d[c],a)});var v=new Set;if(i.length>1){var w=[],x=c.filter(function(a){return"none"==a.css("display")});i.forEach(function(b,c){var g=void 0;if("draft"==a.quality&&(g=d[c].nodeIndexes),b.nodes().not(x).length>0){var h={};h.edges=[],h.nodes=[];var i=void 0;b.nodes().not(x).forEach(function(b){if("draft"==a.quality)if(b.isParent()){var j=f.calcBoundingBox(b,d[c].xCoords,d[c].yCoords,g);h.nodes.push({x:j.topLeftX,y:j.topLeftY,width:j.width,height:j.height})}else i=g.get(b.id()),h.nodes.push({x:d[c].xCoords[i]-b.boundingbox().w/2,y:d[c].yCoords[i]-b.boundingbox().h/2,width:b.boundingbox().w,height:b.boundingbox().h});else e[c][b.id()]&&h.nodes.push({x:e[c][b.id()].getLeft(),y:e[c][b.id()].getTop(),width:e[c][b.id()].getWidth(),height:e[c][b.id()].getHeight()})}),b.edges().forEach(function(b){var i=b.source(),j=b.target();if("none"!=i.css("display")&&"none"!=j.css("display"))if("draft"==a.quality){var k=g.get(i.id()),l=g.get(j.id()),n=[],o=[];if(i.isParent()){var p=f.calcBoundingBox(i,d[c].xCoords,d[c].yCoords,g);n.push(p.topLeftX+p.width/2),n.push(p.topLeftY+p.height/2)}else n.push(d[c].xCoords[k]),n.push(d[c].yCoords[k]);if(j.isParent()){var q=f.calcBoundingBox(j,d[c].xCoords,d[c].yCoords,g);o.push(q.topLeftX+q.width/2),o.push(q.topLeftY+q.height/2)}else o.push(d[c].xCoords[l]),o.push(d[c].yCoords[l]);h.edges.push({startX:n[0],startY:n[1],endX:o[0],endY:o[1]})}else e[c][i.id()]&&e[c][j.id()]&&h.edges.push({startX:e[c][i.id()].getCenterX(),startY:e[c][i.id()].getCenterY(),endX:e[c][j.id()].getCenterX(),endY:e[c][j.id()].getCenterY()})}),h.nodes.length>0&&(w.push(h),v.add(c))}});var y=k.packComponents(w,a.randomize).shifts;if("draft"==a.quality)d.forEach(function(a,b){var c=a.xCoords.map(function(a){return a+y[b].dx}),d=a.yCoords.map(function(a){return a+y[b].dy});a.xCoords=c,a.yCoords=d});else{var z=0;v.forEach(function(a){Object.keys(e[a]).forEach(function(b){var c=e[a][b];c.setCenter(c.getCenterX()+y[z].dx,c.getCenterY()+y[z].dy)}),z++})}}}else{var A=a.eles.boundingBox();if(j.push({x:A.x1+A.w/2,y:A.y1+A.h/2}),a.randomize){var B=g(a);d.push(B)}"default"==a.quality||"proof"==a.quality?(e.push(h(a,d[0])),f.relocateComponent(j[0],e[0],a)):f.relocateComponent(j[0],d[0],a)}var C=function(b,c){if("default"==a.quality||"proof"==a.quality){"number"==typeof b&&(b=c);var f=void 0,g=void 0,h=b.data("id");return e.forEach(function(a){h in a&&(f={x:a[h].getRect().getCenterX(),y:a[h].getRect().getCenterY()},g=a[h])}),a.nodeDimensionsIncludeLabels&&(g.labelWidth&&("left"==g.labelPosHorizontal?f.x+=g.labelWidth/2:"right"==g.labelPosHorizontal&&(f.x-=g.labelWidth/2)),g.labelHeight&&("top"==g.labelPosVertical?f.y+=g.labelHeight/2:"bottom"==g.labelPosVertical&&(f.y-=g.labelHeight/2))),void 0==f&&(f={x:b.position("x"),y:b.position("y")}),{x:f.x,y:f.y}}var i=void 0;return d.forEach(function(a){var c=a.nodeIndexes.get(b.id());void 0!=c&&(i={x:a.xCoords[c],y:a.yCoords[c]})}),void 0==i&&(i={x:b.position("x"),y:b.position("y")}),{x:i.x,y:i.y}};if("default"==a.quality||"proof"==a.quality||a.randomize){var D=f.calcParentsWithoutChildren(b,c),E=c.filter(function(a){return"none"==a.css("display")});a.eles=c.not(E),c.nodes().not(":parent").not(E).layoutPositions(this,a,C),D.length>0&&D.forEach(function(a){a.position(C(a))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),a}()},657:(a,b,c)=>{var d=c(548),e=c(140).layoutBase.Matrix,f=c(140).layoutBase.SVD;a.exports={spectralLayout:function(a){var b=a.cy,c=a.eles,g=c.nodes(),h=c.nodes(":parent"),i=new Map,j=new Map,k=new Map,l=[],n=[],o=[],p=[],q=[],r=[],s=[],t=[],u=void 0,v=a.piTol,w=a.samplingType,x=a.nodeSeparation,y=void 0,z=function(){for(var a=0,b=0,c=!1;b<y;){a=Math.floor(Math.random()*u),c=!1;for(var d=0;d<b;d++)if(p[d]==a){c=!0;break}!c&&(p[b]=a,b++)}},A=function(a,b,c){for(var d=[],e=0,f=0,g=0,h=void 0,i=[],k=0,n=1,o=0;o<u;o++)i[o]=1e8;for(d[f]=a,i[a]=0;f>=e;){for(var p=l[g=d[e++]],s=0;s<p.length;s++)1e8==i[h=j.get(p[s])]&&(i[h]=i[g]+1,d[++f]=h);r[g][b]=i[g]*x}if(c){for(var t=0;t<u;t++)r[t][b]<q[t]&&(q[t]=r[t][b]);for(var v=0;v<u;v++)q[v]>k&&(k=q[v],n=v)}return n};d.connectComponents(b,c,d.getTopMostNodes(g),i),h.forEach(function(a){d.connectComponents(b,c,d.getTopMostNodes(a.descendants().intersection(c)),i)});for(var B=0,C=0;C<g.length;C++)g[C].isParent()||j.set(g[C].id(),B++);var D=!0,E=!1,F=void 0;try{for(var G,H=i.keys()[Symbol.iterator]();!(D=(G=H.next()).done);D=!0){var I=G.value;j.set(I,B++)}}catch(a){E=!0,F=a}finally{try{!D&&H.return&&H.return()}finally{if(E)throw F}}for(var J=0;J<j.size;J++)l[J]=[];h.forEach(function(a){for(var b=a.children().intersection(c);0==b.nodes(":childless").length;)b=b.nodes()[0].children().intersection(c);var d=0,e=b.nodes(":childless")[0].connectedEdges().length;b.nodes(":childless").forEach(function(a,b){a.connectedEdges().length<e&&(e=a.connectedEdges().length,d=b)}),k.set(a.id(),b.nodes(":childless")[d].id())}),g.forEach(function(a){var b=void 0;b=a.isParent()?j.get(k.get(a.id())):j.get(a.id()),a.neighborhood().nodes().forEach(function(d){c.intersection(a.edgesWith(d)).length>0&&(d.isParent()?l[b].push(k.get(d.id())):l[b].push(d.id()))})});var K=function(a){var c=j.get(a),d=void 0;i.get(a).forEach(function(e){d=b.getElementById(e).isParent()?k.get(e):e,l[c].push(d),l[j.get(d)].push(a)})},L=!0,M=!1,N=void 0;try{for(var O,P=i.keys()[Symbol.iterator]();!(L=(O=P.next()).done);L=!0){var Q=O.value;K(Q)}}catch(a){M=!0,N=a}finally{try{!L&&P.return&&P.return()}finally{if(M)throw N}}u=j.size;if(u>2){y=u<a.sampleSize?u:a.sampleSize;for(var R=0;R<u;R++)r[R]=[];for(var S=0;S<y;S++)t[S]=[];return"draft"==a.quality||"all"==a.step?(!function(a){var b=void 0;if(a){b=Math.floor(Math.random()*u);for(var c=0;c<u;c++)q[c]=1e8;for(var d=0;d<y;d++)p[d]=b,b=A(b,d,a)}else{z();for(var e=0;e<y;e++)A(p[e],e,a,!1)}for(var f=0;f<u;f++)for(var g=0;g<y;g++)r[f][g]*=r[f][g];for(var h=0;h<y;h++)s[h]=[];for(var i=0;i<y;i++)for(var j=0;j<y;j++)s[i][j]=r[p[j]][i]}(w),!function(){for(var a=f.svd(s),b=a.S,c=a.U,d=a.V,g=b[0]*b[0]*b[0],h=[],i=0;i<y;i++){h[i]=[];for(var j=0;j<y;j++)h[i][j]=0,i==j&&(h[i][j]=b[i]/(b[i]*b[i]+g/(b[i]*b[i])))}t=e.multMat(e.multMat(d,h),e.transpose(c))}(),!function(){for(var a=void 0,b=void 0,c=[],d=[],f=[],g=[],h=0;h<u;h++)c[h]=Math.random(),d[h]=Math.random();c=e.normalize(c),d=e.normalize(d);for(var i=0,j=1e-9,k=1e-9,l=void 0;;){i++;for(var p=0;p<u;p++)f[p]=c[p];if(c=e.multGamma(e.multL(e.multGamma(f),r,t)),a=e.dotProduct(f,c),c=e.normalize(c),(l=Math.abs((j=e.dotProduct(f,c))/k))<=1+v&&l>=1)break;k=j}for(var q=0;q<u;q++)f[q]=c[q];for(i=0,k=1e-9;;){i++;for(var s=0;s<u;s++)g[s]=d[s];if(g=e.minusOp(g,e.multCons(f,e.dotProduct(f,g))),d=e.multGamma(e.multL(e.multGamma(g),r,t)),b=e.dotProduct(g,d),d=e.normalize(d),(l=Math.abs((j=e.dotProduct(g,d))/k))<=1+v&&l>=1)break;k=j}for(var w=0;w<u;w++)g[w]=d[w];n=e.multCons(f,Math.sqrt(Math.abs(a))),o=e.multCons(g,Math.sqrt(Math.abs(b)))}()):j.forEach(function(a,c){n.push(b.getElementById(c).position("x")),o.push(b.getElementById(c).position("y"))}),{nodeIndexes:j,xCoords:n,yCoords:o}}var T=j.keys(),U=b.getElementById(T.next().value),V=U.position(),W=U.outerWidth();if(n.push(V.x),o.push(V.y),2==u){var X=b.getElementById(T.next().value).outerWidth();n.push(V.x+W/2+X/2+a.idealEdgeLength),o.push(V.y)}return{nodeIndexes:j,xCoords:n,yCoords:o}}}},579:(a,b,c)=>{var d=c(212),e=function(a){a&&a("layout","fcose",d)};"undefined"!=typeof cytoscape&&e(cytoscape),a.exports=e},140:a=>{a.exports=d}},b={};return function c(d){var e=b[d];if(void 0!==e)return e.exports;var f=b[d]={exports:{}};return a[d](f,f.exports,c),f.exports}(579)})()},73101,a=>{"use strict";let b,c,d,e;var f,g,h,i,j,k,l,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C=a.i(87924),D=a.i(50944),E=a.i(49839),F=a.i(72131),G=a.i(4086),H=a.i(87532),I=a.i(70106);let J=(0,I.default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]),K=(0,I.default)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]),L=(0,I.default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]),M=(0,I.default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]),N=(0,I.default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),O=(0,I.default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),P=(0,I.default)("box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);var Q=a.i(61474),R=a.i(38246);function S({currentTab:a,onTabChange:b}){let{currentBank:c}=(0,G.useBank)(),[d,e]=(0,F.useState)(!0);if(!c)return null;let f=[{id:"data",label:"Memories",icon:K},{id:"recall",label:"Recall",icon:H.Search},{id:"reflect",label:"Reflect",icon:J},{id:"documents",label:"Documents",icon:L},{id:"entities",label:"Entities",icon:M},{id:"profile",label:"Memory Bank",icon:P}];return(0,C.jsxs)("aside",{className:(0,Q.cn)("bg-card border-r border-border flex flex-col transition-all duration-300",d?"w-16":"w-64"),children:[(0,C.jsx)("nav",{className:"flex-1 p-3 pt-4",children:(0,C.jsx)("ul",{className:"space-y-1",children:f.map(e=>{let f=e.icon,g=a===e.id,h=`/banks/${c}?view=${e.id}`;return(0,C.jsx)("li",{children:(0,C.jsxs)(R.default,{href:h,onClick:a=>{0!==a.button||a.ctrlKey||a.metaKey||(a.preventDefault(),b(e.id))},className:(0,Q.cn)("w-full flex items-center gap-3 px-4 py-3 rounded-lg text-sm font-medium transition-all",g?"bg-primary-gradient text-white shadow-sm":"text-muted-foreground hover:bg-accent hover:text-accent-foreground",d&&"justify-center px-0"),title:d?e.label:void 0,children:[(0,C.jsx)(f,{className:"w-5 h-5 flex-shrink-0"}),!d&&(0,C.jsx)("span",{children:e.label})]})},e.id)})})}),(0,C.jsx)("div",{className:"p-3 border-t border-border",children:(0,C.jsx)("button",{onClick:()=>e(!d),className:(0,Q.cn)("w-full flex items-center gap-3 px-4 py-2 rounded-lg text-sm text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-colors",d&&"justify-center px-0"),title:d?"Expand sidebar":"Collapse sidebar",children:d?(0,C.jsx)(O,{className:"w-5 h-5"}):(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(N,{className:"w-5 h-5"}),(0,C.jsx)("span",{children:"Collapse"})]})})})]})}var T=a.i(8334),U=a.i(5205),V=a.i(22027);let W=(0,I.default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);var X=a.i(33441);let Y=(0,I.default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]),Z=(0,I.default)("zoom-in",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]),$=(0,I.default)("zoom-out",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]),_=(0,I.default)("chevrons-left",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]),aa=(0,I.default)("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]),ab=F.forwardRef(({className:a,...b},c)=>(0,C.jsx)("div",{className:"relative w-full overflow-auto",children:(0,C.jsx)("table",{ref:c,className:(0,Q.cn)("w-full caption-bottom text-sm",a),...b})}));ab.displayName="Table";let ac=F.forwardRef(({className:a,...b},c)=>(0,C.jsx)("thead",{ref:c,className:(0,Q.cn)("[&_tr]:border-b",a),...b}));ac.displayName="TableHeader";let ad=F.forwardRef(({className:a,...b},c)=>(0,C.jsx)("tbody",{ref:c,className:(0,Q.cn)("[&_tr:last-child]:border-0",a),...b}));ad.displayName="TableBody",F.forwardRef(({className:a,...b},c)=>(0,C.jsx)("tfoot",{ref:c,className:(0,Q.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",a),...b})).displayName="TableFooter";let ae=F.forwardRef(({className:a,...b},c)=>(0,C.jsx)("tr",{ref:c,className:(0,Q.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",a),...b}));ae.displayName="TableRow";let af=F.forwardRef(({className:a,...b},c)=>(0,C.jsx)("th",{ref:c,className:(0,Q.cn)("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",a),...b}));af.displayName="TableHead";let ag=F.forwardRef(({className:a,...b},c)=>(0,C.jsx)("td",{ref:c,className:(0,Q.cn)("p-4 align-middle [&:has([role=checkbox])]:pr-0",a),...b}));ag.displayName="TableCell",F.forwardRef(({className:a,...b},c)=>(0,C.jsx)("caption",{ref:c,className:(0,Q.cn)("mt-4 text-sm text-muted-foreground",a),...b})).displayName="TableCaption";var ah=a.i(35112),ai=a.i(11011),aj=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,b)=>{let c=(0,ai.createSlot)(`Primitive.${b}`),d=F.forwardRef((a,d)=>{let{asChild:e,...f}=a;return(0,C.jsx)(e?c:b,{...f,ref:d})});return d.displayName=`Primitive.${b}`,{...a,[b]:d}},{}),ak=F.forwardRef((a,b)=>(0,C.jsx)(aj.label,{...a,ref:b,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));ak.displayName="Label";let al=(0,a.i(187).cva)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),am=F.forwardRef(({className:a,...b},c)=>(0,C.jsx)(ak,{ref:c,className:(0,Q.cn)(al(),a),...b}));function an(a,[b,c]){return Math.min(c,Math.max(b,a))}am.displayName=ak.displayName;var ao=a.i(7554),ap=a.i(70121),aq=a.i(50104),ar=a.i(25152),as=F.createContext(void 0);function at(a){let b=F.useContext(as);return a||b||"ltr"}var au=a.i(77994),av=a.i(3688),aw=a.i(30553);function ax(a){var b;let c,d=(b=a,(c=F.forwardRef((a,b)=>{let{children:c,...d}=a;if(F.isValidElement(c)){var e;let a,f,g=(e=c,(f=(a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.ref:(f=(a=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.props.ref:e.props.ref||e.ref),h=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(d,c.props);return c.type!==F.Fragment&&(h.ref=b?(0,ap.composeRefs)(b,g):g),F.cloneElement(c,h)}return F.Children.count(c)>1?F.Children.only(null):null})).displayName=`${b}.SlotClone`,c),e=F.forwardRef((a,b)=>{let{children:c,...e}=a,f=F.Children.toArray(c),g=f.find(az);if(g){let a=g.props.children,c=f.map(b=>b!==g?b:F.Children.count(a)>1?F.Children.only(null):F.isValidElement(a)?a.props.children:null);return(0,C.jsx)(d,{...e,ref:b,children:F.isValidElement(a)?F.cloneElement(a,void 0,c):null})}return(0,C.jsx)(d,{...e,ref:b,children:c})});return e.displayName=`${a}.Slot`,e}var ay=Symbol("radix.slottable");function az(a){return F.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===ay}function aA(a){let b=a+"CollectionProvider",[c,d]=(0,aq.createContextScope)(b),[e,f]=c(b,{collectionRef:{current:null},itemMap:new Map}),g=a=>{let{scope:b,children:c}=a,d=F.default.useRef(null),f=F.default.useRef(new Map).current;return(0,C.jsx)(e,{scope:b,itemMap:f,collectionRef:d,children:c})};g.displayName=b;let h=a+"CollectionSlot",i=ax(h),j=F.default.forwardRef((a,b)=>{let{scope:c,children:d}=a,e=f(h,c),g=(0,ap.useComposedRefs)(b,e.collectionRef);return(0,C.jsx)(i,{ref:g,children:d})});j.displayName=h;let k=a+"CollectionItemSlot",l="data-radix-collection-item",n=ax(k),o=F.default.forwardRef((a,b)=>{let{scope:c,children:d,...e}=a,g=F.default.useRef(null),h=(0,ap.useComposedRefs)(b,g),i=f(k,c);return F.default.useEffect(()=>(i.itemMap.set(g,{ref:g,...e}),()=>void i.itemMap.delete(g))),(0,C.jsx)(n,{...{[l]:""},ref:h,children:d})});return o.displayName=k,[{Provider:g,Slot:j,ItemSlot:o},function(b){let c=f(a+"CollectionConsumer",b);return F.default.useCallback(()=>{let a=c.collectionRef.current;if(!a)return[];let b=Array.from(a.querySelectorAll(`[${l}]`));return Array.from(c.itemMap.values()).sort((a,c)=>b.indexOf(a.ref.current)-b.indexOf(c.ref.current))},[c.collectionRef,c.itemMap])},d]}var aB=new WeakMap;function aC(a,b){var c,d;let e,f,g;if("at"in Array.prototype)return Array.prototype.at.call(a,b);let h=(c=a,d=b,e=c.length,(g=(f=aD(d))>=0?f:e+f)<0||g>=e?-1:g);return -1===h?void 0:a[h]}function aD(a){return a!=a||0===a?0:Math.trunc(a)}(class a extends Map{#a;constructor(a){super(a),this.#a=[...super.keys()],aB.set(this,!0)}set(a,b){return aB.get(this)&&(this.has(a)?this.#a[this.#a.indexOf(a)]=a:this.#a.push(a)),super.set(a,b),this}insert(a,b,c){let d,e=this.has(b),f=this.#a.length,g=aD(a),h=g>=0?g:f+g,i=h<0||h>=f?-1:h;if(i===this.size||e&&i===this.size-1||-1===i)return this.set(b,c),this;let j=this.size+ +!e;g<0&&h++;let k=[...this.#a],l=!1;for(let a=h;a<j;a++)if(h===a){let f=k[a];k[a]===b&&(f=k[a+1]),e&&this.delete(b),d=this.get(f),this.set(b,c)}else{l||k[a-1]!==b||(l=!0);let c=k[l?a:a-1],e=d;d=this.get(c),this.delete(c),this.set(c,e)}return this}with(b,c,d){let e=new a(this);return e.insert(b,c,d),e}before(a){let b=this.#a.indexOf(a)-1;if(!(b<0))return this.entryAt(b)}setBefore(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d,b,c)}after(a){let b=this.#a.indexOf(a);if(-1!==(b=-1===b||b===this.size-1?-1:b+1))return this.entryAt(b)}setAfter(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d+1,b,c)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#a=[],super.clear()}delete(a){let b=super.delete(a);return b&&this.#a.splice(this.#a.indexOf(a),1),b}deleteAt(a){let b=this.keyAt(a);return void 0!==b&&this.delete(b)}at(a){let b=aC(this.#a,a);if(void 0!==b)return this.get(b)}entryAt(a){let b=aC(this.#a,a);if(void 0!==b)return[b,this.get(b)]}indexOf(a){return this.#a.indexOf(a)}keyAt(a){return aC(this.#a,a)}from(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.at(d)}keyFrom(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.keyAt(d)}find(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return d;c++}}findIndex(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return c;c++}return -1}filter(b,c){let d=[],e=0;for(let a of this)Reflect.apply(b,c,[a,e,this])&&d.push(a),e++;return new a(d)}map(b,c){let d=[],e=0;for(let a of this)d.push([a[0],Reflect.apply(b,c,[a,e,this])]),e++;return new a(d)}reduce(...a){let[b,c]=a,d=0,e=c??this.at(0);for(let c of this)e=0===d&&1===a.length?c:Reflect.apply(b,this,[e,c,d,this]),d++;return e}reduceRight(...a){let[b,c]=a,d=c??this.at(-1);for(let c=this.size-1;c>=0;c--){let e=this.at(c);d=c===this.size-1&&1===a.length?e:Reflect.apply(b,this,[d,e,c,this])}return d}toSorted(b){return new a([...this.entries()].sort(b))}toReversed(){let b=new a;for(let a=this.size-1;a>=0;a--){let c=this.keyAt(a),d=this.get(c);b.set(c,d)}return b}toSpliced(...b){let c=[...this.entries()];return c.splice(...b),new a(c)}slice(b,c){let d=new a,e=this.size-1;if(void 0===b)return d;b<0&&(b+=this.size),void 0!==c&&c>0&&(e=c-1);for(let a=b;a<=e;a++){let b=this.keyAt(a),c=this.get(b);d.set(b,c)}return d}every(a,b){let c=0;for(let d of this){if(!Reflect.apply(a,b,[d,c,this]))return!1;c++}return!0}some(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return!0;c++}return!1}});var aE=["PageUp","PageDown"],aF=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],aG={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},aH="Slider",[aI,aJ,aK]=aA(aH),[aL,aM]=(0,aq.createContextScope)(aH,[aK]),[aN,aO]=aL(aH),aP=F.forwardRef((a,b)=>{let{name:c,min:d=0,max:e=100,step:f=1,orientation:g="horizontal",disabled:h=!1,minStepsBetweenThumbs:i=0,defaultValue:j=[d],value:k,onValueChange:l=()=>{},onValueCommit:n=()=>{},inverted:o=!1,form:p,...q}=a,r=F.useRef(new Set),s=F.useRef(0),t="horizontal"===g,[u=[],v]=(0,ar.useControllableState)({prop:k,defaultProp:j,onChange:a=>{let b=[...r.current];b[s.current]?.focus(),l(a)}}),w=F.useRef(u);function x(a,b,{commit:c}={commit:!1}){let g,h=(String(f).split(".")[1]||"").length,j=an(Math.round((Math.round((a-d)/f)*f+d)*(g=Math.pow(10,h)))/g,[d,e]);v((a=[])=>{let d=function(a=[],b,c){let d=[...a];return d[c]=b,d.sort((a,b)=>a-b)}(a,j,b);if(!function(a,b){if(b>0)return Math.min(...a.slice(0,-1).map((b,c)=>a[c+1]-b))>=b;return!0}(d,i*f))return a;{s.current=d.indexOf(j);let b=String(d)!==String(a);return b&&c&&n(d),b?d:a}})}return(0,C.jsx)(aN,{scope:a.__scopeSlider,name:c,disabled:h,min:d,max:e,valueIndexToChangeRef:s,thumbs:r.current,values:u,orientation:g,form:p,children:(0,C.jsx)(aI.Provider,{scope:a.__scopeSlider,children:(0,C.jsx)(aI.Slot,{scope:a.__scopeSlider,children:(0,C.jsx)(t?aS:aT,{"aria-disabled":h,"data-disabled":h?"":void 0,...q,ref:b,onPointerDown:(0,ao.composeEventHandlers)(q.onPointerDown,()=>{h||(w.current=u)}),min:d,max:e,inverted:o,onSlideStart:h?void 0:function(a){let b=function(a,b){if(1===a.length)return 0;let c=a.map(a=>Math.abs(a-b)),d=Math.min(...c);return c.indexOf(d)}(u,a);x(a,b)},onSlideMove:h?void 0:function(a){x(a,s.current)},onSlideEnd:h?void 0:function(){let a=w.current[s.current];u[s.current]!==a&&n(u)},onHomeKeyDown:()=>!h&&x(d,0,{commit:!0}),onEndKeyDown:()=>!h&&x(e,u.length-1,{commit:!0}),onStepKeyDown:({event:a,direction:b})=>{if(!h){let c=aE.includes(a.key)||a.shiftKey&&aF.includes(a.key),d=s.current;x(u[d]+f*(c?10:1)*b,d,{commit:!0})}}})})})})});aP.displayName=aH;var[aQ,aR]=aL(aH,{startEdge:"left",endEdge:"right",size:"width",direction:1}),aS=F.forwardRef((a,b)=>{let{min:c,max:d,dir:e,inverted:f,onSlideStart:g,onSlideMove:h,onSlideEnd:i,onStepKeyDown:j,...k}=a,[l,n]=F.useState(null),o=(0,ap.useComposedRefs)(b,a=>n(a)),p=F.useRef(void 0),q=at(e),r="ltr"===q,s=r&&!f||!r&&f;function t(a){let b=p.current||l.getBoundingClientRect(),e=a2([0,b.width],s?[c,d]:[d,c]);return p.current=b,e(a-b.left)}return(0,C.jsx)(aQ,{scope:a.__scopeSlider,startEdge:s?"left":"right",endEdge:s?"right":"left",direction:s?1:-1,size:"width",children:(0,C.jsx)(aU,{dir:q,"data-orientation":"horizontal",...k,ref:o,style:{...k.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:a=>{let b=t(a.clientX);g?.(b)},onSlideMove:a=>{let b=t(a.clientX);h?.(b)},onSlideEnd:()=>{p.current=void 0,i?.()},onStepKeyDown:a=>{let b=aG[s?"from-left":"from-right"].includes(a.key);j?.({event:a,direction:b?-1:1})}})})}),aT=F.forwardRef((a,b)=>{let{min:c,max:d,inverted:e,onSlideStart:f,onSlideMove:g,onSlideEnd:h,onStepKeyDown:i,...j}=a,k=F.useRef(null),l=(0,ap.useComposedRefs)(b,k),n=F.useRef(void 0),o=!e;function p(a){let b=n.current||k.current.getBoundingClientRect(),e=a2([0,b.height],o?[d,c]:[c,d]);return n.current=b,e(a-b.top)}return(0,C.jsx)(aQ,{scope:a.__scopeSlider,startEdge:o?"bottom":"top",endEdge:o?"top":"bottom",size:"height",direction:o?1:-1,children:(0,C.jsx)(aU,{"data-orientation":"vertical",...j,ref:l,style:{...j.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:a=>{let b=p(a.clientY);f?.(b)},onSlideMove:a=>{let b=p(a.clientY);g?.(b)},onSlideEnd:()=>{n.current=void 0,h?.()},onStepKeyDown:a=>{let b=aG[o?"from-bottom":"from-top"].includes(a.key);i?.({event:a,direction:b?-1:1})}})})}),aU=F.forwardRef((a,b)=>{let{__scopeSlider:c,onSlideStart:d,onSlideMove:e,onSlideEnd:f,onHomeKeyDown:g,onEndKeyDown:h,onStepKeyDown:i,...j}=a,k=aO(aH,c);return(0,C.jsx)(aw.Primitive.span,{...j,ref:b,onKeyDown:(0,ao.composeEventHandlers)(a.onKeyDown,a=>{"Home"===a.key?(g(a),a.preventDefault()):"End"===a.key?(h(a),a.preventDefault()):aE.concat(aF).includes(a.key)&&(i(a),a.preventDefault())}),onPointerDown:(0,ao.composeEventHandlers)(a.onPointerDown,a=>{let b=a.target;b.setPointerCapture(a.pointerId),a.preventDefault(),k.thumbs.has(b)?b.focus():d(a)}),onPointerMove:(0,ao.composeEventHandlers)(a.onPointerMove,a=>{a.target.hasPointerCapture(a.pointerId)&&e(a)}),onPointerUp:(0,ao.composeEventHandlers)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&(b.releasePointerCapture(a.pointerId),f(a))})})}),aV="SliderTrack",aW=F.forwardRef((a,b)=>{let{__scopeSlider:c,...d}=a,e=aO(aV,c);return(0,C.jsx)(aw.Primitive.span,{"data-disabled":e.disabled?"":void 0,"data-orientation":e.orientation,...d,ref:b})});aW.displayName=aV;var aX="SliderRange",aY=F.forwardRef((a,b)=>{let{__scopeSlider:c,...d}=a,e=aO(aX,c),f=aR(aX,c),g=F.useRef(null),h=(0,ap.useComposedRefs)(b,g),i=e.values.length,j=e.values.map(a=>a1(a,e.min,e.max)),k=i>1?Math.min(...j):0,l=100-Math.max(...j);return(0,C.jsx)(aw.Primitive.span,{"data-orientation":e.orientation,"data-disabled":e.disabled?"":void 0,...d,ref:h,style:{...a.style,[f.startEdge]:k+"%",[f.endEdge]:l+"%"}})});aY.displayName=aX;var aZ="SliderThumb",a$=F.forwardRef((a,b)=>{let c=aJ(a.__scopeSlider),[d,e]=F.useState(null),f=(0,ap.useComposedRefs)(b,a=>e(a)),g=F.useMemo(()=>d?c().findIndex(a=>a.ref.current===d):-1,[c,d]);return(0,C.jsx)(a_,{...a,ref:f,index:g})}),a_=F.forwardRef((a,b)=>{var c,d,e,f,g;let h,i,{__scopeSlider:j,index:k,name:l,...n}=a,o=aO(aZ,j),p=aR(aZ,j),[q,r]=F.useState(null),s=(0,ap.useComposedRefs)(b,a=>r(a)),t=!q||o.form||!!q.closest("form"),u=(0,av.useSize)(q),v=o.values[k],w=void 0===v?0:a1(v,o.min,o.max),x=(c=k,(d=o.values.length)>2?`Value ${c+1} of ${d}`:2===d?["Minimum","Maximum"][c]:void 0),y=u?.[p.size],z=y?(e=y,f=w,g=p.direction,i=a2([0,50],[0,h=e/2]),(h-i(f)*g)*g):0;return F.useEffect(()=>{if(q)return o.thumbs.add(q),()=>{o.thumbs.delete(q)}},[q,o.thumbs]),(0,C.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[p.startEdge]:`calc(${w}% + ${z}px)`},children:[(0,C.jsx)(aI.ItemSlot,{scope:a.__scopeSlider,children:(0,C.jsx)(aw.Primitive.span,{role:"slider","aria-label":a["aria-label"]||x,"aria-valuemin":o.min,"aria-valuenow":v,"aria-valuemax":o.max,"aria-orientation":o.orientation,"data-orientation":o.orientation,"data-disabled":o.disabled?"":void 0,tabIndex:o.disabled?void 0:0,...n,ref:s,style:void 0===v?{display:"none"}:a.style,onFocus:(0,ao.composeEventHandlers)(a.onFocus,()=>{o.valueIndexToChangeRef.current=k})})}),t&&(0,C.jsx)(a0,{name:l??(o.name?o.name+(o.values.length>1?"[]":""):void 0),form:o.form,value:v},k)]})});a$.displayName=aZ;var a0=F.forwardRef(({__scopeSlider:a,value:b,...c},d)=>{let e=F.useRef(null),f=(0,ap.useComposedRefs)(e,d),g=(0,au.usePrevious)(b);return F.useEffect(()=>{let a=e.current;if(!a)return;let c=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(g!==b&&c){let d=new Event("input",{bubbles:!0});c.call(a,b),a.dispatchEvent(d)}},[g,b]),(0,C.jsx)(aw.Primitive.input,{style:{display:"none"},...c,ref:f,defaultValue:b})});function a1(a,b,c){return an(100/(c-b)*(a-b),[0,100])}function a2(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}a0.displayName="RadioBubbleInput";let a3=F.forwardRef(({className:a,...b},c)=>(0,C.jsxs)(aP,{ref:c,className:(0,Q.cn)("relative flex w-full touch-none select-none items-center",a),...b,children:[(0,C.jsx)(aW,{className:"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary/50 border border-border",children:(0,C.jsx)(aY,{className:"absolute h-full bg-primary"})}),(0,C.jsx)(a$,{className:"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"})]}));a3.displayName=aP.displayName;var a4="Switch",[a5,a6]=(0,aq.createContextScope)(a4),[a7,a8]=a5(a4),a9=F.forwardRef((a,b)=>{let{__scopeSwitch:c,name:d,checked:e,defaultChecked:f,required:g,disabled:h,value:i="on",onCheckedChange:j,form:k,...l}=a,[n,o]=F.useState(null),p=(0,ap.useComposedRefs)(b,a=>o(a)),q=F.useRef(!1),r=!n||k||!!n.closest("form"),[s,t]=(0,ar.useControllableState)({prop:e,defaultProp:f??!1,onChange:j,caller:a4});return(0,C.jsxs)(a7,{scope:c,checked:s,disabled:h,children:[(0,C.jsx)(aw.Primitive.button,{type:"button",role:"switch","aria-checked":s,"aria-required":g,"data-state":bd(s),"data-disabled":h?"":void 0,disabled:h,value:i,...l,ref:p,onClick:(0,ao.composeEventHandlers)(a.onClick,a=>{t(a=>!a),r&&(q.current=a.isPropagationStopped(),q.current||a.stopPropagation())})}),r&&(0,C.jsx)(bc,{control:n,bubbles:!q.current,name:d,value:i,checked:s,required:g,disabled:h,form:k,style:{transform:"translateX(-100%)"}})]})});a9.displayName=a4;var ba="SwitchThumb",bb=F.forwardRef((a,b)=>{let{__scopeSwitch:c,...d}=a,e=a8(ba,c);return(0,C.jsx)(aw.Primitive.span,{"data-state":bd(e.checked),"data-disabled":e.disabled?"":void 0,...d,ref:b})});bb.displayName=ba;var bc=F.forwardRef(({__scopeSwitch:a,control:b,checked:c,bubbles:d=!0,...e},f)=>{let g=F.useRef(null),h=(0,ap.useComposedRefs)(g,f),i=(0,au.usePrevious)(c),j=(0,av.useSize)(b);return F.useEffect(()=>{let a=g.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(i!==c&&b){let e=new Event("click",{bubbles:d});b.call(a,c),a.dispatchEvent(e)}},[i,c,d]),(0,C.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:c,...e,tabIndex:-1,ref:h,style:{...e.style,...j,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function bd(a){return a?"checked":"unchecked"}bc.displayName="SwitchBubbleInput";let be=F.forwardRef(({className:a,...b},c)=>(0,C.jsx)(a9,{className:(0,Q.cn)("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",a),...b,ref:c,children:(0,C.jsx)(bb,{className:(0,Q.cn)("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})}));be.displayName=a9.displayName;var bf=a.i(33508);let bg=(0,I.default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);var bh=a.i(85442);function bi({type:a,id:b,onClose:c}){let{currentBank:d}=(0,G.useBank)(),[e,f]=(0,F.useState)(null),[g,h]=(0,F.useState)(!1),[i,j]=(0,F.useState)(null);(0,F.useEffect)(()=>{b&&(async()=>{h(!0),j(null);try{if("document"===a){if(!d)return void j("No bank selected");let a=await T.client.getDocument(b,d);f(a)}else{let a=await T.client.getChunk(b);f(a)}}catch(b){console.error(`Error loading ${a}:`,b),j(b.message)}finally{h(!1)}})()},[b,a,d]);let k=null!==b;return(0,C.jsx)(bh.Dialog,{open:k,onOpenChange:a=>!a&&c(),children:(0,C.jsxs)(bh.DialogContent,{className:"max-w-3xl max-h-[80vh] overflow-hidden flex flex-col",children:[(0,C.jsxs)(bh.DialogHeader,{children:[(0,C.jsx)(bh.DialogTitle,{children:"document"===a?"Document Details":"Chunk Details"}),(0,C.jsx)(bh.DialogDescription,{children:"document"===a?"View the original document text and metadata":"View the chunk text and metadata"})]}),(0,C.jsx)("div",{className:"flex-1 overflow-y-auto",children:g?(0,C.jsx)("div",{className:"flex items-center justify-center py-20",children:(0,C.jsxs)("div",{className:"text-center",children:[(0,C.jsx)("div",{className:"text-4xl mb-2",children:"⏳"}),(0,C.jsxs)("div",{className:"text-sm text-muted-foreground",children:["Loading ",a,"..."]})]})}):i?(0,C.jsx)("div",{className:"flex items-center justify-center py-20",children:(0,C.jsxs)("div",{className:"text-center text-destructive",children:[(0,C.jsx)("div",{className:"text-4xl mb-2",children:"❌"}),(0,C.jsxs)("div",{className:"text-sm",children:["Error: ",i]})]})}):e?(0,C.jsx)("div",{className:"space-y-4",children:"document"===a?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsxs)("div",{className:"space-y-3",children:[(0,C.jsxs)("div",{className:"p-3 bg-muted rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-1",children:"Document ID"}),(0,C.jsx)("div",{className:"text-sm font-mono break-all text-foreground",children:e.id})]}),e.created_at&&(0,C.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,C.jsxs)("div",{className:"p-3 bg-muted rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-1",children:"Created"}),(0,C.jsx)("div",{className:"text-sm text-foreground",children:new Date(e.created_at).toLocaleString()})]}),(0,C.jsxs)("div",{className:"p-3 bg-muted rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-1",children:"Memory Units"}),(0,C.jsx)("div",{className:"text-sm text-foreground",children:e.memory_unit_count})]})]}),e.original_text&&(0,C.jsxs)("div",{className:"p-3 bg-muted rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-1",children:"Text Length"}),(0,C.jsxs)("div",{className:"text-sm text-foreground",children:[e.original_text.length.toLocaleString()," characters"]})]})]}),e.original_text&&(0,C.jsxs)("div",{children:[(0,C.jsx)("div",{className:"text-sm font-bold text-foreground mb-2",children:"Original Text"}),(0,C.jsx)("div",{className:"p-4 bg-muted rounded-lg border border-border max-h-[300px] overflow-y-auto",children:(0,C.jsx)("pre",{className:"text-sm whitespace-pre-wrap font-mono text-foreground",children:e.original_text})})]})]}):(0,C.jsxs)(C.Fragment,{children:[(0,C.jsxs)("div",{className:"space-y-3",children:[(0,C.jsxs)("div",{className:"p-3 bg-muted rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-1",children:"Chunk ID"}),(0,C.jsx)("div",{className:"text-sm font-mono break-all text-foreground",children:e.chunk_id})]}),(0,C.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,C.jsxs)("div",{className:"p-3 bg-muted rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-1",children:"Document ID"}),(0,C.jsx)("div",{className:"text-sm font-mono break-all text-foreground",children:e.document_id})]}),(0,C.jsxs)("div",{className:"p-3 bg-muted rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-1",children:"Chunk Index"}),(0,C.jsx)("div",{className:"text-sm text-foreground",children:e.chunk_index})]})]}),e.created_at&&(0,C.jsxs)("div",{className:"p-3 bg-muted rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-1",children:"Created"}),(0,C.jsx)("div",{className:"text-sm text-foreground",children:new Date(e.created_at).toLocaleString()})]}),e.chunk_text&&(0,C.jsxs)("div",{className:"p-3 bg-muted rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-1",children:"Text Length"}),(0,C.jsxs)("div",{className:"text-sm text-foreground",children:[e.chunk_text.length.toLocaleString()," characters"]})]})]}),e.chunk_text&&(0,C.jsxs)("div",{children:[(0,C.jsx)("div",{className:"text-sm font-bold text-foreground mb-2",children:"Chunk Text"}),(0,C.jsx)("div",{className:"p-4 bg-muted rounded-lg border border-border max-h-[300px] overflow-y-auto",children:(0,C.jsx)("pre",{className:"text-sm whitespace-pre-wrap font-mono text-foreground",children:e.chunk_text})})]})]})}):null})]})})}function bj({memory:a,onClose:b,compact:c=!1,inPanel:d=!1,bankId:e}){let[f,g]=(0,F.useState)(null),[h,i]=(0,F.useState)(null),[j,k]=(0,F.useState)(null),[l,n]=(0,F.useState)(null),[o,p]=(0,F.useState)(!1);(0,F.useEffect)(()=>{let b=a?.id||a?.node_id;b&&e?(p(!0),T.client.getMemory(b,e).then(a=>{n(a)}).catch(a=>{console.error("Failed to fetch memory details:",a),n(null)}).finally(()=>{p(!1)})):n(null)},[a?.id,a?.node_id,e]);let q=l||a,r=async a=>{try{await navigator.clipboard.writeText(a),g(a),setTimeout(()=>g(null),2e3)}catch(a){console.error("Failed to copy:",a)}},s=a=>{i("document"),k(a)},t=a=>{i("chunk"),k(a)},u=()=>{i(null),k(null)};if(!a)return null;let v=q.id||q.node_id,w=c?"text-[10px]":"text-xs",x=c?"text-xs":"text-sm";return d?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsxs)("div",{className:"p-5",children:[(0,C.jsxs)("div",{className:"flex justify-between items-center mb-6 pb-4 border-b border-border",children:[(0,C.jsxs)("div",{children:[(0,C.jsx)("h3",{className:"text-xl font-bold text-foreground",children:"Memory Details"}),(0,C.jsx)("p",{className:"text-sm text-muted-foreground mt-1",children:"Full memory content and metadata"})]}),(0,C.jsx)(U.Button,{variant:"secondary",size:"sm",onClick:b,className:"h-8 w-8 p-0",children:(0,C.jsx)(bf.X,{className:"h-5 w-5"})})]}),o?(0,C.jsxs)("div",{className:"flex items-center justify-center py-12",children:[(0,C.jsx)(bg,{className:"h-6 w-6 animate-spin text-muted-foreground"}),(0,C.jsx)("span",{className:"ml-2 text-muted-foreground",children:"Loading memory details..."})]}):(0,C.jsxs)("div",{className:"space-y-5",children:[(0,C.jsxs)("div",{children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-2",children:"Full Text"}),(0,C.jsx)("div",{className:"text-sm whitespace-pre-wrap leading-relaxed text-foreground",children:q.text})]}),q.context&&(0,C.jsxs)("div",{className:"p-4 bg-muted/50 rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-2",children:"Context"}),(0,C.jsx)("div",{className:"text-sm text-foreground",children:q.context})]}),(0,C.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,C.jsxs)("div",{className:"p-4 bg-muted/50 rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-2",children:"Occurred"}),(0,C.jsx)("div",{className:"text-sm font-medium text-foreground",children:q.occurred_start?new Date(q.occurred_start).toLocaleString():"N/A"})]}),(0,C.jsxs)("div",{className:"p-4 bg-muted/50 rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-2",children:"Mentioned"}),(0,C.jsx)("div",{className:"text-sm font-medium text-foreground",children:q.mentioned_at?new Date(q.mentioned_at).toLocaleString():"N/A"})]})]}),q.entities&&(Array.isArray(q.entities)?q.entities.length>0:q.entities)&&(0,C.jsxs)("div",{children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-3",children:"Entities"}),(0,C.jsx)("div",{className:"flex flex-wrap gap-2",children:(Array.isArray(q.entities)?q.entities:String(q.entities).split(", ")).map((a,b)=>{let c="string"==typeof a?a:a?.name||JSON.stringify(a);return(0,C.jsx)("span",{className:"text-sm px-3 py-1.5 rounded-full bg-primary/10 text-primary font-medium",children:c},b)})})]}),q.tags&&q.tags.length>0&&(0,C.jsxs)("div",{children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-3",children:"Tags"}),(0,C.jsx)("div",{className:"flex flex-wrap gap-2",children:q.tags.map((a,b)=>(0,C.jsx)("span",{className:"text-sm px-3 py-1.5 rounded-full bg-amber-500/10 text-amber-600 dark:text-amber-400 font-medium",children:a},b))})]}),v&&(0,C.jsxs)("div",{className:"p-4 bg-muted/50 rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-2",children:"Memory ID"}),(0,C.jsxs)("div",{className:"flex items-center gap-2",children:[(0,C.jsx)("code",{className:"text-xs font-mono break-all flex-1 text-muted-foreground",children:v}),(0,C.jsx)(U.Button,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 flex-shrink-0",onClick:()=>r(v),children:f===v?(0,C.jsx)(X.Check,{className:"h-4 w-4 text-green-600"}):(0,C.jsx)(W,{className:"h-4 w-4"})})]})]}),(q.document_id||q.chunk_id)&&(0,C.jsxs)("div",{className:"flex gap-3 pt-2",children:[q.document_id&&(0,C.jsx)(U.Button,{onClick:()=>s(q.document_id),variant:"secondary",className:"flex-1",children:"View Document"}),q.chunk_id&&(0,C.jsx)(U.Button,{onClick:()=>t(q.chunk_id),variant:"secondary",className:"flex-1",children:"View Chunk"})]})]})]}),h&&j&&(0,C.jsx)(bi,{type:h,id:j,onClose:u})]}):(0,C.jsxs)(C.Fragment,{children:[(0,C.jsxs)("div",{className:`bg-card border-2 border-primary rounded-lg ${c?"p-3":"p-4"} sticky top-4 max-h-[calc(100vh-120px)] overflow-y-auto`,children:[(0,C.jsxs)("div",{className:"flex justify-between items-start mb-4",children:[(0,C.jsxs)("div",{children:[(0,C.jsx)("h3",{className:`${c?"text-sm":"text-lg"} font-bold text-card-foreground`,children:"Memory Details"}),!c&&(0,C.jsx)("p",{className:"text-sm text-muted-foreground",children:"Full memory content and metadata"})]}),(0,C.jsx)(U.Button,{variant:"ghost",size:"sm",onClick:b,className:c?"h-6 w-6 p-0":"h-8 w-8 p-0",children:(0,C.jsx)(bf.X,{className:c?"h-3 w-3":"h-4 w-4"})})]}),o?(0,C.jsxs)("div",{className:"flex items-center justify-center py-8",children:[(0,C.jsx)(bg,{className:"h-5 w-5 animate-spin text-muted-foreground"}),(0,C.jsx)("span",{className:"ml-2 text-sm text-muted-foreground",children:"Loading..."})]}):(0,C.jsxs)("div",{className:c?"space-y-2":"space-y-4",children:[(0,C.jsxs)("div",{className:`${c?"p-2":"p-3"} bg-muted rounded-lg`,children:[(0,C.jsx)("div",{className:`${w} font-bold text-muted-foreground uppercase mb-1`,children:"Full Text"}),(0,C.jsx)("div",{className:`${x} whitespace-pre-wrap`,children:q.text})]}),q.context&&(0,C.jsxs)("div",{className:`${c?"p-2":"p-3"} bg-muted rounded-lg`,children:[(0,C.jsx)("div",{className:`${w} font-bold text-muted-foreground uppercase mb-1`,children:"Context"}),(0,C.jsx)("div",{className:x,children:q.context})]}),(0,C.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,C.jsxs)("div",{className:`${c?"p-2":"p-3"} bg-muted rounded-lg`,children:[(0,C.jsx)("div",{className:`${w} font-bold text-muted-foreground uppercase mb-1`,children:"Occurred"}),(0,C.jsx)("div",{className:x,children:q.occurred_start?new Date(q.occurred_start).toLocaleString():"N/A"})]}),(0,C.jsxs)("div",{className:`${c?"p-2":"p-3"} bg-muted rounded-lg`,children:[(0,C.jsx)("div",{className:`${w} font-bold text-muted-foreground uppercase mb-1`,children:"Mentioned"}),(0,C.jsx)("div",{className:x,children:q.mentioned_at?new Date(q.mentioned_at).toLocaleString():"N/A"})]})]}),q.entities&&(Array.isArray(q.entities)?q.entities.length>0:q.entities)&&(0,C.jsxs)("div",{className:`${c?"p-2":"p-3"} bg-muted rounded-lg`,children:[(0,C.jsx)("div",{className:`${w} font-bold text-muted-foreground uppercase mb-2`,children:"Entities"}),(0,C.jsx)("div",{className:"flex flex-wrap gap-1",children:(Array.isArray(q.entities)?q.entities:String(q.entities).split(", ")).map((a,b)=>{let d="string"==typeof a?a:a?.name||JSON.stringify(a);return(0,C.jsx)("span",{className:`${c?"text-[10px] px-1.5 py-0.5":"text-xs px-2 py-1"} rounded bg-secondary text-secondary-foreground`,children:d},b)})})]}),q.tags&&q.tags.length>0&&(0,C.jsxs)("div",{className:`${c?"p-2":"p-3"} bg-muted rounded-lg`,children:[(0,C.jsx)("div",{className:`${w} font-bold text-muted-foreground uppercase mb-2`,children:"Tags"}),(0,C.jsx)("div",{className:"flex flex-wrap gap-1",children:q.tags.map((a,b)=>(0,C.jsx)("span",{className:`${c?"text-[10px] px-1.5 py-0.5":"text-xs px-2 py-1"} rounded bg-amber-500/10 text-amber-600 dark:text-amber-400`,children:a},b))})]}),v&&(0,C.jsxs)("div",{className:`${c?"p-2":"p-3"} bg-muted rounded-lg`,children:[(0,C.jsx)("div",{className:`${w} font-bold text-muted-foreground uppercase mb-1`,children:"Memory ID"}),(0,C.jsxs)("div",{className:"flex items-center gap-2",children:[(0,C.jsx)("span",{className:`${c?"text-[10px]":"text-sm"} font-mono break-all`,children:v}),(0,C.jsx)(U.Button,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0 flex-shrink-0",onClick:()=>r(v),children:f===v?(0,C.jsx)(X.Check,{className:"h-3 w-3 text-green-600"}):(0,C.jsx)(W,{className:"h-3 w-3"})})]})]}),(q.document_id||q.chunk_id)&&(0,C.jsxs)("div",{className:`flex gap-2 ${c?"pt-1":""}`,children:[q.document_id&&(0,C.jsx)(U.Button,{onClick:()=>s(q.document_id),size:"sm",variant:"secondary",className:`flex-1 ${c?"h-7 text-xs":""}`,children:"View Document"}),q.chunk_id&&(0,C.jsx)(U.Button,{onClick:()=>t(q.chunk_id),size:"sm",variant:"secondary",className:`flex-1 ${c?"h-7 text-xs":""}`,children:"View Chunk"})]})]})]}),h&&j&&(0,C.jsx)(bi,{type:h,id:j,onClose:u})]})}function bk(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function bl(a,b){if(!(a instanceof b))throw TypeError("Cannot call a class as a function")}function bm(a,b,c){return b&&function(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,br(d.key),d)}}(a.prototype,b),Object.defineProperty(a,"prototype",{writable:!1}),a}function bn(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=bt(a))||b){c&&(a=c);var d=0,e=function(){};return{s:e,n:function(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function(a){throw a},f:e}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function(){c=c.call(a)},n:function(){var a=c.next();return g=a.done,a},e:function(a){h=!0,f=a},f:function(){try{g||null==c.return||c.return()}finally{if(h)throw f}}}}function bo(a,b,c){return(b=br(b))in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function bp(a,b){return function(a){if(Array.isArray(a))return a}(a)||function(a,b){var c=null==a?null:"undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(null!=c){var d,e,f,g,h=[],i=!0,j=!1;try{if(f=(c=c.call(a)).next,0===b){if(Object(c)!==c)return;i=!1}else for(;!(i=(d=f.call(c)).done)&&(h.push(d.value),h.length!==b);i=!0);}catch(a){j=!0,e=a}finally{try{if(!i&&null!=c.return&&(g=c.return(),Object(g)!==g))return}finally{if(j)throw e}}return h}}(a,b)||bt(a,b)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bq(a){return function(a){if(Array.isArray(a))return bk(a)}(a)||function(a){if("undefined"!=typeof Symbol&&null!=a[Symbol.iterator]||null!=a["@@iterator"])return Array.from(a)}(a)||bt(a)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function br(a){var b=function(a,b){if("object"!=typeof a||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b);if("object"!=typeof d)return d;throw TypeError("@@toPrimitive must return a primitive value.")}return String(a)}(a,"string");return"symbol"==typeof b?b:b+""}function bs(a){return(bs="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a})(a)}function bt(a,b){if(a){if("string"==typeof a)return bk(a,b);var c=({}).toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?bk(a,b):void 0}}var bu=bs(""),bv=bs({}),bw=bs(function(){}),bx="undefined"==typeof HTMLElement?"undefined":bs(HTMLElement),by=function(a){return a&&a.instanceString&&bA(a.instanceString)?a.instanceString():null},bz=function(a){return null!=a&&bs(a)==bu},bA=function(a){return null!=a&&bs(a)===bw},bB=function(a){return!bF(a)&&(Array.isArray?Array.isArray(a):null!=a&&a instanceof Array)},bC=function(a){return null!=a&&bs(a)===bv&&!bB(a)&&a.constructor===Object},bD=function(a){return null!=a&&bs(a)===bs(1)&&!isNaN(a)},bE=function(a){if("undefined"!==bx)return null!=a&&a instanceof HTMLElement},bF=function(a){return bG(a)||bH(a)},bG=function(a){return"collection"===by(a)&&a._private.single},bH=function(a){return"collection"===by(a)&&!a._private.single},bI=function(a){return"core"===by(a)},bJ=function(a){return"stylesheet"===by(a)},bK=function(a){return null==a||!!(""===a||a.match(/^\s+$/))},bL=function(a){return null!=a&&bs(a)===bv&&bA(a.then)},bM=function(a,b){b||(b=function(){if(1==arguments.length)return arguments[0];if(0==arguments.length)return"undefined";for(var a=[],b=0;b<arguments.length;b++)a.push(arguments[b]);return a.join("$")});var c=function(){var d,e=arguments,f=b.apply(this,e),g=c.cache;return(d=g[f])||(d=g[f]=a.apply(this,e)),d};return c.cache={},c},bN=bM(function(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}),bO=bM(function(a){return a.replace(/(-\w)/g,function(a){return a[1].toUpperCase()})}),bP=bM(function(a,b){return a+b[0].toUpperCase()+b.substring(1)},function(a,b){return a+"$"+b}),bQ=function(a){return bK(a)?a:a.charAt(0).toUpperCase()+a.substring(1)},bR=function(a,b){return a.slice(-1*b.length)===b},bS="(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))",bT="rgb[a]?\\(("+bS+"[%]?)\\s*,\\s*("+bS+"[%]?)\\s*,\\s*("+bS+"[%]?)(?:\\s*,\\s*("+bS+"))?\\)",bU="rgb[a]?\\((?:"+bS+"[%]?)\\s*,\\s*(?:"+bS+"[%]?)\\s*,\\s*(?:"+bS+"[%]?)(?:\\s*,\\s*(?:"+bS+"))?\\)",bV="hsl[a]?\\(("+bS+")\\s*,\\s*("+bS+"[%])\\s*,\\s*("+bS+"[%])(?:\\s*,\\s*("+bS+"))?\\)",bW="hsl[a]?\\((?:"+bS+")\\s*,\\s*(?:"+bS+"[%])\\s*,\\s*(?:"+bS+"[%])(?:\\s*,\\s*(?:"+bS+"))?\\)",bX=function(a,b){return a<b?-1:+(a>b)},bY=null!=Object.assign?Object.assign.bind(Object):function(a){for(var b=arguments,c=1;c<b.length;c++){var d=b[c];if(null!=d)for(var e=Object.keys(d),f=0;f<e.length;f++){var g=e[f];a[g]=d[g]}}return a},bZ=function(a){if((4===a.length||7===a.length)&&"#"===a[0]){var b,c,d;return 4===a.length?(b=parseInt(a[1]+a[1],16),c=parseInt(a[2]+a[2],16),d=parseInt(a[3]+a[3],16)):(b=parseInt(a[1]+a[2],16),c=parseInt(a[3]+a[4],16),d=parseInt(a[5]+a[6],16)),[b,c,d]}},b$=function(a){function b(a,b,c){return(c<0&&(c+=1),c>1&&(c-=1),c<1/6)?a+(b-a)*6*c:c<.5?b:c<2/3?a+(b-a)*(2/3-c)*6:a}var c,d,e,f,g,h,i,j,k=RegExp("^"+bV+"$").exec(a);if(k){if((d=parseInt(k[1]))<0?d=(360- -1*d%360)%360:d>360&&(d%=360),d/=360,(e=parseFloat(k[2]))<0||e>100||(e/=100,(f=parseFloat(k[3]))<0||f>100)||(f/=100,void 0!==(g=k[4])&&((g=parseFloat(g))<0||g>1)))return;if(0===e)h=i=j=Math.round(255*f);else{var l=f<.5?f*(1+e):f+e-f*e,n=2*f-l;h=Math.round(255*b(n,l,d+1/3)),i=Math.round(255*b(n,l,d)),j=Math.round(255*b(n,l,d-1/3))}c=[h,i,j,g]}return c},b_=function(a){var b,c=RegExp("^"+bT+"$").exec(a);if(c){b=[];for(var d=[],e=1;e<=3;e++){var f=c[e];if("%"===f[f.length-1]&&(d[e]=!0),f=parseFloat(f),d[e]&&(f=f/100*255),f<0||f>255)return;b.push(Math.floor(f))}var g=d[1]||d[2]||d[3],h=d[1]&&d[2]&&d[3];if(g&&!h)return;var i=c[4];if(void 0!==i){if((i=parseFloat(i))<0||i>1)return;b.push(i)}}return b},b0=function(a){return(bB(a)?a:null)||b1[a.toLowerCase()]||bZ(a)||b_(a)||b$(a)},b1={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},b2=function(a){for(var b=a.map,c=a.keys,d=c.length,e=0;e<d;e++){var f=c[e];if(bC(f))throw Error("Tried to set map with object key");e<c.length-1?(null==b[f]&&(b[f]={}),b=b[f]):b[f]=a.value}},b3=function(a){for(var b=a.map,c=a.keys,d=c.length,e=0;e<d;e++){var f=c[e];if(bC(f))throw Error("Tried to get map with object key");if(null==(b=b[f]))break}return b},b4="undefined"!=typeof globalThis?globalThis:a.g;function b5(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}function b6(){return hX?hW:(hX=1,hW=function(a){var b=typeof a;return null!=a&&("object"==b||"function"==b)})}function b7(){if(h_)return h$;h_=1;var a=hZ?hY:(hZ=1,hY="object"==typeof b4&&b4&&b4.Object===Object&&b4),b="object"==typeof self&&self&&self.Object===Object&&self;return h$=a||b||Function("return this")()}function b8(){return h7?h6:(h7=1,h6=b7().Symbol)}function b9(){if(id)return ic;id=1;var a=b8(),b=function(){if(h9)return h8;h9=1;var a=b8(),b=Object.prototype,c=b.hasOwnProperty,d=b.toString,e=a?a.toStringTag:void 0;return h8=function(a){var b=c.call(a,e),f=a[e];try{a[e]=void 0;var g=!0}catch(a){}var h=d.call(a);return g&&(b?a[e]=f:delete a[e]),h}}(),c=function(){if(ib)return ia;ib=1;var a=Object.prototype.toString;return ia=function(b){return a.call(b)}}(),d=a?a.toStringTag:void 0;return ic=function(a){return null==a?void 0===a?"[object Undefined]":"[object Null]":d&&d in Object(a)?b(a):c(a)}}function ca(){if(ii)return ih;ii=1;var a=b9(),b=ig?ie:(ig=1,ie=function(a){return null!=a&&"object"==typeof a});return ih=function(c){return"symbol"==typeof c||b(c)&&"[object Symbol]"==a(c)}}var cb=b5(function(){if(im)return il;im=1;var a=b6(),b=function(){if(h1)return h0;h1=1;var a=b7();return h0=function(){return a.Date.now()}}(),c=function(){if(ik)return ij;ik=1;var a=function(){if(h5)return h4;h5=1;var a=function(){if(h3)return h2;h3=1;var a=/\s/;return h2=function(b){for(var c=b.length;c--&&a.test(b.charAt(c)););return c}}(),b=/^\s+/;return h4=function(c){return c?c.slice(0,a(c)+1).replace(b,""):c}}(),b=b6(),c=ca(),d=0/0,e=/^[-+]0x[0-9a-f]+$/i,f=/^0b[01]+$/i,g=/^0o[0-7]+$/i,h=parseInt;return ij=function(i){if("number"==typeof i)return i;if(c(i))return d;if(b(i)){var j="function"==typeof i.valueOf?i.valueOf():i;i=b(j)?j+"":j}if("string"!=typeof i)return 0===i?i:+i;i=a(i);var k=f.test(i);return k||g.test(i)?h(i.slice(2),k?2:8):e.test(i)?d:+i}}(),d=Math.max,e=Math.min;return il=function(f,g,h){var i,j,k,l,n,o,p=0,q=!1,r=!1,s=!0;if("function"!=typeof f)throw TypeError("Expected a function");function t(a){var b=i,c=j;return i=j=void 0,p=a,l=f.apply(c,b)}function u(a){var b=a-o,c=a-p;return void 0===o||b>=g||b<0||r&&c>=k}function v(){var a,c,d,f=b();if(u(f))return w(f);n=setTimeout(v,(a=f-o,c=f-p,d=g-a,r?e(d,k-c):d))}function w(a){return(n=void 0,s&&i)?t(a):(i=j=void 0,l)}function x(){var a,c=b(),d=u(c);if(i=arguments,j=this,o=c,d){if(void 0===n)return p=a=o,n=setTimeout(v,g),q?t(a):l;if(r)return clearTimeout(n),n=setTimeout(v,g),t(o)}return void 0===n&&(n=setTimeout(v,g)),l}return g=c(g)||0,a(h)&&(q=!!h.leading,k=(r="maxWait"in h)?d(c(h.maxWait)||0,g):k,s="trailing"in h?!!h.trailing:s),x.cancel=function(){void 0!==n&&clearTimeout(n),p=0,i=o=j=n=void 0},x.flush=function(){return void 0===n?l:w(b())},x}}()),cc=function(){return Date.now()},cd=function(a){a&&setTimeout(function(){a(cc())},1e3/60)},ce=function(a){return cd(a)},cf=function(a){for(var b,c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9261,d=c;!(b=a.next()).done;)d=65599*d+b.value|0;return d},cg=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9261;return 65599*b+a|0},ch=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5381;return(b<<5)+b+a|0},ci=function(a){return 2097152*a[0]+a[1]},cj=function(a,b){return[cg(a[0],b[0]),ch(a[1],b[1])]},ck=function(a,b){var c={value:0,done:!1},d=0,e=a.length;return cf({next:function(){return d<e?c.value=a[d++]:c.done=!0,c}},b)},cl=function(a,b){var c={value:0,done:!1},d=0,e=a.length;return cf({next:function(){return d<e?c.value=a.charCodeAt(d++):c.done=!0,c}},b)},cm=function(){return cn(arguments)},cn=function(a){for(var b,c=0;c<a.length;c++){var d=a[c];b=0===c?cl(d):cl(d,b)}return b},co=!0,cp=null!=console.warn,cq=null!=console.trace,cr=Number.MAX_SAFE_INTEGER||0x1fffffffffffff,cs=function(){return!0},ct=function(){return!1},cu=function(){return 0},cv=function(){},cw=function(a){throw Error(a)},cx=function(a){if(void 0===a)return co;co=!!a},cy=function(a){cx()&&(cp?console.warn(a):(console.log(a),cq&&console.trace()))},cz=function(a){return null==a?a:bB(a)?a.slice():bC(a)?bY({},a):a},cA=function(a,b){for(b=a="";a++<36;b+=51*a&52?(15^a?8^Math.random()*(20^a?16:4):4).toString(16):"-");return b},cB={},cC=function(){return cB},cD=function(a){var b=Object.keys(a);return function(c){for(var d={},e=0;e<b.length;e++){var f=b[e],g=null==c?void 0:c[f];d[f]=void 0===g?a[f]:g}return d}},cE=function(a,b,c){for(var d=a.length-1;d>=0;d--)a[d]===b&&a.splice(d,1)},cF=function(a){a.splice(0,a.length)},cG=function(a,b){for(var c=0;c<b.length;c++){var d=b[c];a.push(d)}},cH=function(a,b,c){return c&&(b=bP(c,b)),a[b]},cI=function(a,b,c,d){c&&(b=bP(c,b)),a[b]=d},cJ=bm(function a(){bl(this,a),this._obj={}},[{key:"set",value:function(a,b){return this._obj[a]=b,this}},{key:"delete",value:function(a){return this._obj[a]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(a){return void 0!==this._obj[a]}},{key:"get",value:function(a){return this._obj[a]}}]),cK="undefined"!=typeof Map?Map:cJ,cL=bm(function a(b){if(bl(this,a),this._obj=Object.create(null),this.size=0,null!=b){var c;c=null!=b.instanceString&&b.instanceString()===this.instanceString()?b.toArray():b;for(var d=0;d<c.length;d++)this.add(c[d])}},[{key:"instanceString",value:function(){return"set"}},{key:"add",value:function(a){var b=this._obj;1!==b[a]&&(b[a]=1,this.size++)}},{key:"delete",value:function(a){var b=this._obj;1===b[a]&&(b[a]=0,this.size--)}},{key:"clear",value:function(){this._obj=Object.create(null)}},{key:"has",value:function(a){return 1===this._obj[a]}},{key:"toArray",value:function(){var a=this;return Object.keys(this._obj).filter(function(b){return a.has(b)})}},{key:"forEach",value:function(a,b){return this.toArray().forEach(a,b)}}]),cM=("undefined"==typeof Set?"undefined":bs(Set))!=="undefined"?Set:cL,cN=function(a,b){var c=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(void 0===a||void 0===b||!bI(a))return void cw("An element must have a core reference and parameters set");var d=b.group;if(null==d&&(d=b.data&&null!=b.data.source&&null!=b.data.target?"edges":"nodes"),"nodes"!==d&&"edges"!==d)return void cw("An element must be of type `nodes` or `edges`; you specified `"+d+"`");this.length=1,this[0]=this;var e=this._private={cy:a,single:!0,data:b.data||{},position:b.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:d,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!b.selected,selectable:void 0===b.selectable||!!b.selectable,locked:!!b.locked,grabbed:!1,grabbable:void 0===b.grabbable||!!b.grabbable,pannable:void 0===b.pannable?"edges"===d:!!b.pannable,active:!1,classes:new cM,animation:{current:[],queue:[]},rscratch:{},scratch:b.scratch||{},edges:[],children:[],parent:b.parent&&b.parent.isNode()?b.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==e.position.x&&(e.position.x=0),null==e.position.y&&(e.position.y=0),b.renderedPosition){var f=b.renderedPosition,g=a.pan(),h=a.zoom();e.position={x:(f.x-g.x)/h,y:(f.y-g.y)/h}}var i=[];bB(b.classes)?i=b.classes:bz(b.classes)&&(i=b.classes.split(/\s+/));for(var j=0,k=i.length;j<k;j++){var l=i[j];l&&""!==l&&e.classes.add(l)}this.createEmitter(),(void 0===c||c)&&this.restore();var n=b.style||b.css;n&&(cy("Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead."),this.style(n))},cO=function(a){return a={bfs:a.bfs||!a.dfs,dfs:a.dfs||!a.bfs},function(b,c,d){bC(b)&&!bF(b)&&(b=(e=b).roots||e.root,c=e.visit,d=e.directed),d=2!=arguments.length||bA(c)?d:c,c=bA(c)?c:function(){};for(var e,f,g,h=this._private.cy,i=b=bz(b)?this.filter(b):b,j=[],k=[],l={},n={},o={},p=0,q=this.byGroup(),r=q.nodes,s=q.edges,t=0;t<i.length;t++){var u=i[t],v=u.id();u.isNode()&&(j.unshift(u),a.bfs&&(o[v]=!0,k.push(u)),n[v]=0)}for(;0!==j.length&&(0===(g=function(){var b,e=a.bfs?j.shift():j.pop(),g=e.id();if(a.dfs){if(o[g])return 0;o[g]=!0,k.push(e)}var h=n[g],i=l[g],q=null!=i?i.source():null,t=null!=i?i.target():null,u=null==i?void 0:e.same(q)?t[0]:q[0];if(!0===(b=c(e,i,u,p++,h)))return f=e,1;if(!1===b)return 1;for(var v=e.connectedEdges().filter(function(a){return(!d||a.source().same(e))&&s.has(a)}),w=0;w<v.length;w++){var x=v[w],y=x.connectedNodes().filter(function(a){return!a.same(e)&&r.has(a)}),z=y.id();0===y.length||o[z]||(y=y[0],j.push(y),a.bfs&&(o[z]=!0,k.push(y)),l[z]=x,n[z]=n[g]+1)}}())||1!==g););for(var w=h.collection(),x=0;x<k.length;x++){var y=k[x],z=l[y.id()];null!=z&&w.push(z),w.push(y)}return{path:h.collection(w),found:h.collection(f)}}},cP={breadthFirstSearch:cO({bfs:!0}),depthFirstSearch:cO({dfs:!0})};cP.bfs=cP.breadthFirstSearch,cP.dfs=cP.depthFirstSearch;var cQ={exports:{}},cR=cQ.exports,cS=b5(iq?ip:(iq=1,ip=function(){return io?cQ.exports:(io=1,(function(){var a,b,c,d,e,f,g,h,i,j,k,l,n,o,p;c=Math.floor,j=Math.min,b=function(a,b){return a<b?-1:+(a>b)},i=function(a,d,e,f,g){var h;if(null==e&&(e=0),null==g&&(g=b),e<0)throw Error("lo must be non-negative");for(null==f&&(f=a.length);e<f;)0>g(d,a[h=c((e+f)/2)])?f=h:e=h+1;return[].splice.apply(a,[e,e-e].concat(d)),d},f=function(a,c,d){return null==d&&(d=b),a.push(c),o(a,0,a.length-1,d)},e=function(a,c){var d,e;return null==c&&(c=b),d=a.pop(),a.length?(e=a[0],a[0]=d,p(a,0,c)):e=d,e},h=function(a,c,d){var e;return null==d&&(d=b),e=a[0],a[0]=c,p(a,0,d),e},g=function(a,c,d){var e;return null==d&&(d=b),a.length&&0>d(a[0],c)&&(c=(e=[a[0],c])[0],a[0]=e[1],p(a,0,d)),c},d=function(a,d){var e,f,g,h,i,j;for(null==d&&(d=b),h=(function(){j=[];for(var b=0,d=c(a.length/2);0<=d?b<d:b>d;0<=d?b++:b--)j.push(b);return j}).apply(this).reverse(),i=[],f=0,g=h.length;f<g;f++)e=h[f],i.push(p(a,e,d));return i},n=function(a,c,d){var e;if(null==d&&(d=b),-1!==(e=a.indexOf(c)))return o(a,0,e,d),p(a,e,d)},k=function(a,c,e){var f,h,i,j;if(null==e&&(e=b),!(f=a.slice(0,c)).length)return f;for(d(f,e),h=0,i=(j=a.slice(c)).length;h<i;h++)g(f,j[h],e);return f.sort(e).reverse()},l=function(a,c,f){var g,h,k,l,n,o,p,q,r;if(null==f&&(f=b),10*c<=a.length){if(!(k=a.slice(0,c).sort(f)).length)return k;for(l=0,h=k[k.length-1],o=(p=a.slice(c)).length;l<o;l++)0>f(g=p[l],h)&&(i(k,g,0,null,f),k.pop(),h=k[k.length-1]);return k}for(d(a,f),r=[],n=0,q=j(c,a.length);0<=q?n<q:n>q;0<=q?++n:--n)r.push(e(a,f));return r},o=function(a,c,d,e){var f,g,h;for(null==e&&(e=b),f=a[d];d>c;){if(0>e(f,g=a[h=d-1>>1])){a[d]=g,d=h;continue}break}return a[d]=f},p=function(a,c,d){var e,f,g,h,i;for(null==d&&(d=b),f=a.length,i=c,g=a[c],e=2*c+1;e<f;)(h=e+1)<f&&!(0>d(a[e],a[h]))&&(e=h),a[c]=a[e],e=2*(c=e)+1;return a[c]=g,o(a,i,c,d)},a=function(){function a(a){this.cmp=null!=a?a:b,this.nodes=[]}return a.push=f,a.pop=e,a.replace=h,a.pushpop=g,a.heapify=d,a.updateItem=n,a.nlargest=k,a.nsmallest=l,a.prototype.push=function(a){return f(this.nodes,a,this.cmp)},a.prototype.pop=function(){return e(this.nodes,this.cmp)},a.prototype.peek=function(){return this.nodes[0]},a.prototype.contains=function(a){return -1!==this.nodes.indexOf(a)},a.prototype.replace=function(a){return h(this.nodes,a,this.cmp)},a.prototype.pushpop=function(a){return g(this.nodes,a,this.cmp)},a.prototype.heapify=function(){return d(this.nodes,this.cmp)},a.prototype.updateItem=function(a){return n(this.nodes,a,this.cmp)},a.prototype.clear=function(){return this.nodes=[]},a.prototype.empty=function(){return 0===this.nodes.length},a.prototype.size=function(){return this.nodes.length},a.prototype.clone=function(){var b;return(b=new a).nodes=this.nodes.slice(0),b},a.prototype.toArray=function(){return this.nodes.slice(0)},a.prototype.insert=a.prototype.push,a.prototype.top=a.prototype.peek,a.prototype.front=a.prototype.peek,a.prototype.has=a.prototype.contains,a.prototype.copy=a.prototype.clone,a}(),cQ.exports=a}).call(cR),cQ.exports)}())),cT=cD({root:null,weight:function(a){return 1},directed:!1}),cU=cD({root:null,goal:null,weight:function(a){return 1},heuristic:function(a){return 0},directed:!1}),cV=cD({weight:function(a){return 1},directed:!1}),cW=cD({weight:function(a){return 1},directed:!1,root:null}),cX=Math.sqrt(2),cY=function(a,b,c){0===c.length&&cw("Karger-Stein must be run on a connected (sub)graph");for(var d=c[a],e=d[1],f=d[2],g=b[e],h=b[f],i=c.length-1;i>=0;i--){var j=c[i],k=j[1],l=j[2];(b[k]===g&&b[l]===h||b[k]===h&&b[l]===g)&&c.splice(i,1)}for(var n=0;n<c.length;n++){var o=c[n];o[1]===h?(c[n]=o.slice(),c[n][1]=g):o[2]===h&&(c[n]=o.slice(),c[n][2]=g)}for(var p=0;p<b.length;p++)b[p]===h&&(b[p]=g);return c},cZ=function(a,b,c,d){for(;c>d;)b=cY(Math.floor(Math.random()*b.length),a,b),c--;return b},c$=function(a,b,c){return{x:a.x*b+c.x,y:a.y*b+c.y}},c_=function(a,b,c){return{x:(a.x-c.x)/b,y:(a.y-c.y)/b}},c0=function(a){return{x:a[0],y:a[1]}},c1=function(a){for(var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a.length,d=1/0,e=b;e<c;e++){var f=a[e];isFinite(f)&&(d=Math.min(f,d))}return d},c2=function(a){for(var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a.length,d=-1/0,e=b;e<c;e++){var f=a[e];isFinite(f)&&(d=Math.max(f,d))}return d},c3=function(a){for(var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a.length,d=0,e=0,f=b;f<c;f++){var g=a[f];isFinite(g)&&(d+=g,e++)}return d/e},c4=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a.length,d=!(arguments.length>3)||void 0===arguments[3]||arguments[3],e=!(arguments.length>4)||void 0===arguments[4]||arguments[4],f=!(arguments.length>5)||void 0===arguments[5]||arguments[5];d?a=a.slice(b,c):(c<a.length&&a.splice(c,a.length-c),b>0&&a.splice(0,b));for(var g=0,h=a.length-1;h>=0;h--){var i=a[h];f?!isFinite(i)&&(a[h]=-1/0,g++):a.splice(h,1)}e&&a.sort(function(a,b){return a-b});var j=a.length,k=Math.floor(j/2);return j%2!=0?a[k+1+g]:(a[k-1+g]+a[k+g])/2},c5=function(a,b){return Math.atan2(b,a)-Math.PI/2},c6=Math.log2||function(a){return Math.log(a)/Math.log(2)},c7=function(a){return a>0?1:a<0?-1:0},c8=function(a,b){return Math.sqrt(c9(a,b))},c9=function(a,b){var c=b.x-a.x,d=b.y-a.y;return c*c+d*d},da=function(a){for(var b=a.length,c=0,d=0;d<b;d++)c+=a[d];for(var e=0;e<b;e++)a[e]=a[e]/c;return a},db=function(a,b,c,d){return(1-d)*(1-d)*a+2*(1-d)*d*b+d*d*c},dc=function(a,b,c,d){return{x:db(a.x,b.x,c.x,d),y:db(a.y,b.y,c.y,d)}},dd=function(a,b,c,d){var e={x:b.x-a.x,y:b.y-a.y},f=c8(a,b),g={x:e.x/f,y:e.y/f};return c=null==c?0:c,d=null!=d?d:c*f,{x:a.x+g.x*d,y:a.y+g.y*d}},de=function(a,b,c){return Math.max(a,Math.min(c,b))},df=function(a){if(null==a)return{x1:1/0,y1:1/0,x2:-1/0,y2:-1/0,w:0,h:0};if(null!=a.x1&&null!=a.y1){if(null!=a.x2&&null!=a.y2&&a.x2>=a.x1&&a.y2>=a.y1)return{x1:a.x1,y1:a.y1,x2:a.x2,y2:a.y2,w:a.x2-a.x1,h:a.y2-a.y1};else if(null!=a.w&&null!=a.h&&a.w>=0&&a.h>=0)return{x1:a.x1,y1:a.y1,x2:a.x1+a.w,y2:a.y1+a.h,w:a.w,h:a.h}}},dg=function(a){a.x1=1/0,a.y1=1/0,a.x2=-1/0,a.y2=-1/0,a.w=0,a.h=0},dh=function(a,b){a.x1=Math.min(a.x1,b.x1),a.x2=Math.max(a.x2,b.x2),a.w=a.x2-a.x1,a.y1=Math.min(a.y1,b.y1),a.y2=Math.max(a.y2,b.y2),a.h=a.y2-a.y1},di=function(a,b,c){a.x1=Math.min(a.x1,b),a.x2=Math.max(a.x2,b),a.w=a.x2-a.x1,a.y1=Math.min(a.y1,c),a.y2=Math.max(a.y2,c),a.h=a.y2-a.y1},dj=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return a.x1-=b,a.x2+=b,a.y1-=b,a.y2+=b,a.w=a.x2-a.x1,a.h=a.y2-a.y1,a},dk=function(a){var b,c,d,e,f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===f.length)b=c=d=e=f[0];else if(2===f.length)b=d=f[0],e=c=f[1];else if(4===f.length){var g=bp(f,4);b=g[0],c=g[1],d=g[2],e=g[3]}return a.x1-=e,a.x2+=c,a.y1-=b,a.y2+=d,a.w=a.x2-a.x1,a.h=a.y2-a.y1,a},dl=function(a,b){a.x1=b.x1,a.y1=b.y1,a.x2=b.x2,a.y2=b.y2,a.w=a.x2-a.x1,a.h=a.y2-a.y1},dm=function(a,b){return!(a.x1>b.x2)&&!(b.x1>a.x2)&&!(a.x2<b.x1)&&!(b.x2<a.x1)&&!(a.y2<b.y1)&&!(b.y2<a.y1)&&!(a.y1>b.y2)&&!(b.y1>a.y2)&&!0},dn=function(a,b,c){return a.x1<=b&&b<=a.x2&&a.y1<=c&&c<=a.y2},dp=function(a,b){return dn(a,b.x,b.y)},dq=function(a,b){return dn(a,b.x1,b.y1)&&dn(a,b.x2,b.y2)},dr=null!=(ir=Math.hypot)?ir:function(a,b){return Math.sqrt(a*a+b*b)},ds=function(a,b,c,d,e,f,g){var h,i,j=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"auto",k="auto"===j?dQ(e,f):j,l=e/2,n=f/2,o=(k=Math.min(k,l,n))!==l,p=k!==n;if(o){var q=c-l+k-g,r=d-n-g,s=c+l-k+g;if((h=dI(a,b,c,d,q,r,s,r,!1)).length>0)return h}if(p){var t=c+l+g,u=d-n+k-g,v=d+n-k+g;if((h=dI(a,b,c,d,t,u,t,v,!1)).length>0)return h}if(o){var w=c-l+k-g,x=d+n+g,y=c+l-k+g;if((h=dI(a,b,c,d,w,x,y,x,!1)).length>0)return h}if(p){var z=c-l-g,A=d-n+k-g,B=d+n-k+g;if((h=dI(a,b,c,d,z,A,z,B,!1)).length>0)return h}var C=c-l+k,D=d-n+k;if((i=dG(a,b,c,d,C,D,k+g)).length>0&&i[0]<=C&&i[1]<=D)return[i[0],i[1]];var E=c+l-k,F=d-n+k;if((i=dG(a,b,c,d,E,F,k+g)).length>0&&i[0]>=E&&i[1]<=F)return[i[0],i[1]];var G=c+l-k,H=d+n-k;if((i=dG(a,b,c,d,G,H,k+g)).length>0&&i[0]>=G&&i[1]>=H)return[i[0],i[1]];var I=c-l+k,J=d+n-k;return(i=dG(a,b,c,d,I,J,k+g)).length>0&&i[0]<=I&&i[1]>=J?[i[0],i[1]]:[]},dt=function(a,b,c,d,e,f,g){var h=Math.min(c,e),i=Math.max(c,e),j=Math.min(d,f),k=Math.max(d,f);return h-g<=a&&a<=i+g&&j-g<=b&&b<=k+g},du=function(a,b,c,d,e,f,g,h,i){var j={x1:Math.min(c,g,e)-i,x2:Math.max(c,g,e)+i,y1:Math.min(d,h,f)-i,y2:Math.max(d,h,f)+i};return!(a<j.x1)&&!(a>j.x2)&&!(b<j.y1)&&!(b>j.y2)},dv=function(a,b,c,d){var e=b*b-4*a*(c-=d);if(e<0)return[];var f=Math.sqrt(e),g=2*a;return[(-b+f)/g,(-b-f)/g]},dw=function(a,b,c,d,e){var f,g,h,i,j,k,l,n;if(0===a&&(a=1e-5),b/=a,c/=a,d/=a,f=(g=(3*c-b*b)/9)*g*g+(h=(-(27*d)+b*(9*c-b*b*2))/54)*h,e[1]=0,l=b/3,f>0){j=(j=h+Math.sqrt(f))<0?-Math.pow(-j,1/3):Math.pow(j,1/3),k=(k=h-Math.sqrt(f))<0?-Math.pow(-k,1/3):Math.pow(k,1/3),e[0]=-l+j+k,l+=(j+k)/2,e[4]=e[2]=-l,l=Math.sqrt(3)*(-k+j)/2,e[3]=l,e[5]=-l;return}if(e[5]=e[3]=0,0===f){n=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),e[0]=-l+2*n,e[4]=e[2]=-(n+l);return}i=Math.acos(h/Math.sqrt(i=(g=-g)*g*g)),n=2*Math.sqrt(g),e[0]=-l+n*Math.cos(i/3),e[2]=-l+n*Math.cos((i+2*Math.PI)/3),e[4]=-l+n*Math.cos((i+4*Math.PI)/3)},dx=function(a,b,c,d,e,f,g,h){var i,j=[];dw(c*c-4*c*e+2*c*g+4*e*e-4*e*g+g*g+d*d-4*d*f+2*d*h+4*f*f-4*f*h+h*h,9*c*e-3*c*c-3*c*g-6*e*e+3*e*g+9*d*f-3*d*d-3*d*h-6*f*f+3*f*h,3*c*c-6*c*e+c*g-c*a+2*e*e+2*e*a-g*a+3*d*d-6*d*f+d*h-d*b+2*f*f+2*f*b-h*b,c*e-c*c+c*a-e*a+d*f-d*d+d*b-f*b,j);for(var k=[],l=0;l<6;l+=2)1e-7>Math.abs(j[l+1])&&j[l]>=0&&j[l]<=1&&k.push(j[l]);k.push(1),k.push(0);for(var n=-1,o=0;o<k.length;o++)i=Math.pow(Math.pow(1-k[o],2)*c+2*(1-k[o])*k[o]*e+k[o]*k[o]*g-a,2)+Math.pow(Math.pow(1-k[o],2)*d+2*(1-k[o])*k[o]*f+k[o]*k[o]*h-b,2),n>=0?i<n&&(n=i):n=i;return n},dy=function(a,b,c,d,e,f){var g=[a-c,b-d],h=[e-c,f-d],i=h[0]*h[0]+h[1]*h[1],j=g[0]*g[0]+g[1]*g[1],k=g[0]*h[0]+g[1]*h[1],l=k*k/i;return k<0?j:l>i?(a-e)*(a-e)+(b-f)*(b-f):j-l},dz=function(a,b,c){for(var d,e,f,g,h=0,i=0;i<c.length/2;i++)if(d=c[2*i],e=c[2*i+1],i+1<c.length/2?(f=c[(i+1)*2],g=c[(i+1)*2+1]):(f=c[(i+1-c.length/2)*2],g=c[(i+1-c.length/2)*2+1]),d==a&&f==a);else{if((!(d>=a)||!(a>=f))&&(!(d<=a)||!(a<=f)))continue;(a-d)/(f-d)*(g-e)+e>b&&h++}return h%2!=0},dA=function(a,b,c,d,e,f,g,h,i){var j,k=Array(c.length);null!=h[0]?(j=Math.atan(h[1]/h[0]),h[0]<0?j+=Math.PI/2:j=-j-Math.PI/2):j=h;for(var l=Math.cos(-j),n=Math.sin(-j),o=0;o<k.length/2;o++)k[2*o]=f/2*(c[2*o]*l-c[2*o+1]*n),k[2*o+1]=g/2*(c[2*o+1]*l+c[2*o]*n),k[2*o]+=d,k[2*o+1]+=e;return dz(a,b,i>0?dC(dD(k,-i)):k)},dB=function(a,b,c,d,e,f,g,h){for(var i=Array(2*c.length),j=0;j<h.length;j++){var k=h[j];if(i[4*j+0]=k.startX,i[4*j+1]=k.startY,i[4*j+2]=k.stopX,i[4*j+3]=k.stopY,Math.pow(k.cx-a,2)+Math.pow(k.cy-b,2)<=Math.pow(k.radius,2))return!0}return dz(a,b,i)},dC=function(a){for(var b,c,d,e,f,g,h,i,j=Array(a.length/2),k=0;k<a.length/4;k++){b=a[4*k],c=a[4*k+1],d=a[4*k+2],e=a[4*k+3],k<a.length/4-1?(f=a[(k+1)*4],g=a[(k+1)*4+1],h=a[(k+1)*4+2],i=a[(k+1)*4+3]):(f=a[0],g=a[1],h=a[2],i=a[3]);var l=dI(b,c,d,e,f,g,h,i,!0);j[2*k]=l[0],j[2*k+1]=l[1]}return j},dD=function(a,b){for(var c,d,e,f,g=Array(2*a.length),h=0;h<a.length/2;h++){c=a[2*h],d=a[2*h+1],h<a.length/2-1?(e=a[(h+1)*2],f=a[(h+1)*2+1]):(e=a[0],f=a[1]);var i=f-d,j=-(e-c),k=Math.sqrt(i*i+j*j),l=i/k,n=j/k;g[4*h]=c+l*b,g[4*h+1]=d+n*b,g[4*h+2]=e+l*b,g[4*h+3]=f+n*b}return g},dE=function(a,b,c,d,e,f){var g=c-a,h=d-b,i=Math.sqrt((g/=e)*g+(h/=f)*h),j=i-1;if(j<0)return[];var k=j/i;return[(c-a)*k+a,(d-b)*k+b]},dF=function(a,b,c,d,e,f,g){return a-=e,b-=f,(a/=c/2+g)*a+(b/=d/2+g)*b<=1},dG=function(a,b,c,d,e,f,g){var h=[c-a,d-b],i=[a-e,b-f],j=h[0]*h[0]+h[1]*h[1],k=2*(i[0]*h[0]+i[1]*h[1]),l=k*k-4*j*(i[0]*i[0]+i[1]*i[1]-g*g);if(l<0)return[];var n=(-k+Math.sqrt(l))/(2*j),o=(-k-Math.sqrt(l))/(2*j),p=Math.min(n,o),q=Math.max(n,o),r=[];if(p>=0&&p<=1&&r.push(p),q>=0&&q<=1&&r.push(q),0===r.length)return[];var s=r[0]*h[0]+a,t=r[0]*h[1]+b;return r.length>1?r[0]==r[1]?[s,t]:[s,t,r[1]*h[0]+a,r[1]*h[1]+b]:[s,t]},dH=function(a,b,c){return b<=a&&a<=c||c<=a&&a<=b?a:a<=b&&b<=c||c<=b&&b<=a?b:c},dI=function(a,b,c,d,e,f,g,h,i){var j=a-e,k=c-a,l=g-e,n=b-f,o=d-b,p=h-f,q=l*n-p*j,r=k*n-o*j,s=p*k-l*o;if(0!==s){var t=q/s,u=r/s;return -.001<=t&&t<=1.001&&-.001<=u&&u<=1.001||i?[a+t*k,b+t*o]:[]}return 0!==q&&0!==r?[]:dH(a,c,g)===g?[g,h]:dH(a,c,e)===e?[e,f]:dH(e,g,c)===c?[c,d]:[]},dJ=function(a,b,c,d,e){var f=[],g=d/2,h=e/2;f.push({x:b+g*a[0],y:c+h*a[1]});for(var i=1;i<a.length/2;i++)f.push({x:b+g*a[2*i],y:c+h*a[2*i+1]});return f},dK=function(a,b,c,d,e,f,g,h){var i,j,k,l,n,o,p=[],q=Array(c.length),r=!0;if(null==f&&(r=!1),r){for(var s=0;s<q.length/2;s++)q[2*s]=c[2*s]*f+d,q[2*s+1]=c[2*s+1]*g+e;j=h>0?dC(dD(q,-h)):q}else j=c;for(var t=0;t<j.length/2;t++)k=j[2*t],l=j[2*t+1],t<j.length/2-1?(n=j[(t+1)*2],o=j[(t+1)*2+1]):(n=j[0],o=j[1]),0!==(i=dI(a,b,d,e,k,l,n,o)).length&&p.push(i[0],i[1]);return p},dL=function(a,b,c,d,e,f,g,h,i){var j,k=[],l=Array(2*c.length);i.forEach(function(c,f){0===f?(l[l.length-2]=c.startX,l[l.length-1]=c.startY):(l[4*f-2]=c.startX,l[4*f-1]=c.startY),l[4*f]=c.stopX,l[4*f+1]=c.stopY,0!==(j=dG(a,b,d,e,c.cx,c.cy,c.radius)).length&&k.push(j[0],j[1])});for(var n=0;n<l.length/4;n++)0!==(j=dI(a,b,d,e,l[4*n],l[4*n+1],l[4*n+2],l[4*n+3],!1)).length&&k.push(j[0],j[1]);if(k.length>2){for(var o=[k[0],k[1]],p=Math.pow(o[0]-a,2)+Math.pow(o[1]-b,2),q=1;q<k.length/2;q++){var r=Math.pow(k[2*q]-a,2)+Math.pow(k[2*q+1]-b,2);r<=p&&(o[0]=k[2*q],o[1]=k[2*q+1],p=r)}return o}return k},dM=function(a,b,c){var d=[a[0]-b[0],a[1]-b[1]],e=Math.sqrt(d[0]*d[0]+d[1]*d[1]),f=(e-c)/e;return f<0&&(f=1e-5),[b[0]+f*d[0],b[1]+f*d[1]]},dN=function(a,b){var c=dP(a,b);return dO(c)},dO=function(a){for(var b,c,d=a.length/2,e=1/0,f=1/0,g=-1/0,h=-1/0,i=0;i<d;i++)b=a[2*i],c=a[2*i+1],e=Math.min(e,b),g=Math.max(g,b),f=Math.min(f,c),h=Math.max(h,c);for(var j=2/(g-e),k=2/(h-f),l=0;l<d;l++)b=a[2*l]=a[2*l]*j,c=a[2*l+1]=a[2*l+1]*k,e=Math.min(e,b),g=Math.max(g,b),f=Math.min(f,c),h=Math.max(h,c);if(f<-1)for(var n=0;n<d;n++)c=a[2*n+1]=a[2*n+1]+(-1-f);return a},dP=function(a,b){var c,d=1/a*2*Math.PI,e=a%2==0?Math.PI/2+d/2:Math.PI/2;e+=b;for(var f=Array(2*a),g=0;g<a;g++)c=g*d+e,f[2*g]=Math.cos(c),f[2*g+1]=Math.sin(-c);return f},dQ=function(a,b){return Math.min(a/4,b/4,8)},dR=function(a,b){return Math.min(a/10,b/10,8)},dS=function(){return 8},dT=function(a,b){return{heightOffset:Math.min(15,.05*b),widthOffset:Math.min(100,.25*a),ctrlPtOffsetPct:.05}};function dU(a,b){function c(a){for(var b=[],c=0;c<a.length;c++){var d=a[c],e=a[(c+1)%a.length],f={x:e.x-d.x,y:e.y-d.y},g={x:-f.y,y:f.x},h=Math.sqrt(g.x*g.x+g.y*g.y);b.push({x:g.x/h,y:g.y/h})}return b}function d(a,b){var c,d=1/0,e=-1/0,f=bn(a);try{for(f.s();!(c=f.n()).done;){var g=c.value,h=g.x*b.x+g.y*b.y;d=Math.min(d,h),e=Math.max(e,h)}}catch(a){f.e(a)}finally{f.f()}return{min:d,max:e}}var e,f=bn([].concat(bq(c(a)),bq(c(b))));try{for(f.s();!(e=f.n()).done;){var g=e.value,h=d(a,g),i=d(b,g);if(h.max<i.min||i.max<h.min)return!1}}catch(a){f.e(a)}finally{f.f()}return!0}var dV=cD({dampingFactor:.8,precision:1e-6,iterations:200,weight:function(a){return 1}}),dW=cD({root:null,weight:function(a){return 1},directed:!1,alpha:0}),dX={degreeCentralityNormalized:function(a){a=dW(a);var b=this.cy(),c=this.nodes(),d=c.length;if(a.directed){for(var e={},f={},g=0,h=0,i=0;i<d;i++){var j=c[i],k=j.id();a.root=j;var l=this.degreeCentrality(a);g<l.indegree&&(g=l.indegree),h<l.outdegree&&(h=l.outdegree),e[k]=l.indegree,f[k]=l.outdegree}return{indegree:function(a){return 0==g?0:(bz(a)&&(a=b.filter(a)),e[a.id()]/g)},outdegree:function(a){return 0===h?0:(bz(a)&&(a=b.filter(a)),f[a.id()]/h)}}}for(var n={},o=0,p=0;p<d;p++){var q=c[p];a.root=q;var r=this.degreeCentrality(a);o<r.degree&&(o=r.degree),n[q.id()]=r.degree}return{degree:function(a){return 0===o?0:(bz(a)&&(a=b.filter(a)),n[a.id()]/o)}}},degreeCentrality:function(a){a=dW(a);var b=this.cy(),c=this,d=a,e=d.root,f=d.weight,g=d.directed,h=d.alpha;if(e=b.collection(e)[0],g){for(var i=e.connectedEdges(),j=i.filter(function(a){return a.target().same(e)&&c.has(a)}),k=i.filter(function(a){return a.source().same(e)&&c.has(a)}),l=j.length,n=k.length,o=0,p=0,q=0;q<j.length;q++)o+=f(j[q]);for(var r=0;r<k.length;r++)p+=f(k[r]);return{indegree:Math.pow(l,1-h)*Math.pow(o,h),outdegree:Math.pow(n,1-h)*Math.pow(p,h)}}for(var s=e.connectedEdges().intersection(c),t=s.length,u=0,v=0;v<s.length;v++)u+=f(s[v]);return{degree:Math.pow(t,1-h)*Math.pow(u,h)}}};dX.dc=dX.degreeCentrality,dX.dcn=dX.degreeCentralityNormalised=dX.degreeCentralityNormalized;var dY=cD({harmonic:!0,weight:function(){return 1},directed:!1,root:null}),dZ={closenessCentralityNormalized:function(a){for(var b=dY(a),c=b.harmonic,d=b.weight,e=b.directed,f=this.cy(),g={},h=0,i=this.nodes(),j=this.floydWarshall({weight:d,directed:e}),k=0;k<i.length;k++){for(var l=0,n=i[k],o=0;o<i.length;o++)if(k!==o){var p=j.distance(n,i[o]);c?l+=1/p:l+=p}c||(l=1/l),h<l&&(h=l),g[n.id()]=l}return{closeness:function(a){return 0==h?0:g[a=bz(a)?f.filter(a)[0].id():a.id()]/h}}},closenessCentrality:function(a){var b=dY(a),c=b.root,d=b.weight,e=b.directed,f=b.harmonic;c=this.filter(c)[0];for(var g=this.dijkstra({root:c,weight:d,directed:e}),h=0,i=this.nodes(),j=0;j<i.length;j++){var k=i[j];if(!k.same(c)){var l=g.distanceTo(k);f?h+=1/l:h+=l}}return f?h:1/h}};dZ.cc=dZ.closenessCentrality,dZ.ccn=dZ.closenessCentralityNormalised=dZ.closenessCentralityNormalized;var d$=cD({weight:null,directed:!1}),d_={betweennessCentrality:function(a){for(var b=d$(a),c=b.directed,d=b.weight,e=null!=d,f=this.cy(),g=this.nodes(),h={},i={},j=0,k=function(a,b){i[a]=b,b>j&&(j=b)},l=function(a){return i[a]},n=0;n<g.length;n++){var o=g[n],p=o.id();c?h[p]=o.outgoers().nodes():h[p]=o.openNeighborhood().nodes(),k(p,0)}for(var q=0;q<g.length;q++)!function(){for(var a=g[q].id(),b=[],c={},i={},j={},n=new cS(function(a,b){return j[a]-j[b]}),o=0;o<g.length;o++){var p=g[o].id();c[p]=[],i[p]=0,j[p]=1/0}for(i[a]=1,j[a]=0,n.push(a);!n.empty();){var r=n.pop();if(b.push(r),e)for(var s=0;s<h[r].length;s++){var t=h[r][s],u=f.getElementById(r),v=d(u.edgesTo(t).length>0?u.edgesTo(t)[0]:t.edgesTo(u)[0]);j[t=t.id()]>j[r]+v&&(j[t]=j[r]+v,0>n.nodes.indexOf(t)?n.push(t):n.updateItem(t),i[t]=0,c[t]=[]),j[t]==j[r]+v&&(i[t]=i[t]+i[r],c[t].push(r))}else for(var w=0;w<h[r].length;w++){var x=h[r][w].id();j[x]==1/0&&(n.push(x),j[x]=j[r]+1),j[x]==j[r]+1&&(i[x]=i[x]+i[r],c[x].push(r))}}for(var y={},z=0;z<g.length;z++)y[g[z].id()]=0;for(;b.length>0;){for(var A=b.pop(),B=0;B<c[A].length;B++){var C=c[A][B];y[C]=y[C]+i[C]/i[A]*(1+y[A])}A!=g[q].id()&&k(A,l(A)+y[A])}}();var r={betweenness:function(a){return l(f.collection(a).id())},betweennessNormalized:function(a){return 0==j?0:l(f.collection(a).id())/j}};return r.betweennessNormalised=r.betweennessNormalized,r}};d_.bc=d_.betweennessCentrality;var d0=cD({expandFactor:2,inflateFactor:2,multFactor:1,maxIterations:20,attributes:[function(a){return 1}]}),d1=function(a,b){for(var c=0,d=0;d<b.length;d++)c+=b[d](a);return c},d2=function(a,b,c){for(var d=0;d<b;d++)a[d*b+d]=c},d3=function(a,b){for(var c,d=0;d<b;d++){c=0;for(var e=0;e<b;e++)c+=a[e*b+d];for(var f=0;f<b;f++)a[f*b+d]=a[f*b+d]/c}},d4=function(a,b,c){for(var d=Array(c*c),e=0;e<c;e++){for(var f=0;f<c;f++)d[e*c+f]=0;for(var g=0;g<c;g++)for(var h=0;h<c;h++)d[e*c+h]+=a[e*c+g]*b[g*c+h]}return d},d5=function(a,b,c){for(var d=a.slice(0),e=1;e<c;e++)a=d4(a,d,b);return a},d6=function(a,b,c){for(var d=Array(b*b),e=0;e<b*b;e++)d[e]=Math.pow(a[e],c);return d3(d,b),d},d7=function(a,b,c,d){for(var e=0;e<c;e++)if(Math.round(a[e]*Math.pow(10,d))/Math.pow(10,d)!=Math.round(b[e]*Math.pow(10,d))/Math.pow(10,d))return!1;return!0},d8=function(a,b,c,d){for(var e=[],f=0;f<b;f++){for(var g=[],h=0;h<b;h++)Math.round(1e3*a[f*b+h])/1e3>0&&g.push(c[h]);0!==g.length&&e.push(d.collection(g))}return e},d9=function(a,b){for(var c=0;c<a.length;c++)if(!b[c]||a[c].id()!==b[c].id())return!1;return!0},ea=function(a){for(var b=0;b<a.length;b++)for(var c=0;c<a.length;c++)b!=c&&d9(a[b],a[c])&&a.splice(c,1);return a},eb=function(a){for(var b=this.nodes(),c=this.edges(),d=this.cy(),e=d0(a),f={},g=0;g<b.length;g++)f[b[g].id()]=g;for(var h,i=b.length,j=i*i,k=Array(j),l=0;l<j;l++)k[l]=0;for(var n=0;n<c.length;n++){var o=c[n],p=f[o.source().id()],q=f[o.target().id()],r=d1(o,e.attributes);k[p*i+q]+=r,k[q*i+p]+=r}d2(k,i,e.multFactor),d3(k,i);for(var s=!0,t=0;s&&t<e.maxIterations;)s=!1,d7(k=d6(h=d5(k,i,e.expandFactor),i,e.inflateFactor),h,j,4)||(s=!0),t++;var u=d8(k,i,b,d);return ea(u)},ec=function(a){return a},ed=function(a,b){return Math.abs(b-a)},ee=function(a,b,c){return a+ed(b,c)},ef=function(a,b,c){return a+Math.pow(c-b,2)},eg=function(a){return Math.sqrt(a)},eh=function(a,b,c){return Math.max(a,ed(b,c))},ei=function(a,b,c,d,e){for(var f=arguments.length>5&&void 0!==arguments[5]?arguments[5]:ec,g=d,h=0;h<a;h++)g=e(g,b(h),c(h));return f(g)},ej={euclidean:function(a,b,c){return a>=2?ei(a,b,c,0,ef,eg):ei(a,b,c,0,ee)},squaredEuclidean:function(a,b,c){return ei(a,b,c,0,ef)},manhattan:function(a,b,c){return ei(a,b,c,0,ee)},max:function(a,b,c){return ei(a,b,c,-1/0,eh)}};function ek(a,b,c,d,e,f){var g;return(g=bA(a)?a:ej[a]||ej.euclidean,0===b&&bA(a))?g(e,f):g(b,c,d,e,f)}ej["squared-euclidean"]=ej.squaredEuclidean,ej.squaredeuclidean=ej.squaredEuclidean;var el=cD({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),em=function(a){return el(a)},en=function(a,b,c,d,e){var f="kMedoids"!==e?function(a){return c[a]}:function(a){return d[a](c)};return ek(a,d.length,f,function(a){return d[a](b)},c,b)},eo=function(a,b,c){for(var d=c.length,e=Array(d),f=Array(d),g=Array(b),h=null,i=0;i<d;i++)e[i]=a.min(c[i]).value,f[i]=a.max(c[i]).value;for(var j=0;j<b;j++){h=[];for(var k=0;k<d;k++)h[k]=Math.random()*(f[k]-e[k])+e[k];g[j]=h}return g},ep=function(a,b,c,d,e){for(var f=1/0,g=0,h=0;h<b.length;h++){var i=en(c,a,b[h],d,e);i<f&&(f=i,g=h)}return g},eq=function(a,b,c){for(var d=[],e=null,f=0;f<b.length;f++)c[(e=b[f]).id()]===a&&d.push(e);return d},er=function(a,b,c){for(var d=0;d<a.length;d++)for(var e=0;e<a[d].length;e++)if(Math.abs(a[d][e]-b[d][e])>c)return!1;return!0},es=function(a,b,c){for(var d=0;d<c;d++)if(a===b[d])return!0;return!1},et=function(a,b){var c=Array(b);if(a.length<50)for(var d=0;d<b;d++){for(var e=a[Math.floor(Math.random()*a.length)];es(e,c,d);)e=a[Math.floor(Math.random()*a.length)];c[d]=e}else for(var f=0;f<b;f++)c[f]=a[Math.floor(Math.random()*a.length)];return c},eu=function(a,b,c){for(var d=0,e=0;e<b.length;e++)d+=en("manhattan",b[e],a,c,"kMedoids");return d},ev=function(a,b,c,d,e){for(var f,g,h=0;h<b.length;h++)for(var i=0;i<a.length;i++)d[h][i]=Math.pow(c[h][i],e.m);for(var j=0;j<a.length;j++)for(var k=0;k<e.attributes.length;k++){f=0,g=0;for(var l=0;l<b.length;l++)f+=d[l][j]*e.attributes[k](b[l]),g+=d[l][j];a[j][k]=f/g}},ew=function(a,b,c,d,e){for(var f,g=0;g<a.length;g++)b[g]=a[g].slice();for(var h=2/(e.m-1),i=0;i<c.length;i++)for(var j=0;j<d.length;j++){f=0;for(var k=0;k<c.length;k++)f+=Math.pow(en(e.distance,d[j],c[i],e.attributes,"cmeans")/en(e.distance,d[j],c[k],e.attributes,"cmeans"),h);a[j][i]=1/f}},ex=function(a,b,c,d){for(var e,f,g=Array(c.k),h=0;h<g.length;h++)g[h]=[];for(var i=0;i<b.length;i++){e=-1/0,f=-1;for(var j=0;j<b[0].length;j++)b[i][j]>e&&(e=b[i][j],f=j);g[f].push(a[i])}for(var k=0;k<g.length;k++)g[k]=d.collection(g[k]);return g},ey=function(a){var b,c,d,e,f=this.cy(),g=this.nodes(),h=em(a);d=Array(g.length);for(var i=0;i<g.length;i++)d[i]=Array(h.k);c=Array(g.length);for(var j=0;j<g.length;j++)c[j]=Array(h.k);for(var k=0;k<g.length;k++){for(var l=0,n=0;n<h.k;n++)c[k][n]=Math.random(),l+=c[k][n];for(var o=0;o<h.k;o++)c[k][o]=c[k][o]/l}b=Array(h.k);for(var p=0;p<h.k;p++)b[p]=Array(h.attributes.length);e=Array(g.length);for(var q=0;q<g.length;q++)e[q]=Array(h.k);for(var r=!0,s=0;r&&s<h.maxIterations;)r=!1,ev(b,g,c,e,h),ew(c,d,b,g,h),er(c,d,h.sensitivityThreshold)||(r=!0),s++;return{clusters:ex(g,c,h,f),degreeOfMembership:c}},ez=cD({distance:"euclidean",linkage:"min",mode:"threshold",threshold:1/0,addDendrogram:!1,dendrogramDepth:0,attributes:[]}),eA={single:"min",complete:"max"},eB=function(a){var b=ez(a),c=eA[b.linkage];return null!=c&&(b.linkage=c),b},eC=function(a,b,c,d,e){for(var f,g,h=0,i=1/0,j=e.attributes,k=function(a,b){return ek(e.distance,j.length,function(b){return j[b](a)},function(a){return j[a](b)},a,b)},l=0;l<a.length;l++){var n=a[l].key,o=c[n][d[n]];o<i&&(h=n,i=o)}if("threshold"===e.mode&&i>=e.threshold||"dendrogram"===e.mode&&1===a.length)return!1;var p=b[h],q=b[d[h]];g="dendrogram"===e.mode?{left:p,right:q,key:p.key}:{value:p.value.concat(q.value),key:p.key},a[p.index]=g,a.splice(q.index,1),b[p.key]=g;for(var r=0;r<a.length;r++){var s=a[r];p.key===s.key?f=1/0:"min"===e.linkage?(f=c[p.key][s.key],c[p.key][s.key]>c[q.key][s.key]&&(f=c[q.key][s.key])):"max"===e.linkage?(f=c[p.key][s.key],c[p.key][s.key]<c[q.key][s.key]&&(f=c[q.key][s.key])):f="mean"===e.linkage?(c[p.key][s.key]*p.size+c[q.key][s.key]*q.size)/(p.size+q.size):"dendrogram"===e.mode?k(s.value,p.value):k(s.value[0],p.value[0]),c[p.key][s.key]=c[s.key][p.key]=f}for(var t=0;t<a.length;t++){var u=a[t].key;if(d[u]===p.key||d[u]===q.key){for(var v=u,w=0;w<a.length;w++){var x=a[w].key;c[u][x]<c[u][v]&&(v=x)}d[u]=v}a[t].index=t}return p.key=q.key=p.index=q.index=null,!0},eD=function(a,b,c){a&&(a.value?b.push(a.value):(a.left&&eD(a.left,b),a.right&&eD(a.right,b)))},eE=function(a,b){if(!a)return"";if(a.left&&a.right){var c=eE(a.left,b),d=eE(a.right,b),e=b.add({group:"nodes",data:{id:c+","+d}});return b.add({group:"edges",data:{source:c,target:e.id()}}),b.add({group:"edges",data:{source:d,target:e.id()}}),e.id()}if(a.value)return a.value.id()},eF=function(a,b,c){if(!a)return[];var d=[],e=[],f=[];if(0===b)return a.left&&eD(a.left,d),a.right&&eD(a.right,e),f=d.concat(e),[c.collection(f)];if(1===b)if(a.value)return[c.collection(a.value)];else return a.left&&eD(a.left,d),a.right&&eD(a.right,e),[c.collection(d),c.collection(e)];return a.value?[c.collection(a.value)]:(a.left&&(d=eF(a.left,b-1,c)),a.right&&(e=eF(a.right,b-1,c)),d.concat(e))},eG=function(a){for(var b,c=this.cy(),d=this.nodes(),e=eB(a),f=e.attributes,g=function(a,b){return ek(e.distance,f.length,function(b){return f[b](a)},function(a){return f[a](b)},a,b)},h=[],i=[],j=[],k=[],l=0;l<d.length;l++){var n={value:"dendrogram"===e.mode?d[l]:[d[l]],key:l,index:l};h[l]=n,k[l]=n,i[l]=[],j[l]=0}for(var o=0;o<h.length;o++)for(var p=0;p<=o;p++){var q=void 0;q="dendrogram"===e.mode?o===p?1/0:g(h[o].value,h[p].value):o===p?1/0:g(h[o].value[0],h[p].value[0]),i[o][p]=q,i[p][o]=q,q<i[o][j[o]]&&(j[o]=p)}for(var r=eC(h,k,i,j,e);r;)r=eC(h,k,i,j,e);return"dendrogram"===e.mode?(b=eF(h[0],e.dendrogramDepth,c),e.addDendrogram&&eE(h[0],c)):(b=Array(h.length),h.forEach(function(a,d){a.key=a.index=null,b[d]=c.collection(a.value)})),b},eH=cD({distance:"euclidean",preference:"median",damping:.8,maxIterations:1e3,minIterations:100,attributes:[]}),eI=function(a){var b=a.damping,c=a.preference;.5<=b&&b<1||cw("Damping must range on [0.5, 1). Got: ".concat(b));var d=["median","mean","min","max"];return d.some(function(a){return a===c})||bD(c)||cw("Preference must be one of [".concat(d.map(function(a){return"'".concat(a,"'")}).join(", "),"] or a number. Got: ").concat(c)),eH(a)},eJ=function(a,b,c,d){var e=function(a,b){return d[b](a)};return-ek(a,d.length,function(a){return e(b,a)},function(a){return e(c,a)},b,c)},eK=function(a,b){return"median"===b?c4(a):"mean"===b?c3(a):"min"===b?c1(a):"max"===b?c2(a):b},eL=function(a,b,c){for(var d=[],e=0;e<a;e++)b[e*a+e]+c[e*a+e]>0&&d.push(e);return d},eM=function(a,b,c){for(var d=[],e=0;e<a;e++){for(var f=-1,g=-1/0,h=0;h<c.length;h++){var i=c[h];b[e*a+i]>g&&(f=i,g=b[e*a+i])}f>0&&d.push(f)}for(var j=0;j<c.length;j++)d[c[j]]=c[j];return d},eN=function(a,b,c){for(var d=eM(a,b,c),e=0;e<c.length;e++){for(var f=[],g=0;g<d.length;g++)d[g]===c[e]&&f.push(g);for(var h=-1,i=-1/0,j=0;j<f.length;j++){for(var k=0,l=0;l<f.length;l++)k+=b[f[l]*a+f[j]];k>i&&(h=j,i=k)}c[e]=f[h]}return eM(a,b,c)},eO=function(a){for(var b,c,d,e,f,g,h,i=this.cy(),j=this.nodes(),k=eI(a),l={},n=0;n<j.length;n++)l[j[n].id()]=n;d=Array(c=(b=j.length)*b);for(var o=0;o<c;o++)d[o]=-1/0;for(var p=0;p<b;p++)for(var q=0;q<b;q++)p!==q&&(d[p*b+q]=eJ(k.distance,j[p],j[q],k.attributes));e=eK(d,k.preference);for(var r=0;r<b;r++)d[r*b+r]=e;f=Array(c);for(var s=0;s<c;s++)f[s]=0;g=Array(c);for(var t=0;t<c;t++)g[t]=0;for(var u=Array(b),v=Array(b),w=Array(b),x=0;x<b;x++)u[x]=0,v[x]=0,w[x]=0;for(var y=Array(b*k.minIterations),z=0;z<y.length;z++)y[z]=0;for(h=0;h<k.maxIterations;h++){for(var A=0;A<b;A++){for(var B=-1/0,C=-1/0,D=-1,E=0,F=0;F<b;F++)u[F]=f[A*b+F],(E=g[A*b+F]+d[A*b+F])>=B?(C=B,B=E,D=F):E>C&&(C=E);for(var G=0;G<b;G++)f[A*b+G]=(1-k.damping)*(d[A*b+G]-B)+k.damping*u[G];f[A*b+D]=(1-k.damping)*(d[A*b+D]-C)+k.damping*u[D]}for(var H=0;H<b;H++){for(var I=0,J=0;J<b;J++)u[J]=g[J*b+H],v[J]=Math.max(0,f[J*b+H]),I+=v[J];I-=v[H],v[H]=f[H*b+H],I+=v[H];for(var K=0;K<b;K++)g[K*b+H]=(1-k.damping)*Math.min(0,I-v[K])+k.damping*u[K];g[H*b+H]=(1-k.damping)*(I-v[H])+k.damping*u[H]}for(var L=0,M=0;M<b;M++){var N=+(g[M*b+M]+f[M*b+M]>0);y[h%k.minIterations*b+M]=N,L+=N}if(L>0&&(h>=k.minIterations-1||h==k.maxIterations-1)){for(var O=0,P=0;P<b;P++){w[P]=0;for(var Q=0;Q<k.minIterations;Q++)w[P]+=y[Q*b+P];(0===w[P]||w[P]===k.minIterations)&&O++}if(O===b)break}}for(var R=eL(b,f,g),S=eN(b,d,R),T={},U=0;U<R.length;U++)T[R[U]]=[];for(var V=0;V<j.length;V++){var W=S[l[j[V].id()]];null!=W&&T[W].push(j[V])}for(var X=Array(R.length),Y=0;Y<R.length;Y++)X[Y]=i.collection(T[R[Y]]);return X},eP=cD({root:void 0,directed:!1}),eQ=function(){var a=this,b={},c=0,d=0,e=[],f=[],g={},h=function(c,d){for(var g=f.length-1,h=[],i=a.spawn();f[g].x!=c||f[g].y!=d;)h.push(f.pop().edge),g--;h.push(f.pop().edge),h.forEach(function(c){var d=c.connectedNodes().intersection(a);i.merge(c),d.forEach(function(c){var d=c.id(),e=c.connectedEdges().intersection(a);i.merge(c),b[d].cutVertex?i.merge(e.filter(function(a){return a.isLoop()})):i.merge(e)})}),e.push(i)},i=function(j,k,l){j===l&&(d+=1),b[k]={id:c,low:c++,cutVertex:!1};var n,o,p,q,r=a.getElementById(k).connectedEdges().intersection(a);0===r.size()?e.push(a.spawn(a.getElementById(k))):r.forEach(function(a){n=a.source().id(),o=a.target().id(),(p=n===k?o:n)!==l&&(g[q=a.id()]||(g[q]=!0,f.push({x:k,y:p,edge:a})),p in b?b[k].low=Math.min(b[k].low,b[p].id):(i(j,p,k),b[k].low=Math.min(b[k].low,b[p].low),b[k].id<=b[p].low&&(b[k].cutVertex=!0,h(k,p))))})};a.forEach(function(a){if(a.isNode()){var c=a.id();c in b||(d=0,i(c,c),b[c].cutVertex=d>1)}});var j=Object.keys(b).filter(function(a){return b[a].cutVertex}).map(function(b){return a.getElementById(b)});return{cut:a.spawn(j),components:e}},eR=function(){var a=this,b={},c=0,d=[],e=[],f=a.spawn(a),g=function(h){if(e.push(h),b[h]={index:c,low:c++,explored:!1},a.getElementById(h).connectedEdges().intersection(a).forEach(function(a){var c=a.target().id();c!==h&&(c in b||g(c),b[c].explored||(b[h].low=Math.min(b[h].low,b[c].low)))}),b[h].index===b[h].low){for(var i=a.spawn();;){var j=e.pop();if(i.merge(a.getElementById(j)),b[j].low=b[h].index,b[j].explored=!0,j===h)break}var k=i.edgesWith(i),l=i.merge(k);d.push(l),f=f.difference(l)}};return a.forEach(function(a){if(a.isNode()){var c=a.id();c in b||g(c)}}),{cut:f,components:d}},eS={};[cP,{dijkstra:function(a){if(!bC(a)){var b=arguments;a={root:b[0],weight:b[1],directed:b[2]}}var c=cT(a),d=c.root,e=c.weight,f=c.directed,g=this,h=bz(d)?this.filter(d)[0]:d[0],i={},j={},k={},l=this.byGroup(),n=l.nodes,o=l.edges;o.unmergeBy(function(a){return a.isLoop()});for(var p=function(a){return i[a.id()]},q=new cS(function(a,b){return p(a)-p(b)}),r=0;r<n.length;r++){var s=n[r];i[s.id()]=s.same(h)?0:1/0,q.push(s)}for(;q.size()>0;){var t=q.pop(),u=p(t);if(k[t.id()]=u,u!==1/0)for(var v=t.neighborhood().intersect(n),w=0;w<v.length;w++){var x=v[w],y=x.id(),z=function(a,b){for(var c,d=(f?a.edgesTo(b):a.edgesWith(b)).intersect(o),g=1/0,h=0;h<d.length;h++){var i=d[h],j=e(i);(j<g||!c)&&(g=j,c=i)}return{edge:c,dist:g}}(t,x),A=u+z.dist;A<p(x)&&(i[x.id()]=A,q.updateItem(x),j[y]={node:t,edge:z.edge})}}return{distanceTo:function(a){return k[(bz(a)?n.filter(a)[0]:a[0]).id()]},pathTo:function(a){var b=bz(a)?n.filter(a)[0]:a[0],c=[],d=b,e=d.id();if(b.length>0)for(c.unshift(b);j[e];){var f=j[e];c.unshift(f.edge),c.unshift(f.node),e=(d=f.node).id()}return g.spawn(c)}}}},{kruskal:function(a){a=a||function(a){return 1};for(var b=this.byGroup(),c=b.nodes,d=b.edges,e=c.length,f=Array(e),g=function(a){for(var b=0;b<f.length;b++)if(f[b].has(a))return b},h=0;h<e;h++)f[h]=this.spawn(c[h]);for(var i=d.sort(function(b,c){return a(b)-a(c)}),j=0;j<i.length;j++){var k=i[j],l=k.source()[0],n=k.target()[0],o=g(l),p=g(n),q=f[o],r=f[p];o!==p&&(c.merge(k),q.merge(r),f.splice(p,1))}return c}},{aStar:function(a){var b,c,d=this.cy(),e=cU(a),f=e.root,g=e.goal,h=e.heuristic,i=e.directed,j=e.weight;f=d.collection(f)[0],g=d.collection(g)[0];var k=f.id(),l=g.id(),n={},o={},p={},q=new cS(function(a,b){return o[a.id()]-o[b.id()]}),r=new cM,s={},t={},u=function(a,b){q.push(a),r.add(b)};u(f,k),n[k]=0,o[k]=h(f);for(var v=0;q.size()>0;){if(c=(b=q.pop()).id(),r.delete(c),v++,c===l){for(var w=[],x=g,y=l,z=t[y];w.unshift(x),null!=z&&w.unshift(z),null!=(x=s[y]);)z=t[y=x.id()];return{found:!0,distance:n[c],path:this.spawn(w),steps:v}}p[c]=!0;for(var A=b._private.edges,B=0;B<A.length;B++){var C=A[B];if(this.hasElementWithId(C.id())&&(!i||C.data("source")===c)){var D=C.source(),E=C.target(),F=D.id()!==c?D:E,G=F.id();if(this.hasElementWithId(G)&&!p[G]){var H=n[c]+j(C);if(!r.has(G)){n[G]=H,o[G]=H+h(F),u(F,G),s[G]=b,t[G]=C;continue}H<n[G]&&(n[G]=H,o[G]=H+h(F),s[G]=b,t[G]=C)}}}}return{found:!1,distance:void 0,path:void 0,steps:v}}},{floydWarshall:function(a){for(var b=this.cy(),c=cV(a),d=c.weight,e=c.directed,f=this.byGroup(),g=f.nodes,h=f.edges,i=g.length,j=i*i,k=function(a){return g.indexOf(a)},l=function(a){return g[a]},n=Array(j),o=0;o<j;o++){var p=o%i;(o-p)/i===p?n[o]=0:n[o]=1/0}for(var q=Array(j),r=Array(j),s=0;s<h.length;s++){var t=h[s],u=t.source()[0],v=t.target()[0];if(u!==v){var w=k(u),x=k(v),y=w*i+x,z=d(t);if(n[y]>z&&(n[y]=z,q[y]=x,r[y]=t),!e){var A=x*i+w;!e&&n[A]>z&&(n[A]=z,q[A]=w,r[A]=t)}}}for(var B=0;B<i;B++)for(var C=0;C<i;C++)for(var D=C*i+B,E=0;E<i;E++){var F=C*i+E,G=B*i+E;n[D]+n[G]<n[F]&&(n[F]=n[D]+n[G],q[F]=q[D])}var H=function(a){return k((bz(a)?b.filter(a):a)[0])};return{distance:function(a,b){return n[H(a)*i+H(b)]},path:function(a,c){var d,e=H(a),f=H(c),g=l(e);if(e===f)return g.collection();if(null==q[e*i+f])return b.collection();var h=b.collection(),j=e;for(h.merge(g);e!==f;)j=e,e=q[e*i+f],d=r[j*i+e],h.merge(d),h.merge(l(e));return h}}}},{bellmanFord:function(a){var b=this,c=cW(a),d=c.weight,e=c.directed,f=c.root,g=this,h=this.cy(),i=this.byGroup(),j=i.edges,k=i.nodes,l=k.length,n=new cK,o=!1,p=[];f=h.collection(f)[0],j.unmergeBy(function(a){return a.isLoop()});for(var q=j.length,r=function(a){var b=n.get(a.id());return b||(b={},n.set(a.id(),b)),b},s=function(a){return(bz(a)?h.$(a):a)[0]},t=0;t<l;t++){var u=k[t],v=r(u);u.same(f)?v.dist=0:v.dist=1/0,v.pred=null,v.edge=null}for(var w=!1,x=function(a,b,c,d,e,f){var g=d.dist+f;g<e.dist&&!c.same(d.edge)&&(e.dist=g,e.pred=a,e.edge=c,w=!0)},y=1;y<l;y++){w=!1;for(var z=0;z<q;z++){var A=j[z],B=A.source(),C=A.target(),D=d(A),E=r(B),F=r(C);x(B,C,A,E,F,D),e||x(C,B,A,F,E,D)}if(!w)break}if(w)for(var G=[],H=0;H<q;H++){var I=j[H],J=I.source(),K=I.target(),L=d(I),M=r(J).dist,N=r(K).dist;if(M+L<N||!e&&N+L<M)if(o||(cy("Graph contains a negative weight cycle for Bellman-Ford"),o=!0),!1!==a.findNegativeWeightCycles){var O=[];M+L<N&&O.push(J),!e&&N+L<M&&O.push(K);for(var P=O.length,Q=0;Q<P;Q++){var R=O[Q],S=[R];S.push(r(R).edge);for(var T=r(R).pred;-1===S.indexOf(T);)S.push(T),S.push(r(T).edge),T=r(T).pred;for(var U=(S=S.slice(S.indexOf(T)))[0].id(),V=0,W=2;W<S.length;W+=2)S[W].id()<U&&(U=S[W].id(),V=W);(S=S.slice(V).concat(S.slice(0,V))).push(S[0]);var X=S.map(function(a){return a.id()}).join(",");-1===G.indexOf(X)&&(p.push(g.spawn(S)),G.push(X))}}else break}return{distanceTo:function(a){return r(s(a)).dist},pathTo:function(a){for(var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:f,d=s(a),e=[],h=d;;){if(null==h)return b.spawn();var i=r(h),j=i.edge,k=i.pred;if(e.unshift(h[0]),h.same(c)&&e.length>0)break;null!=j&&e.unshift(j),h=k}return g.spawn(e)},hasNegativeWeightCycle:o,negativeWeightCycles:p}}},{kargerStein:function(){var a=this,b=this.byGroup(),c=b.nodes,d=b.edges;d.unmergeBy(function(a){return a.isLoop()});var e=c.length,f=d.length,g=Math.ceil(Math.pow(Math.log(e)/Math.LN2,2)),h=Math.floor(e/cX);if(e<2)return void cw("At least 2 nodes are required for Karger-Stein algorithm");for(var i=[],j=0;j<f;j++){var k=d[j];i.push([j,c.indexOf(k.source()),c.indexOf(k.target())])}for(var l=1/0,n=[],o=Array(e),p=Array(e),q=Array(e),r=function(a,b){for(var c=0;c<e;c++)b[c]=a[c]},s=0;s<=g;s++){for(var t=0;t<e;t++)p[t]=t;var u=cZ(p,i.slice(),e,h),v=u.slice();r(p,q);var w=cZ(p,u,h,2),x=cZ(q,v,h,2);w.length<=x.length&&w.length<l?(l=w.length,n=w,r(p,o)):x.length<=w.length&&x.length<l&&(l=x.length,n=x,r(q,o))}for(var y=this.spawn(n.map(function(a){return d[a[0]]})),z=this.spawn(),A=this.spawn(),B=o[0],C=0;C<o.length;C++){var D=o[C],E=c[C];D===B?z.merge(E):A.merge(E)}var F=function(b){var c=a.spawn();return b.forEach(function(b){c.merge(b),b.connectedEdges().forEach(function(b){a.contains(b)&&!y.contains(b)&&c.merge(b)})}),c};return{cut:y,components:[F(z),F(A)],partition1:z,partition2:A}}},{pageRank:function(a){for(var b,c=dV(a),d=c.dampingFactor,e=c.precision,f=c.iterations,g=c.weight,h=this._private.cy,i=this.byGroup(),j=i.nodes,k=i.edges,l=j.length,n=l*l,o=k.length,p=Array(n),q=Array(l),r=(1-d)/l,s=0;s<l;s++){for(var t=0;t<l;t++)p[s*l+t]=0;q[s]=0}for(var u=0;u<o;u++){var v=k[u],w=v.data("source"),x=v.data("target");if(w!==x){var y=j.indexOfId(w),z=j.indexOfId(x),A=g(v),B=z*l+y;p[B]+=A,q[y]+=A}}for(var C=1/l+r,D=0;D<l;D++)if(0===q[D])for(var E=0;E<l;E++)p[E*l+D]=C;else for(var F=0;F<l;F++){var G=F*l+D;p[G]=p[G]/q[D]+r}for(var H=Array(l),I=Array(l),J=0;J<l;J++)H[J]=1;for(var K=0;K<f;K++){for(var L=0;L<l;L++)I[L]=0;for(var M=0;M<l;M++)for(var N=0;N<l;N++){var O=M*l+N;I[M]+=p[O]*H[N]}da(I),b=H,H=I,I=b;for(var P=0,Q=0;Q<l;Q++){var R=b[Q]-H[Q];P+=R*R}if(P<e)break}return{rank:function(a){return a=h.collection(a)[0],H[j.indexOf(a)]}}}},dX,dZ,d_,{markovClustering:eb,mcl:eb},{kMeans:function(a){var b,c=this.cy(),d=this.nodes(),e=null,f=em(a),g=Array(f.k),h={};f.testMode?"number"==typeof f.testCentroids?(f.testCentroids,b=eo(d,f.k,f.attributes)):b="object"===bs(f.testCentroids)?f.testCentroids:eo(d,f.k,f.attributes):b=eo(d,f.k,f.attributes);for(var i=!0,j=0;i&&j<f.maxIterations;){for(var k=0;k<d.length;k++)h[(e=d[k]).id()]=ep(e,b,f.distance,f.attributes,"kMeans");i=!1;for(var l=0;l<f.k;l++){var n=eq(l,d,h);if(0!==n.length){for(var o=f.attributes.length,p=b[l],q=Array(o),r=Array(o),s=0;s<o;s++){r[s]=0;for(var t,u=0;u<n.length;u++)e=n[u],r[s]+=f.attributes[s](e);q[s]=r[s]/n.length,t=q[s],Math.abs(p[s]-t)<=f.sensitivityThreshold||(i=!0)}b[l]=q,g[l]=c.collection(n)}}j++}return g},kMedoids:function(a){var b,c,d=this.cy(),e=this.nodes(),f=null,g=em(a),h=Array(g.k),i={},j=Array(g.k);g.testMode?"number"==typeof g.testCentroids||(b="object"===bs(g.testCentroids)?g.testCentroids:et(e,g.k)):b=et(e,g.k);for(var k=!0,l=0;k&&l<g.maxIterations;){for(var n=0;n<e.length;n++)i[(f=e[n]).id()]=ep(f,b,g.distance,g.attributes,"kMedoids");k=!1;for(var o=0;o<b.length;o++){var p=eq(o,e,i);if(0!==p.length){j[o]=eu(b[o],p,g.attributes);for(var q=0;q<p.length;q++)(c=eu(p[q],p,g.attributes))<j[o]&&(j[o]=c,b[o]=p[q],k=!0);h[o]=d.collection(p)}}l++}return h},fuzzyCMeans:ey,fcm:ey},{hierarchicalClustering:eG,hca:eG},{affinityPropagation:eO,ap:eO},{hierholzer:function(a){if(!bC(a)){var b,c,d,e=arguments;a={root:e[0],directed:e[1]}}var f=eP(a),g=f.root,h=f.directed,i=!1;g&&(d=bz(g)?this.filter(g)[0].id():g[0].id());var j={},k={};h?this.forEach(function(a){var d=a.id();if(a.isNode()){var e=a.indegree(!0),f=a.outdegree(!0),g=e-f,h=f-e;1==g?b?i=!0:b=d:1==h?c?i=!0:c=d:(h>1||g>1)&&(i=!0),j[d]=[],a.outgoers().forEach(function(a){a.isEdge()&&j[d].push(a.id())})}else k[d]=[void 0,a.target().id()]}):this.forEach(function(a){var d=a.id();a.isNode()?(a.degree(!0)%2&&(b?c?i=!0:c=d:b=d),j[d]=[],a.connectedEdges().forEach(function(a){return j[d].push(a.id())})):k[d]=[a.source().id(),a.target().id()]});var l={found:!1,trail:void 0};if(i)return l;if(c&&b)if(h){if(d&&c!=d)return l;d=c}else{if(d&&c!=d&&b!=d)return l;d||(d=c)}else d||(d=this[0].id());var n=function(a){for(var b,c,d,e=a,f=[a];j[e].length;)c=k[b=j[e].shift()][0],e!=(d=k[b][1])?(j[d]=j[d].filter(function(a){return a!=b}),e=d):h||e==c||(j[c]=j[c].filter(function(a){return a!=b}),e=c),f.unshift(b),f.unshift(e);return f},o=[],p=[];for(p=n(d);1!=p.length;)0==j[p[0]].length?(o.unshift(this.getElementById(p.shift())),o.unshift(this.getElementById(p.shift()))):p=n(p.shift()).concat(p);for(var q in o.unshift(this.getElementById(p.shift())),j)if(j[q].length)return l;return l.found=!0,l.trail=this.spawn(o,!0),l}},{hopcroftTarjanBiconnected:eQ,htbc:eQ,htb:eQ,hopcroftTarjanBiconnectedComponents:eQ},{tarjanStronglyConnected:eR,tsc:eR,tscc:eR,tarjanStronglyConnectedComponents:eR}].forEach(function(a){bY(eS,a)});var eT=function(a){if(!(this instanceof eT))return new eT(a);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof a&&a.call(this,this.fulfill.bind(this),this.reject.bind(this))};eT.prototype={fulfill:function(a){return eU(this,1,"fulfillValue",a)},reject:function(a){return eU(this,2,"rejectReason",a)},then:function(a,b){var c=new eT;return this.onFulfilled.push(eX(a,c,"fulfill")),this.onRejected.push(eX(b,c,"reject")),eV(this),c.proxy}};var eU=function(a,b,c,d){return 0===a.state&&(a.state=b,a[c]=d,eV(a)),a},eV=function(a){1===a.state?eW(a,"onFulfilled",a.fulfillValue):2===a.state&&eW(a,"onRejected",a.rejectReason)},eW=function(a,b,c){if(0!==a[b].length){var d=a[b];a[b]=[];var e=function(){for(var a=0;a<d.length;a++)d[a](c)};"function"==typeof setImmediate?setImmediate(e):setTimeout(e,0)}},eX=function(a,b,c){return function(d){if("function"!=typeof a)b[c].call(b,d);else{var e;try{e=a(d)}catch(a){b.reject(a);return}eY(b,e)}}},eY=function(a,b){if(a===b||a.proxy===b)return void a.reject(TypeError("cannot resolve promise with itself"));if("object"===bs(b)&&null!==b||"function"==typeof b)try{c=b.then}catch(b){a.reject(b);return}if("function"==typeof c){var c,d=!1;try{c.call(b,function(c){d||(d=!0,c===b?a.reject(TypeError("circular thenable chain")):eY(a,c))},function(b){d||(d=!0,a.reject(b))})}catch(b){d||a.reject(b)}return}a.fulfill(b)};eT.all=function(a){return new eT(function(b,c){for(var d=Array(a.length),e=0,f=function(c,f){d[c]=f,++e===a.length&&b(d)},g=0;g<a.length;g++)!function(b){var d=a[b];null!=d&&null!=d.then?d.then(function(a){f(b,a)},function(a){c(a)}):f(b,d)}(g)})},eT.resolve=function(a){return new eT(function(b,c){b(a)})},eT.reject=function(a){return new eT(function(b,c){c(a)})};var eZ="undefined"!=typeof Promise?Promise:eT,e$=function(a,b,c){var d=bI(a),e=this._private=bY({duration:1e3},b,c);if(e.target=a,e.style=e.style||e.css,e.started=!1,e.playing=!1,e.hooked=!1,e.applying=!1,e.progress=0,e.completes=[],e.frames=[],e.complete&&bA(e.complete)&&e.completes.push(e.complete),!d){var f=a.position();e.startPosition=e.startPosition||{x:f.x,y:f.y},e.startStyle=e.startStyle||a.cy().style().getAnimationStartStyle(a,e.style)}if(d){var g=a.pan();e.startPan={x:g.x,y:g.y},e.startZoom=a.zoom()}this.length=1,this[0]=this},e_=e$.prototype;function e0(){return it?is:(it=1,is=Array.isArray)}function e1(){if(iJ)return iI;iJ=1;var a=function(){if(iF)return iE;iF=1;var a=function(){if(ix)return iw;ix=1;var a=b9(),b=b6();return iw=function(c){if(!b(c))return!1;var d=a(c);return"[object Function]"==d||"[object GeneratorFunction]"==d||"[object AsyncFunction]"==d||"[object Proxy]"==d}}(),b=function(){if(iB)return iA;iB=1;var a,b=iz?iy:(iz=1,iy=b7()["__core-js_shared__"]),c=(a=/[^.]+$/.exec(b&&b.keys&&b.keys.IE_PROTO||""))?"Symbol(src)_1."+a:"";return iA=function(a){return!!c&&c in a}}(),c=b6(),d=function(){if(iD)return iC;iD=1;var a=Function.prototype.toString;return iC=function(b){if(null!=b){try{return a.call(b)}catch(a){}try{return b+""}catch(a){}}return""}}(),e=/^\[object .+?Constructor\]$/,f=Object.prototype,g=Function.prototype.toString,h=f.hasOwnProperty,i=RegExp("^"+g.call(h).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");return iE=function(f){return!(!c(f)||b(f))&&(a(f)?i:e).test(d(f))}}(),b=iH?iG:(iH=1,iG=function(a,b){return null==a?void 0:a[b]});return iI=function(c,d){var e=b(c,d);return a(e)?e:void 0}}function e2(){return iL?iK:(iL=1,iK=e1()(Object,"create"))}function e3(){return i_?i$:(i_=1,i$=function(a,b){return a===b||a!=a&&b!=b})}function e4(){if(i1)return i0;i1=1;var a=e3();return i0=function(b,c){for(var d=b.length;d--;)if(a(b[d][0],c))return d;return -1}}function e5(){if(jj)return ji;jj=1;var a=jh?jg:(jh=1,jg=function(a){var b=typeof a;return"string"==b||"number"==b||"symbol"==b||"boolean"==b?"__proto__"!==a:null===a});return ji=function(b,c){var d=b.__data__;return a(c)?d["string"==typeof c?"string":"hash"]:d.map}}function e6(){if(jz)return jy;jz=1;var a=function(){if(jx)return jw;jx=1;var a=function(){if(jv)return ju;jv=1;var a=function(){if(jt)return js;jt=1;var a=function(){if(jf)return je;jf=1;var a=function(){if(iX)return iW;iX=1;var a=function(){if(iN)return iM;iN=1;var a=e2();return iM=function(){this.__data__=a?a(null):{},this.size=0}}(),b=iP?iO:(iP=1,iO=function(a){var b=this.has(a)&&delete this.__data__[a];return this.size-=!!b,b}),c=function(){if(iR)return iQ;iR=1;var a=e2(),b=Object.prototype.hasOwnProperty;return iQ=function(c){var d=this.__data__;if(a){var e=d[c];return"__lodash_hash_undefined__"===e?void 0:e}return b.call(d,c)?d[c]:void 0}}(),d=function(){if(iT)return iS;iT=1;var a=e2(),b=Object.prototype.hasOwnProperty;return iS=function(c){var d=this.__data__;return a?void 0!==d[c]:b.call(d,c)}}(),e=function(){if(iV)return iU;iV=1;var a=e2();return iU=function(b,c){var d=this.__data__;return this.size+=+!this.has(b),d[b]=a&&void 0===c?"__lodash_hash_undefined__":c,this}}();function f(a){var b=-1,c=null==a?0:a.length;for(this.clear();++b<c;){var d=a[b];this.set(d[0],d[1])}}return f.prototype.clear=a,f.prototype.delete=b,f.prototype.get=c,f.prototype.has=d,f.prototype.set=e,iW=f}(),b=function(){if(jb)return ja;jb=1;var a=iZ?iY:(iZ=1,iY=function(){this.__data__=[],this.size=0}),b=function(){if(i3)return i2;i3=1;var a=e4(),b=Array.prototype.splice;return i2=function(c){var d=this.__data__,e=a(d,c);return!(e<0)&&(e==d.length-1?d.pop():b.call(d,e,1),--this.size,!0)}}(),c=function(){if(i5)return i4;i5=1;var a=e4();return i4=function(b){var c=this.__data__,d=a(c,b);return d<0?void 0:c[d][1]}}(),d=function(){if(i7)return i6;i7=1;var a=e4();return i6=function(b){return a(this.__data__,b)>-1}}(),e=function(){if(i9)return i8;i9=1;var a=e4();return i8=function(b,c){var d=this.__data__,e=a(d,b);return e<0?(++this.size,d.push([b,c])):d[e][1]=c,this}}();function f(a){var b=-1,c=null==a?0:a.length;for(this.clear();++b<c;){var d=a[b];this.set(d[0],d[1])}}return f.prototype.clear=a,f.prototype.delete=b,f.prototype.get=c,f.prototype.has=d,f.prototype.set=e,ja=f}(),c=jd?jc:(jd=1,jc=e1()(b7(),"Map"));return je=function(){this.size=0,this.__data__={hash:new a,map:new(c||b),string:new a}}}(),b=function(){if(jl)return jk;jl=1;var a=e5();return jk=function(b){var c=a(this,b).delete(b);return this.size-=!!c,c}}(),c=function(){if(jn)return jm;jn=1;var a=e5();return jm=function(b){return a(this,b).get(b)}}(),d=function(){if(jp)return jo;jp=1;var a=e5();return jo=function(b){return a(this,b).has(b)}}(),e=function(){if(jr)return jq;jr=1;var a=e5();return jq=function(b,c){var d=a(this,b),e=d.size;return d.set(b,c),this.size+=+(d.size!=e),this}}();function f(a){var b=-1,c=null==a?0:a.length;for(this.clear();++b<c;){var d=a[b];this.set(d[0],d[1])}}return f.prototype.clear=a,f.prototype.delete=b,f.prototype.get=c,f.prototype.has=d,f.prototype.set=e,js=f}();function b(c,d){if("function"!=typeof c||null!=d&&"function"!=typeof d)throw TypeError("Expected a function");var e=function(){var a=arguments,b=d?d.apply(this,a):a[0],f=e.cache;if(f.has(b))return f.get(b);var g=c.apply(this,a);return e.cache=f.set(b,g)||f,g};return e.cache=new(b.Cache||a),e}return b.Cache=a,ju=b}();return jw=function(b){var c=a(b,function(a){return 500===d.size&&d.clear(),a}),d=c.cache;return c}}(),b=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,c=/\\(\\)?/g;return jy=a(function(a){var d=[];return 46===a.charCodeAt(0)&&d.push(""),a.replace(b,function(a,b,e,f){d.push(e?f.replace(c,"$1"):b||a)}),d})}function e7(){return jB?jA:(jB=1,jA=function(a,b){for(var c=-1,d=null==a?0:a.length,e=Array(d);++c<d;)e[c]=b(a[c],c,a);return e})}function e8(){if(jF)return jE;jF=1;var a=function(){if(jD)return jC;jD=1;var a=b8(),b=e7(),c=e0(),d=ca(),e=a?a.prototype:void 0,f=e?e.toString:void 0;return jC=function a(e){if("string"==typeof e)return e;if(c(e))return b(e,a)+"";if(d(e))return f?f.call(e):"";var g=e+"";return"0"==g&&1/e==-1/0?"-0":g}}();return jE=function(b){return null==b?"":a(b)}}function e9(){if(jH)return jG;jH=1;var a=e0(),b=function(){if(iv)return iu;iv=1;var a=e0(),b=ca(),c=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,d=/^\w*$/;return iu=function(e,f){if(a(e))return!1;var g=typeof e;return!!("number"==g||"symbol"==g||"boolean"==g||null==e||b(e))||d.test(e)||!c.test(e)||null!=f&&e in Object(f)}}(),c=e6(),d=e8();return jG=function(e,f){return a(e)?e:b(e,f)?[e]:c(d(e))}}function fa(){if(jJ)return jI;jJ=1;var a=ca();return jI=function(b){if("string"==typeof b||a(b))return b;var c=b+"";return"0"==c&&1/b==-1/0?"-0":c}}bY(e_,{instanceString:function(){return"animation"},hook:function(){var a=this._private;if(!a.hooked){var b=a.target._private.animation;(a.queue?b.queue:b.current).push(this),bF(a.target)&&a.target.cy().addToAnimationPool(a.target),a.hooked=!0}return this},play:function(){var a=this._private;return 1===a.progress&&(a.progress=0),a.playing=!0,a.started=!1,a.stopped=!1,this.hook(),this},playing:function(){return this._private.playing},apply:function(){var a=this._private;return a.applying=!0,a.started=!1,a.stopped=!1,this.hook(),this},applying:function(){return this._private.applying},pause:function(){var a=this._private;return a.playing=!1,a.started=!1,this},stop:function(){var a=this._private;return a.playing=!1,a.started=!1,a.stopped=!0,this},rewind:function(){return this.progress(0)},fastforward:function(){return this.progress(1)},time:function(a){var b=this._private;return void 0===a?b.progress*b.duration:this.progress(a/b.duration)},progress:function(a){var b=this._private,c=b.playing;return void 0===a?b.progress:(c&&this.pause(),b.progress=a,b.started=!1,c&&this.play(),this)},completed:function(){return 1===this._private.progress},reverse:function(){var a=this._private,b=a.playing;b&&this.pause(),a.progress=1-a.progress,a.started=!1;var c=function(b,c){var d=a[b];null!=d&&(a[b]=a[c],a[c]=d)};if(c("zoom","startZoom"),c("pan","startPan"),c("position","startPosition"),a.style)for(var d=0;d<a.style.length;d++){var e=a.style[d],f=e.name,g=a.startStyle[f];a.startStyle[f]=e,a.style[d]=g}return b&&this.play(),this},promise:function(a){var b,c=this._private;return b="frame"===a?c.frames:c.completes,new eZ(function(a,c){b.push(function(){a()})})}}),e_.complete=e_.completed,e_.run=e_.play,e_.running=e_.playing;var fb=b5(function(){if(jN)return jM;jN=1;var a=function(){if(jL)return jK;jL=1;var a=e9(),b=fa();return jK=function(c,d){d=a(d,c);for(var e=0,f=d.length;null!=c&&e<f;)c=c[b(d[e++])];return e&&e==f?c:void 0}}();return jM=function(b,c,d){var e=null==b?void 0:a(b,c);return void 0===e?d:e}}()),fc=b5(function(){if(jZ)return jY;jZ=1;var a=function(){if(jX)return jW;jX=1;var a=function(){if(jT)return jS;jT=1;var a=function(){if(jR)return jQ;jR=1;var a=function(){if(jP)return jO;jP=1;var a=e1();return jO=function(){try{var b=a(Object,"defineProperty");return b({},"",{}),b}catch(a){}}()}();return jQ=function(b,c,d){"__proto__"==c&&a?a(b,c,{configurable:!0,enumerable:!0,value:d,writable:!0}):b[c]=d}}(),b=e3(),c=Object.prototype.hasOwnProperty;return jS=function(d,e,f){var g=d[e];c.call(d,e)&&b(g,f)&&(void 0!==f||e in d)||a(d,e,f)}}(),b=e9(),c=function(){if(jV)return jU;jV=1;var a=/^(?:0|[1-9]\d*)$/;return jU=function(b,c){var d=typeof b;return!!(c=null==c?0x1fffffffffffff:c)&&("number"==d||"symbol"!=d&&a.test(b))&&b>-1&&b%1==0&&b<c}}(),d=b6(),e=fa();return jW=function(f,g,h,i){if(!d(f))return f;g=b(g,f);for(var j=-1,k=g.length,l=k-1,n=f;null!=n&&++j<k;){var o=e(g[j]),p=h;if("__proto__"===o||"constructor"===o||"prototype"===o)break;if(j!=l){var q=n[o];void 0===(p=i?i(q,o,n):void 0)&&(p=d(q)?q:c(g[j+1])?[]:{})}a(n,o,p),n=n[o]}return f}}();return jY=function(b,c,d){return null==b?b:a(b,c,d)}}()),fd=b5(function(){if(j1)return j0;j1=1;var a=e7(),b=j_?j$:(j_=1,j$=function(a,b){var c=-1,d=a.length;for(b||(b=Array(d));++c<d;)b[c]=a[c];return b}),c=e0(),d=ca(),e=e6(),f=fa(),g=e8();return j0=function(h){return c(h)?a(h,f):d(h)?[h]:b(e(g(h)))}}()),fe={};[{animated:function(){return function(){var a=void 0!==this.length;if(!(this._private.cy||this).styleEnabled())return!1;var b=(a?this:[this])[0];if(b)return b._private.animation.current.length>0}},clearQueue:function(){return function(){var a=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return this;for(var b=0;b<a.length;b++)a[b]._private.animation.queue=[];return this}},delay:function(){return function(a,b){return(this._private.cy||this).styleEnabled()?this.animate({delay:a,duration:a,complete:b}):this}},delayAnimation:function(){return function(a,b){return(this._private.cy||this).styleEnabled()?this.animation({delay:a,duration:a,complete:b}):this}},animation:function(){return function(a,b){var c=void 0!==this.length,d=c?this:[this],e=this._private.cy||this,f=!c,g=!f;if(!e.styleEnabled())return this;var h=e.style();if(0===Object.keys(a=bY({},a,b)).length)return new e$(d[0],a);switch(void 0===a.duration&&(a.duration=400),a.duration){case"slow":a.duration=600;break;case"fast":a.duration=200}if(g&&(a.style=h.getPropsList(a.style||a.css),a.css=void 0),g&&null!=a.renderedPosition){var i=a.renderedPosition,j=e.pan(),k=e.zoom();a.position=c_(i,k,j)}if(f&&null!=a.panBy){var l=a.panBy,n=e.pan();a.pan={x:n.x+l.x,y:n.y+l.y}}var o=a.center||a.centre;if(f&&null!=o){var p=e.getCenterPan(o.eles,a.zoom);null!=p&&(a.pan=p)}if(f&&null!=a.fit){var q=a.fit,r=e.getFitViewport(q.eles||q.boundingBox,q.padding);null!=r&&(a.pan=r.pan,a.zoom=r.zoom)}if(f&&bC(a.zoom)){var s=e.getZoomedViewport(a.zoom);null!=s?(s.zoomed&&(a.zoom=s.zoom),s.panned&&(a.pan=s.pan)):a.zoom=null}return new e$(d[0],a)}},animate:function(){return function(a,b){var c=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return this;b&&(a=bY({},a,b));for(var d=0;d<c.length;d++){var e=c[d],f=e.animated()&&(void 0===a.queue||a.queue);e.animation(a,f?{queue:!0}:void 0).play()}return this}},stop:function(){return function(a,b){var c=void 0!==this.length?this:[this],d=this._private.cy||this;if(!d.styleEnabled())return this;for(var e=0;e<c.length;e++){for(var f=c[e]._private,g=f.animation.current,h=0;h<g.length;h++){var i=g[h]._private;b&&(i.duration=0)}a&&(f.animation.queue=[]),b||(f.animation.current=[])}return d.notify("draw"),this}}},{data:function(a){return a=bY({},{field:"data",bindingEvent:"data",allowBinding:!1,allowSetting:!1,allowGetting:!1,settingEvent:"data",settingTriggersEvent:!1,triggerFnName:"trigger",immutableKeys:{},updateStyle:!1,beforeGet:function(a){},beforeSet:function(a,b){},onSet:function(a){},canSet:function(a){return!0}},a),function(b,c){var d,e=a,f=void 0!==this.length,g=f?this:[this],h=f?this[0]:this;if(bz(b)){var i,j=-1!==b.indexOf(".")&&fd(b);if(e.allowGetting&&void 0===c)return h&&(e.beforeGet(h),i=j&&void 0===h._private[e.field][b]?fb(h._private[e.field],j):h._private[e.field][b]),i;if(e.allowSetting&&void 0!==c&&!e.immutableKeys[b]){var k=bo({},b,c);e.beforeSet(this,k);for(var l=0,n=g.length;l<n;l++){var o=g[l];e.canSet(o)&&(j&&void 0===h._private[e.field][b]?fc(o._private[e.field],j,c):o._private[e.field][b]=c)}e.updateStyle&&this.updateStyle(),e.onSet(this),e.settingTriggersEvent&&this[e.triggerFnName](e.settingEvent)}}else if(e.allowSetting&&bC(b)){var p,q,r=Object.keys(b);e.beforeSet(this,b);for(var s=0;s<r.length;s++)if(q=b[p=r[s]],!e.immutableKeys[p])for(var t=0;t<g.length;t++){var u=g[t];e.canSet(u)&&(u._private[e.field][p]=q)}e.updateStyle&&this.updateStyle(),e.onSet(this),e.settingTriggersEvent&&this[e.triggerFnName](e.settingEvent)}else if(e.allowBinding&&bA(b))this.on(e.bindingEvent,b);else if(e.allowGetting&&void 0===b)return h&&(e.beforeGet(h),d=h._private[e.field]),d;return this}},removeData:function(a){return a=bY({},{field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!1,immutableKeys:{}},a),function(b){var c=a,d=void 0!==this.length?this:[this];if(bz(b)){for(var e=b.split(/\s+/),f=e.length,g=0;g<f;g++){var h=e[g];if(!bK(h)&&!c.immutableKeys[h])for(var i=0,j=d.length;i<j;i++)d[i]._private[c.field][h]=void 0}c.triggerEvent&&this[c.triggerFnName](c.event)}else if(void 0===b){for(var k=0,l=d.length;k<l;k++)for(var n=d[k]._private[c.field],o=Object.keys(n),p=0;p<o.length;p++){var q=o[p];c.immutableKeys[q]||(n[q]=void 0)}c.triggerEvent&&this[c.triggerFnName](c.event)}return this}}},{eventAliasesOn:function(a){a.addListener=a.listen=a.bind=a.on,a.unlisten=a.unbind=a.off=a.removeListener,a.trigger=a.emit,a.pon=a.promiseOn=function(a,b){var c=this,d=Array.prototype.slice.call(arguments,0);return new eZ(function(a,b){var e=d.concat([function(b){c.off.apply(c,f),a(b)}]),f=e.concat([]);c.on.apply(c,e)})}}}].forEach(function(a){bY(fe,a)});var ff={animate:fe.animate(),animation:fe.animation(),animated:fe.animated(),clearQueue:fe.clearQueue(),delay:fe.delay(),delayAnimation:fe.delayAnimation(),stop:fe.stop()},fg={classes:function(a){if(void 0===a){var b=[];return this[0]._private.classes.forEach(function(a){return b.push(a)}),b}bB(a)||(a=(a||"").match(/\S+/g)||[]);for(var c=[],d=new cM(a),e=0;e<this.length;e++){for(var f=this[e],g=f._private,h=g.classes,i=!1,j=0;j<a.length;j++){var k=a[j];if(!h.has(k)){i=!0;break}}i||(i=h.size!==a.length),i&&(g.classes=d,c.push(f))}return c.length>0&&this.spawn(c).updateStyle().emit("class"),this},addClass:function(a){return this.toggleClass(a,!0)},hasClass:function(a){var b=this[0];return null!=b&&b._private.classes.has(a)},toggleClass:function(a,b){bB(a)||(a=a.match(/\S+/g)||[]);for(var c=void 0===b,d=[],e=0,f=this.length;e<f;e++)for(var g=this[e],h=g._private.classes,i=!1,j=0;j<a.length;j++){var k=a[j],l=h.has(k),n=!1;b||c&&!l?(h.add(k),n=!0):(!b||c&&l)&&(h.delete(k),n=!0),!i&&n&&(d.push(g),i=!0)}return d.length>0&&this.spawn(d).updateStyle().emit("class"),this},removeClass:function(a){return this.toggleClass(a,!1)},flashClass:function(a,b){var c=this;if(null==b)b=250;else if(0===b)return c;return c.addClass(a),setTimeout(function(){c.removeClass(a)},b),c}};fg.className=fg.classNames=fg.classes;var fh={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:bS,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};for(hV=0,fh.variable="(?:[\\w-.]|(?:\\\\"+fh.metaChar+"))+",fh.className="(?:[\\w-]|(?:\\\\"+fh.metaChar+"))+",fh.value=fh.string+"|"+fh.number,fh.id=fh.variable,hT=fh.comparatorOp.split("|");hV<hT.length;hV++)hU=hT[hV],fh.comparatorOp+="|@"+hU;for(hV=0,hT=fh.comparatorOp.split("|");hV<hT.length;hV++)(hU=hT[hV]).indexOf("!")>=0||"="!==hU&&(fh.comparatorOp+="|\\!"+hU);var fi=function(){return{checks:[]}},fj=[{selector:":selected",matches:function(a){return a.selected()}},{selector:":unselected",matches:function(a){return!a.selected()}},{selector:":selectable",matches:function(a){return a.selectable()}},{selector:":unselectable",matches:function(a){return!a.selectable()}},{selector:":locked",matches:function(a){return a.locked()}},{selector:":unlocked",matches:function(a){return!a.locked()}},{selector:":visible",matches:function(a){return a.visible()}},{selector:":hidden",matches:function(a){return!a.visible()}},{selector:":transparent",matches:function(a){return a.transparent()}},{selector:":grabbed",matches:function(a){return a.grabbed()}},{selector:":free",matches:function(a){return!a.grabbed()}},{selector:":removed",matches:function(a){return a.removed()}},{selector:":inside",matches:function(a){return!a.removed()}},{selector:":grabbable",matches:function(a){return a.grabbable()}},{selector:":ungrabbable",matches:function(a){return!a.grabbable()}},{selector:":animated",matches:function(a){return a.animated()}},{selector:":unanimated",matches:function(a){return!a.animated()}},{selector:":parent",matches:function(a){return a.isParent()}},{selector:":childless",matches:function(a){return a.isChildless()}},{selector:":child",matches:function(a){return a.isChild()}},{selector:":orphan",matches:function(a){return a.isOrphan()}},{selector:":nonorphan",matches:function(a){return a.isChild()}},{selector:":compound",matches:function(a){return a.isNode()?a.isParent():a.source().isParent()||a.target().isParent()}},{selector:":loop",matches:function(a){return a.isLoop()}},{selector:":simple",matches:function(a){return a.isSimple()}},{selector:":active",matches:function(a){return a.active()}},{selector:":inactive",matches:function(a){return!a.active()}},{selector:":backgrounding",matches:function(a){return a.backgrounding()}},{selector:":nonbackgrounding",matches:function(a){return!a.backgrounding()}}].sort(function(a,b){return -1*bX(a.selector,b.selector)}),fk=function(){for(var a,b={},c=0;c<fj.length;c++)b[(a=fj[c]).selector]=a.matches;return b}(),fl="("+fj.map(function(a){return a.selector}).join("|")+")",fm=function(a){return a.replace(RegExp("\\\\("+fh.metaChar+")","g"),function(a,b){return b})},fn=function(a,b,c){a[a.length-1]=c},fo=[{name:"group",query:!0,regex:"("+fh.group+")",populate:function(a,b,c){var d=bp(c,1)[0];b.checks.push({type:0,value:"*"===d?d:d+"s"})}},{name:"state",query:!0,regex:fl,populate:function(a,b,c){var d=bp(c,1)[0];b.checks.push({type:7,value:d})}},{name:"id",query:!0,regex:"\\#("+fh.id+")",populate:function(a,b,c){var d=bp(c,1)[0];b.checks.push({type:8,value:fm(d)})}},{name:"className",query:!0,regex:"\\.("+fh.className+")",populate:function(a,b,c){var d=bp(c,1)[0];b.checks.push({type:9,value:fm(d)})}},{name:"dataExists",query:!0,regex:"\\[\\s*("+fh.variable+")\\s*\\]",populate:function(a,b,c){var d=bp(c,1)[0];b.checks.push({type:4,field:fm(d)})}},{name:"dataCompare",query:!0,regex:"\\[\\s*("+fh.variable+")\\s*("+fh.comparatorOp+")\\s*("+fh.value+")\\s*\\]",populate:function(a,b,c){var d=bp(c,3),e=d[0],f=d[1],g=d[2];g=null!=RegExp("^"+fh.string+"$").exec(g)?g.substring(1,g.length-1):parseFloat(g),b.checks.push({type:3,field:fm(e),operator:f,value:g})}},{name:"dataBool",query:!0,regex:"\\[\\s*("+fh.boolOp+")\\s*("+fh.variable+")\\s*\\]",populate:function(a,b,c){var d=bp(c,2),e=d[0],f=d[1];b.checks.push({type:5,field:fm(f),operator:e})}},{name:"metaCompare",query:!0,regex:"\\[\\[\\s*("+fh.meta+")\\s*("+fh.comparatorOp+")\\s*("+fh.number+")\\s*\\]\\]",populate:function(a,b,c){var d=bp(c,3),e=d[0],f=d[1],g=d[2];b.checks.push({type:6,field:fm(e),operator:f,value:parseFloat(g)})}},{name:"nextQuery",separator:!0,regex:fh.separator,populate:function(a,b){var c=a.currentSubject,d=a.edgeCount,e=a.compoundCount,f=a[a.length-1];return null!=c&&(f.subject=c,a.currentSubject=null),f.edgeCount=d,f.compoundCount=e,a.edgeCount=0,a.compoundCount=0,a[a.length++]=fi()}},{name:"directedEdge",separator:!0,regex:fh.directedEdge,populate:function(a,b){if(null==a.currentSubject){var c=fi(),d=fi();return c.checks.push({type:11,source:b,target:d}),fn(a,b,c),a.edgeCount++,d}var e=fi(),f=fi();return e.checks.push({type:12,source:b,target:f}),fn(a,b,e),a.edgeCount++,f}},{name:"undirectedEdge",separator:!0,regex:fh.undirectedEdge,populate:function(a,b){if(null==a.currentSubject){var c=fi(),d=fi();return c.checks.push({type:10,nodes:[b,d]}),fn(a,b,c),a.edgeCount++,d}var e=fi(),f=fi();return e.checks.push({type:14,node:b,neighbor:f}),fn(a,b,e),f}},{name:"child",separator:!0,regex:fh.child,populate:function(a,b){if(null==a.currentSubject){var c=fi(),d=fi(),e=a[a.length-1];return c.checks.push({type:15,parent:e,child:d}),fn(a,b,c),a.compoundCount++,d}if(a.currentSubject===b){var f=fi(),g=a[a.length-1],h=fi(),i=fi(),j=fi(),k=fi();return f.checks.push({type:19,left:g,right:h,subject:i}),i.checks=b.checks,b.checks=[{type:20}],k.checks.push({type:20}),h.checks.push({type:17,parent:k,child:j}),fn(a,g,f),a.currentSubject=i,a.compoundCount++,j}var l=fi(),n=fi(),o=[{type:17,parent:l,child:n}];return l.checks=b.checks,b.checks=o,a.compoundCount++,n}},{name:"descendant",separator:!0,regex:fh.descendant,populate:function(a,b){if(null==a.currentSubject){var c=fi(),d=fi(),e=a[a.length-1];return c.checks.push({type:16,ancestor:e,descendant:d}),fn(a,b,c),a.compoundCount++,d}if(a.currentSubject===b){var f=fi(),g=a[a.length-1],h=fi(),i=fi(),j=fi(),k=fi();return f.checks.push({type:19,left:g,right:h,subject:i}),i.checks=b.checks,b.checks=[{type:20}],k.checks.push({type:20}),h.checks.push({type:18,ancestor:k,descendant:j}),fn(a,g,f),a.currentSubject=i,a.compoundCount++,j}var l=fi(),n=fi(),o=[{type:18,ancestor:l,descendant:n}];return l.checks=b.checks,b.checks=o,a.compoundCount++,n}},{name:"subject",modifier:!0,regex:fh.subject,populate:function(a,b){if(null!=a.currentSubject&&a.currentSubject!==b)return cy("Redefinition of subject in selector `"+a.toString()+"`"),!1;a.currentSubject=b;var c=a[a.length-1].checks[0],d=null==c?null:c.type;11===d?c.type=13:10===d&&(c.type=14,c.node=c.nodes[1],c.neighbor=c.nodes[0],c.nodes=null)}}];fo.forEach(function(a){return a.regexObj=RegExp("^"+a.regex)});var fp=function(a){for(var b,c,d,e=0;e<fo.length;e++){var f=fo[e],g=f.name,h=a.match(f.regexObj);if(null!=h){c=h,b=f,d=g;var i=h[0];a=a.substring(i.length);break}}return{expr:b,match:c,name:d,remaining:a}},fq=function(a){var b=a.match(/^\s+/);if(b){var c=b[0];a=a.substring(c.length)}return a},fr=function(a,b,c){var d,e,f,g=bz(a),h=bD(a),i=bz(c),j=!1,k=!1,l=!1;switch(b.indexOf("!")>=0&&(b=b.replace("!",""),k=!0),b.indexOf("@")>=0&&(b=b.replace("@",""),j=!0),(g||i||j)&&(e=g||h?""+a:"",f=""+c),j&&(a=e=e.toLowerCase(),c=f=f.toLowerCase()),b){case"*=":d=e.indexOf(f)>=0;break;case"$=":d=e.indexOf(f,e.length-f.length)>=0;break;case"^=":d=0===e.indexOf(f);break;case"=":d=a===c;break;case">":l=!0,d=a>c;break;case">=":l=!0,d=a>=c;break;case"<":l=!0,d=a<c;break;case"<=":l=!0,d=a<=c;break;default:d=!1}return k&&(null!=a||!l)&&(d=!d),d},fs=function(a,b){switch(b){case"?":return!!a;case"!":return!a;case"^":return void 0===a}},ft=function(a,b){return a.data(b)},fu=[],fv=function(a,b){return a.checks.every(function(a){return fu[a.type](a,b)})};fu[0]=function(a,b){var c=a.value;return"*"===c||c===b.group()},fu[7]=function(a,b){var c;return c=a.value,fk[c](b)},fu[8]=function(a,b){var c=a.value;return b.id()===c},fu[9]=function(a,b){var c=a.value;return b.hasClass(c)},fu[6]=function(a,b){var c=a.field,d=a.operator,e=a.value;return fr(b[c](),d,e)},fu[3]=function(a,b){var c=a.field,d=a.operator,e=a.value;return fr(ft(b,c),d,e)},fu[5]=function(a,b){var c=a.field,d=a.operator;return fs(ft(b,c),d)},fu[4]=function(a,b){var c=a.field;return a.operator,void 0!==ft(b,c)},fu[10]=function(a,b){var c=a.nodes[0],d=a.nodes[1],e=b.source(),f=b.target();return fv(c,e)&&fv(d,f)||fv(d,e)&&fv(c,f)},fu[14]=function(a,b){return fv(a.node,b)&&b.neighborhood().some(function(b){return b.isNode()&&fv(a.neighbor,b)})},fu[11]=function(a,b){return fv(a.source,b.source())&&fv(a.target,b.target())},fu[12]=function(a,b){return fv(a.source,b)&&b.outgoers().some(function(b){return b.isNode()&&fv(a.target,b)})},fu[13]=function(a,b){return fv(a.target,b)&&b.incomers().some(function(b){return b.isNode()&&fv(a.source,b)})},fu[15]=function(a,b){return fv(a.child,b)&&fv(a.parent,b.parent())},fu[17]=function(a,b){return fv(a.parent,b)&&b.children().some(function(b){return fv(a.child,b)})},fu[16]=function(a,b){return fv(a.descendant,b)&&b.ancestors().some(function(b){return fv(a.ancestor,b)})},fu[18]=function(a,b){return fv(a.ancestor,b)&&b.descendants().some(function(b){return fv(a.descendant,b)})},fu[19]=function(a,b){return fv(a.subject,b)&&fv(a.left,b)&&fv(a.right,b)},fu[20]=function(){return!0},fu[1]=function(a,b){return a.value.has(b)},fu[2]=function(a,b){return(0,a.value)(b)};var fw=function(a){this.inputText=a,this.currentSubject=null,this.compoundCount=0,this.edgeCount=0,this.length=0,null==a||bz(a)&&a.match(/^\s*$/)||(bF(a)?this.addQuery({checks:[{type:1,value:a.collection()}]}):bA(a)?this.addQuery({checks:[{type:2,value:a}]}):bz(a)?this.parse(a)||(this.invalid=!0):cw("A selector must be created from a string; found "))},fx=fw.prototype;[{parse:function(a){var b=this.inputText=a,c=this[0]=fi();for(this.length=1,b=fq(b);;){var d=fp(b);if(null==d.expr)return cy("The selector `"+a+"`is invalid"),!1;var e=d.match.slice(1),f=d.expr.populate(this,c,e);if(!1===f)return!1;if(null!=f&&(c=f),(b=d.remaining).match(/^\s*$/))break}var g=this[this.length-1];null!=this.currentSubject&&(g.subject=this.currentSubject),g.edgeCount=this.edgeCount,g.compoundCount=this.compoundCount;for(var h=0;h<this.length;h++){var i=this[h];if(i.compoundCount>0&&i.edgeCount>0)return cy("The selector `"+a+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(i.edgeCount>1)return cy("The selector `"+a+"` is invalid because it uses multiple edge selectors"),!1;1===i.edgeCount&&cy("The selector `"+a+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var a=function(a){return null==a?"":a},b=function(b){return bz(b)?'"'+b+'"':a(b)},c=function(a){return" "+a+" "},d=function(d,f){var g=d.type,h=d.value;switch(g){case 0:var i=a(h);return i.substring(0,i.length-1);case 3:return"["+d.field+c(a(d.operator))+b(h)+"]";case 5:var j=d.operator,k=d.field;return"["+a(j)+k+"]";case 4:return"["+d.field+"]";case 6:var l=d.operator;return"[["+d.field+c(a(l))+b(h)+"]]";case 7:return h;case 8:return"#"+h;case 9:return"."+h;case 17:case 15:return e(d.parent,f)+c(">")+e(d.child,f);case 18:case 16:return e(d.ancestor,f)+" "+e(d.descendant,f);case 19:var n=e(d.left,f),o=e(d.subject,f),p=e(d.right,f);return n+(n.length>0?" ":"")+o+p;case 20:return""}},e=function(a,b){return a.checks.reduce(function(c,e,f){return c+(b===a&&0===f?"$":"")+d(e,b)},"")},f="",g=0;g<this.length;g++){var h=this[g];f+=e(h,h.subject),this.length>1&&g<this.length-1&&(f+=", ")}return this.toStringCache=f,f}},{matches:function(a){for(var b=0;b<this.length;b++)if(fv(this[b],a))return!0;return!1},filter:function(a){var b=this;if(1===b.length&&1===b[0].checks.length&&8===b[0].checks[0].type)return a.getElementById(b[0].checks[0].value).collection();var c=function(a){for(var c=0;c<b.length;c++)if(fv(b[c],a))return!0;return!1};return null==b.text()&&(c=function(){return!0}),a.filter(c)}}].forEach(function(a){return bY(fx,a)}),fx.text=function(){return this.inputText},fx.size=function(){return this.length},fx.eq=function(a){return this[a]},fx.sameText=function(a){return!this.invalid&&!a.invalid&&this.text()===a.text()},fx.addQuery=function(a){this[this.length++]=a},fx.selector=fx.toString;var fy={allAre:function(a){var b=new fw(a);return this.every(function(a){return b.matches(a)})},is:function(a){var b=new fw(a);return this.some(function(a){return b.matches(a)})},some:function(a,b){for(var c=0;c<this.length;c++)if(b?a.apply(b,[this[c],c,this]):a(this[c],c,this))return!0;return!1},every:function(a,b){for(var c=0;c<this.length;c++)if(!(b?a.apply(b,[this[c],c,this]):a(this[c],c,this)))return!1;return!0},same:function(a){if(this===a)return!0;a=this.cy().collection(a);var b=this.length;return b===a.length&&(1===b?this[0]===a[0]:this.every(function(b){return a.hasElementWithId(b.id())}))},anySame:function(a){return a=this.cy().collection(a),this.some(function(b){return a.hasElementWithId(b.id())})},allAreNeighbors:function(a){a=this.cy().collection(a);var b=this.neighborhood();return a.every(function(a){return b.hasElementWithId(a.id())})},contains:function(a){a=this.cy().collection(a);var b=this;return a.every(function(a){return b.hasElementWithId(a.id())})}};fy.allAreNeighbours=fy.allAreNeighbors,fy.has=fy.contains,fy.equal=fy.equals=fy.same;var fz=function(a,b){return function(c,d,e,f){if(null==c?g="":bF(c)&&1===c.length&&(g=c.id()),1!==this.length||!g)return a.call(this,c,d,e,f);var g,h=this[0]._private,i=h.traversalCache=h.traversalCache||{},j=i[b]=i[b]||[],k=cl(g),l=j[k];return l||(j[k]=a.call(this,c,d,e,f))}},fA={parent:function(a){var b=[];if(1===this.length){var c=this[0]._private.parent;if(c)return c}for(var d=0;d<this.length;d++){var e=this[d]._private.parent;e&&b.push(e)}return this.spawn(b,!0).filter(a)},parents:function(a){for(var b=[],c=this.parent();c.nonempty();){for(var d=0;d<c.length;d++){var e=c[d];b.push(e)}c=c.parent()}return this.spawn(b,!0).filter(a)},commonAncestors:function(a){for(var b,c=0;c<this.length;c++){var d=this[c].parents();b=(b=b||d).intersect(d)}return b.filter(a)},orphans:function(a){return this.stdFilter(function(a){return a.isOrphan()}).filter(a)},nonorphans:function(a){return this.stdFilter(function(a){return a.isChild()}).filter(a)},children:fz(function(a){for(var b=[],c=0;c<this.length;c++)for(var d=this[c]._private.children,e=0;e<d.length;e++)b.push(d[e]);return this.spawn(b,!0).filter(a)},"children"),siblings:function(a){return this.parent().children().not(this).filter(a)},isParent:function(){var a=this[0];if(a)return a.isNode()&&0!==a._private.children.length},isChildless:function(){var a=this[0];if(a)return a.isNode()&&0===a._private.children.length},isChild:function(){var a=this[0];if(a)return a.isNode()&&null!=a._private.parent},isOrphan:function(){var a=this[0];if(a)return a.isNode()&&null==a._private.parent},descendants:function(a){var b=[];return!function a(c){for(var d=0;d<c.length;d++){var e=c[d];b.push(e),e.children().nonempty()&&a(e.children())}}(this.children()),this.spawn(b,!0).filter(a)}};function fB(a,b,c,d){for(var e=[],f=new cM,g=a.cy().hasCompoundNodes(),h=0;h<a.length;h++){var i=a[h];c?e.push(i):g&&d(e,f,i)}for(;e.length>0;){var j=e.shift();b(j),f.add(j.id()),g&&d(e,f,j)}return a}function fC(a,b,c){if(c.isParent())for(var d=c._private.children,e=0;e<d.length;e++){var f=d[e];b.has(f.id())||a.push(f)}}function fD(a,b,c){if(c.isChild()){var d=c._private.parent;b.has(d.id())||a.push(d)}}function fE(a,b,c){fD(a,b,c),fC(a,b,c)}fA.forEachDown=function(a){var b=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return fB(this,a,b,fC)},fA.forEachUp=function(a){var b=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return fB(this,a,b,fD)},fA.forEachUpAndDown=function(a){var b=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return fB(this,a,b,fE)},fA.ancestors=fA.parents,(j2=j3={data:fe.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:fe.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:fe.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:fe.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:fe.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:fe.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var a=this[0];if(a)return a._private.data.id}}).attr=j2.data,j2.removeAttr=j2.removeData;var fF={};function fG(a){return function(b){if(void 0===b&&(b=!0),0!==this.length)if(!this.isNode()||this.removed())return;else{for(var c=0,d=this[0],e=d._private.edges,f=0;f<e.length;f++){var g=e[f];!b&&g.isLoop()||(c+=a(d,g))}return c}}}function fH(a,b){return function(c){for(var d,e=this.nodes(),f=0;f<e.length;f++){var g=e[f][a](c);void 0!==g&&(void 0===d||b(g,d))&&(d=g)}return d}}bY(fF,{degree:fG(function(a,b){return b.source().same(b.target())?2:1}),indegree:fG(function(a,b){return+!!b.target().same(a)}),outdegree:fG(function(a,b){return+!!b.source().same(a)})}),bY(fF,{minDegree:fH("degree",function(a,b){return a<b}),maxDegree:fH("degree",function(a,b){return a>b}),minIndegree:fH("indegree",function(a,b){return a<b}),maxIndegree:fH("indegree",function(a,b){return a>b}),minOutdegree:fH("outdegree",function(a,b){return a<b}),maxOutdegree:fH("outdegree",function(a,b){return a>b})}),bY(fF,{totalDegree:function(a){for(var b=0,c=this.nodes(),d=0;d<c.length;d++)b+=c[d].degree(a);return b}});var fI=function(a,b,c){for(var d=0;d<a.length;d++){var e=a[d];if(!e.locked()){var f=e._private.position,g={x:null!=b.x?b.x-f.x:0,y:null!=b.y?b.y-f.y:0};e.isParent()&&(0!==g.x||0!==g.y)&&e.children().shift(g,c),e.dirtyBoundingBoxCache()}}},fJ={field:"position",bindingEvent:"position",allowBinding:!0,allowSetting:!0,settingEvent:"position",settingTriggersEvent:!0,triggerFnName:"emitAndNotify",allowGetting:!0,validKeys:["x","y"],beforeGet:function(a){a.updateCompoundBounds()},beforeSet:function(a,b){fI(a,b,!1)},onSet:function(a){a.dirtyCompoundBoundsCache()},canSet:function(a){return!a.locked()}};(j4=j5={position:fe.data(fJ),silentPosition:fe.data(bY({},fJ,{allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!1,beforeSet:function(a,b){fI(a,b,!0)},onSet:function(a){a.dirtyCompoundBoundsCache()}})),positions:function(a,b){if(bC(a))b?this.silentPosition(a):this.position(a);else if(bA(a)){var c=this.cy();c.startBatch();for(var d=0;d<this.length;d++){var e=this[d],f=void 0;(f=a(e,d))&&(b?e.silentPosition(f):e.position(f))}c.endBatch()}return this},silentPositions:function(a){return this.positions(a,!0)},shift:function(a,b,c){var d;if(bC(a)?(d={x:bD(a.x)?a.x:0,y:bD(a.y)?a.y:0},c=b):bz(a)&&bD(b)&&((d={x:0,y:0})[a]=b),null!=d){var e=this.cy();e.startBatch();for(var f=0;f<this.length;f++){var g=this[f];if(!(e.hasCompoundNodes()&&g.isChild()&&g.ancestors().anySame(this))){var h=g.position(),i={x:h.x+d.x,y:h.y+d.y};c?g.silentPosition(i):g.position(i)}}e.endBatch()}return this},silentShift:function(a,b){return bC(a)?this.shift(a,!0):bz(a)&&bD(b)&&this.shift(a,b,!0),this},renderedPosition:function(a,b){var c=this[0],d=this.cy(),e=d.zoom(),f=d.pan(),g=bC(a)?a:void 0,h=void 0!==g||void 0!==b&&bz(a);if(c&&c.isNode())if(!h)return(g=c$(c.position(),e,f),void 0===a)?g:g[a];else for(var i=0;i<this.length;i++){var j=this[i];void 0!==b?j.position(a,(b-f[a])/e):void 0!==g&&j.position(c_(g,e,f))}else if(!h)return;return this},relativePosition:function(a,b){var c=this[0],d=this.cy(),e=bC(a)?a:void 0,f=void 0!==e||void 0!==b&&bz(a),g=d.hasCompoundNodes();if(c&&c.isNode())if(f)for(var h=0;h<this.length;h++){var i=this[h],j=g?i.parent():null,k=j&&j.length>0;k&&(j=j[0]);var l=k?j.position():{x:0,y:0};void 0!==b?i.position(a,b+l[a]):void 0!==e&&i.position({x:e.x+l.x,y:e.y+l.y})}else{var n=c.position(),o=g?c.parent():null,p=o&&o.length>0;p&&(o=o[0]);var q=p?o.position():{x:0,y:0};return(e={x:n.x-q.x,y:n.y-q.y},void 0===a)?e:e[a]}else if(!f)return;return this}}).modelPosition=j4.point=j4.position,j4.modelPositions=j4.points=j4.positions,j4.renderedPoint=j4.renderedPosition,j4.relativePoint=j4.relativePosition,j6=j7={},j7.renderedBoundingBox=function(a){var b=this.boundingBox(a),c=this.cy(),d=c.zoom(),e=c.pan(),f=b.x1*d+e.x,g=b.x2*d+e.x,h=b.y1*d+e.y,i=b.y2*d+e.y;return{x1:f,x2:g,y1:h,y2:i,w:g-f,h:i-h}},j7.dirtyCompoundBoundsCache=function(){var a=arguments.length>0&&void 0!==arguments[0]&&arguments[0],b=this.cy();return b.styleEnabled()&&b.hasCompoundNodes()&&this.forEachUp(function(b){if(b.isParent()){var c=b._private;c.compoundBoundsClean=!1,c.bbCache=null,a||b.emitAndNotify("bounds")}}),this},j7.updateCompoundBounds=function(){var a=arguments.length>0&&void 0!==arguments[0]&&arguments[0],b=this.cy();if(!b.styleEnabled()||!b.hasCompoundNodes()||!a&&b.batching())return this;for(var c=0;c<this.length;c++){var d=this[c],e=d._private;(!e.compoundBoundsClean||a)&&(!function(a){if(a.isParent()){var b=a._private,c=a.children(),d="include"===a.pstyle("compound-sizing-wrt-labels").value,e={width:{val:a.pstyle("min-width").pfValue,left:a.pstyle("min-width-bias-left"),right:a.pstyle("min-width-bias-right")},height:{val:a.pstyle("min-height").pfValue,top:a.pstyle("min-height-bias-top"),bottom:a.pstyle("min-height-bias-bottom")}},f=c.boundingBox({includeLabels:d,includeOverlays:!1,useCache:!1}),g=b.position;(0===f.w||0===f.h)&&((f={w:a.pstyle("width").pfValue,h:a.pstyle("height").pfValue}).x1=g.x-f.w/2,f.x2=g.x+f.w/2,f.y1=g.y-f.h/2,f.y2=g.y+f.h/2);var h=e.width.left.value;"px"===e.width.left.units&&e.width.val>0&&(h=100*h/e.width.val);var i=e.width.right.value;"px"===e.width.right.units&&e.width.val>0&&(i=100*i/e.width.val);var j=e.height.top.value;"px"===e.height.top.units&&e.height.val>0&&(j=100*j/e.height.val);var k=e.height.bottom.value;"px"===e.height.bottom.units&&e.height.val>0&&(k=100*k/e.height.val);var l=s(e.width.val-f.w,h,i),n=l.biasDiff,o=l.biasComplementDiff,p=s(e.height.val-f.h,j,k),q=p.biasDiff,r=p.biasComplementDiff;b.autoPadding=function(a,b,c,d){if("%"===c.units)switch(d){case"width":return a>0?c.pfValue*a:0;case"height":return b>0?c.pfValue*b:0;case"average":return a>0&&b>0?c.pfValue*(a+b)/2:0;case"min":return a>0&&b>0?a>b?c.pfValue*b:c.pfValue*a:0;case"max":return a>0&&b>0?a>b?c.pfValue*a:c.pfValue*b:0;default:return 0}return"px"===c.units?c.pfValue:0}(f.w,f.h,a.pstyle("padding"),a.pstyle("padding-relative-to").value),b.autoWidth=Math.max(f.w,e.width.val),g.x=(-n+f.x1+f.x2+o)/2,b.autoHeight=Math.max(f.h,e.height.val),g.y=(-q+f.y1+f.y2+r)/2}function s(a,b,c){var d=0,e=0,f=b+c;return a>0&&f>0&&(d=b/f*a,e=c/f*a),{biasDiff:d,biasComplementDiff:e}}}(d),b.batching()||(e.compoundBoundsClean=!0))}return this};var fK=function(a){return a===1/0||a===-1/0?0:a},fL=function(a,b,c,d,e){d-b==0||e-c==0||null!=b&&null!=c&&null!=d&&null!=e&&(a.x1=b<a.x1?b:a.x1,a.x2=d>a.x2?d:a.x2,a.y1=c<a.y1?c:a.y1,a.y2=e>a.y2?e:a.y2,a.w=a.x2-a.x1,a.h=a.y2-a.y1)},fM=function(a,b){return null==b?a:fL(a,b.x1,b.y1,b.x2,b.y2)},fN=function(a,b,c){return cH(a,b,c)},fO=function(a,b,c){if(!b.cy().headless()){var d,e,f=b._private,g=f.rstyle,h=g.arrowWidth/2;if("none"!==b.pstyle(c+"-arrow-shape").value){"source"===c?(d=g.srcX,e=g.srcY):"target"===c?(d=g.tgtX,e=g.tgtY):(d=g.midX,e=g.midY);var i=f.arrowBounds=f.arrowBounds||{},j=i[c]=i[c]||{};j.x1=d-h,j.y1=e-h,j.x2=d+h,j.y2=e+h,j.w=j.x2-j.x1,j.h=j.y2-j.y1,dj(j,1),fL(a,j.x1,j.y1,j.x2,j.y2)}}},fP=function(a,b,c){if(!b.cy().headless()){f=c?c+"-":"";var d=b._private,e=d.rstyle;if(b.pstyle(f+"label").strValue){var f,g,h,i,j,k=b.pstyle("text-halign"),l=b.pstyle("text-valign"),n=fN(e,"labelWidth",c),o=fN(e,"labelHeight",c),p=fN(e,"labelX",c),q=fN(e,"labelY",c),r=b.pstyle(f+"text-margin-x").pfValue,s=b.pstyle(f+"text-margin-y").pfValue,t=b.isEdge(),u=b.pstyle(f+"text-rotation"),v=b.pstyle("text-outline-width").pfValue,w=b.pstyle("text-border-width").pfValue/2,x=b.pstyle("text-background-padding").pfValue,y=n/2,z=o/2;if(t)g=p-y,h=p+y,i=q-z,j=q+z;else{switch(k.value){case"left":g=p-n,h=p;break;case"center":g=p-y,h=p+y;break;case"right":g=p,h=p+n}switch(l.value){case"top":i=q-o,j=q;break;case"center":i=q-z,j=q+z;break;case"bottom":i=q,j=q+o}}var A=r-Math.max(v,w)-x-2,B=r+Math.max(v,w)+x+2,C=s-Math.max(v,w)-x-2,D=s+Math.max(v,w)+x+2;g+=A,h+=B,i+=C,j+=D;var E=c||"main",F=d.labelBounds,G=F[E]=F[E]||{};G.x1=g,G.y1=i,G.x2=h,G.y2=j,G.w=h-g,G.h=j-i,G.leftPad=A,G.rightPad=B,G.topPad=C,G.botPad=D;var H=t&&"autorotate"===u.strValue,I=null!=u.pfValue&&0!==u.pfValue;if(H||I){var J=H?fN(d.rstyle,"labelAngle",c):u.pfValue,K=Math.cos(J),L=Math.sin(J),M=(g+h)/2,N=(i+j)/2;if(!t){switch(k.value){case"left":M=h;break;case"right":M=g}switch(l.value){case"top":N=j;break;case"bottom":N=i}}var O=function(a,b){return{x:(a-=M)*K-(b-=N)*L+M,y:a*L+b*K+N}},P=O(g,i),Q=O(g,j),R=O(h,i),S=O(h,j);g=Math.min(P.x,Q.x,R.x,S.x),h=Math.max(P.x,Q.x,R.x,S.x),i=Math.min(P.y,Q.y,R.y,S.y),j=Math.max(P.y,Q.y,R.y,S.y)}var T=E+"Rot",U=F[T]=F[T]||{};U.x1=g,U.y1=i,U.x2=h,U.y2=j,U.w=h-g,U.h=j-i,fL(a,g,i,h,j),fL(d.labelBounds.all,g,i,h,j)}return a}},fQ=function(a,b){if(!b.cy().headless()){var c=b.pstyle("outline-opacity").value,d=b.pstyle("outline-width").value+b.pstyle("outline-offset").value;fR(a,b,c,d,"outside",d/2)}},fR=function(a,b,c,d,e,f){if(0!==c&&!(d<=0)&&"inside"!==e){var g=b.cy(),h=b.pstyle("shape").value,i=g.renderer().nodeShapes[h],j=b.position(),k=j.x,l=j.y,n=b.width(),o=b.height();i.hasMiterBounds?("center"===e&&(d/=2),fM(a,i.miterBounds(k,l,n,o,d))):null!=f&&f>0&&dk(a,[f,f,f,f])}},fS=function(a,b){if(!b.cy().headless()){var c=b.pstyle("border-opacity").value,d=b.pstyle("border-width").pfValue,e=b.pstyle("border-position").value;fR(a,b,c,d,e)}},fT=function(a,b){var c=a._private.cy,d=c.styleEnabled(),e=c.headless(),f=df(),g=a._private,h=a.isNode(),i=a.isEdge(),j=g.rstyle,k=h&&d?a.pstyle("bounds-expansion").pfValue:[0],l=function(a){return"none"!==a.pstyle("display").value},n=!d||l(a)&&(!i||l(a.source())&&l(a.target()));if(n){var o=0;d&&b.includeOverlays&&0!==a.pstyle("overlay-opacity").value&&(o=a.pstyle("overlay-padding").value);var p=0;d&&b.includeUnderlays&&0!==a.pstyle("underlay-opacity").value&&(p=a.pstyle("underlay-padding").value);var q=Math.max(o,p),r=0;if(d&&(r=a.pstyle("width").pfValue/2),h&&b.includeNodes){var s=a.position();z=s.x,A=s.y;var t=a.outerWidth()/2,u=a.outerHeight()/2;v=z-t,w=z+t,fL(f,v,x=A-u,w,y=A+u),d&&fQ(f,a),d&&b.includeOutlines&&!e&&fQ(f,a),d&&fS(f,a)}else if(i&&b.includeEdges)if(d&&!e){var v,w,x,y,z,A,B,C=a.pstyle("curve-style").strValue;if(v=Math.min(j.srcX,j.midX,j.tgtX),w=Math.max(j.srcX,j.midX,j.tgtX),x=Math.min(j.srcY,j.midY,j.tgtY),y=Math.max(j.srcY,j.midY,j.tgtY),v-=r,w+=r,fL(f,v,x-=r,w,y+=r),"haystack"===C){var D=j.haystackPts;if(D&&2===D.length){if(v=D[0].x,x=D[0].y,w=D[1].x,y=D[1].y,v>w){var E=v;v=w,w=E}if(x>y){var F=x;x=y,y=F}fL(f,v-r,x-r,w+r,y+r)}}else if("bezier"===C||"unbundled-bezier"===C||bR(C,"segments")||bR(C,"taxi")){switch(C){case"bezier":case"unbundled-bezier":B=j.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":B=j.linePts}if(null!=B)for(var G=0;G<B.length;G++){var H=B[G];v=H.x-r,w=H.x+r,fL(f,v,x=H.y-r,w,y=H.y+r)}}}else{var I=a.source().position(),J=a.target().position();if(v=I.x,w=J.x,x=I.y,y=J.y,v>w){var K=v;v=w,w=K}if(x>y){var L=x;x=y,y=L}v-=r,w+=r,fL(f,v,x-=r,w,y+=r)}if(d&&b.includeEdges&&i&&(fO(f,a,"mid-source"),fO(f,a,"mid-target"),fO(f,a,"source"),fO(f,a,"target")),d&&"yes"===a.pstyle("ghost").value){var M=a.pstyle("ghost-offset-x").pfValue,N=a.pstyle("ghost-offset-y").pfValue;fL(f,f.x1+M,f.y1+N,f.x2+M,f.y2+N)}var O=g.bodyBounds=g.bodyBounds||{};dl(O,f),dk(O,k),dj(O,1),d&&(v=f.x1,w=f.x2,x=f.y1,y=f.y2,fL(f,v-q,x-q,w+q,y+q));var P=g.overlayBounds=g.overlayBounds||{};dl(P,f),dk(P,k),dj(P,1);var Q=g.labelBounds=g.labelBounds||{};null!=Q.all?dg(Q.all):Q.all=df(),d&&b.includeLabels&&(b.includeMainLabels&&fP(f,a,null),i&&(b.includeSourceLabels&&fP(f,a,"source"),b.includeTargetLabels&&fP(f,a,"target")))}return f.x1=fK(f.x1),f.y1=fK(f.y1),f.x2=fK(f.x2),f.y2=fK(f.y2),f.w=fK(f.x2-f.x1),f.h=fK(f.y2-f.y1),f.w>0&&f.h>0&&n&&(dk(f,k),dj(f,1)),f},fU=function(a){var b=0,c=function(a){return!!a<<b++};return 0+c(a.incudeNodes)+c(a.includeEdges)+c(a.includeLabels)+c(a.includeMainLabels)+c(a.includeSourceLabels)+c(a.includeTargetLabels)+c(a.includeOverlays)+c(a.includeOutlines)},fV=function(a){var b=function(a){return Math.round(a)};if(a.isEdge()){var c=a.source().position(),d=a.target().position();return ck([b(c.x),b(c.y),b(d.x),b(d.y)])}var e=a.position();return ck([b(e.x),b(e.y)])},fW=function(a,b){var c,d=a._private,e=a.isEdge(),f=null==b?fY:fU(b);if(null==d.bbCache?(d.bbCache=c=fT(a,fX),d.bbCachePosKey=fV(a)):c=d.bbCache,f!==fY){var g=a.isNode();c=df(),(b.includeNodes&&g||b.includeEdges&&!g)&&(b.includeOverlays?fM(c,d.overlayBounds):fM(c,d.bodyBounds)),b.includeLabels&&(b.includeMainLabels&&(!e||b.includeSourceLabels&&b.includeTargetLabels)?fM(c,d.labelBounds.all):(b.includeMainLabels&&fM(c,d.labelBounds.mainRot),b.includeSourceLabels&&fM(c,d.labelBounds.sourceRot),b.includeTargetLabels&&fM(c,d.labelBounds.targetRot))),c.w=c.x2-c.x1,c.h=c.y2-c.y1}return c},fX={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},fY=fU(fX),fZ=cD(fX);j7.boundingBox=function(a){var b,c=void 0===a||void 0===a.useCache||!0===a.useCache,d=bM(function(a){var b=a._private;return null==b.bbCache||b.styleDirty||b.bbCachePosKey!==fV(a)},function(a){return a.id()});if(c&&1===this.length&&!d(this[0]))a=void 0===a?fX:fZ(a),b=fW(this[0],a);else{b=df();var e=fZ(a=a||fX),f=this.cy().styleEnabled();this.edges().forEach(d),this.nodes().forEach(d),f&&this.recalculateRenderedStyle(c),this.updateCompoundBounds(!c);for(var g=0;g<this.length;g++){var h=this[g];d(h)&&h.dirtyBoundingBoxCache(),fM(b,fW(h,e))}}return b.x1=fK(b.x1),b.y1=fK(b.y1),b.x2=fK(b.x2),b.y2=fK(b.y2),b.w=fK(b.x2-b.x1),b.h=fK(b.y2-b.y1),b},j7.dirtyBoundingBoxCache=function(){for(var a=0;a<this.length;a++){var b=this[a]._private;b.bbCache=null,b.bbCachePosKey=null,b.bodyBounds=null,b.overlayBounds=null,b.labelBounds.all=null,b.labelBounds.source=null,b.labelBounds.target=null,b.labelBounds.main=null,b.labelBounds.sourceRot=null,b.labelBounds.targetRot=null,b.labelBounds.mainRot=null,b.arrowBounds.source=null,b.arrowBounds.target=null,b.arrowBounds["mid-source"]=null,b.arrowBounds["mid-target"]=null}return this.emitAndNotify("bounds"),this},j7.boundingBoxAt=function(a){var b,c=this.nodes(),d=this.cy(),e=d.hasCompoundNodes(),f=d.collection();if(e&&(f=c.filter(function(a){return a.isParent()}),c=c.not(f)),bC(a)){var g=a;a=function(){return g}}d.startBatch(),c.forEach(function(b,c){return b._private.bbAtOldPos=a(b,c)}).silentPositions(a),e&&(f.dirtyCompoundBoundsCache(),f.dirtyBoundingBoxCache(),f.updateCompoundBounds(!0));var h={x1:(b=this.boundingBox({useCache:!1})).x1,x2:b.x2,w:b.w,y1:b.y1,y2:b.y2,h:b.h};return c.silentPositions(function(a){return a._private.bbAtOldPos}),e&&(f.dirtyCompoundBoundsCache(),f.dirtyBoundingBoxCache(),f.updateCompoundBounds(!0)),d.endBatch(),h},j6.boundingbox=j6.bb=j6.boundingBox,j6.renderedBoundingbox=j6.renderedBoundingBox,j8=j9={};var f$=function(a){a.uppercaseName=bQ(a.name),a.autoName="auto"+a.uppercaseName,a.labelName="label"+a.uppercaseName,a.outerName="outer"+a.uppercaseName,a.uppercaseOuterName=bQ(a.outerName),j8[a.name]=function(){var b=this[0],c=b._private,d=c.cy._private.styleEnabled;if(b)if(!d)return 1;else{if(b.isParent())return b.updateCompoundBounds(),c[a.autoName]||0;var e=b.pstyle(a.name);return"label"===e.strValue?(b.recalculateRenderedStyle(),c.rstyle[a.labelName]||0):e.pfValue}},j8["outer"+a.uppercaseName]=function(){var b=this[0],c=b._private.cy._private.styleEnabled;if(b)if(!c)return 1;else{var d=b[a.name](),e=b.pstyle("border-position").value;return d+("center"===e?b.pstyle("border-width").pfValue:"outside"===e?2*b.pstyle("border-width").pfValue:0)+2*b.padding()}},j8["rendered"+a.uppercaseName]=function(){var b=this[0];if(b)return b[a.name]()*this.cy().zoom()},j8["rendered"+a.uppercaseOuterName]=function(){var b=this[0];if(b)return b[a.outerName]()*this.cy().zoom()}};f$({name:"width"}),f$({name:"height"}),j9.padding=function(){var a=this[0],b=a._private;return a.isParent()&&(a.updateCompoundBounds(),void 0!==b.autoPadding)?b.autoPadding:a.pstyle("padding").pfValue},j9.paddedHeight=function(){var a=this[0];return a.height()+2*a.padding()},j9.paddedWidth=function(){var a=this[0];return a.width()+2*a.padding()};var f_=function(a,b){if(a.isEdge()&&a.takesUpSpace())return b(a)},f0=function(a,b){if(a.isEdge()&&a.takesUpSpace()){var c=a.cy();return c$(b(a),c.zoom(),c.pan())}},f1=function(a,b){if(a.isEdge()&&a.takesUpSpace()){var c=a.cy(),d=c.pan(),e=c.zoom();return b(a).map(function(a){return c$(a,e,d)})}},f2={controlPoints:{get:function(a){return a.renderer().getControlPoints(a)},mult:!0},segmentPoints:{get:function(a){return a.renderer().getSegmentPoints(a)},mult:!0},sourceEndpoint:{get:function(a){return a.renderer().getSourceEndpoint(a)}},targetEndpoint:{get:function(a){return a.renderer().getTargetEndpoint(a)}},midpoint:{get:function(a){return a.renderer().getEdgeMidpoint(a)}}},f3=bY({},j5,j7,j9,Object.keys(f2).reduce(function(a,b){var c=f2[b],d="rendered"+b[0].toUpperCase()+b.substr(1);return a[b]=function(){return f_(this,c.get)},c.mult?a[d]=function(){return f1(this,c.get)}:a[d]=function(){return f0(this,c.get)},a},{})),f4=function(a,b){this.recycle(a,b)};function f5(){return!1}function f6(){return!0}f4.prototype={instanceString:function(){return"event"},recycle:function(a,b){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=f5,null!=a&&a.preventDefault?(this.type=a.type,this.isDefaultPrevented=a.defaultPrevented?f6:f5):null!=a&&a.type?b=a:this.type=a,null!=b&&(this.originalEvent=b.originalEvent,this.type=null!=b.type?b.type:this.type,this.cy=b.cy,this.target=b.target,this.position=b.position,this.renderedPosition=b.renderedPosition,this.namespace=b.namespace,this.layout=b.layout),null!=this.cy&&null!=this.position&&null==this.renderedPosition){var c=this.position,d=this.cy.zoom(),e=this.cy.pan();this.renderedPosition={x:c.x*d+e.x,y:c.y*d+e.y}}this.timeStamp=a&&a.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=f6;var a=this.originalEvent;a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.isPropagationStopped=f6;var a=this.originalEvent;a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=f6,this.stopPropagation()},isDefaultPrevented:f5,isPropagationStopped:f5,isImmediatePropagationStopped:f5};var f7=/^([^.]+)(\.(?:[^.]+))?$/,f8={qualifierCompare:function(a,b){return a===b},eventMatches:function(){return!0},addEventFields:function(){},callbackContext:function(a){return a},beforeEmit:function(){},afterEmit:function(){},bubble:function(){return!1},parent:function(){return null},context:null},f9=Object.keys(f8),ga={};function gb(){for(var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ga,b=arguments.length>1?arguments[1]:void 0,c=0;c<f9.length;c++){var d=f9[c];this[d]=a[d]||f8[d]}this.context=b||this.context,this.listeners=[],this.emitting=0}var gc=gb.prototype,gd=function(a,b,c,d,e,f,g){bA(d)&&(e=d,d=null),g&&(f=null==f?g:bY({},f,g));for(var h=bB(c)?c:c.split(/\s+/),i=0;i<h.length;i++){var j=h[i];if(!bK(j)){var k=j.match(f7);if(k&&!1===b(a,j,k[1],k[2]?k[2]:null,d,e,f))break}}},ge=function(a,b){return a.addEventFields(a.context,b),new f4(b.type,b)},gf=function(a,b,c){if("event"===by(c))return void b(a,c);if(bC(c))return void b(a,ge(a,c));for(var d=bB(c)?c:c.split(/\s+/),e=0;e<d.length;e++){var f=d[e];if(!bK(f)){var g=f.match(f7);if(g){var h=ge(a,{type:g[1],namespace:g[2]?g[2]:null,target:a.context});b(a,h)}}}};gc.on=gc.addListener=function(a,b,c,d,e){return gd(this,function(a,b,c,d,e,f,g){bA(f)&&a.listeners.push({event:b,callback:f,type:c,namespace:d,qualifier:e,conf:g})},a,b,c,d,e),this},gc.one=function(a,b,c,d){return this.on(a,b,c,d,{one:!0})},gc.removeListener=gc.off=function(a,b,c,d){var e=this;0!==this.emitting&&(this.listeners=this.listeners.slice());for(var f=this.listeners,g=function(g){var h=f[g];gd(e,function(b,c,d,e,i,j){if((h.type===d||"*"===a)&&(!e&&".*"!==h.namespace||h.namespace===e)&&(!i||b.qualifierCompare(h.qualifier,i))&&(!j||h.callback===j))return f.splice(g,1),!1},a,b,c,d)},h=f.length-1;h>=0;h--)g(h);return this},gc.removeAllListeners=function(){return this.removeListener("*")},gc.emit=gc.trigger=function(a,b,c){var d=this.listeners,e=d.length;return this.emitting++,bB(b)||(b=[b]),gf(this,function(a,f){null!=c&&(e=(d=[{event:f.event,type:f.type,namespace:f.namespace,callback:c}]).length);for(var g=0;g<e;g++)!function(){var c=d[g];if(c.type===f.type&&(!c.namespace||c.namespace===f.namespace||".*"===c.namespace)&&a.eventMatches(a.context,c,f)){var e=[f];null!=b&&cG(e,b),a.beforeEmit(a.context,c,f),c.conf&&c.conf.one&&(a.listeners=a.listeners.filter(function(a){return a!==c}));var h=a.callbackContext(a.context,c,f),i=c.callback.apply(h,e);a.afterEmit(a.context,c,f),!1===i&&(f.stopPropagation(),f.preventDefault())}}();a.bubble(a.context)&&!f.isPropagationStopped()&&a.parent(a.context).emit(f,b)},a),this.emitting--,this};var gg={qualifierCompare:function(a,b){return null==a||null==b?null==a&&null==b:a.sameText(b)},eventMatches:function(a,b,c){var d=b.qualifier;return null==d||a!==c.target&&bG(c.target)&&d.matches(c.target)},addEventFields:function(a,b){b.cy=a.cy(),b.target=a},callbackContext:function(a,b,c){return null!=b.qualifier?c.target:a},beforeEmit:function(a,b){b.conf&&b.conf.once&&b.conf.onceCollection.removeListener(b.event,b.qualifier,b.callback)},bubble:function(){return!0},parent:function(a){return a.isChild()?a.parent():a.cy()}},gh=function(a){return bz(a)?new fw(a):a},gi={createEmitter:function(){for(var a=0;a<this.length;a++){var b=this[a],c=b._private;c.emitter||(c.emitter=new gb(gg,b))}return this},emitter:function(){return this._private.emitter},on:function(a,b,c){for(var d=gh(b),e=0;e<this.length;e++)this[e].emitter().on(a,d,c);return this},removeListener:function(a,b,c){for(var d=gh(b),e=0;e<this.length;e++)this[e].emitter().removeListener(a,d,c);return this},removeAllListeners:function(){for(var a=0;a<this.length;a++)this[a].emitter().removeAllListeners();return this},one:function(a,b,c){for(var d=gh(b),e=0;e<this.length;e++)this[e].emitter().one(a,d,c);return this},once:function(a,b,c){for(var d=gh(b),e=0;e<this.length;e++)this[e].emitter().on(a,d,c,{once:!0,onceCollection:this})},emit:function(a,b){for(var c=0;c<this.length;c++)this[c].emitter().emit(a,b);return this},emitAndNotify:function(a,b){if(0!==this.length)return this.cy().notify(a,this),this.emit(a,b),this}};fe.eventAliasesOn(gi);var gj={nodes:function(a){return this.filter(function(a){return a.isNode()}).filter(a)},edges:function(a){return this.filter(function(a){return a.isEdge()}).filter(a)},byGroup:function(){for(var a=this.spawn(),b=this.spawn(),c=0;c<this.length;c++){var d=this[c];d.isNode()?a.push(d):b.push(d)}return{nodes:a,edges:b}},filter:function(a,b){if(void 0===a)return this;if(bz(a)||bF(a))return new fw(a).filter(this);if(bA(a)){for(var c=this.spawn(),d=0;d<this.length;d++){var e=this[d];(b?a.apply(b,[e,d,this]):a(e,d,this))&&c.push(e)}return c}return this.spawn()},not:function(a){if(!a)return this;bz(a)&&(a=this.filter(a));for(var b=this.spawn(),c=0;c<this.length;c++){var d=this[c];a.has(d)||b.push(d)}return b},absoluteComplement:function(){return this.cy().mutableElements().not(this)},intersect:function(a){if(bz(a))return this.filter(a);for(var b=this.spawn(),c=this.length<a.length,d=c?this:a,e=c?a:this,f=0;f<d.length;f++){var g=d[f];e.has(g)&&b.push(g)}return b},xor:function(a){var b=this._private.cy;bz(a)&&(a=b.$(a));var c=this.spawn(),d=a,e=function(a,b){for(var d=0;d<a.length;d++){var e=a[d],f=e._private.data.id;b.hasElementWithId(f)||c.push(e)}};return e(this,d),e(d,this),c},diff:function(a){var b=this._private.cy;bz(a)&&(a=b.$(a));var c=this.spawn(),d=this.spawn(),e=this.spawn(),f=a,g=function(a,b,c){for(var d=0;d<a.length;d++){var f=a[d],g=f._private.data.id;b.hasElementWithId(g)?e.merge(f):c.push(f)}};return g(this,f,c),g(f,this,d),{left:c,right:d,both:e}},add:function(a){var b=this._private.cy;if(!a)return this;if(bz(a)){var c=a;a=b.mutableElements().filter(c)}for(var d=this.spawnSelf(),e=0;e<a.length;e++){var f=a[e];this.has(f)||d.push(f)}return d},merge:function(a){var b=this._private,c=b.cy;if(!a)return this;if(a&&bz(a)){var d=a;a=c.mutableElements().filter(d)}for(var e=b.map,f=0;f<a.length;f++){var g=a[f],h=g._private.data.id;if(!e.has(h)){var i=this.length++;this[i]=g,e.set(h,{ele:g,index:i})}}return this},unmergeAt:function(a){var b=this[a].id(),c=this._private.map;this[a]=void 0,c.delete(b);var d=a===this.length-1;if(this.length>1&&!d){var e=this.length-1,f=this[e],g=f._private.data.id;this[e]=void 0,this[a]=f,c.set(g,{ele:f,index:a})}return this.length--,this},unmergeOne:function(a){a=a[0];var b=this._private,c=a._private.data.id,d=b.map.get(c);if(!d)return this;var e=d.index;return this.unmergeAt(e),this},unmerge:function(a){var b=this._private.cy;if(!a)return this;if(a&&bz(a)){var c=a;a=b.mutableElements().filter(c)}for(var d=0;d<a.length;d++)this.unmergeOne(a[d]);return this},unmergeBy:function(a){for(var b=this.length-1;b>=0;b--)a(this[b])&&this.unmergeAt(b);return this},map:function(a,b){for(var c=[],d=0;d<this.length;d++){var e=this[d],f=b?a.apply(b,[e,d,this]):a(e,d,this);c.push(f)}return c},reduce:function(a,b){for(var c=b,d=0;d<this.length;d++)c=a(c,this[d],d,this);return c},max:function(a,b){for(var c,d=-1/0,e=0;e<this.length;e++){var f=this[e],g=b?a.apply(b,[f,e,this]):a(f,e,this);g>d&&(d=g,c=f)}return{value:d,ele:c}},min:function(a,b){for(var c,d=1/0,e=0;e<this.length;e++){var f=this[e],g=b?a.apply(b,[f,e,this]):a(f,e,this);g<d&&(d=g,c=f)}return{value:d,ele:c}}};gj.u=gj["|"]=gj["+"]=gj.union=gj.or=gj.add,gj["\\"]=gj["!"]=gj["-"]=gj.difference=gj.relativeComplement=gj.subtract=gj.not,gj.n=gj["&"]=gj["."]=gj.and=gj.intersection=gj.intersect,gj["^"]=gj["(+)"]=gj["(-)"]=gj.symmetricDifference=gj.symdiff=gj.xor,gj.fnFilter=gj.filterFn=gj.stdFilter=gj.filter,gj.complement=gj.abscomp=gj.absoluteComplement;var gk=function(a,b){var c=a.cy().hasCompoundNodes();function d(a){var b=a.pstyle("z-compound-depth");return"auto"===b.value?c?a.zDepth():0:"bottom"===b.value?-1:"top"===b.value?cr:0}var e=d(a)-d(b);if(0!==e)return e;function f(a){return"auto"===a.pstyle("z-index-compare").value?+!!a.isNode():0}var g=f(a)-f(b);if(0!==g)return g;var h=a.pstyle("z-index").value-b.pstyle("z-index").value;return 0!==h?h:a.poolIndex()-b.poolIndex()},gl={forEach:function(a,b){if(bA(a))for(var c=this.length,d=0;d<c;d++){var e=this[d];if(!1===(b?a.apply(b,[e,d,this]):a(e,d,this)))break}return this},toArray:function(){for(var a=[],b=0;b<this.length;b++)a.push(this[b]);return a},slice:function(a,b){var c=[],d=this.length;null==b&&(b=d),null==a&&(a=0),a<0&&(a=d+a),b<0&&(b=d+b);for(var e=a;e>=0&&e<b&&e<d;e++)c.push(this[e]);return this.spawn(c)},size:function(){return this.length},eq:function(a){return this[a]||this.spawn()},first:function(){return this[0]||this.spawn()},last:function(){return this[this.length-1]||this.spawn()},empty:function(){return 0===this.length},nonempty:function(){return!this.empty()},sort:function(a){if(!bA(a))return this;var b=this.toArray().sort(a);return this.spawn(b)},sortByZIndex:function(){return this.sort(gk)},zDepth:function(){var a=this[0];if(a){var b=a._private;if("nodes"===b.group){var c=b.data.parent?a.parents().size():0;return a.isParent()?c:cr-1}var d=b.source,e=b.target;return Math.max(d.zDepth(),e.zDepth(),0)}}};gl.each=gl.forEach,("undefined"==typeof Symbol?"undefined":bs(Symbol))!="undefined"&&"undefined"!=bs(Symbol.iterator)&&(gl[Symbol.iterator]=function(){var a=this,b={value:void 0,done:!1},c=0,d=this.length;return bo({next:function(){return c<d?b.value=a[c++]:(b.value=void 0,b.done=!0),b}},Symbol.iterator,function(){return this})});var gm=cD({nodeDimensionsIncludeLabels:!1}),gn={layoutDimensions:function(a){if(a=gm(a),this.takesUpSpace())if(a.nodeDimensionsIncludeLabels){var b,c=this.boundingBox();b={w:c.w,h:c.h}}else b={w:this.outerWidth(),h:this.outerHeight()};else b={w:0,h:0};return(0===b.w||0===b.h)&&(b.w=b.h=1),b},layoutPositions:function(a,b,c){var d=this.nodes().filter(function(a){return!a.isParent()}),e=this.cy(),f=b.eles,g=function(a){return a.id()},h=bM(c,g);a.emit({type:"layoutstart",layout:a}),a.animations=[];var i=function(a,b,c){var d={x:b.x1+b.w/2,y:b.y1+b.h/2},e={x:(c.x-d.x)*a,y:(c.y-d.y)*a};return{x:d.x+e.x,y:d.y+e.y}},j=b.spacingFactor&&1!==b.spacingFactor,k=function(){if(!j)return null;for(var a=df(),b=0;b<d.length;b++){var c=h(d[b],b);di(a,c.x,c.y)}return a}(),l=bM(function(a,c){var d=h(a,c);return j&&(d=i(Math.abs(b.spacingFactor),k,d)),null!=b.transform&&(d=b.transform(a,d)),d},g);if(b.animate){for(var n=0;n<d.length;n++){var o=d[n],p=l(o,n);if(null==b.animateFilter||b.animateFilter(o,n)){var q=o.animation({position:p,duration:b.animationDuration,easing:b.animationEasing});a.animations.push(q)}else o.position(p)}if(b.fit){var r=e.animation({fit:{boundingBox:f.boundingBoxAt(l),padding:b.padding},duration:b.animationDuration,easing:b.animationEasing});a.animations.push(r)}else if(void 0!==b.zoom&&void 0!==b.pan){var s=e.animation({zoom:b.zoom,pan:b.pan,duration:b.animationDuration,easing:b.animationEasing});a.animations.push(s)}a.animations.forEach(function(a){return a.play()}),a.one("layoutready",b.ready),a.emit({type:"layoutready",layout:a}),eZ.all(a.animations.map(function(a){return a.promise()})).then(function(){a.one("layoutstop",b.stop),a.emit({type:"layoutstop",layout:a})})}else d.positions(l),b.fit&&e.fit(b.eles,b.padding),null!=b.zoom&&e.zoom(b.zoom),b.pan&&e.pan(b.pan),a.one("layoutready",b.ready),a.emit({type:"layoutready",layout:a}),a.one("layoutstop",b.stop),a.emit({type:"layoutstop",layout:a});return this},layout:function(a){return this.cy().makeLayout(bY({},a,{eles:this}))}};function go(a,b,c){var d,e=c._private,f=e.styleCache=e.styleCache||[];return null!=(d=f[a])?d:d=f[a]=b(c)}function gp(a,b){return a=cl(a),function(c){return go(a,b,c)}}function gq(a,b){a=cl(a);var c=function(a){return b.call(a)};return function(){var b=this[0];if(b)return go(a,c,b)}}gn.createLayout=gn.makeLayout=gn.layout;var gr={recalculateRenderedStyle:function(a){var b=this.cy(),c=b.renderer(),d=b.styleEnabled();return c&&d&&c.recalculateRenderedStyle(this,a),this},dirtyStyleCache:function(){var a,b=this.cy(),c=function(a){return a._private.styleCache=null};return b.hasCompoundNodes()?((a=this.spawnSelf().merge(this.descendants()).merge(this.parents())).merge(a.connectedEdges()),a.forEach(c)):this.forEach(function(a){c(a),a.connectedEdges().forEach(c)}),this},updateStyle:function(a){var b=this._private.cy;if(!b.styleEnabled())return this;if(b.batching())return b._private.batchStyleEles.merge(this),this;var c=b.hasCompoundNodes(),d=this;a=!!a||void 0===a,c&&(d=this.spawnSelf().merge(this.descendants()).merge(this.parents()));var e=d;return a?e.emitAndNotify("style"):e.emit("style"),d.forEach(function(a){return a._private.styleDirty=!0}),this},cleanStyle:function(){var a=this.cy();if(a.styleEnabled())for(var b=0;b<this.length;b++){var c=this[b];c._private.styleDirty&&(c._private.styleDirty=!1,a.style().apply(c))}},parsedStyle:function(a){var b=!(arguments.length>1)||void 0===arguments[1]||arguments[1],c=this[0],d=c.cy();if(d.styleEnabled()&&c){c._private.styleDirty&&(c._private.styleDirty=!1,d.style().apply(c));var e=c._private.style[a];return null!=e?e:b?d.style().getDefaultProperty(a):null}},numericStyle:function(a){var b=this[0];if(b.cy().styleEnabled()&&b){var c=b.pstyle(a);return void 0!==c.pfValue?c.pfValue:c.value}},numericStyleUnits:function(a){var b=this[0];if(b.cy().styleEnabled()&&b)return b.pstyle(a).units},renderedStyle:function(a){var b=this.cy();if(!b.styleEnabled())return this;var c=this[0];if(c)return b.style().getRenderedStyle(c,a)},style:function(a,b){var c=this.cy();if(!c.styleEnabled())return this;var d=c.style();if(bC(a))d.applyBypass(this,a,!1),this.emitAndNotify("style");else if(bz(a))if(void 0===b){var e=this[0];return e?d.getStylePropertyValue(e,a):void 0}else d.applyBypass(this,a,b,!1),this.emitAndNotify("style");else if(void 0===a){var f=this[0];return f?d.getRawStyle(f):void 0}return this},removeStyle:function(a){var b=this.cy();if(!b.styleEnabled())return this;var c=b.style();if(void 0===a)for(var d=0;d<this.length;d++){var e=this[d];c.removeAllBypasses(e,!1)}else{a=a.split(/\s+/);for(var f=0;f<this.length;f++){var g=this[f];c.removeBypasses(g,a,!1)}}return this.emitAndNotify("style"),this},show:function(){return this.css("display","element"),this},hide:function(){return this.css("display","none"),this},effectiveOpacity:function(){var a=this.cy();if(!a.styleEnabled())return 1;var b=a.hasCompoundNodes(),c=this[0];if(c){var d=c._private,e=c.pstyle("opacity").value;if(!b)return e;var f=d.data.parent?c.parents():null;if(f)for(var g=0;g<f.length;g++)e*=f[g].pstyle("opacity").value;return e}},transparent:function(){if(!this.cy().styleEnabled())return!1;var a=this[0],b=a.cy().hasCompoundNodes();if(a)if(!b)return 0===a.pstyle("opacity").value;else return 0===a.effectiveOpacity()},backgrounding:function(){return!!this.cy().styleEnabled()&&!!this[0]._private.backgrounding}};function gs(a,b){var c=a._private.data.parent?a.parents():null;if(c){for(var d=0;d<c.length;d++)if(!b(c[d]))return!1}return!0}function gt(a){var b=a.ok,c=a.edgeOkViaNode||a.ok,d=a.parentOk||a.ok;return function(){var a=this.cy();if(!a.styleEnabled())return!0;var e=this[0],f=a.hasCompoundNodes();if(e){var g=e._private;if(!b(e))return!1;if(e.isNode())return!f||gs(e,d);var h=g.source,i=g.target;return c(h)&&(!f||gs(h,c))&&(h===i||c(i)&&(!f||gs(i,c)))}}}var gu=gp("eleTakesUpSpace",function(a){return"element"===a.pstyle("display").value&&0!==a.width()&&(!a.isNode()||0!==a.height())});gr.takesUpSpace=gq("takesUpSpace",gt({ok:gu})),gr.interactive=gq("interactive",gt({ok:gp("eleInteractive",function(a){return"yes"===a.pstyle("events").value&&"visible"===a.pstyle("visibility").value&&gu(a)}),parentOk:gp("parentInteractive",function(a){return"visible"===a.pstyle("visibility").value&&gu(a)}),edgeOkViaNode:gu})),gr.noninteractive=function(){var a=this[0];if(a)return!a.interactive()},gr.visible=gq("visible",gt({ok:gp("eleVisible",function(a){return"visible"===a.pstyle("visibility").value&&0!==a.pstyle("opacity").pfValue&&gu(a)}),edgeOkViaNode:gu})),gr.hidden=function(){var a=this[0];if(a)return!a.visible()},gr.isBundledBezier=gq("isBundledBezier",function(){return!!this.cy().styleEnabled()&&!this.removed()&&"bezier"===this.pstyle("curve-style").value&&this.takesUpSpace()}),gr.bypass=gr.css=gr.style,gr.renderedCss=gr.renderedStyle,gr.removeBypass=gr.removeCss=gr.removeStyle,gr.pstyle=gr.parsedStyle;var gv={};function gw(a){return function(){var b=arguments,c=[];if(2===b.length){var d=b[0],e=b[1];this.on(a.event,d,e)}else if(1===b.length&&bA(b[0])){var f=b[0];this.on(a.event,f)}else if(0===b.length||1===b.length&&bB(b[0])){for(var g=1===b.length?b[0]:null,h=0;h<this.length;h++){var i=this[h],j=!a.ableField||i._private[a.ableField],k=i._private[a.field]!=a.value;if(a.overrideAble){var l=a.overrideAble(i);if(void 0!==l&&(j=l,!l))return this}j&&(i._private[a.field]=a.value,k&&c.push(i))}var n=this.spawn(c);n.updateStyle(),n.emit(a.event),g&&n.emit(g)}return this}}function gx(a){gv[a.field]=function(){var b=this[0];if(b){if(a.overrideField){var c=a.overrideField(b);if(void 0!==c)return c}return b._private[a.field]}},gv[a.on]=gw({event:a.on,field:a.field,ableField:a.ableField,overrideAble:a.overrideAble,value:!0}),gv[a.off]=gw({event:a.off,field:a.field,ableField:a.ableField,overrideAble:a.overrideAble,value:!1})}gx({field:"locked",overrideField:function(a){return!!a.cy().autolock()||void 0},on:"lock",off:"unlock"}),gx({field:"grabbable",overrideField:function(a){return!(a.cy().autoungrabify()||a.pannable())&&void 0},on:"grabify",off:"ungrabify"}),gx({field:"selected",ableField:"selectable",overrideAble:function(a){return!a.cy().autounselectify()&&void 0},on:"select",off:"unselect"}),gx({field:"selectable",overrideField:function(a){return!a.cy().autounselectify()&&void 0},on:"selectify",off:"unselectify"}),gv.deselect=gv.unselect,gv.grabbed=function(){var a=this[0];if(a)return a._private.grabbed},gx({field:"active",on:"activate",off:"unactivate"}),gx({field:"pannable",on:"panify",off:"unpanify"}),gv.inactive=function(){var a=this[0];if(a)return!a._private.active};var gy={},gz=function(a){return function(b){for(var c=[],d=0;d<this.length;d++){var e=this[d];if(e.isNode()){for(var f=!1,g=e.connectedEdges(),h=0;h<g.length;h++){var i=g[h],j=i.source(),k=i.target();if(a.noIncomingEdges&&k===e&&j!==e||a.noOutgoingEdges&&j===e&&k!==e){f=!0;break}}f||c.push(e)}}return this.spawn(c,!0).filter(b)}},gA=function(a){return function(b){for(var c=[],d=0;d<this.length;d++){var e=this[d];if(e.isNode())for(var f=e.connectedEdges(),g=0;g<f.length;g++){var h=f[g],i=h.source(),j=h.target();a.outgoing&&i===e?(c.push(h),c.push(j)):a.incoming&&j===e&&(c.push(h),c.push(i))}}return this.spawn(c,!0).filter(b)}},gB=function(a){return function(b){for(var c=this,d=[],e={};;){var f=a.outgoing?c.outgoers():c.incomers();if(0===f.length)break;for(var g=!1,h=0;h<f.length;h++){var i=f[h],j=i.id();e[j]||(e[j]=!0,d.push(i),g=!0)}if(!g)break;c=f}return this.spawn(d,!0).filter(b)}};function gC(a){return function(b){for(var c=[],d=0;d<this.length;d++){var e=this[d]._private[a.attr];e&&c.push(e)}return this.spawn(c,!0).filter(b)}}function gD(a){return function(b){var c=[],d=this._private.cy,e=a||{};bz(b)&&(b=d.$(b));for(var f=0;f<b.length;f++)for(var g=b[f]._private.edges,h=0;h<g.length;h++){var i=g[h],j=i._private.data,k=this.hasElementWithId(j.source)&&b.hasElementWithId(j.target),l=b.hasElementWithId(j.source)&&this.hasElementWithId(j.target);if(k||l){if((e.thisIsSrc||e.thisIsTgt)&&(e.thisIsSrc&&!k||e.thisIsTgt&&!l))continue;c.push(i)}}return this.spawn(c,!0)}}function gE(a){return a=bY({},{codirected:!1},a),function(b){for(var c=[],d=this.edges(),e=a,f=0;f<d.length;f++)for(var g=d[f]._private,h=g.source,i=h._private.data.id,j=g.data.target,k=h._private.edges,l=0;l<k.length;l++){var n=k[l],o=n._private.data,p=o.target,q=o.source,r=p===j&&q===i,s=i===p&&j===q;(e.codirected&&r||!e.codirected&&(r||s))&&c.push(n)}return this.spawn(c,!0).filter(b)}}gy.clearTraversalCache=function(){for(var a=0;a<this.length;a++)this[a]._private.traversalCache=null},bY(gy,{roots:gz({noIncomingEdges:!0}),leaves:gz({noOutgoingEdges:!0}),outgoers:fz(gA({outgoing:!0}),"outgoers"),successors:gB({outgoing:!0}),incomers:fz(gA({incoming:!0}),"incomers"),predecessors:gB({})}),bY(gy,{neighborhood:fz(function(a){for(var b=[],c=this.nodes(),d=0;d<c.length;d++)for(var e=c[d],f=e.connectedEdges(),g=0;g<f.length;g++){var h=f[g],i=h.source(),j=h.target(),k=e===i?j:i;k.length>0&&b.push(k[0]),b.push(h[0])}return this.spawn(b,!0).filter(a)},"neighborhood"),closedNeighborhood:function(a){return this.neighborhood().add(this).filter(a)},openNeighborhood:function(a){return this.neighborhood(a)}}),gy.neighbourhood=gy.neighborhood,gy.closedNeighbourhood=gy.closedNeighborhood,gy.openNeighbourhood=gy.openNeighborhood,bY(gy,{source:fz(function(a){var b,c=this[0];return c&&(b=c._private.source||c.cy().collection()),b&&a?b.filter(a):b},"source"),target:fz(function(a){var b,c=this[0];return c&&(b=c._private.target||c.cy().collection()),b&&a?b.filter(a):b},"target"),sources:gC({attr:"source"}),targets:gC({attr:"target"})}),bY(gy,{edgesWith:fz(gD(),"edgesWith"),edgesTo:fz(gD({thisIsSrc:!0}),"edgesTo")}),bY(gy,{connectedEdges:fz(function(a){for(var b=[],c=0;c<this.length;c++){var d=this[c];if(d.isNode())for(var e=d._private.edges,f=0;f<e.length;f++){var g=e[f];b.push(g)}}return this.spawn(b,!0).filter(a)},"connectedEdges"),connectedNodes:fz(function(a){for(var b=[],c=0;c<this.length;c++){var d=this[c];d.isEdge()&&(b.push(d.source()[0]),b.push(d.target()[0]))}return this.spawn(b,!0).filter(a)},"connectedNodes"),parallelEdges:fz(gE(),"parallelEdges"),codirectedEdges:fz(gE({codirected:!0}),"codirectedEdges")}),bY(gy,{components:function(a){var b=this,c=b.cy(),d=c.collection(),e=null==a?b.nodes():a.nodes(),f=[];null!=a&&e.empty()&&(e=a.sources());var g=function(a,b){d.merge(a),e.unmerge(a),b.merge(a)};if(e.empty())return b.spawn();do!function(){var a=c.collection();f.push(a);var d=e[0];g(d,a),b.bfs({directed:!1,roots:d,visit:function(b){return g(b,a)}}),a.forEach(function(c){c.connectedEdges().forEach(function(c){b.has(c)&&a.has(c.source())&&a.has(c.target())&&a.merge(c)})})}();while(e.length>0)return f},component:function(){var a=this[0];return a.cy().mutableElements().components(a)[0]}}),gy.componentsOf=gy.components;var gF=function(a,b){var c=arguments.length>2&&void 0!==arguments[2]&&arguments[2],d=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0===a)return void cw("A collection must have a reference to the core");var e=new cK,f=!1;if(b){if(b.length>0&&bC(b[0])&&!bG(b[0])){f=!0;for(var g=[],h=new cM,i=0,j=b.length;i<j;i++){var k=b[i];null==k.data&&(k.data={});var l=k.data;if(null==l.id)l.id=cA();else if(a.hasElementWithId(l.id)||h.has(l.id))continue;var n=new cN(a,k,!1);g.push(n),h.add(l.id)}b=g}}else b=[];this.length=0;for(var o=0,p=b.length;o<p;o++){var q=b[o][0];if(null!=q){var r=q._private.data.id;(!c||!e.has(r))&&(c&&e.set(r,{index:this.length,ele:q}),this[this.length]=q,this.length++)}}this._private={eles:this,cy:a,get map(){return null==this.lazyMap&&this.rebuildMap(),this.lazyMap},set map(m){this.lazyMap=m},rebuildMap:function(){for(var a=this.lazyMap=new cK,b=this.eles,c=0;c<b.length;c++){var d=b[c];a.set(d.id(),{index:c,ele:d})}}},c&&(this._private.map=e),f&&!d&&this.restore()},gG=cN.prototype=gF.prototype=Object.create(Array.prototype);gG.instanceString=function(){return"collection"},gG.spawn=function(a,b){return new gF(this.cy(),a,b)},gG.spawnSelf=function(){return this.spawn(this)},gG.cy=function(){return this._private.cy},gG.renderer=function(){return this._private.cy.renderer()},gG.element=function(){return this[0]},gG.collection=function(){return bH(this)?this:new gF(this._private.cy,[this])},gG.unique=function(){return new gF(this._private.cy,this,!0)},gG.hasElementWithId=function(a){return a=""+a,this._private.map.has(a)},gG.getElementById=function(a){a=""+a;var b=this._private.cy,c=this._private.map.get(a);return c?c.ele:new gF(b)},gG.$id=gG.getElementById,gG.poolIndex=function(){var a=this._private.cy._private.elements,b=this[0]._private.data.id;return a._private.map.get(b).index},gG.indexOf=function(a){var b=a[0]._private.data.id;return this._private.map.get(b).index},gG.indexOfId=function(a){return a=""+a,this._private.map.get(a).index},gG.json=function(a){var b=this.element(),c=this.cy();if(null==b&&a)return this;if(null!=b){var d=b._private;if(bC(a)){if(c.startBatch(),a.data){b.data(a.data);var e=d.data;if(b.isEdge()){var f=!1,g={},h=a.data.source,i=a.data.target;null!=h&&h!=e.source&&(g.source=""+h,f=!0),null!=i&&i!=e.target&&(g.target=""+i,f=!0),f&&(b=b.move(g))}else{var j="parent"in a.data,k=a.data.parent;j&&(null!=k||null!=e.parent)&&k!=e.parent&&(void 0===k&&(k=null),null!=k&&(k=""+k),b=b.move({parent:k}))}}a.position&&b.position(a.position);var l=function(c,e,f){var g=a[c];null!=g&&g!==d[c]&&(g?b[e]():b[f]())};return l("removed","remove","restore"),l("selected","select","unselect"),l("selectable","selectify","unselectify"),l("locked","lock","unlock"),l("grabbable","grabify","ungrabify"),l("pannable","panify","unpanify"),null!=a.classes&&b.classes(a.classes),c.endBatch(),this}if(void 0===a){var n={data:cz(d.data),position:cz(d.position),group:d.group,removed:d.removed,selected:d.selected,selectable:d.selectable,locked:d.locked,grabbable:d.grabbable,pannable:d.pannable,classes:null};n.classes="";var o=0;return d.classes.forEach(function(a){return n.classes+=0==o++?a:" "+a}),n}}},gG.jsons=function(){for(var a=[],b=0;b<this.length;b++){var c=this[b].json();a.push(c)}return a},gG.clone=function(){for(var a=this.cy(),b=[],c=0;c<this.length;c++){var d=new cN(a,this[c].json(),!1);b.push(d)}return new gF(a,b)},gG.copy=gG.clone,gG.restore=function(){for(var a=!(arguments.length>0)||void 0===arguments[0]||arguments[0],b=!(arguments.length>1)||void 0===arguments[1]||arguments[1],c=this.cy(),d=c._private,e=[],f=[],g=0,h=this.length;g<h;g++){var i=this[g];(!b||i.removed())&&(i.isNode()?e.push(i):f.push(i))}F=e.concat(f);var j=function(){F.splice(G,1),G--};for(G=0;G<F.length;G++){var k=F[G],l=k._private,n=l.data;if(k.clearTraversalCache(),b||l.removed){if(void 0===n.id)n.id=cA();else if(bD(n.id))n.id=""+n.id;else if(bK(n.id)||!bz(n.id)){cw("Can not create element with invalid string ID `"+n.id+"`"),j();continue}else if(c.hasElementWithId(n.id)){cw("Can not create second element with ID `"+n.id+"`"),j();continue}}var o=n.id;if(k.isNode()){var p=l.position;null==p.x&&(p.x=0),null==p.y&&(p.y=0)}if(k.isEdge()){for(var q=["source","target"],r=q.length,s=!1,t=0;t<r;t++){var u=q[t],v=n[u];bD(v)&&(v=n[u]=""+n[u]),null==v||""===v?(cw("Can not create edge `"+o+"` with unspecified "+u),s=!0):c.hasElementWithId(v)||(cw("Can not create edge `"+o+"` with nonexistant "+u+" `"+v+"`"),s=!0)}if(s){j();continue}var w=c.getElementById(n.source),x=c.getElementById(n.target);w.same(x)?w._private.edges.push(k):(w._private.edges.push(k),x._private.edges.push(k)),k._private.source=w,k._private.target=x}l.map=new cK,l.map.set(o,{ele:k,index:0}),l.removed=!1,b&&c.addToPool(k)}for(var y=0;y<e.length;y++){var z=e[y],A=z._private.data;bD(A.parent)&&(A.parent=""+A.parent);var B=A.parent;if(null!=B||z._private.parent){var C=z._private.parent?c.collection().merge(z._private.parent):c.getElementById(B);if(C.empty())A.parent=void 0;else if(C[0].removed())cy("Node added with missing parent, reference to parent removed"),A.parent=void 0,z._private.parent=null;else{for(var D=!1,E=C;!E.empty();){if(z.same(E)){D=!0,A.parent=void 0;break}E=E.parent()}D||(C[0]._private.children.push(z),z._private.parent=C[0],d.hasCompoundNodes=!0)}}}if(F.length>0){for(var F,G,H,I=F.length===this.length?this:new gF(c,F),J=0;J<I.length;J++){var K=I[J];K.isNode()||(K.parallelEdges().clearTraversalCache(),K.source().clearTraversalCache(),K.target().clearTraversalCache())}(d.hasCompoundNodes?c.collection().merge(I).merge(I.connectedNodes()).merge(I.parent()):I).dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(a),a?I.emitAndNotify("add"):b&&I.emit("add")}return this},gG.removed=function(){var a=this[0];return a&&a._private.removed},gG.inside=function(){var a=this[0];return a&&!a._private.removed},gG.remove=function(){for(var a=!(arguments.length>0)||void 0===arguments[0]||arguments[0],b=!(arguments.length>1)||void 0===arguments[1]||arguments[1],c=[],d={},e=this._private.cy,f=0,g=this.length;f<g;f++)!function a(e){var f=d[e.id()];if(!(b&&e.removed())&&!f)if(d[e.id()]=!0,e.isNode()){c.push(e);for(var g=e._private.edges,h=0;h<g.length;h++)a(g[h]);for(var i=e._private.children,j=0;j<i.length;j++)a(i[j])}else c.unshift(e)}(this[f]);function h(a,b){cE(a._private.edges,b),a.clearTraversalCache()}var i=[];i.ids={},this.dirtyCompoundBoundsCache(),b&&e.removeFromPool(c);for(var j=0;j<c.length;j++){var k=c[j];if(k.isEdge()){var l=k.source()[0],n=k.target()[0];h(l,k),h(n,k);for(var o=k.parallelEdges(),p=0;p<o.length;p++){var q=o[p];q.clearTraversalCache(),q.isBundledBezier()&&q.dirtyBoundingBoxCache()}}else{var r=k.parent();0!==r.length&&function(a,b){b=b[0];var c=(a=a[0])._private.children,d=a.id();cE(c,b),b._private.parent=null,i.ids[d]||(i.ids[d]=!0,i.push(a))}(r,k)}b&&(k._private.removed=!0)}var s=e._private.elements;e._private.hasCompoundNodes=!1;for(var t=0;t<s.length;t++)if(s[t].isParent()){e._private.hasCompoundNodes=!0;break}var u=new gF(this.cy(),c);u.size()>0&&(a?u.emitAndNotify("remove"):b&&u.emit("remove"));for(var v=0;v<i.length;v++){var w=i[v];b&&w.removed()||w.updateStyle()}return u},gG.move=function(a){var b=this._private.cy,c=this,d=function(a){return null==a?a:""+a};if(void 0!==a.source||void 0!==a.target){var e=d(a.source),f=d(a.target),g=null!=e&&b.hasElementWithId(e),h=null!=f&&b.hasElementWithId(f);(g||h)&&(b.batch(function(){c.remove(!1,!1),c.emitAndNotify("moveout");for(var a=0;a<c.length;a++){var b=c[a],d=b._private.data;b.isEdge()&&(g&&(d.source=e),h&&(d.target=f))}c.restore(!1,!1)}),c.emitAndNotify("move"))}else if(void 0!==a.parent){var i=d(a.parent);if(null===i||b.hasElementWithId(i)){var j=null===i?void 0:i;b.batch(function(){var a=c.remove(!1,!1);a.emitAndNotify("moveout");for(var b=0;b<c.length;b++){var d=c[b],e=d._private.data;d.isNode()&&(e.parent=j)}a.restore(!1,!1)}),c.emitAndNotify("move")}}return this},[eS,ff,fg,fy,fA,j3,fF,f3,gi,gj,{isNode:function(){return"nodes"===this.group()},isEdge:function(){return"edges"===this.group()},isLoop:function(){return this.isEdge()&&this.source()[0]===this.target()[0]},isSimple:function(){return this.isEdge()&&this.source()[0]!==this.target()[0]},group:function(){var a=this[0];if(a)return a._private.group}},gl,gn,gr,gv,gy].forEach(function(a){bY(gG,a)});var gH=function(){function a(a){return-a.tension*a.x-a.friction*a.v}function b(b,c,d){var e={x:b.x+d.dx*c,v:b.v+d.dv*c,tension:b.tension,friction:b.friction};return{dx:e.v,dv:a(e)}}return function c(d,e,f){var g,h,i,j,k,l,n,o,p,q,r,s={x:-1,v:0,tension:null,friction:null},t=[0],u=0;for(d=parseFloat(d)||500,e=parseFloat(e)||20,f=f||null,s.tension=d,s.friction=e,q=(p=null!==f)?(u=c(d,e))/f*.016:.016;g=r||s,h=q,i={dx:g.v,dv:a(g)},j=b(g,.5*h,i),k=b(g,.5*h,j),l=b(g,h,k),n=1/6*(i.dx+2*(j.dx+k.dx)+l.dx),o=1/6*(i.dv+2*(j.dv+k.dv)+l.dv),g.x=g.x+n*h,g.v=g.v+o*h,r=g,t.push(1+r.x),u+=16,Math.abs(r.x)>1e-4&&Math.abs(r.v)>1e-4;);return p?function(a){return t[a*(t.length-1)|0]}:u}}(),gI=function(a,b,c,d){var e=function(a,b,c,d){var e="undefined"!=typeof Float32Array;if(4!=arguments.length)return!1;for(var f=0;f<4;++f)if("number"!=typeof arguments[f]||isNaN(arguments[f])||!isFinite(arguments[f]))return!1;a=Math.min(a,1),c=Math.min(c,1),a=Math.max(a,0),c=Math.max(c,0);var g=e?new Float32Array(11):Array(11);function h(a,b,c){return(((1-3*c+3*b)*a+(3*c-6*b))*a+3*b)*a}function i(a,b,c){return 3*(1-3*c+3*b)*a*a+2*(3*c-6*b)*a+3*b}var j=!1,k=function(e){return(j||(j=!0,(a!==b||c!==d)&&function(){for(var b=0;b<11;++b)g[b]=h(.1*b,a,c)}()),a===b&&c===d)?e:0===e?0:1===e?1:h(function(b){for(var d=0,e=1;10!==e&&g[e]<=b;++e)d+=.1;var f=d+(b-g[--e])/(g[e+1]-g[e])*.1,j=i(f,a,c);if(j>=.001){for(var k=f,l=0;l<4;++l){var n=i(k,a,c);if(0===n)break;var o=h(k,a,c)-b;k-=o/n}return k}return 0===j?f:function(b,d,e){var f,g,i=0;do(f=h(g=d+(e-d)/2,a,c)-b)>0?e=g:d=g;while(Math.abs(f)>1e-7&&++i<10)return g}(b,d,d+.1)}(e),b,d)};k.getControlPoints=function(){return[{x:a,y:b},{x:c,y:d}]};var l="generateBezier("+[a,b,c,d]+")";return k.toString=function(){return l},k}(a,b,c,d);return function(a,b,c){return a+(b-a)*e(c)}},gJ={linear:function(a,b,c){return a+(b-a)*c},ease:gI(.25,.1,.25,1),"ease-in":gI(.42,0,1,1),"ease-out":gI(0,0,.58,1),"ease-in-out":gI(.42,0,.58,1),"ease-in-sine":gI(.47,0,.745,.715),"ease-out-sine":gI(.39,.575,.565,1),"ease-in-out-sine":gI(.445,.05,.55,.95),"ease-in-quad":gI(.55,.085,.68,.53),"ease-out-quad":gI(.25,.46,.45,.94),"ease-in-out-quad":gI(.455,.03,.515,.955),"ease-in-cubic":gI(.55,.055,.675,.19),"ease-out-cubic":gI(.215,.61,.355,1),"ease-in-out-cubic":gI(.645,.045,.355,1),"ease-in-quart":gI(.895,.03,.685,.22),"ease-out-quart":gI(.165,.84,.44,1),"ease-in-out-quart":gI(.77,0,.175,1),"ease-in-quint":gI(.755,.05,.855,.06),"ease-out-quint":gI(.23,1,.32,1),"ease-in-out-quint":gI(.86,0,.07,1),"ease-in-expo":gI(.95,.05,.795,.035),"ease-out-expo":gI(.19,1,.22,1),"ease-in-out-expo":gI(1,0,0,1),"ease-in-circ":gI(.6,.04,.98,.335),"ease-out-circ":gI(.075,.82,.165,1),"ease-in-out-circ":gI(.785,.135,.15,.86),spring:function(a,b,c){if(0===c)return gJ.linear;var d=gH(a,b,c);return function(a,b,c){return a+(b-a)*d(c)}},"cubic-bezier":gI};function gK(a,b,c,d,e){if(1===d||b===c)return c;var f=e(b,c,d);return null==a||((a.roundValue||a.color)&&(f=Math.round(f)),void 0!==a.min&&(f=Math.max(f,a.min)),void 0!==a.max&&(f=Math.min(f,a.max))),f}function gL(a,b){return null==a.pfValue&&null==a.value?a:null!=a.pfValue&&(null==b||"%"!==b.type.units)?a.pfValue:a.value}function gM(a,b,c,d,e){var f=null!=e?e.type:null;c<0?c=0:c>1&&(c=1);var g=gL(a,e),h=gL(b,e);if(bD(g)&&bD(h))return gK(f,g,h,c,d);if(bB(g)&&bB(h)){for(var i=[],j=0;j<h.length;j++){var k=g[j],l=h[j];if(null!=k&&null!=l){var n=gK(f,k,l,c,d);i.push(n)}else i.push(l)}return i}}function gN(a,b){return null!=a&&null!=b&&(!!(bD(a)&&bD(b))||!!a&&!!b)}function gO(a,b){var c=b._private.aniEles,d=[];function e(b,c){var e=b._private,f=e.animation.current,g=e.animation.queue,h=!1;if(0===f.length){var i=g.shift();i&&f.push(i)}for(var j=function(a){for(var b=a.length-1;b>=0;b--)(0,a[b])();a.splice(0,a.length)},k=f.length-1;k>=0;k--){var l=f[k],n=l._private;if(n.stopped){f.splice(k,1),n.hooked=!1,n.playing=!1,n.started=!1,j(n.frames);continue}(n.playing||n.applying)&&(n.playing&&n.applying&&(n.applying=!1),n.started||function(a,b,c,d){var e=b._private;e.started=!0,e.startTime=c-e.progress*e.duration}(0,l,a),function(a,b,c,d){var e,f,g,h,i=!d,j=a._private,k=b._private,l=k.easing,n=k.startTime,o=(d?a:a.cy()).style();k.easingImpl||(null==l?k.easingImpl=gJ.linear:(e=bz(l)?o.parse("transition-timing-function",l).value:l,bz(e)?(f=e,g=[]):(f=e[1],g=e.slice(2).map(function(a){return+a})),g.length>0?("spring"===f&&g.push(k.duration),k.easingImpl=gJ[f].apply(null,g)):k.easingImpl=gJ[f]));var p=k.easingImpl;if(h=0===k.duration?1:(c-n)/k.duration,k.applying&&(h=k.progress),h<0?h=0:h>1&&(h=1),null==k.delay){var q=k.startPosition,r=k.position;if(r&&i&&!a.locked()){var s={};gN(q.x,r.x)&&(s.x=gM(q.x,r.x,h,p)),gN(q.y,r.y)&&(s.y=gM(q.y,r.y,h,p)),a.position(s)}var t=k.startPan,u=k.pan,v=j.pan,w=null!=u&&d;w&&(gN(t.x,u.x)&&(v.x=gM(t.x,u.x,h,p)),gN(t.y,u.y)&&(v.y=gM(t.y,u.y,h,p)),a.emit("pan"));var x=k.startZoom,y=k.zoom,z=null!=y&&d;z&&(gN(x,y)&&(j.zoom=de(j.minZoom,gM(x,y,h,p),j.maxZoom)),a.emit("zoom")),(w||z)&&a.emit("viewport");var A=k.style;if(A&&A.length>0&&i){for(var B=0;B<A.length;B++){var C=A[B],D=C.name,E=k.startStyle[D],F=o.properties[E.name],G=gM(E,C,h,p,F);o.overrideBypass(a,D,G)}a.emit("style")}}k.progress=h}(b,l,a,c),n.applying&&(n.applying=!1),j(n.frames),null!=n.step&&n.step(a),l.completed()&&(f.splice(k,1),n.hooked=!1,n.playing=!1,n.started=!1,j(n.completes)),h=!0)}return c||0!==f.length||0!==g.length||d.push(b),h}for(var f=!1,g=0;g<c.length;g++){var h=e(c[g]);f=f||h}var i=e(b,!0);(f||i)&&(c.length>0?b.notify("draw",c):b.notify("draw")),c.unmerge(d),b.emit("step")}var gP={animate:fe.animate(),animation:fe.animation(),animated:fe.animated(),clearQueue:fe.clearQueue(),delay:fe.delay(),delayAnimation:fe.delayAnimation(),stop:fe.stop(),addToAnimationPool:function(a){this.styleEnabled()&&this._private.aniEles.merge(a)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var a=this;if(a._private.animationsRunning=!0,a.styleEnabled()){var b=a.renderer();b&&b.beforeRender?b.beforeRender(function(b,c){gO(c,a)},b.beforeRenderPriorities.animations):function b(){a._private.animationsRunning&&ce(function(c){gO(c,a),b()})}()}}},gQ={qualifierCompare:function(a,b){return null==a||null==b?null==a&&null==b:a.sameText(b)},eventMatches:function(a,b,c){var d=b.qualifier;return null==d||a!==c.target&&bG(c.target)&&d.matches(c.target)},addEventFields:function(a,b){b.cy=a,b.target=a},callbackContext:function(a,b,c){return null!=b.qualifier?c.target:a}},gR=function(a){return bz(a)?new fw(a):a},gS={createEmitter:function(){var a=this._private;return a.emitter||(a.emitter=new gb(gQ,this)),this},emitter:function(){return this._private.emitter},on:function(a,b,c){return this.emitter().on(a,gR(b),c),this},removeListener:function(a,b,c){return this.emitter().removeListener(a,gR(b),c),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(a,b,c){return this.emitter().one(a,gR(b),c),this},once:function(a,b,c){return this.emitter().one(a,gR(b),c),this},emit:function(a,b){return this.emitter().emit(a,b),this},emitAndNotify:function(a,b){return this.emit(a),this.notify(a,b),this}};fe.eventAliasesOn(gS);var gT={png:function(a){return a=a||{},this._private.renderer.png(a)},jpg:function(a){var b=this._private.renderer;return(a=a||{}).bg=a.bg||"#fff",b.jpg(a)}};gT.jpeg=gT.jpg;var gU={layout:function(a){if(null==a)return void cw("Layout options must be specified to make a layout");if(null==a.name)return void cw("A `name` must be specified to make a layout");var b,c=a.name,d=this.extension("layout",c);return null==d?void cw("No such layout `"+c+"` found. Did you forget to import it and `cytoscape.use()` it?"):(b=bz(a.eles)?this.$(a.eles):null!=a.eles?a.eles:this.$(),new d(bY({},a,{cy:this,eles:b})))}};gU.createLayout=gU.makeLayout=gU.layout;var gV=cD({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1,webgl:!1,webglDebug:!1,webglDebugShowAtlases:!1,webglTexSize:2048,webglTexRows:36,webglTexRowsNodes:18,webglBatchSize:2048,webglTexPerBatch:14,webglBgColor:[255,255,255]}),gW={renderTo:function(a,b,c,d){return this._private.renderer.renderTo(a,b,c,d),this},renderer:function(){return this._private.renderer},forceRender:function(){return this.notify("draw"),this},resize:function(){return this.invalidateSize(),this.emitAndNotify("resize"),this},initRenderer:function(a){var b=this.extension("renderer",a.name);if(null==b)return void cw("Can not initialise: No such renderer `".concat(a.name,"` found. Did you forget to import it and `cytoscape.use()` it?"));void 0!==a.wheelSensitivity&&cy("You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.");var c=gV(a);c.cy=this,this._private.renderer=new b(c),this.notify("init")},destroyRenderer:function(){this.notify("destroy");var a=this.container();if(a)for(a._cyreg=null;a.childNodes.length>0;)a.removeChild(a.childNodes[0]);this._private.renderer=null,this.mutableElements().forEach(function(a){var b=a._private;b.rscratch={},b.rstyle={},b.animation.current=[],b.animation.queue=[]})},onRender:function(a){return this.on("render",a)},offRender:function(a){return this.off("render",a)}};gW.invalidateDimensions=gW.resize;var gX={collection:function(a,b){return bz(a)?this.$(a):bF(a)?a.collection():bB(a)?(b||(b={}),new gF(this,a,b.unique,b.removed)):new gF(this)},nodes:function(a){var b=this.$(function(a){return a.isNode()});return a?b.filter(a):b},edges:function(a){var b=this.$(function(a){return a.isEdge()});return a?b.filter(a):b},$:function(a){var b=this._private.elements;return a?b.filter(a):b.spawnSelf()},mutableElements:function(){return this._private.elements}};gX.elements=gX.filter=gX.$;var gY={};gY.apply=function(a){for(var b=this._private.cy.collection(),c=0;c<a.length;c++){var d=a[c],e=this.getContextMeta(d);if(!e.empty){var f=this.getContextStyle(e),g=this.applyContextStyle(e,f,d);d._private.appliedInitStyle?this.updateTransitions(d,g.diffProps):d._private.appliedInitStyle=!0,this.updateStyleHints(d)&&b.push(d)}}return b},gY.getPropertiesDiff=function(a,b){var c=this._private.propDiffs=this._private.propDiffs||{},d=a+"-"+b,e=c[d];if(e)return e;for(var f=[],g={},h=0;h<this.length;h++){var i=this[h],j="t"===a[h],k="t"===b[h],l=j!==k,n=i.mappedProperties.length>0;if(l||k&&n){var o=void 0;l&&n||l?o=i.properties:n&&(o=i.mappedProperties);for(var p=0;p<o.length;p++){for(var q=o[p],r=q.name,s=!1,t=h+1;t<this.length;t++){var u=this[t];if("t"===b[t]&&(s=null!=u.properties[q.name]))break}g[r]||s||(g[r]=!0,f.push(r))}}}return c[d]=f,f},gY.getContextMeta=function(a){for(var b,c="",d=a._private.styleCxtKey||"",e=0;e<this.length;e++){var f=this[e];f.selector&&f.selector.matches(a)?c+="t":c+="f"}return b=this.getPropertiesDiff(d,c),a._private.styleCxtKey=c,{key:c,diffPropNames:b,empty:0===b.length}},gY.getContextStyle=function(a){var b=a.key,c=this._private.contextStyles=this._private.contextStyles||{};if(c[b])return c[b];for(var d={_private:{key:b}},e=0;e<this.length;e++){var f=this[e];if("t"===b[e])for(var g=0;g<f.properties.length;g++){var h=f.properties[g];d[h.name]=h}}return c[b]=d,d},gY.applyContextStyle=function(a,b,c){for(var d=a.diffPropNames,e={},f=this.types,g=0;g<d.length;g++){var h=d[g],i=b[h],j=c.pstyle(h);if(!i)if(!j)continue;else i=j.bypass?{name:h,deleteBypassed:!0}:{name:h,delete:!0};if(j!==i){if(i.mapped===f.fn&&null!=j&&null!=j.mapping&&j.mapping.value===i.value){var k=j.mapping;if((k.fnValue=i.value(c))===k.prevFnValue)continue}var l=e[h]={prev:j};this.applyParsedProperty(c,i),l.next=c.pstyle(h),l.next&&l.next.bypass&&(l.next=l.next.bypassed)}}return{diffProps:e}},gY.updateStyleHints=function(a){var b=a._private,c=this,d=c.propertyGroupNames,e=c.propertyGroupKeys,f=function(a,b,d){return c.getPropertiesHash(a,b,d)},g=b.styleKey;if(a.removed())return!1;var h="nodes"===b.group,i=a._private.style;d=Object.keys(i);for(var j=0;j<e.length;j++){var k=e[j];b.styleKeys[k]=[9261,5381]}for(var l=function(a,c){return b.styleKeys[c][0]=cg(a,b.styleKeys[c][0])},n=function(a,c){return b.styleKeys[c][1]=ch(a,b.styleKeys[c][1])},o=function(a,b){for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);l(d,b),n(d,b)}},p=0;p<d.length;p++){var q=d[p],r=i[q];if(null!=r){var s,t,u=this.properties[q],v=u.type,w=u.groupKey,x=void 0;null!=u.hashOverride?x=u.hashOverride(a,r):null!=r.pfValue&&(x=r.pfValue);var y=null==u.enums?r.value:null,z=null!=x,A=null!=y,B=z||A,C=r.units;v.number&&B&&!v.multiple?(l(t=-128<(s=z?x:y)&&s<128&&Math.floor(s)!==s?2e9-(1024*s|0):s,w),n(t,w),z||null==C||o(C,w)):o(r.strValue,w)}}for(var D=[9261,5381],E=0;E<e.length;E++){var F=e[E],G=b.styleKeys[F];D[0]=cg(G[0],D[0]),D[1]=ch(G[1],D[1])}b.styleKey=2097152*D[0]+D[1];var H=b.styleKeys;b.labelDimsKey=ci(H.labelDimensions);var I=f(a,["label"],H.labelDimensions);if(b.labelKey=ci(I),b.labelStyleKey=ci(cj(H.commonLabel,I)),!h){var J=f(a,["source-label"],H.labelDimensions);b.sourceLabelKey=ci(J),b.sourceLabelStyleKey=ci(cj(H.commonLabel,J));var K=f(a,["target-label"],H.labelDimensions);b.targetLabelKey=ci(K),b.targetLabelStyleKey=ci(cj(H.commonLabel,K))}if(h){var L=b.styleKeys,M=L.nodeBody,N=L.nodeBorder,O=L.nodeOutline,P=L.backgroundImage,Q=L.compound,R=L.pie,S=L.stripe;b.nodeKey=ci([M,N,O,P,Q,R,S].filter(function(a){return null!=a}).reduce(cj,[9261,5381])),b.hasPie=null!=R&&9261!==R[0]&&5381!==R[1],b.hasStripe=null!=S&&9261!==S[0]&&5381!==S[1]}return g!==b.styleKey},gY.clearStyleHints=function(a){var b=a._private;b.styleCxtKey="",b.styleKeys={},b.styleKey=null,b.labelKey=null,b.labelStyleKey=null,b.sourceLabelKey=null,b.sourceLabelStyleKey=null,b.targetLabelKey=null,b.targetLabelStyleKey=null,b.nodeKey=null,b.hasPie=null,b.hasStripe=null},gY.applyParsedProperty=function(a,b){var c=this,d=b,e=a._private.style,f=c.types,g=c.properties[d.name].type,h=d.bypass,i=e[d.name],j=i&&i.bypass,k=a._private,l="mapping",n=function(a){return null==a?null:null!=a.pfValue?a.pfValue:a.value},o=function(){var b=n(i),e=n(d);c.checkTriggers(a,d.name,b,e)};if("curve-style"===b.name&&a.isEdge()&&("bezier"!==b.value&&a.isLoop()||"haystack"===b.value&&(a.source().isParent()||a.target().isParent()))&&(d=b=this.parse(b.name,"bezier",h)),d.delete)return e[d.name]=void 0,o(),!0;if(d.deleteBypassed)if(!i)return o(),!0;else if(i.bypass)return i.bypassed=void 0,o(),!0;else return!1;if(d.deleteBypass)if(!i)return o(),!0;else if(i.bypass)return e[d.name]=i.bypassed,o(),!0;else return!1;var p=function(){cy("Do not assign mappings to elements without corresponding data (i.e. ele `"+a.id()+"` has no mapping for property `"+d.name+"` with data field `"+d.field+"`); try a `["+d.field+"]` selector to limit scope to elements with `"+d.field+"` defined")};switch(d.mapped){case f.mapData:for(var q,r,s=d.field.split("."),t=k.data,u=0;u<s.length&&t;u++)t=t[s[u]];if(null==t)return p(),!1;if(!bD(t))return cy("Do not use continuous mappers without specifying numeric data (i.e. `"+d.field+": "+t+"` for `"+a.id()+"` is non-numeric)"),!1;var v=d.fieldMax-d.fieldMin;if((r=0===v?0:(t-d.fieldMin)/v)<0?r=0:r>1&&(r=1),g.color){var w=d.valueMin[0],x=d.valueMax[0],y=d.valueMin[1],z=d.valueMax[1],A=d.valueMin[2],B=d.valueMax[2],C=null==d.valueMin[3]?1:d.valueMin[3],D=[Math.round(w+(x-w)*r),Math.round(y+(z-y)*r),Math.round(A+(B-A)*r),Math.round(C+((null==d.valueMax[3]?1:d.valueMax[3])-C)*r)];q={bypass:d.bypass,name:d.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else{if(!g.number)return!1;var E=d.valueMin+(d.valueMax-d.valueMin)*r;q=this.parse(d.name,E,d.bypass,l)}if(!q)return p(),!1;q.mapping=d,d=q;break;case f.data:for(var F=d.field.split("."),G=k.data,H=0;H<F.length&&G;H++)G=G[F[H]];if(null!=G&&(q=this.parse(d.name,G,d.bypass,l)),!q)return p(),!1;q.mapping=d,d=q;break;case f.fn:var I=d.value,J=null!=d.fnValue?d.fnValue:I(a);if(d.prevFnValue=J,null==J)return cy("Custom function mappers may not return null (i.e. `"+d.name+"` for ele `"+a.id()+"` is null)"),!1;if(!(q=this.parse(d.name,J,d.bypass,l)))return cy("Custom function mappers may not return invalid values for the property type (i.e. `"+d.name+"` for ele `"+a.id()+"` is invalid)"),!1;q.mapping=cz(d),d=q;break;case void 0:break;default:return!1}return h?(j?d.bypassed=i.bypassed:d.bypassed=i,e[d.name]=d):j?i.bypassed=d:e[d.name]=d,o(),!0},gY.cleanElements=function(a,b){for(var c=0;c<a.length;c++){var d=a[c];if(this.clearStyleHints(d),d.dirtyCompoundBoundsCache(),d.dirtyBoundingBoxCache(),b)for(var e=d._private.style,f=Object.keys(e),g=0;g<f.length;g++){var h=f[g],i=e[h];null!=i&&(i.bypass?i.bypassed=null:e[h]=null)}else d._private.style={}}},gY.update=function(){this._private.cy.mutableElements().updateStyle()},gY.updateTransitions=function(a,b){var c=this,d=a._private,e=a.pstyle("transition-property").value,f=a.pstyle("transition-duration").pfValue,g=a.pstyle("transition-delay").pfValue;if(e.length>0&&f>0){for(var h={},i=!1,j=0;j<e.length;j++){var k=e[j],l=a.pstyle(k),n=b[k];if(n){var o=n.prev,p=null!=n.next?n.next:l,q=!1,r=void 0;o&&(bD(o.pfValue)&&bD(p.pfValue)?(q=p.pfValue-o.pfValue,r=o.pfValue+1e-6*q):bD(o.value)&&bD(p.value)?(q=p.value-o.value,r=o.value+1e-6*q):bB(o.value)&&bB(p.value)&&(q=o.value[0]!==p.value[0]||o.value[1]!==p.value[1]||o.value[2]!==p.value[2],r=o.strValue),q&&(h[k]=p.strValue,this.applyBypass(a,k,r),i=!0))}}if(!i)return;d.transitioning=!0,new eZ(function(b){g>0?a.delayAnimation(g).play().promise().then(b):b()}).then(function(){return a.animation({style:h,duration:f,easing:a.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){c.removeBypasses(a,e),a.emitAndNotify("style"),d.transitioning=!1})}else d.transitioning&&(this.removeBypasses(a,e),a.emitAndNotify("style"),d.transitioning=!1)},gY.checkTrigger=function(a,b,c,d,e,f){var g=this.properties[b],h=e(g);!a.removed()&&null!=h&&h(c,d,a)&&f(g)},gY.checkZOrderTrigger=function(a,b,c,d){var e=this;this.checkTrigger(a,b,c,d,function(a){return a.triggersZOrder},function(){e._private.cy.notify("zorder",a)})},gY.checkBoundsTrigger=function(a,b,c,d){this.checkTrigger(a,b,c,d,function(a){return a.triggersBounds},function(b){a.dirtyCompoundBoundsCache(),a.dirtyBoundingBoxCache()})},gY.checkConnectedEdgesBoundsTrigger=function(a,b,c,d){this.checkTrigger(a,b,c,d,function(a){return a.triggersBoundsOfConnectedEdges},function(b){a.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})},gY.checkParallelEdgesBoundsTrigger=function(a,b,c,d){this.checkTrigger(a,b,c,d,function(a){return a.triggersBoundsOfParallelEdges},function(b){a.parallelEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})},gY.checkTriggers=function(a,b,c,d){a.dirtyStyleCache(),this.checkZOrderTrigger(a,b,c,d),this.checkBoundsTrigger(a,b,c,d),this.checkConnectedEdgesBoundsTrigger(a,b,c,d),this.checkParallelEdgesBoundsTrigger(a,b,c,d)};var gZ={};gZ.applyBypass=function(a,b,c,d){var e=[];if("*"===b||"**"===b){if(void 0!==c)for(var f=0;f<this.properties.length;f++){var g=this.properties[f].name,h=this.parse(g,c,!0);h&&e.push(h)}}else if(bz(b)){var i=this.parse(b,c,!0);i&&e.push(i)}else{if(!bC(b))return!1;d=c;for(var j=Object.keys(b),k=0;k<j.length;k++){var l=j[k],n=b[l];if(void 0===n&&(n=b[bO(l)]),void 0!==n){var o=this.parse(l,n,!0);o&&e.push(o)}}}if(0===e.length)return!1;for(var p=!1,q=0;q<a.length;q++){for(var r=a[q],s={},t=void 0,u=0;u<e.length;u++){var v=e[u];if(d){var w=r.pstyle(v.name);t=s[v.name]={prev:w}}p=this.applyParsedProperty(r,cz(v))||p,d&&(t.next=r.pstyle(v.name))}p&&this.updateStyleHints(r),d&&this.updateTransitions(r,s,!0)}return p},gZ.overrideBypass=function(a,b,c){b=bN(b);for(var d=0;d<a.length;d++){var e=a[d],f=e._private.style[b],g=this.properties[b].type,h=g.color,i=g.mutiple,j=f?null!=f.pfValue?f.pfValue:f.value:null;f&&f.bypass?(f.value=c,null!=f.pfValue&&(f.pfValue=c),h?f.strValue="rgb("+c.join(",")+")":i?f.strValue=c.join(" "):f.strValue=""+c,this.updateStyleHints(e)):this.applyBypass(e,b,c),this.checkTriggers(e,b,j,c)}},gZ.removeAllBypasses=function(a,b){return this.removeBypasses(a,this.propertyNames,b)},gZ.removeBypasses=function(a,b,c){for(var d=0;d<a.length;d++){for(var e=a[d],f={},g=0;g<b.length;g++){var h=b[g],i=this.properties[h],j=e.pstyle(i.name);if(j&&j.bypass){var k=this.parse(h,"",!0),l=f[i.name]={prev:j};this.applyParsedProperty(e,k),l.next=e.pstyle(i.name)}}this.updateStyleHints(e),c&&this.updateTransitions(e,f,!0)}};var g$={};g$.getEmSizeInPixels=function(){var a=this.containerCss("font-size");return null!=a?parseFloat(a):1},g$.containerCss=function(a){var b=this._private.cy,c=b.container(),d=b.window();if(d&&c&&d.getComputedStyle)return d.getComputedStyle(c).getPropertyValue(a)};var g_={};g_.getRenderedStyle=function(a,b){return b?this.getStylePropertyValue(a,b,!0):this.getRawStyle(a,!0)},g_.getRawStyle=function(a,b){if(a=a[0]){for(var c={},d=0;d<this.properties.length;d++){var e=this.properties[d],f=this.getStylePropertyValue(a,e.name,b);null!=f&&(c[e.name]=f,c[bO(e.name)]=f)}return c}},g_.getIndexedStyle=function(a,b,c,d){var e=a.pstyle(b)[c][d];return null!=e?e:a.cy().style().getDefaultProperty(b)[c][0]},g_.getStylePropertyValue=function(a,b,c){if(a=a[0]){var d=this.properties[b];d.alias&&(d=d.pointsTo);var e=d.type,f=a.pstyle(d.name);if(f){var g=f.value,h=f.units,i=f.strValue;if(c&&e.number&&null!=g&&bD(g)){var j=a.cy().zoom(),k=function(a){return a*j},l=function(a,b){return k(a)+b},n=bB(g);if(n?h.every(function(a){return null!=a}):null!=h)if(n)return g.map(function(a,b){return l(a,h[b])}).join(" ");else return l(g,h);return n?g.map(function(a){return bz(a)?a:""+k(a)}).join(" "):""+k(g)}if(null!=i)return i}return null}},g_.getAnimationStartStyle=function(a,b){for(var c={},d=0;d<b.length;d++){var e=b[d].name,f=a.pstyle(e);void 0!==f&&(f=bC(f)?this.parse(e,f.strValue):this.parse(e,f)),f&&(c[e]=f)}return c},g_.getPropsList=function(a){var b=[],c=this.properties;if(a)for(var d=Object.keys(a),e=0;e<d.length;e++){var f=d[e],g=a[f],h=c[f]||c[bN(f)],i=this.parse(h.name,g);i&&b.push(i)}return b},g_.getNonDefaultPropertiesHash=function(a,b,c){var d,e,f,g,h,i,j=c.slice();for(h=0;h<b.length;h++)if(d=b[h],null!=(e=a.pstyle(d,!1)))if(null!=e.pfValue)j[0]=cg(g,j[0]),j[1]=ch(g,j[1]);else for(i=0,f=e.strValue;i<f.length;i++)g=f.charCodeAt(i),j[0]=cg(g,j[0]),j[1]=ch(g,j[1]);return j},g_.getPropertiesHash=g_.getNonDefaultPropertiesHash;var g0={};g0.appendFromJson=function(a){for(var b=0;b<a.length;b++){var c=a[b],d=c.selector,e=c.style||c.css,f=Object.keys(e);this.selector(d);for(var g=0;g<f.length;g++){var h=f[g],i=e[h];this.css(h,i)}}return this},g0.fromJson=function(a){return this.resetToDefault(),this.appendFromJson(a),this},g0.json=function(){for(var a=[],b=this.defaultLength;b<this.length;b++){for(var c=this[b],d=c.selector,e=c.properties,f={},g=0;g<e.length;g++){var h=e[g];f[h.name]=h.strValue}a.push({selector:d?d.toString():"core",style:f})}return a};var g1={};g1.appendFromString=function(a){var b,c,d,e=""+a;function f(){e=e.length>b.length?e.substr(b.length):""}function g(){c=c.length>d.length?c.substr(d.length):""}for(e=e.replace(/[/][*](\s|.)+?[*][/]/g,"");!e.match(/^\s*$/);){var h=e.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!h){cy("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+e);break}b=h[0];var i=h[1];if("core"!==i&&new fw(i).invalid){cy("Skipping parsing of block: Invalid selector found in string stylesheet: "+i),f();continue}var j=h[2],k=!1;c=j;for(var l=[];!c.match(/^\s*$/);){var n=c.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!n){cy("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+j),k=!0;break}d=n[0];var o=n[1],p=n[2];if(!this.properties[o]){cy("Skipping property: Invalid property name in: "+d),g();continue}if(!this.parse(o,p)){cy("Skipping property: Invalid property definition in: "+d),g();continue}l.push({name:o,val:p}),g()}if(k){f();break}this.selector(i);for(var q=0;q<l.length;q++){var r=l[q];this.css(r.name,r.val)}f()}return this},g1.fromString=function(a){return this.resetToDefault(),this.appendFromString(a),this};var g2={};!function(){var a=function(a){return"^"+a+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},b=function(a){var b=bS+"|\\w+|"+bU+"|"+bW+"|\\#[0-9a-fA-F]{3}|\\#[0-9a-fA-F]{6}";return"^"+a+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+bS+")\\s*\\,\\s*("+bS+")\\s*,\\s*("+b+")\\s*\\,\\s*("+b+")\\)$"},c=["^url\\s*\\(\\s*['\"]?(.+?)['\"]?\\s*\\)$","^(none)$","^(.+)$"];g2.types={time:{number:!0,min:0,units:"s|ms",implicitUnits:"ms"},percent:{number:!0,min:0,max:100,units:"%",implicitUnits:"%"},percentages:{number:!0,min:0,max:100,units:"%",implicitUnits:"%",multiple:!0},zeroOneNumber:{number:!0,min:0,max:1,unitless:!0},zeroOneNumbers:{number:!0,min:0,max:1,unitless:!0,multiple:!0},nOneOneNumber:{number:!0,min:-1,max:1,unitless:!0},nonNegativeInt:{number:!0,min:0,integer:!0,unitless:!0},nonNegativeNumber:{number:!0,min:0,unitless:!0},position:{enums:["parent","origin"]},nodeSize:{number:!0,min:0,enums:["label"]},number:{number:!0,unitless:!0},numbers:{number:!0,unitless:!0,multiple:!0},positiveNumber:{number:!0,unitless:!0,min:0,strictMin:!0},size:{number:!0,min:0},bidirectionalSize:{number:!0},bidirectionalSizeMaybePercent:{number:!0,allowPercent:!0},bidirectionalSizes:{number:!0,multiple:!0},sizeMaybePercent:{number:!0,min:0,allowPercent:!0},axisDirection:{enums:["horizontal","leftward","rightward","vertical","upward","downward","auto"]},axisDirectionExplicit:{enums:["leftward","rightward","upward","downward"]},axisDirectionPrimary:{enums:["horizontal","vertical"]},paddingRelativeTo:{enums:["width","height","average","min","max"]},bgWH:{number:!0,min:0,allowPercent:!0,enums:["auto"],multiple:!0},bgPos:{number:!0,allowPercent:!0,multiple:!0},bgRelativeTo:{enums:["inner","include-padding"],multiple:!0},bgRepeat:{enums:["repeat","repeat-x","repeat-y","no-repeat"],multiple:!0},bgFit:{enums:["none","contain","cover"],multiple:!0},bgCrossOrigin:{enums:["anonymous","use-credentials","null"],multiple:!0},bgClip:{enums:["none","node"],multiple:!0},bgContainment:{enums:["inside","over"],multiple:!0},boxSelection:{enums:["contain","overlap","none"]},color:{color:!0},colors:{color:!0,multiple:!0},fill:{enums:["solid","linear-gradient","radial-gradient"]},bool:{enums:["yes","no"]},bools:{enums:["yes","no"],multiple:!0},lineStyle:{enums:["solid","dotted","dashed"]},lineCap:{enums:["butt","round","square"]},linePosition:{enums:["center","inside","outside"]},lineJoin:{enums:["round","bevel","miter"]},borderStyle:{enums:["solid","dotted","dashed","double"]},curveStyle:{enums:["bezier","unbundled-bezier","haystack","segments","straight","straight-triangle","taxi","round-segments","round-taxi"]},radiusType:{enums:["arc-radius","influence-radius"],multiple:!0},fontFamily:{regex:'^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$'},fontStyle:{enums:["italic","normal","oblique"]},fontWeight:{enums:["normal","bold","bolder","lighter","100","200","300","400","500","600","800","900",100,200,300,400,500,600,700,800,900]},textDecoration:{enums:["none","underline","overline","line-through"]},textTransform:{enums:["none","uppercase","lowercase"]},textWrap:{enums:["none","wrap","ellipsis"]},textOverflowWrap:{enums:["whitespace","anywhere"]},textBackgroundShape:{enums:["rectangle","roundrectangle","round-rectangle","circle"]},nodeShape:{enums:["rectangle","roundrectangle","round-rectangle","cutrectangle","cut-rectangle","bottomroundrectangle","bottom-round-rectangle","barrel","ellipse","triangle","round-triangle","square","pentagon","round-pentagon","hexagon","round-hexagon","concavehexagon","concave-hexagon","heptagon","round-heptagon","octagon","round-octagon","tag","round-tag","star","diamond","round-diamond","vee","rhomboid","right-rhomboid","polygon"]},overlayShape:{enums:["roundrectangle","round-rectangle","ellipse"]},cornerRadius:{number:!0,min:0,units:"px|em",implicitUnits:"px",enums:["auto"]},compoundIncludeLabels:{enums:["include","exclude"]},arrowShape:{enums:["tee","triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","square","circle","diamond","chevron","none"]},arrowFill:{enums:["filled","hollow"]},arrowWidth:{number:!0,units:"%|px|em",implicitUnits:"px",enums:["match-line"]},display:{enums:["element","none"]},visibility:{enums:["hidden","visible"]},zCompoundDepth:{enums:["bottom","orphan","auto","top"]},zIndexCompare:{enums:["auto","manual"]},valign:{enums:["top","center","bottom"]},halign:{enums:["left","center","right"]},justification:{enums:["left","center","right","auto"]},text:{string:!0},data:{mapping:!0,regex:a("data")},layoutData:{mapping:!0,regex:a("layoutData")},scratch:{mapping:!0,regex:a("scratch")},mapData:{mapping:!0,regex:b("mapData")},mapLayoutData:{mapping:!0,regex:b("mapLayoutData")},mapScratch:{mapping:!0,regex:b("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:c,singleRegexMatchValue:!0},urls:{regexes:c,singleRegexMatchValue:!0,multiple:!0},propList:{propList:!0},angle:{number:!0,units:"deg|rad",implicitUnits:"rad"},textRotation:{number:!0,units:"deg|rad",implicitUnits:"rad",enums:["none","autorotate"]},polygonPointList:{number:!0,multiple:!0,evenMultiple:!0,min:-1,max:1,unitless:!0},edgeDistances:{enums:["intersection","node-position","endpoints"]},edgeEndpoint:{number:!0,multiple:!0,units:"%|px|em|deg|rad",implicitUnits:"px",enums:["inside-to-node","outside-to-node","outside-to-node-or-label","outside-to-line","outside-to-line-or-label"],singleEnum:!0,validate:function(a,b){switch(a.length){case 2:return"deg"!==b[0]&&"rad"!==b[0]&&"deg"!==b[1]&&"rad"!==b[1];case 1:return bz(a[0])||"deg"===b[0]||"rad"===b[0];default:return!1}}},easing:{regexes:["^(spring)\\s*\\(\\s*("+bS+")\\s*,\\s*("+bS+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+bS+")\\s*,\\s*("+bS+")\\s*,\\s*("+bS+")\\s*,\\s*("+bS+")\\s*\\)$"],enums:["linear","ease","ease-in","ease-out","ease-in-out","ease-in-sine","ease-out-sine","ease-in-out-sine","ease-in-quad","ease-out-quad","ease-in-out-quad","ease-in-cubic","ease-out-cubic","ease-in-out-cubic","ease-in-quart","ease-out-quart","ease-in-out-quart","ease-in-quint","ease-out-quint","ease-in-out-quint","ease-in-expo","ease-out-expo","ease-in-out-expo","ease-in-circ","ease-out-circ","ease-in-out-circ"]},gradientDirection:{enums:["to-bottom","to-top","to-left","to-right","to-bottom-right","to-bottom-left","to-top-right","to-top-left","to-right-bottom","to-left-bottom","to-right-top","to-left-top"]},boundsExpansion:{number:!0,multiple:!0,min:0,validate:function(a){var b=a.length;return 1===b||2===b||4===b}}};var d=function(a,b){return(null==a||null==b)&&a!==b||0==a&&0!=b||0!=a&&0==b},e=function(a,b){return a!=b},f=g2.types,g=[{name:"label",type:f.text,triggersBounds:e,triggersZOrder:function(a,b){var c=bK(a),d=bK(b);return c&&!d||!c&&d}},{name:"text-rotation",type:f.textRotation,triggersBounds:e},{name:"text-margin-x",type:f.bidirectionalSize,triggersBounds:e},{name:"text-margin-y",type:f.bidirectionalSize,triggersBounds:e}],h=[{name:"source-label",type:f.text,triggersBounds:e},{name:"source-text-rotation",type:f.textRotation,triggersBounds:e},{name:"source-text-margin-x",type:f.bidirectionalSize,triggersBounds:e},{name:"source-text-margin-y",type:f.bidirectionalSize,triggersBounds:e},{name:"source-text-offset",type:f.size,triggersBounds:e}],i=[{name:"target-label",type:f.text,triggersBounds:e},{name:"target-text-rotation",type:f.textRotation,triggersBounds:e},{name:"target-text-margin-x",type:f.bidirectionalSize,triggersBounds:e},{name:"target-text-margin-y",type:f.bidirectionalSize,triggersBounds:e},{name:"target-text-offset",type:f.size,triggersBounds:e}],j=[{name:"font-family",type:f.fontFamily,triggersBounds:e},{name:"font-style",type:f.fontStyle,triggersBounds:e},{name:"font-weight",type:f.fontWeight,triggersBounds:e},{name:"font-size",type:f.size,triggersBounds:e},{name:"text-transform",type:f.textTransform,triggersBounds:e},{name:"text-wrap",type:f.textWrap,triggersBounds:e},{name:"text-overflow-wrap",type:f.textOverflowWrap,triggersBounds:e},{name:"text-max-width",type:f.size,triggersBounds:e},{name:"text-outline-width",type:f.size,triggersBounds:e},{name:"line-height",type:f.positiveNumber,triggersBounds:e}],k=[{name:"text-valign",type:f.valign,triggersBounds:e},{name:"text-halign",type:f.halign,triggersBounds:e},{name:"color",type:f.color},{name:"text-outline-color",type:f.color},{name:"text-outline-opacity",type:f.zeroOneNumber},{name:"text-background-color",type:f.color},{name:"text-background-opacity",type:f.zeroOneNumber},{name:"text-background-padding",type:f.size,triggersBounds:e},{name:"text-border-opacity",type:f.zeroOneNumber},{name:"text-border-color",type:f.color},{name:"text-border-width",type:f.size,triggersBounds:e},{name:"text-border-style",type:f.borderStyle,triggersBounds:e},{name:"text-background-shape",type:f.textBackgroundShape,triggersBounds:e},{name:"text-justification",type:f.justification},{name:"box-select-labels",type:f.bool,triggersBounds:e}],l=[{name:"events",type:f.bool,triggersZOrder:e},{name:"text-events",type:f.bool,triggersZOrder:e},{name:"box-selection",type:f.boxSelection,triggersZOrder:e}],n=[{name:"display",type:f.display,triggersZOrder:e,triggersBounds:e,triggersBoundsOfConnectedEdges:e,triggersBoundsOfParallelEdges:function(a,b,c){return a!==b&&"bezier"===c.pstyle("curve-style").value}},{name:"visibility",type:f.visibility,triggersZOrder:e},{name:"opacity",type:f.zeroOneNumber,triggersZOrder:d},{name:"text-opacity",type:f.zeroOneNumber},{name:"min-zoomed-font-size",type:f.size},{name:"z-compound-depth",type:f.zCompoundDepth,triggersZOrder:e},{name:"z-index-compare",type:f.zIndexCompare,triggersZOrder:e},{name:"z-index",type:f.number,triggersZOrder:e}],o=[{name:"overlay-padding",type:f.size,triggersBounds:e},{name:"overlay-color",type:f.color},{name:"overlay-opacity",type:f.zeroOneNumber,triggersBounds:d},{name:"overlay-shape",type:f.overlayShape,triggersBounds:e},{name:"overlay-corner-radius",type:f.cornerRadius}],p=[{name:"underlay-padding",type:f.size,triggersBounds:e},{name:"underlay-color",type:f.color},{name:"underlay-opacity",type:f.zeroOneNumber,triggersBounds:d},{name:"underlay-shape",type:f.overlayShape,triggersBounds:e},{name:"underlay-corner-radius",type:f.cornerRadius}],q=[{name:"transition-property",type:f.propList},{name:"transition-duration",type:f.time},{name:"transition-delay",type:f.time},{name:"transition-timing-function",type:f.easing}],r=function(a,b){return"label"===b.value?-a.poolIndex():b.pfValue},s=[{name:"height",type:f.nodeSize,triggersBounds:e,hashOverride:r},{name:"width",type:f.nodeSize,triggersBounds:e,hashOverride:r},{name:"shape",type:f.nodeShape,triggersBounds:e},{name:"shape-polygon-points",type:f.polygonPointList,triggersBounds:e},{name:"corner-radius",type:f.cornerRadius},{name:"background-color",type:f.color},{name:"background-fill",type:f.fill},{name:"background-opacity",type:f.zeroOneNumber},{name:"background-blacken",type:f.nOneOneNumber},{name:"background-gradient-stop-colors",type:f.colors},{name:"background-gradient-stop-positions",type:f.percentages},{name:"background-gradient-direction",type:f.gradientDirection},{name:"padding",type:f.sizeMaybePercent,triggersBounds:e},{name:"padding-relative-to",type:f.paddingRelativeTo,triggersBounds:e},{name:"bounds-expansion",type:f.boundsExpansion,triggersBounds:e}],t=[{name:"border-color",type:f.color},{name:"border-opacity",type:f.zeroOneNumber},{name:"border-width",type:f.size,triggersBounds:e},{name:"border-style",type:f.borderStyle},{name:"border-cap",type:f.lineCap},{name:"border-join",type:f.lineJoin},{name:"border-dash-pattern",type:f.numbers},{name:"border-dash-offset",type:f.number},{name:"border-position",type:f.linePosition}],u=[{name:"outline-color",type:f.color},{name:"outline-opacity",type:f.zeroOneNumber},{name:"outline-width",type:f.size,triggersBounds:e},{name:"outline-style",type:f.borderStyle},{name:"outline-offset",type:f.size,triggersBounds:e}],v=[{name:"background-image",type:f.urls},{name:"background-image-crossorigin",type:f.bgCrossOrigin},{name:"background-image-opacity",type:f.zeroOneNumbers},{name:"background-image-containment",type:f.bgContainment},{name:"background-image-smoothing",type:f.bools},{name:"background-position-x",type:f.bgPos},{name:"background-position-y",type:f.bgPos},{name:"background-width-relative-to",type:f.bgRelativeTo},{name:"background-height-relative-to",type:f.bgRelativeTo},{name:"background-repeat",type:f.bgRepeat},{name:"background-fit",type:f.bgFit},{name:"background-clip",type:f.bgClip},{name:"background-width",type:f.bgWH},{name:"background-height",type:f.bgWH},{name:"background-offset-x",type:f.bgPos},{name:"background-offset-y",type:f.bgPos}],w=[{name:"position",type:f.position,triggersBounds:e},{name:"compound-sizing-wrt-labels",type:f.compoundIncludeLabels,triggersBounds:e},{name:"min-width",type:f.size,triggersBounds:e},{name:"min-width-bias-left",type:f.sizeMaybePercent,triggersBounds:e},{name:"min-width-bias-right",type:f.sizeMaybePercent,triggersBounds:e},{name:"min-height",type:f.size,triggersBounds:e},{name:"min-height-bias-top",type:f.sizeMaybePercent,triggersBounds:e},{name:"min-height-bias-bottom",type:f.sizeMaybePercent,triggersBounds:e}],x=[{name:"line-style",type:f.lineStyle},{name:"line-color",type:f.color},{name:"line-fill",type:f.fill},{name:"line-cap",type:f.lineCap},{name:"line-opacity",type:f.zeroOneNumber},{name:"line-dash-pattern",type:f.numbers},{name:"line-dash-offset",type:f.number},{name:"line-outline-width",type:f.size},{name:"line-outline-color",type:f.color},{name:"line-gradient-stop-colors",type:f.colors},{name:"line-gradient-stop-positions",type:f.percentages},{name:"curve-style",type:f.curveStyle,triggersBounds:e,triggersBoundsOfParallelEdges:function(a,b){return a!==b&&("bezier"===a||"bezier"===b)}},{name:"haystack-radius",type:f.zeroOneNumber,triggersBounds:e},{name:"source-endpoint",type:f.edgeEndpoint,triggersBounds:e},{name:"target-endpoint",type:f.edgeEndpoint,triggersBounds:e},{name:"control-point-step-size",type:f.size,triggersBounds:e},{name:"control-point-distances",type:f.bidirectionalSizes,triggersBounds:e},{name:"control-point-weights",type:f.numbers,triggersBounds:e},{name:"segment-distances",type:f.bidirectionalSizes,triggersBounds:e},{name:"segment-weights",type:f.numbers,triggersBounds:e},{name:"segment-radii",type:f.numbers,triggersBounds:e},{name:"radius-type",type:f.radiusType,triggersBounds:e},{name:"taxi-turn",type:f.bidirectionalSizeMaybePercent,triggersBounds:e},{name:"taxi-turn-min-distance",type:f.size,triggersBounds:e},{name:"taxi-direction",type:f.axisDirection,triggersBounds:e},{name:"taxi-radius",type:f.number,triggersBounds:e},{name:"edge-distances",type:f.edgeDistances,triggersBounds:e},{name:"arrow-scale",type:f.positiveNumber,triggersBounds:e},{name:"loop-direction",type:f.angle,triggersBounds:e},{name:"loop-sweep",type:f.angle,triggersBounds:e},{name:"source-distance-from-node",type:f.size,triggersBounds:e},{name:"target-distance-from-node",type:f.size,triggersBounds:e}],y=[{name:"ghost",type:f.bool,triggersBounds:e},{name:"ghost-offset-x",type:f.bidirectionalSize,triggersBounds:e},{name:"ghost-offset-y",type:f.bidirectionalSize,triggersBounds:e},{name:"ghost-opacity",type:f.zeroOneNumber}],z=[{name:"selection-box-color",type:f.color},{name:"selection-box-opacity",type:f.zeroOneNumber},{name:"selection-box-border-color",type:f.color},{name:"selection-box-border-width",type:f.size},{name:"active-bg-color",type:f.color},{name:"active-bg-opacity",type:f.zeroOneNumber},{name:"active-bg-size",type:f.size},{name:"outside-texture-bg-color",type:f.color},{name:"outside-texture-bg-opacity",type:f.zeroOneNumber}],A=[];g2.pieBackgroundN=16,A.push({name:"pie-size",type:f.sizeMaybePercent}),A.push({name:"pie-hole",type:f.sizeMaybePercent}),A.push({name:"pie-start-angle",type:f.angle});for(var B=1;B<=g2.pieBackgroundN;B++)A.push({name:"pie-"+B+"-background-color",type:f.color}),A.push({name:"pie-"+B+"-background-size",type:f.percent}),A.push({name:"pie-"+B+"-background-opacity",type:f.zeroOneNumber});var C=[];g2.stripeBackgroundN=16,C.push({name:"stripe-size",type:f.sizeMaybePercent}),C.push({name:"stripe-direction",type:f.axisDirectionPrimary});for(var D=1;D<=g2.stripeBackgroundN;D++)C.push({name:"stripe-"+D+"-background-color",type:f.color}),C.push({name:"stripe-"+D+"-background-size",type:f.percent}),C.push({name:"stripe-"+D+"-background-opacity",type:f.zeroOneNumber});var E=[],F=g2.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:f.arrowShape,triggersBounds:e},{name:"arrow-color",type:f.color},{name:"arrow-fill",type:f.arrowFill},{name:"arrow-width",type:f.arrowWidth}].forEach(function(a){F.forEach(function(b){var c=b+"-"+a.name,d=a.type,e=a.triggersBounds;E.push({name:c,type:d,triggersBounds:e})})},{});var G=g2.properties=[].concat(l,q,n,o,p,y,k,j,g,h,i,s,t,u,v,A,C,w,x,E,z),H=g2.propertyGroups={behavior:l,transition:q,visibility:n,overlay:o,underlay:p,ghost:y,commonLabel:k,labelDimensions:j,mainLabel:g,sourceLabel:h,targetLabel:i,nodeBody:s,nodeBorder:t,nodeOutline:u,backgroundImage:v,pie:A,stripe:C,compound:w,edgeLine:x,edgeArrow:E,core:z},I=g2.propertyGroupNames={};(g2.propertyGroupKeys=Object.keys(H)).forEach(function(a){I[a]=H[a].map(function(a){return a.name}),H[a].forEach(function(b){return b.groupKey=a})});var J=g2.aliases=[{name:"content",pointsTo:"label"},{name:"control-point-distance",pointsTo:"control-point-distances"},{name:"control-point-weight",pointsTo:"control-point-weights"},{name:"segment-distance",pointsTo:"segment-distances"},{name:"segment-weight",pointsTo:"segment-weights"},{name:"segment-radius",pointsTo:"segment-radii"},{name:"edge-text-rotation",pointsTo:"text-rotation"},{name:"padding-left",pointsTo:"padding"},{name:"padding-right",pointsTo:"padding"},{name:"padding-top",pointsTo:"padding"},{name:"padding-bottom",pointsTo:"padding"}];g2.propertyNames=G.map(function(a){return a.name});for(var K=0;K<G.length;K++){var L=G[K];G[L.name]=L}for(var M=0;M<J.length;M++){var N=J[M],O=G[N.pointsTo],P={name:N.name,alias:!0,pointsTo:O};G.push(P),G[N.name]=P}}(),g2.getDefaultProperty=function(a){return this.getDefaultProperties()[a]},g2.getDefaultProperties=function(){var a=this._private;if(null!=a.defaultProperties)return a.defaultProperties;for(var b=bY({"selection-box-color":"#ddd","selection-box-opacity":.65,"selection-box-border-color":"#aaa","selection-box-border-width":1,"active-bg-color":"black","active-bg-opacity":.15,"active-bg-size":30,"outside-texture-bg-color":"#000","outside-texture-bg-opacity":.125,events:"yes","text-events":"no","text-valign":"top","text-halign":"center","text-justification":"auto","line-height":1,color:"#000","box-selection":"contain","text-outline-color":"#000","text-outline-width":0,"text-outline-opacity":1,"text-opacity":1,"text-decoration":"none","text-transform":"none","text-wrap":"none","text-overflow-wrap":"whitespace","text-max-width":9999,"text-background-color":"#000","text-background-opacity":0,"text-background-shape":"rectangle","text-background-padding":0,"text-border-opacity":0,"text-border-width":0,"text-border-style":"solid","text-border-color":"#000","font-family":"Helvetica Neue, Helvetica, sans-serif","font-style":"normal","font-weight":"normal","font-size":16,"min-zoomed-font-size":0,"text-rotation":"none","source-text-rotation":"none","target-text-rotation":"none",visibility:"visible",display:"element",opacity:1,"z-compound-depth":"auto","z-index-compare":"auto","z-index":0,label:"","text-margin-x":0,"text-margin-y":0,"source-label":"","source-text-offset":0,"source-text-margin-x":0,"source-text-margin-y":0,"target-label":"","target-text-offset":0,"target-text-margin-x":0,"target-text-margin-y":0,"overlay-opacity":0,"overlay-color":"#000","overlay-padding":10,"overlay-shape":"round-rectangle","overlay-corner-radius":"auto","underlay-opacity":0,"underlay-color":"#000","underlay-padding":10,"underlay-shape":"round-rectangle","underlay-corner-radius":"auto","transition-property":"none","transition-duration":0,"transition-delay":0,"transition-timing-function":"linear","box-select-labels":"no","background-blacken":0,"background-color":"#999","background-fill":"solid","background-opacity":1,"background-image":"none","background-image-crossorigin":"anonymous","background-image-opacity":1,"background-image-containment":"inside","background-image-smoothing":"yes","background-position-x":"50%","background-position-y":"50%","background-offset-x":0,"background-offset-y":0,"background-width-relative-to":"include-padding","background-height-relative-to":"include-padding","background-repeat":"no-repeat","background-fit":"none","background-clip":"node","background-width":"auto","background-height":"auto","border-color":"#000","border-opacity":1,"border-width":0,"border-style":"solid","border-dash-pattern":[4,2],"border-dash-offset":0,"border-cap":"butt","border-join":"miter","border-position":"center","outline-color":"#999","outline-opacity":1,"outline-width":0,"outline-offset":0,"outline-style":"solid",height:30,width:30,shape:"ellipse","shape-polygon-points":"-1, -1, 1, -1, 1, 1, -1, 1","corner-radius":"auto","bounds-expansion":0,"background-gradient-direction":"to-bottom","background-gradient-stop-colors":"#999","background-gradient-stop-positions":"0%",ghost:"no","ghost-offset-y":0,"ghost-offset-x":0,"ghost-opacity":0,padding:0,"padding-relative-to":"width",position:"origin","compound-sizing-wrt-labels":"include","min-width":0,"min-width-bias-left":0,"min-width-bias-right":0,"min-height":0,"min-height-bias-top":0,"min-height-bias-bottom":0},{"pie-size":"100%","pie-hole":0,"pie-start-angle":"0deg"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce(function(a,b){for(var c=1;c<=g2.pieBackgroundN;c++){var d=b.name.replace("{{i}}",c),e=b.value;a[d]=e}return a},{}),{"stripe-size":"100%","stripe-direction":"horizontal"},[{name:"stripe-{{i}}-background-color",value:"black"},{name:"stripe-{{i}}-background-size",value:"0%"},{name:"stripe-{{i}}-background-opacity",value:1}].reduce(function(a,b){for(var c=1;c<=g2.stripeBackgroundN;c++){var d=b.name.replace("{{i}}",c),e=b.value;a[d]=e}return a},{}),{"line-style":"solid","line-color":"#999","line-fill":"solid","line-cap":"butt","line-opacity":1,"line-outline-width":0,"line-outline-color":"#000","line-gradient-stop-colors":"#999","line-gradient-stop-positions":"0%","control-point-step-size":40,"control-point-weights":.5,"segment-weights":.5,"segment-distances":20,"segment-radii":15,"radius-type":"arc-radius","taxi-turn":"50%","taxi-radius":15,"taxi-turn-min-distance":10,"taxi-direction":"auto","edge-distances":"intersection","curve-style":"haystack","haystack-radius":0,"arrow-scale":1,"loop-direction":"-45deg","loop-sweep":"-90deg","source-distance-from-node":0,"target-distance-from-node":0,"source-endpoint":"outside-to-node","target-endpoint":"outside-to-node","line-dash-pattern":[6,3],"line-dash-offset":0},[{name:"arrow-shape",value:"none"},{name:"arrow-color",value:"#999"},{name:"arrow-fill",value:"filled"},{name:"arrow-width",value:1}].reduce(function(a,b){return g2.arrowPrefixes.forEach(function(c){var d=c+"-"+b.name,e=b.value;a[d]=e}),a},{})),c={},d=0;d<this.properties.length;d++){var e=this.properties[d];if(!e.pointsTo){var f=e.name,g=b[f],h=this.parse(f,g);c[f]=h}}return a.defaultProperties=c,a.defaultProperties},g2.addDefaultStylesheet=function(){this.selector(":parent").css({shape:"rectangle",padding:10,"background-color":"#eee","border-color":"#ccc","border-width":1}).selector("edge").css({width:3}).selector(":loop").css({"curve-style":"bezier"}).selector("edge:compound").css({"curve-style":"bezier","source-endpoint":"outside-to-line","target-endpoint":"outside-to-line"}).selector(":selected").css({"background-color":"#0169D9","line-color":"#0169D9","source-arrow-color":"#0169D9","target-arrow-color":"#0169D9","mid-source-arrow-color":"#0169D9","mid-target-arrow-color":"#0169D9"}).selector(":parent:selected").css({"background-color":"#CCE1F9","border-color":"#aec8e5"}).selector(":active").css({"overlay-color":"black","overlay-padding":10,"overlay-opacity":.25}),this.defaultLength=this.length};var g3={};g3.parse=function(a,b,c,d){if(bA(b))return this.parseImplWarn(a,b,c,d);var e,f=cm(a,""+b,c?"t":"f","mapping"===d||!0===d||!1===d||null==d?"dontcare":d),g=this.propCache=this.propCache||[];return(e=g[f])||(e=g[f]=this.parseImplWarn(a,b,c,d)),(c||"mapping"===d)&&(e=cz(e))&&(e.value=cz(e.value)),e},g3.parseImplWarn=function(a,b,c,d){var e=this.parseImpl(a,b,c,d);return e||null==b||cy("The style property `".concat(a,": ").concat(b,"` is invalid")),e&&("width"===e.name||"height"===e.name)&&"label"===b&&cy("The style value of `label` is deprecated for `"+e.name+"`"),e},g3.parseImpl=function(a,b,c,d){a=bN(a);var e=this.properties[a],f=b,g=this.types;if(!e||void 0===b)return null;e.alias&&(a=(e=e.pointsTo).name);var h=bz(b);h&&(b=b.trim());var i=e.type;if(!i)return null;if(c&&(""===b||null===b))return{name:a,value:b,bypass:!0,deleteBypass:!0};if(bA(b))return{name:a,value:b,strValue:"fn",mapped:g.fn,bypass:c};if(!h||d||b.length<7||"a"!==b[1]);else if(b.length>=7&&"d"===b[0]&&(q=new RegExp(g.data.regex).exec(b))){if(c)return!1;var j=g.data;return{name:a,value:q,strValue:""+b,mapped:j,field:q[1],bypass:c}}else if(b.length>=10&&"m"===b[0]&&(r=new RegExp(g.mapData.regex).exec(b))){if(c||i.multiple)return!1;var k=g.mapData;if(!(i.color||i.number))return!1;var l=this.parse(a,r[4]);if(!l||l.mapped)return!1;var n=this.parse(a,r[5]);if(!n||n.mapped)return!1;if(l.pfValue===n.pfValue||l.strValue===n.strValue)return cy("`"+a+": "+b+"` is not a valid mapper because the output range is zero; converting to `"+a+": "+l.strValue+"`"),this.parse(a,l.strValue);if(i.color){var o=l.value,p=n.value;if(o[0]===p[0]&&o[1]===p[1]&&o[2]===p[2]&&(o[3]===p[3]||(null==o[3]||1===o[3])&&(null==p[3]||1===p[3])))return!1}return{name:a,value:r,strValue:""+b,mapped:k,field:r[1],fieldMin:parseFloat(r[2]),fieldMax:parseFloat(r[3]),valueMin:l.value,valueMax:n.value,bypass:c}}if(i.multiple&&"multiple"!==d){if(s=h?b.split(/\s+/):bB(b)?b:[b],i.evenMultiple&&s.length%2!=0)return null;for(var q,r,s,t=[],u=[],v=[],w="",x=!1,y=0;y<s.length;y++){var z=this.parse(a,s[y],c,"multiple");x=x||bz(z.value),t.push(z.value),v.push(null!=z.pfValue?z.pfValue:z.value),u.push(z.units),w+=(y>0?" ":"")+z.strValue}if(i.validate&&!i.validate(t,u))return null;if(i.singleEnum&&x)if(1===t.length&&bz(t[0]))return{name:a,value:t[0],strValue:t[0],bypass:c};else return null;return{name:a,value:t,pfValue:v,strValue:w,bypass:c,units:u}}var A=function(){for(var d=0;d<i.enums.length;d++)if(i.enums[d]===b)return{name:a,value:b,strValue:""+b,bypass:c};return null};if(i.number){var B,C,D="px";if(i.units&&(C=i.units),i.implicitUnits&&(D=i.implicitUnits),!i.unitless)if(h){var E="px|em"+(i.allowPercent?"|\\%":"");C&&(E=C);var F=b.match("^("+bS+")("+E+")?$");F&&(b=F[1],C=F[2]||D)}else(!C||i.implicitUnits)&&(C=D);if(isNaN(b=parseFloat(b))&&void 0===i.enums)return null;if(isNaN(b)&&void 0!==i.enums)return b=f,A();if(i.integer&&!(bD(B=b)&&Math.floor(B)===B)||void 0!==i.min&&(b<i.min||i.strictMin&&b===i.min)||void 0!==i.max&&(b>i.max||i.strictMax&&b===i.max))return null;var G={name:a,value:b,strValue:""+b+(C||""),units:C,bypass:c};return i.unitless||"px"!==C&&"em"!==C?G.pfValue=b:G.pfValue="px"!==C&&C?this.getEmSizeInPixels()*b:b,("ms"===C||"s"===C)&&(G.pfValue="ms"===C?b:1e3*b),("deg"===C||"rad"===C)&&(G.pfValue="rad"===C?b:Math.PI*b/180),"%"===C&&(G.pfValue=b/100),G}if(i.propList){var H=[],I=""+b;if("none"===I);else{for(var J=I.split(/\s*,\s*|\s+/),K=0;K<J.length;K++){var L=J[K].trim();this.properties[L]?H.push(L):cy("`"+L+"` is not a valid property name")}if(0===H.length)return null}return{name:a,value:H,strValue:0===H.length?"none":H.join(" "),bypass:c}}if(i.color){var M=b0(b);return M?{name:a,value:M,pfValue:M,strValue:"rgb("+M[0]+","+M[1]+","+M[2]+")",bypass:c}:null}if(i.regex||i.regexes){if(i.enums){var N=A();if(N)return N}for(var O=i.regexes?i.regexes:[i.regex],P=0;P<O.length;P++){var Q=new RegExp(O[P]).exec(b);if(Q)return{name:a,value:i.singleRegexMatchValue?Q[1]:Q,strValue:""+b,bypass:c}}return null}if(i.string)return{name:a,value:""+b,strValue:""+b,bypass:c};else if(i.enums)return A();else return null};var g4=function(a){return this instanceof g4?bI(a)?void(this._private={cy:a,coreStyle:{}},this.length=0,this.resetToDefault()):void cw("A style must have a core reference"):new g4(a)},g5=g4.prototype;g5.instanceString=function(){return"style"},g5.clear=function(){for(var a=this._private,b=a.cy.elements(),c=0;c<this.length;c++)this[c]=void 0;return this.length=0,a.contextStyles={},a.propDiffs={},this.cleanElements(b,!0),b.forEach(function(a){var b=a[0]._private;b.styleDirty=!0,b.appliedInitStyle=!1}),this},g5.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this},g5.core=function(a){return this._private.coreStyle[a]||this.getDefaultProperty(a)},g5.selector=function(a){var b="core"===a?null:new fw(a),c=this.length++;return this[c]={selector:b,properties:[],mappedProperties:[],index:c},this},g5.css=function(){var a=arguments;if(1===a.length)for(var b=a[0],c=0;c<this.properties.length;c++){var d=this.properties[c],e=b[d.name];void 0===e&&(e=b[bO(d.name)]),void 0!==e&&this.cssRule(d.name,e)}else 2===a.length&&this.cssRule(a[0],a[1]);return this},g5.style=g5.css,g5.cssRule=function(a,b){var c=this.parse(a,b);if(c){var d=this.length-1;this[d].properties.push(c),this[d].properties[c.name]=c,c.name.match(/pie-(\d+)-background-size/)&&c.value&&(this._private.hasPie=!0),c.name.match(/stripe-(\d+)-background-size/)&&c.value&&(this._private.hasStripe=!0),c.mapped&&this[d].mappedProperties.push(c),this[d].selector||(this._private.coreStyle[c.name]=c)}return this},g5.append=function(a){return bJ(a)?a.appendToStyle(this):bB(a)?this.appendFromJson(a):bz(a)&&this.appendFromString(a),this},g4.fromJson=function(a,b){var c=new g4(a);return c.fromJson(b),c},g4.fromString=function(a,b){return new g4(a).fromString(b)},[gY,gZ,g$,g_,g0,g1,g2,g3].forEach(function(a){bY(g5,a)}),g4.types=g5.types,g4.properties=g5.properties,g4.propertyGroups=g5.propertyGroups,g4.propertyGroupNames=g5.propertyGroupNames,g4.propertyGroupKeys=g5.propertyGroupKeys;var g6={autolock:function(a){return void 0===a?this._private.autolock:(this._private.autolock=!!a,this)},autoungrabify:function(a){return void 0===a?this._private.autoungrabify:(this._private.autoungrabify=!!a,this)},autounselectify:function(a){return void 0===a?this._private.autounselectify:(this._private.autounselectify=!!a,this)},selectionType:function(a){var b=this._private;return(null==b.selectionType&&(b.selectionType="single"),void 0===a)?b.selectionType:(("additive"===a||"single"===a)&&(b.selectionType=a),this)},panningEnabled:function(a){return void 0===a?this._private.panningEnabled:(this._private.panningEnabled=!!a,this)},userPanningEnabled:function(a){return void 0===a?this._private.userPanningEnabled:(this._private.userPanningEnabled=!!a,this)},zoomingEnabled:function(a){return void 0===a?this._private.zoomingEnabled:(this._private.zoomingEnabled=!!a,this)},userZoomingEnabled:function(a){return void 0===a?this._private.userZoomingEnabled:(this._private.userZoomingEnabled=!!a,this)},boxSelectionEnabled:function(a){return void 0===a?this._private.boxSelectionEnabled:(this._private.boxSelectionEnabled=!!a,this)},pan:function(){var a,b,c,d,e,f=arguments,g=this._private.pan;switch(f.length){case 0:return g;case 1:if(bz(f[0]))return g[a=f[0]];if(bC(f[0])){if(!this._private.panningEnabled)return this;d=(c=f[0]).x,e=c.y,bD(d)&&(g.x=d),bD(e)&&(g.y=e),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;a=f[0],b=f[1],("x"===a||"y"===a)&&bD(b)&&(g[a]=b),this.emit("pan viewport")}return this.notify("viewport"),this},panBy:function(a,b){var c,d,e,f=arguments,g=this._private.pan;if(!this._private.panningEnabled)return this;switch(f.length){case 1:bC(a)&&(d=(c=f[0]).x,e=c.y,bD(d)&&(g.x+=d),bD(e)&&(g.y+=e),this.emit("pan viewport"));break;case 2:("x"===a||"y"===a)&&bD(b)&&(g[a]+=b),this.emit("pan viewport")}return this.notify("viewport"),this},gc:function(){this.notify("gc")},fit:function(a,b){var c=this.getFitViewport(a,b);if(c){var d=this._private;d.zoom=c.zoom,d.pan=c.pan,this.emit("pan zoom viewport"),this.notify("viewport")}return this},getFitViewport:function(a,b){if(bD(a)&&void 0===b&&(b=a,a=void 0),this._private.panningEnabled&&this._private.zoomingEnabled){if(bz(a)){var c,d,e,f=a;a=this.$(f)}else if(bC(c=a)&&bD(c.x1)&&bD(c.x2)&&bD(c.y1)&&bD(c.y2)){var g=a;(d={x1:g.x1,y1:g.y1,x2:g.x2,y2:g.y2}).w=d.x2-d.x1,d.h=d.y2-d.y1}else bF(a)||(a=this.mutableElements());if(!(bF(a)&&a.empty())){d=d||a.boundingBox();var h=this.width(),i=this.height();if(b=bD(b)?b:0,!isNaN(h)&&!isNaN(i)&&h>0&&i>0&&!isNaN(d.w)&&!isNaN(d.h)&&d.w>0&&d.h>0){e=(e=(e=Math.min((h-2*b)/d.w,(i-2*b)/d.h))>this._private.maxZoom?this._private.maxZoom:e)<this._private.minZoom?this._private.minZoom:e;var j={x:(h-e*(d.x1+d.x2))/2,y:(i-e*(d.y1+d.y2))/2};return{zoom:e,pan:j}}}}},zoomRange:function(a,b){var c=this._private;if(null==b){var d=a;a=d.min,b=d.max}return bD(a)&&bD(b)&&a<=b?(c.minZoom=a,c.maxZoom=b):bD(a)&&void 0===b&&a<=c.maxZoom?c.minZoom=a:bD(b)&&void 0===a&&b>=c.minZoom&&(c.maxZoom=b),this},minZoom:function(a){return void 0===a?this._private.minZoom:this.zoomRange({min:a})},maxZoom:function(a){return void 0===a?this._private.maxZoom:this.zoomRange({max:a})},getZoomedViewport:function(a){var b,c,d=this._private,e=d.pan,f=d.zoom,g=!1;if(d.zoomingEnabled||(g=!0),bD(a)?c=a:bC(a)&&(c=a.level,null!=a.position?b=c$(a.position,f,e):null!=a.renderedPosition&&(b=a.renderedPosition),null==b||d.panningEnabled||(g=!0)),c=(c=c>d.maxZoom?d.maxZoom:c)<d.minZoom?d.minZoom:c,g||!bD(c)||c===f||null!=b&&(!bD(b.x)||!bD(b.y)))return null;if(null==b)return{zoomed:!0,panned:!1,zoom:c,pan:e};var h=c,i={x:-h/f*(b.x-e.x)+b.x,y:-h/f*(b.y-e.y)+b.y};return{zoomed:!0,panned:!0,zoom:h,pan:i}},zoom:function(a){if(void 0===a)return this._private.zoom;var b=this.getZoomedViewport(a),c=this._private;return null!=b&&b.zoomed&&(c.zoom=b.zoom,b.panned&&(c.pan.x=b.pan.x,c.pan.y=b.pan.y),this.emit("zoom"+(b.panned?" pan":"")+" viewport"),this.notify("viewport")),this},viewport:function(a){var b=this._private,c=!0,d=!0,e=[],f=!1;if(!a||(bD(a.zoom)||(c=!1),bC(a.pan)||(d=!1),!c&&!d))return this;if(c){var g=a.zoom;g<b.minZoom||g>b.maxZoom||!b.zoomingEnabled?f=!0:(b.zoom=g,e.push("zoom"))}if(d&&(!f||!a.cancelOnFailedZoom)&&b.panningEnabled){var h=a.pan;bD(h.x)&&(b.pan.x=h.x),bD(h.y)&&(b.pan.y=h.y),e.push("pan")}return e.length>0&&(e.push("viewport"),this.emit(e.join(" ")),this.notify("viewport")),this},center:function(a){var b=this.getCenterPan(a);return b&&(this._private.pan=b,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(a,b){if(this._private.panningEnabled){if(bz(a)){var c=a;a=this.mutableElements().filter(c)}else bF(a)||(a=this.mutableElements());if(0!==a.length){var d=a.boundingBox(),e=this.width(),f=this.height();return{x:(e-(b=void 0===b?this._private.zoom:b)*(d.x1+d.x2))/2,y:(f-b*(d.y1+d.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled&&this.viewport({pan:{x:0,y:0},zoom:1}),this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var a,b,c=this._private,d=c.container;return c.sizeCache=c.sizeCache||(d?(a=this.window().getComputedStyle(d),b=function(b){return parseFloat(a.getPropertyValue(b))},{width:d.clientWidth-b("padding-left")-b("padding-right"),height:d.clientHeight-b("padding-top")-b("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var a=this._private.pan,b=this._private.zoom,c=this.renderedExtent(),d={x1:(c.x1-a.x)/b,x2:(c.x2-a.x)/b,y1:(c.y1-a.y)/b,y2:(c.y2-a.y)/b};return d.w=d.x2-d.x1,d.h=d.y2-d.y1,d},renderedExtent:function(){var a=this.width(),b=this.height();return{x1:0,y1:0,x2:a,y2:b,w:a,h:b}},multiClickDebounceTime:function(a){return a?(this._private.multiClickDebounceTime=a,this):this._private.multiClickDebounceTime}};g6.centre=g6.center,g6.autolockNodes=g6.autolock,g6.autoungrabifyNodes=g6.autoungrabify;var g7={data:fe.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:fe.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:fe.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:fe.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};g7.attr=g7.data,g7.removeAttr=g7.removeData;var g8=function(a){var b=this,c=(a=bY({},a)).container;c&&!bE(c)&&bE(c[0])&&(c=c[0]);var d=c?c._cyreg:null;(d=d||{}).cy&&(d.cy.destroy(),d={});var e=d.readies=d.readies||[];c&&(c._cyreg=d),d.cy=b;var f=void 0!==c&&!a.headless,g=a;g.layout=bY({name:f?"grid":"null"},g.layout),g.renderer=bY({name:f?"canvas":"null"},g.renderer);var h=function(a,b,c){return void 0!==b?b:void 0!==c?c:a},i=this._private={container:c,ready:!1,options:g,elements:new gF(this),listeners:[],aniEles:new gF(this),data:g.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:h(!0,g.zoomingEnabled),userZoomingEnabled:h(!0,g.userZoomingEnabled),panningEnabled:h(!0,g.panningEnabled),userPanningEnabled:h(!0,g.userPanningEnabled),boxSelectionEnabled:h(!0,g.boxSelectionEnabled),autolock:h(!1,g.autolock,g.autolockNodes),autoungrabify:h(!1,g.autoungrabify,g.autoungrabifyNodes),autounselectify:h(!1,g.autounselectify),styleEnabled:void 0===g.styleEnabled?f:g.styleEnabled,zoom:bD(g.zoom)?g.zoom:1,pan:{x:bC(g.pan)&&bD(g.pan.x)?g.pan.x:0,y:bC(g.pan)&&bD(g.pan.y)?g.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:h(250,g.multiClickDebounceTime)};this.createEmitter(),this.selectionType(g.selectionType),this.zoomRange({min:g.minZoom,max:g.maxZoom}),i.styleEnabled&&b.setStyle([]);var j=bY({},g,g.renderer);b.initRenderer(j);var k=function(a,c,d){b.notifications(!1);var e=b.mutableElements();e.length>0&&e.remove(),null!=a&&(bC(a)||bB(a))&&b.add(a),b.one("layoutready",function(a){b.notifications(!0),b.emit(a),b.one("load",c),b.emitAndNotify("load")}).one("layoutstop",function(){b.one("done",d),b.emit("done")});var f=bY({},b._private.options.layout);f.eles=b.elements(),b.layout(f).run()};!function(a,b){if(a.some(bL))return eZ.all(a).then(b);b(a)}([g.style,g.elements],function(a){var c=a[0],f=a[1];i.styleEnabled&&b.style().append(c),k(f,function(){b.startAnimationLoop(),i.ready=!0,bA(g.ready)&&b.on("ready",g.ready);for(var a=0;a<e.length;a++){var c=e[a];b.on("ready",c)}d&&(d.readies=[]),b.emit("ready")},g.done)})},g9=g8.prototype;bY(g9,{instanceString:function(){return"core"},isReady:function(){return this._private.ready},destroyed:function(){return this._private.destroyed},ready:function(a){return this.isReady()?this.emitter().emit("ready",[],a):this.on("ready",a),this},destroy:function(){if(!this.destroyed())return this.stopAnimationLoop(),this.destroyRenderer(),this.emit("destroy"),this._private.destroyed=!0,this},hasElementWithId:function(a){return this._private.elements.hasElementWithId(a)},getElementById:function(a){return this._private.elements.getElementById(a)},hasCompoundNodes:function(){return this._private.hasCompoundNodes},headless:function(){return this._private.renderer.isHeadless()},styleEnabled:function(){return this._private.styleEnabled},addToPool:function(a){return this._private.elements.merge(a),this},removeFromPool:function(a){return this._private.elements.unmerge(a),this},container:function(){return this._private.container||null},window:function(){if(null==this._private.container)return null;var a=this._private.container.ownerDocument;return void 0===a||null==a?null:a.defaultView||null},mount:function(a){if(null!=a){var b=this._private,c=b.options;return!bE(a)&&bE(a[0])&&(a=a[0]),this.stopAnimationLoop(),this.destroyRenderer(),b.container=a,b.styleEnabled=!0,this.invalidateSize(),this.initRenderer(bY({},c,c.renderer,{name:"null"===c.renderer.name?"canvas":c.renderer.name})),this.startAnimationLoop(),this.style(c.style),this.emit("mount"),this}},unmount:function(){return this.stopAnimationLoop(),this.destroyRenderer(),this.initRenderer({name:"null"}),this.emit("unmount"),this},options:function(){return cz(this._private.options)},json:function(a){var b=this,c=b._private,d=b.mutableElements();if(bC(a)){if(b.startBatch(),a.elements){var e={},f=function(a,c){for(var d=[],f=[],g=0;g<a.length;g++){var h=a[g];if(!h.data.id){cy("cy.json() cannot handle elements without an ID attribute");continue}var i=""+h.data.id,j=b.getElementById(i);e[i]=!0,0!==j.length?f.push({ele:j,json:h}):(c&&(h.group=c),d.push(h))}b.add(d);for(var k=0;k<f.length;k++){var l=f[k],n=l.ele,o=l.json;n.json(o)}};if(bB(a.elements))f(a.elements);else for(var g=["nodes","edges"],h=0;h<g.length;h++){var i=g[h],j=a.elements[i];bB(j)&&f(j,i)}var k=b.collection();d.filter(function(a){return!e[a.id()]}).forEach(function(a){a.isParent()?k.merge(a):a.remove()}),k.forEach(function(a){return a.children().move({parent:null})}),k.forEach(function(a){return b.getElementById(a.id()).remove()})}a.style&&b.style(a.style),null!=a.zoom&&a.zoom!==c.zoom&&b.zoom(a.zoom),a.pan&&(a.pan.x!==c.pan.x||a.pan.y!==c.pan.y)&&b.pan(a.pan),a.data&&b.data(a.data);for(var l=["minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","panningEnabled","userPanningEnabled","boxSelectionEnabled","autolock","autoungrabify","autounselectify","multiClickDebounceTime"],n=0;n<l.length;n++){var o=l[n];null!=a[o]&&b[o](a[o])}return b.endBatch(),this}var p={};a?p.elements=this.elements().map(function(a){return a.json()}):(p.elements={},d.forEach(function(a){var b=a.group();p.elements[b]||(p.elements[b]=[]),p.elements[b].push(a.json())})),this._private.styleEnabled&&(p.style=b.style().json()),p.data=cz(b.data());var q=c.options;return p.zoomingEnabled=c.zoomingEnabled,p.userZoomingEnabled=c.userZoomingEnabled,p.zoom=c.zoom,p.minZoom=c.minZoom,p.maxZoom=c.maxZoom,p.panningEnabled=c.panningEnabled,p.userPanningEnabled=c.userPanningEnabled,p.pan=cz(c.pan),p.boxSelectionEnabled=c.boxSelectionEnabled,p.renderer=cz(q.renderer),p.hideEdgesOnViewport=q.hideEdgesOnViewport,p.textureOnViewport=q.textureOnViewport,p.wheelSensitivity=q.wheelSensitivity,p.motionBlur=q.motionBlur,p.multiClickDebounceTime=q.multiClickDebounceTime,p}}),g9.$id=g9.getElementById,[{add:function(a){var b;if(bF(a))if(a._private.cy===this)b=a.restore();else{for(var c=[],d=0;d<a.length;d++){var e=a[d];c.push(e.json())}b=new gF(this,c)}else if(bB(a))b=new gF(this,a);else if(bC(a)&&(bB(a.nodes)||bB(a.edges))){for(var f=[],g=["nodes","edges"],h=0,i=g.length;h<i;h++){var j=g[h],k=a[j];if(bB(k))for(var l=0,n=k.length;l<n;l++){var o=bY({group:j},k[l]);f.push(o)}}b=new gF(this,f)}else b=new cN(this,a).collection();return b},remove:function(a){if(bF(a));else if(bz(a)){var b=a;a=this.$(b)}return a.remove()}},gP,gS,gT,gU,{notify:function(a,b){var c=this._private;if(this.batching()){c.batchNotifications=c.batchNotifications||{};var d=c.batchNotifications[a]=c.batchNotifications[a]||this.collection();null!=b&&d.merge(b);return}if(c.notificationsEnabled){var e=this.renderer();!this.destroyed()&&e&&e.notify(a,b)}},notifications:function(a){var b=this._private;return void 0===a?b.notificationsEnabled:(b.notificationsEnabled=!!a,this)},noNotifications:function(a){this.notifications(!1),a(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var a=this._private;return null==a.batchCount&&(a.batchCount=0),0===a.batchCount&&(a.batchStyleEles=this.collection(),a.batchNotifications={}),a.batchCount++,this},endBatch:function(){var a=this._private;if(0===a.batchCount)return this;if(a.batchCount--,0===a.batchCount){a.batchStyleEles.updateStyle();var b=this.renderer();Object.keys(a.batchNotifications).forEach(function(c){var d=a.batchNotifications[c];d.empty()?b.notify(c):b.notify(c,d)})}return this},batch:function(a){return this.startBatch(),a(),this.endBatch(),this},batchData:function(a){var b=this;return this.batch(function(){for(var c=Object.keys(a),d=0;d<c.length;d++){var e=c[d],f=a[e];b.getElementById(e).data(f)}})}},gW,gX,{style:function(a){return a&&this.setStyle(a).update(),this._private.style},setStyle:function(a){var b=this._private;return bJ(a)?b.style=a.generateStyle(this):bB(a)?b.style=g4.fromJson(this,a):bz(a)?b.style=g4.fromString(this,a):b.style=g4(this),b.style},updateStyle:function(){this.mutableElements().updateStyle()}},g6,g7].forEach(function(a){bY(g9,a)});var ha={fit:!0,directed:!1,direction:"downward",padding:30,circle:!1,grid:!1,spacingFactor:1.75,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,roots:void 0,depthSort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(a,b){return!0},ready:void 0,stop:void 0,transform:function(a,b){return b}},hb={maximal:!1,acyclic:!1},hc=function(a){return a.scratch("breadthfirst")},hd=function(a,b){return a.scratch("breadthfirst",b)};function he(a){this.options=bY({},ha,hb,a)}he.prototype.run=function(){var a,b=this.options,c=b.cy,d=b.eles,e=d.nodes().filter(function(a){return a.isChildless()}),f=b.directed,g=b.acyclic||b.maximal||b.maximalAdjustments>0,h=!!b.boundingBox,i=df(h?b.boundingBox:structuredClone(c.extent()));if(bF(b.roots))a=b.roots;else if(bB(b.roots)){for(var j=[],k=0;k<b.roots.length;k++){var l=b.roots[k],n=c.getElementById(l);j.push(n)}a=c.collection(j)}else if(bz(b.roots))a=c.$(b.roots);else if(f)a=e.roots();else{var o=d.components();a=c.collection();for(var p=0;p<o.length;p++)!function(){var b=o[p],c=b.maxDegree(!1),d=b.filter(function(a){return a.degree(!1)===c});a=a.add(d)}()}var q=[],r={},s=function(a,b){null==q[b]&&(q[b]=[]);var c=q[b].length;q[b].push(a),hd(a,{index:c,depth:b})},t=function(a,b){var c=hc(a),d=c.depth,e=c.index;q[d][e]=null,a.isChildless()&&s(a,b)};d.bfs({roots:a,directed:b.directed,visit:function(a,b,c,d,e){var f=a[0],g=f.id();f.isChildless()&&s(f,e),r[g]=!0}});for(var u=[],v=0;v<e.length;v++){var w=e[v];r[w.id()]||u.push(w)}var x=function(a){for(var b=q[a],c=0;c<b.length;c++){var d=b[c];if(null==d){b.splice(c,1),c--;continue}hd(d,{depth:a,index:c})}};if(f&&g){var y=[],z={},A=function(a){return y.push(a)};for(e.forEach(function(a){return y.push(a)});y.length>0;){var B=y.shift(),C=function(a,c){for(var e=hc(a),f=a.incomers().filter(function(a){return a.isNode()&&d.has(a)}),g=-1,h=a.id(),i=0;i<f.length;i++)g=Math.max(g,hc(f[i]).depth);if(e.depth<=g){if(!b.acyclic&&c[h])return null;var j=g+1;return t(a,j),c[h]=j,!0}return!1}(B,z);if(C)B.outgoers().filter(function(a){return a.isNode()&&d.has(a)}).forEach(A);else if(null===C){cy("Detected double maximal shift for node `"+B.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var D=0;if(b.avoidOverlap)for(var E=0;E<e.length;E++){var F=e[E].layoutDimensions(b),G=F.w,H=F.h;D=Math.max(D,G,H)}var I={},J=function(a){if(I[a.id()])return I[a.id()];for(var b=hc(a).depth,c=a.neighborhood(),d=0,f=0,g=0;g<c.length;g++){var h=c[g];if(!(h.isEdge()||h.isParent())&&e.has(h)){var i=hc(h);if(null!=i){var j=i.index,k=i.depth;if(null!=j&&null!=k){var l=q[k].length;k<b&&(d+=j/l,f++)}}}}return d/=f=Math.max(1,f),0===f&&(d=0),I[a.id()]=d,d},K=function(a,b){var c=J(a)-J(b);return 0===c?bX(a.id(),b.id()):c};void 0!==b.depthSort&&(K=b.depthSort);for(var L=q.length,M=0;M<L;M++)q[M].sort(K),x(M);for(var N=[],O=0;O<u.length;O++)N.push(u[O]);if(N.length){q.unshift(N),L=q.length;for(var P=0;P<L;P++)x(P)}for(var Q=0,R=0;R<L;R++)Q=Math.max(q[R].length,Q);var S={x:i.x1+i.w/2,y:i.y1+i.h/2},T=e.reduce(function(a,c){var d;return d=c.boundingBox({includeLabels:b.nodeDimensionsIncludeLabels}),{w:-1===a.w?d.w:(a.w+d.w)/2,h:-1===a.h?d.h:(a.h+d.h)/2}},{w:-1,h:-1}),U=Math.max(1===L?0:h?(i.h-2*b.padding-T.h)/(L-1):(i.h-2*b.padding-T.h)/(L+1),D),V=q.reduce(function(a,b){return Math.max(a,b.length)},0),W=function(a){var c=hc(a),d=c.depth,e=c.index;if(b.circle){var f=Math.min(i.w/2/L,i.h/2/L),g=(f=Math.max(f,D))*d+f-(L>0&&q[0].length<=3?f/2:0),j=2*Math.PI/q[d].length*e;return 0===d&&1===q[0].length&&(g=1),{x:S.x+g*Math.cos(j),y:S.y+g*Math.sin(j)}}var k=q[d].length,l=Math.max(1===k?0:h?(i.w-2*b.padding-T.w)/((b.grid?V:k)-1):(i.w-2*b.padding-T.w)/((b.grid?V:k)+1),D);return{x:S.x+(e+1-(k+1)/2)*l,y:S.y+(d+1-(L+1)/2)*U}},X={downward:0,leftward:90,upward:180,rightward:-90};return -1===Object.keys(X).indexOf(b.direction)&&cw("Invalid direction '".concat(b.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(X).join(", "))),d.nodes().layoutPositions(this,b,function(a){return function(a,b,c){if(0===c)return a;var d,e,f,g,h=(b.x1+b.x2)/2,i=(b.y1+b.y2)/2,j=b.w/b.h,k=(d=a.x,e=a.y,{x:Math.cos(f=c*Math.PI/180)*(d-h)-Math.sin(f)*(e-i)+h,y:Math.sin(f)*(d-h)+Math.cos(f)*(e-i)+i}),l=(g=k.x,{x:(g-h)*j+h,y:(k.y-i)*(1/j)+i});return{x:l.x,y:l.y}}(W(a),i,X[b.direction])}),this};var hf={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(a,b){return!0},ready:void 0,stop:void 0,transform:function(a,b){return b}};function hg(a){this.options=bY({},hf,a)}hg.prototype.run=function(){var a,b=this.options,c=b.cy,d=b.eles,e=void 0!==b.counterclockwise?!b.counterclockwise:b.clockwise,f=d.nodes().not(":parent");b.sort&&(f=f.sort(b.sort));for(var g=df(b.boundingBox?b.boundingBox:{x1:0,y1:0,w:c.width(),h:c.height()}),h={x:g.x1+g.w/2,y:g.y1+g.h/2},i=(void 0===b.sweep?2*Math.PI-2*Math.PI/f.length:b.sweep)/Math.max(1,f.length-1),j=0,k=0;k<f.length;k++){var l=f[k].layoutDimensions(b);j=Math.max(j,l.w,l.h)}if(a=bD(b.radius)?b.radius:f.length<=1?0:Math.min(g.h,g.w)/2-j,f.length>1&&b.avoidOverlap){var n=Math.cos(i)-1,o=Math.sin(i)-0;a=Math.max(Math.sqrt((j*=1.75)*j/(n*n+o*o)),a)}return d.nodes().layoutPositions(this,b,function(c,d){var f=b.startAngle+d*i*(e?1:-1),g=a*Math.cos(f),j=a*Math.sin(f);return{x:h.x+g,y:h.y+j}}),this};var hh={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(a){return a.degree()},levelWidth:function(a){return a.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(a,b){return!0},ready:void 0,stop:void 0,transform:function(a,b){return b}};function hi(a){this.options=bY({},hh,a)}hi.prototype.run=function(){for(var a=this.options,b=void 0!==a.counterclockwise?!a.counterclockwise:a.clockwise,c=a.cy,d=a.eles,e=d.nodes().not(":parent"),f=df(a.boundingBox?a.boundingBox:{x1:0,y1:0,w:c.width(),h:c.height()}),g={x:f.x1+f.w/2,y:f.y1+f.h/2},h=[],i=0,j=0;j<e.length;j++){var k=e[j],l=void 0;l=a.concentric(k),h.push({value:l,node:k}),k._private.scratch.concentric=l}e.updateStyle();for(var n=0;n<e.length;n++){var o=e[n].layoutDimensions(a);i=Math.max(i,o.w,o.h)}h.sort(function(a,b){return b.value-a.value});for(var p=a.levelWidth(e),q=[[]],r=q[0],s=0;s<h.length;s++){var t=h[s];r.length>0&&Math.abs(r[0].value-t.value)>=p&&(r=[],q.push(r)),r.push(t)}var u=i+a.minNodeSpacing;if(!a.avoidOverlap){var v=q.length>0&&q[0].length>1,w=(Math.min(f.w,f.h)/2-u)/(q.length+v?1:0);u=Math.min(u,w)}for(var x=0,y=0;y<q.length;y++){var z=q[y],A=void 0===a.sweep?2*Math.PI-2*Math.PI/z.length:a.sweep,B=z.dTheta=A/Math.max(1,z.length-1);if(z.length>1&&a.avoidOverlap){var C=Math.cos(B)-1,D=Math.sin(B)-0;x=Math.max(Math.sqrt(u*u/(C*C+D*D)),x)}z.r=x,x+=u}if(a.equidistant){for(var E=0,F=0,G=0;G<q.length;G++)E=Math.max(E,q[G].r-F);F=0;for(var H=0;H<q.length;H++){var I=q[H];0===H&&(F=I.r),I.r=F,F+=E}}for(var J={},K=0;K<q.length;K++)for(var L=q[K],M=L.dTheta,N=L.r,O=0;O<L.length;O++){var P=L[O],Q=a.startAngle+(b?1:-1)*M*O,R={x:g.x+N*Math.cos(Q),y:g.y+N*Math.sin(Q)};J[P.node.id()]=R}return d.nodes().layoutPositions(this,a,function(a){return J[a.id()]}),this};var hj={ready:function(){},stop:function(){},animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:function(a,b){return!0},animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:function(a){return 2048},nodeOverlap:4,idealEdgeLength:function(a){return 32},edgeElasticity:function(a){return 32},nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1};function hk(a){this.options=bY({},hj,a),this.options.layout=this;var b=this.options.eles.nodes(),c=this.options.eles.edges().filter(function(a){var c=a.source().data("id"),d=a.target().data("id"),e=b.some(function(a){return a.data("id")===c}),f=b.some(function(a){return a.data("id")===d});return!e||!f});this.options.eles=this.options.eles.not(c)}hk.prototype.run=function(){var a=this.options,b=a.cy,c=this;c.stopped=!1,(!0===a.animate||!1===a.animate)&&c.emit({type:"layoutstart",layout:c}),ka=!0===a.debug;var d=hl(b,c,a);ka&&kb(d),a.randomize&&ho(d);var e=cc(),f=function(){hq(d,b,a),!0===a.fit&&b.fit(a.padding)},g=function(b){return!c.stopped&&!(b>=a.numIter)&&(hr(d,a),d.temperature=d.temperature*a.coolingFactor,!(d.temperature<a.minTemp))},h=function(){if(!0===a.animate||!1===a.animate)f(),c.one("layoutstop",a.stop),c.emit({type:"layoutstop",layout:c});else{var b=a.eles.nodes(),e=hp(d,a,b);b.layoutPositions(c,a,e)}},i=0,j=!0;if(!0===a.animate){var k=function(){for(var b=0;j&&b<a.refresh;)j=g(i),i++,b++;j?(cc()-e>=a.animationThreshold&&f(),ce(k)):(hD(d,a),h())};k()}else{for(;j;)j=g(i),i++;hD(d,a),h()}return this},hk.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},hk.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var hl=function(a,b,c){for(var d=c.eles.edges(),e=c.eles.nodes(),f=df(c.boundingBox?c.boundingBox:{x1:0,y1:0,w:a.width(),h:a.height()}),g={isCompound:a.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:e.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:d.size(),temperature:c.initialTemp,clientWidth:f.w,clientHeight:f.h,boundingBox:f},h=c.eles.components(),i={},j=0;j<h.length;j++)for(var k=h[j],l=0;l<k.length;l++){var n=k[l];i[n.id()]=j}for(var j=0;j<g.nodeSize;j++){var o=e[j],p=o.layoutDimensions(c),q={};q.isLocked=o.locked(),q.id=o.data("id"),q.parentId=o.data("parent"),q.cmptId=i[o.id()],q.children=[],q.positionX=o.position("x"),q.positionY=o.position("y"),q.offsetX=0,q.offsetY=0,q.height=p.w,q.width=p.h,q.maxX=q.positionX+q.width/2,q.minX=q.positionX-q.width/2,q.maxY=q.positionY+q.height/2,q.minY=q.positionY-q.height/2,q.padLeft=parseFloat(o.style("padding")),q.padRight=parseFloat(o.style("padding")),q.padTop=parseFloat(o.style("padding")),q.padBottom=parseFloat(o.style("padding")),q.nodeRepulsion=bA(c.nodeRepulsion)?c.nodeRepulsion(o):c.nodeRepulsion,g.layoutNodes.push(q),g.idToIndex[q.id]=j}for(var r=[],s=0,t=-1,u=[],j=0;j<g.nodeSize;j++){var o=g.layoutNodes[j],v=o.parentId;null!=v?g.layoutNodes[g.idToIndex[v]].children.push(o.id):(r[++t]=o.id,u.push(o.id))}for(g.graphSet.push(u);s<=t;){var w=r[s++],x=g.idToIndex[w],n=g.layoutNodes[x],y=n.children;if(y.length>0){g.graphSet.push(y);for(var j=0;j<y.length;j++)r[++t]=y[j]}}for(var j=0;j<g.graphSet.length;j++)for(var z=g.graphSet[j],l=0;l<z.length;l++){var A=g.idToIndex[z[l]];g.indexToGraph[A]=j}for(var j=0;j<g.edgeSize;j++){var B=d[j],C={};C.id=B.data("id"),C.sourceId=B.data("source"),C.targetId=B.data("target");var D=bA(c.idealEdgeLength)?c.idealEdgeLength(B):c.idealEdgeLength,E=bA(c.edgeElasticity)?c.edgeElasticity(B):c.edgeElasticity,F=g.idToIndex[C.sourceId],G=g.idToIndex[C.targetId];if(g.indexToGraph[F]!=g.indexToGraph[G]){for(var H=hm(C.sourceId,C.targetId,g),I=g.graphSet[H],J=0,q=g.layoutNodes[F];-1===I.indexOf(q.id);)q=g.layoutNodes[g.idToIndex[q.parentId]],J++;for(q=g.layoutNodes[G];-1===I.indexOf(q.id);)q=g.layoutNodes[g.idToIndex[q.parentId]],J++;D*=J*c.nestingFactor}C.idealLength=D,C.elasticity=E,g.layoutEdges.push(C)}return g},hm=function(a,b,c){var d=hn(a,b,0,c);return 2>d.count?0:d.graph},hn=function(a,b,c,d){var e=d.graphSet[c];if(-1<e.indexOf(a)&&-1<e.indexOf(b))return{count:2,graph:c};for(var f=0,g=0;g<e.length;g++){var h=e[g],i=d.idToIndex[h],j=d.layoutNodes[i].children;if(0!==j.length){var k=hn(a,b,d.indexToGraph[d.idToIndex[j[0]]],d);if(0===k.count)continue;if(1!==k.count)return k;if(2==++f)break}}return{count:f,graph:c}},ho=function(a,b){for(var c=a.clientWidth,d=a.clientHeight,e=0;e<a.nodeSize;e++){var f=a.layoutNodes[e];0!==f.children.length||f.isLocked||(f.positionX=Math.random()*c,f.positionY=Math.random()*d)}},hp=function(a,b,c){var d=a.boundingBox,e={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};return b.boundingBox&&(c.forEach(function(b){var c=a.layoutNodes[a.idToIndex[b.data("id")]];e.x1=Math.min(e.x1,c.positionX),e.x2=Math.max(e.x2,c.positionX),e.y1=Math.min(e.y1,c.positionY),e.y2=Math.max(e.y2,c.positionY)}),e.w=e.x2-e.x1,e.h=e.y2-e.y1),function(c,f){var g=a.layoutNodes[a.idToIndex[c.data("id")]];if(!b.boundingBox)return{x:g.positionX,y:g.positionY};var h=0===e.w?.5:(g.positionX-e.x1)/e.w,i=0===e.h?.5:(g.positionY-e.y1)/e.h;return{x:d.x1+h*d.w,y:d.y1+i*d.h}}},hq=function(a,b,c){var d=c.layout,e=c.eles.nodes(),f=hp(a,c,e);e.positions(f),!0!==a.ready&&(a.ready=!0,d.one("layoutready",c.ready),d.emit({type:"layoutready",layout:this}))},hr=function(a,b,c){hs(a,b),hx(a),hy(a,b),hz(a),hA(a)},hs=function(a,b){for(var c=0;c<a.graphSet.length;c++)for(var d=a.graphSet[c],e=d.length,f=0;f<e;f++)for(var g=a.layoutNodes[a.idToIndex[d[f]]],h=f+1;h<e;h++)hu(g,a.layoutNodes[a.idToIndex[d[h]]],a,b)},ht=function(a){return -1+2*a*Math.random()},hu=function(a,b,c,d){if(a.cmptId===b.cmptId||c.isCompound){var e=b.positionX-a.positionX,f=b.positionY-a.positionY;0===e&&0===f&&(e=ht(1),f=ht(1));var g=hv(a,b,e,f);if(g>0)var h=d.nodeOverlap*g,i=Math.sqrt(e*e+f*f),j=h*e/i,k=h*f/i;else var l=hw(a,e,f),n=hw(b,-1*e,-1*f),o=n.x-l.x,p=n.y-l.y,q=o*o+p*p,i=Math.sqrt(q),h=(a.nodeRepulsion+b.nodeRepulsion)/q,j=h*o/i,k=h*p/i;a.isLocked||(a.offsetX-=j,a.offsetY-=k),b.isLocked||(b.offsetX+=j,b.offsetY+=k)}},hv=function(a,b,c,d){if(c>0)var e=a.maxX-b.minX;else var e=b.maxX-a.minX;if(d>0)var f=a.maxY-b.minY;else var f=b.maxY-a.minY;return e>=0&&f>=0?Math.sqrt(e*e+f*f):0},hw=function(a,b,c){var d=a.positionX,e=a.positionY,f=a.height||1,g=a.width||1,h=c/b,i=f/g,j={};return 0===b&&0<c||0===b&&0>c?(j.x=d,j.y=e+f/2):0<b&&-1*i<=h&&h<=i?(j.x=d+g/2,j.y=e+g*c/2/b):0>b&&-1*i<=h&&h<=i?(j.x=d-g/2,j.y=e-g*c/2/b):0<c&&(h<=-1*i||h>=i)?(j.x=d+f*b/2/c,j.y=e+f/2):0>c&&(h<=-1*i||h>=i)&&(j.x=d-f*b/2/c,j.y=e-f/2),j},hx=function(a,b){for(var c=0;c<a.edgeSize;c++){var d=a.layoutEdges[c],e=a.idToIndex[d.sourceId],f=a.layoutNodes[e],g=a.idToIndex[d.targetId],h=a.layoutNodes[g],i=h.positionX-f.positionX,j=h.positionY-f.positionY;if(0!==i||0!==j){var k=hw(f,i,j),l=hw(h,-1*i,-1*j),n=l.x-k.x,o=l.y-k.y,p=Math.sqrt(n*n+o*o),q=Math.pow(d.idealLength-p,2)/d.elasticity;if(0!==p)var r=q*n/p,s=q*o/p;else var r=0,s=0;f.isLocked||(f.offsetX+=r,f.offsetY+=s),h.isLocked||(h.offsetX-=r,h.offsetY-=s)}}},hy=function(a,b){if(0!==b.gravity)for(var c=0;c<a.graphSet.length;c++){var d=a.graphSet[c],e=d.length;if(0===c)var f=a.clientHeight/2,g=a.clientWidth/2;else var h=a.layoutNodes[a.idToIndex[d[0]]],i=a.layoutNodes[a.idToIndex[h.parentId]],f=i.positionX,g=i.positionY;for(var j=0;j<e;j++){var k=a.layoutNodes[a.idToIndex[d[j]]];if(!k.isLocked){var l=f-k.positionX,n=g-k.positionY,o=Math.sqrt(l*l+n*n);if(o>1){var p=b.gravity*l/o,q=b.gravity*n/o;k.offsetX+=p,k.offsetY+=q}}}}},hz=function(a,b){var c=[],d=0,e=-1;for(c.push.apply(c,a.graphSet[0]),e+=a.graphSet[0].length;d<=e;){var f=c[d++],g=a.idToIndex[f],h=a.layoutNodes[g],i=h.children;if(0<i.length&&!h.isLocked){for(var j=h.offsetX,k=h.offsetY,l=0;l<i.length;l++){var n=a.layoutNodes[a.idToIndex[i[l]]];n.offsetX+=j,n.offsetY+=k,c[++e]=i[l]}h.offsetX=0,h.offsetY=0}}},hA=function(a,b){for(var c=0;c<a.nodeSize;c++){var d=a.layoutNodes[c];0<d.children.length&&(d.maxX=void 0,d.minX=void 0,d.maxY=void 0,d.minY=void 0)}for(var c=0;c<a.nodeSize;c++){var d=a.layoutNodes[c];if(!(0<d.children.length)&&!d.isLocked){var e=hB(d.offsetX,d.offsetY,a.temperature);d.positionX+=e.x,d.positionY+=e.y,d.offsetX=0,d.offsetY=0,d.minX=d.positionX-d.width,d.maxX=d.positionX+d.width,d.minY=d.positionY-d.height,d.maxY=d.positionY+d.height,hC(d,a)}}for(var c=0;c<a.nodeSize;c++){var d=a.layoutNodes[c];0<d.children.length&&!d.isLocked&&(d.positionX=(d.maxX+d.minX)/2,d.positionY=(d.maxY+d.minY)/2,d.width=d.maxX-d.minX,d.height=d.maxY-d.minY)}},hB=function(a,b,c){var d=Math.sqrt(a*a+b*b);if(d>c)var e={x:c*a/d,y:c*b/d};else var e={x:a,y:b};return e},hC=function(a,b){var c=a.parentId;if(null!=c){var d=b.layoutNodes[b.idToIndex[c]],e=!1;if((null==d.maxX||a.maxX+d.padRight>d.maxX)&&(d.maxX=a.maxX+d.padRight,e=!0),(null==d.minX||a.minX-d.padLeft<d.minX)&&(d.minX=a.minX-d.padLeft,e=!0),(null==d.maxY||a.maxY+d.padBottom>d.maxY)&&(d.maxY=a.maxY+d.padBottom,e=!0),(null==d.minY||a.minY-d.padTop<d.minY)&&(d.minY=a.minY-d.padTop,e=!0),e)return hC(d,b)}},hD=function(a,b){for(var c=a.layoutNodes,d=[],e=0;e<c.length;e++){var f=c[e],g=f.cmptId;(d[g]=d[g]||[]).push(f)}for(var h=0,e=0;e<d.length;e++){var i=d[e];if(i){i.x1=1/0,i.x2=-1/0,i.y1=1/0,i.y2=-1/0;for(var j=0;j<i.length;j++){var k=i[j];i.x1=Math.min(i.x1,k.positionX-k.width/2),i.x2=Math.max(i.x2,k.positionX+k.width/2),i.y1=Math.min(i.y1,k.positionY-k.height/2),i.y2=Math.max(i.y2,k.positionY+k.height/2)}i.w=i.x2-i.x1,i.h=i.y2-i.y1,h+=i.w*i.h}}d.sort(function(a,b){return b.w*b.h-a.w*a.h});for(var l=0,n=0,o=0,p=0,q=Math.sqrt(h)*a.clientWidth/a.clientHeight,e=0;e<d.length;e++){var i=d[e];if(i){for(var j=0;j<i.length;j++){var k=i[j];k.isLocked||(k.positionX+=l-i.x1,k.positionY+=n-i.y1)}l+=i.w+b.componentSpacing,o+=i.w+b.componentSpacing,p=Math.max(p,i.h),o>q&&(n+=p+b.componentSpacing,l=0,o=0,p=0)}}},hE={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(a){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(a,b){return!0},ready:void 0,stop:void 0,transform:function(a,b){return b}};function hF(a){this.options=bY({},hE,a)}hF.prototype.run=function(){var a=this.options,b=a.cy,c=a.eles,d=c.nodes().not(":parent");a.sort&&(d=d.sort(a.sort));var e=df(a.boundingBox?a.boundingBox:{x1:0,y1:0,w:b.width(),h:b.height()});if(0===e.h||0===e.w)c.nodes().layoutPositions(this,a,function(a){return{x:e.x1,y:e.y1}});else{var f=d.size(),g=Math.sqrt(f*e.h/e.w),h=Math.round(g),i=Math.round(e.w/e.h*g),j=function(a){if(null==a)return Math.min(h,i);Math.min(h,i)==h?h=a:i=a},k=function(a){if(null==a)return Math.max(h,i);Math.max(h,i)==h?h=a:i=a},l=a.rows,n=null!=a.cols?a.cols:a.columns;if(null!=l&&null!=n)h=l,i=n;else if(null!=l&&null==n)i=Math.ceil(f/(h=l));else if(null==l&&null!=n)h=Math.ceil(f/(i=n));else if(i*h>f){var o=j(),p=k();(o-1)*p>=f?j(o-1):(p-1)*o>=f&&k(p-1)}else for(;i*h<f;){var q=j(),r=k();(r+1)*q>=f?k(r+1):j(q+1)}var s=e.w/i,t=e.h/h;if(a.condense&&(s=0,t=0),a.avoidOverlap)for(var u=0;u<d.length;u++){var v=d[u],w=v._private.position;(null==w.x||null==w.y)&&(w.x=0,w.y=0);var x=v.layoutDimensions(a),y=a.avoidOverlapPadding,z=x.w+y,A=x.h+y;s=Math.max(s,z),t=Math.max(t,A)}for(var B={},C=function(a,b){return!!B["c-"+a+"-"+b]},D=function(a,b){B["c-"+a+"-"+b]=!0},E=0,F=0,G=function(){++F>=i&&(F=0,E++)},H={},I=0;I<d.length;I++){var J=d[I],K=a.position(J);if(K&&(void 0!==K.row||void 0!==K.col)){var L={row:K.row,col:K.col};if(void 0===L.col)for(L.col=0;C(L.row,L.col);)L.col++;else if(void 0===L.row)for(L.row=0;C(L.row,L.col);)L.row++;H[J.id()]=L,D(L.row,L.col)}}d.layoutPositions(this,a,function(a,b){if(a.locked()||a.isParent())return!1;var c,d,f=H[a.id()];if(f)c=f.col*s+s/2+e.x1,d=f.row*t+t/2+e.y1;else{for(;C(E,F);)G();c=F*s+s/2+e.x1,d=E*t+t/2+e.y1,D(E,F),G()}return{x:c,y:d}})}return this};var hG={ready:function(){},stop:function(){}};function hH(a){this.options=bY({},hG,a)}hH.prototype.run=function(){var a=this.options,b=a.eles;return a.cy,this.emit("layoutstart"),b.nodes().positions(function(){return{x:0,y:0}}),this.one("layoutready",a.ready),this.emit("layoutready"),this.one("layoutstop",a.stop),this.emit("layoutstop"),this},hH.prototype.stop=function(){return this};var hI={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,spacingFactor:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(a,b){return!0},ready:void 0,stop:void 0,transform:function(a,b){return b}};function hJ(a){this.options=bY({},hI,a)}hJ.prototype.run=function(){var a=this.options,b=a.eles.nodes(),c=bA(a.positions);return b.layoutPositions(this,a,function(b,d){var e=function(b){if(null==a.positions){var d;return{x:(d=b.position()).x,y:d.y}}if(c)return a.positions(b);var e=a.positions[b._private.data.id];return null==e?null:e}(b);return!b.locked()&&null!=e&&e}),this};var hK={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(a,b){return!0},ready:void 0,stop:void 0,transform:function(a,b){return b}};function hL(a){this.options=bY({},hK,a)}hL.prototype.run=function(){var a=this.options,b=a.cy,c=a.eles,d=df(a.boundingBox?a.boundingBox:{x1:0,y1:0,w:b.width(),h:b.height()});return c.nodes().layoutPositions(this,a,function(a,b){return{x:d.x1+Math.round(Math.random()*d.w),y:d.y1+Math.round(Math.random()*d.h)}}),this};var hM=[{name:"breadthfirst",impl:he},{name:"circle",impl:hg},{name:"concentric",impl:hi},{name:"cose",impl:hk},{name:"grid",impl:hF},{name:"null",impl:hH},{name:"preset",impl:hJ},{name:"random",impl:hL}];function hN(a){this.options=a,this.notifications=0}var hO=function(){},hP=function(){throw Error("A headless instance can not render images")};hN.prototype={recalculateRenderedStyle:hO,notify:function(){this.notifications++},init:hO,isHeadless:function(){return!0},png:hP,jpg:hP};var hQ={};hQ.arrowShapeWidth=.3,hQ.registerArrowShapes=function(){var a=this.arrowShapes={},b=this,c=function(a,b,c,d,e,f,g){var h=e.x-c/2-g,i=e.x+c/2+g,j=e.y-c/2-g,k=e.y+c/2+g;return h<=a&&a<=i&&j<=b&&b<=k},d=function(a,b,c,d,e){var f=a*Math.cos(d)-b*Math.sin(d),g=a*Math.sin(d)+b*Math.cos(d);return{x:f*c+e.x,y:g*c+e.y}},e=function(a,b,c,e){for(var f=[],g=0;g<a.length;g+=2){var h=a[g],i=a[g+1];f.push(d(h,i,b,c,e))}return f},f=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c];b.push(d.x,d.y)}return b},g=function(a){return a.pstyle("width").pfValue*a.pstyle("arrow-scale").pfValue*2},h=function(d,h){bz(h)&&(h=a[h]),a[d]=bY({name:d,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:function(a,b,c,d,g,h){return dz(a,b,f(e(this.points,c+2*h,d,g)))},roughCollide:c,draw:function(a,c,d,f){var g=e(this.points,c,d,f);b.arrowShapeImpl("polygon")(a,g)},spacing:function(a){return 0},gap:g},h)};h("none",{collide:ct,roughCollide:ct,draw:cv,spacing:cu,gap:cu}),h("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),h("arrow","triangle"),h("triangle-backcurve",{points:a.triangle.points,controlPoint:[0,-.15],roughCollide:c,draw:function(a,c,f,g,h){var i=e(this.points,c,f,g),j=this.controlPoint,k=d(j[0],j[1],c,f,g);b.arrowShapeImpl(this.name)(a,i,k)},gap:function(a){return .8*g(a)}}),h("triangle-tee",{points:[0,0,.15,-.3,-.15,-.3,0,0],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:function(a,b,c,d,g,h,i){var j=f(e(this.points,c+2*i,d,g)),k=f(e(this.pointsTee,c+2*i,d,g));return dz(a,b,j)||dz(a,b,k)},draw:function(a,c,d,f,g){var h=e(this.points,c,d,f),i=e(this.pointsTee,c,d,f);b.arrowShapeImpl(this.name)(a,h,i)}}),h("circle-triangle",{radius:.15,pointsTr:[0,-.15,.15,-.45,-.15,-.45,0,-.15],collide:function(a,b,c,d,g,h,i){var j=Math.pow(g.x-a,2)+Math.pow(g.y-b,2)<=Math.pow((c+2*i)*this.radius,2);return dz(a,b,f(e(this.points,c+2*i,d,g)))||j},draw:function(a,c,d,f,g){var h=e(this.pointsTr,c,d,f);b.arrowShapeImpl(this.name)(a,h,f.x,f.y,this.radius*c)},spacing:function(a){return b.getArrowWidth(a.pstyle("width").pfValue,a.pstyle("arrow-scale").value)*this.radius}}),h("triangle-cross",{points:[0,0,.15,-.3,-.15,-.3,0,0],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:function(a,b){var c=this.baseCrossLinePts.slice(),d=b/a;return c[3]=c[3]-d,c[5]=c[5]-d,c},collide:function(a,b,c,d,g,h,i){var j=f(e(this.points,c+2*i,d,g)),k=f(e(this.crossLinePts(c,h),c+2*i,d,g));return dz(a,b,j)||dz(a,b,k)},draw:function(a,c,d,f,g){var h=e(this.points,c,d,f),i=e(this.crossLinePts(c,g),c,d,f);b.arrowShapeImpl(this.name)(a,h,i)}}),h("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:function(a){return .525*g(a)}}),h("circle",{radius:.15,collide:function(a,b,c,d,e,f,g){return Math.pow(e.x-a,2)+Math.pow(e.y-b,2)<=Math.pow((c+2*g)*this.radius,2)},draw:function(a,c,d,e,f){b.arrowShapeImpl(this.name)(a,e.x,e.y,this.radius*c)},spacing:function(a){return b.getArrowWidth(a.pstyle("width").pfValue,a.pstyle("arrow-scale").value)*this.radius}}),h("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:function(a){return 1},gap:function(a){return 1}}),h("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),h("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:function(a){return a.pstyle("width").pfValue*a.pstyle("arrow-scale").value}}),h("chevron",{points:[0,0,-.15,-.15,-.1,-.2,0,-.1,.1,-.2,.15,-.15],gap:function(a){return .95*a.pstyle("width").pfValue*a.pstyle("arrow-scale").value}})};var hR={};hR.projectIntoViewport=function(a,b){var c=this.cy,d=this.findContainerClientCoords(),e=d[0],f=d[1],g=d[4],h=c.pan(),i=c.zoom();return[((a-e)/g-h.x)/i,((b-f)/g-h.y)/i]},hR.findContainerClientCoords=function(){if(this.containerBB)return this.containerBB;var a=this.container,b=a.getBoundingClientRect(),c=this.cy.window().getComputedStyle(a),d=function(a){return parseFloat(c.getPropertyValue(a))},e={left:d("padding-left"),right:d("padding-right"),top:d("padding-top"),bottom:d("padding-bottom")},f={left:d("border-left-width"),right:d("border-right-width"),top:d("border-top-width"),bottom:d("border-bottom-width")},g=a.clientWidth,h=a.clientHeight,i=e.left+e.right,j=e.top+e.bottom,k=f.left+f.right,l=b.width/(g+k),n=b.left+e.left+f.left,o=b.top+e.top+f.top;return this.containerBB=[n,o,g-i,h-j,l]},hR.invalidateContainerClientCoordsCache=function(){this.containerBB=null},hR.findNearestElement=function(a,b,c,d){return this.findNearestElements(a,b,c,d)[0]},hR.findNearestElements=function(a,b,c,d){var e,f,g=this,h=this,i=h.getCachedZSortedEles(),j=[],k=h.cy.zoom(),l=h.cy.hasCompoundNodes(),n=(d?24:8)/k,o=(d?8:2)/k,p=(d?8:2)/k,q=1/0;function r(a,b){if(a.isNode())if(f)return;else f=a,j.push(a);if(a.isEdge()&&(null==b||b<q))if(e){if(e.pstyle("z-compound-depth").value===a.pstyle("z-compound-depth").value&&e.pstyle("z-compound-depth").value===a.pstyle("z-compound-depth").value){for(var c=0;c<j.length;c++)if(j[c].isEdge()){j[c]=a,e=a,q=null!=b?b:q;break}}}else j.push(a),e=a,q=null!=b?b:q}function s(c){var d=c.outerWidth()+2*o,e=c.outerHeight()+2*o,f=d/2,i=e/2,j=c.position(),k="auto"===c.pstyle("corner-radius").value?"auto":c.pstyle("corner-radius").pfValue,l=c._private.rscratch;if(j.x-f<=a&&a<=j.x+f&&j.y-i<=b&&b<=j.y+i&&h.nodeShapes[g.getNodeShape(c)].checkPoint(a,b,0,d,e,j.x,j.y,k,l))return r(c,0),!0}c&&(i=i.interactive);function t(c,d){var e,f=c._private;e=d?d+"-":"",c.boundingBox();var g=f.labelBounds[d||"main"],h=c.pstyle(e+"label").value;if("yes"===c.pstyle("text-events").strValue&&h){var i=cH(f.rscratch,"labelX",d),j=cH(f.rscratch,"labelY",d),k=cH(f.rscratch,"labelAngle",d),l=c.pstyle(e+"text-margin-x").pfValue,n=c.pstyle(e+"text-margin-y").pfValue,o=g.x1-p-l,q=g.x2+p-l,s=g.y1-p-n,t=g.y2+p-n;if(k){var u=Math.cos(k),v=Math.sin(k),w=function(a,b){return{x:(a-=i)*u-(b-=j)*v+i,y:a*v+b*u+j}},x=w(o,s),y=w(o,t),z=w(q,s),A=w(q,t);if(dz(a,b,[x.x+l,x.y+n,z.x+l,z.y+n,A.x+l,A.y+n,y.x+l,y.y+n]))return r(c),!0}else if(dn(g,a,b))return r(c),!0}}for(var u=i.length-1;u>=0;u--){var v=i[u];v.isNode()?s(v)||t(v):function(c){var d,e=c._private,f=e.rscratch,i=c.pstyle("width").pfValue,k=c.pstyle("arrow-scale").value,o=i/2+n,p=o*o,q=2*o,t=e.source,u=e.target;if("segments"===f.edgeType||"straight"===f.edgeType||"haystack"===f.edgeType){for(var v=f.allpts,w=0;w+3<v.length;w+=2)if(dt(a,b,v[w],v[w+1],v[w+2],v[w+3],q)&&p>(d=dy(a,b,v[w],v[w+1],v[w+2],v[w+3])))return r(c,d),!0}else if("bezier"===f.edgeType||"multibezier"===f.edgeType||"self"===f.edgeType||"compound"===f.edgeType){for(var v=f.allpts,w=0;w+5<f.allpts.length;w+=4)if(du(a,b,v[w],v[w+1],v[w+2],v[w+3],v[w+4],v[w+5],q)&&p>(d=dx(a,b,v[w],v[w+1],v[w+2],v[w+3],v[w+4],v[w+5])))return r(c,d),!0}for(var t=t||e.source,u=u||e.target,x=g.getArrowWidth(i,k),y=[{name:"source",x:f.arrowStartX,y:f.arrowStartY,angle:f.srcArrowAngle},{name:"target",x:f.arrowEndX,y:f.arrowEndY,angle:f.tgtArrowAngle},{name:"mid-source",x:f.midX,y:f.midY,angle:f.midsrcArrowAngle},{name:"mid-target",x:f.midX,y:f.midY,angle:f.midtgtArrowAngle}],w=0;w<y.length;w++){var z=y[w],A=h.arrowShapes[c.pstyle(z.name+"-arrow-shape").value],B=c.pstyle("width").pfValue;if(A.roughCollide(a,b,x,z.angle,{x:z.x,y:z.y},B,n)&&A.collide(a,b,x,z.angle,{x:z.x,y:z.y},B,n))return r(c),!0}l&&j.length>0&&(s(t),s(u))}(v)||t(v)||t(v,"source")||t(v,"target")}return j},hR.getAllInBox=function(a,b,c,d){var e=this.getCachedZSortedEles().interactive,f=2/this.cy.zoom(),g=[],h=Math.min(a,c),i=Math.max(a,c),j=Math.min(b,d),k=Math.max(b,d);a=h,c=i;var l=df({x1:a,y1:b=j,x2:c,y2:d=k}),n=[{x:l.x1,y:l.y1},{x:l.x2,y:l.y1},{x:l.x2,y:l.y2},{x:l.x1,y:l.y2}],o=[[n[0],n[1]],[n[1],n[2]],[n[2],n[3]],[n[3],n[0]]];function p(a,b){var c=a._private;a.boundingBox();var d=c.labelBounds.main;if(!d)return null;var e=cH(c.rscratch,"labelX",b),g=cH(c.rscratch,"labelY",b),h=cH(c.rscratch,"labelAngle",b),i=a.pstyle("text-margin-x").pfValue,j=a.pstyle("text-margin-y").pfValue,k=d.x1-f-i,l=d.x2+f-i,n=d.y1-f-j,o=d.y2+f-j;if(!h)return[{x:k,y:n},{x:l,y:n},{x:l,y:o},{x:k,y:o}];var p=Math.cos(h),q=Math.sin(h),r=function(a,b){return{x:(a-=e)*p-(b-=g)*q+e,y:a*q+b*p+g}};return[r(k,n),r(l,n),r(l,o),r(k,o)]}for(var q=0;q<e.length;q++){var r=e[q];if(r.isNode()){var s="yes"===r.pstyle("text-events").strValue,t=r.pstyle("box-selection").strValue,u="yes"===r.pstyle("box-select-labels").strValue;if("none"===t)continue;var v=("overlap"===t||u)&&s,w=r.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:v});if("contain"===t){var x=!1;if(u&&s){var y=p(r);y&&dU(y,n)&&(g.push(r),x=!0)}!x&&dq(l,w)&&g.push(r)}else if("overlap"===t&&dm(l,w)){var z=r.boundingBox({includeNodes:!0,includeEdges:!0,includeLabels:!1,includeMainLabels:!1,includeSourceLabels:!1,includeTargetLabels:!1});if(dU([{x:z.x1,y:z.y1},{x:z.x2,y:z.y1},{x:z.x2,y:z.y2},{x:z.x1,y:z.y2}],n))g.push(r);else{var A=p(r);A&&dU(A,n)&&g.push(r)}}}else{var B=r._private,C=B.rscratch,D=r.pstyle("box-selection").strValue;if("none"===D)continue;if("contain"===D){if(null!=C.startX&&null!=C.startY&&!dn(l,C.startX,C.startY)||null!=C.endX&&null!=C.endY&&!dn(l,C.endX,C.endY))continue;if("bezier"===C.edgeType||"multibezier"===C.edgeType||"self"===C.edgeType||"compound"===C.edgeType||"segments"===C.edgeType||"haystack"===C.edgeType){for(var E=B.rstyle.bezierPts||B.rstyle.linePts||B.rstyle.haystackPts,F=!0,G=0;G<E.length;G++)if(!dp(l,E[G])){F=!1;break}F&&g.push(r)}else"straight"===C.edgeType&&g.push(r)}else if("overlap"===D){var H=!1;if(null!=C.startX&&null!=C.startY&&null!=C.endX&&null!=C.endY&&(dn(l,C.startX,C.startY)||dn(l,C.endX,C.endY)))g.push(r),H=!0;else if(!H&&"haystack"===C.edgeType){for(var I=B.rstyle.haystackPts,J=0;J<I.length;J++)if(dp(l,I[J])){g.push(r),H=!0;break}}if(!H){var K=B.rstyle.bezierPts||B.rstyle.linePts||B.rstyle.haystackPts;if((!K||K.length<2)&&"straight"===C.edgeType&&null!=C.startX&&null!=C.startY&&null!=C.endX&&null!=C.endY&&(K=[{x:C.startX,y:C.startY},{x:C.endX,y:C.endY}]),!K||K.length<2)continue;for(var L=0;L<K.length-1;L++){for(var M=K[L],N=K[L+1],O=0;O<o.length;O++){var P=bp(o[O],2);if(function(a,b,c,d){function e(a,b,c){return(c.y-a.y)*(b.x-a.x)>(b.y-a.y)*(c.x-a.x)}return e(a,c,d)!==e(b,c,d)&&e(a,b,c)!==e(a,b,d)}(M,N,P[0],P[1])){g.push(r),H=!0;break}}if(H)break}}}}}return g};var hS={};hS.calculateArrowAngles=function(a){var b=a._private.rscratch,c="haystack"===b.edgeType,d="bezier"===b.edgeType,e="multibezier"===b.edgeType,f="segments"===b.edgeType,g="compound"===b.edgeType,h="self"===b.edgeType;if(c?(s=b.haystackPts[0],t=b.haystackPts[1],u=b.haystackPts[2],v=b.haystackPts[3]):(s=b.arrowStartX,t=b.arrowStartY,u=b.arrowEndX,v=b.arrowEndY),l=b.midX,n=b.midY,f)q=s-b.segpts[0],r=t-b.segpts[1];else if(e||g||h||d){var i=b.allpts,j=db(i[0],i[2],i[4],.1),k=db(i[1],i[3],i[5],.1);q=s-j,r=t-k}else q=s-l,r=t-n;b.srcArrowAngle=c5(q,r);var l=b.midX,n=b.midY;if(c&&(l=(s+u)/2,n=(t+v)/2),q=u-s,r=v-t,f){var i=b.allpts;if(i.length/2%2==0){var o=i.length/2,p=o-2;q=i[o]-i[p],r=i[o+1]-i[p+1]}else if(b.isRound)q=b.midVector[1],r=-b.midVector[0];else{var o=i.length/2-1,p=o-2;q=i[o]-i[p],r=i[o+1]-i[p+1]}}else if(e||g||h){var q,r,s,t,u,v,l,n,w,x,y,z,i=b.allpts;if(b.ctrlpts.length/2%2==0){var A=i.length/2-1,B=A+2,C=B+2;w=db(i[A],i[B],i[C],0),x=db(i[A+1],i[B+1],i[C+1],0),y=db(i[A],i[B],i[C],1e-4),z=db(i[A+1],i[B+1],i[C+1],1e-4)}else{var B=i.length/2-1,A=B-2,C=B+2;w=db(i[A],i[B],i[C],.4999),x=db(i[A+1],i[B+1],i[C+1],.4999),y=db(i[A],i[B],i[C],.5),z=db(i[A+1],i[B+1],i[C+1],.5)}q=y-w,r=z-x}if(b.midtgtArrowAngle=c5(q,r),b.midDispX=q,b.midDispY=r,q*=-1,r*=-1,f){var i=b.allpts;if(i.length/2%2==0);else if(!b.isRound){var o=i.length/2-1,D=o+2;q=-(i[D]-i[o]),r=-(i[D+1]-i[o+1])}}if(b.midsrcArrowAngle=c5(q,r),f)q=u-b.segpts[b.segpts.length-2],r=v-b.segpts[b.segpts.length-1];else if(e||g||h||d){var i=b.allpts,E=i.length,j=db(i[E-6],i[E-4],i[E-2],.9),k=db(i[E-5],i[E-3],i[E-1],.9);q=u-j,r=v-k}else q=u-l,r=v-n;b.tgtArrowAngle=c5(q,r)},hS.getArrowWidth=hS.getArrowHeight=function(a,b){var c=this.arrowWidthCache=this.arrowWidthCache||{},d=c[a+", "+b];return d||(d=Math.max(Math.pow(13.37*a,.9),29)*b,c[a+", "+b]=d),d};var hT,hU,hV,hW,hX,hY,hZ,h$,h_,h0,h1,h2,h3,h4,h5,h6,h7,h8,h9,ia,ib,ic,id,ie,ig,ih,ii,ij,ik,il,im,io,ip,iq,ir,is,it,iu,iv,iw,ix,iy,iz,iA,iB,iC,iD,iE,iF,iG,iH,iI,iJ,iK,iL,iM,iN,iO,iP,iQ,iR,iS,iT,iU,iV,iW,iX,iY,iZ,i$,i_,i0,i1,i2,i3,i4,i5,i6,i7,i8,i9,ja,jb,jc,jd,je,jf,jg,jh,ji,jj,jk,jl,jm,jn,jo,jp,jq,jr,js,jt,ju,jv,jw,jx,jy,jz,jA,jB,jC,jD,jE,jF,jG,jH,jI,jJ,jK,jL,jM,jN,jO,jP,jQ,jR,jS,jT,jU,jV,jW,jX,jY,jZ,j$,j_,j0,j1,j2,j3,j4,j5,j6,j7,j8,j9,ka,kb,kc,kd,ke,kf,kg,kh,ki,kj,kk,kl,km,kn,ko={},kp={},kq=function(a,b,c){c.x=b.x-a.x,c.y=b.y-a.y,c.len=Math.sqrt(c.x*c.x+c.y*c.y),c.nx=c.x/c.len,c.ny=c.y/c.len,c.ang=Math.atan2(c.ny,c.nx)},kr=function(a,b){b.x=-1*a.x,b.y=-1*a.y,b.nx=-1*a.nx,b.ny=-1*a.ny,b.ang=a.ang>0?-(Math.PI-a.ang):Math.PI+a.ang},ks=function(a,b,c,d,e){if(a!==j?kq(b,a,ko):kr(kp,ko),kq(b,c,kp),ke=ko.nx*kp.ny-ko.ny*kp.nx,kf=ko.nx*kp.nx- -(ko.ny*kp.ny),1e-6>Math.abs(ki=Math.asin(Math.max(-1,Math.min(1,ke))))){kc=b.x,kd=b.y,kk=km=0;return}kg=1,kh=!1,kf<0?ki<0?ki=Math.PI+ki:(ki=Math.PI-ki,kg=-1,kh=!0):ki>0&&(kg=-1,kh=!0),km=void 0!==b.radius?b.radius:d,kj=ki/2,kn=Math.min(ko.len/2,kp.len/2),kk=e?(kl=Math.abs(Math.cos(kj)*km/Math.sin(kj)))>kn?Math.abs((kl=kn)*Math.sin(kj)/Math.cos(kj)):km:Math.abs((kl=Math.min(kn,km))*Math.sin(kj)/Math.cos(kj)),h=b.x+kp.nx*kl,i=b.y+kp.ny*kl,kc=h-kp.ny*kk*kg,kd=i+kp.nx*kk*kg,f=b.x+ko.nx*kl,g=b.y+ko.ny*kl,j=b};function kt(a,b){0===b.radius?a.lineTo(b.cx,b.cy):a.arc(b.cx,b.cy,b.radius,b.startAngle,b.endAngle,b.counterClockwise)}function ku(a,b,c,d){var e=!(arguments.length>4)||void 0===arguments[4]||arguments[4];return 0===d||0===b.radius?{cx:b.x,cy:b.y,radius:0,startX:b.x,startY:b.y,stopX:b.x,stopY:b.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(ks(a,b,c,d,e),{cx:kc,cy:kd,radius:kk,startX:f,startY:g,stopX:h,stopY:i,startAngle:ko.ang+Math.PI/2*kg,endAngle:kp.ang-Math.PI/2*kg,counterClockwise:kh})}var kv=Math.sqrt(.02),kw={};function kx(a){var b=[];if(null!=a){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1];b.push({x:d,y:e})}return b}}kw.findMidptPtsEtc=function(a,b){var c,d=b.posPts,e=b.intersectionPts,f=b.vectorNormInverse,g=a.pstyle("source-endpoint"),h=a.pstyle("target-endpoint"),i=null!=g.units&&null!=h.units;switch(a.pstyle("edge-distances").value){case"node-position":c=d;break;case"intersection":c=e;break;case"endpoints":if(i){var j,k,l,n=bp(this.manualEndptToPx(a.source()[0],g),2),o=n[0],p=n[1],q=bp(this.manualEndptToPx(a.target()[0],h),2),r=q[0],s=q[1];j=s-p,l=Math.sqrt((k=r-o)*k+j*j),f={x:-j/l,y:k/l},c={x1:o,y1:p,x2:r,y2:s}}else cy("Edge ".concat(a.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),c=e}return{midptPts:c,vectorNormInverse:f}},kw.findHaystackPoints=function(a){for(var b=0;b<a.length;b++){var c=a[b],d=c._private,e=d.rscratch;if(!e.haystack){var f=2*Math.random()*Math.PI;e.source={x:Math.cos(f),y:Math.sin(f)},e.target={x:Math.cos(f=2*Math.random()*Math.PI),y:Math.sin(f)}}var g=d.source,h=d.target,i=g.position(),j=h.position(),k=g.width(),l=h.width(),n=g.height(),o=h.height(),p=c.pstyle("haystack-radius").value/2;e.haystackPts=e.allpts=[e.source.x*k*p+i.x,e.source.y*n*p+i.y,e.target.x*l*p+j.x,e.target.y*o*p+j.y],e.midX=(e.allpts[0]+e.allpts[2])/2,e.midY=(e.allpts[1]+e.allpts[3])/2,e.edgeType="haystack",e.haystack=!0,this.storeEdgeProjections(c),this.calculateArrowAngles(c),this.recalculateEdgeLabelProjections(c),this.calculateLabelAngles(c)}},kw.findSegmentsPoints=function(a,b){var c=a._private.rscratch,d=a.pstyle("segment-weights"),e=a.pstyle("segment-distances"),f=a.pstyle("segment-radii"),g=a.pstyle("radius-type"),h=Math.min(d.pfValue.length,e.pfValue.length),i=f.pfValue[f.pfValue.length-1],j=g.pfValue[g.pfValue.length-1];c.edgeType="segments",c.segpts=[],c.radii=[],c.isArcRadius=[];for(var k=0;k<h;k++){var l=d.pfValue[k],n=e.pfValue[k],o=1-l,p=this.findMidptPtsEtc(a,b),q=p.midptPts,r=p.vectorNormInverse,s={x:q.x1*o+q.x2*l,y:q.y1*o+q.y2*l};c.segpts.push(s.x+r.x*n,s.y+r.y*n),c.radii.push(void 0!==f.pfValue[k]?f.pfValue[k]:i),c.isArcRadius.push((void 0!==g.pfValue[k]?g.pfValue[k]:j)==="arc-radius")}},kw.findLoopPoints=function(a,b,c,d){var e=a._private.rscratch,f=b.dirCounts,g=b.srcPos,h=a.pstyle("control-point-distances"),i=h?h.pfValue[0]:void 0,j=a.pstyle("loop-direction").pfValue,k=a.pstyle("loop-sweep").pfValue,l=a.pstyle("control-point-step-size").pfValue;e.edgeType="self";var n=c,o=l;d&&(n=0,o=i);var p=j-Math.PI/2,q=p-k/2,r=p+k/2,s=String(j+"_"+k);n=void 0===f[s]?f[s]=0:++f[s],e.ctrlpts=[g.x+1.4*Math.cos(q)*o*(n/3+1),g.y+1.4*Math.sin(q)*o*(n/3+1),g.x+1.4*Math.cos(r)*o*(n/3+1),g.y+1.4*Math.sin(r)*o*(n/3+1)]},kw.findCompoundLoopPoints=function(a,b,c,d){var e=a._private.rscratch;e.edgeType="compound";var f=b.srcPos,g=b.tgtPos,h=b.srcW,i=b.srcH,j=b.tgtW,k=b.tgtH,l=a.pstyle("control-point-step-size").pfValue,n=a.pstyle("control-point-distances"),o=n?n.pfValue[0]:void 0,p=c,q=l;d&&(p=0,q=o);var r={x:f.x-h/2,y:f.y-i/2},s={x:g.x-j/2,y:g.y-k/2},t={x:Math.min(r.x,s.x),y:Math.min(r.y,s.y)},u=Math.max(.5,Math.log(.01*h)),v=Math.max(.5,Math.log(.01*j));e.ctrlpts=[t.x,t.y-1.7995514309304248*q*(p/3+1)*u,t.x-1.7995514309304248*q*(p/3+1)*v,t.y]},kw.findStraightEdgePoints=function(a){a._private.rscratch.edgeType="straight"},kw.findBezierPoints=function(a,b,c,d,e){var f=a._private.rscratch,g=a.pstyle("control-point-step-size").pfValue,h=a.pstyle("control-point-distances"),i=a.pstyle("control-point-weights"),j=h&&i?Math.min(h.value.length,i.value.length):1,k=h?h.pfValue[0]:void 0,l=i.value[0];f.edgeType=d?"multibezier":"bezier",f.ctrlpts=[];for(var n=0;n<j;n++){var o=(.5-b.eles.length/2+c)*g*(e?-1:1),p=void 0,q=c7(o);d&&(k=h?h.pfValue[n]:g,l=i.value[n]);var r=void 0!==(p=d?k:void 0!==k?q*k:void 0)?p:o,s=1-l,t=l,u=this.findMidptPtsEtc(a,b),v=u.midptPts,w=u.vectorNormInverse,x={x:v.x1*s+v.x2*t,y:v.y1*s+v.y2*t};f.ctrlpts.push(x.x+w.x*r,x.y+w.y*r)}},kw.findTaxiPoints=function(a,b){var c,d=a._private.rscratch;d.edgeType="segments";var e="vertical",f="horizontal",g="leftward",h="rightward",i="downward",j="upward",k=b.posPts,l=b.srcW,n=b.srcH,o=b.tgtW,p=b.tgtH,q="node-position"!==a.pstyle("edge-distances").value,r=a.pstyle("taxi-direction").value,s=r,t=a.pstyle("taxi-turn"),u="%"===t.units,v=t.pfValue,w=a.pstyle("taxi-turn-min-distance").pfValue,x=k.x2-k.x1,y=k.y2-k.y1,z=function(a,b){return a>0?Math.max(a-b,0):Math.min(a+b,0)},A=z(x,q?(l+o)/2:0),B=z(y,q?(n+p)/2:0),C=!1;"auto"===s?r=Math.abs(A)>Math.abs(B)?f:e:s===j||s===i?(r=e,C=!0):(s===g||s===h)&&(r=f,C=!0);var D=r===e,E=D?B:A,F=D?y:x,G=c7(F),H=!1;!(C&&(u||v<0))&&(s===i&&F<0||s===j&&F>0||s===g&&F>0||s===h&&F<0)&&(G*=-1,E=G*Math.abs(E),H=!0);var I=function(a){return Math.abs(a)<w||Math.abs(a)>=Math.abs(E)},J=I(c=u?(v<0?1+v:v)*E:(v<0?E:0)+v*G),K=I(Math.abs(E)-Math.abs(c));if((J||K)&&!H)if(D){var L=Math.abs(x)<=o/2;if(Math.abs(F)<=n/2){var M=(k.x1+k.x2)/2;d.segpts=[M,k.y1,M,k.y2]}else if(L){var N=(k.y1+k.y2)/2;d.segpts=[k.x1,N,k.x2,N]}else d.segpts=[k.x1,k.y2]}else{var O=Math.abs(y)<=p/2;if(Math.abs(F)<=l/2){var P=(k.y1+k.y2)/2;d.segpts=[k.x1,P,k.x2,P]}else if(O){var Q=(k.x1+k.x2)/2;d.segpts=[Q,k.y1,Q,k.y2]}else d.segpts=[k.x2,k.y1]}else if(D){var R=k.y1+c+(q?n/2*G:0);d.segpts=[k.x1,R,k.x2,R]}else{var S=k.x1+c+(q?l/2*G:0);d.segpts=[S,k.y1,S,k.y2]}if(d.isRound){var T=a.pstyle("taxi-radius").value,U="arc-radius"===a.pstyle("radius-type").value[0];d.radii=Array(d.segpts.length/2).fill(T),d.isArcRadius=Array(d.segpts.length/2).fill(U)}},kw.tryToCorrectInvalidPoints=function(a,b){var c=a._private.rscratch;if("bezier"===c.edgeType){var d=b.srcPos,e=b.tgtPos,f=b.srcW,g=b.srcH,h=b.tgtW,i=b.tgtH,j=b.srcShape,k=b.tgtShape,l=b.srcCornerRadius,n=b.tgtCornerRadius,o=b.srcRs,p=b.tgtRs,q=!bD(c.startX)||!bD(c.startY),r=!bD(c.arrowStartX)||!bD(c.arrowStartY),s=!bD(c.endX)||!bD(c.endY),t=!bD(c.arrowEndX)||!bD(c.arrowEndY),u=3*(this.getArrowWidth(a.pstyle("width").pfValue,a.pstyle("arrow-scale").value)*this.arrowShapeWidth),v=c8({x:c.ctrlpts[0],y:c.ctrlpts[1]},{x:c.startX,y:c.startY}),w=v<u,x=c8({x:c.ctrlpts[0],y:c.ctrlpts[1]},{x:c.endX,y:c.endY}),y=x<u,z=!1;if(q||r||w){z=!0;var A={x:c.ctrlpts[0]-d.x,y:c.ctrlpts[1]-d.y},B=Math.sqrt(A.x*A.x+A.y*A.y),C={x:A.x/B,y:A.y/B},D=Math.max(f,g),E={x:c.ctrlpts[0]+2*C.x*D,y:c.ctrlpts[1]+2*C.y*D},F=j.intersectLine(d.x,d.y,f,g,E.x,E.y,0,l,o);w?(c.ctrlpts[0]=c.ctrlpts[0]+C.x*(u-v),c.ctrlpts[1]=c.ctrlpts[1]+C.y*(u-v)):(c.ctrlpts[0]=F[0]+C.x*u,c.ctrlpts[1]=F[1]+C.y*u)}if(s||t||y){z=!0;var G={x:c.ctrlpts[0]-e.x,y:c.ctrlpts[1]-e.y},H=Math.sqrt(G.x*G.x+G.y*G.y),I={x:G.x/H,y:G.y/H},J=Math.max(f,g),K={x:c.ctrlpts[0]+2*I.x*J,y:c.ctrlpts[1]+2*I.y*J},L=k.intersectLine(e.x,e.y,h,i,K.x,K.y,0,n,p);y?(c.ctrlpts[0]=c.ctrlpts[0]+I.x*(u-x),c.ctrlpts[1]=c.ctrlpts[1]+I.y*(u-x)):(c.ctrlpts[0]=L[0]+I.x*u,c.ctrlpts[1]=L[1]+I.y*u)}z&&this.findEndpoints(a)}},kw.storeAllpts=function(a){var b=a._private.rscratch;if("multibezier"===b.edgeType||"bezier"===b.edgeType||"self"===b.edgeType||"compound"===b.edgeType){b.allpts=[],b.allpts.push(b.startX,b.startY);for(var c,d=0;d+1<b.ctrlpts.length;d+=2)b.allpts.push(b.ctrlpts[d],b.ctrlpts[d+1]),d+3<b.ctrlpts.length&&b.allpts.push((b.ctrlpts[d]+b.ctrlpts[d+2])/2,(b.ctrlpts[d+1]+b.ctrlpts[d+3])/2);(b.allpts.push(b.endX,b.endY),b.ctrlpts.length/2%2==0)?(c=b.allpts.length/2-1,b.midX=b.allpts[c],b.midY=b.allpts[c+1]):(c=b.allpts.length/2-3,b.midX=db(b.allpts[c],b.allpts[c+2],b.allpts[c+4],.5),b.midY=db(b.allpts[c+1],b.allpts[c+3],b.allpts[c+5],.5))}else if("straight"===b.edgeType)b.allpts=[b.startX,b.startY,b.endX,b.endY],b.midX=(b.startX+b.endX+b.arrowStartX+b.arrowEndX)/4,b.midY=(b.startY+b.endY+b.arrowStartY+b.arrowEndY)/4;else if("segments"===b.edgeType){if(b.allpts=[],b.allpts.push(b.startX,b.startY),b.allpts.push.apply(b.allpts,b.segpts),b.allpts.push(b.endX,b.endY),b.isRound){b.roundCorners=[];for(var e=2;e+3<b.allpts.length;e+=2){var f=b.radii[e/2-1],g=b.isArcRadius[e/2-1];b.roundCorners.push(ku({x:b.allpts[e-2],y:b.allpts[e-1]},{x:b.allpts[e],y:b.allpts[e+1],radius:f},{x:b.allpts[e+2],y:b.allpts[e+3]},f,g))}}if(b.segpts.length%4==0){var h=b.segpts.length/2,i=h-2;b.midX=(b.segpts[i]+b.segpts[h])/2,b.midY=(b.segpts[i+1]+b.segpts[h+1])/2}else{var j=b.segpts.length/2-1;if(b.isRound){var k={x:b.segpts[j],y:b.segpts[j+1]},l=b.roundCorners[j/2];if(0===l.radius){var n={x:b.segpts[j+2],y:b.segpts[j+3]};b.midX=k.x,b.midY=k.y,b.midVector=[k.y-n.y,n.x-k.x]}else{var o=[k.x-l.cx,k.y-l.cy],p=l.radius/Math.sqrt(Math.pow(o[0],2)+Math.pow(o[1],2));o=o.map(function(a){return a*p}),b.midX=l.cx+o[0],b.midY=l.cy+o[1],b.midVector=o}}else b.midX=b.segpts[j],b.midY=b.segpts[j+1]}}},kw.checkForInvalidEdgeWarning=function(a){var b=a[0]._private.rscratch;b.nodesOverlap||bD(b.startX)&&bD(b.startY)&&bD(b.endX)&&bD(b.endY)?b.loggedErr=!1:b.loggedErr||(b.loggedErr=!0,cy("Edge `"+a.id()+"` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap."))},kw.findEdgeControlPoints=function(a){var b=this;if(a&&0!==a.length){for(var c=this,d=c.cy.hasCompoundNodes(),e=new cK,f=function(a,b){return[].concat(bq(a),[+!!b]).join("-")},g=[],h=[],i=0;i<a.length;i++){var j=a[i],k=j._private,l=j.pstyle("curve-style").value;if(!j.removed()&&j.takesUpSpace()){if("haystack"===l){h.push(j);continue}var n="unbundled-bezier"===l||bR(l,"segments")||"straight"===l||"straight-triangle"===l||bR(l,"taxi"),o="unbundled-bezier"===l||"bezier"===l,p=k.source,q=k.target,r=[p.poolIndex(),q.poolIndex()].sort(),s=f(r,n),t=e.get(s);null==t&&(t={eles:[]},g.push({pairId:r,edgeIsUnbundled:n}),e.set(s,t)),t.eles.push(j),n&&(t.hasUnbundled=!0),o&&(t.hasBezier=!0)}}for(var u=0;u<g.length;u++)!function(){var a,h=g[u],i=f(h.pairId,h.edgeIsUnbundled),j=e.get(i);if(!j.hasUnbundled){var k=j.eles[0].parallelEdges().filter(function(a){return a.isBundledBezier()});cF(j.eles),k.forEach(function(a){return j.eles.push(a)}),j.eles.sort(function(a,b){return a.poolIndex()-b.poolIndex()})}var l=j.eles[0],n=l.source(),o=l.target();if(n.poolIndex()>o.poolIndex()){var p=n;n=o,o=p}var q=j.srcPos=n.position(),r=j.tgtPos=o.position(),s=j.srcW=n.outerWidth(),t=j.srcH=n.outerHeight(),v=j.tgtW=o.outerWidth(),w=j.tgtH=o.outerHeight(),x=j.srcShape=c.nodeShapes[b.getNodeShape(n)],y=j.tgtShape=c.nodeShapes[b.getNodeShape(o)],z=j.srcCornerRadius="auto"===n.pstyle("corner-radius").value?"auto":n.pstyle("corner-radius").pfValue,A=j.tgtCornerRadius="auto"===o.pstyle("corner-radius").value?"auto":o.pstyle("corner-radius").pfValue,B=j.tgtRs=o._private.rscratch,C=j.srcRs=n._private.rscratch;j.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var D=0;D<j.eles.length;D++){var E=j.eles[D],F=E[0]._private.rscratch,G=E.pstyle("curve-style").value,H="unbundled-bezier"===G||bR(G,"segments")||bR(G,"taxi"),I=!n.same(E.source());if(!j.calculatedIntersection&&n!==o&&(j.hasBezier||j.hasUnbundled)){j.calculatedIntersection=!0;var J=x.intersectLine(q.x,q.y,s,t,r.x,r.y,0,z,C),K=j.srcIntn=J,L=y.intersectLine(r.x,r.y,v,w,q.x,q.y,0,A,B),M=j.tgtIntn=L,N=j.intersectionPts={x1:J[0],x2:L[0],y1:J[1],y2:L[1]},O=j.posPts={x1:q.x,x2:r.x,y1:q.y,y2:r.y},P=L[1]-J[1],Q=L[0]-J[0],R=Math.sqrt(Q*Q+P*P);bD(R)&&R>=kv||(R=Math.sqrt(Math.max(Q*Q,.01)+Math.max(P*P,.01)));var S=j.vector={x:Q,y:P},T=j.vectorNorm={x:S.x/R,y:S.y/R},U={x:-T.y,y:T.x};j.nodesOverlap=!bD(R)||y.checkPoint(J[0],J[1],0,v,w,r.x,r.y,A,B)||x.checkPoint(L[0],L[1],0,s,t,q.x,q.y,z,C),j.vectorNormInverse=U,a={nodesOverlap:j.nodesOverlap,dirCounts:j.dirCounts,calculatedIntersection:!0,hasBezier:j.hasBezier,hasUnbundled:j.hasUnbundled,eles:j.eles,srcPos:r,srcRs:B,tgtPos:q,tgtRs:C,srcW:v,srcH:w,tgtW:s,tgtH:t,srcIntn:M,tgtIntn:K,srcShape:y,tgtShape:x,posPts:{x1:O.x2,y1:O.y2,x2:O.x1,y2:O.y1},intersectionPts:{x1:N.x2,y1:N.y2,x2:N.x1,y2:N.y1},vector:{x:-S.x,y:-S.y},vectorNorm:{x:-T.x,y:-T.y},vectorNormInverse:{x:-U.x,y:-U.y}}}var V=I?a:j;F.nodesOverlap=V.nodesOverlap,F.srcIntn=V.srcIntn,F.tgtIntn=V.tgtIntn,F.isRound=G.startsWith("round"),d&&(n.isParent()||n.isChild()||o.isParent()||o.isChild())&&(n.parents().anySame(o)||o.parents().anySame(n)||n.same(o)&&n.isParent())?b.findCompoundLoopPoints(E,V,D,H):n===o?b.findLoopPoints(E,V,D,H):G.endsWith("segments")?b.findSegmentsPoints(E,V):G.endsWith("taxi")?b.findTaxiPoints(E,V):"straight"!==G&&(H||j.eles.length%2!=1||D!==Math.floor(j.eles.length/2))?b.findBezierPoints(E,V,D,H,I):b.findStraightEdgePoints(E),b.findEndpoints(E),b.tryToCorrectInvalidPoints(E,V),b.checkForInvalidEdgeWarning(E),b.storeAllpts(E),b.storeEdgeProjections(E),b.calculateArrowAngles(E),b.recalculateEdgeLabelProjections(E),b.calculateLabelAngles(E)}}();this.findHaystackPoints(h)}},kw.getSegmentPoints=function(a){var b=a[0]._private.rscratch;if(this.recalculateRenderedStyle(a),"segments"===b.edgeType)return kx(b.segpts)},kw.getControlPoints=function(a){var b=a[0]._private.rscratch;this.recalculateRenderedStyle(a);var c=b.edgeType;if("bezier"===c||"multibezier"===c||"self"===c||"compound"===c)return kx(b.ctrlpts)},kw.getEdgeMidpoint=function(a){var b=a[0]._private.rscratch;return this.recalculateRenderedStyle(a),{x:b.midX,y:b.midY}};var ky={};ky.manualEndptToPx=function(a,b){var c=a.position(),d=a.outerWidth(),e=a.outerHeight(),f=a._private.rscratch;if(2===b.value.length){var g=[b.pfValue[0],b.pfValue[1]];return"%"===b.units[0]&&(g[0]=g[0]*d),"%"===b.units[1]&&(g[1]=g[1]*e),g[0]+=c.x,g[1]+=c.y,g}var h=b.pfValue[0];h=-Math.PI/2+h;var i=2*Math.max(d,e),j=[c.x+Math.cos(h)*i,c.y+Math.sin(h)*i];return this.nodeShapes[this.getNodeShape(a)].intersectLine(c.x,c.y,d,e,j[0],j[1],0,"auto"===a.pstyle("corner-radius").value?"auto":a.pstyle("corner-radius").pfValue,f)},ky.findEndpoints=function(a){var b,c,d,e,f,g,h,i,j,k=a.source()[0],l=a.target()[0],n=k.position(),o=l.position(),p=a.pstyle("target-arrow-shape").value,q=a.pstyle("source-arrow-shape").value,r=a.pstyle("target-distance-from-node").pfValue,s=a.pstyle("source-distance-from-node").pfValue,t=k._private.rscratch,u=l._private.rscratch,v=a.pstyle("curve-style").value,w=a._private.rscratch,x=w.edgeType,y=bR(v,"taxi"),z="self"===x||"compound"===x,A="bezier"===x||"multibezier"===x||z,B="bezier"!==x,C="straight"===x||"segments"===x,D="segments"===x,E=z||y,F=a.pstyle("source-endpoint"),G=E?"outside-to-node":F.value,H="auto"===k.pstyle("corner-radius").value?"auto":k.pstyle("corner-radius").pfValue,I=a.pstyle("target-endpoint"),J=E?"outside-to-node":I.value,K="auto"===l.pstyle("corner-radius").value?"auto":l.pstyle("corner-radius").pfValue;w.srcManEndpt=F,w.tgtManEndpt=I;var L=null!=(b=(null==I||null==(c=I.pfValue)?void 0:c.length)===2?I.pfValue:null)?b:[0,0],M=null!=(d=(null==F||null==(e=F.pfValue)?void 0:e.length)===2?F.pfValue:null)?d:[0,0];if(A){var N=[w.ctrlpts[0],w.ctrlpts[1]];g=B?[w.ctrlpts[w.ctrlpts.length-2],w.ctrlpts[w.ctrlpts.length-1]]:N,h=N}else if(C){var O=D?w.segpts.slice(0,2):[o.x+L[0],o.y+L[1]];g=D?w.segpts.slice(w.segpts.length-2):[n.x+M[0],n.y+M[1]],h=O}if("inside-to-node"===J)f=[o.x,o.y];else if(I.units)f=this.manualEndptToPx(l,I);else if("outside-to-line"===J)f=w.tgtIntn;else if("outside-to-node"===J||"outside-to-node-or-label"===J?i=g:("outside-to-line"===J||"outside-to-line-or-label"===J)&&(i=[n.x,n.y]),f=this.nodeShapes[this.getNodeShape(l)].intersectLine(o.x,o.y,l.outerWidth(),l.outerHeight(),i[0],i[1],0,K,u),"outside-to-node-or-label"===J||"outside-to-line-or-label"===J){var P=l._private.rscratch,Q=P.labelWidth,R=P.labelHeight,S=P.labelX,T=P.labelY,U=Q/2,V=R/2,W=l.pstyle("text-valign").value;"top"===W?T-=V:"bottom"===W&&(T+=V);var X=l.pstyle("text-halign").value;"left"===X?S-=U:"right"===X&&(S+=U);var Y=dK(i[0],i[1],[S-U,T-V,S+U,T-V,S+U,T+V,S-U,T+V],o.x,o.y);if(Y.length>0){var Z=c9(n,c0(f)),$=c9(n,c0(Y)),_=Z;$<Z&&(f=Y,_=$),Y.length>2&&c9(n,{x:Y[2],y:Y[3]})<_&&(f=[Y[2],Y[3]])}}var aa=dM(f,g,this.arrowShapes[p].spacing(a)+r),ab=dM(f,g,this.arrowShapes[p].gap(a)+r);if(w.endX=ab[0],w.endY=ab[1],w.arrowEndX=aa[0],w.arrowEndY=aa[1],"inside-to-node"===G)f=[n.x,n.y];else if(F.units)f=this.manualEndptToPx(k,F);else if("outside-to-line"===G)f=w.srcIntn;else if("outside-to-node"===G||"outside-to-node-or-label"===G?j=h:("outside-to-line"===G||"outside-to-line-or-label"===G)&&(j=[o.x,o.y]),f=this.nodeShapes[this.getNodeShape(k)].intersectLine(n.x,n.y,k.outerWidth(),k.outerHeight(),j[0],j[1],0,H,t),"outside-to-node-or-label"===G||"outside-to-line-or-label"===G){var ac=k._private.rscratch,ad=ac.labelWidth,ae=ac.labelHeight,af=ac.labelX,ag=ac.labelY,ah=ad/2,ai=ae/2,aj=k.pstyle("text-valign").value;"top"===aj?ag-=ai:"bottom"===aj&&(ag+=ai);var ak=k.pstyle("text-halign").value;"left"===ak?af-=ah:"right"===ak&&(af+=ah);var al=dK(j[0],j[1],[af-ah,ag-ai,af+ah,ag-ai,af+ah,ag+ai,af-ah,ag+ai],n.x,n.y);if(al.length>0){var am=c9(o,c0(f)),an=c9(o,c0(al)),ao=am;an<am&&(f=[al[0],al[1]],ao=an),al.length>2&&c9(o,{x:al[2],y:al[3]})<ao&&(f=[al[2],al[3]])}}var ap=dM(f,h,this.arrowShapes[q].spacing(a)+s),aq=dM(f,h,this.arrowShapes[q].gap(a)+s);w.startX=aq[0],w.startY=aq[1],w.arrowStartX=ap[0],w.arrowStartY=ap[1],(A||B||C)&&(bD(w.startX)&&bD(w.startY)&&bD(w.endX)&&bD(w.endY)?w.badLine=!1:w.badLine=!0)},ky.getSourceEndpoint=function(a){var b=a[0]._private.rscratch;return(this.recalculateRenderedStyle(a),"haystack"===b.edgeType)?{x:b.haystackPts[0],y:b.haystackPts[1]}:{x:b.arrowStartX,y:b.arrowStartY}},ky.getTargetEndpoint=function(a){var b=a[0]._private.rscratch;return(this.recalculateRenderedStyle(a),"haystack"===b.edgeType)?{x:b.haystackPts[2],y:b.haystackPts[3]}:{x:b.arrowEndX,y:b.arrowEndY}};var kz={};kz.storeEdgeProjections=function(a){var b=a._private,c=b.rscratch,d=c.edgeType;if(b.rstyle.bezierPts=null,b.rstyle.linePts=null,b.rstyle.haystackPts=null,"multibezier"===d||"bezier"===d||"self"===d||"compound"===d){b.rstyle.bezierPts=[];for(var e=0;e+5<c.allpts.length;e+=4)!function(a,b,c){for(var d=function(a,b,c,d){return db(a,b,c,d)},e=b._private.rstyle.bezierPts,f=0;f<a.bezierProjPcts.length;f++){var g=a.bezierProjPcts[f];e.push({x:d(c[0],c[2],c[4],g),y:d(c[1],c[3],c[5],g)})}}(this,a,c.allpts.slice(e,e+6))}else if("segments"===d)for(var f=b.rstyle.linePts=[],e=0;e+1<c.allpts.length;e+=2)f.push({x:c.allpts[e],y:c.allpts[e+1]});else if("haystack"===d){var g=c.haystackPts;b.rstyle.haystackPts=[{x:g[0],y:g[1]},{x:g[2],y:g[3]}]}b.rstyle.arrowWidth=this.getArrowWidth(a.pstyle("width").pfValue,a.pstyle("arrow-scale").value)*this.arrowShapeWidth},kz.recalculateEdgeProjections=function(a){this.findEdgeControlPoints(a)};var kA={};kA.recalculateNodeLabelProjection=function(a){var b,c;if(!bK(a.pstyle("label").strValue)){var d=a._private,e=a.width(),f=a.height(),g=a.padding(),h=a.position(),i=a.pstyle("text-halign").strValue,j=a.pstyle("text-valign").strValue,k=d.rscratch,l=d.rstyle;switch(i){case"left":b=h.x-e/2-g;break;case"right":b=h.x+e/2+g;break;default:b=h.x}switch(j){case"top":c=h.y-f/2-g;break;case"bottom":c=h.y+f/2+g;break;default:c=h.y}k.labelX=b,k.labelY=c,l.labelX=b,l.labelY=c,this.calculateLabelAngles(a),this.applyLabelDimensions(a)}};var kB=function(a,b){var c=Math.atan(b/a);return 0===a&&c<0&&(c*=-1),c},kC=function(a,b){return kB(b.x-a.x,b.y-a.y)},kD=function(a,b,c,d){var e=de(0,d-.001,1),f=de(0,d+.001,1);return kC(dc(a,b,c,e),dc(a,b,c,f))};kA.recalculateEdgeLabelProjections=function(a){var b,c=a._private,d=c.rscratch,e=this,f={mid:a.pstyle("label").strValue,source:a.pstyle("source-label").strValue,target:a.pstyle("target-label").strValue};if(f.mid||f.source||f.target){b={x:d.midX,y:d.midY};var g=function(a,b,d){cI(c.rscratch,a,b,d),cI(c.rstyle,a,b,d)};g("labelX",null,b.x),g("labelY",null,b.y),g("labelAutoAngle",null,kB(d.midDispX,d.midDispY));var h=function(){if(h.cache)return h.cache;for(var a=[],b=0;b+5<d.allpts.length;b+=4){var f={x:d.allpts[b],y:d.allpts[b+1]},g={x:d.allpts[b+2],y:d.allpts[b+3]},i={x:d.allpts[b+4],y:d.allpts[b+5]};a.push({p0:f,p1:g,p2:i,startDist:0,length:0,segments:[]})}var j=c.rstyle.bezierPts,k=e.bezierProjPcts.length;function l(a,b,c,d,e){var f=c8(b,c),g=a.segments[a.segments.length-1],h={p0:b,p1:c,t0:d,t1:e,startDist:g?g.startDist+g.length:0,length:f};a.segments.push(h),a.length+=f}for(var n=0;n<a.length;n++){var o=a[n],p=a[n-1];p&&(o.startDist=p.startDist+p.length),l(o,o.p0,j[n*k],0,e.bezierProjPcts[0]);for(var q=0;q<k-1;q++)l(o,j[n*k+q],j[n*k+q+1],e.bezierProjPcts[q],e.bezierProjPcts[q+1]);l(o,j[n*k+k-1],o.p2,e.bezierProjPcts[k-1],1)}return h.cache=a},i=function(c){var e="source"===c;if(f[c]){var i=a.pstyle(c+"-text-offset").pfValue;switch(d.edgeType){case"self":case"compound":case"bezier":case"multibezier":for(var j,k,l=h(),n=0,o=0,p=0;p<l.length;p++){for(var q=l[e?p:l.length-1-p],r=0;r<q.segments.length;r++){var s=q.segments[e?r:q.segments.length-1-r],t=p===l.length-1&&r===q.segments.length-1;if(n=o,(o+=s.length)>=i||t){k={cp:q,segment:s};break}}if(k)break}var u=k.cp,v=k.segment,w=(i-n)/v.length,x=v.t1-v.t0,y=e?v.t0+x*w:v.t1-x*w;y=de(0,y,1),b=dc(u.p0,u.p1,u.p2,y),j=kD(u.p0,u.p1,u.p2,y);break;case"straight":case"segments":case"haystack":for(var z,A,B,C,D=0,E=d.allpts.length,F=0;F+3<E&&(e?(z={x:d.allpts[F],y:d.allpts[F+1]},A={x:d.allpts[F+2],y:d.allpts[F+3]}):(z={x:d.allpts[E-2-F],y:d.allpts[E-1-F]},A={x:d.allpts[E-4-F],y:d.allpts[E-3-F]}),B=c8(z,A),C=D,!((D+=B)>=i));F+=2);var G=(i-C)/B;b=dd(z,A,G=de(0,G,1)),j=kC(z,A)}g("labelX",c,b.x),g("labelY",c,b.y),g("labelAutoAngle",c,j)}};i("source"),i("target"),this.applyLabelDimensions(a)}},kA.applyLabelDimensions=function(a){this.applyPrefixedLabelDimensions(a),a.isEdge()&&(this.applyPrefixedLabelDimensions(a,"source"),this.applyPrefixedLabelDimensions(a,"target"))},kA.applyPrefixedLabelDimensions=function(a,b){var c=a._private,d=this.getLabelText(a,b),e=cl(d,a._private.labelDimsKey);if(cH(c.rscratch,"prefixedLabelDimsKey",b)!==e){cI(c.rscratch,"prefixedLabelDimsKey",b,e);var f=this.calculateLabelDimensions(a,d),g=a.pstyle("line-height").pfValue,h=a.pstyle("text-wrap").strValue,i=cH(c.rscratch,"labelWrapCachedLines",b)||[],j="wrap"!==h?1:Math.max(i.length,1),k=f.height/j,l=f.width,n=f.height+(j-1)*(g-1)*k;cI(c.rstyle,"labelWidth",b,l),cI(c.rscratch,"labelWidth",b,l),cI(c.rstyle,"labelHeight",b,n),cI(c.rscratch,"labelHeight",b,n),cI(c.rscratch,"labelLineHeight",b,k*g)}},kA.getLabelText=function(a,b){var c=a._private,d=b?b+"-":"",e=a.pstyle(d+"label").strValue,f=a.pstyle("text-transform").value,g=function(a,d){return d?(cI(c.rscratch,a,b,d),d):cH(c.rscratch,a,b)};if(!e)return"";"none"==f||("uppercase"==f?e=e.toUpperCase():"lowercase"==f&&(e=e.toLowerCase()));var h=a.pstyle("text-wrap").value;if("wrap"===h){var i=g("labelKey");if(null!=i&&g("labelWrapKey")===i)return g("labelWrapCachedText");for(var j=e.split("\n"),k=a.pstyle("text-max-width").pfValue,l="anywhere"===a.pstyle("text-overflow-wrap").value,n=[],o=/[\s\u200b]+|$/g,p=0;p<j.length;p++){var q=j[p],r=this.calculateLabelDimensions(a,q).width;if(l&&(q=q.split("").join("​")),r>k){var s,t=q.matchAll(o),u="",v=0,w=bn(t);try{for(w.s();!(s=w.n()).done;){var x=s.value,y=x[0],z=q.substring(v,x.index);v=x.index+y.length;var A=0===u.length?z:u+z+y;this.calculateLabelDimensions(a,A).width<=k?u+=z+y:(u&&n.push(u),u=z+y)}}catch(a){w.e(a)}finally{w.f()}u.match(/^[\s\u200b]+$/)||n.push(u)}else n.push(q)}g("labelWrapCachedLines",n),e=g("labelWrapCachedText",n.join("\n")),g("labelWrapKey",i)}else if("ellipsis"===h){var B=a.pstyle("text-max-width").pfValue,C="",D=!1;if(this.calculateLabelDimensions(a,e).width<B)return e;for(var E=0;E<e.length&&!(this.calculateLabelDimensions(a,C+e[E]+"…").width>B);E++)C+=e[E],E===e.length-1&&(D=!0);return D||(C+="…"),C}return e},kA.getLabelJustification=function(a){var b=a.pstyle("text-justification").strValue,c=a.pstyle("text-halign").strValue;if("auto"!==b)return b;if(!a.isNode())return"center";switch(c){case"left":return"right";case"right":return"left";default:return"center"}},kA.calculateLabelDimensions=function(a,b){var c=this.cy.window().document,d=a.pstyle("font-style").strValue,e=a.pstyle("font-size").pfValue,f=a.pstyle("font-family").strValue,g=a.pstyle("font-weight").strValue,h=this.labelCalcCanvas,i=this.labelCalcCanvasContext;if(!h){h=this.labelCalcCanvas=c.createElement("canvas"),i=this.labelCalcCanvasContext=h.getContext("2d");var j=h.style;j.position="absolute",j.left="-9999px",j.top="-9999px",j.zIndex="-1",j.visibility="hidden",j.pointerEvents="none"}i.font="".concat(d," ").concat(g," ").concat(e,"px ").concat(f);for(var k=0,l=0,n=b.split("\n"),o=0;o<n.length;o++){var p=n[o];k=Math.max(Math.ceil(i.measureText(p).width),k),l+=e}return{width:k+=0,height:l+=0}},kA.calculateLabelAngle=function(a,b){var c=a._private.rscratch,d=a.isEdge(),e=a.pstyle((b?b+"-":"")+"text-rotation"),f=e.strValue;return"none"===f?0:d&&"autorotate"===f?c.labelAutoAngle:"autorotate"===f?0:e.pfValue},kA.calculateLabelAngles=function(a){var b=a.isEdge(),c=a._private.rscratch;c.labelAngle=this.calculateLabelAngle(a),b&&(c.sourceLabelAngle=this.calculateLabelAngle(a,"source"),c.targetLabelAngle=this.calculateLabelAngle(a,"target"))};var kE={},kF=!1;kE.getNodeShape=function(a){var b=a.pstyle("shape").value;if("cutrectangle"===b&&(28>a.width()||28>a.height()))return kF||(cy("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),kF=!0),"rectangle";if(a.isParent())if("rectangle"===b||"roundrectangle"===b||"round-rectangle"===b||"cutrectangle"===b||"cut-rectangle"===b||"barrel"===b)return b;else return"rectangle";if("polygon"===b){var c=a.pstyle("shape-polygon-points").value;return this.nodeShapes.makePolygon(c).name}return b};var kG={};kG.registerCalculationListeners=function(){var a=this.cy,b=a.collection(),c=this,d=function(a){var c=!(arguments.length>1)||void 0===arguments[1]||arguments[1];if(b.merge(a),c)for(var d=0;d<a.length;d++){var e=a[d]._private.rstyle;e.clean=!1,e.cleanConnected=!1}};c.binder(a).on("bounds.* dirty.*",function(a){d(a.target)}).on("style.* background.*",function(a){d(a.target,!1)});var e=function(e){if(e){var f=c.onUpdateEleCalcsFns;b.cleanStyle();for(var g=0;g<b.length;g++){var h=b[g],i=h._private.rstyle;h.isNode()&&!i.cleanConnected&&(d(h.connectedEdges()),i.cleanConnected=!0)}if(f)for(var j=0;j<f.length;j++)(0,f[j])(e,b);c.recalculateRenderedStyle(b),b=a.collection()}};c.flushRenderedStyleQueue=function(){e(!0)},c.beforeRender(e,c.beforeRenderPriorities.eleCalcs)},kG.onUpdateEleCalcs=function(a){(this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[]).push(a)},kG.recalculateRenderedStyle=function(a,b){var c=function(a){return a._private.rstyle.cleanConnected};if(0!==a.length){var d=[],e=[];if(!this.destroyed){void 0===b&&(b=!0);for(var f=0;f<a.length;f++){var g=a[f],h=g._private,i=h.rstyle;!g.isEdge()||c(g.source())&&c(g.target())||(i.clean=!1),g.isEdge()&&g.isBundledBezier()&&g.parallelEdges().some(function(a){return!a._private.rstyle.clean&&a.isBundledBezier()})&&(i.clean=!1),b&&i.clean||g.removed()||"none"!==g.pstyle("display").value&&("nodes"===h.group?e.push(g):d.push(g),i.clean=!0)}for(var j=0;j<e.length;j++){var k=e[j],l=k._private.rstyle,n=k.position();this.recalculateNodeLabelProjection(k),l.nodeX=n.x,l.nodeY=n.y,l.nodeW=k.pstyle("width").pfValue,l.nodeH=k.pstyle("height").pfValue}this.recalculateEdgeProjections(d);for(var o=0;o<d.length;o++){var p=d[o]._private,q=p.rstyle,r=p.rscratch;q.srcX=r.arrowStartX,q.srcY=r.arrowStartY,q.tgtX=r.arrowEndX,q.tgtY=r.arrowEndY,q.midX=r.midX,q.midY=r.midY,q.labelAngle=r.labelAngle,q.sourceLabelAngle=r.sourceLabelAngle,q.targetLabelAngle=r.targetLabelAngle}}}};var kH={};kH.updateCachedGrabbedEles=function(){var a=this.cachedZSortedEles;if(a){a.drag=[],a.nondrag=[];for(var b=[],c=0;c<a.length;c++){var d=a[c],e=d._private.rscratch;d.grabbed()&&!d.isParent()?b.push(d):e.inDragLayer?a.drag.push(d):a.nondrag.push(d)}for(var c=0;c<b.length;c++){var d=b[c];a.drag.push(d)}}},kH.invalidateCachedZSortedEles=function(){this.cachedZSortedEles=null},kH.getCachedZSortedEles=function(a){if(a||!this.cachedZSortedEles){var b=this.cy.mutableElements().toArray();b.sort(gk),b.interactive=b.filter(function(a){return a.interactive()}),this.cachedZSortedEles=b,this.updateCachedGrabbedEles()}else b=this.cachedZSortedEles;return b};var kI={};[hR,hS,kw,ky,kz,kA,kE,kG,kH].forEach(function(a){bY(kI,a)});var kJ={};kJ.getCachedImage=function(a,b,c){var d=this.imageCache=this.imageCache||{},e=d[a];if(e)return e.image.complete||e.image.addEventListener("load",c),e.image;var f=(e=d[a]=d[a]||{}).image=new Image;f.addEventListener("load",c),f.addEventListener("error",function(){f.error=!0});var g="data:";return a.substring(0,g.length).toLowerCase()!==g&&(f.crossOrigin=b="null"===b?null:b),f.src=a,f};var kK={};kK.registerBinding=function(a,b,c,d){var e=Array.prototype.slice.apply(arguments,[1]);if(Array.isArray(a)){for(var f=[],g=0;g<a.length;g++){var h=a[g];if(void 0!==h){var i=this.binder(h);f.push(i.on.apply(i,e))}}return f}var i=this.binder(a);return i.on.apply(i,e)},kK.binder=function(a){var b=this,c=b.cy.window(),d=a===c||a===c.document||a===c.document.body||"undefined"!=typeof HTMLElement&&a instanceof HTMLElement;if(null==b.supportsPassiveEvents){var e=!1;try{var f=Object.defineProperty({},"passive",{get:function(){return e=!0,!0}});c.addEventListener("test",null,f)}catch(a){}b.supportsPassiveEvents=e}var g=function(c,e,f){var g=Array.prototype.slice.call(arguments);return d&&b.supportsPassiveEvents&&(g[2]={capture:null!=f&&f,passive:!1,once:!1}),b.bindings.push({target:a,args:g}),(a.addEventListener||a.on).apply(a,g),this};return{on:g,addEventListener:g,addListener:g,bind:g}},kK.nodeIsDraggable=function(a){return a&&a.isNode()&&!a.locked()&&a.grabbable()},kK.nodeIsGrabbable=function(a){return this.nodeIsDraggable(a)&&a.interactive()},kK.load=function(){var a,b,c,d,e,f,g,h,i,j,k,l,n,o,p,q,r,s,t,u,v,w,x,y,z,A=this,B=A.cy.window(),C=function(a){return a.selected()},D=function(a,b,c,d){null==a&&(a=A.cy);for(var e=0;e<b.length;e++){var f=b[e];a.emit({originalEvent:c,type:f,position:d})}},E=function(a){return a.shiftKey||a.metaKey||a.ctrlKey},F=function(a,b){var c=!0;if(A.cy.hasCompoundNodes()&&a&&a.pannable())for(var d=0;b&&d<b.length;d++){var a=b[d];if(a.isNode()&&a.isParent()&&!a.pannable()){c=!1;break}}else c=!0;return c},G=function(a){a[0]._private.grabbed=!0},H=function(a){a[0]._private.grabbed=!1},I=function(a){a[0]._private.rscratch.inDragLayer=!0},J=function(a){a[0]._private.rscratch.inDragLayer=!1},K=function(a){a[0]._private.rscratch.isGrabTarget=!0},L=function(a){a[0]._private.rscratch.isGrabTarget=!1},M=function(a,b){var c=b.addToList;!c.has(a)&&a.grabbable()&&!a.locked()&&(c.merge(a),G(a))},N=function(a,b){if(a.cy().hasCompoundNodes()&&(null!=b.inDragLayer||null!=b.addToList)){var c=a.descendants();b.inDragLayer&&(c.forEach(I),c.connectedEdges().forEach(I)),b.addToList&&M(c,b)}},O=function(a,b){b=b||{};var c=a.cy().hasCompoundNodes();b.inDragLayer&&(a.forEach(I),a.neighborhood().stdFilter(function(a){return!c||a.isEdge()}).forEach(I)),b.addToList&&a.forEach(function(a){M(a,b)}),N(a,b),Q(a,{inDragLayer:b.inDragLayer}),A.updateCachedGrabbedEles()},P=function(a){a&&(A.getCachedZSortedEles().forEach(function(a){H(a),J(a),L(a)}),A.updateCachedGrabbedEles())},Q=function(a,b){if((null!=b.inDragLayer||null!=b.addToList)&&a.cy().hasCompoundNodes()){var c=a.ancestors().orphans();if(!c.same(a)){var d=c.descendants().spawnSelf().merge(c).unmerge(a).unmerge(a.descendants()),e=d.connectedEdges();b.inDragLayer&&(e.forEach(I),d.forEach(I)),b.addToList&&d.forEach(function(a){M(a,b)})}}},R=function(){null!=document.activeElement&&null!=document.activeElement.blur&&document.activeElement.blur()},S="undefined"!=typeof MutationObserver,T="undefined"!=typeof ResizeObserver;S?(A.removeObserver=new MutationObserver(function(a){for(var b=0;b<a.length;b++){var c=a[b].removedNodes;if(c){for(var d=0;d<c.length;d++)if(c[d]===A.container){A.destroy();break}}}}),A.container.parentNode&&A.removeObserver.observe(A.container.parentNode,{childList:!0})):A.registerBinding(A.container,"DOMNodeRemoved",function(a){A.destroy()});var U=cb(function(){A.cy.resize()},100);S&&(A.styleObserver=new MutationObserver(U),A.styleObserver.observe(A.container,{attributes:!0})),A.registerBinding(B,"resize",U),T&&(A.resizeObserver=new ResizeObserver(U),A.resizeObserver.observe(A.container));for(var V=function(){A.invalidateContainerClientCoordsCache()},W=A.container;null!=W;){a=W,A.registerBinding(a,"transitionend",V),A.registerBinding(a,"animationend",V),A.registerBinding(a,"scroll",V),W=W.parentNode}A.registerBinding(A.container,"contextmenu",function(a){a.preventDefault()});var X=function(a){for(var b=A.findContainerClientCoords(),c=b[0],d=b[1],e=b[2],f=b[3],g=a.touches?a.touches:[a],h=!1,i=0;i<g.length;i++){var j=g[i];if(c<=j.clientX&&j.clientX<=c+e&&d<=j.clientY&&j.clientY<=d+f){h=!0;break}}if(!h)return!1;for(var k=A.container,l=a.target.parentNode,n=!1;l;){if(l===k){n=!0;break}l=l.parentNode}return!!n};A.registerBinding(A.container,"mousedown",function(a){if(X(a)&&(1!==A.hoverData.which||1===a.which)){a.preventDefault(),R(),A.hoverData.capture=!0,A.hoverData.which=a.which;var b=A.cy,c=[a.clientX,a.clientY],d=A.projectIntoViewport(c[0],c[1]),e=A.selection,f=A.findNearestElements(d[0],d[1],!0,!1),g=f[0],h=A.dragData.possibleDragElements;A.hoverData.mdownPos=d,A.hoverData.mdownGPos=c;var i=function(b){return{originalEvent:a,type:b,position:{x:d[0],y:d[1]}}};if(3==a.which){A.hoverData.cxtStarted=!0;var j={originalEvent:a,type:"cxttapstart",position:{x:d[0],y:d[1]}};g?(g.activate(),g.emit(j),A.hoverData.down=g):b.emit(j),A.hoverData.downTime=new Date().getTime(),A.hoverData.cxtDragged=!1}else if(1==a.which){if(g&&g.activate(),null!=g&&A.nodeIsGrabbable(g)){if(K(g),g.selected()){h=A.dragData.possibleDragElements=b.collection();var k=b.$(function(a){return a.isNode()&&a.selected()&&A.nodeIsGrabbable(a)});O(k,{addToList:h}),g.emit(i("grabon")),k.forEach(function(a){a.emit(i("grab"))})}else O(g,{addToList:h=A.dragData.possibleDragElements=b.collection()}),g.emit(i("grabon")).emit(i("grab"));A.redrawHint("eles",!0),A.redrawHint("drag",!0)}A.hoverData.down=g,A.hoverData.downs=f,A.hoverData.downTime=new Date().getTime(),D(g,["mousedown","tapstart","vmousedown"],a,{x:d[0],y:d[1]}),null==g?(e[4]=1,A.data.bgActivePosistion={x:d[0],y:d[1]},A.redrawHint("select",!0),A.redraw()):g.pannable()&&(e[4]=1),A.hoverData.tapholdCancelled=!1,clearTimeout(A.hoverData.tapholdTimeout),A.hoverData.tapholdTimeout=setTimeout(function(){if(!A.hoverData.tapholdCancelled){var a=A.hoverData.down;a?a.emit(i("taphold")):b.emit(i("taphold"))}},A.tapholdDuration)}e[0]=e[2]=d[0],e[1]=e[3]=d[1]}},!1);var Y=function(a){var b=a.getRootNode();if(b&&11===b.nodeType&&void 0!==b.host)return b}(A.container);A.registerBinding([B,Y],"mousemove",function(a){var b,c;if(A.hoverData.capture||X(a)){var d=!1,e=A.cy,f=e.zoom(),g=[a.clientX,a.clientY],h=A.projectIntoViewport(g[0],g[1]),i=A.hoverData.mdownPos,j=A.hoverData.mdownGPos,k=A.selection,l=null;A.hoverData.draggingEles||A.hoverData.dragging||A.hoverData.selecting||(l=A.findNearestElement(h[0],h[1],!0,!1));var n=A.hoverData.last,o=A.hoverData.down,p=[h[0]-k[2],h[1]-k[3]],q=A.dragData.possibleDragElements;if(j){var r=g[0]-j[0],s=g[1]-j[1];A.hoverData.isOverThresholdDrag=b=r*r+s*s>=A.desktopTapThreshold2}var t=E(a);b&&(A.hoverData.tapholdCancelled=!0),d=!0,D(l,["mousemove","vmousemove","tapdrag"],a,{x:h[0],y:h[1]});var u=function(b){return{originalEvent:a,type:b,position:{x:h[0],y:h[1]}}},v=function(){A.data.bgActivePosistion=void 0,A.hoverData.selecting||e.emit(u("boxstart")),k[4]=1,A.hoverData.selecting=!0,A.redrawHint("select",!0),A.redraw()};if(3===A.hoverData.which){if(b){var w=u("cxtdrag");o?o.emit(w):e.emit(w),A.hoverData.cxtDragged=!0,(!A.hoverData.cxtOver||l!==A.hoverData.cxtOver)&&(A.hoverData.cxtOver&&A.hoverData.cxtOver.emit(u("cxtdragout")),A.hoverData.cxtOver=l,l&&l.emit(u("cxtdragover")))}}else if(A.hoverData.dragging){if(d=!0,e.panningEnabled()&&e.userPanningEnabled()){if(A.hoverData.justStartedPan){var x=A.hoverData.mdownPos;c={x:(h[0]-x[0])*f,y:(h[1]-x[1])*f},A.hoverData.justStartedPan=!1}else c={x:p[0]*f,y:p[1]*f};e.panBy(c),e.emit(u("dragpan")),A.hoverData.dragged=!0}h=A.projectIntoViewport(a.clientX,a.clientY)}else if(1==k[4]&&(null==o||o.pannable()))b&&(!A.hoverData.dragging&&e.boxSelectionEnabled()&&(t||!e.panningEnabled()||!e.userPanningEnabled())?v():!A.hoverData.selecting&&e.panningEnabled()&&e.userPanningEnabled()&&F(o,A.hoverData.downs)&&(A.hoverData.dragging=!0,A.hoverData.justStartedPan=!0,k[4]=0,A.data.bgActivePosistion=c0(i),A.redrawHint("select",!0),A.redraw()),o&&o.pannable()&&o.active()&&o.unactivate());else{if(o&&o.pannable()&&o.active()&&o.unactivate(),o&&o.grabbed()||l==n||(n&&D(n,["mouseout","tapdragout"],a,{x:h[0],y:h[1]}),l&&D(l,["mouseover","tapdragover"],a,{x:h[0],y:h[1]}),A.hoverData.last=l),o)if(b){if(e.boxSelectionEnabled()&&t)o&&o.grabbed()&&(P(q),o.emit(u("freeon")),q.emit(u("free")),A.dragData.didDrag&&(o.emit(u("dragfreeon")),q.emit(u("dragfree")))),v();else if(o&&o.grabbed()&&A.nodeIsDraggable(o)){var y,z=!A.dragData.didDrag;z&&A.redrawHint("eles",!0),A.dragData.didDrag=!0,A.hoverData.draggingEles||O(q,{inDragLayer:!0});var B={x:0,y:0};if(bD(p[0])&&bD(p[1])&&(B.x+=p[0],B.y+=p[1],z)){var C=A.hoverData.dragDelta;C&&bD(C[0])&&bD(C[1])&&(B.x+=C[0],B.y+=C[1])}A.hoverData.draggingEles=!0,q.silentShift(B).emit(u("position")).emit(u("drag")),A.redrawHint("drag",!0),A.redraw()}}else 0===(y=A.hoverData.dragDelta=A.hoverData.dragDelta||[]).length?(y.push(p[0]),y.push(p[1])):(y[0]+=p[0],y[1]+=p[1]);d=!0}if(k[2]=h[0],k[3]=h[1],d)return a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(),!1}},!1),A.registerBinding(B,"mouseup",function(a){if((1!==A.hoverData.which||1===a.which||!A.hoverData.capture)&&A.hoverData.capture){A.hoverData.capture=!1;var e=A.cy,f=A.projectIntoViewport(a.clientX,a.clientY),g=A.selection,h=A.findNearestElement(f[0],f[1],!0,!1),i=A.dragData.possibleDragElements,j=A.hoverData.down,k=E(a);A.data.bgActivePosistion&&(A.redrawHint("select",!0),A.redraw()),A.hoverData.tapholdCancelled=!0,A.data.bgActivePosistion=void 0,j&&j.unactivate();var l=function(b){return{originalEvent:a,type:b,position:{x:f[0],y:f[1]}}};if(3===A.hoverData.which){var n=l("cxttapend");if(j?j.emit(n):e.emit(n),!A.hoverData.cxtDragged){var o=l("cxttap");j?j.emit(o):e.emit(o)}A.hoverData.cxtDragged=!1,A.hoverData.which=null}else if(1===A.hoverData.which){if(D(h,["mouseup","tapend","vmouseup"],a,{x:f[0],y:f[1]}),A.dragData.didDrag||A.hoverData.dragged||A.hoverData.selecting||A.hoverData.isOverThresholdDrag||(D(j,["click","tap","vclick"],a,{x:f[0],y:f[1]}),c=!1,a.timeStamp-d<=e.multiClickDebounceTime()?(b&&clearTimeout(b),c=!0,d=null,D(j,["dblclick","dbltap","vdblclick"],a,{x:f[0],y:f[1]})):(b=setTimeout(function(){c||D(j,["oneclick","onetap","voneclick"],a,{x:f[0],y:f[1]})},e.multiClickDebounceTime()),d=a.timeStamp)),null!=j||A.dragData.didDrag||A.hoverData.selecting||A.hoverData.dragged||E(a)||(e.$(C).unselect(["tapunselect"]),i.length>0&&A.redrawHint("eles",!0),A.dragData.possibleDragElements=i=e.collection()),h!=j||A.dragData.didDrag||A.hoverData.selecting||null==h||!h._private.selectable||(A.hoverData.dragging||("additive"===e.selectionType()||k?h.selected()?h.unselect(["tapunselect"]):h.select(["tapselect"]):k||(e.$(C).unmerge(h).unselect(["tapunselect"]),h.select(["tapselect"]))),A.redrawHint("eles",!0)),A.hoverData.selecting){var p=e.collection(A.getAllInBox(g[0],g[1],g[2],g[3]));A.redrawHint("select",!0),p.length>0&&A.redrawHint("eles",!0),e.emit(l("boxend"));"additive"===e.selectionType()||k||e.$(C).unmerge(p).unselect(),p.emit(l("box")).stdFilter(function(a){return a.selectable()&&!a.selected()}).select().emit(l("boxselect")),A.redraw()}if(A.hoverData.dragging&&(A.hoverData.dragging=!1,A.redrawHint("select",!0),A.redrawHint("eles",!0),A.redraw()),!g[4]){A.redrawHint("drag",!0),A.redrawHint("eles",!0);var q=j&&j.grabbed();P(i),q&&(j.emit(l("freeon")),i.emit(l("free")),A.dragData.didDrag&&(j.emit(l("dragfreeon")),i.emit(l("dragfree"))))}}g[4]=0,A.hoverData.down=null,A.hoverData.cxtStarted=!1,A.hoverData.draggingEles=!1,A.hoverData.selecting=!1,A.hoverData.isOverThresholdDrag=!1,A.dragData.didDrag=!1,A.hoverData.dragged=!1,A.hoverData.dragDelta=[],A.hoverData.mdownPos=null,A.hoverData.mdownGPos=null,A.hoverData.which=null}},!1);var Z=[],$=1e5,_=function(a,b){for(var c=0;c<a.length;c++)if(a[c]%b!=0)return!1;return!0},aa=function(a){for(var b=Math.abs(a[0]),c=1;c<a.length;c++)if(Math.abs(a[c])!==b)return!1;return!0},ab=function(a){var b=!1,c=a.deltaY;if(null==c&&(null!=a.wheelDeltaY?c=a.wheelDeltaY/4:null!=a.wheelDelta&&(c=a.wheelDelta/4)),0!==c){if(null==e)if(Z.length>=4){if(!(e=_(Z,5))){var d=Math.abs(Z[0]);e=aa(Z)&&d>5}if(e)for(var f=0;f<Z.length;f++)$=Math.min(Math.abs(Z[f]),$)}else Z.push(c),b=!0;else e&&($=Math.min(Math.abs(c),$));if(!A.scrollingPage){var g=A.cy,h=g.zoom(),i=g.pan(),j=A.projectIntoViewport(a.clientX,a.clientY),k=[j[0]*h+i.x,j[1]*h+i.y];if(A.hoverData.draggingEles||A.hoverData.dragging||A.hoverData.cxtStarted||0!==A.selection[4])return void a.preventDefault();if(g.panningEnabled()&&g.userPanningEnabled()&&g.zoomingEnabled()&&g.userZoomingEnabled()){a.preventDefault(),A.data.wheelZooming=!0,clearTimeout(A.data.wheelTimeout),A.data.wheelTimeout=setTimeout(function(){A.data.wheelZooming=!1,A.redrawHint("eles",!0),A.redraw()},150),b&&Math.abs(c)>5&&(c=5*c7(c)),l=-(c/250),e&&(l/=$,l*=3),l*=A.wheelSensitivity,1===a.deltaMode&&(l*=33);var l,n=g.zoom()*Math.pow(10,l);"gesturechange"===a.type&&(n=A.gestureStartZoom*a.scale),g.zoom({level:n,renderedPosition:{x:k[0],y:k[1]}}),g.emit({type:"gesturechange"===a.type?"pinchzoom":"scrollzoom",originalEvent:a,position:{x:j[0],y:j[1]}})}}}};A.registerBinding(A.container,"wheel",ab,!0),A.registerBinding(B,"scroll",function(a){A.scrollingPage=!0,clearTimeout(A.scrollingPageTimeout),A.scrollingPageTimeout=setTimeout(function(){A.scrollingPage=!1},250)},!0),A.registerBinding(A.container,"gesturestart",function(a){A.gestureStartZoom=A.cy.zoom(),A.hasTouchStarted||a.preventDefault()},!0),A.registerBinding(A.container,"gesturechange",function(a){A.hasTouchStarted||ab(a)},!0),A.registerBinding(A.container,"mouseout",function(a){var b=A.projectIntoViewport(a.clientX,a.clientY);A.cy.emit({originalEvent:a,type:"mouseout",position:{x:b[0],y:b[1]}})},!1),A.registerBinding(A.container,"mouseover",function(a){var b=A.projectIntoViewport(a.clientX,a.clientY);A.cy.emit({originalEvent:a,type:"mouseover",position:{x:b[0],y:b[1]}})},!1);var ac=function(a,b,c,d){return Math.sqrt((c-a)*(c-a)+(d-b)*(d-b))},ad=function(a,b,c,d){return(c-a)*(c-a)+(d-b)*(d-b)};if(A.registerBinding(A.container,"touchstart",t=function(a){if(A.hasTouchStarted=!0,X(a)){R(),A.touchData.capture=!0,A.data.bgActivePosistion=void 0;var b=A.cy,c=A.touchData.now,d=A.touchData.earlier;if(a.touches[0]){var e=A.projectIntoViewport(a.touches[0].clientX,a.touches[0].clientY);c[0]=e[0],c[1]=e[1]}if(a.touches[1]){var e=A.projectIntoViewport(a.touches[1].clientX,a.touches[1].clientY);c[2]=e[0],c[3]=e[1]}if(a.touches[2]){var e=A.projectIntoViewport(a.touches[2].clientX,a.touches[2].clientY);c[4]=e[0],c[5]=e[1]}var t=function(b){return{originalEvent:a,type:b,position:{x:c[0],y:c[1]}}};if(a.touches[1]){A.touchData.singleTouchMoved=!0,P(A.dragData.touchDragEles);var u=A.findContainerClientCoords();o=u[0],p=u[1],q=u[2],r=u[3],f=a.touches[0].clientX-o,g=a.touches[0].clientY-p,h=a.touches[1].clientX-o,i=a.touches[1].clientY-p,s=0<=f&&f<=q&&0<=h&&h<=q&&0<=g&&g<=r&&0<=i&&i<=r;var v=b.pan(),w=b.zoom();if(j=ac(f,g,h,i),k=ad(f,g,h,i),n=[((l=[(f+h)/2,(g+i)/2])[0]-v.x)/w,(l[1]-v.y)/w],k<4e4&&!a.touches[2]){var x=A.findNearestElement(c[0],c[1],!0,!0),y=A.findNearestElement(c[2],c[3],!0,!0);x&&x.isNode()?(x.activate().emit(t("cxttapstart")),A.touchData.start=x):y&&y.isNode()?(y.activate().emit(t("cxttapstart")),A.touchData.start=y):b.emit(t("cxttapstart")),A.touchData.start&&(A.touchData.start._private.grabbed=!1),A.touchData.cxt=!0,A.touchData.cxtDragged=!1,A.data.bgActivePosistion=void 0,A.redraw();return}}if(a.touches[2])b.boxSelectionEnabled()&&a.preventDefault();else if(a.touches[1]);else if(a.touches[0]){var z=A.findNearestElements(c[0],c[1],!0,!0),B=z[0];if(null!=B&&(B.activate(),A.touchData.start=B,A.touchData.starts=z,A.nodeIsGrabbable(B))){var C=A.dragData.touchDragEles=b.collection(),E=null;A.redrawHint("eles",!0),A.redrawHint("drag",!0),B.selected()?O(E=b.$(function(a){return a.selected()&&A.nodeIsGrabbable(a)}),{addToList:C}):O(B,{addToList:C}),K(B),B.emit(t("grabon")),E?E.forEach(function(a){a.emit(t("grab"))}):B.emit(t("grab"))}D(B,["touchstart","tapstart","vmousedown"],a,{x:c[0],y:c[1]}),null==B&&(A.data.bgActivePosistion={x:e[0],y:e[1]},A.redrawHint("select",!0),A.redraw()),A.touchData.singleTouchMoved=!1,A.touchData.singleTouchStartTime=+new Date,clearTimeout(A.touchData.tapholdTimeout),A.touchData.tapholdTimeout=setTimeout(function(){!1!==A.touchData.singleTouchMoved||A.pinching||A.touchData.selecting||D(A.touchData.start,["taphold"],a,{x:c[0],y:c[1]})},A.tapholdDuration)}if(a.touches.length>=1){for(var F=A.touchData.startPosition=[null,null,null,null,null,null],G=0;G<c.length;G++)F[G]=d[G]=c[G];var H=a.touches[0];A.touchData.startGPosition=[H.clientX,H.clientY]}}},!1),A.registerBinding(B,"touchmove",u=function(a){var b=A.touchData.capture;if(b||X(a)){var c=A.selection,d=A.cy,e=A.touchData.now,l=A.touchData.earlier,q=d.zoom();if(a.touches[0]){var r=A.projectIntoViewport(a.touches[0].clientX,a.touches[0].clientY);e[0]=r[0],e[1]=r[1]}if(a.touches[1]){var r=A.projectIntoViewport(a.touches[1].clientX,a.touches[1].clientY);e[2]=r[0],e[3]=r[1]}if(a.touches[2]){var r=A.projectIntoViewport(a.touches[2].clientX,a.touches[2].clientY);e[4]=r[0],e[5]=r[1]}var t=function(b){return{originalEvent:a,type:b,position:{x:e[0],y:e[1]}}},u=A.touchData.startGPosition;if(b&&a.touches[0]&&u){for(var v=[],w=0;w<e.length;w++)v[w]=e[w]-l[w];var x=a.touches[0].clientX-u[0],y=x*x,z=a.touches[0].clientY-u[1];ab=y+z*z>=A.touchTapThreshold2}if(b&&A.touchData.cxt){a.preventDefault();var B=a.touches[0].clientX-o,C=a.touches[0].clientY-p,E=a.touches[1].clientX-o,G=a.touches[1].clientY-p,H=ad(B,C,E,G);if(H/k>=2.25||H>=22500){A.touchData.cxt=!1,A.data.bgActivePosistion=void 0,A.redrawHint("select",!0);var I=t("cxttapend");A.touchData.start?(A.touchData.start.unactivate().emit(I),A.touchData.start=null):d.emit(I)}}if(b&&A.touchData.cxt){var I=t("cxtdrag");A.data.bgActivePosistion=void 0,A.redrawHint("select",!0),A.touchData.start?A.touchData.start.emit(I):d.emit(I),A.touchData.start&&(A.touchData.start._private.grabbed=!1),A.touchData.cxtDragged=!0;var J=A.findNearestElement(e[0],e[1],!0,!0);(!A.touchData.cxtOver||J!==A.touchData.cxtOver)&&(A.touchData.cxtOver&&A.touchData.cxtOver.emit(t("cxtdragout")),A.touchData.cxtOver=J,J&&J.emit(t("cxtdragover")))}else if(b&&a.touches[2]&&d.boxSelectionEnabled())a.preventDefault(),A.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,A.touchData.selecting||d.emit(t("boxstart")),A.touchData.selecting=!0,A.touchData.didSelect=!0,c[4]=1,c&&0!==c.length&&void 0!==c[0]?(c[2]=(e[0]+e[2]+e[4])/3,c[3]=(e[1]+e[3]+e[5])/3):(c[0]=(e[0]+e[2]+e[4])/3,c[1]=(e[1]+e[3]+e[5])/3,c[2]=(e[0]+e[2]+e[4])/3+1,c[3]=(e[1]+e[3]+e[5])/3+1),A.redrawHint("select",!0),A.redraw();else if(b&&a.touches[1]&&!A.touchData.didSelect&&d.zoomingEnabled()&&d.panningEnabled()&&d.userZoomingEnabled()&&d.userPanningEnabled()){a.preventDefault(),A.data.bgActivePosistion=void 0,A.redrawHint("select",!0);var K=A.dragData.touchDragEles;if(K){A.redrawHint("drag",!0);for(var L=0;L<K.length;L++){var M=K[L]._private;M.grabbed=!1,M.rscratch.inDragLayer=!1}}var N=A.touchData.start,B=a.touches[0].clientX-o,C=a.touches[0].clientY-p,E=a.touches[1].clientX-o,G=a.touches[1].clientY-p,Q=ac(B,C,E,G),R=Q/j;if(s){var S=B-f,T=C-g,U=E-h,V=G-i,W=d.zoom(),Y=W*R,Z=d.pan(),$=n[0]*W+Z.x,_=n[1]*W+Z.y,aa={x:-Y/W*($-Z.x-(S+U)/2)+$,y:-Y/W*(_-Z.y-(T+V)/2)+_};if(N&&N.active()){var K=A.dragData.touchDragEles;P(K),A.redrawHint("drag",!0),A.redrawHint("eles",!0),N.unactivate().emit(t("freeon")),K.emit(t("free")),A.dragData.didDrag&&(N.emit(t("dragfreeon")),K.emit(t("dragfree")))}d.viewport({zoom:Y,pan:aa,cancelOnFailedZoom:!0}),d.emit(t("pinchzoom")),j=Q,f=B,g=C,h=E,i=G,A.pinching=!0}if(a.touches[0]){var r=A.projectIntoViewport(a.touches[0].clientX,a.touches[0].clientY);e[0]=r[0],e[1]=r[1]}if(a.touches[1]){var r=A.projectIntoViewport(a.touches[1].clientX,a.touches[1].clientY);e[2]=r[0],e[3]=r[1]}if(a.touches[2]){var r=A.projectIntoViewport(a.touches[2].clientX,a.touches[2].clientY);e[4]=r[0],e[5]=r[1]}}else if(a.touches[0]&&!A.touchData.didSelect){var ab,J,ae=A.touchData.start,af=A.touchData.last;if(A.hoverData.draggingEles||A.swipePanning||(J=A.findNearestElement(e[0],e[1],!0,!0)),b&&null!=ae&&a.preventDefault(),b&&null!=ae&&A.nodeIsDraggable(ae))if(ab){var K=A.dragData.touchDragEles,ag=!A.dragData.didDrag;ag&&O(K,{inDragLayer:!0}),A.dragData.didDrag=!0;var ah={x:0,y:0};if(bD(v[0])&&bD(v[1])&&(ah.x+=v[0],ah.y+=v[1],ag)){A.redrawHint("eles",!0);var ai=A.touchData.dragDelta;ai&&bD(ai[0])&&bD(ai[1])&&(ah.x+=ai[0],ah.y+=ai[1])}A.hoverData.draggingEles=!0,K.silentShift(ah).emit(t("position")).emit(t("drag")),A.redrawHint("drag",!0),A.touchData.startPosition[0]==l[0]&&A.touchData.startPosition[1]==l[1]&&A.redrawHint("eles",!0),A.redraw()}else{var ai=A.touchData.dragDelta=A.touchData.dragDelta||[];0===ai.length?(ai.push(v[0]),ai.push(v[1])):(ai[0]+=v[0],ai[1]+=v[1])}if(D(ae||J,["touchmove","tapdrag","vmousemove"],a,{x:e[0],y:e[1]}),ae&&ae.grabbed()||J==af||(af&&af.emit(t("tapdragout")),J&&J.emit(t("tapdragover"))),A.touchData.last=J,b)for(var L=0;L<e.length;L++)e[L]&&A.touchData.startPosition[L]&&ab&&(A.touchData.singleTouchMoved=!0);if(b&&(null==ae||ae.pannable())&&d.panningEnabled()&&d.userPanningEnabled()){F(ae,A.touchData.starts)&&(a.preventDefault(),A.data.bgActivePosistion||(A.data.bgActivePosistion=c0(A.touchData.startPosition)),A.swipePanning?(d.panBy({x:v[0]*q,y:v[1]*q}),d.emit(t("dragpan"))):ab&&(A.swipePanning=!0,d.panBy({x:x*q,y:z*q}),d.emit(t("dragpan")),ae&&(ae.unactivate(),A.redrawHint("select",!0),A.touchData.start=null)));var r=A.projectIntoViewport(a.touches[0].clientX,a.touches[0].clientY);e[0]=r[0],e[1]=r[1]}}for(var w=0;w<e.length;w++)l[w]=e[w];b&&a.touches.length>0&&!A.hoverData.draggingEles&&!A.swipePanning&&null!=A.data.bgActivePosistion&&(A.data.bgActivePosistion=void 0,A.redrawHint("select",!0),A.redraw())}},!1),A.registerBinding(B,"touchcancel",v=function(a){var b=A.touchData.start;A.touchData.capture=!1,b&&b.unactivate()}),A.registerBinding(B,"touchend",w=function(a){var b,c=A.touchData.start;if(A.touchData.capture){0===a.touches.length&&(A.touchData.capture=!1),a.preventDefault();var d=A.selection;A.swipePanning=!1,A.hoverData.draggingEles=!1;var e=A.cy,f=e.zoom(),g=A.touchData.now,h=A.touchData.earlier;if(a.touches[0]){var i=A.projectIntoViewport(a.touches[0].clientX,a.touches[0].clientY);g[0]=i[0],g[1]=i[1]}if(a.touches[1]){var i=A.projectIntoViewport(a.touches[1].clientX,a.touches[1].clientY);g[2]=i[0],g[3]=i[1]}if(a.touches[2]){var i=A.projectIntoViewport(a.touches[2].clientX,a.touches[2].clientY);g[4]=i[0],g[5]=i[1]}var j=function(b){return{originalEvent:a,type:b,position:{x:g[0],y:g[1]}}};if(c&&c.unactivate(),A.touchData.cxt){if(b=j("cxttapend"),c?c.emit(b):e.emit(b),!A.touchData.cxtDragged){var k=j("cxttap");c?c.emit(k):e.emit(k)}A.touchData.start&&(A.touchData.start._private.grabbed=!1),A.touchData.cxt=!1,A.touchData.start=null,A.redraw();return}if(!a.touches[2]&&e.boxSelectionEnabled()&&A.touchData.selecting){A.touchData.selecting=!1;var l=e.collection(A.getAllInBox(d[0],d[1],d[2],d[3]));d[0]=void 0,d[1]=void 0,d[2]=void 0,d[3]=void 0,d[4]=0,A.redrawHint("select",!0),e.emit(j("boxend")),l.emit(j("box")).stdFilter(function(a){return a.selectable()&&!a.selected()}).select().emit(j("boxselect")),l.nonempty()&&A.redrawHint("eles",!0),A.redraw()}if(null!=c&&c.unactivate(),a.touches[2])A.data.bgActivePosistion=void 0,A.redrawHint("select",!0);else if(a.touches[1]);else if(a.touches[0]);else if(!a.touches[0]){A.data.bgActivePosistion=void 0,A.redrawHint("select",!0);var n=A.dragData.touchDragEles;if(null!=c){var o=c._private.grabbed;P(n),A.redrawHint("drag",!0),A.redrawHint("eles",!0),o&&(c.emit(j("freeon")),n.emit(j("free")),A.dragData.didDrag&&(c.emit(j("dragfreeon")),n.emit(j("dragfree")))),D(c,["touchend","tapend","vmouseup","tapdragout"],a,{x:g[0],y:g[1]}),c.unactivate(),A.touchData.start=null}else D(A.findNearestElement(g[0],g[1],!0,!0),["touchend","tapend","vmouseup","tapdragout"],a,{x:g[0],y:g[1]});var p=A.touchData.startPosition[0]-g[0],q=A.touchData.startPosition[1]-g[1];A.touchData.singleTouchMoved||(c||e.$(":selected").unselect(["tapunselect"]),D(c,["tap","vclick"],a,{x:g[0],y:g[1]}),x=!1,a.timeStamp-z<=e.multiClickDebounceTime()?(y&&clearTimeout(y),x=!0,z=null,D(c,["dbltap","vdblclick"],a,{x:g[0],y:g[1]})):(y=setTimeout(function(){x||D(c,["onetap","voneclick"],a,{x:g[0],y:g[1]})},e.multiClickDebounceTime()),z=a.timeStamp)),null!=c&&!A.dragData.didDrag&&c._private.selectable&&(p*p+q*q)*f*f<A.touchTapThreshold2&&!A.pinching&&("single"===e.selectionType()?(e.$(C).unmerge(c).unselect(["tapunselect"]),c.select(["tapselect"])):c.selected()?c.unselect(["tapunselect"]):c.select(["tapselect"]),A.redrawHint("eles",!0)),A.touchData.singleTouchMoved=!0}for(var r=0;r<g.length;r++)h[r]=g[r];A.dragData.didDrag=!1,0===a.touches.length&&(A.touchData.dragDelta=[],A.touchData.startPosition=[null,null,null,null,null,null],A.touchData.startGPosition=null,A.touchData.didSelect=!1),a.touches.length<2&&(1===a.touches.length&&(A.touchData.startGPosition=[a.touches[0].clientX,a.touches[0].clientY]),A.pinching=!1,A.redrawHint("eles",!0),A.redraw())}},!1),"undefined"==typeof TouchEvent){var ae=[],af=function(a){return{clientX:a.clientX,clientY:a.clientY,force:1,identifier:a.pointerId,pageX:a.pageX,pageY:a.pageY,radiusX:a.width/2,radiusY:a.height/2,screenX:a.screenX,screenY:a.screenY,target:a.target}},ag=function(a){ae.push({event:a,touch:af(a)})},ah=function(a){for(var b=0;b<ae.length;b++)if(ae[b].event.pointerId===a.pointerId)return void ae.splice(b,1)},ai=function(a){var b=ae.filter(function(b){return b.event.pointerId===a.pointerId})[0];b.event=a,b.touch=af(a)},aj=function(a){a.touches=ae.map(function(a){return a.touch})},ak=function(a){return"mouse"===a.pointerType||4===a.pointerType};A.registerBinding(A.container,"pointerdown",function(a){ak(a)||(a.preventDefault(),ag(a),aj(a),t(a))}),A.registerBinding(A.container,"pointerup",function(a){ak(a)||(ah(a),aj(a),w(a))}),A.registerBinding(A.container,"pointercancel",function(a){ak(a)||(ah(a),aj(a),v(a))}),A.registerBinding(A.container,"pointermove",function(a){ak(a)||(a.preventDefault(),ai(a),aj(a),u(a))})}};var kL={};kL.generatePolygon=function(a,b){return this.nodeShapes[a]={renderer:this,name:a,points:b,draw:function(a,b,c,d,e,f){this.renderer.nodeShapeImpl("polygon",a,b,c,d,e,this.points)},intersectLine:function(a,b,c,d,e,f,g,h){return dK(e,f,this.points,a,b,c/2,d/2,g)},checkPoint:function(a,b,c,d,e,f,g,h){return dA(a,b,this.points,f,g,d,e,[0,-1],c)},hasMiterBounds:"rectangle"!==a,miterBounds:function(a,b,c,d,e,f){var g,h,i;return g=this.points,h=function(a,b){if(a.length<3)throw Error("Need at least 3 vertices");var c=function(a,b){return{x:a.x+b.x,y:a.y+b.y}},d=function(a,b){return{x:a.x-b.x,y:a.y-b.y}},e=function(a,b){return{x:a.x*b,y:a.y*b}},f=function(a,b){return a.x*b.y-a.y*b.x},g=a.map(function(a){return{x:a.x,y:a.y}});0>function(a){for(var b=0,c=0;c<a.length;c++){var d=a[c],e=a[(c+1)%a.length];b+=d.x*e.y-e.x*d.y}return b/2}(g)&&g.reverse();for(var h=g.length,i=[],j=0;j<h;j++){var k=g[j],l=d(g[(j+1)%h],k),n=function(a){var b=dr(a.x,a.y);return 0===b?{x:0,y:0}:{x:a.x/b,y:a.y/b}}({x:l.y,y:-l.x});i.push(n)}for(var o=i.map(function(a,d){return{p1:c(g[d],e(a,b)),p2:c(g[(d+1)%h],e(a,b))}}),p=[],q=0;q<h;q++){var r=o[(q-1+h)%h],s=o[q],t=function(a,b,g,h){var i=d(b,a),j=d(h,g),k=f(i,j);if(1e-9>Math.abs(k))return c(a,e(i,.5));var l=f(d(g,a),j)/k;return c(a,e(i,l))}(r.p1,r.p2,s.p1,s.p2);p.push(t)}return p}(dJ(g,a,b,c,d),e),i=df(),h.forEach(function(a){return di(i,a.x,a.y)}),i}}},kL.generateEllipse=function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:function(a,b,c,d,e,f){this.renderer.nodeShapeImpl(this.name,a,b,c,d,e)},intersectLine:function(a,b,c,d,e,f,g,h){return dE(e,f,a,b,c/2+g,d/2+g)},checkPoint:function(a,b,c,d,e,f,g,h){return dF(a,b,d,e,f,g,c)}}},kL.generateRoundPolygon=function(a,b){return this.nodeShapes[a]={renderer:this,name:a,points:b,getOrCreateCorners:function(a,c,d,e,f,g,h){if(void 0!==g[h]&&g[h+"-cx"]===a&&g[h+"-cy"]===c)return g[h];g[h]=Array(b.length/2),g[h+"-cx"]=a,g[h+"-cy"]=c;var i=d/2,j=e/2;f="auto"===f?dR(d,e):f;for(var k=Array(b.length/2),l=0;l<b.length/2;l++)k[l]={x:a+i*b[2*l],y:c+j*b[2*l+1]};var n,o,p,q,r=k.length;for(n=0,o=k[r-1];n<r;n++)p=k[n%r],q=k[(n+1)%r],g[h][n]=ku(o,p,q,f),o=p,p=q;return g[h]},draw:function(a,b,c,d,e,f,g){this.renderer.nodeShapeImpl("round-polygon",a,b,c,d,e,this.points,this.getOrCreateCorners(b,c,d,e,f,g,"drawCorners"))},intersectLine:function(a,b,c,d,e,f,g,h,i){return dL(e,f,this.points,a,b,c,d,g,this.getOrCreateCorners(a,b,c,d,h,i,"corners"))},checkPoint:function(a,b,c,d,e,f,g,h,i){return dB(a,b,this.points,f,g,d,e,this.getOrCreateCorners(f,g,d,e,h,i,"corners"))}}},kL.generateRoundRectangle=function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:dN(4,0),draw:function(a,b,c,d,e,f){this.renderer.nodeShapeImpl(this.name,a,b,c,d,e,this.points,f)},intersectLine:function(a,b,c,d,e,f,g,h){return ds(e,f,a,b,c,d,g,h)},checkPoint:function(a,b,c,d,e,f,g,h){var i=d/2,j=e/2,k=2*(h=Math.min(i,j,h="auto"===h?dQ(d,e):h));return!!(dA(a,b,this.points,f,g,d,e-k,[0,-1],c)||dA(a,b,this.points,f,g,d-k,e,[0,-1],c)||dF(a,b,k,k,f-i+h,g-j+h,c)||dF(a,b,k,k,f+i-h,g-j+h,c)||dF(a,b,k,k,f+i-h,g+j-h,c)||dF(a,b,k,k,f-i+h,g+j-h,c))}}},kL.generateCutRectangle=function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:dS(),points:dN(4,0),draw:function(a,b,c,d,e,f){this.renderer.nodeShapeImpl(this.name,a,b,c,d,e,null,f)},generateCutTrianglePts:function(a,b,c,d,e){var f="auto"===e?this.cornerLength:e,g=b/2,h=a/2,i=c-h,j=c+h,k=d-g,l=d+g;return{topLeft:[i,k+f,i+f,k,i+f,k+f],topRight:[j-f,k,j,k+f,j-f,k+f],bottomRight:[j,l-f,j-f,l,j-f,l-f],bottomLeft:[i+f,l,i,l-f,i+f,l-f]}},intersectLine:function(a,b,c,d,e,f,g,h){var i=this.generateCutTrianglePts(c+2*g,d+2*g,a,b,h);return dK(e,f,[].concat.apply([],[i.topLeft.splice(0,4),i.topRight.splice(0,4),i.bottomRight.splice(0,4),i.bottomLeft.splice(0,4)]),a,b)},checkPoint:function(a,b,c,d,e,f,g,h){var i="auto"===h?this.cornerLength:h;if(dA(a,b,this.points,f,g,d,e-2*i,[0,-1],c)||dA(a,b,this.points,f,g,d-2*i,e,[0,-1],c))return!0;var j=this.generateCutTrianglePts(d,e,f,g);return dz(a,b,j.topLeft)||dz(a,b,j.topRight)||dz(a,b,j.bottomRight)||dz(a,b,j.bottomLeft)}}},kL.generateBarrel=function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:dN(4,0),draw:function(a,b,c,d,e,f){this.renderer.nodeShapeImpl(this.name,a,b,c,d,e)},intersectLine:function(a,b,c,d,e,f,g,h){var i=this.generateBarrelBezierPts(c+2*g,d+2*g,a,b),j=function(a){var b=dc({x:a[0],y:a[1]},{x:a[2],y:a[3]},{x:a[4],y:a[5]},.15),c=dc({x:a[0],y:a[1]},{x:a[2],y:a[3]},{x:a[4],y:a[5]},.5),d=dc({x:a[0],y:a[1]},{x:a[2],y:a[3]},{x:a[4],y:a[5]},.85);return[a[0],a[1],b.x,b.y,c.x,c.y,d.x,d.y,a[4],a[5]]};return dK(e,f,[].concat(j(i.topLeft),j(i.topRight),j(i.bottomRight),j(i.bottomLeft)),a,b)},generateBarrelBezierPts:function(a,b,c,d){var e=b/2,f=a/2,g=c-f,h=c+f,i=d-e,j=d+e,k=dT(a,b),l=k.heightOffset,n=k.widthOffset,o=k.ctrlPtOffsetPct*a,p={topLeft:[g,i+l,g+o,i,g+n,i],topRight:[h-n,i,h-o,i,h,i+l],bottomRight:[h,j-l,h-o,j,h-n,j],bottomLeft:[g+n,j,g+o,j,g,j-l]};return p.topLeft.isTop=!0,p.topRight.isTop=!0,p.bottomLeft.isBottom=!0,p.bottomRight.isBottom=!0,p},checkPoint:function(a,b,c,d,e,f,g,h){var i=dT(d,e),j=i.heightOffset,k=i.widthOffset;if(dA(a,b,this.points,f,g,d,e-2*j,[0,-1],c)||dA(a,b,this.points,f,g,d-2*k,e,[0,-1],c))return!0;for(var l=this.generateBarrelBezierPts(d,e,f,g),n=Object.keys(l),o=0;o<n.length;o++){var p=l[n[o]],q=function(a,b,c){var d=c[4],e=c[2],f=c[0],g=c[5],h=c[1],i=Math.min(d,f),j=Math.max(d,f),k=Math.min(g,h),l=Math.max(g,h);if(i<=a&&a<=j&&k<=b&&b<=l){var n=[d-2*e+f,2*(e-d),d],o=dv(n[0],n[1],n[2],a).filter(function(a){return 0<=a&&a<=1});if(o.length>0)return o[0]}return null}(a,b,p);if(null!=q){var r=db(p[5],p[3],p[1],q);if(p.isTop&&r<=b||p.isBottom&&b<=r)return!0}}return!1}}},kL.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:dN(4,0),draw:function(a,b,c,d,e,f){this.renderer.nodeShapeImpl(this.name,a,b,c,d,e,this.points,f)},intersectLine:function(a,b,c,d,e,f,g,h){var i=a-(c/2+g),j=b-(d/2+g),k=a+(c/2+g),l=dI(e,f,a,b,i,j,k,j,!1);return l.length>0?l:ds(e,f,a,b,c,d,g,h)},checkPoint:function(a,b,c,d,e,f,g,h){var i=2*(h="auto"===h?dQ(d,e):h);if(dA(a,b,this.points,f,g,d,e-i,[0,-1],c)||dA(a,b,this.points,f,g,d-i,e,[0,-1],c))return!0;var j=d/2+2*c,k=e/2+2*c;return!!(dz(a,b,[f-j,g-k,f-j,g,f+j,g,f+j,g-k])||dF(a,b,i,i,f+d/2-h,g+e/2-h,c)||dF(a,b,i,i,f-d/2+h,g+e/2-h,c))}}},kL.registerNodeShapes=function(){var a=this.nodeShapes={},b=this;this.generateEllipse(),this.generatePolygon("triangle",dN(3,0)),this.generateRoundPolygon("round-triangle",dN(3,0)),this.generatePolygon("rectangle",dN(4,0)),a.square=a.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var c=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",c),this.generateRoundPolygon("round-diamond",c),this.generatePolygon("pentagon",dN(5,0)),this.generateRoundPolygon("round-pentagon",dN(5,0)),this.generatePolygon("hexagon",dN(6,0)),this.generateRoundPolygon("round-hexagon",dN(6,0)),this.generatePolygon("heptagon",dN(7,0)),this.generateRoundPolygon("round-heptagon",dN(7,0)),this.generatePolygon("octagon",dN(8,0)),this.generateRoundPolygon("round-octagon",dN(8,0));var d=Array(20),e=dP(5,0),f=dP(5,Math.PI/5),g=.5*(3-Math.sqrt(5));g*=1.57;for(var h=0;h<f.length/2;h++)f[2*h]*=g,f[2*h+1]*=g;for(var h=0;h<5;h++)d[4*h]=e[2*h],d[4*h+1]=e[2*h+1],d[4*h+2]=f[2*h],d[4*h+3]=f[2*h+1];d=dO(d),this.generatePolygon("star",d),this.generatePolygon("vee",[-1,-1,0,-.333,1,-1,0,1]),this.generatePolygon("rhomboid",[-1,-1,.333,-1,1,1,-.333,1]),this.generatePolygon("right-rhomboid",[-.333,-1,1,-1,.333,1,-1,1]),this.nodeShapes.concavehexagon=this.generatePolygon("concave-hexagon",[-1,-.95,-.75,0,-1,.95,1,.95,.75,0,1,-.95]);var i=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon("tag",i),this.generateRoundPolygon("round-tag",i),a.makePolygon=function(a){var c,d="polygon-"+a.join("$");return(c=this[d])?c:b.generatePolygon(d,a)}};var kM={};kM.timeToRender=function(){return this.redrawTotalTime/this.redrawCount},kM.redraw=function(a){a=a||cC(),void 0===this.averageRedrawTime&&(this.averageRedrawTime=0),void 0===this.lastRedrawTime&&(this.lastRedrawTime=0),void 0===this.lastDrawTime&&(this.lastDrawTime=0),this.requestedFrame=!0,this.renderOptions=a},kM.beforeRender=function(a,b){if(!this.destroyed){null==b&&cw("Priority is not optional for beforeRender");var c=this.beforeRenderCallbacks;c.push({fn:a,priority:b}),c.sort(function(a,b){return b.priority-a.priority})}};var kN=function(a,b,c){for(var d=a.beforeRenderCallbacks,e=0;e<d.length;e++)d[e].fn(b,c)};kM.startRenderLoop=function(){var a=this,b=a.cy;if(!a.renderLoopStarted){a.renderLoopStarted=!0;var c=function(d){if(!a.destroyed){if(b.batching());else if(a.requestedFrame&&!a.skipFrame){kN(a,!0,d);var e=cc();a.render(a.renderOptions);var f=a.lastDrawTime=cc();void 0===a.averageRedrawTime&&(a.averageRedrawTime=f-e),void 0===a.redrawCount&&(a.redrawCount=0),a.redrawCount++,void 0===a.redrawTotalTime&&(a.redrawTotalTime=0);var g=f-e;a.redrawTotalTime+=g,a.lastRedrawTime=g,a.averageRedrawTime=a.averageRedrawTime/2+g/2,a.requestedFrame=!1}else kN(a,!1,d);a.skipFrame=!1,ce(c)}};ce(c)}};var kO=function(a){this.init(a)},kP=kO.prototype;kP.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"],kP.init=function(a){this.options=a,this.cy=a.cy;var b=this.container=a.cy.container(),c=this.cy.window();if(c){var d=c.document,e=d.head,f="__________cytoscape_stylesheet",g="__________cytoscape_container",h=null!=d.getElementById(f);if(0>b.className.indexOf(g)&&(b.className=(b.className||"")+" "+g),!h){var i=d.createElement("style");i.id=f,i.textContent="."+g+" { position: relative; }",e.insertBefore(i,e.children[0])}"static"===c.getComputedStyle(b).getPropertyValue("position")&&cy("A Cytoscape container has style position:static and so can not use UI extensions properly")}this.selection=[void 0,void 0,void 0,void 0,0],this.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],this.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},this.dragData={possibleDragElements:[]},this.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},this.redraws=0,this.showFps=a.showFps,this.debug=a.debug,this.webgl=a.webgl,this.hideEdgesOnViewport=a.hideEdgesOnViewport,this.textureOnViewport=a.textureOnViewport,this.wheelSensitivity=a.wheelSensitivity,this.motionBlurEnabled=a.motionBlur,this.forcedPixelRatio=bD(a.pixelRatio)?a.pixelRatio:null,this.motionBlur=a.motionBlur,this.motionBlurOpacity=a.motionBlurOpacity,this.motionBlurTransparency=1-this.motionBlurOpacity,this.motionBlurPxRatio=1,this.mbPxRBlurry=1,this.minMbLowQualFrames=4,this.fullQualityMb=!1,this.clearedForMotionBlur=[],this.desktopTapThreshold=a.desktopTapThreshold,this.desktopTapThreshold2=a.desktopTapThreshold*a.desktopTapThreshold,this.touchTapThreshold=a.touchTapThreshold,this.touchTapThreshold2=a.touchTapThreshold*a.touchTapThreshold,this.tapholdDuration=500,this.bindings=[],this.beforeRenderCallbacks=[],this.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},this.registerNodeShapes(),this.registerArrowShapes(),this.registerCalculationListeners()},kP.notify=function(a,b){var c=this.cy;if(!this.destroyed){if("init"===a)return void this.load();if("destroy"===a)return void this.destroy();("add"===a||"remove"===a||"move"===a&&c.hasCompoundNodes()||"load"===a||"zorder"===a||"mount"===a)&&this.invalidateCachedZSortedEles(),"viewport"===a&&this.redrawHint("select",!0),"gc"===a&&this.redrawHint("gc",!0),("load"===a||"resize"===a||"mount"===a)&&(this.invalidateContainerClientCoordsCache(),this.matchCanvasSize(this.container)),this.redrawHint("eles",!0),this.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()}},kP.destroy=function(){this.destroyed=!0,this.cy.stopAnimationLoop();for(var a=0;a<this.bindings.length;a++){var b=this.bindings[a],c=b.target;(c.off||c.removeEventListener).apply(c,b.args)}if(this.bindings=[],this.beforeRenderCallbacks=[],this.onUpdateEleCalcsFns=[],this.removeObserver&&this.removeObserver.disconnect(),this.styleObserver&&this.styleObserver.disconnect(),this.resizeObserver&&this.resizeObserver.disconnect(),this.labelCalcDiv)try{document.body.removeChild(this.labelCalcDiv)}catch(a){}},kP.isHeadless=function(){return!1},[hQ,kI,kJ,kK,kL,kM].forEach(function(a){bY(kP,a)});var kQ=1e3/60,kR=function(a){return function(){var b=this,c=this.renderer;if(!b.dequeueingSetup){b.dequeueingSetup=!0;var d=cb(function(){c.redrawHint("eles",!0),c.redrawHint("drag",!0),c.redraw()},a.deqRedrawThreshold),e=a.priority||cv;c.beforeRender(function(e,f){var g=cc(),h=c.averageRedrawTime,i=c.lastRedrawTime,j=[],k=c.cy.extent(),l=c.getPixelRatio();for(e||c.flushRenderedStyleQueue();;){var n=cc(),o=n-g,p=n-f;if(i<kQ){var q=kQ-(e?h:0);if(p>=a.deqFastCost*q)break}else if(e){if(o>=a.deqCost*i||o>=a.deqAvgCost*h)break}else if(p>=a.deqNoDrawCost*kQ)break;var r=a.deq(b,l,k);if(r.length>0)for(var s=0;s<r.length;s++)j.push(r[s]);else break}j.length>0&&(a.onDeqd(b,j),!e&&a.shouldRedraw(b,j,l,k)&&d())},e(b))}}},kS=bm(function a(b){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ct;bl(this,a),this.idsByKey=new cK,this.keyForId=new cK,this.cachesByLvl=new cK,this.lvls=[],this.getKey=b,this.doesEleInvalidateKey=c},[{key:"getIdsFor",value:function(a){null==a&&cw("Can not get id list for null key");var b=this.idsByKey,c=this.idsByKey.get(a);return c||(c=new cM,b.set(a,c)),c}},{key:"addIdForKey",value:function(a,b){null!=a&&this.getIdsFor(a).add(b)}},{key:"deleteIdForKey",value:function(a,b){null!=a&&this.getIdsFor(a).delete(b)}},{key:"getNumberOfIdsForKey",value:function(a){return null==a?0:this.getIdsFor(a).size}},{key:"updateKeyMappingFor",value:function(a){var b=a.id(),c=this.keyForId.get(b),d=this.getKey(a);this.deleteIdForKey(c,b),this.addIdForKey(d,b),this.keyForId.set(b,d)}},{key:"deleteKeyMappingFor",value:function(a){var b=a.id(),c=this.keyForId.get(b);this.deleteIdForKey(c,b),this.keyForId.delete(b)}},{key:"keyHasChangedFor",value:function(a){var b=a.id();return this.keyForId.get(b)!==this.getKey(a)}},{key:"isInvalid",value:function(a){return this.keyHasChangedFor(a)||this.doesEleInvalidateKey(a)}},{key:"getCachesAt",value:function(a){var b=this.cachesByLvl,c=this.lvls,d=b.get(a);return d||(d=new cK,b.set(a,d),c.push(a)),d}},{key:"getCache",value:function(a,b){return this.getCachesAt(b).get(a)}},{key:"get",value:function(a,b){var c=this.getKey(a),d=this.getCache(c,b);return null!=d&&this.updateKeyMappingFor(a),d}},{key:"getForCachedKey",value:function(a,b){var c=this.keyForId.get(a.id());return this.getCache(c,b)}},{key:"hasCache",value:function(a,b){return this.getCachesAt(b).has(a)}},{key:"has",value:function(a,b){var c=this.getKey(a);return this.hasCache(c,b)}},{key:"setCache",value:function(a,b,c){c.key=a,this.getCachesAt(b).set(a,c)}},{key:"set",value:function(a,b,c){var d=this.getKey(a);this.setCache(d,b,c),this.updateKeyMappingFor(a)}},{key:"deleteCache",value:function(a,b){this.getCachesAt(b).delete(a)}},{key:"delete",value:function(a,b){var c=this.getKey(a);this.deleteCache(c,b)}},{key:"invalidateKey",value:function(a){var b=this;this.lvls.forEach(function(c){return b.deleteCache(a,c)})}},{key:"invalidate",value:function(a){var b=a.id(),c=this.keyForId.get(b);this.deleteKeyMappingFor(a);var d=this.doesEleInvalidateKey(a);return d&&this.invalidateKey(c),d||0===this.getNumberOfIdsForKey(c)}}]),kT={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},kU=cD({getKey:null,doesEleInvalidateKey:ct,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:cs,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),kV=function(a,b){this.renderer=a,this.onDequeues=[];var c=kU(b);bY(this,c),this.lookup=new kS(c.getKey,c.doesEleInvalidateKey),this.setupDequeueing()},kW=kV.prototype;kW.reasons=kT,kW.getTextureQueue=function(a){return this.eleImgCaches=this.eleImgCaches||{},this.eleImgCaches[a]=this.eleImgCaches[a]||[]},kW.getRetiredTextureQueue=function(a){var b=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return b[a]=b[a]||[]},kW.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new cS(function(a,b){return b.reqs-a.reqs})},kW.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},kW.getElement=function(a,b,c,d,e){var f,g,h,i=this,j=this.renderer,k=j.cy.zoom(),l=this.lookup;if(!b||0===b.w||0===b.h||isNaN(b.w)||isNaN(b.h)||!a.visible()||a.removed()||!i.allowEdgeTxrCaching&&a.isEdge()||!i.allowParentTxrCaching&&a.isParent())return null;if(null==d&&(d=Math.ceil(c6(k*c))),d<-4)d=-4;else if(k>=7.99||d>3)return null;var n=Math.pow(2,d),o=b.h*n,p=b.w*n,q=j.eleTextBiggerThanMin(a,n);if(!this.isVisible(a,q))return null;var r=l.get(a,d);if(r&&r.invalidated&&(r.invalidated=!1,r.texture.invalidatedWidth-=r.width),r)return r;if(f=o<=25?25:o<=50?50:50*Math.ceil(o/50),o>1024||p>1024)return null;var s=i.getTextureQueue(f),t=s[s.length-2],u=function(){return i.recycleTexture(f,p)||i.addTexture(f,p)};t||(t=s[s.length-1]),t||(t=u()),t.width-t.usedWidth<p&&(t=u());for(var v=function(a){return a&&a.scaledLabelShown===q},w=e&&e===kT.dequeue,x=e&&e===kT.highQuality,y=e&&e===kT.downscale,z=d+1;z<=3;z++){var A=l.get(a,z);if(A){g=A;break}}var B=g&&g.level===d+1?g:null,C=function(){t.context.drawImage(B.texture.canvas,B.x,0,B.width,B.height,t.usedWidth,0,p,o)};if(t.context.setTransform(1,0,0,1,0,0),t.context.clearRect(t.usedWidth,0,p,f),v(B))C();else if(v(g))if(!x)return i.queueElement(a,g.level-1),g;else{for(var D=g.level;D>d;D--)B=i.getElement(a,b,c,D,kT.downscale);C()}else{if(!w&&!x&&!y)for(var E=d-1;E>=-4;E--){var F=l.get(a,E);if(F){h=F;break}}if(v(h))return i.queueElement(a,d),h;t.context.translate(t.usedWidth,0),t.context.scale(n,n),this.drawElement(t.context,a,b,q,!1),t.context.scale(1/n,1/n),t.context.translate(-t.usedWidth,0)}return r={x:t.usedWidth,texture:t,level:d,scale:n,width:p,height:o,scaledLabelShown:q},t.usedWidth+=Math.ceil(p+8),t.eleCaches.push(r),l.set(a,d,r),i.checkTextureFullness(t),r},kW.invalidateElements=function(a){for(var b=0;b<a.length;b++)this.invalidateElement(a[b])},kW.invalidateElement=function(a){var b=this.lookup,c=[];if(b.isInvalid(a)){for(var d=-4;d<=3;d++){var e=b.getForCachedKey(a,d);e&&c.push(e)}if(b.invalidate(a))for(var f=0;f<c.length;f++){var g=c[f],h=g.texture;h.invalidatedWidth+=g.width,g.invalidated=!0,this.checkTextureUtility(h)}this.removeFromQueue(a)}},kW.checkTextureUtility=function(a){a.invalidatedWidth>=.2*a.width&&this.retireTexture(a)},kW.checkTextureFullness=function(a){var b=this.getTextureQueue(a.height);a.usedWidth/a.width>.8&&a.fullnessChecks>=10?cE(b,a):a.fullnessChecks++},kW.retireTexture=function(a){var b=a.height,c=this.getTextureQueue(b),d=this.lookup;cE(c,a),a.retired=!0;for(var e=a.eleCaches,f=0;f<e.length;f++){var g=e[f];d.deleteCache(g.key,g.level)}cF(e),this.getRetiredTextureQueue(b).push(a)},kW.addTexture=function(a,b){var c=this.getTextureQueue(a),d={};return c.push(d),d.eleCaches=[],d.height=a,d.width=Math.max(1024,b),d.usedWidth=0,d.invalidatedWidth=0,d.fullnessChecks=0,d.canvas=this.renderer.makeOffscreenCanvas(d.width,d.height),d.context=d.canvas.getContext("2d"),d},kW.recycleTexture=function(a,b){for(var c=this.getTextureQueue(a),d=this.getRetiredTextureQueue(a),e=0;e<d.length;e++){var f=d[e];if(f.width>=b)return f.retired=!1,f.usedWidth=0,f.invalidatedWidth=0,f.fullnessChecks=0,cF(f.eleCaches),f.context.setTransform(1,0,0,1,0,0),f.context.clearRect(0,0,f.width,f.height),cE(d,f),c.push(f),f}},kW.queueElement=function(a,b){var c=this.getElementQueue(),d=this.getElementKeyToQueue(),e=this.getKey(a),f=d[e];if(f)f.level=Math.max(f.level,b),f.eles.merge(a),f.reqs++,c.updateItem(f);else{var g={eles:a.spawn().merge(a),level:b,reqs:1,key:e};c.push(g),d[e]=g}},kW.dequeue=function(a){for(var b=this.getElementQueue(),c=this.getElementKeyToQueue(),d=[],e=this.lookup,f=0;f<1;f++)if(b.size()>0){var g=b.pop(),h=g.key,i=g.eles[0],j=e.hasCache(i,g.level);if(c[h]=null,j)continue;d.push(g);var k=this.getBoundingBox(i);this.getElement(i,k,a,g.level,kT.dequeue)}else break;return d},kW.removeFromQueue=function(a){var b=this.getElementQueue(),c=this.getElementKeyToQueue(),d=this.getKey(a),e=c[d];null!=e&&(1===e.eles.length?(e.reqs=cr,b.updateItem(e),b.pop(),c[d]=null):e.eles.unmerge(a))},kW.onDequeue=function(a){this.onDequeues.push(a)},kW.offDequeue=function(a){cE(this.onDequeues,a)},kW.setupDequeueing=kR({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(a,b,c){return a.dequeue(b,c)},onDeqd:function(a,b){for(var c=0;c<a.onDequeues.length;c++)(0,a.onDequeues[c])(b)},shouldRedraw:function(a,b,c,d){for(var e=0;e<b.length;e++)for(var f=b[e].eles,g=0;g<f.length;g++)if(dm(f[g].boundingBox(),d))return!0;return!1},priority:function(a){return a.renderer.beforeRenderPriorities.eleTxrDeq}});var kX=function(a){var b=this,c=b.renderer=a,d=c.cy;b.layersByLevel={},b.firstGet=!0,b.lastInvalidationTime=cc()-500,b.skipping=!1,b.eleTxrDeqs=d.collection(),b.scheduleElementRefinement=cb(function(){b.refineElementTextures(b.eleTxrDeqs),b.eleTxrDeqs.unmerge(b.eleTxrDeqs)},50),c.beforeRender(function(a,c){c-b.lastInvalidationTime<=250?b.skipping=!0:b.skipping=!1},c.beforeRenderPriorities.lyrTxrSkip),b.layersQueue=new cS(function(a,b){return b.reqs-a.reqs}),b.setupDequeueing()},kY=kX.prototype,kZ=0;kY.makeLayer=function(a,b){var c=Math.pow(2,b),d=Math.ceil(a.w*c),e=Math.ceil(a.h*c),f=this.renderer.makeOffscreenCanvas(d,e),g={id:kZ=++kZ%0x1fffffffffffff,bb:a,level:b,width:d,height:e,canvas:f,context:f.getContext("2d"),eles:[],elesQueue:[],reqs:0},h=g.context,i=-g.bb.x1,j=-g.bb.y1;return h.scale(c,c),h.translate(i,j),g},kY.getLayers=function(a,b,c){var d,e,f=this,g=f.renderer.cy.zoom(),h=f.firstGet;if(f.firstGet=!1,null==c){if((c=Math.ceil(c6(g*b)))<-4)c=-4;else if(g>=3.99||c>2)return null}f.validateLayersElesOrdering(c,a);var i=f.layersByLevel,j=Math.pow(2,c),k=i[c]=i[c]||[];if(f.levelIsComplete(c,a))return k;var l=function(b){if(f.validateLayersElesOrdering(b,a),f.levelIsComplete(b,a))return e=i[b],!0},n=function(a){if(!e)for(var b=c+a;-4<=b&&b<=2&&!l(b);b+=a);};n(1),n(-1);for(var o=k.length-1;o>=0;o--){var p=k[o];p.invalid&&cE(k,p)}var q=function(){if(!d){d=df();for(var b=0;b<a.length;b++)dh(d,a[b].boundingBox())}return d};if(f.skipping&&!h)return null;for(var r=null,s=a.length/1,t=!h,u=0;u<a.length;u++){var v=a[u],w=v._private.rscratch,x=w.imgLayerCaches=w.imgLayerCaches||{},y=x[c];if(y){r=y;continue}if((!r||r.eles.length>=s||!dq(r.bb,v.boundingBox()))&&!(r=function(a){var b=(a=a||{}).after;q();var e=Math.ceil(d.w*j),g=Math.ceil(d.h*j);if(e>32767||g>32767||e*g>16e6)return null;var h=f.makeLayer(d,c);if(null!=b){var i=k.indexOf(b)+1;k.splice(i,0,h)}else(void 0===a.insert||a.insert)&&k.unshift(h);return h}({insert:!0,after:r})))return null;e||t?f.queueLayer(r,v):f.drawEleInLayer(r,v,c,b),r.eles.push(v),x[c]=r}return e||(t?null:k)},kY.getEleLevelForLayerLevel=function(a,b){return a},kY.drawEleInLayer=function(a,b,c,d){var e=this.renderer,f=a.context,g=b.boundingBox();0!==g.w&&0!==g.h&&b.visible()&&(c=this.getEleLevelForLayerLevel(c,d),e.setImgSmoothing(f,!1),e.drawCachedElement(f,b,null,null,c,!0),e.setImgSmoothing(f,!0))},kY.levelIsComplete=function(a,b){var c=this.layersByLevel[a];if(!c||0===c.length)return!1;for(var d=0,e=0;e<c.length;e++){var f=c[e];if(f.reqs>0||f.invalid)return!1;d+=f.eles.length}return d===b.length},kY.validateLayersElesOrdering=function(a,b){var c=this.layersByLevel[a];if(c)for(var d=0;d<c.length;d++){for(var e=c[d],f=-1,g=0;g<b.length;g++)if(e.eles[0]===b[g]){f=g;break}if(f<0){this.invalidateLayer(e);continue}for(var h=f,g=0;g<e.eles.length;g++)if(e.eles[g]!==b[h+g]){this.invalidateLayer(e);break}}},kY.updateElementsInLayers=function(a,b){for(var c=bG(a[0]),d=0;d<a.length;d++)for(var e=c?null:a[d],f=c?a[d]:a[d].ele,g=f._private.rscratch,h=g.imgLayerCaches=g.imgLayerCaches||{},i=-4;i<=2;i++){var j=h[i];j&&(e&&this.getEleLevelForLayerLevel(j.level)!==e.level||b(j,f,e))}},kY.haveLayers=function(){for(var a=!1,b=-4;b<=2;b++){var c=this.layersByLevel[b];if(c&&c.length>0){a=!0;break}}return a},kY.invalidateElements=function(a){var b=this;0===a.length||(b.lastInvalidationTime=cc(),0!==a.length&&b.haveLayers()&&b.updateElementsInLayers(a,function(a,c,d){b.invalidateLayer(a)}))},kY.invalidateLayer=function(a){if(this.lastInvalidationTime=cc(),!a.invalid){var b=a.level,c=a.eles;cE(this.layersByLevel[b],a),a.elesQueue=[],a.invalid=!0,a.replacement&&(a.replacement.invalid=!0);for(var d=0;d<c.length;d++){var e=c[d]._private.rscratch.imgLayerCaches;e&&(e[b]=null)}}},kY.refineElementTextures=function(a){var b=this;b.updateElementsInLayers(a,function(a,c,d){var e=a.replacement;if(e||((e=a.replacement=b.makeLayer(a.bb,a.level)).replaces=a,e.eles=a.eles),!e.reqs)for(var f=0;f<e.eles.length;f++)b.queueLayer(e,e.eles[f])})},kY.enqueueElementRefinement=function(a){this.eleTxrDeqs.merge(a),this.scheduleElementRefinement()},kY.queueLayer=function(a,b){var c=this.layersQueue,d=a.elesQueue,e=d.hasId=d.hasId||{};if(!a.replacement){if(b){if(e[b.id()])return;d.push(b),e[b.id()]=!0}a.reqs?(a.reqs++,c.updateItem(a)):(a.reqs=1,c.push(a))}},kY.dequeue=function(a){for(var b=this.layersQueue,c=[],d=0;d<1&&0!==b.size();){var e=b.peek();if(e.replacement||e.replaces&&e!==e.replaces.replacement||e.invalid){b.pop();continue}var f=e.elesQueue.shift();f&&(this.drawEleInLayer(e,f,e.level,a),d++),0===c.length&&c.push(!0),0===e.elesQueue.length&&(b.pop(),e.reqs=0,e.replaces&&this.applyLayerReplacement(e),this.requestRedraw())}return c},kY.applyLayerReplacement=function(a){var b=this.layersByLevel[a.level],c=a.replaces,d=b.indexOf(c);if(!(d<0)&&!c.invalid){b[d]=a;for(var e=0;e<a.eles.length;e++){var f=a.eles[e]._private,g=f.imgLayerCaches=f.imgLayerCaches||{};g&&(g[a.level]=a)}this.requestRedraw()}},kY.requestRedraw=cb(function(){var a=this.renderer;a.redrawHint("eles",!0),a.redrawHint("drag",!0),a.redraw()},100),kY.setupDequeueing=kR({deqRedrawThreshold:50,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(a,b){return a.dequeue(b)},onDeqd:cv,shouldRedraw:cs,priority:function(a){return a.renderer.beforeRenderPriorities.lyrTxrDeq}});var k$={};function k_(a,b){for(var c=0;c<b.length;c++){var d=b[c];a.lineTo(d.x,d.y)}}function k0(a,b,c){for(var d,e=0;e<b.length;e++){var f=b[e];0===e&&(d=f),a.lineTo(f.x,f.y)}a.quadraticCurveTo(c.x,c.y,d.x,d.y)}function k1(a,b,c){a.beginPath&&a.beginPath();for(var d=0;d<b.length;d++){var e=b[d];a.lineTo(e.x,e.y)}var f=c[0];a.moveTo(f.x,f.y);for(var d=1;d<c.length;d++){var e=c[d];a.lineTo(e.x,e.y)}a.closePath&&a.closePath()}function k2(a,b,c,d,e){a.beginPath&&a.beginPath(),a.arc(c,d,e,0,2*Math.PI,!1);var f=b[0];a.moveTo(f.x,f.y);for(var g=0;g<b.length;g++){var h=b[g];a.lineTo(h.x,h.y)}a.closePath&&a.closePath()}function k3(a,b,c,d){a.arc(b,c,d,0,2*Math.PI,!1)}k$.arrowShapeImpl=function(a){return(k||(k={polygon:k_,"triangle-backcurve":k0,"triangle-tee":k1,"circle-triangle":k2,"triangle-cross":k1,circle:k3}))[a]};var k4={};k4.drawElement=function(a,b,c,d,e,f){b.isNode()?this.drawNode(a,b,c,d,e,f):this.drawEdge(a,b,c,d,e,f)},k4.drawElementOverlay=function(a,b){b.isNode()?this.drawNodeOverlay(a,b):this.drawEdgeOverlay(a,b)},k4.drawElementUnderlay=function(a,b){b.isNode()?this.drawNodeUnderlay(a,b):this.drawEdgeUnderlay(a,b)},k4.drawCachedElementPortion=function(a,b,c,d,e,f,g,h){var i=c.getBoundingBox(b);if(0!==i.w&&0!==i.h){var j=c.getElement(b,i,d,e,f);if(null!=j){var k,l,n,o,p,q,r=h(this,b);if(0===r)return;var s=g(this,b),t=i.x1,u=i.y1,v=i.w,w=i.h;if(0!==s){var x=c.getRotationPoint(b);n=x.x,o=x.y,a.translate(n,o),a.rotate(s),(p=this.getImgSmoothing(a))||this.setImgSmoothing(a,!0);var y=c.getRotationOffset(b);k=y.x,l=y.y}else k=t,l=u;1!==r&&(q=a.globalAlpha,a.globalAlpha=q*r),a.drawImage(j.texture.canvas,j.x,0,j.width,j.height,k,l,v,w),1!==r&&(a.globalAlpha=q),0!==s&&(a.rotate(-s),a.translate(-n,-o),p||this.setImgSmoothing(a,!1))}else c.drawElement(a,b)}};var k5=function(){return 0},k6=function(a,b){return a.getTextAngle(b,null)},k7=function(a,b){return a.getTextAngle(b,"source")},k8=function(a,b){return a.getTextAngle(b,"target")},k9=function(a,b){return b.effectiveOpacity()},la=function(a,b){return b.pstyle("text-opacity").pfValue*b.effectiveOpacity()};k4.drawCachedElement=function(a,b,c,d,e,f){var g=this.data,h=g.eleTxrCache,i=g.lblTxrCache,j=g.slbTxrCache,k=g.tlbTxrCache,l=b.boundingBox(),n=!0===f?h.reasons.highQuality:null;if(0!==l.w&&0!==l.h&&b.visible()&&(!d||dm(l,d))){var o=b.isEdge(),p=b.element()._private.rscratch.badLine;this.drawElementUnderlay(a,b),this.drawCachedElementPortion(a,b,h,c,e,n,k5,k9),o&&p||this.drawCachedElementPortion(a,b,i,c,e,n,k6,la),o&&!p&&(this.drawCachedElementPortion(a,b,j,c,e,n,k7,la),this.drawCachedElementPortion(a,b,k,c,e,n,k8,la)),this.drawElementOverlay(a,b)}},k4.drawElements=function(a,b){for(var c=0;c<b.length;c++){var d=b[c];this.drawElement(a,d)}},k4.drawCachedElements=function(a,b,c,d){for(var e=0;e<b.length;e++){var f=b[e];this.drawCachedElement(a,f,c,d)}},k4.drawCachedNodes=function(a,b,c,d){for(var e=0;e<b.length;e++){var f=b[e];f.isNode()&&this.drawCachedElement(a,f,c,d)}},k4.drawLayeredElements=function(a,b,c,d){var e=this.data.lyrTxrCache.getLayers(b,c);if(e)for(var f=0;f<e.length;f++){var g=e[f],h=g.bb;0!==h.w&&0!==h.h&&a.drawImage(g.canvas,h.x1,h.y1,h.w,h.h)}else this.drawCachedElements(a,b,c,d)};var lb={};lb.drawEdge=function(a,b,c){var d,e=!(arguments.length>3)||void 0===arguments[3]||arguments[3],f=!(arguments.length>4)||void 0===arguments[4]||arguments[4],g=!(arguments.length>5)||void 0===arguments[5]||arguments[5],h=this,i=b._private.rscratch;if((!g||b.visible())&&!(i.badLine||null==i.allpts||isNaN(i.allpts[0]))){c&&(d=c,a.translate(-d.x1,-d.y1));var j=g?b.pstyle("opacity").value:1,k=g?b.pstyle("line-opacity").value:1,l=b.pstyle("curve-style").value,n=b.pstyle("line-style").value,o=b.pstyle("width").pfValue,p=b.pstyle("line-cap").value,q=b.pstyle("line-outline-width").value,r=b.pstyle("line-outline-color").value,s=j*k,t=j*k,u=function(){var c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s;"straight-triangle"===l?(h.eleStrokeStyle(a,b,c),h.drawEdgeTrianglePath(b,a,i.allpts)):(a.lineWidth=o,a.lineCap=p,h.eleStrokeStyle(a,b,c),h.drawEdgePath(b,a,i.allpts,n),a.lineCap="butt")},v=function(){var c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t;h.drawArrowheads(a,b,c)};if(a.lineJoin="round","yes"===b.pstyle("ghost").value){var w=b.pstyle("ghost-offset-x").pfValue,x=b.pstyle("ghost-offset-y").pfValue,y=s*b.pstyle("ghost-opacity").value;a.translate(w,x),u(y),v(y),a.translate(-w,-x)}else!function(){var c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s;if(a.lineWidth=o+q,a.lineCap=p,q>0)h.colorStrokeStyle(a,r[0],r[1],r[2],c);else{a.lineCap="butt";return}"straight-triangle"===l?h.drawEdgeTrianglePath(b,a,i.allpts):(h.drawEdgePath(b,a,i.allpts,n),a.lineCap="butt")}();f&&h.drawEdgeUnderlay(a,b),u(),v(),f&&h.drawEdgeOverlay(a,b),h.drawElementText(a,b,null,e),c&&a.translate(d.x1,d.y1)}};var lc=function(a){if(!["overlay","underlay"].includes(a))throw Error("Invalid state");return function(b,c){if(c.visible()){var d=c.pstyle("".concat(a,"-opacity")).value;if(0!==d){var e=this.usePaths(),f=c._private.rscratch,g=c.pstyle("".concat(a,"-padding")).pfValue,h=c.pstyle("".concat(a,"-color")).value;b.lineWidth=2*g,"self"!==f.edgeType||e?b.lineCap="round":b.lineCap="butt",this.colorStrokeStyle(b,h[0],h[1],h[2],d),this.drawEdgePath(c,b,f.allpts,"solid")}}}};lb.drawEdgeOverlay=lc("overlay"),lb.drawEdgeUnderlay=lc("underlay"),lb.drawEdgePath=function(a,b,c,d){var e=a._private.rscratch,f=b,g=!1,h=this.usePaths(),i=a.pstyle("line-dash-pattern").pfValue,j=a.pstyle("line-dash-offset").pfValue;if(h){var k=c.join("$");e.pathCacheKey&&e.pathCacheKey===k?(o=b=e.pathCache,g=!0):(o=b=new Path2D,e.pathCacheKey=k,e.pathCache=o)}if(f.setLineDash)switch(d){case"dotted":f.setLineDash([1,1]);break;case"dashed":f.setLineDash(i),f.lineDashOffset=j;break;case"solid":f.setLineDash([])}if(!g&&!e.badLine)switch(b.beginPath&&b.beginPath(),b.moveTo(c[0],c[1]),e.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var l=2;l+3<c.length;l+=4)b.quadraticCurveTo(c[l],c[l+1],c[l+2],c[l+3]);break;case"straight":case"haystack":for(var n=2;n+1<c.length;n+=2)b.lineTo(c[n],c[n+1]);break;case"segments":if(e.isRound){var o,p,q=bn(e.roundCorners);try{for(q.s();!(p=q.n()).done;){var r=p.value;kt(b,r)}}catch(a){q.e(a)}finally{q.f()}b.lineTo(c[c.length-2],c[c.length-1])}else for(var s=2;s+1<c.length;s+=2)b.lineTo(c[s],c[s+1])}b=f,h?b.stroke(o):b.stroke(),b.setLineDash&&b.setLineDash([])},lb.drawEdgeTrianglePath=function(a,b,c){b.fillStyle=b.strokeStyle;for(var d=a.pstyle("width").pfValue,e=0;e+1<c.length;e+=2){var f=[c[e+2]-c[e],c[e+3]-c[e+1]],g=Math.sqrt(f[0]*f[0]+f[1]*f[1]),h=[f[1]/g,-f[0]/g],i=[h[0]*d/2,h[1]*d/2];b.beginPath(),b.moveTo(c[e]-i[0],c[e+1]-i[1]),b.lineTo(c[e]+i[0],c[e+1]+i[1]),b.lineTo(c[e+2],c[e+3]),b.closePath(),b.fill()}},lb.drawArrowheads=function(a,b,c){var d=b._private.rscratch,e="haystack"===d.edgeType;e||this.drawArrowhead(a,b,"source",d.arrowStartX,d.arrowStartY,d.srcArrowAngle,c),this.drawArrowhead(a,b,"mid-target",d.midX,d.midY,d.midtgtArrowAngle,c),this.drawArrowhead(a,b,"mid-source",d.midX,d.midY,d.midsrcArrowAngle,c),e||this.drawArrowhead(a,b,"target",d.arrowEndX,d.arrowEndY,d.tgtArrowAngle,c)},lb.drawArrowhead=function(a,b,c,d,e,f,g){if(!(isNaN(d)||null==d||isNaN(e)||null==e||isNaN(f))&&null!=f){var h=b.pstyle(c+"-arrow-shape").value;if("none"!==h){var i="hollow"===b.pstyle(c+"-arrow-fill").value?"both":"filled",j=b.pstyle(c+"-arrow-fill").value,k=b.pstyle("width").pfValue,l=b.pstyle(c+"-arrow-width"),n="match-line"===l.value?k:l.pfValue;"%"===l.units&&(n*=k);var o=b.pstyle("opacity").value;void 0===g&&(g=o);var p=a.globalCompositeOperation;(1!==g||"hollow"===j)&&(a.globalCompositeOperation="destination-out",this.colorFillStyle(a,255,255,255,1),this.colorStrokeStyle(a,255,255,255,1),this.drawArrowShape(b,a,i,k,h,n,d,e,f),a.globalCompositeOperation=p);var q=b.pstyle(c+"-arrow-color").value;this.colorFillStyle(a,q[0],q[1],q[2],g),this.colorStrokeStyle(a,q[0],q[1],q[2],g),this.drawArrowShape(b,a,j,k,h,n,d,e,f)}}},lb.drawArrowShape=function(a,b,c,d,e,f,g,h,i){var j,k=this.usePaths()&&"triangle-cross"!==e,l=!1,n=b,o=a.pstyle("arrow-scale").value,p=this.getArrowWidth(d,o),q=this.arrowShapes[e];if(k){var r=this.arrowPathCache=this.arrowPathCache||[],s=cl(e),t=r[s];null!=t?(j=b=t,l=!0):(j=b=new Path2D,r[s]=j)}!l&&(b.beginPath&&b.beginPath(),k?q.draw(b,1,0,{x:0,y:0},1):q.draw(b,p,i,{x:g,y:h},d),b.closePath&&b.closePath()),b=n,k&&(b.translate(g,h),b.rotate(i),b.scale(p,p)),("filled"===c||"both"===c)&&(k?b.fill(j):b.fill()),("hollow"===c||"both"===c)&&(b.lineWidth=f/(k?p:1),b.lineJoin="miter",k?b.stroke(j):b.stroke()),k&&(b.scale(1/p,1/p),b.rotate(-i),b.translate(-g,-h))};var ld={};ld.safeDrawImage=function(a,b,c,d,e,f,g,h,i,j){if(!(e<=0)&&!(f<=0)&&!(i<=0)&&!(j<=0))try{a.drawImage(b,c,d,e,f,g,h,i,j)}catch(a){cy(a)}},ld.drawInscribedImage=function(a,b,c,d,e){var f=c.position(),g=f.x,h=f.y,i=c.cy().style(),j=i.getIndexedStyle.bind(i),k=j(c,"background-fit","value",d),l=j(c,"background-repeat","value",d),n=c.width(),o=c.height(),p=2*c.padding(),q=n+("inner"===j(c,"background-width-relative-to","value",d)?0:p),r=o+("inner"===j(c,"background-height-relative-to","value",d)?0:p),s=c._private.rscratch,t="node"===j(c,"background-clip","value",d),u=j(c,"background-image-opacity","value",d)*e,v=j(c,"background-image-smoothing","value",d),w=c.pstyle("corner-radius").value;"auto"!==w&&(w=c.pstyle("corner-radius").pfValue);var x=b.width||b.cachedW,y=b.height||b.cachedH;(null==x||null==y)&&(document.body.appendChild(b),x=b.cachedW=b.width||b.offsetWidth,y=b.cachedH=b.height||b.offsetHeight,document.body.removeChild(b));var z=x,A=y;if("auto"!==j(c,"background-width","value",d)&&(z="%"===j(c,"background-width","units",d)?j(c,"background-width","pfValue",d)*q:j(c,"background-width","pfValue",d)),"auto"!==j(c,"background-height","value",d)&&(A="%"===j(c,"background-height","units",d)?j(c,"background-height","pfValue",d)*r:j(c,"background-height","pfValue",d)),0!==z&&0!==A){if("contain"===k){var B=Math.min(q/z,r/A);z*=B,A*=B}else if("cover"===k){var B=Math.max(q/z,r/A);z*=B,A*=B}var C=g-q/2,D=j(c,"background-position-x","units",d),E=j(c,"background-position-x","pfValue",d);"%"===D?C+=(q-z)*E:C+=E;var F=j(c,"background-offset-x","units",d),G=j(c,"background-offset-x","pfValue",d);"%"===F?C+=(q-z)*G:C+=G;var H=h-r/2,I=j(c,"background-position-y","units",d),J=j(c,"background-position-y","pfValue",d);"%"===I?H+=(r-A)*J:H+=J;var K=j(c,"background-offset-y","units",d),L=j(c,"background-offset-y","pfValue",d);"%"===K?H+=(r-A)*L:H+=L,s.pathCache&&(C-=g,H-=h,g=0,h=0);var M=a.globalAlpha;a.globalAlpha=u;var N=this.getImgSmoothing(a),O=!1;if("no"===v&&N?(this.setImgSmoothing(a,!1),O=!0):"yes"!==v||N||(this.setImgSmoothing(a,!0),O=!0),"no-repeat"===l)t&&(a.save(),s.pathCache?a.clip(s.pathCache):(this.nodeShapes[this.getNodeShape(c)].draw(a,g,h,q,r,w,s),a.clip())),this.safeDrawImage(a,b,0,0,x,y,C,H,z,A),t&&a.restore();else{var P=a.createPattern(b,l);a.fillStyle=P,this.nodeShapes[this.getNodeShape(c)].draw(a,g,h,q,r,w,s),a.translate(C,H),a.fill(),a.translate(-C,-H)}a.globalAlpha=M,O&&this.setImgSmoothing(a,N)}};var le={};function lf(a,b,c,d,e){var f=arguments.length>5&&void 0!==arguments[5]?arguments[5]:5,g=Math.min(f,d/2,e/2);a.beginPath(),a.moveTo(b+g,c),a.lineTo(b+d-g,c),a.quadraticCurveTo(b+d,c,b+d,c+g),a.lineTo(b+d,c+e-g),a.quadraticCurveTo(b+d,c+e,b+d-g,c+e),a.lineTo(b+g,c+e),a.quadraticCurveTo(b,c+e,b,c+e-g),a.lineTo(b,c+g),a.quadraticCurveTo(b,c,b+g,c),a.closePath()}le.eleTextBiggerThanMin=function(a,b){return b||(b=Math.pow(2,Math.ceil(c6(a.cy().zoom()*this.getPixelRatio())))),!(a.pstyle("font-size").pfValue*b<a.pstyle("min-zoomed-font-size").pfValue)},le.drawElementText=function(a,b,c,d,e){var f,g=!(arguments.length>5)||void 0===arguments[5]||arguments[5];if(null==d){if(g&&!this.eleTextBiggerThanMin(b))return}else if(!1===d)return;if(b.isNode()){var h=b.pstyle("label");if(!h||!h.value)return;a.textAlign=this.getLabelJustification(b),a.textBaseline="bottom"}else{var i=b.element()._private.rscratch.badLine,j=b.pstyle("label"),k=b.pstyle("source-label"),l=b.pstyle("target-label");if(i||(!j||!j.value)&&(!k||!k.value)&&(!l||!l.value))return;a.textAlign="center",a.textBaseline="bottom"}var n=!c;c&&(f=c,a.translate(-f.x1,-f.y1)),null==e?(this.drawText(a,b,null,n,g),b.isEdge()&&(this.drawText(a,b,"source",n,g),this.drawText(a,b,"target",n,g))):this.drawText(a,b,e,n,g),c&&a.translate(f.x1,f.y1)},le.getFontCache=function(a){var b;this.fontCaches=this.fontCaches||[];for(var c=0;c<this.fontCaches.length;c++)if((b=this.fontCaches[c]).context===a)return b;return b={context:a},this.fontCaches.push(b),b},le.setupTextStyle=function(a,b){var c=!(arguments.length>2)||void 0===arguments[2]||arguments[2],d=b.pstyle("font-style").strValue,e=b.pstyle("font-size").pfValue+"px",f=b.pstyle("font-family").strValue,g=b.pstyle("font-weight").strValue,h=c?b.effectiveOpacity()*b.pstyle("text-opacity").value:1,i=b.pstyle("text-outline-opacity").value*h,j=b.pstyle("color").value,k=b.pstyle("text-outline-color").value;a.font=d+" "+g+" "+e+" "+f,a.lineJoin="round",this.colorFillStyle(a,j[0],j[1],j[2],h),this.colorStrokeStyle(a,k[0],k[1],k[2],i)},le.getTextAngle=function(a,b){var c,d=a._private.rscratch,e=b?b+"-":"",f=a.pstyle(e+"text-rotation");if("autorotate"===f.strValue){var g=cH(d,"labelAngle",b);c=a.isEdge()?g:0}else c="none"===f.strValue?0:f.pfValue;return c},le.drawText=function(a,b,c){var d=!(arguments.length>3)||void 0===arguments[3]||arguments[3],e=!(arguments.length>4)||void 0===arguments[4]||arguments[4],f=b._private.rscratch,g=e?b.effectiveOpacity():1;if(!e||0!==g&&0!==b.pstyle("text-opacity").value){"main"===c&&(c=null);var h=cH(f,"labelX",c),i=cH(f,"labelY",c),j=this.getLabelText(b,c);if(null!=j&&""!==j&&!isNaN(h)&&!isNaN(i)){this.setupTextStyle(a,b,e);var k,l,n,o=c?c+"-":"",p=cH(f,"labelWidth",c),q=cH(f,"labelHeight",c),r=b.pstyle(o+"text-margin-x").pfValue,s=b.pstyle(o+"text-margin-y").pfValue,t=b.isEdge(),u=b.pstyle("text-halign").value,v=b.pstyle("text-valign").value;switch(t&&(u="center",v="center"),h+=r,i+=s,0!==(n=d?this.getTextAngle(b,c):0)&&(k=h,l=i,a.translate(k,l),a.rotate(n),h=0,i=0),v){case"top":break;case"center":i+=q/2;break;case"bottom":i+=q}var w=b.pstyle("text-background-opacity").value,x=b.pstyle("text-border-opacity").value,y=b.pstyle("text-border-width").pfValue,z=b.pstyle("text-background-padding").pfValue,A=b.pstyle("text-background-shape").strValue,B="round-rectangle"===A||"roundrectangle"===A;if(w>0||y>0&&x>0){var C,D,E=a.fillStyle,F=a.strokeStyle,G=a.lineWidth,H=b.pstyle("text-background-color").value,I=b.pstyle("text-border-color").value,J=b.pstyle("text-border-style").value,K=w>0,L=y>0&&x>0,M=h-z;switch(u){case"left":M-=p;break;case"center":M-=p/2}var N=i-q-z,O=p+2*z,P=q+2*z;if(K&&(a.fillStyle="rgba(".concat(H[0],",").concat(H[1],",").concat(H[2],",").concat(w*g,")")),L&&(a.strokeStyle="rgba(".concat(I[0],",").concat(I[1],",").concat(I[2],",").concat(x*g,")"),a.lineWidth=y,a.setLineDash))switch(J){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash([4,2]);break;case"double":a.lineWidth=y/4,a.setLineDash([]);break;default:a.setLineDash([])}if(B?(a.beginPath(),lf(a,M,N,O,P,2)):"circle"===A?(a.beginPath(),C=M,D=Math.min(O,P),a.beginPath(),a.arc(C+O/2,N+P/2,D/2,0,2*Math.PI),a.closePath()):(a.beginPath(),a.rect(M,N,O,P)),K&&a.fill(),L&&a.stroke(),L&&"double"===J){var Q=y/2;a.beginPath(),B?lf(a,M+Q,N+Q,O-2*Q,P-2*Q,2):a.rect(M+Q,N+Q,O-2*Q,P-2*Q),a.stroke()}a.fillStyle=E,a.strokeStyle=F,a.lineWidth=G,a.setLineDash&&a.setLineDash([])}var R=2*b.pstyle("text-outline-width").pfValue;if(R>0&&(a.lineWidth=R),"wrap"===b.pstyle("text-wrap").value){var S=cH(f,"labelWrapCachedLines",c),T=cH(f,"labelLineHeight",c),U=p/2,V=this.getLabelJustification(b);switch("auto"===V||("left"===u?"left"===V?h+=-p:"center"===V&&(h+=-U):"center"===u?"left"===V?h+=-U:"right"===V&&(h+=U):"right"===u&&("center"===V?h+=U:"right"===V&&(h+=p))),v){case"top":case"center":case"bottom":i-=(S.length-1)*T}for(var W=0;W<S.length;W++)R>0&&a.strokeText(S[W],h,i),a.fillText(S[W],h,i),i+=T}else R>0&&a.strokeText(j,h,i),a.fillText(j,h,i);0!==n&&(a.rotate(-n),a.translate(-k,-l))}}};var lg={};lg.drawNode=function(a,b,c){var d,e,f,g,h=!(arguments.length>3)||void 0===arguments[3]||arguments[3],i=!(arguments.length>4)||void 0===arguments[4]||arguments[4],j=!(arguments.length>5)||void 0===arguments[5]||arguments[5],k=this,l=b._private,n=l.rscratch,o=b.position();if(bD(o.x)&&bD(o.y)&&(!j||b.visible())){var p=j?b.effectiveOpacity():1,q=k.usePaths(),r=!1,s=b.padding();d=b.width()+2*s,e=b.height()+2*s,c&&(g=c,a.translate(-g.x1,-g.y1));for(var t=b.pstyle("background-image").value,u=Array(t.length),v=Array(t.length),w=0,x=0;x<t.length;x++){var y=t[x];if(u[x]=null!=y&&"none"!==y){var z=b.cy().style().getIndexedStyle(b,"background-image-crossorigin","value",x);w++,v[x]=k.getCachedImage(y,z,function(){l.backgroundTimestamp=Date.now(),b.emitAndNotify("background")})}}var A=b.pstyle("background-blacken").value,B=b.pstyle("border-width").pfValue,C=b.pstyle("background-opacity").value*p,D=b.pstyle("border-color").value,E=b.pstyle("border-style").value,F=b.pstyle("border-join").value,G=b.pstyle("border-cap").value,H=b.pstyle("border-position").value,I=b.pstyle("border-dash-pattern").pfValue,J=b.pstyle("border-dash-offset").pfValue,K=b.pstyle("border-opacity").value*p,L=b.pstyle("outline-width").pfValue,M=b.pstyle("outline-color").value,N=b.pstyle("outline-style").value,O=b.pstyle("outline-opacity").value*p,P=b.pstyle("outline-offset").value,Q=b.pstyle("corner-radius").value;"auto"!==Q&&(Q=b.pstyle("corner-radius").pfValue);var R=function(){var c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:C;k.eleFillStyle(a,b,c)},S=function(){var b=arguments.length>0&&void 0!==arguments[0]?arguments[0]:K;k.colorStrokeStyle(a,D[0],D[1],D[2],b)},T=function(){var b=arguments.length>0&&void 0!==arguments[0]?arguments[0]:O;k.colorStrokeStyle(a,M[0],M[1],M[2],b)},U=function(a,b,c,d){var e,f=k.nodePathCache=k.nodePathCache||[],g=cm("polygon"===c?c+","+d.join(","):c,""+b,""+a,""+Q),h=f[g],i=!1;return null!=h?(i=!0,n.pathCache=e=h):(e=new Path2D,f[g]=n.pathCache=e),{path:e,cacheHit:i}},V=b.pstyle("shape").strValue,W=b.pstyle("shape-polygon-points").pfValue;if(q){a.translate(o.x,o.y);var X=U(d,e,V,W);f=X.path,r=X.cacheHit}var Y=function(){if(!r){var c=o;q&&(c={x:0,y:0}),k.nodeShapes[k.getNodeShape(b)].draw(f||a,c.x,c.y,d,e,Q,n)}q?a.fill(f):a.fill()},Z=function(){for(var c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,d=!(arguments.length>1)||void 0===arguments[1]||arguments[1],e=l.backgrounding,f=0,g=0;g<v.length;g++){var h=b.cy().style().getIndexedStyle(b,"background-image-containment","value",g);if(d&&"over"===h||!d&&"inside"===h){f++;continue}u[g]&&v[g].complete&&!v[g].error&&(f++,k.drawInscribedImage(a,v[g],b,g,c))}l.backgrounding=f!==w,e!==l.backgrounding&&b.updateStyle(!1)},$=function(){var c=arguments.length>0&&void 0!==arguments[0]&&arguments[0],f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;k.hasPie(b)&&(k.drawPie(a,b,f),c&&!q&&k.nodeShapes[k.getNodeShape(b)].draw(a,o.x,o.y,d,e,Q,n))},_=function(){var c=arguments.length>0&&void 0!==arguments[0]&&arguments[0],f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;k.hasStripe(b)&&(a.save(),q?a.clip(n.pathCache):(k.nodeShapes[k.getNodeShape(b)].draw(a,o.x,o.y,d,e,Q,n),a.clip()),k.drawStripe(a,b,f),a.restore(),c&&!q&&k.nodeShapes[k.getNodeShape(b)].draw(a,o.x,o.y,d,e,Q,n))},aa=function(){var b=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,c=A>0?0:255;0!==A&&(k.colorFillStyle(a,c,c,c,(A>0?A:-A)*b),q?a.fill(f):a.fill())},ab=function(){if(B>0){if(a.lineWidth=B,a.lineCap=G,a.lineJoin=F,a.setLineDash)switch(E){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(I),a.lineDashOffset=J;break;case"solid":case"double":a.setLineDash([])}if("center"!==H){if(a.save(),a.lineWidth*=2,"inside"===H)q?a.clip(f):a.clip();else{var b=new Path2D;b.rect(-d/2-B,-e/2-B,d+2*B,e+2*B),b.addPath(f),a.clip(b,"evenodd")}q?a.stroke(f):a.stroke(),a.restore()}else q?a.stroke(f):a.stroke();if("double"===E){a.lineWidth=B/3;var c=a.globalCompositeOperation;a.globalCompositeOperation="destination-out",q?a.stroke(f):a.stroke(),a.globalCompositeOperation=c}a.setLineDash&&a.setLineDash([])}},ac=function(){if(L>0){if(a.lineWidth=L,a.lineCap="butt",a.setLineDash)switch(N){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash([4,2]);break;case"solid":case"double":a.setLineDash([])}var c=o;q&&(c={x:0,y:0});var f=k.getNodeShape(b),g=B;"inside"===H&&(g=0),"outside"===H&&(g*=2);var h=(d+g+(L+P))/d,i=(e+g+(L+P))/e,j=d*h,l=e*i,n=k.nodeShapes[f].points;if(q&&(z=U(j,l,f,n).path),"ellipse"===f)k.drawEllipsePath(z||a,c.x,c.y,j,l);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(f)){var p=0,r=0,s=0;"round-diamond"===f?p=(g+P+L)*1.4:"round-heptagon"===f?(p=(g+P+L)*1.075,s=-(g/2+P+L)/35):"round-hexagon"===f?p=(g+P+L)*1.12:"round-pentagon"===f?(p=(g+P+L)*1.13,s=-(g/2+P+L)/15):"round-tag"===f?(p=(g+P+L)*1.12,r=(g/2+L+P)*.07):"round-triangle"===f&&(p=Math.PI/2*(g+P+L),s=-(g+P/2+L)/Math.PI),0!==p&&(h=(d+p)/d,j=d*h,["round-hexagon","round-tag"].includes(f)||(i=(e+p)/e,l=e*i)),Q="auto"===Q?dR(j,l):Q;for(var t=j/2,u=l/2,v=Q+(g+L+P)/2,w=Array(n.length/2),x=Array(n.length/2),y=0;y<n.length/2;y++)w[y]={x:c.x+r+t*n[2*y],y:c.y+s+u*n[2*y+1]};var z,A,C,D,E,F=w.length;for(A=0,C=w[F-1];A<F;A++)D=w[A%F],E=w[(A+1)%F],x[A]=ku(C,D,E,v),C=D,D=E;k.drawRoundPolygonPath(z||a,c.x+r,c.y+s,d*h,e*i,n,x)}else["roundrectangle","round-rectangle"].includes(f)?(Q="auto"===Q?dQ(j,l):Q,k.drawRoundRectanglePath(z||a,c.x,c.y,j,l,Q+(g+L+P)/2)):["cutrectangle","cut-rectangle"].includes(f)?(Q="auto"===Q?dS():Q,k.drawCutRectanglePath(z||a,c.x,c.y,j,l,null,Q+(g+L+P)/4)):["bottomroundrectangle","bottom-round-rectangle"].includes(f)?(Q="auto"===Q?dQ(j,l):Q,k.drawBottomRoundRectanglePath(z||a,c.x,c.y,j,l,Q+(g+L+P)/2)):"barrel"===f?k.drawBarrelPath(z||a,c.x,c.y,j,l):(n=f.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(f)?dC(dD(n,(g+L+P)/d)):dC(dD(n,-((g+L+P)/d))),k.drawPolygonPath(z||a,c.x,c.y,d,e,n));if(q?a.stroke(z):a.stroke(),"double"===N){a.lineWidth=g/3;var G=a.globalCompositeOperation;a.globalCompositeOperation="destination-out",q?a.stroke(z):a.stroke(),a.globalCompositeOperation=G}a.setLineDash&&a.setLineDash([])}};if("yes"===b.pstyle("ghost").value){var ad=b.pstyle("ghost-offset-x").pfValue,ae=b.pstyle("ghost-offset-y").pfValue,af=b.pstyle("ghost-opacity").value,ag=af*p;a.translate(ad,ae),T(),ac(),R(af*C),Y(),Z(ag,!0),S(af*K),ab(),$(0!==A||0!==B),_(0!==A||0!==B),Z(ag,!1),aa(ag),a.translate(-ad,-ae)}q&&a.translate(-o.x,-o.y),i&&k.drawNodeUnderlay(a,b,o,d,e),q&&a.translate(o.x,o.y),T(),ac(),R(),Y(),Z(p,!0),S(),ab(),$(0!==A||0!==B),_(0!==A||0!==B),Z(p,!1),aa(),q&&a.translate(-o.x,-o.y),k.drawElementText(a,b,null,h),i&&k.drawNodeOverlay(a,b,o,d,e),c&&a.translate(g.x1,g.y1)}};var lh=function(a){if(!["overlay","underlay"].includes(a))throw Error("Invalid state");return function(b,c,d,e,f){if(c.visible()){var g=c.pstyle("".concat(a,"-padding")).pfValue,h=c.pstyle("".concat(a,"-opacity")).value,i=c.pstyle("".concat(a,"-color")).value,j=c.pstyle("".concat(a,"-shape")).value,k=c.pstyle("".concat(a,"-corner-radius")).value;if(h>0){if(d=d||c.position(),null==e||null==f){var l=c.padding();e=c.width()+2*l,f=c.height()+2*l}this.colorFillStyle(b,i[0],i[1],i[2],h),this.nodeShapes[j].draw(b,d.x,d.y,e+2*g,f+2*g,k),b.fill()}}}};lg.drawNodeOverlay=lh("overlay"),lg.drawNodeUnderlay=lh("underlay"),lg.hasPie=function(a){return(a=a[0])._private.hasPie},lg.hasStripe=function(a){return(a=a[0])._private.hasStripe},lg.drawPie=function(a,b,c,d){b=b[0],d=d||b.position();var e,f=b.cy().style(),g=b.pstyle("pie-size"),h=b.pstyle("pie-hole"),i=b.pstyle("pie-start-angle").pfValue,j=d.x,k=d.y,l=Math.min(b.width(),b.height())/2,n=0;if(this.usePaths()&&(j=0,k=0),"%"===g.units?l*=g.pfValue:void 0!==g.pfValue&&(l=g.pfValue/2),"%"===h.units?e=l*h.pfValue:void 0!==h.pfValue&&(e=h.pfValue/2),!(e>=l))for(var o=1;o<=f.pieBackgroundN;o++){var p=b.pstyle("pie-"+o+"-background-size").value,q=b.pstyle("pie-"+o+"-background-color").value,r=b.pstyle("pie-"+o+"-background-opacity").value*c,s=p/100;s+n>1&&(s=1-n);var t=1.5*Math.PI+2*Math.PI*n,u=2*Math.PI*s,v=(t+=i)+u;0===p||n>=1||n+s>1||(0===e?(a.beginPath(),a.moveTo(j,k),a.arc(j,k,l,t,v)):(a.beginPath(),a.arc(j,k,l,t,v),a.arc(j,k,e,v,t,!0)),a.closePath(),this.colorFillStyle(a,q[0],q[1],q[2],r),a.fill(),n+=s)}},lg.drawStripe=function(a,b,c,d){b=b[0],d=d||b.position();var e=b.cy().style(),f=d.x,g=d.y,h=b.width(),i=b.height(),j=0,k=this.usePaths();a.save();var l=b.pstyle("stripe-direction").value,n=b.pstyle("stripe-size");switch(l){case"vertical":break;case"righward":a.rotate(-Math.PI/2)}var o=h,p=i;"%"===n.units?(o*=n.pfValue,p*=n.pfValue):void 0!==n.pfValue&&(o=n.pfValue,p=n.pfValue),k&&(f=0,g=0),g-=o/2,f-=p/2;for(var q=1;q<=e.stripeBackgroundN;q++){var r=b.pstyle("stripe-"+q+"-background-size").value,s=b.pstyle("stripe-"+q+"-background-color").value,t=b.pstyle("stripe-"+q+"-background-opacity").value*c,u=r/100;u+j>1&&(u=1-j),0===r||j>=1||j+u>1||(a.beginPath(),a.rect(f,g+p*j,o,p*u),a.closePath(),this.colorFillStyle(a,s[0],s[1],s[2],t),a.fill(),j+=u)}a.restore()};var li={};function lj(a,b,c){var d=a.createShader(b);if(a.shaderSource(d,c),a.compileShader(d),!a.getShaderParameter(d,a.COMPILE_STATUS))throw Error(a.getShaderInfoLog(d));return d}function lk(a,b,c){void 0===c&&(c=b);var d=a.makeOffscreenCanvas(b,c),e=d.context=d.getContext("2d");return d.clear=function(){return e.clearRect(0,0,d.width,d.height)},d.clear(),d}function ll(a){var b=a.pixelRatio,c=a.cy.zoom(),d=a.cy.pan();return{zoom:c*b,pan:{x:d.x*b,y:d.y*b}}}function lm(a){return"solid"===a.pstyle("background-fill").value&&"none"===a.pstyle("background-image").strValue&&(0===a.pstyle("border-width").value||0===a.pstyle("border-opacity").value||"solid"===a.pstyle("border-style").value)}function ln(a,b,c){var d=a[0]/255,e=a[1]/255,f=a[2]/255,g=c||[,,,,];return g[0]=d*b,g[1]=e*b,g[2]=f*b,g[3]=b,g}function lo(a,b){var c=b||[,,,,];return c[0]=(255&a)/255,c[1]=(a>>8&255)/255,c[2]=(a>>16&255)/255,c[3]=(a>>24&255)/255,c}function lp(a,b){switch(b){case"float":return[1,a.FLOAT,4];case"vec2":return[2,a.FLOAT,4];case"vec3":return[3,a.FLOAT,4];case"vec4":return[4,a.FLOAT,4];case"int":return[1,a.INT,4];case"ivec2":return[2,a.INT,4]}}function lq(a,b,c){switch(b){case a.FLOAT:return new Float32Array(c);case a.INT:return new Int32Array(c)}}function lr(a,b,c,d){var e=bp(lp(a,c),3),f=e[0],g=e[1],h=e[2],i=lq(a,g,b*f),j=f*h,k=a.createBuffer();a.bindBuffer(a.ARRAY_BUFFER,k),a.bufferData(a.ARRAY_BUFFER,b*j,a.DYNAMIC_DRAW),a.enableVertexAttribArray(d),g===a.FLOAT?a.vertexAttribPointer(d,f,g,!1,j,0):g===a.INT&&a.vertexAttribIPointer(d,f,g,j,0),a.vertexAttribDivisor(d,1),a.bindBuffer(a.ARRAY_BUFFER,null);for(var l=Array(b),n=0;n<b;n++)l[n]=function(a,b,c,d,e,f){switch(b){case a.FLOAT:return new Float32Array(c.buffer,f*d,e);case a.INT:return new Int32Array(c.buffer,f*d,e)}}(a,g,i,j,f,n);return k.dataArray=i,k.stride=j,k.size=f,k.getView=function(a){return l[a]},k.setPoint=function(a,b,c){var d=l[a];d[0]=b,d[1]=c},k.bufferSubData=function(b){a.bindBuffer(a.ARRAY_BUFFER,k),b?a.bufferSubData(a.ARRAY_BUFFER,0,i,0,b*f):a.bufferSubData(a.ARRAY_BUFFER,0,i)},k}li.getPixelRatio=function(){var a=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var b=this.cy.window(),c=a.backingStorePixelRatio||a.webkitBackingStorePixelRatio||a.mozBackingStorePixelRatio||a.msBackingStorePixelRatio||a.oBackingStorePixelRatio||a.backingStorePixelRatio||1;return(b.devicePixelRatio||1)/c},li.paintCache=function(a){for(var b,c=this.paintCaches=this.paintCaches||[],d=!0,e=0;e<c.length;e++)if((b=c[e]).context===a){d=!1;break}return d&&(b={context:a},c.push(b)),b},li.createGradientStyleFor=function(a,b,c,d,e){var f,g=this.usePaths(),h=c.pstyle(b+"-gradient-stop-colors").value,i=c.pstyle(b+"-gradient-stop-positions").pfValue;if("radial-gradient"===d)if(c.isEdge()){var j=c.sourceEndpoint(),k=c.targetEndpoint(),l=c.midpoint(),n=c8(j,l),o=c8(k,l);f=a.createRadialGradient(l.x,l.y,0,l.x,l.y,Math.max(n,o))}else{var p=g?{x:0,y:0}:c.position(),q=c.paddedWidth(),r=c.paddedHeight();f=a.createRadialGradient(p.x,p.y,0,p.x,p.y,Math.max(q,r))}else if(c.isEdge()){var s=c.sourceEndpoint(),t=c.targetEndpoint();f=a.createLinearGradient(s.x,s.y,t.x,t.y)}else{var u=g?{x:0,y:0}:c.position(),v=c.paddedWidth(),w=c.paddedHeight(),x=v/2,y=w/2;switch(c.pstyle("background-gradient-direction").value){case"to-bottom":f=a.createLinearGradient(u.x,u.y-y,u.x,u.y+y);break;case"to-top":f=a.createLinearGradient(u.x,u.y+y,u.x,u.y-y);break;case"to-left":f=a.createLinearGradient(u.x+x,u.y,u.x-x,u.y);break;case"to-right":f=a.createLinearGradient(u.x-x,u.y,u.x+x,u.y);break;case"to-bottom-right":case"to-right-bottom":f=a.createLinearGradient(u.x-x,u.y-y,u.x+x,u.y+y);break;case"to-top-right":case"to-right-top":f=a.createLinearGradient(u.x-x,u.y+y,u.x+x,u.y-y);break;case"to-bottom-left":case"to-left-bottom":f=a.createLinearGradient(u.x+x,u.y-y,u.x-x,u.y+y);break;case"to-top-left":case"to-left-top":f=a.createLinearGradient(u.x+x,u.y+y,u.x-x,u.y-y)}}if(!f)return null;for(var z=i.length===h.length,A=h.length,B=0;B<A;B++)f.addColorStop(z?i[B]:B/(A-1),"rgba("+h[B][0]+","+h[B][1]+","+h[B][2]+","+e+")");return f},li.gradientFillStyle=function(a,b,c,d){var e=this.createGradientStyleFor(a,"background",b,c,d);if(!e)return null;a.fillStyle=e},li.colorFillStyle=function(a,b,c,d,e){a.fillStyle="rgba("+b+","+c+","+d+","+e+")"},li.eleFillStyle=function(a,b,c){var d=b.pstyle("background-fill").value;if("linear-gradient"===d||"radial-gradient"===d)this.gradientFillStyle(a,b,d,c);else{var e=b.pstyle("background-color").value;this.colorFillStyle(a,e[0],e[1],e[2],c)}},li.gradientStrokeStyle=function(a,b,c,d){var e=this.createGradientStyleFor(a,"line",b,c,d);if(!e)return null;a.strokeStyle=e},li.colorStrokeStyle=function(a,b,c,d,e){a.strokeStyle="rgba("+b+","+c+","+d+","+e+")"},li.eleStrokeStyle=function(a,b,c){var d=b.pstyle("line-fill").value;if("linear-gradient"===d||"radial-gradient"===d)this.gradientStrokeStyle(a,b,d,c);else{var e=b.pstyle("line-color").value;this.colorStrokeStyle(a,e[0],e[1],e[2],c)}},li.matchCanvasSize=function(a){var b,c=this.data,d=this.findContainerClientCoords(),e=d[2],f=d[3],g=this.getPixelRatio(),h=this.motionBlurPxRatio;(a===this.data.bufferCanvases[this.MOTIONBLUR_BUFFER_NODE]||a===this.data.bufferCanvases[this.MOTIONBLUR_BUFFER_DRAG])&&(g=h);var i=e*g,j=f*g;if(i!==this.canvasWidth||j!==this.canvasHeight){this.fontCaches=null;var k=c.canvasContainer;k.style.width=e+"px",k.style.height=f+"px";for(var l=0;l<this.CANVAS_LAYERS;l++)(b=c.canvases[l]).width=i,b.height=j,b.style.width=e+"px",b.style.height=f+"px";for(var l=0;l<this.BUFFER_COUNT;l++)(b=c.bufferCanvases[l]).width=i,b.height=j,b.style.width=e+"px",b.style.height=f+"px";this.textureMult=1,g<=1&&(b=c.bufferCanvases[this.TEXTURE_BUFFER],this.textureMult=2,b.width=i*this.textureMult,b.height=j*this.textureMult),this.canvasWidth=i,this.canvasHeight=j,this.pixelRatio=g}},li.renderTo=function(a,b,c,d){this.render({forcedContext:a,forcedZoom:b,forcedPan:c,drawAllLayers:!0,forcedPxRatio:d})},li.clearCanvas=function(){var a=this,b=a.data;function c(b){b.clearRect(0,0,a.canvasWidth,a.canvasHeight)}c(b.contexts[a.NODE]),c(b.contexts[a.DRAG])},li.render=function(a){var b=this;a=a||cC();var c=b.cy,d=a.forcedContext,e=a.drawAllLayers,f=a.drawOnlyNodeLayer,g=a.forcedZoom,h=a.forcedPan,i=void 0===a.forcedPxRatio?this.getPixelRatio():a.forcedPxRatio,j=b.data,k=j.canvasNeedsRedraw,l=b.textureOnViewport&&!d&&(b.pinching||b.hoverData.dragging||b.swipePanning||b.data.wheelZooming),n=void 0!==a.motionBlur?a.motionBlur:b.motionBlur,o=b.motionBlurPxRatio,p=c.hasCompoundNodes(),q=b.hoverData.draggingEles,r=!!b.hoverData.selecting||!!b.touchData.selecting,s=n=n&&!d&&b.motionBlurEnabled&&!r;d||(b.prevPxRatio!==i&&(b.invalidateContainerClientCoordsCache(),b.matchCanvasSize(b.container),b.redrawHint("eles",!0),b.redrawHint("drag",!0)),b.prevPxRatio=i),!d&&b.motionBlurTimeout&&clearTimeout(b.motionBlurTimeout),n&&(null==b.mbFrames&&(b.mbFrames=0),b.mbFrames++,b.mbFrames<3&&(s=!1),b.mbFrames>b.minMbLowQualFrames&&(b.motionBlurPxRatio=b.mbPxRBlurry)),b.clearingMotionBlur&&(b.motionBlurPxRatio=1),b.textureDrawLastFrame&&!l&&(k[b.NODE]=!0,k[b.SELECT_BOX]=!0);var t=c.style(),u=c.zoom(),v=void 0!==g?g:u,w=c.pan(),x={x:w.x,y:w.y},y={zoom:u,pan:{x:w.x,y:w.y}},z=b.prevViewport;void 0===z||y.zoom!==z.zoom||y.pan.x!==z.pan.x||y.pan.y!==z.pan.y||q&&!p||(b.motionBlurPxRatio=1),h&&(x=h),v*=i,x.x*=i,x.y*=i;var A=b.getCachedZSortedEles();function B(a,c,d,e,f){var g=a.globalCompositeOperation;a.globalCompositeOperation="destination-out",b.colorFillStyle(a,255,255,255,b.motionBlurTransparency),a.fillRect(c,d,e,f),a.globalCompositeOperation=g}function C(a,c){var f,i,k,l;b.clearingMotionBlur||a!==j.bufferContexts[b.MOTIONBLUR_BUFFER_NODE]&&a!==j.bufferContexts[b.MOTIONBLUR_BUFFER_DRAG]?(f=x,i=v,k=b.canvasWidth,l=b.canvasHeight):(f={x:w.x*o,y:w.y*o},i=u*o,k=b.canvasWidth*o,l=b.canvasHeight*o),a.setTransform(1,0,0,1,0,0),"motionBlur"===c?B(a,0,0,k,l):!d&&(void 0===c||c)&&a.clearRect(0,0,k,l),e||(a.translate(f.x,f.y),a.scale(i,i)),h&&a.translate(h.x,h.y),g&&a.scale(g,g)}if(l||(b.textureDrawLastFrame=!1),l){if(b.textureDrawLastFrame=!0,!b.textureCache){b.textureCache={},b.textureCache.bb=c.mutableElements().boundingBox(),b.textureCache.texture=b.data.bufferCanvases[b.TEXTURE_BUFFER];var D=b.data.bufferContexts[b.TEXTURE_BUFFER];D.setTransform(1,0,0,1,0,0),D.clearRect(0,0,b.canvasWidth*b.textureMult,b.canvasHeight*b.textureMult),b.render({forcedContext:D,drawOnlyNodeLayer:!0,forcedPxRatio:i*b.textureMult});var y=b.textureCache.viewport={zoom:c.zoom(),pan:c.pan(),width:b.canvasWidth,height:b.canvasHeight};y.mpan={x:(0-y.pan.x)/y.zoom,y:(0-y.pan.y)/y.zoom}}k[b.DRAG]=!1,k[b.NODE]=!1;var E=j.contexts[b.NODE],F=b.textureCache.texture,y=b.textureCache.viewport;E.setTransform(1,0,0,1,0,0),n?B(E,0,0,y.width,y.height):E.clearRect(0,0,y.width,y.height);var G=t.core("outside-texture-bg-color").value,H=t.core("outside-texture-bg-opacity").value;b.colorFillStyle(E,G[0],G[1],G[2],H),E.fillRect(0,0,y.width,y.height);var u=c.zoom();C(E,!1),E.clearRect(y.mpan.x,y.mpan.y,y.width/y.zoom/i,y.height/y.zoom/i),E.drawImage(F,y.mpan.x,y.mpan.y,y.width/y.zoom/i,y.height/y.zoom/i)}else b.textureOnViewport&&!d&&(b.textureCache=null);var I=c.extent(),J=b.pinching||b.hoverData.dragging||b.swipePanning||b.data.wheelZooming||b.hoverData.draggingEles||b.cy.animated(),K=b.hideEdgesOnViewport&&J,L=[];if(L[b.NODE]=!k[b.NODE]&&n&&!b.clearedForMotionBlur[b.NODE]||b.clearingMotionBlur,L[b.NODE]&&(b.clearedForMotionBlur[b.NODE]=!0),L[b.DRAG]=!k[b.DRAG]&&n&&!b.clearedForMotionBlur[b.DRAG]||b.clearingMotionBlur,L[b.DRAG]&&(b.clearedForMotionBlur[b.DRAG]=!0),k[b.NODE]||e||f||L[b.NODE]){var M=n&&!L[b.NODE]&&1!==o,E=d||(M?b.data.bufferContexts[b.MOTIONBLUR_BUFFER_NODE]:j.contexts[b.NODE]);C(E,n&&!M?"motionBlur":void 0),K?b.drawCachedNodes(E,A.nondrag,i,I):b.drawLayeredElements(E,A.nondrag,i,I),b.debug&&b.drawDebugPoints(E,A.nondrag),e||n||(k[b.NODE]=!1)}if(!f&&(k[b.DRAG]||e||L[b.DRAG])){var M=n&&!L[b.DRAG]&&1!==o,E=d||(M?b.data.bufferContexts[b.MOTIONBLUR_BUFFER_DRAG]:j.contexts[b.DRAG]);C(E,n&&!M?"motionBlur":void 0),K?b.drawCachedNodes(E,A.drag,i,I):b.drawCachedElements(E,A.drag,i,I),b.debug&&b.drawDebugPoints(E,A.drag),e||n||(k[b.DRAG]=!1)}if(this.drawSelectionRectangle(a,C),n&&1!==o){var N=j.contexts[b.NODE],O=b.data.bufferCanvases[b.MOTIONBLUR_BUFFER_NODE],P=j.contexts[b.DRAG],Q=b.data.bufferCanvases[b.MOTIONBLUR_BUFFER_DRAG],R=function(a,c,d){a.setTransform(1,0,0,1,0,0),d||!s?a.clearRect(0,0,b.canvasWidth,b.canvasHeight):B(a,0,0,b.canvasWidth,b.canvasHeight),a.drawImage(c,0,0,b.canvasWidth*o,b.canvasHeight*o,0,0,b.canvasWidth,b.canvasHeight)};(k[b.NODE]||L[b.NODE])&&(R(N,O,L[b.NODE]),k[b.NODE]=!1),(k[b.DRAG]||L[b.DRAG])&&(R(P,Q,L[b.DRAG]),k[b.DRAG]=!1)}b.prevViewport=y,b.clearingMotionBlur&&(b.clearingMotionBlur=!1,b.motionBlurCleared=!0,b.motionBlur=!0),n&&(b.motionBlurTimeout=setTimeout(function(){b.motionBlurTimeout=null,b.clearedForMotionBlur[b.NODE]=!1,b.clearedForMotionBlur[b.DRAG]=!1,b.motionBlur=!1,b.clearingMotionBlur=!l,b.mbFrames=0,k[b.NODE]=!0,k[b.DRAG]=!0,b.redraw()},100)),d||c.emit("render")},li.drawSelectionRectangle=function(a,b){var c=this.cy,d=this.data,e=c.style(),f=a.drawOnlyNodeLayer,g=a.drawAllLayers,h=d.canvasNeedsRedraw,i=a.forcedContext;if(this.showFps||!f&&h[this.SELECT_BOX]&&!g){var j=i||d.contexts[this.SELECT_BOX];if(b(j),1==this.selection[4]&&(this.hoverData.selecting||this.touchData.selecting)){var k=this.cy.zoom(),n=e.core("selection-box-border-width").value/k;j.lineWidth=n,j.fillStyle="rgba("+e.core("selection-box-color").value[0]+","+e.core("selection-box-color").value[1]+","+e.core("selection-box-color").value[2]+","+e.core("selection-box-opacity").value+")",j.fillRect(this.selection[0],this.selection[1],this.selection[2]-this.selection[0],this.selection[3]-this.selection[1]),n>0&&(j.strokeStyle="rgba("+e.core("selection-box-border-color").value[0]+","+e.core("selection-box-border-color").value[1]+","+e.core("selection-box-border-color").value[2]+","+e.core("selection-box-opacity").value+")",j.strokeRect(this.selection[0],this.selection[1],this.selection[2]-this.selection[0],this.selection[3]-this.selection[1]))}if(d.bgActivePosistion&&!this.hoverData.selecting){var k=this.cy.zoom(),o=d.bgActivePosistion;j.fillStyle="rgba("+e.core("active-bg-color").value[0]+","+e.core("active-bg-color").value[1]+","+e.core("active-bg-color").value[2]+","+e.core("active-bg-opacity").value+")",j.beginPath(),j.arc(o.x,o.y,e.core("active-bg-size").pfValue/k,0,2*Math.PI),j.fill()}var p=this.lastRedrawTime;if(this.showFps&&p){var q=Math.round(1e3/(p=Math.round(p))),r="1 frame = "+p+" ms = "+q+" fps";j.setTransform(1,0,0,1,0,0),j.fillStyle="rgba(255, 0, 0, 0.75)",j.strokeStyle="rgba(255, 0, 0, 0.75)",j.font="30px Arial",l||(l=j.measureText(r).actualBoundingBoxAscent),j.fillText(r,0,l),j.strokeRect(0,l+10,250,20),j.fillRect(0,l+10,250*Math.min(q/60,1),20)}g||(h[this.SELECT_BOX]=!1)}};var ls="undefined"!=typeof Float32Array?Float32Array:Array;function lt(){var a=new ls(9);return ls!=Float32Array&&(a[1]=0,a[2]=0,a[3]=0,a[5]=0,a[6]=0,a[7]=0),a[0]=1,a[4]=1,a[8]=1,a}function lu(a){return a[0]=1,a[1]=0,a[2]=0,a[3]=0,a[4]=1,a[5]=0,a[6]=0,a[7]=0,a[8]=1,a}function lv(a,b,c){var d=b[0],e=b[1],f=b[2],g=b[3],h=b[4],i=b[5],j=b[6],k=b[7],l=b[8],n=c[0],o=c[1];return a[0]=d,a[1]=e,a[2]=f,a[3]=g,a[4]=h,a[5]=i,a[6]=n*d+o*g+j,a[7]=n*e+o*h+k,a[8]=n*f+o*i+l,a}function lw(a,b,c){var d=b[0],e=b[1],f=b[2],g=b[3],h=b[4],i=b[5],j=b[6],k=b[7],l=b[8],n=Math.sin(c),o=Math.cos(c);return a[0]=o*d+n*g,a[1]=o*e+n*h,a[2]=o*f+n*i,a[3]=o*g-n*d,a[4]=o*h-n*e,a[5]=o*i-n*f,a[6]=j,a[7]=k,a[8]=l,a}function lx(a,b,c){var d=c[0],e=c[1];return a[0]=d*b[0],a[1]=d*b[1],a[2]=d*b[2],a[3]=e*b[3],a[4]=e*b[4],a[5]=e*b[5],a[6]=b[6],a[7]=b[7],a[8]=b[8],a}Math.hypot||(Math.hypot=function(){for(var a=0,b=arguments.length;b--;)a+=arguments[b]*arguments[b];return Math.sqrt(a)});var ly=bm(function a(b,c,d,e){bl(this,a),this.debugID=Math.floor(1e4*Math.random()),this.r=b,this.texSize=c,this.texRows=d,this.texHeight=Math.floor(c/d),this.enableWrapping=!0,this.locked=!1,this.texture=null,this.needsBuffer=!0,this.freePointer={x:0,row:0},this.keyToLocation=new Map,this.canvas=e(b,c,c),this.scratch=e(b,c,this.texHeight,"scratch")},[{key:"lock",value:function(){this.locked=!0}},{key:"getKeys",value:function(){return new Set(this.keyToLocation.keys())}},{key:"getScale",value:function(a){var b=a.w,c=a.h,d=this.texHeight,e=this.texSize,f=d/c,g=b*f,h=c*f;return g>e&&(f=e/b,g=b*f,h=c*f),{scale:f,texW:g,texH:h}}},{key:"draw",value:function(a,b,c){var d,e,f,g,h,i,j,k=this;if(this.locked)throw Error("can't draw, atlas is locked");var l=this.texSize,n=this.texRows,o=this.texHeight,p=this.getScale(b),q=p.scale,r=p.texW,s=p.texH,t=function(a,d){if(c&&d){var e=d.context,f=a.x,g=o*a.row;e.save(),e.translate(f,g),e.scale(q,q),c(e,b),e.restore()}},u=[null,null],v=function(){t(k.freePointer,k.canvas),u[0]={x:k.freePointer.x,y:k.freePointer.row*o,w:r,h:s},u[1]={x:k.freePointer.x+r,y:k.freePointer.row*o,w:0,h:s},k.freePointer.x+=r,k.freePointer.x==l&&(k.freePointer.x=0,k.freePointer.row++)},w=function(){k.freePointer.x=0,k.freePointer.row++};if(this.freePointer.x+r<=l)v();else{if(this.freePointer.row>=n-1)return!1;this.freePointer.x===l?(w(),v()):this.enableWrapping?(d=k.scratch,e=k.canvas,d.clear(),t({x:0,row:0},d),g=r-(f=l-k.freePointer.x),h=k.freePointer.x,i=k.freePointer.row*o,e.context.drawImage(d,0,0,f,o,h,i,f,o),u[0]={x:h,y:i,w:f,h:s},j=(k.freePointer.row+1)*o,e&&e.context.drawImage(d,f,0,g,o,0,j,g,o),u[1]={x:0,y:j,w:g,h:s},k.freePointer.x=g,k.freePointer.row++):(w(),v())}return this.keyToLocation.set(a,u),this.needsBuffer=!0,u}},{key:"getOffsets",value:function(a){return this.keyToLocation.get(a)}},{key:"isEmpty",value:function(){return 0===this.freePointer.x&&0===this.freePointer.row}},{key:"canFit",value:function(a){if(this.locked)return!1;var b=this.texSize,c=this.texRows,d=this.getScale(a).texW;return!(this.freePointer.x+d>b)||this.freePointer.row<c-1}},{key:"bufferIfNeeded",value:function(a){var b;this.texture||(this.texture=(this.debugID,(b=a.createTexture()).buffer=function(c){a.bindTexture(a.TEXTURE_2D,b),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR_MIPMAP_NEAREST),a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,c),a.generateMipmap(a.TEXTURE_2D),a.bindTexture(a.TEXTURE_2D,null)},b.deleteTexture=function(){a.deleteTexture(b)},b)),this.needsBuffer&&(this.texture.buffer(this.canvas),this.needsBuffer=!1,this.locked&&(this.canvas=null,this.scratch=null))}},{key:"dispose",value:function(){this.texture&&(this.texture.deleteTexture(),this.texture=null),this.canvas=null,this.scratch=null,this.locked=!0}}]),lz=bm(function a(b,c,d,e){bl(this,a),this.r=b,this.texSize=c,this.texRows=d,this.createTextureCanvas=e,this.atlases=[],this.styleKeyToAtlas=new Map,this.markedKeys=new Set},[{key:"getKeys",value:function(){return new Set(this.styleKeyToAtlas.keys())}},{key:"_createAtlas",value:function(){return new ly(this.r,this.texSize,this.texRows,this.createTextureCanvas)}},{key:"_getScratchCanvas",value:function(){if(!this.scratch){var a=this.r,b=this.texSize,c=this.texRows,d=this.createTextureCanvas,e=Math.floor(b/c);this.scratch=d(a,b,e,"scratch")}return this.scratch}},{key:"draw",value:function(a,b,c){var d=this.styleKeyToAtlas.get(a);return d||((d=this.atlases[this.atlases.length-1])&&d.canFit(b)||(d&&d.lock(),d=this._createAtlas(),this.atlases.push(d)),d.draw(a,b,c),this.styleKeyToAtlas.set(a,d)),d}},{key:"getAtlas",value:function(a){return this.styleKeyToAtlas.get(a)}},{key:"hasAtlas",value:function(a){return this.styleKeyToAtlas.has(a)}},{key:"markKeyForGC",value:function(a){this.markedKeys.add(a)}},{key:"gc",value:function(){var a=this,b=this.markedKeys;if(0===b.size)return void console.log("nothing to garbage collect");var c,d=[],e=new Map,f=null,g=bn(this.atlases);try{for(g.s();!(c=g.n()).done;)if(function(){var g=c.value,h=g.getKeys(),i=function(a,b){return a.intersection?a.intersection(b):new Set(bq(a).filter(function(a){return b.has(a)}))}(b,h);if(0===i.size)return d.push(g),h.forEach(function(a){return e.set(a,g)}),1;f||(f=a._createAtlas(),d.push(f));var j,k=bn(h);try{for(k.s();!(j=k.n()).done;){var l=j.value;if(!i.has(l)){var n=g.getOffsets(l),o=bp(n,2),p=o[0],q=o[1];f.canFit({w:p.w+q.w,h:p.h})||(f.lock(),f=a._createAtlas(),d.push(f)),g.canvas&&(a._copyTextureToNewAtlas(l,g,f),e.set(l,f))}}}catch(a){k.e(a)}finally{k.f()}g.dispose()}())continue}catch(a){g.e(a)}finally{g.f()}this.atlases=d,this.styleKeyToAtlas=e,this.markedKeys=new Set}},{key:"_copyTextureToNewAtlas",value:function(a,b,c){var d=bp(b.getOffsets(a),2),e=d[0],f=d[1];if(0===f.w)c.draw(a,e,function(a){a.drawImage(b.canvas,e.x,e.y,e.w,e.h,0,0,e.w,e.h)});else{var g=this._getScratchCanvas();g.clear(),g.context.drawImage(b.canvas,e.x,e.y,e.w,e.h,0,0,e.w,e.h),g.context.drawImage(b.canvas,f.x,f.y,f.w,f.h,e.w,0,f.w,f.h);var h=e.w+f.w,i=e.h;c.draw(a,{w:h,h:i},function(a){a.drawImage(g,0,0,h,i,0,0,h,i)})}}},{key:"getCounts",value:function(){return{keyCount:this.styleKeyToAtlas.size,atlasCount:new Set(this.styleKeyToAtlas.values()).size}}}]),lA=bm(function a(b,c){bl(this,a),this.r=b,this.globalOptions=c,this.atlasSize=c.webglTexSize,this.maxAtlasesPerBatch=c.webglTexPerBatch,this.renderTypes=new Map,this.collections=new Map,this.typeAndIdToKey=new Map},[{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"addAtlasCollection",value:function(a,b){var c=this.globalOptions,d=c.webglTexSize,e=c.createTextureCanvas,f=b.texRows,g=this._cacheScratchCanvas(e),h=new lz(this.r,d,f,g);this.collections.set(a,h)}},{key:"addRenderType",value:function(a,b){var c=b.collection;if(!this.collections.has(c))throw Error("invalid atlas collection name '".concat(c,"'"));var d=bY({type:a,atlasCollection:this.collections.get(c)},b);this.renderTypes.set(a,d)}},{key:"getRenderTypeOpts",value:function(a){return this.renderTypes.get(a)}},{key:"getAtlasCollection",value:function(a){return this.collections.get(a)}},{key:"_cacheScratchCanvas",value:function(a){var b=-1,c=-1,d=null;return function(e,f,g,h){return h?(d&&f==b&&g==c||(b=f,c=g,d=a(e,f,g)),d):a(e,f,g)}}},{key:"_key",value:function(a,b){return"".concat(a,"-").concat(b)}},{key:"invalidate",value:function(a){var b,c=this,d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=d.forceRedraw,f=void 0!==e&&e,g=d.filterEle,h=void 0===g?function(){return!0}:g,i=d.filterType,j=void 0===i?function(){return!0}:i,k=!1,l=!1,n=bn(a);try{for(n.s();!(b=n.n()).done;){var o=b.value;if(h(o)){var p,q=bn(this.renderTypes.values());try{for(q.s();!(p=q.n()).done;)!function(){var a=p.value,b=a.type;if(j(b)){var d=c.collections.get(a.collection),e=a.getKey(o),g=Array.isArray(e)?e:[e];if(f)g.forEach(function(a){return d.markKeyForGC(a)}),l=!0;else{var h=a.getID?a.getID(o):o.id(),i=c._key(b,h),n=c.typeAndIdToKey.get(i);void 0!==n&&!function(a,b){if(a.length!==b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}(g,n)&&(k=!0,c.typeAndIdToKey.delete(i),n.forEach(function(a){return d.markKeyForGC(a)}))}}}()}catch(a){q.e(a)}finally{q.f()}}}}catch(a){n.e(a)}finally{n.f()}return l&&(this.gc(),k=!1),k}},{key:"gc",value:function(){var a,b=bn(this.collections.values());try{for(b.s();!(a=b.n()).done;)a.value.gc()}catch(a){b.e(a)}finally{b.f()}}},{key:"getOrCreateAtlas",value:function(a,b,c,d){var e=this.renderTypes.get(b),f=this.collections.get(e.collection),g=!1,h=f.draw(d,c,function(b){e.drawClipped?(b.save(),b.beginPath(),b.rect(0,0,c.w,c.h),b.clip(),e.drawElement(b,a,c,!0,!0),b.restore()):e.drawElement(b,a,c,!0,!0),g=!0});if(g){var i=e.getID?e.getID(a):a.id(),j=this._key(b,i);this.typeAndIdToKey.has(j)?this.typeAndIdToKey.get(j).push(d):this.typeAndIdToKey.set(j,[d])}return h}},{key:"getAtlasInfo",value:function(a,b){var c=this,d=this.renderTypes.get(b),e=d.getKey(a);return(Array.isArray(e)?e:[e]).map(function(e){var f=d.getBoundingBox(a,e),g=c.getOrCreateAtlas(a,b,f,e),h=bp(g.getOffsets(e),2),i=h[0];return{atlas:g,tex:i,tex1:i,tex2:h[1],bb:f}})}},{key:"getDebugInfo",value:function(){var a,b=[],c=bn(this.collections);try{for(c.s();!(a=c.n()).done;){var d=bp(a.value,2),e=d[0],f=d[1].getCounts(),g=f.keyCount,h=f.atlasCount;b.push({type:e,keyCount:g,atlasCount:h})}}catch(a){c.e(a)}finally{c.f()}return b}}]),lB=bm(function a(b){bl(this,a),this.globalOptions=b,this.atlasSize=b.webglTexSize,this.maxAtlasesPerBatch=b.webglTexPerBatch,this.batchAtlases=[]},[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},function(a,b){return b})}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(a){return this.batchAtlases.length!==this.maxAtlasesPerBatch||this.batchAtlases.includes(a)}},{key:"getAtlasIndexForBatch",value:function(a){var b=this.batchAtlases.indexOf(a);if(b<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw Error("cannot add more atlases to batch");this.batchAtlases.push(a),b=this.batchAtlases.length-1}return b}}]),lC={name:"screen",screen:!0},lD={name:"picking",picking:!0},lE=bm(function a(b,c,d){bl(this,a),this.r=b,this.gl=c,this.maxInstances=d.webglBatchSize,this.atlasSize=d.webglTexSize,this.bgColor=d.bgColor,this.debug=d.webglDebug,this.batchDebugInfo=[],d.enableWrapping=!0,d.createTextureCanvas=lk,this.atlasManager=new lA(b,d),this.batchManager=new lB(d),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(lC),this.pickingProgram=this._createShaderProgram(lD),this.vao=this._createVAO()},[{key:"addAtlasCollection",value:function(a,b){this.atlasManager.addAtlasCollection(a,b)}},{key:"addTextureAtlasRenderType",value:function(a,b){this.atlasManager.addRenderType(a,b)}},{key:"addSimpleShapeRenderType",value:function(a,b){this.simpleShapeOptions.set(a,b)}},{key:"invalidate",value:function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=b.type,d=this.atlasManager;return c?d.invalidate(a,{filterType:function(a){return a===c},forceRedraw:!0}):d.invalidate(a)}},{key:"gc",value:function(){this.atlasManager.gc()}},{key:"_createShaderProgram",value:function(a){var b=this.gl,c="#version 300 es\n precision highp float;\n\n uniform mat3 uPanZoomMatrix;\n uniform int uAtlasSize;\n \n // instanced\n in vec2 aPosition; // a vertex from the unit square\n \n in mat3 aTransform; // used to transform verticies, eg into a bounding box\n in int aVertType; // the type of thing we are rendering\n\n // the z-index that is output when using picking mode\n in vec4 aIndex;\n \n // For textures\n in int aAtlasId; // which shader unit/atlas to use\n in vec4 aTex; // x/y/w/h of texture in atlas\n\n // for edges\n in vec4 aPointAPointB;\n in vec4 aPointCPointD;\n in vec2 aLineWidth; // also used for node border width\n\n // simple shapes\n in vec4 aCornerRadius; // for round-rectangle [top-right, bottom-right, top-left, bottom-left]\n in vec4 aColor; // also used for edges\n in vec4 aBorderColor; // aLineWidth is used for border width\n\n // output values passed to the fragment shader\n out vec2 vTexCoord;\n out vec4 vColor;\n out vec2 vPosition;\n // flat values are not interpolated\n flat out int vAtlasId; \n flat out int vVertType;\n flat out vec2 vTopRight;\n flat out vec2 vBotLeft;\n flat out vec4 vCornerRadius;\n flat out vec4 vBorderColor;\n flat out vec2 vBorderWidth;\n flat out vec4 vIndex;\n \n void main(void) {\n int vid = gl_VertexID;\n vec2 position = aPosition; // TODO make this a vec3, simplifies some code below\n\n if(aVertType == ".concat(0,") {\n float texX = aTex.x; // texture coordinates\n float texY = aTex.y;\n float texW = aTex.z;\n float texH = aTex.w;\n\n if(vid == 1 || vid == 2 || vid == 4) {\n texX += texW;\n }\n if(vid == 2 || vid == 4 || vid == 5) {\n texY += texH;\n }\n\n float d = float(uAtlasSize);\n vTexCoord = vec2(texX / d, texY / d); // tex coords must be between 0 and 1\n\n gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\n }\n else if(aVertType == ").concat(4," || aVertType == ").concat(7," \n || aVertType == ").concat(5," || aVertType == ").concat(6,") { // simple shapes\n\n // the bounding box is needed by the fragment shader\n vBotLeft = (aTransform * vec3(0, 0, 1)).xy; // flat\n vTopRight = (aTransform * vec3(1, 1, 1)).xy; // flat\n vPosition = (aTransform * vec3(position, 1)).xy; // will be interpolated\n\n // calculations are done in the fragment shader, just pass these along\n vColor = aColor;\n vCornerRadius = aCornerRadius;\n vBorderColor = aBorderColor;\n vBorderWidth = aLineWidth;\n\n gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\n }\n else if(aVertType == ").concat(1,") {\n vec2 source = aPointAPointB.xy;\n vec2 target = aPointAPointB.zw;\n\n // adjust the geometry so that the line is centered on the edge\n position.y = position.y - 0.5;\n\n // stretch the unit square into a long skinny rectangle\n vec2 xBasis = target - source;\n vec2 yBasis = normalize(vec2(-xBasis.y, xBasis.x));\n vec2 point = source + xBasis * position.x + yBasis * aLineWidth[0] * position.y;\n\n gl_Position = vec4(uPanZoomMatrix * vec3(point, 1.0), 1.0);\n vColor = aColor;\n } \n else if(aVertType == ").concat(2,") {\n vec2 pointA = aPointAPointB.xy;\n vec2 pointB = aPointAPointB.zw;\n vec2 pointC = aPointCPointD.xy;\n vec2 pointD = aPointCPointD.zw;\n\n // adjust the geometry so that the line is centered on the edge\n position.y = position.y - 0.5;\n\n vec2 p0, p1, p2, pos;\n if(position.x == 0.0) { // The left side of the unit square\n p0 = pointA;\n p1 = pointB;\n p2 = pointC;\n pos = position;\n } else { // The right side of the unit square, use same approach but flip the geometry upside down\n p0 = pointD;\n p1 = pointC;\n p2 = pointB;\n pos = vec2(0.0, -position.y);\n }\n\n vec2 p01 = p1 - p0;\n vec2 p12 = p2 - p1;\n vec2 p21 = p1 - p2;\n\n // Find the normal vector.\n vec2 tangent = normalize(normalize(p12) + normalize(p01));\n vec2 normal = vec2(-tangent.y, tangent.x);\n\n // Find the vector perpendicular to p0 -> p1.\n vec2 p01Norm = normalize(vec2(-p01.y, p01.x));\n\n // Determine the bend direction.\n float sigma = sign(dot(p01 + p21, normal));\n float width = aLineWidth[0];\n\n if(sign(pos.y) == -sigma) {\n // This is an intersecting vertex. Adjust the position so that there's no overlap.\n vec2 point = 0.5 * width * normal * -sigma / dot(normal, p01Norm);\n gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);\n } else {\n // This is a non-intersecting vertex. Treat it like a mitre join.\n vec2 point = 0.5 * width * normal * sigma * dot(normal, p01Norm);\n gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);\n }\n\n vColor = aColor;\n } \n else if(aVertType == ").concat(3," && vid < 3) {\n // massage the first triangle into an edge arrow\n if(vid == 0)\n position = vec2(-0.15, -0.3);\n if(vid == 1)\n position = vec2( 0.0, 0.0);\n if(vid == 2)\n position = vec2( 0.15, -0.3);\n\n gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\n vColor = aColor;\n }\n else {\n gl_Position = vec4(2.0, 0.0, 0.0, 1.0); // discard vertex by putting it outside webgl clip space\n }\n\n vAtlasId = aAtlasId;\n vVertType = aVertType;\n vIndex = aIndex;\n }\n "),d=this.batchManager.getIndexArray(),e=function(a,b,c){var d=lj(a,a.VERTEX_SHADER,b),e=lj(a,a.FRAGMENT_SHADER,c),f=a.createProgram();if(a.attachShader(f,d),a.attachShader(f,e),a.linkProgram(f),!a.getProgramParameter(f,a.LINK_STATUS))throw Error("Could not initialize shaders");return f}(b,c,"#version 300 es\n precision highp float;\n\n // declare texture unit for each texture atlas in the batch\n ".concat(d.map(function(a){return"uniform sampler2D uTexture".concat(a,";")}).join("\n "),"\n\n uniform vec4 uBGColor;\n uniform float uZoom;\n\n in vec2 vTexCoord;\n in vec4 vColor;\n in vec2 vPosition; // model coordinates\n\n flat in int vAtlasId;\n flat in vec4 vIndex;\n flat in int vVertType;\n flat in vec2 vTopRight;\n flat in vec2 vBotLeft;\n flat in vec4 vCornerRadius;\n flat in vec4 vBorderColor;\n flat in vec2 vBorderWidth;\n\n out vec4 outColor;\n\n ").concat("\n float circleSD(vec2 p, float r) {\n return distance(vec2(0), p) - r; // signed distance\n }\n","\n ").concat("\n float rectangleSD(vec2 p, vec2 b) {\n vec2 d = abs(p)-b;\n return distance(vec2(0),max(d,0.0)) + min(max(d.x,d.y),0.0);\n }\n","\n ").concat("\n float roundRectangleSD(vec2 p, vec2 b, vec4 cr) {\n cr.xy = (p.x > 0.0) ? cr.xy : cr.zw;\n cr.x = (p.y > 0.0) ? cr.x : cr.y;\n vec2 q = abs(p) - b + cr.x;\n return min(max(q.x, q.y), 0.0) + distance(vec2(0), max(q, 0.0)) - cr.x;\n }\n","\n ").concat("\n float ellipseSD(vec2 p, vec2 ab) {\n p = abs( p ); // symmetry\n\n // find root with Newton solver\n vec2 q = ab*(p-ab);\n float w = (q.x<q.y)? 1.570796327 : 0.0;\n for( int i=0; i<5; i++ ) {\n vec2 cs = vec2(cos(w),sin(w));\n vec2 u = ab*vec2( cs.x,cs.y);\n vec2 v = ab*vec2(-cs.y,cs.x);\n w = w + dot(p-u,v)/(dot(p-u,u)+dot(v,v));\n }\n \n // compute final point and distance\n float d = length(p-ab*vec2(cos(w),sin(w)));\n \n // return signed distance\n return (dot(p/ab,p/ab)>1.0) ? d : -d;\n }\n","\n\n vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha\n return vec4( \n top.rgb + (bot.rgb * (1.0 - top.a)),\n top.a + (bot.a * (1.0 - top.a)) \n );\n }\n\n vec4 distInterp(vec4 cA, vec4 cB, float d) { // interpolate color using Signed Distance\n // scale to the zoom level so that borders don't look blurry when zoomed in\n // note 1.5 is an aribitrary value chosen because it looks good\n return mix(cA, cB, 1.0 - smoothstep(0.0, 1.5 / uZoom, abs(d))); \n }\n\n void main(void) {\n if(vVertType == ").concat(0,") {\n // look up the texel from the texture unit\n ").concat(d.map(function(a){return"if(vAtlasId == ".concat(a,") outColor = texture(uTexture").concat(a,", vTexCoord);")}).join("\n else "),"\n } \n else if(vVertType == ").concat(3,") {\n // mimics how canvas renderer uses context.globalCompositeOperation = 'destination-out';\n outColor = blend(vColor, uBGColor);\n outColor.a = 1.0; // make opaque, masks out line under arrow\n }\n else if(vVertType == ").concat(4," && vBorderWidth == vec2(0.0)) { // simple rectangle with no border\n outColor = vColor; // unit square is already transformed to the rectangle, nothing else needs to be done\n }\n else if(vVertType == ").concat(4," || vVertType == ").concat(7," \n || vVertType == ").concat(5," || vVertType == ").concat(6,") { // use SDF\n\n float outerBorder = vBorderWidth[0];\n float innerBorder = vBorderWidth[1];\n float borderPadding = outerBorder * 2.0;\n float w = vTopRight.x - vBotLeft.x - borderPadding;\n float h = vTopRight.y - vBotLeft.y - borderPadding;\n vec2 b = vec2(w/2.0, h/2.0); // half width, half height\n vec2 p = vPosition - vec2(vTopRight.x - b[0] - outerBorder, vTopRight.y - b[1] - outerBorder); // translate to center\n\n float d; // signed distance\n if(vVertType == ").concat(4,") {\n d = rectangleSD(p, b);\n } else if(vVertType == ").concat(7," && w == h) {\n d = circleSD(p, b.x); // faster than ellipse\n } else if(vVertType == ").concat(7,") {\n d = ellipseSD(p, b);\n } else {\n d = roundRectangleSD(p, b, vCornerRadius.wzyx);\n }\n\n // use the distance to interpolate a color to smooth the edges of the shape, doesn't need multisampling\n // we must smooth colors inwards, because we can't change pixels outside the shape's bounding box\n if(d > 0.0) {\n if(d > outerBorder) {\n discard;\n } else {\n outColor = distInterp(vBorderColor, vec4(0), d - outerBorder);\n }\n } else {\n if(d > innerBorder) {\n vec4 outerColor = outerBorder == 0.0 ? vec4(0) : vBorderColor;\n vec4 innerBorderColor = blend(vBorderColor, vColor);\n outColor = distInterp(innerBorderColor, outerColor, d);\n } \n else {\n vec4 outerColor;\n if(innerBorder == 0.0 && outerBorder == 0.0) {\n outerColor = vec4(0);\n } else if(innerBorder == 0.0) {\n outerColor = vBorderColor;\n } else {\n outerColor = blend(vBorderColor, vColor);\n }\n outColor = distInterp(vColor, outerColor, d - innerBorder);\n }\n }\n }\n else {\n outColor = vColor;\n }\n\n ").concat(a.picking?"if(outColor.a == 0.0) discard;\n else outColor = vIndex;":"","\n }\n "));e.aPosition=b.getAttribLocation(e,"aPosition"),e.aIndex=b.getAttribLocation(e,"aIndex"),e.aVertType=b.getAttribLocation(e,"aVertType"),e.aTransform=b.getAttribLocation(e,"aTransform"),e.aAtlasId=b.getAttribLocation(e,"aAtlasId"),e.aTex=b.getAttribLocation(e,"aTex"),e.aPointAPointB=b.getAttribLocation(e,"aPointAPointB"),e.aPointCPointD=b.getAttribLocation(e,"aPointCPointD"),e.aLineWidth=b.getAttribLocation(e,"aLineWidth"),e.aColor=b.getAttribLocation(e,"aColor"),e.aCornerRadius=b.getAttribLocation(e,"aCornerRadius"),e.aBorderColor=b.getAttribLocation(e,"aBorderColor"),e.uPanZoomMatrix=b.getUniformLocation(e,"uPanZoomMatrix"),e.uAtlasSize=b.getUniformLocation(e,"uAtlasSize"),e.uBGColor=b.getUniformLocation(e,"uBGColor"),e.uZoom=b.getUniformLocation(e,"uZoom"),e.uTextures=[];for(var f=0;f<this.batchManager.getMaxAtlasesPerBatch();f++)e.uTextures.push(b.getUniformLocation(e,"uTexture".concat(f)));return e}},{key:"_createVAO",value:function(){var a,b,c,d,e,f,g=[0,0,1,0,1,1,0,0,1,1,0,1];this.vertexCount=g.length/2;var h=this.maxInstances,i=this.gl,j=this.program,k=i.createVertexArray();return i.bindVertexArray(k),a=j.aPosition,c=(b=bp(lp(i,"vec2"),2))[0],e=lq(i,d=b[1],g),f=i.createBuffer(),i.bindBuffer(i.ARRAY_BUFFER,f),i.bufferData(i.ARRAY_BUFFER,e,i.STATIC_DRAW),d===i.FLOAT?i.vertexAttribPointer(a,c,d,!1,0,0):d===i.INT&&i.vertexAttribIPointer(a,c,d,0,0),i.enableVertexAttribArray(a),i.bindBuffer(i.ARRAY_BUFFER,null),this.transformBuffer=function(a,b,c){for(var d=new Float32Array(9*b),e=Array(b),f=0;f<b;f++){var g=9*f*4;e[f]=new Float32Array(d.buffer,g,9)}var h=a.createBuffer();a.bindBuffer(a.ARRAY_BUFFER,h),a.bufferData(a.ARRAY_BUFFER,d.byteLength,a.DYNAMIC_DRAW);for(var i=0;i<3;i++){var j=c+i;a.enableVertexAttribArray(j),a.vertexAttribPointer(j,3,a.FLOAT,!1,36,12*i),a.vertexAttribDivisor(j,1)}return a.bindBuffer(a.ARRAY_BUFFER,null),h.getMatrixView=function(a){return e[a]},h.setData=function(a,b){e[b].set(a,0)},h.bufferSubData=function(){a.bindBuffer(a.ARRAY_BUFFER,h),a.bufferSubData(a.ARRAY_BUFFER,0,d)},h}(i,h,j.aTransform),this.indexBuffer=lr(i,h,"vec4",j.aIndex),this.vertTypeBuffer=lr(i,h,"int",j.aVertType),this.atlasIdBuffer=lr(i,h,"int",j.aAtlasId),this.texBuffer=lr(i,h,"vec4",j.aTex),this.pointAPointBBuffer=lr(i,h,"vec4",j.aPointAPointB),this.pointCPointDBuffer=lr(i,h,"vec4",j.aPointCPointD),this.lineWidthBuffer=lr(i,h,"vec2",j.aLineWidth),this.colorBuffer=lr(i,h,"vec4",j.aColor),this.cornerRadiusBuffer=lr(i,h,"vec4",j.aCornerRadius),this.borderColorBuffer=lr(i,h,"vec4",j.aBorderColor),i.bindVertexArray(null),k}},{key:"buffers",get:function(){var a=this;return this._buffers||(this._buffers=Object.keys(this).filter(function(a){return bR(a,"Buffer")}).map(function(b){return a[b]})),this._buffers}},{key:"startFrame",value:function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:lC;this.panZoomMatrix=a,this.renderTarget=b,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(a,b){return!!a.visible()&&(!b||!b.isVisible||b.isVisible(a))}},{key:"drawTexture",value:function(a,b,c){var d=this.atlasManager,e=this.batchManager,f=d.getRenderTypeOpts(c);if(this._isVisible(a,f)&&(!a.isEdge()||this._isValidEdge(a))){if(this.renderTarget.picking&&f.getTexPickingMode){var g=f.getTexPickingMode(a);if(1===g)return;if(2==g)return void this.drawPickingRectangle(a,b,c)}var h,i=bn(d.getAtlasInfo(a,c));try{for(i.s();!(h=i.n()).done;){var j=h.value,k=j.atlas,l=j.tex1,n=j.tex2;e.canAddToCurrentBatch(k)||this.endBatch();for(var o=e.getAtlasIndexForBatch(k),p=0,q=[[l,!0],[n,!1]];p<q.length;p++){var r=bp(q[p],2),s=r[0],t=r[1];if(0!=s.w){var u=this.instanceCount;this.vertTypeBuffer.getView(u)[0]=0;var v=this.indexBuffer.getView(u);lo(b,v),this.atlasIdBuffer.getView(u)[0]=o;var w=this.texBuffer.getView(u);w[0]=s.x,w[1]=s.y,w[2]=s.w,w[3]=s.h;var x=this.transformBuffer.getMatrixView(u);this.setTransformMatrix(a,x,f,j,t),this.instanceCount++,!t&&this.wrappedCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}catch(a){i.e(a)}finally{i.f()}}}},{key:"setTransformMatrix",value:function(a,b,c,d){var e=!(arguments.length>4)||void 0===arguments[4]||arguments[4],f=0;if(c.shapeProps&&c.shapeProps.padding&&(f=a.pstyle(c.shapeProps.padding).pfValue),d){var g=d.bb,h=d.tex1,i=d.tex2,j=h.w/(h.w+i.w);e||(j=1-j);var k=this._getAdjustedBB(g,f,e,j);this._applyTransformMatrix(b,k,c,a)}else{var l=c.getBoundingBox(a),n=this._getAdjustedBB(l,f,!0,1);this._applyTransformMatrix(b,n,c,a)}}},{key:"_applyTransformMatrix",value:function(a,b,c,d){lu(a);var e,f,g=c.getRotation?c.getRotation(d):0;if(0!==g){var h=c.getRotationPoint(d);lv(a,a,[h.x,h.y]),lw(a,a,g);var i=c.getRotationOffset(d);e=i.x+(b.xOffset||0),f=i.y+(b.yOffset||0)}else e=b.x1,f=b.y1;lv(a,a,[e,f]),lx(a,a,[b.w,b.h])}},{key:"_getAdjustedBB",value:function(a,b,c,d){var e=a.x1,f=a.y1,g=a.w,h=a.h,i=a.yOffset;b&&(e-=b,f-=b,g+=2*b,h+=2*b);var j=0,k=g*d;return c&&d<1?g=k:!c&&d<1&&(e+=j=g-k,g=k),{x1:e,y1:f,w:g,h:h,xOffset:j,yOffset:i}}},{key:"drawPickingRectangle",value:function(a,b,c){var d=this.atlasManager.getRenderTypeOpts(c),e=this.instanceCount;this.vertTypeBuffer.getView(e)[0]=4,lo(b,this.indexBuffer.getView(e)),ln([0,0,0],1,this.colorBuffer.getView(e));var f=this.transformBuffer.getMatrixView(e);this.setTransformMatrix(a,f,d),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},{key:"drawNode",value:function(a,b,c){var d=this.simpleShapeOptions.get(c);if(this._isVisible(a,d)){var e=d.shapeProps,f=this._getVertTypeForShape(a,e.shape);if(void 0===f||d.isSimple&&!d.isSimple(a))return void this.drawTexture(a,b,c);var g=this.instanceCount;if(this.vertTypeBuffer.getView(g)[0]=f,5===f||6===f){var h=d.getBoundingBox(a),i=this._getCornerRadius(a,e.radius,h),j=this.cornerRadiusBuffer.getView(g);j[0]=i,j[1]=i,j[2]=i,j[3]=i,6===f&&(j[0]=0,j[2]=0)}lo(b,this.indexBuffer.getView(g)),ln(a.pstyle(e.color).value,a.pstyle(e.opacity).value,this.colorBuffer.getView(g));var k=this.lineWidthBuffer.getView(g);if(k[0]=0,k[1]=0,e.border){var l=a.pstyle("border-width").value;if(l>0){ln(a.pstyle("border-color").value,a.pstyle("border-opacity").value,this.borderColorBuffer.getView(g));var n=a.pstyle("border-position").value;if("inside"===n)k[0]=0,k[1]=-l;else if("outside"===n)k[0]=l,k[1]=0;else{var o=l/2;k[0]=o,k[1]=-o}}}var p=this.transformBuffer.getMatrixView(g);this.setTransformMatrix(a,p,d),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}},{key:"_getVertTypeForShape",value:function(a,b){switch(a.pstyle(b).value){case"rectangle":return 4;case"ellipse":return 7;case"roundrectangle":case"round-rectangle":return 5;case"bottom-round-rectangle":return 6;default:return}}},{key:"_getCornerRadius",value:function(a,b,c){var d=c.w,e=c.h;return"auto"===a.pstyle(b).value?dQ(d,e):Math.min(a.pstyle(b).pfValue,e/2,d/2)}},{key:"drawEdgeArrow",value:function(a,b,c){if(a.visible()){var d,e,f,g=a._private.rscratch;if(("source"===c?(d=g.arrowStartX,e=g.arrowStartY,f=g.srcArrowAngle):(d=g.arrowEndX,e=g.arrowEndY,f=g.tgtArrowAngle),!(isNaN(d)||null==d||isNaN(e)||null==e||isNaN(f))&&null!=f)&&"none"!==a.pstyle(c+"-arrow-shape").value){var h=a.pstyle(c+"-arrow-color").value,i=a.pstyle("opacity").value,j=a.pstyle("line-opacity").value,k=a.pstyle("width").pfValue,l=a.pstyle("arrow-scale").value,n=this.r.getArrowWidth(k,l),o=this.instanceCount,p=this.transformBuffer.getMatrixView(o);lu(p),lv(p,p,[d,e]),lx(p,p,[n,n]),lw(p,p,f),this.vertTypeBuffer.getView(o)[0]=3,lo(b,this.indexBuffer.getView(o)),ln(h,i*j,this.colorBuffer.getView(o)),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}},{key:"drawEdgeLine",value:function(a,b){if(a.visible()){var c=this._getEdgePoints(a);if(c){var d=a.pstyle("opacity").value,e=a.pstyle("line-opacity").value,f=a.pstyle("width").pfValue,g=a.pstyle("line-color").value,h=d*e;if(c.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),4==c.length){var i=this.instanceCount;this.vertTypeBuffer.getView(i)[0]=1,lo(b,this.indexBuffer.getView(i)),ln(g,h,this.colorBuffer.getView(i)),this.lineWidthBuffer.getView(i)[0]=f;var j=this.pointAPointBBuffer.getView(i);j[0]=c[0],j[1]=c[1],j[2]=c[2],j[3]=c[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var k=0;k<c.length-2;k+=2){var l=this.instanceCount;this.vertTypeBuffer.getView(l)[0]=2,lo(b,this.indexBuffer.getView(l)),ln(g,h,this.colorBuffer.getView(l)),this.lineWidthBuffer.getView(l)[0]=f;var n=c[k-2],o=c[k-1],p=c[k],q=c[k+1],r=c[k+2],s=c[k+3],t=c[k+4],u=c[k+5];0==k&&(n=2*p-r+.001,o=2*q-s+.001),k==c.length-4&&(t=2*r-p+.001,u=2*s-q+.001);var v=this.pointAPointBBuffer.getView(l);v[0]=n,v[1]=o,v[2]=p,v[3]=q;var w=this.pointCPointDBuffer.getView(l);w[0]=r,w[1]=s,w[2]=t,w[3]=u,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"_isValidEdge",value:function(a){var b=a._private.rscratch;return!(b.badLine||null==b.allpts||isNaN(b.allpts[0]))}},{key:"_getEdgePoints",value:function(a){var b=a._private.rscratch;if(this._isValidEdge(a)){var c=b.allpts;if(4==c.length)return c;var d=this._getNumSegments(a);return this._getCurveSegmentPoints(c,d)}}},{key:"_getNumSegments",value:function(a){return Math.min(15,this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(a,b){if(4==a.length)return a;for(var c=Array((b+1)*2),d=0;d<=b;d++)if(0==d)c[0]=a[0],c[1]=a[1];else if(d==b)c[2*d]=a[a.length-2],c[2*d+1]=a[a.length-1];else{var e=d/b;this._setCurvePoint(a,e,c,2*d)}return c}},{key:"_setCurvePoint",value:function(a,b,c,d){if(a.length<=2)c[d]=a[0],c[d+1]=a[1];else{for(var e=Array(a.length-2),f=0;f<e.length;f+=2){var g=(1-b)*a[f]+b*a[f+2],h=(1-b)*a[f+1]+b*a[f+3];e[f]=g,e[f+1]=h}return this._setCurvePoint(e,b,c,d)}}},{key:"endBatch",value:function(){var a=this.gl,b=this.vao,c=this.vertexCount,d=this.instanceCount;if(0!==d){var e,f,g=this.renderTarget.picking?this.pickingProgram:this.program;a.useProgram(g),a.bindVertexArray(b);var h,i=bn(this.buffers);try{for(i.s();!(h=i.n()).done;)h.value.bufferSubData(d)}catch(a){i.e(a)}finally{i.f()}for(var j=this.batchManager.getAtlases(),k=0;k<j.length;k++)j[k].bufferIfNeeded(a);for(var l=0;l<j.length;l++)a.activeTexture(a.TEXTURE0+l),a.bindTexture(a.TEXTURE_2D,j[l].texture),a.uniform1i(g.uTextures[l],l);a.uniform1f(g.uZoom,(f=(e=this.r).pixelRatio,e.cy.zoom()*f)),a.uniformMatrix3fv(g.uPanZoomMatrix,!1,this.panZoomMatrix),a.uniform1i(g.uAtlasSize,this.batchManager.getAtlasSize());var n=ln(this.bgColor,1);a.uniform4fv(g.uBGColor,n),a.drawArraysInstanced(a.TRIANGLES,0,c,d),a.bindVertexArray(null),a.bindTexture(a.TEXTURE_2D,null),this.debug&&this.batchDebugInfo.push({count:d,atlasCount:j.length}),this.startBatch()}}},{key:"getDebugInfo",value:function(){var a=this.atlasManager.getDebugInfo(),b=a.reduce(function(a,b){return a+b.atlasCount},0),c=this.batchDebugInfo,d=c.reduce(function(a,b){return a+b.count},0);return{atlasInfo:a,totalAtlases:b,wrappedCount:this.wrappedCount,simpleCount:this.simpleCount,batchCount:c.length,batchInfo:c,totalInstances:d}}}]),lF={};function lG(a,b){return cH(a._private.rscratch,"labelWrapCachedLines",b)||[]}lF.initWebgl=function(a,b){var c,d,e,f,g,h,i,j,k=this,l=k.data.contexts[k.WEBGL];a.bgColor=b0((c=k.cy.container())&&c.style&&c.style.backgroundColor||"white"),a.webglTexSize=Math.min(a.webglTexSize,l.getParameter(l.MAX_TEXTURE_SIZE)),a.webglTexRows=Math.min(a.webglTexRows,54),a.webglTexRowsNodes=Math.min(a.webglTexRowsNodes,54),a.webglBatchSize=Math.min(a.webglBatchSize,16384),a.webglTexPerBatch=Math.min(a.webglTexPerBatch,l.getParameter(l.MAX_TEXTURE_IMAGE_UNITS)),k.webglDebug=a.webglDebug,k.webglDebugShowAtlases=a.webglDebugShowAtlases,i=l.createFramebuffer(),l.bindFramebuffer(l.FRAMEBUFFER,i),j=l.createTexture(),l.bindTexture(l.TEXTURE_2D,j),l.texParameteri(l.TEXTURE_2D,l.TEXTURE_MIN_FILTER,l.LINEAR),l.texParameteri(l.TEXTURE_2D,l.TEXTURE_WRAP_S,l.CLAMP_TO_EDGE),l.texParameteri(l.TEXTURE_2D,l.TEXTURE_WRAP_T,l.CLAMP_TO_EDGE),l.framebufferTexture2D(l.FRAMEBUFFER,l.COLOR_ATTACHMENT0,l.TEXTURE_2D,j,0),l.bindFramebuffer(l.FRAMEBUFFER,null),i.setFramebufferAttachmentSizes=function(a,b){l.bindTexture(l.TEXTURE_2D,j),l.texImage2D(l.TEXTURE_2D,0,l.RGBA,a,b,0,l.RGBA,l.UNSIGNED_BYTE,null)},k.pickingFrameBuffer=i,k.pickingFrameBuffer.needsDraw=!0,k.drawing=new lE(k,l,a);var n=function(a){return function(b){return k.getTextAngle(b,a)}},o=function(a){return function(b){var c=b.pstyle(a);return c&&c.value}},p=function(a){return function(b){return b.pstyle("".concat(a,"-opacity")).value>0}},q=function(a){return"yes"===a.pstyle("text-events").strValue?2:1},r=function(a){var b=a.position(),c=b.x,d=b.y,e=a.outerWidth(),f=a.outerHeight();return{w:e,h:f,x1:c-e/2,y1:d-f/2}};k.drawing.addAtlasCollection("node",{texRows:a.webglTexRowsNodes}),k.drawing.addAtlasCollection("label",{texRows:a.webglTexRows}),k.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:b.getStyleKey,getBoundingBox:b.getElementBox,drawElement:b.drawElement}),k.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:r,isSimple:lm,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),k.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:r,isVisible:p("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),k.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:r,isVisible:p("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),k.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:q,getKey:lH(b.getLabelKey,null),getBoundingBox:lI(b.getLabelBox,null),drawClipped:!0,drawElement:b.drawLabel,getRotation:n(null),getRotationPoint:b.getLabelRotationPoint,getRotationOffset:b.getLabelRotationOffset,isVisible:o("label")}),k.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:q,getKey:lH(b.getSourceLabelKey,"source"),getBoundingBox:lI(b.getSourceLabelBox,"source"),drawClipped:!0,drawElement:b.drawSourceLabel,getRotation:n("source"),getRotationPoint:b.getSourceLabelRotationPoint,getRotationOffset:b.getSourceLabelRotationOffset,isVisible:o("source-label")}),k.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:q,getKey:lH(b.getTargetLabelKey,"target"),getBoundingBox:lI(b.getTargetLabelBox,"target"),drawClipped:!0,drawElement:b.drawTargetLabel,getRotation:n("target"),getRotationPoint:b.getTargetLabelRotationPoint,getRotationOffset:b.getTargetLabelRotationOffset,isVisible:o("target-label")});var s=cb(function(){console.log("garbage collect flag set"),k.data.gc=!0},1e4);k.onUpdateEleCalcs(function(a,b){var c=!1;b&&b.length>0&&(c|=k.drawing.invalidate(b)),c&&s()}),e=(d=k).render,d.render=function(a){a=a||{};var b,c,f,g,h=d.cy;d.webgl&&(h.zoom()>7.99?((c=(b=d).data.contexts[b.WEBGL]).clear(c.COLOR_BUFFER_BIT|c.DEPTH_BUFFER_BIT),e.call(d,a)):(f=d,(g=function(a){a.save(),a.setTransform(1,0,0,1,0,0),a.clearRect(0,0,f.canvasWidth,f.canvasHeight),a.restore()})(f.data.contexts[f.NODE]),g(f.data.contexts[f.DRAG]),lL(d,a,lC)))},f=d.matchCanvasSize,d.matchCanvasSize=function(a){f.call(d,a),d.pickingFrameBuffer.setFramebufferAttachmentSizes(d.canvasWidth,d.canvasHeight),d.pickingFrameBuffer.needsDraw=!0},d.findNearestElements=function(a,b,c,e){return function(a,b,c){var d,e,f,g=function(a,b,c,d,e){var f=ll(a),g=f.pan,h=f.zoom,i=bp((q=b*h+g.x,r=c*h+g.y,[q,r=Math.round(a.canvasHeight-r)]),2),j=i[0],k=i[1],l=a.data.contexts[a.WEBGL];l.bindFramebuffer(l.FRAMEBUFFER,a.pickingFrameBuffer),a.pickingFrameBuffer.needsDraw&&(l.viewport(0,0,l.canvas.width,l.canvas.height),lL(a,null,lD),a.pickingFrameBuffer.needsDraw=!1);var n=new Uint8Array(144);l.readPixels(j-3,k-3,6,6,l.RGBA,l.UNSIGNED_BYTE,n),l.bindFramebuffer(l.FRAMEBUFFER,null);for(var o=new Set,p=0;p<36;p++){var q,r,s,t=(s=n.slice(4*p,4*p+4))[0]+(s[1]<<8)+(s[2]<<16)+(s[3]<<24)-1;t>=0&&o.add(t)}return o}(a,b,c),h=a.getCachedZSortedEles(),i=bn(g);try{for(i.s();!(f=i.n()).done;){var j=h[f.value];if(!d&&j.isNode()&&(d=j),!e&&j.isEdge()&&(e=j),d&&e)break}}catch(a){i.e(a)}finally{i.f()}return[d,e].filter(Boolean)}(d,a,b)},g=d.invalidateCachedZSortedEles,d.invalidateCachedZSortedEles=function(){g.call(d),d.pickingFrameBuffer.needsDraw=!0},h=d.notify,d.notify=function(a,b){h.call(d,a,b),"viewport"===a||"bounds"===a?d.pickingFrameBuffer.needsDraw=!0:"background"===a&&d.drawing.invalidate(b,{type:"node-body"})}};var lH=function(a,b){return function(c){var d=a(c),e=lG(c,b);return e.length>1?e.map(function(a,b){return"".concat(d,"_").concat(b)}):d}},lI=function(a,b){return function(c,d){var e=a(c);if("string"==typeof d){var f=d.indexOf("_");if(f>0){var g=Number(d.substring(f+1)),h=lG(c,b),i=e.h/h.length,j=i*g,k=e.y1+j;return{x1:e.x1,w:e.w,y1:k,h:i,yOffset:j}}}return e}};function lJ(a,b){var c=a.canvasWidth,d=a.canvasHeight,e=ll(a),f=e.pan,g=e.zoom;b.setTransform(1,0,0,1,0,0),b.clearRect(0,0,c,d),b.translate(f.x,f.y),b.scale(g,g)}function lK(a,b,c){var d=a.drawing;b+=1,c.isNode()?(d.drawNode(c,b,"node-underlay"),d.drawNode(c,b,"node-body"),d.drawTexture(c,b,"label"),d.drawNode(c,b,"node-overlay")):(d.drawEdgeLine(c,b),d.drawEdgeArrow(c,b,"source"),d.drawEdgeArrow(c,b,"target"),d.drawTexture(c,b,"label"),d.drawTexture(c,b,"edge-source-label"),d.drawTexture(c,b,"edge-target-label"))}function lL(a,b,c){a.webglDebug&&(U=performance.now());var d=a.drawing,e=0;if(c.screen&&a.data.canvasNeedsRedraw[a.SELECT_BOX]&&a.drawSelectionRectangle(b,function(b){return lJ(a,b)}),a.data.canvasNeedsRedraw[a.NODE]||c.picking){var f,g,h,i,j,k,l,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L=a.data.contexts[a.WEBGL];c.screen?(L.clearColor(0,0,0,0),L.enable(L.BLEND),L.blendFunc(L.ONE,L.ONE_MINUS_SRC_ALPHA)):L.disable(L.BLEND),L.clear(L.COLOR_BUFFER_BIT|L.DEPTH_BUFFER_BIT),L.viewport(0,0,L.canvas.width,L.canvas.height);var M=(f=a.canvasWidth,g=a.canvasHeight,i=(h=ll(a)).pan,j=h.zoom,lv(k=lt(),k,[i.x,i.y]),lx(k,k,[j,j]),n=l=lt(),n[0]=2/f,n[1]=0,n[2]=0,n[3]=0,n[4]=-2/g,n[5]=0,n[6]=-1,n[7]=1,n[8]=1,p=o=lt(),q=l[0],r=l[1],s=l[2],t=l[3],u=l[4],v=l[5],w=l[6],x=l[7],y=l[8],z=k[0],A=k[1],B=k[2],C=k[3],D=k[4],E=k[5],F=k[6],G=k[7],H=k[8],p[0]=z*q+A*t+B*w,p[1]=z*r+A*u+B*x,p[2]=z*s+A*v+B*y,p[3]=C*q+D*t+E*w,p[4]=C*r+D*u+E*x,p[5]=C*s+D*v+E*y,p[6]=F*q+G*t+H*w,p[7]=F*r+G*u+H*x,p[8]=F*s+G*v+H*y,o),N=a.getCachedZSortedEles();if(e=N.length,d.startFrame(M,c),c.screen){for(var O=0;O<N.nondrag.length;O++)lK(a,O,N.nondrag[O]);for(var P=0;P<N.drag.length;P++)lK(a,P,N.drag[P])}else if(c.picking)for(var Q=0;Q<N.length;Q++)lK(a,Q,N[Q]);d.endFrame(),c.screen&&a.webglDebugShowAtlases&&((I=a.data.contexts[a.NODE]).save(),lJ(a,I),I.strokeStyle="rgba(0, 0, 0, 0.3)",I.beginPath(),I.moveTo(-1e3,0),I.lineTo(1e3,0),I.stroke(),I.beginPath(),I.moveTo(0,-1e3),I.lineTo(0,1e3),I.stroke(),I.restore(),K=0,(J=function(b,c,d){for(var e=b.atlasManager.getAtlasCollection(c),f=a.data.contexts[a.NODE],g=e.atlases,h=0;h<g.length;h++){var i=g[h].canvas;if(i){var j=i.width,k=i.height,l=j*h,n=i.height*d;f.save(),f.scale(.4,.4),f.drawImage(i,l,n),f.strokeStyle="black",f.rect(l,n,j,k),f.stroke(),f.restore()}}})(a.drawing,"node",K++),J(a.drawing,"label",K++)),a.data.canvasNeedsRedraw[a.NODE]=!1,a.data.canvasNeedsRedraw[a.DRAG]=!1}if(a.webglDebug){var R=Math.ceil(performance.now()-U),S=d.getDebugInfo(),T=["".concat(e," elements"),"".concat(S.totalInstances," instances"),"".concat(S.batchCount," batches"),"".concat(S.totalAtlases," atlases"),"".concat(S.wrappedCount," wrapped textures"),"".concat(S.simpleCount," simple shapes")].join(", ");console.log("WebGL (".concat(c.name,") - frame time ").concat(R,"ms")),console.log("Totals:"),console.log(" ".concat(T)),console.log("Texture Atlases Used:");var U,V,W=bn(S.atlasInfo);try{for(W.s();!(V=W.n()).done;){var X=V.value;console.log(" ".concat(X.type,": ").concat(X.keyCount," keys, ").concat(X.atlasCount," atlases"))}}catch(a){W.e(a)}finally{W.f()}console.log("")}a.data.gc&&(console.log("Garbage Collect!"),a.data.gc=!1,d.gc())}var lM={};lM.drawPolygonPath=function(a,b,c,d,e,f){var g=d/2,h=e/2;a.beginPath&&a.beginPath(),a.moveTo(b+g*f[0],c+h*f[1]);for(var i=1;i<f.length/2;i++)a.lineTo(b+g*f[2*i],c+h*f[2*i+1]);a.closePath()},lM.drawRoundPolygonPath=function(a,b,c,d,e,f,g){g.forEach(function(b){return kt(a,b)}),a.closePath()},lM.drawRoundRectanglePath=function(a,b,c,d,e,f){var g=d/2,h=e/2,i="auto"===f?dQ(d,e):Math.min(f,h,g);a.beginPath&&a.beginPath(),a.moveTo(b,c-h),a.arcTo(b+g,c-h,b+g,c,i),a.arcTo(b+g,c+h,b,c+h,i),a.arcTo(b-g,c+h,b-g,c,i),a.arcTo(b-g,c-h,b,c-h,i),a.lineTo(b,c-h),a.closePath()},lM.drawBottomRoundRectanglePath=function(a,b,c,d,e,f){var g=d/2,h=e/2,i="auto"===f?dQ(d,e):f;a.beginPath&&a.beginPath(),a.moveTo(b,c-h),a.lineTo(b+g,c-h),a.lineTo(b+g,c),a.arcTo(b+g,c+h,b,c+h,i),a.arcTo(b-g,c+h,b-g,c,i),a.lineTo(b-g,c-h),a.lineTo(b,c-h),a.closePath()},lM.drawCutRectanglePath=function(a,b,c,d,e,f,g){var h=d/2,i=e/2,j="auto"===g?dS():g;a.beginPath&&a.beginPath(),a.moveTo(b-h+j,c-i),a.lineTo(b+h-j,c-i),a.lineTo(b+h,c-i+j),a.lineTo(b+h,c+i-j),a.lineTo(b+h-j,c+i),a.lineTo(b-h+j,c+i),a.lineTo(b-h,c+i-j),a.lineTo(b-h,c-i+j),a.closePath()},lM.drawBarrelPath=function(a,b,c,d,e){var f=d/2,g=e/2,h=b-f,i=b+f,j=c-g,k=c+g,l=dT(d,e),n=l.widthOffset,o=l.heightOffset,p=l.ctrlPtOffsetPct*n;a.beginPath&&a.beginPath(),a.moveTo(h,j+o),a.lineTo(h,k-o),a.quadraticCurveTo(h+p,k,h+n,k),a.lineTo(i-n,k),a.quadraticCurveTo(i-p,k,i,k-o),a.lineTo(i,j+o),a.quadraticCurveTo(i-p,j,i-n,j),a.lineTo(h+n,j),a.quadraticCurveTo(h+p,j,h,j+o),a.closePath()};for(var lN={},lO={},lP=Math.PI/40,lQ=0*Math.PI;lQ<2*Math.PI;lQ+=lP)lN[lQ]=Math.sin(lQ),lO[lQ]=Math.cos(lQ);lM.drawEllipsePath=function(a,b,c,d,e){if(a.beginPath&&a.beginPath(),a.ellipse)a.ellipse(b,c,d/2,e/2,0,0,2*Math.PI);else for(var f,g,h=d/2,i=e/2,j=0*Math.PI;j<2*Math.PI;j+=lP)f=b-h*lN[j]*0+h*lO[j]*1,g=c+i*lO[j]*0+i*lN[j]*1,0===j?a.moveTo(f,g):a.lineTo(f,g);a.closePath()};var lR={};function lS(a){var b=a.indexOf(",");return a.substr(b+1)}function lT(a,b,c){var d=function(){return b.toDataURL(c,a.quality)};switch(a.output){case"blob-promise":return new eZ(function(d,e){try{b.toBlob(function(a){null!=a?d(a):e(Error("`canvas.toBlob()` sent a null value in its callback"))},c,a.quality)}catch(a){e(a)}});case"blob":return function(a,b){for(var c=atob(a),d=new ArrayBuffer(c.length),e=new Uint8Array(d),f=0;f<c.length;f++)e[f]=c.charCodeAt(f);return new Blob([d],{type:b})}(lS(d()),c);case"base64":return lS(d());default:return d()}}lR.createBuffer=function(a,b){var c=document.createElement("canvas");return c.width=a,c.height=b,[c,c.getContext("2d")]},lR.bufferCanvasImage=function(a){var b=this.cy,c=b.mutableElements().boundingBox(),d=this.findContainerClientCoords(),e=a.full?Math.ceil(c.w):d[2],f=a.full?Math.ceil(c.h):d[3],g=bD(a.maxWidth)||bD(a.maxHeight),h=this.getPixelRatio(),i=1;if(void 0!==a.scale)e*=a.scale,f*=a.scale,i=a.scale;else if(g){var j=1/0,k=1/0;bD(a.maxWidth)&&(j=i*a.maxWidth/e),bD(a.maxHeight)&&(k=i*a.maxHeight/f),e*=i=Math.min(j,k),f*=i}g||(e*=h,f*=h,i*=h);var l=document.createElement("canvas");l.width=e,l.height=f,l.style.width=e+"px",l.style.height=f+"px";var n=l.getContext("2d");if(e>0&&f>0){n.clearRect(0,0,e,f),n.globalCompositeOperation="source-over";var o=this.getCachedZSortedEles();if(a.full)n.translate(-c.x1*i,-c.y1*i),n.scale(i,i),this.drawElements(n,o),n.scale(1/i,1/i),n.translate(c.x1*i,c.y1*i);else{var p=b.pan(),q={x:p.x*i,y:p.y*i};i*=b.zoom(),n.translate(q.x,q.y),n.scale(i,i),this.drawElements(n,o),n.scale(1/i,1/i),n.translate(-q.x,-q.y)}a.bg&&(n.globalCompositeOperation="destination-over",n.fillStyle=a.bg,n.rect(0,0,e,f),n.fill())}return l},lR.png=function(a){return lT(a,this.bufferCanvasImage(a),"image/png")},lR.jpg=function(a){return lT(a,this.bufferCanvasImage(a),"image/jpeg")};var lU={};lU.nodeShapeImpl=function(a,b,c,d,e,f,g,h){switch(a){case"ellipse":return this.drawEllipsePath(b,c,d,e,f);case"polygon":return this.drawPolygonPath(b,c,d,e,f,g);case"round-polygon":return this.drawRoundPolygonPath(b,c,d,e,f,g,h);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(b,c,d,e,f,h);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(b,c,d,e,f,g,h);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(b,c,d,e,f,h);case"barrel":return this.drawBarrelPath(b,c,d,e,f)}};var lV=lW.prototype;function lW(a){var b=this,c=b.cy.window().document;a.webgl&&(lV.CANVAS_LAYERS=b.CANVAS_LAYERS=4,console.log("webgl rendering enabled")),b.data={canvases:Array(lV.CANVAS_LAYERS),contexts:Array(lV.CANVAS_LAYERS),canvasNeedsRedraw:Array(lV.CANVAS_LAYERS),bufferCanvases:Array(lV.BUFFER_COUNT),bufferContexts:Array(lV.CANVAS_LAYERS)};var d="-webkit-tap-highlight-color",e="rgba(0,0,0,0)";b.data.canvasContainer=c.createElement("div");var f=b.data.canvasContainer.style;b.data.canvasContainer.style[d]=e,f.position="relative",f.zIndex="0",f.overflow="hidden";var g=a.cy.container();g.appendChild(b.data.canvasContainer),g.style[d]=e;for(var h={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"},i=0;i<lV.CANVAS_LAYERS;i++){var j=b.data.canvases[i]=c.createElement("canvas"),k=lV.CANVAS_TYPES[i];b.data.contexts[i]=j.getContext(k),b.data.contexts[i]||cw("Could not create canvas of type "+k),Object.keys(h).forEach(function(a){j.style[a]=h[a]}),j.style.position="absolute",j.setAttribute("data-id","layer"+i),j.style.zIndex=String(lV.CANVAS_LAYERS-i),b.data.canvasContainer.appendChild(j),b.data.canvasNeedsRedraw[i]=!1}b.data.topCanvas=b.data.canvases[0],b.data.canvases[lV.NODE].setAttribute("data-id","layer"+lV.NODE+"-node"),b.data.canvases[lV.SELECT_BOX].setAttribute("data-id","layer"+lV.SELECT_BOX+"-selectbox"),b.data.canvases[lV.DRAG].setAttribute("data-id","layer"+lV.DRAG+"-drag"),b.data.canvases[lV.WEBGL]&&b.data.canvases[lV.WEBGL].setAttribute("data-id","layer"+lV.WEBGL+"-webgl");for(var i=0;i<lV.BUFFER_COUNT;i++)b.data.bufferCanvases[i]=c.createElement("canvas"),b.data.bufferContexts[i]=b.data.bufferCanvases[i].getContext("2d"),b.data.bufferCanvases[i].style.position="absolute",b.data.bufferCanvases[i].setAttribute("data-id","buffer"+i),b.data.bufferCanvases[i].style.zIndex=String(-i-1),b.data.bufferCanvases[i].style.visibility="hidden";b.pathsEnabled=!0;var l=df(),n=function(a){return{x:-a.w/2,y:-a.h/2}},o=function(a){return a[0]._private.nodeKey},p=function(a){return a[0]._private.labelStyleKey},q=function(a){return a[0]._private.sourceLabelStyleKey},r=function(a){return a[0]._private.targetLabelStyleKey},s=function(a,c,d,e,f){return b.drawElement(a,c,d,!1,!1,f)},t=function(a,c,d,e,f){return b.drawElementText(a,c,d,e,"main",f)},u=function(a,c,d,e,f){return b.drawElementText(a,c,d,e,"source",f)},v=function(a,c,d,e,f){return b.drawElementText(a,c,d,e,"target",f)},w=function(a){return a.boundingBox(),a[0]._private.bodyBounds},x=function(a){return a.boundingBox(),a[0]._private.labelBounds.main||l},y=function(a){return a.boundingBox(),a[0]._private.labelBounds.source||l},z=function(a){return a.boundingBox(),a[0]._private.labelBounds.target||l},A=function(a,b){return b},B=function(a){var b;return{x:((b=w(a)).x1+b.x2)/2,y:(b.y1+b.y2)/2}},C=function(a,b,c){var d=a?a+"-":"";return{x:b.x+c.pstyle(d+"text-margin-x").pfValue,y:b.y+c.pstyle(d+"text-margin-y").pfValue}},D=function(a,b,c){var d=a[0]._private.rscratch;return{x:d[b],y:d[c]}},E=function(a){return C("",D(a,"labelX","labelY"),a)},F=function(a){return C("source",D(a,"sourceLabelX","sourceLabelY"),a)},G=function(a){return C("target",D(a,"targetLabelX","targetLabelY"),a)},H=function(a){return n(w(a))},I=function(a){return n(y(a))},J=function(a){return n(z(a))},K=function(a){var b=x(a),c=n(x(a));if(a.isNode()){switch(a.pstyle("text-halign").value){case"left":c.x=-b.w-(b.leftPad||0);break;case"right":c.x=-(b.rightPad||0)}switch(a.pstyle("text-valign").value){case"top":c.y=-b.h-(b.topPad||0);break;case"bottom":c.y=-(b.botPad||0)}}return c},L=b.data.eleTxrCache=new kV(b,{getKey:o,doesEleInvalidateKey:function(a){var b=a[0]._private;return b.oldBackgroundTimestamp!==b.backgroundTimestamp},drawElement:s,getBoundingBox:w,getRotationPoint:B,getRotationOffset:H,allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),M=b.data.lblTxrCache=new kV(b,{getKey:p,drawElement:t,getBoundingBox:x,getRotationPoint:E,getRotationOffset:K,isVisible:A}),N=b.data.slbTxrCache=new kV(b,{getKey:q,drawElement:u,getBoundingBox:y,getRotationPoint:F,getRotationOffset:I,isVisible:A}),O=b.data.tlbTxrCache=new kV(b,{getKey:r,drawElement:v,getBoundingBox:z,getRotationPoint:G,getRotationOffset:J,isVisible:A}),P=b.data.lyrTxrCache=new kX(b);b.onUpdateEleCalcs(function(a,b){L.invalidateElements(b),M.invalidateElements(b),N.invalidateElements(b),O.invalidateElements(b),P.invalidateElements(b);for(var c=0;c<b.length;c++){var d=b[c]._private;d.oldBackgroundTimestamp=d.backgroundTimestamp}});var Q=function(a){for(var b=0;b<a.length;b++)P.enqueueElementRefinement(a[b].ele)};L.onDequeue(Q),M.onDequeue(Q),N.onDequeue(Q),O.onDequeue(Q),a.webgl&&b.initWebgl(a,{getStyleKey:o,getLabelKey:p,getSourceLabelKey:q,getTargetLabelKey:r,drawElement:s,drawLabel:t,drawSourceLabel:u,drawTargetLabel:v,getElementBox:w,getLabelBox:x,getSourceLabelBox:y,getTargetLabelBox:z,getElementRotationPoint:B,getElementRotationOffset:H,getLabelRotationPoint:E,getSourceLabelRotationPoint:F,getTargetLabelRotationPoint:G,getLabelRotationOffset:K,getSourceLabelRotationOffset:I,getTargetLabelRotationOffset:J})}lV.CANVAS_LAYERS=3,lV.SELECT_BOX=0,lV.DRAG=1,lV.NODE=2,lV.WEBGL=3,lV.CANVAS_TYPES=["2d","2d","2d","webgl2"],lV.BUFFER_COUNT=3,lV.TEXTURE_BUFFER=0,lV.MOTIONBLUR_BUFFER_NODE=1,lV.MOTIONBLUR_BUFFER_DRAG=2,lV.redrawHint=function(a,b){switch(a){case"eles":this.data.canvasNeedsRedraw[lV.NODE]=b;break;case"drag":this.data.canvasNeedsRedraw[lV.DRAG]=b;break;case"select":this.data.canvasNeedsRedraw[lV.SELECT_BOX]=b;break;case"gc":this.data.gc=!0}};var lX="undefined"!=typeof Path2D;lV.path2dEnabled=function(a){if(void 0===a)return this.pathsEnabled;this.pathsEnabled=!!a},lV.usePaths=function(){return lX&&this.pathsEnabled},lV.setImgSmoothing=function(a,b){null!=a.imageSmoothingEnabled?a.imageSmoothingEnabled=b:(a.webkitImageSmoothingEnabled=b,a.mozImageSmoothingEnabled=b,a.msImageSmoothingEnabled=b)},lV.getImgSmoothing=function(a){return null!=a.imageSmoothingEnabled?a.imageSmoothingEnabled:a.webkitImageSmoothingEnabled||a.mozImageSmoothingEnabled||a.msImageSmoothingEnabled},lV.makeOffscreenCanvas=function(a,b){var c;return("undefined"==typeof OffscreenCanvas?"undefined":bs(OffscreenCanvas))!=="undefined"?c=new OffscreenCanvas(a,b):((c=this.cy.window().document.createElement("canvas")).width=a,c.height=b),c},[k$,k4,lb,ld,le,lg,li,lF,lM,lR,lU].forEach(function(a){bY(lV,a)});var lY=[{name:"null",impl:hN},{name:"base",impl:kO},{name:"canvas",impl:lW}],lZ={},l$={};function l_(a,b,c){var d=c,e=function(c){cy("Can not register `"+b+"` for `"+a+"` since `"+c+"` already exists in the prototype and can not be overridden")};if("core"===a)if(g8.prototype[b])return e(b);else g8.prototype[b]=c;else if("collection"===a)if(gF.prototype[b])return e(b);else gF.prototype[b]=c;else if("layout"===a){for(var f=function(a){this.options=a,c.call(this,a),bC(this._private)||(this._private={}),this._private.cy=a.cy,this._private.listeners=[],this.createEmitter()},g=f.prototype=Object.create(c.prototype),h=[],i=0;i<h.length;i++){var j=h[i];g[j]=g[j]||function(){return this}}g.start&&!g.run?g.run=function(){return this.start(),this}:!g.start&&g.run&&(g.start=function(){return this.run(),this});var k=c.prototype.stop;g.stop=function(){var a=this.options;if(a&&a.animate){var b=this.animations;if(b)for(var c=0;c<b.length;c++)b[c].stop()}return k?k.call(this):this.emit("layoutstop"),this},g.destroy||(g.destroy=function(){return this}),g.cy=function(){return this._private.cy};var l=function(a){return a._private.cy},n={addEventFields:function(a,b){b.layout=a,b.cy=l(a),b.target=a},bubble:function(){return!0},parent:function(a){return l(a)}};bY(g,{createEmitter:function(){return this._private.emitter=new gb(n,this),this},emitter:function(){return this._private.emitter},on:function(a,b){return this.emitter().on(a,b),this},one:function(a,b){return this.emitter().one(a,b),this},once:function(a,b){return this.emitter().one(a,b),this},removeListener:function(a,b){return this.emitter().removeListener(a,b),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},emit:function(a,b){return this.emitter().emit(a,b),this}}),fe.eventAliasesOn(g),d=f}else if("renderer"===a&&"null"!==b&&"base"!==b){var o=l0("renderer","base"),p=o.prototype,q=c.prototype,r=function(){o.apply(this,arguments),c.apply(this,arguments)},s=r.prototype;for(var t in p){var u=p[t];if(null!=q[t])return e(t);s[t]=u}for(var v in q)s[v]=q[v];p.clientFunctions.forEach(function(a){s[a]=s[a]||function(){cw("Renderer does not implement `renderer."+a+"()` on its prototype")}}),d=r}else if("__proto__"===a||"constructor"===a||"prototype"===a)return cw(a+" is an illegal type to be registered, possibly lead to prototype pollutions");return b2({map:lZ,keys:[a,b],value:d})}function l0(a,b){return b3({map:lZ,keys:[a,b]})}function l1(a,b,c,d,e){return b2({map:l$,keys:[a,b,c,d],value:e})}function l2(a,b,c,d){return b3({map:l$,keys:[a,b,c,d]})}var l3=function(){return 2==arguments.length?l0.apply(null,arguments):3==arguments.length?l_.apply(null,arguments):4==arguments.length?l2.apply(null,arguments):5==arguments.length?l1.apply(null,arguments):void cw("Invalid extension access syntax")};g8.prototype.extension=l3,[{type:"layout",extensions:hM},{type:"renderer",extensions:lY}].forEach(function(a){a.extensions.forEach(function(b){l_(a.type,b.name,b.impl)})});var l4=function(){if(!(this instanceof l4))return new l4;this.length=0},l5=l4.prototype;l5.instanceString=function(){return"stylesheet"},l5.selector=function(a){return this[this.length++]={selector:a,properties:[]},this},l5.css=function(a,b){var c=this.length-1;if(bz(a))this[c].properties.push({name:a,value:b});else if(bC(a))for(var d=Object.keys(a),e=0;e<d.length;e++){var f=d[e],g=a[f];if(null!=g){var h=g4.properties[f]||g4.properties[bO(f)];if(null!=h){var i=h.name;this[c].properties.push({name:i,value:g})}}}return this},l5.style=l5.css,l5.generateStyle=function(a){var b=new g4(a);return this.appendToStyle(b)},l5.appendToStyle=function(a){for(var b=0;b<this.length;b++){var c=this[b],d=c.selector,e=c.properties;a.selector(d);for(var f=0;f<e.length;f++){var g=e[f];a.css(g.name,g.value)}}return a};var l6=function(a){return(void 0===a&&(a={}),bC(a))?new g8(a):bz(a)?l3.apply(l3,arguments):void 0};l6.use=function(a){var b=Array.prototype.slice.call(arguments,1);return b.unshift(l6),a.apply(null,b),this},l6.warnings=function(a){return cx(a)},l6.version="3.33.1",l6.stylesheet=l6.Stylesheet=l4;var l7=a.i(29502);function l8({data:a,height:b=600,showLabels:c=!0,onNodeClick:d,onNodeHover:e,nodeColorFn:f,nodeSizeFn:g,linkColorFn:h,linkWidthFn:i,maxNodes:j}){let k,[l,n]=(0,F.useState)(null),o=(0,F.useRef)(null),p=(0,F.useRef)(!1),q=(0,F.useRef)(""),[r,s]=(0,F.useState)(null),[t,u]=(0,F.useState)(null),[v,w]=(0,F.useState)(null),[x,y]=(0,F.useState)(!0),[z,A]=(0,F.useState)(!1),[B,D]=(0,F.useState)(!1),E=function(){let[a,b]=(0,F.useState)(!1);return(0,F.useEffect)(()=>{let a=()=>{b(document.documentElement.classList.contains("dark"))};a();let c=new MutationObserver(a);return c.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>c.disconnect()},[]),a}(),G=(0,F.useRef)(d),H=(0,F.useRef)(e),I=(0,F.useRef)(a),J=(0,F.useRef)(f),K=(0,F.useRef)(h),L=(0,F.useRef)(B);G.current=d,H.current=e,I.current=a,J.current=f,K.current=h,L.current=B;let M=(0,F.useMemo)(()=>{let b=[...a.nodes];j&&b.length>j&&(b=b.slice(0,j));let c=new Set(b.map(a=>a.id));return{nodes:b,links:a.links.filter(a=>c.has(a.source)&&c.has(a.target))}},[a,j]);(0,F.useEffect)(()=>(A(!0),()=>A(!1)),[]);let N=(0,F.useMemo)(()=>{let a=new Map;return M.links.forEach(b=>{a.set(b.source,(a.get(b.source)||0)+1),a.set(b.target,(a.get(b.target)||0)+1)}),[...M.nodes.map(b=>{let c=a.get(b.id)||0,d=g?g(b):Math.max(16,Math.min(40,16+4*c));return{data:{id:b.id,label:b.label||b.id.substring(0,8),color:f?f(b):b.color||"#0074d9",size:b.size||d,originalNode:b,connections:c}}}),...M.links.map((a,b)=>({data:{id:`edge-${b}`,source:a.source,target:a.target,color:h?h(a):a.color||"#0074d9",width:i?i(a):a.width||1,type:a.type,entity:a.entity,weight:a.weight,originalLink:a}}))]},[M,f,g,h,i]),O=(0,F.useMemo)(()=>JSON.stringify({nodeCount:M.nodes.length,linkCount:M.links.length,nodeIds:M.nodes.map(a=>a.id).sort().join(","),showLabels:c,isDarkMode:E,maxNodes:j}),[M.nodes,M.links,c,E,j]);return(0,F.useEffect)(()=>{let a=!1,b=setTimeout(()=>{if(a||!z||!l||p.current)return;if(q.current===O)return void console.log("Data signature unchanged, skipping graph initialization");let b=l.getBoundingClientRect();if(0===b.width||0===b.height){console.warn("Container has no dimensions, skipping cytoscape initialization"),y(!1);return}if(0===N.length)return void y(!1);if(o.current&&!o.current.destroyed()){let a=o.current.nodes().length,b=o.current.edges().length,c=N.filter(a=>!a.data.source).length,d=N.filter(a=>a.data.source).length;if(a===c&&b===d){console.log("Graph already initialized with same data, skipping reinitialization"),y(!1);return}console.log("Data changed, destroying existing graph"),o.current.destroy(),o.current=null}y(!0),p.current=!0;let d=E?"#ffffff":"#1f2937",e=E?"rgba(0,0,0,0.8)":"rgba(255,255,255,0.9)";try{console.log("Initializing cytoscape with container:",l),console.log("Elements count:",N.length),console.log("Sample elements:",N.slice(0,2));let a=l6({container:l,elements:[],selectionType:"single",userZoomingEnabled:!0,userPanningEnabled:!0,boxSelectionEnabled:!1,layout:{name:"preset"},style:[{selector:"node",style:{"background-color":"data(color)",width:"data(size)",height:"data(size)",label:c?"data(label)":"",color:d,"text-valign":"bottom","text-halign":"center","font-size":"8px","font-weight":500,"text-margin-y":3,"text-wrap":"wrap","text-max-width":"80px","text-background-color":e,"text-background-opacity":.9,"text-background-padding":"2px","text-background-shape":"roundrectangle","border-width":1,"border-color":E?"#ffffff20":"#00000020","border-opacity":.3}},{selector:"node:selected",style:{"border-width":3,"border-color":"#0074d9","border-opacity":1}},{selector:"edge",style:{width:"data(width)","line-color":"data(color)","target-arrow-color":"data(color)","target-arrow-shape":"triangle","target-arrow-size":6,"curve-style":"bezier",opacity:E?.6:.7}},{selector:".dimmed",style:{opacity:.2}},{selector:".focused",style:{"border-width":4,"border-color":"#ff6b35","border-opacity":1,"z-index":999}},{selector:".connected",style:{"border-width":2,"border-color":"#0074d9","border-opacity":.8,opacity:1}},{selector:"edge.connection",style:{width:2,opacity:1,"z-index":100}},{selector:"edge.connection:hover",style:{width:3,opacity:1,"z-index":200}},{selector:"edge:selected",style:{"overlay-opacity":0,"overlay-color":"transparent","overlay-padding":0}}]});o.current=a,console.log("Cytoscape initialized successfully"),N.length>0&&(console.log("Adding elements to cytoscape"),a.add(N),a.layout({name:"fcose",quality:"default",randomize:!1,animate:!0,animationDuration:1500,nodeSeparation:200,idealEdgeLength:()=>250,edgeElasticity:()=>.05,nestingFactor:.05,gravity:.05,numIter:2500,nodeOverlap:30,avoidOverlap:!0,nodeDimensionsIncludeLabels:!0,padding:20,boundingBox:void 0,tile:!0,tilingPaddingVertical:30,tilingPaddingHorizontal:30,uniformNodeDimensions:!1,packComponents:!1}).run(),a.fit()),a.on("tap","node",a=>{let b=a.target.data("originalNode");G.current&&b&&G.current(b)}),a.on("mouseover","node",a=>{let b=a.target.data("originalNode");s(b),H.current&&b&&H.current(b),l&&(l.style.cursor="pointer")}),a.on("mouseout","node",()=>{s(null),H.current&&H.current(null),l&&(l.style.cursor="default")}),a.on("mouseover","edge",a=>{let b=a.target;if(!L.current||!b.hasClass("connection"))return;let c=b.data("originalLink");if(c){u(c);let a=b.renderedMidpoint();w({x:a.x,y:a.y})}}),a.on("mouseout","edge",a=>{let b=a.target;L.current&&b.hasClass("connection")&&(u(null),w(null))}),a.on("select","edge",a=>{a.target.unselect()}),a.on("dblclick","node",b=>{let c=b.target,d=c.id();console.log("Double-clicked node:",d),D(!0),a.elements().removeClass("dimmed focused connected connection");let e=c.neighborhood(),f=e.nodes(),g=e.edges();a.elements().addClass("dimmed"),c.removeClass("dimmed").addClass("focused"),f.removeClass("dimmed").addClass("connected"),g.removeClass("dimmed").addClass("connection");let h=c.union(e);a.animate({fit:{eles:h,padding:100},center:{eles:c}},{duration:800,easing:"ease-out-cubic"})}),a.on("tap",b=>{b.target===a&&(console.log("Clicked background - resetting focus"),D(!1),a.elements().removeClass("dimmed focused connected connection"),a.animate({fit:{eles:a.elements(),padding:50}},{duration:600,easing:"ease-out"}))}),y(!1),p.current=!1,q.current=O}catch(a){console.error("Error initializing cytoscape:",a),y(!1),p.current=!1}},100);return()=>{a=!0,clearTimeout(b),p.current=!1,o.current&&(o.current.destroy(),o.current=null)}},[O,z,l]),(0,F.useEffect)(()=>{let a=()=>{o.current&&(o.current.resize(),o.current.fit(void 0,80))};return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),(0,C.jsxs)("div",{className:"relative w-full rounded-lg overflow-hidden border border-border",style:{height:b},children:[x&&(0,C.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-background z-10",children:(0,C.jsxs)("div",{className:"text-center",children:[(0,C.jsx)("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),(0,C.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading graph..."})]})}),z&&(0,C.jsx)("div",{ref:n,className:"w-full h-full",style:{backgroundImage:E?"radial-gradient(circle at 1px 1px, rgba(255,255,255,0.08) 1px, transparent 0)":"radial-gradient(circle at 1px 1px, rgba(0,0,0,0.06) 1px, transparent 0)",backgroundSize:"20px 20px",backgroundColor:E?"#0f1419":"#f8fafc"}}),!x&&0===M.nodes.length&&(0,C.jsx)("div",{className:"absolute inset-0 flex items-center justify-center",children:(0,C.jsx)("div",{className:"text-center",children:(0,C.jsx)("p",{className:"text-muted-foreground",children:"No memories to display"})})}),t&&v&&(0,C.jsx)("div",{className:"absolute z-30 pointer-events-none",style:{left:v.x,top:v.y,transform:"translate(-50%, -100%) translateY(-8px)"},children:(0,C.jsxs)("div",{className:`px-3 py-2 rounded-lg shadow-lg text-sm ${E?"bg-gray-800 text-white":"bg-white text-gray-900 border border-gray-200"}`,children:[(0,C.jsx)("div",{className:"font-medium capitalize mb-1",children:["causes","caused_by","enables","prevents"].includes(k=t.type||"semantic")?`Causal (${k.replace("_"," ")})`:`${k} link`}),t.entity&&(0,C.jsxs)("div",{className:"text-xs opacity-80",children:["Entity: ",(0,C.jsx)("span",{className:"font-medium",children:t.entity})]}),void 0!==t.weight&&(0,C.jsxs)("div",{className:"text-xs opacity-80",children:["Weight: ",(0,C.jsx)("span",{className:"font-medium",children:t.weight.toFixed(3)})]})]})}),(0,C.jsx)("div",{className:"absolute bottom-4 right-4 text-xs text-muted-foreground/60 z-20",children:"Drag to pan • Scroll to zoom • Double-click node to focus • Click background to reset"})]})}function l9({factType:a}){let b,c,d,e,{currentBank:f}=(0,G.useBank)(),[g,h]=(0,F.useState)("graph"),[i,j]=(0,F.useState)(null),[k,l]=(0,F.useState)(!1),[n,o]=(0,F.useState)(""),[p,q]=(0,F.useState)(null),[r,s]=(0,F.useState)(1),[t,u]=(0,F.useState)(null),[v,w]=(0,F.useState)(null),[x,y]=(0,F.useState)(1e3),[z,A]=(0,F.useState)(!0),[B,D]=(0,F.useState)(void 0),[E,H]=(0,F.useState)(!0),[I,J]=(0,F.useState)(new Set(["semantic","temporal","entity","causal"])),K=a=>{J(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})};(0,F.useEffect)(()=>{let a=a=>{"Escape"===a.key&&t&&u(null)};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[t]);let L=async a=>{try{await navigator.clipboard.writeText(a),q(a),setTimeout(()=>q(null),2e3)}catch(a){console.error("Failed to copy:",a)}},M=async b=>{if(f){l(!0);try{let c=await T.client.getGraph({bank_id:f,type:a,limit:b??x});j(c)}catch(b){console.error("Error loading data:",b),alert(`Error loading ${a} data: `+b.message)}finally{l(!1)}}},P=(0,F.useMemo)(()=>{if(!i?.table_rows)return[];if(!n)return i.table_rows;let a=n.toLowerCase();return i.table_rows.filter(b=>b.text?.toLowerCase().includes(a))},[i,n]),Q=(0,F.useMemo)(()=>new Set(P.map(a=>a.id)),[P]),R=(0,F.useMemo)(()=>{if(!i)return{nodes:[],links:[]};let a={nodes:(i.nodes||[]).map(a=>{let b=i.table_rows?.find(b=>b.id===a.data.id),c=a.data.label;return!c&&b?.text&&(c=b.text.length>40?b.text.substring(0,40)+"...":b.text),c||(c=a.data.id.substring(0,8)),{id:a.data.id,label:c,color:a.data.color,metadata:b}}),links:(i.edges||[]).map(a=>({source:a.data.source,target:a.data.target,color:a.data.color,type:a.data.linkType||("dashed"===a.data.lineStyle?"temporal":"semantic"),entity:a.data.entityName,weight:a.data.weight??a.data.similarity}))},b=a.nodes,c=a.links;if(n){let d=a.nodes.filter(a=>Q.has(a.id)),e=new Set(d.map(a=>a.id));b=d,c=a.links.filter(a=>e.has(a.source)&&e.has(a.target))}return{nodes:b,links:c=c.filter(a=>{var b;let c=(b=a.type)?"semantic"===b||"temporal"===b||"entity"===b?b:["causes","caused_by","enables","prevents"].includes(b)?"causal":"semantic":"semantic";return I.has(c)})}},[i,n,Q,I]),S=(0,F.useMemo)(()=>{let a=0,b=0,c=0,d=0,e=0,f={};return R.links.forEach(g=>{e++;let h=g.type||"unknown";"semantic"===h?a++:"temporal"===h?b++:"entity"===h?c++:"causes"===h||"caused_by"===h||"enables"===h||"prevents"===h?d++:f[h]=(f[h]||0)+1}),{semantic:a,temporal:b,entity:c,causal:d,total:e,otherTypes:f}},[R]),Y=(0,F.useCallback)(a=>{let b=i?.table_rows?.find(b=>b.id===a.id);b&&u(b)},[i]),Z=(0,F.useCallback)(a=>a.color||"#0074d9",[]),$=(0,F.useCallback)(a=>"temporal"===a.type?"#009296":"entity"===a.type?"#f59e0b":"causes"===a.type||"caused_by"===a.type||"enables"===a.type||"prevents"===a.type?"#8b5cf6":"#0074d9",[]);return(0,F.useEffect)(()=>{s(1)},[n]),(0,F.useEffect)(()=>{f&&M()},[a,f]),(0,F.useEffect)(()=>{i&&void 0===B&&(R.nodes.length>50?D(20):R.nodes.length>20&&D(20))},[i,R.nodes.length,B]),(0,C.jsx)("div",{children:k?(0,C.jsx)("div",{className:"flex items-center justify-center py-20",children:(0,C.jsxs)("div",{className:"text-center",children:[(0,C.jsx)("div",{className:"text-4xl mb-2",children:"⏳"}),(0,C.jsx)("div",{className:"text-sm text-muted-foreground",children:"Loading memories..."})]})}):i?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("div",{className:"mb-4",children:(0,C.jsx)(V.Input,{type:"text",value:n,onChange:a=>o(a.target.value),placeholder:"Filter memories by text...",className:"max-w-md"})}),(0,C.jsxs)("div",{className:"flex items-center justify-between mb-6",children:[(0,C.jsx)("div",{className:"text-sm text-muted-foreground",children:n?`${P.length} of ${i.table_rows?.length??0} loaded memories`:i.table_rows?.length<i.total_units?(0,C.jsxs)("span",{children:["Showing ",i.table_rows?.length??0," of ",i.total_units," total memories",(0,C.jsx)("button",{onClick:()=>{let a=Math.min(i.total_units,x+1e3);y(a),M(a)},className:"ml-2 text-primary hover:underline",children:"Load more"})]}):`${i.total_units} total memories`}),(0,C.jsxs)("div",{className:"flex items-center gap-2 bg-muted rounded-lg p-1",children:[(0,C.jsx)("button",{onClick:()=>h("graph"),className:`px-4 py-2 rounded-md text-sm font-medium transition-all ${"graph"===g?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,children:"Graph View"}),(0,C.jsx)("button",{onClick:()=>h("table"),className:`px-4 py-2 rounded-md text-sm font-medium transition-all ${"table"===g?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,children:"Table View"}),(0,C.jsx)("button",{onClick:()=>h("timeline"),className:`px-4 py-2 rounded-md text-sm font-medium transition-all ${"timeline"===g?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,children:"Timeline View"})]})]}),"graph"===g&&(0,C.jsxs)("div",{className:"flex gap-0",children:[(0,C.jsx)("div",{className:"flex-1 min-w-0",children:(0,C.jsx)(l8,{data:R,height:700,showLabels:z,onNodeClick:Y,maxNodes:B,nodeColorFn:Z,linkColorFn:$})}),(0,C.jsx)("button",{onClick:()=>H(!E),className:"flex-shrink-0 w-5 h-[700px] bg-transparent hover:bg-muted/50 flex items-center justify-center transition-colors",title:E?"Hide panel":"Show panel",children:E?(0,C.jsx)(O,{className:"w-3 h-3 text-muted-foreground/60"}):(0,C.jsx)(N,{className:"w-3 h-3 text-muted-foreground/60"})}),(0,C.jsx)("div",{className:`${E?"w-80":"w-0"} transition-all duration-300 overflow-hidden flex-shrink-0`,children:(0,C.jsx)("div",{className:"w-80 h-[700px] bg-card border-l border-border overflow-y-auto",children:t?(0,C.jsx)(bj,{memory:t,onClose:()=>u(null),inPanel:!0,bankId:f||void 0}):(0,C.jsxs)("div",{className:"p-4 space-y-5",children:[(0,C.jsxs)("div",{children:[(0,C.jsx)("h3",{className:"text-sm font-semibold mb-3 text-foreground",children:"Graph"}),(0,C.jsxs)("div",{className:"space-y-2",children:[(0,C.jsxs)("div",{className:"flex items-center justify-between text-sm",children:[(0,C.jsxs)("div",{className:"flex items-center gap-2",children:[(0,C.jsx)("div",{className:"w-3 h-3 rounded-full",style:{backgroundColor:"#0074d9"}}),(0,C.jsx)("span",{className:"text-foreground",children:"Nodes"})]}),(0,C.jsxs)("span",{className:"font-mono text-foreground",children:[Math.min(B??R.nodes.length,R.nodes.length),"/",R.nodes.length]})]}),(0,C.jsxs)("div",{className:"text-xs font-medium text-muted-foreground mt-2 mb-1",children:["Links (",S.total,")"," ",(0,C.jsx)("span",{className:"text-muted-foreground/60",children:"· click to filter"})]}),(0,C.jsxs)("button",{onClick:()=>K("semantic"),className:`w-full flex items-center justify-between text-sm px-2 py-1 rounded transition-all ${I.has("semantic")?"hover:bg-muted":"opacity-40 hover:opacity-60"}`,children:[(0,C.jsxs)("div",{className:"flex items-center gap-2",children:[(0,C.jsx)("div",{className:"w-4 h-0.5 bg-[#0074d9]"}),(0,C.jsx)("span",{className:"text-foreground",children:"Semantic"})]}),(0,C.jsx)("span",{className:`font-mono ${0===S.semantic?"text-destructive":"text-foreground"}`,children:S.semantic})]}),(0,C.jsxs)("button",{onClick:()=>K("temporal"),className:`w-full flex items-center justify-between text-sm px-2 py-1 rounded transition-all ${I.has("temporal")?"hover:bg-muted":"opacity-40 hover:opacity-60"}`,children:[(0,C.jsxs)("div",{className:"flex items-center gap-2",children:[(0,C.jsx)("div",{className:"w-4 h-0.5 bg-[#009296]"}),(0,C.jsx)("span",{className:"text-foreground",children:"Temporal"})]}),(0,C.jsx)("span",{className:`font-mono ${0===S.temporal?"text-destructive":"text-foreground"}`,children:S.temporal})]}),(0,C.jsxs)("button",{onClick:()=>K("entity"),className:`w-full flex items-center justify-between text-sm px-2 py-1 rounded transition-all ${I.has("entity")?"hover:bg-muted":"opacity-40 hover:opacity-60"}`,children:[(0,C.jsxs)("div",{className:"flex items-center gap-2",children:[(0,C.jsx)("div",{className:"w-4 h-0.5 bg-[#f59e0b]"}),(0,C.jsx)("span",{className:"text-foreground",children:"Entity"})]}),(0,C.jsx)("span",{className:"font-mono text-foreground",children:S.entity})]}),(0,C.jsxs)("button",{onClick:()=>K("causal"),className:`w-full flex items-center justify-between text-sm px-2 py-1 rounded transition-all ${I.has("causal")?"hover:bg-muted":"opacity-40 hover:opacity-60"}`,children:[(0,C.jsxs)("div",{className:"flex items-center gap-2",children:[(0,C.jsx)("div",{className:"w-4 h-0.5 bg-[#8b5cf6]"}),(0,C.jsx)("span",{className:"text-foreground",children:"Causal"})]}),(0,C.jsx)("span",{className:`font-mono ${0===S.causal?"text-muted-foreground":"text-foreground"}`,children:S.causal})]}),Object.entries(S.otherTypes||{}).map(([a,b])=>(0,C.jsxs)("div",{className:"flex items-center justify-between text-sm",children:[(0,C.jsx)("span",{className:"text-muted-foreground capitalize ml-6",children:a}),(0,C.jsx)("span",{className:"font-mono text-muted-foreground",children:b})]},a))]})]}),(0,C.jsx)("div",{className:"border-t border-border"}),(0,C.jsxs)("div",{children:[(0,C.jsx)("h3",{className:"text-sm font-semibold mb-3 text-foreground",children:"Display"}),(0,C.jsx)("div",{className:"space-y-4",children:(0,C.jsxs)("div",{className:"flex items-center justify-between",children:[(0,C.jsx)(am,{htmlFor:"show-labels",className:"text-sm text-foreground",children:"Show labels"}),(0,C.jsx)(be,{id:"show-labels",checked:z,onCheckedChange:A})]})})]}),(0,C.jsx)("div",{className:"border-t border-border"}),(0,C.jsxs)("div",{children:[(0,C.jsx)("h3",{className:"text-sm font-semibold mb-3 text-foreground",children:"Performance"}),(0,C.jsxs)("div",{className:"space-y-4",children:[(0,C.jsxs)("div",{children:[(0,C.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,C.jsx)(am,{className:"text-sm text-foreground",children:"Max nodes"}),(0,C.jsx)("span",{className:"text-xs text-muted-foreground",children:R.nodes.length>50?`${B??50} / ${R.nodes.length}`:`${B??"All"} / ${R.nodes.length}`})]}),(0,C.jsx)(a3,{value:[R.nodes.length>50?B||20:B||Math.min(R.nodes.length,20)],min:10,max:Math.min(Math.max(R.nodes.length,10),50),step:10,onValueChange:([a])=>{let b=Math.min(R.nodes.length,50);R.nodes.length>50?D(a):D(a>=b?void 0:a)},className:"w-full"})]}),(0,C.jsxs)("p",{className:"text-xs text-muted-foreground",children:["All links between visible nodes are shown.",R.nodes.length>50&&(0,C.jsxs)("span",{className:"block text-amber-600 dark:text-amber-400 mt-1",children:["⚠️ Limited to 50 nodes for performance. Total:"," ",R.nodes.length]})]})]})]}),(0,C.jsx)("div",{className:"border-t border-border"}),(0,C.jsx)("div",{className:"text-xs text-muted-foreground/60 text-center pt-2",children:"Click a node to see details"})]})})})]}),"table"===g&&(0,C.jsxs)("div",{children:[(0,C.jsx)("div",{className:"w-full",children:(0,C.jsx)("div",{className:"pb-4",children:P.length>0?(b=Math.ceil(P.length/100),d=(c=(r-1)*100)+100,e=P.slice(c,d),(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("div",{className:"border rounded-lg overflow-hidden",children:(0,C.jsxs)(ab,{className:"table-fixed",children:[(0,C.jsx)(ac,{children:(0,C.jsxs)(ae,{className:"bg-muted/50",children:[(0,C.jsx)(af,{className:"w-[45%]",children:"Memory"}),(0,C.jsx)(af,{className:"w-[20%]",children:"Entities"}),(0,C.jsx)(af,{className:"w-[15%]",children:"Occurred"}),(0,C.jsx)(af,{className:"w-[15%]",children:"Mentioned"}),(0,C.jsx)(af,{className:"w-[5%]"})]})}),(0,C.jsx)(ad,{children:e.map((a,b)=>{let c=a.occurred_start?new Date(a.occurred_start).toLocaleDateString("en-US",{month:"short",day:"numeric"}):null,d=a.mentioned_at?new Date(a.mentioned_at).toLocaleDateString("en-US",{month:"short",day:"numeric"}):null;return(0,C.jsxs)(ae,{onClick:()=>w(a),className:`cursor-pointer hover:bg-muted/50 ${v?.id===a.id?"bg-primary/10":""}`,children:[(0,C.jsxs)(ag,{className:"py-2",children:[(0,C.jsx)("div",{className:"line-clamp-2 text-sm leading-snug text-foreground",children:a.text}),a.context&&(0,C.jsx)("div",{className:"text-xs text-muted-foreground mt-0.5 truncate",children:a.context})]}),(0,C.jsx)(ag,{className:"py-2",children:a.entities?(0,C.jsxs)("div",{className:"flex gap-1 flex-wrap",children:[a.entities.split(", ").slice(0,2).map((a,b)=>(0,C.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded-full bg-primary/10 text-primary font-medium",children:a},b)),a.entities.split(", ").length>2&&(0,C.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:["+",a.entities.split(", ").length-2]})]}):(0,C.jsx)("span",{className:"text-xs text-muted-foreground",children:"-"})}),(0,C.jsx)(ag,{className:"text-xs py-2 text-foreground",children:c||(0,C.jsx)("span",{className:"text-muted-foreground",children:"-"})}),(0,C.jsx)(ag,{className:"text-xs py-2 text-foreground",children:d||(0,C.jsx)("span",{className:"text-muted-foreground",children:"-"})}),(0,C.jsx)(ag,{className:"py-2",children:(0,C.jsx)(U.Button,{onClick:b=>{b.stopPropagation(),L(a.id)},size:"sm",variant:"secondary",className:"h-6 w-6 p-0",title:"Copy ID",children:p===a.id?(0,C.jsx)(X.Check,{className:"h-3 w-3 text-green-600"}):(0,C.jsx)(W,{className:"h-3 w-3"})})})]},a.id||b)})})]})}),b>1&&(0,C.jsxs)("div",{className:"flex items-center justify-between mt-3 pt-3 border-t",children:[(0,C.jsxs)("div",{className:"text-xs text-muted-foreground",children:[c+1,"-",Math.min(d,P.length)," of"," ",P.length]}),(0,C.jsxs)("div",{className:"flex items-center gap-1",children:[(0,C.jsx)(U.Button,{variant:"outline",size:"sm",onClick:()=>s(1),disabled:1===r,className:"h-7 w-7 p-0",children:(0,C.jsx)(_,{className:"h-3 w-3"})}),(0,C.jsx)(U.Button,{variant:"outline",size:"sm",onClick:()=>s(a=>Math.max(1,a-1)),disabled:1===r,className:"h-7 w-7 p-0",children:(0,C.jsx)(N,{className:"h-3 w-3"})}),(0,C.jsxs)("span",{className:"text-xs px-2",children:[r," / ",b]}),(0,C.jsx)(U.Button,{variant:"outline",size:"sm",onClick:()=>s(a=>Math.min(b,a+1)),disabled:r===b,className:"h-7 w-7 p-0",children:(0,C.jsx)(O,{className:"h-3 w-3"})}),(0,C.jsx)(U.Button,{variant:"outline",size:"sm",onClick:()=>s(b),disabled:r===b,className:"h-7 w-7 p-0",children:(0,C.jsx)(aa,{className:"h-3 w-3"})})]})]})]})):(0,C.jsx)("div",{className:"text-center py-12 text-muted-foreground",children:i.table_rows?.length>0?"No memories match your filter":"No memories found"})})}),v&&(0,C.jsx)("div",{className:"fixed right-0 top-0 h-screen w-[420px] bg-card border-l-2 border-primary shadow-2xl z-50 overflow-y-auto animate-in slide-in-from-right duration-300 ease-out",children:(0,C.jsx)(bj,{memory:v,onClose:()=>w(null),inPanel:!0,bankId:f||void 0})})]}),"timeline"===g&&(0,C.jsx)(ma,{data:i,filteredRows:P,bankId:f||void 0})]}):(0,C.jsx)("div",{className:"flex items-center justify-center py-20",children:(0,C.jsxs)("div",{className:"text-center",children:[(0,C.jsx)("div",{className:"text-4xl mb-2",children:"📊"}),(0,C.jsx)("div",{className:"text-sm text-muted-foreground",children:"No data available"})]})})})}function ma({data:a,filteredRows:b,bankId:c}){let[d,e]=(0,F.useState)(null),[f,g]=(0,F.useState)("month"),[h,i]=(0,F.useState)(0),j=(0,F.useRef)(null),{sortedItems:k,itemsWithoutDates:l}=(0,F.useMemo)(()=>b&&0!==b.length?{sortedItems:b.filter(a=>a.occurred_start).sort((a,b)=>new Date(a.occurred_start).getTime()-new Date(b.occurred_start).getTime()),itemsWithoutDates:b.filter(a=>!a.occurred_start)}:{sortedItems:[],itemsWithoutDates:[]},[b]),n=(0,F.useMemo)(()=>{if(0===k.length)return[];let a={};return k.forEach(b=>{let c=new Date(b.occurred_start),d=(a=>{let b=a.getFullYear(),c=a.getMonth(),d=a.getDate();switch(f){case"year":return`${b}`;case"month":return`${b}-${String(c+1).padStart(2,"0")}`;case"week":let e=new Date(a);return e.setDate(d-a.getDay()),`${e.getFullYear()}-W${String(Math.ceil(e.getDate()/7)).padStart(2,"0")}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`;case"day":return`${b}-${String(c+1).padStart(2,"0")}-${String(d).padStart(2,"0")}`}})(c);if(!a[d]){let b=c;if("week"===f){let a=d.split("-");b=new Date(parseInt(a[0]),parseInt(a[2])-1,parseInt(a[3]))}a[d]={items:[],date:b}}a[d].items.push(b)}),Object.entries(a).sort(([a],[b])=>a.localeCompare(b)).map(([a,{items:b,date:c}])=>({key:a,label:((a,b)=>{switch(f){case"year":return a;case"month":return b.toLocaleDateString("en-US",{year:"numeric",month:"short"});case"week":let c=new Date(b);return c.setDate(b.getDate()+6),`${b.toLocaleDateString("en-US",{month:"short",day:"numeric"})} - ${c.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}`;case"day":return b.toLocaleDateString("en-US",{weekday:"short",month:"short",day:"numeric",year:"numeric"})}})(a,c),items:b,date:c}))},[k,f]),o=(0,F.useMemo)(()=>0===k.length?null:{first:new Date(k[0].occurred_start),last:new Date(k[k.length-1].occurred_start)},[k]),p=a=>{let b=Math.max(0,Math.min(a,n.length-1));i(b);let c=document.getElementById(`timeline-group-${b}`);c?.scrollIntoView({behavior:"smooth",block:"start"})};if(0===k.length)return(0,C.jsxs)("div",{className:"flex flex-col items-center justify-center py-12",children:[(0,C.jsx)(Y,{className:"w-12 h-12 text-muted-foreground mb-3"}),(0,C.jsx)("div",{className:"text-base font-medium text-foreground mb-1",children:"No Timeline Data"}),(0,C.jsxs)("div",{className:"text-xs text-muted-foreground text-center max-w-md",children:["No memories have occurred_at dates.",l.length>0&&(0,C.jsxs)("span",{className:"block mt-1",children:[l.length," memories without dates in Table View."]})]})]});let q=a=>{let b=new Date(a);return{date:b.toLocaleDateString("en-US",{month:"short",day:"numeric"}),time:b.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1})}};return(0,C.jsxs)("div",{className:"px-4",children:[(0,C.jsxs)("div",{children:[(0,C.jsxs)("div",{className:"flex items-center justify-between mb-3 gap-4",children:[(0,C.jsxs)("div",{className:"text-xs text-muted-foreground",children:[k.length," memories",l.length>0&&` \xb7 ${l.length} without dates`,o&&(0,C.jsxs)("span",{className:"ml-2 text-foreground",children:["(",o.first.toLocaleDateString("en-US",{month:"short",year:"numeric"})," ","→ ",o.last.toLocaleDateString("en-US",{month:"short",year:"numeric"}),")"]})]}),(0,C.jsxs)("div",{className:"flex items-center gap-1",children:[(0,C.jsxs)("div",{className:"flex items-center border border-border rounded mr-2",children:[(0,C.jsx)(U.Button,{variant:"secondary",size:"sm",onClick:()=>{let a=["year","month","week","day"],b=a.indexOf(f);b>0&&g(a[b-1])},disabled:"year"===f,className:"h-7 w-7 p-0",title:"Zoom out",children:(0,C.jsx)($,{className:"h-3 w-3"})}),(0,C.jsx)("span",{className:"text-[10px] px-2 min-w-[50px] text-center border-x border-border text-foreground",children:{year:"Year",month:"Month",week:"Week",day:"Day"}[f]}),(0,C.jsx)(U.Button,{variant:"secondary",size:"sm",onClick:()=>{let a=["year","month","week","day"],b=a.indexOf(f);b<a.length-1&&g(a[b+1])},disabled:"day"===f,className:"h-7 w-7 p-0",title:"Zoom in",children:(0,C.jsx)(Z,{className:"h-3 w-3"})})]}),(0,C.jsxs)("div",{className:"flex items-center border border-border rounded",children:[(0,C.jsx)(U.Button,{variant:"secondary",size:"sm",onClick:()=>p(0),disabled:n.length<=1,className:"h-7 w-7 p-0",title:"First",children:(0,C.jsx)(_,{className:"h-3 w-3"})}),(0,C.jsx)(U.Button,{variant:"secondary",size:"sm",onClick:()=>p(h-1),disabled:0===h,className:"h-7 w-7 p-0",title:"Previous",children:(0,C.jsx)(N,{className:"h-3 w-3"})}),(0,C.jsxs)("span",{className:"text-[10px] px-2 min-w-[60px] text-center border-x border-border text-foreground",children:[h+1," / ",n.length]}),(0,C.jsx)(U.Button,{variant:"secondary",size:"sm",onClick:()=>p(h+1),disabled:h>=n.length-1,className:"h-7 w-7 p-0",title:"Next",children:(0,C.jsx)(O,{className:"h-3 w-3"})}),(0,C.jsx)(U.Button,{variant:"secondary",size:"sm",onClick:()=>p(n.length-1),disabled:n.length<=1,className:"h-7 w-7 p-0",title:"Last",children:(0,C.jsx)(aa,{className:"h-3 w-3"})})]})]})]}),(0,C.jsxs)("div",{ref:j,className:"relative max-h-[550px] overflow-y-auto pr-2",children:[(0,C.jsx)("div",{className:"absolute left-[60px] top-0 bottom-0 w-0.5 bg-border"}),n.map((a,b)=>(0,C.jsxs)("div",{id:`timeline-group-${b}`,className:"mb-4",children:[(0,C.jsxs)("div",{className:"flex items-center mb-2 cursor-pointer hover:opacity-80",onClick:()=>i(b),children:[(0,C.jsx)("div",{className:"w-[60px] text-right pr-3",children:(0,C.jsx)("span",{className:"text-xs font-semibold text-primary",children:a.label})}),(0,C.jsx)("div",{className:"w-2 h-2 rounded-full bg-primary z-10"}),(0,C.jsxs)("span",{className:"ml-2 text-[10px] text-muted-foreground",children:[a.items.length," ",1===a.items.length?"item":"items"]})]}),(0,C.jsx)("div",{className:"space-y-1",children:a.items.map((a,b)=>(0,C.jsxs)("div",{onClick:()=>e(a),className:`flex items-start cursor-pointer group ${d?.id===a.id?"opacity-100":"hover:opacity-80"}`,children:[(0,C.jsxs)("div",{className:"w-[60px] text-right pr-3 pt-1 flex-shrink-0",children:[(0,C.jsx)("div",{className:"text-[10px] text-muted-foreground",children:q(a.occurred_start).date}),(0,C.jsx)("div",{className:"text-[9px] text-muted-foreground/70",children:q(a.occurred_start).time})]}),(0,C.jsx)("div",{className:"flex-shrink-0 pt-2",children:(0,C.jsx)("div",{className:`w-1.5 h-1.5 rounded-full z-10 ${d?.id===a.id?"bg-primary":"bg-muted-foreground/50 group-hover:bg-primary"}`})}),(0,C.jsxs)("div",{className:`ml-3 flex-1 p-2 rounded border transition-colors ${d?.id===a.id?"bg-primary/10 border-primary":"bg-card border-border hover:border-primary/50"}`,children:[(0,C.jsx)("p",{className:"text-xs text-foreground line-clamp-2 leading-relaxed",children:a.text}),a.context&&(0,C.jsx)("p",{className:"text-[10px] text-muted-foreground mt-1 truncate",children:a.context}),a.entities&&(0,C.jsxs)("div",{className:"flex gap-1 mt-1 flex-wrap",children:[a.entities.split(", ").slice(0,3).map((a,b)=>(0,C.jsx)("span",{className:"text-[9px] px-1.5 py-0.5 rounded-full bg-primary/10 text-primary font-medium",children:a},b)),a.entities.split(", ").length>3&&(0,C.jsxs)("span",{className:"text-[9px] text-muted-foreground",children:["+",a.entities.split(", ").length-3]})]})]})]},a.id||b))})]},a.key))]})]}),d&&(0,C.jsx)("div",{className:"fixed right-0 top-0 h-screen w-[420px] bg-card border-l-2 border-primary shadow-2xl z-50 overflow-y-auto animate-in slide-in-from-right duration-300 ease-out",children:(0,C.jsx)(bj,{memory:d,onClose:()=>e(null),inPanel:!0,bankId:c})})]})}l6.use(l7.default);var mb=a.i(97942),mc=Symbol("radix.slottable"),md="AlertDialog",[me,mf]=(0,aq.createContextScope)(md,[mb.createDialogScope]),mg=(0,mb.createDialogScope)(),mh=a=>{let{__scopeAlertDialog:b,...c}=a,d=mg(b);return(0,C.jsx)(mb.Root,{...d,...c,modal:!0})};mh.displayName=md,F.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,e=mg(c);return(0,C.jsx)(mb.Trigger,{...e,...d,ref:b})}).displayName="AlertDialogTrigger";var mi=a=>{let{__scopeAlertDialog:b,...c}=a,d=mg(b);return(0,C.jsx)(mb.Portal,{...d,...c})};mi.displayName="AlertDialogPortal";var mj=F.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,e=mg(c);return(0,C.jsx)(mb.Overlay,{...e,...d,ref:b})});mj.displayName="AlertDialogOverlay";var mk="AlertDialogContent",[ml,mm]=me(mk),mn=((b=({children:a})=>(0,C.jsx)(C.Fragment,{children:a})).displayName="AlertDialogContent.Slottable",b.__radixId=mc,b),mo=F.forwardRef((a,b)=>{let{__scopeAlertDialog:c,children:d,...e}=a,f=mg(c),g=F.useRef(null),h=(0,ap.useComposedRefs)(b,g),i=F.useRef(null);return(0,C.jsx)(mb.WarningProvider,{contentName:mk,titleName:mp,docsSlug:"alert-dialog",children:(0,C.jsx)(ml,{scope:c,cancelRef:i,children:(0,C.jsxs)(mb.Content,{role:"alertdialog",...f,...e,ref:h,onOpenAutoFocus:(0,ao.composeEventHandlers)(e.onOpenAutoFocus,a=>{a.preventDefault(),i.current?.focus({preventScroll:!0})}),onPointerDownOutside:a=>a.preventDefault(),onInteractOutside:a=>a.preventDefault(),children:[(0,C.jsx)(mn,{children:d}),(0,C.jsx)(mw,{contentRef:g})]})})})});mo.displayName=mk;var mp="AlertDialogTitle",mq=F.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,e=mg(c);return(0,C.jsx)(mb.Title,{...e,...d,ref:b})});mq.displayName=mp;var mr="AlertDialogDescription",ms=F.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,e=mg(c);return(0,C.jsx)(mb.Description,{...e,...d,ref:b})});ms.displayName=mr;var mt=F.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,e=mg(c);return(0,C.jsx)(mb.Close,{...e,...d,ref:b})});mt.displayName="AlertDialogAction";var mu="AlertDialogCancel",mv=F.forwardRef((a,b)=>{let{__scopeAlertDialog:c,...d}=a,{cancelRef:e}=mm(mu,c),f=mg(c),g=(0,ap.useComposedRefs)(b,e);return(0,C.jsx)(mb.Close,{...f,...d,ref:g})});mv.displayName=mu;var mw=({contentRef:a})=>{let b=`\`${mk}\` requires a description for the component to be accessible for screen reader users.
2
+
3
+ You can add a description to the \`${mk}\` by passing a \`${mr}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
4
+
5
+ Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${mk}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
6
+
7
+ For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return F.useEffect(()=>{document.getElementById(a.current?.getAttribute("aria-describedby"))||console.warn(b)},[b,a]),null};let mx=F.forwardRef(({className:a,...b},c)=>(0,C.jsx)(mj,{className:(0,Q.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...b,ref:c}));mx.displayName=mj.displayName;let my=F.forwardRef(({className:a,...b},c)=>(0,C.jsxs)(mi,{children:[(0,C.jsx)(mx,{}),(0,C.jsx)(mo,{ref:c,className:(0,Q.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",a),...b})]}));my.displayName=mo.displayName;let mz=({className:a,...b})=>(0,C.jsx)("div",{className:(0,Q.cn)("flex flex-col space-y-2 text-center sm:text-left",a),...b});mz.displayName="AlertDialogHeader";let mA=({className:a,...b})=>(0,C.jsx)("div",{className:(0,Q.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",a),...b});mA.displayName="AlertDialogFooter";let mB=F.forwardRef(({className:a,...b},c)=>(0,C.jsx)(mq,{ref:c,className:(0,Q.cn)("text-lg font-semibold",a),...b}));mB.displayName=mq.displayName;let mC=F.forwardRef(({className:a,...b},c)=>(0,C.jsx)(ms,{ref:c,className:(0,Q.cn)("text-sm text-muted-foreground",a),...b}));mC.displayName=ms.displayName;let mD=F.forwardRef(({className:a,...b},c)=>(0,C.jsx)(mt,{ref:c,className:(0,Q.cn)((0,U.buttonVariants)(),a),...b}));mD.displayName=mt.displayName;let mE=F.forwardRef(({className:a,...b},c)=>(0,C.jsx)(mv,{ref:c,className:(0,Q.cn)((0,U.buttonVariants)({variant:"outline"}),"mt-2 sm:mt-0",a),...b}));mE.displayName=mv.displayName;let mF=(0,I.default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);function mG(){let{currentBank:a}=(0,G.useBank)(),[b,c]=(0,F.useState)([]),[d,e]=(0,F.useState)(!1),[f,g]=(0,F.useState)(""),[h,i]=(0,F.useState)(0),[j,k]=(0,F.useState)(null),[l,n]=(0,F.useState)(!1),[o,p]=(0,F.useState)(null),[q,r]=(0,F.useState)(null),[s,t]=(0,F.useState)(null),u=async()=>{if(a){e(!0);try{let b=await T.client.listDocuments({bank_id:a,q:f,limit:100});c(b.items||[]),i(b.total||0)}catch(a){console.error("Error loading documents:",a),alert("Error loading documents: "+a.message)}finally{e(!1)}}},v=async b=>{if(a){n(!0),k({id:b});try{let c=await T.client.getDocument(b,a);k(c)}catch(a){console.error("Error loading document:",a),alert("Error loading document: "+a.message),k(null)}finally{n(!1)}}},w=async()=>{if(!a||!q)return;let b=q.id;p(b),r(null);try{let c=await T.client.deleteDocument(b,a);t({success:!0,message:`Deleted document and ${c.memory_units_deleted} memory units.`}),j?.id===b&&k(null),u()}catch(a){console.error("Error deleting document:",a),t({success:!1,message:"Error deleting document: "+a.message})}finally{p(null)}};return(0,F.useEffect)(()=>{a&&u()},[a]),(0,C.jsxs)("div",{children:[d?(0,C.jsx)("div",{className:"flex items-center justify-center py-20",children:(0,C.jsxs)("div",{className:"text-center",children:[(0,C.jsx)("div",{className:"text-4xl mb-2",children:"⏳"}),(0,C.jsx)("div",{className:"text-sm text-muted-foreground",children:"Loading documents..."})]})}):b.length>0?(0,C.jsxs)("div",{className:"mb-4 text-sm text-muted-foreground",children:[h," total documents"]}):(0,C.jsx)("div",{className:"flex items-center justify-center py-20",children:(0,C.jsxs)("div",{className:"text-center",children:[(0,C.jsx)("div",{className:"text-4xl mb-2",children:"📄"}),(0,C.jsx)("div",{className:"text-sm text-muted-foreground",children:"No documents found"})]})}),b.length>0&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsxs)("div",{className:"w-full",children:[(0,C.jsx)("div",{className:"px-5 mb-4",children:(0,C.jsx)(V.Input,{type:"text",value:f,onChange:a=>g(a.target.value),placeholder:"Search documents (ID)...",className:"max-w-2xl"})}),(0,C.jsx)("div",{className:"overflow-x-auto px-5 pb-5",children:(0,C.jsxs)(ab,{children:[(0,C.jsx)(ac,{children:(0,C.jsxs)(ae,{children:[(0,C.jsx)(af,{children:"Document ID"}),(0,C.jsx)(af,{children:"Created"}),(0,C.jsx)(af,{children:"Context"}),(0,C.jsx)(af,{children:"Text Length"}),(0,C.jsx)(af,{children:"Memory Units"})]})}),(0,C.jsx)(ad,{children:b.length>0?b.map(a=>(0,C.jsxs)(ae,{className:`cursor-pointer hover:bg-muted/50 ${j?.id===a.id?"bg-primary/10":""}`,onClick:()=>v(a.id),children:[(0,C.jsx)(ag,{title:a.id,className:"text-card-foreground",children:a.id.length>30?a.id.substring(0,30)+"...":a.id}),(0,C.jsx)(ag,{className:"text-card-foreground",children:a.created_at?new Date(a.created_at).toLocaleString():"N/A"}),(0,C.jsx)(ag,{className:"text-card-foreground",children:a.retain_params?.context||"-"}),(0,C.jsxs)(ag,{className:"text-card-foreground",children:[a.text_length?.toLocaleString()," chars"]}),(0,C.jsx)(ag,{className:"text-card-foreground",children:a.memory_unit_count})]},a.id)):(0,C.jsx)(ae,{children:(0,C.jsx)(ag,{colSpan:5,className:"text-center",children:'Click "Load Documents" to view data'})})})]})})]}),j&&(0,C.jsx)("div",{className:"fixed right-0 top-0 h-screen w-[420px] bg-card border-l-2 border-primary shadow-2xl z-50 overflow-y-auto animate-in slide-in-from-right duration-300 ease-out",children:(0,C.jsxs)("div",{className:"p-5",children:[(0,C.jsxs)("div",{className:"flex justify-between items-center mb-6 pb-4 border-b border-border",children:[(0,C.jsxs)("div",{children:[(0,C.jsx)("h3",{className:"text-xl font-bold text-foreground",children:"Document Details"}),(0,C.jsx)("p",{className:"text-sm text-muted-foreground mt-1",children:"Original document text and metadata"})]}),(0,C.jsxs)(U.Button,{variant:"secondary",size:"sm",onClick:()=>k(null),className:"h-9 px-3 gap-2",children:[(0,C.jsx)(bf.X,{className:"h-4 w-4"}),"Close"]})]}),l?(0,C.jsx)("div",{className:"flex items-center justify-center py-20",children:(0,C.jsxs)("div",{className:"text-center",children:[(0,C.jsx)("div",{className:"text-4xl mb-2",children:"⏳"}),(0,C.jsx)("div",{className:"text-sm text-muted-foreground",children:"Loading document..."})]})}):(0,C.jsxs)("div",{className:"space-y-5",children:[(0,C.jsxs)("div",{className:"p-4 bg-muted/50 rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-2",children:"Document ID"}),(0,C.jsx)("div",{className:"text-sm font-mono break-all text-card-foreground",children:j.id})]}),j.created_at&&(0,C.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,C.jsxs)("div",{className:"p-4 bg-muted/50 rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-2",children:"Created"}),(0,C.jsx)("div",{className:"text-sm font-medium text-card-foreground",children:new Date(j.created_at).toLocaleString()})]}),(0,C.jsxs)("div",{className:"p-4 bg-muted/50 rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-2",children:"Memory Units"}),(0,C.jsx)("div",{className:"text-sm font-medium text-card-foreground",children:j.memory_unit_count})]})]}),j.original_text&&(0,C.jsxs)("div",{className:"p-4 bg-muted/50 rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-2",children:"Text Length"}),(0,C.jsxs)("div",{className:"text-sm font-medium text-card-foreground",children:[j.original_text.length.toLocaleString()," characters"]})]}),j.retain_params&&(0,C.jsxs)("div",{className:"p-4 bg-muted/50 rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-2",children:"Retain Parameters"}),(0,C.jsxs)("div",{className:"text-sm space-y-2 text-card-foreground",children:[j.retain_params.context&&(0,C.jsxs)("div",{children:[(0,C.jsx)("span",{className:"font-semibold",children:"Context:"})," ",j.retain_params.context]}),j.retain_params.event_date&&(0,C.jsxs)("div",{children:[(0,C.jsx)("span",{className:"font-semibold",children:"Event Date:"})," ",new Date(j.retain_params.event_date).toLocaleString()]}),j.retain_params.metadata&&(0,C.jsxs)("div",{className:"mt-2",children:[(0,C.jsx)("span",{className:"font-semibold",children:"Metadata:"}),(0,C.jsx)("pre",{className:"mt-1 text-xs bg-background p-2 rounded text-card-foreground",children:JSON.stringify(j.retain_params.metadata,null,2)})]})]})]}),j.tags&&j.tags.length>0&&(0,C.jsxs)("div",{className:"p-4 bg-muted/50 rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-2",children:"Tags"}),(0,C.jsx)("div",{className:"flex flex-wrap gap-2",children:j.tags.map((a,b)=>(0,C.jsx)("span",{className:"text-sm px-3 py-1.5 rounded-full bg-amber-500/10 text-amber-600 dark:text-amber-400 font-medium",children:a},b))})]}),(0,C.jsx)("div",{className:"pt-2 border-t border-border",children:(0,C.jsxs)(U.Button,{variant:"destructive",size:"sm",onClick:()=>{r({id:j.id,memoryCount:j.memory_unit_count})},className:"w-full gap-2",disabled:o===j.id,children:[o===j.id?(0,C.jsx)("span",{className:"animate-spin",children:"⏳"}):(0,C.jsx)(mF,{className:"h-4 w-4"}),"Delete Document"]})}),j.original_text&&(0,C.jsxs)("div",{children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-2",children:"Original Text"}),(0,C.jsx)("div",{className:"p-4 bg-muted/50 rounded-lg border border-border max-h-[400px] overflow-y-auto",children:(0,C.jsx)("pre",{className:"text-sm whitespace-pre-wrap font-mono leading-relaxed text-card-foreground",children:j.original_text})})]})]})]})})]}),(0,C.jsx)(mh,{open:!!q,onOpenChange:a=>!a&&r(null),children:(0,C.jsxs)(my,{children:[(0,C.jsxs)(mz,{children:[(0,C.jsx)(mB,{children:"Delete Document"}),(0,C.jsxs)(mC,{children:["Are you sure you want to delete document"," ",(0,C.jsxs)("span",{className:"font-mono font-semibold",children:['"',q?.id,'"']}),"?",(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),"This will also delete"," ",q?.memoryCount!==void 0?(0,C.jsxs)("span",{className:"font-semibold",children:[q.memoryCount," memory units"]}):"all memory units"," ","extracted from this document.",(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),(0,C.jsx)("span",{className:"text-destructive font-semibold",children:"This action cannot be undone."})]})]}),(0,C.jsxs)(mA,{children:[(0,C.jsx)(mE,{children:"Cancel"}),(0,C.jsx)(mD,{onClick:w,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete"})]})]})}),(0,C.jsx)(mh,{open:!!s,onOpenChange:a=>!a&&t(null),children:(0,C.jsxs)(my,{children:[(0,C.jsxs)(mz,{children:[(0,C.jsx)(mB,{children:s?.success?"Document Deleted":"Error"}),(0,C.jsx)(mC,{children:s?.message})]}),(0,C.jsx)(mA,{children:(0,C.jsx)(mD,{onClick:()=>t(null),children:"OK"})})]})})]})}function mH(){let{currentBank:a}=(0,G.useBank)(),[b,c]=(0,F.useState)([]),[d,e]=(0,F.useState)(!1),[f,g]=(0,F.useState)(null),[h,i]=(0,F.useState)(!1),[j,k]=(0,F.useState)(!1),[l,n]=(0,F.useState)(1),[o,p]=(0,F.useState)(0),q=Math.ceil(o/50),r=(l-1)*50,s=async(b=1)=>{if(a){e(!0);try{let d=await T.client.listEntities({bank_id:a,limit:50,offset:(b-1)*50});c(d.items||[]),p(d.total||0)}catch(a){console.error("Error loading entities:",a),alert("Error loading entities: "+a.message)}finally{e(!1)}}},t=async b=>{if(a){i(!0);try{let c=await T.client.getEntity(b,a);g(c)}catch(a){console.error("Error loading entity detail:",a),alert("Error loading entity detail: "+a.message)}finally{i(!1)}}},u=async()=>{if(a&&f){k(!0);try{await T.client.regenerateEntityObservations(f.id,a),await t(f.id)}catch(a){console.error("Error regenerating observations:",a),alert("Error regenerating observations: "+a.message)}finally{k(!1)}}},v=a=>{n(a),s(a)};(0,F.useEffect)(()=>{a&&(n(1),s(1),g(null))},[a]);let w=a=>a?new Date(a).toLocaleDateString():"N/A";return(0,C.jsxs)("div",{children:[(0,C.jsx)("div",{children:d?(0,C.jsx)("div",{className:"flex items-center justify-center py-20",children:(0,C.jsxs)("div",{className:"text-center",children:[(0,C.jsx)("div",{className:"text-4xl mb-2",children:"..."}),(0,C.jsx)("div",{className:"text-sm text-muted-foreground",children:"Loading entities..."})]})}):b.length>0?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsxs)("div",{className:"mb-4 text-sm text-muted-foreground",children:[o," ",1===o?"entity":"entities"]}),(0,C.jsx)("div",{className:"overflow-x-auto",children:(0,C.jsxs)(ab,{children:[(0,C.jsx)(ac,{children:(0,C.jsxs)(ae,{children:[(0,C.jsx)(af,{children:"Name"}),(0,C.jsx)(af,{children:"Mentions"}),(0,C.jsx)(af,{children:"First Seen"}),(0,C.jsx)(af,{children:"Last Seen"})]})}),(0,C.jsx)(ad,{children:b.map(a=>(0,C.jsxs)(ae,{onClick:()=>t(a.id),className:`cursor-pointer hover:bg-muted/50 ${f?.id===a.id?"bg-primary/10":""}`,children:[(0,C.jsx)(ag,{className:"font-medium text-card-foreground",children:a.canonical_name}),(0,C.jsx)(ag,{className:"text-card-foreground",children:a.mention_count}),(0,C.jsx)(ag,{className:"text-card-foreground",children:w(a.first_seen)}),(0,C.jsx)(ag,{className:"text-card-foreground",children:w(a.last_seen)})]},a.id))})]})}),q>1&&(0,C.jsxs)("div",{className:"flex items-center justify-between mt-3 pt-3 border-t",children:[(0,C.jsxs)("div",{className:"text-xs text-muted-foreground",children:[r+1,"-",Math.min(r+50,o)," of ",o]}),(0,C.jsxs)("div",{className:"flex items-center gap-1",children:[(0,C.jsx)(U.Button,{variant:"outline",size:"sm",onClick:()=>v(1),disabled:1===l||d,className:"h-7 w-7 p-0",children:(0,C.jsx)(_,{className:"h-3 w-3"})}),(0,C.jsx)(U.Button,{variant:"outline",size:"sm",onClick:()=>v(l-1),disabled:1===l||d,className:"h-7 w-7 p-0",children:(0,C.jsx)(N,{className:"h-3 w-3"})}),(0,C.jsxs)("span",{className:"text-xs px-2",children:[l," / ",q]}),(0,C.jsx)(U.Button,{variant:"outline",size:"sm",onClick:()=>v(l+1),disabled:l===q||d,className:"h-7 w-7 p-0",children:(0,C.jsx)(O,{className:"h-3 w-3"})}),(0,C.jsx)(U.Button,{variant:"outline",size:"sm",onClick:()=>v(q),disabled:l===q||d,className:"h-7 w-7 p-0",children:(0,C.jsx)(aa,{className:"h-3 w-3"})})]})]})]}):(0,C.jsx)("div",{className:"flex items-center justify-center py-20",children:(0,C.jsxs)("div",{className:"text-center",children:[(0,C.jsx)("div",{className:"text-4xl mb-2",children:"..."}),(0,C.jsx)("div",{className:"text-sm text-muted-foreground",children:"No entities found"}),(0,C.jsx)("div",{className:"text-xs text-muted-foreground mt-1",children:"Entities are extracted from facts when memories are added."})]})})}),f&&(0,C.jsx)("div",{className:"fixed right-0 top-0 h-screen w-[420px] bg-card border-l-2 border-primary shadow-2xl z-50 overflow-y-auto animate-in slide-in-from-right duration-300 ease-out",children:(0,C.jsxs)("div",{className:"p-5",children:[(0,C.jsxs)("div",{className:"flex justify-between items-center mb-6 pb-4 border-b border-border",children:[(0,C.jsxs)("div",{children:[(0,C.jsx)("h3",{className:"text-xl font-bold text-card-foreground",children:f.canonical_name}),(0,C.jsx)("p",{className:"text-sm text-muted-foreground mt-1",children:"Entity details"})]}),(0,C.jsx)(U.Button,{variant:"ghost",size:"sm",onClick:()=>g(null),className:"h-8 w-8 p-0",children:(0,C.jsx)("span",{className:"text-lg",children:"x"})})]}),(0,C.jsxs)("div",{className:"space-y-5",children:[(0,C.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,C.jsxs)("div",{className:"p-4 bg-muted/50 rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-2",children:"Mentions"}),(0,C.jsx)("div",{className:"text-lg font-semibold text-card-foreground",children:f.mention_count})]}),(0,C.jsxs)("div",{className:"p-4 bg-muted/50 rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-2",children:"First Seen"}),(0,C.jsx)("div",{className:"text-sm font-medium text-card-foreground",children:w(f.first_seen)})]})]}),(0,C.jsxs)("div",{className:"p-4 bg-muted/50 rounded-lg",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase mb-2",children:"Entity ID"}),(0,C.jsx)("code",{className:"text-xs font-mono break-all text-muted-foreground",children:f.id})]}),(0,C.jsxs)("div",{children:[(0,C.jsxs)("div",{className:"flex justify-between items-center mb-3",children:[(0,C.jsx)("div",{className:"text-xs font-bold text-muted-foreground uppercase",children:"Observations"}),(0,C.jsx)(U.Button,{onClick:u,disabled:j,variant:"outline",size:"sm",children:j?"Regenerating...":"Regenerate"})]}),h?(0,C.jsx)("div",{className:"text-muted-foreground text-sm",children:"Loading observations..."}):f.observations&&f.observations.length>0?(0,C.jsx)("ul",{className:"space-y-2",children:f.observations.map((a,b)=>(0,C.jsxs)("li",{className:"p-3 bg-muted/50 rounded-lg",children:[(0,C.jsx)("div",{className:"text-sm text-card-foreground",children:a.text}),a.mentioned_at&&(0,C.jsx)("div",{className:"text-xs text-muted-foreground mt-2",children:w(a.mentioned_at)})]},b))}):(0,C.jsx)("div",{className:"text-muted-foreground text-sm p-4 bg-muted/50 rounded-lg",children:'No observations yet. Click "Regenerate" to generate observations from facts.'})]})]})]})})]})}var mI=a.i(6219),mJ=a.i(96743),mK=a.i(86228),mL=a.i(22297),mM=a.i(92843),mN=a.i(4691),mO=a.i(92616),mP=Symbol("radix.slottable");function mQ(a){return F.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===mP}var mR=a.i(46872),mS=a.i(72752),mT=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"});F.forwardRef((a,b)=>(0,C.jsx)(aw.Primitive.span,{...a,ref:b,style:{...mT,...a.style}})).displayName="VisuallyHidden";var mU=a.i(41852),mV=a.i(52081),mW=[" ","Enter","ArrowUp","ArrowDown"],mX=[" ","Enter"],mY="Select",[mZ,m$,m_]=aA(mY),[m0,m1]=(0,aq.createContextScope)(mY,[m_,mN.createPopperScope]),m2=(0,mN.createPopperScope)(),[m3,m4]=m0(mY),[m5,m6]=m0(mY),m7=a=>{let{__scopeSelect:b,children:c,open:d,defaultOpen:e,onOpenChange:f,value:g,defaultValue:h,onValueChange:i,dir:j,name:k,autoComplete:l,disabled:n,required:o,form:p}=a,q=m2(b),[r,s]=F.useState(null),[t,u]=F.useState(null),[v,w]=F.useState(!1),x=at(j),[y,z]=(0,ar.useControllableState)({prop:d,defaultProp:e??!1,onChange:f,caller:mY}),[A,B]=(0,ar.useControllableState)({prop:g,defaultProp:h,onChange:i,caller:mY}),D=F.useRef(null),E=!r||p||!!r.closest("form"),[G,H]=F.useState(new Set),I=Array.from(G).map(a=>a.props.value).join(";");return(0,C.jsx)(mN.Root,{...q,children:(0,C.jsxs)(m3,{required:o,scope:b,trigger:r,onTriggerChange:s,valueNode:t,onValueNodeChange:u,valueNodeHasChildren:v,onValueNodeHasChildrenChange:w,contentId:(0,mM.useId)(),value:A,onValueChange:B,open:y,onOpenChange:z,dir:x,triggerPointerDownPosRef:D,disabled:n,children:[(0,C.jsx)(mZ.Provider,{scope:b,children:(0,C.jsx)(m5,{scope:a.__scopeSelect,onNativeOptionAdd:F.useCallback(a=>{H(b=>new Set(b).add(a))},[]),onNativeOptionRemove:F.useCallback(a=>{H(b=>{let c=new Set(b);return c.delete(a),c})},[]),children:c})}),E?(0,C.jsxs)(nK,{"aria-hidden":!0,required:o,tabIndex:-1,name:k,autoComplete:l,value:A,onChange:a=>B(a.target.value),disabled:n,form:p,children:[void 0===A?(0,C.jsx)("option",{value:""}):null,Array.from(G)]},I):null]})})};m7.displayName=mY;var m8="SelectTrigger",m9=F.forwardRef((a,b)=>{let{__scopeSelect:c,disabled:d=!1,...e}=a,f=m2(c),g=m4(m8,c),h=g.disabled||d,i=(0,ap.useComposedRefs)(b,g.onTriggerChange),j=m$(c),k=F.useRef("touch"),[l,n,o]=nM(a=>{let b=j().filter(a=>!a.disabled),c=b.find(a=>a.value===g.value),d=nN(b,a,c);void 0!==d&&g.onValueChange(d.value)}),p=a=>{h||(g.onOpenChange(!0),o()),a&&(g.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return(0,C.jsx)(mN.Anchor,{asChild:!0,...f,children:(0,C.jsx)(aw.Primitive.button,{type:"button",role:"combobox","aria-controls":g.contentId,"aria-expanded":g.open,"aria-required":g.required,"aria-autocomplete":"none",dir:g.dir,"data-state":g.open?"open":"closed",disabled:h,"data-disabled":h?"":void 0,"data-placeholder":nL(g.value)?"":void 0,...e,ref:i,onClick:(0,ao.composeEventHandlers)(e.onClick,a=>{a.currentTarget.focus(),"mouse"!==k.current&&p(a)}),onPointerDown:(0,ao.composeEventHandlers)(e.onPointerDown,a=>{k.current=a.pointerType;let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),0===a.button&&!1===a.ctrlKey&&"mouse"===a.pointerType&&(p(a),a.preventDefault())}),onKeyDown:(0,ao.composeEventHandlers)(e.onKeyDown,a=>{let b=""!==l.current;a.ctrlKey||a.altKey||a.metaKey||1!==a.key.length||n(a.key),(!b||" "!==a.key)&&mW.includes(a.key)&&(p(),a.preventDefault())})})})});m9.displayName=m8;var na="SelectValue",nb=F.forwardRef((a,b)=>{let{__scopeSelect:c,className:d,style:e,children:f,placeholder:g="",...h}=a,i=m4(na,c),{onValueNodeHasChildrenChange:j}=i,k=void 0!==f,l=(0,ap.useComposedRefs)(b,i.onValueNodeChange);return(0,mS.useLayoutEffect)(()=>{j(k)},[j,k]),(0,C.jsx)(aw.Primitive.span,{...h,ref:l,style:{pointerEvents:"none"},children:nL(i.value)?(0,C.jsx)(C.Fragment,{children:g}):f})});nb.displayName=na;var nc=F.forwardRef((a,b)=>{let{__scopeSelect:c,children:d,...e}=a;return(0,C.jsx)(aw.Primitive.span,{"aria-hidden":!0,...e,ref:b,children:d||"▼"})});nc.displayName="SelectIcon";var nd=a=>(0,C.jsx)(mO.Portal,{asChild:!0,...a});nd.displayName="SelectPortal";var ne="SelectContent",nf=F.forwardRef((a,b)=>{let c=m4(ne,a.__scopeSelect),[d,e]=F.useState();return((0,mS.useLayoutEffect)(()=>{e(new DocumentFragment)},[]),c.open)?(0,C.jsx)(nj,{...a,ref:b}):d?ah.createPortal((0,C.jsx)(ng,{scope:a.__scopeSelect,children:(0,C.jsx)(mZ.Slot,{scope:a.__scopeSelect,children:(0,C.jsx)("div",{children:a.children})})}),d):null});nf.displayName=ne;var[ng,nh]=m0(ne),ni=((e=F.forwardRef((a,b)=>{let{children:c,...d}=a;if(F.isValidElement(c)){var e;let a,f,g=(e=c,(f=(a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.ref:(f=(a=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.props.ref:e.props.ref||e.ref),h=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(d,c.props);return c.type!==F.Fragment&&(h.ref=b?(0,ap.composeRefs)(b,g):g),F.cloneElement(c,h)}return F.Children.count(c)>1?F.Children.only(null):null})).displayName="SelectContent.RemoveScroll.SlotClone",c=e,(d=F.forwardRef((a,b)=>{let{children:d,...e}=a,f=F.Children.toArray(d),g=f.find(mQ);if(g){let a=g.props.children,d=f.map(b=>b!==g?b:F.Children.count(a)>1?F.Children.only(null):F.isValidElement(a)?a.props.children:null);return(0,C.jsx)(c,{...e,ref:b,children:F.isValidElement(a)?F.cloneElement(a,void 0,d):null})}return(0,C.jsx)(c,{...e,ref:b,children:d})})).displayName="SelectContent.RemoveScroll.Slot",d),nj=F.forwardRef((a,b)=>{let{__scopeSelect:c,position:d="item-aligned",onCloseAutoFocus:e,onEscapeKeyDown:f,onPointerDownOutside:g,side:h,sideOffset:i,align:j,alignOffset:k,arrowPadding:l,collisionBoundary:n,collisionPadding:o,sticky:p,hideWhenDetached:q,avoidCollisions:r,...s}=a,t=m4(ne,c),[u,v]=F.useState(null),[w,x]=F.useState(null),y=(0,ap.useComposedRefs)(b,a=>v(a)),[z,A]=F.useState(null),[B,D]=F.useState(null),E=m$(c),[G,H]=F.useState(!1),I=F.useRef(!1);F.useEffect(()=>{if(u)return(0,mU.hideOthers)(u)},[u]),(0,mK.useFocusGuards)();let J=F.useCallback(a=>{let[b,...c]=E().map(a=>a.ref.current),[d]=c.slice(-1),e=document.activeElement;for(let c of a)if(c===e||(c?.scrollIntoView({block:"nearest"}),c===b&&w&&(w.scrollTop=0),c===d&&w&&(w.scrollTop=w.scrollHeight),c?.focus(),document.activeElement!==e))return},[E,w]),K=F.useCallback(()=>J([z,u]),[J,z,u]);F.useEffect(()=>{G&&K()},[G,K]);let{onOpenChange:L,triggerPointerDownPosRef:M}=t;F.useEffect(()=>{if(u){let a={x:0,y:0},b=b=>{a={x:Math.abs(Math.round(b.pageX)-(M.current?.x??0)),y:Math.abs(Math.round(b.pageY)-(M.current?.y??0))}},c=c=>{a.x<=10&&a.y<=10?c.preventDefault():u.contains(c.target)||L(!1),document.removeEventListener("pointermove",b),M.current=null};return null!==M.current&&(document.addEventListener("pointermove",b),document.addEventListener("pointerup",c,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",c,{capture:!0})}}},[u,L,M]),F.useEffect(()=>{let a=()=>L(!1);return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[L]);let[N,O]=nM(a=>{let b=E().filter(a=>!a.disabled),c=b.find(a=>a.ref.current===document.activeElement),d=nN(b,a,c);d&&setTimeout(()=>d.ref.current.focus())}),P=F.useCallback((a,b,c)=>{let d=!I.current&&!c;(void 0!==t.value&&t.value===b||d)&&(A(a),d&&(I.current=!0))},[t.value]),Q=F.useCallback(()=>u?.focus(),[u]),R=F.useCallback((a,b,c)=>{let d=!I.current&&!c;(void 0!==t.value&&t.value===b||d)&&D(a)},[t.value]),S="popper"===d?nl:nk,T=S===nl?{side:h,sideOffset:i,align:j,alignOffset:k,arrowPadding:l,collisionBoundary:n,collisionPadding:o,sticky:p,hideWhenDetached:q,avoidCollisions:r}:{};return(0,C.jsx)(ng,{scope:c,content:u,viewport:w,onViewportChange:x,itemRefCallback:P,selectedItem:z,onItemLeave:Q,itemTextRefCallback:R,focusSelectedItem:K,selectedItemText:B,position:d,isPositioned:G,searchRef:N,children:(0,C.jsx)(mV.RemoveScroll,{as:ni,allowPinchZoom:!0,children:(0,C.jsx)(mL.FocusScope,{asChild:!0,trapped:t.open,onMountAutoFocus:a=>{a.preventDefault()},onUnmountAutoFocus:(0,ao.composeEventHandlers)(e,a=>{t.trigger?.focus({preventScroll:!0}),a.preventDefault()}),children:(0,C.jsx)(mJ.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:f,onPointerDownOutside:g,onFocusOutside:a=>a.preventDefault(),onDismiss:()=>t.onOpenChange(!1),children:(0,C.jsx)(S,{role:"listbox",id:t.contentId,"data-state":t.open?"open":"closed",dir:t.dir,onContextMenu:a=>a.preventDefault(),...s,...T,onPlaced:()=>H(!0),ref:y,style:{display:"flex",flexDirection:"column",outline:"none",...s.style},onKeyDown:(0,ao.composeEventHandlers)(s.onKeyDown,a=>{let b=a.ctrlKey||a.altKey||a.metaKey;if("Tab"===a.key&&a.preventDefault(),b||1!==a.key.length||O(a.key),["ArrowUp","ArrowDown","Home","End"].includes(a.key)){let b=E().filter(a=>!a.disabled).map(a=>a.ref.current);if(["ArrowUp","End"].includes(a.key)&&(b=b.slice().reverse()),["ArrowUp","ArrowDown"].includes(a.key)){let c=a.target,d=b.indexOf(c);b=b.slice(d+1)}setTimeout(()=>J(b)),a.preventDefault()}})})})})})})});nj.displayName="SelectContentImpl";var nk=F.forwardRef((a,b)=>{let{__scopeSelect:c,onPlaced:d,...e}=a,f=m4(ne,c),g=nh(ne,c),[h,i]=F.useState(null),[j,k]=F.useState(null),l=(0,ap.useComposedRefs)(b,a=>k(a)),n=m$(c),o=F.useRef(!1),p=F.useRef(!0),{viewport:q,selectedItem:r,selectedItemText:s,focusSelectedItem:t}=g,u=F.useCallback(()=>{if(f.trigger&&f.valueNode&&h&&j&&q&&r&&s){let a=f.trigger.getBoundingClientRect(),b=j.getBoundingClientRect(),c=f.valueNode.getBoundingClientRect(),e=s.getBoundingClientRect();if("rtl"!==f.dir){let d=e.left-b.left,f=c.left-d,g=a.left-f,i=a.width+g,j=Math.max(i,b.width),k=an(f,[10,Math.max(10,window.innerWidth-10-j)]);h.style.minWidth=i+"px",h.style.left=k+"px"}else{let d=b.right-e.right,f=window.innerWidth-c.right-d,g=window.innerWidth-a.right-f,i=a.width+g,j=Math.max(i,b.width),k=an(f,[10,Math.max(10,window.innerWidth-10-j)]);h.style.minWidth=i+"px",h.style.right=k+"px"}let g=n(),i=window.innerHeight-20,k=q.scrollHeight,l=window.getComputedStyle(j),p=parseInt(l.borderTopWidth,10),t=parseInt(l.paddingTop,10),u=parseInt(l.borderBottomWidth,10),v=p+t+k+parseInt(l.paddingBottom,10)+u,w=Math.min(5*r.offsetHeight,v),x=window.getComputedStyle(q),y=parseInt(x.paddingTop,10),z=parseInt(x.paddingBottom,10),A=a.top+a.height/2-10,B=r.offsetHeight/2,C=p+t+(r.offsetTop+B);if(C<=A){let a=g.length>0&&r===g[g.length-1].ref.current;h.style.bottom="0px";let b=Math.max(i-A,B+(a?z:0)+(j.clientHeight-q.offsetTop-q.offsetHeight)+u);h.style.height=C+b+"px"}else{let a=g.length>0&&r===g[0].ref.current;h.style.top="0px";let b=Math.max(A,p+q.offsetTop+(a?y:0)+B);h.style.height=b+(v-C)+"px",q.scrollTop=C-A+q.offsetTop}h.style.margin="10px 0",h.style.minHeight=w+"px",h.style.maxHeight=i+"px",d?.(),requestAnimationFrame(()=>o.current=!0)}},[n,f.trigger,f.valueNode,h,j,q,r,s,f.dir,d]);(0,mS.useLayoutEffect)(()=>u(),[u]);let[v,w]=F.useState();(0,mS.useLayoutEffect)(()=>{j&&w(window.getComputedStyle(j).zIndex)},[j]);let x=F.useCallback(a=>{a&&!0===p.current&&(u(),t?.(),p.current=!1)},[u,t]);return(0,C.jsx)(nm,{scope:c,contentWrapper:h,shouldExpandOnScrollRef:o,onScrollButtonChange:x,children:(0,C.jsx)("div",{ref:i,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:v},children:(0,C.jsx)(aw.Primitive.div,{...e,ref:l,style:{boxSizing:"border-box",maxHeight:"100%",...e.style}})})})});nk.displayName="SelectItemAlignedPosition";var nl=F.forwardRef((a,b)=>{let{__scopeSelect:c,align:d="start",collisionPadding:e=10,...f}=a,g=m2(c);return(0,C.jsx)(mN.Content,{...g,...f,ref:b,align:d,collisionPadding:e,style:{boxSizing:"border-box",...f.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});nl.displayName="SelectPopperPosition";var[nm,nn]=m0(ne,{}),no="SelectViewport",np=F.forwardRef((a,b)=>{let{__scopeSelect:c,nonce:d,...e}=a,f=nh(no,c),g=nn(no,c),h=(0,ap.useComposedRefs)(b,f.onViewportChange),i=F.useRef(0);return(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:d}),(0,C.jsx)(mZ.Slot,{scope:c,children:(0,C.jsx)(aw.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...e,ref:h,style:{position:"relative",flex:1,overflow:"hidden auto",...e.style},onScroll:(0,ao.composeEventHandlers)(e.onScroll,a=>{let b=a.currentTarget,{contentWrapper:c,shouldExpandOnScrollRef:d}=g;if(d?.current&&c){let a=Math.abs(i.current-b.scrollTop);if(a>0){let d=window.innerHeight-20,e=Math.max(parseFloat(c.style.minHeight),parseFloat(c.style.height));if(e<d){let f=e+a,g=Math.min(d,f),h=f-g;c.style.height=g+"px","0px"===c.style.bottom&&(b.scrollTop=h>0?h:0,c.style.justifyContent="flex-end")}}}i.current=b.scrollTop})})})]})});np.displayName=no;var nq="SelectGroup",[nr,ns]=m0(nq);F.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=(0,mM.useId)();return(0,C.jsx)(nr,{scope:c,id:e,children:(0,C.jsx)(aw.Primitive.div,{role:"group","aria-labelledby":e,...d,ref:b})})}).displayName=nq;var nt="SelectLabel",nu=F.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=ns(nt,c);return(0,C.jsx)(aw.Primitive.div,{id:e.id,...d,ref:b})});nu.displayName=nt;var nv="SelectItem",[nw,nx]=m0(nv),ny=F.forwardRef((a,b)=>{let{__scopeSelect:c,value:d,disabled:e=!1,textValue:f,...g}=a,h=m4(nv,c),i=nh(nv,c),j=h.value===d,[k,l]=F.useState(f??""),[n,o]=F.useState(!1),p=(0,ap.useComposedRefs)(b,a=>i.itemRefCallback?.(a,d,e)),q=(0,mM.useId)(),r=F.useRef("touch"),s=()=>{e||(h.onValueChange(d),h.onOpenChange(!1))};if(""===d)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,C.jsx)(nw,{scope:c,value:d,disabled:e,textId:q,isSelected:j,onItemTextChange:F.useCallback(a=>{l(b=>b||(a?.textContent??"").trim())},[]),children:(0,C.jsx)(mZ.ItemSlot,{scope:c,value:d,disabled:e,textValue:k,children:(0,C.jsx)(aw.Primitive.div,{role:"option","aria-labelledby":q,"data-highlighted":n?"":void 0,"aria-selected":j&&n,"data-state":j?"checked":"unchecked","aria-disabled":e||void 0,"data-disabled":e?"":void 0,tabIndex:e?void 0:-1,...g,ref:p,onFocus:(0,ao.composeEventHandlers)(g.onFocus,()=>o(!0)),onBlur:(0,ao.composeEventHandlers)(g.onBlur,()=>o(!1)),onClick:(0,ao.composeEventHandlers)(g.onClick,()=>{"mouse"!==r.current&&s()}),onPointerUp:(0,ao.composeEventHandlers)(g.onPointerUp,()=>{"mouse"===r.current&&s()}),onPointerDown:(0,ao.composeEventHandlers)(g.onPointerDown,a=>{r.current=a.pointerType}),onPointerMove:(0,ao.composeEventHandlers)(g.onPointerMove,a=>{r.current=a.pointerType,e?i.onItemLeave?.():"mouse"===r.current&&a.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,ao.composeEventHandlers)(g.onPointerLeave,a=>{a.currentTarget===document.activeElement&&i.onItemLeave?.()}),onKeyDown:(0,ao.composeEventHandlers)(g.onKeyDown,a=>{(i.searchRef?.current===""||" "!==a.key)&&(mX.includes(a.key)&&s()," "===a.key&&a.preventDefault())})})})})});ny.displayName=nv;var nz="SelectItemText",nA=F.forwardRef((a,b)=>{let{__scopeSelect:c,className:d,style:e,...f}=a,g=m4(nz,c),h=nh(nz,c),i=nx(nz,c),j=m6(nz,c),[k,l]=F.useState(null),n=(0,ap.useComposedRefs)(b,a=>l(a),i.onItemTextChange,a=>h.itemTextRefCallback?.(a,i.value,i.disabled)),o=k?.textContent,p=F.useMemo(()=>(0,C.jsx)("option",{value:i.value,disabled:i.disabled,children:o},i.value),[i.disabled,i.value,o]),{onNativeOptionAdd:q,onNativeOptionRemove:r}=j;return(0,mS.useLayoutEffect)(()=>(q(p),()=>r(p)),[q,r,p]),(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(aw.Primitive.span,{id:i.textId,...f,ref:n}),i.isSelected&&g.valueNode&&!g.valueNodeHasChildren?ah.createPortal(f.children,g.valueNode):null]})});nA.displayName=nz;var nB="SelectItemIndicator",nC=F.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a;return nx(nB,c).isSelected?(0,C.jsx)(aw.Primitive.span,{"aria-hidden":!0,...d,ref:b}):null});nC.displayName=nB;var nD="SelectScrollUpButton",nE=F.forwardRef((a,b)=>{let c=nh(nD,a.__scopeSelect),d=nn(nD,a.__scopeSelect),[e,f]=F.useState(!1),g=(0,ap.useComposedRefs)(b,d.onScrollButtonChange);return(0,mS.useLayoutEffect)(()=>{if(c.viewport&&c.isPositioned){let a=function(){f(b.scrollTop>0)},b=c.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[c.viewport,c.isPositioned]),e?(0,C.jsx)(nH,{...a,ref:g,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=c;a&&b&&(a.scrollTop=a.scrollTop-b.offsetHeight)}}):null});nE.displayName=nD;var nF="SelectScrollDownButton",nG=F.forwardRef((a,b)=>{let c=nh(nF,a.__scopeSelect),d=nn(nF,a.__scopeSelect),[e,f]=F.useState(!1),g=(0,ap.useComposedRefs)(b,d.onScrollButtonChange);return(0,mS.useLayoutEffect)(()=>{if(c.viewport&&c.isPositioned){let a=function(){let a=b.scrollHeight-b.clientHeight;f(Math.ceil(b.scrollTop)<a)},b=c.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[c.viewport,c.isPositioned]),e?(0,C.jsx)(nH,{...a,ref:g,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=c;a&&b&&(a.scrollTop=a.scrollTop+b.offsetHeight)}}):null});nG.displayName=nF;var nH=F.forwardRef((a,b)=>{let{__scopeSelect:c,onAutoScroll:d,...e}=a,f=nh("SelectScrollButton",c),g=F.useRef(null),h=m$(c),i=F.useCallback(()=>{null!==g.current&&(window.clearInterval(g.current),g.current=null)},[]);return F.useEffect(()=>()=>i(),[i]),(0,mS.useLayoutEffect)(()=>{let a=h().find(a=>a.ref.current===document.activeElement);a?.ref.current?.scrollIntoView({block:"nearest"})},[h]),(0,C.jsx)(aw.Primitive.div,{"aria-hidden":!0,...e,ref:b,style:{flexShrink:0,...e.style},onPointerDown:(0,ao.composeEventHandlers)(e.onPointerDown,()=>{null===g.current&&(g.current=window.setInterval(d,50))}),onPointerMove:(0,ao.composeEventHandlers)(e.onPointerMove,()=>{f.onItemLeave?.(),null===g.current&&(g.current=window.setInterval(d,50))}),onPointerLeave:(0,ao.composeEventHandlers)(e.onPointerLeave,()=>{i()})})}),nI=F.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a;return(0,C.jsx)(aw.Primitive.div,{"aria-hidden":!0,...d,ref:b})});nI.displayName="SelectSeparator";var nJ="SelectArrow";F.forwardRef((a,b)=>{let{__scopeSelect:c,...d}=a,e=m2(c),f=m4(nJ,c),g=nh(nJ,c);return f.open&&"popper"===g.position?(0,C.jsx)(mN.Arrow,{...e,...d,ref:b}):null}).displayName=nJ;var nK=F.forwardRef(({__scopeSelect:a,value:b,...c},d)=>{let e=F.useRef(null),f=(0,ap.useComposedRefs)(d,e),g=(0,au.usePrevious)(b);return F.useEffect(()=>{let a=e.current;if(!a)return;let c=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(g!==b&&c){let d=new Event("change",{bubbles:!0});c.call(a,b),a.dispatchEvent(d)}},[g,b]),(0,C.jsx)(aw.Primitive.select,{...c,style:{...mT,...c.style},ref:f,defaultValue:b})});function nL(a){return""===a||void 0===a}function nM(a){let b=(0,mR.useCallbackRef)(a),c=F.useRef(""),d=F.useRef(0),e=F.useCallback(a=>{let e=c.current+a;b(e),function a(b){c.current=b,window.clearTimeout(d.current),""!==b&&(d.current=window.setTimeout(()=>a(""),1e3))}(e)},[b]),f=F.useCallback(()=>{c.current="",window.clearTimeout(d.current)},[]);return F.useEffect(()=>()=>window.clearTimeout(d.current),[]),[c,e,f]}function nN(a,b,c){var d,e;let f=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,g=c?a.indexOf(c):-1,h=(d=a,e=Math.max(g,0),d.map((a,b)=>d[(e+b)%d.length]));1===f.length&&(h=h.filter(a=>a!==c));let i=h.find(a=>a.textValue.toLowerCase().startsWith(f.toLowerCase()));return i!==c?i:void 0}nK.displayName="SelectBubbleInput";let nO=(0,I.default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),nP=(0,I.default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),nQ=F.forwardRef(({className:a,children:b,...c},d)=>(0,C.jsxs)(m9,{ref:d,className:(0,Q.cn)("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",a),...c,children:[b,(0,C.jsx)(nc,{asChild:!0,children:(0,C.jsx)(nO,{className:"h-4 w-4 opacity-50"})})]}));nQ.displayName=m9.displayName;let nR=F.forwardRef(({className:a,...b},c)=>(0,C.jsx)(nE,{ref:c,className:(0,Q.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,C.jsx)(nP,{className:"h-4 w-4"})}));nR.displayName=nE.displayName;let nS=F.forwardRef(({className:a,...b},c)=>(0,C.jsx)(nG,{ref:c,className:(0,Q.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,C.jsx)(nO,{className:"h-4 w-4"})}));nS.displayName=nG.displayName;let nT=F.forwardRef(({className:a,children:b,position:c="popper",...d},e)=>(0,C.jsx)(nd,{children:(0,C.jsxs)(nf,{ref:e,className:(0,Q.cn)("relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]","popper"===c&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:c,...d,children:[(0,C.jsx)(nR,{}),(0,C.jsx)(np,{className:(0,Q.cn)("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:b}),(0,C.jsx)(nS,{})]})}));nT.displayName=nf.displayName,F.forwardRef(({className:a,...b},c)=>(0,C.jsx)(nu,{ref:c,className:(0,Q.cn)("py-1.5 pl-8 pr-2 text-sm font-semibold",a),...b})).displayName=nu.displayName;let nU=F.forwardRef(({className:a,children:b,...c},d)=>(0,C.jsxs)(ny,{ref:d,className:(0,Q.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...c,children:[(0,C.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,C.jsx)(nC,{children:(0,C.jsx)(X.Check,{className:"h-4 w-4"})})}),(0,C.jsx)(nA,{children:b})]}));nU.displayName=ny.displayName,F.forwardRef(({className:a,...b},c)=>(0,C.jsx)(nI,{ref:c,className:(0,Q.cn)("-mx-1 my-1 h-px bg-muted",a),...b})).displayName=nI.displayName;var nV=a.i(4212);let nW=F.forwardRef(({className:a,...b},c)=>(0,C.jsx)("div",{ref:c,className:(0,Q.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",a),...b}));nW.displayName="Card";let nX=F.forwardRef(({className:a,...b},c)=>(0,C.jsx)("div",{ref:c,className:(0,Q.cn)("flex flex-col space-y-1.5 p-6",a),...b}));nX.displayName="CardHeader";let nY=F.forwardRef(({className:a,...b},c)=>(0,C.jsx)("div",{ref:c,className:(0,Q.cn)("text-2xl font-semibold leading-none tracking-tight",a),...b}));nY.displayName="CardTitle";let nZ=F.forwardRef(({className:a,...b},c)=>(0,C.jsx)("div",{ref:c,className:(0,Q.cn)("text-sm text-muted-foreground",a),...b}));nZ.displayName="CardDescription";let n$=F.forwardRef(({className:a,...b},c)=>(0,C.jsx)("div",{ref:c,className:(0,Q.cn)("p-6 pt-0",a),...b}));n$.displayName="CardContent",F.forwardRef(({className:a,...b},c)=>(0,C.jsx)("div",{ref:c,className:(0,Q.cn)("flex items-center p-6 pt-0",a),...b})).displayName="CardFooter";let n_=(0,I.default)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);var n0=a.i(33350);"function"==typeof SuppressedError&&SuppressedError;var n1=function(){var a=document.getSelection();if(!a.rangeCount)return function(){};for(var b=document.activeElement,c=[],d=0;d<a.rangeCount;d++)c.push(a.getRangeAt(d));switch(b.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":b.blur();break;default:b=null}return a.removeAllRanges(),function(){"Caret"===a.type&&a.removeAllRanges(),a.rangeCount||c.forEach(function(b){a.addRange(b)}),b&&b.focus()}},n2={"text/plain":"Text","text/html":"Url",default:"Text"},n3=function(a,b){var c,d,e,f,g,h,i,j,k=!1;b||(b={}),e=b.debug||!1;try{if(g=n1(),h=document.createRange(),i=document.getSelection(),(j=document.createElement("span")).textContent=a,j.ariaHidden="true",j.style.all="unset",j.style.position="fixed",j.style.top=0,j.style.clip="rect(0, 0, 0, 0)",j.style.whiteSpace="pre",j.style.webkitUserSelect="text",j.style.MozUserSelect="text",j.style.msUserSelect="text",j.style.userSelect="text",j.addEventListener("copy",function(c){if(c.stopPropagation(),b.format)if(c.preventDefault(),void 0===c.clipboardData){e&&console.warn("unable to use e.clipboardData"),e&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var d=n2[b.format]||n2.default;window.clipboardData.setData(d,a)}else c.clipboardData.clearData(),c.clipboardData.setData(b.format,a);b.onCopy&&(c.preventDefault(),b.onCopy(c.clipboardData))}),document.body.appendChild(j),h.selectNodeContents(j),i.addRange(h),!document.execCommand("copy"))throw Error("copy command was unsuccessful");k=!0}catch(g){e&&console.error("unable to copy using execCommand: ",g),e&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(b.format||"text",a),b.onCopy&&b.onCopy(window.clipboardData),k=!0}catch(g){e&&console.error("unable to copy using clipboardData: ",g),e&&console.error("falling back to prompt"),c="message"in b?b.message:"Copy to clipboard: #{key}, Enter",d=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C",f=c.replace(/#{\s*key\s*}/g,d),window.prompt(f,a)}}finally{i&&("function"==typeof i.removeRange?i.removeRange(h):i.removeAllRanges()),j&&document.body.removeChild(j),g()}return k};function n4(a){return"[object Object]"===Object.prototype.toString.call(a)}function n5(a){return Array.isArray(a)?a.length:n4(a)?Object.keys(a).length:0}function n6(a,b,c,d,e,f){if(f&&void 0!==f.collapsed)return!!f.collapsed;if("boolean"==typeof d)return d;if("number"==typeof d&&b>d)return!0;let g=n5(a);if("function"==typeof d){let e=n9(d,[{node:a,depth:b,indexOrName:c,size:g}]);if("boolean"==typeof e)return e}return!!(Array.isArray(a)&&g>e||n4(a)&&g>e)}function n7(a,b,c,d,e,f){if(f&&void 0!==f.collapsed)return!!f.collapsed;if("boolean"==typeof d)return d;if("number"==typeof d&&b>d)return!0;let g=Math.ceil(a.length/100);if("function"==typeof d){let e=n9(d,[{node:a,depth:b,indexOrName:c,size:g}]);if("boolean"==typeof e)return e}return!!(Array.isArray(a)&&g>e||n4(a)&&g>e)}function n8(a,b,c){return"boolean"==typeof a?a:"number"==typeof a&&!!(b>a)||"collapsed"===a&&!!c||"expanded"===a&&!c}function n9(a,b){try{return a(...b)}catch(a){reportError(a)}}function oa(a){if(!0===a||n4(a)&&!0===a.add)return!0}function ob(a){if(!0===a||n4(a)&&!0===a.edit)return!0}function oc(a){if(!0===a||n4(a)&&!0===a.delete)return!0}function od(a){return!a||void 0===a.add||!!a.add}function oe(a){return!a||void 0===a.edit||!!a.edit}function of(a){return!a||void 0===a.delete||!!a.delete}function og(a){return!a||void 0===a.enableClipboard||!!a.enableClipboard}function oh(){return(oh=Object.assign.bind()).apply(this,arguments)}var oi=function(a){return F.createElement("svg",oh({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},a),n||(n=F.createElement("path",{fill:"currentColor",d:"M12.473 5.806a.666.666 0 0 0-.946 0L8.473 8.86a.667.667 0 0 1-.946 0L4.473 5.806a.667.667 0 1 0-.946.94l3.06 3.06a2 2 0 0 0 2.826 0l3.06-3.06a.667.667 0 0 0 0-.94Z"})))};function oj(){return(oj=Object.assign.bind()).apply(this,arguments)}var ok=function(a){return F.createElement("svg",oj({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none",viewBox:"0 0 24 24"},a),o||(o=F.createElement("path",{fill:"currentColor",d:"M17.542 2.5h-4.75a3.963 3.963 0 0 0-3.959 3.958v4.75a3.963 3.963 0 0 0 3.959 3.959h4.75a3.963 3.963 0 0 0 3.958-3.959v-4.75A3.963 3.963 0 0 0 17.542 2.5Zm2.375 8.708a2.378 2.378 0 0 1-2.375 2.375h-4.75a2.378 2.378 0 0 1-2.375-2.375v-4.75a2.378 2.378 0 0 1 2.375-2.375h4.75a2.378 2.378 0 0 1 2.375 2.375v4.75Zm-4.75 6.334a3.963 3.963 0 0 1-3.959 3.958h-4.75A3.963 3.963 0 0 1 2.5 17.542v-4.75a3.963 3.963 0 0 1 3.958-3.959.791.791 0 1 1 0 1.584 2.378 2.378 0 0 0-2.375 2.375v4.75a2.378 2.378 0 0 0 2.375 2.375h4.75a2.378 2.378 0 0 0 2.375-2.375.792.792 0 1 1 1.584 0Z"})))};function ol(){return(ol=Object.assign.bind()).apply(this,arguments)}var om=function(a){return F.createElement("svg",ol({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none",viewBox:"0 0 24 24"},a),p||(p=F.createElement("path",{fill:"currentColor",d:"M17.25 3H6.75A3.755 3.755 0 0 0 3 6.75v10.5A3.754 3.754 0 0 0 6.75 21h10.5A3.754 3.754 0 0 0 21 17.25V6.75A3.755 3.755 0 0 0 17.25 3Zm2.25 14.25a2.25 2.25 0 0 1-2.25 2.25H6.75a2.25 2.25 0 0 1-2.25-2.25V6.75A2.25 2.25 0 0 1 6.75 4.5h10.5a2.25 2.25 0 0 1 2.25 2.25v10.5Z"})),q||(q=F.createElement("path",{fill:"#14C786",d:"M10.312 14.45 7.83 11.906a.625.625 0 0 0-.896 0 .659.659 0 0 0 0 .918l2.481 2.546a1.264 1.264 0 0 0 .896.381 1.237 1.237 0 0 0 .895-.38l5.858-6.011a.658.658 0 0 0 0-.919.625.625 0 0 0-.896 0l-5.857 6.01Z"})))};function on({node:a,nodeMeta:b}){let{customizeCopy:c,CopyComponent:d,CopiedComponent:e}=(0,F.useContext)(oH),[f,g]=(0,F.useState)(!1),h=d=>{d.stopPropagation();let e=c(a,b);"string"==typeof e&&e&&function(a){var b,c,d,e;b=this,c=void 0,d=void 0,e=function*(){try{yield navigator.clipboard.writeText(a)}catch(b){n3(a)}},new(d||(d=Promise))(function(a,f){function g(a){try{i(e.next(a))}catch(a){f(a)}}function h(a){try{i(e.throw(a))}catch(a){f(a)}}function i(b){var c;b.done?a(b.value):((c=b.value)instanceof d?c:new d(function(a){a(c)})).then(g,h)}i((e=e.apply(b,c||[])).next())})}(e),g(!0),setTimeout(()=>g(!1),3e3)};return f?"function"==typeof e?(0,C.jsx)(e,{className:"json-view--copy",style:{display:"inline-block"}}):(0,C.jsx)(om,{className:"json-view--copy",style:{display:"inline-block"}}):"function"==typeof d?(0,C.jsx)(d,{onClick:h,className:"json-view--copy"}):(0,C.jsx)(ok,{onClick:h,className:"json-view--copy"})}function oo({indexOrName:a,value:b,depth:c,deleteHandle:d,editHandle:e,parent:f,parentPath:g}){let{displayArrayIndex:h}=(0,F.useContext)(oH),i=Array.isArray(f);return(0,C.jsxs)("div",Object.assign({className:"json-view--pair"},{children:[!i||i&&h?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("span",Object.assign({className:"number"==typeof a?"json-view--index":"json-view--property"},{children:a})),":"," "]}):(0,C.jsx)(C.Fragment,{}),(0,C.jsx)(oF,{node:b,depth:c+1,deleteHandle:(a,b)=>d(a,b),editHandle:(a,b,c,d)=>e(a,b,c,d),parent:f,indexOrName:a,parentPath:g})]}))}function op(){return(op=Object.assign.bind()).apply(this,arguments)}var oq=function(a){return F.createElement("svg",op({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none",viewBox:"0 0 24 24"},a),r||(r=F.createElement("path",{fill:"currentColor",d:"M18.75 6h-2.325a3.757 3.757 0 0 0-3.675-3h-1.5a3.757 3.757 0 0 0-3.675 3H5.25a.75.75 0 0 0 0 1.5H6v9.75A3.754 3.754 0 0 0 9.75 21h4.5A3.754 3.754 0 0 0 18 17.25V7.5h.75a.75.75 0 1 0 0-1.5Zm-7.5-1.5h1.5A2.255 2.255 0 0 1 14.872 6H9.128a2.255 2.255 0 0 1 2.122-1.5Zm5.25 12.75a2.25 2.25 0 0 1-2.25 2.25h-4.5a2.25 2.25 0 0 1-2.25-2.25V7.5h9v9.75Z"})),s||(s=F.createElement("path",{fill:"#DA0000",d:"M10.5 16.5a.75.75 0 0 0 .75-.75v-4.5a.75.75 0 1 0-1.5 0v4.5a.75.75 0 0 0 .75.75ZM13.5 16.5a.75.75 0 0 0 .75-.75v-4.5a.75.75 0 1 0-1.5 0v4.5a.75.75 0 0 0 .75.75Z"})))};function or(){return(or=Object.assign.bind()).apply(this,arguments)}var os=function(a){return F.createElement("svg",or({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none",viewBox:"0 0 24 24"},a),t||(t=F.createElement("path",{fill:"currentColor",d:"M21 6.75v10.5A3.754 3.754 0 0 1 17.25 21H6.75A3.754 3.754 0 0 1 3 17.25V6.75A3.754 3.754 0 0 1 6.75 3h10.5A3.754 3.754 0 0 1 21 6.75Zm-1.5 0c0-1.24-1.01-2.25-2.25-2.25H6.75C5.51 4.5 4.5 5.51 4.5 6.75v10.5c0 1.24 1.01 2.25 2.25 2.25h10.5c1.24 0 2.25-1.01 2.25-2.25V6.75Z"})),u||(u=F.createElement("path",{fill:"#14C786",d:"M15 12.75a.75.75 0 1 0 0-1.5h-2.25V9a.75.75 0 1 0-1.5 0v2.25H9a.75.75 0 1 0 0 1.5h2.25V15a.75.75 0 1 0 1.5 0v-2.25H15Z"})))};function ot(){return(ot=Object.assign.bind()).apply(this,arguments)}var ou=function(a){return F.createElement("svg",ot({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none",viewBox:"0 0 24 24"},a),v||(v=F.createElement("path",{fill:"currentColor",d:"M12 3a9 9 0 1 0 9 9 9.01 9.01 0 0 0-9-9Zm0 16.5a7.5 7.5 0 1 1 7.5-7.5 7.509 7.509 0 0 1-7.5 7.5Z"})),w||(w=F.createElement("path",{fill:"#14C786",d:"m10.85 13.96-1.986-2.036a.5.5 0 0 0-.716 0 .527.527 0 0 0 0 .735l1.985 2.036a1.01 1.01 0 0 0 .717.305.99.99 0 0 0 .716-.305l4.686-4.808a.526.526 0 0 0 0-.735.5.5 0 0 0-.716 0l-4.687 4.809Z"})))};function ov(){return(ov=Object.assign.bind()).apply(this,arguments)}var ow=function(a){return F.createElement("svg",ov({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none",viewBox:"0 0 24 24"},a),x||(x=F.createElement("path",{fill:"#DA0000",d:"M15 9a.75.75 0 0 0-1.06 0L12 10.94 10.06 9A.75.75 0 0 0 9 10.06L10.94 12 9 13.94A.75.75 0 0 0 10.06 15L12 13.06 13.94 15A.75.75 0 0 0 15 13.94L13.06 12 15 10.06A.75.75 0 0 0 15 9Z"})),y||(y=F.createElement("path",{fill:"currentColor",d:"M12 3a9 9 0 1 0 9 9 9.01 9.01 0 0 0-9-9Zm0 16.5a7.5 7.5 0 1 1 7.5-7.5 7.509 7.509 0 0 1-7.5 7.5Z"})))};function ox({originNode:a,node:b,depth:c,index:d,deleteHandle:e,customOptions:f,startIndex:g,parent:h,parentPath:i}){let{enableClipboard:j,src:k,onEdit:l,onChange:n,forceUpdate:o,displaySize:p,CustomOperation:q}=(0,F.useContext)(oH),r=[...i,String(d)],[s,t]=(0,F.useState)(!0),u=(0,F.useCallback)((b,d,e)=>{a[b]=d,l&&l({newValue:d,oldValue:e,depth:c,src:k,indexOrName:b,parentType:"array",parentPath:i}),n&&n({type:"edit",depth:c,src:k,indexOrName:b,parentType:"array",parentPath:i}),o()},[b,l,n,o]),v=b=>{a.splice(b,1),e&&e(b,i),o()},w=(0,C.jsxs)(C.Fragment,{children:[!s&&(0,C.jsxs)("span",Object.assign({onClick:()=>t(!0),className:"jv-size-chevron"},{children:[n8(p,c,s)&&(0,C.jsxs)("span",Object.assign({className:"jv-size"},{children:[n5(b)," Items"]})),(0,C.jsx)(oi,{className:"jv-chevron"})]})),!s&&j&&og(f)&&(0,C.jsx)(on,{node:b,nodeMeta:{depth:c,indexOrName:d,parent:h,parentPath:i,currentPath:r}}),"function"==typeof q?(0,C.jsx)(q,{node:b}):null]});return(0,C.jsxs)("div",{children:[(0,C.jsx)("span",{children:"["}),w,s?(0,C.jsxs)("button",Object.assign({onClick:()=>t(!1),className:"jv-button"},{children:[g," ... ",g+b.length-1]})):(0,C.jsx)("div",Object.assign({className:"jv-indent"},{children:b.map((a,e)=>(0,C.jsx)(oo,{indexOrName:e+g,value:a,depth:c,parent:b,deleteHandle:v,editHandle:u,parentPath:i},String(d)+String(e)))})),(0,C.jsx)("span",{children:"]"})]})}function oy({node:a,depth:b,deleteHandle:c,indexOrName:d,customOptions:e,parent:f,parentPath:g}){let h=void 0!==d?[...g,String(d)]:g,i=[];for(let b=0;b<a.length;b+=100)i.push(a.slice(b,b+100));let{collapsed:j,enableClipboard:k,collapseObjectsAfterLength:l,editable:n,onDelete:o,src:p,onAdd:q,CustomOperation:r,onChange:s,forceUpdate:t,displaySize:u}=(0,F.useContext)(oH),[v,w]=(0,F.useState)(n7(a,b,d,j,l,e));(0,F.useEffect)(()=>{w(n7(a,b,d,j,l,e))},[j,l]);let[x,y]=(0,F.useState)(!1),[z,A]=(0,F.useState)(!1),B=()=>{a.push(null),q&&q({indexOrName:a.length-1,depth:b,src:p,parentType:"array",parentPath:g}),s&&s({type:"add",indexOrName:a.length-1,depth:b,src:p,parentType:"array",parentPath:g}),t()},D=x||z,E=(0,C.jsxs)(C.Fragment,{children:[!v&&!D&&(0,C.jsxs)("span",Object.assign({onClick:()=>w(!0),className:"jv-size-chevron"},{children:[n8(u,b,v)&&(0,C.jsxs)("span",Object.assign({className:"jv-size"},{children:[a.length," Items"]})),(0,C.jsx)(oi,{className:"jv-chevron"})]})),D&&(0,C.jsx)(ou,{className:"json-view--edit",style:{display:"inline-block"},onClick:z?B:()=>{y(!1),c&&c(d,g),o&&o({value:a,depth:b,src:p,indexOrName:d,parentType:"array",parentPath:g}),s&&s({type:"delete",depth:b,src:p,indexOrName:d,parentType:"array",parentPath:g})}}),D&&(0,C.jsx)(ow,{className:"json-view--edit",style:{display:"inline-block"},onClick:()=>{y(!1),A(!1)}}),!v&&!D&&k&&og(e)&&(0,C.jsx)(on,{node:a,nodeMeta:{depth:b,indexOrName:d,parent:f,parentPath:g,currentPath:h}}),!v&&!D&&oa(n)&&od(e)&&(0,C.jsx)(os,{className:"json-view--edit",onClick:()=>{B()}}),!v&&!D&&oc(n)&&of(e)&&c&&(0,C.jsx)(oq,{className:"json-view--edit",onClick:()=>y(!0)}),"function"==typeof r?(0,C.jsx)(r,{node:a}):null]});return(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("span",{children:"["}),E,v?(0,C.jsx)("button",Object.assign({onClick:()=>w(!1),className:"jv-button"},{children:"..."})):(0,C.jsx)("div",Object.assign({className:"jv-indent"},{children:i.map((f,h)=>(0,C.jsx)(ox,{originNode:a,node:f,depth:b,index:h,startIndex:100*h,deleteHandle:c,customOptions:e,parentPath:g},String(d)+String(h)))})),(0,C.jsx)("span",{children:"]"}),v&&n8(u,b,v)&&(0,C.jsxs)("span",Object.assign({onClick:()=>w(!1),className:"jv-size"},{children:[a.length," Items"]}))]})}function oz({node:a,depth:b,indexOrName:c,deleteHandle:d,customOptions:e,parent:f,parentPath:g}){let{collapsed:h,onCollapse:i,enableClipboard:j,ignoreLargeArray:k,collapseObjectsAfterLength:l,editable:n,onDelete:o,src:p,onAdd:q,onEdit:r,onChange:s,forceUpdate:t,displaySize:u,CustomOperation:v}=(0,F.useContext)(oH),w=void 0!==c?[...g,String(c)]:g;if(!k&&Array.isArray(a)&&a.length>100)return(0,C.jsx)(oy,{node:a,depth:b,indexOrName:c,deleteHandle:d,customOptions:e,parentPath:w});let x=n4(a),[y,z]=(0,F.useState)(n6(a,b,c,h,l,e)),A=d=>{null==i||i({isCollapsing:!d,node:a,depth:b,indexOrName:c}),z(d)};(0,F.useEffect)(()=>{A(n6(a,b,c,h,l,e))},[h,l]);let B=(0,F.useCallback)((c,d,e)=>{Array.isArray(a)?a[+c]=d:a&&(a[c]=d),r&&r({newValue:d,oldValue:e,depth:b,src:p,indexOrName:c,parentType:x?"object":"array",parentPath:w}),s&&s({type:"edit",depth:b,src:p,indexOrName:c,parentType:x?"object":"array",parentPath:w}),t()},[a,r,s,t]),D=b=>{Array.isArray(a)?a.splice(+b,1):a&&delete a[b],t()},[E,G]=(0,F.useState)(!1),[H,I]=(0,F.useState)(!1),J=(0,F.useRef)(null),K=()=>{var c;if(x){let d=null==(c=J.current)?void 0:c.value;d&&(a[d]=null,J.current&&(J.current.value=""),I(!1),q&&q({indexOrName:d,depth:b,src:p,parentType:"object",parentPath:w}),s&&s({type:"add",indexOrName:d,depth:b,src:p,parentType:"object",parentPath:w}))}else Array.isArray(a)&&(a.push(null),q&&q({indexOrName:a.length-1,depth:b,src:p,parentType:"array",parentPath:w}),s&&s({type:"add",indexOrName:a.length-1,depth:b,src:p,parentType:"array",parentPath:w}));t()},L=E||H,M=()=>{G(!1),I(!1)},N=(0,C.jsxs)(C.Fragment,{children:[!y&&!L&&(0,C.jsxs)("span",Object.assign({onClick:()=>A(!0),className:"jv-size-chevron"},{children:[n8(u,b,y)&&(0,C.jsxs)("span",Object.assign({className:"jv-size"},{children:[n5(a)," Items"]})),(0,C.jsx)(oi,{className:"jv-chevron"})]})),H&&x&&(0,C.jsx)("input",{className:"json-view--input",placeholder:"property",ref:J,onKeyDown:a=>{"Enter"===a.key?(a.preventDefault(),K()):"Escape"===a.key&&M()}}),L&&(0,C.jsx)(ou,{className:"json-view--edit",style:{display:"inline-block"},onClick:H?K:()=>{G(!1),d&&d(c,w),o&&o({value:a,depth:b,src:p,indexOrName:c,parentType:x?"object":"array",parentPath:w}),s&&s({type:"delete",depth:b,src:p,indexOrName:c,parentType:x?"object":"array",parentPath:w})}}),L&&(0,C.jsx)(ow,{className:"json-view--edit",style:{display:"inline-block"},onClick:M}),!y&&!L&&j&&og(e)&&(0,C.jsx)(on,{node:a,nodeMeta:{depth:b,indexOrName:c,parent:f,parentPath:g,currentPath:w}}),!y&&!L&&oa(n)&&od(e)&&(0,C.jsx)(os,{className:"json-view--edit",onClick:()=>{x?(I(!0),setTimeout(()=>{var a;return null==(a=J.current)?void 0:a.focus()})):K()}}),!y&&!L&&oc(n)&&of(e)&&d&&(0,C.jsx)(oq,{className:"json-view--edit",onClick:()=>G(!0)}),"function"==typeof v?(0,C.jsx)(v,{node:a}):null]});return Array.isArray(a)?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("span",{children:"["}),N,y?(0,C.jsx)("button",Object.assign({onClick:()=>A(!1),className:"jv-button"},{children:"..."})):(0,C.jsx)("div",Object.assign({className:"jv-indent"},{children:a.map((d,e)=>(0,C.jsx)(oo,{indexOrName:e,value:d,depth:b,parent:a,deleteHandle:D,editHandle:B,parentPath:w},String(c)+String(e)))})),(0,C.jsx)("span",{children:"]"}),y&&n8(u,b,y)&&(0,C.jsxs)("span",Object.assign({onClick:()=>A(!1),className:"jv-size"},{children:[n5(a)," Items"]}))]}):x?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("span",{children:"{"}),N,y?(0,C.jsx)("button",Object.assign({onClick:()=>A(!1),className:"jv-button"},{children:"..."})):(0,C.jsx)("div",Object.assign({className:"jv-indent"},{children:Object.entries(a).map(([d,e])=>(0,C.jsx)(oo,{indexOrName:d,value:e,depth:b,parent:a,deleteHandle:D,editHandle:B,parentPath:w},String(c)+String(d)))})),(0,C.jsx)("span",{children:"}"}),y&&n8(u,b,y)&&(0,C.jsxs)("span",Object.assign({onClick:()=>A(!1),className:"jv-size"},{children:[n5(a)," Items"]}))]}):(0,C.jsx)("span",{children:String(a)})}let oA=F.default.forwardRef(({str:a,className:b,ctrlClick:c},d)=>{let{collapseStringMode:e,collapseStringsAfterLength:f,customizeCollapseStringUI:g}=(0,F.useContext)(oH),[h,i]=(0,F.useState)(!0),j=(0,F.useRef)(null);f=f>0?f:0;let k=a.replace(/\s+/g," "),l="function"==typeof g?g(k,h):"string"==typeof g?g:"...",n=a=>{var b;if((a.ctrlKey||a.metaKey)&&c)c(a);else{let a=window.getSelection();if(a&&a.anchorOffset!==a.focusOffset&&(null==(b=a.anchorNode)?void 0:b.parentElement)===j.current)return;i(!h)}};if(a.length<=f)return(0,C.jsxs)("span",Object.assign({ref:j,className:b,onClick:c},{children:['"',a,'"']}));if("address"===e)return a.length<=10?(0,C.jsxs)("span",Object.assign({ref:j,className:b,onClick:c},{children:['"',a,'"']})):(0,C.jsxs)("span",Object.assign({ref:j,onClick:n,className:b+" cursor-pointer"},{children:['"',h?[k.slice(0,6),l,k.slice(-4)]:a,'"']}));if("directly"===e)return(0,C.jsxs)("span",Object.assign({ref:j,onClick:n,className:b+" cursor-pointer"},{children:['"',h?[k.slice(0,f),l]:a,'"']}));if("word"===e){let c=f,d=f+1,e=k,g=1;for(;;){if(/\W/.test(a[c])){e=a.slice(0,c);break}if(/\W/.test(a[d])){e=a.slice(0,d);break}if(6===g){e=a.slice(0,f);break}g++,c--,d++}return(0,C.jsxs)("span",Object.assign({ref:j,onClick:n,className:b+" cursor-pointer"},{children:['"',h?[e,l]:a,'"']}))}return(0,C.jsxs)("span",Object.assign({ref:j,className:b},{children:['"',a,'"']}))});function oB(){return(oB=Object.assign.bind()).apply(this,arguments)}var oC=function(a){return F.createElement("svg",oB({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none",viewBox:"0 0 24 24"},a),z||(z=F.createElement("path",{fill:"currentColor",d:"M17.25 3H6.75A3.754 3.754 0 0 0 3 6.75v10.5A3.754 3.754 0 0 0 6.75 21h10.5A3.754 3.754 0 0 0 21 17.25V6.75A3.754 3.754 0 0 0 17.25 3Zm2.25 14.25c0 1.24-1.01 2.25-2.25 2.25H6.75c-1.24 0-2.25-1.01-2.25-2.25V6.75c0-1.24 1.01-2.25 2.25-2.25h10.5c1.24 0 2.25 1.01 2.25 2.25v10.5Zm-6.09-9.466-5.031 5.03a2.981 2.981 0 0 0-.879 2.121v1.19c0 .415.336.75.75.75h1.19c.8 0 1.554-.312 2.12-.879l5.03-5.03a2.252 2.252 0 0 0 0-3.182c-.85-.85-2.331-.85-3.18 0Zm-2.91 7.151c-.28.28-.666.44-1.06.44H9v-.44c0-.4.156-.777.44-1.06l3.187-3.188 1.06 1.061-3.187 3.188Zm5.03-5.03-.782.783-1.06-1.061.782-.782a.766.766 0 0 1 1.06 0 .75.75 0 0 1 0 1.06Z"})))};function oD(){return(oD=Object.assign.bind()).apply(this,arguments)}var oE=function(a){return F.createElement("svg",oD({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none",viewBox:"0 0 24 24"},a),A||(A=F.createElement("path",{fill:"currentColor",d:"M6.75 3h5.5v1.5h-5.5C5.51 4.5 4.5 5.51 4.5 6.75v10.5c0 1.24 1.01 2.25 2.25 2.25h10.5c1.24 0 2.25-1.01 2.25-2.25v-5.5H21v5.5A3.754 3.754 0 0 1 17.25 21H6.75A3.754 3.754 0 0 1 3 17.25V6.75A3.754 3.754 0 0 1 6.75 3Z"})),B||(B=F.createElement("path",{fill:"currentColor",d:"M20.013 3h-3.946a.987.987 0 0 0 0 1.973h1.564l-6.342 6.342a1.004 1.004 0 0 0 0 1.396 1.004 1.004 0 0 0 1.396 0l6.342-6.342v1.564a.987.987 0 0 0 1.973 0V3.987A.987.987 0 0 0 20.013 3Z"})))};function oF({node:a,depth:b,deleteHandle:c,indexOrName:d,parent:e,editHandle:f,parentPath:g}){let h,{collapseStringsAfterLength:i,enableClipboard:j,editable:k,src:l,onDelete:n,onChange:o,customizeNode:p,matchesURL:q,urlRegExp:r,EditComponent:s,DoneComponent:t,CancelComponent:u,CustomOperation:v}=(0,F.useContext)(oH);if("function"==typeof p&&(h=n9(p,[{node:a,depth:b,indexOrName:d}])),h){if((0,F.isValidElement)(h))return h;else if("function"==typeof h){let c=h;return(0,C.jsx)(c,{node:a,depth:b,indexOrName:d})}}if(Array.isArray(a)||n4(a))return(0,C.jsx)(oz,{parent:e,node:a,depth:b,indexOrName:d,deleteHandle:c,parentPath:g,customOptions:"object"==typeof h?h:void 0});{var w;let p=typeof a,x=void 0!==d?[...g,String(d)]:g,[y,z]=(0,F.useState)(!1),[A,B]=(0,F.useState)(!1),D=(0,F.useRef)(null),E=()=>{z(!0),setTimeout(()=>{var a,b;null==(a=window.getSelection())||a.selectAllChildren(D.current),null==(b=D.current)||b.focus()})},G=(0,F.useCallback)(()=>{let b=D.current.innerText;try{let c=JSON.parse(b);f&&f(d,c,a,g)}catch(e){let c="string"===p?b.trim().replace(/^\"([\s\S]+?)\"$/,"$1"):b;f&&f(d,c,a,g)}z(!1)},[f,d,a,g,p]),H=()=>{z(!1),B(!1)},I=()=>{B(!1),c&&c(d,g),n&&n({value:a,depth:b,src:l,indexOrName:d,parentType:Array.isArray(e)?"array":"object",parentPath:g}),o&&o({depth:b,src:l,indexOrName:d,parentType:Array.isArray(e)?"array":"object",type:"delete",parentPath:g})},J=(0,F.useCallback)(a=>{"Enter"===a.key?(a.preventDefault(),G()):"Escape"===a.key&&H()},[G]),K=y||A,L=!K&&ob(k)&&oe(h)&&f?a=>{(a.ctrlKey||a.metaKey)&&E()}:void 0,M=(0,C.jsxs)(C.Fragment,{children:[K&&("function"==typeof t?(0,C.jsx)(t,{className:"json-view--edit",style:{display:"inline-block"},onClick:A?I:G}):(0,C.jsx)(ou,{className:"json-view--edit",style:{display:"inline-block"},onClick:A?I:G})),K&&("function"==typeof u?(0,C.jsx)(u,{className:"json-view--edit",style:{display:"inline-block"},onClick:H}):(0,C.jsx)(ow,{className:"json-view--edit",style:{display:"inline-block"},onClick:H})),!K&&j&&og(h)&&(0,C.jsx)(on,{node:a,nodeMeta:{depth:b,indexOrName:d,parent:e,parentPath:g,currentPath:x}}),!K&&q&&"string"===p&&r.test(a)&&(!(w=h)||void 0===w.matchesURL||!!w.matchesURL)&&(0,C.jsx)("a",Object.assign({href:a,target:"_blank",className:"json-view--link"},{children:(0,C.jsx)(oE,{})})),!K&&ob(k)&&oe(h)&&f&&("function"==typeof s?(0,C.jsx)(s,{className:"json-view--edit",onClick:E}):(0,C.jsx)(oC,{className:"json-view--edit",onClick:E})),!K&&oc(k)&&of(h)&&c&&(0,C.jsx)(oq,{className:"json-view--edit",onClick:()=>B(!0)}),"function"==typeof v?(0,C.jsx)(v,{node:a}):null]}),N="json-view--string";switch(p){case"number":case"bigint":N="json-view--number";break;case"boolean":N="json-view--boolean";break;case"object":N="json-view--null"}"string"==typeof(null==h?void 0:h.className)&&(N+=" "+h.className),A&&(N+=" json-view--deleting");let O=String(a);"bigint"===p&&(O+="n");let P=(0,F.useMemo)(()=>(0,C.jsx)("span",{contentEditable:!0,className:N,dangerouslySetInnerHTML:{__html:"string"===p?`"${O}"`:O},ref:D,onKeyDown:J}),[O,p,J]);return"string"===p?(0,C.jsxs)(C.Fragment,{children:[y?P:a.length>i?(0,C.jsx)(oA,{str:a,ref:D,className:N,ctrlClick:L}):(0,C.jsxs)("span",Object.assign({className:N,onClick:L},{children:['"',O,'"']})),M]}):(0,C.jsxs)(C.Fragment,{children:[y?P:(0,C.jsx)("span",Object.assign({className:N,onClick:L},{children:O})),M]})}}let oG=/^(((ht|f)tps?):\/\/)?([^!@#$%^&*?.\s-]([^!@#$%^&*?.\s]{0,63}[^!@#$%^&*?.\s])?\.)+[a-z]{2,6}\/?/,oH=(0,F.createContext)({src:void 0,collapseStringsAfterLength:99,collapseStringMode:"directly",customizeCollapseStringUI:void 0,collapseObjectsAfterLength:20,collapsed:!1,onCollapse:void 0,enableClipboard:!0,editable:!1,onEdit:void 0,onDelete:void 0,onAdd:void 0,onChange:void 0,forceUpdate:()=>{},customizeNode:void 0,customizeCopy:()=>{},displaySize:void 0,displayArrayIndex:!0,matchesURL:!1,urlRegExp:oG,ignoreLargeArray:!1,CopyComponent:void 0,CopiedComponent:void 0,EditComponent:void 0,CancelComponent:void 0,DoneComponent:void 0,CustomOperation:void 0});function oI({src:a,collapseStringsAfterLength:b=99,collapseStringMode:c="directly",customizeCollapseStringUI:d,collapseObjectsAfterLength:e=99,collapsed:f,onCollapse:g,enableClipboard:h=!0,editable:i=!1,onEdit:j,onDelete:k,onAdd:l,onChange:n,dark:o=!1,theme:p="default",customizeNode:q,customizeCopy:r=a=>(function(a,b){if("string"==typeof a)return a;try{return JSON.stringify(a,(a,b)=>{switch(typeof b){case"bigint":return String(b)+"n";case"number":case"boolean":case"object":case"string":return b;default:return String(b)}},void 0)}catch(a){return`${a.name}: ${a.message}`||"JSON.stringify failed"}})(a),displaySize:s,displayArrayIndex:t=!0,style:u,className:v,matchesURL:w=!1,urlRegExp:x=oG,ignoreLargeArray:y=!1,CopyComponent:z,CopiedComponent:A,EditComponent:B,CancelComponent:D,DoneComponent:E,CustomOperation:G}){let[H,I]=(0,F.useState)(0),J=(0,F.useCallback)(()=>I(a=>++a),[]),[K,L]=(0,F.useState)(a);return(0,F.useEffect)(()=>L(a),[a]),(0,C.jsx)(oH.Provider,Object.assign({value:{src:K,collapseStringsAfterLength:b,collapseStringMode:c,customizeCollapseStringUI:d,collapseObjectsAfterLength:e,collapsed:f,onCollapse:g,enableClipboard:h,editable:i,onEdit:j,onDelete:k,onAdd:l,onChange:n,forceUpdate:J,customizeNode:q,customizeCopy:r,displaySize:s,displayArrayIndex:t,matchesURL:w,urlRegExp:x,ignoreLargeArray:y,CopyComponent:z,CopiedComponent:A,EditComponent:B,CancelComponent:D,DoneComponent:E,CustomOperation:G}},{children:(0,C.jsx)("code",Object.assign({className:"json-view"+(o?" dark":"")+(p&&"default"!==p?" json-view_"+p:"")+(v?" "+v:""),style:u},{children:(0,C.jsx)(oF,{node:K,depth:1,editHandle:(a,b,c,d)=>{L(b),j&&j({newValue:b,oldValue:c,depth:1,src:K,indexOrName:a,parentType:null,parentPath:d}),n&&n({type:"edit",depth:1,src:K,indexOrName:a,parentType:null,parentPath:d})},deleteHandle:(a,b)=>{L(void 0),k&&k({value:K,depth:1,src:K,indexOrName:a,parentType:null,parentPath:b}),n&&n({depth:1,src:K,indexOrName:a,parentType:null,type:"delete",parentPath:b})},parentPath:[]})}))}))}function oJ(){let a,b,c,{currentBank:d}=(0,G.useBank)(),[e,f]=(0,F.useState)(""),[g,h]=(0,F.useState)(""),[i,j]=(0,F.useState)("mid"),[k,l]=(0,F.useState)(!0),[n,o]=(0,F.useState)(!1),[p,q]=(0,F.useState)(null),[r,s]=(0,F.useState)(!1),[t,u]=(0,F.useState)(""),[v,w]=(0,F.useState)("any"),x=async()=>{if(d&&e){s(!0),o(!1);try{let a=t.split(",").map(a=>a.trim()).filter(a=>a.length>0),b=await T.client.reflect({bank_id:d,query:e,budget:i,context:g||void 0,include_facts:k,...a.length>0&&{tags:a,tags_match:v}});q(b)}catch(a){console.error("Error running reflect:",a),alert("Error running reflect: "+a.message)}finally{s(!1)}}};return(0,C.jsxs)("div",{className:"max-w-6xl",children:[(0,C.jsx)(nW,{children:(0,C.jsxs)(n$,{className:"p-5 space-y-4",children:[(0,C.jsxs)("div",{className:"flex gap-4 items-end flex-wrap",children:[(0,C.jsxs)("div",{className:"flex-1 min-w-[300px]",children:[(0,C.jsx)("label",{className:"font-bold block mb-2 text-card-foreground",children:"Question:"}),(0,C.jsx)(V.Input,{type:"text",value:e,onChange:a=>f(a.target.value),placeholder:"Enter your question...",onKeyDown:a=>"Enter"===a.key&&x()})]}),(0,C.jsxs)("div",{children:[(0,C.jsx)("label",{className:"font-bold block mb-2 text-card-foreground",children:"Budget:"}),(0,C.jsxs)(m7,{value:i,onValueChange:a=>j(a),children:[(0,C.jsx)(nQ,{className:"w-24",children:(0,C.jsx)(nb,{})}),(0,C.jsxs)(nT,{children:[(0,C.jsx)(nU,{value:"low",children:"Low"}),(0,C.jsx)(nU,{value:"mid",children:"Mid"}),(0,C.jsx)(nU,{value:"high",children:"High"})]})]})]}),(0,C.jsxs)("div",{className:"flex items-center gap-2",children:[(0,C.jsx)(nV.Checkbox,{id:"include-facts",checked:k,onCheckedChange:a=>l(a)}),(0,C.jsx)("label",{htmlFor:"include-facts",className:"text-sm cursor-pointer",children:"Include Facts"})]}),(0,C.jsxs)(U.Button,{onClick:x,disabled:r||!e,children:[(0,C.jsx)(J,{className:"w-4 h-4 mr-2"}),"Reflect"]})]}),(0,C.jsxs)("div",{children:[(0,C.jsx)("label",{className:"font-bold block mb-2 text-card-foreground",children:"Context (optional):"}),(0,C.jsx)(mI.Textarea,{value:g,onChange:a=>h(a.target.value),placeholder:"Additional context for the LLM (not used in search)...",rows:3})]}),(0,C.jsxs)("div",{className:"flex items-center gap-4 mt-4 pt-4 border-t",children:[(0,C.jsx)(n0.Tag,{className:"h-4 w-4 text-muted-foreground"}),(0,C.jsx)("div",{className:"flex-1 max-w-md",children:(0,C.jsx)(V.Input,{type:"text",value:t,onChange:a=>u(a.target.value),placeholder:"Filter by tags (comma-separated)",className:"h-8"})}),(0,C.jsxs)(m7,{value:v,onValueChange:a=>w(a),children:[(0,C.jsx)(nQ,{className:"w-40 h-8",children:(0,C.jsx)(nb,{})}),(0,C.jsxs)(nT,{children:[(0,C.jsx)(nU,{value:"any",children:"Any (incl. untagged)"}),(0,C.jsx)(nU,{value:"all",children:"All (incl. untagged)"}),(0,C.jsx)(nU,{value:"any_strict",children:"Any (strict)"}),(0,C.jsx)(nU,{value:"all_strict",children:"All (strict)"})]})]})]})]})}),r&&(0,C.jsx)(nW,{className:"mt-6",children:(0,C.jsxs)(n$,{className:"text-center py-10",children:[(0,C.jsx)(J,{className:"w-12 h-12 mx-auto mb-3 text-muted-foreground animate-pulse"}),(0,C.jsx)("div",{className:"text-lg text-muted-foreground",children:"Reflecting..."})]})}),p&&!r&&(0,C.jsxs)("div",{className:"mt-6 space-y-6",children:[(0,C.jsxs)(nW,{children:[(0,C.jsx)(nX,{children:(0,C.jsx)(nY,{children:"Answer"})}),(0,C.jsx)(n$,{children:(0,C.jsx)("div",{className:"p-4 bg-muted rounded-lg border-l-4 border-primary text-base leading-relaxed whitespace-pre-wrap",children:p.text})})]}),(0,C.jsxs)(nW,{children:[(0,C.jsx)(nX,{children:(0,C.jsxs)("div",{className:"flex items-center justify-between",children:[(0,C.jsxs)("div",{children:[(0,C.jsx)(nY,{children:"Details"}),(0,C.jsx)(nZ,{children:"View facts and raw response"})]}),(0,C.jsxs)("div",{className:"flex gap-2",children:[(0,C.jsx)(U.Button,{variant:n?"outline":"default",size:"sm",onClick:()=>o(!1),children:"Based On"}),(0,C.jsx)(U.Button,{variant:n?"default":"outline",size:"sm",onClick:()=>o(!0),children:"Raw JSON"})]})]})}),(0,C.jsx)(n$,{children:n?(0,C.jsx)("div",{className:"bg-muted p-4 rounded border border-border overflow-auto max-h-[600px]",children:(0,C.jsx)(oI,{src:p,collapsed:1,theme:"default"})}):k&&p.based_on&&p.based_on.length>0?(a=p.based_on.filter(a=>"world"===a.type),b=p.based_on.filter(a=>"experience"===a.type),c=p.based_on.filter(a=>"opinion"===a.type),(0,C.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[(0,C.jsxs)(nW,{children:[(0,C.jsxs)(nX,{className:"pb-3",children:[(0,C.jsx)(nY,{className:"text-base",children:"World Facts"}),(0,C.jsx)(nZ,{className:"text-xs",children:"General Knowledge"})]}),(0,C.jsx)(n$,{children:a.length>0?(0,C.jsx)("ul",{className:"text-sm space-y-2",children:a.map((a,b)=>(0,C.jsxs)("li",{className:"p-2 bg-muted rounded",children:[a.text,a.context&&(0,C.jsx)("div",{className:"text-xs text-muted-foreground mt-1",children:a.context})]},b))}):(0,C.jsx)("p",{className:"text-muted-foreground text-sm",children:"None"})})]}),(0,C.jsxs)(nW,{children:[(0,C.jsxs)(nX,{className:"pb-3",children:[(0,C.jsx)(nY,{className:"text-base",children:"Experience"}),(0,C.jsx)(nZ,{className:"text-xs",children:"Conversations & Events"})]}),(0,C.jsx)(n$,{children:b.length>0?(0,C.jsx)("ul",{className:"text-sm space-y-2",children:b.map((a,b)=>(0,C.jsxs)("li",{className:"p-2 bg-muted rounded",children:[a.text,a.context&&(0,C.jsx)("div",{className:"text-xs text-muted-foreground mt-1",children:a.context})]},b))}):(0,C.jsx)("p",{className:"text-muted-foreground text-sm",children:"None"})})]}),(0,C.jsxs)(nW,{children:[(0,C.jsxs)(nX,{className:"pb-3",children:[(0,C.jsx)(nY,{className:"text-base",children:"Opinions"}),(0,C.jsx)(nZ,{className:"text-xs",children:"Beliefs & Preferences"})]}),(0,C.jsx)(n$,{children:c.length>0?(0,C.jsx)("ul",{className:"text-sm space-y-2",children:c.map((a,b)=>(0,C.jsxs)("li",{className:"p-2 bg-muted rounded",children:[a.text,a.context&&(0,C.jsx)("div",{className:"text-xs text-muted-foreground mt-1",children:a.context})]},b))}):(0,C.jsx)("p",{className:"text-muted-foreground text-sm",children:"None"})})]})]})):k?(0,C.jsxs)("div",{className:"flex items-start gap-3 p-4 bg-amber-50 dark:bg-amber-950 border border-amber-200 dark:border-amber-800 rounded-lg",children:[(0,C.jsx)(n_,{className:"w-5 h-5 text-amber-600 dark:text-amber-400 mt-0.5 flex-shrink-0"}),(0,C.jsxs)("div",{children:[(0,C.jsx)("p",{className:"font-semibold text-amber-900 dark:text-amber-100",children:"No facts found"}),(0,C.jsx)("p",{className:"text-sm text-amber-700 dark:text-amber-300 mt-1",children:"No memories were found or used to generate this answer."})]})]}):(0,C.jsxs)("div",{className:"flex items-start gap-3 p-4 bg-amber-50 dark:bg-amber-950 border border-amber-200 dark:border-amber-800 rounded-lg",children:[(0,C.jsx)(n_,{className:"w-5 h-5 text-amber-600 dark:text-amber-400 mt-0.5 flex-shrink-0"}),(0,C.jsxs)("div",{children:[(0,C.jsx)("p",{className:"font-semibold text-amber-900 dark:text-amber-100",children:"Facts not included"}),(0,C.jsx)("p",{className:"text-sm text-amber-700 dark:text-amber-300 mt-1",children:'Enable "Include Facts" above to see which memories were used to generate this answer.'})]})]})})]}),p.new_opinions&&p.new_opinions.length>0&&(0,C.jsxs)(nW,{className:"border-green-200 dark:border-green-800",children:[(0,C.jsxs)(nX,{className:"bg-green-50 dark:bg-green-950",children:[(0,C.jsxs)(nY,{className:"flex items-center gap-2",children:[(0,C.jsx)(J,{className:"w-5 h-5"}),"New Opinions Formed"]}),(0,C.jsx)(nZ,{children:"New beliefs generated from this interaction"})]}),(0,C.jsx)(n$,{className:"pt-6",children:(0,C.jsx)("div",{className:"space-y-3",children:p.new_opinions.map((a,b)=>(0,C.jsxs)("div",{className:"p-3 bg-muted rounded-lg border border-border",children:[(0,C.jsx)("div",{className:"font-semibold text-foreground",children:a.text}),(0,C.jsxs)("div",{className:"text-sm text-muted-foreground mt-1",children:["Confidence: ",a.confidence?.toFixed(2)]})]},b))})})]})]})]})}let oK=(0,I.default)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),oL=(0,I.default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),oM=(0,I.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);function oN(){let a,b,c,d,e,f,g,h,i,j,k,l,n,o,{currentBank:p}=(0,G.useBank)(),[q,r]=(0,F.useState)(""),[s,t]=(0,F.useState)(["world"]),[u,v]=(0,F.useState)("mid"),[w,x]=(0,F.useState)(4096),[y,z]=(0,F.useState)(""),[A,B]=(0,F.useState)(!1),[D,E]=(0,F.useState)(!1),[I,J]=(0,F.useState)(""),[N,P]=(0,F.useState)("any"),[Q,R]=(0,F.useState)(null),[S,W]=(0,F.useState)(null),[X,Z]=(0,F.useState)(null),[$,_]=(0,F.useState)(null),[aa,ab]=(0,F.useState)(!1),[ac,ad]=(0,F.useState)("results"),[ae,af]=(0,F.useState)(null),[ag,ah]=(0,F.useState)(new Set),[ai,aj]=(0,F.useState)(new Set),ak=a=>{ah(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},al=a=>{aj(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},am=a=>{let b=a.id||a.node_id;af(Q?.find(a=>a.id===b||a.node_id===b)||a)},an=async()=>{if(!p)return void alert("Please select a memory bank first");if(!q||0===s.length){0===s.length&&alert("Please select at least one fact type");return}ab(!0);try{let a=I.split(",").map(a=>a.trim()).filter(a=>a.length>0),b={bank_id:p,query:q,types:s,budget:u,max_tokens:w,trace:!0,include:{entities:D?{max_tokens:500}:null,chunks:A?{max_tokens:8192}:null},...y&&{query_timestamp:y},...a.length>0&&{tags:a,tags_match:N}},c=await T.client.recall(b);R(c.results||[]),W(c.entities||null),Z(c.chunks||null),_(c.trace||null),ad("results")}catch(a){console.error("Error running search:",a),alert("Error running search: "+a.message)}finally{ab(!1)}};return p?(0,C.jsxs)("div",{className:"space-y-6",children:[(0,C.jsx)(nW,{children:(0,C.jsxs)(n$,{className:"pt-6",children:[(0,C.jsxs)("div",{className:"flex gap-3",children:[(0,C.jsxs)("div",{className:"flex-1 relative",children:[(0,C.jsx)(H.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),(0,C.jsx)(V.Input,{type:"text",value:q,onChange:a=>r(a.target.value),placeholder:"What would you like to recall?",className:"pl-10 h-12 text-lg",onKeyDown:a=>"Enter"===a.key&&an()})]}),(0,C.jsx)(U.Button,{onClick:an,disabled:aa||!q,className:"h-12 px-8",children:aa?"Searching...":"Recall"})]}),(0,C.jsxs)("div",{className:"flex flex-wrap items-center gap-6 mt-4 pt-4 border-t",children:[(0,C.jsxs)("div",{className:"flex items-center gap-4",children:[(0,C.jsx)("span",{className:"text-sm font-medium text-muted-foreground",children:"Types:"}),(0,C.jsx)("div",{className:"flex gap-3",children:["world","experience","opinion"].map(a=>(0,C.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer",children:[(0,C.jsx)(nV.Checkbox,{checked:s.includes(a),onCheckedChange:()=>{t(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a])}}),(0,C.jsx)("span",{className:"text-sm capitalize",children:a})]},a))})]}),(0,C.jsx)("div",{className:"h-6 w-px bg-border"}),(0,C.jsxs)("div",{className:"flex items-center gap-2",children:[(0,C.jsx)(oL,{className:"h-4 w-4 text-muted-foreground"}),(0,C.jsxs)(m7,{value:u,onValueChange:a=>v(a),children:[(0,C.jsx)(nQ,{className:"w-24 h-8",children:(0,C.jsx)(nb,{})}),(0,C.jsxs)(nT,{children:[(0,C.jsx)(nU,{value:"low",children:"Low"}),(0,C.jsx)(nU,{value:"mid",children:"Mid"}),(0,C.jsx)(nU,{value:"high",children:"High"})]})]})]}),(0,C.jsxs)("div",{className:"flex items-center gap-2",children:[(0,C.jsx)("span",{className:"text-sm text-muted-foreground",children:"Tokens:"}),(0,C.jsx)(V.Input,{type:"number",value:w,onChange:a=>x(parseInt(a.target.value)),className:"w-24 h-8"})]}),(0,C.jsxs)("div",{className:"flex items-center gap-2",children:[(0,C.jsx)(oK,{className:"h-4 w-4 text-muted-foreground"}),(0,C.jsx)(V.Input,{type:"datetime-local",value:y,onChange:a=>z(a.target.value),className:"h-8",placeholder:"Query date"})]}),(0,C.jsx)("div",{className:"h-6 w-px bg-border"}),(0,C.jsxs)("div",{className:"flex items-center gap-4",children:[(0,C.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer",children:[(0,C.jsx)(nV.Checkbox,{checked:A,onCheckedChange:a=>B(a)}),(0,C.jsx)(L,{className:"h-4 w-4 text-muted-foreground"}),(0,C.jsx)("span",{className:"text-sm",children:"Chunks"})]}),(0,C.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer",children:[(0,C.jsx)(nV.Checkbox,{checked:D,onCheckedChange:a=>E(a)}),(0,C.jsx)(M,{className:"h-4 w-4 text-muted-foreground"}),(0,C.jsx)("span",{className:"text-sm",children:"Entities"})]})]})]}),(0,C.jsxs)("div",{className:"flex items-center gap-4 mt-4 pt-4 border-t",children:[(0,C.jsx)(n0.Tag,{className:"h-4 w-4 text-muted-foreground"}),(0,C.jsx)("div",{className:"flex-1 max-w-md",children:(0,C.jsx)(V.Input,{type:"text",value:I,onChange:a=>J(a.target.value),placeholder:"Filter by tags (comma-separated)",className:"h-8"})}),(0,C.jsxs)(m7,{value:N,onValueChange:a=>P(a),children:[(0,C.jsx)(nQ,{className:"w-40 h-8",children:(0,C.jsx)(nb,{})}),(0,C.jsxs)(nT,{children:[(0,C.jsx)(nU,{value:"any",children:"Any (incl. untagged)"}),(0,C.jsx)(nU,{value:"all",children:"All (incl. untagged)"}),(0,C.jsx)(nU,{value:"any_strict",children:"Any (strict)"}),(0,C.jsx)(nU,{value:"all_strict",children:"All (strict)"})]})]})]})]})}),aa&&(0,C.jsx)(nW,{children:(0,C.jsxs)(n$,{className:"flex flex-col items-center justify-center py-16",children:[(0,C.jsx)("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mb-4"}),(0,C.jsx)("p",{className:"text-muted-foreground",children:"Searching memories..."})]})}),!aa&&Q&&(0,C.jsxs)("div",{className:"space-y-4",children:[$?.summary&&(0,C.jsxs)("div",{className:"flex items-center gap-6 text-sm",children:[(0,C.jsxs)("div",{className:"flex items-center gap-2",children:[(0,C.jsx)("span",{className:"text-muted-foreground",children:"Results:"}),(0,C.jsx)("span",{className:"font-semibold",children:Q.length})]}),(0,C.jsxs)("div",{className:"flex items-center gap-2",children:[(0,C.jsx)("span",{className:"text-muted-foreground",children:"Duration:"}),(0,C.jsxs)("span",{className:"font-semibold",children:[$.summary.total_duration_seconds?.toFixed(2),"s"]})]}),(0,C.jsxs)("div",{className:"flex items-center gap-2",children:[(0,C.jsx)("span",{className:"text-muted-foreground",children:"Nodes visited:"}),(0,C.jsx)("span",{className:"font-semibold",children:$.summary.total_nodes_visited})]}),(0,C.jsx)("div",{className:"flex-1"}),(0,C.jsx)("div",{className:"flex gap-1 bg-muted p-1 rounded-lg",children:["results","trace","json"].map(a=>(0,C.jsx)("button",{onClick:()=>ad(a),className:`px-3 py-1.5 text-sm font-medium rounded-md transition-colors ${ac===a?"bg-background shadow-sm":"text-muted-foreground hover:text-foreground"}`,children:"results"===a?"Results":"trace"===a?"Trace":"JSON"},a))})]}),"results"===ac&&(0,C.jsx)("div",{className:"space-y-3",children:0===Q.length?(0,C.jsx)(nW,{children:(0,C.jsxs)(n$,{className:"flex flex-col items-center justify-center py-12",children:[(0,C.jsx)(H.Search,{className:"h-12 w-12 text-muted-foreground mb-4"}),(0,C.jsx)("p",{className:"text-muted-foreground",children:"No memories found for this query."})]})}):Q.map((a,b)=>{let c=$?.visits?.find(b=>b.node_id===a.id),d=c?c.weights.final_weight:a.score||0;return(0,C.jsx)(nW,{className:"cursor-pointer hover:border-primary/50 transition-colors",onClick:()=>af(a),children:(0,C.jsx)(n$,{className:"py-4",children:(0,C.jsxs)("div",{className:"flex items-start gap-4",children:[(0,C.jsx)("div",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-primary/10 flex items-center justify-center",children:(0,C.jsx)("span",{className:"text-sm font-semibold text-primary",children:b+1})}),(0,C.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,C.jsx)("p",{className:"text-foreground",children:a.text}),(0,C.jsxs)("div",{className:"flex items-center gap-4 mt-2 text-xs text-muted-foreground",children:[(0,C.jsx)("span",{className:"px-2 py-0.5 rounded bg-muted capitalize",children:a.type||"world"}),a.context&&(0,C.jsx)("span",{className:"truncate max-w-xs",children:a.context}),a.occurred_start&&(0,C.jsx)("span",{children:new Date(a.occurred_start).toLocaleDateString()})]})]}),(0,C.jsxs)("div",{className:"flex-shrink-0 text-right",children:[(0,C.jsx)("div",{className:"text-sm font-semibold",children:d.toFixed(3)}),(0,C.jsx)("div",{className:"text-xs text-muted-foreground",children:"score"})]}),(0,C.jsx)(O,{className:"h-5 w-5 text-muted-foreground flex-shrink-0"})]})})},b)})}),"trace"===ac&&$&&(0,C.jsxs)("div",{className:"space-y-4",children:[$.retrieval_results&&$.retrieval_results.length>0&&(a={},$.retrieval_results.forEach(b=>{let c=b.fact_type||"all";a[c]||(a[c]=[]),a[c].push(b)}),b=Object.keys(a),(0,C.jsxs)("div",{children:[(0,C.jsxs)("div",{className:"text-xs font-medium text-muted-foreground mb-3 flex items-center gap-2",children:[(0,C.jsx)("div",{className:"flex-1 h-px bg-border"}),(0,C.jsx)("span",{children:"PARALLEL RETRIEVAL"}),(0,C.jsx)("div",{className:"flex-1 h-px bg-border"})]}),(0,C.jsx)("div",{className:"space-y-2",children:b.map((b,c)=>{let d=a[b],e=`lane-${b}`,f=ag.has(e),g=d.reduce((a,b)=>a+(b.results?.length||0),0),h=Math.max(...d.map(a=>a.duration_seconds||0)),i={world:{bg:"bg-blue-500/10",text:"text-blue-500",border:"border-blue-500/30"},experience:{bg:"bg-green-500/10",text:"text-green-500",border:"border-green-500/30"},opinion:{bg:"bg-purple-500/10",text:"text-purple-500",border:"border-purple-500/30"},all:{bg:"bg-gray-500/10",text:"text-gray-500",border:"border-gray-500/30"}},j=i[b]||i.all;return(0,C.jsx)(nW,{className:`transition-colors ${f?"border-primary":j.border}`,children:(0,C.jsxs)(n$,{className:"py-3 px-4",children:[(0,C.jsxs)("div",{className:"flex items-center gap-3 cursor-pointer",onClick:()=>ak(e),children:[(0,C.jsx)("div",{className:`w-8 h-8 rounded-lg ${j.bg} flex items-center justify-center`,children:(0,C.jsx)("span",{className:`text-sm font-bold ${j.text} capitalize`,children:b.charAt(0).toUpperCase()})}),(0,C.jsxs)("div",{className:"flex-1",children:[(0,C.jsxs)("div",{className:"flex items-center gap-2",children:[(0,C.jsx)("span",{className:"font-semibold text-foreground capitalize",children:b}),(0,C.jsxs)("span",{className:"text-xs text-muted-foreground",children:[d.length," methods"]})]}),(0,C.jsx)("div",{className:"flex gap-1.5 mt-1",children:d.map((a,b)=>(0,C.jsxs)("span",{className:"text-[10px] px-2 py-0.5 rounded-full bg-muted text-muted-foreground capitalize",children:[a.method_name,": ",a.results?.length||0]},b))})]}),(0,C.jsxs)("div",{className:"text-right",children:[(0,C.jsx)("div",{className:"text-2xl font-bold text-foreground",children:g}),(0,C.jsxs)("div",{className:"text-[10px] text-muted-foreground",children:[h.toFixed(2),"s"]})]}),f?(0,C.jsx)(nO,{className:"h-5 w-5 text-muted-foreground"}):(0,C.jsx)(O,{className:"h-5 w-5 text-muted-foreground"})]}),f&&(0,C.jsx)("div",{className:"mt-4 pt-4 border-t border-border",children:(0,C.jsx)("div",{className:`grid gap-3 ${1===d.length?"grid-cols-1":2===d.length?"grid-cols-2":3===d.length?"grid-cols-3":"grid-cols-4"}`,children:d.map((a,b)=>{let c,d,f,g,h=`${e}-method-${b}`,i=ag.has(h),j=a.results||[];return(0,C.jsxs)("div",{className:"flex flex-col",children:[(0,C.jsxs)("div",{className:`p-3 rounded-lg cursor-pointer transition-colors ${i?"bg-primary/10 border border-primary":"bg-muted/50 hover:bg-muted"}`,onClick:a=>{a.stopPropagation(),ak(h)},children:[(0,C.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,C.jsxs)("div",{className:"flex items-center gap-2",children:[(0,C.jsx)("span",{className:"font-medium text-sm text-foreground capitalize",children:a.method_name}),"temporal"===a.method_name&&a.metadata?.constraint&&(0,C.jsxs)("span",{className:"flex items-center gap-1 text-[10px] text-muted-foreground",children:[(0,C.jsx)(Y,{className:"h-3 w-3"}),a.metadata.constraint.start?new Date(a.metadata.constraint.start).toLocaleDateString():"any"," → ",a.metadata.constraint.end?new Date(a.metadata.constraint.end).toLocaleDateString():"any"]})]}),i?(0,C.jsx)(nO,{className:"h-3 w-3 text-muted-foreground"}):(0,C.jsx)(O,{className:"h-3 w-3 text-muted-foreground"})]}),(0,C.jsxs)("div",{className:"flex items-end justify-between",children:[(0,C.jsx)("div",{className:"text-2xl font-bold text-foreground",children:j.length}),(0,C.jsxs)("div",{className:"text-[10px] text-muted-foreground",children:[a.duration_seconds?.toFixed(2),"s"]})]})]}),i&&j.length>0&&(c=`results-${h}`,f=(d=ai.has(c))?j:j.slice(0,5),g=j.length>5,(0,C.jsxs)("div",{className:"mt-2 space-y-1.5 max-h-[300px] overflow-y-auto",children:[f.map((a,b)=>(0,C.jsx)("div",{className:"p-2 bg-background rounded cursor-pointer hover:bg-muted/50 transition-colors border border-border",onClick:b=>{b.stopPropagation(),am(a)},children:(0,C.jsxs)("div",{className:"flex items-start gap-2",children:[(0,C.jsx)("span",{className:"text-[10px] font-mono text-muted-foreground mt-0.5",children:b+1}),(0,C.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,C.jsx)("p",{className:"text-xs text-foreground line-clamp-2",children:a.text}),(0,C.jsx)("div",{className:"flex items-center gap-2 mt-1",children:(0,C.jsx)("span",{className:"text-[10px] text-muted-foreground",children:(a.score||a.similarity||0).toFixed(4)})})]})]})},b)),g&&(0,C.jsx)("button",{className:"w-full text-[10px] text-primary hover:text-primary/80 py-1.5 hover:bg-muted/50 rounded transition-colors",onClick:a=>{a.stopPropagation(),al(c)},children:d?"Show less":`View all ${j.length} results`})]}))]},h)})})})]})},e)})}),(0,C.jsx)("div",{className:"flex justify-center py-2",children:(0,C.jsx)("div",{className:"flex items-center gap-2",children:b.map((a,b)=>{let c={world:"bg-blue-500",experience:"bg-green-500",opinion:"bg-purple-500",all:"bg-gray-500"};return(0,C.jsx)("div",{className:"flex flex-col items-center",children:(0,C.jsx)("div",{className:`w-1 h-4 ${c[a]||c.all} rounded-full opacity-50`})},b)})})}),(0,C.jsx)("div",{className:"flex justify-center",children:(0,C.jsx)(oM,{className:"h-5 w-5 text-muted-foreground/50"})})]})),$.rrf_merged&&(c="rrf-merge",d=ag.has(c),(0,C.jsxs)("div",{children:[(0,C.jsx)(nW,{className:`cursor-pointer transition-colors ${d?"border-primary":"hover:border-primary/50"}`,onClick:()=>ak(c),children:(0,C.jsx)(n$,{className:"py-4",children:(0,C.jsxs)("div",{className:"flex items-center gap-4",children:[(0,C.jsx)("div",{className:"flex-shrink-0 w-10 h-10 rounded-full bg-purple-500/10 flex items-center justify-center",children:(0,C.jsx)("span",{className:"text-sm font-bold text-purple-500",children:"∪"})}),(0,C.jsxs)("div",{className:"flex-1",children:[(0,C.jsxs)("div",{className:"flex items-center gap-2",children:[(0,C.jsx)("span",{className:"font-semibold text-foreground",children:"RRF Fusion"}),(0,C.jsx)("span",{className:"text-xs px-2 py-0.5 rounded bg-muted text-muted-foreground",children:"merge"})]}),(0,C.jsx)("div",{className:"text-sm text-muted-foreground mt-0.5",children:"Reciprocal Rank Fusion of all retrieval results"})]}),(0,C.jsx)("div",{className:"text-2xl font-bold text-foreground",children:$.rrf_merged.length}),d?(0,C.jsx)(nO,{className:"h-5 w-5 text-muted-foreground"}):(0,C.jsx)(O,{className:"h-5 w-5 text-muted-foreground"})]})})}),d&&$.rrf_merged.length>0&&(e="results-rrf",g=(f=ai.has(e))?$.rrf_merged:$.rrf_merged.slice(0,5),h=$.rrf_merged.length>5,(0,C.jsxs)("div",{className:"ml-6 mt-2 space-y-2 border-l-2 border-muted pl-4 max-h-[400px] overflow-y-auto",children:[g.map((a,b)=>(0,C.jsx)("div",{className:"p-3 bg-muted/30 rounded-lg cursor-pointer hover:bg-muted/50 transition-colors",onClick:b=>{b.stopPropagation(),am(a)},children:(0,C.jsxs)("div",{className:"flex items-start gap-3",children:[(0,C.jsx)("span",{className:"text-xs font-mono text-muted-foreground",children:b+1}),(0,C.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,C.jsx)("p",{className:"text-sm text-foreground line-clamp-2",children:a.text}),(0,C.jsxs)("div",{className:"text-xs text-muted-foreground mt-1",children:["RRF Score: ",(a.rrf_score||a.score||0).toFixed(4)]})]})]})},b)),h&&(0,C.jsx)("button",{className:"w-full text-xs text-primary hover:text-primary/80 py-2 hover:bg-muted/50 rounded transition-colors",onClick:a=>{a.stopPropagation(),al(e)},children:f?"Show less":`View all ${$.rrf_merged.length} results`})]})),(0,C.jsx)("div",{className:"flex justify-center py-2",children:(0,C.jsx)(oM,{className:"h-4 w-4 text-muted-foreground/50"})})]})),$.reranked&&(i="reranking",j=ag.has(i),(0,C.jsxs)("div",{children:[(0,C.jsx)(nW,{className:`cursor-pointer transition-colors ${j?"border-primary":"hover:border-primary/50"}`,onClick:()=>ak(i),children:(0,C.jsx)(n$,{className:"py-4",children:(0,C.jsxs)("div",{className:"flex items-center gap-4",children:[(0,C.jsx)("div",{className:"flex-shrink-0 w-10 h-10 rounded-full bg-amber-500/10 flex items-center justify-center",children:(0,C.jsx)("span",{className:"text-sm font-bold text-amber-500",children:"⚡"})}),(0,C.jsxs)("div",{className:"flex-1",children:[(0,C.jsxs)("div",{className:"flex items-center gap-2",children:[(0,C.jsx)("span",{className:"font-semibold text-foreground",children:"Combined Scoring"}),(0,C.jsx)("span",{className:"text-xs px-2 py-0.5 rounded bg-muted text-muted-foreground",children:"rerank"})]}),(0,C.jsx)("div",{className:"text-sm text-muted-foreground mt-0.5",children:(0,C.jsx)("span",{className:"font-mono text-xs",children:"0.6×cross_encoder + 0.2×rrf + 0.1×temporal + 0.1×recency"})})]}),(0,C.jsx)("div",{className:"text-2xl font-bold text-foreground",children:$.reranked.length}),j?(0,C.jsx)(nO,{className:"h-5 w-5 text-muted-foreground"}):(0,C.jsx)(O,{className:"h-5 w-5 text-muted-foreground"})]})})}),j&&$.reranked.length>0&&(k="results-rerank",n=(l=ai.has(k))?$.reranked:$.reranked.slice(0,5),o=$.reranked.length>5,(0,C.jsxs)("div",{className:"ml-6 mt-2 space-y-2 border-l-2 border-muted pl-4 max-h-[400px] overflow-y-auto",children:[n.map((a,b)=>{let c=a.score_components||{};return(0,C.jsx)("div",{className:"p-3 bg-muted/30 rounded-lg cursor-pointer hover:bg-muted/50 transition-colors",onClick:b=>{b.stopPropagation(),am(a)},children:(0,C.jsxs)("div",{className:"flex items-start gap-3",children:[(0,C.jsx)("span",{className:"text-xs font-mono text-muted-foreground",children:b+1}),(0,C.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,C.jsx)("p",{className:"text-sm text-foreground line-clamp-2",children:a.text}),(0,C.jsxs)("div",{className:"flex flex-wrap gap-x-3 gap-y-1 mt-2 text-[10px] text-muted-foreground font-mono",children:[(0,C.jsxs)("span",{className:"font-semibold text-foreground",children:["= ",(a.rerank_score||a.score||0).toFixed(4)]}),void 0!==c.cross_encoder_score_normalized&&(0,C.jsxs)("span",{title:"Cross-encoder (60%)",children:["CE: ",c.cross_encoder_score_normalized.toFixed(3)]}),void 0!==c.rrf_normalized&&(0,C.jsxs)("span",{title:`RRF normalized (20%) - raw: ${c.rrf_score?.toFixed(4)||"N/A"}`,children:["RRF: ",c.rrf_normalized.toFixed(3)]}),void 0!==c.temporal&&(0,C.jsxs)("span",{title:"Temporal proximity (10%)",children:["Tmp: ",c.temporal.toFixed(3)]}),void 0!==c.recency&&(0,C.jsxs)("span",{title:"Recency (10%)",children:["Rec: ",c.recency.toFixed(3)]})]})]})]})},b)}),o&&(0,C.jsx)("button",{className:"w-full text-xs text-primary hover:text-primary/80 py-2 hover:bg-muted/50 rounded transition-colors",onClick:a=>{a.stopPropagation(),al(k)},children:l?"Show less":`View all ${$.reranked.length} results`})]})),(0,C.jsx)("div",{className:"flex justify-center py-2",children:(0,C.jsx)(oM,{className:"h-4 w-4 text-muted-foreground/50"})})]})),(0,C.jsx)(nW,{className:"border-primary bg-primary/5",children:(0,C.jsx)(n$,{className:"py-4",children:(0,C.jsxs)("div",{className:"flex items-center gap-4",children:[(0,C.jsx)("div",{className:"flex-shrink-0 w-10 h-10 rounded-full bg-primary/20 flex items-center justify-center",children:(0,C.jsx)("span",{className:"text-sm font-bold text-primary",children:"✓"})}),(0,C.jsxs)("div",{className:"flex-1",children:[(0,C.jsxs)("div",{className:"flex items-center gap-2",children:[(0,C.jsx)("span",{className:"font-semibold text-foreground",children:"Final Results"}),(0,C.jsx)("span",{className:"text-xs px-2 py-0.5 rounded bg-primary/20 text-primary",children:"output"})]}),(0,C.jsx)("div",{className:"text-sm text-muted-foreground mt-0.5",children:"Top results after all processing steps"})]}),(0,C.jsx)("div",{className:"text-2xl font-bold text-primary",children:Q?.length||0})]})})})]}),"json"===ac&&(0,C.jsxs)(nW,{children:[(0,C.jsx)(nX,{children:(0,C.jsx)(nY,{className:"text-lg",children:"Raw Response"})}),(0,C.jsx)(n$,{children:(0,C.jsx)("div",{className:"bg-muted p-4 rounded-lg overflow-auto max-h-[600px]",children:(0,C.jsx)(oI,{src:{results:Q,...S&&{entities:S},...X&&{chunks:X},trace:$},collapsed:2,theme:"default"})})})]})]}),!aa&&!Q&&(0,C.jsx)(nW,{className:"border-dashed",children:(0,C.jsxs)(n$,{className:"flex flex-col items-center justify-center py-16",children:[(0,C.jsx)(H.Search,{className:"h-12 w-12 text-muted-foreground mb-4"}),(0,C.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Ready to Recall"}),(0,C.jsx)("p",{className:"text-muted-foreground text-center max-w-md",children:"Enter a query above to search through your memories. Use filters to narrow down by fact type, budget, and more."})]})}),ae&&(0,C.jsx)("div",{className:"fixed right-0 top-0 h-screen w-[420px] bg-card border-l shadow-2xl z-50 overflow-y-auto",children:(0,C.jsx)(bj,{memory:ae,onClose:()=>af(null),inPanel:!0,bankId:p||void 0})})]}):(0,C.jsx)(nW,{className:"border-dashed",children:(0,C.jsxs)(n$,{className:"flex flex-col items-center justify-center py-16",children:[(0,C.jsx)(K,{className:"h-12 w-12 text-muted-foreground mb-4"}),(0,C.jsx)("h3",{className:"text-xl font-semibold mb-2",children:"No Bank Selected"}),(0,C.jsx)("p",{className:"text-muted-foreground",children:"Select a memory bank to start recalling."})]})})}let oO=(0,I.default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),oP=(0,I.default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]),oQ=(0,I.default)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]),oR=(0,I.default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),oS=(0,I.default)("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),oT=(0,I.default)("link-2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]),oU=(0,I.default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]),oV=(0,I.default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]),oW={skepticism:{label:"Skepticism",shortLabel:"S",description:"How skeptical vs trusting when forming opinions",lowLabel:"Trusting",highLabel:"Skeptical"},literalism:{label:"Literalism",shortLabel:"L",description:"How literally to interpret information when forming opinions",lowLabel:"Flexible",highLabel:"Literal"},empathy:{label:"Empathy",shortLabel:"E",description:"How much to consider emotional context when forming opinions",lowLabel:"Detached",highLabel:"Empathetic"}};function oX({disposition:a,editMode:b,editDisposition:c,onEditChange:d}){let e=b?c:a;return(0,C.jsx)("div",{className:"space-y-4",children:Object.keys(oW).map(a=>(0,C.jsxs)("div",{className:"space-y-2",children:[(0,C.jsxs)("div",{className:"flex justify-between items-center",children:[(0,C.jsxs)("div",{children:[(0,C.jsx)("label",{className:"text-sm font-medium text-foreground",children:oW[a].label}),(0,C.jsx)("p",{className:"text-xs text-muted-foreground",children:oW[a].description})]}),(0,C.jsxs)("span",{className:"text-sm font-bold text-primary",children:[e[a],"/5"]})]}),b?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsxs)("div",{className:"flex justify-between text-[10px] text-muted-foreground",children:[(0,C.jsx)("span",{children:oW[a].lowLabel}),(0,C.jsx)("span",{children:oW[a].highLabel})]}),(0,C.jsx)("input",{type:"range",min:"1",max:"5",step:"1",value:c[a],onChange:b=>d(a,parseInt(b.target.value)),className:"w-full h-2 bg-muted rounded-lg appearance-none cursor-pointer accent-primary"})]}):(0,C.jsxs)("div",{className:"flex items-center gap-2",children:[(0,C.jsx)("span",{className:"text-xs text-muted-foreground",children:oW[a].lowLabel}),(0,C.jsx)("div",{className:"flex-1 h-2 bg-muted rounded-full overflow-hidden",children:(0,C.jsx)("div",{className:"h-full bg-primary rounded-full transition-all",style:{width:`${(e[a]-1)/4*100}%`}})}),(0,C.jsx)("span",{className:"text-xs text-muted-foreground",children:oW[a].highLabel})]})]},a))})}function oY(){let a=(0,D.useRouter)(),{currentBank:b,setCurrentBank:c,loadBanks:d}=(0,G.useBank)(),[e,f]=(0,F.useState)(null),[g,h]=(0,F.useState)(null),[i,j]=(0,F.useState)([]),[k,l]=(0,F.useState)(!1),[n,o]=(0,F.useState)(!1),[p,q]=(0,F.useState)(!1),[r,s]=(0,F.useState)(!1),[t,u]=(0,F.useState)(!1),[v,w]=(0,F.useState)(""),[x,y]=(0,F.useState)({skepticism:3,literalism:3,empathy:3}),z=async()=>{if(b){l(!0);try{let[a,c,d]=await Promise.all([T.client.getBankProfile(b),T.client.getBankStats(b),T.client.listOperations(b)]);f(a),h(c),j(d?.operations||[]),w(a.background),y(a.disposition)}catch(a){console.error("Error loading bank profile:",a),alert("Error loading bank profile: "+a.message)}finally{l(!1)}}},A=async()=>{if(b){o(!0);try{await T.client.updateBankProfile(b,{background:v,disposition:x}),await z(),q(!1)}catch(a){console.error("Error saving bank profile:",a),alert("Error saving bank profile: "+a.message)}finally{o(!1)}}},B=async()=>{if(b){u(!0);try{await T.client.deleteBank(b),s(!1),c(null),await d(),a.push("/")}catch(a){console.error("Error deleting bank:",a),alert("Error deleting bank: "+a.message)}finally{u(!1)}}};return((0,F.useEffect)(()=>{if(b){z();let a=setInterval(z,5e3);return()=>clearInterval(a)}},[b]),b)?k&&!e?(0,C.jsx)(nW,{children:(0,C.jsxs)(n$,{className:"text-center py-10",children:[(0,C.jsx)(oK,{className:"w-12 h-12 mx-auto mb-3 text-muted-foreground animate-pulse"}),(0,C.jsx)("div",{className:"text-lg text-muted-foreground",children:"Loading profile..."})]})}):(0,C.jsxs)("div",{className:"space-y-6",children:[(0,C.jsxs)("div",{className:"flex justify-between items-center",children:[(0,C.jsxs)("div",{children:[(0,C.jsx)("h2",{className:"text-2xl font-bold text-foreground",children:e?.name||b}),(0,C.jsx)("p",{className:"text-sm text-muted-foreground font-mono",children:b})]}),(0,C.jsx)("div",{className:"flex gap-2",children:p?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(U.Button,{onClick:()=>{e&&(w(e.background),y(e.disposition)),q(!1)},variant:"secondary",disabled:n,children:"Cancel"}),(0,C.jsx)(U.Button,{onClick:A,disabled:n,children:n?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(oO,{className:"w-4 h-4 mr-2 animate-spin"}),"Saving..."]}):(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(oP,{className:"w-4 h-4 mr-2"}),"Save Changes"]})})]}):(0,C.jsxs)(C.Fragment,{children:[(0,C.jsxs)(U.Button,{onClick:z,variant:"secondary",size:"sm",children:[(0,C.jsx)(oO,{className:"w-4 h-4 mr-2"}),"Refresh"]}),(0,C.jsx)(U.Button,{onClick:()=>q(!0),size:"sm",children:"Edit Profile"}),(0,C.jsxs)(U.Button,{onClick:()=>s(!0),variant:"destructive",size:"sm",children:[(0,C.jsx)(mF,{className:"w-4 h-4 mr-2"}),"Delete Bank"]})]})})]}),g&&(0,C.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[(0,C.jsx)(nW,{className:"bg-gradient-to-br from-blue-500/10 to-blue-600/5 border-blue-500/20",children:(0,C.jsx)(n$,{className:"p-4",children:(0,C.jsxs)("div",{className:"flex items-center gap-3",children:[(0,C.jsx)("div",{className:"p-2 rounded-lg bg-blue-500/20",children:(0,C.jsx)(K,{className:"w-5 h-5 text-blue-500"})}),(0,C.jsxs)("div",{children:[(0,C.jsx)("p",{className:"text-xs text-muted-foreground font-medium",children:"Memories"}),(0,C.jsx)("p",{className:"text-2xl font-bold text-foreground",children:g.total_nodes})]})]})})}),(0,C.jsx)(nW,{className:"bg-gradient-to-br from-purple-500/10 to-purple-600/5 border-purple-500/20",children:(0,C.jsx)(n$,{className:"p-4",children:(0,C.jsxs)("div",{className:"flex items-center gap-3",children:[(0,C.jsx)("div",{className:"p-2 rounded-lg bg-purple-500/20",children:(0,C.jsx)(oT,{className:"w-5 h-5 text-purple-500"})}),(0,C.jsxs)("div",{children:[(0,C.jsx)("p",{className:"text-xs text-muted-foreground font-medium",children:"Links"}),(0,C.jsx)("p",{className:"text-2xl font-bold text-foreground",children:g.total_links})]})]})})}),(0,C.jsx)(nW,{className:"bg-gradient-to-br from-emerald-500/10 to-emerald-600/5 border-emerald-500/20",children:(0,C.jsx)(n$,{className:"p-4",children:(0,C.jsxs)("div",{className:"flex items-center gap-3",children:[(0,C.jsx)("div",{className:"p-2 rounded-lg bg-emerald-500/20",children:(0,C.jsx)(oU,{className:"w-5 h-5 text-emerald-500"})}),(0,C.jsxs)("div",{children:[(0,C.jsx)("p",{className:"text-xs text-muted-foreground font-medium",children:"Documents"}),(0,C.jsx)("p",{className:"text-2xl font-bold text-foreground",children:g.total_documents})]})]})})}),(0,C.jsx)(nW,{className:`bg-gradient-to-br ${g.pending_operations>0?"from-amber-500/10 to-amber-600/5 border-amber-500/20":"from-slate-500/10 to-slate-600/5 border-slate-500/20"}`,children:(0,C.jsx)(n$,{className:"p-4",children:(0,C.jsxs)("div",{className:"flex items-center gap-3",children:[(0,C.jsx)("div",{className:`p-2 rounded-lg ${g.pending_operations>0?"bg-amber-500/20":"bg-slate-500/20"}`,children:(0,C.jsx)(oV,{className:`w-5 h-5 ${g.pending_operations>0?"text-amber-500 animate-pulse":"text-slate-500"}`})}),(0,C.jsxs)("div",{children:[(0,C.jsx)("p",{className:"text-xs text-muted-foreground font-medium",children:"Pending"}),(0,C.jsx)("p",{className:"text-2xl font-bold text-foreground",children:g.pending_operations})]})]})})})]}),g&&(0,C.jsxs)("div",{className:"grid grid-cols-3 gap-3",children:[(0,C.jsxs)("div",{className:"bg-blue-500/10 border border-blue-500/20 rounded-xl p-4 text-center",children:[(0,C.jsx)("p",{className:"text-xs text-blue-600 dark:text-blue-400 font-semibold uppercase tracking-wide",children:"World Facts"}),(0,C.jsx)("p",{className:"text-2xl font-bold text-blue-600 dark:text-blue-400 mt-1",children:g.nodes_by_fact_type?.world||0})]}),(0,C.jsxs)("div",{className:"bg-purple-500/10 border border-purple-500/20 rounded-xl p-4 text-center",children:[(0,C.jsx)("p",{className:"text-xs text-purple-600 dark:text-purple-400 font-semibold uppercase tracking-wide",children:"Experience"}),(0,C.jsx)("p",{className:"text-2xl font-bold text-purple-600 dark:text-purple-400 mt-1",children:g.nodes_by_fact_type?.experience||0})]}),(0,C.jsxs)("div",{className:"bg-amber-500/10 border border-amber-500/20 rounded-xl p-4 text-center",children:[(0,C.jsx)("p",{className:"text-xs text-amber-600 dark:text-amber-400 font-semibold uppercase tracking-wide",children:"Opinions"}),(0,C.jsx)("p",{className:"text-2xl font-bold text-amber-600 dark:text-amber-400 mt-1",children:g.nodes_by_fact_type?.opinion||0})]})]}),(0,C.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[(0,C.jsxs)(nW,{children:[(0,C.jsxs)(nX,{className:"pb-2",children:[(0,C.jsxs)(nY,{className:"flex items-center gap-2 text-lg",children:[(0,C.jsx)(oQ,{className:"w-5 h-5 text-primary"}),"Disposition Profile"]}),(0,C.jsx)(nZ,{children:"Traits that shape how opinions are formed via Reflect"})]}),(0,C.jsx)(n$,{children:e&&(0,C.jsx)(oX,{disposition:e.disposition,editMode:p,editDisposition:x,onEditChange:(a,b)=>y(c=>({...c,[a]:b}))})})]}),(0,C.jsx)("div",{className:"space-y-6",children:(0,C.jsxs)(nW,{children:[(0,C.jsxs)(nX,{className:"pb-2",children:[(0,C.jsxs)(nY,{className:"flex items-center gap-2 text-lg",children:[(0,C.jsx)(L,{className:"w-5 h-5 text-primary"}),"Background"]}),(0,C.jsx)(nZ,{children:"Context used when forming opinions via Reflect"})]}),(0,C.jsx)(n$,{children:p?(0,C.jsx)(mI.Textarea,{value:v,onChange:a=>w(a.target.value),placeholder:"Enter background information...",rows:5,className:"resize-none"}):(0,C.jsx)("p",{className:"text-sm text-foreground whitespace-pre-wrap leading-relaxed",children:e?.background||"No background information provided."})})]})})]}),(0,C.jsxs)(nW,{children:[(0,C.jsx)(nX,{className:"pb-2",children:(0,C.jsxs)("div",{className:"flex items-center justify-between",children:[(0,C.jsxs)("div",{children:[(0,C.jsxs)(nY,{className:"flex items-center gap-2 text-lg",children:[(0,C.jsx)(oV,{className:"w-5 h-5 text-primary"}),"Background Operations"]}),(0,C.jsx)(nZ,{children:"Async tasks processing memories"})]}),g&&(g.pending_operations>0||g.failed_operations>0)&&(0,C.jsxs)("div",{className:"flex gap-3",children:[g.pending_operations>0&&(0,C.jsxs)("div",{className:"flex items-center gap-1.5 px-2.5 py-1 rounded-full bg-amber-500/10 border border-amber-500/20",children:[(0,C.jsx)(oK,{className:"w-3.5 h-3.5 text-amber-500"}),(0,C.jsxs)("span",{className:"text-xs font-semibold text-amber-600 dark:text-amber-400",children:[g.pending_operations," pending"]})]}),g.failed_operations>0&&(0,C.jsxs)("div",{className:"flex items-center gap-1.5 px-2.5 py-1 rounded-full bg-red-500/10 border border-red-500/20",children:[(0,C.jsx)(oR,{className:"w-3.5 h-3.5 text-red-500"}),(0,C.jsxs)("span",{className:"text-xs font-semibold text-red-600 dark:text-red-400",children:[g.failed_operations," failed"]})]})]})]})}),(0,C.jsx)(n$,{children:i.length>0?(0,C.jsx)("div",{className:"overflow-x-auto",children:(0,C.jsxs)(ab,{children:[(0,C.jsx)(ac,{children:(0,C.jsxs)(ae,{children:[(0,C.jsx)(af,{className:"w-[100px]",children:"ID"}),(0,C.jsx)(af,{children:"Type"}),(0,C.jsx)(af,{className:"text-center",children:"Items"}),(0,C.jsx)(af,{children:"Document"}),(0,C.jsx)(af,{children:"Created"}),(0,C.jsx)(af,{children:"Status"})]})}),(0,C.jsx)(ad,{children:i.slice(0,10).map(a=>(0,C.jsxs)(ae,{className:"failed"===a.status?"bg-red-500/5":"",children:[(0,C.jsx)(ag,{className:"font-mono text-xs text-muted-foreground",children:a.id.substring(0,8)}),(0,C.jsx)(ag,{className:"font-medium",children:a.task_type}),(0,C.jsx)(ag,{className:"text-center",children:a.items_count}),(0,C.jsx)(ag,{className:"font-mono text-xs text-muted-foreground",children:a.document_id?a.document_id.substring(0,12)+"...":"—"}),(0,C.jsx)(ag,{className:"text-sm text-muted-foreground",children:new Date(a.created_at).toLocaleString()}),(0,C.jsxs)(ag,{children:["pending"===a.status&&(0,C.jsxs)("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded-full text-xs font-medium bg-amber-500/10 text-amber-600 dark:text-amber-400 border border-amber-500/20",children:[(0,C.jsx)(oK,{className:"w-3 h-3"}),"pending"]}),"failed"===a.status&&(0,C.jsxs)("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded-full text-xs font-medium bg-red-500/10 text-red-600 dark:text-red-400 border border-red-500/20",title:a.error_message,children:[(0,C.jsx)(oR,{className:"w-3 h-3"}),"failed"]}),"completed"===a.status&&(0,C.jsxs)("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded-full text-xs font-medium bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 border border-emerald-500/20",children:[(0,C.jsx)(oS,{className:"w-3 h-3"}),"done"]})]})]},a.id))})]})}):(0,C.jsx)("p",{className:"text-muted-foreground text-center py-8 text-sm",children:"No background operations"})})]}),(0,C.jsx)(mh,{open:r,onOpenChange:s,children:(0,C.jsxs)(my,{children:[(0,C.jsxs)(mz,{children:[(0,C.jsx)(mB,{children:"Delete Memory Bank"}),(0,C.jsx)(mC,{asChild:!0,children:(0,C.jsxs)("div",{className:"space-y-2 text-sm text-muted-foreground",children:[(0,C.jsxs)("p",{children:["Are you sure you want to delete the memory bank"," ",(0,C.jsx)("span",{className:"font-semibold text-foreground",children:b}),"?"]}),(0,C.jsx)("p",{className:"text-red-600 dark:text-red-400 font-medium",children:"This action cannot be undone. All memories, entities, documents, and the bank profile will be permanently deleted."}),g&&(0,C.jsxs)("p",{children:["This will delete ",g.total_nodes," memories, ",g.total_documents," ","documents, and ",g.total_links," links."]})]})})]}),(0,C.jsxs)(mA,{children:[(0,C.jsx)(mE,{disabled:t,children:"Cancel"}),(0,C.jsx)(mD,{onClick:B,disabled:t,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:t?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(oO,{className:"w-4 h-4 mr-2 animate-spin"}),"Deleting..."]}):(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(mF,{className:"w-4 h-4 mr-2"}),"Delete Bank"]})})]})]})})]}):(0,C.jsx)(nW,{children:(0,C.jsxs)(n$,{className:"p-10 text-center",children:[(0,C.jsx)("h3",{className:"text-xl font-semibold mb-2 text-card-foreground",children:"No Bank Selected"}),(0,C.jsx)("p",{className:"text-muted-foreground",children:"Please select a memory bank from the dropdown above to view its profile."})]})})}function oZ(){let a=(0,D.useParams)(),b=(0,D.useRouter)(),c=(0,D.useSearchParams)(),d=a.bankId,e=c.get("view")||"profile",f=c.get("subTab")||"world",g=a=>{b.push(`/banks/${d}?view=data&subTab=${a}`)};return(0,C.jsxs)("div",{className:"min-h-screen bg-background flex flex-col",children:[(0,C.jsx)(E.BankSelector,{}),(0,C.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,C.jsx)(S,{currentTab:e,onTabChange:a=>{b.push(`/banks/${d}?view=${a}`)}}),(0,C.jsx)("main",{className:"flex-1 overflow-y-auto",children:(0,C.jsxs)("div",{className:"p-6",children:["profile"===e&&(0,C.jsxs)("div",{children:[(0,C.jsx)("h1",{className:"text-3xl font-bold mb-2 text-foreground",children:"Bank Profile"}),(0,C.jsx)("p",{className:"text-muted-foreground mb-6",children:"View and edit the memory bank profile, disposition traits, and background information."}),(0,C.jsx)(oY,{})]}),"recall"===e&&(0,C.jsxs)("div",{children:[(0,C.jsx)("h1",{className:"text-3xl font-bold mb-2 text-foreground",children:"Recall Analyzer"}),(0,C.jsx)("p",{className:"text-muted-foreground mb-6",children:"Analyze memory recall with detailed trace information and retrieval methods."}),(0,C.jsx)(oN,{})]}),"reflect"===e&&(0,C.jsxs)("div",{children:[(0,C.jsx)("h1",{className:"text-3xl font-bold mb-2 text-foreground",children:"Reflect"}),(0,C.jsx)("p",{className:"text-muted-foreground mb-6",children:"Ask questions and get AI-powered answers based on stored memories."}),(0,C.jsx)(oJ,{})]}),"data"===e&&(0,C.jsxs)("div",{children:[(0,C.jsx)("h1",{className:"text-3xl font-bold mb-2 text-foreground",children:"Memories"}),(0,C.jsx)("p",{className:"text-muted-foreground mb-6",children:"View and explore different types of memories stored in this memory bank."}),(0,C.jsx)("div",{className:"mb-6 border-b border-border",children:(0,C.jsxs)("div",{className:"flex gap-1",children:[(0,C.jsxs)("button",{onClick:()=>g("world"),className:`px-6 py-3 font-semibold text-sm transition-all relative ${"world"===f?"text-primary":"text-muted-foreground hover:text-foreground"}`,children:["World Facts","world"===f&&(0,C.jsx)("div",{className:"absolute bottom-0 left-0 right-0 h-0.5 bg-primary"})]}),(0,C.jsxs)("button",{onClick:()=>g("experience"),className:`px-6 py-3 font-semibold text-sm transition-all relative ${"experience"===f?"text-primary":"text-muted-foreground hover:text-foreground"}`,children:["Experience","experience"===f&&(0,C.jsx)("div",{className:"absolute bottom-0 left-0 right-0 h-0.5 bg-primary"})]}),(0,C.jsxs)("button",{onClick:()=>g("opinion"),className:`px-6 py-3 font-semibold text-sm transition-all relative ${"opinion"===f?"text-primary":"text-muted-foreground hover:text-foreground"}`,children:["Opinions","opinion"===f&&(0,C.jsx)("div",{className:"absolute bottom-0 left-0 right-0 h-0.5 bg-primary"})]})]})}),(0,C.jsxs)("div",{children:["world"===f&&(0,C.jsx)(l9,{factType:"world"},"world"),"experience"===f&&(0,C.jsx)(l9,{factType:"experience"},"experience"),"opinion"===f&&(0,C.jsx)(l9,{factType:"opinion"},"opinion")]})]}),"documents"===e&&(0,C.jsxs)("div",{children:[(0,C.jsx)("h1",{className:"text-3xl font-bold mb-2 text-foreground",children:"Documents"}),(0,C.jsx)("p",{className:"text-muted-foreground mb-6",children:"Manage documents and retain new memories."}),(0,C.jsx)(mG,{})]}),"entities"===e&&(0,C.jsxs)("div",{children:[(0,C.jsx)("h1",{className:"text-3xl font-bold mb-2 text-foreground",children:"Entities"}),(0,C.jsx)("p",{className:"text-muted-foreground mb-6",children:"Explore entities (people, organizations, places) mentioned in memories."}),(0,C.jsx)(mH,{})]})]})})]})]})}a.s(["default",()=>oZ],73101)}];
8
+
9
+ //# sourceMappingURL=_407ede86._.js.map