@ltm-alpha/alpha-cs 1.6.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 (1107) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +972 -0
  3. package/dist/bin/command-supervision.d.ts +49 -0
  4. package/dist/bin/command-supervision.d.ts.map +1 -0
  5. package/dist/bin/command-supervision.js +95 -0
  6. package/dist/bin/command-supervision.js.map +1 -0
  7. package/dist/bin/fatal-handler.d.ts +20 -0
  8. package/dist/bin/fatal-handler.d.ts.map +1 -0
  9. package/dist/bin/fatal-handler.js +118 -0
  10. package/dist/bin/fatal-handler.js.map +1 -0
  11. package/dist/bin/ltm-alpha-cs.d.ts +27 -0
  12. package/dist/bin/ltm-alpha-cs.d.ts.map +1 -0
  13. package/dist/bin/ltm-alpha-cs.js +2643 -0
  14. package/dist/bin/ltm-alpha-cs.js.map +1 -0
  15. package/dist/bin/node-version-check.d.ts +37 -0
  16. package/dist/bin/node-version-check.d.ts.map +1 -0
  17. package/dist/bin/node-version-check.js +79 -0
  18. package/dist/bin/node-version-check.js.map +1 -0
  19. package/dist/bin/uninstall.d.ts +14 -0
  20. package/dist/bin/uninstall.d.ts.map +1 -0
  21. package/dist/bin/uninstall.js +36 -0
  22. package/dist/bin/uninstall.js.map +1 -0
  23. package/dist/context/formatter.d.ts +36 -0
  24. package/dist/context/formatter.d.ts.map +1 -0
  25. package/dist/context/formatter.js +269 -0
  26. package/dist/context/formatter.js.map +1 -0
  27. package/dist/context/index.d.ts +131 -0
  28. package/dist/context/index.d.ts.map +1 -0
  29. package/dist/context/index.js +1378 -0
  30. package/dist/context/index.js.map +1 -0
  31. package/dist/context/markers.d.ts +19 -0
  32. package/dist/context/markers.d.ts.map +1 -0
  33. package/dist/context/markers.js +22 -0
  34. package/dist/context/markers.js.map +1 -0
  35. package/dist/db/index.d.ts +385 -0
  36. package/dist/db/index.d.ts.map +1 -0
  37. package/dist/db/index.js +902 -0
  38. package/dist/db/index.js.map +1 -0
  39. package/dist/db/migrations.d.ts +44 -0
  40. package/dist/db/migrations.d.ts.map +1 -0
  41. package/dist/db/migrations.js +236 -0
  42. package/dist/db/migrations.js.map +1 -0
  43. package/dist/db/queries.d.ts +1095 -0
  44. package/dist/db/queries.d.ts.map +1 -0
  45. package/dist/db/queries.js +3285 -0
  46. package/dist/db/queries.js.map +1 -0
  47. package/dist/db/schema.sql +207 -0
  48. package/dist/db/sqlite-adapter.d.ts +55 -0
  49. package/dist/db/sqlite-adapter.d.ts.map +1 -0
  50. package/dist/db/sqlite-adapter.js +135 -0
  51. package/dist/db/sqlite-adapter.js.map +1 -0
  52. package/dist/db/wal-valve.d.ts +139 -0
  53. package/dist/db/wal-valve.d.ts.map +1 -0
  54. package/dist/db/wal-valve.js +333 -0
  55. package/dist/db/wal-valve.js.map +1 -0
  56. package/dist/directory.d.ts +232 -0
  57. package/dist/directory.d.ts.map +1 -0
  58. package/dist/directory.js +877 -0
  59. package/dist/directory.js.map +1 -0
  60. package/dist/errors.d.ts +150 -0
  61. package/dist/errors.d.ts.map +1 -0
  62. package/dist/errors.js +234 -0
  63. package/dist/errors.js.map +1 -0
  64. package/dist/extraction/astro-extractor.d.ts +79 -0
  65. package/dist/extraction/astro-extractor.d.ts.map +1 -0
  66. package/dist/extraction/astro-extractor.js +320 -0
  67. package/dist/extraction/astro-extractor.js.map +1 -0
  68. package/dist/extraction/cfml-extractor.d.ts +107 -0
  69. package/dist/extraction/cfml-extractor.d.ts.map +1 -0
  70. package/dist/extraction/cfml-extractor.js +505 -0
  71. package/dist/extraction/cfml-extractor.js.map +1 -0
  72. package/dist/extraction/dfm-extractor.d.ts +31 -0
  73. package/dist/extraction/dfm-extractor.d.ts.map +1 -0
  74. package/dist/extraction/dfm-extractor.js +151 -0
  75. package/dist/extraction/dfm-extractor.js.map +1 -0
  76. package/dist/extraction/extraction-version.d.ts +25 -0
  77. package/dist/extraction/extraction-version.d.ts.map +1 -0
  78. package/dist/extraction/extraction-version.js +28 -0
  79. package/dist/extraction/extraction-version.js.map +1 -0
  80. package/dist/extraction/function-ref.d.ts +118 -0
  81. package/dist/extraction/function-ref.d.ts.map +1 -0
  82. package/dist/extraction/function-ref.js +746 -0
  83. package/dist/extraction/function-ref.js.map +1 -0
  84. package/dist/extraction/generated-detection.d.ts +66 -0
  85. package/dist/extraction/generated-detection.d.ts.map +1 -0
  86. package/dist/extraction/generated-detection.js +248 -0
  87. package/dist/extraction/generated-detection.js.map +1 -0
  88. package/dist/extraction/grammars.d.ts +148 -0
  89. package/dist/extraction/grammars.d.ts.map +1 -0
  90. package/dist/extraction/grammars.js +743 -0
  91. package/dist/extraction/grammars.js.map +1 -0
  92. package/dist/extraction/index.d.ts +455 -0
  93. package/dist/extraction/index.d.ts.map +1 -0
  94. package/dist/extraction/index.js +3208 -0
  95. package/dist/extraction/index.js.map +1 -0
  96. package/dist/extraction/kernel/decode.d.ts +9 -0
  97. package/dist/extraction/kernel/decode.d.ts.map +1 -0
  98. package/dist/extraction/kernel/decode.js +162 -0
  99. package/dist/extraction/kernel/decode.js.map +1 -0
  100. package/dist/extraction/kernel/index.d.ts +64 -0
  101. package/dist/extraction/kernel/index.d.ts.map +1 -0
  102. package/dist/extraction/kernel/index.js +279 -0
  103. package/dist/extraction/kernel/index.js.map +1 -0
  104. package/dist/extraction/kernel/layout.d.ts +101 -0
  105. package/dist/extraction/kernel/layout.d.ts.map +1 -0
  106. package/dist/extraction/kernel/layout.js +104 -0
  107. package/dist/extraction/kernel/layout.js.map +1 -0
  108. package/dist/extraction/kernel/loader.d.ts +103 -0
  109. package/dist/extraction/kernel/loader.d.ts.map +1 -0
  110. package/dist/extraction/kernel/loader.js +146 -0
  111. package/dist/extraction/kernel/loader.js.map +1 -0
  112. package/dist/extraction/languages/arkts.d.ts +3 -0
  113. package/dist/extraction/languages/arkts.d.ts.map +1 -0
  114. package/dist/extraction/languages/arkts.js +127 -0
  115. package/dist/extraction/languages/arkts.js.map +1 -0
  116. package/dist/extraction/languages/c-cpp.d.ts +167 -0
  117. package/dist/extraction/languages/c-cpp.d.ts.map +1 -0
  118. package/dist/extraction/languages/c-cpp.js +1850 -0
  119. package/dist/extraction/languages/c-cpp.js.map +1 -0
  120. package/dist/extraction/languages/cfquery.d.ts +12 -0
  121. package/dist/extraction/languages/cfquery.d.ts.map +1 -0
  122. package/dist/extraction/languages/cfquery.js +28 -0
  123. package/dist/extraction/languages/cfquery.js.map +1 -0
  124. package/dist/extraction/languages/cfscript.d.ts +3 -0
  125. package/dist/extraction/languages/cfscript.d.ts.map +1 -0
  126. package/dist/extraction/languages/cfscript.js +73 -0
  127. package/dist/extraction/languages/cfscript.js.map +1 -0
  128. package/dist/extraction/languages/cobol.d.ts +33 -0
  129. package/dist/extraction/languages/cobol.d.ts.map +1 -0
  130. package/dist/extraction/languages/cobol.js +499 -0
  131. package/dist/extraction/languages/cobol.js.map +1 -0
  132. package/dist/extraction/languages/csharp.d.ts +25 -0
  133. package/dist/extraction/languages/csharp.d.ts.map +1 -0
  134. package/dist/extraction/languages/csharp.js +175 -0
  135. package/dist/extraction/languages/csharp.js.map +1 -0
  136. package/dist/extraction/languages/dart.d.ts +3 -0
  137. package/dist/extraction/languages/dart.d.ts.map +1 -0
  138. package/dist/extraction/languages/dart.js +374 -0
  139. package/dist/extraction/languages/dart.js.map +1 -0
  140. package/dist/extraction/languages/erlang.d.ts +3 -0
  141. package/dist/extraction/languages/erlang.d.ts.map +1 -0
  142. package/dist/extraction/languages/erlang.js +386 -0
  143. package/dist/extraction/languages/erlang.js.map +1 -0
  144. package/dist/extraction/languages/go.d.ts +3 -0
  145. package/dist/extraction/languages/go.d.ts.map +1 -0
  146. package/dist/extraction/languages/go.js +111 -0
  147. package/dist/extraction/languages/go.js.map +1 -0
  148. package/dist/extraction/languages/index.d.ts +10 -0
  149. package/dist/extraction/languages/index.d.ts.map +1 -0
  150. package/dist/extraction/languages/index.js +71 -0
  151. package/dist/extraction/languages/index.js.map +1 -0
  152. package/dist/extraction/languages/java.d.ts +3 -0
  153. package/dist/extraction/languages/java.d.ts.map +1 -0
  154. package/dist/extraction/languages/java.js +315 -0
  155. package/dist/extraction/languages/java.js.map +1 -0
  156. package/dist/extraction/languages/javascript.d.ts +3 -0
  157. package/dist/extraction/languages/javascript.d.ts.map +1 -0
  158. package/dist/extraction/languages/javascript.js +106 -0
  159. package/dist/extraction/languages/javascript.js.map +1 -0
  160. package/dist/extraction/languages/kotlin.d.ts +3 -0
  161. package/dist/extraction/languages/kotlin.d.ts.map +1 -0
  162. package/dist/extraction/languages/kotlin.js +512 -0
  163. package/dist/extraction/languages/kotlin.js.map +1 -0
  164. package/dist/extraction/languages/lua.d.ts +3 -0
  165. package/dist/extraction/languages/lua.d.ts.map +1 -0
  166. package/dist/extraction/languages/lua.js +153 -0
  167. package/dist/extraction/languages/lua.js.map +1 -0
  168. package/dist/extraction/languages/luau.d.ts +3 -0
  169. package/dist/extraction/languages/luau.d.ts.map +1 -0
  170. package/dist/extraction/languages/luau.js +37 -0
  171. package/dist/extraction/languages/luau.js.map +1 -0
  172. package/dist/extraction/languages/nix.d.ts +3 -0
  173. package/dist/extraction/languages/nix.d.ts.map +1 -0
  174. package/dist/extraction/languages/nix.js +294 -0
  175. package/dist/extraction/languages/nix.js.map +1 -0
  176. package/dist/extraction/languages/objc.d.ts +3 -0
  177. package/dist/extraction/languages/objc.d.ts.map +1 -0
  178. package/dist/extraction/languages/objc.js +179 -0
  179. package/dist/extraction/languages/objc.js.map +1 -0
  180. package/dist/extraction/languages/pascal.d.ts +3 -0
  181. package/dist/extraction/languages/pascal.d.ts.map +1 -0
  182. package/dist/extraction/languages/pascal.js +77 -0
  183. package/dist/extraction/languages/pascal.js.map +1 -0
  184. package/dist/extraction/languages/php.d.ts +3 -0
  185. package/dist/extraction/languages/php.d.ts.map +1 -0
  186. package/dist/extraction/languages/php.js +196 -0
  187. package/dist/extraction/languages/php.js.map +1 -0
  188. package/dist/extraction/languages/python.d.ts +3 -0
  189. package/dist/extraction/languages/python.d.ts.map +1 -0
  190. package/dist/extraction/languages/python.js +56 -0
  191. package/dist/extraction/languages/python.js.map +1 -0
  192. package/dist/extraction/languages/r.d.ts +3 -0
  193. package/dist/extraction/languages/r.d.ts.map +1 -0
  194. package/dist/extraction/languages/r.js +314 -0
  195. package/dist/extraction/languages/r.js.map +1 -0
  196. package/dist/extraction/languages/ruby.d.ts +3 -0
  197. package/dist/extraction/languages/ruby.d.ts.map +1 -0
  198. package/dist/extraction/languages/ruby.js +149 -0
  199. package/dist/extraction/languages/ruby.js.map +1 -0
  200. package/dist/extraction/languages/rust.d.ts +23 -0
  201. package/dist/extraction/languages/rust.d.ts.map +1 -0
  202. package/dist/extraction/languages/rust.js +172 -0
  203. package/dist/extraction/languages/rust.js.map +1 -0
  204. package/dist/extraction/languages/scala.d.ts +3 -0
  205. package/dist/extraction/languages/scala.d.ts.map +1 -0
  206. package/dist/extraction/languages/scala.js +219 -0
  207. package/dist/extraction/languages/scala.js.map +1 -0
  208. package/dist/extraction/languages/solidity.d.ts +3 -0
  209. package/dist/extraction/languages/solidity.d.ts.map +1 -0
  210. package/dist/extraction/languages/solidity.js +293 -0
  211. package/dist/extraction/languages/solidity.js.map +1 -0
  212. package/dist/extraction/languages/swift.d.ts +3 -0
  213. package/dist/extraction/languages/swift.d.ts.map +1 -0
  214. package/dist/extraction/languages/swift.js +152 -0
  215. package/dist/extraction/languages/swift.js.map +1 -0
  216. package/dist/extraction/languages/terraform.d.ts +3 -0
  217. package/dist/extraction/languages/terraform.d.ts.map +1 -0
  218. package/dist/extraction/languages/terraform.js +641 -0
  219. package/dist/extraction/languages/terraform.js.map +1 -0
  220. package/dist/extraction/languages/typescript.d.ts +16 -0
  221. package/dist/extraction/languages/typescript.d.ts.map +1 -0
  222. package/dist/extraction/languages/typescript.js +174 -0
  223. package/dist/extraction/languages/typescript.js.map +1 -0
  224. package/dist/extraction/languages/vbnet.d.ts +11 -0
  225. package/dist/extraction/languages/vbnet.d.ts.map +1 -0
  226. package/dist/extraction/languages/vbnet.js +141 -0
  227. package/dist/extraction/languages/vbnet.js.map +1 -0
  228. package/dist/extraction/liquid-extractor.d.ts +59 -0
  229. package/dist/extraction/liquid-extractor.d.ts.map +1 -0
  230. package/dist/extraction/liquid-extractor.js +357 -0
  231. package/dist/extraction/liquid-extractor.js.map +1 -0
  232. package/dist/extraction/mybatis-extractor.d.ts +68 -0
  233. package/dist/extraction/mybatis-extractor.d.ts.map +1 -0
  234. package/dist/extraction/mybatis-extractor.js +300 -0
  235. package/dist/extraction/mybatis-extractor.js.map +1 -0
  236. package/dist/extraction/parse-pool.d.ts +167 -0
  237. package/dist/extraction/parse-pool.d.ts.map +1 -0
  238. package/dist/extraction/parse-pool.js +421 -0
  239. package/dist/extraction/parse-pool.js.map +1 -0
  240. package/dist/extraction/parse-worker.d.ts +8 -0
  241. package/dist/extraction/parse-worker.d.ts.map +1 -0
  242. package/dist/extraction/parse-worker.js +138 -0
  243. package/dist/extraction/parse-worker.js.map +1 -0
  244. package/dist/extraction/razor-extractor.d.ts +42 -0
  245. package/dist/extraction/razor-extractor.d.ts.map +1 -0
  246. package/dist/extraction/razor-extractor.js +285 -0
  247. package/dist/extraction/razor-extractor.js.map +1 -0
  248. package/dist/extraction/store-worker.d.ts +24 -0
  249. package/dist/extraction/store-worker.d.ts.map +1 -0
  250. package/dist/extraction/store-worker.js +139 -0
  251. package/dist/extraction/store-worker.js.map +1 -0
  252. package/dist/extraction/store-writer.d.ts +63 -0
  253. package/dist/extraction/store-writer.d.ts.map +1 -0
  254. package/dist/extraction/store-writer.js +174 -0
  255. package/dist/extraction/store-writer.js.map +1 -0
  256. package/dist/extraction/svelte-extractor.d.ts +56 -0
  257. package/dist/extraction/svelte-extractor.d.ts.map +1 -0
  258. package/dist/extraction/svelte-extractor.js +275 -0
  259. package/dist/extraction/svelte-extractor.js.map +1 -0
  260. package/dist/extraction/syntax-tokens.d.ts +103 -0
  261. package/dist/extraction/syntax-tokens.d.ts.map +1 -0
  262. package/dist/extraction/syntax-tokens.js +381 -0
  263. package/dist/extraction/syntax-tokens.js.map +1 -0
  264. package/dist/extraction/tree-sitter-helpers.d.ts +28 -0
  265. package/dist/extraction/tree-sitter-helpers.d.ts.map +1 -0
  266. package/dist/extraction/tree-sitter-helpers.js +153 -0
  267. package/dist/extraction/tree-sitter-helpers.js.map +1 -0
  268. package/dist/extraction/tree-sitter-types.d.ts +279 -0
  269. package/dist/extraction/tree-sitter-types.d.ts.map +1 -0
  270. package/dist/extraction/tree-sitter-types.js +10 -0
  271. package/dist/extraction/tree-sitter-types.js.map +1 -0
  272. package/dist/extraction/tree-sitter.d.ts +766 -0
  273. package/dist/extraction/tree-sitter.d.ts.map +1 -0
  274. package/dist/extraction/tree-sitter.js +7138 -0
  275. package/dist/extraction/tree-sitter.js.map +1 -0
  276. package/dist/extraction/vue-extractor.d.ts +51 -0
  277. package/dist/extraction/vue-extractor.d.ts.map +1 -0
  278. package/dist/extraction/vue-extractor.js +254 -0
  279. package/dist/extraction/vue-extractor.js.map +1 -0
  280. package/dist/extraction/wasm/tree-sitter-arkts.wasm +0 -0
  281. package/dist/extraction/wasm/tree-sitter-c.wasm +0 -0
  282. package/dist/extraction/wasm/tree-sitter-c_sharp.wasm +0 -0
  283. package/dist/extraction/wasm/tree-sitter-cfml.wasm +0 -0
  284. package/dist/extraction/wasm/tree-sitter-cfquery.wasm +0 -0
  285. package/dist/extraction/wasm/tree-sitter-cfscript.wasm +0 -0
  286. package/dist/extraction/wasm/tree-sitter-cobol.wasm +0 -0
  287. package/dist/extraction/wasm/tree-sitter-cpp.wasm +0 -0
  288. package/dist/extraction/wasm/tree-sitter-dart.wasm +0 -0
  289. package/dist/extraction/wasm/tree-sitter-erlang.wasm +0 -0
  290. package/dist/extraction/wasm/tree-sitter-go.wasm +0 -0
  291. package/dist/extraction/wasm/tree-sitter-java.wasm +0 -0
  292. package/dist/extraction/wasm/tree-sitter-javascript.wasm +0 -0
  293. package/dist/extraction/wasm/tree-sitter-kotlin.wasm +0 -0
  294. package/dist/extraction/wasm/tree-sitter-lua.wasm +0 -0
  295. package/dist/extraction/wasm/tree-sitter-luau.wasm +0 -0
  296. package/dist/extraction/wasm/tree-sitter-nix.wasm +0 -0
  297. package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
  298. package/dist/extraction/wasm/tree-sitter-php.wasm +0 -0
  299. package/dist/extraction/wasm/tree-sitter-python.wasm +0 -0
  300. package/dist/extraction/wasm/tree-sitter-r.wasm +0 -0
  301. package/dist/extraction/wasm/tree-sitter-ruby.wasm +0 -0
  302. package/dist/extraction/wasm/tree-sitter-rust.wasm +0 -0
  303. package/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
  304. package/dist/extraction/wasm/tree-sitter-swift.wasm +0 -0
  305. package/dist/extraction/wasm/tree-sitter-terraform.wasm +0 -0
  306. package/dist/extraction/wasm/tree-sitter-tsx.wasm +0 -0
  307. package/dist/extraction/wasm/tree-sitter-typescript.wasm +0 -0
  308. package/dist/extraction/wasm/tree-sitter-vbnet.wasm +0 -0
  309. package/dist/extraction/wasm-runtime-flags.d.ts +53 -0
  310. package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -0
  311. package/dist/extraction/wasm-runtime-flags.js +130 -0
  312. package/dist/extraction/wasm-runtime-flags.js.map +1 -0
  313. package/dist/graph/branch-guards.d.ts +248 -0
  314. package/dist/graph/branch-guards.d.ts.map +1 -0
  315. package/dist/graph/branch-guards.js +2231 -0
  316. package/dist/graph/branch-guards.js.map +1 -0
  317. package/dist/graph/dead-code.d.ts +251 -0
  318. package/dist/graph/dead-code.d.ts.map +1 -0
  319. package/dist/graph/dead-code.js +756 -0
  320. package/dist/graph/dead-code.js.map +1 -0
  321. package/dist/graph/dynamic-boundary-report.d.ts +121 -0
  322. package/dist/graph/dynamic-boundary-report.d.ts.map +1 -0
  323. package/dist/graph/dynamic-boundary-report.js +283 -0
  324. package/dist/graph/dynamic-boundary-report.js.map +1 -0
  325. package/dist/graph/index.d.ts +12 -0
  326. package/dist/graph/index.d.ts.map +1 -0
  327. package/dist/graph/index.js +28 -0
  328. package/dist/graph/index.js.map +1 -0
  329. package/dist/graph/named-symbol-flow.d.ts +125 -0
  330. package/dist/graph/named-symbol-flow.d.ts.map +1 -0
  331. package/dist/graph/named-symbol-flow.js +552 -0
  332. package/dist/graph/named-symbol-flow.js.map +1 -0
  333. package/dist/graph/queries.d.ts +106 -0
  334. package/dist/graph/queries.d.ts.map +1 -0
  335. package/dist/graph/queries.js +341 -0
  336. package/dist/graph/queries.js.map +1 -0
  337. package/dist/graph/symbol-lookup.d.ts +83 -0
  338. package/dist/graph/symbol-lookup.d.ts.map +1 -0
  339. package/dist/graph/symbol-lookup.js +181 -0
  340. package/dist/graph/symbol-lookup.js.map +1 -0
  341. package/dist/graph/traversal.d.ts +127 -0
  342. package/dist/graph/traversal.d.ts.map +1 -0
  343. package/dist/graph/traversal.js +599 -0
  344. package/dist/graph/traversal.js.map +1 -0
  345. package/dist/graph/type-hierarchy.d.ts +155 -0
  346. package/dist/graph/type-hierarchy.d.ts.map +1 -0
  347. package/dist/graph/type-hierarchy.js +382 -0
  348. package/dist/graph/type-hierarchy.js.map +1 -0
  349. package/dist/index.d.ts +874 -0
  350. package/dist/index.d.ts.map +1 -0
  351. package/dist/index.js +2005 -0
  352. package/dist/index.js.map +1 -0
  353. package/dist/installer/config-writer.d.ts +28 -0
  354. package/dist/installer/config-writer.d.ts.map +1 -0
  355. package/dist/installer/config-writer.js +91 -0
  356. package/dist/installer/config-writer.js.map +1 -0
  357. package/dist/installer/index.d.ts +143 -0
  358. package/dist/installer/index.d.ts.map +1 -0
  359. package/dist/installer/index.js +621 -0
  360. package/dist/installer/index.js.map +1 -0
  361. package/dist/installer/instructions-template.d.ts +41 -0
  362. package/dist/installer/instructions-template.d.ts.map +1 -0
  363. package/dist/installer/instructions-template.js +53 -0
  364. package/dist/installer/instructions-template.js.map +1 -0
  365. package/dist/installer/targets/antigravity.d.ts +57 -0
  366. package/dist/installer/targets/antigravity.d.ts.map +1 -0
  367. package/dist/installer/targets/antigravity.js +308 -0
  368. package/dist/installer/targets/antigravity.js.map +1 -0
  369. package/dist/installer/targets/claude.d.ts +65 -0
  370. package/dist/installer/targets/claude.d.ts.map +1 -0
  371. package/dist/installer/targets/claude.js +514 -0
  372. package/dist/installer/targets/claude.js.map +1 -0
  373. package/dist/installer/targets/codex.d.ts +33 -0
  374. package/dist/installer/targets/codex.d.ts.map +1 -0
  375. package/dist/installer/targets/codex.js +212 -0
  376. package/dist/installer/targets/codex.js.map +1 -0
  377. package/dist/installer/targets/copilot-cli.d.ts +32 -0
  378. package/dist/installer/targets/copilot-cli.d.ts.map +1 -0
  379. package/dist/installer/targets/copilot-cli.js +215 -0
  380. package/dist/installer/targets/copilot-cli.js.map +1 -0
  381. package/dist/installer/targets/copilot-jetbrains.d.ts +42 -0
  382. package/dist/installer/targets/copilot-jetbrains.d.ts.map +1 -0
  383. package/dist/installer/targets/copilot-jetbrains.js +238 -0
  384. package/dist/installer/targets/copilot-jetbrains.js.map +1 -0
  385. package/dist/installer/targets/copilot-vscode.d.ts +47 -0
  386. package/dist/installer/targets/copilot-vscode.d.ts.map +1 -0
  387. package/dist/installer/targets/copilot-vscode.js +219 -0
  388. package/dist/installer/targets/copilot-vscode.js.map +1 -0
  389. package/dist/installer/targets/cursor.d.ts +35 -0
  390. package/dist/installer/targets/cursor.d.ts.map +1 -0
  391. package/dist/installer/targets/cursor.js +254 -0
  392. package/dist/installer/targets/cursor.js.map +1 -0
  393. package/dist/installer/targets/gemini.d.ts +26 -0
  394. package/dist/installer/targets/gemini.d.ts.map +1 -0
  395. package/dist/installer/targets/gemini.js +165 -0
  396. package/dist/installer/targets/gemini.js.map +1 -0
  397. package/dist/installer/targets/hermes.d.ts +18 -0
  398. package/dist/installer/targets/hermes.d.ts.map +1 -0
  399. package/dist/installer/targets/hermes.js +359 -0
  400. package/dist/installer/targets/hermes.js.map +1 -0
  401. package/dist/installer/targets/kiro.d.ts +27 -0
  402. package/dist/installer/targets/kiro.d.ts.map +1 -0
  403. package/dist/installer/targets/kiro.js +178 -0
  404. package/dist/installer/targets/kiro.js.map +1 -0
  405. package/dist/installer/targets/opencode.d.ts +49 -0
  406. package/dist/installer/targets/opencode.d.ts.map +1 -0
  407. package/dist/installer/targets/opencode.js +339 -0
  408. package/dist/installer/targets/opencode.js.map +1 -0
  409. package/dist/installer/targets/registry.d.ts +35 -0
  410. package/dist/installer/targets/registry.d.ts.map +1 -0
  411. package/dist/installer/targets/registry.js +97 -0
  412. package/dist/installer/targets/registry.js.map +1 -0
  413. package/dist/installer/targets/shared.d.ts +101 -0
  414. package/dist/installer/targets/shared.d.ts.map +1 -0
  415. package/dist/installer/targets/shared.js +264 -0
  416. package/dist/installer/targets/shared.js.map +1 -0
  417. package/dist/installer/targets/toml.d.ts +53 -0
  418. package/dist/installer/targets/toml.d.ts.map +1 -0
  419. package/dist/installer/targets/toml.js +226 -0
  420. package/dist/installer/targets/toml.js.map +1 -0
  421. package/dist/installer/targets/types.d.ts +108 -0
  422. package/dist/installer/targets/types.d.ts.map +1 -0
  423. package/dist/installer/targets/types.js +16 -0
  424. package/dist/installer/targets/types.js.map +1 -0
  425. package/dist/mcp/daemon-manager.d.ts +42 -0
  426. package/dist/mcp/daemon-manager.d.ts.map +1 -0
  427. package/dist/mcp/daemon-manager.js +141 -0
  428. package/dist/mcp/daemon-manager.js.map +1 -0
  429. package/dist/mcp/daemon-paths.d.ts +81 -0
  430. package/dist/mcp/daemon-paths.d.ts.map +1 -0
  431. package/dist/mcp/daemon-paths.js +228 -0
  432. package/dist/mcp/daemon-paths.js.map +1 -0
  433. package/dist/mcp/daemon-registry.d.ts +57 -0
  434. package/dist/mcp/daemon-registry.d.ts.map +1 -0
  435. package/dist/mcp/daemon-registry.js +323 -0
  436. package/dist/mcp/daemon-registry.js.map +1 -0
  437. package/dist/mcp/daemon.d.ts +294 -0
  438. package/dist/mcp/daemon.d.ts.map +1 -0
  439. package/dist/mcp/daemon.js +897 -0
  440. package/dist/mcp/daemon.js.map +1 -0
  441. package/dist/mcp/dynamic-boundaries.d.ts +32 -0
  442. package/dist/mcp/dynamic-boundaries.d.ts.map +1 -0
  443. package/dist/mcp/dynamic-boundaries.js +323 -0
  444. package/dist/mcp/dynamic-boundaries.js.map +1 -0
  445. package/dist/mcp/early-ppid.d.ts +26 -0
  446. package/dist/mcp/early-ppid.d.ts.map +1 -0
  447. package/dist/mcp/early-ppid.js +29 -0
  448. package/dist/mcp/early-ppid.js.map +1 -0
  449. package/dist/mcp/engine.d.ts +133 -0
  450. package/dist/mcp/engine.d.ts.map +1 -0
  451. package/dist/mcp/engine.js +421 -0
  452. package/dist/mcp/engine.js.map +1 -0
  453. package/dist/mcp/explore-dedup.d.ts +140 -0
  454. package/dist/mcp/explore-dedup.d.ts.map +1 -0
  455. package/dist/mcp/explore-dedup.js +239 -0
  456. package/dist/mcp/explore-dedup.js.map +1 -0
  457. package/dist/mcp/explore-diagnostics.d.ts +289 -0
  458. package/dist/mcp/explore-diagnostics.d.ts.map +1 -0
  459. package/dist/mcp/explore-diagnostics.js +558 -0
  460. package/dist/mcp/explore-diagnostics.js.map +1 -0
  461. package/dist/mcp/explore-session-state.d.ts +217 -0
  462. package/dist/mcp/explore-session-state.d.ts.map +1 -0
  463. package/dist/mcp/explore-session-state.js +322 -0
  464. package/dist/mcp/explore-session-state.js.map +1 -0
  465. package/dist/mcp/index.d.ts +139 -0
  466. package/dist/mcp/index.d.ts.map +1 -0
  467. package/dist/mcp/index.js +636 -0
  468. package/dist/mcp/index.js.map +1 -0
  469. package/dist/mcp/liveness-watchdog.d.ts +35 -0
  470. package/dist/mcp/liveness-watchdog.d.ts.map +1 -0
  471. package/dist/mcp/liveness-watchdog.js +269 -0
  472. package/dist/mcp/liveness-watchdog.js.map +1 -0
  473. package/dist/mcp/ppid-watchdog.d.ts +62 -0
  474. package/dist/mcp/ppid-watchdog.d.ts.map +1 -0
  475. package/dist/mcp/ppid-watchdog.js +64 -0
  476. package/dist/mcp/ppid-watchdog.js.map +1 -0
  477. package/dist/mcp/proxy.d.ts +87 -0
  478. package/dist/mcp/proxy.d.ts.map +1 -0
  479. package/dist/mcp/proxy.js +672 -0
  480. package/dist/mcp/proxy.js.map +1 -0
  481. package/dist/mcp/query-pool.d.ts +108 -0
  482. package/dist/mcp/query-pool.d.ts.map +1 -0
  483. package/dist/mcp/query-pool.js +315 -0
  484. package/dist/mcp/query-pool.js.map +1 -0
  485. package/dist/mcp/query-worker.d.ts +24 -0
  486. package/dist/mcp/query-worker.d.ts.map +1 -0
  487. package/dist/mcp/query-worker.js +87 -0
  488. package/dist/mcp/query-worker.js.map +1 -0
  489. package/dist/mcp/server-instructions.d.ts +34 -0
  490. package/dist/mcp/server-instructions.d.ts.map +1 -0
  491. package/dist/mcp/server-instructions.js +113 -0
  492. package/dist/mcp/server-instructions.js.map +1 -0
  493. package/dist/mcp/session.d.ts +109 -0
  494. package/dist/mcp/session.d.ts.map +1 -0
  495. package/dist/mcp/session.js +380 -0
  496. package/dist/mcp/session.js.map +1 -0
  497. package/dist/mcp/startup-handshake.d.ts +44 -0
  498. package/dist/mcp/startup-handshake.d.ts.map +1 -0
  499. package/dist/mcp/startup-handshake.js +73 -0
  500. package/dist/mcp/startup-handshake.js.map +1 -0
  501. package/dist/mcp/stdin-teardown.d.ts +27 -0
  502. package/dist/mcp/stdin-teardown.d.ts.map +1 -0
  503. package/dist/mcp/stdin-teardown.js +49 -0
  504. package/dist/mcp/stdin-teardown.js.map +1 -0
  505. package/dist/mcp/tools.d.ts +936 -0
  506. package/dist/mcp/tools.d.ts.map +1 -0
  507. package/dist/mcp/tools.js +6611 -0
  508. package/dist/mcp/tools.js.map +1 -0
  509. package/dist/mcp/transport.d.ts +188 -0
  510. package/dist/mcp/transport.d.ts.map +1 -0
  511. package/dist/mcp/transport.js +377 -0
  512. package/dist/mcp/transport.js.map +1 -0
  513. package/dist/mcp/version.d.ts +19 -0
  514. package/dist/mcp/version.d.ts.map +1 -0
  515. package/dist/mcp/version.js +71 -0
  516. package/dist/mcp/version.js.map +1 -0
  517. package/dist/mcp/writer-lock.d.ts +47 -0
  518. package/dist/mcp/writer-lock.d.ts.map +1 -0
  519. package/dist/mcp/writer-lock.js +218 -0
  520. package/dist/mcp/writer-lock.js.map +1 -0
  521. package/dist/project-config.d.ts +117 -0
  522. package/dist/project-config.d.ts.map +1 -0
  523. package/dist/project-config.js +409 -0
  524. package/dist/project-config.js.map +1 -0
  525. package/dist/resolution/alias-binding.d.ts +56 -0
  526. package/dist/resolution/alias-binding.d.ts.map +1 -0
  527. package/dist/resolution/alias-binding.js +118 -0
  528. package/dist/resolution/alias-binding.js.map +1 -0
  529. package/dist/resolution/c-fnptr-synthesizer.d.ts +6 -0
  530. package/dist/resolution/c-fnptr-synthesizer.d.ts.map +1 -0
  531. package/dist/resolution/c-fnptr-synthesizer.js +1506 -0
  532. package/dist/resolution/c-fnptr-synthesizer.js.map +1 -0
  533. package/dist/resolution/callback-synthesizer.d.ts +78 -0
  534. package/dist/resolution/callback-synthesizer.d.ts.map +1 -0
  535. package/dist/resolution/callback-synthesizer.js +4105 -0
  536. package/dist/resolution/callback-synthesizer.js.map +1 -0
  537. package/dist/resolution/cooperative-yield.d.ts +40 -0
  538. package/dist/resolution/cooperative-yield.d.ts.map +1 -0
  539. package/dist/resolution/cooperative-yield.js +44 -0
  540. package/dist/resolution/cooperative-yield.js.map +1 -0
  541. package/dist/resolution/expo-router-synthesizer.d.ts +32 -0
  542. package/dist/resolution/expo-router-synthesizer.d.ts.map +1 -0
  543. package/dist/resolution/expo-router-synthesizer.js +189 -0
  544. package/dist/resolution/expo-router-synthesizer.js.map +1 -0
  545. package/dist/resolution/frameworks/astro.d.ts +9 -0
  546. package/dist/resolution/frameworks/astro.d.ts.map +1 -0
  547. package/dist/resolution/frameworks/astro.js +169 -0
  548. package/dist/resolution/frameworks/astro.js.map +1 -0
  549. package/dist/resolution/frameworks/cargo-workspace.d.ts +18 -0
  550. package/dist/resolution/frameworks/cargo-workspace.d.ts.map +1 -0
  551. package/dist/resolution/frameworks/cargo-workspace.js +225 -0
  552. package/dist/resolution/frameworks/cargo-workspace.js.map +1 -0
  553. package/dist/resolution/frameworks/cics.d.ts +20 -0
  554. package/dist/resolution/frameworks/cics.d.ts.map +1 -0
  555. package/dist/resolution/frameworks/cics.js +90 -0
  556. package/dist/resolution/frameworks/cics.js.map +1 -0
  557. package/dist/resolution/frameworks/csharp.d.ts +8 -0
  558. package/dist/resolution/frameworks/csharp.d.ts.map +1 -0
  559. package/dist/resolution/frameworks/csharp.js +335 -0
  560. package/dist/resolution/frameworks/csharp.js.map +1 -0
  561. package/dist/resolution/frameworks/drupal.d.ts +51 -0
  562. package/dist/resolution/frameworks/drupal.d.ts.map +1 -0
  563. package/dist/resolution/frameworks/drupal.js +367 -0
  564. package/dist/resolution/frameworks/drupal.js.map +1 -0
  565. package/dist/resolution/frameworks/expo-modules.d.ts +3 -0
  566. package/dist/resolution/frameworks/expo-modules.d.ts.map +1 -0
  567. package/dist/resolution/frameworks/expo-modules.js +148 -0
  568. package/dist/resolution/frameworks/expo-modules.js.map +1 -0
  569. package/dist/resolution/frameworks/expo-router.d.ts +189 -0
  570. package/dist/resolution/frameworks/expo-router.d.ts.map +1 -0
  571. package/dist/resolution/frameworks/expo-router.js +785 -0
  572. package/dist/resolution/frameworks/expo-router.js.map +1 -0
  573. package/dist/resolution/frameworks/express.d.ts +8 -0
  574. package/dist/resolution/frameworks/express.d.ts.map +1 -0
  575. package/dist/resolution/frameworks/express.js +540 -0
  576. package/dist/resolution/frameworks/express.js.map +1 -0
  577. package/dist/resolution/frameworks/fabric.d.ts +3 -0
  578. package/dist/resolution/frameworks/fabric.d.ts.map +1 -0
  579. package/dist/resolution/frameworks/fabric.js +354 -0
  580. package/dist/resolution/frameworks/fabric.js.map +1 -0
  581. package/dist/resolution/frameworks/go.d.ts +8 -0
  582. package/dist/resolution/frameworks/go.d.ts.map +1 -0
  583. package/dist/resolution/frameworks/go.js +184 -0
  584. package/dist/resolution/frameworks/go.js.map +1 -0
  585. package/dist/resolution/frameworks/goframe.d.ts +41 -0
  586. package/dist/resolution/frameworks/goframe.d.ts.map +1 -0
  587. package/dist/resolution/frameworks/goframe.js +112 -0
  588. package/dist/resolution/frameworks/goframe.js.map +1 -0
  589. package/dist/resolution/frameworks/index.d.ts +55 -0
  590. package/dist/resolution/frameworks/index.d.ts.map +1 -0
  591. package/dist/resolution/frameworks/index.js +203 -0
  592. package/dist/resolution/frameworks/index.js.map +1 -0
  593. package/dist/resolution/frameworks/java.d.ts +8 -0
  594. package/dist/resolution/frameworks/java.d.ts.map +1 -0
  595. package/dist/resolution/frameworks/java.js +539 -0
  596. package/dist/resolution/frameworks/java.js.map +1 -0
  597. package/dist/resolution/frameworks/laravel.d.ts +13 -0
  598. package/dist/resolution/frameworks/laravel.d.ts.map +1 -0
  599. package/dist/resolution/frameworks/laravel.js +257 -0
  600. package/dist/resolution/frameworks/laravel.js.map +1 -0
  601. package/dist/resolution/frameworks/nestjs.d.ts +26 -0
  602. package/dist/resolution/frameworks/nestjs.d.ts.map +1 -0
  603. package/dist/resolution/frameworks/nestjs.js +690 -0
  604. package/dist/resolution/frameworks/nestjs.js.map +1 -0
  605. package/dist/resolution/frameworks/nextjs.d.ts +76 -0
  606. package/dist/resolution/frameworks/nextjs.d.ts.map +1 -0
  607. package/dist/resolution/frameworks/nextjs.js +328 -0
  608. package/dist/resolution/frameworks/nextjs.js.map +1 -0
  609. package/dist/resolution/frameworks/object-literal.d.ts +32 -0
  610. package/dist/resolution/frameworks/object-literal.d.ts.map +1 -0
  611. package/dist/resolution/frameworks/object-literal.js +139 -0
  612. package/dist/resolution/frameworks/object-literal.js.map +1 -0
  613. package/dist/resolution/frameworks/package-deps.d.ts +14 -0
  614. package/dist/resolution/frameworks/package-deps.d.ts.map +1 -0
  615. package/dist/resolution/frameworks/package-deps.js +78 -0
  616. package/dist/resolution/frameworks/package-deps.js.map +1 -0
  617. package/dist/resolution/frameworks/play.d.ts +19 -0
  618. package/dist/resolution/frameworks/play.d.ts.map +1 -0
  619. package/dist/resolution/frameworks/play.js +111 -0
  620. package/dist/resolution/frameworks/play.js.map +1 -0
  621. package/dist/resolution/frameworks/python.d.ts +10 -0
  622. package/dist/resolution/frameworks/python.d.ts.map +1 -0
  623. package/dist/resolution/frameworks/python.js +566 -0
  624. package/dist/resolution/frameworks/python.js.map +1 -0
  625. package/dist/resolution/frameworks/react-native.d.ts +29 -0
  626. package/dist/resolution/frameworks/react-native.d.ts.map +1 -0
  627. package/dist/resolution/frameworks/react-native.js +549 -0
  628. package/dist/resolution/frameworks/react-native.js.map +1 -0
  629. package/dist/resolution/frameworks/react-router.d.ts +46 -0
  630. package/dist/resolution/frameworks/react-router.d.ts.map +1 -0
  631. package/dist/resolution/frameworks/react-router.js +187 -0
  632. package/dist/resolution/frameworks/react-router.js.map +1 -0
  633. package/dist/resolution/frameworks/react.d.ts +9 -0
  634. package/dist/resolution/frameworks/react.d.ts.map +1 -0
  635. package/dist/resolution/frameworks/react.js +257 -0
  636. package/dist/resolution/frameworks/react.js.map +1 -0
  637. package/dist/resolution/frameworks/ruby.d.ts +8 -0
  638. package/dist/resolution/frameworks/ruby.d.ts.map +1 -0
  639. package/dist/resolution/frameworks/ruby.js +302 -0
  640. package/dist/resolution/frameworks/ruby.js.map +1 -0
  641. package/dist/resolution/frameworks/rust.d.ts +8 -0
  642. package/dist/resolution/frameworks/rust.d.ts.map +1 -0
  643. package/dist/resolution/frameworks/rust.js +304 -0
  644. package/dist/resolution/frameworks/rust.js.map +1 -0
  645. package/dist/resolution/frameworks/svelte.d.ts +9 -0
  646. package/dist/resolution/frameworks/svelte.d.ts.map +1 -0
  647. package/dist/resolution/frameworks/svelte.js +258 -0
  648. package/dist/resolution/frameworks/svelte.js.map +1 -0
  649. package/dist/resolution/frameworks/sveltekit-router.d.ts +36 -0
  650. package/dist/resolution/frameworks/sveltekit-router.d.ts.map +1 -0
  651. package/dist/resolution/frameworks/sveltekit-router.js +156 -0
  652. package/dist/resolution/frameworks/sveltekit-router.js.map +1 -0
  653. package/dist/resolution/frameworks/swift-objc.d.ts +37 -0
  654. package/dist/resolution/frameworks/swift-objc.d.ts.map +1 -0
  655. package/dist/resolution/frameworks/swift-objc.js +252 -0
  656. package/dist/resolution/frameworks/swift-objc.js.map +1 -0
  657. package/dist/resolution/frameworks/swift.d.ts +10 -0
  658. package/dist/resolution/frameworks/swift.d.ts.map +1 -0
  659. package/dist/resolution/frameworks/swift.js +410 -0
  660. package/dist/resolution/frameworks/swift.js.map +1 -0
  661. package/dist/resolution/frameworks/tanstack-router.d.ts +84 -0
  662. package/dist/resolution/frameworks/tanstack-router.d.ts.map +1 -0
  663. package/dist/resolution/frameworks/tanstack-router.js +437 -0
  664. package/dist/resolution/frameworks/tanstack-router.js.map +1 -0
  665. package/dist/resolution/frameworks/terraform.d.ts +38 -0
  666. package/dist/resolution/frameworks/terraform.d.ts.map +1 -0
  667. package/dist/resolution/frameworks/terraform.js +277 -0
  668. package/dist/resolution/frameworks/terraform.js.map +1 -0
  669. package/dist/resolution/frameworks/vue-router.d.ts +82 -0
  670. package/dist/resolution/frameworks/vue-router.d.ts.map +1 -0
  671. package/dist/resolution/frameworks/vue-router.js +377 -0
  672. package/dist/resolution/frameworks/vue-router.js.map +1 -0
  673. package/dist/resolution/frameworks/vue.d.ts +9 -0
  674. package/dist/resolution/frameworks/vue.d.ts.map +1 -0
  675. package/dist/resolution/frameworks/vue.js +303 -0
  676. package/dist/resolution/frameworks/vue.js.map +1 -0
  677. package/dist/resolution/go-module.d.ts +26 -0
  678. package/dist/resolution/go-module.d.ts.map +1 -0
  679. package/dist/resolution/go-module.js +78 -0
  680. package/dist/resolution/go-module.js.map +1 -0
  681. package/dist/resolution/goframe-synthesizer.d.ts +29 -0
  682. package/dist/resolution/goframe-synthesizer.d.ts.map +1 -0
  683. package/dist/resolution/goframe-synthesizer.js +163 -0
  684. package/dist/resolution/goframe-synthesizer.js.map +1 -0
  685. package/dist/resolution/import-resolver.d.ts +122 -0
  686. package/dist/resolution/import-resolver.d.ts.map +1 -0
  687. package/dist/resolution/import-resolver.js +2490 -0
  688. package/dist/resolution/import-resolver.js.map +1 -0
  689. package/dist/resolution/index.d.ts +402 -0
  690. package/dist/resolution/index.d.ts.map +1 -0
  691. package/dist/resolution/index.js +2581 -0
  692. package/dist/resolution/index.js.map +1 -0
  693. package/dist/resolution/js-builtins.d.ts +11 -0
  694. package/dist/resolution/js-builtins.d.ts.map +1 -0
  695. package/dist/resolution/js-builtins.js +23 -0
  696. package/dist/resolution/js-builtins.js.map +1 -0
  697. package/dist/resolution/lru-cache.d.ts +24 -0
  698. package/dist/resolution/lru-cache.d.ts.map +1 -0
  699. package/dist/resolution/lru-cache.js +62 -0
  700. package/dist/resolution/lru-cache.js.map +1 -0
  701. package/dist/resolution/memory-budget.d.ts +48 -0
  702. package/dist/resolution/memory-budget.d.ts.map +1 -0
  703. package/dist/resolution/memory-budget.js +162 -0
  704. package/dist/resolution/memory-budget.js.map +1 -0
  705. package/dist/resolution/name-matcher.d.ts +196 -0
  706. package/dist/resolution/name-matcher.d.ts.map +1 -0
  707. package/dist/resolution/name-matcher.js +3484 -0
  708. package/dist/resolution/name-matcher.js.map +1 -0
  709. package/dist/resolution/next-router-synthesizer.d.ts +27 -0
  710. package/dist/resolution/next-router-synthesizer.d.ts.map +1 -0
  711. package/dist/resolution/next-router-synthesizer.js +113 -0
  712. package/dist/resolution/next-router-synthesizer.js.map +1 -0
  713. package/dist/resolution/path-aliases.d.ts +70 -0
  714. package/dist/resolution/path-aliases.d.ts.map +1 -0
  715. package/dist/resolution/path-aliases.js +346 -0
  716. package/dist/resolution/path-aliases.js.map +1 -0
  717. package/dist/resolution/react-router-synthesizer.d.ts +33 -0
  718. package/dist/resolution/react-router-synthesizer.d.ts.map +1 -0
  719. package/dist/resolution/react-router-synthesizer.js +126 -0
  720. package/dist/resolution/react-router-synthesizer.js.map +1 -0
  721. package/dist/resolution/resolver-pool.d.ts +106 -0
  722. package/dist/resolution/resolver-pool.d.ts.map +1 -0
  723. package/dist/resolution/resolver-pool.js +344 -0
  724. package/dist/resolution/resolver-pool.js.map +1 -0
  725. package/dist/resolution/resolver-worker.d.ts +17 -0
  726. package/dist/resolution/resolver-worker.d.ts.map +1 -0
  727. package/dist/resolution/resolver-worker.js +141 -0
  728. package/dist/resolution/resolver-worker.js.map +1 -0
  729. package/dist/resolution/strip-comments.d.ts +33 -0
  730. package/dist/resolution/strip-comments.d.ts.map +1 -0
  731. package/dist/resolution/strip-comments.js +550 -0
  732. package/dist/resolution/strip-comments.js.map +1 -0
  733. package/dist/resolution/sveltekit-synthesizer.d.ts +58 -0
  734. package/dist/resolution/sveltekit-synthesizer.d.ts.map +1 -0
  735. package/dist/resolution/sveltekit-synthesizer.js +173 -0
  736. package/dist/resolution/sveltekit-synthesizer.js.map +1 -0
  737. package/dist/resolution/swift-objc-bridge.d.ts +134 -0
  738. package/dist/resolution/swift-objc-bridge.d.ts.map +1 -0
  739. package/dist/resolution/swift-objc-bridge.js +256 -0
  740. package/dist/resolution/swift-objc-bridge.js.map +1 -0
  741. package/dist/resolution/synth-utils.d.ts +26 -0
  742. package/dist/resolution/synth-utils.d.ts.map +1 -0
  743. package/dist/resolution/synth-utils.js +75 -0
  744. package/dist/resolution/synth-utils.js.map +1 -0
  745. package/dist/resolution/tanstack-router-synthesizer.d.ts +31 -0
  746. package/dist/resolution/tanstack-router-synthesizer.d.ts.map +1 -0
  747. package/dist/resolution/tanstack-router-synthesizer.js +114 -0
  748. package/dist/resolution/tanstack-router-synthesizer.js.map +1 -0
  749. package/dist/resolution/tier-synthesizer.d.ts +48 -0
  750. package/dist/resolution/tier-synthesizer.d.ts.map +1 -0
  751. package/dist/resolution/tier-synthesizer.js +907 -0
  752. package/dist/resolution/tier-synthesizer.js.map +1 -0
  753. package/dist/resolution/types.d.ts +323 -0
  754. package/dist/resolution/types.d.ts.map +1 -0
  755. package/dist/resolution/types.js +58 -0
  756. package/dist/resolution/types.js.map +1 -0
  757. package/dist/resolution/vue-router-synthesizer.d.ts +30 -0
  758. package/dist/resolution/vue-router-synthesizer.d.ts.map +1 -0
  759. package/dist/resolution/vue-router-synthesizer.js +115 -0
  760. package/dist/resolution/vue-router-synthesizer.js.map +1 -0
  761. package/dist/resolution/workspace-packages.d.ts +58 -0
  762. package/dist/resolution/workspace-packages.d.ts.map +1 -0
  763. package/dist/resolution/workspace-packages.js +346 -0
  764. package/dist/resolution/workspace-packages.js.map +1 -0
  765. package/dist/search/identifier-segments.d.ts +70 -0
  766. package/dist/search/identifier-segments.d.ts.map +1 -0
  767. package/dist/search/identifier-segments.js +205 -0
  768. package/dist/search/identifier-segments.js.map +1 -0
  769. package/dist/search/query-parser.d.ts +57 -0
  770. package/dist/search/query-parser.d.ts.map +1 -0
  771. package/dist/search/query-parser.js +177 -0
  772. package/dist/search/query-parser.js.map +1 -0
  773. package/dist/search/query-paths.d.ts +57 -0
  774. package/dist/search/query-paths.d.ts.map +1 -0
  775. package/dist/search/query-paths.js +298 -0
  776. package/dist/search/query-paths.js.map +1 -0
  777. package/dist/search/query-utils.d.ts +102 -0
  778. package/dist/search/query-utils.d.ts.map +1 -0
  779. package/dist/search/query-utils.js +487 -0
  780. package/dist/search/query-utils.js.map +1 -0
  781. package/dist/sync/git-hooks.d.ts +45 -0
  782. package/dist/sync/git-hooks.d.ts.map +1 -0
  783. package/dist/sync/git-hooks.js +227 -0
  784. package/dist/sync/git-hooks.js.map +1 -0
  785. package/dist/sync/index.d.ts +19 -0
  786. package/dist/sync/index.d.ts.map +1 -0
  787. package/dist/sync/index.js +35 -0
  788. package/dist/sync/index.js.map +1 -0
  789. package/dist/sync/watch-policy.d.ts +48 -0
  790. package/dist/sync/watch-policy.d.ts.map +1 -0
  791. package/dist/sync/watch-policy.js +124 -0
  792. package/dist/sync/watch-policy.js.map +1 -0
  793. package/dist/sync/watcher.d.ts +402 -0
  794. package/dist/sync/watcher.d.ts.map +1 -0
  795. package/dist/sync/watcher.js +978 -0
  796. package/dist/sync/watcher.js.map +1 -0
  797. package/dist/sync/worktree.d.ts +63 -0
  798. package/dist/sync/worktree.d.ts.map +1 -0
  799. package/dist/sync/worktree.js +182 -0
  800. package/dist/sync/worktree.js.map +1 -0
  801. package/dist/telemetry/index.d.ts +145 -0
  802. package/dist/telemetry/index.d.ts.map +1 -0
  803. package/dist/telemetry/index.js +592 -0
  804. package/dist/telemetry/index.js.map +1 -0
  805. package/dist/types.d.ts +473 -0
  806. package/dist/types.d.ts.map +1 -0
  807. package/dist/types.js +118 -0
  808. package/dist/types.js.map +1 -0
  809. package/dist/ui/color.d.ts +21 -0
  810. package/dist/ui/color.d.ts.map +1 -0
  811. package/dist/ui/color.js +42 -0
  812. package/dist/ui/color.js.map +1 -0
  813. package/dist/ui/glyphs.d.ts +67 -0
  814. package/dist/ui/glyphs.d.ts.map +1 -0
  815. package/dist/ui/glyphs.js +125 -0
  816. package/dist/ui/glyphs.js.map +1 -0
  817. package/dist/ui/shimmer-progress.d.ts +11 -0
  818. package/dist/ui/shimmer-progress.d.ts.map +1 -0
  819. package/dist/ui/shimmer-progress.js +164 -0
  820. package/dist/ui/shimmer-progress.js.map +1 -0
  821. package/dist/ui/shimmer-worker.d.ts +2 -0
  822. package/dist/ui/shimmer-worker.d.ts.map +1 -0
  823. package/dist/ui/shimmer-worker.js +126 -0
  824. package/dist/ui/shimmer-worker.js.map +1 -0
  825. package/dist/ui/types.d.ts +15 -0
  826. package/dist/ui/types.d.ts.map +1 -0
  827. package/dist/ui/types.js +3 -0
  828. package/dist/ui/types.js.map +1 -0
  829. package/dist/ui-server/api/deadcode.d.ts +84 -0
  830. package/dist/ui-server/api/deadcode.d.ts.map +1 -0
  831. package/dist/ui-server/api/deadcode.js +136 -0
  832. package/dist/ui-server/api/deadcode.js.map +1 -0
  833. package/dist/ui-server/api/effects.d.ts +87 -0
  834. package/dist/ui-server/api/effects.d.ts.map +1 -0
  835. package/dist/ui-server/api/effects.js +499 -0
  836. package/dist/ui-server/api/effects.js.map +1 -0
  837. package/dist/ui-server/api/entrypoints.d.ts +86 -0
  838. package/dist/ui-server/api/entrypoints.d.ts.map +1 -0
  839. package/dist/ui-server/api/entrypoints.js +279 -0
  840. package/dist/ui-server/api/entrypoints.js.map +1 -0
  841. package/dist/ui-server/api/events.d.ts +183 -0
  842. package/dist/ui-server/api/events.d.ts.map +1 -0
  843. package/dist/ui-server/api/events.js +430 -0
  844. package/dist/ui-server/api/events.js.map +1 -0
  845. package/dist/ui-server/api/file.d.ts +66 -0
  846. package/dist/ui-server/api/file.d.ts.map +1 -0
  847. package/dist/ui-server/api/file.js +235 -0
  848. package/dist/ui-server/api/file.js.map +1 -0
  849. package/dist/ui-server/api/filecode.d.ts +126 -0
  850. package/dist/ui-server/api/filecode.d.ts.map +1 -0
  851. package/dist/ui-server/api/filecode.js +205 -0
  852. package/dist/ui-server/api/filecode.js.map +1 -0
  853. package/dist/ui-server/api/flow.d.ts +226 -0
  854. package/dist/ui-server/api/flow.d.ts.map +1 -0
  855. package/dist/ui-server/api/flow.js +611 -0
  856. package/dist/ui-server/api/flow.js.map +1 -0
  857. package/dist/ui-server/api/hierarchy.d.ts +81 -0
  858. package/dist/ui-server/api/hierarchy.d.ts.map +1 -0
  859. package/dist/ui-server/api/hierarchy.js +92 -0
  860. package/dist/ui-server/api/hierarchy.js.map +1 -0
  861. package/dist/ui-server/api/index.d.ts +90 -0
  862. package/dist/ui-server/api/index.d.ts.map +1 -0
  863. package/dist/ui-server/api/index.js +332 -0
  864. package/dist/ui-server/api/index.js.map +1 -0
  865. package/dist/ui-server/api/map.d.ts +238 -0
  866. package/dist/ui-server/api/map.d.ts.map +1 -0
  867. package/dist/ui-server/api/map.js +681 -0
  868. package/dist/ui-server/api/map.js.map +1 -0
  869. package/dist/ui-server/api/node.d.ts +81 -0
  870. package/dist/ui-server/api/node.d.ts.map +1 -0
  871. package/dist/ui-server/api/node.js +388 -0
  872. package/dist/ui-server/api/node.js.map +1 -0
  873. package/dist/ui-server/api/nodes.d.ts +25 -0
  874. package/dist/ui-server/api/nodes.d.ts.map +1 -0
  875. package/dist/ui-server/api/nodes.js +45 -0
  876. package/dist/ui-server/api/nodes.js.map +1 -0
  877. package/dist/ui-server/api/program.d.ts +139 -0
  878. package/dist/ui-server/api/program.d.ts.map +1 -0
  879. package/dist/ui-server/api/program.js +315 -0
  880. package/dist/ui-server/api/program.js.map +1 -0
  881. package/dist/ui-server/api/respond.d.ts +76 -0
  882. package/dist/ui-server/api/respond.d.ts.map +1 -0
  883. package/dist/ui-server/api/respond.js +186 -0
  884. package/dist/ui-server/api/respond.js.map +1 -0
  885. package/dist/ui-server/api/route-roots.d.ts +39 -0
  886. package/dist/ui-server/api/route-roots.d.ts.map +1 -0
  887. package/dist/ui-server/api/route-roots.js +96 -0
  888. package/dist/ui-server/api/route-roots.js.map +1 -0
  889. package/dist/ui-server/api/routes.d.ts +59 -0
  890. package/dist/ui-server/api/routes.d.ts.map +1 -0
  891. package/dist/ui-server/api/routes.js +112 -0
  892. package/dist/ui-server/api/routes.js.map +1 -0
  893. package/dist/ui-server/api/screens.d.ts +117 -0
  894. package/dist/ui-server/api/screens.d.ts.map +1 -0
  895. package/dist/ui-server/api/screens.js +611 -0
  896. package/dist/ui-server/api/screens.js.map +1 -0
  897. package/dist/ui-server/api/search.d.ts +29 -0
  898. package/dist/ui-server/api/search.d.ts.map +1 -0
  899. package/dist/ui-server/api/search.js +232 -0
  900. package/dist/ui-server/api/search.js.map +1 -0
  901. package/dist/ui-server/api/session.d.ts +52 -0
  902. package/dist/ui-server/api/session.d.ts.map +1 -0
  903. package/dist/ui-server/api/session.js +199 -0
  904. package/dist/ui-server/api/session.js.map +1 -0
  905. package/dist/ui-server/api/source.d.ts +200 -0
  906. package/dist/ui-server/api/source.d.ts.map +1 -0
  907. package/dist/ui-server/api/source.js +419 -0
  908. package/dist/ui-server/api/source.js.map +1 -0
  909. package/dist/ui-server/api/stats.d.ts +27 -0
  910. package/dist/ui-server/api/stats.d.ts.map +1 -0
  911. package/dist/ui-server/api/stats.js +164 -0
  912. package/dist/ui-server/api/stats.js.map +1 -0
  913. package/dist/ui-server/api/steps.d.ts +274 -0
  914. package/dist/ui-server/api/steps.d.ts.map +1 -0
  915. package/dist/ui-server/api/steps.js +1446 -0
  916. package/dist/ui-server/api/steps.js.map +1 -0
  917. package/dist/ui-server/api/trail-store.d.ts +142 -0
  918. package/dist/ui-server/api/trail-store.d.ts.map +1 -0
  919. package/dist/ui-server/api/trail-store.js +323 -0
  920. package/dist/ui-server/api/trail-store.js.map +1 -0
  921. package/dist/ui-server/api/trails.d.ts +163 -0
  922. package/dist/ui-server/api/trails.d.ts.map +1 -0
  923. package/dist/ui-server/api/trails.js +369 -0
  924. package/dist/ui-server/api/trails.js.map +1 -0
  925. package/dist/ui-server/api/when.d.ts +125 -0
  926. package/dist/ui-server/api/when.d.ts.map +1 -0
  927. package/dist/ui-server/api/when.js +251 -0
  928. package/dist/ui-server/api/when.js.map +1 -0
  929. package/dist/ui-server/api/wire.d.ts +179 -0
  930. package/dist/ui-server/api/wire.d.ts.map +1 -0
  931. package/dist/ui-server/api/wire.js +231 -0
  932. package/dist/ui-server/api/wire.js.map +1 -0
  933. package/dist/ui-server/assets.d.ts +40 -0
  934. package/dist/ui-server/assets.d.ts.map +1 -0
  935. package/dist/ui-server/assets.js +110 -0
  936. package/dist/ui-server/assets.js.map +1 -0
  937. package/dist/ui-server/constants.d.ts +32 -0
  938. package/dist/ui-server/constants.d.ts.map +1 -0
  939. package/dist/ui-server/constants.js +35 -0
  940. package/dist/ui-server/constants.js.map +1 -0
  941. package/dist/ui-server/highlight/index.d.ts +113 -0
  942. package/dist/ui-server/highlight/index.d.ts.map +1 -0
  943. package/dist/ui-server/highlight/index.js +307 -0
  944. package/dist/ui-server/highlight/index.js.map +1 -0
  945. package/dist/ui-server/highlight/languages.d.ts +36 -0
  946. package/dist/ui-server/highlight/languages.d.ts.map +1 -0
  947. package/dist/ui-server/highlight/languages.js +50 -0
  948. package/dist/ui-server/highlight/languages.js.map +1 -0
  949. package/dist/ui-server/index.d.ts +92 -0
  950. package/dist/ui-server/index.d.ts.map +1 -0
  951. package/dist/ui-server/index.js +399 -0
  952. package/dist/ui-server/index.js.map +1 -0
  953. package/dist/ui-server/open-browser.d.ts +31 -0
  954. package/dist/ui-server/open-browser.d.ts.map +1 -0
  955. package/dist/ui-server/open-browser.js +79 -0
  956. package/dist/ui-server/open-browser.js.map +1 -0
  957. package/dist/ui-server/security.d.ts +127 -0
  958. package/dist/ui-server/security.d.ts.map +1 -0
  959. package/dist/ui-server/security.js +332 -0
  960. package/dist/ui-server/security.js.map +1 -0
  961. package/dist/ui-server/static.d.ts +45 -0
  962. package/dist/ui-server/static.d.ts.map +1 -0
  963. package/dist/ui-server/static.js +165 -0
  964. package/dist/ui-server/static.js.map +1 -0
  965. package/dist/upgrade/index.d.ts +164 -0
  966. package/dist/upgrade/index.d.ts.map +1 -0
  967. package/dist/upgrade/index.js +649 -0
  968. package/dist/upgrade/index.js.map +1 -0
  969. package/dist/upgrade/remove-binary.d.ts +87 -0
  970. package/dist/upgrade/remove-binary.d.ts.map +1 -0
  971. package/dist/upgrade/remove-binary.js +289 -0
  972. package/dist/upgrade/remove-binary.js.map +1 -0
  973. package/dist/upgrade/update-check.d.ts +92 -0
  974. package/dist/upgrade/update-check.d.ts.map +1 -0
  975. package/dist/upgrade/update-check.js +258 -0
  976. package/dist/upgrade/update-check.js.map +1 -0
  977. package/dist/utils.d.ts +238 -0
  978. package/dist/utils.d.ts.map +1 -0
  979. package/dist/utils.js +601 -0
  980. package/dist/utils.js.map +1 -0
  981. package/dist/viewer/assets/archivo-latin-ext-wght-normal-C4zznr8T.woff2 +0 -0
  982. package/dist/viewer/assets/archivo-latin-wght-normal-E0tuGl4L.woff2 +0 -0
  983. package/dist/viewer/assets/archivo-vietnamese-wght-normal-XAtsl5Q_.woff2 +0 -0
  984. package/dist/viewer/assets/ibm-plex-mono-cyrillic-400-italic-2syK4fUT.woff +0 -0
  985. package/dist/viewer/assets/ibm-plex-mono-cyrillic-400-italic-CBJ8pzag.woff2 +0 -0
  986. package/dist/viewer/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2 +0 -0
  987. package/dist/viewer/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff +0 -0
  988. package/dist/viewer/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff +0 -0
  989. package/dist/viewer/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2 +0 -0
  990. package/dist/viewer/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2 +0 -0
  991. package/dist/viewer/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff +0 -0
  992. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-400-italic-B4oTjJdl.woff +0 -0
  993. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-400-italic-CBjNughH.woff2 +0 -0
  994. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff +0 -0
  995. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2 +0 -0
  996. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff +0 -0
  997. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2 +0 -0
  998. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff +0 -0
  999. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2 +0 -0
  1000. package/dist/viewer/assets/ibm-plex-mono-latin-400-italic-66oory27.woff +0 -0
  1001. package/dist/viewer/assets/ibm-plex-mono-latin-400-italic-BqAiT5Ww.woff2 +0 -0
  1002. package/dist/viewer/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff +0 -0
  1003. package/dist/viewer/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
  1004. package/dist/viewer/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff +0 -0
  1005. package/dist/viewer/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2 +0 -0
  1006. package/dist/viewer/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2 +0 -0
  1007. package/dist/viewer/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff +0 -0
  1008. package/dist/viewer/assets/ibm-plex-mono-latin-ext-400-italic-B7_fu1kp.woff2 +0 -0
  1009. package/dist/viewer/assets/ibm-plex-mono-latin-ext-400-italic-Bg0ZHwF4.woff +0 -0
  1010. package/dist/viewer/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2 +0 -0
  1011. package/dist/viewer/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff +0 -0
  1012. package/dist/viewer/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2 +0 -0
  1013. package/dist/viewer/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff +0 -0
  1014. package/dist/viewer/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2 +0 -0
  1015. package/dist/viewer/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff +0 -0
  1016. package/dist/viewer/assets/ibm-plex-mono-vietnamese-400-italic-D6eaYXMU.woff +0 -0
  1017. package/dist/viewer/assets/ibm-plex-mono-vietnamese-400-italic-DRuN92E5.woff2 +0 -0
  1018. package/dist/viewer/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2 +0 -0
  1019. package/dist/viewer/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff +0 -0
  1020. package/dist/viewer/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff +0 -0
  1021. package/dist/viewer/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2 +0 -0
  1022. package/dist/viewer/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2 +0 -0
  1023. package/dist/viewer/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff +0 -0
  1024. package/dist/viewer/assets/index-2LG7iXtP.js +97 -0
  1025. package/dist/viewer/assets/index-AtMBttuU.css +1 -0
  1026. package/dist/viewer/index.html +16 -0
  1027. package/package.json +69 -0
  1028. package/scripts/add-lang/bench.sh +60 -0
  1029. package/scripts/add-lang/check-grammar.mjs +75 -0
  1030. package/scripts/add-lang/dump-ast.mjs +103 -0
  1031. package/scripts/add-lang/verify-extraction.mjs +70 -0
  1032. package/scripts/agent-eval/ab-adoption.sh +91 -0
  1033. package/scripts/agent-eval/ab-hook.sh +86 -0
  1034. package/scripts/agent-eval/ab-impl.sh +78 -0
  1035. package/scripts/agent-eval/ab-new-vs-baseline.sh +161 -0
  1036. package/scripts/agent-eval/ab-sufficiency.sh +78 -0
  1037. package/scripts/agent-eval/allocation-fixtures.json +344 -0
  1038. package/scripts/agent-eval/arms-F.sh +21 -0
  1039. package/scripts/agent-eval/arms-matrix.sh +37 -0
  1040. package/scripts/agent-eval/audit.sh +68 -0
  1041. package/scripts/agent-eval/bench-readme.sh +48 -0
  1042. package/scripts/agent-eval/bench-why-repo.sh +22 -0
  1043. package/scripts/agent-eval/block-read-hook.sh +19 -0
  1044. package/scripts/agent-eval/compare-arms.mjs +209 -0
  1045. package/scripts/agent-eval/diff-index-drift.mjs +102 -0
  1046. package/scripts/agent-eval/hook-settings.json +15 -0
  1047. package/scripts/agent-eval/itrun.sh +120 -0
  1048. package/scripts/agent-eval/no-cli-shim.sh +96 -0
  1049. package/scripts/agent-eval/offload-eval-3arm.sh +72 -0
  1050. package/scripts/agent-eval/offload-eval-cost.mjs +133 -0
  1051. package/scripts/agent-eval/offload-eval-effort.mjs +108 -0
  1052. package/scripts/agent-eval/offload-eval-frontload-matrix.sh +25 -0
  1053. package/scripts/agent-eval/offload-eval-frontload.sh +47 -0
  1054. package/scripts/agent-eval/offload-eval-ground-truth.json +18 -0
  1055. package/scripts/agent-eval/offload-eval-hook.mjs +84 -0
  1056. package/scripts/agent-eval/offload-eval-judge.mjs +103 -0
  1057. package/scripts/agent-eval/offload-eval-matrix.sh +20 -0
  1058. package/scripts/agent-eval/offload-eval-metrics.mjs +94 -0
  1059. package/scripts/agent-eval/offload-eval-refs1.sh +50 -0
  1060. package/scripts/agent-eval/offload-eval-setup.sh +24 -0
  1061. package/scripts/agent-eval/offload-eval-styles.sh +72 -0
  1062. package/scripts/agent-eval/offload-eval-summarize.mjs +68 -0
  1063. package/scripts/agent-eval/offload-eval.md +76 -0
  1064. package/scripts/agent-eval/parse-arms.mjs +116 -0
  1065. package/scripts/agent-eval/parse-bench-readme.mjs +238 -0
  1066. package/scripts/agent-eval/parse-run.mjs +1401 -0
  1067. package/scripts/agent-eval/parse-session.mjs +130 -0
  1068. package/scripts/agent-eval/probe-allocation.mjs +335 -0
  1069. package/scripts/agent-eval/probe-context.mjs +21 -0
  1070. package/scripts/agent-eval/probe-decl-only.mjs +198 -0
  1071. package/scripts/agent-eval/probe-explore.mjs +40 -0
  1072. package/scripts/agent-eval/probe-factory-closure.mjs +147 -0
  1073. package/scripts/agent-eval/probe-file-spend.mjs +195 -0
  1074. package/scripts/agent-eval/probe-named-symbol.mjs +163 -0
  1075. package/scripts/agent-eval/probe-node.mjs +20 -0
  1076. package/scripts/agent-eval/probe-suite-envelope.mjs +124 -0
  1077. package/scripts/agent-eval/probe-sweep.mjs +119 -0
  1078. package/scripts/agent-eval/probe-trace.mjs +20 -0
  1079. package/scripts/agent-eval/redirect-read-hook.sh +38 -0
  1080. package/scripts/agent-eval/repro-concurrent-explore.mjs +119 -0
  1081. package/scripts/agent-eval/repro-daemon-clients.mjs +125 -0
  1082. package/scripts/agent-eval/run-agent.sh +34 -0
  1083. package/scripts/agent-eval/run-all.sh +149 -0
  1084. package/scripts/agent-eval/run-arms.sh +56 -0
  1085. package/scripts/agent-eval/seq-matrix.mjs +137 -0
  1086. package/scripts/benchmarks/measure-index.cjs +128 -0
  1087. package/scripts/benchmarks/observe-index.py +91 -0
  1088. package/scripts/build-bundle.sh +154 -0
  1089. package/scripts/build-kernel.sh +87 -0
  1090. package/scripts/check-ui-build.mjs +157 -0
  1091. package/scripts/check-ui-package.mjs +192 -0
  1092. package/scripts/clean-remaining.mjs +243 -0
  1093. package/scripts/count-codegraph.mjs +26 -0
  1094. package/scripts/deep-clean.mjs +66 -0
  1095. package/scripts/dump-graph.mjs +57 -0
  1096. package/scripts/extract-release-notes.mjs +130 -0
  1097. package/scripts/final-codegraph-cleanup.mjs +57 -0
  1098. package/scripts/go-rebrand.mjs +114 -0
  1099. package/scripts/kernel-parity.mjs +283 -0
  1100. package/scripts/local-install.sh +41 -0
  1101. package/scripts/npm-sdk.js +75 -0
  1102. package/scripts/npm-shim.js +279 -0
  1103. package/scripts/pack-npm.sh +123 -0
  1104. package/scripts/prepare-release.mjs +270 -0
  1105. package/scripts/rebrand.mjs +129 -0
  1106. package/scripts/sync-ui-version.mjs +47 -0
  1107. package/scripts/try-repo.sh +112 -0
@@ -0,0 +1,97 @@
1
+ (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))o(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&o(a)}).observe(document,{childList:!0,subtree:!0});function r(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function o(s){if(s.ep)return;s.ep=!0;const i=r(s);fetch(s.href,i)}})();const Fv=!1;var Ja=Array.isArray,sm=Array.prototype.indexOf,_a=Array.prototype.includes,$a=Array.from,im=Object.defineProperty,ro=Object.getOwnPropertyDescriptor,Bv=Object.getOwnPropertyDescriptors,Vv=Object.prototype,am=Array.prototype,el=Object.getPrototypeOf,vd=Object.isExtensible;function As(e){return typeof e=="function"}const Ln=()=>{};function lm(e){return e()}function Mc(e){for(var t=0;t<e.length;t++)e[t]()}function Wv(){var e,t,r=new Promise((o,s)=>{e=o,t=s});return{promise:r,resolve:e,reject:t}}function wn(e,t,r=!1){return e===void 0?r?t():t:e}function wi(e,t){if(Array.isArray(e))return e;if(t===void 0||!(Symbol.iterator in e))return Array.from(e);const r=[];for(const o of e)if(r.push(o),r.length===t)break;return r}function cm(e,t){var r={};for(var o in e)t.includes(o)||(r[o]=e[o]);for(var s of Object.getOwnPropertySymbols(e))Object.propertyIsEnumerable.call(e,s)&&!t.includes(s)&&(r[s]=e[s]);return r}const vn=2,es=4,bi=8,du=1<<24,er=16,Vn=32,br=64,Tc=128,Bn=512,ln=1024,en=2048,or=4096,xn=8192,Dn=16384,_s=32768,Cc=1<<25,io=65536,ya=1<<17,um=1<<18,Ro=1<<19,Kv=1<<20,fr=1<<25,To=65536,wa=1<<21,Go=1<<22,oo=1<<23,pr=Symbol("$state"),Yv=Symbol("legacy props"),dm=Symbol(""),Xv=Symbol("attributes"),Nc=Symbol("class"),Ic=Symbol("style"),Ac=Symbol("text"),sa=Symbol("form reset"),xi=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},fu=!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml");function vu(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function fm(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function vm(e,t,r){throw new Error("https://svelte.dev/e/each_key_duplicate")}function hm(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function gm(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function pm(e){throw new Error("https://svelte.dev/e/effect_orphan")}function mm(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function _m(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function ym(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function wm(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function bm(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function xm(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const km=1,Em=2,Gv=4,Sm=8,Mm=16,Tm=1,Cm=2,Nm=4,Im=8,Am=16,Zv=1,Pm=2,$t=Symbol("uninitialized"),Om="http://www.w3.org/1999/xhtml",Lm="@attach";function Dm(){console.warn("https://svelte.dev/e/derived_inert")}function Rm(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function zm(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Uv(e){return e===this.v}function Qv(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Jv(e){return!Qv(e,this.v)}let ys=!1,Hm=!1;function qm(){ys=!0}const jm=[];function $v(e,t=!1,r=!1){return ia(e,new Map,"",jm,null,r)}function ia(e,t,r,o,s=null,i=!1){if(typeof e=="object"&&e!==null){var a=t.get(e);if(a!==void 0)return a;if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);if(Ja(e)){var l=Array(e.length);t.set(e,l),s!==null&&t.set(s,l);for(var c=0;c<e.length;c+=1){var f=e[c];c in e&&(l[c]=ia(f,t,r,o,null,i))}return l}if(el(e)===Vv){l={},t.set(e,l),s!==null&&t.set(s,l);for(var u of Object.keys(e))l[u]=ia(e[u],t,r,o,null,i);return l}if(e instanceof Date)return structuredClone(e);if(typeof e.toJSON=="function"&&!i)return ia(e.toJSON(),t,r,o,e)}if(e instanceof EventTarget)return e;try{return structuredClone(e)}catch{return e}}function Fm(e){let t=e.p;for(;t!==null&&t.c===null;)t=t.p;return t?.c??null}function hu(e,t){return e===null&&vu(),e.c??=new Map(Fm(e)||void 0)}let Ot=null;function ts(e){Ot=e}function gu(e){return hu(Ot).get(e)}function eh(e,t){return hu(Ot).set(e,t),t}function Bm(e){return hu(Ot).has(e)}function Ne(e,t=!1,r){Ot={p:Ot,i:!1,c:null,e:null,s:e,x:null,r:ut,l:ys&&!t?{s:null,u:null,$:[]}:null}}function Ie(e){var t=Ot,r=t.e;if(r!==null){t.e=null;for(var o of r)wh(o)}return e!==void 0&&(t.x=e),t.i=!0,Ot=t.p,e??{}}function ki(){return!ys||Ot!==null&&Ot.l===null}let mo=[];function th(){var e=mo;mo=[],Mc(e)}function vr(e){if(mo.length===0&&!Js){var t=mo;queueMicrotask(()=>{t===mo&&th()})}mo.push(e)}function Vm(){for(;mo.length>0;)th()}function nh(e){var t=ut;if(t===null)return pt.f|=oo,e;if((t.f&_s)===0&&(t.f&es)===0)throw e;to(e,t)}function to(e,t){if(!(t!==null&&(t.f&Dn)!==0)){for(;t!==null;){if((t.f&Tc)!==0){if((t.f&_s)===0)throw e;try{t.b.error(e);return}catch(r){e=r}}t=t.parent}throw e}}const Wm=-7169;function Zt(e,t){e.f=e.f&Wm|t}function pu(e){(e.f&Bn)!==0||e.deps===null?Zt(e,ln):Zt(e,or)}function rh(e){if(e!==null)for(const t of e)(t.f&vn)===0||(t.f&To)===0||(t.f^=To,rh(t.deps))}function oh(e,t,r){(e.f&en)!==0?t.add(e):(e.f&or)!==0&&r.add(e),rh(e.deps),Zt(e,ln)}let Hi=!1;function Km(e){var t=Hi;try{return Hi=!1,[e(),Hi]}finally{Hi=t}}function Ym(e,t){if(t){const r=document.body;e.autofocus=!0,vr(()=>{document.activeElement===r&&e.focus()})}}let hd=!1;function Xm(){hd||(hd=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t[sa]?.()})},{capture:!0}))}function ws(e){var t=pt,r=ut;Wn(null),xr(null);try{return e()}finally{Wn(t),xr(r)}}function Gm(e,t,r,o=r){e.addEventListener(t,()=>ws(r));const s=e[sa];s?e[sa]=()=>{s(),o(!0)}:e[sa]=()=>o(!0),Xm()}function sh(e){let t=0,r=Co(0),o;return()=>{bu()&&(n(r),tl(()=>(t===0&&(o=Ut(()=>e(()=>$s(r)))),t+=1,()=>{vr(()=>{t-=1,t===0&&(o?.(),o=void 0,$s(r))})})))}}var Zm=io|Ro;function Um(e,t,r,o){new Qm(e,t,r,o)}class Qm{parent;is_pending=!1;transform_error;#e;#n=null;#t;#a;#o;#i=null;#r=null;#l=null;#s=null;#g=0;#c=0;#u=!1;#f=new Set;#p=new Set;#d=null;#_=sh(()=>(this.#d=Co(this.#g),()=>{this.#d=null}));constructor(t,r,o,s){this.#e=t,this.#t=r,this.#a=i=>{var a=ut;a.b=this,a.f|=Tc,o(i)},this.parent=ut.b,this.transform_error=s??this.parent?.transform_error??(i=>i),this.#o=Mi(()=>{this.#v()},Zm)}#m(){try{this.#i=Mn(()=>this.#a(this.#e))}catch(t){this.error(t)}}#b(t){const r=this.#t.failed,{reset:o,invoke_onerror:s}=this.#y(t);vr(s),r&&(this.#l=Mn(()=>{r(this.#e,()=>t,()=>o)}))}#y(t){var r=!1,o=!1;const s=()=>{if(r){zm();return}r=!0,o&&xm(),this.#l!==null&&Eo(this.#l,()=>{this.#l=null}),this.#h(()=>{this.#v()})};return{reset:s,invoke_onerror:()=>{try{o=!0,this.#t.onerror?.(t,s),o=!1}catch(a){to(a,this.#o&&this.#o.parent)}}}}#x(){const t=this.#t.pending;t&&(this.is_pending=!0,this.#r=Mn(()=>t(this.#e)),vr(()=>{var r=this.#s=document.createDocumentFragment(),o=Rr();r.append(o),this.#i=this.#h(()=>Mn(()=>this.#a(o))),this.#c===0&&(this.#e.before(r),this.#s=null,Eo(this.#r,()=>{this.#r=null}),this.#w(lt))}))}#v(){try{if(this.is_pending=this.has_pending_snippet(),this.#c=0,this.#g=0,this.#i=Mn(()=>{this.#a(this.#e)}),this.#c>0){var t=this.#s=document.createDocumentFragment();Eu(this.#i,t);const r=this.#t.pending;this.#r=Mn(()=>r(this.#e))}else this.#w(lt)}catch(r){this.error(r)}}#w(t){this.is_pending=!1,t.transfer_effects(this.#f,this.#p)}defer_effect(t){oh(t,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#t.pending}#h(t){var r=ut,o=pt,s=Ot;xr(this.#o),Wn(this.#o),ts(this.#o.ctx);try{return qr.ensure(),t()}catch(i){return nh(i),null}finally{xr(r),Wn(o),ts(s)}}#k(t,r){if(!this.has_pending_snippet()){this.parent&&this.parent.#k(t,r);return}this.#c+=t,this.#c===0&&(this.#w(r),this.#r&&Eo(this.#r,()=>{this.#r=null}),this.#s&&(this.#e.before(this.#s),this.#s=null))}update_pending_count(t,r){this.#k(t,r),this.#g+=t,!(!this.#d||this.#u)&&(this.#u=!0,vr(()=>{this.#u=!1,this.#d&&rs(this.#d,this.#g)}))}get_effect_pending(){return this.#_(),n(this.#d)}error(t){if(!this.#t.onerror&&!this.#t.failed)throw t;lt?.is_fork?(this.#i&&lt.skip_effect(this.#i),this.#r&&lt.skip_effect(this.#r),this.#l&&lt.skip_effect(this.#l),lt.oncommit(()=>{this.#E(t)})):this.#E(t)}#E(t){this.#i&&(hn(this.#i),this.#i=null),this.#r&&(hn(this.#r),this.#r=null),this.#l&&(hn(this.#l),this.#l=null);let r=this.#t.failed;const o=s=>{const{reset:i,invoke_onerror:a}=this.#y(s);a(),r&&(this.#l=this.#h(()=>{try{return Mn(()=>{var l=ut;l.b=this,l.f|=Tc,r(this.#e,()=>s,()=>i)})}catch(l){return to(l,this.#o.parent),null}}))};vr(()=>{var s;try{s=this.transform_error(t)}catch(i){to(i,this.#o&&this.#o.parent);return}s!==null&&typeof s=="object"&&typeof s.then=="function"?s.then(o,i=>to(i,this.#o&&this.#o.parent)):o(s)})}}function ih(e,t,r,o){const s=ki()?ns:mu;var i=e.filter(g=>!g.settled),a=t.map(s);if(r.length===0&&i.length===0){o(a);return}var l=ut,c=Jm(),f=i.length===1?i[0].promise:i.length>1?Promise.all(i.map(g=>g.promise)):null;function u(g){if((l.f&Dn)===0){c();try{o([...a,...g])}catch(p){to(p,l)}ba()}}var h=ah();if(r.length===0){f.then(()=>u([])).finally(h);return}function d(){Promise.all(r.map(g=>$m(g))).then(u).catch(g=>to(g,l)).finally(h)}f?f.then(()=>{c(),d(),ba()}):d()}function Jm(){var e=ut,t=pt,r=Ot,o=lt;return function(i=!0){xr(e),Wn(t),ts(r),i&&(e.f&Dn)===0&&(o?.activate(),o?.apply())}}function ba(e=!0){xr(null),Wn(null),ts(null),e&&lt?.deactivate()}function ah(){var e=ut,t=e.b,r=lt,o=!!t?.is_rendered();return t?.update_pending_count(1,r),r.increment(o,e),()=>{t?.update_pending_count(-1,r),r.decrement(o,e)}}function ns(e){var t=vn|en;return ut!==null&&(ut.f|=Ro),{ctx:Ot,deps:null,effects:null,equals:Uv,f:t,fn:e,reactions:null,rv:0,v:$t,wv:0,parent:ut,ac:null}}const Ks=Symbol("obsolete");function $m(e,t,r){let o=ut;o===null&&fm();var s=void 0,i=Co($t),a=!pt,l=new Set;return v_(()=>{var c=ut,f=Wv();s=f.promise;try{Promise.resolve(e()).then(f.resolve,g=>{g!==xi&&f.reject(g)}).finally(ba)}catch(g){f.reject(g),ba()}var u=lt;if(a){if((c.f&_s)!==0)var h=ah();if(o.b?.is_rendered())u.async_deriveds.get(c)?.reject(Ks);else for(const g of l.values())g.reject(Ks);l.add(f),u.async_deriveds.set(c,f)}const d=(g,p=void 0)=>{h?.(),l.delete(f),p!==Ks&&(u.activate(),p?(i.f|=oo,rs(i,p)):((i.f&oo)!==0&&(i.f^=oo),rs(i,g)),u.deactivate())};f.promise.then(d,g=>d(null,g||"unknown"))}),xu(()=>{for(const c of l)c.reject(Ks)}),new Promise(c=>{function f(u){function h(){u===s?c(i):f(s)}u.then(h,h)}f(s)})}function S(e){const t=ns(e);return Ch(t),t}function mu(e){const t=ns(e);return t.equals=Jv,t}function e_(e){var t=e.effects;if(t!==null){e.effects=null;for(var r=0;r<t.length;r+=1)hn(t[r])}}function _u(e){var t,r=ut,o=e.parent;if(!jr&&o!==null&&e.v!==$t&&(o.f&(Dn|xn))!==0)return Dm(),e.v;xr(o);try{e.f&=~To,e_(e),t=Ph(e)}finally{xr(r)}return t}function lh(e){var t=_u(e);if(!e.equals(t)&&(e.wv=Ih(),(!lt?.is_fork||e.deps===null)&&(lt!==null?(lt.capture(e,t,!0),Pc?.capture(e,t,!0)):e.v=t,e.deps===null))){Zt(e,ln);return}jr||(tr!==null?(bu()||lt?.is_fork)&&tr.set(e,t):pu(e))}function t_(e){if(e.effects!==null)for(const t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac!==null&&ws(()=>{t.ac.abort(xi),t.ac=null}),t.fn!==null&&(t.teardown=Ln),li(t,0),ku(t))}function ch(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&t.fn!==null&&os(t)}let Fl=null,Fo=null,lt=null,Pc=null,tr=null,Oc=null,Js=!1,Bl=!1,Wo=null,aa=null;var gd=0;let n_=1;class qr{id=n_++;#e=!1;linked=!0;#n=null;#t=null;async_deriveds=new Map;current=new Map;previous=new Map;#a=new Set;#o=new Set;#i=0;#r=new Map;#l=null;#s=[];#g=[];#c=new Set;#u=new Set;#f=new Map;#p=new Set;is_fork=!1;#d=!1;constructor(){Fo===null?Fl=Fo=this:(Fo.#t=this,this.#n=Fo),Fo=this}#_(){if(this.is_fork)return!0;for(const o of this.#r.keys()){for(var t=o,r=!1;t.parent!==null;){if(this.#f.has(t)){r=!0;break}t=t.parent}if(!r)return!0}return!1}skip_effect(t){this.#f.has(t)||this.#f.set(t,{d:[],m:[]}),this.#p.delete(t)}unskip_effect(t,r=o=>this.schedule(o)){var o=this.#f.get(t);if(o){this.#f.delete(t);for(var s of o.d)Zt(s,en),r(s);for(s of o.m)Zt(s,or),r(s)}this.#p.add(t)}#m(){this.#e=!0,gd++>1e3&&(this.#h(),o_());for(const c of this.#c)this.#u.delete(c),Zt(c,en),this.schedule(c);for(const c of this.#u)Zt(c,or),this.schedule(c);const t=this.#s;this.#s=[],this.apply();var r=Wo=[],o=[],s=aa=[];for(const c of t)try{this.#b(c,r,o)}catch(f){throw fh(c),this.#_()||this.discard(),f}if(lt=null,s.length>0){var i=qr.ensure();for(const c of s)i.schedule(c)}if(Wo=null,aa=null,this.#_()){this.#v(o),this.#v(r);for(const[c,f]of this.#f)dh(c,f);s.length>0&&lt.#m();return}const a=this.#y();if(a){this.#v(o),this.#v(r),a.#x(this);return}this.#c.clear(),this.#u.clear();for(const c of this.#a)c(this);this.#a.clear(),Pc=this,pd(o),pd(r),Pc=null,this.#l?.resolve();var l=lt;if(this.#i===0&&(this.#s.length===0||l!==null)&&this.#h(),this.#s.length>0)if(l!==null){const c=l;c.#s.push(...this.#s.filter(f=>!c.#s.includes(f)))}else l=this;l!==null&&(mr.clear(),l.#m())}#b(t,r,o){t.f^=ln;for(var s=t.first;s!==null;){var i=s.f,a=(i&(Vn|br))!==0,l=a&&(i&ln)!==0,c=l||(i&xn)!==0||this.#f.has(s);if(!c&&s.fn!==null){a?s.f^=ln:(i&es)!==0?r.push(s):Ti(s)&&((i&er)!==0&&this.#u.add(s),os(s));var f=s.first;if(f!==null){s=f;continue}}for(;s!==null;){var u=s.next;if(u!==null){s=u;break}s=s.parent}}}#y(){for(var t=this.#n;t!==null;){if(!t.is_fork){for(const[r,[,o]]of this.current)if(t.current.has(r)&&!o)return t}t=t.#n}return null}#x(t){for(const[o,s]of t.current)!this.previous.has(o)&&t.previous.has(o)&&this.previous.set(o,t.previous.get(o)),this.current.set(o,s);for(const[o,s]of t.async_deriveds){const i=this.async_deriveds.get(o);i&&s.promise.then(i.resolve).catch(i.reject)}t.async_deriveds.clear(),this.transfer_effects(t.#c,t.#u);const r=o=>{var s=o.reactions;if(s!==null&&!((o.f&vn)!==0&&(o.f&(en|or))===0))for(const l of s){var i=l.f;if((i&vn)!==0)r(l);else{var a=l;i&(Go|er)&&!this.async_deriveds.has(a)&&(this.#u.delete(a),Zt(a,en),this.schedule(a))}}};for(const o of this.current.keys())r(o);this.oncommit(()=>t.discard()),t.#h(),lt=this,this.#m()}#v(t){for(var r=0;r<t.length;r+=1)oh(t[r],this.#c,this.#u)}capture(t,r,o=!1){t.v!==$t&&!this.previous.has(t)&&this.previous.set(t,t.v),(t.f&oo)===0&&(this.current.set(t,[r,o]),tr?.set(t,r)),this.is_fork||(t.v=r)}activate(){lt=this}deactivate(){lt=null,tr=null}flush(){try{Bl=!0,lt=this,this.#m()}finally{gd=0,Oc=null,Wo=null,aa=null,Bl=!1,lt=null,tr=null,mr.clear()}}discard(){for(const t of this.#o)t(this);this.#o.clear();for(const t of this.async_deriveds.values())t.reject(Ks);this.#h(),this.#l?.resolve()}register_created_effect(t){this.#g.push(t)}#w(){for(let h=Fl;h!==null;h=h.#t){var t=h.id<this.id,r=[];for(const[d,[g,p]]of this.current){if(h.current.has(d)){var o=h.current.get(d)[0];if(t&&g!==o)h.current.set(d,[g,p]);else continue}r.push(d)}if(t)for(const[d,g]of this.async_deriveds){const p=h.async_deriveds.get(d);p&&g.promise.then(p.resolve).catch(p.reject)}var s=[...h.current.keys()].filter(d=>!h.current.get(d)[1]);if(!(!h.#e||s.length===0)){var i=s.filter(d=>!this.current.has(d));if(i.length===0)t&&h.discard();else if(r.length>0){if(t)for(const d of this.#p)h.unskip_effect(d,g=>{(g.f&(er|Go))!==0?h.schedule(g):h.#v([g])});h.activate();var a=new Set,l=new Map;for(var c of r)uh(c,i,a,l);l=new Map;var f=[...h.current].filter(([d,g])=>{const p=this.current.get(d);return p?p[0]!==g[0]||p[1]!==g[1]:!0}).map(([d])=>d);if(f.length>0)for(const d of this.#g)(d.f&(Dn|xn|ya))===0&&yu(d,f,l)&&((d.f&(Go|er))!==0?(Zt(d,en),h.schedule(d)):h.#c.add(d));if(h.#s.length>0&&!h.#d){h.apply();for(var u of h.#s)h.#b(u,[],[]);h.#s=[]}h.deactivate()}}}}increment(t,r){if(this.#i+=1,t){let o=this.#r.get(r)??0;this.#r.set(r,o+1)}}decrement(t,r){if(this.#i-=1,t){let o=this.#r.get(r)??0;o===1?this.#r.delete(r):this.#r.set(r,o-1)}this.#d||(this.#d=!0,vr(()=>{this.#d=!1,this.linked&&this.flush()}))}transfer_effects(t,r){for(const o of t)this.#c.add(o);for(const o of r)this.#u.add(o);t.clear(),r.clear()}oncommit(t){this.#a.add(t)}ondiscard(t){this.#o.add(t)}settled(){return(this.#l??=Wv()).promise}static ensure(){if(lt===null){const t=lt=new qr;!Bl&&!Js&&vr(()=>{t.#e||t.flush()})}return lt}apply(){{tr=null;return}}schedule(t){if(Oc=t,t.b?.is_pending&&(t.f&(es|bi|du))!==0&&(t.f&_s)===0){t.b.defer_effect(t);return}for(var r=t;r.parent!==null;){r=r.parent;var o=r.f;if(Wo!==null&&r===ut&&(pt===null||(pt.f&vn)===0))return;if((o&(br|Vn))!==0){if((o&ln)===0)return;r.f^=ln}}this.#s.push(r)}#h(){if(this.linked){var t=this.#n,r=this.#t;t===null?Fl=r:t.#t=r,r===null?Fo=t:r.#n=t,this.linked=!1}}}function r_(e){var t=Js;Js=!0;try{for(var r;;){if(Vm(),lt===null)return r;lt.flush()}}finally{Js=t}}function o_(){try{mm()}catch(e){to(e,Oc)}}let Ar=null;function pd(e){var t=e.length;if(t!==0){for(var r=0;r<t;){var o=e[r++];if((o.f&(Dn|xn))===0&&Ti(o)&&(Ar=new Set,os(o),o.deps===null&&o.first===null&&o.nodes===null&&o.teardown===null&&o.ac===null&&Sh(o),Ar?.size>0)){mr.clear();for(const s of Ar){if((s.f&(Dn|xn))!==0)continue;const i=[s];let a=s.parent;for(;a!==null;)Ar.has(a)&&(Ar.delete(a),i.push(a)),a=a.parent;for(let l=i.length-1;l>=0;l--){const c=i[l];(c.f&(Dn|xn))===0&&os(c)}}Ar.clear()}}Ar=null}}function uh(e,t,r,o){if(!r.has(e)&&(r.add(e),e.reactions!==null))for(const s of e.reactions){const i=s.f;(i&vn)!==0?uh(s,t,r,o):(i&(Go|er))!==0&&(i&en)===0&&yu(s,t,o)&&(Zt(s,en),wu(s))}}function yu(e,t,r){const o=r.get(e);if(o!==void 0)return o;if(e.deps!==null)for(const s of e.deps){if(_a.call(t,s))return!0;if((s.f&vn)!==0&&yu(s,t,r))return r.set(s,!0),!0}return r.set(e,!1),!1}function wu(e){lt.schedule(e)}function dh(e,t){if(!((e.f&Vn)!==0&&(e.f&ln)!==0)){(e.f&en)!==0?t.d.push(e):(e.f&or)!==0&&t.m.push(e),Zt(e,ln);for(var r=e.first;r!==null;)dh(r,t),r=r.next}}function fh(e){Zt(e,ln);for(var t=e.first;t!==null;)fh(t),t=t.next}let xa=new Set;const mr=new Map;let vh=!1;function Co(e,t){var r={f:0,v:e,reactions:null,equals:Uv,rv:0,wv:0};return r}function ae(e,t){const r=Co(e);return Ch(r),r}function s_(e,t=!1,r=!0){const o=Co(e);return t||(o.equals=Jv),ys&&r&&Ot!==null&&Ot.l!==null&&(Ot.l.s??=[]).push(o),o}function L(e,t,r=!1){pt!==null&&(!nr||(pt.f&ya)!==0)&&ki()&&(pt.f&(vn|er|Go|ya))!==0&&(_r===null||!_r.has(e))&&bm();let o=r?un(t):t;return rs(e,o,aa)}function rs(e,t,r=null){if(!e.equals(t)){jr?mr.set(e,t):mr.has(e)||mr.set(e,e.v);var o=qr.ensure();if(o.capture(e,t),(e.f&vn)!==0){const s=e;(e.f&en)!==0&&_u(s),tr===null&&pu(s)}e.wv=Ih(),hh(e,en,r),ki()&&ut!==null&&(ut.f&ln)!==0&&(ut.f&(Vn|br))===0&&(jn===null?p_([e]):jn.push(e)),!o.is_fork&&xa.size>0&&!vh&&i_()}return t}function i_(){vh=!1;for(const e of xa){(e.f&ln)!==0&&Zt(e,or);let t;try{t=Ti(e)}catch{t=!0}t&&os(e)}xa.clear()}function $s(e){L(e,e.v+1)}function hh(e,t,r){var o=e.reactions;if(o!==null)for(var s=ki(),i=o.length,a=0;a<i;a++){var l=o[a],c=l.f;if(!(!s&&l===ut)){var f=(c&en)===0;if(f&&Zt(l,t),(c&ya)!==0)xa.add(l);else if((c&vn)!==0){var u=l;tr?.delete(u),(c&To)===0&&(c&Bn&&(ut===null||(ut.f&wa)===0)&&(l.f|=To),hh(u,or,r))}else if(f){var h=l;(c&er)!==0&&Ar!==null&&Ar.add(h),r!==null?r.push(h):wu(h)}}}}function un(e){if(typeof e!="object"||e===null||pr in e)return e;const t=el(e);if(t!==Vv&&t!==am)return e;var r=new Map,o=Ja(e),s=ae(0),i=So,a=l=>{if(So===i)return l();var c=pt,f=So;Wn(null),yd(i);var u=l();return Wn(c),yd(f),u};return o&&r.set("length",ae(e.length)),new Proxy(e,{defineProperty(l,c,f){(!("value"in f)||f.configurable===!1||f.enumerable===!1||f.writable===!1)&&ym();var u=r.get(c);return u===void 0?a(()=>{var h=ae(f.value);return r.set(c,h),h}):L(u,f.value,!0),!0},deleteProperty(l,c){var f=r.get(c);if(f===void 0){if(c in l){const u=a(()=>ae($t));r.set(c,u),$s(s)}}else L(f,$t),$s(s);return!0},get(l,c,f){if(c===pr)return e;var u=r.get(c),h=c in l;if(u===void 0&&(!h||ro(l,c)?.writable)&&(u=a(()=>{var g=un(h?l[c]:$t),p=ae(g);return p}),r.set(c,u)),u!==void 0){var d=n(u);return d===$t?void 0:d}return Reflect.get(l,c,f)},getOwnPropertyDescriptor(l,c){var f=Reflect.getOwnPropertyDescriptor(l,c);if(f&&"value"in f){var u=r.get(c);u&&(f.value=n(u))}else if(f===void 0){var h=r.get(c),d=h?.v;if(h!==void 0&&d!==$t)return{enumerable:!0,configurable:!0,value:d,writable:!0}}return f},has(l,c){if(c===pr)return!0;var f=r.get(c),u=f!==void 0&&f.v!==$t||Reflect.has(l,c);if(f!==void 0||ut!==null&&(!u||ro(l,c)?.writable)){f===void 0&&(f=a(()=>{var d=u?un(l[c]):$t,g=ae(d);return g}),r.set(c,f));var h=n(f);if(h===$t)return!1}return u},set(l,c,f,u){var h=r.get(c),d=c in l;if(o&&c==="length")for(var g=f;g<h.v;g+=1){var p=r.get(g+"");p!==void 0?L(p,$t):g in l&&(p=a(()=>ae($t)),r.set(g+"",p))}if(h===void 0)(!d||ro(l,c)?.writable)&&(h=a(()=>ae(void 0)),L(h,un(f)),r.set(c,h));else{d=h.v!==$t;var y=a(()=>un(f));L(h,y)}var w=Reflect.getOwnPropertyDescriptor(l,c);if(w?.set&&w.set.call(u,f),!d){if(o&&typeof c=="string"){var M=r.get("length"),I=Number(c);Number.isInteger(I)&&I>=M.v&&L(M,I+1)}$s(s)}return!0},ownKeys(l){n(s);var c=Reflect.ownKeys(l).filter(h=>{var d=r.get(h);return d===void 0||d.v!==$t});for(var[f,u]of r)u.v!==$t&&!(f in l)&&c.push(f);return c},setPrototypeOf(){wm()}})}function md(e){try{if(e!==null&&typeof e=="object"&&pr in e)return e[pr]}catch{}return e}function a_(e,t){return Object.is(md(e),md(t))}var fn,gh,ph,mh;function l_(){if(fn===void 0){fn=window,gh=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,r=Text.prototype;ph=ro(t,"firstChild").get,mh=ro(t,"nextSibling").get,vd(e)&&(e[Nc]=void 0,e[Xv]=null,e[Ic]=void 0,e.__e=void 0),vd(r)&&(r[Ac]=void 0)}}function Rr(e=""){return document.createTextNode(e)}function Or(e){return ph.call(e)}function Ei(e){return mh.call(e)}function v(e,t){return Or(e)}function ye(e,t=!1){{var r=Or(e);return r instanceof Comment&&r.data===""?Ei(r):r}}function m(e,t=1,r=!1){let o=e;for(;t--;)o=Ei(o);return o}function c_(e){e.textContent=""}function _h(){return!1}function u_(e,t,r){return r?document.createElement(e,{is:r}):document.createElement(e)}function yh(e){ut===null&&(pt===null&&pm(),gm()),jr&&hm()}function d_(e,t){var r=t.last;r===null?t.last=t.first=e:(r.next=e,e.prev=r,t.last=e)}function Xn(e,t){var r=ut;r!==null&&(r.f&xn)!==0&&(e|=xn);var o={ctx:Ot,deps:null,nodes:null,f:e|en|Bn,first:null,fn:t,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};lt?.register_created_effect(o);var s=o;if((e&es)!==0)Wo!==null?Wo.push(o):qr.ensure().schedule(o);else if(t!==null){try{os(o)}catch(a){throw hn(o),a}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&Ro)===0&&(s=s.first,(e&er)!==0&&(e&io)!==0&&s!==null&&(s.f|=io))}if(s!==null&&(s.parent=r,r!==null&&d_(s,r),pt!==null&&(pt.f&vn)!==0&&(e&br)===0)){var i=pt;(i.effects??=[]).push(s)}return o}function bu(){return pt!==null&&!nr}function xu(e){const t=Xn(bi,null);return Zt(t,ln),t.teardown=e,t}function et(e){yh();var t=ut.f,r=!pt&&(t&Vn)!==0&&Ot!==null&&!Ot.i;if(r){var o=Ot;(o.e??=[]).push(e)}else return wh(e)}function wh(e){return Xn(es|Kv,e)}function bh(e){return yh(),Xn(bi|Kv,e)}function xh(e){qr.ensure();const t=Xn(br|Ro,e);return()=>{hn(t)}}function f_(e){qr.ensure();const t=Xn(br|Ro,e);return(r={})=>new Promise(o=>{r.outro?Eo(t,()=>{hn(t),o(void 0)}):(hn(t),o(void 0))})}function Si(e){return Xn(es,e)}function v_(e){return Xn(Go|Ro,e)}function tl(e,t=0){return Xn(bi|t,e)}function P(e,t=[],r=[],o=[]){ih(o,t,r,s=>{Xn(bi,()=>{e(...s.map(n))})})}function Mi(e,t=0){var r=Xn(er|t,e);return r}function kh(e,t=0){var r=Xn(du|t,e);return r}function Mn(e){return Xn(Vn|Ro,e)}function Eh(e){var t=e.teardown;if(t!==null){const r=jr,o=pt;_d(!0),Wn(null);try{t.call(null)}finally{_d(r),Wn(o)}}}function ku(e,t=!1){var r=e.first;for(e.first=e.last=null;r!==null;){const s=r.ac;s!==null&&ws(()=>{s.abort(xi)});var o=r.next;(r.f&br)!==0?r.parent=null:hn(r,t),r=o}}function h_(e){for(var t=e.first;t!==null;){var r=t.next;(t.f&Vn)===0&&hn(t),t=r}}function hn(e,t=!0){var r=!1;(t||(e.f&um)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(g_(e.nodes.start,e.nodes.end),r=!0),e.f|=Cc,ku(e,t&&!r),li(e,0);var o=e.nodes&&e.nodes.t;if(o!==null)for(const i of o)i.stop();Eh(e),e.f^=Cc,e.f|=Dn;var s=e.parent;s!==null&&s.first!==null&&Sh(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function g_(e,t){for(;e!==null;){var r=e===t?null:Ei(e);e.remove(),e=r}}function Sh(e){var t=e.parent,r=e.prev,o=e.next;r!==null&&(r.next=o),o!==null&&(o.prev=r),t!==null&&(t.first===e&&(t.first=o),t.last===e&&(t.last=r))}function Eo(e,t,r=!0){var o=[];Mh(e,o,!0);var s=()=>{r&&hn(e),t&&t()},i=o.length;if(i>0){var a=()=>--i||s();for(var l of o)l.out(a)}else s()}function Mh(e,t,r){if((e.f&xn)===0){e.f^=xn;var o=e.nodes&&e.nodes.t;if(o!==null)for(const l of o)(l.is_global||r)&&t.push(l);for(var s=e.first;s!==null;){var i=s.next;if((s.f&br)===0){var a=(s.f&io)!==0||(s.f&Vn)!==0&&(e.f&er)!==0;Mh(s,t,a?r:!1)}s=i}}}function ka(e){Th(e,!0)}function Th(e,t){if((e.f&xn)!==0){e.f^=xn,(e.f&ln)===0&&(Zt(e,en),qr.ensure().schedule(e));for(var r=e.first;r!==null;){var o=r.next,s=(r.f&io)!==0||(r.f&Vn)!==0;Th(r,s?t:!1),r=o}var i=e.nodes&&e.nodes.t;if(i!==null)for(const a of i)(a.is_global||t)&&a.in()}}function Eu(e,t){if(e.nodes)for(var r=e.nodes.start,o=e.nodes.end;r!==null;){var s=r===o?null:Ei(r);t.append(r),r=s}}let la=!1,jr=!1;function _d(e){jr=e}let pt=null,nr=!1;function Wn(e){pt=e}let ut=null;function xr(e){ut=e}let _r=null;function Ch(e){pt!==null&&(_r??=new Set).add(e)}let Sn=null,On=0,jn=null;function p_(e){jn=e}let Nh=1,_o=0,So=_o;function yd(e){So=e}function Ih(){return++Nh}function Ti(e){var t=e.f;if((t&en)!==0)return!0;if(t&vn&&(e.f&=~To),(t&or)!==0){for(var r=e.deps,o=r.length,s=0;s<o;s++){var i=r[s];if(Ti(i)&&lh(i),i.wv>e.wv)return!0}(t&Bn)!==0&&tr===null&&Zt(e,ln)}return!1}function Ah(e,t,r=!0){var o=e.reactions;if(o!==null&&!(_r!==null&&_r.has(e)))for(var s=0;s<o.length;s++){var i=o[s];(i.f&vn)!==0?Ah(i,t,!1):t===i&&(r?Zt(i,en):(i.f&ln)!==0&&Zt(i,or),wu(i))}}function Ph(e){var t=Sn,r=On,o=jn,s=pt,i=_r,a=Ot,l=nr,c=So,f=e.f;Sn=null,On=0,jn=null,pt=(f&(Vn|br))===0?e:null,_r=null,ts(e.ctx),nr=!1,So=++_o,e.ac!==null&&(ws(()=>{e.ac.abort(xi)}),e.ac=null);try{e.f|=wa;var u=e.fn,h=u();e.f|=_s;var d=e.deps,g=lt?.is_fork;if(Sn!==null){var p;if(g||li(e,On),d!==null&&On>0)for(d.length=On+Sn.length,p=0;p<Sn.length;p++)d[On+p]=Sn[p];else e.deps=d=Sn;if(bu()&&(e.f&Bn)!==0)for(p=On;p<d.length;p++)(d[p].reactions??=[]).push(e)}else!g&&d!==null&&On<d.length&&(li(e,On),d.length=On);if(ki()&&jn!==null&&!nr&&d!==null&&(e.f&(vn|or|en))===0)for(p=0;p<jn.length;p++)Ah(jn[p],e);if(s!==null&&s!==e){if(_o++,s.deps!==null)for(let y=0;y<r;y+=1)s.deps[y].rv=_o;if(t!==null)for(const y of t)y.rv=_o;jn!==null&&(o===null?o=jn:o.push(...jn))}return(e.f&oo)!==0&&(e.f^=oo),h}catch(y){return nh(y)}finally{e.f^=wa,Sn=t,On=r,jn=o,pt=s,_r=i,ts(a),nr=l,So=c}}function m_(e,t){let r=t.reactions;if(r!==null){var o=sm.call(r,e);if(o!==-1){var s=r.length-1;s===0?r=t.reactions=null:(r[o]=r[s],r.pop())}}if(r===null&&(t.f&vn)!==0&&(Sn===null||!_a.call(Sn,t))){var i=t;(i.f&Bn)!==0&&(i.f^=Bn,i.f&=~To),i.v!==$t&&pu(i),i.ac!==null&&ws(()=>{i.ac.abort(xi),i.ac=null,Zt(i,en)}),t_(i),li(i,0)}}function li(e,t){var r=e.deps;if(r!==null)for(var o=t;o<r.length;o++)m_(e,r[o])}function os(e){var t=e.f;if((t&Dn)===0){Zt(e,ln);var r=ut,o=la;ut=e,la=(t&(Vn|br))===0;try{(t&(er|du))!==0?h_(e):ku(e),Eh(e);var s=Ph(e);e.teardown=typeof s=="function"?s:null,e.wv=Nh;var i;Fv&&Hm&&(e.f&en)!==0&&e.deps}finally{la=o,ut=r}}}async function Ea(){await Promise.resolve(),r_()}function n(e){var t=e.f,r=(t&vn)!==0;if(pt!==null&&!nr){var o=ut!==null&&(ut.f&Dn)!==0;if(!o&&(_r===null||!_r.has(e))){var s=pt.deps;if((pt.f&wa)!==0)e.rv<_o&&(e.rv=_o,Sn===null&&s!==null&&s[On]===e?On++:Sn===null?Sn=[e]:Sn.push(e));else{pt.deps??=[],_a.call(pt.deps,e)||pt.deps.push(e);var i=e.reactions;i===null?e.reactions=[pt]:_a.call(i,pt)||i.push(pt)}}}if(jr&&mr.has(e))return mr.get(e);if(r){var a=e;if(jr){var l=a.v;return((a.f&ln)===0&&a.reactions!==null||Lh(a))&&(l=_u(a)),mr.set(a,l),l}var c=(a.f&Bn)===0&&!nr&&pt!==null&&(la||(pt.f&Bn)!==0),f=(a.f&_s)===0;Ti(a)&&(c&&(a.f|=Bn),lh(a)),c&&!f&&(ch(a),Oh(a))}if(tr?.has(e))return tr.get(e);if((e.f&oo)!==0)throw e.v;return e.v}function Oh(e){if(e.f|=Bn,e.deps!==null)for(const t of e.deps)(t.reactions??=[]).push(e),(t.f&vn)!==0&&(t.f&Bn)===0&&(ch(t),Oh(t))}function Lh(e){if(e.v===$t)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(mr.has(t)||(t.f&vn)!==0&&Lh(t))return!0;return!1}function Ut(e){var t=nr;try{return nr=!0,e()}finally{nr=t}}function Dh(e){if(!(typeof e!="object"||!e||e instanceof EventTarget)){if(pr in e)Lc(e);else if(!Array.isArray(e))for(let t in e){const r=e[t];typeof r=="object"&&r&&pr in r&&Lc(r)}}}function Lc(e,t=new Set){if(typeof e=="object"&&e!==null&&!(e instanceof EventTarget)&&!t.has(e)){t.add(e),e instanceof Date&&e.getTime();for(let o in e)try{Lc(e[o],t)}catch{}const r=el(e);if(r!==Object.prototype&&r!==Array.prototype&&r!==Map.prototype&&r!==Set.prototype&&r!==Date.prototype){const o=Bv(r);for(let s in o){const i=o[s].get;if(i)try{i.call(e)}catch{}}}}}function __(e){return e.endsWith("capture")&&e!=="gotpointercapture"&&e!=="lostpointercapture"}const y_=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function w_(e){return y_.includes(e)}const b_={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function x_(e){return e=e.toLowerCase(),b_[e]??e}const k_=["touchstart","touchmove"];function E_(e){return k_.includes(e)}const Ys=Symbol("events"),Rh=new Set,Dc=new Set;function Su(e,t,r,o={}){function s(i){if(o.capture||zc.call(t,i),!i.cancelBubble)return ws(()=>r?.call(this,i))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?vr(()=>{t.addEventListener(e,s,o)}):t.addEventListener(e,s,o),s}function Rc(e,t,r,o={}){var s=Su(t,e,r,o);return()=>{e.removeEventListener(t,s,o)}}function Ge(e,t,r,o,s){var i={capture:o,passive:s},a=Su(e,t,r,i);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&xu(()=>{t.removeEventListener(e,a,i)})}function ke(e,t,r){(t[Ys]??={})[e]=r}function mt(e){for(var t=0;t<e.length;t++)Rh.add(e[t]);for(var r of Dc)r(e)}let Vl=null,Wl=!1;function zc(e){var t=this,r=t.ownerDocument,o=e.type,s=e.composedPath?.()||[],i=s[0]||e.target;Vl=e,Wl||(Wl=!0,setTimeout(()=>{Wl=!1,Vl=null}));var a=0,l=Vl===e&&e[Ys];if(l){var c=s.indexOf(l);if(c!==-1&&(t===document||t===window)){e[Ys]=t;return}var f=s.indexOf(t);if(f===-1)return;c<=f&&(a=c)}if(i=s[a]||e.target,i!==t){im(e,"currentTarget",{configurable:!0,get(){return i||r}});var u=pt,h=ut;Wn(null),xr(null);try{for(var d,g=[];i!==null&&i!==t;){try{var p=i[Ys]?.[o];p!=null&&(!i.disabled||e.target===i)&&p.call(i,e)}catch(y){d?g.push(y):d=y}if(e.cancelBubble)break;a++,i=a<s.length?s[a]:null}if(d){for(let y of g)queueMicrotask(()=>{throw y});throw d}}finally{e[Ys]=t,delete e.currentTarget,Wn(u),xr(h)}}}const S_=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function M_(e){return S_?.createHTML(e)??e}function zh(e){var t=u_("template");return t.innerHTML=M_(e.replaceAll("<!>","<!---->")),t.content}function ss(e,t){var r=ut;r.nodes===null&&(r.nodes={start:e,end:t,a:null,t:null})}function N(e,t){var r=(t&Zv)!==0,o=(t&Pm)!==0,s,i=!e.startsWith("<!>");return()=>{s===void 0&&(s=zh(i?e:"<!>"+e),r||(s=Or(s)));var a=o||gh?document.importNode(s,!0):s.cloneNode(!0);if(r){var l=Or(a),c=a.lastChild;ss(l,c)}else ss(a,a);return a}}function T_(e,t,r="svg"){var o=!e.startsWith("<!>"),s=(t&Zv)!==0,i=`<${r}>${o?e:"<!>"+e}</${r}>`,a;return()=>{if(!a){var l=zh(i),c=Or(l);if(s)for(a=document.createDocumentFragment();Or(c);)a.appendChild(Or(c));else a=Or(c)}var f=a.cloneNode(!0);if(s){var u=Or(f),h=f.lastChild;ss(u,h)}else ss(f,f);return f}}function Yt(e,t){return T_(e,t,"svg")}function wt(e=""){{var t=Rr(e+"");return ss(t,t),t}}function St(){var e=document.createDocumentFragment(),t=document.createComment(""),r=Rr();return e.append(t,r),ss(t,r),e}function _(e,t){e!==null&&e.before(t)}function x(e,t){var r=t==null?"":typeof t=="object"?`${t}`:t;r!==(e[Ac]??=e.nodeValue)&&(e[Ac]=r,e.nodeValue=`${r}`)}function C_(e,t){return N_(e,t)}const qi=new Map;function N_(e,{target:t,anchor:r,props:o={},events:s,context:i,intro:a=!0,transformError:l}){l_();var c=void 0,f=f_(()=>{var u=r??t.appendChild(Rr());Um(u,{pending:()=>{}},g=>{Ne({});var p=Ot;i&&(p.c=i),s&&(o.$$events=s),c=e(g,o)||{},Ie()},l);var h=new Set,d=g=>{for(var p=0;p<g.length;p++){var y=g[p];if(!h.has(y)){h.add(y);var w=E_(y);for(const C of[t,document]){var M=qi.get(C);M===void 0&&(M=new Map,qi.set(C,M));var I=M.get(y);I===void 0?(C.addEventListener(y,zc,{passive:w}),M.set(y,1)):M.set(y,I+1)}}}};return d($a(Rh)),Dc.add(d),()=>{for(var g of h)for(const w of[t,document]){var p=qi.get(w),y=p.get(g);--y==0?(w.removeEventListener(g,zc),p.delete(g),p.size===0&&qi.delete(w)):p.set(g,y)}Dc.delete(d),u!==r&&u.parentNode?.removeChild(u)}});return I_.set(c,f),c}let I_=new WeakMap;class Mu{anchor;#e=new Map;#n=new Map;#t=new Map;#a=new Set;#o=!0;constructor(t,r=!0){this.anchor=t,this.#o=r}#i=t=>{if(this.#e.has(t)){var r=this.#e.get(t),o=this.#n.get(r);if(o)ka(o),this.#a.delete(r);else{var s=this.#t.get(r);s&&(ka(s.effect),this.#n.set(r,s.effect),this.#t.delete(r),s.fragment.lastChild.remove(),this.anchor.before(s.fragment),o=s.effect)}for(const[i,a]of this.#e){if(this.#e.delete(i),i===t)break;const l=this.#t.get(a);l&&(hn(l.effect),this.#t.delete(a))}for(const[i,a]of this.#n){if(i===r||this.#a.has(i))continue;const l=()=>{if(Array.from(this.#e.values()).includes(i)){var f=document.createDocumentFragment();Eu(a,f),f.append(Rr()),this.#t.set(i,{effect:a,fragment:f})}else hn(a);this.#a.delete(i),this.#n.delete(i)};this.#o||!o?(this.#a.add(i),Eo(a,l,!1)):l()}}};#r=t=>{this.#e.delete(t);const r=Array.from(this.#e.values());for(const[o,s]of this.#t)r.includes(o)||(hn(s.effect),this.#t.delete(o))};ensure(t,r){var o=lt,s=_h();if(r&&!this.#n.has(t)&&!this.#t.has(t))if(s){var i=document.createDocumentFragment(),a=Rr();i.append(a),this.#t.set(t,{effect:Mn(()=>r(a)),fragment:i})}else this.#n.set(t,Mn(()=>r(this.anchor)));if(this.#e.set(o,t),s){for(const[l,c]of this.#n)l===t?o.unskip_effect(c):o.skip_effect(c);for(const[l,c]of this.#t)l===t?o.unskip_effect(c.effect):o.skip_effect(c.effect);o.oncommit(this.#i),o.ondiscard(this.#r)}else this.#i(o)}}function V(e,t,r=!1){var o=new Mu(e),s=r?io:0;function i(a,l){o.ensure(a,l)}Mi(()=>{var a=!1;t((l,c=0)=>{a=!0,i(c,l)}),a||i(-1,null)},s)}function Kn(e,t){return t}function A_(e,t,r){for(var o=[],s=t.length,i,a=t.length,l=0;l<s;l++){let h=t[l];Eo(h,()=>{if(i){if(i.pending.delete(h),i.done.add(h),i.pending.size===0){var d=e.outrogroups;Hc(e,$a(i.done)),d.delete(i),d.size===0&&(e.outrogroups=null)}}else a-=1},!1)}if(a===0){var c=o.length===0&&r!==null&&e.pending.size===0;if(c){var f=r,u=f.parentNode;c_(u),u.append(f),e.items.clear()}Hc(e,t,!c)}else i={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(i)}function Hc(e,t,r=!0){var o;if(e.pending.size>0){o=new Set;for(const a of e.pending.values())for(const l of a)o.add(e.items.get(l).e)}for(var s=0;s<t.length;s++){var i=t[s];if(o?.has(i)){i.f|=fr;const a=document.createDocumentFragment();Eu(i,a)}else hn(t[s],r)}}var wd;function xe(e,t,r,o,s,i=null){var a=e,l=new Map,c=(t&Gv)!==0;if(c){var f=e;a=f.appendChild(Rr())}var u=null,h=mu(()=>{var C=r();return Ja(C)?C:C==null?[]:$a(C)}),d,g=new Map,p=!0;function y(C){(I.effect.f&Dn)===0&&(I.pending.delete(C),I.fallback=u,P_(I,d,a,t,o),u!==null&&(d.length===0?(u.f&fr)===0?ka(u):(u.f^=fr,Xs(u,null,a)):Eo(u,()=>{u=null})))}function w(C){I.pending.delete(C)}var M=Mi(()=>{d=n(h);for(var C=d.length,T=new Set,A=lt,D=_h(),j=0;j<C;j+=1){var R=d[j],z=o(R,j),W=p?null:l.get(z);W?(W.v&&rs(W.v,R),W.i&&rs(W.i,j),D&&A.unskip_effect(W.e)):(W=O_(l,p?a:wd??=Rr(),R,z,j,s,t,r),p||(W.e.f|=fr),l.set(z,W)),T.add(z)}if(C===0&&i&&!u&&(p?u=Mn(()=>i(a)):(u=Mn(()=>i(wd??=Rr())),u.f|=fr)),C>T.size&&vm(),!p)if(g.set(A,T),D){for(const[H,B]of l)T.has(H)||A.skip_effect(B.e);A.oncommit(y),A.ondiscard(w)}else y(A);n(h)}),I={effect:M,items:l,pending:g,outrogroups:null,fallback:u};p=!1}function Ps(e){for(;e!==null&&(e.f&Vn)===0;)e=e.next;return e}function P_(e,t,r,o,s){var i=(o&Sm)!==0,a=t.length,l=e.items,c=Ps(e.effect.first),f,u=null,h,d=[],g=[],p,y,w,M;if(i)for(M=0;M<a;M+=1)p=t[M],y=s(p,M),w=l.get(y).e,(w.f&fr)===0&&(w.nodes?.a?.measure(),(h??=new Set).add(w));for(M=0;M<a;M+=1){if(p=t[M],y=s(p,M),w=l.get(y).e,e.outrogroups!==null)for(const W of e.outrogroups)W.pending.delete(w),W.done.delete(w);if((w.f&xn)!==0&&(ka(w),i&&(w.nodes?.a?.unfix(),(h??=new Set).delete(w))),(w.f&fr)!==0)if(w.f^=fr,w===c)Xs(w,null,r);else{var I=u?u.next:c;w===e.effect.last&&(e.effect.last=w.prev),w.prev&&(w.prev.next=w.next),w.next&&(w.next.prev=w.prev),Wr(e,u,w),Wr(e,w,I),Xs(w,I,r),u=w,d=[],g=[],c=Ps(u.next);continue}if(w!==c){if(f!==void 0&&f.has(w)){if(d.length<g.length){var C=g[0],T;u=C.prev;var A=d[0],D=d[d.length-1];for(T=0;T<d.length;T+=1)Xs(d[T],C,r);for(T=0;T<g.length;T+=1)f.delete(g[T]);Wr(e,A.prev,D.next),Wr(e,u,A),Wr(e,D,C),c=C,u=D,M-=1,d=[],g=[]}else f.delete(w),Xs(w,c,r),Wr(e,w.prev,w.next),Wr(e,w,u===null?e.effect.first:u.next),Wr(e,u,w),u=w;continue}for(d=[],g=[];c!==null&&c!==w;)(f??=new Set).add(c),g.push(c),c=Ps(c.next);if(c===null)continue}(w.f&fr)===0&&d.push(w),u=w,c=Ps(w.next)}if(e.outrogroups!==null){for(const W of e.outrogroups)W.pending.size===0&&(Hc(e,$a(W.done)),e.outrogroups?.delete(W));e.outrogroups.size===0&&(e.outrogroups=null)}if(c!==null||f!==void 0){var j=[];if(f!==void 0)for(w of f)(w.f&xn)===0&&j.push(w);for(;c!==null;)(c.f&xn)===0&&c!==e.fallback&&j.push(c),c=Ps(c.next);var R=j.length;if(R>0){var z=(o&Gv)!==0&&a===0?r:null;if(i){for(M=0;M<R;M+=1)j[M].nodes?.a?.measure();for(M=0;M<R;M+=1)j[M].nodes?.a?.fix()}A_(e,j,z)}}i&&vr(()=>{if(h!==void 0)for(w of h)w.nodes?.a?.apply()})}function O_(e,t,r,o,s,i,a,l){var c=(a&km)!==0?(a&Mm)===0?s_(r,!1,!1):Co(r):null,f=(a&Em)!==0?Co(s):null;return{v:c,i:f,e:Mn(()=>(i(t,c??r,f??s,l),()=>{e.delete(o)}))}}function Xs(e,t,r){if(e.nodes)for(var o=e.nodes.start,s=e.nodes.end,i=t&&(t.f&fr)===0?t.nodes.start:r;o!==null;){var a=Ei(o);if(i.before(o),o===s)return;o=a}}function Wr(e,t,r){t===null?e.effect.first=r:t.next=r,r===null?e.effect.last=t:r.prev=t}function Nn(e,t,...r){var o=new Mu(e);Mi(()=>{const s=t()??null;o.ensure(s,s&&(i=>s(i,...r)))},io)}function Tu(e,t,r){var o=new Mu(e);Mi(()=>{var s=t()??null;o.ensure(s,s&&(i=>r(i,s)))},io)}function bn(e,t,r){Si(()=>{var o=Ut(()=>t(e,r?.())||{});if(r&&o?.update){var s=!1,i={};tl(()=>{var a=r();Dh(a),s&&Qv(i,a)&&(i=a,o.update(a))}),s=!0}if(o?.destroy)return()=>o.destroy()})}function L_(e,t){var r=void 0,o;kh(()=>{r!==(r=t())&&(o&&(hn(o),o=null),r&&(o=Mn(()=>{Si(()=>r(e))})))})}function Hh(e){var t,r,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(r=Hh(e[t]))&&(o&&(o+=" "),o+=r)}else for(r in e)e[r]&&(o&&(o+=" "),o+=r);return o}function D_(){for(var e,t,r=0,o="",s=arguments.length;r<s;r++)(e=arguments[r])&&(t=Hh(e))&&(o&&(o+=" "),o+=t);return o}function zo(e){return typeof e=="object"?D_(e):e??""}const bd=[...`
2
+ \r\f \v\uFEFF`];function R_(e,t,r){var o=e==null?"":""+e;if(t&&(o=o?o+" "+t:t),r){for(var s of Object.keys(r))if(r[s])o=o?o+" "+s:s;else if(o.length)for(var i=s.length,a=0;(a=o.indexOf(s,a))>=0;){var l=a+i;(a===0||bd.includes(o[a-1]))&&(l===o.length||bd.includes(o[l]))?o=(a===0?"":o.substring(0,a))+o.substring(l+1):a=l}}return o===""?null:o}function xd(e,t=!1){var r=t?" !important;":";",o="";for(var s of Object.keys(e)){var i=e[s];i!=null&&i!==""&&(o+=" "+s+": "+i+r)}return o}function Kl(e){return e[0]!=="-"||e[1]!=="-"?e.toLowerCase():e}function z_(e,t){if(t){var r="",o,s;if(Array.isArray(t)?(o=t[0],s=t[1]):o=t,e){e=String(e).replaceAll(/\/\*.*?\*\//g,"").trim();var i=!1,a=0,l=!1,c=[];o&&c.push(...Object.keys(o).map(Kl)),s&&c.push(...Object.keys(s).map(Kl));var f=0,u=-1;const y=e.length;for(var h=0;h<y;h++){var d=e[h];if(l?d==="/"&&e[h-1]==="*"&&(l=!1):i?i===d&&(i=!1):d==="/"&&e[h+1]==="*"?l=!0:d==='"'||d==="'"?i=d:d==="("?a++:d===")"&&a--,!l&&i===!1&&a===0){if(d===":"&&u===-1)u=h;else if(d===";"||h===y-1){if(u!==-1){var g=Kl(e.substring(f,u).trim());if(!c.includes(g)){d!==";"&&h++;var p=e.substring(f,h).trim();r+=" "+p+";"}}f=h+1,u=-1}}}}return o&&(r+=xd(o)),s&&(r+=xd(s,!0)),r=r.trim(),r===""?null:r}return e==null?null:String(e)}function Ce(e,t,r,o,s,i){var a=e[Nc];if(a!==r||a===void 0){var l=R_(r,o,i);l==null?e.removeAttribute("class"):t?e.className=l:e.setAttribute("class",l),e[Nc]=r}else if(i&&s!==i)for(var c in i){var f=!!i[c];(s==null||f!==!!s[c])&&e.classList.toggle(c,f)}return i}function Yl(e,t={},r,o){for(var s in r){var i=r[s];t[s]!==i&&(r[s]==null?e.style.removeProperty(s):e.style.setProperty(s,i,o))}}function nt(e,t,r,o){var s=e[Ic];if(s!==t){var i=z_(t,o);i==null?e.removeAttribute("style"):e.style.cssText=i,e[Ic]=t}else o&&(Array.isArray(o)?(Yl(e,r?.[0],o[0]),Yl(e,r?.[1],o[1],"important")):Yl(e,r,o));return o}function No(e,t,r=!1){if(e.multiple){if(t==null)return;if(!Ja(t))return Rm();for(var o of e.options)o.selected=t.includes(kd(o));return}for(o of e.options){var s=kd(o);if(a_(s,t)){o.selected=!0;return}}(!r||t!==void 0)&&(e.selectedIndex=-1)}function ci(e){var t=new MutationObserver(()=>{"__value"in e&&No(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),xu(()=>{t.disconnect()})}function kd(e){return"__value"in e?e.__value:e.value}const Qr=Symbol("class"),dr=Symbol("style"),qh=Symbol("is custom element"),jh=Symbol("is html"),H_=fu?"input":"INPUT",q_=fu?"option":"OPTION",j_=fu?"select":"SELECT";function Fh(e,t){var r=Cu(e);r.checked!==(r.checked=t??void 0)&&(e.checked=t)}function F_(e,t){t?e.hasAttribute("selected")||e.setAttribute("selected",""):e.removeAttribute("selected")}function se(e,t,r,o){var s=Cu(e);s[t]!==(s[t]=r)&&(t==="loading"&&(e[dm]=r),r==null?e.removeAttribute(t):typeof r!="string"&&Bh(e).includes(t)?e[t]=r:e.setAttribute(t,r))}function B_(e,t,r,o,s=!1,i=!1){var a=Cu(e),l=a[qh],c=!a[jh],f=t||{},u=e.nodeName===q_;for(var h in t)!(h in r)&&h[0]+h[1]!=="$$"&&(r[h]=null);r.class?r.class=zo(r.class):(o||r[Qr])&&(r.class=null),r[dr]&&(r.style??=null);var d=Bh(e);if(e.nodeName===H_&&"type"in r&&("value"in r||"__value"in r)){var g=r.type;(g!==f.type||g===void 0&&e.hasAttribute("type"))&&(f.type=g,se(e,"type",g))}for(const A in r){let D=r[A];if(u&&A==="value"&&D==null){e.value=e.__value="",f[A]=D;continue}if(A==="class"){var p=e.namespaceURI==="http://www.w3.org/1999/xhtml";Ce(e,p,D,o,t?.[Qr],r[Qr]),f[A]=D,f[Qr]=r[Qr];continue}if(A==="style"){nt(e,D,t?.[dr],r[dr]),f[A]=D,f[dr]=r[dr];continue}var y=f[A];if(!(D===y&&!(D===void 0&&e.hasAttribute(A)))){f[A]=D;var w=A[0]+A[1];if(w!=="$$")if(w==="on"){const j={},R="$$"+A;let z=A.slice(2);var M=w_(z);if(__(z)&&(z=z.slice(0,-7),j.capture=!0),!M&&y){if(D!=null)continue;e.removeEventListener(z,f[R],j),f[R]=null}if(M)ke(z,e,D),mt([z]);else if(D!=null){let W=function(H){f[A].call(this,H)};var T=W;f[R]=Su(z,e,W,j)}}else if(A==="style")se(e,A,D);else if(A==="autofocus")Ym(e,!!D);else if(!l&&(A==="__value"||A==="value"&&D!=null))e.value=e.__value=D;else if(A==="selected"&&u)F_(e,D);else{var I=A;c||(I=x_(I));var C=I==="defaultValue"||I==="defaultChecked";if(D==null&&!l&&!C)if(a[A]=null,I==="value"||I==="checked"){let j=e;const R=t===void 0;if(I==="value"){let z=j.defaultValue;j.removeAttribute(I),j.defaultValue=z,j.value=j.__value=R?z:null}else{let z=j.defaultChecked;j.removeAttribute(I),j.defaultChecked=z,j.checked=R?z:!1}}else e.removeAttribute(A);else C||d.includes(I)&&(l||typeof D!="string")?(e[I]=D,I in a&&(a[I]=$t)):typeof D!="function"&&se(e,I,D)}}}return f}function Br(e,t,r=[],o=[],s=[],i,a=!1,l=!1){ih(s,r,o,c=>{var f=void 0,u={},h=e.nodeName===j_,d=!1;if(kh(()=>{var p=t(...c.map(n)),y=B_(e,f,p,i,a,l);d&&h&&"value"in p&&No(e,p.value);for(let M of Object.getOwnPropertySymbols(u))p[M]||hn(u[M]);for(let M of Object.getOwnPropertySymbols(p)){var w=p[M];M.description===Lm&&(!f||w!==f[M])&&(u[M]&&hn(u[M]),u[M]=Mn(()=>L_(e,()=>w))),y[M]=w}f=y}),h){var g=e;Si(()=>{No(g,f.value,!0),ci(g)})}d=!0})}function Cu(e){return e[Xv]??={[qh]:e.nodeName.includes("-"),[jh]:e.namespaceURI===Om}}var Ed=new Map;function Bh(e){var t=e.getAttribute("is")||e.nodeName,r=Ed.get(t);if(r)return r;Ed.set(t,r=[]);for(var o,s=e,i=Element.prototype;i!==s;){o=Bv(s);for(var a in o)o[a].set&&a!=="innerHTML"&&a!=="textContent"&&a!=="innerText"&&r.push(a);s=el(s)}return r}function Nu(e,t,r=t){var o=new WeakSet;Gm(e,"input",async s=>{var i=s?e.defaultValue:e.value;if(i=Xl(e)?Gl(i):i,r(i),lt!==null&&o.add(lt),await Ea(),i!==(i=t())){var a=e.selectionStart,l=e.selectionEnd,c=e.value.length;if(e.value=i??"",l!==null){var f=e.value.length;a===l&&l===c&&f>c?(e.selectionStart=f,e.selectionEnd=f):(e.selectionStart=a,e.selectionEnd=Math.min(l,f))}}}),Ut(t)==null&&e.value&&(r(Xl(e)?Gl(e.value):e.value),lt!==null&&o.add(lt)),tl(()=>{var s=t();if(e===document.activeElement){var i=lt;if(o.has(i))return}Xl(e)&&s===Gl(e.value)||e.type==="date"&&!s&&!e.value||s!==e.value&&(e.value=s??"")})}function Xl(e){var t=e.type;return t==="number"||t==="range"}function Gl(e){return e===""?null:+e}class Iu{#e=new WeakMap;#n;#t;static entries=new WeakMap;constructor(t){this.#t=t}observe(t,r){var o=this.#e.get(t)||new Set;return o.add(r),this.#e.set(t,o),this.#a().observe(t,this.#t),()=>{var s=this.#e.get(t);s.delete(r),s.size===0&&(this.#e.delete(t),this.#n.unobserve(t))}}#a(){return this.#n??(this.#n=new ResizeObserver(t=>{for(var r of t){Iu.entries.set(r.target,r);for(var o of this.#e.get(r.target)||[])o(r)}}))}}var V_=new Iu({box:"border-box"});function Sd(e,t,r){var o=V_.observe(e,()=>r(e[t]));Si(()=>(Ut(()=>r(e[t])),o))}function Zl(e,t){return e===t||e?.[pr]===t}function Wt(e={},t,r,o){var s=Ot.r,i=ut;return Si(()=>{var a,l;return tl(()=>{a=l,l=[],Ut(()=>{Zl(r(...l),e)||(t(e,...l),a&&Zl(r(...a),e)&&t(null,...a))})}),()=>{let c=i;for(;c!==s&&c.parent!==null&&c.parent.f&Cc;)c=c.parent;const f=()=>{l&&Zl(r(...l),e)&&t(null,...l)},u=c.teardown;c.teardown=()=>{f(),u?.()}}}),e}function Vh(e=!1){const t=Ot,r=t.l.u;if(!r)return;let o=()=>Dh(t.s);if(e){let s=0,i={};const a=ns(()=>{let l=!1;const c=t.s;for(const f in c)c[f]!==i[f]&&(i[f]=c[f],l=!0);return l&&s++,s});o=()=>n(a)}r.b.length&&bh(()=>{Md(t,o),Mc(r.b)}),et(()=>{const s=Ut(()=>r.m.map(lm));return()=>{for(const i of s)typeof i=="function"&&i()}}),r.a.length&&et(()=>{Md(t,o),Mc(r.a)})}function Md(e,t){if(e.l.s)for(const r of e.l.s)n(r);t()}const W_={get(e,t){if(!e.exclude.has(t))return e.props[t]},set(e,t){return!1},getOwnPropertyDescriptor(e,t){if(!e.exclude.has(t)&&t in e.props)return{enumerable:!0,configurable:!0,value:e.props[t]}},has(e,t){return e.exclude.has(t)?!1:t in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(t=>!e.exclude.has(t))}};function ao(e,t,r){return new Proxy({props:e,exclude:t},W_)}const K_={get(e,t){let r=e.props.length;for(;r--;){let o=e.props[r];if(As(o)&&(o=o()),typeof o=="object"&&o!==null&&t in o)return o[t]}},set(e,t,r){let o=e.props.length;for(;o--;){let s=e.props[o];As(s)&&(s=s());const i=ro(s,t);if(i&&i.set)return i.set(r),!0}return!1},getOwnPropertyDescriptor(e,t){let r=e.props.length;for(;r--;){let o=e.props[r];if(As(o)&&(o=o()),typeof o=="object"&&o!==null&&t in o){const s=ro(o,t);return s&&!s.configurable&&(s.configurable=!0),s}}},has(e,t){if(t===pr||t===Yv)return!1;for(let r of e.props)if(As(r)&&(r=r()),r!=null&&t in r)return!0;return!1},ownKeys(e){const t=[];for(let r of e.props)if(As(r)&&(r=r()),!!r){for(const o in r)t.includes(o)||t.push(o);for(const o of Object.getOwnPropertySymbols(r))t.includes(o)||t.push(o)}return t}};function Jr(...e){return new Proxy({props:e},K_)}function Ee(e,t,r,o){var s=!ys||(r&Cm)!==0,i=(r&Im)!==0,a=(r&Am)!==0,l=o,c=!0,f=void 0,u=()=>a&&s?(f??=ns(o),n(f)):(c&&(c=!1,l=a?Ut(o):o),l);let h;if(i){var d=pr in e||Yv in e;h=ro(e,t)?.set??(d&&t in e?T=>e[t]=T:void 0)}var g,p=!1;i?[g,p]=Km(()=>e[t]):g=e[t],g===void 0&&o!==void 0&&(g=u(),h&&(s&&_m(),h(g)));var y;if(s?y=()=>{var T=e[t];return T===void 0?u():(c=!0,T)}:y=()=>{var T=e[t];return T!==void 0&&(l=void 0),T===void 0?l:T},s&&(r&Nm)===0)return y;if(h){var w=e.$$legacy;return(function(T,A){return arguments.length>0?((!s||!A||w||p)&&h(A?y():T),T):y()})}var M=!1,I=((r&Tm)!==0?ns:mu)(()=>(M=!1,y()));i&&n(I);var C=ut;return(function(T,A){if(arguments.length>0){const D=A?n(I):s&&i?un(T):T;return L(I,D),M=!0,l!==void 0&&(l=D),T}return jr&&M||(C.f&Dn)!==0?I.v:n(I)})}function Y_(e){Ot===null&&vu(),ys&&Ot.l!==null?X_(Ot).m.push(e):et(()=>{const t=Ut(e);if(typeof t=="function")return t})}function nl(e){Ot===null&&vu(),Y_(()=>()=>Ut(e))}function X_(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}const G_="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(G_);function Td(e){return e.split("/").map(encodeURIComponent).join("/")}function vo(e){const t=e.toString();return t?`?${t}`:""}const Z_={symbolHref(e,t={}){const r=new URLSearchParams;return t.trail&&r.set("t",t.trail),t.line&&r.set("hl",String(t.line)),e?`#/s/${Td(e)}${vo(r)}`:`#/s${vo(r)}`},fileHref(e,t={}){const r=new URLSearchParams;return t.source&&r.set("src","1"),t.line&&r.set("hl",String(t.line)),`#/file/${Td(e)}${vo(r)}`},mapHref(e={}){const t=new URLSearchParams;return e.root!==void 0&&e.root!==null&&t.set("root",e.root),e.depth&&t.set("depth",String(e.depth)),e.tests&&t.set("tests","1"),`#/map${vo(t)}`},flowHref(e={}){const t=new URLSearchParams;return e.from&&t.set("from",e.from),e.to&&t.set("to",e.to),e.symbols&&t.set("symbols",e.symbols),e.trail&&t.set("t",e.trail),`#/flow${vo(t)}`},entryHref(){return"#/entry"},screensHref(){return"#/screens"},stepsHref(e={}){const t=new URLSearchParams;return e.anchor?t.set("anchor",e.anchor):e.symbol&&t.set("symbol",e.symbol),e.depth&&t.set("depth",String(e.depth)),e.through&&t.set("through","1"),e.view&&t.set("view",e.view),`#/steps${vo(t)}`},deadHref(e={}){const t=new URLSearchParams;return e.exported&&t.set("exported","1"),`#/dead${vo(t)}`},navigate(e,t={}){const r=e.startsWith("#")?e:`#${e}`;if(t.replace){history.replaceState(history.state,"",r),qc();return}location.hash!==r&&(location.hash=r,qc())},back(){history.back()}};let qc=()=>{};function U_(e){qc=e}let Er=Z_;function cn(e,t={}){return Er.symbolHref(e,t)}function tn(e,t={}){return Er.fileHref(e,t)}function ei(e={}){return Er.mapHref(e)}function Ho(e={}){return Er.flowHref(e)}function Au(){return Er.entryHref()}function Wh(){return Er.screensHref()}function cr(e={}){return Er.stepsHref(e)}function Sa(e={}){return Er.deadHref(e)}function Et(e,t={}){Er.navigate(e,t)}function Q_(){Er.back()}function J_(e){try{return decodeURIComponent(e)}catch{return e}}function $_(e){const t=e.get("hl");if(t===null)return null;const r=Number.parseInt(t,10);return Number.isFinite(r)&&r>0?r:null}function Kh(e){const t=e.startsWith("#")?e.slice(1):e,r=t.indexOf("?"),o=r<0?t:t.slice(0,r),s=new URLSearchParams(r<0?"":t.slice(r+1)),i=o.split("/").filter(Boolean).map(J_),a=$_(s),[l,...c]=i;let f;if(l===void 0)f={view:"home"};else if(l==="s")f={view:"symbol",id:c.length>0?c.join("/"):null,line:a};else if(l==="file"&&c.length>0)f={view:"file",path:c.join("/"),line:a,source:s.get("src")==="1"};else if(l==="map"&&c.length===0){const u=s.get("root"),h=Number.parseInt(s.get("depth")??"",10);f={view:"map",root:u===null?null:u,depth:Number.isFinite(h)&&h>=1&&h<=4?h:null,tests:s.get("tests")==="1"}}else if(l==="entry"&&c.length===0)f={view:"entry"};else if(l==="screens"&&c.length===0)f={view:"screens"};else if(l==="steps"&&c.length===0){const u=Number.parseInt(s.get("depth")??"",10),h=s.get("view");f={view:"steps",anchor:s.get("anchor"),symbol:s.get("symbol"),depth:Number.isFinite(u)&&u>=1&&u<=14?u:null,through:s.get("through")==="1",reading:h==="order"||h==="tree"?h:null}}else l==="dead"&&c.length===0?f={view:"dead",exported:s.get("exported")==="1"}:l==="flow"&&c.length===0?f={view:"flow",from:s.get("from"),to:s.get("to"),symbols:s.get("symbols"),trail:s.get("t")}:f={view:"unknown",path:o};return{route:f,params:s,raw:t}}const e1=Kh(typeof location>"u"?"":location.hash);let Ma=ae(un(e1));function Ul(){const e=Kh(location.hash);e.raw!==n(Ma).raw&&L(Ma,e,!0)}typeof window<"u"&&(window.addEventListener("hashchange",Ul),window.addEventListener("popstate",Ul),U_(Ul));const ti={get route(){return n(Ma).route},get params(){return n(Ma).params}};class Yn extends Error{status;code;guidance;constructor(t,r,o,s){super(o),this.name="ApiFailure",this.status=t,this.code=r,this.guidance=s}}function Ql(e){return e.split("/").map(encodeURIComponent).join("/")}function Nr(e){const t=e.toString();return t?`?${t}`:""}const t1="X-CodeGraph-UI";function n1(e={}){const t=e.baseUrl??"",r=e.fetch??((...a)=>globalThis.fetch(...a));async function o(a,l,c){let f;try{f=await r(`${t}${a}`,{...l,signal:c})}catch(h){throw c?.aborted?h:new Yn(0,"unreachable","The codegraph ui server is not answering.","It may have been stopped — restart it with `codegraph ui` and reload this page.")}const u=await f.json().catch(()=>null);if(!f.ok){const h=u??{};throw new Yn(f.status,h.code??"error",h.error??`The server answered ${f.status}.`,h.hint??null)}return u}function s(a,l){return o(a,{headers:{accept:"application/json"}},l)}function i(a,l,c,f){const u={accept:"application/json",[t1]:"1"};return c!==void 0&&(u["content-type"]="application/json"),o(a,{method:l,headers:u,...c===void 0?{}:{body:JSON.stringify(c)}},f)}return{stats:a=>s("api/stats",a),search(a,l={},c){const f=new URLSearchParams({q:a});return l.limit&&f.set("limit",String(l.limit)),s(`api/search${Nr(f)}`,c)},node:(a,l)=>s(`api/node/${Ql(a)}`,l),nodes(a,l){const c=new URLSearchParams;for(const f of a)c.append("id",f);return s(`api/nodes${Nr(c)}`,l)},source(a,l){const c=new URLSearchParams({file:a.file,from:String(a.from)});return a.to!==void 0&&a.to>0&&c.set("to",String(a.to)),a.ondrift&&c.set("ondrift",a.ondrift),s(`api/source${Nr(c)}`,l)},file:(a,l)=>s(`api/file/${Ql(a)}`,l),fileCode:(a,l)=>s(`api/filecode/${Ql(a)}`,l),flow(a,l){const c=new URLSearchParams;a.from&&c.set("from",a.from),a.to&&c.set("to",a.to),a.symbols&&c.set("symbols",a.symbols);for(const f of a.trail??[])c.append("hop",f);return s(`api/flow${Nr(c)}`,l)},map(a={},l){const c=new URLSearchParams;return a.root!==void 0&&a.root!==null&&c.set("root",a.root),a.depth&&c.set("depth",String(a.depth)),s(`api/map${Nr(c)}`,l)},routes(a={},l){const c=new URLSearchParams;return a.limit&&c.set("limit",String(a.limit)),s(`api/routes${Nr(c)}`,l)},screens(a){return s("api/screens",a)},steps(a={},l){const c=new URLSearchParams;return a.anchor?c.set("anchor",a.anchor):a.symbol&&c.set("symbol",a.symbol),a.depth&&c.set("depth",String(a.depth)),a.limit&&c.set("limit",String(a.limit)),a.through&&c.set("through","1"),s(`api/steps${Nr(c)}`,l)},entryPoints(a={},l){const c=new URLSearchParams;return a.limit&&c.set("limit",String(a.limit)),a.routes&&c.set("routes",String(a.routes)),s(`api/entrypoints${Nr(c)}`,l)},deadCode(a={},l){const c=new URLSearchParams;return a.limit&&c.set("limit",String(a.limit)),a.kinds?.length&&c.set("kinds",a.kinds.join(",")),a.includeExported&&c.set("exported","1"),a.includeTests&&c.set("tests","1"),a.includeGenerated&&c.set("generated","1"),s(`api/deadcode${Nr(c)}`,l)},trails:a=>s("api/trails",a),saveTrail:(a,l)=>i("api/trails","POST",a,l),deleteTrail:(a,l)=>i(`api/trails/${encodeURIComponent(a)}`,"DELETE",void 0,l),events(a){if(typeof EventSource>"u")return()=>{};const l=new EventSource(`${t}api/events`);return l.addEventListener("hello",c=>a.hello(ji(c))),l.addEventListener("changed",c=>a.changed(ji(c))),l.addEventListener("index",c=>a.index(ji(c))),l.addEventListener("degraded",c=>a.degraded(ji(c))),l.addEventListener("error",()=>a.error()),()=>l.close()}}}function ji(e){const t=e.data;if(typeof t!="string")return null;try{return JSON.parse(t)}catch{return null}}let Jl=null;function nn(){return Jl===null&&(Jl=n1()),Jl}function r1(e){return nn().stats(e)}function o1(e,t){return nn().node(e,t)}function s1(e,t={},r){return nn().search(e,t,r)}function i1(e,t){return nn().nodes(e,t)}function a1(e={},t){return nn().entryPoints(e,t)}function l1(e={},t){return nn().deadCode(e,t)}function c1(e={},t){return nn().routes(e,t)}function Yh(e,t){return nn().file(e,t)}function u1(e,t){return nn().fileCode(e,t)}function jc(e,t,r,o,s){return nn().source({file:e,from:t,to:r,ondrift:s},o)}function Xh(e){return nn().screens(e)}function d1(e,t){const r=nn();return typeof r.steps!="function"?Promise.reject(new Yn(0,"refused","This viewer cannot draw steps.",null)):r.steps(e,t)}function f1(){return typeof nn().steps=="function"}function v1(e={},t){return nn().map(e,t)}function h1(e,t){return nn().flow(e,t)}function g1(e){return nn().trails(e)}function Cd(){const e=nn();return typeof e.saveTrail=="function"&&typeof e.deleteTrail=="function"}function p1(e,t){const r=nn();return r.saveTrail?r.saveTrail(e,t):Promise.reject(new Yn(0,"refused","This viewer cannot save trails.",null))}function m1(e,t){const r=nn();return r.deleteTrail?r.deleteTrail(e,t):Promise.reject(new Yn(0,"refused","This viewer cannot delete trails.",null))}const _1={start:"s",down:"d",up:"u"},y1={s:"start",d:"down",u:"up"};function w1(e){if(e.name)return e.name;const t=e.id.includes(":")?e.id.slice(e.id.indexOf(":")+1):e.id,r=t.slice(t.lastIndexOf("/")+1);return r.length===0||r.length>40?`${t.slice(0,8)}…`:/^[0-9a-f]{16,}$/.test(r)?`${r.slice(0,8)}…`:r}function zr(e){return e.map(t=>_1[t.dir]+encodeURIComponent(t.id)).join(",")}function Pu(e){if(!e)return[];const t=[];for(const r of e.split(",")){if(r.length<2)continue;const o=y1[r[0]];if(!o)continue;let s;try{s=decodeURIComponent(r.slice(1))}catch{s=r.slice(1)}s&&t.push({id:s,name:null,kind:null,dir:o})}return t}let Vt=ae(un([]));const Ta=new Map;function $l(e,t){if(!t.name&&!t.kind)return;const r=Ta.get(e)??{name:null,kind:null};t.name&&(r.name=t.name),t.kind&&(r.kind=t.kind),Ta.set(e,r)}const zt={get hops(){return n(Vt)},get current(){return n(Vt).length>0?n(Vt)[n(Vt).length-1]:null},get encoded(){return zr(n(Vt))},push(e){$l(e.id,e);const t=n(Vt).findIndex(r=>r.id===e.id);if(t>=0){L(Vt,n(Vt).slice(0,t+1),!0);const r=n(Vt)[t];e.name&&(r.name=e.name),e.kind&&(r.kind=e.kind);return}L(Vt,[...n(Vt),{id:e.id,name:e.name??null,kind:e.kind??null,dir:e.dir??(n(Vt).length===0?"start":"down")}],!0)},rename(e,t){const r=n(Vt).findIndex(s=>s.id===e);if(r<0)return;$l(t.id,t);const o=n(Vt)[r];L(Vt,[...n(Vt).slice(0,r),{...o,id:t.id,name:t.name??o.name,kind:t.kind??o.kind},...n(Vt).slice(r+1)],!0)},truncateTo(e){e<0||e>=n(Vt).length||L(Vt,n(Vt).slice(0,e+1),!0)},resolve(e,t){$l(e,t);const r=n(Vt).find(o=>o.id===e);r&&(t.name&&(r.name=t.name),t.kind&&(r.kind=t.kind))},clear(){L(Vt,[],!0)},hydrate(e){const t=Pu(e);zr(t)!==zr(n(Vt))&&L(Vt,t.map(r=>{const o=Ta.get(r.id);return o?{...r,name:o.name,kind:o.kind}:r}),!0)}},Nd=new Set;async function b1(){const e=n(Vt).filter(t=>!t.name&&!Ta.get(t.id)?.name&&!Nd.has(t.id)).map(t=>t.id);if(e.length!==0)try{const{items:t,missing:r}=await i1(e);for(const o of t)zt.resolve(o.id,{name:o.kind==="file"?o.file:o.name,kind:o.kind});for(const o of r)Nd.add(o)}catch{}}const x1={function:"ƒ",method:"m",class:"C",interface:"I",struct:"S",type_alias:"T",enum:"E",enum_member:"e",constant:"k",variable:"v",property:"p",field:"p",file:"≡",route:"R",component:"⟨⟩",namespace:"N",module:"M",trait:"Tr",union:"U",protocol:"P",parameter:"pm",import:"im",export:"ex"},Gh=new Set(["class","interface","struct","type_alias","trait","protocol","union","enum"]);function Zh(e){return e?x1[e]??e.slice(0,1).toUpperCase():""}function Uh(e){return e?e.replace(/_/g," "):"symbol"}var k1=N("<span> </span>");function Pt(e,t){Ne(t,!0);let r=Ee(t,"titled",3,!1),o=S(()=>t.kind?Zh(t.kind):""),s=S(()=>t.kind?Gh.has(t.kind):!1),i=S(()=>t.kind==="file");var a=k1();let l;var c=v(a);P(f=>{l=Ce(a,1,"k svelte-rzcbio",null,l,{filled:n(s),dashed:n(i),wide:n(o).length>1}),se(a,"title",f),se(a,"aria-hidden",r()?void 0:"true"),x(c,n(o))},[()=>r()?Uh(t.kind):void 0]),_(e,a),Ie()}var E1=N('<span class="head-note svelte-14dv3uy"> </span>'),S1=N('<!> <span class="mid svelte-14dv3uy"><span class="nm svelte-14dv3uy"> </span> <span class="sig svelte-14dv3uy"> </span></span>',1),M1=N('<!> <span class="mid svelte-14dv3uy"><span class="nm svelte-14dv3uy"> </span></span>',1),Id=N('<span class="sig svelte-14dv3uy"> </span>'),T1=N('<!> <span class="mid svelte-14dv3uy"><span class="nm svelte-14dv3uy"> </span> <!></span>',1),C1=N('<!> <span class="mid svelte-14dv3uy"><span> </span> <!></span>',1),N1=N('<button type="button"><!> <span class="loc svelte-14dv3uy"> </span></button>'),I1=N('<div class="head svelte-14dv3uy"><span class="head-title"> </span> <!></div> <!>',1);function Qh(e,t){Ne(t,!0);let r=Ee(t,"selected",19,()=>-1),o=Ee(t,"rowRole",3,void 0),s=Ee(t,"idPrefix",3,"palette-row");function i(c,f){let u=0;for(let h=0;h<c;h+=1)u+=t.palette.sections[h]?.items.length??0;return u+f}var a=St(),l=ye(a);xe(l,19,()=>t.palette.sections,c=>c.title,(c,f,u)=>{var h=I1(),d=ye(h),g=v(d),p=v(g),y=m(g,2);{var w=I=>{var C=E1(),T=v(C);P(()=>x(T,n(f).note)),_(I,C)};V(y,I=>{n(f).note&&I(w)})}var M=m(d,2);xe(M,19,()=>n(f).items,I=>I.id,(I,C,T)=>{const A=S(()=>i(n(u),n(T)));var D=N1();let j;var R=v(D);{var z=E=>{var q=S1(),O=ye(q);Pt(O,{kind:"route"});var K=m(O,2),Y=v(K),G=v(Y),U=m(Y,2),X=v(U);P(()=>{x(G,n(C).url),x(X,n(C).handler)}),_(E,q)},W=E=>{var q=M1(),O=ye(q);Pt(O,{kind:"route"});var K=m(O,2),Y=v(K),G=v(Y);P(()=>x(G,n(C).name)),_(E,q)},H=E=>{var q=T1(),O=ye(q);Pt(O,{get kind(){return n(C).row.kind}});var K=m(O,2),Y=v(K),G=v(Y),U=m(Y,2);{var X=$=>{var Z=Id(),Q=v(Z);P(()=>x(Q,n(C).meta)),_($,Z)};V(U,$=>{n(C).meta&&$(X)})}P(()=>{se(K,"title",n(C).row.title),x(G,n(C).name)}),_(E,q)},B=E=>{var q=C1(),O=ye(q);Pt(O,{get kind(){return n(C).node.kind}});var K=m(O,2),Y=v(K);let G;var U=v(Y),X=m(Y,2);{var $=Z=>{var Q=Id(),F=v(Q);P(()=>x(F,n(C).meta)),_(Z,Q)};V(X,Z=>{n(C).meta&&Z($)})}P(()=>{se(K,"title",n(C).node.generated?`${n(C).name} — tool-generated`:void 0),G=Ce(Y,1,"nm svelte-14dv3uy",null,G,{gen:n(C).node.generated}),x(U,n(C).name)}),_(E,q)};V(R,E=>{n(C).type==="route"?E(z):n(C).type==="flow"?E(W,1):n(C).type==="entry"?E(H,2):E(B,-1)})}var k=m(R,2),b=v(k);P(()=>{j=Ce(D,1,"row svelte-14dv3uy",null,j,{sel:n(A)===r()}),se(D,"data-palette-row",n(A)),se(D,"id",`${s()}-${n(A)}`),se(D,"role",o()),se(D,"aria-selected",o()?n(A)===r():void 0),x(b,n(C).location)}),ke("mousedown",D,E=>{E.preventDefault(),t.onpick(n(C))}),Ge("mouseenter",D,()=>t.onhover?.(n(A))),_(I,D)}),P(()=>x(p,n(f).title)),_(c,h)}),_(e,a),Ie()}mt(["mousedown"]);const A1=260,P1=80,Ad=4,O1=2,L1=30,D1=80,R1=new Set(["file","module","namespace","class","struct","interface","trait","protocol","enum","union"]),z1=new Set(["property","field","enum_member","constant","variable"]);function Jh(e){switch(e.kind){case"calls":return"";case"instantiates":return"creates";case"navigates":return"navigates to";case"references":return e.valueRef?"passes as value":"uses type";default:return e.kind}}function rl(e){const t=[];for(const r of e.edges){const o=Jh(r);o&&!t.includes(o)&&t.push(o)}return t}function $h(e){const t=[];for(const r of e.edges)if(r.when&&!t.includes(r.when)&&t.push(r.when),t.length===3)break;return t}function Ci(e){if(!e.synthesized)return null;const t=e.edges.find(r=>r.provenance==="heuristic");return t?.synthesizedBy??t?.via??"synthesized"}function gn(e){return e.slice(e.lastIndexOf("/")+1)}function Ou(e){const t=e.lastIndexOf(".");return t<0?e:e.slice(t+1)}function Pd(e,t,r){const o=e+t.length-1,s=(g,p)=>({start:g,lines:t.slice(g-e,p-e+1)});if(t.length<=A1)return{windows:t.length>0?[s(e,o)]:[],gapsAfter:[],tailGap:0,whole:!0};const i=Math.min(o,e+P1-1),a=[[e,i]],l=[...new Set(r)].filter(g=>g>i&&g<=o).sort((g,p)=>g-p);for(const g of l)a.push([Math.max(e,g-Ad),Math.min(o,g+Ad)]);const c=[];for(const g of a){const p=c[c.length-1];p&&g[0]<=p[1]+O1?p[1]=Math.max(p[1],g[1]):c.push([...g])}const f=c.slice(0,L1),u=f.map(([g,p])=>s(g,p)),h=f.slice(0,-1).map((g,p)=>f[p+1][0]-g[1]-1),d=f[f.length-1]?.[1]??o;return{windows:u,gapsAfter:h,tailGap:Math.max(0,o-d),whole:!1}}function H1(e){const t=new Map,r=(o,s)=>{const i=t.get(o);i?i.push(s):t.set(o,[s])};for(const o of[...e.outgoing.items,...e.typesUsed])for(const s of o.edges){if(!s.line)continue;const i=Jh(s);r(s.line,{ident:Ou(o.node.name),col:typeof s.col=="number"?s.col:null,targetId:o.node.id,uncertain:o.uncertain,outside:!1,title:`${i||"calls"} ${o.node.qualifiedName} — ${o.node.file}:${o.node.line}`+(s.confidence!=null?` · confidence ${s.confidence}`:"")+(s.resolvedBy?` · resolved by ${s.resolvedBy}`:"")})}for(const o of j1(e.outsideIndex))r(o.line,o.ref);return t}function q1(e){const t=new Set;for(const r of[...e.outgoing.items,...e.typesUsed])for(const o of r.lines)t.add(o);return[...t].sort((r,o)=>r-o)}function j1(e){const t=[];for(const r of e.samples){if(!r.line)continue;const o=Ou(r.name??"");/^[A-Za-z_$][\w$]*$/.test(o)&&t.push({line:r.line,ref:{ident:o,col:typeof r.col=="number"?r.col:null,targetId:null,uncertain:!1,outside:!0,title:`${r.name} is not in the index — nothing here resolves it`}})}return t}function ol(e,t){const r=new Map;for(const o of t){const s=[];if(e.forEach((a,l)=>{a.cls==="comment"||a.cls==="string"||a.text===o.ident&&s.push(l)}),s.length===0)continue;let i;if(o.col!==null){const a=o.col;i=s.find(l=>{const c=e[l];return c.col<=a&&a<c.col+c.text.length}),i===void 0&&(i=s.find(l=>e[l].col>=a))}i===void 0&&(i=s.find(a=>!r.has(a))),i===void 0&&(i=s[s.length-1]),!(i===void 0||r.has(i))&&r.set(i,o)}return r}function F1(e){const t=[],r=[];for(const s of e.outgoing.items){const i={relation:s,anchor:s.lines[0]??null,lines:s.lines,words:rl(s),via:Ci(s),when:$h(s)};s.uncertain?r.push(i):t.push(i)}const o=e.outsideIndex.byKind.references??0;return{rows:t,uncertain:r,hiddenGroups:e.outgoing.total-e.outgoing.shown,outsideCalls:Math.max(0,e.outsideIndex.total-o),outsideTypeRefs:o}}function B1(e){const t=e.node.file,r=new Map,o=[],s=[];for(const a of e.incoming.items){const l={relation:a,words:rl(a),lines:a.lines,via:Ci(a),when:$h(a)};if(a.uncertain){o.push(l);continue}if(a.node.test){s.push(l);continue}const c=r.get(a.node.file);c?c.push(l):r.set(a.node.file,[l])}return{groups:[...r.entries()].map(([a,l])=>({file:a,same:a===t,rows:l})).sort((a,l)=>a.same?-1:l.same?1:a.file.localeCompare(l.file)),uncertain:o,tests:{rows:s,calls:s.reduce((a,l)=>a+l.relation.edgeCount,0),files:[...new Set(s.map(a=>a.relation.node.file))].sort()},total:e.incoming.total,hiddenGroups:e.incoming.total-e.incoming.shown}}function V1(e){return e.members.items.map(t=>({member:t,nested:t.depth>1,dimmed:z1.has(t.kind)}))}function Od(e,t){return!(R1.has(e)&&t>D1)}function W1(e){const t=[e.kind==="type_alias"?"type":e.kind.replace(/_/g," ")];return e.async&&t.push("async"),e.static&&t.push("static"),e.abstract&&t.push("abstract"),e.visibility&&e.visibility!=="public"&&t.push(e.visibility),t.join(" · ")}function st(e,t,r=`${t}s`){return`${e} ${e===1?t:r}`}function Ld(e){const t=e.lastIndexOf("/");return t<0?"project root":e.slice(0,t)}function Fi(e){const t=[],r=new Map;for(const{row:o,path:s,file:i}of e){let a=r.get(s);a||(a={path:s,file:i,rows:[]},r.set(s,a),t.push(a)),a.rows.push(o)}return t}function eg(e){const t=`${gn(e.file)}:${e.line}`;return{id:`route:${e.routeId}`,name:e.path,method:e.method,kind:"route",meta:e.handlerId?`${e.handler} · ${t}`:`${e.handler} · not in the index`,target:e.handlerId?{type:"symbol",id:e.handlerId,name:e.handler,kind:e.handlerKind}:null,flowFrom:e.handlerId?e.handler:null,title:`${e.url} → ${e.handler} (${e.file}:${e.line}), registered at ${e.routeFile}:${e.routeLine}`}}function tg(e){return{id:`file:${e.file}`,name:gn(e.file),method:null,kind:"file",meta:`${st(e.calls,"call")} at module level · reaches ${st(e.reaches,"file")}${e.dependents===0?" · nothing imports it":""}`,target:{type:"file",path:e.file},flowFrom:null,title:e.file}}function ng(e){return{id:`test:${e.file}`,name:gn(e.file),method:null,kind:"file",meta:`exercises ${st(e.reaches,"file")} · ${st(e.refs,"reference")}`,target:{type:"file",path:e.file},flowFrom:null,title:e.file}}function rg(e){return{id:`hub:${e.id}`,name:e.name,method:null,kind:e.kind,meta:`${st(e.dependents,"dependent")} · ${gn(e.file)}:${e.line}`,target:{type:"symbol",id:e.id,name:e.name,kind:e.kind},flowFrom:e.name,title:`${e.qualifiedName} — ${e.file}:${e.line}`}}function K1(e,t){return e.shown>=e.total?`${e.shown}`:`${e.shown} of ${t?"at least ":""}${e.total}`}function Y1(e){return e.length===0?"":e.length===1?e[0]:e.length===2?`${e[0]} and ${e[1]}`:`${e.slice(0,-1).join(", ")} and ${e[e.length-1]}`}function Bi(e,t,r,o,s,i,a=""){const l=K1(o,i);return{id:e,title:t,meta:a?`${l} · ${a}`:l,note:r,groups:s,shown:o.shown,total:o.total,floor:i}}function X1(e){if(!e)return{sections:[],rows:[],empty:null};const t=[];return e.routes.routed&&e.routes.items.items.length>0&&t.push(Bi("routes","Routes",e.routes.items.items.every(r=>!r.method)?"A screen of the app — its path, and the component that renders it.":"A request from outside arrives here — the URL, and the symbol that serves it.",e.routes.items,Fi(e.routes.items.items.map(r=>({row:eg(r),path:r.routeFile,file:r.routeFile}))),!1,Y1(e.frameworks))),e.files.items.length>0&&t.push(Bi("files","Top-level files with calls","Statements at the top level of the file — a CLI, a worker entry, a script.",e.files,Fi(e.files.items.map(r=>({row:tg(r),path:Ld(r.file),file:null}))),!0)),e.tests.items.length>0&&t.push(Bi("tests","Tests","What already exercises this code, widest reach first.",e.tests,Fi(e.tests.items.map(r=>({row:ng(r),path:Ld(r.file),file:null}))),!1)),e.hubs.items.length>0&&t.push(Bi("hubs","Most depended on","Not where the project starts — where a change radiates furthest.",e.hubs,Fi(e.hubs.items.map(r=>({row:rg(r),path:r.file,file:r.file}))),!0)),{sections:t,rows:t.flatMap(r=>r.groups.flatMap(o=>o.rows)),empty:t.length===0?"This index has no routes, no file that runs anything at module level, no test that reaches outside itself, and nothing depended on yet.":null}}function G1(e,t,r){const o=t.trim().toLowerCase();if(!e||o==="")return[];const s=[["route",e.routes.routed?e.routes.items.items.map(eg):[]],["file",e.files.items.map(tg)],["test",e.tests.items.map(ng)],["hub",e.hubs.items.map(rg)]],i=[];for(const[a,l]of s)for(const c of l){if(i.length>=r)return i;`${c.method??""} ${c.name} ${c.meta} ${c.title}`.toLowerCase().includes(o)&&i.push({row:c,origin:a})}return i}function Z1(e){switch(e){case"route":return"route";case"file":return"runs at module level";case"test":return"test";case"hub":return"depended on"}}function Dd(e,t){const r=e.trim(),o=t.trim();return!r||!o||r.toLowerCase()===o.toLowerCase()?null:{from:r,to:o}}const U1=/^\s*(?:how\s+(?:does|do|would|can)\s+)?([\w$.]+)\s+(?:reach|reaches|call|calls|hit|hits|get\s+to|end\s+up\s+(?:in|at))\s+([\w$.]+)\s*\??\s*$/i,Q1=/^\s*([\w$.]+)\s*(?:->|→|=>)\s*([\w$.]+)\s*\??\s*$/;function Rd(e){const t=e.lastIndexOf(".");return t<0?e:e.slice(t+1)}function og(e){const t=U1.exec(e)??Q1.exec(e);if(!t)return null;const r=Rd(t[1]),o=Rd(t[2]);return!r||!o||r===o?null:{from:r,to:o}}function J1(e,t){const r=e.replace(/_/g," "),o=r.endsWith("s")?`${r}es`:`${r}s`,s=t===1?r:o;return s.charAt(0).toUpperCase()+s.slice(1)}function $1(e){if(e.kind!=="file")return`${gn(e.file)}:${e.line}`;const t=e.file.lastIndexOf("/");return t<0?"project root":e.file.slice(0,t)}function ca(e,t=""){return{type:"symbol",id:e.id,node:e,name:e.kind==="file"?gn(e.file):e.name,meta:t||ey(e),location:$1(e)}}function ey(e){if(!e.signature)return"";const t=e.signature.replace(/\s+/g," ").trim();return t.length>72?`${t.slice(0,71)}…`:t}function ty(e,t){const r=[],o=new Set;for(let s=0;s<Math.max(e.length,t.length);s+=1)for(const i of[e,t]){const a=i[s];a&&!o.has(a.id)&&(o.add(a.id),r.push(a))}return r}function ny(e){const t=[],r=new Map;for(const o of e){let s=r.get(o.kind);s||(s={title:"",items:[]},r.set(o.kind,s),t.push(s)),s.items.push(ca(o))}for(const[o,s]of r)s.title=J1(o,s.items.length);return t}function ry(e,t,r=null){const o=e.length>1?ty(e[0]?.results.items??[],e[1]?.results.items??[]):e[0]?.results.items??[],s=ny(o);if(t&&s.unshift({title:"Flow",note:"The call path between them, one card per hop.",items:[{type:"flow",id:`flow:${t.from}:${t.to}`,from:t.from,to:t.to,name:`${t.from} → ${t.to}`,meta:"",location:"read as a flow"}]}),r){const l=new Set(o.map(f=>f.id)),c=G1(r.entries,r.query,r.entryRows).filter(f=>!(f.row.target?.type==="symbol"&&l.has(f.row.target.id)));c.length>0&&s.push({title:"Entry points",note:"Where a flow starts — routes, files that run something, tests.",items:c.map(({row:f,origin:u})=>({type:"entry",id:`entry:${f.id}`,row:f,name:f.method?`${f.method} ${f.name}`:f.name,meta:f.meta,location:Z1(u)}))})}const i=s.flatMap(l=>l.items),a=t?`Reading the path from ${t.from} to ${t.to}. Below it, what each name matches.`:null;return{sections:s,items:i,hint:a,empty:i.length===0?"No symbol or file in the index matches that.":null}}function sg(e,t={}){if(!e)return{sections:[],items:[],hint:null,empty:null};const r=t.perSection??Number.POSITIVE_INFINITY,o=i=>Number.isFinite(r)?i.slice(0,r):[...i],s=[];return e.routes.routed&&e.routes.items.items.length>0&&s.push({title:"Routes",note:e.routes.items.items.every(i=>!i.method)?"A screen of the app.":"A request from outside arrives here.",items:o(e.routes.items.items).map(i=>({type:"route",id:`route:${i.routeId}`,url:i.url,handler:i.handler,location:`${gn(i.file)}:${i.line}`,nodeId:i.handlerId}))}),e.files.items.length>0&&s.push({title:"Files that run something",note:"Statements at the top level of the file — a CLI, a worker entry, a script.",items:o(e.files.items).map(i=>ca(i,`${st(i.calls,"call")} at module level · reaches ${st(i.reaches,"file")}`))}),e.tests.items.length>0&&s.push({title:"Tests",note:"What already exercises this code, widest reach first.",items:o(e.tests.items).map(i=>ca(i,`exercises ${st(i.reaches,"file")}`))}),e.hubs.items.length>0&&s.push({title:"Most depended on",note:"The symbols a change radiates furthest from.",items:o(e.hubs.items).map(i=>ca(i,`${st(i.dependents,"dependent")}`))}),{sections:s,items:s.flatMap(i=>i.items),hint:null,empty:s.length===0?"This index has no routes, no file that runs anything, no test that reaches outside itself, and nothing depended on yet.":null}}function oy(e,t,r){return r===0?0:((e+t)%r+r)%r}const sy=40,iy=24,ay=6,ly=200,cy=6,uy=90;let $r=ae(""),Vi=ae(!1),ho=ae(0),Zo=ae(!1),ui=ae(null),di=ae(un([])),fi=ae(null),ig=ae(!1),Fc=ae(null),Bc=null,Uo=null,ni=0,Gs=null;function ec(){return Gs||(Gs=a1({limit:iy,routes:ly}).then(e=>{L(fi,e,!0),L(Fc,null)}).catch(e=>{L(fi,null),L(Fc,e instanceof Error?e.message:String(e),!0)}).finally(()=>{L(ig,!0)}),Gs)}function ag(){Uo!==null&&(clearTimeout(Uo),Uo=null),Bc?.abort(),Bc=null}async function dy(e,t){const r=og(e),o=new AbortController;Bc=o,L(Zo,!0);try{const s=r?[r.from,r.to]:[e],i=await Promise.all(s.map(a=>s1(a,{limit:sy},o.signal)));if(t!==ni)return;L(di,i,!0),L(ui,null)}catch(s){if(o.signal.aborted||t!==ni)return;L(di,[],!0),L(ui,s instanceof Error?s.message:String(s),!0)}finally{t===ni&&L(Zo,!1)}}function fy(e){ag();const t=ni+=1;if(e.trim()===""){L(di,[],!0),L(ui,null),L(Zo,!1);return}Uo=setTimeout(()=>{Uo=null,dy(e,t)},uy)}function tc(){return n($r).trim()===""?sg(n(fi),{perSection:ay}):ry(n(di),og(n($r)),{entries:n(fi),query:n($r),entryRows:cy})}const yt={get query(){return n($r)},set query(e){e!==n($r)&&(L($r,e,!0),L(ho,0),fy(e))},get open(){return n(Vi)},get loading(){return n(Zo)},get failure(){return n(ui)},get view(){return tc()},get selected(){return n(ho)},get selectedItem(){const e=tc().items;return e[Math.min(n(ho),e.length-1)]??null},get pending(){return n($r).trim()!==""&&(n(Zo)||Uo!==null)},show(){L(Vi,!0),ec()},hide(){L(Vi,!1)},select(e){L(ho,e,!0)},move(e){L(ho,oy(n(ho),e,tc().items.length),!0)},reset(){ag(),ni+=1,L($r,""),L(di,[],!0),L(ui,null),L(Zo,!1),L(ho,0),L(Vi,!1)},ensureEntries:ec,reloadEntries(){return Gs=null,ec()},get entries(){return n(fi)},get entriesSettled(){return n(ig)},get entriesFailure(){return n(Fc)}};var vy=N('<p class="hint svelte-5pgva5"> </p>'),zd=N('<p class="note svelte-5pgva5"> </p>'),hy=N('<p class="note svelte-5pgva5">Searching…</p>'),gy=N('<div class="panel svelte-5pgva5" id="palette-panel" role="listbox" aria-label="Search results"><!> <!> <!></div>');function py(e,t){Ne(t,!0);let r=ae(null),o=S(()=>yt.view);et(()=>{const d=yt.selected;if(!n(r))return;n(r).querySelector(`[data-palette-row="${d}"]`)?.scrollIntoView({block:"nearest"})});var s=gy(),i=v(s);{var a=d=>{var g=vy(),p=v(g);P(()=>x(p,n(o).hint)),_(d,g)};V(i,d=>{n(o).hint&&d(a)})}var l=m(i,2);Qh(l,{get palette(){return n(o)},get selected(){return yt.selected},rowRole:"option",get onpick(){return t.onpick},onhover:d=>yt.select(d)});var c=m(l,2);{var f=d=>{var g=zd(),p=v(g);P(()=>x(p,yt.failure)),_(d,g)},u=d=>{var g=hy();_(d,g)},h=d=>{var g=zd(),p=v(g);P(()=>x(p,n(o).empty)),_(d,g)};V(c,d=>{yt.failure?d(f):yt.pending&&n(o).items.length===0?d(u,1):n(o).empty&&d(h,2)})}Wt(s,d=>L(r,d),()=>n(r)),_(e,s),Ie()}function hr(e,t,r){zt.push({id:e.id,name:e.name??null,kind:e.kind??null,dir:t});const o=cn(e.id,{trail:zr(zt.hops),...r?{line:r}:{}});Et(o)}function my(){const e=zt.hops;if(e.length<2)return null;const t=e[e.length-1],r=e[e.length-2];return!t||!r?null:t.dir==="down"?{id:r.id,rail:"left"}:t.dir==="up"?{id:r.id,rail:"right"}:null}function Lu(e){if(e){if(e.type==="file"){Et(tn(e.path));return}hr({id:e.id,name:e.name,kind:e.kind},"start")}}var _y=N('<div class="search svelte-1625q67" role="search"><input id="q" type="search" autocomplete="off" spellcheck="false" role="combobox" aria-controls="palette-panel" aria-autocomplete="list" class="svelte-1625q67"/> <!></div>');function yy(e,t){Ne(t,!0);let r=Ee(t,"placeholder",3,"Search a symbol or file, or ask “how does execute reach getFile” — press / to focus"),o=Ee(t,"label",3,"Search symbols and files"),s=ae(null),i=ae(null);function a(){n(s)?.focus(),n(s)?.select(),yt.show()}function l(y){if(yt.reset(),n(s)?.blur(),t.onpick){t.onpick(y);return}if(y.type==="flow"){Et(Ho({from:y.from,to:y.to}));return}if(y.type==="entry"){y.row.target&&Lu(y.row.target);return}const w=y.type==="route"?y.nodeId:y.id;if(w){if(y.type==="symbol"&&y.node.kind==="file"){Et(tn(y.node.file));return}hr(y.type==="route"?{id:w,name:y.handler,kind:null}:{id:w,name:y.node.name,kind:y.node.kind},"start")}}function c(y){if(y.key==="Escape"){y.preventDefault(),yt.hide(),n(s)?.blur();return}if(!yt.open){y.key!=="Tab"&&yt.show();return}switch(y.key){case"ArrowDown":y.preventDefault(),yt.move(1);break;case"ArrowUp":y.preventDefault(),yt.move(-1);break;case"Enter":{y.preventDefault();const w=yt.selectedItem;w&&l(w);break}}}function f(y){if(!yt.open)return;const w=y.target;w instanceof Node&&n(i)?.contains(w)||yt.hide()}var u={focus:a,pick:l},h=_y();Ge("pointerdown",fn,f);var d=v(h);Wt(d,y=>L(s,y),()=>n(s));var g=m(d,2);{var p=y=>{py(y,{onpick:l})};V(g,y=>{yt.open&&y(p)})}return Wt(h,y=>L(i,y),()=>n(i)),P(()=>{se(d,"placeholder",r()),se(d,"aria-label",o()),se(d,"aria-expanded",yt.open),se(d,"aria-activedescendant",yt.open?`palette-row-${yt.selected}`:void 0)}),ke("keydown",d,c),Ge("focus",d,()=>yt.show()),Nu(d,()=>yt.query,y=>yt.query=y),_(e,h),Ie(u)}mt(["keydown"]);const Hd=[1e3,2e3,4e3,8e3,15e3,3e4],wy=8;let Vc=ae(!1),vi=ae(!1),Wc=ae(null),lg=ae(null),is=ae(0),as=ae(0),cg=ae(null),Du=ae(null),Ko=null,Wi=null,Yo=0,qd=!1,ug=!1,Kc=!1,Yc=!1;function Ru(){return typeof document<"u"&&document.visibilityState==="hidden"}function dg(e){if(L(cg,e,!0),Ru()){Kc=!0;return}L(is,n(is)+1)}function fg(e){if(L(Du,e,!0),Ru()){Yc=!0;return}L(as,n(as)+1)}function by(){Kc&&(Kc=!1,L(is,n(is)+1)),Yc&&(Yc=!1,L(as,n(as)+1))}function ua(){if(Ko!==null)return;Wi!==null&&(clearTimeout(Wi),Wi=null),L(vi,!1);const e=nn().events;if(!e){ug=!0;return}Ko=e({hello(t){const r=t;r&&(Yo=0,L(Vc,!0),L(lg,r.watching,!0),L(Wc,r.degraded,!0))},changed(t){const r=t;r&&fg(r)},index(t){const r=t;r&&dg(r)},degraded(t){const r=t;r&&L(Wc,r.reason,!0)},error(){L(Vc,!1);const t=Ko;if(Ko=null,t?.(),Yo+=1,Yo>=wy){L(vi,!0);return}const r=Hd[Math.min(Yo-1,Hd.length-1)]??3e4;Wi=setTimeout(ua,r)}})}function xy(){qd||typeof window>"u"||(qd=!0,document.addEventListener("visibilitychange",()=>{Ru()||(by(),n(vi)&&(Yo=0,ua()))}),window.addEventListener("focus",()=>{n(vi)&&(Yo=0,ua())}),window.addEventListener("pagehide",()=>{Ko?.(),Ko=null}),ua())}const Rn={get connected(){return n(Vc)},get stopped(){return n(vi)},get degraded(){return n(Wc)},get watching(){return n(lg)},get indexTick(){return n(is)},get diskTick(){return n(as)},get lastIndex(){return n(cg)},get lastChanged(){return n(Du)},get unsupported(){return ug},start:xy,signal(e,t={}){if(e==="index"){dg({type:"index",index:t.index??{lastIndexedAt:null,files:0},files:t.files??[],total:t.total??t.files?.length??0,truncated:t.truncated??!1,at:t.at??0});return}fg({type:"changed",files:t.files??[],total:t.total??t.files?.length??0,truncated:t.truncated??!1,scan:t.scan??(t.files===void 0||t.files.length===0),at:t.at??0})}};function ky(e){const t=n(Du);return t?t.scan||t.truncated?!0:e===null?!1:t.files.includes(e):!1}function zu(e,t){let r=n(is),o=n(as);et(()=>{const s=Rn.indexTick,i=Rn.diskTick,a=e();Ut(()=>{if(s!==r){r=s,o=i,t("index");return}i!==o&&(o=i,ky(a)&&t("disk"))})})}var Ey=N("<a>Screens</a>"),Sy=N('<span class="offline svelte-1h259us"> </span>'),My=N('<span class="mono svelte-1h259us"> </span>'),Ty=N('<span class="dim svelte-1h259us"> </span>'),Cy=N('<header class="topbar svelte-1h259us"><a class="brand svelte-1h259us" href="#/" aria-label="Alpha Code Sense home"><span class="brand-mark svelte-1h259us" aria-hidden="true">&#9670;</span> <span class="brand-name svelte-1h259us">Alpha Code Sense</span> <span class="brand-sub svelte-1h259us">viewer</span></a> <nav class="views svelte-1h259us" aria-label="Views"><!> <a>Steps</a> <a>Entry points</a> <a>Map</a> <a>Symbol</a> <a>Flow</a> <a>Dead code</a></nav> <!> <div class="project svelte-1h259us" title="Indexed project"><!> <!> <!></div></header>');function Ny(e,t){Ne(t,!0);let r=Ee(t,"project",3,null),o=Ee(t,"stats",3,null),s=Ee(t,"showScreens",3,!1),i=ae(null),a=S(()=>ti.route.view),l=S(()=>{const Y=ti.route;if(Y.view==="symbol"&&Y.id!==null)return cn(Y.id);const G=zt.current;return cn(G?G.id:null)});function c(){n(i)?.focus()}let f=S(()=>Rn.degraded!==null?{text:"Live updates off",title:`${Rn.degraded} This page no longer refreshes itself — reload it after a sync.`}:Rn.stopped?{text:"Not live",title:"Lost the connection to the Alpha Code Sense viewer and stopped retrying. Focus this tab to try again, or reload the page."}:null);var u={focusSearch:c},h=Cy(),d=m(v(h),2),g=v(d);{var p=Y=>{var G=Ey();let U;P(X=>{se(G,"href",X),U=Ce(G,1,"svelte-1h259us",null,U,{active:n(a)==="screens"||n(a)==="home"})},[()=>Wh()]),_(Y,G)};V(g,Y=>{s()&&Y(p)})}var y=m(g,2);let w;var M=m(y,2);let I;var C=m(M,2);let T;var A=m(C,2);let D;var j=m(A,2);let R;var z=m(j,2);let W;var H=m(d,2);Wt(yy(H,{}),Y=>L(i,Y,!0),()=>n(i));var B=m(H,2),k=v(B);{var b=Y=>{var G=Sy(),U=v(G);P(()=>{se(G,"title",n(f).title),x(U,n(f).text)}),_(Y,G)};V(k,Y=>{n(f)&&Y(b)})}var E=m(k,2);{var q=Y=>{var G=My(),U=v(G);P(()=>x(U,r())),_(Y,G)};V(E,Y=>{r()&&Y(q)})}var O=m(E,2);{var K=Y=>{var G=Ty(),U=v(G);P(()=>x(U,o())),_(Y,G)};V(O,Y=>{o()&&Y(K)})}return P((Y,G,U,X,$)=>{se(y,"href",Y),w=Ce(y,1,"svelte-1h259us",null,w,{active:n(a)==="steps"}),se(M,"href",G),I=Ce(M,1,"svelte-1h259us",null,I,{active:n(a)==="entry"}),se(C,"href",U),T=Ce(C,1,"svelte-1h259us",null,T,{active:n(a)==="map"}),se(A,"href",n(l)),D=Ce(A,1,"svelte-1h259us",null,D,{active:n(a)==="symbol"||n(a)==="home"&&!s()}),se(j,"href",X),R=Ce(j,1,"svelte-1h259us",null,R,{active:n(a)==="flow"}),se(z,"href",$),W=Ce(z,1,"svelte-1h259us",null,W,{active:n(a)==="dead"})},[()=>cr(),()=>Au(),()=>ei(),()=>Ho(),()=>Sa()]),_(e,h),Ie(u)}let ar=ae(null),Hu=ae(!1),yo=ae(null),Os=ae(!1),Xo=null;function jd(){return Xo||(Xo=g1().then(e=>{L(ar,e,!0),L(yo,null)}).catch(e=>{L(ar,null),L(yo,e instanceof Error?e.message:String(e),!0)}).finally(()=>{L(Hu,!0)}),Xo)}function Fd(e){L(ar,e,!0),L(yo,null),L(Hu,!0),Xo=Promise.resolve()}const Rt={get list(){return n(ar)?.trails??[]},get payload(){return n(ar)},get settled(){return n(Hu)},get failure(){return n(yo)},get busy(){return n(Os)},get canSave(){return Cd()?n(ar)===null||!n(ar).readOnly:!1},get readOnlyReason(){return n(ar)?.readOnly?n(ar).readOnlyReason??"This viewer is running read-only.":Cd()?null:"This viewer cannot save trails."},get directory(){return n(ar)?.directory??null},ensure:jd,reload(){return Xo=null,jd()},async save(e,t,r){L(Os,!0);try{const o=await p1({name:e,note:t,hops:r.map(s=>({dir:s.dir,id:s.id}))});return Fd(o),o.saved??null}catch(o){return L(yo,o instanceof Error?o.message:String(o),!0),null}finally{L(Os,!1)}},async remove(e){L(Os,!0);try{return Fd(await m1(e)),!0}catch(t){return L(yo,t instanceof Error?t.message:String(t),!0),!1}finally{L(Os,!1)}},clearFailure(){L(yo,null)}},Iy=3;function Ay(e){const t=st(e.hops.length,"hop");return e.author?`${t} · ${e.author}`:t}function Py(e){const t=e.hops.filter(s=>s.status==="missing"),r=e.hops.filter(s=>s.status==="ambiguous"),o=e.hops.filter(s=>s.status==="moved");return t.length>0?{tone:"warn",text:`${st(t.length,"hop")} moved or renamed since this was saved — ${rc(t)} no longer in the index.`}:r.length>0?{tone:"warn",text:`${rc(r)} now ${r.length===1?"names":"name"} more than one symbol — showing the closest match.`}:o.length>0?{tone:"note",text:`${rc(o)} moved to another file since this was saved.`}:null}function Oy(e){if(e.encoded===null)return"None of this trail resolves in the current index.";if(e.openCount===e.hops.length)return null;const t=e.openFrom+e.openCount-1;return`Opens ${e.openCount===1?`hop ${e.openFrom}`:`hops ${e.openFrom}–${t}`} of ${e.hops.length}.`}function nc(e){return e.encoded!==null&&e.openId!==null}function Ly(e){const t=e.hops.map((o,s)=>s===0?o.name:`${Dy(o)} ${o.name}`).join(" "),r=e.updatedAt?` — saved ${e.updatedAt.slice(0,10)}`:"";return`${t}${r}`}function Dy(e){return e.dir==="up"?"←":e.dir==="down"?"→":"·"}function rc(e){const t=e.slice(0,Iy).map(s=>s.name),r=e.length-t.length,o=t.length===1?t[0]:`${t.slice(0,-1).join(", ")} and ${t[t.length-1]}`;return r>0?`${o} and ${r} more`:o}function Ry(e,t){const r=e.trim();return r===""?"Give the trail a name.":r.length>t?`That name is too long (max ${t} characters).`:null}function zy(e,t){const r=e.trim().replace(/\s+/g," ");return t.find(o=>o.name===r)??null}function Hy(e){return`${JSON.stringify({version:1,id:e.id,name:e.name,note:e.note,author:e.author,createdAt:e.createdAt,updatedAt:e.updatedAt,hops:e.hops.map(t=>({dir:t.dir,name:t.name,qualifiedName:t.qualifiedName,kind:t.kind,file:t.savedFile,line:t.savedLine,id:t.id??""}))},null,2)}
3
+ `}const qy=2600;let Ca=ae(null),wo=null;function jy(e){wo!==null&&clearTimeout(wo),L(Ca,e,!0),wo=setTimeout(()=>{L(Ca,null),wo=null},qy)}function Fy(){wo!==null&&clearTimeout(wo),wo=null,L(Ca,null)}const no={get message(){return n(Ca)},show:jy,clear:Fy};var By=N(`<span class="empty svelte-rju47z">Step into a call on the right, or up to a caller on the left — the trail records the
4
+ path.</span>`),Vy=N('<span aria-hidden="true"> </span>'),Wy=N('<!> <button type="button"><!> <span> </span></button>',1),Ky=N('<button type="button" class="tb-btn svelte-rju47z">Read as flow</button>'),Yy=N('<button type="button" class="tb-btn svelte-rju47z">Save trail</button>'),Xy=N('<button type="button" class="tb-btn svelte-rju47z">Clear</button>'),Gy=N('<span class="err svelte-rju47z"> </span>'),Zy=N('<form class="saveform svelte-rju47z"><label for="trail-name" class="svelte-rju47z">Name this trail</label> <input id="trail-name" type="text" autocomplete="off" spellcheck="false" placeholder="How a request reaches the handler" class="svelte-rju47z"/> <button type="submit" class="tb-btn svelte-rju47z"> </button> <button type="button" class="tb-btn svelte-rju47z">Cancel</button> <span><!></span> <!></form>'),Uy=N('<div class="trailwrap svelte-rju47z"><div class="trailbar svelte-rju47z"><span class="label svelte-rju47z">Trail</span> <!> <span class="spacer svelte-rju47z"></span> <!> <!> <!></div> <!></div>');function Qy(e,t){Ne(t,!0);const r=120;let o=S(()=>zt.hops),s=ae(!1),i=ae(""),a=ae(null);et(()=>{n(s)&&Rt.ensure()});let l=S(()=>Ry(n(i),r)),c=S(()=>n(s)?zy(n(i),Rt.list):null);function f(){Rt.clearFailure(),L(s,!0),L(i,zt.current?.name??"",!0),queueMicrotask(()=>{n(a)?.focus(),n(a)?.select()})}function u(){L(s,!1),L(i,"")}async function h(k){if(k.preventDefault(),n(l)||Rt.busy)return;const b=n(c)!==null;await Rt.save(n(i),"",n(o))!==null&&(no.show(b?`Trail replaced · ${n(i).trim()}`:`Trail saved · ${n(i).trim()}`),u())}function d(k){k.key==="Escape"&&(k.preventDefault(),k.stopPropagation(),u())}function g(k){const b=n(o)[k];b&&(zt.truncateTo(k),Et(cn(b.id,{trail:zr(zt.hops)})))}function p(){Et(Ho({trail:zr(n(o))}))}function y(){const k=zt.current;if(zt.clear(),!k){Et("#/");return}zt.push({id:k.id,name:k.name,kind:k.kind,dir:"start"}),Et(cn(k.id,{trail:zr(zt.hops)}),{replace:!0})}var w=Uy(),M=v(w),I=m(v(M),2);{var C=k=>{var b=By();_(k,b)},T=k=>{var b=St(),E=ye(b);xe(E,19,()=>n(o),q=>q.id,(q,O,K)=>{var Y=Wy(),G=ye(Y);{var U=J=>{var te=Vy();let ie;var ge=v(te);P(()=>{ie=Ce(te,1,"hop-arrow svelte-rju47z",null,ie,{up:n(O).dir==="up"}),se(te,"title",n(O).dir==="up"?"stepped up to a caller":n(O).dir==="down"?"stepped down into a call":"jumped here"),x(ge,n(O).dir==="up"?"←":n(O).dir==="down"?"→":"·")}),_(J,te)};V(G,J=>{n(K)>0&&J(U)})}var X=m(G,2);let $;var Z=v(X);Pt(Z,{get kind(){return n(O).kind}});var Q=m(Z,2),F=v(Q);P(J=>{$=Ce(X,1,"hop svelte-rju47z",null,$,{cur:n(K)===n(o).length-1}),se(X,"aria-current",n(K)===n(o).length-1?"true":void 0),x(F,J)},[()=>w1(n(O))]),ke("click",X,()=>g(n(K))),_(q,Y)}),_(k,b)};V(I,k=>{n(o).length===0?k(C):k(T,-1)})}var A=m(I,4);{var D=k=>{var b=Ky();ke("click",b,p),_(k,b)};V(A,k=>{n(o).length>1&&k(D)})}var j=m(A,2);{var R=k=>{var b=Yy();ke("click",b,f),_(k,b)};V(j,k=>{n(o).length>0&&Rt.canSave&&!n(s)&&k(R)})}var z=m(j,2);{var W=k=>{var b=Xy();ke("click",b,y),_(k,b)};V(z,k=>{n(o).length>0&&k(W)})}var H=m(M,2);{var B=k=>{var b=Zy(),E=m(v(b),2);se(E,"maxlength",r),Wt(E,J=>L(a,J),()=>n(a));var q=m(E,2),O=v(q),K=m(q,2),Y=m(K,2);let G;var U=v(Y);{var X=J=>{var te=wt("Replaces the saved trail of the same name.");_(J,te)},$=J=>{var te=wt();P(()=>x(te,`${n(o).length??""} hop${n(o).length===1?"":"s"} · saved to ${Rt.directory??""}`)),_(J,te)},Z=J=>{var te=wt();P(()=>x(te,`${n(o).length??""} hop${n(o).length===1?"":"s"}`)),_(J,te)};V(U,J=>{n(c)?J(X):Rt.directory?J($,1):J(Z,-1)})}var Q=m(Y,2);{var F=J=>{var te=Gy(),ie=v(te);P(()=>x(ie,Rt.failure)),_(J,te)};V(Q,J=>{Rt.failure&&J(F)})}P(()=>{q.disabled=n(l)!==null||Rt.busy,x(O,Rt.busy?"Saving…":n(c)?"Replace":"Save"),G=Ce(Y,1,"hint svelte-rju47z",null,G,{warn:n(c)!==null})}),Ge("submit",b,h),ke("keydown",E,d),Nu(E,()=>n(i),J=>L(i,J)),ke("click",K,u),_(k,b)};V(H,k=>{n(s)&&k(B)})}_(e,w),Ie()}mt(["click","keydown"]);var Jy=N('<span class="where svelte-1gyfjc6"> </span>'),$y=N('<p class="msg err svelte-1gyfjc6"> </p>'),e0=N('<p class="msg svelte-1gyfjc6">Reading saved trails…</p>'),t0=N("<br/> ",1),n0=N('<p class="msg svelte-1gyfjc6">No saved trails yet. Walk a path through the code, then press <strong>Save trail</strong> on the trail bar to keep it. <!></p>'),r0=N('<span class="note svelte-1gyfjc6"> </span>'),o0=N('<button type="button"> </button>'),s0=N("<p> </p>"),i0=N('<div><button type="button" class="pick svelte-1gyfjc6"><!> <span class="mid svelte-1gyfjc6"><span class="nm svelte-1gyfjc6"> </span> <!></span> <span class="meta svelte-1gyfjc6"> </span></button> <div class="acts svelte-1gyfjc6"><button type="button" class="act svelte-1gyfjc6">Export</button> <!></div> <!></div>'),a0=N('<p class="msg svelte-1gyfjc6">Only the first trails in the directory are listed.</p>'),l0=N('<div class="rows svelte-1gyfjc6"></div> <!>',1),c0=N('<section class="trails svelte-1gyfjc6"><div class="head svelte-1gyfjc6"><h3 class="svelte-1gyfjc6"> </h3> <!></div> <!></section>');function vg(e,t){Ne(t,!0);let r=Ee(t,"title",3,"Saved trails"),o=Ee(t,"hideWhenEmpty",3,!0);et(()=>{Rt.ensure()});let s=ae(null),i=S(()=>Rt.list);function a(d){if(!nc(d))return;const g=Pu(d.encoded);zt.clear();const p=d.hops.filter(y=>y.id!==null);for(const y of g){const w=p.find(M=>M.id===y.id);zt.push({id:y.id,name:w?.name??null,kind:w?.kind??null,dir:y.dir})}Et(cn(d.openId,{trail:d.encoded}))}async function l(d){if(n(s)!==d.id){L(s,d.id,!0);return}L(s,null),await Rt.remove(d.id)}function c(d){const g=new Blob([Hy(d)],{type:"application/json"}),p=URL.createObjectURL(g),y=document.createElement("a");y.href=p,y.download=`${d.id}.json`,y.click(),URL.revokeObjectURL(p)}var f=St(),u=ye(f);{var h=d=>{var g=c0(),p=v(g),y=v(p),w=v(y),M=m(y,2);{var I=R=>{var z=Jy(),W=v(z);P(()=>x(W,Rt.directory)),_(R,z)};V(M,R=>{Rt.directory&&R(I)})}var C=m(p,2);{var T=R=>{var z=$y(),W=v(z);P(()=>x(W,Rt.failure)),_(R,z)},A=R=>{var z=e0();_(R,z)},D=R=>{var z=n0(),W=m(v(z),3);{var H=B=>{var k=t0(),b=m(ye(k),1,!0);P(()=>x(b,Rt.readOnlyReason)),_(B,k)};V(W,B=>{Rt.readOnlyReason&&B(H)})}_(R,z)},j=R=>{var z=l0(),W=ye(z);xe(W,21,()=>n(i),k=>k.id,(k,b)=>{const E=S(()=>Py(n(b))),q=S(()=>Oy(n(b)));var O=i0();let K;var Y=v(O),G=v(Y);{let ue=S(()=>n(b).hops[0]?.kind??null);Pt(G,{get kind(){return n(ue)}})}var U=m(G,2),X=v(U),$=v(X),Z=m(X,2);{var Q=ue=>{var ne=r0(),fe=v(ne);P(()=>x(fe,n(b).note)),_(ue,ne)};V(Z,ue=>{n(b).note&&ue(Q)})}var F=m(U,2),J=v(F),te=m(Y,2),ie=v(te),ge=m(ie,2);{var ve=ue=>{var ne=o0();let fe;var he=v(ne);P(()=>{fe=Ce(ne,1,"act svelte-1gyfjc6",null,fe,{armed:n(s)===n(b).id}),ne.disabled=Rt.busy,x(he,n(s)===n(b).id?"Delete?":"Delete")}),ke("click",ne,()=>l(n(b))),Ge("blur",ne,()=>L(s,n(s)===n(b).id?null:n(s),!0)),_(ue,ne)};V(ge,ue=>{Rt.canSave&&ue(ve)})}var re=m(te,2);{var ee=ue=>{var ne=s0();let fe;var he=v(ne);P(ce=>{fe=Ce(ne,1,"decay svelte-1gyfjc6",null,fe,{warn:n(E)?.tone==="warn"}),x(he,ce)},[()=>[n(E)?.text,n(q)].filter(Boolean).join(" ")]),_(ue,ne)};V(re,ue=>{(n(E)||n(q))&&ue(ee)})}P((ue,ne,fe,he)=>{K=Ce(O,1,"row svelte-1gyfjc6",null,K,ue),se(Y,"title",ne),Y.disabled=fe,x($,n(b).name),x(J,he)},[()=>({dead:!nc(n(b))}),()=>Ly(n(b)),()=>!nc(n(b)),()=>Ay(n(b))]),ke("click",Y,()=>a(n(b))),ke("click",ie,()=>c(n(b))),_(k,O)});var H=m(W,2);{var B=k=>{var b=a0();_(k,b)};V(H,k=>{Rt.payload?.bounded&&k(B)})}_(R,z)};V(C,R=>{Rt.failure?R(T):Rt.settled?n(i).length===0?R(D,2):R(j,-1):R(A,1)})}P(()=>{se(g,"aria-label",r()),x(w,r())}),_(d,g)};V(u,d=>{o()&&n(i).length===0&&Rt.failure===null||d(h)})}_(e,f),Ie()}mt(["click"]);var u0=N('<section class="entries svelte-y99goq" aria-label="Where to start"><div class="entries-h svelte-y99goq"><h3 class="svelte-y99goq">Where to start</h3> <a class="svelte-y99goq">All entry points ›</a></div> <div class="rows svelte-y99goq"><!></div></section>'),d0=N(`<div class="scroll svelte-y99goq"><div class="emptystate"><h2>Alpha Code Sense</h2> <p> <code>/</code> to focus the search box.</p> <p>Every symbol you open shows who calls it on the left, its verbatim source in the middle, and
5
+ what it calls on the right — each callee lined up with the line that makes the call.</p></div> <div class="saved svelte-y99goq"><!></div> <!></div>`);function f0(e,t){Ne(t,!0);let r=Ee(t,"project",3,null);et(()=>{yt.ensureEntries()});let o=S(()=>sg(yt.entries));function s(g){if(g.type==="flow"){Et(Ho({from:g.from,to:g.to}));return}if(g.type==="entry"){Lu(g.row.target);return}const p=g.type==="route"?g.nodeId:g.id;if(p){if(g.type==="symbol"&&g.node.kind==="file"){Et(tn(g.node.file));return}hr(g.type==="route"?{id:p,name:g.handler,kind:null}:{id:p,name:g.node.name,kind:g.node.kind},"start")}}var i=d0(),a=v(i),l=m(v(a),2),c=v(l),f=m(a,2),u=v(f);vg(u,{});var h=m(f,2);{var d=g=>{var p=u0(),y=v(p),w=m(v(y),2),M=m(y,2),I=v(M);Qh(I,{get palette(){return n(o)},onpick:s}),P(C=>se(w,"href",C),[()=>Au()]),_(g,p)};V(h,g=>{n(o).sections.length>0&&g(d)})}P(()=>x(c,`Welcome to the Alpha Code Sense viewer. Search for a symbol or file to start reading${r()?` in ${r()}`:""}. Press `)),_(e,i),Ie()}let Ls=ae(null),Ds=ae("right"),Kr=ae(-1);const kt={get target(){return n(Ls)},is(e){return e!=null&&n(Ls)===e},set(e){L(Ls,e,!0)},clear(e){(e==null||n(Ls)===e)&&L(Ls,null)}},Hn={get rail(){return n(Ds)},get index(){return n(Kr)},at(e,t){return n(Ds)===e&&n(Kr)===t},move(e,t){L(Ds,e,!0),L(Kr,t,!0)},step(e,t){t!==0&&L(Kr,Math.max(0,Math.min(t-1,n(Kr)+e)),!0)},switchTo(e){L(Ds,e,!0),n(Kr)<0&&L(Kr,0)},reset(){L(Ds,"right"),L(Kr,-1)}};var v0=N('<span class="dim"> </span>'),Bd=N("<span> </span>"),h0=N('<span class="tag svelte-esi3sb"> </span>'),g0=N('<span class="tag svelte-esi3sb" title="A synthesized edge — dynamic dispatch the parser cannot see"> </span>'),p0=N('<span class="tag when svelte-esi3sb" title="The call runs only under this condition — read from the source as it is now"> </span>'),m0=N('<div role="button" tabindex="0"><!> <div class="body svelte-esi3sb"><div class="nm svelte-esi3sb"> <!></div> <div class="meta svelte-esi3sb"><span> </span> <!> <!> <!> <!></div></div></div>'),_0=N('<div role="button" tabindex="0"><!> <div class="body svelte-esi3sb"><div class="nm svelte-esi3sb"> </div> <div class="meta svelte-esi3sb"><span> </span> <!></div></div></div>'),y0=N('<details data-rail-fold=""><summary class="svelte-esi3sb">Uncertain <span class="dim"> </span></summary> <div class="fold-body"></div></details>'),w0=N('<div class="rnote svelte-esi3sb"> </div>'),b0=N(" <!>.",1),x0=N("<br/> ",1),k0=N("<div><!> <!></div>"),E0=N('<div class="rail-h svelte-esi3sb" data-rail-header=""><span>Calls <span class="n svelte-esi3sb"> </span></span> <span class="hint svelte-esi3sb">step down →</span></div> <!> <!> <!>',1);function S0(e,t){Ne(t,!0);function r(p){return`${p.relation.node.qualifiedName} — ${p.relation.node.file}:${p.relation.node.line}`}var o=E0(),s=ye(o),i=v(s),a=m(v(i)),l=v(a),c=m(s,2);xe(c,19,()=>t.model.rows,p=>p.relation.node.id,(p,y,w)=>{const M=S(()=>n(y).relation.node);var I=m0();let C,T;var A=v(I);Pt(A,{get kind(){return n(M).kind}});var D=m(A,2),j=v(D),R=v(j),z=m(R);{var W=U=>{var X=v0(),$=v(X);P(()=>x($,`×${n(y).lines.length??""}`)),_(U,X)};V(z,U=>{n(y).lines.length>1&&U(W)})}var H=m(j,2),B=v(H),k=v(B),b=m(B,2);{var E=U=>{var X=Bd(),$=v(X);P(Z=>x($,Z),[()=>n(y).words.join(", ")]),_(U,X)};V(b,U=>{n(y).words.length>0&&U(E)})}var q=m(b,2);{var O=U=>{var X=h0(),$=v(X);P(()=>x($,`hub · ${n(y).relation.fanIn??""}`)),_(U,X)};V(q,U=>{n(y).relation.hub&&U(O)})}var K=m(q,2);{var Y=U=>{var X=g0(),$=v(X);P(()=>x($,`via ${n(y).via??""}`)),_(U,X)};V(K,U=>{n(y).via&&U(Y)})}var G=m(K,2);xe(G,16,()=>n(y).when,U=>U,(U,X)=>{var $=p0(),Z=v($);P(()=>x(Z,`when ${X??""}`)),_(U,$)}),P((U,X)=>{C=Ce(I,1,"rrow svelte-esi3sb",null,C,U),se(I,"data-target",n(M).id),se(I,"title",X),T=nt(I,"",T,{top:`${t.tops[n(w)]??0}px`}),x(R,n(M).name),x(k,n(M).file===t.focalFile?"same file":n(M).file)},[()=>({origin:n(M).id===t.originId,hot:kt.is(n(M).id),sel:Hn.at("right",n(w)),unplaced:!t.placed}),()=>r(n(y))]),ke("click",I,()=>t.onstepDown(n(M))),ke("keydown",I,U=>{(U.key==="Enter"||U.key===" ")&&(U.preventDefault(),t.onstepDown(n(M)))}),Ge("mouseenter",I,()=>kt.set(n(M).id)),Ge("mouseleave",I,()=>kt.clear(n(M).id)),_(p,I)});var f=m(c,2);{var u=p=>{var y=y0();let w,M;var I=v(y),C=m(v(I)),T=v(C),A=m(I,2);xe(A,21,()=>t.model.uncertain,D=>D.relation.node.id,(D,j)=>{const R=S(()=>n(j).relation.node);var z=_0();let W;var H=v(z);Pt(H,{get kind(){return n(R).kind}});var B=m(H,2),k=v(B),b=v(k),E=m(k,2),q=v(E),O=v(q),K=m(q,2);{var Y=G=>{var U=Bd(),X=v(U);P(()=>x(X,n(j).relation.confidence)),_(G,U)};V(K,G=>{n(j).relation.confidence!==null&&G(Y)})}P((G,U)=>{W=Ce(z,1,"rrow static uncertain svelte-esi3sb",null,W,G),se(z,"data-target",n(R).id),se(z,"title",U),x(b,n(R).name),x(O,n(R).file)},[()=>({hot:kt.is(n(R).id)}),()=>r(n(j))]),ke("click",z,()=>t.onstepDown(n(R))),ke("keydown",z,G=>{(G.key==="Enter"||G.key===" ")&&(G.preventDefault(),t.onstepDown(n(R)))}),Ge("mouseenter",z,()=>kt.set(n(R).id)),Ge("mouseleave",z,()=>kt.clear(n(R).id)),_(D,z)}),P(()=>{w=Ce(y,1,"rfold svelte-esi3sb",null,w,{unplaced:!t.placed}),M=nt(y,"",M,{top:`${t.foldTop}px`}),x(T,`· ${t.model.uncertain.length??""} name-only match${t.model.uncertain.length===1?"":"es"},
6
+ confidence < 0.6`)}),_(p,y)};V(f,p=>{t.model.uncertain.length>0&&p(u)})}var h=m(f,2);{var d=p=>{var y=w0();nt(y,"",{},{top:"60px"});var w=v(y);P(()=>x(w,t.emptyReason)),_(p,y)},g=p=>{var y=k0();let w,M;var I=v(y);{var C=j=>{var R=b0(),z=ye(R),W=m(z);{var H=B=>{var k=wt();P(b=>x(k,` ·
7
+ ${b??""}`),[()=>st(t.model.outsideTypeRefs,"type reference")]),_(B,k)};V(W,B=>{t.model.outsideTypeRefs>0&&B(H)})}P(B=>x(z,`+${B??""} into symbols outside the index`),[()=>st(t.model.outsideCalls,"more call")]),_(j,R)},T=j=>{var R=wt();P(z=>x(R,`${z??""} into symbols outside the index.`),[()=>st(t.model.outsideTypeRefs,"type reference")]),_(j,R)};V(I,j=>{t.model.outsideCalls>0?j(C):t.model.outsideTypeRefs>0&&j(T,1)})}var A=m(I,2);{var D=j=>{var R=x0(),z=m(ye(R));P(()=>x(z,`+${t.model.hiddenGroups??""} more callee${t.model.hiddenGroups===1?"":"s"} not shown.`)),_(j,R)};V(A,j=>{t.model.hiddenGroups>0&&j(D)})}P(()=>{w=Ce(y,1,"rnote svelte-esi3sb",null,w,{unplaced:!t.placed}),M=nt(y,"",M,{top:`${t.noteTop}px`})}),_(p,y)};V(h,p=>{t.model.rows.length===0&&t.model.uncertain.length===0?p(d):(t.model.outsideCalls>0||t.model.outsideTypeRefs>0||t.model.hiddenGroups>0)&&p(g,1)})}P(()=>x(l,t.model.rows.length)),_(e,o),Ie()}mt(["click","keydown"]);var Vd=N('<div class="note svelte-1g174kh"> </div>'),oc=N('<span class="kindlbl svelte-1g174kh"> </span>'),M0=N('<span class="tag when svelte-1g174kh" title="The call runs only under this condition — read from the source as it is now"> </span>'),T0=N('<button type="button" class="chip svelte-1g174kh"> </button>'),C0=N('<span class="kindlbl svelte-1g174kh">you came from here</span>'),N0=N('<div role="button" tabindex="0"><!> <div><div class="nm svelte-1g174kh"> </div> <div class="meta svelte-1g174kh"><!> <!> <!> <!> <!></div></div></div>'),I0=N('<div class="filegroup svelte-1g174kh"><div class="fpath svelte-1g174kh"><a class="svelte-1g174kh"> </a> <b class="svelte-1g174kh"> </b></div> <!></div>'),A0=N('<div class="row svelte-1g174kh" role="button" tabindex="0"><!> <div><div class="nm svelte-1g174kh"> </div> <div class="meta svelte-1g174kh"><span class="kindlbl svelte-1g174kh"> </span></div></div></div>'),P0=N('<details class="fold svelte-1g174kh"><summary class="svelte-1g174kh">Tests <span class="dim"> </span></summary> <div class="body svelte-1g174kh"></div></details>'),O0=N('<div class="row uncertain svelte-1g174kh" role="button" tabindex="0"><!> <div><div class="nm svelte-1g174kh"> </div> <div class="meta svelte-1g174kh"><span class="kindlbl svelte-1g174kh"> </span> <!></div></div></div>'),L0=N('<details class="fold svelte-1g174kh"><summary class="svelte-1g174kh">Uncertain <span class="dim"> </span></summary> <div class="body svelte-1g174kh"></div></details>'),D0=N('<div class="rail-h svelte-1g174kh"><span>Called by <span class="n svelte-1g174kh"> </span></span> <span class="hint svelte-1g174kh">← step up</span></div> <!> <!> <!> <!> <!>',1);function R0(e,t){Ne(t,!0);function r(C){return C.kind==="file"?`${gn(C.file)} (top level)`:C.name}function o(C){return`${C.relation.node.qualifiedName} — ${C.relation.node.file}:${C.relation.node.line}`}function s(C,T){let A=0;for(let D=0;D<C;D++)A+=t.model.groups[D]?.rows.length??0;return A+T}var i=D0(),a=ye(i),l=v(a),c=m(v(l)),f=v(c),u=m(a,2);{var h=C=>{var T=Vd(),A=v(T);P(()=>x(A,`Nothing in the graph calls or references this symbol${t.exported?" — it is exported, so callers may live outside the index (or it is an entry point).":"."}`)),_(C,T)};V(u,C=>{t.model.total===0&&C(h)})}var d=m(u,2);xe(d,19,()=>t.model.groups,C=>C.file,(C,T,A)=>{var D=I0(),j=v(D),R=v(j),z=v(R),W=m(R,2),H=v(W),B=m(j,2);xe(B,19,()=>n(T).rows,k=>k.relation.node.id,(k,b,E)=>{const q=S(()=>n(b).relation.node),O=S(()=>n(q).id===t.originId);var K=N0();let Y;var G=v(K);Pt(G,{get kind(){return n(q).kind}});var U=m(G,2),X=v(U),$=v(X),Z=m(X,2),Q=v(Z);{var F=ee=>{var ue=oc(),ne=v(ue);P(fe=>x(ne,fe),[()=>n(b).words.join(", ")]),_(ee,ue)};V(Q,ee=>{n(b).words.length>0&&ee(F)})}var J=m(Q,2);xe(J,16,()=>n(b).when,ee=>ee,(ee,ue)=>{var ne=M0(),fe=v(ne);P(()=>x(fe,`when ${ue??""}`)),_(ee,ne)});var te=m(J,2);xe(te,16,()=>n(b).lines,ee=>ee,(ee,ue)=>{var ne=T0(),fe=v(ne);P(()=>{se(ne,"title",`Open ${n(q).name} at line ${ue}`),x(fe,`:${ue??""}`)}),ke("click",ne,he=>{he.stopPropagation(),t.onstepUp(n(q),ue)}),_(ee,ne)});var ie=m(te,2);{var ge=ee=>{var ue=oc(),ne=v(ue);P(()=>x(ne,`via ${n(b).via??""}`)),_(ee,ue)};V(ie,ee=>{n(b).via&&ee(ge)})}var ve=m(ie,2);{var re=ee=>{var ue=C0();_(ee,ue)};V(ve,ee=>{n(O)&&ee(re)})}P((ee,ue,ne)=>{Y=Ce(K,1,"row svelte-1g174kh",null,Y,ee),se(K,"data-target",n(q).id),se(K,"title",ue),x($,ne)},[()=>({origin:n(O),sel:Hn.at("left",s(n(A),n(E)))}),()=>o(n(b)),()=>r(n(q))]),ke("click",K,()=>t.onstepUp(n(q))),ke("keydown",K,ee=>{(ee.key==="Enter"||ee.key===" ")&&(ee.preventDefault(),t.onstepUp(n(q)))}),Ge("mouseenter",K,()=>kt.set(n(q).id)),Ge("mouseleave",K,()=>kt.clear(n(q).id)),_(k,K)}),P(k=>{se(R,"href",k),se(R,"title",n(T).file),x(z,n(T).same?"same file":n(T).file),x(H,n(T).rows.length)},[()=>tn(n(T).file)]),_(C,D)});var g=m(d,2);{var p=C=>{var T=P0(),A=v(T),D=m(v(A)),j=v(D),R=m(A,2);xe(R,21,()=>t.model.tests.rows,z=>z.relation.node.id,(z,W)=>{const H=S(()=>n(W).relation.node);var B=A0(),k=v(B);Pt(k,{get kind(){return n(H).kind}});var b=m(k,2),E=v(b),q=v(E),O=m(E,2),K=v(O),Y=v(K);P((G,U)=>{se(B,"title",G),x(q,U),x(Y,n(H).file)},[()=>o(n(W)),()=>r(n(H))]),ke("click",B,()=>t.onstepUp(n(H))),ke("keydown",B,G=>{(G.key==="Enter"||G.key===" ")&&(G.preventDefault(),t.onstepUp(n(H)))}),Ge("mouseenter",B,()=>kt.set(n(H).id)),Ge("mouseleave",B,()=>kt.clear(n(H).id)),_(z,B)}),P((z,W)=>x(j,`· ${z??""} from ${W??""}`),[()=>st(t.model.tests.calls,"call"),()=>st(t.model.tests.files.length,"file")]),_(C,T)};V(g,C=>{t.model.tests.rows.length>0&&C(p)})}var y=m(g,2);{var w=C=>{var T=L0(),A=v(T),D=m(v(A)),j=v(D),R=m(A,2);xe(R,21,()=>t.model.uncertain,z=>z.relation.node.id,(z,W)=>{const H=S(()=>n(W).relation.node);var B=O0(),k=v(B);Pt(k,{get kind(){return n(H).kind}});var b=m(k,2),E=v(b),q=v(E),O=m(E,2),K=v(O),Y=v(K),G=m(K,2);{var U=X=>{var $=oc(),Z=v($);P(()=>x(Z,n(W).relation.confidence)),_(X,$)};V(G,X=>{n(W).relation.confidence!==null&&X(U)})}P((X,$,Z)=>{se(B,"title",X),x(q,$),x(Y,Z)},[()=>o(n(W)),()=>r(n(H)),()=>gn(n(H).file)]),ke("click",B,()=>t.onstepUp(n(H))),ke("keydown",B,X=>{(X.key==="Enter"||X.key===" ")&&(X.preventDefault(),t.onstepUp(n(H)))}),Ge("mouseenter",B,()=>kt.set(n(H).id)),Ge("mouseleave",B,()=>kt.clear(n(H).id)),_(z,B)}),P(()=>x(j,`· ${t.model.uncertain.length??""} name-only match${t.model.uncertain.length===1?"":"es"},
8
+ confidence < 0.6`)),_(C,T)};V(y,C=>{t.model.uncertain.length>0&&C(w)})}var M=m(y,2);{var I=C=>{var T=Vd(),A=v(T);P(()=>x(A,`+${t.model.hiddenGroups??""} more caller${t.model.hiddenGroups===1?"":"s"} not shown — this symbol
9
+ has more than the rail lists.`)),_(C,T)};V(M,C=>{t.model.hiddenGroups>0&&C(I)})}P(()=>x(f,t.model.total)),_(e,i),Ie()}mt(["click","keydown"]);var z0=Yt("<path></path>"),H0=Yt('<svg class="overlay svelte-1x7maed" aria-hidden="true" focusable="false"></svg>');function hg(e,t){Ne(t,!0);var r=H0();xe(r,23,()=>t.connectors,(o,s)=>`${o.targetId}:${s}`,(o,s)=>{var i=z0();let a;P(l=>{se(i,"d",n(s).d),a=Ce(i,0,"svelte-1x7maed",null,a,l)},[()=>({uncertain:n(s).uncertain,heur:n(s).heuristic,origin:n(s).origin,hot:kt.is(n(s).targetId)})]),_(o,i)}),P(()=>{se(r,"width",t.width),se(r,"height",t.height),se(r,"viewBox",`0 0 ${t.width} ${t.height}`)}),_(e,r),Ie()}var q0=N('<span class="stat svelte-149slox"><strong class="svelte-149slox"> </strong> </span>'),j0=N(' <span class="dim"> </span>',1),F0=N('<div class="fp svelte-149slox"><a> </a> <b class="svelte-149slox"> </b></div>'),B0=N('<div class="fp dim svelte-149slox"> </div>'),V0=N('<div class="note svelte-149slox"> </div>'),W0=N('<details class="svelte-149slox"><summary class="svelte-149slox">What would need re-checking if this changed</summary> <div class="body svelte-149slox"><!> <!> <!></div></details>'),K0=N('<div class="blast svelte-149slox"><div class="bh svelte-149slox"><b class="svelte-149slox">Blast radius</b> <span class="stat svelte-149slox"><strong class="svelte-149slox"> </strong> </span> <span class="stat svelte-149slox"><strong class="svelte-149slox"> </strong> </span> <span class="stat svelte-149slox"><strong class="svelte-149slox"> </strong> </span> <span class="stat svelte-149slox"><strong class="svelte-149slox"> </strong> </span> <!></div> <div class="bar svelte-149slox"><i class="svelte-149slox"></i> <i class="direct svelte-149slox"></i></div> <div class="legend svelte-149slox"> <!></div> <!></div>');function Y0(e,t){Ne(t,!0);let r=S(()=>Math.max(1,t.scale?.maxDirect??0,t.blast.direct)),o=S(()=>Math.max(1,t.scale?.maxWithinHops??0,t.blast.withinHops));const s=(G,U)=>G<=0?0:Math.max(.5,Math.min(100,100*G/U));var i=K0(),a=v(i),l=m(v(a),2),c=v(l),f=v(c),u=m(c),h=m(l,2),d=v(h),g=v(d),p=m(d),y=m(h,2),w=v(y),M=v(w),I=m(w),C=m(y,2),T=v(C),A=v(T),D=m(T),j=m(C,2);{var R=G=>{var U=q0(),X=v(U),$=v(X),Z=m(X);P(()=>{x($,t.blast.routes),x(Z,` route${t.blast.routes===1?"":"s"}`)}),_(G,U)};V(j,G=>{t.blast.routes>0&&G(R)})}var z=m(a,2),W=v(z);let H;var B=m(W,2);let k;var b=m(z,2),E=v(b),q=m(E);{var O=G=>{var U=j0(),X=ye(U,!0);X.nodeValue=" ";var $=m(X),Z=v($);P(()=>x(Z,`(measured across its ${t.scale.sampled??""} most-depended-on symbols)`)),_(G,U)};V(q,G=>{t.scale?.estimated&&G(O)})}var K=m(b,2);{var Y=G=>{var U=W0(),X=m(v(U),2),$=v(X);xe($,17,()=>t.blast.topFiles,te=>te.file,(te,ie)=>{var ge=F0(),ve=v(ge);let re;var ee=v(ve),ue=m(ve,2),ne=v(ue);P(fe=>{se(ve,"href",fe),re=Ce(ve,1,"svelte-149slox",null,re,{test:n(ie).test}),x(ee,n(ie).file),x(ne,n(ie).symbols)},[()=>tn(n(ie).file)]),_(te,ge)});var Z=m($,2);{var Q=te=>{var ie=B0(),ge=v(ie);P(()=>x(ge,`+${t.blast.files-t.blast.topFiles.length} more files`)),_(te,ie)};V(Z,te=>{t.blast.files>t.blast.topFiles.length&&te(Q)})}var F=m(Z,2);{var J=te=>{var ie=V0(),ge=v(ie);P((ve,re)=>x(ge,`plus ${ve??""} from ${re??""} — the tests that
10
+ would catch a regression.`),[()=>st(t.testCalls,"call"),()=>st(t.testFiles,"test file")]),_(te,ie)};V(F,te=>{t.testCalls>0&&te(J)})}_(G,U)};V(K,G=>{t.blast.topFiles.length>0&&G(Y)})}P((G,U)=>{x(f,t.blast.direct),x(u,` direct dependent${t.blast.direct===1?"":"s"}`),x(g,t.blast.withinHops),x(p,` within ${t.blast.hops??""} hops`),x(M,t.blast.files),x(I,` file${t.blast.files===1?"":"s"}`),x(A,t.blast.testFiles),x(D,` test file${t.blast.testFiles===1?"":"s"}`),se(z,"title",`Scaled to the widest radius in the index: ${n(o)} symbols within ${t.blast.hops} hops.`),H=nt(W,"",H,G),k=nt(B,"",k,U),x(E,`dark: direct dependents · light: within ${t.blast.hops??""} hops — scaled to the widest radius in the
11
+ index`)},[()=>({width:`${s(t.blast.withinHops,n(o))}%`}),()=>({width:`${s(t.blast.direct,n(r))}%`})]),_(e,i),Ie()}var X0=N('<span class="ovr svelte-rscx7m"> </span>'),G0=N('<button type="button"><!> <span class="nm svelte-rscx7m"> </span> <span class="sig svelte-rscx7m"><!> </span> <span class="cnt svelte-rscx7m"><!><!><!></span></button>'),Z0=N('<div class="note svelte-rscx7m"> </div>'),U0=N('<div class="subh svelte-rscx7m"><span>Members</span> <span class="n svelte-rscx7m"> </span></div> <div class="outline svelte-rscx7m"></div> <!>',1);function Q0(e,t){Ne(t,!0);function r(u){return u.relation==="implements"?`Declares a member ${u.baseTypeName} requires — matched by name.`:`Redeclares a member of ${u.baseTypeName} — matched by name.`}var o=U0(),s=ye(o),i=m(v(s),2),a=v(i),l=m(s,2);xe(l,21,()=>t.rows,u=>u.member.id,(u,h)=>{var d=G0();let g;var p=v(d);Pt(p,{get kind(){return n(h).member.kind}});var y=m(p,2),w=v(y),M=m(y,2),I=v(M);{var C=B=>{var k=X0(),b=v(k);P(E=>{se(k,"title",E),x(b,`${n(h).member.overrides.relation==="implements"?"satisfies":"overrides"}
12
+ ${n(h).member.overrides.baseTypeName??""}`)},[()=>r(n(h).member.overrides)]),_(B,k)};V(I,B=>{n(h).member.overrides&&B(C)})}var T=m(I,1,!0),A=m(M,2),D=v(A);{var j=B=>{var k=wt();P(()=>x(k,`← ${n(h).member.fanIn??""}`)),_(B,k)};V(D,B=>{n(h).member.fanIn&&B(j)})}var R=m(D);{var z=B=>{var k=wt(" ");_(B,k)};V(R,B=>{n(h).member.fanIn&&n(h).member.fanOut&&B(z)})}var W=m(R);{var H=B=>{var k=wt();P(()=>x(k,`→ ${n(h).member.fanOut??""}`)),_(B,k)};V(W,B=>{n(h).member.fanOut&&B(H)})}P(()=>{g=Ce(d,1,"orow svelte-rscx7m",null,g,{nested:n(h).nested,dimmed:n(h).dimmed}),se(d,"title",`${n(h).member.qualifiedName} — ${n(h).member.file}:${n(h).member.line}`),x(w,n(h).member.name),x(T,n(h).member.signature??"")}),ke("click",d,()=>t.onopen(n(h).member)),_(u,d)});var c=m(l,2);{var f=u=>{var h=Z0(),d=v(h);P(()=>x(d,`Showing ${t.rows.length??""} of ${t.total??""} members — open the file to see the rest.`)),_(u,h)};V(c,u=>{t.truncated&&u(f)})}P(()=>x(a,t.total)),_(e,o),Ie()}mt(["click"]);const bo=24,J0=22,gg=18,sc=gg+8,Wd=12;function $0(e,t){const r=[],o=[...e.ancestors.items].sort((u,h)=>h.depth-u.depth||u.name.localeCompare(h.name));for(const u of o)r.push({entry:u,node:u,side:"ancestor",indent:0,index:r.length,word:u.relation});const s=r.length;r.push({entry:null,node:t,side:"focus",indent:0,index:s,word:""});for(const u of e.descendants.items)r.push({entry:u,node:u,side:"descendant",indent:u.depth*J0,index:r.length,word:u.relation});const i=new Map(r.filter(u=>u.side!=="ancestor").map(u=>[u.node.id,u])),a=[];for(let u=0;u<s;u++){const h=r[u],d=r[u+1];!h?.entry||!d||a.push({fromIndex:u,toIndex:u+1,x:sc,toX:sc,relation:h.entry.relation,synthesized:h.entry.synthesized})}for(const u of r){if(u.side!=="descendant"||!u.entry)continue;const h=i.get(u.entry.parentId)??r[s];h&&a.push({fromIndex:h.index,toIndex:u.index,x:h.indent+sc,toX:u.indent+gg-2,relation:u.entry.relation,synthesized:u.entry.synthesized})}const c=r.length-s-1>Wd?s+1+Wd:null,f=c===null?[]:r.slice(c);return{rows:r,connectors:a,focusIndex:s,foldFrom:c,foldCount:f.length,foldNoun:ew(f.map(u=>u.entry).filter(u=>!!u)),headline:tw(e,t),note:nw(e)}}function ew(e){if(e.length===0)return"subtypes";const t=e.filter(r=>r.relation==="implements").length;return t===e.length?"implementations":t===0?"subclasses":"subtypes"}function tw(e,t){return e.polymorphic?`A call through ${t.name} dispatches to ${e.implementers} implementations — no single static target.`:""}function nw(e){const t=[];return e.descendants.truncated?t.push(`Showing ${e.descendants.shown} of ${e.descendants.total} subtypes`):e.bounded&&t.push("Deeper subtypes exist below the levels walked"),e.ancestors.truncated&&t.push(`${e.ancestors.total-e.ancestors.shown} more supertypes above`),t.join(" · ")}function rw(e,t){const r=t||e.foldFrom===null?e.rows.length:e.foldFrom;return{rows:e.rows.slice(0,r),connectors:e.connectors.filter(o=>o.toIndex<r&&o.fromIndex<r),height:r*bo}}function ow(e){const t=e.fromIndex*bo+bo/2,r=e.toIndex*bo+bo/2;return e.toX<=e.x?`M ${e.x} ${t} L ${e.x} ${r}`:`M ${e.x} ${t} L ${e.x} ${r} L ${e.toX} ${r}`}var sw=N('<p class="headline svelte-1ys4zlw"> </p>'),iw=Yt("<path></path>"),aw=N('<div class="row focus svelte-1ys4zlw"><!> <span class="nm svelte-1ys4zlw"> </span></div>'),Kd=N('<span class="pill svelte-1ys4zlw"> </span>'),lw=N('<button type="button" class="row svelte-1ys4zlw"><!> <span class="nm svelte-1ys4zlw"> </span> <span class="word svelte-1ys4zlw"> </span> <!> <!> <span class="file svelte-1ys4zlw"> </span></button>'),cw=N('<button type="button" class="fold svelte-1ys4zlw"> </button>'),uw=N('<div class="note svelte-1ys4zlw"> </div>'),dw=N('<div class="subh svelte-1ys4zlw"><span>Type hierarchy</span> <span class="n svelte-1ys4zlw"> </span> <span class="hint svelte-1ys4zlw">supertypes above · subtypes below</span></div> <!> <div class="tree svelte-1ys4zlw"><div class="canvas svelte-1ys4zlw"><svg class="wires svelte-1ys4zlw" width="100%" aria-hidden="true"></svg> <!></div></div> <!> <!>',1);function fw(e,t){Ne(t,!0);let r=ae(!1),o=S(()=>$0(t.hierarchy,t.focus)),s=S(()=>rw(n(o),n(r)));et(()=>{t.focus.id,L(r,!1)});let i=S(()=>[t.hierarchy.ancestors.total>0?`${t.hierarchy.ancestors.total} above`:"",t.hierarchy.direct>0?`${t.hierarchy.descendants.total} below`:""].filter(Boolean).join(" · "));function a(D){const j=`${D.node.file}:${D.node.line}`;if(!D.entry)return`${D.node.qualifiedName} — ${j}`;const R=D.entry.synthesized?` — matched by ${D.entry.via??"the resolver"}${D.entry.registeredAt?` at ${D.entry.registeredAt}`:""}`:"";return`${D.node.qualifiedName} — ${j}${R}`}var l=dw(),c=ye(l),f=m(v(c),2),u=v(f),h=m(c,2);{var d=D=>{var j=sw(),R=v(j);P(()=>x(R,n(o).headline)),_(D,j)};V(h,D=>{n(o).headline&&D(d)})}var g=m(h,2),p=v(g);let y;var w=v(p);xe(w,21,()=>n(s).connectors,Kn,(D,j)=>{var R=iw();let z;P(W=>{se(R,"d",W),z=Ce(R,0,"svelte-1ys4zlw",null,z,{dashed:n(j).relation==="implements",synth:n(j).synthesized})},[()=>ow(n(j))]),_(D,R)});var M=m(w,2);xe(M,17,()=>n(s).rows,D=>D.node.id+D.side,(D,j)=>{var R=St(),z=ye(R);{var W=B=>{var k=aw();let b;var E=v(k);Pt(E,{get kind(){return n(j).node.kind}});var q=m(E,2),O=v(q);P(()=>{b=nt(k,"",b,{top:`${n(j).index*bo}px`,"padding-left":`${n(j).indent+18}px`}),x(O,n(j).node.name)}),_(B,k)},H=B=>{var k=lw();let b;var E=v(k);Pt(E,{get kind(){return n(j).node.kind}});var q=m(E,2),O=v(q),K=m(q,2),Y=v(K),G=m(K,2);{var U=F=>{var J=Kd(),te=v(J);P(()=>{se(J,"title",n(j).entry.registeredAt??""),x(te,`via ${n(j).entry.via??"resolver"??""}`)}),_(F,J)};V(G,F=>{n(j).entry?.synthesized&&F(U)})}var X=m(G,2);{var $=F=>{var J=Kd(),te=v(J);P(()=>x(te,`+${n(j).entry.hiddenSubtypes??""} below`)),_(F,J)};V(X,F=>{n(j).entry&&n(j).entry.hiddenSubtypes>0&&F($)})}var Z=m(X,2),Q=v(Z);P(F=>{se(k,"title",F),b=nt(k,"",b,{top:`${n(j).index*bo}px`,"padding-left":`${n(j).indent+18}px`}),x(O,n(j).node.name),x(Y,n(j).word),x(Q,n(j).node.file===t.focus.file?"same file":n(j).node.file)},[()=>a(n(j))]),ke("click",k,()=>t.onopen(n(j).node)),_(B,k)};V(z,B=>{n(j).side==="focus"?B(W):B(H,-1)})}_(D,R)});var I=m(g,2);{var C=D=>{var j=cw(),R=v(j);P(()=>x(R,n(r)?"Fold":`+${n(o).foldCount} more ${n(o).foldNoun}`)),ke("click",j,()=>L(r,!n(r))),_(D,j)};V(I,D=>{n(o).foldFrom!==null&&D(C)})}var T=m(I,2);{var A=D=>{var j=uw(),R=v(j);P(()=>x(R,n(o).note)),_(D,j)};V(T,D=>{n(o).note&&D(A)})}P(()=>{x(u,n(i)),y=nt(p,"",y,{height:`${n(s).height}px`}),se(w,"height",n(s).height)}),_(e,l),Ie()}mt(["click"]);const vw=new Set(["other","ident","comment","string","keyword","number","type","def"]);function hw(e,t){const r=[];let o=0;for(const[s,i]of e){const a=t[s];r.push({cls:vw.has(a)?a:"other",text:i,col:o}),o+=i.length}return r}function gw(e){const t=[],r=/[A-Za-z_$À-￿][\w$À-￿]*/g;let o=0,s;for(;(s=r.exec(e))!==null;)s.index>o&&t.push({cls:"other",text:e.slice(o,s.index),col:o}),t.push({cls:"ident",text:s[0],col:s.index}),o=s.index+s[0].length;return o<e.length&&t.push({cls:"other",text:e.slice(o),col:o}),t}function sl(e,t,r){const o=new Map;for(let s=0;s<e.length;s++){const i=r?.lines[s];o.set(t+s,i?hw(i,r.classes):gw(e[s]))}return o}function qu(e){switch(e){case"comment":return"t-c";case"string":return"t-s";case"keyword":return"t-k";case"number":return"t-n";case"def":return"t-def";default:return null}}var Yd=N('<div class="gap svelte-ikg4h3"> </div>'),pw=N('<span role="link" tabindex="0"> </span>'),mw=N('<span class="ref stub svelte-ikg4h3"> </span>'),_w=N('<span class="t-def svelte-ikg4h3"> </span>'),yw=N("<span> </span>"),ww=N("<i></i>"),bw=N('<div><span class="no svelte-ikg4h3"> </span> <span class="tx svelte-ikg4h3"></span> <span class="port svelte-ikg4h3"><!></span></div>'),xw=N("<!> <!>",1),kw=N('<div class="code svelte-ikg4h3"><!> <!></div>');function Ew(e,t){Ne(t,!0);let r=S(()=>t.block.windows.map((u,h)=>({gapBefore:h===0?0:t.block.gapsAfter[h-1]??0,lines:u.lines.map((d,g)=>{const p=u.start+g,y=t.tokens.get(p)??[{cls:"other",text:d,col:0}],w=t.refs.get(p)??[],M=ol(y,w);return{n:p,parts:o(y,M,p===t.defLine?t.defName:null),port:s(w),targets:[...new Set(w.map(I=>I.targetId).filter(I=>!!I))]}})})));function o(u,h,d){return u.map((g,p)=>{const y=h.get(p)??null;return{text:g.text,cls:y?null:qu(g.cls),ref:y,def:!y&&d!==null&&g.text===d&&g.cls!=="comment"&&g.cls!=="string"}})}function s(u){return u.length===0?null:u.some(h=>!h.uncertain&&!h.outside)?"sure":"unsure"}function i(u){return u.n===t.highlight||u.targets.some(h=>kt.is(h))}var a=kw(),l=v(a);xe(l,17,()=>n(r),u=>u.lines[0]?.n??-1,(u,h)=>{var d=xw(),g=ye(d);{var p=w=>{var M=Yd(),I=v(M);P(()=>x(I,`⋯ ${n(h).gapBefore??""} lines without calls`)),_(w,M)};V(g,w=>{n(h).gapBefore>0&&w(p)})}var y=m(g,2);xe(y,17,()=>n(h).lines,w=>w.n,(w,M)=>{var I=bw();let C;var T=v(I),A=v(T),D=m(T,2);xe(D,21,()=>n(M).parts,Kn,(W,H)=>{var B=St(),k=ye(B);{var b=Y=>{const G=S(()=>n(H).ref);var U=pw();let X;var $=v(U);P(Z=>{X=Ce(U,1,"ref svelte-ikg4h3",null,X,Z),se(U,"title",n(G).title),x($,n(H).text)},[()=>({uncertain:n(G).uncertain,hot:kt.is(n(G).targetId)})]),ke("click",U,()=>t.onfollow(n(G))),ke("keydown",U,Z=>{(Z.key==="Enter"||Z.key===" ")&&(Z.preventDefault(),t.onfollow(n(G)))}),Ge("mouseenter",U,()=>kt.set(n(G).targetId)),Ge("mouseleave",U,()=>kt.clear(n(G).targetId)),_(Y,U)},E=Y=>{var G=mw(),U=v(G);P(()=>{se(G,"title",n(H).ref.title),x(U,n(H).text)}),_(Y,G)},q=Y=>{var G=_w(),U=v(G);P(()=>x(U,n(H).text)),_(Y,G)},O=Y=>{var G=yw(),U=v(G);P(()=>{Ce(G,1,zo(n(H).cls),"svelte-ikg4h3"),x(U,n(H).text)}),_(Y,G)},K=Y=>{var G=wt();P(()=>x(G,n(H).text)),_(Y,G)};V(k,Y=>{n(H).ref&&!n(H).ref.outside?Y(b):n(H).ref?Y(E,1):n(H).def?Y(q,2):n(H).cls?Y(O,3):Y(K,-1)})}_(W,B)});var j=m(D,2),R=v(j);{var z=W=>{var H=ww();let B;P(()=>B=Ce(H,1,"svelte-ikg4h3",null,B,{sure:n(M).port==="sure"})),_(W,H)};V(R,W=>{n(M).port&&W(z)})}P(W=>{C=Ce(I,1,"ln svelte-ikg4h3",null,C,W),se(I,"data-line",n(M).n),x(A,n(M).n)},[()=>({hot:i(n(M))})]),_(w,I)}),_(u,d)});var c=m(l,2);{var f=u=>{var h=Yd(),d=v(h);P(()=>x(d,`⋯ ${t.block.tailGap??""} more lines`)),_(u,h)};V(c,u=>{t.block.tailGap>0&&u(f)})}_(e,a),Ie()}mt(["click","keydown"]);var Sw=N('<span class="sep svelte-f6j7rg">›</span>'),Mw=N('<!><button type="button" class="svelte-f6j7rg"> </button>',1),Tw=N('<div class="parents mono svelte-f6j7rg">in <!></div>'),Cw=N('<span class="badge svelte-f6j7rg">exported</span>'),Nw=N('<span class="badge hub svelte-f6j7rg" title="Changing this reaches a lot of the repo"> </span>'),Iw=N('<div class="sig svelte-f6j7rg"> </div>'),Aw=N('<div class="doc svelte-f6j7rg"> </div>'),Pw=N(' <button type="button" class="chip svelte-f6j7rg"> </button>',1),Ow=N('<span class="svelte-f6j7rg"></span>'),Xd=N('<button type="button" class="chip svelte-f6j7rg"> </button>'),Lw=N('<span class="svelte-f6j7rg"> <!></span>'),Dw=N('<span class="dim"> </span>'),Rw=N('<span class="svelte-f6j7rg">uses types <!> <!></span>'),zw=N('<div class="rel svelte-f6j7rg"><!> <!> <!></div>'),Hw=N('<div class="card-h svelte-f6j7rg"><!> <h1 class="svelte-f6j7rg"> </h1> <span class="kindword svelte-f6j7rg"> </span> <span class="loc mono svelte-f6j7rg"><a class="svelte-f6j7rg"> </a> </span></div> <!> <div class="badges svelte-f6j7rg"><!> <!> <span><span class="sw svelte-f6j7rg"></span> </span></div> <!> <!> <!>',1);function qw(e,t){Ne(t,!0);let r=Ee(t,"relationChips",3,!0),o=S(()=>t.payload.node),s=S(()=>t.payload.tests),i=S(()=>r()?t.payload.outgoing.items.filter(X=>X.edgeKinds.some($=>$==="extends"||$==="implements")):[]),a=S(()=>r()?t.payload.incoming.items.filter(X=>X.edgeKinds.some($=>$==="extends"||$==="implements")):[]);const l=12;let c=S(()=>t.payload.typesUsed.slice(0,l));function f(X){return X.edgeKinds.includes("implements")?"implements":"extends"}let u=S(()=>n(s).reached?{warn:!1,text:`Reached by tests · ${st(n(s).fileCount,"file")} within ${n(s).hopsSearched} hop${n(s).hopsSearched===1?"":"s"}`,title:n(s).files.join(", ")}:{warn:!0,text:n(s).exhaustive?`No test reaches this within ${n(s).hopsSearched} caller hops`:"No test calls this directly",title:n(s).exhaustive?"No test file reaches this symbol within the caller hops searched.":"The caller search ran out of budget — only direct callers were checked."});var h=Hw(),d=ye(h),g=v(d);Pt(g,{get kind(){return n(o).kind},titled:!0});var p=m(g,2),y=v(p),w=m(p,2),M=v(w),I=m(w,2),C=v(I),T=v(C),A=m(C),D=m(d,2);{var j=X=>{var $=Tw(),Z=m(v($));xe(Z,19,()=>t.payload.ancestors,Q=>Q.id,(Q,F,J)=>{var te=Mw(),ie=ye(te);{var ge=ee=>{var ue=Sw();_(ee,ue)};V(ie,ee=>{n(J)>0&&ee(ge)})}var ve=m(ie),re=v(ve);P(()=>x(re,n(F).name)),ke("click",ve,()=>t.onopen(n(F))),_(Q,te)}),_(X,$)};V(D,X=>{t.payload.ancestors.length>0&&X(j)})}var R=m(D,2),z=v(R);{var W=X=>{var $=Cw();_(X,$)};V(z,X=>{n(o).exported&&X(W)})}var H=m(z,2);{var B=X=>{var $=Nw(),Z=v($);P(Q=>x(Z,`hub · ${Q??""}`),[()=>st(t.payload.counts.callers,"caller")]),_(X,$)};V(H,X=>{t.payload.counts.hub&&X(B)})}var k=m(H,2);let b;var E=m(v(k),1,!0),q=m(R,2);{var O=X=>{var $=Iw(),Z=v($);P(()=>x(Z,`${n(o).name??""}${n(o).signature??""}`)),_(X,$)};V(q,X=>{n(o).signature&&X(O)})}var K=m(q,2);{var Y=X=>{var $=Aw(),Z=v($);P(()=>x(Z,n(o).docstring)),_(X,$)};V(K,X=>{n(o).docstring&&X(Y)})}var G=m(K,2);{var U=X=>{var $=zw(),Z=v($);{var Q=ge=>{var ve=Ow();xe(ve,21,()=>n(i),re=>re.node.id,(re,ee)=>{var ue=Pw(),ne=ye(ue),fe=m(ne),he=v(fe);P(ce=>{x(ne,`${ce??""} `),x(he,n(ee).node.name)},[()=>f(n(ee))]),ke("click",fe,()=>t.onopen(n(ee).node)),_(re,ue)}),_(ge,ve)};V(Z,ge=>{n(i).length>0&&ge(Q)})}var F=m(Z,2);{var J=ge=>{var ve=Lw(),re=v(ve),ee=m(re);xe(ee,17,()=>n(a),ue=>ue.node.id,(ue,ne)=>{var fe=Xd(),he=v(fe);P(()=>x(he,n(ne).node.name)),ke("click",fe,()=>t.onopen(n(ne).node)),_(ue,fe)}),P(ue=>x(re,`${ue??""} `),[()=>n(a)[0]?.edgeKinds.includes("implements")?"implemented by":"extended by"]),_(ge,ve)};V(F,ge=>{n(a).length>0&&ge(J)})}var te=m(F,2);{var ie=ge=>{var ve=Rw(),re=m(v(ve));xe(re,17,()=>n(c),ne=>ne.node.id,(ne,fe)=>{var he=Xd(),ce=v(he);P(()=>x(ce,n(fe).node.name)),ke("click",he,()=>t.onopen(n(fe).node)),_(ne,he)});var ee=m(re,2);{var ue=ne=>{var fe=Dw(),he=v(fe);P(()=>x(he,`+${t.payload.typesUsed.length-l}`)),_(ne,fe)};V(ee,ne=>{t.payload.typesUsed.length>l&&ne(ue)})}_(ge,ve)};V(te,ge=>{n(c).length>0&&ge(ie)})}_(X,$)};V(G,X=>{(n(i).length>0||n(a).length>0||n(c).length>0)&&X(U)})}P((X,$,Z)=>{x(y,n(o).name),x(M,X),se(C,"href",$),x(T,n(o).file),x(A,`:${n(o).line??""}–${n(o).endLine??""}
13
+ · ${Z??""}`),b=Ce(k,1,"badge svelte-f6j7rg",null,b,{warn:n(u).warn}),se(k,"title",n(u).title),x(E,n(u).text)},[()=>W1(n(o)),()=>tn(n(o).file,{line:n(o).line}),()=>st(n(o).lines,"line")]),_(e,h),Ie()}mt(["click"]);var jw=N('<div class="drift svelte-lsm7el" role="status"><span class="glyph svelte-lsm7el" aria-hidden="true">⚠</span> <span class="body svelte-lsm7el"><code> </code> changed on disk after the last index sync — <!></span></div>');function Na(e,t){var r=jw(),o=m(v(r),2),s=v(o),i=v(s),a=m(s,2);Nn(a,()=>t.children),P(()=>x(i,t.file)),_(e,r)}let go=ae(null),Xc=ae(null),Zs=null;function Gd(){return Zs||(Zs=r1().then(e=>{L(go,e,!0),L(Xc,null)}).catch(e=>{L(Xc,e instanceof Error?e.message:String(e),!0)}),Zs)}const Pr={get stats(){return n(go)},get error(){return n(Xc)},get name(){return n(go)?.project.name??null},get summary(){if(!n(go))return null;const e=t=>t.toLocaleString();return`${e(n(go).graph.nodes)} symbols · ${e(n(go).graph.edges)} edges · ${e(n(go).graph.files)} files indexed`},ensure:Gd,reload(){return Zs=null,Gd()}};var Fw=N('<p class="dim"> </p>'),Bw=N('<div class="scroll svelte-1cxnzx"><div class="emptystate"><h2> </h2> <p> </p> <!></div></div>'),Vw=N('<div class="scroll svelte-1cxnzx"><div class="emptystate"><p class="dim">Loading…</p></div></div>'),Ww=N(`indexed line ranges may be shifted, and the file is too long to stand in for
14
+ this symbol's body here — <a>open its current source</a>.
15
+ The next sync picks it up.`,1),Kw=N('<div class="banner svelte-1cxnzx"><!></div>'),Yw=N('<div class="note svelte-1cxnzx"> </div>'),Xw=N('<div class="focus svelte-1cxnzx"><aside class="rail-left svelte-1cxnzx" aria-label="Called by"><!></aside> <div class="stage svelte-1cxnzx"><div class="stage-inner svelte-1cxnzx"><!> <section class="center svelte-1cxnzx"><!> <!> <!> <!> <!> <!></section> <aside class="rail-right svelte-1cxnzx" aria-label="Calls"><!></aside></div></div></div>');function Gw(e,t){Ne(t,!0);const r=34,o=6,s=38,i=400,a=new Map;let l=ae(null),c=ae(null),f=ae(null),u=ae(!0),h=ae(null),d=ae(null),g=ae(null),p=ae(null),y=ae(un([])),w=ae(0),M=ae(0),I=ae(0),C=ae(un([])),T=ae(un({width:0,height:0})),A=ae(!1);et(()=>{const de=t.id,me=new AbortController;return Ut(()=>j(de,me.signal)),()=>me.abort()});let D=null;zu(()=>n(l)?.node.file??null,()=>{const de=t.id;D?.abort(),D=new AbortController,j(de,D.signal,!0)});async function j(de,me,Te=!1){Te||(L(u,!0),L(f,null),L(l,null),L(c,null),Hn.reset(),kt.set(null),L(A,!1)),Pr.ensure();let Pe;try{Pe=await o1(de,me)}catch(Le){if(me.aborted)return;if(Te&&z(Le).code==="not-found"&&n(l)!==null){const Re=await R(n(l).node,me);if(me.aborted)return;if(Re!==null){zt.rename(de,Re),Et(cn(Re.id,{trail:zr(zt.hops)}),{replace:!0});return}}L(f,z(Le),!0),L(u,!1);return}if(!me.aborted){if(L(l,Pe,!0),L(f,null),L(u,!1),zt.resolve(de,{name:Pe.node.name,kind:Pe.node.kind}),!Od(Pe.node.kind,Pe.node.lines)){L(c,null);return}try{const Le=Pe.drift?await jc(Pe.node.file,1,0,me,"current"):await jc(Pe.node.file,Pe.node.line,Pe.node.endLine,me);me.aborted||L(c,Le,!0)}catch{me.aborted||L(c,null)}}}async function R(de,me){try{const Pe=(await Yh(de.file,me)).outline.items.filter(Le=>Le.name===de.name&&Le.kind===de.kind);return Pe.length===0?null:Pe.reduce((Le,Re)=>Math.abs(Re.line-de.line)<Math.abs(Le.line-de.line)?Re:Le)}catch{return null}}function z(de){return de instanceof Yn?de:new Yn(0,"error",de instanceof Error?de.message:String(de),null)}let W=S(()=>n(l)?B1(n(l)):null),H=S(()=>n(l)?F1(n(l)):null),B=S(()=>n(l)?H1(n(l)):new Map),k=S(()=>n(l)?V1(n(l)):[]),b=S(()=>n(l)?Od(n(l).node.kind,n(l).node.lines):!1),E=S(()=>n(c)?.showing==="current"),q=S(()=>n(l)?.drift===!0&&(n(c)===null||(n(c).totalLines??0)>i)),O=S(()=>{if(!n(l)||!n(c)?.lines)return null;if(n(E))return n(q)?null:Pd(n(c).from??1,n(c).lines,[]);const de=n(c).from??n(l).node.line;return Pd(de,n(c).lines,q1(n(l)))}),K=S(()=>n(c)?.lines?sl(n(c).lines,n(c).from??1,n(c).highlight):new Map),Y=S(my),G=S(()=>n(Y)?.rail==="left"?n(Y).id:null),U=S(()=>n(Y)?.rail==="right"?n(Y).id:null),X=S(()=>n(l)?n(b)?"This symbol makes no resolved calls — a leaf.":`A ${n(l).node.kind.replace(/_/g," ")} makes no calls itself — its members do. Open one from the outline.`:"");function $(de){hr(de,"down")}function Z(de,me){hr(de,"up",me)}function Q(de){hr(de,"start")}function F(de){if(!de.targetId)return;const me=n(l)?.outgoing.items.find(Te=>Te.node.id===de.targetId)?.node??n(l)?.typesUsed.find(Te=>Te.node.id===de.targetId)?.node;me&&hr(me,"down")}function J(){return(n(W)?.groups??[]).flatMap(de=>de.rows.map(me=>me.relation.node))}function te(){return(n(H)?.rows??[]).map(de=>de.relation.node)}function ie(){return Hn.rail==="left"?J():te()}function ge(de){if(de.defaultPrevented||de.metaKey||de.ctrlKey||de.altKey)return;const me=de.target;if(!(me instanceof HTMLElement&&(me.isContentEditable||me instanceof HTMLInputElement||me instanceof HTMLTextAreaElement||me instanceof HTMLSelectElement))&&n(l)){switch(de.key){case"ArrowLeft":Hn.switchTo("left");break;case"ArrowRight":Hn.switchTo("right");break;case"ArrowDown":case"j":Hn.step(1,ie().length);break;case"ArrowUp":case"k":Hn.step(-1,ie().length);break;case"Enter":{const Te=ie()[Hn.index];Te&&(de.preventDefault(),Hn.rail==="left"?Z(Te):$(Te));return}default:return}de.preventDefault(),Ea().then(()=>{(Hn.rail==="left"?n(p):n(g))?.querySelectorAll('[role="button"]')[Hn.index]?.scrollIntoView({block:"nearest"})})}}function ve(){const de=n(h),me=n(d),Te=n(g),Pe=n(H)?.rows??[];if(!de||!me||!Te)return;const Le=Te.querySelector("[data-rail-header]")?.offsetHeight??s,Re=!n(E),Be=Fe=>{if(!Re)return null;const Xe=me.querySelector(`[data-line="${Fe}"]`);return Xe?Xe.offsetTop+Xe.offsetHeight/2:null};let je=Le+14;const tt=[],Ze=[];for(const Fe of Pe){const Xe=Fe.anchor!==null?Be(Fe.anchor):null,dt=Xe!==null?Xe-r/2:je;je=Math.max(dt,je),tt.push(je),Ze.push(je+r/2),je+=r+o}const at=je+8;if((n(H)?.uncertain.length??0)>0){const Fe=Te.querySelector("[data-rail-fold]");je=at+(Fe?.offsetHeight??30)}const Ye=je+14;L(y,tt,!0),L(w,at),L(M,Ye),L(I,Math.max(me.offsetHeight,Ye+60),!0);const le=me.offsetLeft+me.offsetWidth-10,oe=Te.offsetLeft+14,_e=(le+oe)/2,Me=[];Pe.forEach((Fe,Xe)=>{const dt=Ze[Xe];if(dt==null)return;const Ct=Ci(Fe.relation);for(const Ht of Fe.lines){const At=Be(Ht);At!==null&&Me.push({d:`M${le},${At} C${_e},${At} ${_e},${dt} ${oe},${dt}`,targetId:Fe.relation.node.id,uncertain:Fe.relation.uncertain,heuristic:Ct!==null,origin:Fe.relation.node.id===n(U)})}}),L(C,Me,!0),L(T,{width:de.scrollWidth,height:Math.max(de.offsetHeight,n(I))},!0),L(A,!0)}let re=!1;function ee(){re||(re=!0,requestAnimationFrame(()=>{re=!1,ve()}))}et(()=>{n(O),n(H),n(k),n(l),Ea().then(ee)}),et(()=>{const de=n(h),me=n(d),Te=n(g);if(!de||!me||!Te)return;const Pe=new ResizeObserver(ee);return Pe.observe(de),Pe.observe(me),Pe.observe(Te),de.addEventListener("toggle",ee,!0),document.fonts?.ready.then(ee),()=>{Pe.disconnect(),de.removeEventListener("toggle",ee,!0)}});let ue=null;et(()=>{const de=t.line===null?null:`${t.id}:${t.line}`,me=n(d);if(!de||!me||!n(O)||ue===de)return;const Te=me.querySelector(`[data-line="${t.line}"]`);Te&&(ue=de,Te.scrollIntoView({block:"center"}))});var ne=St();Ge("keydown",fn,ge);var fe=ye(ne);{var he=de=>{var me=Bw(),Te=v(me),Pe=v(Te),Le=v(Pe),Re=m(Pe,2),Be=v(Re),je=m(Re,2);{var tt=Ze=>{var at=Fw(),Ye=v(at);P(()=>x(Ye,n(f).guidance)),_(Ze,at)};V(je,Ze=>{n(f).guidance&&Ze(tt)})}P(()=>{x(Le,n(f).code==="not-found"?"No such symbol":"Could not load this symbol"),x(Be,n(f).message)}),_(de,me)},ce=de=>{var me=Vw();_(de,me)},we=de=>{var me=Xw(),Te=v(me),Pe=v(Te);{let be=S(()=>n(l).node.exported===!0);R0(Pe,{get model(){return n(W)},get originId(){return n(G)},get exported(){return n(be)},onstepUp:Z})}Wt(Te,be=>L(p,be),()=>n(p));var Le=m(Te,2),Re=v(Le);let Be;var je=v(Re);hg(je,{get connectors(){return n(C)},get width(){return n(T).width},get height(){return n(T).height}});var tt=m(je,2),Ze=v(tt);{let be=S(()=>!n(l).hierarchy);qw(Ze,{get payload(){return n(l)},onopen:Q,get relationChips(){return n(be)}})}var at=m(Ze,2);{var Ye=be=>{var qe=Kw(),He=v(qe);Na(He,{get file(){return n(l).node.file},children:(Lt,qt)=>{var Ue=St(),Je=ye(Ue);{var ft=_t=>{var bt=Ww(),dn=m(ye(bt));P(Qt=>se(dn,"href",Qt),[()=>tn(n(l).node.file,{source:!0})]),_(_t,bt)},Mt=_t=>{var bt=wt(`indexed line ranges may be shifted; showing the file's current source. The next
16
+ sync picks it up.`);_(_t,bt)};V(Je,_t=>{n(q)?_t(ft):_t(Mt,-1)})}_(Lt,Ue)}}),_(be,qe)};V(at,be=>{n(l).drift&&be(Ye)})}var le=m(at,2);{var oe=be=>{fw(be,{get hierarchy(){return n(l).hierarchy},get focus(){return n(l).node},onopen:Q})};V(le,be=>{n(l).hierarchy&&be(oe)})}var _e=m(le,2);{var Me=be=>{{let qe=S(()=>n(E)?a:n(B)),He=S(()=>n(E)?-1:n(l).node.line),Lt=S(()=>n(E)?"":n(l).node.name),qt=S(()=>n(E)?null:t.line);Ew(be,{get block(){return n(O)},get tokens(){return n(K)},get refs(){return n(qe)},get defLine(){return n(He)},get defName(){return n(Lt)},get highlight(){return n(qt)},onfollow:F})}},Fe=be=>{},Xe=be=>{},dt=be=>{var qe=Yw(),He=v(qe);P(()=>x(He,n(c).reason??"Source is not available for this symbol.")),_(be,qe)};V(_e,be=>{n(O)?be(Me):n(l).drift?be(Fe,1):n(b)?n(c)&&be(dt,3):be(Xe,2)})}var Ct=m(_e,2);{var Ht=be=>{Q0(be,{get rows(){return n(k)},get total(){return n(l).members.total},get truncated(){return n(l).members.truncated},onopen:Q})};V(Ct,be=>{n(k).length>0&&be(Ht)})}var At=m(Ct,2);{var rt=be=>{{let qe=S(()=>Pr.stats?.blastScale??null);Y0(be,{get blast(){return n(l).blast},get scale(){return n(qe)},get testCalls(){return n(W).tests.calls},get testFiles(){return n(W).tests.files.length}})}};V(At,be=>{n(l).blast&&be(rt)})}Wt(tt,be=>L(d,be),()=>n(d));var ct=m(tt,2),ze=v(ct);S0(ze,{get model(){return n(H)},get tops(){return n(y)},get foldTop(){return n(w)},get noteTop(){return n(M)},get placed(){return n(A)},get focalFile(){return n(l).node.file},get originId(){return n(U)},get emptyReason(){return n(X)},onstepDown:$}),Wt(ct,be=>L(g,be),()=>n(g)),Wt(Re,be=>L(h,be),()=>n(h)),P(()=>Be=nt(Re,"",Be,{"min-height":`${n(I)}px`})),_(de,me)};V(fe,de=>{n(f)?de(he):n(u)||!n(l)||!n(W)||!n(H)?de(ce,1):de(we,-1)})}_(e,ne),Ie()}const Zw=new Set(["property","field","enum_member","variable","constant"]),pg=250,Yr=28;function Uw(e){return e?e.symbols.filter(t=>t.kind!=="file"):[]}function Zd(e,t,r=[]){const o=new Map(t.map(a=>[a.file,a])),s=[...new Set(e)].map(a=>{const l=o.get(a),c=Uw(l);return{path:a,test:l?.test??Qw(a),imported:l!==void 0,symbols:c,symbolCount:c.length}});s.sort((a,l)=>Number(a.test)-Number(l.test)||a.path.localeCompare(l.path));const i=new Map;for(const a of r){const l=i.get(a.name);l?l.push(a.line):i.set(a.name,[a.line])}return{rows:s,total:s.length,testCount:s.filter(a=>a.test).length,outside:[...i.entries()].map(([a,l])=>({name:a,lines:[...l].sort((c,f)=>c-f)})).sort((a,l)=>a.name.localeCompare(l.name))}}function Qw(e){return/(^|\/)(__tests__|__mocks__|__fixtures__|tests?|spec|fixtures)(\/|$)/.test(e)||/\.(test|spec)\.[a-z0-9]+$/i.test(e)}function Jw(e){return e.outline.items.map(t=>({entry:t,indent:Math.min(t.depth,3),dimmed:Zw.has(t.kind)}))}function mg(e){return!Number.isFinite(e)||e<0?"—":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function $w(e){const t=[e.file.language,mg(e.file.size)];return t.push(`${e.outline.total} ${e.outline.total===1?"symbol":"symbols"}`),e.file.generated&&t.push("generated"),e.file.test&&t.push("test"),t.join(" · ")}var Ud=N("<div></div>"),eb=N('<button type="button"><!> <span class="nm svelte-3o11pb"> </span> <span class="sig svelte-3o11pb"> </span> <span class="cnt svelte-3o11pb"> <!><!></span></button>'),tb=N(`<div class="note svelte-3o11pb">Nothing was extracted from this file — it holds no symbols the graph
17
+ recognises, only top-level code, or a language without an extractor.</div>`),nb=N('<div class="note svelte-3o11pb"> </div>'),rb=N('<div class="subh svelte-3o11pb"><span>Outline</span> <span class="n svelte-3o11pb">in source order</span> <span class="n count svelte-3o11pb"> </span></div> <div class="outline svelte-3o11pb"><!> <!> <!></div> <!> <!>',1);function ob(e,t){Ne(t,!0);let r=Ee(t,"scroller",7),o=Ee(t,"selected",19,()=>-1),s=ae(null),i=ae(0),a=ae(0),l=S(()=>t.rows.length>pg),c=S(()=>{if(!n(l))return{start:0,end:t.rows.length,before:0,after:0};const j=n(s)?n(s).offsetTop:0,R=Math.floor((n(i)-j)/Yr)-8,z=Math.ceil((n(a)||800)/Yr)+16,W=Math.max(0,Math.min(t.rows.length-1,R)),H=Math.max(W,Math.min(t.rows.length,W+z));return{start:W,end:H,before:W*Yr,after:(t.rows.length-H)*Yr}});et(()=>{if(o()<0||!r()||!n(s))return;const j=n(s).offsetTop+o()*Yr,R=j+Yr;j<r().scrollTop?r().scrollTop=j-Yr:R>r().scrollTop+r().clientHeight&&(r().scrollTop=R-r().clientHeight+Yr)}),et(()=>{const j=r();if(!j)return;const R=()=>{L(i,j.scrollTop,!0),L(a,j.clientHeight,!0)};R(),j.addEventListener("scroll",R,{passive:!0});const z=new ResizeObserver(R);return z.observe(j),()=>{j.removeEventListener("scroll",R),z.disconnect()}});var f=rb(),u=ye(f),h=m(v(u),4),d=v(h),g=m(u,2),p=v(g);{var y=j=>{var R=Ud();let z;P(()=>z=nt(R,"",z,{height:`${n(c).before}px`})),_(j,R)};V(p,j=>{n(c).before>0&&j(y)})}var w=m(p,2);xe(w,19,()=>t.rows.slice(n(c).start,n(c).end),j=>j.entry.id,(j,R,z)=>{const W=S(()=>n(c).start+n(z));var H=eb();let B,k;var b=v(H);Pt(b,{get kind(){return n(R).entry.kind}});var E=m(b,2),q=v(E),O=m(E,2),K=v(O),Y=m(O,2),G=v(Y),U=m(G);{var X=Q=>{var F=wt();P(()=>x(F,` · ← ${n(R).entry.fanIn??""}`)),_(Q,F)};V(U,Q=>{n(R).entry.fanIn&&Q(X)})}var $=m(U);{var Z=Q=>{var F=wt();P(()=>x(F,` ·
18
+ → ${n(R).entry.fanOut??""}`)),_(Q,F)};V($,Q=>{n(R).entry.fanOut&&Q(Z)})}P(()=>{B=Ce(H,1,"orow svelte-3o11pb",null,B,{dimmed:n(R).dimmed,sel:n(W)===o()}),se(H,"title",`${n(R).entry.qualifiedName} — line ${n(R).entry.line}`),k=nt(H,"",k,{"padding-left":`${4+n(R).indent*22}px`}),x(q,n(R).entry.name),x(K,n(R).entry.signature??""),x(G,n(R).entry.line)}),ke("click",H,()=>t.onopen(n(R).entry)),Ge("mouseenter",H,()=>t.onhover?.(n(W))),_(j,H)});var M=m(w,2);{var I=j=>{var R=Ud();let z;P(()=>z=nt(R,"",z,{height:`${n(c).after}px`})),_(j,R)};V(M,j=>{n(c).after>0&&j(I)})}Wt(g,j=>L(s,j),()=>n(s));var C=m(g,2);{var T=j=>{var R=tb();_(j,R)};V(C,j=>{t.rows.length===0&&j(T)})}var A=m(C,2);{var D=j=>{var R=nb(),z=v(R);P(()=>x(z,`Showing ${t.rows.length??""} of ${t.total??""} symbols. The rest are in the index; this
19
+ screen caps what it draws.`)),_(j,R)};V(A,j=>{t.truncated&&j(D)})}P(()=>x(d,t.total)),_(e,f),Ie()}mt(["click"]);var sb=N('<div class="note svelte-122bwap"> </div>'),Qd=N('<span class="n2 svelte-122bwap"> </span>'),ib=N('<a><span class="p svelte-122bwap"><span class="dir svelte-122bwap"> </span><span class="base svelte-122bwap"> </span></span> <!></a>'),ab=N('<div class="note dim svelte-122bwap"> </div>'),lb=N('<div class="filerow outside svelte-122bwap"><span class="p svelte-122bwap"><span class="dir svelte-122bwap"> </span></span> <!></div>'),cb=N(`<div class="sub svelte-122bwap">Outside the index <span class="n svelte-122bwap"> </span></div> <!> <div class="note dim svelte-122bwap">Packages and runtime modules — nothing was indexed for them, so this
20
+ viewer cannot open them.</div>`,1),ub=N('<div><div class="rail-h svelte-122bwap"><span> <span class="n svelte-122bwap"> </span></span></div> <!> <!> <!> <!></div>');function Jd(e,t){Ne(t,!0);let r=Ee(t,"selected",19,()=>-1);function o(T){const A=T.lastIndexOf("/");return A<0?"":T.slice(0,A+1)}function s(T){return T.slice(T.lastIndexOf("/")+1)}function i(T){if(T.symbols.length===0)return T.path;const A=T.symbols.map(j=>j.name).join(", "),D=T.symbolCount>T.symbols.length?", …":"";return`${T.path} — ${A}${D}`}var a=ub();let l;var c=v(a),f=v(c),u=v(f),h=m(u),d=v(h),g=m(c,2);{var p=T=>{var A=sb(),D=v(A);P(()=>x(D,t.emptyNote)),_(T,A)};V(g,T=>{t.model.rows.length===0&&T(p)})}var y=m(g,2);xe(y,19,()=>t.model.rows,T=>T.path,(T,A,D)=>{var j=ib();let R;var z=v(j),W=v(z),H=v(W),B=m(W),k=v(B),b=m(z,2);{var E=q=>{var O=Qd(),K=v(O);P(()=>x(K,n(A).symbolCount)),_(q,O)};V(b,q=>{n(A).symbolCount>0&&q(E)})}P((q,O,K,Y)=>{R=Ce(j,1,"filerow svelte-122bwap",null,R,{test:n(A).test,sel:n(D)===r()}),se(j,"href",q),se(j,"title",O),x(H,K),x(k,Y)},[()=>tn(n(A).path),()=>i(n(A)),()=>o(n(A).path),()=>s(n(A).path)]),Ge("mouseenter",j,()=>t.onhover?.(n(D))),_(T,j)});var w=m(y,2);{var M=T=>{var A=ab(),D=v(A);P(j=>x(D,`${j??""} at the end of the list.`),[()=>st(t.model.testCount,"test file")]),_(T,A)};V(w,T=>{t.model.testCount>0&&t.model.testCount<t.model.rows.length&&T(M)})}var I=m(w,2);{var C=T=>{var A=cb(),D=ye(A),j=m(v(D)),R=v(j),z=m(D,2);xe(z,17,()=>t.model.outside,W=>W.name,(W,H)=>{var B=lb(),k=v(B),b=v(k),E=v(b),q=m(k,2);{var O=K=>{var Y=Qd(),G=v(Y);P(()=>x(G,`×${n(H).lines.length??""}`)),_(K,Y)};V(q,K=>{n(H).lines.length>1&&K(O)})}P(K=>{se(B,"title",K),x(E,n(H).name)},[()=>`imported at line ${n(H).lines.join(", ")}`]),_(W,B)}),P(()=>x(R,t.model.outside.length)),_(T,A)};V(I,T=>{t.model.outside.length>0&&T(C)})}P(()=>{l=Ce(a,1,"rail svelte-122bwap",null,l,{right:t.side==="right"}),se(a,"aria-label",t.title),x(u,`${t.title??""} `),x(d,t.model.total)}),_(e,a),Ie()}var db=N('<nav class="modes svelte-a9lqu6" aria-label="File view mode"><a>Outline</a> <a>Source</a></nav>');function _g(e,t){Ne(t,!0);var r=db(),o=v(r);let s;var i=m(o,2);let a;P((l,c)=>{s=Ce(o,1,"mode svelte-a9lqu6",null,s,{on:!t.source}),se(o,"href",l),se(o,"aria-current",t.source?void 0:"page"),a=Ce(i,1,"mode svelte-a9lqu6",null,a,{on:t.source}),se(i,"href",c),se(i,"aria-current",t.source?"page":void 0)},[()=>tn(t.path,t.line?{line:t.line}:{}),()=>tn(t.path,{source:!0,...t.line?{line:t.line}:{}})]),_(e,r),Ie()}var fb=N('<p class="dim"> </p>'),vb=N('<div class="scroll svelte-1dtvc8r"><div class="emptystate"><h2> </h2> <p class="mono"> </p> <p> </p> <!></div></div>'),hb=N('<div class="scroll svelte-1dtvc8r"><div class="emptystate"><p class="dim">Loading…</p></div></div>'),gb=N('<span class="badge svelte-1dtvc8r"> <button type="button" class="linkish svelte-1dtvc8r">see what it calls</button></span>'),pb=N('<span class="badge svelte-1dtvc8r">generated</span>'),mb=N('<span class="badge warn svelte-1dtvc8r"> </span>'),_b=N(`indexed line ranges may be shifted, so the outline below is the shape the file had
21
+ when it was indexed — <a>read its current source</a>.
22
+ The next sync picks it up.`,1),yb=N('<div class="banner svelte-1dtvc8r"><!></div>'),wb=N('<div class="fileview svelte-1dtvc8r"><div class="pane svelte-1dtvc8r" data-pane="left"><!></div> <section class="center svelte-1dtvc8r"><div class="card-h svelte-1dtvc8r"><!> <h1> </h1> <span class="kindword svelte-1dtvc8r"> </span> <span class="loc svelte-1dtvc8r"> </span> <div class="spacer svelte-1dtvc8r"></div> <!></div> <div class="badges svelte-1dtvc8r"><!> <!> <!></div> <!> <!></section> <div class="pane svelte-1dtvc8r" data-pane="right"><!></div></div>');function bb(e,t){Ne(t,!0);let r=ae(null),o=ae(null),s=ae(!0),i=ae(null),a=null;et(()=>{const W=t.path,H=new AbortController;return Ut(()=>c(W,H.signal)),()=>H.abort()});let l=null;zu(()=>n(r)?.file.path??t.path,()=>{const W=t.path;l?.abort(),l=new AbortController,c(W,l.signal,!0)});async function c(W,H,B=!1){B||(L(s,!0),L(o,null),L(r,null),L(y,"outline"),L(w,-1),a=null);try{const k=await Yh(W,H);if(H.aborted)return;L(r,k,!0),L(o,null)}catch(k){if(H.aborted)return;L(o,k instanceof Yn?k:new Yn(0,"error",k instanceof Error?k.message:String(k),null),!0)}finally{H.aborted||L(s,!1)}}let f=S(()=>n(r)?Jw(n(r)):[]),u=S(()=>n(r)?Zd(n(r).dependents,n(r).importedBy.items):null),h=S(()=>n(r)?Zd(n(r).dependencies,n(r).imports.items,n(r).unresolvedImports):null);function d(W){hr({id:W.id,name:W.name,kind:W.kind},"start")}function g(){const W=n(r)?.file;W?.id&&hr({id:W.id,name:gn(W.path),kind:"file"},"start")}const p=["left","outline","right"];let y=ae("outline"),w=ae(-1);function M(W){return W==="left"?n(u)?.rows.length??0:W==="right"?n(h)?.rows.length??0:n(f).length}function I(){if(n(w)<0)return;if(n(y)==="outline"){const B=n(f)[n(w)];B&&d(B.entry);return}const H=(n(y)==="left"?n(u):n(h))?.rows[n(w)];H&&Et(tn(H.path))}function C(W){const H=p.indexOf(n(y)),B=p[Math.max(0,Math.min(p.length-1,H+W))];!B||B===n(y)||M(B)!==0&&(L(y,B,!0),L(w,0))}function T(W){if(W.defaultPrevented||W.metaKey||W.ctrlKey||W.altKey)return;const H=W.target;if(!(H instanceof HTMLElement&&(H.isContentEditable||H instanceof HTMLInputElement||H instanceof HTMLTextAreaElement||H instanceof HTMLSelectElement))&&n(r)){switch(W.key){case"ArrowLeft":C(-1);break;case"ArrowRight":C(1);break;case"ArrowDown":case"j":L(w,Math.max(0,Math.min(M(n(y))-1,n(w)+1)),!0);break;case"ArrowUp":case"k":L(w,Math.max(0,n(w)-1),!0);break;case"Enter":W.preventDefault(),I();return;default:return}W.preventDefault(),n(y)!=="outline"&&Ea().then(()=>{document.querySelector(n(y)==="left"?'[data-pane="left"]':'[data-pane="right"]')?.querySelectorAll(".filerow")[n(w)]?.scrollIntoView({block:"nearest"})})}}et(()=>{const W=t.line===null?null:`${t.path}:${t.line}`;if(!W||!n(r)||a===W||n(f).length===0)return;let H=-1;n(f).forEach((B,k)=>{B.entry.line<=t.line&&t.line<=B.entry.endLine&&(H=k)}),a=W,!(H<0)&&(L(y,"outline"),L(w,H,!0))});var A=St();Ge("keydown",fn,T);var D=ye(A);{var j=W=>{var H=vb(),B=v(H),k=v(B),b=v(k),E=m(k,2),q=v(E),O=m(E,2),K=v(O),Y=m(O,2);{var G=U=>{var X=fb(),$=v(X);P(()=>x($,n(o).guidance)),_(U,X)};V(Y,U=>{n(o).guidance&&U(G)})}P(()=>{x(b,n(o).code==="not-found"?"Not in the index":"Could not load this file"),x(q,t.path),x(K,n(o).message)}),_(W,H)},R=W=>{var H=hb();_(W,H)},z=W=>{var H=wb(),B=v(H),k=v(B);{let he=S(()=>n(y)==="left"?n(w):-1);Jd(k,{title:"Imported by",get model(){return n(u)},side:"left",get selected(){return n(he)},onhover:ce=>{L(y,"left"),L(w,ce,!0)},emptyNote:"Nothing in the index reaches into this file. It is either an entry point, or nothing depends on it yet."})}var b=m(B,2),E=v(b),q=v(E);Pt(q,{kind:"file"});var O=m(q,2);let K;var Y=v(O),G=m(O,2),U=v(G),X=m(G,2),$=v(X),Z=m(X,4);_g(Z,{get path(){return n(r).file.path},get line(){return t.line},source:!1});var Q=m(E,2),F=v(Q);{var J=he=>{var ce=gb(),we=v(ce),de=m(we);P(me=>x(we,`Runs ${me??""} at the top level — `),[()=>st(n(r).topLevel.calls,"call")]),ke("click",de,g),_(he,ce)};V(F,he=>{n(r).topLevel.calls>0&&he(J)})}var te=m(F,2);{var ie=he=>{var ce=pb();_(he,ce)};V(te,he=>{n(r).file.generated&&he(ie)})}var ge=m(te,2);{var ve=he=>{var ce=mb(),we=v(ce);P(de=>x(we,`${de??""} — the outline may be
23
+ incomplete`),[()=>st(n(r).file.errors.length,"extraction error")]),_(he,ce)};V(ge,he=>{n(r).file.errors.length>0&&he(ve)})}var re=m(Q,2);{var ee=he=>{var ce=yb(),we=v(ce);Na(we,{get file(){return n(r).file.path},children:(de,me)=>{var Te=_b(),Pe=m(ye(Te));P(Le=>se(Pe,"href",Le),[()=>tn(n(r).file.path,{source:!0})]),_(de,Te)}}),_(he,ce)};V(re,he=>{n(r).drift&&he(ee)})}var ue=m(re,2);{let he=S(()=>n(y)==="outline"?n(w):-1);ob(ue,{get rows(){return n(f)},get total(){return n(r).outline.total},get truncated(){return n(r).outline.truncated},get scroller(){return n(i)},get selected(){return n(he)},onopen:d,onhover:ce=>{L(y,"outline"),L(w,ce,!0)}})}Wt(b,he=>L(i,he),()=>n(i));var ne=m(b,2),fe=v(ne);{let he=S(()=>n(y)==="right"?n(w):-1);Jd(fe,{title:"Imports",get model(){return n(h)},side:"right",get selected(){return n(he)},onhover:ce=>{L(y,"right"),L(w,ce,!0)},emptyNote:"This file reaches nothing else in the index — it depends on nothing the graph holds."})}P((he,ce)=>{K=Ce(O,1,"svelte-1dtvc8r",null,K,{gen:n(r).file.generated}),x(Y,he),x(U,ce),x($,n(r).file.path)},[()=>gn(n(r).file.path),()=>$w(n(r))]),_(W,H)};V(D,W=>{n(o)?W(j):n(s)||!n(r)||!n(h)||!n(u)?W(R,1):W(z,-1)})}_(e,A),Ie()}mt(["click"]);const ls=20,Ni=10,yg=120,hi=56,Ia=34,xb=6,Xr=24,kb=24,Gc=800,Eb=150,Sb=40,$d=7,Mb=hi-8;function ju(e){return Ni+(e-1)*ls}function Aa(e){return ju(e)+ls/2}function Tb(e){return Ni+Math.max(0,e)*ls+yg}function Cb(e,t){if(t<=0)return 1;const r=Math.floor((e-Ni)/ls)+1;return Math.max(1,Math.min(t,r))}function Nb(e,t,r,o=kb){if(r<=0)return{first:1,last:0};const s=Math.floor((e-Ni)/ls)+1-o,i=Math.ceil((t||800)/ls)+o*2,a=Math.max(1,Math.min(r,s));return{first:a,last:Math.max(a-1,Math.min(r,a+i))}}function ef(e){return Math.floor((e-1)/Gc)}function Ib(e,t){const r=e*Gc+1;return{index:e,from:r,to:Math.min(t,r+Gc-1),requestFrom:Math.max(1,r-Eb)}}function Ab(e,t,r){if(r<=0||t<e)return[];const o=[];for(let s=ef(Math.max(1,e));s<=ef(Math.min(r,t));s++)o.push(s);return o}function tf(e,t){let r=null;for(const o of e){if(o.line>t)break;t<=o.endLine&&(r=o.id)}return r}function Pb(e){const t=new Map,r=(o,s)=>{const i=t.get(o);i?i.push(s):t.set(o,[s])};for(const o of e.calls.items){const s=o.relation,i=Ou(s.node.name),a=rl(s),l=new Set;for(const c of s.edges)c.line&&(l.add(c.line),r(c.line,{ident:i,col:typeof c.col=="number"?c.col:null,targetId:s.node.id,uncertain:s.uncertain,outside:!1,title:`${a[0]||"calls"} ${s.node.qualifiedName} — ${s.node.file}:${s.node.line}`+(c.confidence!=null?` · confidence ${c.confidence}`:"")+(c.resolvedBy?` · resolved by ${c.resolvedBy}`:"")}));for(const c of s.lines)l.has(c)||r(c,{ident:i,col:null,targetId:s.node.id,uncertain:s.uncertain,outside:!1,title:`${a[0]||"calls"} ${s.node.qualifiedName} — ${s.node.file}:${s.node.line}`})}for(const o of e.outside.items)r(o.line,Ob(o));return t}function Ob(e){return{ident:e.name,col:e.col,targetId:null,uncertain:!1,outside:!0,title:`${e.name} is not in the index — nothing here resolves it`}}function Lb(e){const t=e.calls.items.map(o=>({key:`${o.ownerId}>${o.relation.node.id}`,ownerId:o.ownerId,call:o,anchor:o.relation.lines[0]??null,lines:o.relation.lines,words:rl(o.relation),via:Ci(o.relation),top:0}));t.sort((o,s)=>(o.anchor??Number.MAX_SAFE_INTEGER)-(s.anchor??Number.MAX_SAFE_INTEGER)||o.call.ownerLine-s.call.ownerLine||o.call.relation.node.name.localeCompare(s.call.relation.node.name));let r=Ni;for(const o of t){const s=o.anchor===null?r:Aa(o.anchor)-Ia/2;r=Math.max(s,r),o.top=r,r+=Ia+xb}return t}function Db(e,t,r){const o=[];for(const s of e){if(s.top>r)break;s.top+Ia>=t&&o.push(s)}return o}function Rb(e){const t=e[e.length-1];return t?t.top+Ia+yg:0}function zb(e,t){const r=e.file.path,o=[];let s=1;for(const a of t){const l=a.call.relation.node;if(l.file===r)for(const c of a.lines){if(c===l.line)continue;const f=Math.abs(l.line-c);f>s&&(s=f),o.push({key:`${a.key}:${c}`,fromLine:c,toLine:l.line,ownerId:a.ownerId,targetId:l.id,targetName:l.name,uncertain:a.call.relation.uncertain,synthesized:a.via!==null,d:"",minLine:Math.min(c,l.line),maxLine:Math.max(c,l.line)})}}const i=Math.log1p(s);for(const a of o){const l=a.maxLine-a.minLine,c=$d+(Mb-$d)*(i>0?Math.log1p(l)/i:0);a.d=Hb(a.fromLine,a.toLine,c)}return o.sort((a,l)=>l.maxLine-l.minLine-(a.maxLine-a.minLine)),o}function Hb(e,t,r){const o=Aa(e),s=Aa(t),i=Math.max(1,Math.abs(s-o)/2),a=s>o?0:1;return`M${hi},${o} A${r.toFixed(1)},${i.toFixed(1)} 0 0 ${a} ${hi},${s}`}function qb(e,t,r){return r?t?e.filter(o=>o.ownerId===t||o.targetId===t):[]:[...e]}function jb(e,t,r){return e.filter(o=>o.minLine<=r&&o.maxLine>=t)}function Fb(e){return e===0?"No calls in this file reach another symbol in it.":`${e} ${e===1?"call stays":"calls stay"} within this file`}var Bb=Yt('<path></path><path class="hit svelte-7a2f5z" role="button" tabindex="-1"><title> </title></path>',1),Vb=Yt('<svg class="arcs svelte-7a2f5z" focusable="false" aria-hidden="true"></svg>');function Wb(e,t){Ne(t,!0);function r(i){return kt.is(i.targetId)||i.fromLine===t.hoverLine||i.toLine===t.hoverLine}function o(i){const a=i.toLine<i.fromLine?"above":"below";return`line ${i.fromLine} calls ${i.targetName}, defined ${a} at line ${i.toLine}`}var s=Vb();xe(s,21,()=>t.arcs,i=>i.key,(i,a)=>{var l=Bb(),c=ye(l);let f;var u=m(c),h=v(u),d=v(h);P((g,p)=>{f=Ce(c,0,"arc svelte-7a2f5z",null,f,g),se(c,"d",n(a).d),se(u,"d",n(a).d),x(d,p)},[()=>({lit:r(n(a)),uncertain:n(a).uncertain,heur:n(a).synthesized}),()=>o(n(a))]),ke("click",u,()=>t.onfollow(n(a))),ke("keydown",u,g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),t.onfollow(n(a)))}),Ge("mouseenter",u,()=>kt.set(n(a).targetId)),Ge("mouseleave",u,()=>kt.clear(n(a).targetId)),_(i,l)}),P(()=>{se(s,"width",hi),se(s,"height",t.height),se(s,"viewBox",`0 0 ${hi} ${t.height}`)}),_(e,s),Ie()}mt(["click","keydown"]);var Kb=N('<span role="link" tabindex="0"> </span>'),Yb=N('<span class="ref stub svelte-a7mbfv"> </span>'),Xb=N('<span class="t-def svelte-a7mbfv"> </span>'),Gb=N("<span> </span>"),Zb=N('<span class="pending svelte-a7mbfv"></span>'),Ub=N("<i></i>"),Qb=N('<div role="presentation"><span class="no svelte-a7mbfv"> </span> <span class="tx svelte-a7mbfv"><!></span> <span class="port svelte-a7mbfv"><!></span></div>'),Jb=N('<div class="code svelte-a7mbfv"></div>');function $b(e,t){Ne(t,!0);let r=S(()=>{const l=[];for(let c=t.first;c<=t.last;c++){const f=t.refs.get(c)??[],u=t.tokensFor(c);l.push({n:c,top:ju(c),parts:u?o(u,ol(u,f),t.defNames.get(c)??null):null,port:s(f),targets:[...new Set(f.map(h=>h.targetId).filter(h=>!!h))]})}return l});function o(l,c,f){return l.map((u,h)=>{const d=c.get(h)??null;return{text:u.text,cls:d?null:qu(u.cls),ref:d,def:!d&&f!==null&&u.text===f&&u.cls!=="comment"&&u.cls!=="string"}})}function s(l){return l.length===0?null:l.some(c=>!c.uncertain&&!c.outside)?"sure":"unsure"}function i(l){return l.n===t.highlight||l.targets.some(c=>kt.is(c))}var a=Jb();xe(a,21,()=>n(r),l=>l.n,(l,c)=>{var f=Qb();let u,h;var d=v(f),g=v(d),p=m(d,2),y=v(p);{var w=A=>{var D=St(),j=ye(D);xe(j,17,()=>n(c).parts,Kn,(R,z)=>{var W=St(),H=ye(W);{var B=O=>{const K=S(()=>n(z).ref);var Y=Kb();let G;var U=v(Y);P(X=>{G=Ce(Y,1,"ref svelte-a7mbfv",null,G,X),se(Y,"title",n(K).title),x(U,n(z).text)},[()=>({uncertain:n(K).uncertain,hot:kt.is(n(K).targetId)})]),ke("click",Y,()=>t.onfollow(n(K))),ke("keydown",Y,X=>{(X.key==="Enter"||X.key===" ")&&(X.preventDefault(),t.onfollow(n(K)))}),Ge("mouseenter",Y,()=>kt.set(n(K).targetId)),Ge("mouseleave",Y,()=>kt.clear(n(K).targetId)),_(O,Y)},k=O=>{var K=Yb(),Y=v(K);P(()=>{se(K,"title",n(z).ref.title),x(Y,n(z).text)}),_(O,K)},b=O=>{var K=Xb(),Y=v(K);P(()=>x(Y,n(z).text)),_(O,K)},E=O=>{var K=Gb(),Y=v(K);P(()=>{Ce(K,1,zo(n(z).cls),"svelte-a7mbfv"),x(Y,n(z).text)}),_(O,K)},q=O=>{var K=wt();P(()=>x(K,n(z).text)),_(O,K)};V(H,O=>{n(z).ref&&!n(z).ref.outside?O(B):n(z).ref?O(k,1):n(z).def?O(b,2):n(z).cls?O(E,3):O(q,-1)})}_(R,W)}),_(A,D)},M=A=>{var D=Zb();_(A,D)};V(y,A=>{n(c).parts?A(w):A(M,-1)})}var I=m(p,2),C=v(I);{var T=A=>{var D=Ub();let j;P(()=>j=Ce(D,1,"svelte-a7mbfv",null,j,{sure:n(c).port==="sure"})),_(A,D)};V(C,A=>{n(c).port&&A(T)})}P(A=>{u=Ce(f,1,"ln svelte-a7mbfv",null,u,A),se(f,"data-line",n(c).n),h=nt(f,"",h,{top:`${n(c).top}px`}),x(g,n(c).n)},[()=>({hot:i(n(c))})]),Ge("mouseenter",f,()=>t.onhoverline(n(c).n)),_(l,f)}),_(e,a),Ie()}mt(["click","keydown"]);var nf=N("<div></div>"),ex=N('<button type="button"><!> <span class="nm svelte-3z23e6"> </span> <span class="ln svelte-3z23e6"> </span></button>'),tx=N('<div class="note svelte-3z23e6"> </div>'),nx=N('<div class="navrail svelte-3z23e6"><div class="navh svelte-3z23e6"><span>Outline</span> <span class="dim"> </span></div> <div class="navlist svelte-3z23e6"><div><!> <!> <!></div></div> <!></div>');function rx(e,t){Ne(t,!0);let r=ae(null),o=ae(0),s=ae(0),i=S(()=>t.rows.length>pg),a=S(()=>{if(!n(i))return{start:0,end:t.rows.length,before:0,after:0};const T=Math.floor(n(o)/Xr)-8,A=Math.ceil((n(s)||800)/Xr)+16,D=Math.max(0,Math.min(t.rows.length-1,T)),j=Math.max(D,Math.min(t.rows.length,D+A));return{start:D,end:j,before:D*Xr,after:(t.rows.length-j)*Xr}});et(()=>{const T=t.currentId,A=n(r);if(!T||!A)return;const D=t.rows.findIndex(z=>z.entry.id===T);if(D<0)return;const j=D*Xr,R=A.parentElement;R&&(j<R.scrollTop?R.scrollTop=j-Xr*2:j+Xr>R.scrollTop+R.clientHeight&&(R.scrollTop=j+Xr*3-R.clientHeight))}),et(()=>{const T=n(r)?.parentElement;if(!T)return;const A=()=>{L(o,T.scrollTop,!0),L(s,T.clientHeight,!0)};A(),T.addEventListener("scroll",A,{passive:!0});const D=new ResizeObserver(A);return D.observe(T),()=>{T.removeEventListener("scroll",A),D.disconnect()}});var l=nx(),c=v(l),f=m(v(c),2),u=v(f),h=m(c,2),d=v(h),g=v(d);{var p=T=>{var A=nf();let D;P(()=>D=nt(A,"",D,{height:`${n(a).before}px`})),_(T,A)};V(g,T=>{n(a).before>0&&T(p)})}var y=m(g,2);xe(y,17,()=>t.rows.slice(n(a).start,n(a).end),T=>T.entry.id,(T,A)=>{var D=ex();let j,R;var z=v(D);Pt(z,{get kind(){return n(A).entry.kind}});var W=m(z,2),H=v(W),B=m(W,2),k=v(B);P(()=>{j=Ce(D,1,"nrow svelte-3z23e6",null,j,{dimmed:n(A).dimmed,current:n(A).entry.id===t.currentId}),se(D,"title",`${n(A).entry.qualifiedName} — line ${n(A).entry.line}`),R=nt(D,"",R,{"padding-left":`${6+n(A).indent*14}px`}),x(H,n(A).entry.name),x(k,n(A).entry.line)}),ke("click",D,()=>t.ongo(n(A).entry.line,n(A).entry.id)),_(T,D)});var w=m(y,2);{var M=T=>{var A=nf();let D;P(()=>D=nt(A,"",D,{height:`${n(a).after}px`})),_(T,A)};V(w,T=>{n(a).after>0&&T(M)})}Wt(d,T=>L(r,T),()=>n(r));var I=m(h,2);{var C=T=>{var A=tx(),D=v(A);P(()=>x(D,`Showing ${t.rows.length??""} of ${t.total??""} symbols.`)),_(T,A)};V(I,T=>{t.truncated&&T(C)})}P(()=>x(u,t.total)),_(e,l),Ie()}mt(["click"]);var ox=N('<span class="dim"> </span>'),sx=N("<span> </span>"),ix=N('<span class="tag svelte-325cso" title="A synthesized edge — dynamic dispatch the parser cannot see"> </span>'),ax=N('<div role="button" tabindex="0"><!> <div class="body svelte-325cso"><div class="nm svelte-325cso"> <!></div> <div class="meta svelte-325cso"><span> </span> <!> <!></div></div></div>');function lx(e,t){Ne(t,!0);function r(i){const a=i.call.relation.node,l=i.lines.length>0?` · called from line ${i.lines.join(", ")}`:"";return`${a.qualifiedName} — ${a.file}:${a.line}${l}`}var o=St(),s=ye(o);xe(s,17,()=>t.rows,i=>i.key,(i,a)=>{const l=S(()=>n(a).call.relation.node);var c=ax();let f,u;var h=v(c);Pt(h,{get kind(){return n(l).kind}});var d=m(h,2),g=v(d),p=v(g),y=m(p);{var w=R=>{var z=ox(),W=v(z);P(()=>x(W,`×${n(a).lines.length??""}`)),_(R,z)};V(y,R=>{n(a).lines.length>1&&R(w)})}var M=m(g,2),I=v(M),C=v(I),T=m(I,2);{var A=R=>{var z=sx(),W=v(z);P(H=>x(W,H),[()=>n(a).words.join(", ")]),_(R,z)};V(T,R=>{n(a).words.length>0&&R(A)})}var D=m(T,2);{var j=R=>{var z=ix(),W=v(z);P(()=>x(W,`via ${n(a).via??""}`)),_(R,z)};V(D,R=>{n(a).via&&R(j)})}P((R,z)=>{f=Ce(c,1,"rrow svelte-325cso",null,f,R),se(c,"data-target",n(l).id),se(c,"title",z),u=nt(c,"",u,{top:`${n(a).top}px`}),x(p,n(l).name),x(C,n(l).file===t.focalFile?"same file":n(l).file)},[()=>({hot:kt.is(n(l).id),focused:t.focusId!==null&&(n(a).ownerId===t.focusId||n(l).id===t.focusId),uncertain:n(a).call.relation.uncertain}),()=>r(n(a))]),ke("click",c,()=>t.onopen(n(l))),ke("keydown",c,R=>{(R.key==="Enter"||R.key===" ")&&(R.preventDefault(),t.onopen(n(l)))}),Ge("mouseenter",c,()=>{kt.set(n(l).id),t.onhover(n(a))}),Ge("mouseleave",c,()=>{kt.clear(n(l).id),t.onhover(null)}),_(i,c)}),_(e,o),Ie()}mt(["click","keydown"]);var cx=N('<p class="dim"> </p>'),ux=N('<div class="scroll svelte-1ykko46"><div class="emptystate"><h2> </h2> <p class="mono"> </p> <p> </p> <!></div></div>'),dx=N('<div class="scroll svelte-1ykko46"><div class="emptystate"><p class="dim">Loading…</p></div></div>'),fx=N('<aside class="nav svelte-1ykko46"><!></aside>'),vx=N(' <span class="dim">— showing the ones the symbol under the pointer takes part in</span>',1),hx=N('<span class="dim"> </span>'),gx=N(' <span class="dim"> </span>',1),rf=N('<div class="banner svelte-1ykko46"><!></div>'),px=N('<div class="note svelte-1ykko46"> </div>'),mx=N('<div class="stage svelte-1ykko46" role="presentation"><div class="stage-inner svelte-1ykko46"><div class="arccol svelte-1ykko46"><!></div> <div class="codecol svelte-1ykko46"><!></div> <aside class="rail svelte-1ykko46" aria-label="Calls"><!></aside> <!></div></div>'),_x=N('<div><!> <section class="main svelte-1ykko46"><header class="band svelte-1ykko46"><div class="card-h svelte-1ykko46"><!> <h1 class="svelte-1ykko46"> </h1> <span class="kindword svelte-1ykko46"> </span> <span class="loc svelte-1ykko46"> </span> <div class="spacer svelte-1ykko46"></div> <!></div> <div><span class="arcnote svelte-1ykko46"> <!></span> <span class="railnote svelte-1ykko46" title="One row per pair: a symbol in this file, and a symbol it reaches.">Calls <span class="n svelte-1ykko46"> </span><!><!></span></div> <!></header> <!></section></div>');function yx(e,t){Ne(t,!0);let r=ae(null),o=ae(null),s=ae(!0),i=ae(un(new Map)),a=new Set,l=new Set,c=ae(null),f=null;et(()=>{const ne=t.path,fe=new AbortController;return Ut(()=>h(ne,fe.signal)),()=>fe.abort()});let u=null;zu(()=>n(r)?.file.path??t.path,()=>{const ne=t.path;u?.abort(),u=new AbortController,h(ne,u.signal,!0)});async function h(ne,fe,he=!1){he||(L(s,!0),L(o,null),L(r,null),ie=null,L(b,null),L(E,null),L(q,null),n(j)&&(n(j).scrollTop=0)),L(i,new Map,!0),a=new Set,l=new Set,L(c,null),f?.abort(),f=new AbortController;try{const ce=await u1(ne,fe);if(fe.aborted)return;L(r,ce,!0),L(o,null)}catch(ce){if(fe.aborted)return;L(o,ce instanceof Yn?ce:new Yn(0,"error",ce instanceof Error?ce.message:String(ce),null),!0)}finally{fe.aborted||L(s,!1)}}async function d(ne){const fe=n(r)?.file;if(!fe||fe.totalLines===null||a.has(ne)||l.has(ne))return;l.add(ne);const he=Ib(ne,fe.totalLines),ce=f?.signal;try{const we=await jc(fe.path,he.requestFrom,he.to,ce,n(r)?.drift?"current":void 0);if(ce?.aborted||n(r)?.file.path!==fe.path)return;if(!we.lines){L(c,we.reason??"Source is not available for this file.",!0);return}const de=we.from??he.requestFrom,me=sl(we.lines,de,we.highlight),Te=new Map(n(i));for(const[Pe,Le]of me)Pe>=he.from&&Te.set(Pe,Le);L(i,Te,!0),a.add(ne)}catch(we){if(ce?.aborted)return;L(c,we instanceof Error?we.message:String(we),!0)}finally{l.delete(ne)}}let g=S(()=>n(r)?.drift===!0),p=S(()=>n(r)?.file.totalLines??0),y=S(()=>n(r)&&!n(g)?Pb(n(r)):new Map),w=S(()=>n(r)&&!n(g)?Lb(n(r)):[]),M=S(()=>n(r)&&!n(g)?zb(n(r),n(w)):[]),I=S(()=>n(M).length>Sb),C=S(()=>n(g)?[]:(n(r)?.outline.items??[]).map(ne=>({entry:ne,indent:Math.min(ne.depth,3),dimmed:T.has(ne.kind)})));const T=new Set(["property","field","enum_member","variable","constant"]);let A=S(()=>{const ne=new Map;if(n(g))return ne;for(const fe of n(r)?.outline.items??[])ne.has(fe.line)||ne.set(fe.line,fe.name);return ne}),D=S(()=>{const ne=new Map;for(const fe of n(w))ne.set(fe.call.relation.node.id,fe.call.relation.node);return ne}),j=ae(null),R=ae(null),z=ae(null),W=ae(0),H=ae(0),B=ae(un({x0:0,x1:0,width:0}));et(()=>{const ne=n(j);if(!ne)return;const fe=()=>{L(W,ne.scrollTop,!0),L(H,ne.clientHeight,!0)},he=()=>{fe();const we=n(R),de=n(z);!we||!de||L(B,{x0:we.offsetLeft+we.offsetWidth-10,x1:de.offsetLeft+14,width:ne.scrollWidth},!0)};he(),ne.addEventListener("scroll",fe,{passive:!0});const ce=new ResizeObserver(he);return ce.observe(ne),()=>{ne.removeEventListener("scroll",fe),ce.disconnect()}});let k=S(()=>Nb(n(W),n(H),n(p)));et(()=>{if(!n(r))return;const ne=Ab(n(k).first,n(k).last,n(p));Ut(()=>{for(const fe of ne)d(fe)})});let b=ae(null),E=ae(null),q=ae(null),O=S(()=>tf(n(r)?.outline.items??[],Cb(n(W)+8,n(p)))),K=S(()=>{if(n(E)!==null)return n(E);const ne=n(r)?.outline.items??[];return n(b)!==null?tf(ne,n(b)):n(O)}),Y=S(()=>qb(n(M),n(K),n(I))),G=S(()=>jb(n(Y),n(k).first,n(k).last)),U=S(()=>Db(n(w),n(W)-n(H),n(W)+n(H)*2)),X=S(()=>{const{x0:ne,x1:fe}=n(B);if(fe<=ne)return[];const he=(ne+fe)/2,ce=[];for(const we of n(U)){const de=we.top+17,me=Ci(we.call.relation);for(const Te of we.lines){const Pe=Aa(Te);ce.push({d:`M${ne},${Pe} C${he},${Pe} ${he},${de} ${fe},${de}`,targetId:we.call.relation.node.id,uncertain:we.call.relation.uncertain,heuristic:me!==null,origin:!1})}}return ce}),$=S(()=>Math.max(Tb(n(p)),Rb(n(w))));function Z(ne){const fe=n(j);fe&&(fe.scrollTop=Math.max(0,ju(ne)-fe.clientHeight/3),L(q,ne,!0))}function Q(ne){kt.set(ne.targetId),Z(ne.toLine)}function F(ne){if(ne.file===n(r)?.file.path){kt.set(ne.id),Z(ne.line);return}hr({id:ne.id,name:ne.name,kind:ne.kind},"start")}function J(ne){const fe=ne.targetId?n(D).get(ne.targetId):void 0;fe&&F(fe)}function te(ne){L(E,ne?ne.ownerId:null,!0)}let ie=null;et(()=>{const ne=t.line===null?null:`${t.path}:${t.line}`;!ne||!n(r)||ie===ne||!n(j)||n(p)===0||(ie=ne,Z(t.line))});var ge=St(),ve=ye(ge);{var re=ne=>{var fe=ux(),he=v(fe),ce=v(he),we=v(ce),de=m(ce,2),me=v(de),Te=m(de,2),Pe=v(Te),Le=m(Te,2);{var Re=Be=>{var je=cx(),tt=v(je);P(()=>x(tt,n(o).guidance)),_(Be,je)};V(Le,Be=>{n(o).guidance&&Be(Re)})}P(()=>{x(we,n(o).code==="not-found"?"Not in the index":"Could not load this file"),x(me,t.path),x(Pe,n(o).message)}),_(ne,fe)},ee=ne=>{var fe=dx();_(ne,fe)},ue=ne=>{var fe=_x();let he;var ce=v(fe);{var we=Ue=>{var Je=fx(),ft=v(Je);rx(ft,{get rows(){return n(C)},get total(){return n(r).outline.total},get truncated(){return n(r).outline.truncated},get currentId(){return n(O)},ongo:(Mt,_t)=>{kt.set(_t),Z(Mt)}}),_(Ue,Je)};V(ce,Ue=>{n(C).length>0&&Ue(we)})}var de=m(ce,2),me=v(de),Te=v(me),Pe=v(Te);Pt(Pe,{kind:"file"});var Le=m(Pe,2),Re=v(Le),Be=m(Le,2),je=v(Be),tt=m(Be,2),Ze=v(tt),at=m(tt,4);_g(at,{get path(){return n(r).file.path},get line(){return t.line},source:!0});var Ye=m(Te,2);let le;var oe=v(Ye),_e=v(oe),Me=m(_e);{var Fe=Ue=>{var Je=vx(),ft=ye(Je,!0);ft.nodeValue=" ",_(Ue,Je)};V(Me,Ue=>{n(I)&&Ue(Fe)})}var Xe=m(oe,2),dt=m(v(Xe)),Ct=v(dt),Ht=m(dt);{var At=Ue=>{var Je=hx(),ft=v(Je);P(()=>x(ft,`· showing ${n(r).calls.shown??""}`)),_(Ue,Je)};V(Ht,Ue=>{n(r).calls.truncated&&Ue(At)})}var rt=m(Ht);{var ct=Ue=>{var Je=gx(),ft=ye(Je,!0);ft.nodeValue=" ";var Mt=m(ft),_t=v(Mt);P(bt=>x(_t,`· ${bt??""} outside the index`),[()=>st(n(r).outside.total,"reference")]),_(Ue,Je)};V(rt,Ue=>{n(r).outside.total>0&&Ue(ct)})}var ze=m(Ye,2);{var be=Ue=>{var Je=rf(),ft=v(Je);Na(ft,{get file(){return n(r).file.path},children:(Mt,_t)=>{var bt=wt(`indexed line ranges may be shifted; showing the file's current source, with the
24
+ call arcs, ports and rail switched off — they are drawn from lines this file no
25
+ longer has. The next sync picks it up.`);_(Mt,bt)}}),_(Ue,Je)},qe=Ue=>{var Je=rf(),ft=v(Je);Na(ft,{get file(){return n(r).file.path},children:(Mt,_t)=>{var bt=wt();P(()=>x(bt,n(r).reason??"it could not be read from disk.")),_(Mt,bt)}}),_(Ue,Je)},He=Ue=>{var Je=px(),ft=v(Je);P(()=>x(ft,n(c))),_(Ue,Je)};V(ze,Ue=>{n(r).drift?Ue(be):n(r).file.totalLines===null?Ue(qe,1):n(c)&&Ue(He,2)})}var Lt=m(me,2);{var qt=Ue=>{var Je=mx(),ft=v(Je);let Mt;var _t=v(ft),bt=v(_t);{var dn=Ke=>{Wb(Ke,{get arcs(){return n(G)},get height(){return n($)},get hoverLine(){return n(b)},onfollow:Q})};V(bt,Ke=>{n(g)||Ke(dn)})}var Qt=m(_t,2),$e=v(Qt);$b($e,{get first(){return n(k).first},get last(){return n(k).last},tokensFor:Ke=>n(i).get(Ke)??null,get refs(){return n(y)},get defNames(){return n(A)},get highlight(){return n(q)},onfollow:J,onhoverline:Ke=>{L(b,Ke,!0)}}),Wt(Qt,Ke=>L(R,Ke),()=>n(R));var We=m(Qt,2),Nt=v(We);{var jt=Ke=>{lx(Ke,{get rows(){return n(U)},get focalFile(){return n(r).file.path},get focusId(){return n(K)},onopen:F,onhover:te})};V(Nt,Ke=>{n(g)||Ke(jt)})}Wt(We,Ke=>L(z,Ke),()=>n(z));var En=m(We,2);hg(En,{get connectors(){return n(X)},get width(){return n(B).width},get height(){return n($)}}),Wt(Je,Ke=>L(j,Ke),()=>n(j)),P(()=>Mt=nt(ft,"",Mt,{height:`${n($)}px`})),Ge("mouseleave",Je,()=>{L(b,null)}),_(Ue,Je)};V(Lt,Ue=>{n(r).file.totalLines!==null&&Ue(qt)})}P((Ue,Je,ft,Mt,_t)=>{he=Ce(fe,1,"codeview svelte-1ykko46",null,he,{wide:n(C).length>0}),x(Re,Ue),x(je,`${n(r).file.language??""} · ${Je??""} ·
26
+ ${ft??""} ·
27
+ ${Mt??""}`),x(Ze,n(r).file.path),le=Ce(Ye,1,"toolbar svelte-1ykko46",null,le,{hidden:n(g)}),x(_e,_t),x(Ct,n(r).calls.total)},[()=>gn(n(r).file.path),()=>mg(n(r).file.size),()=>n(r).file.totalLines===null?"length unknown":st(n(r).file.totalLines,"line"),()=>st(n(r).outline.total,"symbol"),()=>Fb(n(r).intraFileCalls)]),_(ne,fe)};V(ve,ne=>{n(o)?ne(re):n(s)||!n(r)?ne(ee,1):ne(ue,-1)})}_(e,ge),Ie()}var wx={value:()=>{}};function il(){for(var e=0,t=arguments.length,r={},o;e<t;++e){if(!(o=arguments[e]+"")||o in r||/[\s.]/.test(o))throw new Error("illegal type: "+o);r[o]=[]}return new da(r)}function da(e){this._=e}function bx(e,t){return e.trim().split(/^|\s+/).map(function(r){var o="",s=r.indexOf(".");if(s>=0&&(o=r.slice(s+1),r=r.slice(0,s)),r&&!t.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:o}})}da.prototype=il.prototype={constructor:da,on:function(e,t){var r=this._,o=bx(e+"",r),s,i=-1,a=o.length;if(arguments.length<2){for(;++i<a;)if((s=(e=o[i]).type)&&(s=xx(r[s],e.name)))return s;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++i<a;)if(s=(e=o[i]).type)r[s]=of(r[s],e.name,t);else if(t==null)for(s in r)r[s]=of(r[s],e.name,null);return this},copy:function(){var e={},t=this._;for(var r in t)e[r]=t[r].slice();return new da(e)},call:function(e,t){if((s=arguments.length-2)>0)for(var r=new Array(s),o=0,s,i;o<s;++o)r[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(i=this._[e],o=0,s=i.length;o<s;++o)i[o].value.apply(t,r)},apply:function(e,t,r){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var o=this._[e],s=0,i=o.length;s<i;++s)o[s].value.apply(t,r)}};function xx(e,t){for(var r=0,o=e.length,s;r<o;++r)if((s=e[r]).name===t)return s.value}function of(e,t,r){for(var o=0,s=e.length;o<s;++o)if(e[o].name===t){e[o]=wx,e=e.slice(0,o).concat(e.slice(o+1));break}return r!=null&&e.push({name:t,value:r}),e}var Zc="http://www.w3.org/1999/xhtml";const sf={svg:"http://www.w3.org/2000/svg",xhtml:Zc,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function al(e){var t=e+="",r=t.indexOf(":");return r>=0&&(t=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),sf.hasOwnProperty(t)?{space:sf[t],local:e}:e}function kx(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===Zc&&t.documentElement.namespaceURI===Zc?t.createElement(e):t.createElementNS(r,e)}}function Ex(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function wg(e){var t=al(e);return(t.local?Ex:kx)(t)}function Sx(){}function Fu(e){return e==null?Sx:function(){return this.querySelector(e)}}function Mx(e){typeof e!="function"&&(e=Fu(e));for(var t=this._groups,r=t.length,o=new Array(r),s=0;s<r;++s)for(var i=t[s],a=i.length,l=o[s]=new Array(a),c,f,u=0;u<a;++u)(c=i[u])&&(f=e.call(c,c.__data__,u,i))&&("__data__"in c&&(f.__data__=c.__data__),l[u]=f);return new zn(o,this._parents)}function Tx(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Cx(){return[]}function bg(e){return e==null?Cx:function(){return this.querySelectorAll(e)}}function Nx(e){return function(){return Tx(e.apply(this,arguments))}}function Ix(e){typeof e=="function"?e=Nx(e):e=bg(e);for(var t=this._groups,r=t.length,o=[],s=[],i=0;i<r;++i)for(var a=t[i],l=a.length,c,f=0;f<l;++f)(c=a[f])&&(o.push(e.call(c,c.__data__,f,a)),s.push(c));return new zn(o,s)}function xg(e){return function(){return this.matches(e)}}function kg(e){return function(t){return t.matches(e)}}var Ax=Array.prototype.find;function Px(e){return function(){return Ax.call(this.children,e)}}function Ox(){return this.firstElementChild}function Lx(e){return this.select(e==null?Ox:Px(typeof e=="function"?e:kg(e)))}var Dx=Array.prototype.filter;function Rx(){return Array.from(this.children)}function zx(e){return function(){return Dx.call(this.children,e)}}function Hx(e){return this.selectAll(e==null?Rx:zx(typeof e=="function"?e:kg(e)))}function qx(e){typeof e!="function"&&(e=xg(e));for(var t=this._groups,r=t.length,o=new Array(r),s=0;s<r;++s)for(var i=t[s],a=i.length,l=o[s]=[],c,f=0;f<a;++f)(c=i[f])&&e.call(c,c.__data__,f,i)&&l.push(c);return new zn(o,this._parents)}function Eg(e){return new Array(e.length)}function jx(){return new zn(this._enter||this._groups.map(Eg),this._parents)}function Pa(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Pa.prototype={constructor:Pa,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function Fx(e){return function(){return e}}function Bx(e,t,r,o,s,i){for(var a=0,l,c=t.length,f=i.length;a<f;++a)(l=t[a])?(l.__data__=i[a],o[a]=l):r[a]=new Pa(e,i[a]);for(;a<c;++a)(l=t[a])&&(s[a]=l)}function Vx(e,t,r,o,s,i,a){var l,c,f=new Map,u=t.length,h=i.length,d=new Array(u),g;for(l=0;l<u;++l)(c=t[l])&&(d[l]=g=a.call(c,c.__data__,l,t)+"",f.has(g)?s[l]=c:f.set(g,c));for(l=0;l<h;++l)g=a.call(e,i[l],l,i)+"",(c=f.get(g))?(o[l]=c,c.__data__=i[l],f.delete(g)):r[l]=new Pa(e,i[l]);for(l=0;l<u;++l)(c=t[l])&&f.get(d[l])===c&&(s[l]=c)}function Wx(e){return e.__data__}function Kx(e,t){if(!arguments.length)return Array.from(this,Wx);var r=t?Vx:Bx,o=this._parents,s=this._groups;typeof e!="function"&&(e=Fx(e));for(var i=s.length,a=new Array(i),l=new Array(i),c=new Array(i),f=0;f<i;++f){var u=o[f],h=s[f],d=h.length,g=Yx(e.call(u,u&&u.__data__,f,o)),p=g.length,y=l[f]=new Array(p),w=a[f]=new Array(p),M=c[f]=new Array(d);r(u,h,y,w,M,g,t);for(var I=0,C=0,T,A;I<p;++I)if(T=y[I]){for(I>=C&&(C=I+1);!(A=w[C])&&++C<p;);T._next=A||null}}return a=new zn(a,o),a._enter=l,a._exit=c,a}function Yx(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Xx(){return new zn(this._exit||this._groups.map(Eg),this._parents)}function Gx(e,t,r){var o=this.enter(),s=this,i=this.exit();return typeof e=="function"?(o=e(o),o&&(o=o.selection())):o=o.append(e+""),t!=null&&(s=t(s),s&&(s=s.selection())),r==null?i.remove():r(i),o&&s?o.merge(s).order():s}function Zx(e){for(var t=e.selection?e.selection():e,r=this._groups,o=t._groups,s=r.length,i=o.length,a=Math.min(s,i),l=new Array(s),c=0;c<a;++c)for(var f=r[c],u=o[c],h=f.length,d=l[c]=new Array(h),g,p=0;p<h;++p)(g=f[p]||u[p])&&(d[p]=g);for(;c<s;++c)l[c]=r[c];return new zn(l,this._parents)}function Ux(){for(var e=this._groups,t=-1,r=e.length;++t<r;)for(var o=e[t],s=o.length-1,i=o[s],a;--s>=0;)(a=o[s])&&(i&&a.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(a,i),i=a);return this}function Qx(e){e||(e=Jx);function t(h,d){return h&&d?e(h.__data__,d.__data__):!h-!d}for(var r=this._groups,o=r.length,s=new Array(o),i=0;i<o;++i){for(var a=r[i],l=a.length,c=s[i]=new Array(l),f,u=0;u<l;++u)(f=a[u])&&(c[u]=f);c.sort(t)}return new zn(s,this._parents).order()}function Jx(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function $x(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function e2(){return Array.from(this)}function t2(){for(var e=this._groups,t=0,r=e.length;t<r;++t)for(var o=e[t],s=0,i=o.length;s<i;++s){var a=o[s];if(a)return a}return null}function n2(){let e=0;for(const t of this)++e;return e}function r2(){return!this.node()}function o2(e){for(var t=this._groups,r=0,o=t.length;r<o;++r)for(var s=t[r],i=0,a=s.length,l;i<a;++i)(l=s[i])&&e.call(l,l.__data__,i,s);return this}function s2(e){return function(){this.removeAttribute(e)}}function i2(e){return function(){this.removeAttributeNS(e.space,e.local)}}function a2(e,t){return function(){this.setAttribute(e,t)}}function l2(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function c2(e,t){return function(){var r=t.apply(this,arguments);r==null?this.removeAttribute(e):this.setAttribute(e,r)}}function u2(e,t){return function(){var r=t.apply(this,arguments);r==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,r)}}function d2(e,t){var r=al(e);if(arguments.length<2){var o=this.node();return r.local?o.getAttributeNS(r.space,r.local):o.getAttribute(r)}return this.each((t==null?r.local?i2:s2:typeof t=="function"?r.local?u2:c2:r.local?l2:a2)(r,t))}function Sg(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function f2(e){return function(){this.style.removeProperty(e)}}function v2(e,t,r){return function(){this.style.setProperty(e,t,r)}}function h2(e,t,r){return function(){var o=t.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,r)}}function g2(e,t,r){return arguments.length>1?this.each((t==null?f2:typeof t=="function"?h2:v2)(e,t,r??"")):cs(this.node(),e)}function cs(e,t){return e.style.getPropertyValue(t)||Sg(e).getComputedStyle(e,null).getPropertyValue(t)}function p2(e){return function(){delete this[e]}}function m2(e,t){return function(){this[e]=t}}function _2(e,t){return function(){var r=t.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function y2(e,t){return arguments.length>1?this.each((t==null?p2:typeof t=="function"?_2:m2)(e,t)):this.node()[e]}function Mg(e){return e.trim().split(/^|\s+/)}function Bu(e){return e.classList||new Tg(e)}function Tg(e){this._node=e,this._names=Mg(e.getAttribute("class")||"")}Tg.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Cg(e,t){for(var r=Bu(e),o=-1,s=t.length;++o<s;)r.add(t[o])}function Ng(e,t){for(var r=Bu(e),o=-1,s=t.length;++o<s;)r.remove(t[o])}function w2(e){return function(){Cg(this,e)}}function b2(e){return function(){Ng(this,e)}}function x2(e,t){return function(){(t.apply(this,arguments)?Cg:Ng)(this,e)}}function k2(e,t){var r=Mg(e+"");if(arguments.length<2){for(var o=Bu(this.node()),s=-1,i=r.length;++s<i;)if(!o.contains(r[s]))return!1;return!0}return this.each((typeof t=="function"?x2:t?w2:b2)(r,t))}function E2(){this.textContent=""}function S2(e){return function(){this.textContent=e}}function M2(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function T2(e){return arguments.length?this.each(e==null?E2:(typeof e=="function"?M2:S2)(e)):this.node().textContent}function C2(){this.innerHTML=""}function N2(e){return function(){this.innerHTML=e}}function I2(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function A2(e){return arguments.length?this.each(e==null?C2:(typeof e=="function"?I2:N2)(e)):this.node().innerHTML}function P2(){this.nextSibling&&this.parentNode.appendChild(this)}function O2(){return this.each(P2)}function L2(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function D2(){return this.each(L2)}function R2(e){var t=typeof e=="function"?e:wg(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function z2(){return null}function H2(e,t){var r=typeof e=="function"?e:wg(e),o=t==null?z2:typeof t=="function"?t:Fu(t);return this.select(function(){return this.insertBefore(r.apply(this,arguments),o.apply(this,arguments)||null)})}function q2(){var e=this.parentNode;e&&e.removeChild(this)}function j2(){return this.each(q2)}function F2(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function B2(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function V2(e){return this.select(e?B2:F2)}function W2(e){return arguments.length?this.property("__data__",e):this.node().__data__}function K2(e){return function(t){e.call(this,t,this.__data__)}}function Y2(e){return e.trim().split(/^|\s+/).map(function(t){var r="",o=t.indexOf(".");return o>=0&&(r=t.slice(o+1),t=t.slice(0,o)),{type:t,name:r}})}function X2(e){return function(){var t=this.__on;if(t){for(var r=0,o=-1,s=t.length,i;r<s;++r)i=t[r],(!e.type||i.type===e.type)&&i.name===e.name?this.removeEventListener(i.type,i.listener,i.options):t[++o]=i;++o?t.length=o:delete this.__on}}}function G2(e,t,r){return function(){var o=this.__on,s,i=K2(t);if(o){for(var a=0,l=o.length;a<l;++a)if((s=o[a]).type===e.type&&s.name===e.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=i,s.options=r),s.value=t;return}}this.addEventListener(e.type,i,r),s={type:e.type,name:e.name,value:t,listener:i,options:r},o?o.push(s):this.__on=[s]}}function Z2(e,t,r){var o=Y2(e+""),s,i=o.length,a;if(arguments.length<2){var l=this.node().__on;if(l){for(var c=0,f=l.length,u;c<f;++c)for(s=0,u=l[c];s<i;++s)if((a=o[s]).type===u.type&&a.name===u.name)return u.value}return}for(l=t?G2:X2,s=0;s<i;++s)this.each(l(o[s],t,r));return this}function Ig(e,t,r){var o=Sg(e),s=o.CustomEvent;typeof s=="function"?s=new s(t,r):(s=o.document.createEvent("Event"),r?(s.initEvent(t,r.bubbles,r.cancelable),s.detail=r.detail):s.initEvent(t,!1,!1)),e.dispatchEvent(s)}function U2(e,t){return function(){return Ig(this,e,t)}}function Q2(e,t){return function(){return Ig(this,e,t.apply(this,arguments))}}function J2(e,t){return this.each((typeof t=="function"?Q2:U2)(e,t))}function*$2(){for(var e=this._groups,t=0,r=e.length;t<r;++t)for(var o=e[t],s=0,i=o.length,a;s<i;++s)(a=o[s])&&(yield a)}var Ag=[null];function zn(e,t){this._groups=e,this._parents=t}function Ii(){return new zn([[document.documentElement]],Ag)}function ek(){return this}zn.prototype=Ii.prototype={constructor:zn,select:Mx,selectAll:Ix,selectChild:Lx,selectChildren:Hx,filter:qx,data:Kx,enter:jx,exit:Xx,join:Gx,merge:Zx,selection:ek,order:Ux,sort:Qx,call:$x,nodes:e2,node:t2,size:n2,empty:r2,each:o2,attr:d2,style:g2,property:y2,classed:k2,text:T2,html:A2,raise:O2,lower:D2,append:R2,insert:H2,remove:j2,clone:V2,datum:W2,on:Z2,dispatch:J2,[Symbol.iterator]:$2};function Un(e){return typeof e=="string"?new zn([[document.querySelector(e)]],[document.documentElement]):new zn([[e]],Ag)}function tk(e){let t;for(;t=e.sourceEvent;)e=t;return e}function lr(e,t){if(e=tk(e),t===void 0&&(t=e.currentTarget),t){var r=t.ownerSVGElement||t;if(r.createSVGPoint){var o=r.createSVGPoint();return o.x=e.clientX,o.y=e.clientY,o=o.matrixTransform(t.getScreenCTM().inverse()),[o.x,o.y]}if(t.getBoundingClientRect){var s=t.getBoundingClientRect();return[e.clientX-s.left-t.clientLeft,e.clientY-s.top-t.clientTop]}}return[e.pageX,e.pageY]}const nk={passive:!1},gi={capture:!0,passive:!1};function ic(e){e.stopImmediatePropagation()}function Qo(e){e.preventDefault(),e.stopImmediatePropagation()}function Pg(e){var t=e.document.documentElement,r=Un(e).on("dragstart.drag",Qo,gi);"onselectstart"in t?r.on("selectstart.drag",Qo,gi):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function Og(e,t){var r=e.document.documentElement,o=Un(e).on("dragstart.drag",null);t&&(o.on("click.drag",Qo,gi),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in r?o.on("selectstart.drag",null):(r.style.MozUserSelect=r.__noselect,delete r.__noselect)}const Ki=e=>()=>e;function Uc(e,{sourceEvent:t,subject:r,target:o,identifier:s,active:i,x:a,y:l,dx:c,dy:f,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:f,enumerable:!0,configurable:!0},_:{value:u}})}Uc.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function rk(e){return!e.ctrlKey&&!e.button}function ok(){return this.parentNode}function sk(e,t){return t??{x:e.x,y:e.y}}function ik(){return navigator.maxTouchPoints||"ontouchstart"in this}function ak(){var e=rk,t=ok,r=sk,o=ik,s={},i=il("start","drag","end"),a=0,l,c,f,u,h=0;function d(T){T.on("mousedown.drag",g).filter(o).on("touchstart.drag",w).on("touchmove.drag",M,nk).on("touchend.drag touchcancel.drag",I).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(T,A){if(!(u||!e.call(this,T,A))){var D=C(this,t.call(this,T,A),T,A,"mouse");D&&(Un(T.view).on("mousemove.drag",p,gi).on("mouseup.drag",y,gi),Pg(T.view),ic(T),f=!1,l=T.clientX,c=T.clientY,D("start",T))}}function p(T){if(Qo(T),!f){var A=T.clientX-l,D=T.clientY-c;f=A*A+D*D>h}s.mouse("drag",T)}function y(T){Un(T.view).on("mousemove.drag mouseup.drag",null),Og(T.view,f),Qo(T),s.mouse("end",T)}function w(T,A){if(e.call(this,T,A)){var D=T.changedTouches,j=t.call(this,T,A),R=D.length,z,W;for(z=0;z<R;++z)(W=C(this,j,T,A,D[z].identifier,D[z]))&&(ic(T),W("start",T,D[z]))}}function M(T){var A=T.changedTouches,D=A.length,j,R;for(j=0;j<D;++j)(R=s[A[j].identifier])&&(Qo(T),R("drag",T,A[j]))}function I(T){var A=T.changedTouches,D=A.length,j,R;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),j=0;j<D;++j)(R=s[A[j].identifier])&&(ic(T),R("end",T,A[j]))}function C(T,A,D,j,R,z){var W=i.copy(),H=lr(z||D,A),B,k,b;if((b=r.call(T,new Uc("beforestart",{sourceEvent:D,target:d,identifier:R,active:a,x:H[0],y:H[1],dx:0,dy:0,dispatch:W}),j))!=null)return B=b.x-H[0]||0,k=b.y-H[1]||0,function E(q,O,K){var Y=H,G;switch(q){case"start":s[R]=E,G=a++;break;case"end":delete s[R],--a;case"drag":H=lr(K||O,A),G=a;break}W.call(q,T,new Uc(q,{sourceEvent:O,subject:b,target:d,identifier:R,active:G,x:H[0]+B,y:H[1]+k,dx:H[0]-Y[0],dy:H[1]-Y[1],dispatch:W}),j)}}return d.filter=function(T){return arguments.length?(e=typeof T=="function"?T:Ki(!!T),d):e},d.container=function(T){return arguments.length?(t=typeof T=="function"?T:Ki(T),d):t},d.subject=function(T){return arguments.length?(r=typeof T=="function"?T:Ki(T),d):r},d.touchable=function(T){return arguments.length?(o=typeof T=="function"?T:Ki(!!T),d):o},d.on=function(){var T=i.on.apply(i,arguments);return T===i?d:T},d.clickDistance=function(T){return arguments.length?(h=(T=+T)*T,d):Math.sqrt(h)},d}function Vu(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function Lg(e,t){var r=Object.create(e.prototype);for(var o in t)r[o]=t[o];return r}function Ai(){}var pi=.7,Oa=1/pi,Jo="\\s*([+-]?\\d+)\\s*",mi="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",yr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",lk=/^#([0-9a-f]{3,8})$/,ck=new RegExp(`^rgb\\(${Jo},${Jo},${Jo}\\)$`),uk=new RegExp(`^rgb\\(${yr},${yr},${yr}\\)$`),dk=new RegExp(`^rgba\\(${Jo},${Jo},${Jo},${mi}\\)$`),fk=new RegExp(`^rgba\\(${yr},${yr},${yr},${mi}\\)$`),vk=new RegExp(`^hsl\\(${mi},${yr},${yr}\\)$`),hk=new RegExp(`^hsla\\(${mi},${yr},${yr},${mi}\\)$`),af={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Vu(Ai,Io,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:lf,formatHex:lf,formatHex8:gk,formatHsl:pk,formatRgb:cf,toString:cf});function lf(){return this.rgb().formatHex()}function gk(){return this.rgb().formatHex8()}function pk(){return Dg(this).formatHsl()}function cf(){return this.rgb().formatRgb()}function Io(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=lk.exec(e))?(r=t[1].length,t=parseInt(t[1],16),r===6?uf(t):r===3?new Cn(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?Yi(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?Yi(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=ck.exec(e))?new Cn(t[1],t[2],t[3],1):(t=uk.exec(e))?new Cn(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=dk.exec(e))?Yi(t[1],t[2],t[3],t[4]):(t=fk.exec(e))?Yi(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=vk.exec(e))?vf(t[1],t[2]/100,t[3]/100,1):(t=hk.exec(e))?vf(t[1],t[2]/100,t[3]/100,t[4]):af.hasOwnProperty(e)?uf(af[e]):e==="transparent"?new Cn(NaN,NaN,NaN,0):null}function uf(e){return new Cn(e>>16&255,e>>8&255,e&255,1)}function Yi(e,t,r,o){return o<=0&&(e=t=r=NaN),new Cn(e,t,r,o)}function mk(e){return e instanceof Ai||(e=Io(e)),e?(e=e.rgb(),new Cn(e.r,e.g,e.b,e.opacity)):new Cn}function Qc(e,t,r,o){return arguments.length===1?mk(e):new Cn(e,t,r,o??1)}function Cn(e,t,r,o){this.r=+e,this.g=+t,this.b=+r,this.opacity=+o}Vu(Cn,Qc,Lg(Ai,{brighter(e){return e=e==null?Oa:Math.pow(Oa,e),new Cn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?pi:Math.pow(pi,e),new Cn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Cn(Mo(this.r),Mo(this.g),Mo(this.b),La(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:df,formatHex:df,formatHex8:_k,formatRgb:ff,toString:ff}));function df(){return`#${xo(this.r)}${xo(this.g)}${xo(this.b)}`}function _k(){return`#${xo(this.r)}${xo(this.g)}${xo(this.b)}${xo((isNaN(this.opacity)?1:this.opacity)*255)}`}function ff(){const e=La(this.opacity);return`${e===1?"rgb(":"rgba("}${Mo(this.r)}, ${Mo(this.g)}, ${Mo(this.b)}${e===1?")":`, ${e})`}`}function La(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Mo(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function xo(e){return e=Mo(e),(e<16?"0":"")+e.toString(16)}function vf(e,t,r,o){return o<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Qn(e,t,r,o)}function Dg(e){if(e instanceof Qn)return new Qn(e.h,e.s,e.l,e.opacity);if(e instanceof Ai||(e=Io(e)),!e)return new Qn;if(e instanceof Qn)return e;e=e.rgb();var t=e.r/255,r=e.g/255,o=e.b/255,s=Math.min(t,r,o),i=Math.max(t,r,o),a=NaN,l=i-s,c=(i+s)/2;return l?(t===i?a=(r-o)/l+(r<o)*6:r===i?a=(o-t)/l+2:a=(t-r)/l+4,l/=c<.5?i+s:2-i-s,a*=60):l=c>0&&c<1?0:a,new Qn(a,l,c,e.opacity)}function yk(e,t,r,o){return arguments.length===1?Dg(e):new Qn(e,t,r,o??1)}function Qn(e,t,r,o){this.h=+e,this.s=+t,this.l=+r,this.opacity=+o}Vu(Qn,yk,Lg(Ai,{brighter(e){return e=e==null?Oa:Math.pow(Oa,e),new Qn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?pi:Math.pow(pi,e),new Qn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,o=r+(r<.5?r:1-r)*t,s=2*r-o;return new Cn(ac(e>=240?e-240:e+120,s,o),ac(e,s,o),ac(e<120?e+240:e-120,s,o),this.opacity)},clamp(){return new Qn(hf(this.h),Xi(this.s),Xi(this.l),La(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=La(this.opacity);return`${e===1?"hsl(":"hsla("}${hf(this.h)}, ${Xi(this.s)*100}%, ${Xi(this.l)*100}%${e===1?")":`, ${e})`}`}}));function hf(e){return e=(e||0)%360,e<0?e+360:e}function Xi(e){return Math.max(0,Math.min(1,e||0))}function ac(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const Wu=e=>()=>e;function wk(e,t){return function(r){return e+r*t}}function bk(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(o){return Math.pow(e+o*t,r)}}function xk(e){return(e=+e)==1?Rg:function(t,r){return r-t?bk(t,r,e):Wu(isNaN(t)?r:t)}}function Rg(e,t){var r=t-e;return r?wk(e,r):Wu(isNaN(e)?t:e)}const Da=(function e(t){var r=xk(t);function o(s,i){var a=r((s=Qc(s)).r,(i=Qc(i)).r),l=r(s.g,i.g),c=r(s.b,i.b),f=Rg(s.opacity,i.opacity);return function(u){return s.r=a(u),s.g=l(u),s.b=c(u),s.opacity=f(u),s+""}}return o.gamma=e,o})(1);function kk(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,o=t.slice(),s;return function(i){for(s=0;s<r;++s)o[s]=e[s]*(1-i)+t[s]*i;return o}}function Ek(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Sk(e,t){var r=t?t.length:0,o=e?Math.min(r,e.length):0,s=new Array(o),i=new Array(r),a;for(a=0;a<o;++a)s[a]=ri(e[a],t[a]);for(;a<r;++a)i[a]=t[a];return function(l){for(a=0;a<o;++a)i[a]=s[a](l);return i}}function Mk(e,t){var r=new Date;return e=+e,t=+t,function(o){return r.setTime(e*(1-o)+t*o),r}}function ur(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}function Tk(e,t){var r={},o={},s;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(s in t)s in e?r[s]=ri(e[s],t[s]):o[s]=t[s];return function(i){for(s in r)o[s]=r[s](i);return o}}var Jc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,lc=new RegExp(Jc.source,"g");function Ck(e){return function(){return e}}function Nk(e){return function(t){return e(t)+""}}function zg(e,t){var r=Jc.lastIndex=lc.lastIndex=0,o,s,i,a=-1,l=[],c=[];for(e=e+"",t=t+"";(o=Jc.exec(e))&&(s=lc.exec(t));)(i=s.index)>r&&(i=t.slice(r,i),l[a]?l[a]+=i:l[++a]=i),(o=o[0])===(s=s[0])?l[a]?l[a]+=s:l[++a]=s:(l[++a]=null,c.push({i:a,x:ur(o,s)})),r=lc.lastIndex;return r<t.length&&(i=t.slice(r),l[a]?l[a]+=i:l[++a]=i),l.length<2?c[0]?Nk(c[0].x):Ck(t):(t=c.length,function(f){for(var u=0,h;u<t;++u)l[(h=c[u]).i]=h.x(f);return l.join("")})}function ri(e,t){var r=typeof t,o;return t==null||r==="boolean"?Wu(t):(r==="number"?ur:r==="string"?(o=Io(t))?(t=o,Da):zg:t instanceof Io?Da:t instanceof Date?Mk:Ek(t)?kk:Array.isArray(t)?Sk:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?Tk:ur)(e,t)}var gf=180/Math.PI,$c={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Hg(e,t,r,o,s,i){var a,l,c;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(c=e*r+t*o)&&(r-=e*c,o-=t*c),(l=Math.sqrt(r*r+o*o))&&(r/=l,o/=l,c/=l),e*o<t*r&&(e=-e,t=-t,c=-c,a=-a),{translateX:s,translateY:i,rotate:Math.atan2(t,e)*gf,skewX:Math.atan(c)*gf,scaleX:a,scaleY:l}}var Gi;function Ik(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?$c:Hg(t.a,t.b,t.c,t.d,t.e,t.f)}function Ak(e){return e==null||(Gi||(Gi=document.createElementNS("http://www.w3.org/2000/svg","g")),Gi.setAttribute("transform",e),!(e=Gi.transform.baseVal.consolidate()))?$c:(e=e.matrix,Hg(e.a,e.b,e.c,e.d,e.e,e.f))}function qg(e,t,r,o){function s(f){return f.length?f.pop()+" ":""}function i(f,u,h,d,g,p){if(f!==h||u!==d){var y=g.push("translate(",null,t,null,r);p.push({i:y-4,x:ur(f,h)},{i:y-2,x:ur(u,d)})}else(h||d)&&g.push("translate("+h+t+d+r)}function a(f,u,h,d){f!==u?(f-u>180?u+=360:u-f>180&&(f+=360),d.push({i:h.push(s(h)+"rotate(",null,o)-2,x:ur(f,u)})):u&&h.push(s(h)+"rotate("+u+o)}function l(f,u,h,d){f!==u?d.push({i:h.push(s(h)+"skewX(",null,o)-2,x:ur(f,u)}):u&&h.push(s(h)+"skewX("+u+o)}function c(f,u,h,d,g,p){if(f!==h||u!==d){var y=g.push(s(g)+"scale(",null,",",null,")");p.push({i:y-4,x:ur(f,h)},{i:y-2,x:ur(u,d)})}else(h!==1||d!==1)&&g.push(s(g)+"scale("+h+","+d+")")}return function(f,u){var h=[],d=[];return f=e(f),u=e(u),i(f.translateX,f.translateY,u.translateX,u.translateY,h,d),a(f.rotate,u.rotate,h,d),l(f.skewX,u.skewX,h,d),c(f.scaleX,f.scaleY,u.scaleX,u.scaleY,h,d),f=u=null,function(g){for(var p=-1,y=d.length,w;++p<y;)h[(w=d[p]).i]=w.x(g);return h.join("")}}}var Pk=qg(Ik,"px, ","px)","deg)"),Ok=qg(Ak,", ",")",")"),Lk=1e-12;function pf(e){return((e=Math.exp(e))+1/e)/2}function Dk(e){return((e=Math.exp(e))-1/e)/2}function Rk(e){return((e=Math.exp(2*e))-1)/(e+1)}const fa=(function e(t,r,o){function s(i,a){var l=i[0],c=i[1],f=i[2],u=a[0],h=a[1],d=a[2],g=u-l,p=h-c,y=g*g+p*p,w,M;if(y<Lk)M=Math.log(d/f)/t,w=function(j){return[l+j*g,c+j*p,f*Math.exp(t*j*M)]};else{var I=Math.sqrt(y),C=(d*d-f*f+o*y)/(2*f*r*I),T=(d*d-f*f-o*y)/(2*d*r*I),A=Math.log(Math.sqrt(C*C+1)-C),D=Math.log(Math.sqrt(T*T+1)-T);M=(D-A)/t,w=function(j){var R=j*M,z=pf(A),W=f/(r*I)*(z*Rk(t*R+A)-Dk(A));return[l+W*g,c+W*p,f*z/pf(t*R+A)]}}return w.duration=M*1e3*t/Math.SQRT2,w}return s.rho=function(i){var a=Math.max(.001,+i),l=a*a,c=l*l;return e(a,l,c)},s})(Math.SQRT2,2,4);var us=0,Us=0,Rs=0,jg=1e3,Ra,Qs,za=0,Ao=0,ll=0,_i=typeof performance=="object"&&performance.now?performance:Date,Fg=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Ku(){return Ao||(Fg(zk),Ao=_i.now()+ll)}function zk(){Ao=0}function Ha(){this._call=this._time=this._next=null}Ha.prototype=Bg.prototype={constructor:Ha,restart:function(e,t,r){if(typeof e!="function")throw new TypeError("callback is not a function");r=(r==null?Ku():+r)+(t==null?0:+t),!this._next&&Qs!==this&&(Qs?Qs._next=this:Ra=this,Qs=this),this._call=e,this._time=r,eu()},stop:function(){this._call&&(this._call=null,this._time=1/0,eu())}};function Bg(e,t,r){var o=new Ha;return o.restart(e,t,r),o}function Hk(){Ku(),++us;for(var e=Ra,t;e;)(t=Ao-e._time)>=0&&e._call.call(void 0,t),e=e._next;--us}function mf(){Ao=(za=_i.now())+ll,us=Us=0;try{Hk()}finally{us=0,jk(),Ao=0}}function qk(){var e=_i.now(),t=e-za;t>jg&&(ll-=t,za=e)}function jk(){for(var e,t=Ra,r,o=1/0;t;)t._call?(o>t._time&&(o=t._time),e=t,t=t._next):(r=t._next,t._next=null,t=e?e._next=r:Ra=r);Qs=e,eu(o)}function eu(e){if(!us){Us&&(Us=clearTimeout(Us));var t=e-Ao;t>24?(e<1/0&&(Us=setTimeout(mf,e-_i.now()-ll)),Rs&&(Rs=clearInterval(Rs))):(Rs||(za=_i.now(),Rs=setInterval(qk,jg)),us=1,Fg(mf))}}function _f(e,t,r){var o=new Ha;return t=t==null?0:+t,o.restart(s=>{o.stop(),e(s+t)},t,r),o}var Fk=il("start","end","cancel","interrupt"),Bk=[],Vg=0,yf=1,tu=2,va=3,wf=4,nu=5,ha=6;function cl(e,t,r,o,s,i){var a=e.__transition;if(!a)e.__transition={};else if(r in a)return;Vk(e,r,{name:t,index:o,group:s,on:Fk,tween:Bk,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:Vg})}function Yu(e,t){var r=sr(e,t);if(r.state>Vg)throw new Error("too late; already scheduled");return r}function Sr(e,t){var r=sr(e,t);if(r.state>va)throw new Error("too late; already running");return r}function sr(e,t){var r=e.__transition;if(!r||!(r=r[t]))throw new Error("transition not found");return r}function Vk(e,t,r){var o=e.__transition,s;o[t]=r,r.timer=Bg(i,0,r.time);function i(f){r.state=yf,r.timer.restart(a,r.delay,r.time),r.delay<=f&&a(f-r.delay)}function a(f){var u,h,d,g;if(r.state!==yf)return c();for(u in o)if(g=o[u],g.name===r.name){if(g.state===va)return _f(a);g.state===wf?(g.state=ha,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete o[u]):+u<t&&(g.state=ha,g.timer.stop(),g.on.call("cancel",e,e.__data__,g.index,g.group),delete o[u])}if(_f(function(){r.state===va&&(r.state=wf,r.timer.restart(l,r.delay,r.time),l(f))}),r.state=tu,r.on.call("start",e,e.__data__,r.index,r.group),r.state===tu){for(r.state=va,s=new Array(d=r.tween.length),u=0,h=-1;u<d;++u)(g=r.tween[u].value.call(e,e.__data__,r.index,r.group))&&(s[++h]=g);s.length=h+1}}function l(f){for(var u=f<r.duration?r.ease.call(null,f/r.duration):(r.timer.restart(c),r.state=nu,1),h=-1,d=s.length;++h<d;)s[h].call(e,u);r.state===nu&&(r.on.call("end",e,e.__data__,r.index,r.group),c())}function c(){r.state=ha,r.timer.stop(),delete o[t];for(var f in o)return;delete e.__transition}}function ga(e,t){var r=e.__transition,o,s,i=!0,a;if(r){t=t==null?null:t+"";for(a in r){if((o=r[a]).name!==t){i=!1;continue}s=o.state>tu&&o.state<nu,o.state=ha,o.timer.stop(),o.on.call(s?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete r[a]}i&&delete e.__transition}}function Wk(e){return this.each(function(){ga(this,e)})}function Kk(e,t){var r,o;return function(){var s=Sr(this,e),i=s.tween;if(i!==r){o=r=i;for(var a=0,l=o.length;a<l;++a)if(o[a].name===t){o=o.slice(),o.splice(a,1);break}}s.tween=o}}function Yk(e,t,r){var o,s;if(typeof r!="function")throw new Error;return function(){var i=Sr(this,e),a=i.tween;if(a!==o){s=(o=a).slice();for(var l={name:t,value:r},c=0,f=s.length;c<f;++c)if(s[c].name===t){s[c]=l;break}c===f&&s.push(l)}i.tween=s}}function Xk(e,t){var r=this._id;if(e+="",arguments.length<2){for(var o=sr(this.node(),r).tween,s=0,i=o.length,a;s<i;++s)if((a=o[s]).name===e)return a.value;return null}return this.each((t==null?Kk:Yk)(r,e,t))}function Xu(e,t,r){var o=e._id;return e.each(function(){var s=Sr(this,o);(s.value||(s.value={}))[t]=r.apply(this,arguments)}),function(s){return sr(s,o).value[t]}}function Wg(e,t){var r;return(typeof t=="number"?ur:t instanceof Io?Da:(r=Io(t))?(t=r,Da):zg)(e,t)}function Gk(e){return function(){this.removeAttribute(e)}}function Zk(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Uk(e,t,r){var o,s=r+"",i;return function(){var a=this.getAttribute(e);return a===s?null:a===o?i:i=t(o=a,r)}}function Qk(e,t,r){var o,s=r+"",i;return function(){var a=this.getAttributeNS(e.space,e.local);return a===s?null:a===o?i:i=t(o=a,r)}}function Jk(e,t,r){var o,s,i;return function(){var a,l=r(this),c;return l==null?void this.removeAttribute(e):(a=this.getAttribute(e),c=l+"",a===c?null:a===o&&c===s?i:(s=c,i=t(o=a,l)))}}function $k(e,t,r){var o,s,i;return function(){var a,l=r(this),c;return l==null?void this.removeAttributeNS(e.space,e.local):(a=this.getAttributeNS(e.space,e.local),c=l+"",a===c?null:a===o&&c===s?i:(s=c,i=t(o=a,l)))}}function eE(e,t){var r=al(e),o=r==="transform"?Ok:Wg;return this.attrTween(e,typeof t=="function"?(r.local?$k:Jk)(r,o,Xu(this,"attr."+e,t)):t==null?(r.local?Zk:Gk)(r):(r.local?Qk:Uk)(r,o,t))}function tE(e,t){return function(r){this.setAttribute(e,t.call(this,r))}}function nE(e,t){return function(r){this.setAttributeNS(e.space,e.local,t.call(this,r))}}function rE(e,t){var r,o;function s(){var i=t.apply(this,arguments);return i!==o&&(r=(o=i)&&nE(e,i)),r}return s._value=t,s}function oE(e,t){var r,o;function s(){var i=t.apply(this,arguments);return i!==o&&(r=(o=i)&&tE(e,i)),r}return s._value=t,s}function sE(e,t){var r="attr."+e;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;var o=al(e);return this.tween(r,(o.local?rE:oE)(o,t))}function iE(e,t){return function(){Yu(this,e).delay=+t.apply(this,arguments)}}function aE(e,t){return t=+t,function(){Yu(this,e).delay=t}}function lE(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?iE:aE)(t,e)):sr(this.node(),t).delay}function cE(e,t){return function(){Sr(this,e).duration=+t.apply(this,arguments)}}function uE(e,t){return t=+t,function(){Sr(this,e).duration=t}}function dE(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?cE:uE)(t,e)):sr(this.node(),t).duration}function fE(e,t){if(typeof t!="function")throw new Error;return function(){Sr(this,e).ease=t}}function vE(e){var t=this._id;return arguments.length?this.each(fE(t,e)):sr(this.node(),t).ease}function hE(e,t){return function(){var r=t.apply(this,arguments);if(typeof r!="function")throw new Error;Sr(this,e).ease=r}}function gE(e){if(typeof e!="function")throw new Error;return this.each(hE(this._id,e))}function pE(e){typeof e!="function"&&(e=xg(e));for(var t=this._groups,r=t.length,o=new Array(r),s=0;s<r;++s)for(var i=t[s],a=i.length,l=o[s]=[],c,f=0;f<a;++f)(c=i[f])&&e.call(c,c.__data__,f,i)&&l.push(c);return new Fr(o,this._parents,this._name,this._id)}function mE(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,r=e._groups,o=t.length,s=r.length,i=Math.min(o,s),a=new Array(o),l=0;l<i;++l)for(var c=t[l],f=r[l],u=c.length,h=a[l]=new Array(u),d,g=0;g<u;++g)(d=c[g]||f[g])&&(h[g]=d);for(;l<o;++l)a[l]=t[l];return new Fr(a,this._parents,this._name,this._id)}function _E(e){return(e+"").trim().split(/^|\s+/).every(function(t){var r=t.indexOf(".");return r>=0&&(t=t.slice(0,r)),!t||t==="start"})}function yE(e,t,r){var o,s,i=_E(t)?Yu:Sr;return function(){var a=i(this,e),l=a.on;l!==o&&(s=(o=l).copy()).on(t,r),a.on=s}}function wE(e,t){var r=this._id;return arguments.length<2?sr(this.node(),r).on.on(e):this.each(yE(r,e,t))}function bE(e){return function(){var t=this.parentNode;for(var r in this.__transition)if(+r!==e)return;t&&t.removeChild(this)}}function xE(){return this.on("end.remove",bE(this._id))}function kE(e){var t=this._name,r=this._id;typeof e!="function"&&(e=Fu(e));for(var o=this._groups,s=o.length,i=new Array(s),a=0;a<s;++a)for(var l=o[a],c=l.length,f=i[a]=new Array(c),u,h,d=0;d<c;++d)(u=l[d])&&(h=e.call(u,u.__data__,d,l))&&("__data__"in u&&(h.__data__=u.__data__),f[d]=h,cl(f[d],t,r,d,f,sr(u,r)));return new Fr(i,this._parents,t,r)}function EE(e){var t=this._name,r=this._id;typeof e!="function"&&(e=bg(e));for(var o=this._groups,s=o.length,i=[],a=[],l=0;l<s;++l)for(var c=o[l],f=c.length,u,h=0;h<f;++h)if(u=c[h]){for(var d=e.call(u,u.__data__,h,c),g,p=sr(u,r),y=0,w=d.length;y<w;++y)(g=d[y])&&cl(g,t,r,y,d,p);i.push(d),a.push(u)}return new Fr(i,a,t,r)}var SE=Ii.prototype.constructor;function ME(){return new SE(this._groups,this._parents)}function TE(e,t){var r,o,s;return function(){var i=cs(this,e),a=(this.style.removeProperty(e),cs(this,e));return i===a?null:i===r&&a===o?s:s=t(r=i,o=a)}}function Kg(e){return function(){this.style.removeProperty(e)}}function CE(e,t,r){var o,s=r+"",i;return function(){var a=cs(this,e);return a===s?null:a===o?i:i=t(o=a,r)}}function NE(e,t,r){var o,s,i;return function(){var a=cs(this,e),l=r(this),c=l+"";return l==null&&(c=l=(this.style.removeProperty(e),cs(this,e))),a===c?null:a===o&&c===s?i:(s=c,i=t(o=a,l))}}function IE(e,t){var r,o,s,i="style."+t,a="end."+i,l;return function(){var c=Sr(this,e),f=c.on,u=c.value[i]==null?l||(l=Kg(t)):void 0;(f!==r||s!==u)&&(o=(r=f).copy()).on(a,s=u),c.on=o}}function AE(e,t,r){var o=(e+="")=="transform"?Pk:Wg;return t==null?this.styleTween(e,TE(e,o)).on("end.style."+e,Kg(e)):typeof t=="function"?this.styleTween(e,NE(e,o,Xu(this,"style."+e,t))).each(IE(this._id,e)):this.styleTween(e,CE(e,o,t),r).on("end.style."+e,null)}function PE(e,t,r){return function(o){this.style.setProperty(e,t.call(this,o),r)}}function OE(e,t,r){var o,s;function i(){var a=t.apply(this,arguments);return a!==s&&(o=(s=a)&&PE(e,a,r)),o}return i._value=t,i}function LE(e,t,r){var o="style."+(e+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(t==null)return this.tween(o,null);if(typeof t!="function")throw new Error;return this.tween(o,OE(e,t,r??""))}function DE(e){return function(){this.textContent=e}}function RE(e){return function(){var t=e(this);this.textContent=t??""}}function zE(e){return this.tween("text",typeof e=="function"?RE(Xu(this,"text",e)):DE(e==null?"":e+""))}function HE(e){return function(t){this.textContent=e.call(this,t)}}function qE(e){var t,r;function o(){var s=e.apply(this,arguments);return s!==r&&(t=(r=s)&&HE(s)),t}return o._value=e,o}function jE(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,qE(e))}function FE(){for(var e=this._name,t=this._id,r=Yg(),o=this._groups,s=o.length,i=0;i<s;++i)for(var a=o[i],l=a.length,c,f=0;f<l;++f)if(c=a[f]){var u=sr(c,t);cl(c,e,r,f,a,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Fr(o,this._parents,e,r)}function BE(){var e,t,r=this,o=r._id,s=r.size();return new Promise(function(i,a){var l={value:a},c={value:function(){--s===0&&i()}};r.each(function(){var f=Sr(this,o),u=f.on;u!==e&&(t=(e=u).copy(),t._.cancel.push(l),t._.interrupt.push(l),t._.end.push(c)),f.on=t}),s===0&&i()})}var VE=0;function Fr(e,t,r,o){this._groups=e,this._parents=t,this._name=r,this._id=o}function Yg(){return++VE}var Ir=Ii.prototype;Fr.prototype={constructor:Fr,select:kE,selectAll:EE,selectChild:Ir.selectChild,selectChildren:Ir.selectChildren,filter:pE,merge:mE,selection:ME,transition:FE,call:Ir.call,nodes:Ir.nodes,node:Ir.node,size:Ir.size,empty:Ir.empty,each:Ir.each,on:wE,attr:eE,attrTween:sE,style:AE,styleTween:LE,text:zE,textTween:jE,remove:xE,tween:Xk,delay:lE,duration:dE,ease:vE,easeVarying:gE,end:BE,[Symbol.iterator]:Ir[Symbol.iterator]};function WE(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var KE={time:null,delay:0,duration:250,ease:WE};function YE(e,t){for(var r;!(r=e.__transition)||!(r=r[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return r}function XE(e){var t,r;e instanceof Fr?(t=e._id,e=e._name):(t=Yg(),(r=KE).time=Ku(),e=e==null?null:e+"");for(var o=this._groups,s=o.length,i=0;i<s;++i)for(var a=o[i],l=a.length,c,f=0;f<l;++f)(c=a[f])&&cl(c,e,t,f,a,r||YE(c,t));return new Fr(o,this._parents,e,t)}Ii.prototype.interrupt=Wk;Ii.prototype.transition=XE;const Zi=e=>()=>e;function GE(e,{sourceEvent:t,target:r,transform:o,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:s}})}function Lr(e,t,r){this.k=e,this.x=t,this.y=r}Lr.prototype={constructor:Lr,scale:function(e){return e===1?this:new Lr(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Lr(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var ul=new Lr(1,0,0);Xg.prototype=Lr.prototype;function Xg(e){for(;!e.__zoom;)if(!(e=e.parentNode))return ul;return e.__zoom}function cc(e){e.stopImmediatePropagation()}function zs(e){e.preventDefault(),e.stopImmediatePropagation()}function ZE(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function UE(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function bf(){return this.__zoom||ul}function QE(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function JE(){return navigator.maxTouchPoints||"ontouchstart"in this}function $E(e,t,r){var o=e.invertX(t[0][0])-r[0][0],s=e.invertX(t[1][0])-r[1][0],i=e.invertY(t[0][1])-r[0][1],a=e.invertY(t[1][1])-r[1][1];return e.translate(s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s),a>i?(i+a)/2:Math.min(0,i)||Math.max(0,a))}function eS(){var e=ZE,t=UE,r=$E,o=QE,s=JE,i=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],l=250,c=fa,f=il("start","zoom","end"),u,h,d,g=500,p=150,y=0,w=10;function M(b){b.property("__zoom",bf).on("wheel.zoom",R,{passive:!1}).on("mousedown.zoom",z).on("dblclick.zoom",W).filter(s).on("touchstart.zoom",H).on("touchmove.zoom",B).on("touchend.zoom touchcancel.zoom",k).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}M.transform=function(b,E,q,O){var K=b.selection?b.selection():b;K.property("__zoom",bf),b!==K?A(b,E,q,O):K.interrupt().each(function(){D(this,arguments).event(O).start().zoom(null,typeof E=="function"?E.apply(this,arguments):E).end()})},M.scaleBy=function(b,E,q,O){M.scaleTo(b,function(){var K=this.__zoom.k,Y=typeof E=="function"?E.apply(this,arguments):E;return K*Y},q,O)},M.scaleTo=function(b,E,q,O){M.transform(b,function(){var K=t.apply(this,arguments),Y=this.__zoom,G=q==null?T(K):typeof q=="function"?q.apply(this,arguments):q,U=Y.invert(G),X=typeof E=="function"?E.apply(this,arguments):E;return r(C(I(Y,X),G,U),K,a)},q,O)},M.translateBy=function(b,E,q,O){M.transform(b,function(){return r(this.__zoom.translate(typeof E=="function"?E.apply(this,arguments):E,typeof q=="function"?q.apply(this,arguments):q),t.apply(this,arguments),a)},null,O)},M.translateTo=function(b,E,q,O,K){M.transform(b,function(){var Y=t.apply(this,arguments),G=this.__zoom,U=O==null?T(Y):typeof O=="function"?O.apply(this,arguments):O;return r(ul.translate(U[0],U[1]).scale(G.k).translate(typeof E=="function"?-E.apply(this,arguments):-E,typeof q=="function"?-q.apply(this,arguments):-q),Y,a)},O,K)};function I(b,E){return E=Math.max(i[0],Math.min(i[1],E)),E===b.k?b:new Lr(E,b.x,b.y)}function C(b,E,q){var O=E[0]-q[0]*b.k,K=E[1]-q[1]*b.k;return O===b.x&&K===b.y?b:new Lr(b.k,O,K)}function T(b){return[(+b[0][0]+ +b[1][0])/2,(+b[0][1]+ +b[1][1])/2]}function A(b,E,q,O){b.on("start.zoom",function(){D(this,arguments).event(O).start()}).on("interrupt.zoom end.zoom",function(){D(this,arguments).event(O).end()}).tween("zoom",function(){var K=this,Y=arguments,G=D(K,Y).event(O),U=t.apply(K,Y),X=q==null?T(U):typeof q=="function"?q.apply(K,Y):q,$=Math.max(U[1][0]-U[0][0],U[1][1]-U[0][1]),Z=K.__zoom,Q=typeof E=="function"?E.apply(K,Y):E,F=c(Z.invert(X).concat($/Z.k),Q.invert(X).concat($/Q.k));return function(J){if(J===1)J=Q;else{var te=F(J),ie=$/te[2];J=new Lr(ie,X[0]-te[0]*ie,X[1]-te[1]*ie)}G.zoom(null,J)}})}function D(b,E,q){return!q&&b.__zooming||new j(b,E)}function j(b,E){this.that=b,this.args=E,this.active=0,this.sourceEvent=null,this.extent=t.apply(b,E),this.taps=0}j.prototype={event:function(b){return b&&(this.sourceEvent=b),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(b,E){return this.mouse&&b!=="mouse"&&(this.mouse[1]=E.invert(this.mouse[0])),this.touch0&&b!=="touch"&&(this.touch0[1]=E.invert(this.touch0[0])),this.touch1&&b!=="touch"&&(this.touch1[1]=E.invert(this.touch1[0])),this.that.__zoom=E,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(b){var E=Un(this.that).datum();f.call(b,this.that,new GE(b,{sourceEvent:this.sourceEvent,target:M,transform:this.that.__zoom,dispatch:f}),E)}};function R(b,...E){if(!e.apply(this,arguments))return;var q=D(this,E).event(b),O=this.__zoom,K=Math.max(i[0],Math.min(i[1],O.k*Math.pow(2,o.apply(this,arguments)))),Y=lr(b);if(q.wheel)(q.mouse[0][0]!==Y[0]||q.mouse[0][1]!==Y[1])&&(q.mouse[1]=O.invert(q.mouse[0]=Y)),clearTimeout(q.wheel);else{if(O.k===K)return;q.mouse=[Y,O.invert(Y)],ga(this),q.start()}zs(b),q.wheel=setTimeout(G,p),q.zoom("mouse",r(C(I(O,K),q.mouse[0],q.mouse[1]),q.extent,a));function G(){q.wheel=null,q.end()}}function z(b,...E){if(d||!e.apply(this,arguments))return;var q=b.currentTarget,O=D(this,E,!0).event(b),K=Un(b.view).on("mousemove.zoom",X,!0).on("mouseup.zoom",$,!0),Y=lr(b,q),G=b.clientX,U=b.clientY;Pg(b.view),cc(b),O.mouse=[Y,this.__zoom.invert(Y)],ga(this),O.start();function X(Z){if(zs(Z),!O.moved){var Q=Z.clientX-G,F=Z.clientY-U;O.moved=Q*Q+F*F>y}O.event(Z).zoom("mouse",r(C(O.that.__zoom,O.mouse[0]=lr(Z,q),O.mouse[1]),O.extent,a))}function $(Z){K.on("mousemove.zoom mouseup.zoom",null),Og(Z.view,O.moved),zs(Z),O.event(Z).end()}}function W(b,...E){if(e.apply(this,arguments)){var q=this.__zoom,O=lr(b.changedTouches?b.changedTouches[0]:b,this),K=q.invert(O),Y=q.k*(b.shiftKey?.5:2),G=r(C(I(q,Y),O,K),t.apply(this,E),a);zs(b),l>0?Un(this).transition().duration(l).call(A,G,O,b):Un(this).call(M.transform,G,O,b)}}function H(b,...E){if(e.apply(this,arguments)){var q=b.touches,O=q.length,K=D(this,E,b.changedTouches.length===O).event(b),Y,G,U,X;for(cc(b),G=0;G<O;++G)U=q[G],X=lr(U,this),X=[X,this.__zoom.invert(X),U.identifier],K.touch0?!K.touch1&&K.touch0[2]!==X[2]&&(K.touch1=X,K.taps=0):(K.touch0=X,Y=!0,K.taps=1+!!u);u&&(u=clearTimeout(u)),Y&&(K.taps<2&&(h=X[0],u=setTimeout(function(){u=null},g)),ga(this),K.start())}}function B(b,...E){if(this.__zooming){var q=D(this,E).event(b),O=b.changedTouches,K=O.length,Y,G,U,X;for(zs(b),Y=0;Y<K;++Y)G=O[Y],U=lr(G,this),q.touch0&&q.touch0[2]===G.identifier?q.touch0[0]=U:q.touch1&&q.touch1[2]===G.identifier&&(q.touch1[0]=U);if(G=q.that.__zoom,q.touch1){var $=q.touch0[0],Z=q.touch0[1],Q=q.touch1[0],F=q.touch1[1],J=(J=Q[0]-$[0])*J+(J=Q[1]-$[1])*J,te=(te=F[0]-Z[0])*te+(te=F[1]-Z[1])*te;G=I(G,Math.sqrt(J/te)),U=[($[0]+Q[0])/2,($[1]+Q[1])/2],X=[(Z[0]+F[0])/2,(Z[1]+F[1])/2]}else if(q.touch0)U=q.touch0[0],X=q.touch0[1];else return;q.zoom("touch",r(C(G,U,X),q.extent,a))}}function k(b,...E){if(this.__zooming){var q=D(this,E).event(b),O=b.changedTouches,K=O.length,Y,G;for(cc(b),d&&clearTimeout(d),d=setTimeout(function(){d=null},g),Y=0;Y<K;++Y)G=O[Y],q.touch0&&q.touch0[2]===G.identifier?delete q.touch0:q.touch1&&q.touch1[2]===G.identifier&&delete q.touch1;if(q.touch1&&!q.touch0&&(q.touch0=q.touch1,delete q.touch1),q.touch0)q.touch0[1]=this.__zoom.invert(q.touch0[0]);else if(q.end(),q.taps===2&&(G=lr(G,this),Math.hypot(h[0]-G[0],h[1]-G[1])<w)){var U=Un(this).on("dblclick.zoom");U&&U.apply(this,arguments)}}}return M.wheelDelta=function(b){return arguments.length?(o=typeof b=="function"?b:Zi(+b),M):o},M.filter=function(b){return arguments.length?(e=typeof b=="function"?b:Zi(!!b),M):e},M.touchable=function(b){return arguments.length?(s=typeof b=="function"?b:Zi(!!b),M):s},M.extent=function(b){return arguments.length?(t=typeof b=="function"?b:Zi([[+b[0][0],+b[0][1]],[+b[1][0],+b[1][1]]]),M):t},M.scaleExtent=function(b){return arguments.length?(i[0]=+b[0],i[1]=+b[1],M):[i[0],i[1]]},M.translateExtent=function(b){return arguments.length?(a[0][0]=+b[0][0],a[1][0]=+b[1][0],a[0][1]=+b[0][1],a[1][1]=+b[1][1],M):[[a[0][0],a[0][1]],[a[1][0],a[1][1]]]},M.constrain=function(b){return arguments.length?(r=b,M):r},M.duration=function(b){return arguments.length?(l=+b,M):l},M.interpolate=function(b){return arguments.length?(c=b,M):c},M.on=function(){var b=f.on.apply(f,arguments);return b===f?M:b},M.clickDistance=function(b){return arguments.length?(y=(b=+b)*b,M):Math.sqrt(y)},M.tapDistance=function(b){return arguments.length?(w=+b,M):w},M}const Po={error001:(e="react")=>`Seems like you have not used ${e==="svelte"?"SvelteFlowProvider":"ReactFlowProvider"} as an ancestor. Help: https://${e}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:r,targetHandle:o})=>`Couldn't create edge for ${e} handle id: "${e==="source"?r:o}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},ru=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Gg=["Enter"," ","Escape"],tS={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:r})=>`Moved selected node ${e}. New position, x: ${t}, y: ${r}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var ds;(function(e){e.Strict="strict",e.Loose="loose"})(ds||(ds={}));var $o;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})($o||($o={}));var qa;(function(e){e.Partial="partial",e.Full="full"})(qa||(qa={}));const ou={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var eo;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(eo||(eo={}));var ja;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(ja||(ja={}));var Ve;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(Ve||(Ve={}));const xf={[Ve.Left]:Ve.Right,[Ve.Right]:Ve.Left,[Ve.Top]:Ve.Bottom,[Ve.Bottom]:Ve.Top},Zg=e=>!!e&&typeof e=="object"&&"id"in e&&"source"in e&&"target"in e,nS=e=>!!e&&typeof e=="object"&&"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Gu=e=>!!e&&typeof e=="object"&&"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Pi=(e,t=[0,0])=>{const{width:r,height:o}=Vr(e),s=e.origin??t,i=r*s[0],a=o*s[1];return{x:e.position.x-i,y:e.position.y-a}},rS=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};let r=!1;const o=e.reduce((s,i)=>{const a=typeof i=="string";let l=!t.nodeLookup&&!a?i:void 0;return t.nodeLookup&&(l=a?t.nodeLookup.get(i):Gu(i)?i:t.nodeLookup.get(i.id)),l?(r=!0,fl(s,Fa(l,t.nodeOrigin))):s},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return r?vl(o):{x:0,y:0,width:0,height:0}},dl=(e,t={})=>{let r={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return e.forEach(s=>{(t.filter===void 0||t.filter(s))&&(r=fl(r,Fa(s)),o=!0)}),o?vl(r):{x:0,y:0,width:0,height:0}},Zu=(e,t,[r,o,s]=[0,0,1],i=!1,a=!1)=>{const l=(t.x-r)/s,c=(t.y-o)/s,f=t.width/s,u=t.height/s,h=[];for(const d of e.values()){const{measured:g,selectable:p=!0,hidden:y=!1}=d;if(a&&!p||y)continue;const w=g.width??d.width??d.initialWidth??0,M=g.height??d.height??d.initialHeight??0,{x:I,y:C}=d.internals.positionAbsolute,T=Jg(l,c,f,u,I,C,w,M),A=w*M,D=i&&T>0;(!d.internals.handleBounds||D||T>=A||d.dragging)&&h.push(d)}return h},oS=(e,t)=>{const r=new Set;return e.forEach(o=>{r.add(o.id)}),t.filter(o=>r.has(o.source)||r.has(o.target))};function sS(e,t){const r=new Map,o=t?.nodes?new Set(t.nodes.map(s=>s.id)):null;return e.forEach(s=>{let i;if(t?.includeHiddenNodes){const{width:a,height:l}=Vr(s);i=a>0&&l>0}else i=!!(s.measured.width&&s.measured.height&&!s.hidden);i&&(!o||o.has(s.id))&&r.set(s.id,s)}),r}async function iS({nodes:e,width:t,height:r,panZoom:o,minZoom:s,maxZoom:i},a){if(e.size===0)return!0;const l=sS(e,a),c=dl(l),f=Qu(c,t,r,a?.minZoom??s,a?.maxZoom??i,a?.padding??.1);return await o.setViewport(f,{duration:a?.duration,ease:a?.ease,interpolate:a?.interpolate}),!0}function Ug({nodeId:e,nextPosition:t,nodeLookup:r,nodeOrigin:o=[0,0],nodeExtent:s,onError:i}){const a=r.get(e),l=a.parentId?r.get(a.parentId):void 0,{x:c,y:f}=l?l.internals.positionAbsolute:{x:0,y:0},u=a.origin??o;let h=a.extent||s;if(a.extent==="parent"&&!a.expandParent)if(!l)i?.("005",Po.error005());else{const{width:g,height:p}=Vr(l);g&&p&&(h=[[c,f],[c+g,f+p]])}else l&&hs(a.extent)&&(h=[[a.extent[0][0]+c,a.extent[0][1]+f],[a.extent[1][0]+c,a.extent[1][1]+f]]);const d=hs(h)?Oo(t,h,a.measured):t;return(a.measured.width===void 0||a.measured.height===void 0)&&i?.("015",Po.error015()),{position:{x:d.x-c+(a.measured.width??0)*u[0],y:d.y-f+(a.measured.height??0)*u[1]},positionAbsolute:d}}async function aS({nodesToRemove:e=[],edgesToRemove:t=[],nodes:r,edges:o,onBeforeDelete:s}){const i=new Set(e.map(d=>d.id)),a=[];for(const d of r){if(d.deletable===!1)continue;const g=i.has(d.id),p=!g&&d.parentId&&a.find(y=>y.id===d.parentId);(g||p)&&a.push(d)}const l=new Set(t.map(d=>d.id)),c=o.filter(d=>d.deletable!==!1),u=oS(a,c);for(const d of c)l.has(d.id)&&!u.find(p=>p.id===d.id)&&u.push(d);if(!s)return{edges:u,nodes:a};const h=await s({nodes:a,edges:u});return typeof h=="boolean"?h?{edges:u,nodes:a}:{edges:[],nodes:[]}:h}const fs=(e,t=0,r=1)=>Math.min(Math.max(e,t),r),Oo=(e={x:0,y:0},t,r)=>({x:fs(e.x,t[0][0],t[1][0]-(r?.width??0)),y:fs(e.y,t[0][1],t[1][1]-(r?.height??0))});function Qg(e,t,r){const{width:o,height:s}=Vr(r),{x:i,y:a}=r.internals.positionAbsolute;return Oo(e,[[i,a],[i+o,a+s]],t)}const kf=(e,t,r)=>e<t?fs(Math.abs(e-t),1,t)/t:e>r?-fs(Math.abs(e-r),1,t)/t:0,Uu=(e,t,r=15,o=40)=>{const s=kf(e.x,o,t.width-o)*r,i=kf(e.y,o,t.height-o)*r;return[s,i]},fl=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),su=({x:e,y:t,width:r,height:o})=>({x:e,y:t,x2:e+r,y2:t+o}),vl=({x:e,y:t,x2:r,y2:o})=>({x:e,y:t,width:r-e,height:o-t}),yi=(e,t=[0,0])=>{const{x:r,y:o}=Gu(e)?e.internals.positionAbsolute:Pi(e,t);return{x:r,y:o,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},Fa=(e,t=[0,0])=>{const{x:r,y:o}=Gu(e)?e.internals.positionAbsolute:Pi(e,t);return{x:r,y:o,x2:r+(e.measured?.width??e.width??e.initialWidth??0),y2:o+(e.measured?.height??e.height??e.initialHeight??0)}},lS=(e,t)=>vl(fl(su(e),su(t))),Jg=(e,t,r,o,s,i,a,l)=>{const c=Math.max(0,Math.min(e+r,s+a)-Math.max(e,s)),f=Math.max(0,Math.min(t+o,i+l)-Math.max(t,i));return Math.ceil(c*f)},Ba=(e,t)=>Jg(e.x,e.y,e.width,e.height,t.x,t.y,t.width,t.height),Ef=e=>Dr(e.width)&&Dr(e.height)&&Dr(e.x)&&Dr(e.y),Dr=e=>!isNaN(e)&&isFinite(e),$g=(e,t)=>(r,o)=>{},Oi=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Li=({x:e,y:t},[r,o,s],i=!1,a=[1,1])=>{const l={x:(e-r)/s,y:(t-o)/s};return i?Oi(l,a):l},vs=({x:e,y:t},[r,o,s])=>({x:e*s+r,y:t*s+o});function Bo(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const r=parseFloat(e);if(!Number.isNaN(r))return Math.floor(r)}if(typeof e=="string"&&e.endsWith("%")){const r=parseFloat(e);if(!Number.isNaN(r))return Math.floor(t*r*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function cS(e,t,r){if(typeof e=="string"||typeof e=="number"){const o=Bo(e,r),s=Bo(e,t);return{top:o,right:s,bottom:o,left:s,x:s*2,y:o*2}}if(typeof e=="object"){const o=Bo(e.top??e.y??0,r),s=Bo(e.bottom??e.y??0,r),i=Bo(e.left??e.x??0,t),a=Bo(e.right??e.x??0,t);return{top:o,right:a,bottom:s,left:i,x:i+a,y:o+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function uS(e,t,r,o,s,i){const{x:a,y:l}=vs(e,[t,r,o]),{x:c,y:f}=vs({x:e.x+e.width,y:e.y+e.height},[t,r,o]),u=s-c,h=i-f;return{left:Math.floor(a),top:Math.floor(l),right:Math.floor(u),bottom:Math.floor(h)}}const Qu=(e,t,r,o,s,i)=>{const a=cS(i,t,r),l=(t-a.x)/e.width,c=(r-a.y)/e.height,f=Math.min(l,c),u=fs(f,o,s),h=e.x+e.width/2,d=e.y+e.height/2,g=t/2-h*u,p=r/2-d*u,y=uS(e,g,p,u,t,r),w={left:Math.min(y.left-a.left,0),top:Math.min(y.top-a.top,0),right:Math.min(y.right-a.right,0),bottom:Math.min(y.bottom-a.bottom,0)};return{x:g-w.left+w.right,y:p-w.top+w.bottom,zoom:u}},Va=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function hs(e){return e!=null&&e!=="parent"}function Vr(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function dS(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function fS(e,t={width:0,height:0},r,o,s){const i={...e},a=o.get(r);if(a){const l=a.origin||s;i.x+=a.internals.positionAbsolute.x-(t.width??0)*l[0],i.y+=a.internals.positionAbsolute.y-(t.height??0)*l[1]}return i}function vS(e){return{...tS,...e||{}}}function hS(e,t){if(!e&&!t)return!0;if(!e||!t||e.size!==t.size)return!1;if(!e.size&&!t.size)return!0;for(const r of e.keys())if(!t.has(r))return!1;return!0}function Sf(e,t,r){if(!r)return;const o=[];e.forEach((s,i)=>{t?.has(i)||o.push(s)}),o.length&&r(o)}function gS(e){return e===null?null:e?"valid":"invalid"}function uc(e,{snapGrid:t=[0,0],snapToGrid:r=!1,transform:o,containerBounds:s}){const{x:i,y:a}=rr(e),l=Li({x:i-(s?.left??0),y:a-(s?.top??0)},o),{x:c,y:f}=r?Oi(l,t):l;return{xSnapped:c,ySnapped:f,...l}}const ep=e=>({width:e.offsetWidth,height:e.offsetHeight}),tp=e=>e?.getRootNode?.()||window?.document,pS=["INPUT","SELECT","TEXTAREA"];function np(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:pS.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const rp=e=>"clientX"in e,rr=(e,t)=>{const r=rp(e),o=r?e.clientX:e.touches?.[0].clientX,s=r?e.clientY:e.touches?.[0].clientY;return{x:o-(t?.left??0),y:s-(t?.top??0)}},Mf=(e,t,r,o,s)=>{const i=t.querySelectorAll(`.${e}`);return!i||!i.length?null:Array.from(i).map(a=>{const l=a.getBoundingClientRect();return{id:a.getAttribute("data-handleid"),type:e,nodeId:s,position:a.getAttribute("data-handlepos"),x:(l.left-r.left)/o,y:(l.top-r.top)/o,...ep(a)}})};function mS({sourceX:e,sourceY:t,targetX:r,targetY:o,sourceControlX:s,sourceControlY:i,targetControlX:a,targetControlY:l}){const c=e*.125+s*.375+a*.375+r*.125,f=t*.125+i*.375+l*.375+o*.125,u=Math.abs(c-e),h=Math.abs(f-t);return[c,f,u,h]}function Ui(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Tf({pos:e,x1:t,y1:r,x2:o,y2:s,c:i}){switch(e){case Ve.Left:return[t-Ui(t-o,i),r];case Ve.Right:return[t+Ui(o-t,i),r];case Ve.Top:return[t,r-Ui(r-s,i)];case Ve.Bottom:return[t,r+Ui(s-r,i)]}}function op({sourceX:e,sourceY:t,sourcePosition:r=Ve.Bottom,targetX:o,targetY:s,targetPosition:i=Ve.Top,curvature:a=.25}){const[l,c]=Tf({pos:r,x1:e,y1:t,x2:o,y2:s,c:a}),[f,u]=Tf({pos:i,x1:o,y1:s,x2:e,y2:t,c:a}),[h,d,g,p]=mS({sourceX:e,sourceY:t,targetX:o,targetY:s,sourceControlX:l,sourceControlY:c,targetControlX:f,targetControlY:u});return[`M${e},${t} C${l},${c} ${f},${u} ${o},${s}`,h,d,g,p]}function sp({sourceX:e,sourceY:t,targetX:r,targetY:o}){const s=Math.abs(r-e)/2,i=r<e?r+s:r-s,a=Math.abs(o-t)/2,l=o<t?o+a:o-a;return[i,l,s,a]}function _S({sourceNode:e,targetNode:t,selected:r=!1,zIndex:o=0,elevateOnSelect:s=!1,zIndexMode:i="basic"}){if(i==="manual")return o;const a=s&&r?o+1e3:o,l=Math.max(e.parentId||s&&e.selected?e.internals.z:0,t.parentId||s&&t.selected?t.internals.z:0);return a+l}function yS({sourceNode:e,targetNode:t,width:r,height:o,transform:s}){const i=fl(Fa(e),Fa(t));i.x===i.x2&&(i.x2+=1),i.y===i.y2&&(i.y2+=1);const a={x:-s[0]/s[2],y:-s[1]/s[2],width:r/s[2],height:o/s[2]};return Ba(a,vl(i))>0}const wS=({source:e,sourceHandle:t,target:r,targetHandle:o})=>`xy-edge__${e}${t||""}-${r}${o||""}`,bS=(e,t)=>t.some(r=>r.source===e.source&&r.target===e.target&&(r.sourceHandle===e.sourceHandle||!r.sourceHandle&&!e.sourceHandle)&&(r.targetHandle===e.targetHandle||!r.targetHandle&&!e.targetHandle)),xS=(e,t,r={})=>{if(!e.source||!e.target)return r.onError?.("006",Po.error006()),t;const o=r.getEdgeId||wS;let s;return Zg(e)?s={...e}:s={...e,id:o(e)},bS(s,t)?t:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,t.concat(s))};function ip({sourceX:e,sourceY:t,targetX:r,targetY:o}){const[s,i,a,l]=sp({sourceX:e,sourceY:t,targetX:r,targetY:o});return[`M ${e},${t}L ${r},${o}`,s,i,a,l]}const Cf={[Ve.Left]:{x:-1,y:0},[Ve.Right]:{x:1,y:0},[Ve.Top]:{x:0,y:-1},[Ve.Bottom]:{x:0,y:1}},kS=({source:e,sourcePosition:t=Ve.Bottom,target:r})=>t===Ve.Left||t===Ve.Right?e.x<r.x?{x:1,y:0}:{x:-1,y:0}:e.y<r.y?{x:0,y:1}:{x:0,y:-1},Nf=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function ES({source:e,sourcePosition:t=Ve.Bottom,target:r,targetPosition:o=Ve.Top,center:s,offset:i,stepPosition:a}){const l=Cf[t],c=Cf[o],f={x:e.x+l.x*i,y:e.y+l.y*i},u={x:r.x+c.x*i,y:r.y+c.y*i},h=kS({source:f,sourcePosition:t,target:u}),d=h.x!==0?"x":"y",g=h[d];let p=[],y,w;const M={x:0,y:0},I={x:0,y:0},[,,C,T]=sp({sourceX:e.x,sourceY:e.y,targetX:r.x,targetY:r.y});if(l[d]*c[d]===-1){d==="x"?(y=s.x??f.x+(u.x-f.x)*a,w=s.y??(f.y+u.y)/2):(y=s.x??(f.x+u.x)/2,w=s.y??f.y+(u.y-f.y)*a);const R=[{x:y,y:f.y},{x:y,y:u.y}],z=[{x:f.x,y:w},{x:u.x,y:w}];l[d]===g?p=d==="x"?R:z:p=d==="x"?z:R}else{const R=[{x:f.x,y:u.y}],z=[{x:u.x,y:f.y}];if(d==="x"?p=l.x===g?z:R:p=l.y===g?R:z,t===o){const b=Math.abs(e[d]-r[d]);if(b<=i){const E=Math.min(i-1,i-b);l[d]===g?M[d]=(f[d]>e[d]?-1:1)*E:I[d]=(u[d]>r[d]?-1:1)*E}}if(t!==o){const b=d==="x"?"y":"x",E=l[d]===c[b],q=f[b]>u[b],O=f[b]<u[b];(l[d]===1&&(!E&&q||E&&O)||l[d]!==1&&(!E&&O||E&&q))&&(p=d==="x"?R:z)}const W={x:f.x+M.x,y:f.y+M.y},H={x:u.x+I.x,y:u.y+I.y},B=Math.max(Math.abs(W.x-p[0].x),Math.abs(H.x-p[0].x)),k=Math.max(Math.abs(W.y-p[0].y),Math.abs(H.y-p[0].y));B>=k?(y=(W.x+H.x)/2,w=p[0].y):(y=p[0].x,w=(W.y+H.y)/2)}const A={x:f.x+M.x,y:f.y+M.y},D={x:u.x+I.x,y:u.y+I.y};return[[e,...A.x!==p[0].x||A.y!==p[0].y?[A]:[],...p,...D.x!==p[p.length-1].x||D.y!==p[p.length-1].y?[D]:[],r],y,w,C,T]}function SS(e,t,r,o){const s=Math.min(Nf(e,t)/2,Nf(t,r)/2,o),{x:i,y:a}=t;if(e.x===i&&i===r.x||e.y===a&&a===r.y)return`L${i} ${a}`;if(e.y===a){const f=e.x<r.x?-1:1,u=e.y<r.y?1:-1;return`L ${i+s*f},${a}Q ${i},${a} ${i},${a+s*u}`}const l=e.x<r.x?1:-1,c=e.y<r.y?-1:1;return`L ${i},${a+s*c}Q ${i},${a} ${i+s*l},${a}`}function Ju({sourceX:e,sourceY:t,sourcePosition:r=Ve.Bottom,targetX:o,targetY:s,targetPosition:i=Ve.Top,borderRadius:a=5,centerX:l,centerY:c,offset:f=20,stepPosition:u=.5}){const[h,d,g,p,y]=ES({source:{x:e,y:t},sourcePosition:r,target:{x:o,y:s},targetPosition:i,center:{x:l,y:c},offset:f,stepPosition:u});let w=`M${h[0].x} ${h[0].y}`;for(let M=1;M<h.length-1;M++)w+=SS(h[M-1],h[M],h[M+1],a);return w+=`L${h[h.length-1].x} ${h[h.length-1].y}`,[w,d,g,p,y]}function If(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function MS(e){const{sourceNode:t,targetNode:r}=e;if(!If(t)||!If(r))return null;const o=t.internals.handleBounds||Af(t.handles),s=r.internals.handleBounds||Af(r.handles),i=Pf(o?.source??[],e.sourceHandle),a=Pf(e.connectionMode===ds.Strict?s?.target??[]:(s?.target??[]).concat(s?.source??[]),e.targetHandle);if(!i||!a)return e.onError?.("008",Po.error008(i?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const l=i?.position||Ve.Bottom,c=a?.position||Ve.Top,f=Lo(t,i,l),u=Lo(r,a,c);return{sourceX:f.x,sourceY:f.y,targetX:u.x,targetY:u.y,sourcePosition:l,targetPosition:c}}function Af(e){if(!e)return null;const t=[],r=[];for(const o of e)o.width=o.width??1,o.height=o.height??1,o.type==="source"?t.push(o):o.type==="target"&&r.push(o);return{source:t,target:r}}function Lo(e,t,r=Ve.Left,o=!1){const s=(t?.x??0)+e.internals.positionAbsolute.x,i=(t?.y??0)+e.internals.positionAbsolute.y,{width:a,height:l}=t??Vr(e);if(o)return{x:s+a/2,y:i+l/2};switch(t?.position??r){case Ve.Top:return{x:s+a/2,y:i};case Ve.Right:return{x:s+a,y:i+l/2};case Ve.Bottom:return{x:s+a/2,y:i+l};case Ve.Left:return{x:s,y:i+l/2}}}function Pf(e,t){return e&&(t?e.find(r=>r.id===t):e[0])||null}function iu(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}function TS(e,{id:t,defaultColor:r,defaultMarkerStart:o,defaultMarkerEnd:s}){const i=new Set;return e.reduce((a,l)=>([l.markerStart||o,l.markerEnd||s].forEach(c=>{if(c&&typeof c=="object"){const f=iu(c,t);i.has(f)||(a.push({id:f,color:c.color||r,...c}),i.add(f))}}),a),[]).sort((a,l)=>a.id.localeCompare(l.id))}const ap=1e3,CS=10,$u={nodeOrigin:[0,0],nodeExtent:ru,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},NS={...$u,checkEquality:!0};function ed(e,t){const r={...e};for(const o in t)t[o]!==void 0&&(r[o]=t[o]);return r}function IS(e,t,r){const o=ed($u,r);for(const s of e.values())if(s.parentId)nd(s,e,t,o);else{const i=Pi(s,o.nodeOrigin),a=hs(s.extent)?s.extent:o.nodeExtent,l=Oo(i,a,Vr(s));s.internals.positionAbsolute=l}}function AS(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;const r=[],o=[];for(const s of e.handles){const i={id:s.id,width:s.width??1,height:s.height??1,nodeId:e.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?r.push(i):s.type==="target"&&o.push(i)}return{source:r,target:o}}function td(e){return e==="manual"}function PS(e,t,r,o={}){const s=ed(NS,o),i={i:0},a=new Map(t),l=s?.elevateNodesOnSelect&&!td(s.zIndexMode)?ap:0;let c=e.length>0,f=!1;t.clear(),r.clear();for(const u of e){let h=a.get(u.id);if(s.checkEquality&&u===h?.internals.userNode)t.set(u.id,h);else{const d=Pi(u,s.nodeOrigin),g=hs(u.extent)?u.extent:s.nodeExtent,p=Oo(d,g,Vr(u));h={...s.defaults,...u,measured:{width:u.measured?.width,height:u.measured?.height},internals:{positionAbsolute:p,handleBounds:AS(u,h),z:lp(u,l,s.zIndexMode),userNode:u}},t.set(u.id,h)}(h.measured===void 0||h.measured.width===void 0||h.measured.height===void 0)&&!h.hidden&&(c=!1),u.parentId&&nd(h,t,r,o,i),f||=u.selected??!1}return{nodesInitialized:c,hasSelectedNodes:f}}function OS(e,t){if(!e.parentId)return;const r=t.get(e.parentId);r?r.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function nd(e,t,r,o,s){const{elevateNodesOnSelect:i,nodeOrigin:a,nodeExtent:l,zIndexMode:c}=ed($u,o),f=e.parentId,u=t.get(f);if(!u){console.warn(`Parent node ${f} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}OS(e,r),s&&!u.parentId&&u.internals.rootParentIndex===void 0&&c==="auto"&&(u.internals.rootParentIndex=++s.i,u.internals.z=u.internals.z+s.i*CS),s&&u.internals.rootParentIndex!==void 0&&(s.i=u.internals.rootParentIndex);const h=i&&!td(c)?ap:0,{x:d,y:g,z:p}=LS(e,u,a,l,h,c),{positionAbsolute:y}=e.internals,w=d!==y.x||g!==y.y;(w||p!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:w?{x:d,y:g}:y,z:p}})}function lp(e,t,r){const o=Dr(e.zIndex)?e.zIndex:0;return td(r)?o:o+(e.selected?t:0)}function LS(e,t,r,o,s,i){const{x:a,y:l}=t.internals.positionAbsolute,c=Vr(e),f=Pi(e,r),u=hs(e.extent)?Oo(f,e.extent,c):f;let h=Oo({x:a+u.x,y:l+u.y},o,c);e.extent==="parent"&&(h=Qg(h,c,t));const d=lp(e,s,i),g=t.internals.z??0;return{x:h.x,y:h.y,z:g>=d?g+1:d}}function DS(e,t,r,o=[0,0]){const s=[],i=new Map;for(const a of e){const l=t.get(a.parentId);if(!l)continue;const c=i.get(a.parentId)?.expandedRect??yi(l),f=lS(c,a.rect);i.set(a.parentId,{expandedRect:f,parent:l})}return i.size>0&&i.forEach(({expandedRect:a,parent:l},c)=>{const f=l.internals.positionAbsolute,u=Vr(l),h=l.origin??o,d=a.x<f.x?Math.round(Math.abs(f.x-a.x)):0,g=a.y<f.y?Math.round(Math.abs(f.y-a.y)):0,p=Math.max(u.width,Math.round(a.width)),y=Math.max(u.height,Math.round(a.height)),w=(p-u.width)*h[0],M=(y-u.height)*h[1];(d>0||g>0||w||M)&&(s.push({id:c,type:"position",position:{x:l.position.x-d+w,y:l.position.y-g+M}}),r.get(c)?.forEach(I=>{e.some(C=>C.id===I.id)||s.push({id:I.id,type:"position",position:{x:I.position.x+d,y:I.position.y+g}})})),(u.width<a.width||u.height<a.height||d||g)&&s.push({id:c,type:"dimensions",setAttributes:!0,dimensions:{width:p+(d?h[0]*d-w:0),height:y+(g?h[1]*g-M:0)}})}),s}function RS(e,t,r,o,s,i,a){const l=o?.querySelector(".xyflow__viewport");let c=!1;if(!l)return{changes:[],updatedInternals:c};const f=[],u=window.getComputedStyle(l),{m22:h}=new window.DOMMatrixReadOnly(u.transform),d=[];for(const g of e.values()){const p=t.get(g.id);if(!p)continue;if(p.hidden){t.set(p.id,{...p,internals:{...p.internals,handleBounds:void 0}}),c=!0;continue}const y=ep(g.nodeElement),w=p.measured.width!==y.width||p.measured.height!==y.height;if(!!(y.width&&y.height&&(w||!p.internals.handleBounds||g.force))){const I=g.nodeElement.getBoundingClientRect(),C=hs(p.extent)?p.extent:i;let{positionAbsolute:T}=p.internals;if(p.parentId&&p.extent==="parent"){const D=t.get(p.parentId);D&&(T=Qg(T,y,D))}else C&&(T=Oo(T,C,y));const A={...p,measured:y,internals:{...p.internals,positionAbsolute:T,handleBounds:{source:Mf("source",g.nodeElement,I,h,p.id),target:Mf("target",g.nodeElement,I,h,p.id)}}};t.set(p.id,A),p.parentId&&nd(A,t,r,{nodeOrigin:s,zIndexMode:a}),c=!0,w&&(f.push({id:p.id,type:"dimensions",dimensions:y}),p.expandParent&&p.parentId&&d.push({id:p.id,parentId:p.parentId,rect:yi(A,s)}))}}if(d.length>0){const g=DS(d,t,r,s);f.push(...g)}return{changes:f,updatedInternals:c}}async function zS({delta:e,panZoom:t,transform:r,translateExtent:o,width:s,height:i}){if(!t||!e.x&&!e.y)return!1;const a=await t.setViewportConstrained({x:r[0]+e.x,y:r[1]+e.y,zoom:r[2]},[[0,0],[s,i]],o);return!!a&&(a.x!==r[0]||a.y!==r[1]||a.k!==r[2])}function Of(e,t,r,o,s,i){let a=s;const l=o.get(a)||new Map;o.set(a,l.set(r,t)),a=`${s}-${e}`;const c=o.get(a)||new Map;if(o.set(a,c.set(r,t)),i){a=`${s}-${e}-${i}`;const f=o.get(a)||new Map;o.set(a,f.set(r,t))}}function HS(e,t,r){e.clear(),t.clear();for(const o of r){const{source:s,target:i,sourceHandle:a=null,targetHandle:l=null}=o,c={edgeId:o.id,source:s,target:i,sourceHandle:a,targetHandle:l},f=`${s}-${a}--${i}-${l}`,u=`${i}-${l}--${s}-${a}`;Of("source",c,u,e,s,a),Of("target",c,f,e,i,l),t.set(o.id,o)}}function cp(e,t){if(!e.parentId)return!1;const r=t.get(e.parentId);return r?r.selected?!0:cp(r,t):!1}function Lf(e,t,r){let o=e;do{if(o?.matches?.(t))return!0;if(o===r)return!1;o=o?.parentElement}while(o);return!1}function qS(e,t,r,o){const s=new Map;for(const[i,a]of e)if((a.selected||a.id===o)&&(!a.parentId||!cp(a,e))&&(a.draggable||t&&typeof a.draggable>"u")){const l=e.get(i);l&&s.set(i,{id:i,position:l.position||{x:0,y:0},distance:{x:r.x-l.internals.positionAbsolute.x,y:r.y-l.internals.positionAbsolute.y},extent:l.extent,parentId:l.parentId,origin:l.origin,expandParent:l.expandParent,internals:{positionAbsolute:l.internals.positionAbsolute||{x:0,y:0}},measured:{width:l.measured.width??0,height:l.measured.height??0}})}return s}function dc({nodeId:e,dragItems:t,nodeLookup:r,dragging:o=!0}){const s=[];for(const[a,l]of t){const c=r.get(a)?.internals.userNode;c&&s.push({...c,position:l.position,dragging:o})}if(!e)return[s[0],s];const i=r.get(e)?.internals.userNode;return[i?{...i,position:t.get(e)?.position||i.position,dragging:o}:s[0],s]}function jS({dragItems:e,snapGrid:t,x:r,y:o}){const s=e.values().next().value;if(!s)return null;const i={x:r-s.distance.x,y:o-s.distance.y},a=Oi(i,t);return{x:a.x-i.x,y:a.y-i.y}}function FS({onNodeMouseDown:e,getStoreItems:t,onDragStart:r,onDrag:o,onDragStop:s}){let i={x:null,y:null},a=0,l=new Map,c=!1,f={x:0,y:0},u=null,h=!1,d=null,g=!1,p=!1,y=null;function w({noDragClassName:I,handleSelector:C,domNode:T,isSelectable:A,nodeId:D,nodeClickDistance:j=0}){d=Un(T);function R({x:B,y:k}){const{nodeLookup:b,nodeExtent:E,snapGrid:q,snapToGrid:O,nodeOrigin:K,onNodeDrag:Y,onSelectionDrag:G,onError:U,updateNodePositions:X}=t();i={x:B,y:k};let $=!1;const Z=l.size>1,Q=Z&&E?su(dl(l)):null,F=Z&&O?jS({dragItems:l,snapGrid:q,x:B,y:k}):null;for(const[J,te]of l){if(!b.has(J))continue;let ie={x:B-te.distance.x,y:k-te.distance.y};O&&(ie=F?{x:Math.round(ie.x+F.x),y:Math.round(ie.y+F.y)}:Oi(ie,q));let ge=null;if(Z&&E&&!te.extent&&Q){const{positionAbsolute:ee}=te.internals,ue=ee.x-Q.x+E[0][0],ne=ee.x+te.measured.width-Q.x2+E[1][0],fe=ee.y-Q.y+E[0][1],he=ee.y+te.measured.height-Q.y2+E[1][1];ge=[[ue,fe],[ne,he]]}const{position:ve,positionAbsolute:re}=Ug({nodeId:J,nextPosition:ie,nodeLookup:b,nodeExtent:ge||E,nodeOrigin:K,onError:U});$=$||te.position.x!==ve.x||te.position.y!==ve.y,te.position=ve,te.internals.positionAbsolute=re}if(p=p||$,!!$&&(X(l,!0),y&&(o||Y||!D&&G))){const[J,te]=dc({nodeId:D,dragItems:l,nodeLookup:b});o?.(y,l,J,te),Y?.(y,J,te),D||G?.(y,te)}}async function z(){if(!u)return;const{transform:B,panBy:k,autoPanSpeed:b,autoPanOnNodeDrag:E}=t();if(!E){c=!1,cancelAnimationFrame(a);return}const[q,O]=Uu(f,u,b);(q!==0||O!==0)&&(i.x=(i.x??0)-q/B[2],i.y=(i.y??0)-O/B[2],await k({x:q,y:O})&&R(i)),a=requestAnimationFrame(z)}function W(B){const{nodeLookup:k,multiSelectionActive:b,nodesDraggable:E,transform:q,snapGrid:O,snapToGrid:K,selectNodesOnDrag:Y,onNodeDragStart:G,onSelectionDragStart:U,unselectNodesAndEdges:X}=t();h=!0,(!Y||!A)&&!b&&D&&(k.get(D)?.selected||X()),A&&Y&&D&&e?.(D);const $=uc(B.sourceEvent,{transform:q,snapGrid:O,snapToGrid:K,containerBounds:u});if(i=$,l=qS(k,E,$,D),l.size>0&&(r||G||!D&&U)){const[Z,Q]=dc({nodeId:D,dragItems:l,nodeLookup:k});r?.(B.sourceEvent,l,Z,Q),G?.(B.sourceEvent,Z,Q),D||U?.(B.sourceEvent,Q)}}const H=ak().clickDistance(j).on("start",B=>{const{domNode:k,nodeDragThreshold:b,transform:E,snapGrid:q,snapToGrid:O}=t();u=k?.getBoundingClientRect()||null,g=!1,p=!1,y=B.sourceEvent,b===0&&W(B),i=uc(B.sourceEvent,{transform:E,snapGrid:q,snapToGrid:O,containerBounds:u}),f=rr(B.sourceEvent,u)}).on("drag",B=>{const{autoPanOnNodeDrag:k,transform:b,snapGrid:E,snapToGrid:q,nodeDragThreshold:O,nodeLookup:K}=t(),Y=uc(B.sourceEvent,{transform:b,snapGrid:E,snapToGrid:q,containerBounds:u});if(y=B.sourceEvent,(B.sourceEvent.type==="touchmove"&&B.sourceEvent.touches.length>1||D&&!K.has(D))&&(g=!0),!g){if(!c&&k&&h&&(c=!0,z()),!h){const G=rr(B.sourceEvent,u),U=G.x-f.x,X=G.y-f.y;Math.sqrt(U*U+X*X)>O&&W(B)}(i.x!==Y.xSnapped||i.y!==Y.ySnapped)&&l&&h&&(f=rr(B.sourceEvent,u),R(Y))}}).on("end",B=>{if(!h||g){g&&l.size>0&&t().updateNodePositions(l,!1);return}if(c=!1,h=!1,cancelAnimationFrame(a),l.size>0){const{nodeLookup:k,updateNodePositions:b,onNodeDragStop:E,onSelectionDragStop:q}=t();if(p&&(b(l,!1),p=!1),s||E||!D&&q){const[O,K]=dc({nodeId:D,dragItems:l,nodeLookup:k,dragging:!1});s?.(B.sourceEvent,l,O,K),E?.(B.sourceEvent,O,K),D||q?.(B.sourceEvent,K)}}}).filter(B=>{const k=B.target;return!B.button&&(!I||!Lf(k,`.${I}`,T))&&(!C||Lf(k,C,T))});d.call(H)}function M(){d?.on(".drag",null)}return{update:w,destroy:M}}function BS(e,t,r){const o=[],s={x:e.x-r,y:e.y-r,width:r*2,height:r*2};for(const i of t.values())Ba(s,yi(i))>0&&o.push(i);return o}const VS=250;function WS(e,t,r,o){let s=[],i=1/0;const a=BS(e,r,t+VS);for(const l of a){const c=[...l.internals.handleBounds?.source??[],...l.internals.handleBounds?.target??[]];for(const f of c){if(o.nodeId===f.nodeId&&o.type===f.type&&o.id===f.id)continue;const{x:u,y:h}=Lo(l,f,f.position,!0),d=Math.sqrt(Math.pow(u-e.x,2)+Math.pow(h-e.y,2));d>t||(d<i?(s=[{...f,x:u,y:h}],i=d):d===i&&s.push({...f,x:u,y:h}))}}if(!s.length)return null;if(s.length>1){const l=o.type==="source"?"target":"source";return s.find(c=>c.type===l)??s[0]}return s[0]}function up(e,t,r,o,s,i=!1){const a=o.get(e);if(!a)return null;const l=s==="strict"?a.internals.handleBounds?.[t]:[...a.internals.handleBounds?.source??[],...a.internals.handleBounds?.target??[]],c=(r?l?.find(f=>f.id===r):l?.[0])??null;return c&&i?{...c,...Lo(a,c,c.position,!0)}:c}function dp(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function KS(e,t){let r=null;return t?r=!0:e&&!t&&(r=!1),r}const fp=()=>!0;function YS(e,{connectionMode:t,connectionRadius:r,handleId:o,nodeId:s,edgeUpdaterType:i,isTarget:a,domNode:l,nodeLookup:c,lib:f,autoPanOnConnect:u,flowId:h,panBy:d,cancelConnection:g,onConnectStart:p,onConnect:y,onConnectEnd:w,isValidConnection:M=fp,onReconnectEnd:I,updateConnection:C,getTransform:T,getFromHandle:A,autoPanSpeed:D,dragThreshold:j=1,handleDomNode:R}){const z=tp(e.target);let W=0,H;const{x:B,y:k}=rr(e),b=dp(i,R),E=l?.getBoundingClientRect();let q=!1;if(!E||!b)return;const O=up(s,b,o,c,t);if(!O)return;let K=rr(e,E),Y=!1,G=null,U=!1,X=null;function $(){if(!u||!E)return;const[ve,re]=Uu(K,E,D);d({x:ve,y:re}),W=requestAnimationFrame($)}const Z={...O,nodeId:s,type:b,position:O.position},Q=c.get(s);let J={inProgress:!0,isValid:null,from:Lo(Q,Z,Ve.Left,!0),fromHandle:Z,fromPosition:Z.position,fromNode:Q,to:K,toHandle:null,toPosition:xf[Z.position],toNode:null,pointer:K};function te(){q=!0,C(J),p?.(e,{nodeId:s,handleId:o,handleType:b})}j===0&&te();function ie(ve){if(!q){const{x:he,y:ce}=rr(ve),we=he-B,de=ce-k;if(!(we*we+de*de>j*j))return;te()}if(!A()||!Z){ge(ve);return}const re=T();K=rr(ve,E),H=WS(Li(K,re,!1,[1,1]),r,c,Z),Y||($(),Y=!0);const ee=vp(ve,{handle:H,connectionMode:t,fromNodeId:s,fromHandleId:o,fromType:a?"target":"source",isValidConnection:M,doc:z,lib:f,flowId:h,nodeLookup:c});X=ee.handleDomNode,G=ee.connection,U=KS(!!H,ee.isValid);const ue=c.get(s),ne=ue?Lo(ue,Z,Ve.Left,!0):J.from,fe={...J,from:ne,isValid:U,to:ee.toHandle&&U?vs({x:ee.toHandle.x,y:ee.toHandle.y},re):K,toHandle:ee.toHandle,toPosition:U&&ee.toHandle?ee.toHandle.position:xf[Z.position],toNode:ee.toHandle?c.get(ee.toHandle.nodeId):null,pointer:K};C(fe),J=fe}function ge(ve){if(!("touches"in ve&&ve.touches.length>0)){if(q){(H||X)&&G&&U&&y?.(G);const{inProgress:re,...ee}=J,ue={...ee,toPosition:J.toHandle?J.toPosition:null};w?.(ve,ue),i&&I?.(ve,ue)}g(),cancelAnimationFrame(W),Y=!1,U=!1,G=null,X=null,z.removeEventListener("mousemove",ie),z.removeEventListener("mouseup",ge),z.removeEventListener("touchmove",ie),z.removeEventListener("touchend",ge)}}z.addEventListener("mousemove",ie),z.addEventListener("mouseup",ge),z.addEventListener("touchmove",ie),z.addEventListener("touchend",ge)}function vp(e,{handle:t,connectionMode:r,fromNodeId:o,fromHandleId:s,fromType:i,doc:a,lib:l,flowId:c,isValidConnection:f=fp,nodeLookup:u}){const h=i==="target",d=t?a.querySelector(`.${l}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:g,y:p}=rr(e),y=a.elementFromPoint(g,p),w=y?.classList.contains(`${l}-flow__handle`)?y:d,M={handleDomNode:w,isValid:!1,connection:null,toHandle:null};if(w){const I=dp(void 0,w),C=w.getAttribute("data-nodeid"),T=w.getAttribute("data-handleid"),A=w.classList.contains("connectable"),D=w.classList.contains("connectableend");if(!C||!I)return M;const j={source:h?C:o,sourceHandle:h?T:s,target:h?o:C,targetHandle:h?s:T};M.connection=j;const z=A&&D&&(r===ds.Strict?h&&I==="source"||!h&&I==="target":C!==o||T!==s);M.isValid=z&&f(j),M.toHandle=up(C,I,T,u,r,!0)}return M}const Df={onPointerDown:YS,isValid:vp},hl=e=>({x:e.x,y:e.y,zoom:e.k}),fc=({x:e,y:t,zoom:r})=>ul.translate(e,t).scale(r),Ur=(e,t)=>e.target.closest(`.${t}`),hp=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),XS=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,vc=(e,t=0,r=XS,o=()=>{})=>{const s=typeof t=="number"&&t>0;return s||o(),s?e.transition().duration(t).ease(r).on("end",o):e},gp=e=>{const t=e.ctrlKey&&Va()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function GS({zoomPanValues:e,noWheelClassName:t,d3Selection:r,d3Zoom:o,panOnScrollMode:s,panOnScrollSpeed:i,zoomOnPinch:a,onPanZoomStart:l,onPanZoom:c,onPanZoomEnd:f}){return u=>{if(Ur(u,t))return u.ctrlKey&&u.preventDefault(),!1;u.preventDefault(),u.stopImmediatePropagation();const h=r.property("__zoom").k||1;if(u.ctrlKey&&a){const w=lr(u),M=gp(u),I=h*Math.pow(2,M);o.scaleTo(r,I,w,u);return}const d=u.deltaMode===1?20:1;let g=s===$o.Vertical?0:u.deltaX*d,p=s===$o.Horizontal?0:u.deltaY*d;!Va()&&u.shiftKey&&s!==$o.Vertical&&(g=u.deltaY*d,p=0),o.translateBy(r,-(g/h)*i,-(p/h)*i,{internal:!0});const y=hl(r.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?c?.(u,y):(e.isPanScrolling=!0,l?.(u,y)),e.panScrollTimeout=setTimeout(()=>{f?.(u,y),e.isPanScrolling=!1},150)}}function ZS({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:r}){return function(o,s){const i=o.type==="wheel",a=!t&&i&&!o.ctrlKey,l=Ur(o,e);if(o.ctrlKey&&i&&l&&o.preventDefault(),a||l)return null;o.preventDefault(),r.call(this,o,s)}}function US({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:r}){return o=>{if(o.sourceEvent?.internal)return;const s=hl(o.transform);e.mouseButton=o.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=s,o.sourceEvent?.type==="mousedown"&&t(!0),r&&r?.(o.sourceEvent,s)}}function QS({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:r,onTransformChange:o,onPanZoom:s}){return i=>{e.usedRightMouseButton=!!(r&&hp(t,e.mouseButton??0)),i.sourceEvent?.sync||o([i.transform.x,i.transform.y,i.transform.k]),s&&!i.sourceEvent?.internal&&s?.(i.sourceEvent,hl(i.transform))}}function JS({zoomPanValues:e,panOnDrag:t,panOnScroll:r,onDraggingChange:o,onPanZoomEnd:s,onPaneContextMenu:i}){return a=>{if(!a.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,i&&hp(t,e.mouseButton??0)&&!e.usedRightMouseButton&&a.sourceEvent&&i(a.sourceEvent),e.usedRightMouseButton=!1,o(!1),s)){const l=hl(a.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s?.(a.sourceEvent,l)},r?150:0)}}}function $S({panActivationKeyPressed:e,zoomActivationKeyPressed:t,zoomOnScroll:r,zoomOnPinch:o,panOnDrag:s,panOnScroll:i,zoomOnDoubleClick:a,userSelectionActive:l,noWheelClassName:c,noPanClassName:f,lib:u,connectionInProgress:h}){return d=>{const g=t||r,p=o&&d.ctrlKey,y=d.type==="wheel";if(d.button===1&&d.type==="mousedown"&&(Ur(d,`${u}-flow__node`)||Ur(d,`${u}-flow__edge`)||Ur(d,`${u}-flow__selection`)||Ur(d,`${u}-flow__nodesselection`)))return!0;if(!s&&!g&&!i&&!a&&!o||l||h&&!y||Ur(d,c)&&y||Ur(d,f)&&(!y||i&&y&&!t)||!o&&d.ctrlKey&&y)return!1;if(!o&&d.type==="touchstart"&&d.touches?.length>1)return d.preventDefault(),!1;if(!g&&!i&&!p&&y||!s&&(d.type==="mousedown"||d.type==="touchstart")||Array.isArray(s)&&!s.includes(d.button)&&d.type==="mousedown")return!1;const w=Array.isArray(s)&&s.includes(d.button)||!d.button||d.button<=1;return(!d.ctrlKey||y||e)&&w}}function e3({domNode:e,minZoom:t,maxZoom:r,translateExtent:o,viewport:s,onPanZoom:i,onPanZoomStart:a,onPanZoomEnd:l,onDraggingChange:c}){const f={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},u=e.getBoundingClientRect();let h=[[0,0],[u.width,u.height]];(typeof ResizeObserver<"u"?new ResizeObserver(k=>{const b=k[0];b&&(h=[[0,0],[b.contentRect.width,b.contentRect.height]])}):null)?.observe(e);const g=eS().extent(()=>h).scaleExtent([t,r]).translateExtent(o),p=Un(e).call(g);T({x:s.x,y:s.y,zoom:fs(s.zoom,t,r)},[[0,0],[u.width,u.height]],o);const y=p.on("wheel.zoom"),w=p.on("dblclick.zoom");g.wheelDelta(gp);async function M(k,b){return p?new Promise(E=>{g?.interpolate(b?.interpolate==="linear"?ri:fa).transform(vc(p,b?.duration,b?.ease,()=>E(!0)),k)}):!1}function I({noWheelClassName:k,noPanClassName:b,onPaneContextMenu:E,userSelectionActive:q,panOnScroll:O,panOnDrag:K,panOnScrollMode:Y,panOnScrollSpeed:G,preventScrolling:U,zoomOnPinch:X,zoomOnScroll:$,zoomOnDoubleClick:Z,panActivationKeyPressed:Q=!1,zoomActivationKeyPressed:F,lib:J,onTransformChange:te,connectionInProgress:ie,paneClickDistance:ge,selectionOnDrag:ve}){q&&!f.isZoomingOrPanning&&C();const re=O&&!F&&!q;g.clickDistance(ve?1/0:!Dr(ge)||ge<0?0:ge);const ee=re?GS({zoomPanValues:f,noWheelClassName:k,d3Selection:p,d3Zoom:g,panOnScrollMode:Y,panOnScrollSpeed:G,zoomOnPinch:X,onPanZoomStart:a,onPanZoom:i,onPanZoomEnd:l}):ZS({noWheelClassName:k,preventScrolling:U,d3ZoomHandler:y});p.on("wheel.zoom",ee,{passive:!1});const ue=US({zoomPanValues:f,onDraggingChange:c,onPanZoomStart:a});g.on("start",ue);const ne=QS({zoomPanValues:f,panOnDrag:K,onPaneContextMenu:!!E,onPanZoom:i,onTransformChange:te});g.on("zoom",ne);const fe=JS({zoomPanValues:f,panOnDrag:K,panOnScroll:O,onPaneContextMenu:E,onPanZoomEnd:l,onDraggingChange:c});g.on("end",fe);const he=$S({panActivationKeyPressed:Q,zoomActivationKeyPressed:F,panOnDrag:K,zoomOnScroll:$,panOnScroll:O,zoomOnDoubleClick:Z,zoomOnPinch:X,userSelectionActive:q,noPanClassName:b,noWheelClassName:k,lib:J,connectionInProgress:ie});g.filter(he),Z?p.on("dblclick.zoom",w):p.on("dblclick.zoom",null)}function C(){g.on("zoom",null)}async function T(k,b,E){const q=fc(k),O=g?.constrain()(q,b,E);return O&&await M(O),O}async function A(k,b){const E=fc(k);return await M(E,b),E}function D(k){if(p){const b=fc(k),E=p.property("__zoom");(E.k!==k.zoom||E.x!==k.x||E.y!==k.y)&&g?.transform(p,b,null,{sync:!0})}}function j(){const k=p?Xg(p.node()):{x:0,y:0,k:1};return{x:k.x,y:k.y,zoom:k.k}}async function R(k,b){return p?new Promise(E=>{g?.interpolate(b?.interpolate==="linear"?ri:fa).scaleTo(vc(p,b?.duration,b?.ease,()=>E(!0)),k)}):!1}async function z(k,b){return p?new Promise(E=>{g?.interpolate(b?.interpolate==="linear"?ri:fa).scaleBy(vc(p,b?.duration,b?.ease,()=>E(!0)),k)}):!1}function W(k){g?.scaleExtent(k)}function H(k){g?.translateExtent(k)}function B(k){const b=!Dr(k)||k<0?0:k;g?.clickDistance(b)}return{update:I,destroy:C,setViewport:A,setViewportConstrained:T,getViewport:j,scaleTo:R,scaleBy:z,setScaleExtent:W,setTranslateExtent:H,syncViewport:D,setClickDistance:B}}var Rf;(function(e){e.Line="line",e.Handle="handle"})(Rf||(Rf={}));const t3=$g();function n3(e,t,r={}){return xS(e,t,{...r,onError:r.onError??t3})}function rd(){const e={};return[t=>{if(t&&!Bm(e))throw new Error(t);return gu(e)},t=>eh(e,t)]}const[r3,o3]=rd(),[s3,i3]=rd(),[a3,l3]=rd();var c3=new Set(["$$slots","$$events","$$legacy","id","type","position","style","class","isConnectable","isConnectableStart","isConnectableEnd","isValidConnection","onconnect","ondisconnect","children"]),u3=N("<div><!></div>");function kn(e,t){Ne(t,!0);let r=Ee(t,"id",3,null),o=Ee(t,"type",3,"source"),s=Ee(t,"position",19,()=>Ve.Top),i=Ee(t,"isConnectableStart",3,!0),a=Ee(t,"isConnectableEnd",3,!0),l=ao(t,c3);const c=r3("Handle must be used within a Custom Node component"),f=s3("Handle must be used within a Custom Node component");let u=S(()=>o()==="target"),h=S(()=>t.isConnectable!==void 0?t.isConnectable:f.value),d=bs(),g=S(()=>d.ariaLabelConfig),p=null;bh(()=>{if(t.onconnect||t.ondisconnect){d.edges;let B=d.connectionLookup.get(`${c}-${o()}${r()?`-${r()}`:""}`);if(p&&!hS(B,p)){const k=B??new Map;Sf(p,k,t.ondisconnect),Sf(k,p,t.onconnect)}p=new Map(B)}});let y=S(()=>{if(!d.connection.inProgress)return[!1,!1,!1,!1,null];const{fromHandle:B,toHandle:k,isValid:b}=d.connection,E=B&&B.nodeId===c&&B.type===o()&&B.id===r(),q=k&&k.nodeId===c&&k.type===o()&&k.id===r(),O=d.connectionMode===ds.Strict?B?.type!==o():c!==B?.nodeId||r()!==B?.id;return[!0,E,q,O,q&&b]}),w=S(()=>wi(n(y),5)),M=S(()=>n(w)[0]),I=S(()=>n(w)[1]),C=S(()=>n(w)[2]),T=S(()=>n(w)[3]),A=S(()=>n(w)[4]);function D(B){const k=d.onbeforeconnect?d.onbeforeconnect(B):B;k&&(d.addEdge(k),d.onconnect?.(B))}function j(B){const k=rp(B);B.currentTarget&&(k&&B.button===0||!k)&&Df.onPointerDown(B,{handleId:r(),nodeId:c,isTarget:n(u),connectionRadius:d.connectionRadius,domNode:d.domNode,nodeLookup:d.nodeLookup,connectionMode:d.connectionMode,lib:"svelte",autoPanOnConnect:d.autoPanOnConnect,autoPanSpeed:d.autoPanSpeed,flowId:d.flowId,isValidConnection:t.isValidConnection||((...b)=>d.isValidConnection?.(...b)??!0),updateConnection:d.updateConnection,cancelConnection:d.cancelConnection,panBy:d.panBy,onConnect:D,onConnectStart:d.onconnectstart,onConnectEnd:(...b)=>d.onconnectend?.(...b),getTransform:()=>[d.viewport.x,d.viewport.y,d.viewport.zoom],getFromHandle:()=>d.connection.fromHandle,dragThreshold:d.connectionDragThreshold,handleDomNode:B.currentTarget})}function R(B){if(!c||!d.clickConnectStartHandle&&!i())return;if(!d.clickConnectStartHandle){d.onclickconnectstart?.(B,{nodeId:c,handleId:r(),handleType:o()}),d.clickConnectStartHandle={nodeId:c,type:o(),id:r()};return}const k=tp(B.target),b=t.isValidConnection??d.isValidConnection,{connectionMode:E,clickConnectStartHandle:q,flowId:O,nodeLookup:K}=d,{connection:Y,isValid:G}=Df.isValid(B,{handle:{nodeId:c,id:r(),type:o()},connectionMode:E,fromNodeId:q.nodeId,fromHandleId:q.id??null,fromType:q.type,isValidConnection:b,flowId:O,doc:k,lib:"svelte",nodeLookup:K});G&&Y&&D(Y);const U=structuredClone($v(d.connection));delete U.inProgress,U.toPosition=U.toHandle?U.toHandle.position:null,d.onclickconnectend?.(B,U),d.clickConnectStartHandle=null}var z=u3(),W=()=>{};Br(z,()=>({"data-handleid":r(),"data-nodeid":c,"data-handlepos":s(),"data-id":`${d.flowId??""}-${c??""}-${r()??"null"??""}-${o()??""}`,class:["svelte-flow__handle",`svelte-flow__handle-${s()}`,d.noDragClass,d.noPanClass,s(),t.class],onmousedown:j,ontouchstart:j,onclick:d.clickConnect?R:void 0,onkeypress:W,style:t.style,role:"button","aria-label":n(g)["handle.ariaLabel"],tabindex:"-1",...l,[Qr]:{valid:n(A),connectingto:n(C),connectingfrom:n(I),source:!n(u),target:n(u),connectablestart:i(),connectableend:a(),connectable:n(h),connectionindicator:n(h)&&(!n(M)||n(T))&&(n(M)||d.clickConnectStartHandle?a():i())}}));var H=v(z);Nn(H,()=>t.children??Ln),_(e,z),Ie()}var d3=N("<!> <!>",1);function pp(e,t){Ne(t,!0);let r=Ee(t,"targetPosition",19,()=>Ve.Top),o=Ee(t,"sourcePosition",19,()=>Ve.Bottom);var s=d3(),i=ye(s);kn(i,{type:"target",get position(){return r()}});var a=m(i),l=m(a);kn(l,{type:"source",get position(){return o()}}),P(()=>x(a,` ${t.data?.label??""} `)),_(e,s),Ie()}var f3=N(" <!>",1);function v3(e,t){Ne(t,!0);let r=Ee(t,"data",19,()=>({label:"Node"})),o=Ee(t,"sourcePosition",19,()=>Ve.Bottom);var s=f3(),i=ye(s),a=m(i);kn(a,{type:"source",get position(){return o()}}),P(()=>x(i,`${r()?.label??""} `)),_(e,s),Ie()}var h3=N(" <!>",1);function g3(e,t){Ne(t,!0);let r=Ee(t,"data",19,()=>({label:"Node"})),o=Ee(t,"targetPosition",19,()=>Ve.Top);var s=h3(),i=ye(s),a=m(i);kn(a,{type:"target",get position(){return o()}}),P(()=>x(i,`${r()?.label??""} `)),_(e,s),Ie()}function p3(e,t){}function hc(e,t,r){if(!r||!t)return;const o=r==="root"?t:t.querySelector(`.svelte-flow__${r}`);o&&o.appendChild(e)}function mp(e,t){const r=S(bs),o=S(()=>n(r).domNode);let s;return n(o)?hc(e,n(o),t):s=xh(()=>{et(()=>{hc(e,n(o),t),s?.()})}),{async update(i){hc(e,n(o),i)},destroy(){e.parentNode&&e.parentNode.removeChild(e),s?.()}}}function _p(){let e=ae(typeof window>"u");if(n(e)){const t=xh(()=>{et(()=>{L(e,!1),t?.()})})}return{get value(){return n(e)}}}const zf=e=>nS(e),m3=e=>Zg(e);function kr(e){return e===void 0?void 0:`${e}px`}const Wa={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var _3=new Set(["$$slots","$$events","$$legacy","x","y","width","height","selectEdgeOnClick","transparent","class","children"]),y3=N("<div><!></div>");function yp(e,t){Ne(t,!0);let r=Ee(t,"x",3,0),o=Ee(t,"y",3,0),s=Ee(t,"selectEdgeOnClick",3,!1),i=Ee(t,"transparent",3,!1),a=ao(t,_3);const l=bs(),c=a3("EdgeLabel must be used within a Custom Edge component");let f=S(()=>l.visible.edges.get(c)?.zIndex);var u=y3(),h=()=>{s()&&c&&l.handleEdgeSelection(c)};Br(u,g=>({class:["svelte-flow__edge-label",{transparent:i()},t.class],tabindex:"-1",onclick:h,...a,[dr]:g}),[()=>({display:_p().value?"none":void 0,cursor:s()?"pointer":void 0,transform:`translate(-50%, -50%) translate(${r()??""}px,${o()??""}px)`,"pointer-events":"all",width:kr(t.width),height:kr(t.height),"z-index":n(f)})],void 0,void 0,"svelte-13mo547");var d=v(u);Nn(d,()=>t.children??Ln),bn(u,(g,p)=>mp?.(g,p),()=>"edge-labels"),_(e,u),Ie()}var w3=new Set(["$$slots","$$events","$$legacy","id","path","label","labelX","labelY","labelStyle","markerStart","markerEnd","style","interactionWidth","class"]),b3=Yt("<path></path>"),x3=Yt('<path fill="none"></path><!><!>',1);function qo(e,t){let r=Ee(t,"interactionWidth",3,20),o=ao(t,w3);var s=x3(),i=ye(s),a=m(i);{var l=u=>{var h=b3();Br(h,()=>({d:t.path,"stroke-opacity":0,"stroke-width":r(),fill:"none",class:"svelte-flow__edge-interaction",...o})),_(u,h)};V(a,u=>{r()>0&&u(l)})}var c=m(a);{var f=u=>{yp(u,{get x(){return t.labelX},get y(){return t.labelY},get style(){return t.labelStyle},selectEdgeOnClick:!0,children:(h,d)=>{var g=wt();P(()=>x(g,t.label)),_(h,g)},$$slots:{default:!0}})};V(c,u=>{t.label&&u(f)})}P(()=>{se(i,"id",t.id),se(i,"d",t.path),Ce(i,0,zo(["svelte-flow__edge-path",t.class])),se(i,"marker-start",t.markerStart),se(i,"marker-end",t.markerEnd),nt(i,t.style)}),_(e,s)}function wp(e,t){Ne(t,!0);let r=S(()=>op({sourceX:t.sourceX,sourceY:t.sourceY,targetX:t.targetX,targetY:t.targetY,sourcePosition:t.sourcePosition,targetPosition:t.targetPosition,curvature:t.pathOptions?.curvature})),o=S(()=>wi(n(r),3)),s=S(()=>n(o)[0]),i=S(()=>n(o)[1]),a=S(()=>n(o)[2]);qo(e,{get id(){return t.id},get path(){return n(s)},get labelX(){return n(i)},get labelY(){return n(a)},get label(){return t.label},get labelStyle(){return t.labelStyle},get markerStart(){return t.markerStart},get markerEnd(){return t.markerEnd},get interactionWidth(){return t.interactionWidth},get style(){return t.style}}),Ie()}function k3(e,t){Ne(t,!0);let r=S(()=>Ju({sourceX:t.sourceX,sourceY:t.sourceY,targetX:t.targetX,targetY:t.targetY,sourcePosition:t.sourcePosition,targetPosition:t.targetPosition})),o=S(()=>wi(n(r),3)),s=S(()=>n(o)[0]),i=S(()=>n(o)[1]),a=S(()=>n(o)[2]);qo(e,{get path(){return n(s)},get labelX(){return n(i)},get labelY(){return n(a)},get label(){return t.label},get labelStyle(){return t.labelStyle},get markerStart(){return t.markerStart},get markerEnd(){return t.markerEnd},get interactionWidth(){return t.interactionWidth},get style(){return t.style}}),Ie()}function E3(e,t){Ne(t,!0);let r=S(()=>ip({sourceX:t.sourceX,sourceY:t.sourceY,targetX:t.targetX,targetY:t.targetY})),o=S(()=>wi(n(r),3)),s=S(()=>n(o)[0]),i=S(()=>n(o)[1]),a=S(()=>n(o)[2]);qo(e,{get path(){return n(s)},get labelX(){return n(i)},get labelY(){return n(a)},get label(){return t.label},get labelStyle(){return t.labelStyle},get markerStart(){return t.markerStart},get markerEnd(){return t.markerEnd},get interactionWidth(){return t.interactionWidth},get style(){return t.style}}),Ie()}function S3(e,t){Ne(t,!0);let r=S(()=>Ju({sourceX:t.sourceX,sourceY:t.sourceY,targetX:t.targetX,targetY:t.targetY,sourcePosition:t.sourcePosition,targetPosition:t.targetPosition,borderRadius:0})),o=S(()=>wi(n(r),3)),s=S(()=>n(o)[0]),i=S(()=>n(o)[1]),a=S(()=>n(o)[2]);qo(e,{get path(){return n(s)},get labelX(){return n(i)},get labelY(){return n(a)},get label(){return t.label},get labelStyle(){return t.labelStyle},get markerStart(){return t.markerStart},get markerEnd(){return t.markerEnd},get interactionWidth(){return t.interactionWidth},get style(){return t.style}}),Ie()}class M3{#e;#n;constructor(t,r){this.#e=t,this.#n=sh(r)}get current(){return this.#n(),this.#e()}}const T3=/\(.+\)/,C3=new Set(["all","print","screen","and","or","not","only"]);class N3 extends M3{constructor(t,r){let o=T3.test(t)||t.split(/[\s,]+/).some(i=>C3.has(i.trim()))?t:`(${t})`;const s=window.matchMedia(o);super(()=>s.matches,i=>Rc(s,"change",i))}}function I3(e,t,r,o){const s=new Map;return Zu(e,{x:0,y:0,width:r,height:o},t,!0).forEach(i=>{s.set(i.id,i)}),s}function Hf(e){const{edges:t,defaultEdgeOptions:r,nodeLookup:o,previousEdges:s,connectionMode:i,onerror:a,onlyRenderVisible:l,elevateEdgesOnSelect:c,zIndexMode:f}=e,u=new Map;for(const h of t){const d=o.get(h.source),g=o.get(h.target);if(!d||!g)continue;if(l){const{visibleNodes:w,transform:M,width:I,height:C}=e;if(yS({sourceNode:d,targetNode:g,width:I,height:C,transform:M}))w.set(d.id,d),w.set(g.id,g);else continue}const p=s.get(h.id);if(p&&h===p.edge&&d==p.sourceNode&&g==p.targetNode){u.set(h.id,p);continue}const y=MS({id:h.id,sourceNode:d,targetNode:g,sourceHandle:h.sourceHandle||null,targetHandle:h.targetHandle||null,connectionMode:i,onError:a});y&&u.set(h.id,{...r,...h,...y,zIndex:_S({selected:h.selected,zIndex:h.zIndex??r.zIndex,sourceNode:d,targetNode:g,elevateOnSelect:c,zIndexMode:f}),sourceNode:d,targetNode:g,edge:h})}return u}const A3=$g(),bp={input:v3,output:g3,default:pp,group:p3},xp={straight:E3,smoothstep:k3,default:wp,step:S3};function P3(e,t,r,o,s,i){if(t&&!r&&o&&s){const a=dl(i,{filter:l=>!!((l.width||l.initialWidth)&&(l.height||l.initialHeight))});return Qu(a,o,s,.5,2,.1)}else return r??{x:0,y:0,zoom:1}}function O3(e){class t{#e=S(()=>e.props.id??"1");get flowId(){return n(this.#e)}set flowId(o){L(this.#e,o)}#n=ae(null);get domNode(){return n(this.#n)}set domNode(o){L(this.#n,o)}#t=ae(null);get panZoom(){return n(this.#t)}set panZoom(o){L(this.#t,o)}#a=ae(e.width??0);get width(){return n(this.#a)}set width(o){L(this.#a,o)}#o=ae(e.height??0);get height(){return n(this.#o)}set height(o){L(this.#o,o)}#i=ae(e.props.zIndexMode??"basic");get zIndexMode(){return n(this.#i)}set zIndexMode(o){L(this.#i,o)}#r=S(()=>{const{nodesInitialized:o}=PS(e.nodes,this.nodeLookup,this.parentLookup,{nodeExtent:this.nodeExtent,nodeOrigin:this.nodeOrigin,elevateNodesOnSelect:e.props.elevateNodesOnSelect??!0,checkEquality:!0,zIndexMode:this.zIndexMode});return this.fitViewQueued&&o&&(this.fitViewOptions?.duration?this.resolveFitView():queueMicrotask(()=>{this.resolveFitView()})),o});get nodesInitialized(){return n(this.#r)}set nodesInitialized(o){L(this.#r,o)}#l=S(()=>this.panZoom!==null);get viewportInitialized(){return n(this.#l)}set viewportInitialized(o){L(this.#l,o)}#s=S(()=>(HS(this.connectionLookup,this.edgeLookup,e.edges),e.edges));get _edges(){return n(this.#s)}set _edges(o){L(this.#s,o)}get nodes(){return this.nodesInitialized,e.nodes}set nodes(o){e.nodes=o}get edges(){return this._edges}set edges(o){e.edges=o}_prevSelectedNodes=[];_prevSelectedNodeIds=new Set;#g=S(()=>{const o=this._prevSelectedNodeIds.size,s=new Set,i=this.nodes.filter(a=>(a.selected&&(s.add(a.id),this._prevSelectedNodeIds.delete(a.id)),a.selected));return(o!==s.size||this._prevSelectedNodeIds.size>0)&&(this._prevSelectedNodes=i),this._prevSelectedNodeIds=s,this._prevSelectedNodes});get selectedNodes(){return n(this.#g)}set selectedNodes(o){L(this.#g,o)}_prevSelectedEdges=[];_prevSelectedEdgeIds=new Set;#c=S(()=>{const o=this._prevSelectedEdgeIds.size,s=new Set,i=this.edges.filter(a=>(a.selected&&(s.add(a.id),this._prevSelectedEdgeIds.delete(a.id)),a.selected));return(o!==s.size||this._prevSelectedEdgeIds.size>0)&&(this._prevSelectedEdges=i),this._prevSelectedEdgeIds=s,this._prevSelectedEdges});get selectedEdges(){return n(this.#c)}set selectedEdges(o){L(this.#c,o)}selectionChangeHandlers=new Map;nodeLookup=new Map;parentLookup=new Map;connectionLookup=new Map;edgeLookup=new Map;_prevVisibleEdges=new Map;#u=S(()=>{const{nodes:o,_edges:s,_prevVisibleEdges:i,nodeLookup:a,connectionMode:l,onerror:c,onlyRenderVisibleElements:f,defaultEdgeOptions:u,zIndexMode:h}=this;let d,g;const p={edges:s,defaultEdgeOptions:u,previousEdges:i,nodeLookup:a,connectionMode:l,elevateEdgesOnSelect:e.props.elevateEdgesOnSelect??!0,zIndexMode:h,onerror:c};if(f){const{viewport:y,width:w,height:M}=this,I=[y.x,y.y,y.zoom];d=I3(a,I,w,M),g=Hf({...p,onlyRenderVisible:!0,visibleNodes:d,transform:I,width:w,height:M})}else d=this.nodeLookup,g=Hf(p);return this._prevVisibleEdges=g,{nodes:d,edges:g}});get visible(){return n(this.#u)}set visible(o){L(this.#u,o)}#f=S(()=>e.props.nodesDraggable??!0);get nodesDraggable(){return n(this.#f)}set nodesDraggable(o){L(this.#f,o)}#p=S(()=>e.props.nodesConnectable??!0);get nodesConnectable(){return n(this.#p)}set nodesConnectable(o){L(this.#p,o)}#d=S(()=>e.props.elementsSelectable??!0);get elementsSelectable(){return n(this.#d)}set elementsSelectable(o){L(this.#d,o)}#_=S(()=>e.props.nodesFocusable??!0);get nodesFocusable(){return n(this.#_)}set nodesFocusable(o){L(this.#_,o)}#m=S(()=>e.props.edgesFocusable??!0);get edgesFocusable(){return n(this.#m)}set edgesFocusable(o){L(this.#m,o)}#b=S(()=>e.props.disableKeyboardA11y??!1);get disableKeyboardA11y(){return n(this.#b)}set disableKeyboardA11y(o){L(this.#b,o)}#y=S(()=>e.props.minZoom??.5);get minZoom(){return n(this.#y)}set minZoom(o){L(this.#y,o)}#x=S(()=>e.props.maxZoom??2);get maxZoom(){return n(this.#x)}set maxZoom(o){L(this.#x,o)}#v=S(()=>e.props.nodeOrigin??[0,0]);get nodeOrigin(){return n(this.#v)}set nodeOrigin(o){L(this.#v,o)}#w=S(()=>e.props.nodeExtent??ru);get nodeExtent(){return n(this.#w)}set nodeExtent(o){L(this.#w,o)}#h=S(()=>e.props.translateExtent??ru);get translateExtent(){return n(this.#h)}set translateExtent(o){L(this.#h,o)}#k=S(()=>e.props.defaultEdgeOptions??{});get defaultEdgeOptions(){return n(this.#k)}set defaultEdgeOptions(o){L(this.#k,o)}#E=S(()=>e.props.nodeDragThreshold??1);get nodeDragThreshold(){return n(this.#E)}set nodeDragThreshold(o){L(this.#E,o)}#S=S(()=>e.props.autoPanOnNodeDrag??!0);get autoPanOnNodeDrag(){return n(this.#S)}set autoPanOnNodeDrag(o){L(this.#S,o)}#M=S(()=>e.props.autoPanOnConnect??!0);get autoPanOnConnect(){return n(this.#M)}set autoPanOnConnect(o){L(this.#M,o)}#T=S(()=>e.props.autoPanOnNodeFocus??!0);get autoPanOnNodeFocus(){return n(this.#T)}set autoPanOnNodeFocus(o){L(this.#T,o)}#C=S(()=>e.props.autoPanSpeed??15);get autoPanSpeed(){return n(this.#C)}set autoPanSpeed(o){L(this.#C,o)}#N=S(()=>e.props.connectionDragThreshold??1);get connectionDragThreshold(){return n(this.#N)}set connectionDragThreshold(o){L(this.#N,o)}fitViewQueued=e.props.fitView??!1;fitViewOptions=e.props.fitViewOptions;fitViewResolver=null;#I=S(()=>e.props.snapGrid??null);get snapGrid(){return n(this.#I)}set snapGrid(o){L(this.#I,o)}#A=ae(!1);get dragging(){return n(this.#A)}set dragging(o){L(this.#A,o)}#P=ae(null);get selectionRect(){return n(this.#P)}set selectionRect(o){L(this.#P,o)}#O=ae(!1);get selectionKeyPressed(){return n(this.#O)}set selectionKeyPressed(o){L(this.#O,o)}#L=ae(!1);get multiselectionKeyPressed(){return n(this.#L)}set multiselectionKeyPressed(o){L(this.#L,o)}#D=ae(!1);get deleteKeyPressed(){return n(this.#D)}set deleteKeyPressed(o){L(this.#D,o)}#R=ae(!1);get panActivationKeyPressed(){return n(this.#R)}set panActivationKeyPressed(o){L(this.#R,o)}#z=ae(!1);get zoomActivationKeyPressed(){return n(this.#z)}set zoomActivationKeyPressed(o){L(this.#z,o)}#H=ae(null);get selectionRectMode(){return n(this.#H)}set selectionRectMode(o){L(this.#H,o)}#q=ae("");get ariaLiveMessage(){return n(this.#q)}set ariaLiveMessage(o){L(this.#q,o)}#j=S(()=>e.props.selectionMode??qa.Partial);get selectionMode(){return n(this.#j)}set selectionMode(o){L(this.#j,o)}#F=S(()=>({...bp,...e.props.nodeTypes}));get nodeTypes(){return n(this.#F)}set nodeTypes(o){L(this.#F,o)}#B=S(()=>({...xp,...e.props.edgeTypes}));get edgeTypes(){return n(this.#B)}set edgeTypes(o){L(this.#B,o)}#V=S(()=>e.props.noPanClass??"nopan");get noPanClass(){return n(this.#V)}set noPanClass(o){L(this.#V,o)}#W=S(()=>e.props.noDragClass??"nodrag");get noDragClass(){return n(this.#W)}set noDragClass(o){L(this.#W,o)}#K=S(()=>e.props.noWheelClass??"nowheel");get noWheelClass(){return n(this.#K)}set noWheelClass(o){L(this.#K,o)}#Y=S(()=>vS(e.props.ariaLabelConfig));get ariaLabelConfig(){return n(this.#Y)}set ariaLabelConfig(o){L(this.#Y,o)}#X=ae(P3(this.nodesInitialized,e.props.fitView,e.props.initialViewport,this.width,this.height,this.nodeLookup));get _viewport(){return n(this.#X)}set _viewport(o){L(this.#X,o)}get viewport(){return e.viewport??this._viewport}set viewport(o){e.viewport&&(e.viewport=o),this._viewport=o}#G=ae(ou);get _connection(){return n(this.#G)}set _connection(o){L(this.#G,o)}#Z=S(()=>this._connection.inProgress?{...this._connection,to:Li(this._connection.to,[this.viewport.x,this.viewport.y,this.viewport.zoom])}:this._connection);get connection(){return n(this.#Z)}set connection(o){L(this.#Z,o)}#U=S(()=>e.props.connectionMode??ds.Strict);get connectionMode(){return n(this.#U)}set connectionMode(o){L(this.#U,o)}#Q=S(()=>e.props.connectionRadius??20);get connectionRadius(){return n(this.#Q)}set connectionRadius(o){L(this.#Q,o)}#J=S(()=>e.props.isValidConnection??(()=>!0));get isValidConnection(){return n(this.#J)}set isValidConnection(o){L(this.#J,o)}#$=S(()=>e.props.selectNodesOnDrag??!0);get selectNodesOnDrag(){return n(this.#$)}set selectNodesOnDrag(o){L(this.#$,o)}#ee=S(()=>e.props.defaultMarkerColor===void 0?"#b1b1b7":e.props.defaultMarkerColor);get defaultMarkerColor(){return n(this.#ee)}set defaultMarkerColor(o){L(this.#ee,o)}#te=S(()=>TS(e.edges,{defaultColor:this.defaultMarkerColor,id:this.flowId,defaultMarkerStart:this.defaultEdgeOptions.markerStart,defaultMarkerEnd:this.defaultEdgeOptions.markerEnd}));get markers(){return n(this.#te)}set markers(o){L(this.#te,o)}#ne=S(()=>e.props.onlyRenderVisibleElements??!1);get onlyRenderVisibleElements(){return n(this.#ne)}set onlyRenderVisibleElements(o){L(this.#ne,o)}#re=S(()=>e.props.onflowerror??A3);get onerror(){return n(this.#re)}set onerror(o){L(this.#re,o)}#oe=S(()=>e.props.ondelete);get ondelete(){return n(this.#oe)}set ondelete(o){L(this.#oe,o)}#se=S(()=>e.props.onbeforedelete);get onbeforedelete(){return n(this.#se)}set onbeforedelete(o){L(this.#se,o)}#ie=S(()=>e.props.onbeforeconnect);get onbeforeconnect(){return n(this.#ie)}set onbeforeconnect(o){L(this.#ie,o)}#ae=S(()=>e.props.onconnect);get onconnect(){return n(this.#ae)}set onconnect(o){L(this.#ae,o)}#le=S(()=>e.props.onconnectstart);get onconnectstart(){return n(this.#le)}set onconnectstart(o){L(this.#le,o)}#ce=S(()=>e.props.onconnectend);get onconnectend(){return n(this.#ce)}set onconnectend(o){L(this.#ce,o)}#ue=S(()=>e.props.onbeforereconnect);get onbeforereconnect(){return n(this.#ue)}set onbeforereconnect(o){L(this.#ue,o)}#de=S(()=>e.props.onreconnect);get onreconnect(){return n(this.#de)}set onreconnect(o){L(this.#de,o)}#fe=S(()=>e.props.onreconnectstart);get onreconnectstart(){return n(this.#fe)}set onreconnectstart(o){L(this.#fe,o)}#ve=S(()=>e.props.onreconnectend);get onreconnectend(){return n(this.#ve)}set onreconnectend(o){L(this.#ve,o)}#he=S(()=>e.props.clickConnect??!0);get clickConnect(){return n(this.#he)}set clickConnect(o){L(this.#he,o)}#ge=S(()=>e.props.onclickconnectstart);get onclickconnectstart(){return n(this.#ge)}set onclickconnectstart(o){L(this.#ge,o)}#pe=S(()=>e.props.onclickconnectend);get onclickconnectend(){return n(this.#pe)}set onclickconnectend(o){L(this.#pe,o)}#me=ae(null);get clickConnectStartHandle(){return n(this.#me)}set clickConnectStartHandle(o){L(this.#me,o)}#_e=S(()=>e.props.onselectiondrag);get onselectiondrag(){return n(this.#_e)}set onselectiondrag(o){L(this.#_e,o)}#ye=S(()=>e.props.onselectiondragstart);get onselectiondragstart(){return n(this.#ye)}set onselectiondragstart(o){L(this.#ye,o)}#we=S(()=>e.props.onselectiondragstop);get onselectiondragstop(){return n(this.#we)}set onselectiondragstop(o){L(this.#we,o)}resolveFitView=async()=>{this.panZoom&&(await iS({nodes:this.nodeLookup,width:this.width,height:this.height,panZoom:this.panZoom,minZoom:this.minZoom,maxZoom:this.maxZoom},this.fitViewOptions),this.fitViewResolver?.resolve(!0),this.fitViewQueued=!1,this.fitViewOptions=void 0,this.fitViewResolver=null)};_prefersDark=new N3("(prefers-color-scheme: dark)",e.props.colorModeSSR==="dark");#be=S(()=>e.props.colorMode==="system"?this._prefersDark.current?"dark":"light":e.props.colorMode??"light");get colorMode(){return n(this.#be)}set colorMode(o){L(this.#be,o)}constructor(){}resetStoreValues(){this.dragging=!1,this.selectionRect=null,this.selectionRectMode=null,this.selectionKeyPressed=!1,this.multiselectionKeyPressed=!1,this.deleteKeyPressed=!1,this.panActivationKeyPressed=!1,this.zoomActivationKeyPressed=!1,this._connection=ou,this.clickConnectStartHandle=null,this.viewport=e.props.initialViewport??{x:0,y:0,zoom:1},this.ariaLiveMessage=""}}return new t}const L3=Po.error001("svelte");function bs(){const e=gu(au);if(!e)throw new Error(L3);return e.getStore()}const au=Symbol();function D3(e){const t=O3(e);function r(H){t.nodeTypes={...bp,...H}}function o(H){t.edgeTypes={...xp,...H}}function s(H){t.edges=n3(H,t.edges,{onError:t.onerror})}const i=(H,B=!1)=>{t.nodes=t.nodes.map(k=>{if(t.connection.inProgress&&t.connection.fromNode.id===k.id){const E=t.nodeLookup.get(k.id);E&&(t.connection={...t.connection,from:Lo(E,t.connection.fromHandle,Ve.Left,!0)})}const b=H.get(k.id);return b?{...k,position:b.position,dragging:B}:k})};function a(H){const{changes:B,updatedInternals:k}=RS(H,t.nodeLookup,t.parentLookup,t.domNode,t.nodeOrigin,t.nodeExtent,t.zIndexMode);if(!k)return;IS(t.nodeLookup,t.parentLookup,{nodeOrigin:t.nodeOrigin,nodeExtent:t.nodeExtent,zIndexMode:t.zIndexMode}),t.fitViewQueued&&t.resolveFitView();const b=new Map;for(const E of B){const q=t.nodeLookup.get(E.id)?.internals.userNode;if(!q)continue;const O={...q};switch(E.type){case"dimensions":{const K={...O.measured,...E.dimensions};E.setAttributes&&(O.width=E.dimensions?.width??O.width,O.height=E.dimensions?.height??O.height),O.measured=K;break}case"position":O.position=E.position??O.position;break}b.set(E.id,O)}t.nodes=t.nodes.map(E=>b.get(E.id)??E)}function l(H){const B=t.fitViewResolver??Promise.withResolvers();return t.fitViewQueued=!0,t.fitViewOptions=H,t.fitViewResolver=B,t.nodes=[...t.nodes],B.promise}async function c(H,B,k){const b=typeof k?.zoom<"u"?k.zoom:t.maxZoom,E=t.panZoom;return E?(await E.setViewport({x:t.width/2-H*b,y:t.height/2-B*b,zoom:b},{duration:k?.duration,ease:k?.ease,interpolate:k?.interpolate}),!0):!1}async function f(H,B){const k=t.panZoom;return k?k.scaleBy(H,B):!1}async function u(H){return f(1.2,H)}function h(H){return f(1/1.2,H)}function d(H){const B=t.panZoom;B&&(B.setScaleExtent([H,t.maxZoom]),t.minZoom=H)}function g(H){const B=t.panZoom;B&&(B.setScaleExtent([t.minZoom,H]),t.maxZoom=H)}function p(H){const B=t.panZoom;B&&(B.setTranslateExtent(H),t.translateExtent=H)}function y(H,B=null){let k=!1;const b=H.map(E=>(B?B.has(E.id):!0)&&E.selected?(k=!0,{...E,selected:!1}):E);return[k,b]}function w(H){const B=H?.nodes?new Set(H.nodes.map(K=>K.id)):null,[k,b]=y(t.nodes,B);k&&(t.nodes=b);const E=H?.edges?new Set(H.edges.map(K=>K.id)):null,[q,O]=y(t.edges,E);q&&(t.edges=O)}function M(H){const B=t.multiselectionKeyPressed;t.nodes=t.nodes.map(k=>{const b=H.includes(k.id),E=B&&k.selected||b;return!!k.selected!==E?{...k,selected:E}:k}),B||w({nodes:[]})}function I(H){const B=t.multiselectionKeyPressed;t.edges=t.edges.map(k=>{const b=H.includes(k.id),E=B&&k.selected||b;return!!k.selected!==E?{...k,selected:E}:k}),B||w({edges:[]})}function C(H,B,k){const b=t.nodeLookup.get(H);if(!b){t.onerror("012",Po.error012(H));return}t.selectionRect=null,t.selectionRectMode=null,b.selected?(B||b.selected&&t.multiselectionKeyPressed)&&(w({nodes:[b.internals.userNode],edges:[]}),requestAnimationFrame(()=>k?.blur())):M([H])}function T(H){const B=t.edgeLookup.get(H);if(!B){t.onerror("016",Po.error016(H));return}(B.selectable||t.elementsSelectable&&typeof B.selectable>"u")&&(t.selectionRect=null,t.selectionRectMode=null,B.selected?B.selected&&t.multiselectionKeyPressed&&w({nodes:[],edges:[B]}):I([H]))}function A(H,B){const{nodeExtent:k,snapGrid:b,nodeOrigin:E,nodeLookup:q,nodesDraggable:O,onerror:K}=t,Y=new Map,G=b?.[0]??5,U=b?.[1]??5,X=H.x*G*B,$=H.y*U*B;for(const Z of q.values()){if(!(Z.selected&&(Z.draggable||O&&typeof Z.draggable>"u")))continue;let F={x:Z.internals.positionAbsolute.x+X,y:Z.internals.positionAbsolute.y+$};b&&(F=Oi(F,b));const{position:J,positionAbsolute:te}=Ug({nodeId:Z.id,nextPosition:F,nodeLookup:q,nodeExtent:k,nodeOrigin:E,onError:K});Z.position=J,Z.internals.positionAbsolute=te,Y.set(Z.id,Z)}i(Y)}function D(H){return zS({delta:H,panZoom:t.panZoom,transform:[t.viewport.x,t.viewport.y,t.viewport.zoom],translateExtent:t.translateExtent,width:t.width,height:t.height})}const j=H=>{t._connection={...H}};function R(){t._connection=ou}function z(){t.resetStoreValues(),w()}return Object.assign(t,{setNodeTypes:r,setEdgeTypes:o,addEdge:s,updateNodePositions:i,updateNodeInternals:a,zoomIn:u,zoomOut:h,fitView:l,setCenter:c,setMinZoom:d,setMaxZoom:g,setTranslateExtent:p,unselectNodesAndEdges:w,addSelectedNodes:M,addSelectedEdges:I,handleNodeSelection:C,handleEdgeSelection:T,moveSelectedNodes:A,panBy:D,updateConnection:j,cancelConnection:R,reset:z})}function R3(e,t){const{minZoom:r,maxZoom:o,initialViewport:s,onPanZoomStart:i,onPanZoom:a,onPanZoomEnd:l,translateExtent:c,setPanZoomInstance:f,onDraggingChange:u,onTransformChange:h}=t,d=e3({domNode:e,minZoom:r,maxZoom:o,translateExtent:c,viewport:s,onPanZoom:a,onPanZoomStart:i,onPanZoomEnd:l,onDraggingChange:u}),g=d.getViewport();return(s.x!==g.x||s.y!==g.y||s.zoom!==g.zoom)&&h([g.x,g.y,g.zoom]),f(d),d.update(t),{update(p){d.update(p)}}}var z3=N('<div class="svelte-flow__zoom svelte-flow__container"><!></div>');function H3(e,t){Ne(t,!0);let r=Ee(t,"store",15),o=S(()=>r().panActivationKeyPressed||t.panOnDrag),s=S(()=>r().panActivationKeyPressed||t.panOnScroll);const{viewport:i}=r();let a=!1;et(()=>{!a&&r().viewportInitialized&&(t.oninit?.(),a=!0)});var l=z3(),c=v(l);Nn(c,()=>t.children),bn(l,(f,u)=>R3?.(f,u),()=>({viewport:r().viewport,minZoom:r().minZoom,maxZoom:r().maxZoom,initialViewport:i,onDraggingChange:f=>{r(r().dragging=f,!0)},setPanZoomInstance:f=>{r(r().panZoom=f,!0)},onPanZoomStart:t.onmovestart,onPanZoom:t.onmove,onPanZoomEnd:t.onmoveend,zoomOnScroll:t.zoomOnScroll,zoomOnDoubleClick:t.zoomOnDoubleClick,zoomOnPinch:t.zoomOnPinch,panOnScroll:n(s),panOnDrag:n(o),panOnScrollSpeed:t.panOnScrollSpeed,panOnScrollMode:t.panOnScrollMode,panActivationKeyPressed:r().panActivationKeyPressed,zoomActivationKeyPressed:r().zoomActivationKeyPressed,preventScrolling:typeof t.preventScrolling=="boolean"?t.preventScrolling:!0,noPanClassName:r().noPanClass,noWheelClassName:r().noWheelClass,userSelectionActive:!!r().selectionRect,translateExtent:r().translateExtent,lib:"svelte",paneClickDistance:t.paneClickDistance,selectionOnDrag:t.selectionOnDrag,onTransformChange:f=>{r(r().viewport={x:f[0],y:f[1],zoom:f[2]},!0)},connectionInProgress:r().connection.inProgress})),_(e,l),Ie()}function qf(e,t){return r=>{r.target===t&&e?.(r)}}function jf(e){return t=>{const r=e.has(t.id);return!!t.selected!==r?{...t,selected:r}:t}}function Ff(e,t){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}var q3=N("<div><!></div>");function j3(e,t){Ne(t,!0);let r=Ee(t,"store",15),o=Ee(t,"panOnDrag",3,!0),s=Ee(t,"paneClickDistance",3,1),i=Ee(t,"autoPanOnSelection",3,!0),a,l=null,c=!1,f=new Set,u=new Set,h=S(()=>r().panActivationKeyPressed||o()),d=S(()=>r().selectionKeyPressed||!!r().selectionRect||t.selectionOnDrag&&n(h)!==!0),g=S(()=>r().elementsSelectable&&(n(d)||r().selectionRectMode==="user")),p=!1,y=0,w={x:0,y:0},M=!1;function I(O){if(O.pointerType==="touch"&&n(h)!==!1&&!r().selectionKeyPressed||(l=a?.getBoundingClientRect(),!l))return;const K=O.target===a,Y=!K&&!!O.target.closest(".nokey"),G=t.selectionOnDrag&&K||r().selectionKeyPressed;if(Y||!n(d)||!G||O.button!==0||!O.isPrimary)return;O.target?.setPointerCapture?.(O.pointerId),p=!1,M=!1;const{x:U,y:X}=rr(O,l),$=Li({x:U,y:X},[r().viewport.x,r().viewport.y,r().viewport.zoom]);r(r().selectionRect={width:0,height:0,startX:$.x,startY:$.y,x:U,y:X},!0),K||(O.stopPropagation(),O.preventDefault())}function C(O,K){if(r().selectionRect?.startX===void 0||r().selectionRect.startY===void 0)return;const Y={x:r().selectionRect?.startX,y:r().selectionRect?.startY},G=vs(Y,[r().viewport.x,r().viewport.y,r().viewport.zoom]),U={startX:Y.x,startY:Y.y,x:O<G.x?O:G.x,y:K<G.y?K:G.y,width:Math.abs(O-G.x),height:Math.abs(K-G.y)},X=f,$=u;f=new Set(Zu(r().nodeLookup,U,[r().viewport.x,r().viewport.y,r().viewport.zoom],r().selectionMode===qa.Partial,!0).map(Q=>Q.id));const Z=r().defaultEdgeOptions.selectable??!0;u=new Set;for(const Q of f){const F=r().connectionLookup.get(Q);if(F)for(const{edgeId:J}of F.values()){const te=r().edgeLookup.get(J);te&&(te.selectable??Z)&&u.add(J)}}Ff(X,f)||r(r().nodes=r().nodes.map(jf(f)),!0),Ff($,u)||r(r().edges=r().edges.map(jf(u)),!0),r(r().selectionRectMode="user",!0),r(r().selectionRect=U,!0)}function T(){if(!i()||!l)return;const[O,K]=Uu(w,l,r().autoPanSpeed);r().panBy({x:O,y:K}).then(Y=>{if(!p||!Y){y=requestAnimationFrame(T);return}C(w.x,w.y),y=requestAnimationFrame(T)})}function A(){cancelAnimationFrame(y),y=0,M=!1}nl(()=>{typeof window<"u"&&A()});function D(O){if(!n(d)||!l||!r().selectionRect)return;const K=rr(O,l);w={x:K.x,y:K.y};const Y={x:r().selectionRect.startX,y:r().selectionRect.startY},G=vs(Y,[r().viewport.x,r().viewport.y,r().viewport.zoom]);if(!p){const U=r().selectionKeyPressed?0:s();if(Math.hypot(K.x-G.x,K.y-G.y)<=U)return;r().unselectNodesAndEdges(),t.onselectionstart?.(O)}p=!0,M||(T(),M=!0),C(K.x,K.y)}function j(O){if(!n(g)){O.target===a&&r().connection.inProgress&&(c=!0);return}O.button===0&&(O.target?.releasePointerCapture?.(O.pointerId),!p&&O.target===a&&H?.(O),r(r().selectionRect=null,!0),p&&r(r().selectionRectMode=f.size>0?"nodes":null,!0),p&&t.onselectionend?.(O),A())}function R(O){O.target?.releasePointerCapture?.(O.pointerId),A()}const z=O=>{if(Array.isArray(n(h))&&n(h).includes(2)){O.preventDefault();return}t.onpanecontextmenu?.({event:O})},W=O=>{p&&(O.stopPropagation(),p=!1)};function H(O){if(p||r().connection.inProgress||c){p=!1,c=!1;return}t.onpaneclick?.({event:O}),r().unselectNodesAndEdges(),r(r().selectionRectMode=null,!0),r(r().selectionRect=null,!0)}var B=q3();let k;var b=S(()=>n(g)?void 0:qf(H,a)),E=S(()=>qf(z,a)),q=v(B);Nn(q,()=>t.children),Wt(B,O=>a=O,()=>a),P(O=>k=Ce(B,1,"svelte-flow__pane svelte-flow__container",null,k,O),[()=>({draggable:o()===!0||Array.isArray(o())&&o().includes(0),dragging:r().dragging,selection:n(d)})]),ke("click",B,function(...O){n(b)?.apply(this,O)}),Ge("pointerdown",B,function(...O){(n(g)?I:void 0)?.apply(this,O)},!0),ke("pointermove",B,function(...O){(n(g)?D:void 0)?.apply(this,O)}),ke("pointerup",B,j),Ge("pointercancel",B,function(...O){(n(g)?R:void 0)?.apply(this,O)}),ke("contextmenu",B,function(...O){n(E)?.apply(this,O)}),Ge("click",B,function(...O){(n(g)?W:void 0)?.apply(this,O)},!0),_(e,B),Ie()}mt(["click","pointermove","pointerup","contextmenu"]);var F3=N('<div class="svelte-flow__viewport xyflow__viewport svelte-flow__container"><!></div>');function B3(e,t){Ne(t,!0);var r=F3();let o;var s=v(r);Nn(s,()=>t.children),P(()=>o=nt(r,"",o,{transform:`translate(${t.store.viewport.x??""}px, ${t.store.viewport.y??""}px) scale(${t.store.viewport.zoom??""})`})),_(e,r),Ie()}function kp(e,t){const{store:r,onDrag:o,onDragStart:s,onDragStop:i,onNodeMouseDown:a}=t,l=FS({onDrag:o,onDragStart:s,onDragStop:i,onNodeMouseDown:a,getStoreItems:()=>{const{snapGrid:f,viewport:u}=r;return{nodes:r.nodes,nodeLookup:r.nodeLookup,edges:r.edges,nodeExtent:r.nodeExtent,snapGrid:f||[0,0],snapToGrid:!!f,nodeOrigin:r.nodeOrigin,multiSelectionActive:r.multiselectionKeyPressed,domNode:r.domNode,transform:[u.x,u.y,u.zoom],autoPanOnNodeDrag:r.autoPanOnNodeDrag,nodesDraggable:r.nodesDraggable,selectNodesOnDrag:r.selectNodesOnDrag,nodeDragThreshold:r.nodeDragThreshold,unselectNodesAndEdges:r.unselectNodesAndEdges,updateNodePositions:r.updateNodePositions,onSelectionDrag:r.onselectiondrag,onSelectionDragStart:r.onselectiondragstart,onSelectionDragStop:r.onselectiondragstop,panBy:r.panBy}}});function c(f,u){if(u.disabled){l.destroy();return}l.update({domNode:f,noDragClassName:u.noDragClass,handleSelector:u.handleSelector,nodeId:u.nodeId,isSelectable:u.isSelectable,nodeClickDistance:u.nodeClickDistance})}return c(e,t),{update(f){c(e,f)},destroy(){l.destroy()}}}var V3=N('<div aria-live="assertive" aria-atomic="true" class="a11y-live-msg svelte-1ipwvlv"> </div>'),W3=N('<div class="a11y-hidden svelte-1ipwvlv"> </div> <div class="a11y-hidden svelte-1ipwvlv"> </div> <!>',1);function K3(e,t){Ne(t,!0);var r=W3(),o=ye(r),s=v(o),i=m(o,2),a=v(i),l=m(i,2);{var c=f=>{var u=V3(),h=v(u);P(()=>{se(u,"id",`${Y3}-${t.store.flowId}`),x(h,t.store.ariaLiveMessage)}),_(f,u)};V(l,f=>{t.store.disableKeyboardA11y||f(c)})}P(()=>{se(o,"id",`${Ep}-${t.store.flowId}`),x(s,t.store.disableKeyboardA11y?t.store.ariaLabelConfig["node.a11yDescription.default"]:t.store.ariaLabelConfig["node.a11yDescription.keyboardDisabled"]),se(i,"id",`${Sp}-${t.store.flowId}`),x(a,t.store.ariaLabelConfig["edge.a11yDescription.default"])}),_(e,r),Ie()}const Ep="svelte-flow__node-desc",Sp="svelte-flow__edge-desc",Y3="svelte-flow__aria-live";var X3=N("<div><!></div>");function G3(e,t){Ne(t,!0);let r=Ee(t,"store",15),o=S(()=>wn(t.node.data,()=>({}),!0)),s=S(()=>wn(t.node.selected,!1)),i=S(()=>t.node.draggable),a=S(()=>t.node.selectable),l=S(()=>wn(t.node.deletable,!0)),c=S(()=>t.node.connectable),f=S(()=>t.node.focusable),u=S(()=>wn(t.node.hidden,!1)),h=S(()=>wn(t.node.dragging,!1)),d=S(()=>wn(t.node.style,"")),g=S(()=>t.node.class),p=S(()=>wn(t.node.type,"default")),y=S(()=>t.node.parentId),w=S(()=>t.node.sourcePosition),M=S(()=>t.node.targetPosition),I=S(()=>wn(t.node.measured,()=>({width:0,height:0}),!0).width),C=S(()=>wn(t.node.measured,()=>({width:0,height:0}),!0).height),T=S(()=>t.node.initialWidth),A=S(()=>t.node.initialHeight),D=S(()=>t.node.width),j=S(()=>t.node.height),R=S(()=>t.node.dragHandle),z=S(()=>wn(t.node.internals.z,0)),W=S(()=>t.node.internals.positionAbsolute.x),H=S(()=>t.node.internals.positionAbsolute.y),B=S(()=>t.node.internals.userNode),{id:k}=t.node,b=S(()=>n(i)??r().nodesDraggable),E=S(()=>n(a)??r().elementsSelectable),q=S(()=>n(c)??r().nodesConnectable),O=S(()=>dS(t.node)),K=S(()=>!!t.node.internals.handleBounds),Y=S(()=>n(O)&&n(K)),G=S(()=>n(f)??r().nodesFocusable);function U(ce){return r().parentLookup.has(ce)}let X=S(()=>U(k)),$=ae(null),Z=null,Q=n(p),F=n(w),J=n(M),te=S(()=>r().nodeTypes[n(p)]??pp),ie=S(()=>r().ariaLabelConfig),ge={get value(){return n(q)}};o3(k),i3(ge);let ve=S(()=>{const ce=n(I)===void 0?n(D)??n(T):n(D),we=n(C)===void 0?n(j)??n(A):n(j);if(!(ce===void 0&&we===void 0&&n(d)===void 0))return`${n(d)};${ce?`width:${kr(ce)};`:""}${we?`height:${kr(we)};`:""}`});et(()=>{(n(p)!==Q||n(w)!==F||n(M)!==J)&&n($)!==null&&requestAnimationFrame(()=>{n($)!==null&&r().updateNodeInternals(new Map([[k,{id:k,nodeElement:n($),force:!0}]]))}),Q=n(p),F=n(w),J=n(M)}),et(()=>{t.resizeObserver&&(!n(Y)||n($)!==Z)&&(Z&&t.resizeObserver.unobserve(Z),n($)&&t.resizeObserver.observe(n($)),Z=n($))}),nl(()=>{Z&&t.resizeObserver?.unobserve(Z)});function re(ce){n(E)&&(!r().selectNodesOnDrag||!n(b)||r().nodeDragThreshold>0)&&r().handleNodeSelection(k),t.onnodeclick?.({node:n(B),event:ce})}function ee(ce){if(!(np(ce)||r().disableKeyboardA11y))if(Gg.includes(ce.key)&&n(E)){const we=ce.key==="Escape";r().handleNodeSelection(k,we,n($))}else n(b)&&t.node.selected&&Object.prototype.hasOwnProperty.call(Wa,ce.key)&&(ce.preventDefault(),r(r().ariaLiveMessage=n(ie)["node.a11yDescription.ariaLiveMessage"]({direction:ce.key.replace("Arrow","").toLowerCase(),x:~~t.node.internals.positionAbsolute.x,y:~~t.node.internals.positionAbsolute.y}),!0),r().moveSelectedNodes(Wa[ce.key],ce.shiftKey?4:1))}const ue=()=>{if(r().disableKeyboardA11y||!r().autoPanOnNodeFocus||!n($)?.matches(":focus-visible"))return;const{width:ce,height:we,viewport:de}=r();Zu(new Map([[k,t.node]]),{x:0,y:0,width:ce,height:we},[de.x,de.y,de.zoom],!0).length>0||r().setCenter(t.node.position.x+(t.node.measured.width??0)/2,t.node.position.y+(t.node.measured.height??0)/2,{zoom:de.zoom})};var ne=St(),fe=ye(ne);{var he=ce=>{var we=X3();Br(we,()=>({"data-id":k,class:["svelte-flow__node",`svelte-flow__node-${n(p)}`,n(g)],style:n(ve),onclick:re,onpointerenter:t.onnodepointerenter?me=>t.onnodepointerenter({node:n(B),event:me}):void 0,onpointerleave:t.onnodepointerleave?me=>t.onnodepointerleave({node:n(B),event:me}):void 0,onpointermove:t.onnodepointermove?me=>t.onnodepointermove({node:n(B),event:me}):void 0,oncontextmenu:t.onnodecontextmenu?me=>t.onnodecontextmenu({node:n(B),event:me}):void 0,onkeydown:n(G)?ee:void 0,onfocus:n(G)?ue:void 0,tabIndex:n(G)?0:void 0,role:t.node.ariaRole??(n(G)?"group":void 0),"aria-label":t.node.ariaLabel,"aria-roledescription":"node","aria-describedby":r().disableKeyboardA11y?void 0:`${Ep}-${r().flowId}`,...t.node.domAttributes,[Qr]:{dragging:n(h),selected:n(s),draggable:n(b),connectable:n(q),selectable:n(E),nopan:n(b),parent:n(X)},[dr]:{"z-index":n(z),transform:`translate(${n(W)??""}px, ${n(H)??""}px)`,visibility:n(O)?"visible":"hidden"}}));var de=v(we);Tu(de,()=>n(te),(me,Te)=>{Te(me,{get data(){return n(o)},get id(){return k},get selected(){return n(s)},get selectable(){return n(E)},get deletable(){return n(l)},get sourcePosition(){return n(w)},get targetPosition(){return n(M)},get zIndex(){return n(z)},get dragging(){return n(h)},get draggable(){return n(b)},get dragHandle(){return n(R)},get parentId(){return n(y)},get type(){return n(p)},get isConnectable(){return n(q)},get positionAbsoluteX(){return n(W)},get positionAbsoluteY(){return n(H)},get width(){return n(D)},get height(){return n(j)}})}),bn(we,(me,Te)=>kp?.(me,Te),()=>({nodeId:k,isSelectable:n(E),disabled:!n(b),handleSelector:n(R),noDragClass:r().noDragClass,nodeClickDistance:t.nodeClickDistance,onNodeMouseDown:r().handleNodeSelection,onDrag:(me,Te,Pe,Le)=>{t.onnodedrag?.({event:me,targetNode:Pe,nodes:Le})},onDragStart:(me,Te,Pe,Le)=>{t.onnodedragstart?.({event:me,targetNode:Pe,nodes:Le})},onDragStop:(me,Te,Pe,Le)=>{t.onnodedragstop?.({event:me,targetNode:Pe,nodes:Le})},store:r()})),Wt(we,me=>L($,me),()=>n($)),_(ce,we)};V(fe,ce=>{n(u)||ce(he)})}_(e,ne),Ie()}var Z3=N('<div class="svelte-flow__nodes"></div>');function U3(e,t){Ne(t,!0);let r=Ee(t,"store",15);const o=typeof ResizeObserver>"u"?null:new ResizeObserver(i=>{const a=new Map;i.forEach(l=>{const c=l.target.getAttribute("data-id");a.set(c,{id:c,nodeElement:l.target,force:!0})}),r().updateNodeInternals(a)});nl(()=>{o?.disconnect()});var s=Z3();xe(s,21,()=>r().visible.nodes.values(),i=>i.id,(i,a)=>{G3(i,{get node(){return n(a)},get resizeObserver(){return o},get nodeClickDistance(){return t.nodeClickDistance},get onnodeclick(){return t.onnodeclick},get onnodepointerenter(){return t.onnodepointerenter},get onnodepointermove(){return t.onnodepointermove},get onnodepointerleave(){return t.onnodepointerleave},get onnodedrag(){return t.onnodedrag},get onnodedragstart(){return t.onnodedragstart},get onnodedragstop(){return t.onnodedragstop},get onnodecontextmenu(){return t.onnodecontextmenu},get store(){return r()},set store(l){r(l)}})}),_(e,s),Ie()}var Q3=Yt('<svg class="svelte-flow__edge-wrapper"><g><!></g></svg>');function J3(e,t){Ne(t,!0);let r=S(()=>t.edge.id),o=S(()=>t.edge.source),s=S(()=>t.edge.target),i=S(()=>t.edge.sourceX),a=S(()=>t.edge.sourceY),l=S(()=>t.edge.targetX),c=S(()=>t.edge.targetY),f=S(()=>t.edge.sourcePosition),u=S(()=>t.edge.targetPosition),h=S(()=>wn(t.edge.animated,!1)),d=S(()=>wn(t.edge.selected,!1)),g=S(()=>t.edge.label),p=S(()=>t.edge.labelStyle),y=S(()=>wn(t.edge.data,()=>({}),!0)),w=S(()=>t.edge.style),M=S(()=>t.edge.interactionWidth),I=S(()=>wn(t.edge.type,"default")),C=S(()=>t.edge.sourceHandle),T=S(()=>t.edge.targetHandle),A=S(()=>t.edge.markerStart),D=S(()=>t.edge.markerEnd),j=S(()=>t.edge.selectable),R=S(()=>t.edge.focusable),z=S(()=>wn(t.edge.deletable,!0)),W=S(()=>t.edge.hidden),H=S(()=>t.edge.zIndex),B=S(()=>t.edge.class),k=S(()=>t.edge.ariaLabel);l3(n(r));let b=null,E=S(()=>n(j)??t.store.elementsSelectable),q=S(()=>n(R)??t.store.edgesFocusable),O=S(()=>t.store.edgeTypes[n(I)]??wp),K=S(()=>n(A)?`url('#${iu(n(A),t.store.flowId)}')`:void 0),Y=S(()=>n(D)?`url('#${iu(n(D),t.store.flowId)}')`:void 0);function G(F){const J=t.store.edgeLookup.get(n(r));J&&(n(E)&&t.store.handleEdgeSelection(n(r)),t.onedgeclick?.({event:F,edge:J}))}function U(F,J){const te=t.store.edgeLookup.get(n(r));te&&J({event:F,edge:te})}function X(F){if(!t.store.disableKeyboardA11y&&Gg.includes(F.key)&&n(E)){const{unselectNodesAndEdges:J,addSelectedEdges:te}=t.store;F.key==="Escape"?(b?.blur(),J({edges:[t.edge]})):te([n(r)])}}var $=St(),Z=ye($);{var Q=F=>{var J=Q3();let te;var ie=v(J);Br(ie,()=>({class:["svelte-flow__edge",n(B)],"data-id":n(r),onclick:G,oncontextmenu:t.onedgecontextmenu?ve=>{U(ve,t.onedgecontextmenu)}:void 0,onpointerenter:t.onedgepointerenter?ve=>{U(ve,t.onedgepointerenter)}:void 0,onpointerleave:t.onedgepointerleave?ve=>{U(ve,t.onedgepointerleave)}:void 0,"aria-label":n(k)===null?void 0:n(k)?n(k):`Edge from ${n(o)} to ${n(s)}`,"aria-describedby":n(q)?`${Sp}-${t.store.flowId}`:void 0,role:t.edge.ariaRole??(n(q)?"group":"img"),"aria-roledescription":"edge",onkeydown:n(q)?X:void 0,tabindex:n(q)?0:void 0,...t.edge.domAttributes,[Qr]:{animated:n(h),selected:n(d),selectable:n(E)}}));var ge=v(ie);Tu(ge,()=>n(O),(ve,re)=>{re(ve,{get id(){return n(r)},get source(){return n(o)},get target(){return n(s)},get sourceX(){return n(i)},get sourceY(){return n(a)},get targetX(){return n(l)},get targetY(){return n(c)},get sourcePosition(){return n(f)},get targetPosition(){return n(u)},get animated(){return n(h)},get selected(){return n(d)},get label(){return n(g)},get labelStyle(){return n(p)},get data(){return n(y)},get style(){return n(w)},get interactionWidth(){return n(M)},get selectable(){return n(E)},get deletable(){return n(z)},get type(){return n(I)},get sourceHandleId(){return n(C)},get targetHandleId(){return n(T)},get markerStart(){return n(K)},get markerEnd(){return n(Y)}})}),Wt(ie,ve=>b=ve,()=>b),P(()=>te=nt(J,"",te,{"z-index":n(H)})),_(F,J)};V(Z,F=>{n(W)||F(Q)})}_(e,$),Ie()}qm();var $3=Yt("<defs></defs>");function eM(e,t){Ne(t,!1);const r=bs();Vh();var o=$3();xe(o,5,()=>r.markers,s=>s.id,(s,i)=>{oM(s,Jr(()=>n(i)))}),_(e,o),Ie()}var tM=Yt('<polyline class="arrow" fill="none" stroke-linecap="round" stroke-linejoin="round" points="-5,-4 0,0 -5,4"></polyline>'),nM=Yt('<polyline class="arrowclosed" stroke-linecap="round" stroke-linejoin="round" points="-5,-4 0,0 -5,4 -5,-4"></polyline>'),rM=Yt('<marker class="svelte-flow__arrowhead" viewBox="-10 -10 20 20" refX="0" refY="0"><!></marker>');function oM(e,t){Ne(t,!0);let r=Ee(t,"width",3,12.5),o=Ee(t,"height",3,12.5),s=Ee(t,"markerUnits",3,"strokeWidth"),i=Ee(t,"orient",3,"auto-start-reverse"),a=Ee(t,"color",3,"none");var l=rM(),c=v(l);{var f=h=>{var d=tM();let g;P(()=>{se(d,"stroke-width",t.strokeWidth),g=nt(d,"",g,{stroke:a()})}),_(h,d)},u=h=>{var d=nM();let g;P(()=>{se(d,"stroke-width",t.strokeWidth),g=nt(d,"",g,{stroke:a(),fill:a()})}),_(h,d)};V(c,h=>{t.type===ja.Arrow?h(f):t.type===ja.ArrowClosed&&h(u,1)})}P(()=>{se(l,"id",t.id),se(l,"markerWidth",`${r()}`),se(l,"markerHeight",`${o()}`),se(l,"markerUnits",s()),se(l,"orient",i())}),_(e,l),Ie()}var sM=N('<div class="svelte-flow__edges"><svg class="svelte-flow__marker"><!></svg> <!></div>');function iM(e,t){Ne(t,!0);let r=Ee(t,"store",15);var o=sM(),s=v(o),i=v(s);eM(i,{});var a=m(s,2);xe(a,17,()=>r().visible.edges.values(),l=>l.id,(l,c)=>{J3(l,{get edge(){return n(c)},get onedgeclick(){return t.onedgeclick},get onedgecontextmenu(){return t.onedgecontextmenu},get onedgepointerenter(){return t.onedgepointerenter},get onedgepointerleave(){return t.onedgepointerleave},get store(){return r()},set store(f){r(f)}})}),_(e,o),Ie()}var aM=N('<div class="svelte-flow__selection svelte-no88db"></div>');function Mp(e,t){Ne(t,!0);let r=Ee(t,"x",3,0),o=Ee(t,"y",3,0),s=Ee(t,"width",3,0),i=Ee(t,"height",3,0),a=Ee(t,"isVisible",3,!0);var l=St(),c=ye(l);{var f=u=>{var h=aM();let d;P(g=>d=nt(h,"",d,g),[()=>({width:typeof s()=="string"?s():kr(s()),height:typeof i()=="string"?i():kr(i()),transform:`translate(${r()}px, ${o()}px)`})]),_(u,h)};V(c,u=>{a()&&u(f)})}_(e,l),Ie()}var lM=N("<div><!></div>");function cM(e,t){Ne(t,!0);let r=ae(void 0);et(()=>{t.store.disableKeyboardA11y||n(r)?.focus({preventScroll:!0})});let o=S(()=>{if(t.store.selectionRectMode==="nodes"){t.store.nodes;const h=dl(t.store.nodeLookup,{filter:d=>!!d.selected});if(h.width>0&&h.height>0)return h}return null});function s(h){const d=t.store.nodes.filter(g=>g.selected);t.onselectioncontextmenu?.({nodes:d,event:h})}function i(h){const d=t.store.nodes.filter(g=>g.selected);t.onselectionclick?.({nodes:d,event:h})}function a(h){Object.prototype.hasOwnProperty.call(Wa,h.key)&&(h.preventDefault(),t.store.moveSelectedNodes(Wa[h.key],h.shiftKey?4:1))}var l=St(),c=ye(l);{var f=h=>{var d=lM();let g;var p=v(d);Mp(p,{width:"100%",height:"100%",x:0,y:0}),bn(d,(y,w)=>kp?.(y,w),()=>({disabled:!1,store:t.store,onDrag:(y,w,M,I)=>{t.onnodedrag?.({event:y,targetNode:null,nodes:I})},onDragStart:(y,w,M,I)=>{t.onnodedragstart?.({event:y,targetNode:null,nodes:I})},onDragStop:(y,w,M,I)=>{t.onnodedragstop?.({event:y,targetNode:null,nodes:I})}})),Wt(d,y=>L(r,y),()=>n(r)),P(y=>{Ce(d,1,zo(["svelte-flow__selection-wrapper",t.store.noPanClass]),"svelte-159vedv"),se(d,"role",t.store.disableKeyboardA11y?void 0:"button"),se(d,"tabindex",t.store.disableKeyboardA11y?void 0:-1),g=nt(d,"",g,y)},[()=>({width:kr(n(o).width),height:kr(n(o).height),transform:`translate(${n(o).x??""}px, ${n(o).y??""}px)`})]),ke("contextmenu",d,s),ke("click",d,i),ke("keydown",d,function(...y){(t.store.disableKeyboardA11y?void 0:a)?.apply(this,y)}),_(h,d)},u=S(()=>t.store.selectionRectMode==="nodes"&&n(o)&&Dr(n(o).x)&&Dr(n(o).y));V(c,h=>{n(u)&&h(f)})}_(e,l),Ie()}mt(["contextmenu","click","keydown"]);function uM(e){switch(e){case"none":return 0;case"ctrl":return 8;case"shift":return 4;case"alt":return 2;case"meta":return 1}}function ir(e,t){let{enabled:r=!0,trigger:o,type:s="keydown"}=t;function i(l){const c=Array.isArray(o)?o:[o],f=[l.metaKey,l.altKey,l.shiftKey,l.ctrlKey].reduce((u,h,d)=>h?u|1<<d:u,0);for(const u of c){const h={preventDefault:!1,enabled:!0,...u},{modifier:d,key:g,code:p,callback:y,preventDefault:w,enabled:M}=h;if(!g&&!p&&console.warn("[svelte-put/shortcut] Trigger should have either `key` or `code`, a trigger missing both was detected! Check your configuration"),M&&(g||p)){if(p&&l.code!==p)continue;if(g&&l.key!==g)continue;if(d===null||d===!1){if(f!==0)continue}else if(d!==void 0&&d?.[0]?.length>0){const C=Array.isArray(d)?d:[d];let T=!1;for(const A of C)if((Array.isArray(A)?A:[A]).reduce((j,R)=>j|uM(R),0)===f){T=!0;break}if(!T)continue}w&&l.preventDefault();const I={node:e,trigger:h,originalEvent:l};e.dispatchEvent(new CustomEvent("shortcut",{detail:I})),y?.(I)}}}let a;return r&&(a=Rc(e,s,i)),{update:l=>{const{enabled:c=!0,type:f="keydown"}=l;r&&(!c||s!==f)?a?.():!r&&c&&(a=Rc(e,f,i)),r=c,s=f,o=l.trigger},destroy:()=>{a?.()}}}function dM(){const e=S(bs),t=i=>{const a=zf(i)?i:n(e).nodeLookup.get(i.id),l=a.parentId?fS(a.position,a.measured,a.parentId,n(e).nodeLookup,n(e).nodeOrigin):a.position,c={...a,position:l,width:a.measured?.width??a.width,height:a.measured?.height??a.height};return yi(c)};function r(i,a,l={replace:!1}){n(e).nodes=Ut(()=>n(e).nodes).map(c=>{if(c.id===i){const f=typeof a=="function"?a(c):a;return l?.replace&&zf(f)?f:{...c,...f}}return c})}function o(i,a,l={replace:!1}){n(e).edges=Ut(()=>n(e).edges).map(c=>{if(c.id===i){const f=typeof a=="function"?a(c):a;return l.replace&&m3(f)?f:{...c,...f}}return c})}const s=i=>n(e).nodeLookup.get(i);return{zoomIn:n(e).zoomIn,zoomOut:n(e).zoomOut,getInternalNode:s,getNode:i=>s(i)?.internals.userNode,getNodes:i=>i===void 0?n(e).nodes:Bf(n(e).nodeLookup,i),getEdge:i=>n(e).edgeLookup.get(i),getEdges:i=>i===void 0?n(e).edges:Bf(n(e).edgeLookup,i),setZoom:async(i,a)=>{const l=n(e).panZoom;return l?l.scaleTo(i,a):!1},getZoom:()=>n(e).viewport.zoom,setViewport:async(i,a)=>{const l=n(e).viewport;return n(e).panZoom?(await n(e).panZoom.setViewport({x:i.x??l.x,y:i.y??l.y,zoom:i.zoom??l.zoom},a),!0):!1},getViewport:()=>$v(n(e).viewport),setCenter:async(i,a,l)=>n(e).setCenter(i,a,l),fitView:i=>n(e).fitView(i),fitBounds:async(i,a)=>{if(!n(e).panZoom)return!1;const l=Qu(i,n(e).width,n(e).height,n(e).minZoom,n(e).maxZoom,a?.padding??.1);return await n(e).panZoom.setViewport(l,{duration:a?.duration,ease:a?.ease,interpolate:a?.interpolate}),!0},getIntersectingNodes:(i,a=!0,l)=>{const c=Ef(i),f=c?i:t(i);return f?(l||n(e).nodes).filter(u=>{const h=n(e).nodeLookup.get(u.id);if(!h||!c&&u.id===i.id)return!1;const d=yi(h),g=Ba(d,f);return a&&g>0||g>=d.width*d.height||g>=f.width*f.height}):[]},isNodeIntersecting:(i,a,l=!0)=>{const f=Ef(i)?i:t(i);if(!f)return!1;const u=Ba(f,a);return l&&u>0||u>=a.width*a.height||u>=f.width*f.height},deleteElements:async({nodes:i=[],edges:a=[]})=>{const{nodes:l,edges:c}=await aS({nodesToRemove:i,edgesToRemove:a,nodes:n(e).nodes,edges:n(e).edges,onBeforeDelete:n(e).onbeforedelete});return l&&(n(e).nodes=Ut(()=>n(e).nodes).filter(f=>!l.some(({id:u})=>u===f.id))),c&&(n(e).edges=Ut(()=>n(e).edges).filter(f=>!c.some(({id:u})=>u===f.id))),(l.length>0||c.length>0)&&n(e).ondelete?.({nodes:l,edges:c}),{deletedNodes:l,deletedEdges:c}},screenToFlowPosition:(i,a={snapToGrid:!0})=>{if(!n(e).domNode)return i;const l=a.snapToGrid?n(e).snapGrid:!1,{x:c,y:f,zoom:u}=n(e).viewport,{x:h,y:d}=n(e).domNode.getBoundingClientRect(),g={x:i.x-h,y:i.y-d};return Li(g,[c,f,u],l!==null,l||[1,1])},flowToScreenPosition:i=>{if(!n(e).domNode)return i;const{x:a,y:l,zoom:c}=n(e).viewport,{x:f,y:u}=n(e).domNode.getBoundingClientRect(),h=vs(i,[a,l,c]);return{x:h.x+f,y:h.y+u}},toObject:()=>structuredClone({nodes:[...n(e).nodes],edges:[...n(e).edges],viewport:{...n(e).viewport}}),updateNode:r,updateNodeData:(i,a,l)=>{const c=n(e).nodeLookup.get(i)?.internals.userNode;if(!c)return;const f=typeof a=="function"?a(c):a;r(i,u=>({...u,data:l?.replace?f:{...u.data,...f}}))},updateEdge:o,getNodesBounds:i=>rS(i,{nodeLookup:n(e).nodeLookup,nodeOrigin:n(e).nodeOrigin}),getHandleConnections:({type:i,id:a,nodeId:l})=>Array.from(n(e).connectionLookup.get(`${l}-${i}-${a??null}`)?.values()??[])}}function Bf(e,t){const r=[];for(const o of t){const s=e.get(o);if(s){const i="internals"in s?s.internals?.userNode:s;r.push(i)}}return r}function fM(e,t){Ne(t,!0);let r=Ee(t,"store",15),o=Ee(t,"selectionKey",3,"Shift"),s=Ee(t,"multiSelectionKey",19,()=>Va()?"Meta":"Control"),i=Ee(t,"deleteKey",3,"Backspace"),a=Ee(t,"panActivationKey",3," "),l=Ee(t,"zoomActivationKey",19,()=>Va()?"Meta":"Control"),{deleteElements:c}=dM();function f(y){return y!==null&&typeof y=="object"}function u(y){return f(y)?y.modifier||[]:[]}function h(y){return y==null?"":f(y)?y.key:y}function d(y,w){return(Array.isArray(y)?y:[y]).map(I=>{const C=h(I);return{key:C,modifier:u(I),enabled:C!==null,callback:w}})}function g(){r(r().selectionRect=null,!0),r(r().selectionKeyPressed=!1,!0),r(r().multiselectionKeyPressed=!1,!0),r(r().deleteKeyPressed=!1,!0),r(r().panActivationKeyPressed=!1,!0),r(r().zoomActivationKeyPressed=!1,!0)}function p(){const y=r().nodes.filter(M=>M.selected),w=r().edges.filter(M=>M.selected);c({nodes:y,edges:w})}Ge("blur",fn,g),Ge("contextmenu",fn,g),bn(fn,(y,w)=>ir?.(y,w),()=>({trigger:d(o(),()=>r(r().selectionKeyPressed=!0,!0)),type:"keydown"})),bn(fn,(y,w)=>ir?.(y,w),()=>({trigger:d(o(),()=>r(r().selectionKeyPressed=!1,!0)),type:"keyup"})),bn(fn,(y,w)=>ir?.(y,w),()=>({trigger:d(s(),()=>{r(r().multiselectionKeyPressed=!0,!0)}),type:"keydown"})),bn(fn,(y,w)=>ir?.(y,w),()=>({trigger:d(s(),()=>r(r().multiselectionKeyPressed=!1,!0)),type:"keyup"})),bn(fn,(y,w)=>ir?.(y,w),()=>({trigger:d(i(),y=>{!(y.originalEvent.ctrlKey||y.originalEvent.metaKey||y.originalEvent.shiftKey)&&!np(y.originalEvent)&&(r(r().deleteKeyPressed=!0,!0),p())}),type:"keydown"})),bn(fn,(y,w)=>ir?.(y,w),()=>({trigger:d(i(),()=>r(r().deleteKeyPressed=!1,!0)),type:"keyup"})),bn(fn,(y,w)=>ir?.(y,w),()=>({trigger:d(a(),()=>r(r().panActivationKeyPressed=!0,!0)),type:"keydown"})),bn(fn,(y,w)=>ir?.(y,w),()=>({trigger:d(a(),()=>r(r().panActivationKeyPressed=!1,!0)),type:"keyup"})),bn(fn,(y,w)=>ir?.(y,w),()=>({trigger:d(l(),()=>r(r().zoomActivationKeyPressed=!0,!0)),type:"keydown"})),bn(fn,(y,w)=>ir?.(y,w),()=>({trigger:d(l(),()=>r(r().zoomActivationKeyPressed=!1,!0)),type:"keyup"})),Ie()}var vM=Yt('<path fill="none" class="svelte-flow__connection-path"></path>'),hM=Yt('<svg class="svelte-flow__connectionline"><g><!></g></svg>');function gM(e,t){Ne(t,!0);let r=S(()=>{if(!t.store.connection.inProgress)return"";const a={sourceX:t.store.connection.from.x,sourceY:t.store.connection.from.y,sourcePosition:t.store.connection.fromPosition,targetX:t.store.connection.to.x,targetY:t.store.connection.to.y,targetPosition:t.store.connection.toPosition};switch(t.type){case eo.Bezier:{const[l]=op(a);return l}case eo.Straight:{const[l]=ip(a);return l}case eo.Step:case eo.SmoothStep:{const[l]=Ju({...a,borderRadius:t.type===eo.Step?0:void 0});return l}}});var o=St(),s=ye(o);{var i=a=>{var l=hM(),c=v(l),f=v(c);{var u=d=>{var g=St(),p=ye(g);Tu(p,()=>t.LineComponent,(y,w)=>{w(y,{})}),_(d,g)},h=d=>{var g=vM();P(()=>{se(g,"d",n(r)),nt(g,t.style)}),_(d,g)};V(f,d=>{t.LineComponent?d(u):d(h,-1)})}P(d=>{se(l,"width",t.store.width),se(l,"height",t.store.height),nt(l,t.containerStyle),Ce(c,0,d)},[()=>zo(["svelte-flow__connection",gS(t.store.connection.isValid)])]),_(a,l)};V(s,a=>{t.store.connection.inProgress&&a(i)})}_(e,o),Ie()}var pM=new Set(["$$slots","$$events","$$legacy","position","style","class","children"]),mM=N("<div><!></div>");function Tp(e,t){Ne(t,!0);let r=Ee(t,"position",3,"top-right"),o=ao(t,pM),s=S(()=>`${r()}`.split("-"));var i=mM();Br(i,l=>({class:l,style:t.style,...o}),[()=>["svelte-flow__panel",t.class,...n(s)]]);var a=v(i);Nn(a,()=>t.children??Ln),_(e,i),Ie()}var _M=N('<a target="_blank" rel="noopener noreferrer" aria-label="Svelte Flow attribution">Svelte Flow</a>');function yM(e,t){Ne(t,!0);let r=Ee(t,"position",3,"bottom-right");const o="https://svelteflow.dev?utm_source=attribution";et(()=>{});var s=St(),i=ye(s);{var a=l=>{{let c=S(()=>`Please only hide this attribution when you are subscribed to Svelte Flow Pro: ${o}`);Tp(l,{get position(){return r()},class:"svelte-flow__attribution",get"data-message"(){return n(c)},children:(f,u)=>{var h=_M();P(()=>se(h,"href",o)),_(f,h)},$$slots:{default:!0}})}};V(i,l=>{t.proOptions?.hideAttribution||l(a)})}_(e,s),Ie()}var wM=N("<div><!></div>");function bM(e,t){Ne(t,!0);let r=Ee(t,"domNode",15),o=Ee(t,"clientWidth",15),s=Ee(t,"clientHeight",15),i=S(()=>t.rest.class),a=S(()=>cm(t.rest,["id","class","nodeTypes","edgeTypes","colorMode","isValidConnection","onmove","onmovestart","onmoveend","onflowerror","ondelete","onbeforedelete","onbeforeconnect","onconnect","onconnectstart","onconnectend","onbeforereconnect","onreconnect","onreconnectstart","onreconnectend","onclickconnectstart","onclickconnectend","oninit","onselectionchange","onselectiondragstart","onselectiondrag","onselectiondragstop","onselectionstart","onselectionend","clickConnect","fitView","fitViewOptions","nodeOrigin","nodeDragThreshold","connectionDragThreshold","minZoom","maxZoom","initialViewport","connectionRadius","connectionMode","selectionMode","selectNodesOnDrag","snapGrid","defaultMarkerColor","translateExtent","nodeExtent","onlyRenderVisibleElements","autoPanOnConnect","autoPanOnNodeDrag","colorModeSSR","defaultEdgeOptions","elevateNodesOnSelect","elevateEdgesOnSelect","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","elementsSelectable","nodesFocusable","edgesFocusable","disableKeyboardA11y","noDragClass","noPanClass","noWheelClass","ariaLabelConfig","autoPanSpeed","panOnScrollSpeed","zIndexMode","autoPanOnSelection"]));function l(u){u.currentTarget.scrollTo({top:0,left:0,behavior:"auto"}),t.rest.onscroll&&t.rest.onscroll(u)}var c=wM();Br(c,u=>({class:["svelte-flow","svelte-flow__container",t.colorMode,n(i)],"data-testid":"svelte-flow__wrapper",role:"application",onscroll:l,...n(a),[dr]:u}),[()=>({width:kr(t.width),height:kr(t.height)})],void 0,void 0,"svelte-7zvu2w");var f=v(c);Nn(f,()=>t.children??Ln),Wt(c,u=>r(u),()=>r()),Sd(c,"clientHeight",s),Sd(c,"clientWidth",o),_(e,c),Ie()}var xM=new Set(["$$slots","$$events","$$legacy","width","height","proOptions","selectionKey","deleteKey","panActivationKey","multiSelectionKey","zoomActivationKey","paneClickDistance","nodeClickDistance","onmovestart","onmoveend","onmove","oninit","onnodeclick","onnodecontextmenu","onnodedrag","onnodedragstart","onnodedragstop","onnodepointerenter","onnodepointermove","onnodepointerleave","onselectionclick","onselectioncontextmenu","onselectionstart","onselectionend","onedgeclick","onedgecontextmenu","onedgepointerenter","onedgepointerleave","onpaneclick","onpanecontextmenu","panOnScrollMode","preventScrolling","zoomOnScroll","zoomOnDoubleClick","zoomOnPinch","panOnScroll","panOnScrollSpeed","panOnDrag","selectionOnDrag","autoPanOnSelection","connectionLineComponent","connectionLineStyle","connectionLineContainerStyle","connectionLineType","attributionPosition","children","nodes","edges","viewport"]),kM=N('<div class="svelte-flow__viewport-back svelte-flow__container"></div> <!> <div class="svelte-flow__edge-labels svelte-flow__container"></div> <!> <!> <!> <div class="svelte-flow__viewport-front svelte-flow__container"></div>',1),EM=N("<!> <!>",1),SM=N("<!> <!> <!> <!> <!>",1);function gl(e,t){Ne(t,!0);let r=Ee(t,"paneClickDistance",3,1),o=Ee(t,"nodeClickDistance",3,1),s=Ee(t,"panOnScrollMode",19,()=>$o.Free),i=Ee(t,"preventScrolling",3,!0),a=Ee(t,"zoomOnScroll",3,!0),l=Ee(t,"zoomOnDoubleClick",3,!0),c=Ee(t,"zoomOnPinch",3,!0),f=Ee(t,"panOnScroll",3,!1),u=Ee(t,"panOnScrollSpeed",3,.5),h=Ee(t,"panOnDrag",3,!0),d=Ee(t,"selectionOnDrag",3,!1),g=Ee(t,"autoPanOnSelection",3,!0),p=Ee(t,"connectionLineType",19,()=>eo.Bezier),y=Ee(t,"nodes",31,()=>un([])),w=Ee(t,"edges",31,()=>un([])),M=Ee(t,"viewport",15,void 0),I=ao(t,xM),C=D3({props:I,width:t.width,height:t.height,get nodes(){return y()},set nodes(A){y(A)},get edges(){return w()},set edges(A){w(A)},get viewport(){return M()},set viewport(A){M(A)}});const T=gu(au);T&&T.setStore&&T.setStore(C),eh(au,{provider:!1,getStore(){return C}}),et(()=>{const A={nodes:C.selectedNodes,edges:C.selectedEdges};Ut(()=>t.onselectionchange)?.(A);for(const D of C.selectionChangeHandlers.values())D(A)}),nl(()=>{C.reset()}),bM(e,{get colorMode(){return C.colorMode},get width(){return t.width},get height(){return t.height},get rest(){return I},get domNode(){return C.domNode},set domNode(A){C.domNode=A},get clientWidth(){return C.width},set clientWidth(A){C.width=A},get clientHeight(){return C.height},set clientHeight(A){C.height=A},children:(A,D)=>{var j=SM(),R=ye(j);fM(R,{get selectionKey(){return t.selectionKey},get deleteKey(){return t.deleteKey},get panActivationKey(){return t.panActivationKey},get multiSelectionKey(){return t.multiSelectionKey},get zoomActivationKey(){return t.zoomActivationKey},get store(){return C},set store(k){C=k}});var z=m(R,2);H3(z,{get panOnScrollMode(){return s()},get preventScrolling(){return i()},get zoomOnScroll(){return a()},get zoomOnDoubleClick(){return l()},get zoomOnPinch(){return c()},get panOnScroll(){return f()},get panOnScrollSpeed(){return u()},get panOnDrag(){return h()},get paneClickDistance(){return r()},get selectionOnDrag(){return d()},get onmovestart(){return t.onmovestart},get onmove(){return t.onmove},get onmoveend(){return t.onmoveend},get oninit(){return t.oninit},get store(){return C},set store(k){C=k},children:(k,b)=>{j3(k,{get onpaneclick(){return t.onpaneclick},get onpanecontextmenu(){return t.onpanecontextmenu},get onselectionstart(){return t.onselectionstart},get onselectionend(){return t.onselectionend},get panOnDrag(){return h()},get paneClickDistance(){return r()},get selectionOnDrag(){return d()},get autoPanOnSelection(){return g()},get store(){return C},set store(E){C=E},children:(E,q)=>{var O=EM(),K=ye(O);B3(K,{get store(){return C},set store(G){C=G},children:(G,U)=>{var X=kM(),$=m(ye(X),2);iM($,{get onedgeclick(){return t.onedgeclick},get onedgecontextmenu(){return t.onedgecontextmenu},get onedgepointerenter(){return t.onedgepointerenter},get onedgepointerleave(){return t.onedgepointerleave},get store(){return C},set store(J){C=J}});var Z=m($,4);gM(Z,{get type(){return p()},get LineComponent(){return t.connectionLineComponent},get containerStyle(){return t.connectionLineContainerStyle},get style(){return t.connectionLineStyle},get store(){return C},set store(J){C=J}});var Q=m(Z,2);U3(Q,{get nodeClickDistance(){return o()},get onnodeclick(){return t.onnodeclick},get onnodecontextmenu(){return t.onnodecontextmenu},get onnodepointerenter(){return t.onnodepointerenter},get onnodepointermove(){return t.onnodepointermove},get onnodepointerleave(){return t.onnodepointerleave},get onnodedrag(){return t.onnodedrag},get onnodedragstart(){return t.onnodedragstart},get onnodedragstop(){return t.onnodedragstop},get store(){return C},set store(J){C=J}});var F=m(Q,2);cM(F,{get onselectionclick(){return t.onselectionclick},get onselectioncontextmenu(){return t.onselectioncontextmenu},get onnodedrag(){return t.onnodedrag},get onnodedragstart(){return t.onnodedragstart},get onnodedragstop(){return t.onnodedragstop},get store(){return C},set store(J){C=J}}),_(G,X)},$$slots:{default:!0}});var Y=m(K,2);{let G=S(()=>!!(C.selectionRect&&C.selectionRectMode==="user")),U=S(()=>C.selectionRect?.width),X=S(()=>C.selectionRect?.height),$=S(()=>C.selectionRect?.x),Z=S(()=>C.selectionRect?.y);Mp(Y,{get isVisible(){return n(G)},get width(){return n(U)},get height(){return n(X)},get x(){return n($)},get y(){return n(Z)}})}_(E,O)},$$slots:{default:!0}})},$$slots:{default:!0}});var W=m(z,2);yM(W,{get proOptions(){return t.proOptions},get position(){return t.attributionPosition}});var H=m(W,2);K3(H,{get store(){return C}});var B=m(H,2);Nn(B,()=>t.children??Ln),_(A,j)},$$slots:{default:!0}}),Ie()}var MM=new Set(["$$slots","$$events","$$legacy","target","children"]),TM=N("<div><!></div>");function CM(e,t){Ne(t,!0);let r=Ee(t,"target",3,"front"),o=ao(t,MM);var s=TM();Br(s,a=>({...o,[dr]:a}),[()=>({display:_p().value?"none":void 0})]);var i=v(s);Nn(i,()=>t.children??Ln),bn(s,(a,l)=>mp?.(a,l),()=>`viewport-${r()}`),_(e,s),Ie()}var NM=new Set(["$$slots","$$events","$$legacy","class","bgColor","bgColorHover","color","colorHover","borderColor","onclick","children"]),IM=N("<button><!></button>");function Qi(e,t){let r=ao(t,NM);var o=IM();Br(o,()=>({type:"button",onclick:t.onclick,class:["svelte-flow__controls-button",t.class],...r,[dr]:{"--xy-controls-button-background-color-props":t.bgColor,"--xy-controls-button-background-color-hover-props":t.bgColorHover,"--xy-controls-button-color-props":t.color,"--xy-controls-button-color-hover-props":t.colorHover,"--xy-controls-button-border-color-props":t.borderColor}}));var s=v(o);Nn(s,()=>t.children??Ln),_(e,o)}var AM=Yt('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"></path></svg>');function PM(e){var t=AM();_(e,t)}var OM=Yt('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 5"><path d="M0 0h32v4.2H0z"></path></svg>');function LM(e){var t=OM();_(e,t)}var DM=Yt('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 30"><path d="M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"></path></svg>');function RM(e){var t=DM();_(e,t)}var zM=Yt('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 32"><path d="M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"></path></svg>');function HM(e){var t=zM();_(e,t)}var qM=Yt('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 32"><path d="M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"></path></svg>');function jM(e){var t=qM();_(e,t)}var FM=new Set(["$$slots","$$events","$$legacy","position","orientation","showZoom","showFitView","showLock","style","class","buttonBgColor","buttonBgColorHover","buttonColor","buttonColorHover","buttonBorderColor","fitViewOptions","children","before","after"]),BM=N("<!> <!>",1),VM=N("<!> <!> <!> <!> <!> <!>",1);function pl(e,t){Ne(t,!0);let r=Ee(t,"position",3,"bottom-left"),o=Ee(t,"orientation",3,"vertical"),s=Ee(t,"showZoom",3,!0),i=Ee(t,"showFitView",3,!0),a=Ee(t,"showLock",3,!0),l=ao(t,FM),c=S(bs);const f=S(()=>({bgColor:t.buttonBgColor,bgColorHover:t.buttonBgColorHover,color:t.buttonColor,colorHover:t.buttonColorHover,borderColor:t.buttonBorderColor}));let u=S(()=>n(c).nodesDraggable||n(c).nodesConnectable||n(c).elementsSelectable),h=S(()=>n(c).viewport.zoom<=n(c).minZoom),d=S(()=>n(c).viewport.zoom>=n(c).maxZoom),g=S(()=>n(c).ariaLabelConfig),p=S(()=>o()==="horizontal"?"horizontal":"vertical");const y=()=>{n(c).zoomIn()},w=()=>{n(c).zoomOut()},M=()=>{n(c).fitView(t.fitViewOptions)},I=()=>{let C=!n(u);n(c).nodesDraggable=C,n(c).nodesConnectable=C,n(c).elementsSelectable=C};{let C=S(()=>["svelte-flow__controls",n(p),t.class]);Tp(e,Jr({get class(){return n(C)},get position(){return r()},"data-testid":"svelte-flow__controls",get"aria-label"(){return n(g)["controls.ariaLabel"]},get style(){return t.style}},()=>l,{children:(T,A)=>{var D=VM(),j=ye(D);{var R=Y=>{var G=St(),U=ye(G);Nn(U,()=>t.before),_(Y,G)};V(j,Y=>{t.before&&Y(R)})}var z=m(j,2);{var W=Y=>{var G=BM(),U=ye(G);Qi(U,Jr({onclick:y,class:"svelte-flow__controls-zoomin",get title(){return n(g)["controls.zoomIn.ariaLabel"]},get"aria-label"(){return n(g)["controls.zoomIn.ariaLabel"]},get disabled(){return n(d)}},()=>n(f),{children:($,Z)=>{PM($)},$$slots:{default:!0}}));var X=m(U,2);Qi(X,Jr({onclick:w,class:"svelte-flow__controls-zoomout",get title(){return n(g)["controls.zoomOut.ariaLabel"]},get"aria-label"(){return n(g)["controls.zoomOut.ariaLabel"]},get disabled(){return n(h)}},()=>n(f),{children:($,Z)=>{LM($)},$$slots:{default:!0}})),_(Y,G)};V(z,Y=>{s()&&Y(W)})}var H=m(z,2);{var B=Y=>{Qi(Y,Jr({class:"svelte-flow__controls-fitview",onclick:M,get title(){return n(g)["controls.fitView.ariaLabel"]},get"aria-label"(){return n(g)["controls.fitView.ariaLabel"]}},()=>n(f),{children:(G,U)=>{RM(G)},$$slots:{default:!0}}))};V(H,Y=>{i()&&Y(B)})}var k=m(H,2);{var b=Y=>{Qi(Y,Jr({class:"svelte-flow__controls-interactive",onclick:I,get title(){return n(g)["controls.interactive.ariaLabel"]},get"aria-label"(){return n(g)["controls.interactive.ariaLabel"]}},()=>n(f),{children:(G,U)=>{var X=St(),$=ye(X);{var Z=F=>{jM(F)},Q=F=>{HM(F)};V($,F=>{n(u)?F(Z):F(Q,-1)})}_(G,X)},$$slots:{default:!0}}))};V(k,Y=>{a()&&Y(b)})}var E=m(k,2);{var q=Y=>{var G=St(),U=ye(G);Nn(U,()=>t.children),_(Y,G)};V(E,Y=>{t.children&&Y(q)})}var O=m(E,2);{var K=Y=>{var G=St(),U=ye(G);Nn(U,()=>t.after),_(Y,G)};V(O,Y=>{t.after&&Y(K)})}_(T,D)},$$slots:{default:!0}}))}Ie()}const Jn=40,WM=74,lu=34,_n=44,KM=230,ml=12,Cp=110,YM=7.81,XM=22,GM=4,ZM=6,UM=.4,QM=5.9,JM=24;function Np(e,t=""){return Math.max(Cp,e.length*YM+XM,t.length*QM+JM)}function od(e,t=!1){if(t)return"nothing depends on this";const r=`${e.symbols} symbol${e.symbols===1?"":"s"}`,o=`${e.files} file${e.files===1?"":"s"}`,s=e.dependents?.files??0,i=s>0?` · ${s} depend on it`:"";return`${r} · ${o}${i}`}function Ip(e){return Math.min(6,1+Math.log2(Math.max(1,e))*.7)}function Hr(e){return`${e.source}\0${e.target}`}function _l(e,t){const r=e.modules.filter(F=>t.includeTests||!F.test),o=new Set(r.map(F=>F.id)),s=new Set(e.links.map(F=>F.target)),i=e.links.filter(F=>o.has(F.source)&&o.has(F.target)),a=t.minWeight??(t.includeTests?ZM:GM),l=t.layerGap??WM,c=t.portPitch??0,f=t.ports==="directional",u=i.filter(F=>F.declared>0),h=i.length>0&&u.length>=i.length*UM,d=F=>h?F.declared:F.count,g=h?u:i,p=new Map(g.map(F=>[Hr(F),F])),y=[],w=[];for(const F of g){const J=p.get(Hr({source:F.target,target:F.source}));if(!J){y.push(F);continue}const te=d(F),ie=d(J);if(ie>te||ie===te&&F.source>F.target){w.push({forward:J,back:F});continue}y.push(F)}const M=new Map(r.map(F=>[F.id,[]]));for(const F of y)M.get(F.source)?.push(F.target);for(const F of M.values())F.sort();const I=new Map;if(t.layering){for(const[F,J]of t.layering(r.map(te=>te.id),y))I.set(F,J);for(const F of r)I.has(F.id)||I.set(F.id,0)}else for(const F of r)Ap(F.id,M,I,new Set);const C=Math.max(1,...[...I.values()].map(F=>F+1)),T=Array.from({length:C},()=>[]);for(const F of r)T[I.get(F.id)??0].push(F.id);const A=t.order;for(const F of T)F.sort(A?(J,te)=>A(J)-A(te)||J.localeCompare(te):void 0);const D=new Map(r.map(F=>[F.id,[]]));for(const F of y)D.get(F.target)?.push(F.source),A||D.get(F.source)?.push(F.target);const j=new Map;for(const F of T)F.forEach((J,te)=>j.set(J,te));for(let F=0;F<3;F+=1)for(const J of T){const te=new Map(J.map(ie=>[ie,$M(ie,D,j)]));J.sort((ie,ge)=>{const ve=te.get(ie)??0,re=te.get(ge)??0;return ve!==re&&Number.isFinite(ve-re)?ve-re:ve!==re?ve<re?-1:1:(j.get(ie)??0)-(j.get(ge)??0)||(A?A(ie)-A(ge):0)||ie.localeCompare(ge)}),J.forEach((ie,ge)=>j.set(ie,ge))}const R=F=>{const J=I.get(F.source)??0,te=I.get(F.target)??0;return J>te?"down":J<te?"up":"level"},z=F=>!f||F==="down"?{source:"bottom",target:"top"}:F==="up"?{source:"top",target:"bottom"}:{source:"top",target:"top"},W=new Map(r.map(F=>[F.id,{top:0,bottom:0}]));for(const F of i){const J=z(R(F));W.get(F.source)[J.source]+=1,W.get(F.target)[J.target]+=1}const H=new Set(r.filter(F=>!s.has(F.id)).map(F=>F.id)),B=new Map(r.map(F=>{const J=H.has(F.id),te=t.sizing?.(F,J)??{label:F.id,meta:od(F,J)},ie=W.get(F.id)??{top:0,bottom:0},ge=(Math.max(ie.top,ie.bottom)+1)*c;return[F.id,Math.max(Np(te.label,te.meta),ge)]})),k=T.map(F=>F.reduce((J,te)=>J+(B.get(te)??0),0)),b=T.map((F,J)=>(k[J]??0)+Math.max(0,F.length-1)*lu),E=Math.max(1,...b),q=T.map((F,J)=>Math.min(E,Math.max(b[J]??0,F.length*KM))),O=E+_n*2,K=C*(Jn+l)-l+_n*2,Y=new Map,G=new Map(r.map(F=>[F.id,F])),U=Math.max(0,...r.map(F=>F.dependents?.files??0));T.forEach((F,J)=>{const te=q[J]??0,ie=k[J]??0,ge=F.length>1?(te-ie)/(F.length-1):0;let ve=_n+(E-te)/2+(F.length===1?(te-ie)/2:0);const re=_n+(C-1-J)*(Jn+l);for(const ee of F){const ue=B.get(ee)??Cp,ne=G.get(ee);Y.set(ee,{id:ee,module:ne,island:H.has(ee),generated:ne.files>0&&ne.generated===ne.files,weight:U===0?0:(ne.dependents?.files??0)/U,layer:J,x:ve,y:re,width:ue,height:Jn,sourceHandles:[],targetHandles:[],ports:{top:[],bottom:[]}}),ve+=ue+ge}});const X=[],$=new Map;for(const F of i){const J=Y.get(F.source),te=Y.get(F.target);if(!J||!te)continue;const ie=Hr(F),ge=R(F),ve={id:ie,source:F.source,target:F.target,sourceHandle:`s:${ie}`,targetHandle:`t:${ie}`,link:F,width:Ip(F.count),back:J.layer<=te.layer,thin:F.count<a,route:ge};X.push(ve);const re=z(ge);($.get(F.source)??Vf($,F.source))[re.source].push({id:ie,type:"source",other:Wf(Y,F.target)}),($.get(F.target)??Vf($,F.target))[re.target].push({id:ie,type:"target",other:Wf(Y,F.source)})}const Z=(F,J)=>F.other-J.other||F.id.localeCompare(J.id);for(const[F,J]of $){const te=Y.get(F);te&&(J.top.sort(Z),J.bottom.sort(Z),te.ports={top:J.top.map(ie=>({id:ie.id,type:ie.type})),bottom:J.bottom.map(ie=>({id:ie.id,type:ie.type}))},te.sourceHandles=J.bottom.filter(ie=>ie.type==="source").map(ie=>ie.id),te.targetHandles=J.top.filter(ie=>ie.type==="target").map(ie=>ie.id))}const Q=T.map((F,J)=>({index:J,y:_n+(C-1-J)*(Jn+l)+Jn/2,label:C===1?null:J===C-1?"entry points":J===0?"foundations — depend on nothing below":null}));return{nodes:[...Y.values()],edges:X,layers:Q,width:O,height:K,basis:{kind:h?"declared":"all",declaredLinks:u.length,totalLinks:i.length},minWeight:a,hiddenLinks:X.filter(F=>F.thin||F.back).length,mutual:w.sort((F,J)=>J.back.count-F.back.count||F.back.source.localeCompare(J.back.source)),moduleCycles:e4(r.map(F=>F.id),X)}}function sd(e,t){return t!==null?e.source===t||e.target===t:!e.thin&&!e.back}function cu(e,t,r){const o=e.ports.top.findIndex(i=>i.id===t&&i.type===r);if(o>=0)return{x:e.x+e.width*(o+1)/(e.ports.top.length+1),y:e.y};const s=e.ports.bottom.findIndex(i=>i.id===t&&i.type===r);return s>=0?{x:e.x+e.width*(s+1)/(e.ports.bottom.length+1),y:e.y+e.height}:{x:e.x+e.width/2,y:r==="source"?e.y+e.height:e.y}}function Vf(e,t){const r={top:[],bottom:[]};return e.set(t,r),r}function Wf(e,t){const r=e.get(t);return r?r.x+r.width/2:0}function $M(e,t,r){const o=t.get(e)??[];if(o.length===0)return Number.POSITIVE_INFINITY;let s=0;for(const i of o)s+=r.get(i)??0;return s/o.length}function Ap(e,t,r,o){const s=r.get(e);if(s!==void 0)return s;if(o.has(e))return 0;o.add(e);let i=0;for(const a of t.get(e)??[])i=Math.max(i,Ap(a,t,r,o)+1);return o.delete(e),r.set(e,i),i}function e4(e,t){const r=new Map(e.map(u=>[u,[]]));for(const u of t)r.get(u.source)?.push(u.target);for(const u of r.values())u.sort();const o=new Map,s=new Map,i=new Set,a=[],l=[];let c=0;const f=u=>{o.set(u,c),s.set(u,c),c+=1,a.push(u),i.add(u);for(const h of r.get(u)??[])o.has(h)?i.has(h)&&s.set(u,Math.min(s.get(u)??0,o.get(h)??0)):(f(h),s.set(u,Math.min(s.get(u)??0,s.get(h)??0)));if(s.get(u)===o.get(u)){const h=[];for(;;){const d=a.pop();if(d===void 0||(i.delete(d),h.push(d),d===u))break}h.length>2&&l.push(h.sort())}};for(const u of[...e].sort())o.has(u)||f(u);return l.sort((u,h)=>h.length-u.length||(u[0]??"").localeCompare(h[0]??""))}var t4=N('<span class="weight svelte-1ymw5ah"></span>'),n4=N('<!> <button><span class="name svelte-1ymw5ah"> </span> <span> </span> <!></button> <!>',1);function r4(e,t){Ne(t,!0);const r=S(()=>t.data),o=S(()=>n(r).layout),s=S(()=>n(o).module);function i(I,C){return`left:${(I+1)/(C+1)*100}%`}var a=n4(),l=ye(a);xe(l,18,()=>n(o).targetHandles,I=>I,(I,C,T)=>{{let A=S(()=>`t:${C}`),D=S(()=>i(n(T),n(o).targetHandles.length));kn(I,{type:"target",get id(){return n(A)},get position(){return Ve.Top},get style(){return n(D)},isConnectable:!1})}});var c=m(l,2);let f;var u=v(c),h=v(u),d=m(u,2);let g;var p=v(d),y=m(d,2);{var w=I=>{var C=t4();P(T=>nt(C,T),[()=>`width:${(n(o).weight*100).toFixed(1)}%`]),_(I,C)};V(y,I=>{n(o).weight>0&&I(w)})}var M=m(c,2);xe(M,18,()=>n(o).sourceHandles,I=>I,(I,C,T)=>{{let A=S(()=>`s:${C}`),D=S(()=>i(n(T),n(o).sourceHandles.length));kn(I,{type:"source",get id(){return n(A)},get position(){return Ve.Bottom},get style(){return n(D)},isConnectable:!1})}}),P(I=>{f=Ce(c,1,"mnode svelte-1ymw5ah",null,f,{sel:n(r).selected,dimmed:n(r).dimmed,test:n(s).test,gen:n(o).generated}),nt(c,`width:${n(o).width}px;height:${n(o).height}px`),se(c,"aria-pressed",n(r).selected),se(c,"title",`${n(s).id} — ${n(s).symbols} symbols in ${n(s).files} file${n(s).files===1?"":"s"}${(n(s).dependents?.files??0)>0?`. ${n(s).dependents.files} file${n(s).dependents.files===1?"":"s"} outside it, across ${n(s).dependents.modules} module${n(s).dependents.modules===1?"":"s"}, reference into it.`:""}${n(o).island?". Nothing in the index depends on it.":""}${n(o).generated?". Every file in it is tool-generated.":""}`),x(h,n(s).id),g=Ce(d,1,"count svelte-1ymw5ah",null,g,{island:n(o).island}),x(p,I)},[()=>od(n(s),n(o).island)]),ke("click",c,()=>n(r).onSelect(n(o).id)),_(e,a),Ie()}mt(["click"]);var o4=Yt('<!><path class="hit svelte-wy6r9a" role="presentation"></path>',1);function s4(e,t){const r=S(()=>t.data),o=S(()=>{const l=(t.sourceY+t.targetY)/2;return`M${t.sourceX},${t.sourceY} C${t.sourceX},${l} ${t.targetX},${l} ${t.targetX},${t.targetY}`});var s=o4(),i=ye(s);{let l=S(()=>`medge${n(r).edge.back?" back":""}${n(r).hot?" hot":""}${n(r).dimmed?" dimmed":""}`),c=S(()=>`stroke-width:${n(r).edge.width}px`);qo(i,{get path(){return n(o)},get class(){return n(l)},get style(){return n(c)}})}var a=m(i);P(()=>se(a,"d",n(o))),ke("mousemove",a,l=>n(r).onHover(n(r).edge,l)),Ge("mouseleave",a,()=>n(r).onHover(null,null)),_(e,s)}mt(["mousemove"]);const i4=2;function a4(e){return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`}function l4(e){const t=Number(/\bwidth="(\d+(?:\.\d+)?)"/.exec(e)?.[1]??0),r=Number(/\bheight="(\d+(?:\.\d+)?)"/.exec(e)?.[1]??0);return{width:Math.max(1,Math.round(t)),height:Math.max(1,Math.round(r))}}function c4(e){return new Promise((t,r)=>{const o=new Image;o.onload=()=>t(o),o.onerror=()=>r(new Error("The image could not be rendered.")),o.src=e})}async function u4(e){const{width:t,height:r}=l4(e),o=await c4(a4(e)),s=document.createElement("canvas");s.width=t,s.height=r;const i=s.getContext("2d");if(i===null)throw new Error("This browser would not give up a 2D canvas.");return i.drawImage(o,0,0,t,r),await new Promise((a,l)=>{s.toBlob(c=>c?a(c):l(new Error("The image could not be encoded.")),"image/png")})}function Pp(e,t){const r=URL.createObjectURL(e),o=document.createElement("a");o.href=r,o.download=t,document.body.appendChild(o),o.click(),o.remove(),setTimeout(()=>URL.revokeObjectURL(r),1e4)}function d4(e,t){Pp(new Blob([e],{type:"image/svg+xml;charset=utf-8"}),t)}async function f4(e,t){if(typeof navigator.clipboard?.write=="function"&&typeof ClipboardItem=="function")try{return await navigator.clipboard.write([new ClipboardItem({"image/png":e()})]),"copied"}catch{}return Pp(await e(),t),"downloaded"}var v4=N('<div class="exp svelte-14ndwen"><button type="button" class="svelte-14ndwen"> </button> <button type="button" class="svelte-14ndwen">Download SVG</button></div>');function Op(e,t){Ne(t,!0);let r=Ee(t,"disabled",3,!1),o=ae(!1);async function s(){if(!n(o)){L(o,!0);try{const u=await f4(()=>u4(t.build(i4)),`${t.filename}.png`);no.show(u==="copied"?"Image copied · paste it into a comment":"Clipboard unavailable · image saved instead")}catch(u){no.show(u instanceof Error?u.message:"The image could not be made.")}finally{L(o,!1)}}}function i(){try{d4(t.build(1),`${t.filename}.svg`),no.show("SVG saved")}catch(u){no.show(u instanceof Error?u.message:"The file could not be saved.")}}var a=v4(),l=v(a),c=v(l),f=m(l,2);P(()=>{l.disabled=r()||n(o),x(c,n(o)?"Rendering…":"Copy image"),f.disabled=r()}),ke("click",l,s),ke("click",f,i),_(e,a),Ie()}mt(["click"]);const Kf=(e,t=Ln,r=Ln,o=Ln)=>{var s=p4(),i=ye(s),a=v(i),l=m(i,2);{var c=u=>{var h=St(),d=ye(h);xe(d,17,r,g=>g.source+g.target,(g,p)=>{var y=h4(),w=v(y),M=v(w),I=m(w,2),C=v(I);P(()=>{x(M,o()==="target"?n(p).target:n(p).source),x(C,n(p).count)}),_(g,y)}),_(u,h)},f=u=>{var h=g4();_(u,h)};V(l,u=>{r().length>0?u(c):u(f,-1)})}P(()=>x(a,t())),_(e,s)};var h4=N('<div class="pair svelte-dzmqqy"><b class="svelte-dzmqqy"> </b> <span> </span></div>'),g4=N('<div class="pair dim svelte-dzmqqy">nothing</div>'),p4=N('<div class="pair label svelte-dzmqqy"> </div> <!>',1),Yf=N("<option> </option>"),gc=N('<p class="dim svelte-dzmqqy"> </p>'),m4=N(`<p class="dim svelte-dzmqqy">Too few links here carry an import or a declared type, so the layering uses raw reference
28
+ counts. A name shared by two unrelated modules can move a box.</p>`),_4=N('<div class="cyc svelte-dzmqqy"><b class="svelte-dzmqqy"> </b> <span class="dim svelte-dzmqqy"> </span></div>'),pc=N('<div class="cyc dim svelte-dzmqqy"> </div>'),y4=N('<details class="svelte-dzmqqy"><summary class="svelte-dzmqqy">Mutual dependencies <span class="dim svelte-dzmqqy"> </span></summary> <!> <!></details>'),w4=N('<div class="cyc svelte-dzmqqy"> </div>'),b4=N('<details class="svelte-dzmqqy"><summary class="svelte-dzmqqy">Dependency cycles <span class="dim svelte-dzmqqy"> </span></summary> <!></details>'),x4=N('<a class="filerow svelte-dzmqqy"> </a>'),k4=N('<div class="cyc svelte-dzmqqy"><span class="dim svelte-dzmqqy"> </span> </div> <!> <!>',1),E4=N('<details class="svelte-dzmqqy"><summary class="svelte-dzmqqy">Circular imports between files <span class="dim svelte-dzmqqy"> </span></summary> <!> <!></details>'),S4=N('<p class="reach svelte-dzmqqy"><b> </b> </p>'),M4=N(`<p class="island svelte-dzmqqy">Nothing in the index depends on this module — no import, call or reference crosses into
29
+ it. It may be an entry point, or reached in a way the graph cannot see.</p>`),T4=N("<a> </a>"),C4=N('<div class="pair dim svelte-dzmqqy">no files in the index for this module</div>'),N4=N('<div class="edgeinfo svelte-dzmqqy"><div class="head svelte-dzmqqy"><b class="mono svelte-dzmqqy"> </b> <button class="clear svelte-dzmqqy">clear</button></div> <p class="svelte-dzmqqy"> <!> <!></p> <!> <!> <!> <!> <div class="pair label svelte-dzmqqy">files</div> <!></div>'),I4=N(`<div class="edgeinfo svelte-dzmqqy"><p class="dim svelte-dzmqqy">Hover a link to see what crosses it — the counts by kind and the symbol pairs behind the
30
+ weight. Click a module to isolate its links and list its files.</p></div>`),A4=N(`<aside class="mapside svelte-dzmqqy"><h2 class="svelte-dzmqqy">Architecture map</h2> <p class="svelte-dzmqqy">Derived from the graph, not drawn by hand: each module sits one layer above the modules it
31
+ depends on, so reading top to bottom follows the dependency direction. Line weight is how many
32
+ calls, imports and type references cross the link.</p> <!> <label class="field svelte-dzmqqy"><span>Showing</span> <select class="svelte-dzmqqy"></select></label> <label class="field svelte-dzmqqy"><span>Grouping</span> <select class="svelte-dzmqqy"><option> </option><!></select></label> <label class="toggle svelte-dzmqqy"><input type="checkbox" class="svelte-dzmqqy"/> Include test modules</label> <div class="notes svelte-dzmqqy"><!> <!> <!></div> <!> <!> <!> <!></aside>`);function P4(e,t){Ne(t,!0);const r=[1,2,3,4];function o(Z){return Z===1?"top-level folders":`${Z} folders deep`}const s=S(()=>t.selected===null?null:t.layout.nodes.find(Z=>Z.id===t.selected)??null),i=S(()=>n(s)?.module??null),a=S(()=>new Set(n(i)?.generatedFiles??[])),l=S(()=>t.selected===null?[]:t.layout.edges.filter(Z=>Z.source===t.selected).map(Z=>Z.link).sort((Z,Q)=>Q.count-Z.count||Z.target.localeCompare(Q.target))),c=S(()=>t.selected===null?[]:t.layout.edges.filter(Z=>Z.target===t.selected).map(Z=>Z.link).sort((Z,Q)=>Q.count-Z.count||Z.source.localeCompare(Q.source))),f=S(()=>t.layout.edges.filter(Z=>Z.thin&&!Z.back).length);var u=A4(),h=m(v(u),4);Op(h,{get build(){return t.buildSvg},get filename(){return t.exportName}});var d=m(h,2),g=m(v(d),2);xe(g,21,()=>t.payload.roots,Z=>Z.root,(Z,Q)=>{var F=Yf(),J=v(F),te={};P(()=>{x(J,`${n(Q).label??""} · ${n(Q).files??""} files`),te!==(te=n(Q).root)&&(F.value=(F.__value=n(Q).root)??"")}),_(Z,F)});var p;ci(g);var y=m(d,2),w=m(v(y),2),M=v(w),I=v(M);M.value=M.__value="auto";var C=m(M);xe(C,16,()=>r,Z=>Z,(Z,Q)=>{var F=Yf(),J=v(F),te={};P((ie,ge)=>{x(J,ie),te!==(te=ge)&&(F.value=(F.__value=ge)??"")},[()=>o(Q),()=>String(Q)]),_(Z,F)});var T;ci(w);var A=m(y,2),D=v(A),j=m(A,2),R=v(j);{var z=Z=>{var Q=gc(),F=v(Q);P(J=>x(F,`${J??""} carrying fewer than ${t.layout.minWeight??""} references
33
+ ${n(f)===1?"is":"are"} hidden until you select a module ${n(f)===1?"it":"they"} touch.`),[()=>st(n(f),"link")]),_(Z,Q)};V(R,Z=>{n(f)>0&&Z(z)})}var W=m(R,2);{var H=Z=>{var Q=gc(),F=v(Q);P(()=>x(F,`The layering uses the ${t.layout.basis.declaredLinks??""} of ${t.layout.basis.totalLinks??""} links with an
34
+ import, a qualified name, an inheritance clause or a typed receiver behind them. Bare
35
+ name matches still count toward line weight, but they do not decide what sits above what.`)),_(Z,Q)},B=Z=>{var Q=m4();_(Z,Q)};V(W,Z=>{t.layout.basis.kind==="declared"?Z(H):Z(B,-1)})}var k=m(W,2);{var b=Z=>{var Q=gc(),F=v(Q);P(J=>x(F,`${J??""} below confidence ${t.payload.excluded.confidenceBelow??""}
36
+ ${t.payload.excluded.uncertainEdges===1?"is":"are"} excluded from every count on this
37
+ screen — they are name-only guesses.`),[()=>st(t.payload.excluded.uncertainEdges,"cross-module reference")]),_(Z,Q)};V(k,Z=>{t.payload.excluded.uncertainEdges>0&&Z(b)})}var E=m(j,2);{var q=Z=>{var Q=y4(),F=v(Q),J=m(v(F)),te=v(J),ie=m(F,2);xe(ie,17,()=>t.layout.mutual.slice(0,8),re=>re.back.source+re.back.target,(re,ee)=>{var ue=_4(),ne=v(ue),fe=v(ne),he=m(ne),ce=m(he),we=v(ce);P(()=>{x(fe,n(ee).back.source),x(he,` ⇄ ${n(ee).back.target??""} `),x(we,`(${n(ee).back.count??""} back-references)`)}),_(re,ue)});var ge=m(ie,2);{var ve=re=>{var ee=pc(),ue=v(ee);P(()=>x(ue,`+${t.layout.mutual.length-8} more`)),_(re,ee)};V(ge,re=>{t.layout.mutual.length>8&&re(ve)})}P(re=>x(te,`· ${re??""} — the lighter direction, dashed when
38
+ selected`),[()=>st(t.layout.mutual.length,"pair")]),_(Z,Q)};V(E,Z=>{t.layout.mutual.length>0&&Z(q)})}var O=m(E,2);{var K=Z=>{var Q=b4(),F=v(Q),J=m(v(F)),te=v(J),ie=m(F,2);xe(ie,17,()=>t.layout.moduleCycles.slice(0,6),Kn,(ge,ve)=>{var re=w4(),ee=v(re);P(ue=>x(ee,`${ue??""} → ${n(ve)[0]??""}`),[()=>n(ve).join(" → ")]),_(ge,re)}),P(ge=>x(te,`· ${ge??""} of three or more modules`),[()=>st(t.layout.moduleCycles.length,"loop")]),_(Z,Q)};V(O,Z=>{t.layout.moduleCycles.length>0&&Z(K)})}var Y=m(O,2);{var G=Z=>{var Q=E4(),F=v(Q),J=m(v(F)),te=v(J),ie=m(F,2);xe(ie,17,()=>t.payload.cycles.items.slice(0,6),Kn,(re,ee)=>{var ue=k4(),ne=ye(ue),fe=v(ne),he=v(fe),ce=m(fe),we=m(ne,2);xe(we,16,()=>n(ee).files,Te=>Te,(Te,Pe)=>{var Le=x4(),Re=v(Le);P(Be=>{se(Le,"href",Be),x(Re,Pe)},[()=>tn(Pe)]),_(Te,Le)});var de=m(we,2);{var me=Te=>{var Pe=pc(),Le=v(Pe);P(()=>x(Le,`+${n(ee).size-n(ee).files.length} more files in this group`)),_(Te,Pe)};V(de,Te=>{n(ee).size>n(ee).files.length&&Te(me)})}P(Te=>{x(he,`${n(ee).size??""} files ·`),x(ce,` ${Te??""}`)},[()=>n(ee).modules.join(", ")]),_(re,ue)});var ge=m(ie,2);{var ve=re=>{var ee=pc(),ue=v(ee);P(()=>x(ue,`+${t.payload.cycles.total-t.payload.cycles.shown} more groups`)),_(re,ee)};V(ge,re=>{t.payload.cycles.truncated&&re(ve)})}P(re=>x(te,`· ${re??""}`),[()=>st(t.payload.cycles.total,"group")]),_(Z,Q)};V(Y,Z=>{t.payload.cycles.total>0&&Z(G)})}var U=m(Y,2);{var X=Z=>{var Q=N4(),F=v(Q),J=v(F),te=v(J),ie=m(J,2),ge=m(F,2),ve=v(ge),re=m(ve);{var ee=Re=>{var Be=wt();P(je=>x(Be,`· ${je??""}`),[()=>n(i).languages.map(je=>`${je.language} ${je.files}`).join(", ")]),_(Re,Be)};V(re,Re=>{n(i).languages.length>0&&Re(ee)})}var ue=m(re,2);{var ne=Re=>{var Be=wt();P(()=>x(Be,`· ${n(i).generated===n(i).files?"all tool-generated":`${n(i).generated} tool-generated`}`)),_(Re,Be)};V(ue,Re=>{n(i).generated>0&&Re(ne)})}var fe=m(ge,2);{var he=Re=>{var Be=S4(),je=v(Be),tt=v(je),Ze=m(je);P((at,Ye)=>{x(tt,at),x(Ze,` outside it, across
39
+ ${Ye??""}, reference straight into it — the
40
+ floor on what a change here has to be checked against, and the bar along the bottom of
41
+ the box.`)},[()=>st(n(i).dependents.files,"file"),()=>st(n(i).dependents.modules,"module")]),_(Re,Be)};V(fe,Re=>{(n(i).dependents?.files??0)>0&&Re(he)})}var ce=m(fe,2);{var we=Re=>{var Be=M4();_(Re,Be)};V(ce,Re=>{n(s)?.island&&Re(we)})}var de=m(ce,2);Kf(de,()=>"depends on",()=>n(l),()=>"target");var me=m(de,2);Kf(me,()=>"depended on by",()=>n(c),()=>"source");var Te=m(me,4);{var Pe=Re=>{var Be=St(),je=ye(Be);xe(je,16,()=>t.files,tt=>tt,(tt,Ze)=>{var at=T4();let Ye;var le=v(at);P((oe,_e,Me)=>{Ye=Ce(at,1,"filerow svelte-dzmqqy",null,Ye,oe),se(at,"href",_e),se(at,"title",Me),x(le,Ze)},[()=>({gen:n(a).has(Ze)}),()=>tn(Ze),()=>n(a).has(Ze)?`${Ze} — tool-generated`:Ze]),_(tt,at)}),_(Re,Be)},Le=Re=>{var Be=C4();_(Re,Be)};V(Te,Re=>{t.files.length>0?Re(Pe):Re(Le,-1)})}P((Re,Be)=>{x(te,n(i).id),x(ve,`${Re??""} in ${Be??""} `)},[()=>st(n(i).symbols,"symbol"),()=>st(n(i).files,"file")]),ke("click",ie,()=>t.onSelect(null)),_(Z,Q)},$=Z=>{var Q=I4();_(Z,Q)};V(U,Z=>{n(i)?Z(X):Z($,-1)})}P((Z,Q)=>{p!==(p=t.payload.root)&&(g.value=(g.__value=t.payload.root)??"",No(g,t.payload.root)),x(I,`automatic — ${Z??""}`),T!==(T=Q)&&(w.value=(w.__value=Q)??"",No(w,Q)),Fh(D,t.includeTests)},[()=>o(t.payload.depth),()=>t.chosenDepth===null?"auto":String(t.chosenDepth)]),ke("change",g,Z=>t.onSelectRoot(Z.currentTarget.value)),ke("change",w,Z=>{const Q=Z.currentTarget.value;t.onSelectDepth(Q==="auto"?null:Number(Q))}),ke("change",D,Z=>t.onToggleTests(Z.currentTarget.checked)),_(e,u),Ie()}mt(["change","click"]);var O4=N('<div class="lrow svelte-148kree"><span class="k-label svelte-148kree"> </span> <span class="svelte-148kree"> </span></div>'),L4=N(`<div class="legend-body svelte-148kree"><div class="lrow svelte-148kree"><span class="k-box mono svelte-148kree">src/api</span> <span class="svelte-148kree">A module — one directory, with the symbols and files in it</span></div> <div class="lrow svelte-148kree"><span class="k-box k-weight mono svelte-148kree">src/db</span> <span class="svelte-148kree">The bar along the bottom is how much leans on it — files elsewhere that reference
42
+ straight into it, against the most depended-on box here. The count is on the box</span></div> <div class="lrow svelte-148kree"><svg width="44" height="12" aria-hidden="true" class="svelte-148kree"><path d="M2 6 H42" class="k-line svelte-148kree"></path></svg> <span class="svelte-148kree"> </span></div> <div class="lrow svelte-148kree"><svg width="44" height="12" aria-hidden="true" class="svelte-148kree"><path d="M2 6 H42" class="k-line k-back svelte-148kree"></path></svg> <span class="svelte-148kree">Points back up — the lighter half of a mutual dependency, or a link with no import or
43
+ declared type behind it. Drawn only while a module it touches is selected</span></div> <div class="lrow svelte-148kree"><span class="k-label svelte-148kree">top / bottom</span> <span class="svelte-148kree">A module sits one layer above everything it depends on, so entry points end up at the top
44
+ and the foundations — which depend on nothing below — at the bottom</span></div> <div class="lrow svelte-148kree"><span class="k-box k-sel mono svelte-148kree">src/api</span> <span class="svelte-148kree">Selected: click a module to bring out its links and list its files; everything more than one hop away fades</span></div> <div class="lrow svelte-148kree"><span class="k-label svelte-148kree">nothing depends on this</span> <span class="svelte-148kree">No link in the index arrives here — a script, a workflow, an unreferenced corner</span></div> <div class="lrow svelte-148kree"><span class="k-box k-test mono svelte-148kree">__tests__</span> <span class="svelte-148kree">More than half its files are tests; off unless you turn tests on</span></div> <div class="lrow svelte-148kree"><span class="k-box k-gen mono svelte-148kree">gen</span> <span class="svelte-148kree">Every file in it is tool-generated — nobody wrote it and nobody edits it</span></div> <!></div>`),D4=N('<div><button class="legend-h svelte-148kree">Key <span class="dim svelte-148kree"> </span></button> <!></div>');function R4(e,t){Ne(t,!0);var r=D4();let o;var s=v(r),i=m(v(s)),a=v(i),l=m(s,2);{var c=f=>{var u=L4(),h=m(v(u),4),d=m(v(h),2),g=v(d),p=m(h,14);{var y=w=>{var M=O4(),I=v(M),C=v(I),T=m(I,2),A=v(T);P(()=>{x(C,`${t.thinCount??""} hidden`),x(A,`Links carrying fewer than ${t.minWeight??""} references wait until you select a module they
45
+ touch, so a weak coincidence never draws as a dependency`)}),_(w,M)};V(p,w=>{t.thinCount>0&&w(y)})}P(()=>x(g,`Depends on — the box above calls, imports, extends or names a type from the box below.
46
+ Thicker is more references${t.declaredBasis?"":"; here the layering had too few imports to trust, so it used raw counts"}`)),_(f,u)};V(l,f=>{t.open&&f(c)})}P(()=>{o=Ce(r,1,"legend svelte-148kree",null,o,{open:t.open}),se(s,"aria-expanded",t.open),x(a,t.open?"▾":"▸")}),ke("click",s,()=>t.onToggle(!t.open)),_(e,r),Ie()}mt(["click"]);const z4=380,H4=86,q4=6.65,j4=18,ko=35,Ka=19,id=12,F4=Ka+id,Xf=24,Ji=32;function B4(e){const t=e.source?.lines?.length??0,r=t>0?t*Ka+id:F4;return ko+r}const V4=240,oi=12,Zn=17.4,si=18,po=8,W4=32;function Gr(e){return Math.max(1,Math.ceil(e.length/W4))}const $i=(e,t,r)=>e===1?t:r;function ad(e){const t=e.sites.map(o=>{const s=[];return o.key===null&&s.push("the key is a runtime value"),o.moreSites>0&&s.push(`+${o.moreSites} more such ${$i(o.moreSites,"site","sites")} here`),{headline:`${o.label} at line ${o.line}`,key:o.key,notes:s,candidates:o.candidates,candidateHeading:o.candidates.length>0?`${o.candidates.length} candidate ${$i(o.candidates.length,"target","targets")} ›`:null,candidateNote:o.candidateNote}}),r=e.missed.map(o=>o.name);return{intro:e.sites.length>0?`${e.node.name} chooses its next call at runtime.`:`${e.node.name} is the last symbol on this path.`,sites:t,quiet:e.sites.length>0?null:"No dynamic-dispatch site was detected in its body, so nothing here explains the break.",uncertainHeading:e.uncertain.total>0?`${e.uncertain.total} name-only ${$i(e.uncertain.total,"match","matches")} not followed (confidence < 0.6)`:null,uncertain:e.uncertain.items,further:e.further.total>0?`It makes ${e.further.total} further resolved ${$i(e.further.total,"call","calls")} this path does not need.`:null,missed:r.length>0?`Never reaches ${r.join(", ")}${e.missed.length<r.length?"…":"."}`:null}}function K4(e){const t=ad(e);let r=oi*2;r+=Gr(`Where the graph stops. ${t.intro}`)*Zn;for(const o of t.sites){r+=po,r+=Gr(o.headline)*Zn,o.key!==null&&(r+=si);for(const s of o.notes)r+=Gr(s)*Zn;o.candidateHeading!==null?r+=Zn+o.candidates.length*si:o.candidateNote!==null&&(r+=Gr(o.candidateNote)*Zn)}return t.quiet!==null&&(r+=po+Gr(t.quiet)*Zn),t.uncertainHeading!==null&&(r+=po+Gr(t.uncertainHeading)*Zn,r+=t.uncertain.length*si),t.further!==null&&(r+=po+Gr(t.further)*Zn),t.missed!==null&&(r+=po+Gr(t.missed)*Zn),Math.round(r)}function Y4(e){return e.synthesized?"5 3":e.uncertain?"2 3":null}const X4="2 4",G4=e=>`cap:${e}`,Lp=e=>e.startsWith("cap:"),Gf=e=>Lp(e)?e.slice(4):e,Zf=26;function Z4(e){return e.replace(/[\w.@$/\\-]+[/\\]([\w.$-]+:\d+)/g,"$1")}function U4(e){return Z4(e.label).split(" · ").map(t=>t.trim()).filter(Boolean).map(t=>t.length>Zf?`${t.slice(0,Zf-1)}…`:t)}function Q4(e){return typeof e.line=="number"&&e.line>0?`line ${e.line}`:null}function J4(e,t){const r=e.find(k=>k.id===t)??e[0]??null,o=new Map;r?.hops.forEach((k,b)=>o.set(k.node.id,b));const s=new Map,i=new Map,a=new Map,l=new Map;let c=0;for(const k of e)for(let b=0;b<k.hops.length;b++){const E=k.hops[b],q=E.node.id,O=s.get(q);O?O.flows.includes(k.id)||O.flows.push(k.id):(s.set(q,{hop:E,flows:[k.id],order:c++}),l.set(q,0),a.set(q,new Set));const K=k.hops[b-1];if(!K||E.edge===null)continue;const Y=K.node.id,G=`${Y} ${q}`,U=i.get(G);if(U){U.flows.includes(k.id)||U.flows.push(k.id);continue}i.set(G,{source:Y,target:q,edge:E.edge,flows:[k.id]});const X=a.get(Y);X&&!X.has(q)&&(X.add(q),l.set(q,(l.get(q)??0)+1))}if(s.size===0)return{cards:[],endCaps:[],links:[],width:0,height:0,columns:0,gaps:[]};const f=new Map;for(const k of s.keys())f.set(k,0);const u=new Map(l),h=[...s.keys()].filter(k=>(u.get(k)??0)===0),d=new Set;for(;h.length>0;){const k=h.shift();d.add(k);for(const b of a.get(k)??[]){f.set(b,Math.max(f.get(b)??0,(f.get(k)??0)+1));const E=(u.get(b)??0)-1;u.set(b,E),E===0&&h.push(b)}}for(const k of s.keys()){if(d.has(k))continue;let b=0;for(const[E,q]of a)q.has(k)&&(b=Math.max(b,(f.get(E)??0)+1));f.set(k,b)}const g=new Map;for(const k of e){const b=k.boundary;if(!b||!s.has(b.node.id))continue;const E=g.get(b.node.id);E?E.flows.includes(k.id)||E.flows.push(k.id):g.set(b.node.id,{boundary:b,flows:[k.id]})}const p=new Map;for(const[k,b]of s)p.set(k,{id:k,width:z4,height:B4(b.hop),rank:b.order,onActive:o.has(k)});const y=new Map;let w=s.size;for(const[k,b]of g){const E=G4(k);y.set(E,(f.get(k)??0)+1),p.set(E,{id:E,width:V4,height:K4(b.boundary),rank:w++,onActive:o.has(k)})}const M=k=>y.get(k)??f.get(k)??0,I=new Map;for(const k of p.keys()){const b=M(k),E=I.get(b);E?E.push(k):I.set(b,[k])}for(const k of I.values())k.sort((b,E)=>{const q=p.get(b).onActive?0:1,O=p.get(E).onActive?0:1;return q!==O?q-O:p.get(b).rank-p.get(E).rank});const C=Math.max(...I.keys())+1,T=[...i.entries()].map(([k,b])=>({key:k,link:b,lines:U4(b.edge),lineLabel:Q4(b.edge)})),A=Array.from({length:Math.max(0,C-1)},()=>H4);for(const{link:k,lines:b,lineLabel:E}of T){const q=f.get(k.source)??0;if(q<0||q>=A.length)continue;const O=Math.max(0,...b.map(K=>K.length),E?.length??0);A[q]=Math.max(A[q],Math.ceil(O*q4)+j4)}const D=Array.from({length:C},()=>0);for(const[k,b]of I)D[k]=Math.max(...b.map(E=>p.get(E).width));const j=[Ji];for(let k=1;k<C;k++)j[k]=j[k-1]+D[k-1]+A[k-1];const R=new Map;for(const[k,b]of I)R.set(k,b.reduce((E,q)=>E+p.get(q).height,0)+Xf*(b.length-1));const z=Math.max(...R.values()),W=new Map,H=[];for(const[k,b]of I){let E=Ji+(z-(R.get(k)??0))/2;for(const q of b){const O=p.get(q),K=g.get(Gf(q));if(K&&Lp(q))H.push({id:q,anchorId:Gf(q),boundary:K.boundary,x:j[k],y:E,width:O.width,height:O.height,column:k,flows:K.flows});else{const Y=s.get(q);W.set(q,{id:q,hop:Y.hop,x:j[k],y:E,width:O.width,height:O.height,column:k,flows:Y.flows,step:o.get(q)??-1,stopLine:g.get(q)?.boundary.sites[0]?.line??null})}E+=O.height+Xf}}const B=T.map(({link:k,lines:b,lineLabel:E})=>({id:`${k.source}->${k.target}`,source:k.source,target:k.target,edge:k.edge,flows:k.flows,label:k.edge.label,labelLines:b,lineLabel:E,dash:Y4(k.edge),cap:!1}));for(const k of H)B.push({id:`${k.anchorId}->${k.id}`,source:k.anchorId,target:k.id,edge:null,flows:k.flows,label:"end of static path",labelLines:["end of","static path"],lineLabel:null,dash:X4,cap:!0});return{cards:[...W.values()].sort((k,b)=>k.column-b.column||k.y-b.y),endCaps:H.sort((k,b)=>k.column-b.column||k.y-b.y),links:B,width:j[C-1]+D[C-1]+Ji,height:Ji*2+z,columns:C,gaps:A}}const ot={paper:"#f7f6f2",press:"#e8e6dd",ink:"#16150f",ink2:"#56544a",ink3:"#87847a",ink4:"#b4b1a5",ruleSoft:"#d6d3c8",ruleFaint:"#e6e3d9",accent:"#7a2230",accentSoft:"#f0e3e5",accentLine:"#d9b3b9",codeComment:"#6a675d"},$n="'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace",ld="'Archivo Variable', 'Archivo', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif",Zr=24,$4=14,Hs=11,Uf="CodeGraph",yl=.6,cd=.53,pa=(e,t)=>e*t*yl;function Fn(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function eT(e){const t=[`x="${Qe(e.x)}"`,`y="${Qe(e.y)}"`,`font-family="${e.family??ld}"`,`font-size="${e.size}"`,`fill="${e.fill}"`];return e.weight&&e.weight!==400&&t.push(`font-weight="${e.weight}"`),e.anchor&&e.anchor!=="start"&&t.push(`text-anchor="${e.anchor}"`),e.preserve&&t.push('xml:space="preserve"'),`<text ${t.join(" ")}>`}function Tn(e,t){return`${eT(e)}${t}</text>`}function Qe(e){return Math.round(e*10)/10}function so(e,t,r,o,s={}){const i=[`x="${Qe(e)}"`,`y="${Qe(t)}"`,`width="${Qe(r)}"`,`height="${Qe(o)}"`,`fill="${s.fill??"none"}"`];return s.fillOpacity!==void 0&&i.push(`fill-opacity="${s.fillOpacity}"`),s.stroke&&(i.push(`stroke="${s.stroke}"`,`stroke-width="${s.strokeWidth??1}"`),s.dash&&i.push(`stroke-dasharray="${s.dash}"`)),`<rect ${i.join(" ")} />`}function gs(e,t,r,o=yl){const s=r*o,i=Math.floor(t/s);return i>=e.length?e:i<=1?e.slice(0,Math.max(0,i)):`${e.slice(0,i-1)}…`}function tT(e,t){const r=e.split(/\s+/).filter(Boolean);if(r.length===0)return[""];const o=[];let s="";for(const i of r)s.length===0?s=i:s.length+1+i.length<=t?s=`${s} ${i}`:(o.push(s),s=i);return o.push(s),o}function Dp(e,t,r,o){const s=o.scale??1,i=$4+Hs,a=Math.max(1,Math.round(e.width+Zr*2)),l=Math.max(1,Math.round(e.height+Zr*2+i)),c=l-Zr,f=o.caption==null||o.caption===""?"":Tn({x:Zr,y:c,size:Hs,fill:ot.ink3,family:$n},Fn(gs(o.caption,a-Zr*2-pa(Uf.length+3,Hs),Hs)));return[`<svg xmlns="http://www.w3.org/2000/svg" width="${Math.round(a*s)}" height="${Math.round(l*s)}" viewBox="0 0 ${a} ${l}" font-family="${ld}">`,t===""?"":`<defs>${t}</defs>`,so(0,0,a,l,{fill:ot.paper}),`<g transform="translate(${Qe(Zr-e.minX)},${Qe(Zr-e.minY)})">`,r,"</g>",f,Tn({x:a-Zr,y:c,size:Hs,fill:ot.ink3,family:$n,anchor:"end"},Uf),"</svg>"].filter(Boolean).join(`
47
+ `)}const qs=12,js=16,nT=9,Qf=21.5,Jf=13,$f=11,mc=40,rT=6,Vo=12,Fs=13.5,oT=11,ev=11;function tv(e){return{right:[e.x+e.width,e.y+e.height/2],left:[e.x,e.y+e.height/2]}}function sT(e,t,r){const o=e.hop,s=o.source,i=[],a=`c${e.column}-${Math.round(e.y)}`;i.push(so(e.x,e.y,e.width,e.height,{fill:ot.paper,stroke:r?ot.accent:ot.ruleSoft}));const l=Zh(o.node.kind),c=e.x+qs,f=e.y+nT;if(i.push(so(c,f,js,js,{fill:Gh.has(o.node.kind)?ot.press:"none",stroke:ot.ink3,dash:o.node.kind==="file"?"2 2":void 0})),l!==""){const D=l.length>1?8.5:9.5;i.push(Tn({x:c+js/2,y:f+js/2+D*.36,size:D,fill:ot.ink2,family:$n,weight:500,anchor:"middle"},Fn(l)))}const u=`${gn(o.node.file)}:${o.node.line}`,h=pa(u.length,$f),d=c+js+8,g=e.x+e.width-qs-h-8-d;i.push(Tn({x:d,y:e.y+Qf,size:Jf,fill:ot.ink,family:$n,weight:600},Fn(gs(o.node.name,g,Jf))),Tn({x:e.x+e.width-qs,y:e.y+Qf,size:$f,fill:ot.ink3,family:$n,anchor:"end"},Fn(u)),`<line x1="${Qe(e.x)}" y1="${Qe(e.y+ko)}" x2="${Qe(e.x+e.width)}" y2="${Qe(e.y+ko)}" stroke="${ot.ruleFaint}" stroke-width="1" />`);const p=s?.lines??[];if(p.length===0){const D=s?.drift?"Changed on disk after the last index sync — source is not shown.":s?.reason??"Source outside this slice or this index.";return i.push(Tn({x:e.x+qs,y:e.y+ko+6+Fs,size:Vo,fill:ot.ink3},Fn(gs(D,e.width-qs*2,Vo,cd)))),`<g${t?' opacity="0.4"':""}>${i.join("")}</g>`}const y=new Map,w=o.callRef;w&&y.set(w.line,[{ident:w.name,col:w.col,targetId:w.targetId,uncertain:!1,outside:!1,title:""}]);const M=sl(p,s?.from??1,s?.highlight),I=e.x+mc,C=e.width-mc-rT,T=Math.floor(C/(Vo*yl)),A=[];return p.forEach((D,j)=>{const R=(s?.from??1)+j,z=e.y+ko+id/2+j*Ka,W=M.get(R)??[{cls:"other",text:D,col:0}],H=ol(W,y.get(R)??[]);(R===w?.line||R===e.stopLine)&&A.push(so(e.x,z,e.width,Ka,{fill:ot.accentSoft})),A.push(Tn({x:e.x+mc-10,y:z+Fs,size:oT,fill:ot.ink4,family:$n,anchor:"end"},String(R)));const B=[];let k=0,b=null;if(W.forEach((E,q)=>{if(k>=T)return;const O=T-k,Y=E.text.length>O?`${E.text.slice(0,Math.max(0,O-1))}…`:E.text,G=H.get(q)??null;G&&(b={from:k,length:Y.length}),B.push(iT(Y,E,G!==null)),k+=E.text.length}),A.push(Tn({x:I,y:z+Fs,size:Vo,fill:ot.ink,family:$n,preserve:!0},B.join(""))),b!==null){const E=b,q=I+pa(E.from,Vo);A.push(`<line x1="${Qe(q)}" y1="${Qe(z+Fs+3)}" x2="${Qe(q+pa(E.length,Vo))}" y2="${Qe(z+Fs+3)}" stroke="${ot.accentLine}" stroke-width="1" />`)}}),i.push(`<g clip-path="url(#${a})">${A.join("")}</g>`),`<g${t?' opacity="0.4"':""}>${i.join("")}</g>`}function iT(e,t,r){if(e==="")return"";const o=Fn(e);if(r)return`<tspan fill="${ot.accent}">${o}</tspan>`;switch(t.cls){case"comment":return`<tspan fill="${ot.codeComment}">${o}</tspan>`;case"string":case"number":return`<tspan fill="${ot.ink2}">${o}</tspan>`;case"keyword":return`<tspan font-weight="500">${o}</tspan>`;default:return`<tspan>${o}</tspan>`}}const aT=32,_c=26;function Rp(e){const t=ad(e.boundary),r=[],o=(i,a,l=!1,c=aT)=>{tT(i,c).forEach((f,u)=>r.push({text:f,kind:a,gapBefore:l&&u===0}))};o("Where the graph stops.","lead"),o(t.intro,"body");for(const i of t.sites){o(i.headline,"form",!0),i.key!==null&&o(`key ${i.key}`,"mono",!1,_c);for(const a of i.notes)o(a,"soft");if(i.candidateHeading!==null){o(i.candidateHeading,"soft");for(const a of i.candidates)o(`${a.display} ${gn(a.node.file)}:${a.node.line}`,"mono",!1,_c)}else i.candidateNote!==null&&o(i.candidateNote,"soft")}if(t.quiet!==null&&o(t.quiet,"soft",!0),t.uncertainHeading!==null){o(t.uncertainHeading,"soft",!0);for(const i of t.uncertain)o(`${i.node.name} ${i.confidence===null?"":i.confidence.toFixed(2)}`,"mono",!1,_c)}t.further!==null&&o(t.further,"body",!0),t.missed!==null&&o(t.missed,"body",!0);let s=oi*2;for(const i of r)i.gapBefore&&(s+=po),s+=i.kind==="mono"?si:Zn;return{rows:r,height:Math.round(s)}}function lT(e,t){const{rows:r,height:o}=Rp(e),s=[so(e.x,e.y,e.width,Math.max(e.height,o),{fill:ot.paper,stroke:ot.ruleSoft,dash:"3 3"})];let i=e.y+oi;const a=e.x+oi,l=e.width-oi*2;for(const c of r){c.gapBefore&&(i+=po);const f=c.kind==="mono",u=f?si:Zn,h=c.kind==="form"||c.kind==="lead"?ot.ink:c.kind==="soft"?ot.ink3:ot.ink2;s.push(Tn({x:a,y:i+u*.75,size:f?11.5:12,fill:h,family:f?$n:ld,weight:c.kind==="lead"?600:400},Fn(gs(c.text,l,f?11.5:12,f?yl:cd)))),i+=u}return`<g${t?' opacity="0.4"':""}>${s.join("")}</g>`}function cT(e,t,r,o){const[s,i]=tv(t).right,[a,l]=tv(r).left,f=[`<path d="${Math.abs(i-l)<.5?`M${Qe(s)},${Qe(i)} L${Qe(a)},${Qe(l)}`:`M${Qe(s)},${Qe(i)} C${Qe((s+a)/2)},${Qe(i)} ${Qe((s+a)/2)},${Qe(l)} ${Qe(a)},${Qe(l)}`}" fill="none" stroke="${ot.ink3}" stroke-width="1"${e.dash?` stroke-dasharray="${e.dash}"`:""} />`];e.cap||f.push(`<polygon points="${Qe(a-10)},${Qe(l-4)} ${Qe(a-2)},${Qe(l)} ${Qe(a-10)},${Qe(l+4)}" fill="${ot.ink3}" />`);const u=(s+a)/2,h=(i+l)/2;return e.labelLines.forEach((d,g)=>{f.push(Tn({x:u,y:h-8-(e.labelLines.length-1-g)*13,size:ev,fill:ot.ink3,family:$n,anchor:"middle"},Fn(d)))}),e.lineLabel&&f.push(Tn({x:u,y:h+17,size:ev,fill:ot.ink3,family:$n,anchor:"middle"},Fn(e.lineLabel))),`<g${o?' opacity="0.4"':""}>${f.join("")}</g>`}function uT(e,t={}){const r=t.showAll??!1,o=t.activeFlowId??null,s=p=>o===null||p.includes(o),i=new Map;for(const p of e.cards)i.set(p.id,p);const a=new Map;for(const p of e.endCaps){const y=Math.max(p.height,Rp(p).height);a.set(p.id,y),i.set(p.id,{x:p.x,y:p.y,width:p.width,height:y})}const l=[],c=[];for(const p of e.links){const y=i.get(p.source),w=i.get(p.target);!y||!w||l.push(cT(p,y,w,r&&!s(p.flows)))}for(const p of e.endCaps)l.push(lT(p,r&&!s(p.flows)));for(const p of e.cards)c.push(`<clipPath id="c${p.column}-${Math.round(p.y)}">${so(p.x,p.y+ko,p.width,p.height-ko)}</clipPath>`),l.push(sT(p,r&&p.step<0,r&&p.step>=0));let f=1/0,u=1/0,h=-1/0,d=-1/0;const g=(p,y,w=0,M=0)=>{f=Math.min(f,p),u=Math.min(u,y),h=Math.max(h,p+w),d=Math.max(d,y+M)};for(const p of i.values())g(p.x,p.y,p.width,p.height);for(const p of e.links){const y=i.get(p.source),w=i.get(p.target);if(!y||!w)continue;const M=(y.y+y.height/2+w.y+w.height/2)/2;g((y.x+y.width+w.x)/2,M-8-p.labelLines.length*13),p.lineLabel&&g((y.x+y.width+w.x)/2,M+21)}return Number.isFinite(f)||(f=0,u=0,h=1,d=1),Dp({minX:f,minY:u,width:h-f,height:d-u},c.join(""),l.join(`
48
+ `),t)}const nv=13,rv=11,yc=9,ov=12,sv=12;function dT(e,t,r){const o=e.module,s=t?2:1,i=[so(e.x,e.y,e.width,e.height,{fill:t?ot.press:ot.paper,stroke:r?ot.ink4:o.test?ot.ink3:ot.ink,strokeWidth:s,dash:o.test?"4 3":void 0})],a=e.width-yc*2;return i.push(Tn({x:e.x+yc,y:e.y+17,size:nv,fill:r?ot.ink4:ot.ink,family:$n,weight:500},Fn(gs(o.id,a,nv))),Tn({x:e.x+yc,y:e.y+31.5,size:rv,fill:r?ot.ink4:ot.ink3},Fn(gs(od(o,e.island),a,rv,cd)))),e.weight>0&&i.push(so(e.x,e.y+e.height-4,e.width*e.weight,4,{fill:ot.ink,fillOpacity:r?.1:.3})),i.join("")}function iv(e,t,r){const o=t.indexOf(r),s=t.length;return o<0||s===0?e.x+e.width/2:e.x+e.width*(o+1)/(s+1)}function fT(e,t,r,o){const s=iv(t,t.sourceHandles,e.id),i=t.y+t.height,a=iv(r,r.targetHandles,e.id),l=r.y,c=(i+l)/2,f=`M${Qe(s)},${Qe(i)} C${Qe(s)},${Qe(c)} ${Qe(a)},${Qe(c)} ${Qe(a)},${Qe(l)}`;return e.back?`<path d="${f}" fill="none" stroke="${ot.accent}" stroke-opacity="0.6" stroke-dasharray="4 3" stroke-width="${Qe(e.width)}" />`:`<path d="${f}" fill="none" stroke="${ot.ink}" stroke-opacity="${o?.95:.28}" stroke-width="${Qe(e.width)}" />`}function vT(e,t={}){const r=t.selected??null,o=new Map(e.nodes.map(d=>[d.id,d])),s=r===null?null:new Set([r,...e.edges.flatMap(d=>d.source===r?[d.target]:d.target===r?[d.source]:[])]);let i=1/0,a=1/0,l=-1/0,c=-1/0;for(const d of e.nodes)i=Math.min(i,d.x),a=Math.min(a,d.y),l=Math.max(l,d.x+d.width),c=Math.max(c,d.y+d.height);Number.isFinite(i)||(i=0,a=0,l=1,c=1);const f=i-sv,u=l+sv,h=[];for(const d of e.layers)if(h.push(`<line x1="${Qe(f)}" y1="${Qe(d.y)}" x2="${Qe(u)}" y2="${Qe(d.y)}" stroke="${ot.ruleFaint}" stroke-width="1" />`),d.label!==null){const g=d.index===0?d.y+40:d.y-36;h.push(Tn({x:f,y:g,size:ov,fill:ot.ink3},Fn(d.label))),a=Math.min(a,g-ov),c=Math.max(c,g+4)}for(const d of e.edges){if(!sd(d,r))continue;const g=o.get(d.source),p=o.get(d.target);!g||!p||h.push(fT(d,g,p,r!==null&&!d.back))}for(const d of e.nodes)h.push(dT(d,r===d.id,s!==null&&!s.has(d.id)));return Dp({minX:f,minY:a,width:u-f,height:c-a},"",h.join(`
49
+ `),t)}function zp(e,t){const r=t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,60).replace(/-+$/g,"");return`codegraph-${e}${r?`-${r}`:""}`}var hT=N('<div class="state svelte-1j33xh5"><h2 class="svelte-1j33xh5">The map could not be built</h2> <p class="svelte-1j33xh5"> </p></div>'),gT=N('<div class="state svelte-1j33xh5"><p class="dim svelte-1j33xh5">Aggregating the graph by module…</p></div>'),pT=N('<div class="state svelte-1j33xh5"><h2 class="svelte-1j33xh5">Nothing to draw here</h2> <p class="svelte-1j33xh5"> </p></div>'),mT=N('<div class="layerlbl svelte-1j33xh5"> </div>'),_T=N('<div class="layerline svelte-1j33xh5"></div> <!>',1),yT=N("<!> <!>",1),wT=N('<div class="row2 dim svelte-1j33xh5"><span> </span></div>'),bT=N('<div class="row2 mono svelte-1j33xh5"><span> </span><span> </span></div>'),xT=N('<div class="tip svelte-1j33xh5"><div class="mono svelte-1j33xh5"><b class="svelte-1j33xh5"> </b> </div> <div class="row2 svelte-1j33xh5"><span> </span> <span> </span></div> <!> <!></div>'),kT=N("<!> <!> <!>",1),ET=N('<div class="mapview svelte-1j33xh5"><div class="mapstage svelte-1j33xh5"><!></div> <!></div>');function ST(e,t){Ne(t,!0);let r=ae(null),o=ae(null),s=ae(!0),i=ae(null),a=ae(null),l=ae(null);const c={fitViewOptions:{padding:.12,maxZoom:1,minZoom:.45}},f="codegraph-ui:map-legend";let u=ae(un(h()));function h(){try{return localStorage.getItem(f)!=="closed"}catch{return!0}}et(()=>{try{localStorage.setItem(f,n(u)?"open":"closed")}catch{}});const d={module:r4},g={module:s4};et(()=>{const O=t.root,K=t.depth;Rn.indexTick;const Y=new AbortController;return L(s,!0),L(o,null),v1({root:O,depth:K??void 0},Y.signal).then(G=>{L(r,G,!0),L(s,!1)}).catch(G=>{Y.signal.aborted||(L(o,G instanceof Error?G.message:String(G),!0),L(s,!1))}),()=>Y.abort()});const p=S(()=>n(r)===null?null:_l(n(r),{includeTests:t.tests})),y=S(()=>{if(n(p)===null||n(i)===null)return null;const O=new Set([n(i)]);for(const K of n(p).edges)K.source===n(i)&&O.add(K.target),K.target===n(i)&&O.add(K.source);return O}),w=S(()=>n(p)===null?[]:n(p).nodes.map(O=>({id:O.id,type:"module",position:{x:O.x,y:O.y},draggable:!1,selectable:!1,connectable:!1,data:{layout:O,selected:n(i)===O.id,dimmed:n(y)!==null&&!n(y).has(O.id),onSelect:K=>{L(i,n(i)===K?null:K,!0),L(a,null)}}}))),M=S(()=>n(p)===null?[]:n(p).edges.filter(O=>sd(O,n(i))).map(O=>({id:O.id,source:O.source,target:O.target,sourceHandle:O.sourceHandle,targetHandle:O.targetHandle,type:"module",selectable:!1,deletable:!1,data:{edge:O,hot:n(a)?.edge.id===O.id||n(i)!==null&&!O.back,dimmed:!1,onHover:C}}))),I=S(()=>n(i)===null||n(r)===null?[]:n(r).modules.find(O=>O.id===n(i))?.fileList.items??[]);function C(O,K){if(O===null||K===null||n(l)===null){L(a,null);return}const Y=n(l).getBoundingClientRect();L(a,{edge:O,x:Math.min(K.clientX-Y.left+14,Y.width-330),y:K.clientY-Y.top+14},!0)}function T(O){L(i,null),Et(ei({root:O,tests:t.tests}))}function A(O){L(i,null),Et(ei({root:t.root,depth:O,tests:t.tests}))}function D(O){if(n(p)===null)throw new Error("There is no map to export yet.");const K=n(r)?.root??"";return vT(n(p),{scale:O,selected:n(i),caption:`${K||"the project"} · ${n(p).nodes.length} modules${n(i)?` · ${n(i)} selected`:""}`})}function j(O){L(i,null),Et(ei({root:t.root,depth:t.depth,tests:O}))}var R=ET(),z=v(R),W=v(z);{var H=O=>{var K=hT(),Y=m(v(K),2),G=v(Y);P(()=>x(G,n(o))),_(O,K)},B=O=>{var K=gT();_(O,K)},k=O=>{var K=pT(),Y=m(v(K),2),G=v(Y);P(()=>x(G,`No indexed files sit under this root${t.tests?"":", or every module under it is test code"}. Pick another root on the right.`)),_(O,K)},b=O=>{var K=kT(),Y=ye(K);gl(Y,Jr({get nodes(){return n(w)},get edges(){return n(M)},get nodeTypes(){return d},get edgeTypes(){return g},fitView:!0},()=>c,{minZoom:.2,maxZoom:1.6,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,panOnDrag:!0,proOptions:{hideAttribution:!0},onpaneclick:()=>{L(i,null),L(a,null)},children:($,Z)=>{var Q=yT(),F=ye(Q);CM(F,{target:"back",children:(te,ie)=>{var ge=St(),ve=ye(ge);xe(ve,17,()=>n(p).layers,re=>re.index,(re,ee)=>{var ue=_T(),ne=ye(ue),fe=m(ne,2);{var he=ce=>{var we=mT(),de=v(we);P(()=>{nt(we,`transform:translate(8px,${n(ee).index===0?n(ee).y+40:n(ee).y-36}px)`),x(de,n(ee).label)}),_(ce,we)};V(fe,ce=>{n(ee).label!==null&&ce(he)})}P(()=>nt(ne,`transform:translate(0px,${n(ee).y}px);width:${n(p).width}px`)),_(re,ue)}),_(te,ge)},$$slots:{default:!0}});var J=m(F,2);pl(J,{position:"bottom-right",showLock:!1}),_($,Q)},$$slots:{default:!0}}));var G=m(Y,2);{let $=S(()=>n(p).edges.filter(Q=>Q.thin&&!Q.back).length),Z=S(()=>n(p).basis.kind==="declared");R4(G,{get minWeight(){return n(p).minWeight},get thinCount(){return n($)},get declaredBasis(){return n(Z)},get open(){return n(u)},onToggle:Q=>L(u,Q,!0)})}var U=m(G,2);{var X=$=>{var Z=xT(),Q=v(Z),F=v(Q),J=v(F),te=m(F),ie=m(Q,2),ge=v(ie),ve=v(ge),re=m(ge,2),ee=v(re),ue=m(ie,2);{var ne=he=>{var ce=wT(),we=v(ce),de=v(we);P(()=>x(de,`${n(a).edge.link.declared??""} through an import or a declared type`)),_(he,ce)};V(ue,he=>{n(a).edge.link.declared!==n(a).edge.link.count&&he(ne)})}var fe=m(ue,2);xe(fe,17,()=>n(a).edge.link.topPairs,he=>he.from+he.to,(he,ce)=>{var we=bT(),de=v(we),me=v(de),Te=m(de),Pe=v(Te);P(()=>{x(me,`${n(ce).from??""} → ${n(ce).to??""}`),x(Pe,n(ce).count)}),_(he,we)}),P(he=>{nt(Z,`left:${n(a).x}px;top:${n(a).y}px`),x(J,n(a).edge.source),x(te,` → ${n(a).edge.target??""}`),x(ve,`${n(a).edge.link.count??""} edges`),x(ee,he)},[()=>n(a).edge.link.byKind.map(he=>`${he.kind} ${he.count}`).join(" · ")]),_($,Z)};V(U,$=>{n(a)!==null&&$(X)})}_(O,K)};V(W,O=>{n(o)!==null?O(H):n(s)&&n(r)===null?O(B,1):n(p)!==null&&n(p).nodes.length===0?O(k,2):n(p)!==null&&O(b,3)})}Wt(z,O=>L(l,O),()=>n(l));var E=m(z,2);{var q=O=>{{let K=S(()=>zp("map",n(r).root??""));P4(O,{get payload(){return n(r)},get layout(){return n(p)},get selected(){return n(i)},get includeTests(){return t.tests},get files(){return n(I)},buildSvg:D,get exportName(){return n(K)},onToggleTests:j,onSelectRoot:T,get chosenDepth(){return t.depth},onSelectDepth:A,onSelect:Y=>L(i,Y,!0)})}};V(E,O=>{n(r)!==null&&n(p)!==null&&O(q)})}_(e,R),Ie()}var MT=N('<span class="mark svelte-390foq" aria-hidden="true">●</span>'),TT=N('<!> <button><span class="name svelte-390foq"><!> </span> <span class="sub svelte-390foq"> </span></button> <!>',1);function CT(e,t){Ne(t,!0);const r=S(()=>t.data),o=S(()=>n(r).layout),s=S(()=>n(r).info);function i(M,I){return`left:${(M+1)/(I+1)*100}%`}var a=TT(),l=ye(a);xe(l,19,()=>n(o).ports.top,M=>`${M.type}:${M.id}`,(M,I,C)=>{{let T=S(()=>`${n(I).type==="source"?"s":"t"}:${n(I).id}`),A=S(()=>i(n(C),n(o).ports.top.length));kn(M,{get type(){return n(I).type},get id(){return n(T)},get position(){return Ve.Top},get style(){return n(A)},isConnectable:!1})}});var c=m(l,2);let f;var u=v(c),h=v(u);{var d=M=>{var I=MT();_(M,I)};V(h,M=>{n(s).entry&&M(d)})}var g=m(h,1,!0),p=m(u,2),y=v(p),w=m(c,2);xe(w,19,()=>n(o).ports.bottom,M=>`${M.type}:${M.id}`,(M,I,C)=>{{let T=S(()=>`${n(I).type==="source"?"s":"t"}:${n(I).id}`),A=S(()=>i(n(C),n(o).ports.bottom.length));kn(M,{get type(){return n(I).type},get id(){return n(T)},get position(){return Ve.Bottom},get style(){return n(A)},isConnectable:!1})}}),P(()=>{f=Ce(c,1,"snode svelte-390foq",null,f,{sel:n(r).selected,dimmed:n(r).dimmed,origin:n(s).origin,entry:n(s).entry,unreached:n(s).unreached}),nt(c,`width:${n(o).width}px;height:${n(o).height}px`),se(c,"aria-pressed",n(r).selected),se(c,"title",(n(s).origin?`${n(s).label} — navigates, but no screen reaches it within the walk. In ${n(s).sub}.`:`${n(s).label} — rendered by ${n(s).sub}${n(s).entry?". The entry screen.":""}${n(s).unreached?". No transition in the graph reaches it from the entry.":""}`)+(n(r).onOpen?" Double-click for what happens here.":"")),x(g,n(s).label),x(y,n(s).sub)}),ke("click",c,()=>n(r).onSelect(n(s).id)),Ge("dblclick",c,M=>{M.stopPropagation(),n(r).onOpen?.(n(s).id)},!0),_(e,a),Ie()}mt(["click"]);function Ya(e,t){const r=[];let o=0,s=null,i=0;for(let a=0;a<e.length;a++){const l=e[a];if(s!==null){l==="\\"?a++:l===s&&(s=null);continue}if(l==="'"||l==='"'||l==="`"){s=l;continue}if(l==="("||l==="["||l==="{"){o++;continue}if(l===")"||l==="]"||l==="}"){o=Math.max(0,o-1);continue}o===0&&e.startsWith(t,a)&&(r.push(e.slice(i,a).trim()),i=a+t.length,a+=t.length-1)}return r.push(e.slice(i).trim()),r.filter(a=>a.length>0)}function Hp(e){return Ya(e," || ").length>1?[e.trim()]:Ya(e," && ")}const ps=e=>({kw:!0,text:e}),ii=e=>({kw:!1,text:e});function wl(e){const t=e.trim();return t.startsWith("!(")&&IT(t,1)?[ps("NOT"),ii(t.slice(1))]:/^![A-Za-z_$][\w$.?]*$/.test(t)?[ps("NOT"),ii(t.slice(1))]:[ii(t)]}function NT(e){return Di(wl(e))}function Xa(e,t){const r=[];return e.forEach((o,s)=>{s>0&&r.push(ps(t)),r.push(...o)}),r}function Di(e){return e.map(t=>t.text).join(" ")}function IT(e,t){let r=0,o=null;for(let s=t;s<e.length;s++){const i=e[s];if(o!==null){i==="\\"?s++:i===o&&(o=null);continue}if(i==="'"||i==='"'||i==="`")o=i;else if(i==="(")r++;else if(i===")"&&(r--,r===0))return s===e.length-1}return!1}function qp(e){return e.filter((t,r)=>e.indexOf(t)===r)}function bl(e){return e?Xa(Ya(e," || ").map(t=>Xa(qp(Ya(t," && ")).map(wl),"AND")),"OR"):[]}function ud(e){const t=bl(e);return t.length===0?[ii("always")]:[ps("WHEN"),...t]}function xl(e){return Di(bl(e))}function Ga(e){return e.length===0?[]:[ps("WHEN"),...Xa(e.map(wl),"AND")]}function Za(e){const t=e.map(o=>({site:o,all:o.when?qp(Hp(o.when)):[]}));if(t.length===0)return{common:[],rows:[]};let r=t[0].all.slice();for(const{all:o}of t.slice(1)){let s=0;for(;s<r.length&&s<o.length&&r[s]===o[s];)s++;r=r.slice(0,s)}return{common:r,rows:t.map(({site:o,all:s})=>({site:o,rest:s.slice(r.length)}))}}function Ua(e,t){return e.length===0?[ii("always")]:[ps(t?"AND":"WHEN"),...Xa(e.map(wl),"AND")]}const wr=116,jp=.66,AT=.26,Fp=24,PT=6.3,OT=12,ms=17,Bp=13,Vp=ms+4,LT=4,DT=2,Do=40;function RT(e,t,r){return o=>{const s=new Set(o),i=new Map(o.map(w=>[w,[]])),a=new Map(o.map(w=>[w,0]));for(const w of r)!s.has(w.source)||!s.has(w.target)||w.source===w.target||(i.get(w.source).push(w.target),a.set(w.target,(a.get(w.target)??0)+1));for(const w of i.values())w.sort();const l=new Map,c=w=>{const M=new Map,I=(T,A)=>{if(l.has(T))return;l.set(T,A);const D=M.get(A);D?D.push(T):M.set(A,[T])};let C=0;for(const[T,A]of w)I(T,A),C=Math.max(C,A);for(let T=0;T<=o.length+C;T++){const A=M.get(T);if(A)for(const D of A)for(const j of i.get(D)??[])I(j,T+1)}};e!==null&&s.has(e)&&c([[e,0]]);const f=[];for(const w of[...t].filter(M=>s.has(M)).sort()){const M=(i.get(w)??[]).map(I=>l.get(I)).filter(I=>I!==void 0);f.push([w,M.length>0?Math.max(0,Math.min(...M)-1):0])}c(f);const u=Math.max(0,...l.values()),h=o.filter(w=>!l.has(w)),d=new Map;if(h.length>0){const w=new Set(h),M=h.filter(T=>(a.get(T)??0)===0);let I=M.length>0?M:[h[0]];for(const T of I)d.set(T,0);let C=0;for(;I.length>0;){C++;const T=[];for(const A of I)for(const D of i.get(A)??[])d.has(D)||!w.has(D)||(d.set(D,C),T.push(D));I=T}for(const T of h)d.has(T)||d.set(T,0)}const g=Math.max(0,...d.values()),p=h.length>0?g+2:0,y=new Map;for(const[w,M]of l)y.set(w,p+u-M);for(const[w,M]of d)y.set(w,g-M);return y}}function Wp(e){const t=e.flatMap(o=>o.sites&&o.sites.length>1?o.sites.map(s=>s.when):[o.when]);if(t.length===1){const o=t[0];if(!o)return"";const s=Hp(o),i=NT(s[s.length-1]??o),a=s.length>1?`…${i}`:i;return a.length>Do?`${a.slice(0,Do-1)}…`:a}const r=t.filter(o=>o).length;return r>0?`${t.length} ways · ${r} conditional`:`${t.length} ways`}function zT(e){const t=new Map,r=[];for(const d of e.screens){const g={id:d.id,label:d.path,sub:d.component?.name??d.file,screen:d,origin:!1,entry:e.entry===d.id,unreached:!1};t.set(d.id,g),r.push(av(g,d.incoming+d.outgoing))}for(const d of e.origins){const g={id:d.id,label:d.node.kind==="component"?`<${d.node.name}>`:`${d.node.name}()`,sub:d.sharedBy?`on ${d.sharedBy} screens`:d.node.file,screen:null,origin:!0,entry:!1,unreached:!1};t.set(d.id,g),r.push(av(g,d.outgoing))}const o=new Map;for(const d of e.links){const g=Hr({source:d.from,target:d.to}),p=o.get(g)??[];p.push(d),o.set(g,p)}const s=[],i=new Map;for(const[d,g]of o){const p=g[0];!t.has(p.from)||!t.has(p.to)||p.from!==p.to&&(s.push({source:p.from,target:p.to,count:g.length,declared:g.length,byKind:[{kind:"navigates",count:g.length}],topPairs:[]}),i.set(d,{id:d,from:p.from,to:p.to,links:g,label:Wp(g),synthesized:g.every(y=>y.synthesized)}))}const a=e.origins.map(d=>d.id),l=new Set;{const d=new Map;for(const p of e.links)d.set(p.from,[...d.get(p.from)??[],p.to]);const g=[e.entry,...a].filter(p=>p!==null);for(;g.length>0;){const p=g.pop();if(!l.has(p)){l.add(p);for(const y of d.get(p)??[])g.push(y)}}}let c=0;for(const d of t.values())!d.origin&&!l.has(d.id)&&(d.unreached=!0,c++);const f=_l({modules:r,links:s},{includeTests:!0,minWeight:0,sizing:d=>{const g=t.get(d.id);return{label:g?.label??d.id,meta:g?.sub??""}},layering:RT(e.entry,a,s),layerGap:wr,portPitch:ml,ports:"directional"}),u=dd(f,wr),h=new Map;for(const[d,g]of u)h.set(d,fd(g,Fp));return{layout:f,nodes:t,edges:i,unreached:c,layerGap:wr,curves:u,polylines:h}}function av(e,t){return{id:e.id,label:e.label,files:1,symbols:t,languages:[],test:!1,generated:0,generatedFiles:[],facade:!1,fileList:{total:1,shown:1,truncated:!1,items:[e.screen?.file??e.sub]},dependents:{files:0,modules:0}}}function HT(e,t){const r=e.links.filter(s=>s.to===t),o=e.links.filter(s=>s.from===t);return{opensFrom:r,goesTo:o}}function wc(e){return e.via.map(t=>t.name).join(" → ")}function lv(e){return e.from===e.to?null:Hr({source:e.from,target:e.to})}function cv(e,t,r,o,s,i=wr,a){if(e==="level"){const c=a??Math.round(i*jp);return{x0:t,y0:r,x1:t,y1:r-c,x2:o,y2:s-c,x3:o,y3:s}}const l=a??(r+s)/2;return{x0:t,y0:r,x1:t,y1:l,x2:o,y2:l,x3:o,y3:s}}function qT(e){return`M${e.x0},${e.y0} C${e.x1},${e.y1} ${e.x2},${e.y2} ${e.x3},${e.y3}`}function dd(e,t){const r=new Map(e.nodes.map(a=>[a.id,a])),o=(a,l)=>a.ports[l].length,s=new Map;for(const a of e.edges){const l=r.get(a.source),c=r.get(a.target);if(!l||!c)continue;const f=cu(l,a.id,"source"),u=cu(c,a.id,"target");let h,d,g,p=!0,y=f,w=u;if(a.route==="level")h=o(c,"top")>o(l,"top")?c:l,d="top",g=h===l?u:f;else{const T=a.route==="down",A=T?l:c,D=T?c:l;y=T?f:u,w=T?u:f,p=o(A,"bottom")>=o(D,"top"),h=p?A:D,d=p?"bottom":"top",g=p?w:y}const M=h.x+h.width/2,I=`${h.id}\0${d}\0${g.x<M?"L":"R"}`,C=s.get(I)??[];C.push({edge:a,s:f,t:u,reach:Math.abs(g.x-M),pivotUpper:p,up:y,lo:w}),s.set(I,C)}const i=new Map;for(const a of s.values()){a.sort((c,f)=>f.reach-c.reach||c.edge.id.localeCompare(f.edge.id));const l=a.length;a.forEach((c,f)=>{const{edge:u,s:h,t:d}=c;if(u.route==="level"){const w=Math.round(t*(jp-AT*f/Math.max(1,l-1)));i.set(u.id,cv("level",h.x,h.y,d.x,d.y,t,w));return}const g=(f+1)/(l+1),p=Math.min(c.lo.y-c.up.y,t),y=c.pivotUpper?c.up.y+p*g:c.lo.y-p*g;i.set(u.id,cv(u.route,h.x,h.y,d.x,d.y,t,y))})}return i}function fd(e,t=Fp){const r=[];for(let o=0;o<t;o++)r.push(ai(e,o/(t-1)));return r}function jT(e,t,r){const o=r.x-t.x,s=r.y-t.y,i=o*o+s*s,a=i===0?0:Math.max(0,Math.min(1,((e.x-t.x)*o+(e.y-t.y)*s)/i)),l=t.x+a*o-e.x,c=t.y+a*s-e.y;return Math.sqrt(l*l+c*c)}function FT(e,t){let r=1/0;for(let o=1;o<t.length;o++)r=Math.min(r,jT(e,t[o-1],t[o]));return r}function Kp(e,t,r,o){let s=null;for(const[i,a]of e.polylines){if(r!==null&&!r.has(i))continue;const l=FT(t,a);l>o||(s===null||l<s.distance||l===s.distance&&i<s.id)&&(s={id:i,distance:l})}return s}function ai(e,t){const r=1-t,o=r*r*r,s=3*r*r*t,i=3*r*t*t,a=t*t*t;return{x:o*e.x0+s*e.x1+i*e.x2+a*e.x3,y:o*e.y0+s*e.y1+i*e.y2+a*e.y3}}function BT(e,t,r){const o=e.y0===e.y3;let s=o&&r==="target"?.5:0,i=o&&r==="source"?.5:1;const a=ai(e,s).y,l=ai(e,i).y;if(t<Math.min(a,l)-1e-6||t>Math.max(a,l)+1e-6)return null;const c=l>a;for(let f=0;f<40;f++){const u=(s+i)/2;ai(e,u).y<t===c?s=u:i=u}return(s+i)/2}function VT(e){return e.length*PT+OT}function Yp(e){return Math.max(1,Math.floor((e-DT-ms/2-Bp)/Vp)+1)}function Xp(e,t,r){return e.label?`${r!==null&&t.target===r&&t.source!==r?"←":"→"} ${e.label}`:""}function WT(e,t,r){return e.x<t.x+t.w+r&&t.x<e.x+e.w+r&&e.y<t.y+t.h&&t.y<e.y+e.h}function uu(e,t,r,o,s,i,a,l){const c=e.curves.get(t.id),f=s.get(r==="source"?t.source:t.target);if(!c||!f)return null;const u=r==="source"?{x:c.x0,y:c.y0}:{x:c.x3,y:c.y3},h=u.y===f.y,d=VT(o);for(let g=0;g<i;g++){const p=Bp+g*Vp,y=h?u.y-p:u.y+p,w=BT(c,y,r);if(w===null)return null;const M=ai(c,w).x,I={x:M-d/2,y:y-ms/2,w:d,h:ms};if(I.y<0||I.y+I.h>l.height)return null;if(!a.some(C=>WT(C,I,LT)))return{pill:{edge:t.id,text:o,x:M,y,width:d,lane:g,end:r},rect:I}}return null}function Gp(e,t,r=!1){const o=new Map,s=d=>r===!0?!0:r!==!1&&r.has(d),i=r===!0||r!==!1&&r.size>0;if(t===null&&!i)return{pills:o,hidden:0};const a=new Map(e.layout.nodes.map(d=>[d.id,d])),l=Yp(e.layerGap),c={width:e.layout.width,height:e.layout.height},f=e.layout.nodes.map(d=>({x:d.x,y:d.y,w:d.width,h:d.height})),u=e.layout.edges.filter(d=>s(d.id)||d.source===t||d.target===t).map(d=>{const g=t!==null&&d.target===t?"source":"target",p=a.get(g==="source"?d.source:d.target),y=p?cu(p,d.id,g):{x:0,y:0};return{edge:d,end:g,anchor:y}}).sort((d,g)=>d.anchor.x-g.anchor.x||d.anchor.y-g.anchor.y||d.edge.id.localeCompare(g.edge.id));let h=0;for(const{edge:d,end:g}of u){const p=e.edges.get(d.id);if(!p)continue;const y=Xp(p,d,t);if(!y)continue;const w=uu(e,d,g,y,a,l,f,c);if(w===null){h++;continue}o.set(d.id,w.pill),f.push(w.rect)}return{pills:o,hidden:h}}function Zp(e,t,r,o,s){const i=e.layout.edges.find(d=>d.id===t),a=i?e.edges.get(i.id):void 0;if(!i||!a)return null;const l=o??Xp(a,i,r);if(!l)return null;const c=new Map(e.layout.nodes.map(d=>[d.id,d])),f=r!==null&&i.target===r&&i.source!==r?"source":"target",u={width:e.layout.width,height:e.layout.height},h=e.layout.nodes.map(d=>({x:d.x,y:d.y,w:d.width,h:d.height}));for(const d of s?.pills.values()??[])d.edge!==t&&h.push({x:d.x-d.width/2,y:d.y-ms/2,w:d.width,h:ms});return uu(e,i,f,l,c,Yp(e.layerGap),h,u)?.pill??uu(e,i,f,l,c,1,[],u)?.pill??null}var KT=N("<span> </span>"),YT=N("<!> <!>",1);function Up(e,t){Ne(t,!0);const r=S(()=>t.data),o=S(()=>qT(n(r).curve)),s=S(()=>`sedge${n(r).edge.back?" back":""}${n(r).info.synthesized?" synth":""}${n(r).hot?" hot":""}${n(r).soft?" soft":""}${n(r).focus?" focus":""}${n(r).dimmed?" dimmed":""}`);var i=YT(),a=ye(i);{let f=S(()=>`stroke-width:${Math.min(3,n(r).edge.width)}px`);qo(a,{get path(){return n(o)},get class(){return n(s)},get style(){return n(f)}})}var l=m(a,2);{var c=f=>{yp(f,{get x(){return n(r).pill.x},get y(){return n(r).pill.y},transparent:!0,class:"spill-anchor",onmousemove:u=>n(r).onHover(n(r).edge,u),onmouseleave:()=>n(r).onHover(null,null),children:(u,h)=>{var d=KT();let g;var p=v(d);P(()=>{g=Ce(d,1,"spill svelte-cf2s2p",null,g,{hot:n(r).hot,focus:n(r).focus,full:n(r).full!==null}),x(p,n(r).full??n(r).pill.text)}),_(u,d)},$$slots:{default:!0}})};V(l,f=>{n(r).pill!==null&&f(c)})}_(e,i),Ie()}const Bs=(e,t=Ln)=>{var r=St(),o=ye(r);xe(o,17,t,Kn,(s,i,a)=>{var l=GT(),c=ye(l);{var f=g=>{var p=wt();p.nodeValue=" ",_(g,p)};V(c,g=>{a>0&&g(f)})}var u=m(c);{var h=g=>{var p=XT(),y=v(p);P(()=>x(y,n(i).text)),_(g,p)},d=g=>{var p=wt();P(()=>x(p,n(i).text)),_(g,p)};V(u,g=>{n(i).kw?g(h):g(d,-1)})}_(s,l)}),_(e,r)};var XT=N('<b class="kw svelte-1qt8k18"> </b>'),GT=N("<!><!>",1),ZT=N('<div class="state svelte-1qt8k18"><h2 class="svelte-1qt8k18">The screens could not be read</h2> <p> </p></div>'),UT=N('<div class="state svelte-1qt8k18"><p class="dim svelte-1qt8k18">Reading screens and transitions…</p></div>'),QT=N('<div class="state svelte-1qt8k18"><h2 class="svelte-1qt8k18">No screen navigation in this graph</h2> <p> </p></div>'),JT=N(`<div class="legend-body svelte-1qt8k18"><div class="lrow svelte-1qt8k18"><svg width="44" height="12" aria-hidden="true" class="svelte-1qt8k18"><path d="M2 6 H42" class="k-line svelte-1qt8k18"></path></svg> <span class="svelte-1qt8k18">Transition — the destination is written at the call</span></div> <div class="lrow svelte-1qt8k18"><svg width="44" height="12" aria-hidden="true" class="svelte-1qt8k18"><path d="M2 6 H42" class="k-line k-synth svelte-1qt8k18"></path></svg> <span class="svelte-1qt8k18">Destination inferred from a helper's return value</span></div> <div class="lrow svelte-1qt8k18"><svg width="44" height="12" aria-hidden="true" class="svelte-1qt8k18"><path d="M2 6 H42" class="k-line k-back svelte-1qt8k18"></path></svg> <span class="svelte-1qt8k18">Goes back up the picture (returning) — leaves the top of its box, arrives at the bottom of the other</span></div> <div class="lrow svelte-1qt8k18"><span class="k-label mono svelte-1qt8k18">→ …x</span> <span class="svelte-1qt8k18">The last condition checked before the transition, beside the screen at the other end of
50
+ the selected screen's line; ← when it arrives there. None = always</span></div> <div class="lrow svelte-1qt8k18"><span class="k-box mono svelte-1qt8k18">/path</span> <span class="svelte-1qt8k18">A screen — its path and the component that renders it</span></div> <div class="lrow svelte-1qt8k18"><span class="k-box k-entry mono svelte-1qt8k18"><span class="mark svelte-1qt8k18">●</span>/</span> <span class="svelte-1qt8k18">The entry screen; each row down is one more transition away</span></div> <div class="lrow svelte-1qt8k18"><span class="k-box k-origin mono svelte-1qt8k18">fn()</span> <span class="svelte-1qt8k18">Not a screen: shared chrome, or a trigger no screen reaches — a row above what it opens</span></div> <div class="lrow svelte-1qt8k18"><span class="k-box k-unreached mono svelte-1qt8k18">/path</span> <span class="svelte-1qt8k18">Nothing reaches it from the entry (bottom band)</span></div></div>`),$T=N('<span class="dim svelte-1qt8k18"> </span>'),eC=N('<span class="mono dim svelte-1qt8k18"> </span>'),tC=N('<div class="tiprow svelte-1qt8k18"><!> <span class="when svelte-1qt8k18"><!></span> <!></div>'),nC=N('<div class="dim svelte-1qt8k18"> </div>'),rC=N('<div class="tip svelte-1qt8k18"><div class="mono svelte-1qt8k18"><b> </b> </div> <!> <!></div>'),oC=N('<!> <div><button class="legend-h svelte-1qt8k18">Key <span class="dim svelte-1qt8k18"> </span></button> <!></div> <!>',1),sC=N('<a class="sub svelte-1qt8k18"><!> </a>'),iC=N('<span class="sub dim svelte-1qt8k18">navigates from outside any screen</span>'),aC=N('<a class="sub dim svelte-1qt8k18"> </a>'),lC=N('<p class="dim note svelte-1qt8k18"> </p>'),uv=N('<p class="dim svelte-1qt8k18"> </p>'),ea=N('<div class="when svelte-1qt8k18"><!></div>'),dv=N('<div class="via svelte-1qt8k18"> </div>'),fv=N('<div class="ways dim svelte-1qt8k18"> </div>'),vv=N('<div><!> <a class="site dim svelte-1qt8k18"> </a></div>'),hv=N('<div role="presentation"><button class="peer mono svelte-1qt8k18"> </button> <!> <!> <!> <!></div>'),cC=N('<p class="dim svelte-1qt8k18">No navigation leaves this screen.</p>'),uC=N('<div class="head svelte-1qt8k18"><div><div class="mono big svelte-1qt8k18"> </div> <!> <!> <a class="sub act svelte-1qt8k18">What happens here →</a></div> <button class="clear svelte-1qt8k18">clear</button></div> <!> <h4 class="svelte-1qt8k18">Opens from <span class="dim svelte-1qt8k18"> </span></h4> <!> <!> <h4 class="svelte-1qt8k18">Goes to <span class="dim svelte-1qt8k18"> </span></h4> <!> <!>',1),dC=N("· <b> </b> triggered outside a screen",1),fC=N('<p class="dim svelte-1qt8k18"><b> </b> </p>'),vC=N('<button class="peer mono svelte-1qt8k18"> <span class="dim svelte-1qt8k18"> </span></button>'),hC=N(`<div class="head svelte-1qt8k18"><div class="big svelte-1qt8k18">Screens</div></div> <p><b> </b> screens · <b> </b> transitions<!>.</p> <p class="dim svelte-1qt8k18"><span class="mark svelte-1qt8k18">●</span> The entry screen is at the top; each row down is one more
51
+ transition away from it. Click a screen and each of its transitions is labelled at the far
52
+ end of its line — beside the screen it leads to or comes from — with the last condition
53
+ checked before it happens; hover the line, or its row here, for the whole chain and the
54
+ calls it travels through.</p> <p class="dim svelte-1qt8k18">Solid: the destination is written at the call. Dashed grey: it comes back from a
55
+ helper's return value (inferred). Dashed accent: a transition back up the picture
56
+ (returning), drawn around the boxes rather than through them. Dashed box: a trigger that
57
+ is not a screen — shared chrome, or code no screen's render chain reaches.</p> <!> <!> <h4 class="svelte-1qt8k18">Most connected</h4> <!>`,1),gC=N('<aside class="side svelte-1qt8k18"><!></aside>'),pC=N('<div class="screens svelte-1qt8k18"><div class="stage svelte-1qt8k18" role="presentation"><!></div> <!></div>');function mC(e,t){Ne(t,!0);let r=ae(null),o=ae(null),s=ae(!0),i=ae(null),a=ae(null),l=ae(null),c=ae(null),f=ae(void 0);const u=10,h="codegraph-ui:screens-legend";let d=ae(un(g()));function g(){try{return localStorage.getItem(h)!=="closed"}catch{return!0}}et(()=>{try{localStorage.setItem(h,n(d)?"open":"closed")}catch{}});const p={fitViewOptions:{padding:.1,maxZoom:1,minZoom:.4}},y=400;let w=null;const M={screen:CT},I={screen:Up};et(()=>{Rn.indexTick;const re=new AbortController;return L(s,!0),L(o,null),Xh(re.signal).then(ee=>{L(r,ee,!0),L(s,!1)}).catch(ee=>{re.signal.aborted||(L(o,ee instanceof Error?ee.message:String(ee),!0),L(s,!1))}),()=>re.abort()});const C=S(()=>n(r)===null||!n(r).routed?null:zT(n(r))),T=S(()=>{if(n(C)===null||n(i)===null)return null;const re=new Set([n(i)]);for(const ee of n(C).layout.edges)ee.source===n(i)&&re.add(ee.target),ee.target===n(i)&&re.add(ee.source);return re}),A=S(()=>n(C)===null?null:Gp(n(C),n(i))),D=S(()=>n(a)?.edge.id??n(l)?.edge??null),j=S(()=>{if(n(C)===null||n(D)===null||n(A)?.pills.has(n(D)))return null;const re=n(l)?.edge===n(D)?Y(n(l).link):void 0;return Zp(n(C),n(D),n(i),re,n(A)??void 0)}),R=S(()=>n(C)===null?[]:n(C).layout.nodes.map(re=>({id:re.id,type:"screen",position:{x:re.x,y:re.y},draggable:!1,selectable:!1,connectable:!1,data:{layout:re,info:n(C).nodes.get(re.id),selected:n(i)===re.id,dimmed:n(T)!==null&&!n(T).has(re.id),onSelect:ee=>{const ue=performance.now();if(w!==null&&w.id===ee&&ue-w.at<y){w=null,Et(cr({anchor:ee}));return}w={id:ee,at:ue},L(i,n(i)===ee?null:ee,!0),L(a,null),L(l,null)},onOpen:ee=>Et(cr({anchor:ee}))}}))),z=S(()=>{if(n(C)===null)return[];const re=n(D);return n(C).layout.edges.filter(ee=>sd(ee,n(i))).map(ee=>{const ue=n(i)!==null&&(ee.source===n(i)||ee.target===n(i)),ne=re===ee.id,fe=ne||ue;return{id:ee.id,source:ee.source,target:ee.target,sourceHandle:ee.sourceHandle,targetHandle:ee.targetHandle,type:"screen",selectable:!1,deletable:!1,zIndex:ne?3:fe?2:1,data:{edge:ee,info:n(C).edges.get(ee.id),curve:n(C).curves.get(ee.id),hot:fe,soft:fe&&re!==null&&!ne,focus:ne,dimmed:n(i)!==null&&!ue,pill:n(A)?.pills.get(ee.id)??(ne?n(j):null),full:n(l)?.edge===ee.id?Y(n(l).link):null,onHover:E}}})}),W=S(()=>n(i)===null||n(C)===null?null:n(C).nodes.get(n(i))??null),H=S(()=>n(i)===null||n(r)===null?null:HT(n(r),n(i))),B=S(()=>n(a)===null||n(C)===null?null:n(C).edges.get(n(a).edge.id)??null),k=S(()=>n(C)===null?new Map:new Map(n(C).layout.edges.map(re=>[re.id,re]))),b=S(()=>new Set(n(z).map(re=>re.id)));function E(re,ee){if(re===null||ee===null||n(c)===null){L(a,null);return}const ue=n(c).getBoundingClientRect();L(a,{edge:re,x:Math.min(ee.clientX-ue.left+14,ue.width-360),y:ee.clientY-ue.top+14},!0)}function q(re){if(n(C)===null||n(c)===null)return;const ee=re.target;if(ee?.closest(".spill"))return;if(ee?.closest(".snode, .legend, .tip, .svelte-flow__controls")){L(a,null);return}const ue=n(f)??O();if(!ue)return;const ne=n(c).getBoundingClientRect(),fe={x:(re.clientX-ne.left-ue.x)/ue.zoom,y:(re.clientY-ne.top-ue.y)/ue.zoom},he=Kp(n(C),fe,n(b),u/ue.zoom),ce=he===null?void 0:n(k).get(he.id);if(!ce){L(a,null);return}L(a,{edge:ce,x:Math.min(re.clientX-ne.left+14,ne.width-360),y:re.clientY-ne.top+14},!0)}function O(){const ee=n(c)?.querySelector(".svelte-flow__viewport")?.style.transform.match(/translate\(([-\d.]+)px,\s*([-\d.]+)px\)\s*scale\(([-\d.]+)\)/);return ee?{x:Number(ee[1]),y:Number(ee[2]),zoom:Number(ee[3])}:null}function K(re){const ee=re===null?null:lv(re);L(l,re===null||ee===null?null:{edge:ee,link:re},!0)}function Y(re){return`${n(i)!==null&&re.to===n(i)&&re.from!==n(i)?"←":"→"} ${xl(re.when)||"always"}`}function G(re){return n(l)!==null?n(l).link.id===re.id:n(a)!==null&&lv(re)===n(a).edge.id}function U(re){return n(C)?.nodes.get(re)?.label??re}function X(re,ee){return U(ee==="from"?re.from:re.to)}var $=pC(),Z=v($),Q=v(Z);{var F=re=>{var ee=ZT(),ue=m(v(ee),2),ne=v(ue);P(()=>x(ne,n(o))),_(re,ee)},J=re=>{var ee=UT();_(re,ee)},te=re=>{var ee=QT(),ue=m(v(ee),2),ne=v(ue);P(()=>x(ne,`This view draws the routes a UI framework binds to components and the navigation calls
58
+ that reach them. The index has ${n(r).screens.length===0?"no routes":"routes"} but no
59
+ navigation between them — it is not an app with screens, or its router is one CodeGraph
60
+ does not read yet.`)),_(re,ee)},ie=re=>{var ee=oC(),ue=ye(ee);gl(ue,Jr({get nodes(){return n(R)},get edges(){return n(z)},get nodeTypes(){return M},get edgeTypes(){return I},fitView:!0},()=>p,{minZoom:.2,maxZoom:3,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,panOnDrag:!0,proOptions:{hideAttribution:!0},onpaneclick:()=>{L(i,null),L(a,null),L(l,null)},get viewport(){return n(f)},set viewport(Le){L(f,Le,!0)},children:(Le,Re)=>{pl(Le,{position:"bottom-right",showLock:!1})},$$slots:{default:!0}}));var ne=m(ue,2);let fe;var he=v(ne),ce=m(v(he)),we=v(ce),de=m(he,2);{var me=Le=>{var Re=JT();_(Le,Re)};V(de,Le=>{n(d)&&Le(me)})}var Te=m(ne,2);{var Pe=Le=>{var Re=rC(),Be=v(Re),je=v(Be),tt=v(je),Ze=m(je),at=m(Be,2);xe(at,17,()=>n(B).links.slice(0,5),oe=>oe.id,(oe,_e)=>{var Me=tC(),Fe=v(Me);{var Xe=rt=>{var ct=$T(),ze=v(ct);P(()=>x(ze,`${n(_e).sites.length??""} ways`)),_(rt,ct)};V(Fe,rt=>{n(_e).sites.length>1&&rt(Xe)})}var dt=m(Fe,2),Ct=v(dt);{let rt=S(()=>ud(n(_e).when));Bs(Ct,()=>n(rt))}var Ht=m(dt,2);{var At=rt=>{var ct=eC(),ze=v(ct);P(be=>x(ze,`via ${be??""}`),[()=>wc(n(_e))]),_(rt,ct)};V(Ht,rt=>{n(_e).via.length>0&&rt(At)})}_(oe,Me)});var Ye=m(at,2);{var le=oe=>{var _e=nC(),Me=v(_e);P(()=>x(Me,`+${n(B).links.length-5} more`)),_(oe,_e)};V(Ye,oe=>{n(B).links.length>5&&oe(le)})}P((oe,_e)=>{nt(Re,`left:${n(a).x}px;top:${n(a).y}px`),x(tt,oe),x(Ze,` → ${_e??""}`)},[()=>U(n(B).from),()=>U(n(B).to)]),_(Le,Re)};V(Te,Le=>{n(a)!==null&&n(B)!==null&&Le(Pe)})}P(()=>{fe=Ce(ne,1,"legend svelte-1qt8k18",null,fe,{open:n(d)}),se(he,"aria-expanded",n(d)),x(we,n(d)?"▾":"▸")}),ke("click",he,()=>L(d,!n(d))),_(re,ee)};V(Q,re=>{n(o)!==null?re(F):n(s)&&n(r)===null?re(J,1):n(r)!==null&&!n(r).routed?re(te,2):n(C)!==null&&re(ie,3)})}Wt(Z,re=>L(c,re),()=>n(c));var ge=m(Z,2);{var ve=re=>{var ee=gC(),ue=v(ee);{var ne=he=>{var ce=uC(),we=ye(ce),de=v(we),me=v(de),Te=v(me),Pe=m(me,2);{var Le=ze=>{var be=sC(),qe=v(be);Pt(qe,{get kind(){return n(W).screen.component.kind}});var He=m(qe);P(Lt=>{se(be,"href",Lt),x(He,` ${n(W).screen.component.name??""}`)},[()=>cn(n(W).screen.component.id)]),_(ze,be)},Re=ze=>{var be=iC();_(ze,be)};V(Pe,ze=>{n(W).screen?.component?ze(Le):n(W).origin&&ze(Re,1)})}var Be=m(Pe,2);{var je=ze=>{var be=aC(),qe=v(be);P(He=>{se(be,"href",He),x(qe,n(W).screen.file)},[()=>tn(n(W).screen.file)]),_(ze,be)};V(Be,ze=>{n(W).screen&&ze(je)})}var tt=m(Be,2),Ze=m(de,2),at=m(we,2);{var Ye=ze=>{var be=lC(),qe=v(be);P(()=>x(qe,`${n(A).hidden??""} condition${n(A).hidden===1?"":"s"} not drawn on the picture for want of
61
+ room — hover a row below to see ${n(A).hidden===1?"it":"each"} on its line.`)),_(ze,be)};V(at,ze=>{n(A)!==null&&n(A).hidden>0&&ze(Ye)})}var le=m(at,2),oe=m(v(le)),_e=v(oe),Me=m(le,2);{var Fe=ze=>{var be=uv(),qe=v(be);P(()=>x(qe,n(W).entry?"The entry screen — the app starts here.":"Nothing in the graph navigates here.")),_(ze,be)};V(Me,ze=>{n(H).opensFrom.length===0&&ze(Fe)})}var Xe=m(Me,2);xe(Xe,17,()=>n(H).opensFrom,ze=>ze.id,(ze,be)=>{const qe=S(()=>Za(n(be).sites));var He=hv();let Lt;var qt=v(He),Ue=v(qt),Je=m(qt,2);{var ft=$e=>{var We=ea(),Nt=v(We);{let jt=S(()=>Ga(n(qe).common));Bs(Nt,()=>n(jt))}_($e,We)};V(Je,$e=>{n(qe).common.length>0&&$e(ft)})}var Mt=m(Je,2);{var _t=$e=>{var We=dv(),Nt=v(We);P(jt=>x(Nt,`via ${jt??""}`),[()=>wc(n(be))]),_($e,We)};V(Mt,$e=>{n(be).via.length>0&&$e(_t)})}var bt=m(Mt,2);{var dn=$e=>{var We=fv(),Nt=v(We);P(()=>x(Nt,`${n(qe).rows.length??""} ways`)),_($e,We)};V(bt,$e=>{n(qe).rows.length>1&&$e(dn)})}var Qt=m(bt,2);xe(Qt,17,()=>n(qe).rows,$e=>$e.site.file+$e.site.line,($e,We)=>{var Nt=vv();let jt;var En=v(Nt);{var Ke=Gt=>{var rn=ea(),pn=v(rn);{let In=S(()=>Ua(n(We).rest,n(qe).common.length>0));Bs(pn,()=>n(In))}_(Gt,rn)};V(En,Gt=>{n(qe).rows.length>1&&Gt(Ke)})}var Dt=m(En,2),Xt=v(Dt);P((Gt,rn)=>{jt=Ce(Nt,1,"scenario svelte-1qt8k18",null,jt,{many:n(qe).rows.length>1}),se(Dt,"href",Gt),x(Xt,`${n(We).site.method??""} ${n(We).site.href??""} · ${rn??""}:${n(We).site.line??""}`)},[()=>cn(n(be).via[n(be).via.length-1]?.id??n(W).id,{line:n(We).site.line}),()=>n(We).site.file.slice(n(We).site.file.lastIndexOf("/")+1)]),_($e,Nt)}),P(($e,We)=>{Lt=Ce(He,1,"row svelte-1qt8k18",null,Lt,$e),x(Ue,We)},[()=>({hot:G(n(be))}),()=>X(n(be),"from")]),Ge("mouseenter",He,()=>K(n(be))),Ge("mouseleave",He,()=>K(null)),ke("focusin",He,()=>K(n(be))),ke("focusout",He,()=>K(null)),ke("click",qt,()=>L(i,n(be).from,!0)),_(ze,He)});var dt=m(Xe,2),Ct=m(v(dt)),Ht=v(Ct),At=m(dt,2);{var rt=ze=>{var be=cC();_(ze,be)};V(At,ze=>{n(H).goesTo.length===0&&ze(rt)})}var ct=m(At,2);xe(ct,17,()=>n(H).goesTo,ze=>ze.id,(ze,be)=>{const qe=S(()=>Za(n(be).sites));var He=hv();let Lt;var qt=v(He),Ue=v(qt),Je=m(qt,2);{var ft=$e=>{var We=ea(),Nt=v(We);{let jt=S(()=>Ga(n(qe).common));Bs(Nt,()=>n(jt))}_($e,We)};V(Je,$e=>{n(qe).common.length>0&&$e(ft)})}var Mt=m(Je,2);{var _t=$e=>{var We=dv(),Nt=v(We);P(jt=>x(Nt,`via ${jt??""}`),[()=>wc(n(be))]),_($e,We)};V(Mt,$e=>{n(be).via.length>0&&$e(_t)})}var bt=m(Mt,2);{var dn=$e=>{var We=fv(),Nt=v(We);P(()=>x(Nt,`${n(qe).rows.length??""} ways`)),_($e,We)};V(bt,$e=>{n(qe).rows.length>1&&$e(dn)})}var Qt=m(bt,2);xe(Qt,17,()=>n(qe).rows,$e=>$e.site.file+$e.site.line,($e,We)=>{var Nt=vv();let jt;var En=v(Nt);{var Ke=Gt=>{var rn=ea(),pn=v(rn);{let In=S(()=>Ua(n(We).rest,n(qe).common.length>0));Bs(pn,()=>n(In))}_(Gt,rn)};V(En,Gt=>{n(qe).rows.length>1&&Gt(Ke)})}var Dt=m(En,2),Xt=v(Dt);P((Gt,rn)=>{jt=Ce(Nt,1,"scenario svelte-1qt8k18",null,jt,{many:n(qe).rows.length>1}),se(Dt,"href",Gt),x(Xt,`${n(We).site.method??""} ${n(We).site.href??""} · ${rn??""}:${n(We).site.line??""}`)},[()=>cn(n(be).via[n(be).via.length-1]?.id??n(W).screen?.component?.id??n(W).id,{line:n(We).site.line}),()=>n(We).site.file.slice(n(We).site.file.lastIndexOf("/")+1)]),_($e,Nt)}),P(($e,We)=>{Lt=Ce(He,1,"row svelte-1qt8k18",null,Lt,$e),x(Ue,We)},[()=>({hot:G(n(be))}),()=>X(n(be),"to")]),Ge("mouseenter",He,()=>K(n(be))),Ge("mouseleave",He,()=>K(null)),ke("focusin",He,()=>K(n(be))),ke("focusout",He,()=>K(null)),ke("click",qt,()=>L(i,n(be).to,!0)),_(ze,He)}),P(ze=>{x(Te,n(W).label),se(tt,"href",ze),x(_e,n(H).opensFrom.length),x(Ht,n(H).goesTo.length)},[()=>cr({anchor:n(W).id})]),ke("click",Ze,()=>L(i,null)),_(he,ce)},fe=he=>{var ce=hC(),we=m(ye(ce),2),de=v(we),me=v(de),Te=m(de,2),Pe=v(Te),Le=m(Te,2);{var Re=Ye=>{var le=dC(),oe=m(ye(le)),_e=v(oe);P(()=>x(_e,n(r).origins.length)),_(Ye,le)};V(Le,Ye=>{n(r).origins.length>0&&Ye(Re)})}var Be=m(we,6);{var je=Ye=>{var le=fC(),oe=v(le),_e=v(oe),Me=m(oe);P(()=>{x(_e,n(C).unreached),x(Me,` screen${n(C).unreached===1?"":"s"} in the band at the bottom: no
62
+ transition in the graph reaches ${n(C).unreached===1?"it":"them"} from the entry — opened
63
+ by something the graph cannot see (a layout's initial route, a deep link), or unused.`)}),_(Ye,le)};V(Be,Ye=>{n(C).unreached>0&&Ye(je)})}var tt=m(Be,2);{var Ze=Ye=>{var le=uv(),oe=v(le);P(()=>x(oe,`${n(r).dropped??""} navigation${n(r).dropped===1?"":"s"} could not be attributed: the walk back to a screen hit a hub.`)),_(Ye,le)};V(tt,Ye=>{n(r).dropped>0&&Ye(Ze)})}var at=m(tt,4);xe(at,17,()=>[...n(r).screens].sort((Ye,le)=>le.incoming+le.outgoing-(Ye.incoming+Ye.outgoing)).slice(0,8),Ye=>Ye.id,(Ye,le)=>{var oe=vC(),_e=v(oe),Me=m(_e),Fe=v(Me);P(()=>{x(_e,`${n(le).path??""} `),x(Fe,`←${n(le).incoming??""} →${n(le).outgoing??""}`)}),ke("click",oe,()=>L(i,n(le).id,!0)),_(Ye,oe)}),P(()=>{x(me,n(r).screens.length),x(Pe,n(r).links.length)}),_(he,ce)};V(ue,he=>{n(W)!==null&&n(H)!==null?he(ne):he(fe,-1)})}_(re,ee)};V(ge,re=>{n(r)!==null&&n(C)!==null&&re(ve)})}ke("mousemove",Z,q),Ge("mouseleave",Z,()=>L(a,null)),_(e,$),Ie()}mt(["mousemove","click","focusin","focusout"]);const _C=24;function gr(e,t="app",r){return ma(e,t,r)[0]}function ma(e,t="app",r){switch(e){case"screen":return r?.screen?.endpoint?["endpoint","endpoints"]:t==="api"?["endpoint","endpoints"]:t==="web"?["page","pages"]:["screen","screens"];case"trigger":return["handler","handlers"];case"bridge":return r?.screen?.endpoint?["call to the server","calls to the server"]:t==="app"?["native call","native calls"]:t==="web"?["call to the server","calls to the server"]:["call to another tier","calls to another tier"];case"event":return t==="app"?["native event","native events"]:t==="web"?["arrives from the server","arrive from the server"]:["arrives from a queue or bus","arrive from a queue or bus"];case"store":return t==="api"?["data call","data calls"]:["store action","store actions"];case"effect":return["outside the index","outside the index"];default:return["start","start"]}}function qn(e){const t=e.after&&e.after.length>0?` · after ${e.after.join(", ")}`:"";switch(e.kind){case"prop":return e.of?`${e.name} · <${e.of}>`:e.name;case"option":return e.of?`${e.name} · ${e.of}(…)`:e.name;case"request":return`${e.name} ${e.of??""}`.trim()+t;case"decorator":return`@${e.name}(${e.of??""})`+t;case"load":return`page load · ${e.of??e.name}`+t;default:return e.of?`${e.name}(${e.of})`:e.name}}function Qp(e){switch(e.kind){case"bridge":return`⇢ ${e.label}`;case"event":{const t=e.events??(e.event?[e.event]:[]);return t.length===0?`⇠ ${e.label}`:t.length===1?`⇠ ${t[0]}`:`⇠ ${t[0]} +${t.length-1}`}default:return e.label}}function Jp(e,t="app"){const r=e.node?e.node.file.slice(e.node.file.lastIndexOf("/")+1):"";switch(e.kind){case"screen":return e.sub;case"trigger":return e.trigger?`${qn(e.trigger)} · ${r}`:`handler · ${r}`;case"bridge":return e.screen?e.sub:`${t==="app"?"native":t==="web"?"server":"another tier"} · ${r}`;case"event":return`${e.label} · ${r}`;case"store":return`${t==="api"?"data":"store"} · ${r}`;case"effect":return e.sub;default:return e.node&&e.sub===e.node.file?r:e.sub}}const gv=24,yC=15,wC=6.3,bC=320;function $p(e){if(e.form==="if"||e.form==="ternary")return e.not?"no":"yes";if(e.not)return"else";let t=e.arm;return e.on&&t.startsWith(e.on)&&(t=t.slice(e.on.length).trim().replace(/^===?\s*/,"")),t?t.length>gv?`${t.slice(0,gv-1)}…`:t:"yes"}function xC(e){let t=null;for(const r of e.links)for(const o of r.sites){if(!o.decision)return null;if(t===null)t=o.decision;else if(t.branch!==o.decision.branch||t.arm!==o.decision.arm)return null}return t}function kC(e,t){const r=new Map;for(const a of e.values()){const l=xC(a);if(l===null)continue;const c=`${a.from}\0${l.branch}`,f=r.get(c)??[];f.push({info:a,decision:l}),r.set(c,f)}const o=new Map(t.nodes.map(a=>[a.id,a])),s=[],i=new Map;for(const[a,l]of r){if(new Set(l.map(g=>g.decision.arm)).size<2)continue;const c=o.get(l[0].info.from);if(!c)continue;for(const{info:g,decision:p}of l)g.arm=$p(p),g.label=g.arm;const f=i.get(c.id)??0;i.set(c.id,f+1);const u=l[0].decision.on,h=`${xl(u)||u}?`,d=Math.max(c.width,Math.min(h.length*wC+8,bC));s.push({id:a,label:h,x:c.x+(c.width-d)/2,y:c.y+c.height+4+f*yC,width:d})}return s}function EC(e){const t=new Map,r=[],o={anchor:0,screen:0,trigger:0,bridge:0,event:0,store:0,effect:0},s=new Map;for(const M of e.links)s.set(M.from,(s.get(M.from)??0)+1),s.set(M.to,(s.get(M.to)??0)+1);for(const M of e.steps){o[M.kind]++;const I={id:M.id,step:M,label:Qp(M),sub:Jp(M,e.project)};t.set(M.id,I),r.push({id:M.id,label:I.label,files:1,symbols:s.get(M.id)??0,languages:[],test:!1,generated:0,generatedFiles:[],facade:!1,fileList:{total:1,shown:1,truncated:!1,items:[M.node?.file??M.sub]},dependents:{files:0,modules:0}})}const i=new Map;for(const M of e.links){if(!t.has(M.from)||!t.has(M.to)||M.from===M.to)continue;const I=Hr({source:M.from,target:M.to}),C=i.get(I)??[];C.push(M),i.set(I,C)}const a=[],l=new Map;for(const[M,I]of i){const C=I[0];a.push({source:C.from,target:C.to,count:I.length,declared:I.length,byKind:[{kind:"calls",count:I.length}],topPairs:[]});const T=I.length===1&&C.kind==="handler"&&C.trigger?C.trigger:null;l.set(M,{id:M,from:C.from,to:C.to,links:I,label:T?qn(T):Wp(I),synthesized:I.every(A=>A.synthesized),kind:I.every(A=>A.kind===C.kind)?C.kind:"calls"})}const c=e.steps.some(M=>M.region!==void 0);let f,u=null;if(c){const M=PC(e.steps,t,r,a);f=M.layout,u=M.zones}else{const M=new Map(e.steps.map(T=>[T.id,T.depth])),I=Math.max(0,...e.steps.map(T=>T.depth));f=_l({modules:r,links:a},{includeTests:!0,minWeight:0,sizing:T=>{const A=t.get(T.id),D=A?.step.cut!=null?" …":"";return{label:(A?.step.anchor?"● ":"")+(A?.label??T.id)+D,meta:A?.sub??""}},layering:T=>new Map(T.map(A=>[A,I-(M.get(A)??I)])),order:T=>t.get(T)?.step.order??Number.MAX_SAFE_INTEGER,layerGap:wr,portPitch:ml,ports:"directional"})}const h=c?em:wr,d=dd(f,h),g=new Map;for(const[M,I]of d)g.set(M,fd(I,_C));const p=u===null?null:new Set(u.map(M=>M.entry)),{stubs:y,stubbed:w}=MC(f,t,h,p);return{layout:f,nodes:t,edges:l,layerGap:h,curves:d,polylines:g,counts:o,regions:u,regionEntries:p,forks:null,stubs:y,stubbed:w,decisions:kC(l,f)}}const SC=3;function pv(e){return e.startsWith("⇢ ")||e.startsWith("⇠ ")?e.slice(2):e}function MC(e,t,r,o){const s=new Map,i=new Set,a=new Map(e.nodes.map(u=>[u.id,u])),l=Jn+r,c=(u,h)=>{s.set(u,[...s.get(u)??[],h])};for(const u of e.edges){const h=a.get(u.source),d=a.get(u.target);if(!h||!d||o!==null&&t.get(u.source)?.step.anchor&&!o.has(u.target))continue;const g=Math.abs(d.y-h.y)/l,p=Math.abs(d.x+d.width/2-(h.x+h.width/2));!u.back&&!u.thin&&g<=SC+.01&&p<=tm||(i.add(u.id),c(u.source,{edge:u.id,other:u.target,label:pv(t.get(u.target)?.label??u.target),dir:"out"}),c(u.target,{edge:u.id,other:u.source,label:pv(t.get(u.source)?.label??u.source),dir:"in"}))}const f=u=>{const h=a.get(u);return h?h.y*1e5+h.x:0};for(const u of s.values())u.sort((h,d)=>h.dir===d.dir?f(h.other)-f(d.other):h.dir==="out"?-1:1);return{stubs:s,stubbed:i}}const em=72,ta=Jn+em,tm=720,TC=[tm,1e3,1300,1600,1900,2200,2600,3e3],CC=1.4;function mv(e){return Math.abs(Math.log(Math.max(1,e.width)/Math.max(1,e.height)/CC))}const _v=26,NC=6,IC=72,yv=84;function AC(e,t){return Math.max(t,Math.min(3400,Math.max(1440,Math.ceil(Math.sqrt(e*2.4)))))}function wv(e){const t=new Map,r=new Set;for(const a of e){r.add(a.source),r.add(a.target);const l=t.get(a.source);l?l.push(a):t.set(a.source,[a])}const o=new Map,s=new Set,i=a=>{const l=[{id:a,next:0}];for(o.set(a,1);l.length>0;){const c=l[l.length-1],f=t.get(c.id)??[];if(c.next>=f.length){o.set(c.id,2),l.pop();continue}const u=f[c.next++],h=o.get(u.target)??0;if(h===1){s.add(u);continue}h!==2&&(o.set(u.target,1),l.push({id:u.target,next:0}))}};for(const a of r)o.has(a)||i(a);return e.filter(a=>!s.has(a))}function PC(e,t,r,o){const s=e.find(E=>E.anchor),i=e.filter(E=>!E.anchor),a=new Map(r.map(E=>[E.id,E])),l=new Map;for(const E of o)l.set(E.source,(l.get(E.source)??0)+1),l.set(E.target,(l.get(E.target)??0)+1);const c=E=>{const q=t.get(E),O=q?.step.cut!=null?" …":"",K=q?.step.anchor?"● ":"";return Math.max(Np(K+(q?.label??E)+O,q?.sub??""),((l.get(E)??0)+1)*ml)},f=new Map;for(const E of i){const q=E.region?.id??s.id,O=f.get(q)??{id:q,label:E.region?.label??s.label,members:[]};O.members.push(E),f.set(q,O)}const u=new Map(i.map(E=>[E.id,E.region?.id??s.id])),h=o.filter(E=>E.source!==s.id&&E.target!==s.id&&E.source!==E.target&&u.get(E.source)===u.get(E.target)),d=new Set(o.filter(E=>E.source===s.id).map(E=>E.target)),g=new Map;for(const E of wv(h)){const q=g.get(E.target)??[];q.push(E.source),g.set(E.target,q)}const p=new Map;{const E=new Map(i.map(Y=>[Y.id,Y.order??Number.MAX_SAFE_INTEGER])),q=new Map;for(const Y of wv(h))q.set(Y.source,[...q.get(Y.source)??[],Y.target]);const O=new Set,K=i.filter(Y=>(g.get(Y.id)??[]).length===0).map(Y=>Y.id);for(const Y of K)O.add(Y);for(;K.length>0;){const Y=K.shift(),G=[...new Set(q.get(Y)??[])].sort((U,X)=>(E.get(U)??0)-(E.get(X)??0)||U.localeCompare(X));for(const U of G)O.has(U)||(O.add(U),p.set(Y,[...p.get(Y)??[],U]),K.push(U))}}const y=_n,w=E=>{const q=new Map;for(const te of f.values()){const ie=new Set(te.members.map(ce=>ce.id)),ge=ce=>(p.get(ce)??[]).filter(we=>ie.has(we)),ve=te.members.filter(ce=>(g.get(ce.id)??[]).length===0).map(ce=>ce.id),re=ce=>{const we=je=>{const tt=new Map;let Ze=0,at=0;const Ye=(oe,_e)=>{if(oe.length===0)return;let Me=_e;for(const Fe of oe){const Xe=c(Fe);Me>_e&&Me+Xe-_e>ce&&(Ze+=1,Me=_e),tt.set(Fe,{x:Me,line:Ze}),at=Math.max(at,Me+Xe),Me+=Xe+lu}Ze+=1},le=(oe,_e)=>{const Me=Math.min(_e,NC)*_v;tt.set(oe,{x:Me,line:Ze}),at=Math.max(at,Me+c(oe)),Ze+=1;const Fe=ge(oe);Ye(Fe.filter(Xe=>ge(Xe).length===0),Me+_v);for(const Xe of Fe.filter(dt=>ge(dt).length>0))le(Xe,_e+1)};return le(je,0),{pos:tt,lines:Ze,width:at}},de=je=>{const tt=new Map;let Ze=0,at=0,Ye=0;for(const le of je){const oe=c(le);Ye>0&&Ye+oe>ce&&(Ze+=1,Ye=0),tt.set(le,{x:Ye,line:Ze}),at=Math.max(at,Ye+oe),Ye+=oe+lu}return{pos:tt,lines:je.length===0?0:Ze+1,width:at}},me=[],Te=ve.filter(je=>ge(je).length===0);Te.length>0&&me.push(de(Te));const Pe=new Set(Te);for(const je of ve){if(Pe.has(je))continue;const tt=we(je);for(const Ze of tt.pos.keys())Pe.add(Ze);me.push(tt)}for(const je of te.members){if(Pe.has(je.id))continue;const tt=we(je.id);for(const Ze of tt.pos.keys())Pe.add(Ze);me.push(tt)}const Le=new Map;let Re=0,Be=0;for(const je of me){for(const[tt,Ze]of je.pos)Le.set(tt,{x:Ze.x,line:Be+Ze.line});Re=Math.max(Re,je.width),Be+=je.lines}return{pos:Le,lines:Be,width:Re}},{pos:ee,lines:ue,width:ne}=re(E),fe=ce=>ce.filter(we=>ee.has(we)).sort((we,de)=>ee.get(we).line-ee.get(de).line||ee.get(we).x-ee.get(de).x)[0]??null,he=fe(te.members.filter(ce=>d.has(ce.id)).map(ce=>ce.id))??fe(te.members.map(ce=>ce.id))??te.members[0].id;q.set(te.id,{pos:ee,lines:ue,width:ne,entry:he})}let O=0,K=0;for(const te of f.values()){const ie=q.get(te.id);O+=ie.width*ie.lines*ta,K=Math.max(K,ie.width)}const Y=AC(O,K),G=new Map,U=[],X=y+Jn+wr+yv,$=[],Z=(te,ie)=>{let ge=X;for(const ve of $)ve.x1>te+1&&ve.x0<ie-1&&(ge=Math.max(ge,ve.y));return ge};for(const te of f.values()){const ie=q.get(te.id),ge=Math.max(0,ie.lines-1)*ta+Jn,ve=[_n,...$.map(ne=>ne.x1+IC)].filter((ne,fe,he)=>he.indexOf(ne)===fe&&ne+ie.width<=_n+Math.max(Y,ie.width)).sort((ne,fe)=>ne-fe);let re={x:_n,y:Z(_n,_n+ie.width)};for(const ne of ve){const fe=Z(ne,ne+ie.width);fe<re.y-1&&(re={x:ne,y:fe})}const{x:ee,y:ue}=re;for(const[ne,fe]of ie.pos)G.set(ne,{x:ee+fe.x,y:ue+fe.line*ta,line:0});U.push({id:te.id,label:te.label,x:ee,y:ue,width:ie.width,height:ge,entry:ie.entry}),$.push({x0:ee,x1:ee+ie.width,y:ue+ge+yv})}const Q=Math.max(c(s.id),...U.map(te=>te.x+te.width-_n));for(const te of G.values())te.line=Math.round((te.y-X)/ta);const F=Math.max(0,...[...G.values()].map(te=>te.line))+1,J=Math.max(y+Jn,...U.map(te=>te.y+te.height))+_n;return{at:G,zones:U,contentWidth:Q,globalLine:F,height:J,width:Q+_n*2}},M=TC.map(E=>w(E)),{at:I,zones:C,contentWidth:T,globalLine:A,height:D}=M.reduce((E,q)=>mv(E)<=mv(q)?E:q),j=E=>E===s.id?A+1:A-(I.get(E)?.line??0),R=new Map,z=(E,q,O)=>{R.set(E,{id:E,module:a.get(E),island:!1,generated:!1,weight:0,layer:j(E),x:q,y:O,width:c(E),height:Jn,sourceHandles:[],targetHandles:[],ports:{top:[],bottom:[]}})};z(s.id,_n+(T-c(s.id))/2,y);for(const[E,q]of I)z(E,q.x,q.y);const W=[],H=new Map,B=E=>{const q=R.get(E);return q?q.x+q.width/2:0};for(const E of o){const q=R.get(E.source),O=R.get(E.target);if(!q||!O)continue;const K=Hr(E),Y=q.layer>O.layer?"down":q.layer<O.layer?"up":"level";W.push({id:K,source:E.source,target:E.target,sourceHandle:`s:${K}`,targetHandle:`t:${K}`,link:E,width:Ip(E.count),back:q.layer<=O.layer,thin:!1,route:Y});const G=Y==="down"?{source:"bottom",target:"top"}:Y==="up"?{source:"top",target:"bottom"}:{source:"top",target:"top"},U=X=>{const $=H.get(X)??{top:[],bottom:[]};return H.set(X,$),$};U(E.source)[G.source].push({id:K,type:"source",other:B(E.target)}),U(E.target)[G.target].push({id:K,type:"target",other:B(E.source)})}const k=(E,q)=>E.other-q.other||E.id.localeCompare(q.id);for(const[E,q]of H){const O=R.get(E);O&&(q.top.sort(k),q.bottom.sort(k),O.ports={top:q.top.map(K=>({id:K.id,type:K.type})),bottom:q.bottom.map(K=>({id:K.id,type:K.type}))},O.sourceHandles=q.bottom.filter(K=>K.type==="source").map(K=>K.id),O.targetHandles=q.top.filter(K=>K.type==="target").map(K=>K.id))}return{layout:{nodes:[...R.values()],edges:W,layers:[],width:T+_n*2,height:D,basis:{kind:"all",declaredLinks:o.length,totalLinks:o.length},minWeight:0,hiddenLinks:0,mutual:[],moduleCycles:[]},zones:C}}function nm(e,t){const r=new Set([t]);if(e.forks===null||e.forks.size===0)return r;for(let o=!0;o;){o=!1;for(const s of e.layout.edges){const i=r.has(s.source),a=r.has(s.target);if(i===a)continue;const l=i?s.target:s.source;e.forks.has(l)&&!r.has(l)&&(r.add(l),o=!0)}}return r}function OC(e,t,r,o){if(r!==null){const i=o??nm(e,r);return i.has(t.source)||i.has(t.target)}return t.thin||t.back||e.stubbed.has(t.id)?!1:e.regions===null?!0:e.nodes.get(t.source)?.step?.anchor?e.regionEntries?.has(t.target)??!0:!0}function LC(e,t){return{arrivesFrom:e.links.filter(r=>r.to===t),leadsTo:e.links.filter(r=>r.from===t)}}function bc(e){return e.via.map(t=>t.name).join(" → ")}function bv(e){return e.from===e.to?null:Hr({source:e.from,target:e.to})}var DC=N('<span class="mark svelte-1gxwpy3" aria-hidden="true">●</span>'),RC=N('<span class="more svelte-1gxwpy3" aria-hidden="true">…</span>'),zC=N('<button><span class="name svelte-1gxwpy3"><!> <!></span> <span class="sub svelte-1gxwpy3"> </span></button>');function HC(e,t){Ne(t,!0);let r=Ee(t,"size",3,null),o=Ee(t,"note",3,"");const s=S(()=>t.info.step),i=S(()=>{switch(n(s).cut){case"depth":return" More happens past the depth of this picture — start here to see it.";case"fan-out":return" It reaches more than the walk follows from one node.";case"folded":return" The walk folded as much plumbing as it allows from one step.";case"steps":return" The picture reached its size limit here.";case"screen":return` Another ${gr("screen",t.project,n(s))} — a chapter of its own. Start here to see what happens on it.`;case"component":return" The event lands in a component of another screen — a picture of its own. Start here to see it.";default:return""}});var a=zC();let l;var c=v(a),f=v(c);{var u=w=>{var M=DC();_(w,M)};V(f,w=>{n(s).anchor&&w(u)})}var h=m(f,1,!0),d=m(h);{var g=w=>{var M=RC();_(w,M)};V(d,w=>{n(s).cut!==null&&w(g)})}var p=m(c,2),y=v(p);P(w=>{l=Ce(a,1,`snode k-${n(s).kind}`,"svelte-1gxwpy3",l,{sel:t.selected,dimmed:t.dimmed,anchor:n(s).anchor,rail:r()===null}),nt(a,r()===null?void 0:`width:${r().width}px;height:${r().height}px`),se(a,"aria-pressed",t.selected),se(a,"title",w),x(h,t.info.label),x(y,t.info.sub)},[()=>`${t.info.label} — ${n(s).anchor?"where this picture starts; ":""}${gr(n(s).kind,t.project,n(s))}. ${t.info.sub}.${o()?` ${o()}`:""}${n(i)}${t.onStart&&!n(s).anchor?" Double-click to start here.":""}`]),ke("click",a,()=>t.onSelect(t.info.id)),Ge("dblclick",a,w=>{w.stopPropagation(),t.onStart?.(t.info.id)},!0),_(e,a),Ie()}mt(["click"]);var qC=N("<!> <!> <!>",1);function jC(e,t){Ne(t,!0);const r=S(()=>t.data),o=S(()=>n(r).layout);function s(f,u){return`left:${(f+1)/(u+1)*100}%`}var i=qC(),a=ye(i);xe(a,19,()=>n(o).ports.top,f=>`${f.type}:${f.id}`,(f,u,h)=>{{let d=S(()=>`${n(u).type==="source"?"s":"t"}:${n(u).id}`),g=S(()=>s(n(h),n(o).ports.top.length));kn(f,{get type(){return n(u).type},get id(){return n(d)},get position(){return Ve.Top},get style(){return n(g)},isConnectable:!1})}});var l=m(a,2);HC(l,{get info(){return n(r).info},get project(){return n(r).project},get selected(){return n(r).selected},get dimmed(){return n(r).dimmed},get size(){return n(o)},get onSelect(){return n(r).onSelect},get onStart(){return n(r).onStart}});var c=m(l,2);xe(c,19,()=>n(o).ports.bottom,f=>`${f.type}:${f.id}`,(f,u,h)=>{{let d=S(()=>`${n(u).type==="source"?"s":"t"}:${n(u).id}`),g=S(()=>s(n(h),n(o).ports.bottom.length));kn(f,{get type(){return n(u).type},get id(){return n(d)},get position(){return Ve.Bottom},get style(){return n(g)},isConnectable:!1})}}),_(e,i),Ie()}var FC=N('<span class="stub svelte-12qg1ij"><span class="arrow svelte-12qg1ij"> </span> </span>'),BC=N('<span class="stub more svelte-12qg1ij"> </span>'),VC=N('<div aria-hidden="true"><!> <!></div>');function WC(e,t){Ne(t,!0);const r=3,o=S(()=>t.data),s=S(()=>n(o).stubs),i=S(()=>n(o).width),a=S(()=>n(o).dimmed),l=S(()=>n(s).slice(0,r)),c=S(()=>n(s).length-n(l).length),f=S(()=>n(s).slice(r).map(y=>`${y.dir==="out"?"leads to":"arrives from"} ${y.label}`).join(`
64
+ `));var u=VC();let h;var d=v(u);xe(d,17,()=>n(l),y=>y.edge+y.dir,(y,w)=>{var M=FC(),I=v(M),C=v(I),T=m(I,1,!0);P(()=>{se(M,"title",`${n(w).dir==="out"?"Leads to":"Arrives from"} ${n(w).label} — too far across the picture to draw as a line. Click the box to draw it.`),x(C,n(w).dir==="out"?"→":"←"),x(T,n(w).label)}),_(y,M)});var g=m(d,2);{var p=y=>{var w=BC(),M=v(w);P(()=>{se(w,"title",n(f)),x(M,`+${n(c)??""} more`)}),_(y,w)};V(g,y=>{n(c)>0&&y(p)})}P(()=>{h=Ce(u,1,"stubs svelte-12qg1ij",null,h,{dimmed:n(a)}),nt(u,`width:${n(i)}px`)}),_(e,u),Ie()}var KC=N('<b class="kw svelte-10oa9z2"> </b>'),YC=N("<!><!>",1),XC=N("<!>?",1),GC=N('<!> <div><span class="q svelte-10oa9z2"><!></span></div> <!>',1);function ZC(e,t){Ne(t,!0);const r=S(()=>t.data),o=S(()=>n(r).layout),s=S(()=>bl(n(r).fork.on)),i=S(()=>n(s).length===0||Di(n(s)).length>Do);function a(w,M){return`left:${(w+1)/(M+1)*100}%`}var l=GC(),c=ye(l);xe(c,19,()=>n(o).ports.top,w=>`${w.type}:${w.id}`,(w,M,I)=>{{let C=S(()=>`${n(M).type==="source"?"s":"t"}:${n(M).id}`),T=S(()=>a(n(I),n(o).ports.top.length));kn(w,{get type(){return n(M).type},get id(){return n(C)},get position(){return Ve.Top},get style(){return n(T)},isConnectable:!1})}});var f=m(c,2);let u;var h=v(f),d=v(h);{var g=w=>{var M=wt();P(()=>x(M,n(r).fork.label)),_(w,M)},p=w=>{var M=XC(),I=ye(M);xe(I,17,()=>n(s),Kn,(C,T,A)=>{var D=YC(),j=ye(D);{var R=B=>{var k=wt();k.nodeValue=" ",_(B,k)};V(j,B=>{A>0&&B(R)})}var z=m(j);{var W=B=>{var k=KC(),b=v(k);P(()=>x(b,n(T).text)),_(B,k)},H=B=>{var k=wt();P(()=>x(k,n(T).text)),_(B,k)};V(z,B=>{n(T).kw?B(W):B(H,-1)})}_(C,D)}),_(w,M)};V(d,w=>{n(i)?w(g):w(p,-1)})}var y=m(f,2);xe(y,19,()=>n(o).ports.bottom,w=>`${w.type}:${w.id}`,(w,M,I)=>{{let C=S(()=>`${n(M).type==="source"?"s":"t"}:${n(M).id}`),T=S(()=>a(n(I),n(o).ports.bottom.length));kn(w,{get type(){return n(M).type},get id(){return n(C)},get position(){return Ve.Bottom},get style(){return n(T)},isConnectable:!1})}}),P(()=>{u=Ce(f,1,"fpoint svelte-10oa9z2",null,u,{dimmed:n(r).dimmed}),nt(f,`width:${n(o).width}px;height:${n(o).height}px`),se(f,"title",n(r).fork.on?`${n(r).fork.on} — the code forks here; each line out is one arm.`:"The code forks here; each line out is one arm.")}),_(e,l),Ie()}var UC=N('<b class="kw svelte-1ham54o"> </b>'),QC=N("<!><!>",1),JC=N("<!>?",1),$C=N("<div><!></div>");function eN(e,t){Ne(t,!0);const r=S(()=>t.data),o=S(()=>bl(n(r).label.replace(/\?$/,""))),s=S(()=>n(o).length===0||Di(n(o))!==n(r).label.replace(/\?$/,""));var i=$C();let a;var l=v(i);{var c=u=>{var h=wt();P(()=>x(h,n(r).label)),_(u,h)},f=u=>{var h=JC(),d=ye(h);xe(d,17,()=>n(o),Kn,(g,p,y)=>{var w=QC(),M=ye(w);{var I=D=>{var j=wt();j.nodeValue=" ",_(D,j)};V(M,D=>{y>0&&D(I)})}var C=m(M);{var T=D=>{var j=UC(),R=v(j);P(()=>x(R,n(p).text)),_(D,j)},A=D=>{var j=wt();P(()=>x(j,n(p).text)),_(D,j)};V(C,D=>{n(p).kw?D(T):D(A,-1)})}_(g,w)}),_(u,h)};V(l,u=>{n(s)?u(c):u(f,-1)})}P(()=>{a=Ce(i,1,"dcap svelte-1ham54o",null,a,{dimmed:n(r).dimmed}),nt(i,`width:${n(r).width}px`),se(i,"title",n(r).label)}),_(e,i),Ie()}var tN=N('<div class="rcap svelte-9iclwq"> </div>');function nN(e,t){const r=S(()=>t.data);var o=tN(),s=v(o);P(()=>{nt(o,`width:${n(r).width}px`),x(s,n(r).label)}),_(e,o)}var rN=N('<div class="lrow svelte-1jp07je"><span class="k-cap mono svelte-1jp07je">Name</span> <span class="svelte-1jp07je"> </span></div> <div class="lrow svelte-1jp07je"><span class="k-label svelte-1jp07je">no line</span> <span class="svelte-1jp07je"> </span></div>',1),oN=N(`<div class="lrow svelte-1jp07je"><span class="k-label mono svelte-1jp07je">→ name</span> <span class="svelte-1jp07je">What a box leads to, or what reaches it (←), when the two are too far apart for a line to be followed — said
65
+ in words under the box rather than drawn across the picture. Select the box and every one of its real lines
66
+ draws</span></div>`),sN=N('<div class="lrow svelte-1jp07je"><span class="k-box mono svelte-1jp07je">POST /x</span> <span class="svelte-1jp07je">An endpoint — its verb and path — or a handler: a function a request, a job, an event or a schedule fires; its line says which</span></div> <div class="lrow svelte-1jp07je"><span class="k-box k-cross mono svelte-1jp07je">⇢ fn</span> <span class="svelte-1jp07je">The code crosses a tier: a call into another service or a job put on a queue (⇢), or a job, an event, a message arriving (⇠)</span></div> <div class="lrow svelte-1jp07je"><span class="k-box k-store mono svelte-1jp07je">set</span> <span class="svelte-1jp07je">A data call — a function in a store or state file</span></div> <div class="lrow svelte-1jp07je"><span class="k-box k-effect mono svelte-1jp07je">db</span> <span class="svelte-1jp07je">A call that leaves the index: the database, the response, a queue, email, payments, a cache, auth, the network</span></div>',1),iN=N('<div class="lrow svelte-1jp07je"><span class="k-box mono svelte-1jp07je">/path</span> <span class="svelte-1jp07je">A page, an endpoint, or a handler — a function an event, a request or a page load fires; its line says which</span></div> <div class="lrow svelte-1jp07je"><span class="k-box k-cross mono svelte-1jp07je">⇢ fn</span> <span class="svelte-1jp07je">The code crosses to the server (⇢ a request, a server action) or comes back from it (⇠ a push, a stream)</span></div> <div class="lrow svelte-1jp07je"><span class="k-box k-store mono svelte-1jp07je">set</span> <span class="svelte-1jp07je">A store action — a function in a store file</span></div> <div class="lrow svelte-1jp07je"><span class="k-box k-effect mono svelte-1jp07je">api</span> <span class="svelte-1jp07je">A call that leaves the index: the network, the database, the response, storage, a queue, email</span></div>',1),aN=N('<div class="lrow svelte-1jp07je"><span class="k-box mono svelte-1jp07je">/path</span> <span class="svelte-1jp07je">A screen, or a handler — a function fired from a tap, an option, a listener; its line says the event</span></div> <div class="lrow svelte-1jp07je"><span class="k-box k-cross mono svelte-1jp07je">⇢ fn</span> <span class="svelte-1jp07je">The code crosses into native (⇢ a bridge call) or comes back from it (⇠ an event)</span></div> <div class="lrow svelte-1jp07je"><span class="k-box k-store mono svelte-1jp07je">set</span> <span class="svelte-1jp07je">A store action — a function in a store file</span></div> <div class="lrow svelte-1jp07je"><span class="k-box k-effect mono svelte-1jp07je">api</span> <span class="svelte-1jp07je">A call that leaves the index: the network, storage, the device, telemetry</span></div>',1),lN=N(`<div class="lrow svelte-1jp07je"><svg width="44" height="12" aria-hidden="true" class="svelte-1jp07je"><path d="M2 6 H42" class="k-line svelte-1jp07je"></path></svg> <span class="svelte-1jp07je">And then — the step at the other end happens after this one; the plumbing between them is folded into the line</span></div> <div class="lrow svelte-1jp07je"><span class="k-box k-fork mono svelte-1jp07je">x?</span> <span class="svelte-1jp07je">A decision both of whose ways are drawn: the box asks the condition once and each line out answers — <span class="mono">yes</span>, <span class="mono">no</span>, a case. An arm that answers or leaves ends there</span></div> <div class="lrow svelte-1jp07je"><span class="k-label mono svelte-1jp07je">WHEN x</span> <span class="svelte-1jp07je">A lone guard — an early exit, an <span class="mono">if</span> with one drawn side: what has to hold for the step at the other end. No label = it happens either way</span></div> <div class="lrow svelte-1jp07je"><span class="k-label svelte-1jp07je">via x</span> <span class="svelte-1jp07je">Written inside a helper drawn where it is called; <span class="mono">later</span> runs after this returns, <span class="mono">together</span> starts at once, <span class="mono">for each</span> repeats</span></div> <div class="lrow svelte-1jp07je"><svg width="44" height="12" aria-hidden="true" class="svelte-1jp07je"><path d="M2 6 H42" class="k-line k-synth svelte-1jp07je"></path></svg> <span class="svelte-1jp07je">Established by a synthesized hop (an event channel, a callback, a helper's return value)</span></div> <div class="lrow svelte-1jp07je"><span class="k-label mono svelte-1jp07je">name …</span> <span class="svelte-1jp07je"> </span></div>`,1),cN=N(`<div class="lrow svelte-1jp07je"><svg width="44" height="12" aria-hidden="true" class="svelte-1jp07je"><path d="M2 6 H42" class="k-line svelte-1jp07je"></path></svg> <span class="svelte-1jp07je">Leads to — the plumbing between the two is folded into the line</span></div> <div class="lrow svelte-1jp07je"><svg width="44" height="12" aria-hidden="true" class="svelte-1jp07je"><path d="M2 6 H42" class="k-line k-synth svelte-1jp07je"></path></svg> <span class="svelte-1jp07je">Established by a synthesized hop (an event channel, a callback, a helper's return value)</span></div> <div class="lrow svelte-1jp07je"><svg width="44" height="12" aria-hidden="true" class="svelte-1jp07je"><path d="M2 6 H42" class="k-line k-back svelte-1jp07je"></path></svg> <span class="svelte-1jp07je">Goes back up the picture — leaves the top of its box, arrives at the bottom of the other</span></div> <div class="lrow svelte-1jp07je"><span class="k-label mono svelte-1jp07je">x? · yes</span> <span class="svelte-1jp07je">A decision made inside a box, both of whose ways are drawn: the condition is said once under the box and
67
+ each line out of it answers — <span class="mono">yes</span>, <span class="mono">no</span>, a case. These are
68
+ the only lines labelled before you select anything</span></div> <div class="lrow svelte-1jp07je"><span class="k-label mono svelte-1jp07je">→ …x</span> <span class="svelte-1jp07je">The last condition checked before the step, beside the box at the other end of the selected step's line; ← when it arrives there. None = always</span></div> <div class="lrow svelte-1jp07je"><span class="k-label mono svelte-1jp07je">name …</span> <span class="svelte-1jp07je">Not entered: another screen (a chapter of its own), or a cap the walk hit — start there to see on</span></div>`,1),uN=N('<div class="legend-body svelte-1jp07je"><div class="lrow svelte-1jp07je"><span class="k-box k-anchor mono svelte-1jp07je"><span class="mark svelte-1jp07je">●</span>start</span> <span class="svelte-1jp07je"> </span></div> <!> <!> <!> <!></div>'),dN=N('<div><button class="legend-h svelte-1jp07je">Key <span class="dim"> </span></button> <!></div>');function fN(e,t){Ne(t,!0);let r=Ee(t,"regions",3,!1);var o=dN();let s;var i=v(o),a=m(v(i)),l=v(a),c=m(i,2);{var f=u=>{var h=uN(),d=v(h),g=m(v(d),2),p=v(g),y=m(d,2);{var w=W=>{var H=rN(),B=ye(H),k=m(v(B),2),b=v(k),E=m(B,2),q=m(v(E),2),O=v(q);P((K,Y)=>{x(b,`A region — the component that owns the boxes under its rule, a box above what it sets in motion. One line from
69
+ the start into each region stands in for the ${K??""}'s whole fan-out; every other line
70
+ draws where it leads`),x(O,`A box nothing points at is the region's own doing — run on render or mount, or from a binding written inline.
71
+ Select it and its line from the ${Y??""} lights, with what fires it`)},[()=>gr("screen",t.project),()=>gr("screen",t.project)]),_(W,H)};V(y,W=>{r()&&!t.order&&W(w)})}var M=m(y,2);{var I=W=>{var H=oN();_(W,H)};V(M,W=>{t.order||W(I)})}var C=m(M,2);{var T=W=>{var H=sN();_(W,H)},A=W=>{var H=iN();_(W,H)},D=W=>{var H=aN();_(W,H)};V(C,W=>{t.project==="api"?W(T):t.project==="web"?W(A,1):W(D,-1)})}var j=m(C,2);{var R=W=>{var H=lN(),B=m(ye(H),10),k=m(v(B),2),b=v(k);P(E=>x(b,`Not entered: another ${E??""} (a chapter of its own), or a cap the walk hit — start there to see on`),[()=>gr("screen",t.project)]),_(W,H)},z=W=>{var H=cN();_(W,H)};V(j,W=>{t.order?W(R):W(z,-1)})}P(W=>x(p,W),[()=>t.order?"Where the picture starts; below it, what it does in the code’s own order":r()?"Where the picture starts; below it, the parts of the "+gr("screen",t.project)+", each with what happens there":"Where the picture starts; each row down is one more step away"]),_(u,h)};V(c,u=>{t.open&&u(f)})}P(()=>{s=Ce(o,1,"legend svelte-1jp07je",null,s,{open:t.open,flow:t.flow}),se(i,"aria-expanded",t.open),x(l,t.open?"▾":"▸")}),ke("click",i,()=>t.onToggle(!t.open)),_(e,o),Ie()}mt(["click"]);function vN(e){return ud(e)}function hN(e){switch(e.block){case"inline":return e.via?`via ${e.via.name}`:"via a helper";case"loop":return e.by?e.loop==="while"?`again while ${e.by}`:`for each ${e.by}`:e.loop==="while"?"again and again":"for each item";case"later":return e.by?`later · ${e.by}`:"later";default:return e.by?`together · ${e.by}`:"together"}}function gN(e,t){const r=[],o=new Set([t]),s=new Map,i=[],a=(f,u,h)=>{if(f===u)return;const d=`${f} ${u}`,g=h.when.filter((w,M)=>w&&h.when.indexOf(w)===M).join(" && "),p=s.get(d);if(p){g!==p.when&&(p.when=!g||!p.when?"":`${p.when} || ${g}`);for(const w of h.runs)p.runs.includes(w)||p.runs.push(w);p.arm!==h.arm&&delete p.arm;return}const y={from:f,to:u,when:g,runs:[...h.runs],...h.arm!==void 0?{arm:h.arm}:{}};s.set(d,y),r.push(y)},l=(f,u,h)=>{let d=[...u];for(const g of f)if(g.kind==="step"){o.add(g.step);for(const y of d)a(y.id,g.step,{...y,runs:[...y.runs,...h]});let p=[{id:g.step,when:[],runs:[]}];g.body&&g.body.length>0&&(p=l(g.body,p,[])),d=p}else if(g.kind==="fork"){const y=g.arms.filter(M=>Qa(M.body)).length>=2&&d.length>0?{id:`fork:${i.length}`,on:g.on,form:g.form}:null;if(y!==null){i.push(y);for(const M of d)a(M.id,y.id,{...M,runs:[...M.runs,...h]})}const w=[];for(const M of g.arms){const I=y!==null&&Qa(M.body)?[{id:y.id,when:[M.when],runs:[...h],arm:pN(g,M)}]:d.map(T=>({id:T.id,when:[...T.when,M.when],runs:[...T.runs,...h]})),C=l(M.body,I,[]);M.ends===null&&w.push(...C)}g.arms.length<2&&w.push(...d.map(M=>({...M,runs:[...M.runs,...h]}))),d=w}else if(g.kind==="block"){const p=hN(g),y=l(g.body,d,[...h,p]);d=(y.length>0?y:d).map(w=>w.runs.includes(p)?{...w,runs:w.runs.filter(M=>M!==p)}:w)}return d};l(e.root,[{id:t,when:[],runs:[]}],[]);for(const f of o)f!==t&&!r.some(u=>u.to===f)&&a(t,f,{when:[],runs:[]});const c=new Set(o);for(const f of i)c.add(f.id);return{edges:r,depth:mN(t,c,r),forks:i}}function Qa(e){return e.some(t=>t.kind==="step"?!0:t.kind==="fork"?t.arms.some(r=>Qa(r.body)):t.kind==="block"?Qa(t.body):!1)}function pN(e,t){return $p({on:e.on,arm:t.when,form:e.form,not:t.not})}function mN(e,t,r){const o=_N(e,t,r),s=new Map;for(const i of t)s.set(i,0);s.set(e,0);for(let i=0;i<t.size;i++){let a=!1;for(const l of o){const c=(s.get(l.from)??0)+1;c>(s.get(l.to)??0)&&(s.set(l.to,c),a=!0)}if(!a)break}return s}function _N(e,t,r){const o=new Map;for(const a of r){const l=o.get(a.from);l?l.push(a):o.set(a.from,[a])}const s=new Map,i=new Set;for(const a of[e,...t]){if(s.has(a))continue;s.set(a,1);const l=[{id:a,next:0}];for(;l.length>0;){const c=l[l.length-1],f=o.get(c.id)??[];if(c.next>=f.length){s.set(c.id,2),l.pop();continue}const u=f[c.next++],h=s.get(u.to);h===1?i.add(u):h===void 0&&(s.set(u.to,1),l.push({id:u.to,next:0}))}}return r.filter(a=>!i.has(a))}const yN=24;function wN(e){if(!e.program)return null;const t=e.steps.find(I=>I.anchor);if(!t)return null;const r=gN(e.program,t.id),o=new Map,s=new Map,i=[],a={anchor:0,screen:0,trigger:0,bridge:0,event:0,store:0,effect:0},l=new Map;for(const I of r.edges)l.set(I.from,(l.get(I.from)??0)+1),l.set(I.to,(l.get(I.to)??0)+1);const c=new Map(e.steps.map(I=>[I.id,I]));for(const I of[t.id,...r.depth.keys()]){if(o.has(I))continue;const C=c.get(I);if(!C)continue;a[C.kind]++;const T={id:I,step:C,label:Qp(C),sub:Jp(C,e.project)};o.set(I,T),i.push({id:I,label:T.label,files:1,symbols:l.get(I)??0,languages:[],test:!1,generated:0,generatedFiles:[],facade:!1,fileList:{total:1,shown:1,truncated:!1,items:[C.node?.file??C.sub]},dependents:{files:0,modules:0}})}for(const I of r.forks){const C=xN(I.on);s.set(I.id,{id:I.id,on:I.on,form:I.form,label:C}),i.push({id:I.id,label:C,files:0,symbols:l.get(I.id)??0,languages:[],test:!1,generated:0,generatedFiles:[],facade:!1,fileList:{total:0,shown:0,truncated:!1,items:[]},dependents:{files:0,modules:0}})}const f=I=>o.has(I)||s.has(I),u=[],h=new Map;for(const I of r.edges){if(!f(I.from)||!f(I.to))continue;const C=Hr({source:I.from,target:I.to});if(h.has(C))continue;u.push({source:I.from,target:I.to,count:1,declared:1,byKind:[{kind:"calls",count:1}],topPairs:[]});const T=e.links.filter(A=>A.to===I.to);h.set(C,{id:C,from:I.from,to:I.to,links:T,label:bN(I),synthesized:T.length>0&&T.every(A=>A.synthesized),kind:T[0]?.kind??"calls"})}const d=new Map;for(const I of r.edges){if(!s.has(I.from))continue;const C=c.get(I.to)?.order;C!==void 0&&d.set(I.from,Math.min(d.get(I.from)??Number.MAX_SAFE_INTEGER,C))}const g=Math.max(0,...r.depth.values()),y=_l({modules:i,links:u},{includeTests:!0,minWeight:0,sizing:I=>{const C=s.get(I.id);if(C)return{label:C.label,meta:""};const T=o.get(I.id),A=T?.step.cut!=null?" …":"";return{label:(T?.step.anchor?"● ":"")+(T?.label??I.id)+A,meta:T?.sub??""}},layering:I=>new Map(I.map(C=>[C,g-(r.depth.get(C)??g)])),order:I=>o.get(I)?.step.order??d.get(I)??Number.MAX_SAFE_INTEGER,layerGap:wr,portPitch:ml,ports:"directional"}),w=dd(y,wr),M=new Map;for(const[I,C]of w)M.set(I,fd(C,yN));return{layout:y,nodes:o,edges:h,layerGap:wr,curves:w,polylines:M,counts:a,regions:null,regionEntries:null,forks:s,decisions:[],stubs:new Map,stubbed:new Set}}function bN(e){if(e.arm)return e.arm;if(!e.when)return e.runs.length>0?e.runs[e.runs.length-1]:"";const t=Di(vN(e.when));return t.length>Do?`${t.slice(0,Do-1)}…`:t}function xN(e){const t=xl(e);return t?t.length>Do?`${t.slice(0,Do-1)}…?`:`${t}?`:"?"}const Vs=(e,t=Ln)=>{var r=St(),o=ye(r);xe(o,17,t,Kn,(s,i,a)=>{var l=EN(),c=ye(l);{var f=g=>{var p=wt();p.nodeValue=" ",_(g,p)};V(c,g=>{a>0&&g(f)})}var u=m(c);{var h=g=>{var p=kN(),y=v(p);P(()=>x(y,n(i).text)),_(g,p)},d=g=>{var p=wt();P(()=>x(p,n(i).text)),_(g,p)};V(u,g=>{n(i).kw?g(h):g(d,-1)})}_(s,l)}),_(e,r)};var kN=N('<b class="kw svelte-v5q9re"> </b>'),EN=N("<!><!>",1),SN=N('<div class="state svelte-v5q9re"><h2 class="svelte-v5q9re">This viewer cannot draw steps</h2> <p>The host it runs in has not wired the steps question. The Screens and Flow views still work.</p></div>'),MN=N(`<p>Pick an endpoint and this view draws everything it sets in motion — its handler and what runs
72
+ before it, the calls into the database, a queue, another service, and every response it can
73
+ send — one box per step, an arrow for every way one leads to the next, and on each arrow the
74
+ condition under which it happens. Or search a symbol and choose <i>What happens from here</i>.</p>`),TN=N(`<p>Pick a screen and this view draws everything it sets in motion — its handlers, the calls that
75
+ cross into native code, the events that come back, the state it writes, the requests that leave
76
+ the app — one box per step, an arrow for every way one leads to the next, and on each arrow the
77
+ condition under which it happens. Or search a symbol and choose <i>What happens from here</i>.</p>`),xc=N('<p class="dim svelte-v5q9re"> </p>'),CN=N(`<p class="dim svelte-v5q9re">No screens or endpoints in this graph. Open a symbol from the search box and follow <i>What happens from here</i>,
78
+ or link here directly with <span class="mono svelte-v5q9re">#/steps?symbol=&lt;name&gt;</span>.</p>`),xv=N('<a class="pick mono svelte-v5q9re"> <span class="dim sans svelte-v5q9re"> </span></a>'),NN=N('<div class="chooser-list svelte-v5q9re"></div>'),IN=N('<div class="group-h svelte-v5q9re"><span class="mono svelte-v5q9re"> </span><span class="dim svelte-v5q9re"> </span></div> <div class="chooser-list svelte-v5q9re"></div>',1),AN=N('<div class="state chooser svelte-v5q9re"><h2 class="svelte-v5q9re">What happens from where?</h2> <!> <!></div>'),PN=N('<div class="state svelte-v5q9re"><h2 class="svelte-v5q9re">The steps could not be read</h2> <p> </p></div>'),ON=N('<div class="state svelte-v5q9re"><p class="dim svelte-v5q9re">Walking from the anchor…</p></div>'),LN=N(`<div class="state svelte-v5q9re"><h2 class="svelte-v5q9re">This has no body to read in order</h2> <p>Nothing the picture holds is written inside this symbol — a screen renders handlers that fire on
79
+ events, and they have no order between them. Read it as what it sets in motion instead.</p> <p><a class="pick svelte-v5q9re">What it sets in motion →</a></p></div>`),DN=N('<span class="fires svelte-v5q9re"><b class="kw svelte-v5q9re">FIRES FROM</b> <span class="dim svelte-v5q9re"> </span></span>'),RN=N('<span class="via svelte-v5q9re"> </span>'),kc=N('<span class="dim svelte-v5q9re"> </span>'),Ws=N('<b class="status svelte-v5q9re"> </b> ·',1),zN=N('<span class="mono svelte-v5q9re"><!> </span>'),HN=N('<div class="tiprow svelte-v5q9re"><!> <!> <!> <!> <span class="when svelte-v5q9re"><!></span> <!> <!></div>'),qN=N('<div class="dim svelte-v5q9re"> </div>'),jN=N('<div class="tip svelte-v5q9re"><div class="mono svelte-v5q9re"><b> </b> </div> <!> <!></div>'),FN=N("<!> <!>",1),Ec=N('<div class="fires svelte-v5q9re"><b class="kw svelte-v5q9re">FIRES FROM</b> <span class="dim svelte-v5q9re"> </span></div>'),Sc=N('<a class="sub svelte-v5q9re"><!> </a>'),BN=N('<a class="sub dim svelte-v5q9re"> </a>'),VN=N('<a class="sub act svelte-v5q9re">Start here →</a>'),na=N('<p class="dim note svelte-v5q9re"> </p>'),WN=N('<p class="dim note svelte-v5q9re">The event lands in a component of another screen — a picture of its own. Start here (or double-click its box) to see it, or continue through screens from the summary.</p>'),kv=N('<p class="dim note mono svelte-v5q9re"> </p>'),Ev=N('<div class="via svelte-v5q9re"> </div>'),ra=N('<div class="via dim svelte-v5q9re"> </div>'),oa=N('<div class="when svelte-v5q9re"><!></div>'),Sv=N('<div class="ways dim svelte-v5q9re"> </div>'),Mv=N('<div class="fires svelte-v5q9re"><b class="kw svelte-v5q9re">FIRES FROM</b> </div>'),Tv=N('<a class="site svelte-v5q9re"><!> <span class="dim svelte-v5q9re"> </span></a>'),Cv=N('<span class="site svelte-v5q9re"><!> <span class="dim svelte-v5q9re"> </span></span>'),Nv=N("<div><!> <!> <!></div>"),Iv=N('<a class="site act svelte-v5q9re">Open as a flow →</a>'),Av=N('<div role="presentation"><button class="peer mono svelte-v5q9re"> </button> <!> <!> <!> <!> <!> <!> <!> <!></div>'),KN=N('<div class="head svelte-v5q9re"><div><div class="mono big svelte-v5q9re"> </div> <div class="sub dim svelte-v5q9re"> <!></div> <!> <!> <!> <!> <!></div> <button class="clear svelte-v5q9re">clear</button></div> <!> <!> <!> <!> <!> <h4 class="svelte-v5q9re">Arrives from <span class="dim svelte-v5q9re"> </span></h4> <!> <!> <h4 class="svelte-v5q9re">Leads to <span class="dim svelte-v5q9re"> </span></h4> <!> <!>',1),YN=N("<!> <a> </a>",1),XN=N('<p class="dim note svelte-v5q9re"> <!></p>'),Pv=N("<option> </option>"),GN=N("<span><b> </b> </span>"),ZN=N(`<p class="dim svelte-v5q9re"><span class="mark svelte-v5q9re">●</span> The anchor is at the top, and each row down is what happens next: a line
80
+ means <b>and then</b>. Where the code forks both ways, a small box asks the condition once and each
81
+ line out of it answers — <span class="mono svelte-v5q9re">yes</span>, <span class="mono svelte-v5q9re">no</span>, a case; a lone
82
+ guard rides its line as <span class="mono svelte-v5q9re">WHEN</span>. A call written inside another call's arguments
83
+ happens first — the token is signed before the reply that carries it — and an arm that answers,
84
+ returns or throws simply has nothing leaving it. Click a step for its sites and the whole condition; a
85
+ step is the next anchor.</p>`),UN=N(`<p class="dim svelte-v5q9re"><span class="mark svelte-v5q9re">●</span> The anchor is at the top; each row down is one more step away from
86
+ it. Click a step and each of its links is labelled at the far end of its line with the last
87
+ condition checked before it happens; hover the line, or its row here, for the whole chain and the
88
+ plumbing it travels through. A step is the next anchor, and any link opens as a Flow strip.</p>`),Ov=N("<b> </b> ",1),QN=N("<b> </b> into shared chrome.",1),JN=N('<p class="dim svelte-v5q9re">Not drawn: <!> <!> <!></p>'),$N=N('<button class="peer mono svelte-v5q9re"> <span class="dim sans svelte-v5q9re"> </span></button>'),eI=N('<div class="head svelte-v5q9re"><div><div class="big svelte-v5q9re">What happens from <span class="mono svelte-v5q9re"> </span></div> <a class="sub svelte-v5q9re"><!> </a> <a class="sub dim svelte-v5q9re"> </a></div></div> <!> <p class="reading svelte-v5q9re">Read as: <a>in order</a> <a>what it sets in motion</a></p> <p><b> </b> steps · <b> </b> links · depth <select class="depth svelte-v5q9re"><!><!></select></p> <p><label class="opt svelte-v5q9re"><input type="checkbox" class="svelte-v5q9re"/> </label> <span class="dim svelte-v5q9re"> </span></p> <p class="counts svelte-v5q9re"></p> <!> <!> <h4 class="svelte-v5q9re">Most connected</h4> <!>',1),tI=N('<aside class="side svelte-v5q9re"><!></aside>'),nI=N('<div class="steps svelte-v5q9re"><div class="stage svelte-v5q9re" role="presentation"><!> <!></div> <!></div>');function rI(e,t){Ne(t,!0);let r=ae(null),o=ae(null),s=ae(!0),i=ae(null),a=ae(null),l=ae(null),c=ae(null),f=ae(void 0);const u=10;let h=ae(null),d=ae(null);const g=S(()=>n(h)===null?null:n(h).length>0?"screens":n(d)===null?null:n(d).length>0?"routes":"none");function p(le){const oe=new Map;for(const _e of le){const Me=oe.get(_e.routeFile)??[];Me.push(_e),oe.set(_e.routeFile,Me)}return[...oe].map(([_e,Me])=>({file:_e,entries:[...Me].sort((Fe,Xe)=>Fe.routeLine-Xe.routeLine)})).sort((_e,Me)=>Me.entries.length-_e.entries.length||_e.file.localeCompare(Me.file))}const y="codegraph-ui:steps-legend";let w=ae(un(M()));function M(){try{return localStorage.getItem(y)!=="closed"}catch{return!0}}et(()=>{try{localStorage.setItem(y,n(w)?"open":"closed")}catch{}});const I={step:jC,region:nN,fork:ZC,decision:eN,stubs:WC},C=400;let T=null;function A(le){const oe=n(H)?.nodes.get(le)?.step;return!oe||!oe.node||oe.anchor?!1:(Et(cr({anchor:oe.node.id})),!0)}const D={screen:Up},j=[4,6,8,10,12],R=S(()=>t.anchor!==null||t.symbol!==null),z=f1();et(()=>{Rn.indexTick;const le=t.anchor!==null?{anchor:t.anchor,depth:t.depth??void 0,through:t.through}:t.symbol!==null?{symbol:t.symbol,depth:t.depth??void 0,through:t.through}:null,oe=new AbortController;return L(i,null),L(a,null),L(l,null),le===null?(L(r,null),L(s,!1),L(o,null),Xh(oe.signal).then(async _e=>{if(L(h,_e.routed?_e.screens:[],!0),_e.routed){L(d,[],!0);return}const Me=await c1({limit:300},oe.signal);L(d,Me.routed?Me.entries:[],!0)}).catch(()=>{L(h,n(h)??[],!0),L(d,n(d)??[],!0)}),()=>oe.abort()):(L(s,!0),L(o,null),d1(le,oe.signal).then(_e=>{L(r,_e,!0),L(s,!1)}).catch(_e=>{oe.signal.aborted||(L(o,_e instanceof Error?_e.message:String(_e),!0),L(s,!1))}),()=>oe.abort())});const W=S(()=>t.reading??n(r)?.defaultView??"tree"),H=S(()=>n(r)===null?null:(n(W)==="order"?wN(n(r)):null)??EC(n(r))),B=S(()=>n(r)?.program!=null),k=S(()=>n(H)!==null&&n(H).layout.nodes.length<=24&&n(w)?{padding:{left:"440px",top:"32px",right:"32px",bottom:"32px"},maxZoom:1,minZoom:.4}:{padding:.1,maxZoom:1,minZoom:n(H)!==null&&n(H).regions!==null?.2:.4}),b=S(()=>n(H)===null||n(i)===null?null:nm(n(H),n(i))),E=S(()=>{if(n(H)===null||n(b)===null)return null;const le=new Set(n(b));for(const oe of n(H).layout.edges)n(b).has(oe.source)&&le.add(oe.target),n(b).has(oe.target)&&le.add(oe.source);return le}),q=S(()=>n(W)==="order"?!0:n(H)===null?!1:new Set([...n(H).edges.values()].filter(le=>le.arm!==void 0).map(le=>le.id))),O=S(()=>n(H)===null?null:Gp(n(H),n(i),n(q))),K=S(()=>n(a)?.edge.id??n(l)?.edge??null),Y=S(()=>{if(n(H)===null||n(K)===null||n(O)?.pills.has(n(K)))return null;const le=n(l)?.edge===n(K)?re(n(l).link):void 0;return Zp(n(H),n(K),n(i),le,n(O)??void 0)}),G=S(()=>{if(n(H)===null)return[];const le=(n(H).regions??[]).map(oe=>({id:`region:${oe.id}`,type:"region",position:{x:oe.x,y:oe.y-32},draggable:!1,selectable:!1,connectable:!1,data:{label:oe.label,width:oe.width}}));for(const oe of n(H).decisions){const _e=oe.id.slice(0,oe.id.indexOf(" "));le.push({id:`decision:${oe.id}`,type:"decision",position:{x:oe.x,y:oe.y},draggable:!1,selectable:!1,connectable:!1,data:{label:oe.label,width:oe.width,dimmed:n(E)!==null&&!n(E).has(_e)}})}for(const oe of n(H).layout.nodes){const _e=n(H).stubs.get(oe.id);_e===void 0||_e.length===0||n(i)===oe.id||le.push({id:`stubs:${oe.id}`,type:"stubs",position:{x:oe.x,y:oe.y+oe.height},draggable:!1,selectable:!1,connectable:!1,data:{stubs:_e,width:oe.width,dimmed:n(E)!==null&&!n(E).has(oe.id)}})}return le.concat(n(H).layout.nodes.map(oe=>{const _e=n(H).forks?.get(oe.id);return _e?{id:oe.id,type:"fork",position:{x:oe.x,y:oe.y},draggable:!1,selectable:!1,connectable:!1,data:{layout:oe,fork:_e,dimmed:n(E)!==null&&!n(E).has(oe.id)}}:{id:oe.id,type:"step",position:{x:oe.x,y:oe.y},draggable:!1,selectable:!1,connectable:!1,data:{layout:oe,info:n(H).nodes.get(oe.id),project:n(r)?.project??"app",selected:n(i)===oe.id,dimmed:n(E)!==null&&!n(E).has(oe.id),onSelect:Me=>{const Fe=performance.now();T!==null&&T.id===Me&&Fe-T.at<C&&(T=null,A(Me))||(T={id:Me,at:Fe},L(i,n(i)===Me?null:Me,!0),L(a,null),L(l,null))},...n(H).nodes.get(oe.id)?.step.node&&!n(H).nodes.get(oe.id)?.step.anchor?{onStart:A}:{}}}}))}),U=S(()=>{if(n(H)===null)return[];const le=n(K);return n(H).layout.edges.filter(oe=>OC(n(H),oe,n(i),n(b)??void 0)).map(oe=>{const _e=n(b)!==null&&(n(b).has(oe.source)||n(b).has(oe.target)),Me=le===oe.id,Fe=Me||_e;return{id:oe.id,source:oe.source,target:oe.target,sourceHandle:oe.sourceHandle,targetHandle:oe.targetHandle,type:"screen",selectable:!1,deletable:!1,zIndex:Me?3:Fe?2:1,data:{edge:oe,info:n(H).edges.get(oe.id),curve:n(H).curves.get(oe.id),hot:Fe,soft:Fe&&le!==null&&!Me,focus:Me,dimmed:n(i)!==null&&!_e,pill:n(O)?.pills.get(oe.id)??(Me?n(Y):null),full:n(l)?.edge===oe.id?re(n(l).link):null,onHover:te}}})}),X=S(()=>n(i)===null||n(H)===null?null:n(H).nodes.get(n(i))??null),$=S(()=>n(i)===null||n(r)===null?null:LC(n(r),n(i))),Z=S(()=>n(a)===null||n(H)===null?null:n(H).edges.get(n(a).edge.id)??null),Q=S(()=>n(H)===null?new Map:new Map(n(H).layout.edges.map(le=>[le.id,le]))),F=S(()=>new Set(n(U).map(le=>le.id)));function J(le){return cr({anchor:t.anchor??void 0,symbol:t.anchor===null?t.symbol??void 0:void 0,depth:le.depth??t.depth??void 0,through:le.through??t.through,view:le.view??t.reading??void 0})}function te(le,oe){if(le===null||oe===null||n(c)===null){L(a,null);return}const _e=n(c).getBoundingClientRect();L(a,{edge:le,x:Math.min(oe.clientX-_e.left+14,_e.width-420),y:oe.clientY-_e.top+14},!0)}function ie(le){if(n(H)===null||n(c)===null)return;const oe=le.target;if(oe?.closest(".spill"))return;if(oe?.closest(".snode, .legend, .tip, .svelte-flow__controls")){L(a,null);return}const _e=n(f)??ge();if(!_e)return;const Me=n(c).getBoundingClientRect(),Fe={x:(le.clientX-Me.left-_e.x)/_e.zoom,y:(le.clientY-Me.top-_e.y)/_e.zoom},Xe=Kp(n(H),Fe,n(F),u/_e.zoom),dt=Xe===null?void 0:n(Q).get(Xe.id);if(!dt){L(a,null);return}L(a,{edge:dt,x:Math.min(le.clientX-Me.left+14,Me.width-420),y:le.clientY-Me.top+14},!0)}function ge(){const oe=n(c)?.querySelector(".svelte-flow__viewport")?.style.transform.match(/translate\(([-\d.]+)px,\s*([-\d.]+)px\)\s*scale\(([-\d.]+)\)/);return oe?{x:Number(oe[1]),y:Number(oe[2]),zoom:Number(oe[3])}:null}function ve(le){const oe=le===null?null:bv(le);L(l,le===null||oe===null?null:{edge:oe,link:le},!0)}function re(le){return`${n(i)!==null&&le.to===n(i)&&le.from!==n(i)?"←":"→"} ${xl(le.when)||"always"}`}function ee(le){return n(l)!==null?n(l).link.id===le.id:n(a)!==null&&bv(le)===n(a).edge.id}function ue(le){return n(H)?.nodes.get(le)?.label??n(H)?.forks?.get(le)?.label??le}function ne(le){const oe=n(r)?.steps.find(Me=>Me.id===le.from)?.node,_e=n(r)?.steps.find(Me=>Me.id===le.to)?.node;return!oe||!_e?null:Ho({from:oe.name,to:_e.name})}function fe(le,oe,_e){const Fe=le.via[le.via.length-1]?.id??_e;return Fe===null?null:cn(Fe,{line:oe.line})}function he(le){return le.slice(le.lastIndexOf("/")+1)}function ce(le){return le.args===void 0?le.text:`${le.text}(${le.args})`}var we=nI(),de=v(we),me=v(de);{var Te=le=>{var oe=SN();_(le,oe)},Pe=le=>{var oe=AN(),_e=m(v(oe),2);{var Me=rt=>{var ct=MN();_(rt,ct)},Fe=rt=>{var ct=TN();_(rt,ct)};V(_e,rt=>{n(g)==="routes"?rt(Me):rt(Fe,-1)})}var Xe=m(_e,2);{var dt=rt=>{var ct=xc(),ze=v(ct);P(()=>x(ze,`Reading ${n(h)===null?"screens":"endpoints"}…`)),_(rt,ct)},Ct=rt=>{var ct=CN();_(rt,ct)},Ht=rt=>{var ct=NN();xe(ct,21,()=>[...n(h)].sort((ze,be)=>be.outgoing+be.incoming-(ze.outgoing+ze.incoming)||ze.path.localeCompare(be.path)),ze=>ze.id,(ze,be)=>{var qe=xv(),He=v(qe),Lt=m(He),qt=v(Lt);P((Ue,Je)=>{se(qe,"href",Ue),x(He,`${n(be).path??""} `),x(qt,Je)},[()=>cr({anchor:n(be).id}),()=>n(be).component?.name??he(n(be).file)]),_(ze,qe)}),_(rt,ct)},At=rt=>{var ct=St(),ze=ye(ct);xe(ze,17,()=>p(n(d)),be=>be.file,(be,qe)=>{var He=IN(),Lt=ye(He),qt=v(Lt),Ue=v(qt),Je=m(qt),ft=v(Je),Mt=m(Lt,2);xe(Mt,21,()=>n(qe).entries,_t=>_t.routeId,(_t,bt)=>{var dn=xv(),Qt=v(dn),$e=m(Qt),We=v($e);P(Nt=>{se(dn,"href",Nt),x(Qt,`${n(bt).url??""} `),x(We,n(bt).handler)},[()=>cr({anchor:n(bt).routeId})]),_(_t,dn)}),P(()=>{x(Ue,n(qe).file),x(ft,n(qe).entries.length)}),_(be,He)}),_(rt,ct)};V(Xe,rt=>{n(g)===null?rt(dt):n(g)==="none"?rt(Ct,1):n(g)==="screens"&&n(h)!==null?rt(Ht,2):n(d)!==null&&rt(At,3)})}_(le,oe)},Le=le=>{var oe=PN(),_e=m(v(oe),2),Me=v(_e);P(()=>x(Me,n(o))),_(le,oe)},Re=le=>{var oe=ON();_(le,oe)},Be=le=>{var oe=LN(),_e=m(v(oe),4),Me=v(_e);P(Fe=>se(Me,"href",Fe),[()=>J({view:"tree"})]),_(le,oe)},je=le=>{var oe=FN(),_e=ye(oe);gl(_e,{get nodes(){return n(G)},get edges(){return n(U)},get nodeTypes(){return I},get edgeTypes(){return D},fitView:!0,get fitViewOptions(){return n(k)},minZoom:.2,maxZoom:3,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,panOnDrag:!0,proOptions:{hideAttribution:!0},onpaneclick:()=>{L(i,null),L(a,null),L(l,null)},get viewport(){return n(f)},set viewport(Xe){L(f,Xe,!0)},children:(Xe,dt)=>{pl(Xe,{position:"bottom-right",showLock:!1})},$$slots:{default:!0}});var Me=m(_e,2);{var Fe=Xe=>{var dt=jN(),Ct=v(dt),Ht=v(Ct),At=v(Ht),rt=m(Ht),ct=m(Ct,2);xe(ct,17,()=>n(Z).links.slice(0,5),qe=>qe.id,(qe,He)=>{var Lt=HN(),qt=v(Lt);{var Ue=Ke=>{var Dt=DN(),Xt=m(v(Dt)),Gt=m(Xt),rn=v(Gt);P(pn=>{x(Xt,` ${pn??""} `),x(rn,`in ${n(He).trigger.in??""}`)},[()=>qn(n(He).trigger)]),_(Ke,Dt)};V(qt,Ke=>{n(He).trigger&&Ke(Ue)})}var Je=m(qt,2);{var ft=Ke=>{var Dt=RN(),Xt=v(Dt);P(Gt=>x(Xt,`via ${Gt??""}`),[()=>bc(n(He))]),_(Ke,Dt)};V(Je,Ke=>{n(He).via.length>0&&Ke(ft)})}var Mt=m(Je,2);{var _t=Ke=>{var Dt=kc(),Xt=v(Dt);P(()=>x(Xt,`inside ${n(He).within??""}(…)`)),_(Ke,Dt)};V(Mt,Ke=>{n(He).within&&Ke(_t)})}var bt=m(Mt,2);{var dn=Ke=>{var Dt=kc(),Xt=v(Dt);P(()=>x(Xt,`${n(He).sites.length??""} ways`)),_(Ke,Dt)};V(bt,Ke=>{n(He).sites.length>1&&Ke(dn)})}var Qt=m(bt,2),$e=v(Qt);{let Ke=S(()=>ud(n(He).when));Vs($e,()=>n(Ke))}var We=m(Qt,2);{var Nt=Ke=>{var Dt=kc(),Xt=v(Dt);P(()=>x(Xt,n(He).label)),_(Ke,Dt)};V(We,Ke=>{n(He).label&&Ke(Nt)})}var jt=m(We,2);{var En=Ke=>{var Dt=zN(),Xt=v(Dt);{var Gt=pn=>{var In=Ws(),xs=ye(In),jo=v(xs);P(()=>x(jo,n(He).sites[0].status)),_(pn,In)};V(Xt,pn=>{n(He).sites[0].status&&pn(Gt)})}var rn=m(Xt,1,!0);P(pn=>x(rn,pn),[()=>ce(n(He).sites[0])]),_(Ke,Dt)};V(jt,Ke=>{n(He).sites[0]&&Ke(En)})}_(qe,Lt)});var ze=m(ct,2);{var be=qe=>{var He=qN(),Lt=v(He);P(()=>x(Lt,`+${n(Z).links.length-5} more`)),_(qe,He)};V(ze,qe=>{n(Z).links.length>5&&qe(be)})}P((qe,He)=>{nt(dt,`left:${n(a).x}px;top:${n(a).y}px`),x(At,qe),x(rt,` → ${He??""}`)},[()=>ue(n(Z).from),()=>ue(n(Z).to)]),_(Xe,dt)};V(Me,Xe=>{n(a)!==null&&n(Z)!==null&&Xe(Fe)})}_(le,oe)};V(me,le=>{z?n(R)?n(o)!==null?le(Le,2):n(s)&&n(r)===null?le(Re,3):n(H)!==null&&n(r)!==null&&n(W)==="order"&&!n(B)?le(Be,4):n(H)!==null&&n(r)!==null&&le(je,5):le(Pe,1):le(Te)})}var tt=m(me,2);{var Ze=le=>{{let oe=S(()=>n(W)==="order"),_e=S(()=>n(H).regions!==null);fN(le,{get project(){return n(r).project},get order(){return n(oe)},get regions(){return n(_e)},flow:!1,get open(){return n(w)},onToggle:Me=>L(w,Me,!0)})}};V(tt,le=>{n(r)!==null&&n(H)!==null&&(n(W)==="tree"||n(B))&&le(Ze)})}Wt(de,le=>L(c,le),()=>n(c));var at=m(de,2);{var Ye=le=>{var oe=tI(),_e=v(oe);{var Me=Xe=>{var dt=KN(),Ct=ye(dt),Ht=v(Ct),At=v(Ht),rt=v(At),ct=m(At,2),ze=v(ct),be=m(ze);{var qe=Se=>{var pe=wt("· where the picture starts");_(Se,pe)};V(be,Se=>{n(X).step.anchor&&Se(qe)})}var He=m(ct,2);{var Lt=Se=>{var pe=Ec(),De=m(v(pe)),Tt=m(De),ht=v(Tt);P(Ft=>{x(De,` ${Ft??""} `),x(ht,`in ${n(X).step.trigger.in??""}`)},[()=>qn(n(X).step.trigger)]),_(Se,pe)};V(He,Se=>{n(X).step.trigger&&Se(Lt)})}var qt=m(He,2);{var Ue=Se=>{var pe=Sc(),De=v(pe);Pt(De,{get kind(){return n(X).step.screen.component.kind}});var Tt=m(De);P(ht=>{se(pe,"href",ht),x(Tt,` ${n(X).step.screen.component.name??""}`)},[()=>cn(n(X).step.screen.component.id)]),_(Se,pe)},Je=Se=>{var pe=Sc(),De=v(pe);Pt(De,{get kind(){return n(X).step.node.kind}});var Tt=m(De);P(ht=>{se(pe,"href",ht),x(Tt,` ${n(X).step.node.name??""}`)},[()=>cn(n(X).step.node.id)]),_(Se,pe)};V(qt,Se=>{n(X).step.screen?.component?Se(Ue):n(X).step.node&&n(X).step.kind!=="screen"&&Se(Je,1)})}var ft=m(qt,2);{var Mt=Se=>{var pe=Sc(),De=v(pe);Pt(De,{get kind(){return n(X).step.effect.by.kind}});var Tt=m(De);P(ht=>{se(pe,"href",ht),x(Tt,` ${n(X).step.effect.by.name??""} · line ${n(X).step.effect.line??""}`)},[()=>cn(n(X).step.effect.by.id,{line:n(X).step.effect.line})]),_(Se,pe)};V(ft,Se=>{n(X).step.effect&&Se(Mt)})}var _t=m(ft,2);{var bt=Se=>{var pe=BN(),De=v(pe);P(Tt=>{se(pe,"href",Tt),x(De,n(X).step.node.file)},[()=>tn(n(X).step.node.file)]),_(Se,pe)};V(_t,Se=>{n(X).step.node&&Se(bt)})}var dn=m(_t,2);{var Qt=Se=>{var pe=VN();P(De=>se(pe,"href",De),[()=>cr({anchor:n(X).step.node.id})]),_(Se,pe)};V(dn,Se=>{n(X).step.node&&!n(X).step.anchor&&Se(Qt)})}var $e=m(Ht,2),We=m(Ct,2);{var Nt=Se=>{var pe=na(),De=v(pe);P((Tt,ht)=>x(De,`Another ${Tt??""} — a chapter of its own. Start here (or double-click its box) to see what happens on it, or continue through ${ht??""} from the summary.`),[()=>gr("screen",n(r).project,n(X).step),()=>ma("screen",n(r).project)[1]]),_(Se,pe)},jt=Se=>{var pe=WN();_(Se,pe)},En=Se=>{var pe=na(),De=v(pe);P(()=>x(De,`The walk was cut at this step (${n(X).step.cut==="depth"?"the picture’s depth":n(X).step.cut==="fan-out"?"more calls than the walk follows from one node":n(X).step.cut==="folded"?"as much plumbing as it folds from one step":"the picture’s size"}). Start here to see on.`)),_(Se,pe)};V(We,Se=>{n(X).step.cut==="screen"?Se(Nt):n(X).step.cut==="component"?Se(jt,1):n(X).step.cut!==null&&Se(En,2)})}var Ke=m(We,2);{var Dt=Se=>{var pe=kv(),De=v(pe);P(Tt=>x(De,Tt),[()=>n(X).step.effect.apis.join(" · ")]),_(Se,pe)};V(Ke,Se=>{n(X).step.effect&&n(X).step.effect.apis.length>1&&Se(Dt)})}var Xt=m(Ke,2);{var Gt=Se=>{var pe=na(),De=v(pe);P(()=>x(De,n(X).step.effect.statuses?.length?"One way the endpoint answers — each row below is a site that sends it, with the condition it answers under; its other outcomes are the boxes beside it.":"Replies whose status the code does not spell out — each row below is one, with the condition it answers under.")),_(Se,pe)};V(Xt,Se=>{n(X).step.effect?.category==="response"&&Se(Gt)})}var rn=m(Xt,2);{var pn=Se=>{var pe=kv(),De=v(pe);P(Tt=>x(De,`⇠ ${Tt??""}`),[()=>n(X).step.events.join(" · ")]),_(Se,pe)};V(rn,Se=>{n(X).step.events&&n(X).step.events.length>1&&Se(pn)})}var In=m(rn,2);{var xs=Se=>{var pe=na(),De=v(pe);P(()=>x(De,`${n(O).hidden??""} condition${n(O).hidden===1?"":"s"} not drawn on the picture for want of
89
+ room — hover a row below to see ${n(O).hidden===1?"it":"each"} on its line.`)),_(Se,pe)};V(In,Se=>{n(O)!==null&&n(O).hidden>0&&Se(xs)})}var jo=m(In,2),kl=m(v(jo)),Ri=v(kl),ks=m(jo,2);{var El=Se=>{var pe=xc(),De=v(pe);P(()=>x(De,n(X).step.anchor?"The anchor — the picture starts here.":"Nothing in the picture leads here.")),_(Se,pe)};V(ks,Se=>{n($).arrivesFrom.length===0&&Se(El)})}var zi=m(ks,2);xe(zi,17,()=>n($).arrivesFrom,Se=>Se.id,(Se,pe)=>{const De=S(()=>Za(n(pe).sites)),Tt=S(()=>n(r).steps.find(Oe=>Oe.id===n(pe).from)?.node?.id??null);var ht=Av();let Ft;var Jt=v(ht),mn=v(Jt),An=m(Jt,2);{var Pn=Oe=>{var Ae=Ec(),gt=m(v(Ae)),on=m(gt),Tr=v(on);P(Cr=>{x(gt,` ${Cr??""} `),x(Tr,`in ${n(pe).trigger.in??""}`)},[()=>qn(n(pe).trigger)]),_(Oe,Ae)};V(An,Oe=>{n(pe).trigger&&Oe(Pn)})}var Mr=m(An,2);{var Tl=Oe=>{var Ae=Ev(),gt=v(Ae);P(on=>x(gt,`via ${on??""}`),[()=>bc(n(pe))]),_(Oe,Ae)};V(Mr,Oe=>{n(pe).via.length>0&&Oe(Tl)})}var Ss=m(Mr,2);{var Cl=Oe=>{var Ae=ra(),gt=v(Ae);P(()=>x(gt,`inside ${n(pe).within??""}(…)`)),_(Oe,Ae)};V(Ss,Oe=>{n(pe).within&&Oe(Cl)})}var Ms=m(Ss,2);{var Nl=Oe=>{var Ae=oa(),gt=v(Ae);{let on=S(()=>Ga(n(De).common));Vs(gt,()=>n(on))}_(Oe,Ae)};V(Ms,Oe=>{n(De).common.length>0&&Oe(Nl)})}var Ts=m(Ms,2);{var Il=Oe=>{var Ae=ra(),gt=v(Ae);P(()=>x(gt,n(pe).label)),_(Oe,Ae)};V(Ts,Oe=>{n(pe).label&&Oe(Il)})}var Cs=m(Ts,2);{var Al=Oe=>{var Ae=Sv(),gt=v(Ae);P(()=>x(gt,`${n(De).rows.length??""} ways`)),_(Oe,Ae)};V(Cs,Oe=>{n(De).rows.length>1&&Oe(Al)})}var Ns=m(Cs,2);xe(Ns,17,()=>n(De).rows,Oe=>Oe.site.file+Oe.site.line,(Oe,Ae)=>{const gt=S(()=>fe(n(pe),n(Ae).site,n(Tt)));var on=Nv();let Tr;var Cr=v(on);{var Dl=It=>{var Bt=Mv(),sn=m(v(Bt));P(yn=>x(sn,` ${yn??""}`),[()=>qn(n(Ae).site.trigger)]),_(It,Bt)},Rl=S(()=>n(Ae).site.trigger&&qn(n(Ae).site.trigger)!==(n(pe).trigger?qn(n(pe).trigger):""));V(Cr,It=>{n(Rl)&&It(Dl)})}var Is=m(Cr,2);{var zl=It=>{var Bt=oa(),sn=v(Bt);{let yn=S(()=>Ua(n(Ae).rest,n(De).common.length>0));Vs(sn,()=>n(yn))}_(It,Bt)};V(Is,It=>{n(De).rows.length>1&&It(zl)})}var Hl=m(Is,2);{var ql=It=>{var Bt=Tv(),sn=v(Bt);{var yn=Kt=>{var an=Ws(),uo=ye(an),fo=v(uo);P(()=>x(fo,n(Ae).site.status)),_(Kt,an)};V(sn,Kt=>{n(Ae).site.status&&Kt(yn)})}var Gn=m(sn),lo=m(Gn),co=v(lo);P((Kt,an)=>{se(Bt,"href",n(gt)),x(Gn,`${Kt??""} `),x(co,`· ${an??""}:${n(Ae).site.line??""}`)},[()=>ce(n(Ae).site),()=>he(n(Ae).site.file)]),_(It,Bt)},jl=It=>{var Bt=Cv(),sn=v(Bt);{var yn=Kt=>{var an=Ws(),uo=ye(an),fo=v(uo);P(()=>x(fo,n(Ae).site.status)),_(Kt,an)};V(sn,Kt=>{n(Ae).site.status&&Kt(yn)})}var Gn=m(sn),lo=m(Gn),co=v(lo);P((Kt,an)=>{x(Gn,`${Kt??""} `),x(co,`· ${an??""}:${n(Ae).site.line??""}`)},[()=>ce(n(Ae).site),()=>he(n(Ae).site.file)]),_(It,Bt)};V(Hl,It=>{n(gt)?It(ql):It(jl,-1)})}P(()=>Tr=Ce(on,1,"scenario svelte-v5q9re",null,Tr,{many:n(De).rows.length>1})),_(Oe,on)});var Pl=m(Ns,2);{var Ol=Oe=>{var Ae=Iv();P(gt=>se(Ae,"href",gt),[()=>ne(n(pe))]),_(Oe,Ae)},Ll=S(()=>ne(n(pe)));V(Pl,Oe=>{n(Ll)&&Oe(Ol)})}P((Oe,Ae)=>{Ft=Ce(ht,1,"row svelte-v5q9re",null,Ft,Oe),x(mn,Ae)},[()=>({hot:ee(n(pe))}),()=>ue(n(pe).from)]),Ge("mouseenter",ht,()=>ve(n(pe))),Ge("mouseleave",ht,()=>ve(null)),ke("focusin",ht,()=>ve(n(pe))),ke("focusout",ht,()=>ve(null)),ke("click",Jt,()=>L(i,n(pe).from,!0)),_(Se,ht)});var Es=m(zi,2),Sl=m(v(Es)),Ml=v(Sl),it=m(Es,2);{var vt=Se=>{var pe=xc(),De=v(pe);P(()=>x(De,n(X).step.kind==="effect"?"Outside the index: the graph cannot follow it further.":n(X).step.cut==="screen"||n(X).step.cut==="component"?"Not entered — a boundary. Start here for its own picture, or continue through from the summary.":"Nothing the walk follows leaves this step.")),_(Se,pe)};V(it,Se=>{n($).leadsTo.length===0&&Se(vt)})}var xt=m(it,2);xe(xt,17,()=>n($).leadsTo,Se=>Se.id,(Se,pe)=>{const De=S(()=>Za(n(pe).sites)),Tt=S(()=>n(X).step.screen?.component?.id??n(X).step.node?.id??null);var ht=Av();let Ft;var Jt=v(ht),mn=v(Jt),An=m(Jt,2);{var Pn=Oe=>{var Ae=Ec(),gt=m(v(Ae)),on=m(gt),Tr=v(on);P(Cr=>{x(gt,` ${Cr??""} `),x(Tr,`in ${n(pe).trigger.in??""}`)},[()=>qn(n(pe).trigger)]),_(Oe,Ae)};V(An,Oe=>{n(pe).trigger&&Oe(Pn)})}var Mr=m(An,2);{var Tl=Oe=>{var Ae=Ev(),gt=v(Ae);P(on=>x(gt,`via ${on??""}`),[()=>bc(n(pe))]),_(Oe,Ae)};V(Mr,Oe=>{n(pe).via.length>0&&Oe(Tl)})}var Ss=m(Mr,2);{var Cl=Oe=>{var Ae=ra(),gt=v(Ae);P(()=>x(gt,`inside ${n(pe).within??""}(…)`)),_(Oe,Ae)};V(Ss,Oe=>{n(pe).within&&Oe(Cl)})}var Ms=m(Ss,2);{var Nl=Oe=>{var Ae=oa(),gt=v(Ae);{let on=S(()=>Ga(n(De).common));Vs(gt,()=>n(on))}_(Oe,Ae)};V(Ms,Oe=>{n(De).common.length>0&&Oe(Nl)})}var Ts=m(Ms,2);{var Il=Oe=>{var Ae=ra(),gt=v(Ae);P(()=>x(gt,n(pe).label)),_(Oe,Ae)};V(Ts,Oe=>{n(pe).label&&Oe(Il)})}var Cs=m(Ts,2);{var Al=Oe=>{var Ae=Sv(),gt=v(Ae);P(()=>x(gt,`${n(De).rows.length??""} ways`)),_(Oe,Ae)};V(Cs,Oe=>{n(De).rows.length>1&&Oe(Al)})}var Ns=m(Cs,2);xe(Ns,17,()=>n(De).rows,Oe=>Oe.site.file+Oe.site.line,(Oe,Ae)=>{const gt=S(()=>fe(n(pe),n(Ae).site,n(Tt)));var on=Nv();let Tr;var Cr=v(on);{var Dl=It=>{var Bt=Mv(),sn=m(v(Bt));P(yn=>x(sn,` ${yn??""}`),[()=>qn(n(Ae).site.trigger)]),_(It,Bt)},Rl=S(()=>n(Ae).site.trigger&&qn(n(Ae).site.trigger)!==(n(pe).trigger?qn(n(pe).trigger):""));V(Cr,It=>{n(Rl)&&It(Dl)})}var Is=m(Cr,2);{var zl=It=>{var Bt=oa(),sn=v(Bt);{let yn=S(()=>Ua(n(Ae).rest,n(De).common.length>0));Vs(sn,()=>n(yn))}_(It,Bt)};V(Is,It=>{n(De).rows.length>1&&It(zl)})}var Hl=m(Is,2);{var ql=It=>{var Bt=Tv(),sn=v(Bt);{var yn=Kt=>{var an=Ws(),uo=ye(an),fo=v(uo);P(()=>x(fo,n(Ae).site.status)),_(Kt,an)};V(sn,Kt=>{n(Ae).site.status&&Kt(yn)})}var Gn=m(sn),lo=m(Gn),co=v(lo);P((Kt,an)=>{se(Bt,"href",n(gt)),x(Gn,`${Kt??""} `),x(co,`· ${an??""}:${n(Ae).site.line??""}`)},[()=>ce(n(Ae).site),()=>he(n(Ae).site.file)]),_(It,Bt)},jl=It=>{var Bt=Cv(),sn=v(Bt);{var yn=Kt=>{var an=Ws(),uo=ye(an),fo=v(uo);P(()=>x(fo,n(Ae).site.status)),_(Kt,an)};V(sn,Kt=>{n(Ae).site.status&&Kt(yn)})}var Gn=m(sn),lo=m(Gn),co=v(lo);P((Kt,an)=>{x(Gn,`${Kt??""} `),x(co,`· ${an??""}:${n(Ae).site.line??""}`)},[()=>ce(n(Ae).site),()=>he(n(Ae).site.file)]),_(It,Bt)};V(Hl,It=>{n(gt)?It(ql):It(jl,-1)})}P(()=>Tr=Ce(on,1,"scenario svelte-v5q9re",null,Tr,{many:n(De).rows.length>1})),_(Oe,on)});var Pl=m(Ns,2);{var Ol=Oe=>{var Ae=Iv();P(gt=>se(Ae,"href",gt),[()=>ne(n(pe))]),_(Oe,Ae)},Ll=S(()=>ne(n(pe)));V(Pl,Oe=>{n(Ll)&&Oe(Ol)})}P((Oe,Ae)=>{Ft=Ce(ht,1,"row svelte-v5q9re",null,Ft,Oe),x(mn,Ae)},[()=>({hot:ee(n(pe))}),()=>ue(n(pe).to)]),Ge("mouseenter",ht,()=>ve(n(pe))),Ge("mouseleave",ht,()=>ve(null)),ke("focusin",ht,()=>ve(n(pe))),ke("focusout",ht,()=>ve(null)),ke("click",Jt,()=>L(i,n(pe).to,!0)),_(Se,ht)}),P(Se=>{x(rt,n(X).label),x(ze,Se),x(Ri,n($).arrivesFrom.length),x(Ml,n($).leadsTo.length)},[()=>gr(n(X).step.kind,n(r).project,n(X).step)]),ke("click",$e,()=>L(i,null)),_(Xe,dt)},Fe=Xe=>{var dt=eI(),Ct=ye(dt),Ht=v(Ct),At=v(Ht),rt=m(v(At)),ct=v(rt),ze=m(At,2),be=v(ze);Pt(be,{get kind(){return n(r).anchor.kind}});var qe=m(be),He=m(ze,2),Lt=v(He),qt=m(Ct,2);{var Ue=it=>{var vt=XN(),xt=v(vt),Se=m(xt);xe(Se,19,()=>n(r).ambiguous,pe=>pe.id,(pe,De,Tt)=>{var ht=YN(),Ft=ye(ht);{var Jt=Pn=>{var Mr=wt(",");_(Pn,Mr)};V(Ft,Pn=>{n(Tt)>0&&Pn(Jt)})}var mn=m(Ft,2),An=v(mn);P((Pn,Mr)=>{se(mn,"href",Pn),x(An,`${n(De).kind??""} in ${Mr??""}`)},[()=>cr({anchor:n(De).id}),()=>he(n(De).file)]),_(pe,ht)}),P(()=>x(xt,`${n(r).ambiguous.length??""} other symbol${n(r).ambiguous.length===1?"":"s"} share this name: `)),_(it,vt)};V(qt,it=>{n(r).ambiguous.length>0&&it(Ue)})}var Je=m(qt,2),ft=m(v(Je));let Mt;var _t=m(ft,2);let bt;var dn=m(Je,2),Qt=v(dn),$e=v(Qt),We=m(Qt,2),Nt=v(We),jt=m(We,2),En=v(jt);xe(En,16,()=>j,it=>it,(it,vt)=>{var xt=Pv(),Se=v(xt),pe={};P(De=>{x(Se,vt),pe!==(pe=De)&&(xt.value=(xt.__value=De)??"")},[()=>String(vt)]),_(it,xt)});var Ke=m(En);{var Dt=it=>{var vt=Pv(),xt=v(vt),Se={};P(pe=>{x(xt,n(r).depth),Se!==(Se=pe)&&(vt.value=(vt.__value=pe)??"")},[()=>String(n(r).depth)]),_(it,vt)},Xt=S(()=>!j.includes(n(r).depth));V(Ke,it=>{n(Xt)&&it(Dt)})}var Gt;ci(jt);var rn=m(dn,2),pn=v(rn),In=v(pn),xs=m(In),jo=m(pn,2),kl=v(jo),Ri=m(rn,2);xe(Ri,20,()=>["screen","trigger","bridge","event","store","effect"],it=>it,(it,vt)=>{var xt=St(),Se=ye(xt);{var pe=De=>{const Tt=S(()=>ma(vt,n(r).project));var ht=GN(),Ft=v(ht),Jt=v(Ft),mn=m(Ft);P(()=>{x(Jt,n(H).counts[vt]),x(mn,` ${(n(H).counts[vt]===1?n(Tt)[0]:n(Tt)[1])??""}`)}),_(De,ht)};V(Se,De=>{n(H).counts[vt]>0&&De(pe)})}_(it,xt)});var ks=m(Ri,2);{var El=it=>{var vt=ZN();_(it,vt)},zi=it=>{var vt=UN();_(it,vt)};V(ks,it=>{n(W)==="order"?it(El):it(zi,-1)})}var Es=m(ks,2);{var Sl=it=>{var vt=JN(),xt=m(v(vt));{var Se=Ft=>{var Jt=Ov(),mn=ye(Jt),An=v(mn),Pn=m(mn);P(()=>{x(An,n(r).truncated.steps),x(Pn,` step${n(r).truncated.steps===1?"":"s"} past the picture’s size limit;`)}),_(Ft,Jt)};V(xt,Ft=>{n(r).truncated.steps>0&&Ft(Se)})}var pe=m(xt,2);{var De=Ft=>{var Jt=Ov(),mn=ye(Jt),An=v(mn),Pn=m(mn);P(()=>{x(An,n(r).truncated.hubs),x(Pn,` walk${n(r).truncated.hubs===1?"":"s"} that reached a hub;`)}),_(Ft,Jt)};V(pe,Ft=>{n(r).truncated.hubs>0&&Ft(De)})}var Tt=m(pe,2);{var ht=Ft=>{var Jt=QN(),mn=ye(Jt),An=v(mn);P(()=>x(An,n(r).truncated.chrome)),_(Ft,Jt)};V(Tt,Ft=>{n(r).truncated.chrome>0&&Ft(ht)})}_(it,vt)};V(Es,it=>{(n(r).truncated.steps>0||n(r).truncated.hubs>0||n(r).truncated.chrome>0)&&it(Sl)})}var Ml=m(Es,4);xe(Ml,17,()=>[...n(r).steps].sort((it,vt)=>(n(H).layout.nodes.find(xt=>xt.id===vt.id)?.ports.top.length??0)+(n(H).layout.nodes.find(xt=>xt.id===vt.id)?.ports.bottom.length??0)-((n(H).layout.nodes.find(xt=>xt.id===it.id)?.ports.top.length??0)+(n(H).layout.nodes.find(xt=>xt.id===it.id)?.ports.bottom.length??0))).slice(0,8),it=>it.id,(it,vt)=>{var xt=$N(),Se=v(xt),pe=m(Se),De=v(pe);P((Tt,ht)=>{x(Se,`${Tt??""} `),x(De,ht)},[()=>n(H).nodes.get(n(vt).id)?.label??n(vt).label,()=>gr(n(vt).kind,n(r).project,n(vt))]),ke("click",xt,()=>L(i,n(vt).id,!0)),_(it,xt)}),P((it,vt,xt,Se,pe,De,Tt)=>{x(ct,n(r).anchor.name),se(ze,"href",it),x(qe,` ${n(r).anchor.qualifiedName??""}`),se(He,"href",vt),x(Lt,n(r).anchor.file),Mt=Ce(ft,1,"tab svelte-v5q9re",null,Mt,{on:n(W)==="order"}),se(ft,"href",xt),bt=Ce(_t,1,"tab svelte-v5q9re",null,bt,{on:n(W)==="tree"}),se(_t,"href",Se),x($e,n(r).steps.length),x(Nt,n(r).links.length),Gt!==(Gt=pe)&&(jt.value=(jt.__value=pe)??"",No(jt,pe)),Fh(In,n(r).through),x(xs,` Continue through ${De??""}`),x(kl,`— otherwise another ${Tt??""} is drawn as a boundary, and is a click from being the next anchor.`)},[()=>cn(n(r).anchor.id),()=>tn(n(r).anchor.file),()=>J({view:"order"}),()=>J({view:"tree"}),()=>String(n(r).depth),()=>ma("screen",n(r).project)[1],()=>gr("screen",n(r).project)]),ke("change",jt,it=>Et(J({depth:Number(it.currentTarget.value)}))),ke("change",In,it=>Et(J({through:it.currentTarget.checked}))),_(Xe,dt)};V(_e,Xe=>{n(X)!==null&&n($)!==null?Xe(Me):Xe(Fe,-1)})}_(le,oe)};V(at,le=>{n(r)!==null&&n(H)!==null&&le(Ye)})}ke("mousemove",de,ie),Ge("mouseleave",de,()=>L(a,null)),_(e,we),Ie()}mt(["mousemove","click","focusin","focusout","change"]);var oI=N('<button type="button" class="ref svelte-1c9ldo3"> </button>'),sI=N("<span> </span>"),iI=N('<div><span class="no svelte-1c9ldo3"> </span> <span class="tx svelte-1c9ldo3"></span></div>'),aI=N('<div class="code svelte-1c9ldo3"></div>'),lI=N('<p class="nosource svelte-1c9ldo3"> </p>'),cI=N('<div><!> <!> <button type="button" class="head svelte-1c9ldo3"><!> <span class="nm svelte-1c9ldo3"> </span> <span class="loc svelte-1c9ldo3"> </span></button> <!></div>');function uI(e,t){Ne(t,!0);let r=S(()=>t.data.card),o=S(()=>n(r).hop),s=S(()=>n(o).source),i=S(()=>{const A=new Map,D=n(o).callRef;return D&&A.set(D.line,[{ident:D.name,col:D.col,targetId:D.targetId,uncertain:!1,outside:!1,title:D.backwards?`${n(o).node.name} calls ${D.name} here`:`calls ${D.name}`}]),A}),a=S(()=>n(s)?.lines?sl(n(s).lines,n(s).from,n(s).highlight):new Map),l=S(()=>n(s)?.lines?n(s).lines.map((A,D)=>{const j=n(s).from+D,R=n(a).get(j)??[{cls:"other",text:A,col:0}],z=ol(R,n(i).get(j)??[]);return{n:j,call:j===n(o).callRef?.line||j===n(r).stopLine,parts:R.map((W,H)=>{const B=z.get(H)??null;return{text:W.text,cls:B?null:qu(W.cls),ref:B}})}}):[]);var c=cI();let f;var u=v(c);kn(u,{type:"target",get position(){return Ve.Left},id:"in",isConnectable:!1});var h=m(u,2);kn(h,{type:"source",get position(){return Ve.Right},id:"out",isConnectable:!1});var d=m(h,2),g=v(d);Pt(g,{get kind(){return n(o).node.kind}});var p=m(g,2),y=v(p),w=m(p,2),M=v(w),I=m(d,2);{var C=A=>{var D=aI();xe(D,21,()=>n(l),j=>j.n,(j,R)=>{var z=iI();let W;var H=v(z),B=v(H),k=m(H,2);xe(k,21,()=>n(R).parts,Kn,(b,E)=>{var q=St(),O=ye(q);{var K=U=>{var X=oI(),$=v(X);P(()=>{se(X,"title",n(E).ref.title),x($,n(E).text)}),ke("click",X,()=>t.data.onFollow(n(r))),_(U,X)},Y=U=>{var X=sI(),$=v(X);P(()=>{Ce(X,1,zo(n(E).cls),"svelte-1c9ldo3"),x($,n(E).text)}),_(U,X)},G=U=>{var X=wt();P(()=>x(X,n(E).text)),_(U,X)};V(O,U=>{n(E).ref?U(K):n(E).cls?U(Y,1):U(G,-1)})}_(b,q)}),P(()=>{W=Ce(z,1,"ln svelte-1c9ldo3",null,W,{call:n(R).call}),x(B,n(R).n)}),_(j,z)}),_(A,D)},T=A=>{var D=lI(),j=v(D);P(()=>x(j,n(s)?.drift?"Changed on disk after the last index sync — source is not shown.":n(s)?.reason??"Source outside this slice or this index.")),_(A,D)};V(I,A=>{n(l).length>0?A(C):A(T,-1)})}P(A=>{f=Ce(c,1,"card svelte-1c9ldo3",null,f,{cur:t.data.current,dim:t.data.dimmed}),nt(c,`width:${n(r).width}px;height:${n(r).height}px`),x(y,n(o).node.name),x(M,`${A??""}:${n(o).node.line??""}`)},[()=>gn(n(o).node.file)]),ke("click",d,()=>t.data.onOpen(n(r))),_(e,c),Ie()}mt(["click"]);var dI=Yt("<polygon></polygon>"),Lv=Yt('<text text-anchor="middle" class="svelte-1gtjqth"> </text>'),fI=Yt("<!><!><g><title> </title><!><!></g>",1);function vI(e,t){const r=S(()=>t.data),o=S(()=>{if(Math.abs(t.sourceY-t.targetY)<.5)return`M${t.sourceX},${t.sourceY} L${t.targetX},${t.targetY}`;const C=(t.sourceX+t.targetX)/2;return`M${t.sourceX},${t.sourceY} C${C},${t.sourceY} ${C},${t.targetY} ${t.targetX},${t.targetY}`}),s=S(()=>`${t.targetX-10},${t.targetY-4} ${t.targetX-2},${t.targetY} ${t.targetX-10},${t.targetY+4}`),i=S(()=>(t.sourceX+t.targetX)/2),a=S(()=>(t.sourceY+t.targetY)/2),l=S(()=>n(r).link.dash?`stroke-dasharray:${n(r).link.dash}`:""),c=S(()=>n(r).link.labelLines);var f=fI(),u=ye(f);{let C=S(()=>`flink${n(r).dimmed?" dimmed":""}`);qo(u,{get path(){return n(o)},get class(){return n(C)},get style(){return n(l)}})}var h=m(u);{var d=C=>{var T=dI();P(()=>{Ce(T,0,`fhead${n(r).dimmed?" dimmed":""}`,"svelte-1gtjqth"),se(T,"points",n(s))}),_(C,T)};V(h,C=>{n(r).link.cap||C(d)})}var g=m(h),p=v(g),y=v(p),w=m(p);xe(w,17,()=>n(c),Kn,(C,T,A)=>{var D=Lv(),j=v(D);P(()=>{se(D,"x",n(i)),se(D,"y",n(a)-8-(n(c).length-1-A)*13),x(j,n(T))}),_(C,D)});var M=m(w);{var I=C=>{var T=Lv(),A=v(T);P(()=>{se(T,"x",n(i)),se(T,"y",n(a)+17),x(A,n(r).link.lineLabel)}),_(C,T)};V(M,C=>{n(r).link.lineLabel&&C(I)})}P(()=>{Ce(g,0,`flabel${n(r).dimmed?" dimmed":""}`,"svelte-1gtjqth"),x(y,`${n(r).link.label??""}${n(r).link.lineLabel?` (${n(r).link.lineLabel})`:""}`)}),_(e,f)}var hI=N('<p class="key svelte-1f3e7uq">key <span class="mono svelte-1f3e7uq"> </span></p>'),Dv=N('<p class="soft svelte-1f3e7uq"> </p>'),gI=N('<button type="button" class="row svelte-1f3e7uq"><span class="nm svelte-1f3e7uq"> </span> <span class="at svelte-1f3e7uq"> </span></button>'),pI=N('<p class="soft svelte-1f3e7uq"> </p> <!>',1),mI=N('<div class="site svelte-1f3e7uq"><p class="form svelte-1f3e7uq"> </p> <!> <!> <!></div>'),_I=N('<p class="soft block svelte-1f3e7uq"> </p>'),yI=N('<button type="button" class="row svelte-1f3e7uq"><span class="nm unsure svelte-1f3e7uq"> </span> <span class="at svelte-1f3e7uq"> </span></button>'),wI=N('<div class="block svelte-1f3e7uq"><p class="soft svelte-1f3e7uq"> </p> <!></div>'),Rv=N('<p class="block svelte-1f3e7uq"> </p>'),bI=N('<div><!> <p class="lead svelte-1f3e7uq"><b class="svelte-1f3e7uq">Where the graph stops.</b> </p> <!> <!> <!> <!> <!></div>');function xI(e,t){Ne(t,!0);let r=S(()=>t.data.cap),o=S(()=>ad(n(r).boundary));var s=bI();let i;var a=v(s);kn(a,{type:"target",get position(){return Ve.Left},id:"in",isConnectable:!1});var l=m(a,2),c=m(v(l)),f=m(l,2);xe(f,17,()=>n(o).sites,Kn,(I,C)=>{var T=mI(),A=v(T),D=v(A),j=m(A,2);{var R=k=>{var b=hI(),E=m(v(b)),q=v(E);P(()=>x(q,n(C).key)),_(k,b)};V(j,k=>{n(C).key!==null&&k(R)})}var z=m(j,2);xe(z,16,()=>n(C).notes,k=>k,(k,b)=>{var E=Dv(),q=v(E);P(()=>x(q,b)),_(k,E)});var W=m(z,2);{var H=k=>{var b=pI(),E=ye(b),q=v(E),O=m(E,2);xe(O,17,()=>n(C).candidates,K=>K.node.id,(K,Y)=>{var G=gI(),U=v(G),X=v(U),$=m(U,2),Z=v($);P(Q=>{x(X,n(Y).display),x(Z,`${Q??""}:${n(Y).node.line??""}`)},[()=>gn(n(Y).node.file)]),ke("click",G,()=>t.data.onOpen(n(Y).node.id)),_(K,G)}),P(()=>x(q,n(C).candidateHeading)),_(k,b)},B=k=>{var b=Dv(),E=v(b);P(()=>x(E,n(C).candidateNote)),_(k,b)};V(W,k=>{n(C).candidateHeading!==null?k(H):n(C).candidateNote!==null&&k(B,1)})}P(()=>x(D,n(C).headline)),_(I,T)});var u=m(f,2);{var h=I=>{var C=_I(),T=v(C);P(()=>x(T,n(o).quiet)),_(I,C)};V(u,I=>{n(o).quiet!==null&&I(h)})}var d=m(u,2);{var g=I=>{var C=wI(),T=v(C),A=v(T),D=m(T,2);xe(D,17,()=>n(o).uncertain,j=>j.node.id,(j,R)=>{var z=yI(),W=v(z),H=v(W),B=m(W,2),k=v(B);P(b=>{x(H,n(R).node.name),x(k,b)},[()=>n(R).confidence===null?"":n(R).confidence.toFixed(2)]),ke("click",z,()=>t.data.onOpen(n(R).node.id)),_(j,z)}),P(()=>x(A,n(o).uncertainHeading)),_(I,C)};V(d,I=>{n(o).uncertainHeading!==null&&I(g)})}var p=m(d,2);{var y=I=>{var C=Rv(),T=v(C);P(()=>x(T,n(o).further)),_(I,C)};V(p,I=>{n(o).further!==null&&I(y)})}var w=m(p,2);{var M=I=>{var C=Rv(),T=v(C);P(()=>x(T,n(o).missed)),_(I,C)};V(w,I=>{n(o).missed!==null&&I(M)})}P(()=>{i=Ce(s,1,"endcap svelte-1f3e7uq",null,i,{dim:t.data.dimmed}),nt(s,`width:${n(r).width}px;min-height:${n(r).height}px`),x(c,` ${n(o).intro??""}`)}),_(e,s),Ie()}mt(["click"]);var zv=N("<option> </option>"),kI=N('<select aria-label="Which path to draw" class="svelte-vl698p"><!><!></select>'),EI=N('<p class="note svelte-vl698p"> </p>'),SI=N('<div class="state svelte-vl698p"><h2 class="svelte-vl698p">The flow could not be built</h2> <p class="svelte-vl698p"> </p></div>'),MI=N('<div class="state svelte-vl698p"><p class="dim svelte-vl698p">Following the calls…</p></div>'),TI=N('<div class="state svelte-vl698p"><h2 class="svelte-vl698p">Nothing to follow yet</h2> <p class="svelte-vl698p">Ask for a path in the search box — “how does execute reach getFile”, or <span class="mono svelte-vl698p">execute -&gt; getFile</span> — or walk a trail and read it as a flow.</p></div>'),CI=N('<p class="dim svelte-vl698p">Asked: <span class="mono svelte-vl698p"> </span> to <span class="mono svelte-vl698p"> </span>.</p>'),NI=N('<div class="state svelte-vl698p"><h2 class="svelte-vl698p">No path between them</h2> <p class="svelte-vl698p"> </p> <!></div>'),II=N('<p class="svelte-vl698p"> </p>'),AI=N('This path runs through the one in <span class="mono svelte-vl698p"> </span>.',1),PI=N('<p class="svelte-vl698p"><span class="mono svelte-vl698p"> </span> <!></p>'),OI=N('<p class="svelte-vl698p"><span class="mono svelte-vl698p"> </span> names nothing in this index.</p>'),LI=N('<footer class="fnote svelte-vl698p"><!> <!> <!></footer>'),DI=N('<div class="flowview svelte-vl698p"><header class="fhead svelte-vl698p"><h1 class="svelte-vl698p">Flow</h1> <!> <!> <!></header> <div class="fstage svelte-vl698p"><!></div> <!></div>');function RI(e,t){Ne(t,!0);let r=ae(null),o=ae(null),s=ae(!0),i=ae(null),a=ae(!1);const l="all-paths",c={x:0,y:0,zoom:1},f={flow:uI,cap:xI},u={flow:vI},h=S(()=>t.trailParam?Pu(t.trailParam):[]);et(()=>{const Q=t.trailParam?{trail:n(h).map(te=>`${te.dir==="start"?"s":te.dir==="up"?"u":"d"}${te.id}`)}:t.symbols?{symbols:t.symbols}:{from:t.from??"",to:t.to??""};if(!t.trailParam&&!t.symbols&&!(t.from&&t.to)){L(r,null),L(s,!1),L(o,null);return}Rn.indexTick;const F=new AbortController;L(s,!0),L(o,null);const J=n(i);return h1(Q,F.signal).then(te=>{L(r,te,!0),L(i,te.flows.some(ie=>ie.id===J)?J:te.flows[0]?.id??null,!0),L(s,!1)}).catch(te=>{F.signal.aborted||(L(o,te instanceof Error?te.message:String(te),!0),L(s,!1))}),()=>F.abort()});const d=S(()=>n(r)?.flows??[]),g=S(()=>n(a)?n(d):n(d).filter(Q=>Q.id===n(i)).slice(0,1)),p=S(()=>n(g).length===0?null:J4(n(a)?n(d):n(g),n(i))),y=S(()=>n(d).find(Q=>Q.id===n(i))??n(d)[0]??null),w=S(()=>n(p)===null?[]:[...n(p).endCaps.map(F=>({id:F.id,type:"cap",position:{x:F.x,y:F.y},draggable:!1,selectable:!1,connectable:!1,data:{cap:F,dimmed:n(a)&&n(i)!==null&&!F.flows.includes(n(i)),onOpen:C}})),...n(p).cards.map(F=>({id:F.id,type:"flow",position:{x:F.x,y:F.y},draggable:!1,selectable:!1,connectable:!1,data:{card:F,current:n(a)&&F.step>=0,dimmed:n(a)&&F.step<0,onOpen:I,onFollow:T}}))]),M=S(()=>n(p)===null?[]:n(p).links.map(Q=>({id:Q.id,source:Q.source,target:Q.target,sourceHandle:"out",targetHandle:"in",type:"flow",selectable:!1,deletable:!1,data:{link:Q,dimmed:n(a)&&n(i)!==null&&!Q.flows.includes(n(i))}})));function I(Q){const F=n(y)?.hops??[],J=F.findIndex(ie=>ie.node.id===Q.id),te=J>=0?F.slice(0,J+1):[];zt.clear(),te.forEach((ie,ge)=>zt.push({id:ie.node.id,name:ie.node.name,kind:ie.node.kind,dir:ge===0?"start":ie.edge?.upward?"up":"down"})),te.length===0&&zt.push({id:Q.id,name:Q.hop.node.name,kind:Q.hop.node.kind,dir:"start"}),Et(cn(Q.id,{trail:zr(zt.hops),...Q.hop.callRef?{line:Q.hop.callRef.line}:{}}))}function C(Q){zt.clear(),Et(cn(Q))}function T(Q){const F=Q.hop.callRef?.targetId;if(!F)return;const J=n(p)?.cards.find(te=>te.id===F);J&&I(J)}function A(Q){return Q.query.kind==="trail"?"Your trail, read as a flow: each card is opened at the line that carried you to the next one.":Q.flows.some(F=>F.partial)?"No static path connects them. The card is where the looking stopped — a call whose target is chosen at runtime — and the cap names the form, the key and who could be on the other side.":Q.query.kind==="directed"?"Every card is a call the graph recorded. A dashed link is a hop no one can see in the source — a callback, an interface, a re-render — and it names where it was wired.":"The longest call path among the symbols you named, the same one codegraph_explore leads with."}const D=S(()=>n(a)&&n(d).length>1?`all ${n(d).length} paths`:n(y)?.label??"flow");function j(Q){if(n(p)===null)throw new Error("There is no strip to export yet.");const F=n(y)?.hops.length??0;return uT(n(p),{scale:Q,activeFlowId:n(i),showAll:n(a),caption:n(a)?n(D):`${n(D)}${F>1?` · ${F} hops`:""}`})}var R=DI(),z=v(R),W=m(v(z),2);{var H=Q=>{var F=kI(),J=v(F);xe(J,17,()=>n(d),ve=>ve.id,(ve,re)=>{var ee=zv(),ue=v(ee),ne={};P(()=>{x(ue,`${n(re).label??""}${n(re).hops.length>1?` · ${n(re).hops.length} hops`:""}`),ne!==(ne=n(re).id)&&(ee.value=(ee.__value=n(re).id)??"")}),_(ve,ee)});var te=m(J);{var ie=ve=>{var re=zv(),ee=v(re);re.value=re.__value=l,P(()=>x(ee,`All ${n(d).length??""} paths`)),_(ve,re)};V(te,ve=>{n(d).length>1&&ve(ie)})}var ge;ci(F),P(()=>{ge!==(ge=n(a)?l:n(i)??"")&&(F.value=(F.__value=n(a)?l:n(i)??"")??"",No(F,n(a)?l:n(i)??""))}),ke("change",F,ve=>{const re=ve.currentTarget.value;L(a,re===l),n(a)||L(i,re,!0)}),_(Q,F)};V(W,Q=>{n(d).length>0&&Q(H)})}var B=m(W,2);{var k=Q=>{var F=EI(),J=v(F);P(te=>x(J,te),[()=>A(n(r))]),_(Q,F)};V(B,Q=>{n(r)&&Q(k)})}var b=m(B,2);{var E=Q=>{{let F=S(()=>zp("flow",n(D)));Op(Q,{build:j,get filename(){return n(F)}})}};V(b,Q=>{n(p)!==null&&Q(E)})}var q=m(z,2),O=v(q);{var K=Q=>{var F=SI(),J=m(v(F),2),te=v(J);P(()=>x(te,n(o))),_(Q,F)},Y=Q=>{var F=MI();_(Q,F)},G=Q=>{var F=TI();_(Q,F)},U=Q=>{var F=NI(),J=m(v(F),2),te=v(J),ie=m(J,2);{var ge=ve=>{var re=CI(),ee=m(v(re)),ue=v(ee),ne=m(ee,2),fe=v(ne);P(()=>{x(ue,n(r).query.from),x(fe,n(r).query.to)}),_(ve,re)};V(ie,ve=>{n(r).query.from&&n(r).query.to&&ve(ge)})}P(()=>x(te,n(r).reason)),_(Q,F)},X=Q=>{gl(Q,{get nodes(){return n(w)},get edges(){return n(M)},get nodeTypes(){return f},get edgeTypes(){return u},get initialViewport(){return c},fitViewOptions:{padding:.1,maxZoom:1,minZoom:.2},minZoom:.2,maxZoom:1.4,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,panOnDrag:!0,proOptions:{hideAttribution:!0},children:(F,J)=>{pl(F,{position:"bottom-right",showLock:!1})},$$slots:{default:!0}})};V(O,Q=>{n(o)!==null?Q(K):n(s)&&n(r)===null?Q(Y,1):n(r)===null?Q(G,2):n(p)===null?Q(U,3):Q(X,-1)})}var $=m(q,2);{var Z=Q=>{var F=LI(),J=v(F);{var te=ve=>{var re=II(),ee=v(re);P(()=>x(ee,n(r).reason)),_(ve,re)};V(J,ve=>{n(r).reason!==null&&ve(te)})}var ie=m(J,2);xe(ie,17,()=>n(r).ambiguous,ve=>ve.token,(ve,re)=>{var ee=PI(),ue=v(ee),ne=v(ue),fe=m(ue),he=m(fe);{var ce=de=>{var me=AI(),Te=m(ye(me)),Pe=v(Te);P(Le=>x(Pe,`${Le??""}:${n(re).chosen.line??""}`),[()=>gn(n(re).chosen.file)]),_(de,me)},we=de=>{var me=wt("None of them are on this path.");_(de,me)};V(he,de=>{n(re).chosen?de(ce):de(we,-1)})}P(()=>{x(ne,n(re).token),x(fe,` names ${n(re).others.length+1} definitions. `)}),_(ve,ee)});var ge=m(ie,2);xe(ge,16,()=>n(r).unresolved,ve=>ve,(ve,re)=>{var ee=OI(),ue=v(ee),ne=v(ue);P(()=>x(ne,re)),_(ve,ee)}),_(Q,F)};V($,Q=>{n(r)&&(n(r).reason!==null||n(r).ambiguous.length>0||n(r).unresolved.length>0)&&n(p)!==null&&Q(Z)})}_(e,R),Ie()}mt(["change"]);var zI=N('<a class="svelte-skxuyu"> </a>'),HI=N("<span> </span>"),Hv=N('<span class="verb svelte-skxuyu"> </span>'),qI=N('<button type="button" class="nm svelte-skxuyu"><!> </button>'),jI=N('<span class="nm plain svelte-skxuyu"><!> </span>'),FI=N('<button type="button" class="chip svelte-skxuyu"> </button>'),BI=N('<div><!> <div class="body svelte-skxuyu"><div class="line svelte-skxuyu"><!> <!></div> <div class="meta svelte-skxuyu"> </div></div></div>'),VI=N('<div class="filegroup svelte-skxuyu"><div class="fpath svelte-skxuyu"><!> <b class="svelte-skxuyu"> </b></div> <!></div>'),WI=N('<p class="note dim svelte-skxuyu"> </p>'),KI=N('<section class="sec svelte-skxuyu"><div class="sec-h svelte-skxuyu"><h3 class="svelte-skxuyu"> </h3> <span class="meta svelte-skxuyu"> </span></div> <p class="note svelte-skxuyu"> </p> <!> <!></section>');function YI(e,t){Ne(t,!0);var r=KI(),o=v(r),s=v(o),i=v(s),a=m(s,2),l=v(a),c=m(o,2),f=v(c),u=m(c,2);xe(u,17,()=>t.section.groups,g=>g.path,(g,p)=>{var y=VI(),w=v(y),M=v(w);{var I=j=>{var R=zI(),z=v(R);P(W=>{se(R,"href",W),se(R,"title",n(p).file),x(z,n(p).path)},[()=>tn(n(p).file)]),_(j,R)},C=j=>{var R=HI(),z=v(R);P(()=>{se(R,"title",n(p).path),x(z,n(p).path)}),_(j,R)};V(M,j=>{n(p).file?j(I):j(C,-1)})}var T=m(M,2),A=v(T),D=m(w,2);xe(D,17,()=>n(p).rows,j=>j.id,(j,R)=>{var z=BI();let W;var H=v(z);Pt(H,{get kind(){return n(R).kind}});var B=m(H,2),k=v(B),b=v(k);{var E=U=>{var X=qI(),$=v(X);{var Z=F=>{var J=Hv(),te=v(J);P(()=>x(te,n(R).method)),_(F,J)};V($,F=>{n(R).method&&F(Z)})}var Q=m($,1,!0);P(()=>{se(X,"title",n(R).title),se(X,"data-entry-row",n(R).id),x(Q,n(R).name)}),ke("click",X,()=>t.onopen(n(R))),_(U,X)},q=U=>{var X=jI(),$=v(X);{var Z=F=>{var J=Hv(),te=v(J);P(()=>x(te,n(R).method)),_(F,J)};V($,F=>{n(R).method&&F(Z)})}var Q=m($,1,!0);P(()=>{se(X,"title",n(R).title),x(Q,n(R).name)}),_(U,X)};V(b,U=>{n(R).target?U(E):U(q,-1)})}var O=m(b,2);{var K=U=>{const X=S(()=>t.armed===null?"Flow ›":t.armed===n(R).id?"Cancel":"→ here");var $=FI(),Z=v($);P(()=>{se($,"title",t.armed===null?`Start a flow from ${n(R).flowFrom}`:t.armed===n(R).id?"Stop drawing a flow from here":`Draw the path that ends at ${n(R).flowFrom}`),se($,"data-entry-flow",n(R).id),x(Z,n(X))}),ke("click",$,()=>t.onflow(n(R))),_(U,$)};V(O,U=>{n(R).flowFrom&&U(K)})}var Y=m(k,2),G=v(Y);P(()=>{W=Ce(z,1,"row svelte-skxuyu",null,W,{armed:t.armed===n(R).id,stub:!n(R).target}),x(G,n(R).meta)}),_(j,z)}),P(()=>x(A,n(p).rows.length)),_(g,y)});var h=m(u,2);{var d=g=>{var p=WI(),y=v(p);P(()=>x(y,`Showing ${t.section.shown??""} of ${t.section.floor?"at least ":""}${t.section.total??""} — the rest are in
90
+ the index, not on this list.`)),_(g,p)};V(h,g=>{t.section.shown<t.section.total&&g(d)})}P(()=>{se(r,"aria-labelledby",`entry-${t.section.id}`),se(s,"id",`entry-${t.section.id}`),x(i,t.section.title),x(l,t.section.meta),x(f,t.section.note)}),_(e,r),Ie()}mt(["click"]);var XI=N('<div class="arming svelte-gbjxaf" role="group" aria-label="Draw a flow"><span class="from svelte-gbjxaf"> </span> <span class="arrow svelte-gbjxaf" aria-hidden="true">→</span> <input type="text" autocomplete="off" spellcheck="false" placeholder="a symbol it reaches" class="svelte-gbjxaf"/> <button type="button" class="go svelte-gbjxaf">Draw the flow</button> <button type="button" class="cancel svelte-gbjxaf">Cancel</button> <span class="hint svelte-gbjxaf">or pick the other end with <span class="chiplike svelte-gbjxaf">→ here</span></span></div>'),qv=N('<p class="state svelte-gbjxaf"> </p>'),GI=N('<p class="state svelte-gbjxaf">Reading the graph…</p>'),ZI=N('<div class="sections svelte-gbjxaf"></div>'),UI=N('<div class="scroll svelte-gbjxaf"><div class="head svelte-gbjxaf"><h2 class="svelte-gbjxaf">Entry points</h2> <p class="svelte-gbjxaf"> <span class="chiplike svelte-gbjxaf">Flow ›</span> to draw the path from it to a second symbol.</p></div> <!> <div class="saved svelte-gbjxaf"><!></div> <!></div>');function QI(e,t){Ne(t,!0);let r=Ee(t,"project",3,null);et(()=>{yt.ensureEntries()});let o=S(()=>X1(yt.entries)),s=ae(null),i=ae(""),a=ae(null);et(()=>{const R=n(s)?.id;R&&!n(o).rows.some(z=>z.id===R)&&L(s,null)});function l(R){Lu(R.target)}function c(R,z){const W=Dd(R,z);W&&(L(s,null),L(i,""),Et(Ho(W)))}function f(R){if(R.flowFrom){if(n(s)===null){L(s,{id:R.id,name:R.flowFrom},!0),L(i,""),queueMicrotask(()=>n(a)?.focus());return}if(n(s).id===R.id){L(s,null);return}c(n(s).name,R.flowFrom)}}function u(R){R.key==="Escape"&&(R.preventDefault(),L(s,null))}var h=UI(),d=v(h),g=m(v(d),2),p=v(g),y=m(d,2);{var w=R=>{var z=XI(),W=v(z),H=v(W),B=m(W,4);Wt(B,E=>L(a,E),()=>n(a));var k=m(B,2),b=m(k,2);P(E=>{x(H,n(s).name),se(B,"aria-label",`The symbol ${n(s).name} should reach`),k.disabled=E},[()=>Dd(n(s).name,n(i))===null]),ke("keydown",B,u),Ge("keypress",B,E=>{E.key==="Enter"&&n(s)&&c(n(s).name,n(i))}),Nu(B,()=>n(i),E=>L(i,E)),ke("click",k,()=>n(s)&&c(n(s).name,n(i))),ke("click",b,()=>L(s,null)),_(R,z)};V(y,R=>{n(s)&&R(w)})}var M=m(y,2),I=v(M);vg(I,{hideWhenEmpty:!1});var C=m(M,2);{var T=R=>{var z=qv(),W=v(z);P(()=>x(W,`Could not read the entry points — ${yt.entriesFailure??""}`)),_(R,z)},A=R=>{var z=GI();_(R,z)},D=R=>{var z=qv(),W=v(z);P(()=>x(W,n(o).empty)),_(R,z)},j=R=>{var z=ZI();xe(z,21,()=>n(o).sections,W=>W.id,(W,H)=>{{let B=S(()=>n(s)?.id??null);YI(W,{get section(){return n(H)},get armed(){return n(B)},onopen:l,onflow:f})}}),_(R,z)};V(C,R=>{yt.entriesFailure?R(T):yt.entriesSettled?n(o).empty?R(D,2):R(j,-1):R(A,1)})}P(()=>x(p,`Where a flow starts${r()?` in ${r()}`:""} — every list below is read out of the
91
+ graph, not guessed from a filename. Open a row to read the code, or use `)),_(e,h),Ie()}mt(["keydown","click"]);const JI="No static reference in the index — dynamic use is possible.";function rm(e,t){return e===1?t:`${t}s`}function $I(e){if(!e)return"";const{rows:t}=e;if(t.total===0)return"Nothing on this list.";const r=e.groups.reduce((s,i)=>s+i.lines,0);return`${t.truncated?`${t.shown} of ${t.total} ${rm(t.total,"symbol")}`:st(t.total,"symbol")} in ${st(e.groups.length,"file")} · ${st(r,"line")}`}function eA(e){return!e||e.candidates===0?"":`${e.candidates.toLocaleString()} ${rm(e.candidates,"symbol")} in this index carry no incoming reference at all; ${e.excludedTotal.toLocaleString()} of them were left off this list.`}function tA(e){return e?e.excluded.map(t=>`${t.count.toLocaleString()} ${t.label}`):[]}function nA(e){const t=[Uh(e.kind),st(e.lines,"line")];return e.members.total>0&&t.push(`${st(e.members.total,"member")} unreachable with it`),t.join(" · ")}function rA(e){const t=[st(e.rows.length,"symbol"),st(e.lines,"line")];return e.generated&&t.push("generated"),t.join(" · ")}function oA(e){return e.candidates===0?"Every symbol in this index is referenced by something. Nothing to show.":e.includeExported?`Every one of the ${e.candidates.toLocaleString()} symbols with no incoming reference has a reason to be reachable anyway — see the list of exclusions below.`:`All ${e.candidates.toLocaleString()} symbols with no incoming reference are either reachable from outside this repository or excluded for the reasons below. Turn on "including exported" to see the ones the index cannot check.`}var jv=N('<p class="state svelte-186vr2"> </p>'),sA=N('<p class="state svelte-186vr2">Reading the graph…</p>'),iA=N(`<p class="warn svelte-186vr2">Exported symbols are on this list. Nothing in this repository references them, but anything
92
+ outside it can — a published package, another service, a script. Read each one before you
93
+ believe it.</p>`),aA=N('<span class="chip svelte-186vr2">exported</span>'),lA=N('<a class="member svelte-186vr2"> </a>'),cA=N('<span class="member more svelte-186vr2"> </span>'),uA=N('<div class="members svelte-186vr2"><!> <!></div>'),dA=N('<div class="row svelte-186vr2"><!> <div class="body svelte-186vr2"><div class="line svelte-186vr2"><button type="button" class="nm svelte-186vr2"> </button> <a class="ln svelte-186vr2"> </a> <!></div> <div class="meta svelte-186vr2"> </div> <!></div></div>'),fA=N('<div><div class="fpath svelte-186vr2"><a class="svelte-186vr2"> </a> <b class="svelte-186vr2"> </b></div> <!></div>'),vA=N('<p class="headline svelte-186vr2"> </p> <div class="groups svelte-186vr2"></div>',1),hA=N("<li> </li>"),gA=N('<ul class="svelte-186vr2"></ul>'),pA=N(`<p class="svelte-186vr2">The rows were not checked against the text of the files that can reach them, so a
94
+ reference the extractor did not record would not have been caught.</p>`),mA=N(`<p class="svelte-186vr2">The scan stopped at its cap — this index holds more unreferenced symbols than were
95
+ considered.</p>`),_A=N('<p class="svelte-186vr2"> </p>'),yA=N('<!> <!> <div class="notes svelte-186vr2"><p class="svelte-186vr2"> </p> <!> <!> <!> <!></div>',1),wA=N(`<div class="scroll svelte-186vr2"><div class="head svelte-186vr2"><h2 class="svelte-186vr2">Dead code</h2> <p class="svelte-186vr2">Symbols no import, call or reference in this index reaches, largest first. Everything below
96
+ is what the graph can see; the notes under the list are what it cannot.</p></div> <div class="bar svelte-186vr2"><p class="caveat svelte-186vr2"> </p> <a> </a></div> <!></div>`);function bA(e,t){Ne(t,!0);let r=Ee(t,"exported",3,!1),o=ae(null),s=ae(null),i=ae(!0);et(()=>{const A=r();Rn.indexTick;const D=new AbortController;return L(i,!0),L(s,null),l1({includeExported:A},D.signal).then(j=>{L(o,j,!0),L(i,!1)}).catch(j=>{D.signal.aborted||(L(s,j instanceof Yn?j.message:"The list could not be read.",!0),L(i,!1))}),()=>D.abort()});let a=S(()=>$I(n(o))),l=S(()=>eA(n(o))),c=S(()=>tA(n(o)));function f(A){Et(cn(A.id,{line:A.line}))}var u=wA(),h=m(v(u),2),d=v(h),g=v(d),p=m(d,2);let y;var w=v(p),M=m(h,2);{var I=A=>{var D=jv(),j=v(D);P(()=>x(j,`Could not read the list — ${n(s)??""}`)),_(A,D)},C=A=>{var D=sA();_(A,D)},T=A=>{var D=yA(),j=ye(D);{var R=$=>{var Z=iA();_($,Z)};V(j,$=>{r()&&$(R)})}var z=m(j,2);{var W=$=>{var Z=jv(),Q=v(Z);P(F=>x(Q,F),[()=>oA(n(o))]),_($,Z)},H=$=>{var Z=vA(),Q=ye(Z),F=v(Q),J=m(Q,2);xe(J,21,()=>n(o).groups,te=>te.file,(te,ie)=>{var ge=fA();let ve;var re=v(ge),ee=v(re),ue=v(ee),ne=m(ee,2),fe=v(ne),he=m(re,2);xe(he,17,()=>n(ie).rows,ce=>ce.id,(ce,we)=>{var de=dA(),me=v(de);Pt(me,{get kind(){return n(we).kind}});var Te=m(me,2),Pe=v(Te),Le=v(Pe),Re=v(Le),Be=m(Le,2),je=v(Be),tt=m(Be,2);{var Ze=_e=>{var Me=aA();_(_e,Me)};V(tt,_e=>{n(we).exported&&_e(Ze)})}var at=m(Pe,2),Ye=v(at),le=m(at,2);{var oe=_e=>{var Me=uA(),Fe=v(Me);xe(Fe,17,()=>n(we).members.items,Ct=>Ct.id,(Ct,Ht)=>{var At=lA(),rt=v(At);P(ct=>{se(At,"href",ct),x(rt,n(Ht).name)},[()=>cn(n(Ht).id)]),_(Ct,At)});var Xe=m(Fe,2);{var dt=Ct=>{var Ht=cA(),At=v(Ht);P(()=>x(At,`+${n(we).members.total-n(we).members.shown} more`)),_(Ct,Ht)};V(Xe,Ct=>{n(we).members.truncated&&Ct(dt)})}_(_e,Me)};V(le,_e=>{n(we).members.items.length>0&&_e(oe)})}P((_e,Me)=>{se(Le,"title",n(we).qualifiedName),se(Le,"data-dead-row",n(we).id),x(Re,n(we).name),se(Be,"href",_e),x(je,`${n(we).file??""}:${n(we).line??""}`),x(Ye,Me)},[()=>tn(n(ie).file,{source:!0,line:n(we).line}),()=>nA(n(we))]),ke("click",Le,()=>f(n(we))),_(ce,de)}),P((ce,we)=>{ve=Ce(ge,1,"filegroup svelte-186vr2",null,ve,{gen:n(ie).generated}),se(ee,"href",ce),se(ee,"title",n(ie).file),x(ue,n(ie).file),x(fe,we)},[()=>tn(n(ie).file),()=>rA(n(ie))]),_(te,ge)}),P(()=>x(F,n(a))),_($,Z)};V(z,$=>{n(o).groups.length===0?$(W):$(H,-1)})}var B=m(z,2),k=v(B),b=v(k),E=m(k,2);{var q=$=>{var Z=gA();xe(Z,20,()=>n(c),Q=>Q,(Q,F)=>{var J=hA(),te=v(J);P(()=>x(te,F)),_(Q,J)}),_($,Z)};V(E,$=>{n(c).length>0&&$(q)})}var O=m(E,2);{var K=$=>{var Z=pA();_($,Z)};V(O,$=>{n(o).corroborated||$(K)})}var Y=m(O,2);{var G=$=>{var Z=mA();_($,Z)};V(Y,$=>{n(o).bounded&&$(G)})}var U=m(Y,2);{var X=$=>{var Z=_A(),Q=v(Z);P(()=>x(Q,`Showing ${n(o).rows.shown??""} of ${n(o).rows.total??""} — the rest are in the index, not on
97
+ this list.`)),_($,Z)};V(U,$=>{n(o).rows.truncated&&$(X)})}P(()=>x(b,n(l))),_(A,D)};V(M,A=>{n(s)?A(I):n(i)&&n(o)===null?A(C,1):n(o)&&A(T,2)})}P(A=>{x(g,JI),y=Ce(p,1,"toggle svelte-186vr2",null,y,{on:r()}),se(p,"href",A),se(p,"title",r()?"Back to symbols nothing outside this repository could import either":"Also list symbols something outside this repository could import — the index cannot check those"),x(w,r()?"Including exported":"Internal only")},[()=>Sa({exported:!r()})]),ke("click",p,A=>{A.preventDefault(),Et(Sa({exported:!r()}))}),_(e,u),Ie()}mt(["click"]);var xA=N('<div class="scroll svelte-wjp3va"><div class="emptystate"><h2>No such view</h2> <p><span class="mono"> </span> does not match a view. Try <a class="mono link svelte-wjp3va" href="#/">the start</a>.</p></div></div>');function kA(e,t){var r=xA(),o=v(r),s=m(v(o),2),i=v(s),a=v(i);P(()=>x(a,`#${t.path??""}`)),_(e,r)}var EA=N('<div class="toast svelte-1ig2a9j"> </div>'),SA=N('<div class="live-region" aria-live="polite"><!></div>');function MA(e,t){Ne(t,!1),Vh();var r=SA(),o=v(r);{var s=i=>{var a=EA(),l=v(a);P(()=>x(l,no.message)),_(i,a)};V(o,i=>{no.message&&i(s)})}_(e,r),Ie()}var TA=N('<!> <!> <main class="svelte-1n46o8q"><!></main> <!>',1);function CA(e,t){Ne(t,!0),et(()=>{Pr.ensure()}),et(()=>{Rn.start()});let r=Rn.indexTick;et(()=>{const z=Rn.indexTick;Ut(()=>{z!==r&&(r=z,Pr.reload(),yt.reloadEntries(),Rt.reload(),no.show("Index updated · reloaded"))})});let o=ae(null),s=S(()=>ti.route),i=S(()=>(Pr.stats?.graph.edgesByKind.navigates??0)>0);et(()=>{const z=ti.route,W=ti.params.get("t");Ut(()=>{zt.hydrate(W),z.view==="symbol"&&z.id!==null&&zt.current?.id!==z.id&&zt.push({id:z.id})})}),et(()=>{zt.hops.length,b1()});function a(z){return z instanceof HTMLElement?z.isContentEditable||z instanceof HTMLInputElement||z instanceof HTMLTextAreaElement||z instanceof HTMLSelectElement:!1}function l(z){if(!z.defaultPrevented){if((z.metaKey||z.ctrlKey)&&z.key.toLowerCase()==="k"){z.preventDefault(),n(o)?.focusSearch();return}if(!(z.metaKey||z.ctrlKey||z.altKey)&&!a(z.target))switch(z.key){case"/":z.preventDefault(),n(o)?.focusSearch();break;case"m":z.preventDefault(),Et(ei());break;case"f":z.preventDefault(),Et(Ho());break;case"e":z.preventDefault(),Et(Au());break;case"s":z.preventDefault(),Et(Wh());break;case"d":z.preventDefault(),Et(Sa());break;case"Backspace":case"[":z.preventDefault(),Q_();break}}}var c=TA();Ge("keydown",fn,l);var f=ye(c);Wt(Ny(f,{get project(){return Pr.name},get stats(){return Pr.summary},get showScreens(){return n(i)}}),z=>L(o,z,!0),()=>n(o));var u=m(f,2);Qy(u,{});var h=m(u,2),d=v(h);{var g=z=>{Gw(z,{get id(){return n(s).id},get line(){return n(s).line}})},p=z=>{yx(z,{get path(){return n(s).path},get line(){return n(s).line}})},y=z=>{bb(z,{get path(){return n(s).path},get line(){return n(s).line}})},w=z=>{ST(z,{get root(){return n(s).root},get depth(){return n(s).depth},get tests(){return n(s).tests}})},M=z=>{RI(z,{get from(){return n(s).from},get to(){return n(s).to},get symbols(){return n(s).symbols},get trailParam(){return n(s).trail}})},I=z=>{QI(z,{get project(){return Pr.name}})},C=z=>{mC(z,{})},T=z=>{rI(z,{get anchor(){return n(s).anchor},get symbol(){return n(s).symbol},get depth(){return n(s).depth},get through(){return n(s).through},get reading(){return n(s).reading}})},A=z=>{bA(z,{get exported(){return n(s).exported}})},D=z=>{kA(z,{get path(){return n(s).path}})},j=z=>{f0(z,{get project(){return Pr.name}})};V(d,z=>{n(s).view==="symbol"&&n(s).id!==null?z(g):n(s).view==="file"&&n(s).source?z(p,1):n(s).view==="file"?z(y,2):n(s).view==="map"?z(w,3):n(s).view==="flow"?z(M,4):n(s).view==="entry"?z(I,5):n(s).view==="screens"||n(s).view==="home"&&n(i)?z(C,6):n(s).view==="steps"?z(T,7):n(s).view==="dead"?z(A,8):n(s).view==="unknown"?z(D,9):z(j,-1)})}var R=m(h,2);MA(R,{}),_(e,c),Ie()}const om=document.getElementById("app");if(!om)throw new Error("codegraph ui: #app host element is missing from index.html");C_(CA,{target:om});