agentdog 1.1.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 (291) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +244 -0
  3. package/dist/adapters/adapter-factory.d.ts +21 -0
  4. package/dist/adapters/adapter-factory.d.ts.map +1 -0
  5. package/dist/adapters/adapter-factory.js +157 -0
  6. package/dist/adapters/adapter-factory.js.map +1 -0
  7. package/dist/adapters/http-sse-adapter.d.ts +49 -0
  8. package/dist/adapters/http-sse-adapter.d.ts.map +1 -0
  9. package/dist/adapters/http-sse-adapter.js +485 -0
  10. package/dist/adapters/http-sse-adapter.js.map +1 -0
  11. package/dist/adapters/stdio-adapter.d.ts +69 -0
  12. package/dist/adapters/stdio-adapter.d.ts.map +1 -0
  13. package/dist/adapters/stdio-adapter.js +664 -0
  14. package/dist/adapters/stdio-adapter.js.map +1 -0
  15. package/dist/adapters/streamable-http-adapter.d.ts +38 -0
  16. package/dist/adapters/streamable-http-adapter.d.ts.map +1 -0
  17. package/dist/adapters/streamable-http-adapter.js +321 -0
  18. package/dist/adapters/streamable-http-adapter.js.map +1 -0
  19. package/dist/ai-gateway/anthropic-errors.d.ts +4 -0
  20. package/dist/ai-gateway/anthropic-errors.d.ts.map +1 -0
  21. package/dist/ai-gateway/anthropic-errors.js +17 -0
  22. package/dist/ai-gateway/anthropic-errors.js.map +1 -0
  23. package/dist/ai-gateway/auth.d.ts +3 -0
  24. package/dist/ai-gateway/auth.d.ts.map +1 -0
  25. package/dist/ai-gateway/auth.js +14 -0
  26. package/dist/ai-gateway/auth.js.map +1 -0
  27. package/dist/ai-gateway/auth.test.d.ts +2 -0
  28. package/dist/ai-gateway/auth.test.d.ts.map +1 -0
  29. package/dist/ai-gateway/auth.test.js +57 -0
  30. package/dist/ai-gateway/auth.test.js.map +1 -0
  31. package/dist/ai-gateway/count-tokens.d.ts +5 -0
  32. package/dist/ai-gateway/count-tokens.d.ts.map +1 -0
  33. package/dist/ai-gateway/count-tokens.js +37 -0
  34. package/dist/ai-gateway/count-tokens.js.map +1 -0
  35. package/dist/ai-gateway/count-tokens.test.d.ts +2 -0
  36. package/dist/ai-gateway/count-tokens.test.d.ts.map +1 -0
  37. package/dist/ai-gateway/count-tokens.test.js +19 -0
  38. package/dist/ai-gateway/count-tokens.test.js.map +1 -0
  39. package/dist/ai-gateway/dialects.d.ts +4 -0
  40. package/dist/ai-gateway/dialects.d.ts.map +1 -0
  41. package/dist/ai-gateway/dialects.js +15 -0
  42. package/dist/ai-gateway/dialects.js.map +1 -0
  43. package/dist/ai-gateway/gateway-server.d.ts +15 -0
  44. package/dist/ai-gateway/gateway-server.d.ts.map +1 -0
  45. package/dist/ai-gateway/gateway-server.js +121 -0
  46. package/dist/ai-gateway/gateway-server.js.map +1 -0
  47. package/dist/ai-gateway/integration.test.d.ts +2 -0
  48. package/dist/ai-gateway/integration.test.d.ts.map +1 -0
  49. package/dist/ai-gateway/integration.test.js +205 -0
  50. package/dist/ai-gateway/integration.test.js.map +1 -0
  51. package/dist/ai-gateway/ir/anthropic-in.d.ts +3 -0
  52. package/dist/ai-gateway/ir/anthropic-in.d.ts.map +1 -0
  53. package/dist/ai-gateway/ir/anthropic-in.js +121 -0
  54. package/dist/ai-gateway/ir/anthropic-in.js.map +1 -0
  55. package/dist/ai-gateway/ir/anthropic-in.test.d.ts +2 -0
  56. package/dist/ai-gateway/ir/anthropic-in.test.d.ts.map +1 -0
  57. package/dist/ai-gateway/ir/anthropic-in.test.js +93 -0
  58. package/dist/ai-gateway/ir/anthropic-in.test.js.map +1 -0
  59. package/dist/ai-gateway/ir/anthropic-sse.d.ts +22 -0
  60. package/dist/ai-gateway/ir/anthropic-sse.d.ts.map +1 -0
  61. package/dist/ai-gateway/ir/anthropic-sse.js +200 -0
  62. package/dist/ai-gateway/ir/anthropic-sse.js.map +1 -0
  63. package/dist/ai-gateway/ir/anthropic-sse.test.d.ts +2 -0
  64. package/dist/ai-gateway/ir/anthropic-sse.test.d.ts.map +1 -0
  65. package/dist/ai-gateway/ir/anthropic-sse.test.js +101 -0
  66. package/dist/ai-gateway/ir/anthropic-sse.test.js.map +1 -0
  67. package/dist/ai-gateway/ir/gemini-out.d.ts +20 -0
  68. package/dist/ai-gateway/ir/gemini-out.d.ts.map +1 -0
  69. package/dist/ai-gateway/ir/gemini-out.js +218 -0
  70. package/dist/ai-gateway/ir/gemini-out.js.map +1 -0
  71. package/dist/ai-gateway/ir/gemini-out.test.d.ts +2 -0
  72. package/dist/ai-gateway/ir/gemini-out.test.d.ts.map +1 -0
  73. package/dist/ai-gateway/ir/gemini-out.test.js +125 -0
  74. package/dist/ai-gateway/ir/gemini-out.test.js.map +1 -0
  75. package/dist/ai-gateway/ir/openai-out.d.ts +17 -0
  76. package/dist/ai-gateway/ir/openai-out.d.ts.map +1 -0
  77. package/dist/ai-gateway/ir/openai-out.js +226 -0
  78. package/dist/ai-gateway/ir/openai-out.js.map +1 -0
  79. package/dist/ai-gateway/ir/openai-out.test.d.ts +2 -0
  80. package/dist/ai-gateway/ir/openai-out.test.d.ts.map +1 -0
  81. package/dist/ai-gateway/ir/openai-out.test.js +144 -0
  82. package/dist/ai-gateway/ir/openai-out.test.js.map +1 -0
  83. package/dist/ai-gateway/ir/types.d.ts +77 -0
  84. package/dist/ai-gateway/ir/types.d.ts.map +1 -0
  85. package/dist/ai-gateway/ir/types.js +4 -0
  86. package/dist/ai-gateway/ir/types.js.map +1 -0
  87. package/dist/ai-gateway/ir-channel.d.ts +15 -0
  88. package/dist/ai-gateway/ir-channel.d.ts.map +1 -0
  89. package/dist/ai-gateway/ir-channel.js +120 -0
  90. package/dist/ai-gateway/ir-channel.js.map +1 -0
  91. package/dist/ai-gateway/model-router.d.ts +11 -0
  92. package/dist/ai-gateway/model-router.d.ts.map +1 -0
  93. package/dist/ai-gateway/model-router.js +27 -0
  94. package/dist/ai-gateway/model-router.js.map +1 -0
  95. package/dist/ai-gateway/model-router.test.d.ts +2 -0
  96. package/dist/ai-gateway/model-router.test.d.ts.map +1 -0
  97. package/dist/ai-gateway/model-router.test.js +43 -0
  98. package/dist/ai-gateway/model-router.test.js.map +1 -0
  99. package/dist/ai-gateway/passthrough.d.ts +9 -0
  100. package/dist/ai-gateway/passthrough.d.ts.map +1 -0
  101. package/dist/ai-gateway/passthrough.js +81 -0
  102. package/dist/ai-gateway/passthrough.js.map +1 -0
  103. package/dist/ai-gateway/passthrough.test.d.ts +2 -0
  104. package/dist/ai-gateway/passthrough.test.d.ts.map +1 -0
  105. package/dist/ai-gateway/passthrough.test.js +108 -0
  106. package/dist/ai-gateway/passthrough.test.js.map +1 -0
  107. package/dist/ai-gateway/upstream/model-lister.d.ts +13 -0
  108. package/dist/ai-gateway/upstream/model-lister.d.ts.map +1 -0
  109. package/dist/ai-gateway/upstream/model-lister.js +61 -0
  110. package/dist/ai-gateway/upstream/model-lister.js.map +1 -0
  111. package/dist/ai-gateway/upstream/provider-client.d.ts +20 -0
  112. package/dist/ai-gateway/upstream/provider-client.d.ts.map +1 -0
  113. package/dist/ai-gateway/upstream/provider-client.js +76 -0
  114. package/dist/ai-gateway/upstream/provider-client.js.map +1 -0
  115. package/dist/ai-gateway/upstream/provider-client.test.d.ts +2 -0
  116. package/dist/ai-gateway/upstream/provider-client.test.d.ts.map +1 -0
  117. package/dist/ai-gateway/upstream/provider-client.test.js +69 -0
  118. package/dist/ai-gateway/upstream/provider-client.test.js.map +1 -0
  119. package/dist/cli/cli-main.d.ts +7 -0
  120. package/dist/cli/cli-main.d.ts.map +1 -0
  121. package/dist/cli/cli-main.js +116 -0
  122. package/dist/cli/cli-main.js.map +1 -0
  123. package/dist/cli/cli-router.d.ts +20 -0
  124. package/dist/cli/cli-router.d.ts.map +1 -0
  125. package/dist/cli/cli-router.js +271 -0
  126. package/dist/cli/cli-router.js.map +1 -0
  127. package/dist/cli/cli-utils.d.ts +30 -0
  128. package/dist/cli/cli-utils.d.ts.map +1 -0
  129. package/dist/cli/cli-utils.js +219 -0
  130. package/dist/cli/cli-utils.js.map +1 -0
  131. package/dist/cli/commands/audit-commands.d.ts +30 -0
  132. package/dist/cli/commands/audit-commands.d.ts.map +1 -0
  133. package/dist/cli/commands/audit-commands.js +417 -0
  134. package/dist/cli/commands/audit-commands.js.map +1 -0
  135. package/dist/cli/commands/autostart-command.d.ts +21 -0
  136. package/dist/cli/commands/autostart-command.d.ts.map +1 -0
  137. package/dist/cli/commands/autostart-command.js +243 -0
  138. package/dist/cli/commands/autostart-command.js.map +1 -0
  139. package/dist/cli/commands/autostart-command.test.d.ts +2 -0
  140. package/dist/cli/commands/autostart-command.test.d.ts.map +1 -0
  141. package/dist/cli/commands/autostart-command.test.js +35 -0
  142. package/dist/cli/commands/autostart-command.test.js.map +1 -0
  143. package/dist/cli/commands/config-commands.d.ts +30 -0
  144. package/dist/cli/commands/config-commands.d.ts.map +1 -0
  145. package/dist/cli/commands/config-commands.js +1013 -0
  146. package/dist/cli/commands/config-commands.js.map +1 -0
  147. package/dist/cli/commands/daemon-commands.d.ts +76 -0
  148. package/dist/cli/commands/daemon-commands.d.ts.map +1 -0
  149. package/dist/cli/commands/daemon-commands.js +451 -0
  150. package/dist/cli/commands/daemon-commands.js.map +1 -0
  151. package/dist/cli/commands/detect-commands.d.ts +17 -0
  152. package/dist/cli/commands/detect-commands.d.ts.map +1 -0
  153. package/dist/cli/commands/detect-commands.js +293 -0
  154. package/dist/cli/commands/detect-commands.js.map +1 -0
  155. package/dist/cli/commands/diagnose-commands.d.ts +19 -0
  156. package/dist/cli/commands/diagnose-commands.d.ts.map +1 -0
  157. package/dist/cli/commands/diagnose-commands.js +326 -0
  158. package/dist/cli/commands/diagnose-commands.js.map +1 -0
  159. package/dist/cli/commands/optimize-commands.d.ts +14 -0
  160. package/dist/cli/commands/optimize-commands.d.ts.map +1 -0
  161. package/dist/cli/commands/optimize-commands.js +189 -0
  162. package/dist/cli/commands/optimize-commands.js.map +1 -0
  163. package/dist/cli/commands/proxy-command.d.ts +27 -0
  164. package/dist/cli/commands/proxy-command.d.ts.map +1 -0
  165. package/dist/cli/commands/proxy-command.js +212 -0
  166. package/dist/cli/commands/proxy-command.js.map +1 -0
  167. package/dist/cli/commands/start-command.d.ts +22 -0
  168. package/dist/cli/commands/start-command.d.ts.map +1 -0
  169. package/dist/cli/commands/start-command.js +275 -0
  170. package/dist/cli/commands/start-command.js.map +1 -0
  171. package/dist/config/config-manager.d.ts +125 -0
  172. package/dist/config/config-manager.d.ts.map +1 -0
  173. package/dist/config/config-manager.js +569 -0
  174. package/dist/config/config-manager.js.map +1 -0
  175. package/dist/config/config-manager.test.d.ts +2 -0
  176. package/dist/config/config-manager.test.d.ts.map +1 -0
  177. package/dist/config/config-manager.test.js +209 -0
  178. package/dist/config/config-manager.test.js.map +1 -0
  179. package/dist/core/auto-config-generator.d.ts +55 -0
  180. package/dist/core/auto-config-generator.d.ts.map +1 -0
  181. package/dist/core/auto-config-generator.js +278 -0
  182. package/dist/core/auto-config-generator.js.map +1 -0
  183. package/dist/core/mcpdog-server.d.ts +49 -0
  184. package/dist/core/mcpdog-server.d.ts.map +1 -0
  185. package/dist/core/mcpdog-server.js +552 -0
  186. package/dist/core/mcpdog-server.js.map +1 -0
  187. package/dist/core/protocol-detector.d.ts +56 -0
  188. package/dist/core/protocol-detector.d.ts.map +1 -0
  189. package/dist/core/protocol-detector.js +365 -0
  190. package/dist/core/protocol-detector.js.map +1 -0
  191. package/dist/daemon/daemon-client.d.ts +34 -0
  192. package/dist/daemon/daemon-client.d.ts.map +1 -0
  193. package/dist/daemon/daemon-client.js +130 -0
  194. package/dist/daemon/daemon-client.js.map +1 -0
  195. package/dist/daemon/daemon-client.test.d.ts +2 -0
  196. package/dist/daemon/daemon-client.test.d.ts.map +1 -0
  197. package/dist/daemon/daemon-client.test.js +77 -0
  198. package/dist/daemon/daemon-client.test.js.map +1 -0
  199. package/dist/daemon/daemon-info.d.ts +7 -0
  200. package/dist/daemon/daemon-info.d.ts.map +1 -0
  201. package/dist/daemon/daemon-info.js +34 -0
  202. package/dist/daemon/daemon-info.js.map +1 -0
  203. package/dist/daemon/daemon-info.test.d.ts +2 -0
  204. package/dist/daemon/daemon-info.test.d.ts.map +1 -0
  205. package/dist/daemon/daemon-info.test.js +57 -0
  206. package/dist/daemon/daemon-info.test.js.map +1 -0
  207. package/dist/daemon/daemon-web-server.ai.test.d.ts +2 -0
  208. package/dist/daemon/daemon-web-server.ai.test.d.ts.map +1 -0
  209. package/dist/daemon/daemon-web-server.ai.test.js +119 -0
  210. package/dist/daemon/daemon-web-server.ai.test.js.map +1 -0
  211. package/dist/daemon/daemon-web-server.d.ts +59 -0
  212. package/dist/daemon/daemon-web-server.d.ts.map +1 -0
  213. package/dist/daemon/daemon-web-server.js +1236 -0
  214. package/dist/daemon/daemon-web-server.js.map +1 -0
  215. package/dist/daemon/daemon-web-server.test.d.ts +2 -0
  216. package/dist/daemon/daemon-web-server.test.d.ts.map +1 -0
  217. package/dist/daemon/daemon-web-server.test.js +93 -0
  218. package/dist/daemon/daemon-web-server.test.js.map +1 -0
  219. package/dist/daemon/mcpdog-daemon.d.ts +42 -0
  220. package/dist/daemon/mcpdog-daemon.d.ts.map +1 -0
  221. package/dist/daemon/mcpdog-daemon.js +302 -0
  222. package/dist/daemon/mcpdog-daemon.js.map +1 -0
  223. package/dist/daemon/stdio-proxy.d.ts +17 -0
  224. package/dist/daemon/stdio-proxy.d.ts.map +1 -0
  225. package/dist/daemon/stdio-proxy.js +143 -0
  226. package/dist/daemon/stdio-proxy.js.map +1 -0
  227. package/dist/index.d.ts +14 -0
  228. package/dist/index.d.ts.map +1 -0
  229. package/dist/index.js +198 -0
  230. package/dist/index.js.map +1 -0
  231. package/dist/intent-analyzer.d.ts +27 -0
  232. package/dist/intent-analyzer.d.ts.map +1 -0
  233. package/dist/intent-analyzer.js +140 -0
  234. package/dist/intent-analyzer.js.map +1 -0
  235. package/dist/logging/server-log-manager.d.ts +75 -0
  236. package/dist/logging/server-log-manager.d.ts.map +1 -0
  237. package/dist/logging/server-log-manager.js +185 -0
  238. package/dist/logging/server-log-manager.js.map +1 -0
  239. package/dist/mcp-registry.d.ts +35 -0
  240. package/dist/mcp-registry.d.ts.map +1 -0
  241. package/dist/mcp-registry.js +166 -0
  242. package/dist/mcp-registry.js.map +1 -0
  243. package/dist/middleware/auth.d.ts +5 -0
  244. package/dist/middleware/auth.d.ts.map +1 -0
  245. package/dist/middleware/auth.js +81 -0
  246. package/dist/middleware/auth.js.map +1 -0
  247. package/dist/mock-tool-database.d.ts +41 -0
  248. package/dist/mock-tool-database.d.ts.map +1 -0
  249. package/dist/mock-tool-database.js +461 -0
  250. package/dist/mock-tool-database.js.map +1 -0
  251. package/dist/proxy-server-manager.d.ts +11 -0
  252. package/dist/proxy-server-manager.d.ts.map +1 -0
  253. package/dist/proxy-server-manager.js +144 -0
  254. package/dist/proxy-server-manager.js.map +1 -0
  255. package/dist/router/tool-router.d.ts +61 -0
  256. package/dist/router/tool-router.d.ts.map +1 -0
  257. package/dist/router/tool-router.js +539 -0
  258. package/dist/router/tool-router.js.map +1 -0
  259. package/dist/router/tool-router.test.d.ts +2 -0
  260. package/dist/router/tool-router.test.d.ts.map +1 -0
  261. package/dist/router/tool-router.test.js +113 -0
  262. package/dist/router/tool-router.test.js.map +1 -0
  263. package/dist/streamable-http-server.d.ts +27 -0
  264. package/dist/streamable-http-server.d.ts.map +1 -0
  265. package/dist/streamable-http-server.js +302 -0
  266. package/dist/streamable-http-server.js.map +1 -0
  267. package/dist/tool-finder.d.ts +21 -0
  268. package/dist/tool-finder.d.ts.map +1 -0
  269. package/dist/tool-finder.js +86 -0
  270. package/dist/tool-finder.js.map +1 -0
  271. package/dist/tool-recommender.d.ts +23 -0
  272. package/dist/tool-recommender.d.ts.map +1 -0
  273. package/dist/tool-recommender.js +200 -0
  274. package/dist/tool-recommender.js.map +1 -0
  275. package/dist/types/index.d.ts +145 -0
  276. package/dist/types/index.d.ts.map +1 -0
  277. package/dist/types/index.js +2 -0
  278. package/dist/types/index.js.map +1 -0
  279. package/dist/utils/server-name-validator.d.ts +47 -0
  280. package/dist/utils/server-name-validator.d.ts.map +1 -0
  281. package/dist/utils/server-name-validator.js +156 -0
  282. package/dist/utils/server-name-validator.js.map +1 -0
  283. package/dist/web/web-server.d.ts +44 -0
  284. package/dist/web/web-server.d.ts.map +1 -0
  285. package/dist/web/web-server.js +500 -0
  286. package/dist/web/web-server.js.map +1 -0
  287. package/package.json +68 -0
  288. package/web/dist/assets/index-DMVhVtNU.css +1 -0
  289. package/web/dist/assets/index-VMXIgcOH.js +92 -0
  290. package/web/dist/assets/index-VMXIgcOH.js.map +1 -0
  291. package/web/dist/index.html +14 -0
@@ -0,0 +1,92 @@
1
+ var Ad=Object.defineProperty;var Md=(e,t,n)=>t in e?Ad(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Oi=(e,t,n)=>Md(e,typeof t!="symbol"?t+"":t,n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const l of s)if(l.type==="childList")for(const i of l.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(s){const l={};return s.integrity&&(l.integrity=s.integrity),s.referrerPolicy&&(l.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?l.credentials="include":s.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function r(s){if(s.ep)return;s.ep=!0;const l=n(s);fetch(s.href,l)}})();function Za(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var eu={exports:{}},Ls={},tu={exports:{}},I={};/**
2
+ * @license React
3
+ * react.production.min.js
4
+ *
5
+ * Copyright (c) Facebook, Inc. and its affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */var xr=Symbol.for("react.element"),zd=Symbol.for("react.portal"),Id=Symbol.for("react.fragment"),$d=Symbol.for("react.strict_mode"),Dd=Symbol.for("react.profiler"),Bd=Symbol.for("react.provider"),Fd=Symbol.for("react.context"),Ud=Symbol.for("react.forward_ref"),Hd=Symbol.for("react.suspense"),Vd=Symbol.for("react.memo"),Wd=Symbol.for("react.lazy"),Ai=Symbol.iterator;function Kd(e){return e===null||typeof e!="object"?null:(e=Ai&&e[Ai]||e["@@iterator"],typeof e=="function"?e:null)}var nu={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},ru=Object.assign,su={};function bn(e,t,n){this.props=e,this.context=t,this.refs=su,this.updater=n||nu}bn.prototype.isReactComponent={};bn.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};bn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function lu(){}lu.prototype=bn.prototype;function Lo(e,t,n){this.props=e,this.context=t,this.refs=su,this.updater=n||nu}var Oo=Lo.prototype=new lu;Oo.constructor=Lo;ru(Oo,bn.prototype);Oo.isPureReactComponent=!0;var Mi=Array.isArray,ou=Object.prototype.hasOwnProperty,Ao={current:null},iu={key:!0,ref:!0,__self:!0,__source:!0};function au(e,t,n){var r,s={},l=null,i=null;if(t!=null)for(r in t.ref!==void 0&&(i=t.ref),t.key!==void 0&&(l=""+t.key),t)ou.call(t,r)&&!iu.hasOwnProperty(r)&&(s[r]=t[r]);var a=arguments.length-2;if(a===1)s.children=n;else if(1<a){for(var u=Array(a),h=0;h<a;h++)u[h]=arguments[h+2];s.children=u}if(e&&e.defaultProps)for(r in a=e.defaultProps,a)s[r]===void 0&&(s[r]=a[r]);return{$$typeof:xr,type:e,key:l,ref:i,props:s,_owner:Ao.current}}function qd(e,t){return{$$typeof:xr,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function Mo(e){return typeof e=="object"&&e!==null&&e.$$typeof===xr}function Qd(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var zi=/\/+/g;function Zs(e,t){return typeof e=="object"&&e!==null&&e.key!=null?Qd(""+e.key):t.toString(36)}function Hr(e,t,n,r,s){var l=typeof e;(l==="undefined"||l==="boolean")&&(e=null);var i=!1;if(e===null)i=!0;else switch(l){case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case xr:case zd:i=!0}}if(i)return i=e,s=s(i),e=r===""?"."+Zs(i,0):r,Mi(s)?(n="",e!=null&&(n=e.replace(zi,"$&/")+"/"),Hr(s,t,n,"",function(h){return h})):s!=null&&(Mo(s)&&(s=qd(s,n+(!s.key||i&&i.key===s.key?"":(""+s.key).replace(zi,"$&/")+"/")+e)),t.push(s)),1;if(i=0,r=r===""?".":r+":",Mi(e))for(var a=0;a<e.length;a++){l=e[a];var u=r+Zs(l,a);i+=Hr(l,t,n,u,s)}else if(u=Kd(e),typeof u=="function")for(e=u.call(e),a=0;!(l=e.next()).done;)l=l.value,u=r+Zs(l,a++),i+=Hr(l,t,n,u,s);else if(l==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return i}function jr(e,t,n){if(e==null)return e;var r=[],s=0;return Hr(e,r,"","",function(l){return t.call(n,l,s++)}),r}function Yd(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var xe={current:null},Vr={transition:null},Gd={ReactCurrentDispatcher:xe,ReactCurrentBatchConfig:Vr,ReactCurrentOwner:Ao};function uu(){throw Error("act(...) is not supported in production builds of React.")}I.Children={map:jr,forEach:function(e,t,n){jr(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return jr(e,function(){t++}),t},toArray:function(e){return jr(e,function(t){return t})||[]},only:function(e){if(!Mo(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};I.Component=bn;I.Fragment=Id;I.Profiler=Dd;I.PureComponent=Lo;I.StrictMode=$d;I.Suspense=Hd;I.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Gd;I.act=uu;I.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=ru({},e.props),s=e.key,l=e.ref,i=e._owner;if(t!=null){if(t.ref!==void 0&&(l=t.ref,i=Ao.current),t.key!==void 0&&(s=""+t.key),e.type&&e.type.defaultProps)var a=e.type.defaultProps;for(u in t)ou.call(t,u)&&!iu.hasOwnProperty(u)&&(r[u]=t[u]===void 0&&a!==void 0?a[u]:t[u])}var u=arguments.length-2;if(u===1)r.children=n;else if(1<u){a=Array(u);for(var h=0;h<u;h++)a[h]=arguments[h+2];r.children=a}return{$$typeof:xr,type:e.type,key:s,ref:l,props:r,_owner:i}};I.createContext=function(e){return e={$$typeof:Fd,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:Bd,_context:e},e.Consumer=e};I.createElement=au;I.createFactory=function(e){var t=au.bind(null,e);return t.type=e,t};I.createRef=function(){return{current:null}};I.forwardRef=function(e){return{$$typeof:Ud,render:e}};I.isValidElement=Mo;I.lazy=function(e){return{$$typeof:Wd,_payload:{_status:-1,_result:e},_init:Yd}};I.memo=function(e,t){return{$$typeof:Vd,type:e,compare:t===void 0?null:t}};I.startTransition=function(e){var t=Vr.transition;Vr.transition={};try{e()}finally{Vr.transition=t}};I.unstable_act=uu;I.useCallback=function(e,t){return xe.current.useCallback(e,t)};I.useContext=function(e){return xe.current.useContext(e)};I.useDebugValue=function(){};I.useDeferredValue=function(e){return xe.current.useDeferredValue(e)};I.useEffect=function(e,t){return xe.current.useEffect(e,t)};I.useId=function(){return xe.current.useId()};I.useImperativeHandle=function(e,t,n){return xe.current.useImperativeHandle(e,t,n)};I.useInsertionEffect=function(e,t){return xe.current.useInsertionEffect(e,t)};I.useLayoutEffect=function(e,t){return xe.current.useLayoutEffect(e,t)};I.useMemo=function(e,t){return xe.current.useMemo(e,t)};I.useReducer=function(e,t,n){return xe.current.useReducer(e,t,n)};I.useRef=function(e){return xe.current.useRef(e)};I.useState=function(e){return xe.current.useState(e)};I.useSyncExternalStore=function(e,t,n){return xe.current.useSyncExternalStore(e,t,n)};I.useTransition=function(){return xe.current.useTransition()};I.version="18.3.1";tu.exports=I;var L=tu.exports;const zo=Za(L);/**
10
+ * @license React
11
+ * react-jsx-runtime.production.min.js
12
+ *
13
+ * Copyright (c) Facebook, Inc. and its affiliates.
14
+ *
15
+ * This source code is licensed under the MIT license found in the
16
+ * LICENSE file in the root directory of this source tree.
17
+ */var Xd=L,Jd=Symbol.for("react.element"),Zd=Symbol.for("react.fragment"),ef=Object.prototype.hasOwnProperty,tf=Xd.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,nf={key:!0,ref:!0,__self:!0,__source:!0};function cu(e,t,n){var r,s={},l=null,i=null;n!==void 0&&(l=""+n),t.key!==void 0&&(l=""+t.key),t.ref!==void 0&&(i=t.ref);for(r in t)ef.call(t,r)&&!nf.hasOwnProperty(r)&&(s[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)s[r]===void 0&&(s[r]=t[r]);return{$$typeof:Jd,type:e,key:l,ref:i,props:s,_owner:tf.current}}Ls.Fragment=Zd;Ls.jsx=cu;Ls.jsxs=cu;eu.exports=Ls;var o=eu.exports,Ll={},du={exports:{}},Pe={},fu={exports:{}},hu={};/**
18
+ * @license React
19
+ * scheduler.production.min.js
20
+ *
21
+ * Copyright (c) Facebook, Inc. and its affiliates.
22
+ *
23
+ * This source code is licensed under the MIT license found in the
24
+ * LICENSE file in the root directory of this source tree.
25
+ */(function(e){function t(m,x){var S=m.length;m.push(x);e:for(;0<S;){var _=S-1>>>1,P=m[_];if(0<s(P,x))m[_]=x,m[S]=P,S=_;else break e}}function n(m){return m.length===0?null:m[0]}function r(m){if(m.length===0)return null;var x=m[0],S=m.pop();if(S!==x){m[0]=S;e:for(var _=0,P=m.length,M=P>>>1;_<M;){var B=2*(_+1)-1,G=m[B],H=B+1,fe=m[H];if(0>s(G,S))H<P&&0>s(fe,G)?(m[_]=fe,m[H]=S,_=H):(m[_]=G,m[B]=S,_=B);else if(H<P&&0>s(fe,S))m[_]=fe,m[H]=S,_=H;else break e}}return x}function s(m,x){var S=m.sortIndex-x.sortIndex;return S!==0?S:m.id-x.id}if(typeof performance=="object"&&typeof performance.now=="function"){var l=performance;e.unstable_now=function(){return l.now()}}else{var i=Date,a=i.now();e.unstable_now=function(){return i.now()-a}}var u=[],h=[],y=1,p=null,c=3,w=!1,v=!1,N=!1,A=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,d=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function f(m){for(var x=n(h);x!==null;){if(x.callback===null)r(h);else if(x.startTime<=m)r(h),x.sortIndex=x.expirationTime,t(u,x);else break;x=n(h)}}function k(m){if(N=!1,f(m),!v)if(n(u)!==null)v=!0,ht(E);else{var x=n(h);x!==null&&b(k,x.startTime-m)}}function E(m,x){v=!1,N&&(N=!1,g(O),O=-1),w=!0;var S=c;try{for(f(x),p=n(u);p!==null&&(!(p.expirationTime>x)||m&&!de());){var _=p.callback;if(typeof _=="function"){p.callback=null,c=p.priorityLevel;var P=_(p.expirationTime<=x);x=e.unstable_now(),typeof P=="function"?p.callback=P:p===n(u)&&r(u),f(x)}else r(u);p=n(u)}if(p!==null)var M=!0;else{var B=n(h);B!==null&&b(k,B.startTime-x),M=!1}return M}finally{p=null,c=S,w=!1}}var C=!1,T=null,O=-1,U=5,z=-1;function de(){return!(e.unstable_now()-z<U)}function Qe(){if(T!==null){var m=e.unstable_now();z=m;var x=!0;try{x=T(!0,m)}finally{x?nt():(C=!1,T=null)}}else C=!1}var nt;if(typeof d=="function")nt=function(){d(Qe)};else if(typeof MessageChannel<"u"){var Jt=new MessageChannel,Rn=Jt.port2;Jt.port1.onmessage=Qe,nt=function(){Rn.postMessage(null)}}else nt=function(){A(Qe,0)};function ht(m){T=m,C||(C=!0,nt())}function b(m,x){O=A(function(){m(e.unstable_now())},x)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(m){m.callback=null},e.unstable_continueExecution=function(){v||w||(v=!0,ht(E))},e.unstable_forceFrameRate=function(m){0>m||125<m?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):U=0<m?Math.floor(1e3/m):5},e.unstable_getCurrentPriorityLevel=function(){return c},e.unstable_getFirstCallbackNode=function(){return n(u)},e.unstable_next=function(m){switch(c){case 1:case 2:case 3:var x=3;break;default:x=c}var S=c;c=x;try{return m()}finally{c=S}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(m,x){switch(m){case 1:case 2:case 3:case 4:case 5:break;default:m=3}var S=c;c=m;try{return x()}finally{c=S}},e.unstable_scheduleCallback=function(m,x,S){var _=e.unstable_now();switch(typeof S=="object"&&S!==null?(S=S.delay,S=typeof S=="number"&&0<S?_+S:_):S=_,m){case 1:var P=-1;break;case 2:P=250;break;case 5:P=1073741823;break;case 4:P=1e4;break;default:P=5e3}return P=S+P,m={id:y++,callback:x,priorityLevel:m,startTime:S,expirationTime:P,sortIndex:-1},S>_?(m.sortIndex=S,t(h,m),n(u)===null&&m===n(h)&&(N?(g(O),O=-1):N=!0,b(k,S-_))):(m.sortIndex=P,t(u,m),v||w||(v=!0,ht(E))),m},e.unstable_shouldYield=de,e.unstable_wrapCallback=function(m){var x=c;return function(){var S=c;c=x;try{return m.apply(this,arguments)}finally{c=S}}}})(hu);fu.exports=hu;var rf=fu.exports;/**
26
+ * @license React
27
+ * react-dom.production.min.js
28
+ *
29
+ * Copyright (c) Facebook, Inc. and its affiliates.
30
+ *
31
+ * This source code is licensed under the MIT license found in the
32
+ * LICENSE file in the root directory of this source tree.
33
+ */var sf=L,Te=rf;function j(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var pu=new Set,tr={};function Gt(e,t){xn(e,t),xn(e+"Capture",t)}function xn(e,t){for(tr[e]=t,e=0;e<t.length;e++)pu.add(t[e])}var at=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ol=Object.prototype.hasOwnProperty,lf=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Ii={},$i={};function of(e){return Ol.call($i,e)?!0:Ol.call(Ii,e)?!1:lf.test(e)?$i[e]=!0:(Ii[e]=!0,!1)}function af(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function uf(e,t,n,r){if(t===null||typeof t>"u"||af(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function we(e,t,n,r,s,l,i){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=s,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=l,this.removeEmptyString=i}var ce={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ce[e]=new we(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ce[t]=new we(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ce[e]=new we(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ce[e]=new we(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ce[e]=new we(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ce[e]=new we(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ce[e]=new we(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ce[e]=new we(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ce[e]=new we(e,5,!1,e.toLowerCase(),null,!1,!1)});var Io=/[\-:]([a-z])/g;function $o(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Io,$o);ce[t]=new we(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Io,$o);ce[t]=new we(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Io,$o);ce[t]=new we(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ce[e]=new we(e,1,!1,e.toLowerCase(),null,!1,!1)});ce.xlinkHref=new we("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ce[e]=new we(e,1,!1,e.toLowerCase(),null,!0,!0)});function Do(e,t,n,r){var s=ce.hasOwnProperty(t)?ce[t]:null;(s!==null?s.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(uf(t,n,s,r)&&(n=null),r||s===null?of(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,""+n)):s.mustUseProperty?e[s.propertyName]=n===null?s.type===3?!1:"":n:(t=s.attributeName,r=s.attributeNamespace,n===null?e.removeAttribute(t):(s=s.type,n=s===3||s===4&&n===!0?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var ft=sf.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Cr=Symbol.for("react.element"),en=Symbol.for("react.portal"),tn=Symbol.for("react.fragment"),Bo=Symbol.for("react.strict_mode"),Al=Symbol.for("react.profiler"),mu=Symbol.for("react.provider"),gu=Symbol.for("react.context"),Fo=Symbol.for("react.forward_ref"),Ml=Symbol.for("react.suspense"),zl=Symbol.for("react.suspense_list"),Uo=Symbol.for("react.memo"),mt=Symbol.for("react.lazy"),yu=Symbol.for("react.offscreen"),Di=Symbol.iterator;function Ln(e){return e===null||typeof e!="object"?null:(e=Di&&e[Di]||e["@@iterator"],typeof e=="function"?e:null)}var Z=Object.assign,el;function Fn(e){if(el===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);el=t&&t[1]||""}return`
34
+ `+el+e}var tl=!1;function nl(e,t){if(!e||tl)return"";tl=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(h){var r=h}Reflect.construct(e,[],t)}else{try{t.call()}catch(h){r=h}e.call(t.prototype)}else{try{throw Error()}catch(h){r=h}e()}}catch(h){if(h&&r&&typeof h.stack=="string"){for(var s=h.stack.split(`
35
+ `),l=r.stack.split(`
36
+ `),i=s.length-1,a=l.length-1;1<=i&&0<=a&&s[i]!==l[a];)a--;for(;1<=i&&0<=a;i--,a--)if(s[i]!==l[a]){if(i!==1||a!==1)do if(i--,a--,0>a||s[i]!==l[a]){var u=`
37
+ `+s[i].replace(" at new "," at ");return e.displayName&&u.includes("<anonymous>")&&(u=u.replace("<anonymous>",e.displayName)),u}while(1<=i&&0<=a);break}}}finally{tl=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Fn(e):""}function cf(e){switch(e.tag){case 5:return Fn(e.type);case 16:return Fn("Lazy");case 13:return Fn("Suspense");case 19:return Fn("SuspenseList");case 0:case 2:case 15:return e=nl(e.type,!1),e;case 11:return e=nl(e.type.render,!1),e;case 1:return e=nl(e.type,!0),e;default:return""}}function Il(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case tn:return"Fragment";case en:return"Portal";case Al:return"Profiler";case Bo:return"StrictMode";case Ml:return"Suspense";case zl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case gu:return(e.displayName||"Context")+".Consumer";case mu:return(e._context.displayName||"Context")+".Provider";case Fo:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Uo:return t=e.displayName||null,t!==null?t:Il(e.type)||"Memo";case mt:t=e._payload,e=e._init;try{return Il(e(t))}catch{}}return null}function df(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Il(t);case 8:return t===Bo?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Pt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function vu(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function ff(e){var t=vu(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var s=n.get,l=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(i){r=""+i,l.call(this,i)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(i){r=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Er(e){e._valueTracker||(e._valueTracker=ff(e))}function xu(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=vu(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function ls(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function $l(e,t){var n=t.checked;return Z({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Bi(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Pt(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function wu(e,t){t=t.checked,t!=null&&Do(e,"checked",t,!1)}function Dl(e,t){wu(e,t);var n=Pt(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Bl(e,t.type,n):t.hasOwnProperty("defaultValue")&&Bl(e,t.type,Pt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Fi(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Bl(e,t,n){(t!=="number"||ls(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Un=Array.isArray;function hn(e,t,n,r){if(e=e.options,t){t={};for(var s=0;s<n.length;s++)t["$"+n[s]]=!0;for(n=0;n<e.length;n++)s=t.hasOwnProperty("$"+e[n].value),e[n].selected!==s&&(e[n].selected=s),s&&r&&(e[n].defaultSelected=!0)}else{for(n=""+Pt(n),t=null,s=0;s<e.length;s++){if(e[s].value===n){e[s].selected=!0,r&&(e[s].defaultSelected=!0);return}t!==null||e[s].disabled||(t=e[s])}t!==null&&(t.selected=!0)}}function Fl(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(j(91));return Z({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Ui(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(j(92));if(Un(n)){if(1<n.length)throw Error(j(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:Pt(n)}}function Su(e,t){var n=Pt(t.value),r=Pt(t.defaultValue);n!=null&&(n=""+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=""+r)}function Hi(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function ku(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Ul(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?ku(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var br,Nu=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,r,s){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,s)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(br=br||document.createElement("div"),br.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=br.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function nr(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Kn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},hf=["Webkit","ms","Moz","O"];Object.keys(Kn).forEach(function(e){hf.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Kn[t]=Kn[e]})});function ju(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Kn.hasOwnProperty(e)&&Kn[e]?(""+t).trim():t+"px"}function Cu(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,s=ju(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,s):e[n]=s}}var pf=Z({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Hl(e,t){if(t){if(pf[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(j(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(j(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(j(61))}if(t.style!=null&&typeof t.style!="object")throw Error(j(62))}}function Vl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Wl=null;function Ho(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Kl=null,pn=null,mn=null;function Vi(e){if(e=kr(e)){if(typeof Kl!="function")throw Error(j(280));var t=e.stateNode;t&&(t=Is(t),Kl(e.stateNode,e.type,t))}}function Eu(e){pn?mn?mn.push(e):mn=[e]:pn=e}function bu(){if(pn){var e=pn,t=mn;if(mn=pn=null,Vi(e),t)for(e=0;e<t.length;e++)Vi(t[e])}}function _u(e,t){return e(t)}function Tu(){}var rl=!1;function Pu(e,t,n){if(rl)return e(t,n);rl=!0;try{return _u(e,t,n)}finally{rl=!1,(pn!==null||mn!==null)&&(Tu(),bu())}}function rr(e,t){var n=e.stateNode;if(n===null)return null;var r=Is(n);if(r===null)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(j(231,t,typeof n));return n}var ql=!1;if(at)try{var On={};Object.defineProperty(On,"passive",{get:function(){ql=!0}}),window.addEventListener("test",On,On),window.removeEventListener("test",On,On)}catch{ql=!1}function mf(e,t,n,r,s,l,i,a,u){var h=Array.prototype.slice.call(arguments,3);try{t.apply(n,h)}catch(y){this.onError(y)}}var qn=!1,os=null,is=!1,Ql=null,gf={onError:function(e){qn=!0,os=e}};function yf(e,t,n,r,s,l,i,a,u){qn=!1,os=null,mf.apply(gf,arguments)}function vf(e,t,n,r,s,l,i,a,u){if(yf.apply(this,arguments),qn){if(qn){var h=os;qn=!1,os=null}else throw Error(j(198));is||(is=!0,Ql=h)}}function Xt(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function Ru(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Wi(e){if(Xt(e)!==e)throw Error(j(188))}function xf(e){var t=e.alternate;if(!t){if(t=Xt(e),t===null)throw Error(j(188));return t!==e?null:e}for(var n=e,r=t;;){var s=n.return;if(s===null)break;var l=s.alternate;if(l===null){if(r=s.return,r!==null){n=r;continue}break}if(s.child===l.child){for(l=s.child;l;){if(l===n)return Wi(s),e;if(l===r)return Wi(s),t;l=l.sibling}throw Error(j(188))}if(n.return!==r.return)n=s,r=l;else{for(var i=!1,a=s.child;a;){if(a===n){i=!0,n=s,r=l;break}if(a===r){i=!0,r=s,n=l;break}a=a.sibling}if(!i){for(a=l.child;a;){if(a===n){i=!0,n=l,r=s;break}if(a===r){i=!0,r=l,n=s;break}a=a.sibling}if(!i)throw Error(j(189))}}if(n.alternate!==r)throw Error(j(190))}if(n.tag!==3)throw Error(j(188));return n.stateNode.current===n?e:t}function Lu(e){return e=xf(e),e!==null?Ou(e):null}function Ou(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=Ou(e);if(t!==null)return t;e=e.sibling}return null}var Au=Te.unstable_scheduleCallback,Ki=Te.unstable_cancelCallback,wf=Te.unstable_shouldYield,Sf=Te.unstable_requestPaint,te=Te.unstable_now,kf=Te.unstable_getCurrentPriorityLevel,Vo=Te.unstable_ImmediatePriority,Mu=Te.unstable_UserBlockingPriority,as=Te.unstable_NormalPriority,Nf=Te.unstable_LowPriority,zu=Te.unstable_IdlePriority,Os=null,Je=null;function jf(e){if(Je&&typeof Je.onCommitFiberRoot=="function")try{Je.onCommitFiberRoot(Os,e,void 0,(e.current.flags&128)===128)}catch{}}var We=Math.clz32?Math.clz32:bf,Cf=Math.log,Ef=Math.LN2;function bf(e){return e>>>=0,e===0?32:31-(Cf(e)/Ef|0)|0}var _r=64,Tr=4194304;function Hn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function us(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,s=e.suspendedLanes,l=e.pingedLanes,i=n&268435455;if(i!==0){var a=i&~s;a!==0?r=Hn(a):(l&=i,l!==0&&(r=Hn(l)))}else i=n&~s,i!==0?r=Hn(i):l!==0&&(r=Hn(l));if(r===0)return 0;if(t!==0&&t!==r&&!(t&s)&&(s=r&-r,l=t&-t,s>=l||s===16&&(l&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)n=31-We(t),s=1<<n,r|=e[n],t&=~s;return r}function _f(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Tf(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,s=e.expirationTimes,l=e.pendingLanes;0<l;){var i=31-We(l),a=1<<i,u=s[i];u===-1?(!(a&n)||a&r)&&(s[i]=_f(a,t)):u<=t&&(e.expiredLanes|=a),l&=~a}}function Yl(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function Iu(){var e=_r;return _r<<=1,!(_r&4194240)&&(_r=64),e}function sl(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function wr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-We(t),e[t]=n}function Pf(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var s=31-We(n),l=1<<s;t[s]=0,r[s]=-1,e[s]=-1,n&=~l}}function Wo(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-We(n),s=1<<r;s&t|e[r]&t&&(e[r]|=t),n&=~s}}var F=0;function $u(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var Du,Ko,Bu,Fu,Uu,Gl=!1,Pr=[],St=null,kt=null,Nt=null,sr=new Map,lr=new Map,yt=[],Rf="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function qi(e,t){switch(e){case"focusin":case"focusout":St=null;break;case"dragenter":case"dragleave":kt=null;break;case"mouseover":case"mouseout":Nt=null;break;case"pointerover":case"pointerout":sr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":lr.delete(t.pointerId)}}function An(e,t,n,r,s,l){return e===null||e.nativeEvent!==l?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:l,targetContainers:[s]},t!==null&&(t=kr(t),t!==null&&Ko(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,s!==null&&t.indexOf(s)===-1&&t.push(s),e)}function Lf(e,t,n,r,s){switch(t){case"focusin":return St=An(St,e,t,n,r,s),!0;case"dragenter":return kt=An(kt,e,t,n,r,s),!0;case"mouseover":return Nt=An(Nt,e,t,n,r,s),!0;case"pointerover":var l=s.pointerId;return sr.set(l,An(sr.get(l)||null,e,t,n,r,s)),!0;case"gotpointercapture":return l=s.pointerId,lr.set(l,An(lr.get(l)||null,e,t,n,r,s)),!0}return!1}function Hu(e){var t=$t(e.target);if(t!==null){var n=Xt(t);if(n!==null){if(t=n.tag,t===13){if(t=Ru(n),t!==null){e.blockedOn=t,Uu(e.priority,function(){Bu(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Wr(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Xl(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);Wl=r,n.target.dispatchEvent(r),Wl=null}else return t=kr(n),t!==null&&Ko(t),e.blockedOn=n,!1;t.shift()}return!0}function Qi(e,t,n){Wr(e)&&n.delete(t)}function Of(){Gl=!1,St!==null&&Wr(St)&&(St=null),kt!==null&&Wr(kt)&&(kt=null),Nt!==null&&Wr(Nt)&&(Nt=null),sr.forEach(Qi),lr.forEach(Qi)}function Mn(e,t){e.blockedOn===t&&(e.blockedOn=null,Gl||(Gl=!0,Te.unstable_scheduleCallback(Te.unstable_NormalPriority,Of)))}function or(e){function t(s){return Mn(s,e)}if(0<Pr.length){Mn(Pr[0],e);for(var n=1;n<Pr.length;n++){var r=Pr[n];r.blockedOn===e&&(r.blockedOn=null)}}for(St!==null&&Mn(St,e),kt!==null&&Mn(kt,e),Nt!==null&&Mn(Nt,e),sr.forEach(t),lr.forEach(t),n=0;n<yt.length;n++)r=yt[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<yt.length&&(n=yt[0],n.blockedOn===null);)Hu(n),n.blockedOn===null&&yt.shift()}var gn=ft.ReactCurrentBatchConfig,cs=!0;function Af(e,t,n,r){var s=F,l=gn.transition;gn.transition=null;try{F=1,qo(e,t,n,r)}finally{F=s,gn.transition=l}}function Mf(e,t,n,r){var s=F,l=gn.transition;gn.transition=null;try{F=4,qo(e,t,n,r)}finally{F=s,gn.transition=l}}function qo(e,t,n,r){if(cs){var s=Xl(e,t,n,r);if(s===null)pl(e,t,r,ds,n),qi(e,r);else if(Lf(s,e,t,n,r))r.stopPropagation();else if(qi(e,r),t&4&&-1<Rf.indexOf(e)){for(;s!==null;){var l=kr(s);if(l!==null&&Du(l),l=Xl(e,t,n,r),l===null&&pl(e,t,r,ds,n),l===s)break;s=l}s!==null&&r.stopPropagation()}else pl(e,t,r,null,n)}}var ds=null;function Xl(e,t,n,r){if(ds=null,e=Ho(r),e=$t(e),e!==null)if(t=Xt(e),t===null)e=null;else if(n=t.tag,n===13){if(e=Ru(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return ds=e,null}function Vu(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(kf()){case Vo:return 1;case Mu:return 4;case as:case Nf:return 16;case zu:return 536870912;default:return 16}default:return 16}}var xt=null,Qo=null,Kr=null;function Wu(){if(Kr)return Kr;var e,t=Qo,n=t.length,r,s="value"in xt?xt.value:xt.textContent,l=s.length;for(e=0;e<n&&t[e]===s[e];e++);var i=n-e;for(r=1;r<=i&&t[n-r]===s[l-r];r++);return Kr=s.slice(e,1<r?1-r:void 0)}function qr(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Rr(){return!0}function Yi(){return!1}function Re(e){function t(n,r,s,l,i){this._reactName=n,this._targetInst=s,this.type=r,this.nativeEvent=l,this.target=i,this.currentTarget=null;for(var a in e)e.hasOwnProperty(a)&&(n=e[a],this[a]=n?n(l):l[a]);return this.isDefaultPrevented=(l.defaultPrevented!=null?l.defaultPrevented:l.returnValue===!1)?Rr:Yi,this.isPropagationStopped=Yi,this}return Z(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Rr)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Rr)},persist:function(){},isPersistent:Rr}),t}var _n={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Yo=Re(_n),Sr=Z({},_n,{view:0,detail:0}),zf=Re(Sr),ll,ol,zn,As=Z({},Sr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Go,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==zn&&(zn&&e.type==="mousemove"?(ll=e.screenX-zn.screenX,ol=e.screenY-zn.screenY):ol=ll=0,zn=e),ll)},movementY:function(e){return"movementY"in e?e.movementY:ol}}),Gi=Re(As),If=Z({},As,{dataTransfer:0}),$f=Re(If),Df=Z({},Sr,{relatedTarget:0}),il=Re(Df),Bf=Z({},_n,{animationName:0,elapsedTime:0,pseudoElement:0}),Ff=Re(Bf),Uf=Z({},_n,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Hf=Re(Uf),Vf=Z({},_n,{data:0}),Xi=Re(Vf),Wf={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Kf={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},qf={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Qf(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=qf[e])?!!t[e]:!1}function Go(){return Qf}var Yf=Z({},Sr,{key:function(e){if(e.key){var t=Wf[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=qr(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Kf[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Go,charCode:function(e){return e.type==="keypress"?qr(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?qr(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Gf=Re(Yf),Xf=Z({},As,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Ji=Re(Xf),Jf=Z({},Sr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Go}),Zf=Re(Jf),eh=Z({},_n,{propertyName:0,elapsedTime:0,pseudoElement:0}),th=Re(eh),nh=Z({},As,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),rh=Re(nh),sh=[9,13,27,32],Xo=at&&"CompositionEvent"in window,Qn=null;at&&"documentMode"in document&&(Qn=document.documentMode);var lh=at&&"TextEvent"in window&&!Qn,Ku=at&&(!Xo||Qn&&8<Qn&&11>=Qn),Zi=" ",ea=!1;function qu(e,t){switch(e){case"keyup":return sh.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Qu(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var nn=!1;function oh(e,t){switch(e){case"compositionend":return Qu(t);case"keypress":return t.which!==32?null:(ea=!0,Zi);case"textInput":return e=t.data,e===Zi&&ea?null:e;default:return null}}function ih(e,t){if(nn)return e==="compositionend"||!Xo&&qu(e,t)?(e=Wu(),Kr=Qo=xt=null,nn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Ku&&t.locale!=="ko"?null:t.data;default:return null}}var ah={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function ta(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!ah[e.type]:t==="textarea"}function Yu(e,t,n,r){Eu(r),t=fs(t,"onChange"),0<t.length&&(n=new Yo("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Yn=null,ir=null;function uh(e){oc(e,0)}function Ms(e){var t=ln(e);if(xu(t))return e}function ch(e,t){if(e==="change")return t}var Gu=!1;if(at){var al;if(at){var ul="oninput"in document;if(!ul){var na=document.createElement("div");na.setAttribute("oninput","return;"),ul=typeof na.oninput=="function"}al=ul}else al=!1;Gu=al&&(!document.documentMode||9<document.documentMode)}function ra(){Yn&&(Yn.detachEvent("onpropertychange",Xu),ir=Yn=null)}function Xu(e){if(e.propertyName==="value"&&Ms(ir)){var t=[];Yu(t,ir,e,Ho(e)),Pu(uh,t)}}function dh(e,t,n){e==="focusin"?(ra(),Yn=t,ir=n,Yn.attachEvent("onpropertychange",Xu)):e==="focusout"&&ra()}function fh(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Ms(ir)}function hh(e,t){if(e==="click")return Ms(t)}function ph(e,t){if(e==="input"||e==="change")return Ms(t)}function mh(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var qe=typeof Object.is=="function"?Object.is:mh;function ar(e,t){if(qe(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var s=n[r];if(!Ol.call(t,s)||!qe(e[s],t[s]))return!1}return!0}function sa(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function la(e,t){var n=sa(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=sa(n)}}function Ju(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ju(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Zu(){for(var e=window,t=ls();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=ls(e.document)}return t}function Jo(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function gh(e){var t=Zu(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Ju(n.ownerDocument.documentElement,n)){if(r!==null&&Jo(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var s=n.textContent.length,l=Math.min(r.start,s);r=r.end===void 0?l:Math.min(r.end,s),!e.extend&&l>r&&(s=r,r=l,l=s),s=la(n,l);var i=la(n,r);s&&i&&(e.rangeCount!==1||e.anchorNode!==s.node||e.anchorOffset!==s.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&(t=t.createRange(),t.setStart(s.node,s.offset),e.removeAllRanges(),l>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var yh=at&&"documentMode"in document&&11>=document.documentMode,rn=null,Jl=null,Gn=null,Zl=!1;function oa(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Zl||rn==null||rn!==ls(r)||(r=rn,"selectionStart"in r&&Jo(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Gn&&ar(Gn,r)||(Gn=r,r=fs(Jl,"onSelect"),0<r.length&&(t=new Yo("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=rn)))}function Lr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var sn={animationend:Lr("Animation","AnimationEnd"),animationiteration:Lr("Animation","AnimationIteration"),animationstart:Lr("Animation","AnimationStart"),transitionend:Lr("Transition","TransitionEnd")},cl={},ec={};at&&(ec=document.createElement("div").style,"AnimationEvent"in window||(delete sn.animationend.animation,delete sn.animationiteration.animation,delete sn.animationstart.animation),"TransitionEvent"in window||delete sn.transitionend.transition);function zs(e){if(cl[e])return cl[e];if(!sn[e])return e;var t=sn[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in ec)return cl[e]=t[n];return e}var tc=zs("animationend"),nc=zs("animationiteration"),rc=zs("animationstart"),sc=zs("transitionend"),lc=new Map,ia="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Lt(e,t){lc.set(e,t),Gt(t,[e])}for(var dl=0;dl<ia.length;dl++){var fl=ia[dl],vh=fl.toLowerCase(),xh=fl[0].toUpperCase()+fl.slice(1);Lt(vh,"on"+xh)}Lt(tc,"onAnimationEnd");Lt(nc,"onAnimationIteration");Lt(rc,"onAnimationStart");Lt("dblclick","onDoubleClick");Lt("focusin","onFocus");Lt("focusout","onBlur");Lt(sc,"onTransitionEnd");xn("onMouseEnter",["mouseout","mouseover"]);xn("onMouseLeave",["mouseout","mouseover"]);xn("onPointerEnter",["pointerout","pointerover"]);xn("onPointerLeave",["pointerout","pointerover"]);Gt("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Gt("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Gt("onBeforeInput",["compositionend","keypress","textInput","paste"]);Gt("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Gt("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Gt("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Vn="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),wh=new Set("cancel close invalid load scroll toggle".split(" ").concat(Vn));function aa(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,vf(r,t,void 0,e),e.currentTarget=null}function oc(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],s=r.event;r=r.listeners;e:{var l=void 0;if(t)for(var i=r.length-1;0<=i;i--){var a=r[i],u=a.instance,h=a.currentTarget;if(a=a.listener,u!==l&&s.isPropagationStopped())break e;aa(s,a,h),l=u}else for(i=0;i<r.length;i++){if(a=r[i],u=a.instance,h=a.currentTarget,a=a.listener,u!==l&&s.isPropagationStopped())break e;aa(s,a,h),l=u}}}if(is)throw e=Ql,is=!1,Ql=null,e}function K(e,t){var n=t[so];n===void 0&&(n=t[so]=new Set);var r=e+"__bubble";n.has(r)||(ic(t,e,2,!1),n.add(r))}function hl(e,t,n){var r=0;t&&(r|=4),ic(n,e,r,t)}var Or="_reactListening"+Math.random().toString(36).slice(2);function ur(e){if(!e[Or]){e[Or]=!0,pu.forEach(function(n){n!=="selectionchange"&&(wh.has(n)||hl(n,!1,e),hl(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Or]||(t[Or]=!0,hl("selectionchange",!1,t))}}function ic(e,t,n,r){switch(Vu(t)){case 1:var s=Af;break;case 4:s=Mf;break;default:s=qo}n=s.bind(null,t,n,e),s=void 0,!ql||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(s=!0),r?s!==void 0?e.addEventListener(t,n,{capture:!0,passive:s}):e.addEventListener(t,n,!0):s!==void 0?e.addEventListener(t,n,{passive:s}):e.addEventListener(t,n,!1)}function pl(e,t,n,r,s){var l=r;if(!(t&1)&&!(t&2)&&r!==null)e:for(;;){if(r===null)return;var i=r.tag;if(i===3||i===4){var a=r.stateNode.containerInfo;if(a===s||a.nodeType===8&&a.parentNode===s)break;if(i===4)for(i=r.return;i!==null;){var u=i.tag;if((u===3||u===4)&&(u=i.stateNode.containerInfo,u===s||u.nodeType===8&&u.parentNode===s))return;i=i.return}for(;a!==null;){if(i=$t(a),i===null)return;if(u=i.tag,u===5||u===6){r=l=i;continue e}a=a.parentNode}}r=r.return}Pu(function(){var h=l,y=Ho(n),p=[];e:{var c=lc.get(e);if(c!==void 0){var w=Yo,v=e;switch(e){case"keypress":if(qr(n)===0)break e;case"keydown":case"keyup":w=Gf;break;case"focusin":v="focus",w=il;break;case"focusout":v="blur",w=il;break;case"beforeblur":case"afterblur":w=il;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":w=Gi;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":w=$f;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":w=Zf;break;case tc:case nc:case rc:w=Ff;break;case sc:w=th;break;case"scroll":w=zf;break;case"wheel":w=rh;break;case"copy":case"cut":case"paste":w=Hf;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":w=Ji}var N=(t&4)!==0,A=!N&&e==="scroll",g=N?c!==null?c+"Capture":null:c;N=[];for(var d=h,f;d!==null;){f=d;var k=f.stateNode;if(f.tag===5&&k!==null&&(f=k,g!==null&&(k=rr(d,g),k!=null&&N.push(cr(d,k,f)))),A)break;d=d.return}0<N.length&&(c=new w(c,v,null,n,y),p.push({event:c,listeners:N}))}}if(!(t&7)){e:{if(c=e==="mouseover"||e==="pointerover",w=e==="mouseout"||e==="pointerout",c&&n!==Wl&&(v=n.relatedTarget||n.fromElement)&&($t(v)||v[ut]))break e;if((w||c)&&(c=y.window===y?y:(c=y.ownerDocument)?c.defaultView||c.parentWindow:window,w?(v=n.relatedTarget||n.toElement,w=h,v=v?$t(v):null,v!==null&&(A=Xt(v),v!==A||v.tag!==5&&v.tag!==6)&&(v=null)):(w=null,v=h),w!==v)){if(N=Gi,k="onMouseLeave",g="onMouseEnter",d="mouse",(e==="pointerout"||e==="pointerover")&&(N=Ji,k="onPointerLeave",g="onPointerEnter",d="pointer"),A=w==null?c:ln(w),f=v==null?c:ln(v),c=new N(k,d+"leave",w,n,y),c.target=A,c.relatedTarget=f,k=null,$t(y)===h&&(N=new N(g,d+"enter",v,n,y),N.target=f,N.relatedTarget=A,k=N),A=k,w&&v)t:{for(N=w,g=v,d=0,f=N;f;f=Zt(f))d++;for(f=0,k=g;k;k=Zt(k))f++;for(;0<d-f;)N=Zt(N),d--;for(;0<f-d;)g=Zt(g),f--;for(;d--;){if(N===g||g!==null&&N===g.alternate)break t;N=Zt(N),g=Zt(g)}N=null}else N=null;w!==null&&ua(p,c,w,N,!1),v!==null&&A!==null&&ua(p,A,v,N,!0)}}e:{if(c=h?ln(h):window,w=c.nodeName&&c.nodeName.toLowerCase(),w==="select"||w==="input"&&c.type==="file")var E=ch;else if(ta(c))if(Gu)E=ph;else{E=fh;var C=dh}else(w=c.nodeName)&&w.toLowerCase()==="input"&&(c.type==="checkbox"||c.type==="radio")&&(E=hh);if(E&&(E=E(e,h))){Yu(p,E,n,y);break e}C&&C(e,c,h),e==="focusout"&&(C=c._wrapperState)&&C.controlled&&c.type==="number"&&Bl(c,"number",c.value)}switch(C=h?ln(h):window,e){case"focusin":(ta(C)||C.contentEditable==="true")&&(rn=C,Jl=h,Gn=null);break;case"focusout":Gn=Jl=rn=null;break;case"mousedown":Zl=!0;break;case"contextmenu":case"mouseup":case"dragend":Zl=!1,oa(p,n,y);break;case"selectionchange":if(yh)break;case"keydown":case"keyup":oa(p,n,y)}var T;if(Xo)e:{switch(e){case"compositionstart":var O="onCompositionStart";break e;case"compositionend":O="onCompositionEnd";break e;case"compositionupdate":O="onCompositionUpdate";break e}O=void 0}else nn?qu(e,n)&&(O="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(O="onCompositionStart");O&&(Ku&&n.locale!=="ko"&&(nn||O!=="onCompositionStart"?O==="onCompositionEnd"&&nn&&(T=Wu()):(xt=y,Qo="value"in xt?xt.value:xt.textContent,nn=!0)),C=fs(h,O),0<C.length&&(O=new Xi(O,e,null,n,y),p.push({event:O,listeners:C}),T?O.data=T:(T=Qu(n),T!==null&&(O.data=T)))),(T=lh?oh(e,n):ih(e,n))&&(h=fs(h,"onBeforeInput"),0<h.length&&(y=new Xi("onBeforeInput","beforeinput",null,n,y),p.push({event:y,listeners:h}),y.data=T))}oc(p,t)})}function cr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function fs(e,t){for(var n=t+"Capture",r=[];e!==null;){var s=e,l=s.stateNode;s.tag===5&&l!==null&&(s=l,l=rr(e,n),l!=null&&r.unshift(cr(e,l,s)),l=rr(e,t),l!=null&&r.push(cr(e,l,s))),e=e.return}return r}function Zt(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function ua(e,t,n,r,s){for(var l=t._reactName,i=[];n!==null&&n!==r;){var a=n,u=a.alternate,h=a.stateNode;if(u!==null&&u===r)break;a.tag===5&&h!==null&&(a=h,s?(u=rr(n,l),u!=null&&i.unshift(cr(n,u,a))):s||(u=rr(n,l),u!=null&&i.push(cr(n,u,a)))),n=n.return}i.length!==0&&e.push({event:t,listeners:i})}var Sh=/\r\n?/g,kh=/\u0000|\uFFFD/g;function ca(e){return(typeof e=="string"?e:""+e).replace(Sh,`
38
+ `).replace(kh,"")}function Ar(e,t,n){if(t=ca(t),ca(e)!==t&&n)throw Error(j(425))}function hs(){}var eo=null,to=null;function no(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var ro=typeof setTimeout=="function"?setTimeout:void 0,Nh=typeof clearTimeout=="function"?clearTimeout:void 0,da=typeof Promise=="function"?Promise:void 0,jh=typeof queueMicrotask=="function"?queueMicrotask:typeof da<"u"?function(e){return da.resolve(null).then(e).catch(Ch)}:ro;function Ch(e){setTimeout(function(){throw e})}function ml(e,t){var n=t,r=0;do{var s=n.nextSibling;if(e.removeChild(n),s&&s.nodeType===8)if(n=s.data,n==="/$"){if(r===0){e.removeChild(s),or(t);return}r--}else n!=="$"&&n!=="$?"&&n!=="$!"||r++;n=s}while(n);or(t)}function jt(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function fa(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var Tn=Math.random().toString(36).slice(2),Xe="__reactFiber$"+Tn,dr="__reactProps$"+Tn,ut="__reactContainer$"+Tn,so="__reactEvents$"+Tn,Eh="__reactListeners$"+Tn,bh="__reactHandles$"+Tn;function $t(e){var t=e[Xe];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ut]||n[Xe]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=fa(e);e!==null;){if(n=e[Xe])return n;e=fa(e)}return t}e=n,n=e.parentNode}return null}function kr(e){return e=e[Xe]||e[ut],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function ln(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(j(33))}function Is(e){return e[dr]||null}var lo=[],on=-1;function Ot(e){return{current:e}}function q(e){0>on||(e.current=lo[on],lo[on]=null,on--)}function W(e,t){on++,lo[on]=e.current,e.current=t}var Rt={},ge=Ot(Rt),Ne=Ot(!1),Vt=Rt;function wn(e,t){var n=e.type.contextTypes;if(!n)return Rt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var s={},l;for(l in n)s[l]=t[l];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=s),s}function je(e){return e=e.childContextTypes,e!=null}function ps(){q(Ne),q(ge)}function ha(e,t,n){if(ge.current!==Rt)throw Error(j(168));W(ge,t),W(Ne,n)}function ac(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var s in r)if(!(s in t))throw Error(j(108,df(e)||"Unknown",s));return Z({},n,r)}function ms(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Rt,Vt=ge.current,W(ge,e),W(Ne,Ne.current),!0}function pa(e,t,n){var r=e.stateNode;if(!r)throw Error(j(169));n?(e=ac(e,t,Vt),r.__reactInternalMemoizedMergedChildContext=e,q(Ne),q(ge),W(ge,e)):q(Ne),W(Ne,n)}var st=null,$s=!1,gl=!1;function uc(e){st===null?st=[e]:st.push(e)}function _h(e){$s=!0,uc(e)}function At(){if(!gl&&st!==null){gl=!0;var e=0,t=F;try{var n=st;for(F=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}st=null,$s=!1}catch(s){throw st!==null&&(st=st.slice(e+1)),Au(Vo,At),s}finally{F=t,gl=!1}}return null}var an=[],un=0,gs=null,ys=0,Le=[],Oe=0,Wt=null,lt=1,ot="";function zt(e,t){an[un++]=ys,an[un++]=gs,gs=e,ys=t}function cc(e,t,n){Le[Oe++]=lt,Le[Oe++]=ot,Le[Oe++]=Wt,Wt=e;var r=lt;e=ot;var s=32-We(r)-1;r&=~(1<<s),n+=1;var l=32-We(t)+s;if(30<l){var i=s-s%5;l=(r&(1<<i)-1).toString(32),r>>=i,s-=i,lt=1<<32-We(t)+s|n<<s|r,ot=l+e}else lt=1<<l|n<<s|r,ot=e}function Zo(e){e.return!==null&&(zt(e,1),cc(e,1,0))}function ei(e){for(;e===gs;)gs=an[--un],an[un]=null,ys=an[--un],an[un]=null;for(;e===Wt;)Wt=Le[--Oe],Le[Oe]=null,ot=Le[--Oe],Le[Oe]=null,lt=Le[--Oe],Le[Oe]=null}var _e=null,be=null,Q=!1,He=null;function dc(e,t){var n=Me(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function ma(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,_e=e,be=jt(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,_e=e,be=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=Wt!==null?{id:lt,overflow:ot}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=Me(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,_e=e,be=null,!0):!1;default:return!1}}function oo(e){return(e.mode&1)!==0&&(e.flags&128)===0}function io(e){if(Q){var t=be;if(t){var n=t;if(!ma(e,t)){if(oo(e))throw Error(j(418));t=jt(n.nextSibling);var r=_e;t&&ma(e,t)?dc(r,n):(e.flags=e.flags&-4097|2,Q=!1,_e=e)}}else{if(oo(e))throw Error(j(418));e.flags=e.flags&-4097|2,Q=!1,_e=e}}}function ga(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;_e=e}function Mr(e){if(e!==_e)return!1;if(!Q)return ga(e),Q=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!no(e.type,e.memoizedProps)),t&&(t=be)){if(oo(e))throw fc(),Error(j(418));for(;t;)dc(e,t),t=jt(t.nextSibling)}if(ga(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(j(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){be=jt(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}be=null}}else be=_e?jt(e.stateNode.nextSibling):null;return!0}function fc(){for(var e=be;e;)e=jt(e.nextSibling)}function Sn(){be=_e=null,Q=!1}function ti(e){He===null?He=[e]:He.push(e)}var Th=ft.ReactCurrentBatchConfig;function In(e,t,n){if(e=n.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(j(309));var r=n.stateNode}if(!r)throw Error(j(147,e));var s=r,l=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===l?t.ref:(t=function(i){var a=s.refs;i===null?delete a[l]:a[l]=i},t._stringRef=l,t)}if(typeof e!="string")throw Error(j(284));if(!n._owner)throw Error(j(290,e))}return e}function zr(e,t){throw e=Object.prototype.toString.call(t),Error(j(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function ya(e){var t=e._init;return t(e._payload)}function hc(e){function t(g,d){if(e){var f=g.deletions;f===null?(g.deletions=[d],g.flags|=16):f.push(d)}}function n(g,d){if(!e)return null;for(;d!==null;)t(g,d),d=d.sibling;return null}function r(g,d){for(g=new Map;d!==null;)d.key!==null?g.set(d.key,d):g.set(d.index,d),d=d.sibling;return g}function s(g,d){return g=_t(g,d),g.index=0,g.sibling=null,g}function l(g,d,f){return g.index=f,e?(f=g.alternate,f!==null?(f=f.index,f<d?(g.flags|=2,d):f):(g.flags|=2,d)):(g.flags|=1048576,d)}function i(g){return e&&g.alternate===null&&(g.flags|=2),g}function a(g,d,f,k){return d===null||d.tag!==6?(d=Nl(f,g.mode,k),d.return=g,d):(d=s(d,f),d.return=g,d)}function u(g,d,f,k){var E=f.type;return E===tn?y(g,d,f.props.children,k,f.key):d!==null&&(d.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===mt&&ya(E)===d.type)?(k=s(d,f.props),k.ref=In(g,d,f),k.return=g,k):(k=es(f.type,f.key,f.props,null,g.mode,k),k.ref=In(g,d,f),k.return=g,k)}function h(g,d,f,k){return d===null||d.tag!==4||d.stateNode.containerInfo!==f.containerInfo||d.stateNode.implementation!==f.implementation?(d=jl(f,g.mode,k),d.return=g,d):(d=s(d,f.children||[]),d.return=g,d)}function y(g,d,f,k,E){return d===null||d.tag!==7?(d=Ut(f,g.mode,k,E),d.return=g,d):(d=s(d,f),d.return=g,d)}function p(g,d,f){if(typeof d=="string"&&d!==""||typeof d=="number")return d=Nl(""+d,g.mode,f),d.return=g,d;if(typeof d=="object"&&d!==null){switch(d.$$typeof){case Cr:return f=es(d.type,d.key,d.props,null,g.mode,f),f.ref=In(g,null,d),f.return=g,f;case en:return d=jl(d,g.mode,f),d.return=g,d;case mt:var k=d._init;return p(g,k(d._payload),f)}if(Un(d)||Ln(d))return d=Ut(d,g.mode,f,null),d.return=g,d;zr(g,d)}return null}function c(g,d,f,k){var E=d!==null?d.key:null;if(typeof f=="string"&&f!==""||typeof f=="number")return E!==null?null:a(g,d,""+f,k);if(typeof f=="object"&&f!==null){switch(f.$$typeof){case Cr:return f.key===E?u(g,d,f,k):null;case en:return f.key===E?h(g,d,f,k):null;case mt:return E=f._init,c(g,d,E(f._payload),k)}if(Un(f)||Ln(f))return E!==null?null:y(g,d,f,k,null);zr(g,f)}return null}function w(g,d,f,k,E){if(typeof k=="string"&&k!==""||typeof k=="number")return g=g.get(f)||null,a(d,g,""+k,E);if(typeof k=="object"&&k!==null){switch(k.$$typeof){case Cr:return g=g.get(k.key===null?f:k.key)||null,u(d,g,k,E);case en:return g=g.get(k.key===null?f:k.key)||null,h(d,g,k,E);case mt:var C=k._init;return w(g,d,f,C(k._payload),E)}if(Un(k)||Ln(k))return g=g.get(f)||null,y(d,g,k,E,null);zr(d,k)}return null}function v(g,d,f,k){for(var E=null,C=null,T=d,O=d=0,U=null;T!==null&&O<f.length;O++){T.index>O?(U=T,T=null):U=T.sibling;var z=c(g,T,f[O],k);if(z===null){T===null&&(T=U);break}e&&T&&z.alternate===null&&t(g,T),d=l(z,d,O),C===null?E=z:C.sibling=z,C=z,T=U}if(O===f.length)return n(g,T),Q&&zt(g,O),E;if(T===null){for(;O<f.length;O++)T=p(g,f[O],k),T!==null&&(d=l(T,d,O),C===null?E=T:C.sibling=T,C=T);return Q&&zt(g,O),E}for(T=r(g,T);O<f.length;O++)U=w(T,g,O,f[O],k),U!==null&&(e&&U.alternate!==null&&T.delete(U.key===null?O:U.key),d=l(U,d,O),C===null?E=U:C.sibling=U,C=U);return e&&T.forEach(function(de){return t(g,de)}),Q&&zt(g,O),E}function N(g,d,f,k){var E=Ln(f);if(typeof E!="function")throw Error(j(150));if(f=E.call(f),f==null)throw Error(j(151));for(var C=E=null,T=d,O=d=0,U=null,z=f.next();T!==null&&!z.done;O++,z=f.next()){T.index>O?(U=T,T=null):U=T.sibling;var de=c(g,T,z.value,k);if(de===null){T===null&&(T=U);break}e&&T&&de.alternate===null&&t(g,T),d=l(de,d,O),C===null?E=de:C.sibling=de,C=de,T=U}if(z.done)return n(g,T),Q&&zt(g,O),E;if(T===null){for(;!z.done;O++,z=f.next())z=p(g,z.value,k),z!==null&&(d=l(z,d,O),C===null?E=z:C.sibling=z,C=z);return Q&&zt(g,O),E}for(T=r(g,T);!z.done;O++,z=f.next())z=w(T,g,O,z.value,k),z!==null&&(e&&z.alternate!==null&&T.delete(z.key===null?O:z.key),d=l(z,d,O),C===null?E=z:C.sibling=z,C=z);return e&&T.forEach(function(Qe){return t(g,Qe)}),Q&&zt(g,O),E}function A(g,d,f,k){if(typeof f=="object"&&f!==null&&f.type===tn&&f.key===null&&(f=f.props.children),typeof f=="object"&&f!==null){switch(f.$$typeof){case Cr:e:{for(var E=f.key,C=d;C!==null;){if(C.key===E){if(E=f.type,E===tn){if(C.tag===7){n(g,C.sibling),d=s(C,f.props.children),d.return=g,g=d;break e}}else if(C.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===mt&&ya(E)===C.type){n(g,C.sibling),d=s(C,f.props),d.ref=In(g,C,f),d.return=g,g=d;break e}n(g,C);break}else t(g,C);C=C.sibling}f.type===tn?(d=Ut(f.props.children,g.mode,k,f.key),d.return=g,g=d):(k=es(f.type,f.key,f.props,null,g.mode,k),k.ref=In(g,d,f),k.return=g,g=k)}return i(g);case en:e:{for(C=f.key;d!==null;){if(d.key===C)if(d.tag===4&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){n(g,d.sibling),d=s(d,f.children||[]),d.return=g,g=d;break e}else{n(g,d);break}else t(g,d);d=d.sibling}d=jl(f,g.mode,k),d.return=g,g=d}return i(g);case mt:return C=f._init,A(g,d,C(f._payload),k)}if(Un(f))return v(g,d,f,k);if(Ln(f))return N(g,d,f,k);zr(g,f)}return typeof f=="string"&&f!==""||typeof f=="number"?(f=""+f,d!==null&&d.tag===6?(n(g,d.sibling),d=s(d,f),d.return=g,g=d):(n(g,d),d=Nl(f,g.mode,k),d.return=g,g=d),i(g)):n(g,d)}return A}var kn=hc(!0),pc=hc(!1),vs=Ot(null),xs=null,cn=null,ni=null;function ri(){ni=cn=xs=null}function si(e){var t=vs.current;q(vs),e._currentValue=t}function ao(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function yn(e,t){xs=e,ni=cn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(ke=!0),e.firstContext=null)}function Ie(e){var t=e._currentValue;if(ni!==e)if(e={context:e,memoizedValue:t,next:null},cn===null){if(xs===null)throw Error(j(308));cn=e,xs.dependencies={lanes:0,firstContext:e}}else cn=cn.next=e;return t}var Dt=null;function li(e){Dt===null?Dt=[e]:Dt.push(e)}function mc(e,t,n,r){var s=t.interleaved;return s===null?(n.next=n,li(t)):(n.next=s.next,s.next=n),t.interleaved=n,ct(e,r)}function ct(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var gt=!1;function oi(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function gc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function it(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Ct(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,D&2){var s=r.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),r.pending=t,ct(e,n)}return s=r.interleaved,s===null?(t.next=t,li(r)):(t.next=s.next,s.next=t),r.interleaved=t,ct(e,n)}function Qr(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Wo(e,n)}}function va(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var s=null,l=null;if(n=n.firstBaseUpdate,n!==null){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};l===null?s=l=i:l=l.next=i,n=n.next}while(n!==null);l===null?s=l=t:l=l.next=t}else s=l=t;n={baseState:r.baseState,firstBaseUpdate:s,lastBaseUpdate:l,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function ws(e,t,n,r){var s=e.updateQueue;gt=!1;var l=s.firstBaseUpdate,i=s.lastBaseUpdate,a=s.shared.pending;if(a!==null){s.shared.pending=null;var u=a,h=u.next;u.next=null,i===null?l=h:i.next=h,i=u;var y=e.alternate;y!==null&&(y=y.updateQueue,a=y.lastBaseUpdate,a!==i&&(a===null?y.firstBaseUpdate=h:a.next=h,y.lastBaseUpdate=u))}if(l!==null){var p=s.baseState;i=0,y=h=u=null,a=l;do{var c=a.lane,w=a.eventTime;if((r&c)===c){y!==null&&(y=y.next={eventTime:w,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var v=e,N=a;switch(c=t,w=n,N.tag){case 1:if(v=N.payload,typeof v=="function"){p=v.call(w,p,c);break e}p=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=N.payload,c=typeof v=="function"?v.call(w,p,c):v,c==null)break e;p=Z({},p,c);break e;case 2:gt=!0}}a.callback!==null&&a.lane!==0&&(e.flags|=64,c=s.effects,c===null?s.effects=[a]:c.push(a))}else w={eventTime:w,lane:c,tag:a.tag,payload:a.payload,callback:a.callback,next:null},y===null?(h=y=w,u=p):y=y.next=w,i|=c;if(a=a.next,a===null){if(a=s.shared.pending,a===null)break;c=a,a=c.next,c.next=null,s.lastBaseUpdate=c,s.shared.pending=null}}while(!0);if(y===null&&(u=p),s.baseState=u,s.firstBaseUpdate=h,s.lastBaseUpdate=y,t=s.shared.interleaved,t!==null){s=t;do i|=s.lane,s=s.next;while(s!==t)}else l===null&&(s.shared.lanes=0);qt|=i,e.lanes=i,e.memoizedState=p}}function xa(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],s=r.callback;if(s!==null){if(r.callback=null,r=n,typeof s!="function")throw Error(j(191,s));s.call(r)}}}var Nr={},Ze=Ot(Nr),fr=Ot(Nr),hr=Ot(Nr);function Bt(e){if(e===Nr)throw Error(j(174));return e}function ii(e,t){switch(W(hr,t),W(fr,e),W(Ze,Nr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Ul(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Ul(t,e)}q(Ze),W(Ze,t)}function Nn(){q(Ze),q(fr),q(hr)}function yc(e){Bt(hr.current);var t=Bt(Ze.current),n=Ul(t,e.type);t!==n&&(W(fr,e),W(Ze,n))}function ai(e){fr.current===e&&(q(Ze),q(fr))}var X=Ot(0);function Ss(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var yl=[];function ui(){for(var e=0;e<yl.length;e++)yl[e]._workInProgressVersionPrimary=null;yl.length=0}var Yr=ft.ReactCurrentDispatcher,vl=ft.ReactCurrentBatchConfig,Kt=0,J=null,se=null,oe=null,ks=!1,Xn=!1,pr=0,Ph=0;function he(){throw Error(j(321))}function ci(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!qe(e[n],t[n]))return!1;return!0}function di(e,t,n,r,s,l){if(Kt=l,J=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Yr.current=e===null||e.memoizedState===null?Ah:Mh,e=n(r,s),Xn){l=0;do{if(Xn=!1,pr=0,25<=l)throw Error(j(301));l+=1,oe=se=null,t.updateQueue=null,Yr.current=zh,e=n(r,s)}while(Xn)}if(Yr.current=Ns,t=se!==null&&se.next!==null,Kt=0,oe=se=J=null,ks=!1,t)throw Error(j(300));return e}function fi(){var e=pr!==0;return pr=0,e}function Ge(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return oe===null?J.memoizedState=oe=e:oe=oe.next=e,oe}function $e(){if(se===null){var e=J.alternate;e=e!==null?e.memoizedState:null}else e=se.next;var t=oe===null?J.memoizedState:oe.next;if(t!==null)oe=t,se=e;else{if(e===null)throw Error(j(310));se=e,e={memoizedState:se.memoizedState,baseState:se.baseState,baseQueue:se.baseQueue,queue:se.queue,next:null},oe===null?J.memoizedState=oe=e:oe=oe.next=e}return oe}function mr(e,t){return typeof t=="function"?t(e):t}function xl(e){var t=$e(),n=t.queue;if(n===null)throw Error(j(311));n.lastRenderedReducer=e;var r=se,s=r.baseQueue,l=n.pending;if(l!==null){if(s!==null){var i=s.next;s.next=l.next,l.next=i}r.baseQueue=s=l,n.pending=null}if(s!==null){l=s.next,r=r.baseState;var a=i=null,u=null,h=l;do{var y=h.lane;if((Kt&y)===y)u!==null&&(u=u.next={lane:0,action:h.action,hasEagerState:h.hasEagerState,eagerState:h.eagerState,next:null}),r=h.hasEagerState?h.eagerState:e(r,h.action);else{var p={lane:y,action:h.action,hasEagerState:h.hasEagerState,eagerState:h.eagerState,next:null};u===null?(a=u=p,i=r):u=u.next=p,J.lanes|=y,qt|=y}h=h.next}while(h!==null&&h!==l);u===null?i=r:u.next=a,qe(r,t.memoizedState)||(ke=!0),t.memoizedState=r,t.baseState=i,t.baseQueue=u,n.lastRenderedState=r}if(e=n.interleaved,e!==null){s=e;do l=s.lane,J.lanes|=l,qt|=l,s=s.next;while(s!==e)}else s===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function wl(e){var t=$e(),n=t.queue;if(n===null)throw Error(j(311));n.lastRenderedReducer=e;var r=n.dispatch,s=n.pending,l=t.memoizedState;if(s!==null){n.pending=null;var i=s=s.next;do l=e(l,i.action),i=i.next;while(i!==s);qe(l,t.memoizedState)||(ke=!0),t.memoizedState=l,t.baseQueue===null&&(t.baseState=l),n.lastRenderedState=l}return[l,r]}function vc(){}function xc(e,t){var n=J,r=$e(),s=t(),l=!qe(r.memoizedState,s);if(l&&(r.memoizedState=s,ke=!0),r=r.queue,hi(kc.bind(null,n,r,e),[e]),r.getSnapshot!==t||l||oe!==null&&oe.memoizedState.tag&1){if(n.flags|=2048,gr(9,Sc.bind(null,n,r,s,t),void 0,null),ie===null)throw Error(j(349));Kt&30||wc(n,t,s)}return s}function wc(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=J.updateQueue,t===null?(t={lastEffect:null,stores:null},J.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Sc(e,t,n,r){t.value=n,t.getSnapshot=r,Nc(t)&&jc(e)}function kc(e,t,n){return n(function(){Nc(t)&&jc(e)})}function Nc(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!qe(e,n)}catch{return!0}}function jc(e){var t=ct(e,1);t!==null&&Ke(t,e,1,-1)}function wa(e){var t=Ge();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:mr,lastRenderedState:e},t.queue=e,e=e.dispatch=Oh.bind(null,J,e),[t.memoizedState,e]}function gr(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=J.updateQueue,t===null?(t={lastEffect:null,stores:null},J.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e)),e}function Cc(){return $e().memoizedState}function Gr(e,t,n,r){var s=Ge();J.flags|=e,s.memoizedState=gr(1|t,n,void 0,r===void 0?null:r)}function Ds(e,t,n,r){var s=$e();r=r===void 0?null:r;var l=void 0;if(se!==null){var i=se.memoizedState;if(l=i.destroy,r!==null&&ci(r,i.deps)){s.memoizedState=gr(t,n,l,r);return}}J.flags|=e,s.memoizedState=gr(1|t,n,l,r)}function Sa(e,t){return Gr(8390656,8,e,t)}function hi(e,t){return Ds(2048,8,e,t)}function Ec(e,t){return Ds(4,2,e,t)}function bc(e,t){return Ds(4,4,e,t)}function _c(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Tc(e,t,n){return n=n!=null?n.concat([e]):null,Ds(4,4,_c.bind(null,t,e),n)}function pi(){}function Pc(e,t){var n=$e();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&ci(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Rc(e,t){var n=$e();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&ci(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Lc(e,t,n){return Kt&21?(qe(n,t)||(n=Iu(),J.lanes|=n,qt|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,ke=!0),e.memoizedState=n)}function Rh(e,t){var n=F;F=n!==0&&4>n?n:4,e(!0);var r=vl.transition;vl.transition={};try{e(!1),t()}finally{F=n,vl.transition=r}}function Oc(){return $e().memoizedState}function Lh(e,t,n){var r=bt(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Ac(e))Mc(t,n);else if(n=mc(e,t,n,r),n!==null){var s=ve();Ke(n,e,r,s),zc(n,t,r)}}function Oh(e,t,n){var r=bt(e),s={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ac(e))Mc(t,s);else{var l=e.alternate;if(e.lanes===0&&(l===null||l.lanes===0)&&(l=t.lastRenderedReducer,l!==null))try{var i=t.lastRenderedState,a=l(i,n);if(s.hasEagerState=!0,s.eagerState=a,qe(a,i)){var u=t.interleaved;u===null?(s.next=s,li(t)):(s.next=u.next,u.next=s),t.interleaved=s;return}}catch{}finally{}n=mc(e,t,s,r),n!==null&&(s=ve(),Ke(n,e,r,s),zc(n,t,r))}}function Ac(e){var t=e.alternate;return e===J||t!==null&&t===J}function Mc(e,t){Xn=ks=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function zc(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Wo(e,n)}}var Ns={readContext:Ie,useCallback:he,useContext:he,useEffect:he,useImperativeHandle:he,useInsertionEffect:he,useLayoutEffect:he,useMemo:he,useReducer:he,useRef:he,useState:he,useDebugValue:he,useDeferredValue:he,useTransition:he,useMutableSource:he,useSyncExternalStore:he,useId:he,unstable_isNewReconciler:!1},Ah={readContext:Ie,useCallback:function(e,t){return Ge().memoizedState=[e,t===void 0?null:t],e},useContext:Ie,useEffect:Sa,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Gr(4194308,4,_c.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Gr(4194308,4,e,t)},useInsertionEffect:function(e,t){return Gr(4,2,e,t)},useMemo:function(e,t){var n=Ge();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ge();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Lh.bind(null,J,e),[r.memoizedState,e]},useRef:function(e){var t=Ge();return e={current:e},t.memoizedState=e},useState:wa,useDebugValue:pi,useDeferredValue:function(e){return Ge().memoizedState=e},useTransition:function(){var e=wa(!1),t=e[0];return e=Rh.bind(null,e[1]),Ge().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=J,s=Ge();if(Q){if(n===void 0)throw Error(j(407));n=n()}else{if(n=t(),ie===null)throw Error(j(349));Kt&30||wc(r,t,n)}s.memoizedState=n;var l={value:n,getSnapshot:t};return s.queue=l,Sa(kc.bind(null,r,l,e),[e]),r.flags|=2048,gr(9,Sc.bind(null,r,l,n,t),void 0,null),n},useId:function(){var e=Ge(),t=ie.identifierPrefix;if(Q){var n=ot,r=lt;n=(r&~(1<<32-We(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=pr++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=Ph++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},Mh={readContext:Ie,useCallback:Pc,useContext:Ie,useEffect:hi,useImperativeHandle:Tc,useInsertionEffect:Ec,useLayoutEffect:bc,useMemo:Rc,useReducer:xl,useRef:Cc,useState:function(){return xl(mr)},useDebugValue:pi,useDeferredValue:function(e){var t=$e();return Lc(t,se.memoizedState,e)},useTransition:function(){var e=xl(mr)[0],t=$e().memoizedState;return[e,t]},useMutableSource:vc,useSyncExternalStore:xc,useId:Oc,unstable_isNewReconciler:!1},zh={readContext:Ie,useCallback:Pc,useContext:Ie,useEffect:hi,useImperativeHandle:Tc,useInsertionEffect:Ec,useLayoutEffect:bc,useMemo:Rc,useReducer:wl,useRef:Cc,useState:function(){return wl(mr)},useDebugValue:pi,useDeferredValue:function(e){var t=$e();return se===null?t.memoizedState=e:Lc(t,se.memoizedState,e)},useTransition:function(){var e=wl(mr)[0],t=$e().memoizedState;return[e,t]},useMutableSource:vc,useSyncExternalStore:xc,useId:Oc,unstable_isNewReconciler:!1};function Be(e,t){if(e&&e.defaultProps){t=Z({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function uo(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:Z({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Bs={isMounted:function(e){return(e=e._reactInternals)?Xt(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=ve(),s=bt(e),l=it(r,s);l.payload=t,n!=null&&(l.callback=n),t=Ct(e,l,s),t!==null&&(Ke(t,e,s,r),Qr(t,e,s))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=ve(),s=bt(e),l=it(r,s);l.tag=1,l.payload=t,n!=null&&(l.callback=n),t=Ct(e,l,s),t!==null&&(Ke(t,e,s,r),Qr(t,e,s))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=ve(),r=bt(e),s=it(n,r);s.tag=2,t!=null&&(s.callback=t),t=Ct(e,s,r),t!==null&&(Ke(t,e,r,n),Qr(t,e,r))}};function ka(e,t,n,r,s,l,i){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,l,i):t.prototype&&t.prototype.isPureReactComponent?!ar(n,r)||!ar(s,l):!0}function Ic(e,t,n){var r=!1,s=Rt,l=t.contextType;return typeof l=="object"&&l!==null?l=Ie(l):(s=je(t)?Vt:ge.current,r=t.contextTypes,l=(r=r!=null)?wn(e,s):Rt),t=new t(n,l),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Bs,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=s,e.__reactInternalMemoizedMaskedChildContext=l),t}function Na(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Bs.enqueueReplaceState(t,t.state,null)}function co(e,t,n,r){var s=e.stateNode;s.props=n,s.state=e.memoizedState,s.refs={},oi(e);var l=t.contextType;typeof l=="object"&&l!==null?s.context=Ie(l):(l=je(t)?Vt:ge.current,s.context=wn(e,l)),s.state=e.memoizedState,l=t.getDerivedStateFromProps,typeof l=="function"&&(uo(e,t,l,n),s.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof s.getSnapshotBeforeUpdate=="function"||typeof s.UNSAFE_componentWillMount!="function"&&typeof s.componentWillMount!="function"||(t=s.state,typeof s.componentWillMount=="function"&&s.componentWillMount(),typeof s.UNSAFE_componentWillMount=="function"&&s.UNSAFE_componentWillMount(),t!==s.state&&Bs.enqueueReplaceState(s,s.state,null),ws(e,n,s,r),s.state=e.memoizedState),typeof s.componentDidMount=="function"&&(e.flags|=4194308)}function jn(e,t){try{var n="",r=t;do n+=cf(r),r=r.return;while(r);var s=n}catch(l){s=`
39
+ Error generating stack: `+l.message+`
40
+ `+l.stack}return{value:e,source:t,stack:s,digest:null}}function Sl(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function fo(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var Ih=typeof WeakMap=="function"?WeakMap:Map;function $c(e,t,n){n=it(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Cs||(Cs=!0,ko=r),fo(e,t)},n}function Dc(e,t,n){n=it(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var s=t.value;n.payload=function(){return r(s)},n.callback=function(){fo(e,t)}}var l=e.stateNode;return l!==null&&typeof l.componentDidCatch=="function"&&(n.callback=function(){fo(e,t),typeof r!="function"&&(Et===null?Et=new Set([this]):Et.add(this));var i=t.stack;this.componentDidCatch(t.value,{componentStack:i!==null?i:""})}),n}function ja(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Ih;var s=new Set;r.set(t,s)}else s=r.get(t),s===void 0&&(s=new Set,r.set(t,s));s.has(n)||(s.add(n),e=Xh.bind(null,e,t,n),t.then(e,e))}function Ca(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Ea(e,t,n,r,s){return e.mode&1?(e.flags|=65536,e.lanes=s,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=it(-1,1),t.tag=2,Ct(n,t,1))),n.lanes|=1),e)}var $h=ft.ReactCurrentOwner,ke=!1;function ye(e,t,n,r){t.child=e===null?pc(t,null,n,r):kn(t,e.child,n,r)}function ba(e,t,n,r,s){n=n.render;var l=t.ref;return yn(t,s),r=di(e,t,n,r,l,s),n=fi(),e!==null&&!ke?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~s,dt(e,t,s)):(Q&&n&&Zo(t),t.flags|=1,ye(e,t,r,s),t.child)}function _a(e,t,n,r,s){if(e===null){var l=n.type;return typeof l=="function"&&!ki(l)&&l.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=l,Bc(e,t,l,r,s)):(e=es(n.type,null,r,t,t.mode,s),e.ref=t.ref,e.return=t,t.child=e)}if(l=e.child,!(e.lanes&s)){var i=l.memoizedProps;if(n=n.compare,n=n!==null?n:ar,n(i,r)&&e.ref===t.ref)return dt(e,t,s)}return t.flags|=1,e=_t(l,r),e.ref=t.ref,e.return=t,t.child=e}function Bc(e,t,n,r,s){if(e!==null){var l=e.memoizedProps;if(ar(l,r)&&e.ref===t.ref)if(ke=!1,t.pendingProps=r=l,(e.lanes&s)!==0)e.flags&131072&&(ke=!0);else return t.lanes=e.lanes,dt(e,t,s)}return ho(e,t,n,r,s)}function Fc(e,t,n){var r=t.pendingProps,s=r.children,l=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},W(fn,Ee),Ee|=n;else{if(!(n&1073741824))return e=l!==null?l.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,W(fn,Ee),Ee|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=l!==null?l.baseLanes:n,W(fn,Ee),Ee|=r}else l!==null?(r=l.baseLanes|n,t.memoizedState=null):r=n,W(fn,Ee),Ee|=r;return ye(e,t,s,n),t.child}function Uc(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function ho(e,t,n,r,s){var l=je(n)?Vt:ge.current;return l=wn(t,l),yn(t,s),n=di(e,t,n,r,l,s),r=fi(),e!==null&&!ke?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~s,dt(e,t,s)):(Q&&r&&Zo(t),t.flags|=1,ye(e,t,n,s),t.child)}function Ta(e,t,n,r,s){if(je(n)){var l=!0;ms(t)}else l=!1;if(yn(t,s),t.stateNode===null)Xr(e,t),Ic(t,n,r),co(t,n,r,s),r=!0;else if(e===null){var i=t.stateNode,a=t.memoizedProps;i.props=a;var u=i.context,h=n.contextType;typeof h=="object"&&h!==null?h=Ie(h):(h=je(n)?Vt:ge.current,h=wn(t,h));var y=n.getDerivedStateFromProps,p=typeof y=="function"||typeof i.getSnapshotBeforeUpdate=="function";p||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(a!==r||u!==h)&&Na(t,i,r,h),gt=!1;var c=t.memoizedState;i.state=c,ws(t,r,i,s),u=t.memoizedState,a!==r||c!==u||Ne.current||gt?(typeof y=="function"&&(uo(t,n,y,r),u=t.memoizedState),(a=gt||ka(t,n,a,r,c,u,h))?(p||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=u),i.props=r,i.state=u,i.context=h,r=a):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{i=t.stateNode,gc(e,t),a=t.memoizedProps,h=t.type===t.elementType?a:Be(t.type,a),i.props=h,p=t.pendingProps,c=i.context,u=n.contextType,typeof u=="object"&&u!==null?u=Ie(u):(u=je(n)?Vt:ge.current,u=wn(t,u));var w=n.getDerivedStateFromProps;(y=typeof w=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(a!==p||c!==u)&&Na(t,i,r,u),gt=!1,c=t.memoizedState,i.state=c,ws(t,r,i,s);var v=t.memoizedState;a!==p||c!==v||Ne.current||gt?(typeof w=="function"&&(uo(t,n,w,r),v=t.memoizedState),(h=gt||ka(t,n,h,r,c,v,u)||!1)?(y||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(r,v,u),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(r,v,u)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||a===e.memoizedProps&&c===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&c===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=v),i.props=r,i.state=v,i.context=u,r=h):(typeof i.componentDidUpdate!="function"||a===e.memoizedProps&&c===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&c===e.memoizedState||(t.flags|=1024),r=!1)}return po(e,t,n,r,l,s)}function po(e,t,n,r,s,l){Uc(e,t);var i=(t.flags&128)!==0;if(!r&&!i)return s&&pa(t,n,!1),dt(e,t,l);r=t.stateNode,$h.current=t;var a=i&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&i?(t.child=kn(t,e.child,null,l),t.child=kn(t,null,a,l)):ye(e,t,a,l),t.memoizedState=r.state,s&&pa(t,n,!0),t.child}function Hc(e){var t=e.stateNode;t.pendingContext?ha(e,t.pendingContext,t.pendingContext!==t.context):t.context&&ha(e,t.context,!1),ii(e,t.containerInfo)}function Pa(e,t,n,r,s){return Sn(),ti(s),t.flags|=256,ye(e,t,n,r),t.child}var mo={dehydrated:null,treeContext:null,retryLane:0};function go(e){return{baseLanes:e,cachePool:null,transitions:null}}function Vc(e,t,n){var r=t.pendingProps,s=X.current,l=!1,i=(t.flags&128)!==0,a;if((a=i)||(a=e!==null&&e.memoizedState===null?!1:(s&2)!==0),a?(l=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(s|=1),W(X,s&1),e===null)return io(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(i=r.children,e=r.fallback,l?(r=t.mode,l=t.child,i={mode:"hidden",children:i},!(r&1)&&l!==null?(l.childLanes=0,l.pendingProps=i):l=Hs(i,r,0,null),e=Ut(e,r,n,null),l.return=t,e.return=t,l.sibling=e,t.child=l,t.child.memoizedState=go(n),t.memoizedState=mo,e):mi(t,i));if(s=e.memoizedState,s!==null&&(a=s.dehydrated,a!==null))return Dh(e,t,i,r,a,s,n);if(l){l=r.fallback,i=t.mode,s=e.child,a=s.sibling;var u={mode:"hidden",children:r.children};return!(i&1)&&t.child!==s?(r=t.child,r.childLanes=0,r.pendingProps=u,t.deletions=null):(r=_t(s,u),r.subtreeFlags=s.subtreeFlags&14680064),a!==null?l=_t(a,l):(l=Ut(l,i,n,null),l.flags|=2),l.return=t,r.return=t,r.sibling=l,t.child=r,r=l,l=t.child,i=e.child.memoizedState,i=i===null?go(n):{baseLanes:i.baseLanes|n,cachePool:null,transitions:i.transitions},l.memoizedState=i,l.childLanes=e.childLanes&~n,t.memoizedState=mo,r}return l=e.child,e=l.sibling,r=_t(l,{mode:"visible",children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function mi(e,t){return t=Hs({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Ir(e,t,n,r){return r!==null&&ti(r),kn(t,e.child,null,n),e=mi(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Dh(e,t,n,r,s,l,i){if(n)return t.flags&256?(t.flags&=-257,r=Sl(Error(j(422))),Ir(e,t,i,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(l=r.fallback,s=t.mode,r=Hs({mode:"visible",children:r.children},s,0,null),l=Ut(l,s,i,null),l.flags|=2,r.return=t,l.return=t,r.sibling=l,t.child=r,t.mode&1&&kn(t,e.child,null,i),t.child.memoizedState=go(i),t.memoizedState=mo,l);if(!(t.mode&1))return Ir(e,t,i,null);if(s.data==="$!"){if(r=s.nextSibling&&s.nextSibling.dataset,r)var a=r.dgst;return r=a,l=Error(j(419)),r=Sl(l,r,void 0),Ir(e,t,i,r)}if(a=(i&e.childLanes)!==0,ke||a){if(r=ie,r!==null){switch(i&-i){case 4:s=2;break;case 16:s=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:s=32;break;case 536870912:s=268435456;break;default:s=0}s=s&(r.suspendedLanes|i)?0:s,s!==0&&s!==l.retryLane&&(l.retryLane=s,ct(e,s),Ke(r,e,s,-1))}return Si(),r=Sl(Error(j(421))),Ir(e,t,i,r)}return s.data==="$?"?(t.flags|=128,t.child=e.child,t=Jh.bind(null,e),s._reactRetry=t,null):(e=l.treeContext,be=jt(s.nextSibling),_e=t,Q=!0,He=null,e!==null&&(Le[Oe++]=lt,Le[Oe++]=ot,Le[Oe++]=Wt,lt=e.id,ot=e.overflow,Wt=t),t=mi(t,r.children),t.flags|=4096,t)}function Ra(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),ao(e.return,t,n)}function kl(e,t,n,r,s){var l=e.memoizedState;l===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:s}:(l.isBackwards=t,l.rendering=null,l.renderingStartTime=0,l.last=r,l.tail=n,l.tailMode=s)}function Wc(e,t,n){var r=t.pendingProps,s=r.revealOrder,l=r.tail;if(ye(e,t,r.children,n),r=X.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Ra(e,n,t);else if(e.tag===19)Ra(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(W(X,r),!(t.mode&1))t.memoizedState=null;else switch(s){case"forwards":for(n=t.child,s=null;n!==null;)e=n.alternate,e!==null&&Ss(e)===null&&(s=n),n=n.sibling;n=s,n===null?(s=t.child,t.child=null):(s=n.sibling,n.sibling=null),kl(t,!1,s,n,l);break;case"backwards":for(n=null,s=t.child,t.child=null;s!==null;){if(e=s.alternate,e!==null&&Ss(e)===null){t.child=s;break}e=s.sibling,s.sibling=n,n=s,s=e}kl(t,!0,n,null,l);break;case"together":kl(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Xr(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function dt(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),qt|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(j(153));if(t.child!==null){for(e=t.child,n=_t(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=_t(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Bh(e,t,n){switch(t.tag){case 3:Hc(t),Sn();break;case 5:yc(t);break;case 1:je(t.type)&&ms(t);break;case 4:ii(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,s=t.memoizedProps.value;W(vs,r._currentValue),r._currentValue=s;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(W(X,X.current&1),t.flags|=128,null):n&t.child.childLanes?Vc(e,t,n):(W(X,X.current&1),e=dt(e,t,n),e!==null?e.sibling:null);W(X,X.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return Wc(e,t,n);t.flags|=128}if(s=t.memoizedState,s!==null&&(s.rendering=null,s.tail=null,s.lastEffect=null),W(X,X.current),r)break;return null;case 22:case 23:return t.lanes=0,Fc(e,t,n)}return dt(e,t,n)}var Kc,yo,qc,Qc;Kc=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};yo=function(){};qc=function(e,t,n,r){var s=e.memoizedProps;if(s!==r){e=t.stateNode,Bt(Ze.current);var l=null;switch(n){case"input":s=$l(e,s),r=$l(e,r),l=[];break;case"select":s=Z({},s,{value:void 0}),r=Z({},r,{value:void 0}),l=[];break;case"textarea":s=Fl(e,s),r=Fl(e,r),l=[];break;default:typeof s.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=hs)}Hl(n,r);var i;n=null;for(h in s)if(!r.hasOwnProperty(h)&&s.hasOwnProperty(h)&&s[h]!=null)if(h==="style"){var a=s[h];for(i in a)a.hasOwnProperty(i)&&(n||(n={}),n[i]="")}else h!=="dangerouslySetInnerHTML"&&h!=="children"&&h!=="suppressContentEditableWarning"&&h!=="suppressHydrationWarning"&&h!=="autoFocus"&&(tr.hasOwnProperty(h)?l||(l=[]):(l=l||[]).push(h,null));for(h in r){var u=r[h];if(a=s!=null?s[h]:void 0,r.hasOwnProperty(h)&&u!==a&&(u!=null||a!=null))if(h==="style")if(a){for(i in a)!a.hasOwnProperty(i)||u&&u.hasOwnProperty(i)||(n||(n={}),n[i]="");for(i in u)u.hasOwnProperty(i)&&a[i]!==u[i]&&(n||(n={}),n[i]=u[i])}else n||(l||(l=[]),l.push(h,n)),n=u;else h==="dangerouslySetInnerHTML"?(u=u?u.__html:void 0,a=a?a.__html:void 0,u!=null&&a!==u&&(l=l||[]).push(h,u)):h==="children"?typeof u!="string"&&typeof u!="number"||(l=l||[]).push(h,""+u):h!=="suppressContentEditableWarning"&&h!=="suppressHydrationWarning"&&(tr.hasOwnProperty(h)?(u!=null&&h==="onScroll"&&K("scroll",e),l||a===u||(l=[])):(l=l||[]).push(h,u))}n&&(l=l||[]).push("style",n);var h=l;(t.updateQueue=h)&&(t.flags|=4)}};Qc=function(e,t,n,r){n!==r&&(t.flags|=4)};function $n(e,t){if(!Q)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function pe(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var s=e.child;s!==null;)n|=s.lanes|s.childLanes,r|=s.subtreeFlags&14680064,r|=s.flags&14680064,s.return=e,s=s.sibling;else for(s=e.child;s!==null;)n|=s.lanes|s.childLanes,r|=s.subtreeFlags,r|=s.flags,s.return=e,s=s.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Fh(e,t,n){var r=t.pendingProps;switch(ei(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return pe(t),null;case 1:return je(t.type)&&ps(),pe(t),null;case 3:return r=t.stateNode,Nn(),q(Ne),q(ge),ui(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(Mr(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,He!==null&&(Co(He),He=null))),yo(e,t),pe(t),null;case 5:ai(t);var s=Bt(hr.current);if(n=t.type,e!==null&&t.stateNode!=null)qc(e,t,n,r,s),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(j(166));return pe(t),null}if(e=Bt(Ze.current),Mr(t)){r=t.stateNode,n=t.type;var l=t.memoizedProps;switch(r[Xe]=t,r[dr]=l,e=(t.mode&1)!==0,n){case"dialog":K("cancel",r),K("close",r);break;case"iframe":case"object":case"embed":K("load",r);break;case"video":case"audio":for(s=0;s<Vn.length;s++)K(Vn[s],r);break;case"source":K("error",r);break;case"img":case"image":case"link":K("error",r),K("load",r);break;case"details":K("toggle",r);break;case"input":Bi(r,l),K("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!l.multiple},K("invalid",r);break;case"textarea":Ui(r,l),K("invalid",r)}Hl(n,l),s=null;for(var i in l)if(l.hasOwnProperty(i)){var a=l[i];i==="children"?typeof a=="string"?r.textContent!==a&&(l.suppressHydrationWarning!==!0&&Ar(r.textContent,a,e),s=["children",a]):typeof a=="number"&&r.textContent!==""+a&&(l.suppressHydrationWarning!==!0&&Ar(r.textContent,a,e),s=["children",""+a]):tr.hasOwnProperty(i)&&a!=null&&i==="onScroll"&&K("scroll",r)}switch(n){case"input":Er(r),Fi(r,l,!0);break;case"textarea":Er(r),Hi(r);break;case"select":case"option":break;default:typeof l.onClick=="function"&&(r.onclick=hs)}r=s,t.updateQueue=r,r!==null&&(t.flags|=4)}else{i=s.nodeType===9?s:s.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=ku(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=i.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=i.createElement(n,{is:r.is}):(e=i.createElement(n),n==="select"&&(i=e,r.multiple?i.multiple=!0:r.size&&(i.size=r.size))):e=i.createElementNS(e,n),e[Xe]=t,e[dr]=r,Kc(e,t,!1,!1),t.stateNode=e;e:{switch(i=Vl(n,r),n){case"dialog":K("cancel",e),K("close",e),s=r;break;case"iframe":case"object":case"embed":K("load",e),s=r;break;case"video":case"audio":for(s=0;s<Vn.length;s++)K(Vn[s],e);s=r;break;case"source":K("error",e),s=r;break;case"img":case"image":case"link":K("error",e),K("load",e),s=r;break;case"details":K("toggle",e),s=r;break;case"input":Bi(e,r),s=$l(e,r),K("invalid",e);break;case"option":s=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},s=Z({},r,{value:void 0}),K("invalid",e);break;case"textarea":Ui(e,r),s=Fl(e,r),K("invalid",e);break;default:s=r}Hl(n,s),a=s;for(l in a)if(a.hasOwnProperty(l)){var u=a[l];l==="style"?Cu(e,u):l==="dangerouslySetInnerHTML"?(u=u?u.__html:void 0,u!=null&&Nu(e,u)):l==="children"?typeof u=="string"?(n!=="textarea"||u!=="")&&nr(e,u):typeof u=="number"&&nr(e,""+u):l!=="suppressContentEditableWarning"&&l!=="suppressHydrationWarning"&&l!=="autoFocus"&&(tr.hasOwnProperty(l)?u!=null&&l==="onScroll"&&K("scroll",e):u!=null&&Do(e,l,u,i))}switch(n){case"input":Er(e),Fi(e,r,!1);break;case"textarea":Er(e),Hi(e);break;case"option":r.value!=null&&e.setAttribute("value",""+Pt(r.value));break;case"select":e.multiple=!!r.multiple,l=r.value,l!=null?hn(e,!!r.multiple,l,!1):r.defaultValue!=null&&hn(e,!!r.multiple,r.defaultValue,!0);break;default:typeof s.onClick=="function"&&(e.onclick=hs)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return pe(t),null;case 6:if(e&&t.stateNode!=null)Qc(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(j(166));if(n=Bt(hr.current),Bt(Ze.current),Mr(t)){if(r=t.stateNode,n=t.memoizedProps,r[Xe]=t,(l=r.nodeValue!==n)&&(e=_e,e!==null))switch(e.tag){case 3:Ar(r.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&Ar(r.nodeValue,n,(e.mode&1)!==0)}l&&(t.flags|=4)}else r=(n.nodeType===9?n:n.ownerDocument).createTextNode(r),r[Xe]=t,t.stateNode=r}return pe(t),null;case 13:if(q(X),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(Q&&be!==null&&t.mode&1&&!(t.flags&128))fc(),Sn(),t.flags|=98560,l=!1;else if(l=Mr(t),r!==null&&r.dehydrated!==null){if(e===null){if(!l)throw Error(j(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(j(317));l[Xe]=t}else Sn(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;pe(t),l=!1}else He!==null&&(Co(He),He=null),l=!0;if(!l)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,t.mode&1&&(e===null||X.current&1?le===0&&(le=3):Si())),t.updateQueue!==null&&(t.flags|=4),pe(t),null);case 4:return Nn(),yo(e,t),e===null&&ur(t.stateNode.containerInfo),pe(t),null;case 10:return si(t.type._context),pe(t),null;case 17:return je(t.type)&&ps(),pe(t),null;case 19:if(q(X),l=t.memoizedState,l===null)return pe(t),null;if(r=(t.flags&128)!==0,i=l.rendering,i===null)if(r)$n(l,!1);else{if(le!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(i=Ss(e),i!==null){for(t.flags|=128,$n(l,!1),r=i.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;n!==null;)l=n,e=r,l.flags&=14680066,i=l.alternate,i===null?(l.childLanes=0,l.lanes=e,l.child=null,l.subtreeFlags=0,l.memoizedProps=null,l.memoizedState=null,l.updateQueue=null,l.dependencies=null,l.stateNode=null):(l.childLanes=i.childLanes,l.lanes=i.lanes,l.child=i.child,l.subtreeFlags=0,l.deletions=null,l.memoizedProps=i.memoizedProps,l.memoizedState=i.memoizedState,l.updateQueue=i.updateQueue,l.type=i.type,e=i.dependencies,l.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return W(X,X.current&1|2),t.child}e=e.sibling}l.tail!==null&&te()>Cn&&(t.flags|=128,r=!0,$n(l,!1),t.lanes=4194304)}else{if(!r)if(e=Ss(i),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),$n(l,!0),l.tail===null&&l.tailMode==="hidden"&&!i.alternate&&!Q)return pe(t),null}else 2*te()-l.renderingStartTime>Cn&&n!==1073741824&&(t.flags|=128,r=!0,$n(l,!1),t.lanes=4194304);l.isBackwards?(i.sibling=t.child,t.child=i):(n=l.last,n!==null?n.sibling=i:t.child=i,l.last=i)}return l.tail!==null?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=te(),t.sibling=null,n=X.current,W(X,r?n&1|2:n&1),t):(pe(t),null);case 22:case 23:return wi(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Ee&1073741824&&(pe(t),t.subtreeFlags&6&&(t.flags|=8192)):pe(t),null;case 24:return null;case 25:return null}throw Error(j(156,t.tag))}function Uh(e,t){switch(ei(t),t.tag){case 1:return je(t.type)&&ps(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Nn(),q(Ne),q(ge),ui(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return ai(t),null;case 13:if(q(X),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(j(340));Sn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return q(X),null;case 4:return Nn(),null;case 10:return si(t.type._context),null;case 22:case 23:return wi(),null;case 24:return null;default:return null}}var $r=!1,me=!1,Hh=typeof WeakSet=="function"?WeakSet:Set,R=null;function dn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){ee(e,t,r)}else n.current=null}function vo(e,t,n){try{n()}catch(r){ee(e,t,r)}}var La=!1;function Vh(e,t){if(eo=cs,e=Zu(),Jo(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var s=r.anchorOffset,l=r.focusNode;r=r.focusOffset;try{n.nodeType,l.nodeType}catch{n=null;break e}var i=0,a=-1,u=-1,h=0,y=0,p=e,c=null;t:for(;;){for(var w;p!==n||s!==0&&p.nodeType!==3||(a=i+s),p!==l||r!==0&&p.nodeType!==3||(u=i+r),p.nodeType===3&&(i+=p.nodeValue.length),(w=p.firstChild)!==null;)c=p,p=w;for(;;){if(p===e)break t;if(c===n&&++h===s&&(a=i),c===l&&++y===r&&(u=i),(w=p.nextSibling)!==null)break;p=c,c=p.parentNode}p=w}n=a===-1||u===-1?null:{start:a,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(to={focusedElem:e,selectionRange:n},cs=!1,R=t;R!==null;)if(t=R,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,R=e;else for(;R!==null;){t=R;try{var v=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(v!==null){var N=v.memoizedProps,A=v.memoizedState,g=t.stateNode,d=g.getSnapshotBeforeUpdate(t.elementType===t.type?N:Be(t.type,N),A);g.__reactInternalSnapshotBeforeUpdate=d}break;case 3:var f=t.stateNode.containerInfo;f.nodeType===1?f.textContent="":f.nodeType===9&&f.documentElement&&f.removeChild(f.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(j(163))}}catch(k){ee(t,t.return,k)}if(e=t.sibling,e!==null){e.return=t.return,R=e;break}R=t.return}return v=La,La=!1,v}function Jn(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var s=r=r.next;do{if((s.tag&e)===e){var l=s.destroy;s.destroy=void 0,l!==void 0&&vo(t,n,l)}s=s.next}while(s!==r)}}function Fs(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function xo(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Yc(e){var t=e.alternate;t!==null&&(e.alternate=null,Yc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Xe],delete t[dr],delete t[so],delete t[Eh],delete t[bh])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Gc(e){return e.tag===5||e.tag===3||e.tag===4}function Oa(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Gc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function wo(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=hs));else if(r!==4&&(e=e.child,e!==null))for(wo(e,t,n),e=e.sibling;e!==null;)wo(e,t,n),e=e.sibling}function So(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(So(e,t,n),e=e.sibling;e!==null;)So(e,t,n),e=e.sibling}var ae=null,Fe=!1;function pt(e,t,n){for(n=n.child;n!==null;)Xc(e,t,n),n=n.sibling}function Xc(e,t,n){if(Je&&typeof Je.onCommitFiberUnmount=="function")try{Je.onCommitFiberUnmount(Os,n)}catch{}switch(n.tag){case 5:me||dn(n,t);case 6:var r=ae,s=Fe;ae=null,pt(e,t,n),ae=r,Fe=s,ae!==null&&(Fe?(e=ae,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ae.removeChild(n.stateNode));break;case 18:ae!==null&&(Fe?(e=ae,n=n.stateNode,e.nodeType===8?ml(e.parentNode,n):e.nodeType===1&&ml(e,n),or(e)):ml(ae,n.stateNode));break;case 4:r=ae,s=Fe,ae=n.stateNode.containerInfo,Fe=!0,pt(e,t,n),ae=r,Fe=s;break;case 0:case 11:case 14:case 15:if(!me&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){s=r=r.next;do{var l=s,i=l.destroy;l=l.tag,i!==void 0&&(l&2||l&4)&&vo(n,t,i),s=s.next}while(s!==r)}pt(e,t,n);break;case 1:if(!me&&(dn(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){ee(n,t,a)}pt(e,t,n);break;case 21:pt(e,t,n);break;case 22:n.mode&1?(me=(r=me)||n.memoizedState!==null,pt(e,t,n),me=r):pt(e,t,n);break;default:pt(e,t,n)}}function Aa(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Hh),t.forEach(function(r){var s=Zh.bind(null,e,r);n.has(r)||(n.add(r),r.then(s,s))})}}function De(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var s=n[r];try{var l=e,i=t,a=i;e:for(;a!==null;){switch(a.tag){case 5:ae=a.stateNode,Fe=!1;break e;case 3:ae=a.stateNode.containerInfo,Fe=!0;break e;case 4:ae=a.stateNode.containerInfo,Fe=!0;break e}a=a.return}if(ae===null)throw Error(j(160));Xc(l,i,s),ae=null,Fe=!1;var u=s.alternate;u!==null&&(u.return=null),s.return=null}catch(h){ee(s,t,h)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Jc(t,e),t=t.sibling}function Jc(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(De(t,e),Ye(e),r&4){try{Jn(3,e,e.return),Fs(3,e)}catch(N){ee(e,e.return,N)}try{Jn(5,e,e.return)}catch(N){ee(e,e.return,N)}}break;case 1:De(t,e),Ye(e),r&512&&n!==null&&dn(n,n.return);break;case 5:if(De(t,e),Ye(e),r&512&&n!==null&&dn(n,n.return),e.flags&32){var s=e.stateNode;try{nr(s,"")}catch(N){ee(e,e.return,N)}}if(r&4&&(s=e.stateNode,s!=null)){var l=e.memoizedProps,i=n!==null?n.memoizedProps:l,a=e.type,u=e.updateQueue;if(e.updateQueue=null,u!==null)try{a==="input"&&l.type==="radio"&&l.name!=null&&wu(s,l),Vl(a,i);var h=Vl(a,l);for(i=0;i<u.length;i+=2){var y=u[i],p=u[i+1];y==="style"?Cu(s,p):y==="dangerouslySetInnerHTML"?Nu(s,p):y==="children"?nr(s,p):Do(s,y,p,h)}switch(a){case"input":Dl(s,l);break;case"textarea":Su(s,l);break;case"select":var c=s._wrapperState.wasMultiple;s._wrapperState.wasMultiple=!!l.multiple;var w=l.value;w!=null?hn(s,!!l.multiple,w,!1):c!==!!l.multiple&&(l.defaultValue!=null?hn(s,!!l.multiple,l.defaultValue,!0):hn(s,!!l.multiple,l.multiple?[]:"",!1))}s[dr]=l}catch(N){ee(e,e.return,N)}}break;case 6:if(De(t,e),Ye(e),r&4){if(e.stateNode===null)throw Error(j(162));s=e.stateNode,l=e.memoizedProps;try{s.nodeValue=l}catch(N){ee(e,e.return,N)}}break;case 3:if(De(t,e),Ye(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{or(t.containerInfo)}catch(N){ee(e,e.return,N)}break;case 4:De(t,e),Ye(e);break;case 13:De(t,e),Ye(e),s=e.child,s.flags&8192&&(l=s.memoizedState!==null,s.stateNode.isHidden=l,!l||s.alternate!==null&&s.alternate.memoizedState!==null||(vi=te())),r&4&&Aa(e);break;case 22:if(y=n!==null&&n.memoizedState!==null,e.mode&1?(me=(h=me)||y,De(t,e),me=h):De(t,e),Ye(e),r&8192){if(h=e.memoizedState!==null,(e.stateNode.isHidden=h)&&!y&&e.mode&1)for(R=e,y=e.child;y!==null;){for(p=R=y;R!==null;){switch(c=R,w=c.child,c.tag){case 0:case 11:case 14:case 15:Jn(4,c,c.return);break;case 1:dn(c,c.return);var v=c.stateNode;if(typeof v.componentWillUnmount=="function"){r=c,n=c.return;try{t=r,v.props=t.memoizedProps,v.state=t.memoizedState,v.componentWillUnmount()}catch(N){ee(r,n,N)}}break;case 5:dn(c,c.return);break;case 22:if(c.memoizedState!==null){za(p);continue}}w!==null?(w.return=c,R=w):za(p)}y=y.sibling}e:for(y=null,p=e;;){if(p.tag===5){if(y===null){y=p;try{s=p.stateNode,h?(l=s.style,typeof l.setProperty=="function"?l.setProperty("display","none","important"):l.display="none"):(a=p.stateNode,u=p.memoizedProps.style,i=u!=null&&u.hasOwnProperty("display")?u.display:null,a.style.display=ju("display",i))}catch(N){ee(e,e.return,N)}}}else if(p.tag===6){if(y===null)try{p.stateNode.nodeValue=h?"":p.memoizedProps}catch(N){ee(e,e.return,N)}}else if((p.tag!==22&&p.tag!==23||p.memoizedState===null||p===e)&&p.child!==null){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;p.sibling===null;){if(p.return===null||p.return===e)break e;y===p&&(y=null),p=p.return}y===p&&(y=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:De(t,e),Ye(e),r&4&&Aa(e);break;case 21:break;default:De(t,e),Ye(e)}}function Ye(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(Gc(n)){var r=n;break e}n=n.return}throw Error(j(160))}switch(r.tag){case 5:var s=r.stateNode;r.flags&32&&(nr(s,""),r.flags&=-33);var l=Oa(e);So(e,l,s);break;case 3:case 4:var i=r.stateNode.containerInfo,a=Oa(e);wo(e,a,i);break;default:throw Error(j(161))}}catch(u){ee(e,e.return,u)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Wh(e,t,n){R=e,Zc(e)}function Zc(e,t,n){for(var r=(e.mode&1)!==0;R!==null;){var s=R,l=s.child;if(s.tag===22&&r){var i=s.memoizedState!==null||$r;if(!i){var a=s.alternate,u=a!==null&&a.memoizedState!==null||me;a=$r;var h=me;if($r=i,(me=u)&&!h)for(R=s;R!==null;)i=R,u=i.child,i.tag===22&&i.memoizedState!==null?Ia(s):u!==null?(u.return=i,R=u):Ia(s);for(;l!==null;)R=l,Zc(l),l=l.sibling;R=s,$r=a,me=h}Ma(e)}else s.subtreeFlags&8772&&l!==null?(l.return=s,R=l):Ma(e)}}function Ma(e){for(;R!==null;){var t=R;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:me||Fs(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!me)if(n===null)r.componentDidMount();else{var s=t.elementType===t.type?n.memoizedProps:Be(t.type,n.memoizedProps);r.componentDidUpdate(s,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var l=t.updateQueue;l!==null&&xa(t,l,r);break;case 3:var i=t.updateQueue;if(i!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}xa(t,i,n)}break;case 5:var a=t.stateNode;if(n===null&&t.flags&4){n=a;var u=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":u.autoFocus&&n.focus();break;case"img":u.src&&(n.src=u.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var h=t.alternate;if(h!==null){var y=h.memoizedState;if(y!==null){var p=y.dehydrated;p!==null&&or(p)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(j(163))}me||t.flags&512&&xo(t)}catch(c){ee(t,t.return,c)}}if(t===e){R=null;break}if(n=t.sibling,n!==null){n.return=t.return,R=n;break}R=t.return}}function za(e){for(;R!==null;){var t=R;if(t===e){R=null;break}var n=t.sibling;if(n!==null){n.return=t.return,R=n;break}R=t.return}}function Ia(e){for(;R!==null;){var t=R;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{Fs(4,t)}catch(u){ee(t,n,u)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var s=t.return;try{r.componentDidMount()}catch(u){ee(t,s,u)}}var l=t.return;try{xo(t)}catch(u){ee(t,l,u)}break;case 5:var i=t.return;try{xo(t)}catch(u){ee(t,i,u)}}}catch(u){ee(t,t.return,u)}if(t===e){R=null;break}var a=t.sibling;if(a!==null){a.return=t.return,R=a;break}R=t.return}}var Kh=Math.ceil,js=ft.ReactCurrentDispatcher,gi=ft.ReactCurrentOwner,ze=ft.ReactCurrentBatchConfig,D=0,ie=null,ne=null,ue=0,Ee=0,fn=Ot(0),le=0,yr=null,qt=0,Us=0,yi=0,Zn=null,Se=null,vi=0,Cn=1/0,rt=null,Cs=!1,ko=null,Et=null,Dr=!1,wt=null,Es=0,er=0,No=null,Jr=-1,Zr=0;function ve(){return D&6?te():Jr!==-1?Jr:Jr=te()}function bt(e){return e.mode&1?D&2&&ue!==0?ue&-ue:Th.transition!==null?(Zr===0&&(Zr=Iu()),Zr):(e=F,e!==0||(e=window.event,e=e===void 0?16:Vu(e.type)),e):1}function Ke(e,t,n,r){if(50<er)throw er=0,No=null,Error(j(185));wr(e,n,r),(!(D&2)||e!==ie)&&(e===ie&&(!(D&2)&&(Us|=n),le===4&&vt(e,ue)),Ce(e,r),n===1&&D===0&&!(t.mode&1)&&(Cn=te()+500,$s&&At()))}function Ce(e,t){var n=e.callbackNode;Tf(e,t);var r=us(e,e===ie?ue:0);if(r===0)n!==null&&Ki(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&Ki(n),t===1)e.tag===0?_h($a.bind(null,e)):uc($a.bind(null,e)),jh(function(){!(D&6)&&At()}),n=null;else{switch($u(r)){case 1:n=Vo;break;case 4:n=Mu;break;case 16:n=as;break;case 536870912:n=zu;break;default:n=as}n=id(n,ed.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function ed(e,t){if(Jr=-1,Zr=0,D&6)throw Error(j(327));var n=e.callbackNode;if(vn()&&e.callbackNode!==n)return null;var r=us(e,e===ie?ue:0);if(r===0)return null;if(r&30||r&e.expiredLanes||t)t=bs(e,r);else{t=r;var s=D;D|=2;var l=nd();(ie!==e||ue!==t)&&(rt=null,Cn=te()+500,Ft(e,t));do try{Yh();break}catch(a){td(e,a)}while(!0);ri(),js.current=l,D=s,ne!==null?t=0:(ie=null,ue=0,t=le)}if(t!==0){if(t===2&&(s=Yl(e),s!==0&&(r=s,t=jo(e,s))),t===1)throw n=yr,Ft(e,0),vt(e,r),Ce(e,te()),n;if(t===6)vt(e,r);else{if(s=e.current.alternate,!(r&30)&&!qh(s)&&(t=bs(e,r),t===2&&(l=Yl(e),l!==0&&(r=l,t=jo(e,l))),t===1))throw n=yr,Ft(e,0),vt(e,r),Ce(e,te()),n;switch(e.finishedWork=s,e.finishedLanes=r,t){case 0:case 1:throw Error(j(345));case 2:It(e,Se,rt);break;case 3:if(vt(e,r),(r&130023424)===r&&(t=vi+500-te(),10<t)){if(us(e,0)!==0)break;if(s=e.suspendedLanes,(s&r)!==r){ve(),e.pingedLanes|=e.suspendedLanes&s;break}e.timeoutHandle=ro(It.bind(null,e,Se,rt),t);break}It(e,Se,rt);break;case 4:if(vt(e,r),(r&4194240)===r)break;for(t=e.eventTimes,s=-1;0<r;){var i=31-We(r);l=1<<i,i=t[i],i>s&&(s=i),r&=~l}if(r=s,r=te()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Kh(r/1960))-r,10<r){e.timeoutHandle=ro(It.bind(null,e,Se,rt),r);break}It(e,Se,rt);break;case 5:It(e,Se,rt);break;default:throw Error(j(329))}}}return Ce(e,te()),e.callbackNode===n?ed.bind(null,e):null}function jo(e,t){var n=Zn;return e.current.memoizedState.isDehydrated&&(Ft(e,t).flags|=256),e=bs(e,t),e!==2&&(t=Se,Se=n,t!==null&&Co(t)),e}function Co(e){Se===null?Se=e:Se.push.apply(Se,e)}function qh(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var s=n[r],l=s.getSnapshot;s=s.value;try{if(!qe(l(),s))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function vt(e,t){for(t&=~yi,t&=~Us,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-We(t),r=1<<n;e[n]=-1,t&=~r}}function $a(e){if(D&6)throw Error(j(327));vn();var t=us(e,0);if(!(t&1))return Ce(e,te()),null;var n=bs(e,t);if(e.tag!==0&&n===2){var r=Yl(e);r!==0&&(t=r,n=jo(e,r))}if(n===1)throw n=yr,Ft(e,0),vt(e,t),Ce(e,te()),n;if(n===6)throw Error(j(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,It(e,Se,rt),Ce(e,te()),null}function xi(e,t){var n=D;D|=1;try{return e(t)}finally{D=n,D===0&&(Cn=te()+500,$s&&At())}}function Qt(e){wt!==null&&wt.tag===0&&!(D&6)&&vn();var t=D;D|=1;var n=ze.transition,r=F;try{if(ze.transition=null,F=1,e)return e()}finally{F=r,ze.transition=n,D=t,!(D&6)&&At()}}function wi(){Ee=fn.current,q(fn)}function Ft(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,Nh(n)),ne!==null)for(n=ne.return;n!==null;){var r=n;switch(ei(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&ps();break;case 3:Nn(),q(Ne),q(ge),ui();break;case 5:ai(r);break;case 4:Nn();break;case 13:q(X);break;case 19:q(X);break;case 10:si(r.type._context);break;case 22:case 23:wi()}n=n.return}if(ie=e,ne=e=_t(e.current,null),ue=Ee=t,le=0,yr=null,yi=Us=qt=0,Se=Zn=null,Dt!==null){for(t=0;t<Dt.length;t++)if(n=Dt[t],r=n.interleaved,r!==null){n.interleaved=null;var s=r.next,l=n.pending;if(l!==null){var i=l.next;l.next=s,r.next=i}n.pending=r}Dt=null}return e}function td(e,t){do{var n=ne;try{if(ri(),Yr.current=Ns,ks){for(var r=J.memoizedState;r!==null;){var s=r.queue;s!==null&&(s.pending=null),r=r.next}ks=!1}if(Kt=0,oe=se=J=null,Xn=!1,pr=0,gi.current=null,n===null||n.return===null){le=1,yr=t,ne=null;break}e:{var l=e,i=n.return,a=n,u=t;if(t=ue,a.flags|=32768,u!==null&&typeof u=="object"&&typeof u.then=="function"){var h=u,y=a,p=y.tag;if(!(y.mode&1)&&(p===0||p===11||p===15)){var c=y.alternate;c?(y.updateQueue=c.updateQueue,y.memoizedState=c.memoizedState,y.lanes=c.lanes):(y.updateQueue=null,y.memoizedState=null)}var w=Ca(i);if(w!==null){w.flags&=-257,Ea(w,i,a,l,t),w.mode&1&&ja(l,h,t),t=w,u=h;var v=t.updateQueue;if(v===null){var N=new Set;N.add(u),t.updateQueue=N}else v.add(u);break e}else{if(!(t&1)){ja(l,h,t),Si();break e}u=Error(j(426))}}else if(Q&&a.mode&1){var A=Ca(i);if(A!==null){!(A.flags&65536)&&(A.flags|=256),Ea(A,i,a,l,t),ti(jn(u,a));break e}}l=u=jn(u,a),le!==4&&(le=2),Zn===null?Zn=[l]:Zn.push(l),l=i;do{switch(l.tag){case 3:l.flags|=65536,t&=-t,l.lanes|=t;var g=$c(l,u,t);va(l,g);break e;case 1:a=u;var d=l.type,f=l.stateNode;if(!(l.flags&128)&&(typeof d.getDerivedStateFromError=="function"||f!==null&&typeof f.componentDidCatch=="function"&&(Et===null||!Et.has(f)))){l.flags|=65536,t&=-t,l.lanes|=t;var k=Dc(l,a,t);va(l,k);break e}}l=l.return}while(l!==null)}sd(n)}catch(E){t=E,ne===n&&n!==null&&(ne=n=n.return);continue}break}while(!0)}function nd(){var e=js.current;return js.current=Ns,e===null?Ns:e}function Si(){(le===0||le===3||le===2)&&(le=4),ie===null||!(qt&268435455)&&!(Us&268435455)||vt(ie,ue)}function bs(e,t){var n=D;D|=2;var r=nd();(ie!==e||ue!==t)&&(rt=null,Ft(e,t));do try{Qh();break}catch(s){td(e,s)}while(!0);if(ri(),D=n,js.current=r,ne!==null)throw Error(j(261));return ie=null,ue=0,le}function Qh(){for(;ne!==null;)rd(ne)}function Yh(){for(;ne!==null&&!wf();)rd(ne)}function rd(e){var t=od(e.alternate,e,Ee);e.memoizedProps=e.pendingProps,t===null?sd(e):ne=t,gi.current=null}function sd(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=Uh(n,t),n!==null){n.flags&=32767,ne=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{le=6,ne=null;return}}else if(n=Fh(n,t,Ee),n!==null){ne=n;return}if(t=t.sibling,t!==null){ne=t;return}ne=t=e}while(t!==null);le===0&&(le=5)}function It(e,t,n){var r=F,s=ze.transition;try{ze.transition=null,F=1,Gh(e,t,n,r)}finally{ze.transition=s,F=r}return null}function Gh(e,t,n,r){do vn();while(wt!==null);if(D&6)throw Error(j(327));n=e.finishedWork;var s=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(j(177));e.callbackNode=null,e.callbackPriority=0;var l=n.lanes|n.childLanes;if(Pf(e,l),e===ie&&(ne=ie=null,ue=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||Dr||(Dr=!0,id(as,function(){return vn(),null})),l=(n.flags&15990)!==0,n.subtreeFlags&15990||l){l=ze.transition,ze.transition=null;var i=F;F=1;var a=D;D|=4,gi.current=null,Vh(e,n),Jc(n,e),gh(to),cs=!!eo,to=eo=null,e.current=n,Wh(n),Sf(),D=a,F=i,ze.transition=l}else e.current=n;if(Dr&&(Dr=!1,wt=e,Es=s),l=e.pendingLanes,l===0&&(Et=null),jf(n.stateNode),Ce(e,te()),t!==null)for(r=e.onRecoverableError,n=0;n<t.length;n++)s=t[n],r(s.value,{componentStack:s.stack,digest:s.digest});if(Cs)throw Cs=!1,e=ko,ko=null,e;return Es&1&&e.tag!==0&&vn(),l=e.pendingLanes,l&1?e===No?er++:(er=0,No=e):er=0,At(),null}function vn(){if(wt!==null){var e=$u(Es),t=ze.transition,n=F;try{if(ze.transition=null,F=16>e?16:e,wt===null)var r=!1;else{if(e=wt,wt=null,Es=0,D&6)throw Error(j(331));var s=D;for(D|=4,R=e.current;R!==null;){var l=R,i=l.child;if(R.flags&16){var a=l.deletions;if(a!==null){for(var u=0;u<a.length;u++){var h=a[u];for(R=h;R!==null;){var y=R;switch(y.tag){case 0:case 11:case 15:Jn(8,y,l)}var p=y.child;if(p!==null)p.return=y,R=p;else for(;R!==null;){y=R;var c=y.sibling,w=y.return;if(Yc(y),y===h){R=null;break}if(c!==null){c.return=w,R=c;break}R=w}}}var v=l.alternate;if(v!==null){var N=v.child;if(N!==null){v.child=null;do{var A=N.sibling;N.sibling=null,N=A}while(N!==null)}}R=l}}if(l.subtreeFlags&2064&&i!==null)i.return=l,R=i;else e:for(;R!==null;){if(l=R,l.flags&2048)switch(l.tag){case 0:case 11:case 15:Jn(9,l,l.return)}var g=l.sibling;if(g!==null){g.return=l.return,R=g;break e}R=l.return}}var d=e.current;for(R=d;R!==null;){i=R;var f=i.child;if(i.subtreeFlags&2064&&f!==null)f.return=i,R=f;else e:for(i=d;R!==null;){if(a=R,a.flags&2048)try{switch(a.tag){case 0:case 11:case 15:Fs(9,a)}}catch(E){ee(a,a.return,E)}if(a===i){R=null;break e}var k=a.sibling;if(k!==null){k.return=a.return,R=k;break e}R=a.return}}if(D=s,At(),Je&&typeof Je.onPostCommitFiberRoot=="function")try{Je.onPostCommitFiberRoot(Os,e)}catch{}r=!0}return r}finally{F=n,ze.transition=t}}return!1}function Da(e,t,n){t=jn(n,t),t=$c(e,t,1),e=Ct(e,t,1),t=ve(),e!==null&&(wr(e,1,t),Ce(e,t))}function ee(e,t,n){if(e.tag===3)Da(e,e,n);else for(;t!==null;){if(t.tag===3){Da(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(Et===null||!Et.has(r))){e=jn(n,e),e=Dc(t,e,1),t=Ct(t,e,1),e=ve(),t!==null&&(wr(t,1,e),Ce(t,e));break}}t=t.return}}function Xh(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=ve(),e.pingedLanes|=e.suspendedLanes&n,ie===e&&(ue&n)===n&&(le===4||le===3&&(ue&130023424)===ue&&500>te()-vi?Ft(e,0):yi|=n),Ce(e,t)}function ld(e,t){t===0&&(e.mode&1?(t=Tr,Tr<<=1,!(Tr&130023424)&&(Tr=4194304)):t=1);var n=ve();e=ct(e,t),e!==null&&(wr(e,t,n),Ce(e,n))}function Jh(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),ld(e,n)}function Zh(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,s=e.memoizedState;s!==null&&(n=s.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(j(314))}r!==null&&r.delete(t),ld(e,n)}var od;od=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ne.current)ke=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return ke=!1,Bh(e,t,n);ke=!!(e.flags&131072)}else ke=!1,Q&&t.flags&1048576&&cc(t,ys,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Xr(e,t),e=t.pendingProps;var s=wn(t,ge.current);yn(t,n),s=di(null,t,r,e,s,n);var l=fi();return t.flags|=1,typeof s=="object"&&s!==null&&typeof s.render=="function"&&s.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,je(r)?(l=!0,ms(t)):l=!1,t.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,oi(t),s.updater=Bs,t.stateNode=s,s._reactInternals=t,co(t,r,e,n),t=po(null,t,r,!0,l,n)):(t.tag=0,Q&&l&&Zo(t),ye(null,t,s,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Xr(e,t),e=t.pendingProps,s=r._init,r=s(r._payload),t.type=r,s=t.tag=tp(r),e=Be(r,e),s){case 0:t=ho(null,t,r,e,n);break e;case 1:t=Ta(null,t,r,e,n);break e;case 11:t=ba(null,t,r,e,n);break e;case 14:t=_a(null,t,r,Be(r.type,e),n);break e}throw Error(j(306,r,""))}return t;case 0:return r=t.type,s=t.pendingProps,s=t.elementType===r?s:Be(r,s),ho(e,t,r,s,n);case 1:return r=t.type,s=t.pendingProps,s=t.elementType===r?s:Be(r,s),Ta(e,t,r,s,n);case 3:e:{if(Hc(t),e===null)throw Error(j(387));r=t.pendingProps,l=t.memoizedState,s=l.element,gc(e,t),ws(t,r,null,n);var i=t.memoizedState;if(r=i.element,l.isDehydrated)if(l={element:r,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=l,t.memoizedState=l,t.flags&256){s=jn(Error(j(423)),t),t=Pa(e,t,r,n,s);break e}else if(r!==s){s=jn(Error(j(424)),t),t=Pa(e,t,r,n,s);break e}else for(be=jt(t.stateNode.containerInfo.firstChild),_e=t,Q=!0,He=null,n=pc(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Sn(),r===s){t=dt(e,t,n);break e}ye(e,t,r,n)}t=t.child}return t;case 5:return yc(t),e===null&&io(t),r=t.type,s=t.pendingProps,l=e!==null?e.memoizedProps:null,i=s.children,no(r,s)?i=null:l!==null&&no(r,l)&&(t.flags|=32),Uc(e,t),ye(e,t,i,n),t.child;case 6:return e===null&&io(t),null;case 13:return Vc(e,t,n);case 4:return ii(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=kn(t,null,r,n):ye(e,t,r,n),t.child;case 11:return r=t.type,s=t.pendingProps,s=t.elementType===r?s:Be(r,s),ba(e,t,r,s,n);case 7:return ye(e,t,t.pendingProps,n),t.child;case 8:return ye(e,t,t.pendingProps.children,n),t.child;case 12:return ye(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,s=t.pendingProps,l=t.memoizedProps,i=s.value,W(vs,r._currentValue),r._currentValue=i,l!==null)if(qe(l.value,i)){if(l.children===s.children&&!Ne.current){t=dt(e,t,n);break e}}else for(l=t.child,l!==null&&(l.return=t);l!==null;){var a=l.dependencies;if(a!==null){i=l.child;for(var u=a.firstContext;u!==null;){if(u.context===r){if(l.tag===1){u=it(-1,n&-n),u.tag=2;var h=l.updateQueue;if(h!==null){h=h.shared;var y=h.pending;y===null?u.next=u:(u.next=y.next,y.next=u),h.pending=u}}l.lanes|=n,u=l.alternate,u!==null&&(u.lanes|=n),ao(l.return,n,t),a.lanes|=n;break}u=u.next}}else if(l.tag===10)i=l.type===t.type?null:l.child;else if(l.tag===18){if(i=l.return,i===null)throw Error(j(341));i.lanes|=n,a=i.alternate,a!==null&&(a.lanes|=n),ao(i,n,t),i=l.sibling}else i=l.child;if(i!==null)i.return=l;else for(i=l;i!==null;){if(i===t){i=null;break}if(l=i.sibling,l!==null){l.return=i.return,i=l;break}i=i.return}l=i}ye(e,t,s.children,n),t=t.child}return t;case 9:return s=t.type,r=t.pendingProps.children,yn(t,n),s=Ie(s),r=r(s),t.flags|=1,ye(e,t,r,n),t.child;case 14:return r=t.type,s=Be(r,t.pendingProps),s=Be(r.type,s),_a(e,t,r,s,n);case 15:return Bc(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,s=t.pendingProps,s=t.elementType===r?s:Be(r,s),Xr(e,t),t.tag=1,je(r)?(e=!0,ms(t)):e=!1,yn(t,n),Ic(t,r,s),co(t,r,s,n),po(null,t,r,!0,e,n);case 19:return Wc(e,t,n);case 22:return Fc(e,t,n)}throw Error(j(156,t.tag))};function id(e,t){return Au(e,t)}function ep(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Me(e,t,n,r){return new ep(e,t,n,r)}function ki(e){return e=e.prototype,!(!e||!e.isReactComponent)}function tp(e){if(typeof e=="function")return ki(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Fo)return 11;if(e===Uo)return 14}return 2}function _t(e,t){var n=e.alternate;return n===null?(n=Me(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function es(e,t,n,r,s,l){var i=2;if(r=e,typeof e=="function")ki(e)&&(i=1);else if(typeof e=="string")i=5;else e:switch(e){case tn:return Ut(n.children,s,l,t);case Bo:i=8,s|=8;break;case Al:return e=Me(12,n,t,s|2),e.elementType=Al,e.lanes=l,e;case Ml:return e=Me(13,n,t,s),e.elementType=Ml,e.lanes=l,e;case zl:return e=Me(19,n,t,s),e.elementType=zl,e.lanes=l,e;case yu:return Hs(n,s,l,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case mu:i=10;break e;case gu:i=9;break e;case Fo:i=11;break e;case Uo:i=14;break e;case mt:i=16,r=null;break e}throw Error(j(130,e==null?e:typeof e,""))}return t=Me(i,n,t,s),t.elementType=e,t.type=r,t.lanes=l,t}function Ut(e,t,n,r){return e=Me(7,e,r,t),e.lanes=n,e}function Hs(e,t,n,r){return e=Me(22,e,r,t),e.elementType=yu,e.lanes=n,e.stateNode={isHidden:!1},e}function Nl(e,t,n){return e=Me(6,e,null,t),e.lanes=n,e}function jl(e,t,n){return t=Me(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function np(e,t,n,r,s){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=sl(0),this.expirationTimes=sl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=sl(0),this.identifierPrefix=r,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function Ni(e,t,n,r,s,l,i,a,u){return e=new np(e,t,n,a,u),t===1?(t=1,l===!0&&(t|=8)):t=0,l=Me(3,null,null,t),e.current=l,l.stateNode=e,l.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},oi(l),e}function rp(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:en,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}function ad(e){if(!e)return Rt;e=e._reactInternals;e:{if(Xt(e)!==e||e.tag!==1)throw Error(j(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(je(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(j(171))}if(e.tag===1){var n=e.type;if(je(n))return ac(e,n,t)}return t}function ud(e,t,n,r,s,l,i,a,u){return e=Ni(n,r,!0,e,s,l,i,a,u),e.context=ad(null),n=e.current,r=ve(),s=bt(n),l=it(r,s),l.callback=t??null,Ct(n,l,s),e.current.lanes=s,wr(e,s,r),Ce(e,r),e}function Vs(e,t,n,r){var s=t.current,l=ve(),i=bt(s);return n=ad(n),t.context===null?t.context=n:t.pendingContext=n,t=it(l,i),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=Ct(s,t,i),e!==null&&(Ke(e,s,i,l),Qr(e,s,i)),i}function _s(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function Ba(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function ji(e,t){Ba(e,t),(e=e.alternate)&&Ba(e,t)}function sp(){return null}var cd=typeof reportError=="function"?reportError:function(e){console.error(e)};function Ci(e){this._internalRoot=e}Ws.prototype.render=Ci.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(j(409));Vs(e,t,null,null)};Ws.prototype.unmount=Ci.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Qt(function(){Vs(null,e,null,null)}),t[ut]=null}};function Ws(e){this._internalRoot=e}Ws.prototype.unstable_scheduleHydration=function(e){if(e){var t=Fu();e={blockedOn:null,target:e,priority:t};for(var n=0;n<yt.length&&t!==0&&t<yt[n].priority;n++);yt.splice(n,0,e),n===0&&Hu(e)}};function Ei(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Ks(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Fa(){}function lp(e,t,n,r,s){if(s){if(typeof r=="function"){var l=r;r=function(){var h=_s(i);l.call(h)}}var i=ud(t,r,e,0,null,!1,!1,"",Fa);return e._reactRootContainer=i,e[ut]=i.current,ur(e.nodeType===8?e.parentNode:e),Qt(),i}for(;s=e.lastChild;)e.removeChild(s);if(typeof r=="function"){var a=r;r=function(){var h=_s(u);a.call(h)}}var u=Ni(e,0,!1,null,null,!1,!1,"",Fa);return e._reactRootContainer=u,e[ut]=u.current,ur(e.nodeType===8?e.parentNode:e),Qt(function(){Vs(t,u,n,r)}),u}function qs(e,t,n,r,s){var l=n._reactRootContainer;if(l){var i=l;if(typeof s=="function"){var a=s;s=function(){var u=_s(i);a.call(u)}}Vs(t,i,e,s)}else i=lp(n,t,e,s,r);return _s(i)}Du=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=Hn(t.pendingLanes);n!==0&&(Wo(t,n|1),Ce(t,te()),!(D&6)&&(Cn=te()+500,At()))}break;case 13:Qt(function(){var r=ct(e,1);if(r!==null){var s=ve();Ke(r,e,1,s)}}),ji(e,1)}};Ko=function(e){if(e.tag===13){var t=ct(e,134217728);if(t!==null){var n=ve();Ke(t,e,134217728,n)}ji(e,134217728)}};Bu=function(e){if(e.tag===13){var t=bt(e),n=ct(e,t);if(n!==null){var r=ve();Ke(n,e,t,r)}ji(e,t)}};Fu=function(){return F};Uu=function(e,t){var n=F;try{return F=e,t()}finally{F=n}};Kl=function(e,t,n){switch(t){case"input":if(Dl(e,n),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var s=Is(r);if(!s)throw Error(j(90));xu(r),Dl(r,s)}}}break;case"textarea":Su(e,n);break;case"select":t=n.value,t!=null&&hn(e,!!n.multiple,t,!1)}};_u=xi;Tu=Qt;var op={usingClientEntryPoint:!1,Events:[kr,ln,Is,Eu,bu,xi]},Dn={findFiberByHostInstance:$t,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},ip={bundleType:Dn.bundleType,version:Dn.version,rendererPackageName:Dn.rendererPackageName,rendererConfig:Dn.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ft.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Lu(e),e===null?null:e.stateNode},findFiberByHostInstance:Dn.findFiberByHostInstance||sp,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Br=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Br.isDisabled&&Br.supportsFiber)try{Os=Br.inject(ip),Je=Br}catch{}}Pe.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=op;Pe.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Ei(t))throw Error(j(200));return rp(e,t,null,n)};Pe.createRoot=function(e,t){if(!Ei(e))throw Error(j(299));var n=!1,r="",s=cd;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(s=t.onRecoverableError)),t=Ni(e,1,!1,null,null,n,!1,r,s),e[ut]=t.current,ur(e.nodeType===8?e.parentNode:e),new Ci(t)};Pe.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(j(188)):(e=Object.keys(e).join(","),Error(j(268,e)));return e=Lu(t),e=e===null?null:e.stateNode,e};Pe.flushSync=function(e){return Qt(e)};Pe.hydrate=function(e,t,n){if(!Ks(t))throw Error(j(200));return qs(null,e,t,!0,n)};Pe.hydrateRoot=function(e,t,n){if(!Ei(e))throw Error(j(405));var r=n!=null&&n.hydratedSources||null,s=!1,l="",i=cd;if(n!=null&&(n.unstable_strictMode===!0&&(s=!0),n.identifierPrefix!==void 0&&(l=n.identifierPrefix),n.onRecoverableError!==void 0&&(i=n.onRecoverableError)),t=ud(t,null,e,1,n??null,s,!1,l,i),e[ut]=t.current,ur(e),r)for(e=0;e<r.length;e++)n=r[e],s=n._getVersion,s=s(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,s]:t.mutableSourceEagerHydrationData.push(n,s);return new Ws(t)};Pe.render=function(e,t,n){if(!Ks(t))throw Error(j(200));return qs(null,e,t,!1,n)};Pe.unmountComponentAtNode=function(e){if(!Ks(e))throw Error(j(40));return e._reactRootContainer?(Qt(function(){qs(null,null,e,!1,function(){e._reactRootContainer=null,e[ut]=null})}),!0):!1};Pe.unstable_batchedUpdates=xi;Pe.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Ks(n))throw Error(j(200));if(e==null||e._reactInternals===void 0)throw Error(j(38));return qs(e,t,n,!1,r)};Pe.version="18.3.1-next-f1338f8080-20240426";function dd(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(dd)}catch(e){console.error(e)}}dd(),du.exports=Pe;var ap=du.exports,Ua=ap;Ll.createRoot=Ua.createRoot,Ll.hydrateRoot=Ua.hydrateRoot;var up={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const cp=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),dp=(e,t)=>{const n=L.forwardRef(({color:r="currentColor",size:s=24,strokeWidth:l=2,absoluteStrokeWidth:i,children:a,...u},h)=>L.createElement("svg",{ref:h,...up,width:s,height:s,stroke:r,strokeWidth:i?Number(l)*24/Number(s):l,className:`lucide lucide-${cp(e)}`,...u},[...t.map(([y,p])=>L.createElement(y,p)),...(Array.isArray(a)?a:[a])||[]]));return n.displayName=`${e}`,n};var Y=dp;const fp=Y("AlertCircle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),hp=Y("Check",[["polyline",{points:"20 6 9 17 4 12",key:"10jjfj"}]]),Ts=Y("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),pp=Y("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]),mp=Y("ExternalLink",[["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}],["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["line",{x1:"10",x2:"21",y1:"14",y2:"3",key:"18c3s4"}]]),gp=Y("FileText",[["path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z",key:"1nnpy2"}],["polyline",{points:"14 2 14 8 20 8",key:"1ew0cm"}],["line",{x1:"16",x2:"8",y1:"13",y2:"13",key:"14keom"}],["line",{x1:"16",x2:"8",y1:"17",y2:"17",key:"17nazh"}],["line",{x1:"10",x2:"8",y1:"9",y2:"9",key:"1a5vjj"}]]),yp=Y("Github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]),vp=Y("KeyRound",[["path",{d:"M2 18v3c0 .6.4 1 1 1h4v-3h3v-3h2l1.4-1.4a6.5 6.5 0 1 0-4-4Z",key:"167ctg"}],["circle",{cx:"16.5",cy:"7.5",r:".5",key:"1kog09"}]]),xp=Y("ListTree",[["path",{d:"M21 12h-8",key:"1bmf0i"}],["path",{d:"M21 6H8",key:"1pqkrb"}],["path",{d:"M21 18h-8",key:"1tm79t"}],["path",{d:"M3 6v4c0 1.1.9 2 2 2h3",key:"1ywdgy"}],["path",{d:"M3 10v6c0 1.1.9 2 2 2h3",key:"2wc746"}]]),Ha=Y("Loader2",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),wp=Y("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]),Sp=Y("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]),kp=Y("Pencil",[["path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z",key:"5qss01"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]),Np=Y("PlugZap",[["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m18 3-4 4h6l-4 4",key:"16psg9"}]]),Yt=Y("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),Ps=Y("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),Va=Y("Save",[["path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z",key:"1owoqh"}],["polyline",{points:"17 21 17 13 7 13 7 21",key:"1md35c"}],["polyline",{points:"7 3 7 8 15 8",key:"8nz8an"}]]),Rs=Y("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),jp=Y("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),fd=Y("ToggleLeft",[["rect",{width:"20",height:"12",x:"2",y:"6",rx:"6",ry:"6",key:"f2vt7d"}],["circle",{cx:"8",cy:"12",r:"2",key:"1nvbw3"}]]),hd=Y("ToggleRight",[["rect",{width:"20",height:"12",x:"2",y:"6",rx:"6",ry:"6",key:"f2vt7d"}],["circle",{cx:"16",cy:"12",r:"2",key:"4ma0v8"}]]),Ht=Y("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]),Qs=Y("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),pd=Y("Zap",[["polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2",key:"45s27k"}]]),Cp={},Wa=e=>{let t;const n=new Set,r=(y,p)=>{const c=typeof y=="function"?y(t):y;if(!Object.is(c,t)){const w=t;t=p??(typeof c!="object"||c===null)?c:Object.assign({},t,c),n.forEach(v=>v(t,w))}},s=()=>t,u={setState:r,getState:s,getInitialState:()=>h,subscribe:y=>(n.add(y),()=>n.delete(y)),destroy:()=>{(Cp?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},h=t=e(r,s,u);return u},Ep=e=>e?Wa(e):Wa;var md={exports:{}},gd={},yd={exports:{}},vd={};/**
41
+ * @license React
42
+ * use-sync-external-store-shim.production.js
43
+ *
44
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
45
+ *
46
+ * This source code is licensed under the MIT license found in the
47
+ * LICENSE file in the root directory of this source tree.
48
+ */var En=L;function bp(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var _p=typeof Object.is=="function"?Object.is:bp,Tp=En.useState,Pp=En.useEffect,Rp=En.useLayoutEffect,Lp=En.useDebugValue;function Op(e,t){var n=t(),r=Tp({inst:{value:n,getSnapshot:t}}),s=r[0].inst,l=r[1];return Rp(function(){s.value=n,s.getSnapshot=t,Cl(s)&&l({inst:s})},[e,n,t]),Pp(function(){return Cl(s)&&l({inst:s}),e(function(){Cl(s)&&l({inst:s})})},[e]),Lp(n),n}function Cl(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!_p(e,n)}catch{return!0}}function Ap(e,t){return t()}var Mp=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Ap:Op;vd.useSyncExternalStore=En.useSyncExternalStore!==void 0?En.useSyncExternalStore:Mp;yd.exports=vd;var zp=yd.exports;/**
49
+ * @license React
50
+ * use-sync-external-store-shim/with-selector.production.js
51
+ *
52
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
53
+ *
54
+ * This source code is licensed under the MIT license found in the
55
+ * LICENSE file in the root directory of this source tree.
56
+ */var Ys=L,Ip=zp;function $p(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Dp=typeof Object.is=="function"?Object.is:$p,Bp=Ip.useSyncExternalStore,Fp=Ys.useRef,Up=Ys.useEffect,Hp=Ys.useMemo,Vp=Ys.useDebugValue;gd.useSyncExternalStoreWithSelector=function(e,t,n,r,s){var l=Fp(null);if(l.current===null){var i={hasValue:!1,value:null};l.current=i}else i=l.current;l=Hp(function(){function u(w){if(!h){if(h=!0,y=w,w=r(w),s!==void 0&&i.hasValue){var v=i.value;if(s(v,w))return p=v}return p=w}if(v=p,Dp(y,w))return v;var N=r(w);return s!==void 0&&s(v,N)?(y=w,v):(y=w,p=N)}var h=!1,y,p,c=n===void 0?null:n;return[function(){return u(t())},c===null?void 0:function(){return u(c())}]},[t,n,r,s]);var a=Bp(e,l[0],l[1]);return Up(function(){i.hasValue=!0,i.value=a},[a]),Vp(a),a};md.exports=gd;var Wp=md.exports;const Kp=Za(Wp),xd={},{useDebugValue:qp}=zo,{useSyncExternalStoreWithSelector:Qp}=Kp;let Ka=!1;const Yp=e=>e;function Gp(e,t=Yp,n){(xd?"production":void 0)!=="production"&&n&&!Ka&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),Ka=!0);const r=Qp(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return qp(r),r}const qa=e=>{(xd?"production":void 0)!=="production"&&typeof e!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const t=typeof e=="function"?Ep(e):e,n=(r,s)=>Gp(t,r,s);return Object.assign(n,t),n},bi=e=>e?qa(e):qa;class Xp{constructor(){Oi(this,"baseURL");this.baseURL=window.location.origin}getAuthHeaders(){const t=localStorage.getItem("mcpdog_token"),n={"Content-Type":"application/json"};return t&&(n.Authorization=`Bearer ${t}`),n}async handleResponse(t){if(t.status===401)throw localStorage.removeItem("mcpdog_token"),new Error("需要身份验证");if(!t.ok){const n=await t.json().catch(()=>({error:"未知错误"}));throw new Error(n.error||`HTTP error! status: ${t.status}`)}return t.json()}async get(t){const n=await fetch(`${this.baseURL}${t}`,{method:"GET",headers:this.getAuthHeaders()});return this.handleResponse(n)}async post(t,n){const r=await fetch(`${this.baseURL}${t}`,{method:"POST",headers:this.getAuthHeaders(),body:n?JSON.stringify(n):void 0});return this.handleResponse(r)}async put(t,n){const r=await fetch(`${this.baseURL}${t}`,{method:"PUT",headers:this.getAuthHeaders(),body:n?JSON.stringify(n):void 0});return this.handleResponse(r)}async delete(t){const n=await fetch(`${this.baseURL}${t}`,{method:"DELETE",headers:this.getAuthHeaders()});return this.handleResponse(n)}isAuthenticated(){return!!localStorage.getItem("mcpdog_token")}getToken(){return localStorage.getItem("mcpdog_token")}logout(){localStorage.removeItem("mcpdog_token"),window.location.reload()}async checkAuthStatus(){try{return await(await fetch(`${this.baseURL}/api/auth/status`,{method:"GET",headers:this.getAuthHeaders()})).json()}catch{return{authenticated:!1,required:!1}}}async login(t){const n=await fetch(`${this.baseURL}/api/auth/login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:t})});if(!n.ok){const r=await n.json().catch(()=>({error:"登录失败"}));throw new Error(r.error||"登录失败")}localStorage.setItem("mcpdog_token",t)}getGatewayStatus(){return this.get("/api/ai-gateway/status")}updateGatewaySettings(t){return this.put("/api/ai-gateway/settings",t)}getAIProviders(){return this.get("/api/ai-providers")}addAIProvider(t){return this.post("/api/ai-providers",t)}updateAIProvider(t,n){return this.put(`/api/ai-providers/${t}`,n)}deleteAIProvider(t){return this.delete(`/api/ai-providers/${t}`)}testAIProvider(t,n){return this.post(`/api/ai-providers/${t}/test`,n?{apiKey:n}:void 0)}fetchProviderModels(t,n){return this.post(`/api/ai-providers/${t}/models`,n?{apiKey:n}:void 0)}}const V=new Xp,Ve=bi((e,t)=>({config:null,servers:[],selectedServer:null,loading:!1,saving:!1,error:null,authRequired:!1,authToken:null,showAddServerModal:!1,showClientConfigModal:!1,loadConfig:async()=>{console.log("[ConfigStore] Loading config..."),e({loading:!0,error:null});try{const n=await V.get("/api/config");console.log("[ConfigStore] Fetched config:",n);const r=await V.get("/api/servers");console.log("[ConfigStore] Fetched servers:",r),e({config:n,servers:r,loading:!1}),console.log("[ConfigStore] Config and servers loaded successfully.")}catch(n){console.error("[ConfigStore] Failed to load config:",n),e({error:n.message,loading:!1})}},saveConfig:async()=>{const{config:n}=t();if(n){console.log("[ConfigStore] Saving config...",n),e({saving:!0,error:null});try{await V.put("/api/config",n),e({saving:!1}),console.log("[ConfigStore] Config saved successfully.")}catch(r){console.error("[ConfigStore] Failed to save config:",r),e({error:r.message,saving:!1})}}},updateServerConfig:(n,r)=>{console.log("[ConfigStore] Updating server config:",n,r),e(s=>({servers:s.servers.map(l=>l.name===n?{...l,...r}:l)}))},toggleServer:async(n,r)=>{console.log("[ConfigStore] Toggling server:",n);try{const{servers:s}=t(),l=s.find(i=>i.name===n);if(l){const i=!l.enabled;console.log("[ConfigStore] Local state update for toggle:",n,"enabled:",i),e(a=>({servers:a.servers.map(u=>{var h,y;return u.name===n?{...u,enabled:i,connected:i?u.connected:!1,toolCount:i?u.toolCount:0,enabledToolCount:i&&((h=u.tools)==null?void 0:h.filter(p=>p.enabled).length)||0,tools:i?u.tools:((y=u.tools)==null?void 0:y.map(p=>({...p,enabled:!1})))||[]}:u})}))}console.log("[ConfigStore] Sending toggle API request for",n);try{const i=await V.post(`/api/servers/${n}/toggle`);console.log("[ConfigStore] Server toggle API response:",i),l&&!l.enabled&&r&&(console.log("[ConfigStore] Server was enabled, scheduling tool refresh"),setTimeout(()=>{r()},1500))}catch(i){throw console.error("[ConfigStore] Toggle API request failed for",n),l&&e(a=>({servers:a.servers.map(u=>u.name===n?{...u,enabled:l.enabled,connected:l.connected,toolCount:l.toolCount,enabledToolCount:l.enabledToolCount,tools:l.tools}:u)})),i}}catch(s){throw console.error("[ConfigStore] Error toggling server:",s),e({error:s.message}),s}},toggleServerTool:async(n,r)=>{console.log("[ConfigStore] Toggling tool:",r,"for server:",n);try{const s=await V.post(`/api/servers/${n}/tools/${r}/toggle`);console.log("[ConfigStore] Tool toggle API response:",s),e(l=>({servers:l.servers.map(i=>{var a,u;return i.name===n?{...i,tools:(a=i.tools)==null?void 0:a.map(h=>h.name===r?{...h,enabled:!h.enabled}:h),enabledToolCount:((u=i.tools)==null?void 0:u.map(h=>h.name===r?{...h,enabled:!h.enabled}:h).filter(h=>h.enabled).length)||0}:i})})),console.log("[ConfigStore] Tool toggle state updated locally")}catch(s){throw console.error("[ConfigStore] Error toggling tool:",s),e({error:s.message}),s}},addServer:async(n,r)=>{console.log("[ConfigStore] Adding server:",n,r),e({saving:!0,error:null});try{const s=await V.post("/api/servers",{name:n,config:r});console.log("[ConfigStore] Add server API response:",s),e(l=>({servers:[...l.servers,{...r,name:n,connected:!1,toolCount:0,enabledToolCount:0,tools:[]}],saving:!1,showAddServerModal:!1})),console.log("[ConfigStore] Server added to local state.")}catch(s){throw console.error("[ConfigStore] Error adding server:",s),e({error:s.message,saving:!1}),s}},removeServer:async n=>{console.log("[ConfigStore] Removing server:",n),e({saving:!0,error:null});try{const r=await V.delete(`/api/servers/${n}`);console.log("[ConfigStore] Remove server API response:",r),e(s=>({servers:s.servers.filter(l=>l.name!==n),saving:!1,selectedServer:s.selectedServer===n?null:s.selectedServer})),console.log("[ConfigStore] Server removed from local state.")}catch(r){throw console.error("[ConfigStore] Error removing server:",r),e({error:r.message,saving:!1}),r}},updateServerTools:async(n,r)=>{console.log("[ConfigStore] Updating server tools for",n,r);try{const s=await V.put(`/api/servers/${n}/tools`,{toolsConfig:r});console.log("[ConfigStore] Update server tools API response:",s),t().updateServerConfig(n,{toolsConfig:r}),console.log("[ConfigStore] Server tools updated locally.")}catch(s){console.error("[ConfigStore] Error updating server tools:",s),e({error:s.message})}},syncServerStatus:(n,r)=>{console.log("[ConfigStore] Syncing server status for",n,r),e(s=>({servers:s.servers.map(l=>l.name===n&&(r.connected!==void 0&&r.connected!==l.connected||r.toolCount!==void 0&&r.toolCount!==l.toolCount||r.enabledToolCount!==void 0&&r.enabledToolCount!==l.enabledToolCount)?{...l,connected:r.connected!==void 0?r.connected:l.connected,toolCount:r.toolCount!==void 0?r.toolCount:l.toolCount,enabledToolCount:r.enabledToolCount!==void 0?r.enabledToolCount:l.enabledToolCount}:l)})),console.log("[ConfigStore] Server status synced locally.")},setServers:n=>{console.log("[ConfigStore] Setting servers:",n),e({servers:n})},setSelectedServer:n=>{console.log("[ConfigStore] Setting selected server:",n),e({selectedServer:n})},showAddServer:()=>{console.log("[ConfigStore] Showing add server modal."),e({showAddServerModal:!0})},hideAddServer:()=>{console.log("[ConfigStore] Hiding add server modal."),e({showAddServerModal:!1})},showClientConfig:()=>{console.log("[ConfigStore] Showing client config modal."),e({showClientConfigModal:!0})},hideClientConfig:()=>{console.log("[ConfigStore] Hiding client config modal."),e({showClientConfigModal:!1})},generateClientConfig:(n,r)=>{console.log("[ConfigStore] Generating client config for",n);const{config:s}=t();if(!s)throw new Error("没有可用的配置");const l=r||Object.keys(s.servers),i={};switch(l.forEach(a=>{const u=s.servers[a];u&&u.enabled&&(u.transport==="stdio"?i[a]={command:u.command,args:u.args||[],env:u.env}:u.transport==="http-sse"&&(i[a]={type:"sse",url:u.endpoint}))}),n){case"claude-desktop":return{type:"claude-desktop",name:"Claude Desktop 配置",config:{mcpServers:i},instructions:["1. 打开 Claude Desktop 应用","2. 进入 设置 -> 开发者",'3. 找到 "编辑配置" 按钮',"4. 将配置粘贴到 mcpServers 段中","5. 重启 Claude Desktop"]};case"cursor":return{type:"cursor",name:"Cursor 配置",config:{mcp:{mcpServers:i}},instructions:["1. 打开 Cursor 编辑器","2. 按 Cmd/Ctrl + Shift + P 打开命令面板",'3. 搜索 "Preferences: Open Settings (JSON)"',"4. 将配置添加到设置文件中","5. 重启 Cursor"]};default:throw new Error(`不支持的客户端类型: ${n}`)}},setAuthState:(n,r)=>{console.log("[ConfigStore] Setting auth state:",{required:n,hasToken:!!r}),e({authRequired:n,authToken:r||localStorage.getItem("mcpdog_token")})}})),vr=bi((e,t)=>({connected:!1,systemStatus:null,tools:[],events:[],selectedServer:null,selectedTool:null,serverLogs:{},setConnected:n=>{e({connected:n})},addServerLog:n=>{e(r=>{const l=[...r.serverLogs[n.serverName]||[],n].slice(-100);return{serverLogs:{...r.serverLogs,[n.serverName]:l}}})},setSystemStatus:n=>{e({systemStatus:n}),n.servers.forEach(r=>{Ve.getState().syncServerStatus(r.name,{connected:r.connected,toolCount:r.toolCount,enabledToolCount:r.enabledToolCount})})},setTools:n=>{e({tools:n})},addEvent:n=>{const{events:r}=t(),s=[n,...r].slice(0,100);e({events:s})},setSelectedServer:n=>{e({selectedServer:n})},setSelectedTool:n=>{e({selectedTool:n})}})),Jp=zo.memo(({server:e,selectedServer:t,setSelectedServer:n})=>{console.log(`[ServerListItem] Rendering: ${e.name}`);const r=t===e.name;return o.jsxs("div",{className:`p-4 cursor-pointer transition-colors relative ${r?"bg-primary/15 ring-1 ring-inset ring-primary/50":"hover:bg-base-200"}`,onClick:()=>n(e.name),children:[r&&o.jsx("div",{className:"absolute top-0 right-0 bottom-0 w-1 bg-primary"}),o.jsxs("div",{className:"flex items-center space-x-3 mb-2",children:[o.jsx("div",{className:`w-3 h-3 rounded-full ${e!=null&&e.connected?"bg-green-500":e!=null&&e.enabled?"bg-yellow-500":"bg-gray-400"}`}),o.jsx("h3",{className:`truncate ${r?"font-semibold text-primary":"font-medium text-base-content"}`,children:(e==null?void 0:e.name)||"未知"})]}),o.jsx("div",{className:"text-sm text-base-content/70 mb-2",children:(e==null?void 0:e.description)||"无描述"}),o.jsxs("div",{className:"flex items-center justify-between text-xs",children:[o.jsx("div",{className:"flex items-center space-x-3",children:(e==null?void 0:e.enabled)&&o.jsx("span",{className:"text-base-content/70",children:e!=null&&e.connected?`${(e==null?void 0:e.enabledToolCount)||0}/${(e==null?void 0:e.toolCount)||0} 个工具`:`${(e==null?void 0:e.toolCount)||0} 个工具`})}),o.jsx("span",{className:`badge ${e!=null&&e.connected?"badge-success":e!=null&&e.enabled?"badge-warning":"badge-neutral"}`,children:e!=null&&e.connected?"已连接":e!=null&&e.enabled?"等待连接":"已禁用"})]})]},e.name)}),Zp=({server:e})=>{const[t,n]=L.useState([]),[r,s]=L.useState((e==null?void 0:e.toolsConfig)||{mode:"all"}),[l,i]=L.useState(!0),[a]=L.useState(!0),[u,h]=L.useState(""),{toggleServerTool:y,updateServerTools:p}=Ve();L.useEffect(()=>{if(!(e!=null&&e.name)){i(!1),n([]);return}c().then(()=>{v()})},[e==null?void 0:e.name,e==null?void 0:e.connected,e==null?void 0:e.toolCount]);const c=async()=>{if(!(e!=null&&e.name)){i(!1),n([]);return}i(!0);try{const f=await V.get(`/api/servers/${e==null?void 0:e.name}/tools`);n(f.tools),s(f.toolsConfig)}catch(f){console.error("加载服务器工具失败:",f),n([])}finally{i(!1)}},w=async f=>{if(!(e!=null&&e.name)){console.warn("无法切换工具: 未找到服务器");return}n(k=>k.map(E=>E.name===f?{...E,enabled:!E.enabled}:E));try{await y((e==null?void 0:e.name)||"",f),console.log("工具切换成功,跳过重载以避免界面闪烁")}catch(k){console.error("切换工具状态失败:",k),n(E=>E.map(C=>C.name===f?{...C,enabled:!C.enabled}:C))}},v=async()=>{if(e!=null&&e.name&&r.mode!=="blacklist"){const f={...r,mode:"blacklist"};s(f);try{await p((e==null?void 0:e.name)||"",f),await c()}catch(k){console.warn(`Failed to update tools config for ${e==null?void 0:e.name}:`,k)}}},N=async f=>{if(!(e!=null&&e.name)){console.warn("无法批量切换工具: 未找到服务器");return}const k=A();for(const E of k)E.enabled!==f&&await y((e==null?void 0:e.name)||"",E.name);await c()},A=()=>{let f=t;return u&&(f=f.filter(k=>k.name.toLowerCase().includes(u.toLowerCase())||k.description.toLowerCase().includes(u.toLowerCase()))),f},g=t.filter(f=>f.enabled).length,d=A();return l?o.jsx("div",{className:"p-6 flex items-center justify-center",children:o.jsxs("div",{className:"text-center",children:[o.jsx("div",{className:"loading loading-spinner loading-lg text-primary"}),o.jsx("p",{className:"text-base-content/70",children:"正在加载工具列表..."})]})}):o.jsxs("div",{className:"p-6",children:[t.length>0&&o.jsx("div",{className:"mb-6 alert alert-info",children:o.jsxs("div",{className:"flex items-start space-x-3",children:[o.jsx(fp,{className:"h-5 w-5"}),o.jsxs("div",{className:"text-sm",children:[o.jsx("p",{className:"font-medium mb-1",children:"关于工具控制"}),o.jsxs("ul",{className:"list-disc list-inside space-y-1",children:[o.jsx("li",{children:"已启用的工具将对 MCP 客户端可见可用"}),o.jsx("li",{children:"已禁用的工具将从 MCP 客户端隐藏"}),o.jsx("li",{children:"更改工具状态后,MCP 客户端可能需要重新连接才能看到变化"}),o.jsx("li",{children:"某些工具可能依赖其他工具,请谨慎禁用"})]})]})]})}),o.jsxs("div",{className:"flex items-center justify-between mb-6",children:[o.jsxs("div",{children:[o.jsx("h3",{className:"text-lg font-medium text-base-content",children:"工具列表"}),o.jsxs("p",{className:"text-sm text-base-content/70 mt-1",children:["查看并管理 ",e==null?void 0:e.name," 服务器提供的工具,可禁用不需要的工具"]})]}),o.jsx("div",{className:"flex items-center space-x-2",children:o.jsxs("button",{onClick:c,className:"btn btn-outline btn-sm flex items-center space-x-2",children:[o.jsx(Ps,{className:"h-4 w-4"}),o.jsx("span",{children:"刷新"})]})})]}),o.jsx("div",{className:"bg-base-200 p-4 rounded-lg mb-6",children:o.jsx("div",{className:"flex items-center justify-between mb-4",children:o.jsxs("div",{className:"flex items-center space-x-6",children:[o.jsxs("div",{className:"text-center",children:[o.jsx("div",{className:"text-2xl font-bold text-primary",children:t.length}),o.jsx("div",{className:"text-sm text-base-content/70",children:"工具总数"})]}),o.jsxs("div",{className:"text-center",children:[o.jsx("div",{className:"text-2xl font-bold text-success",children:g}),o.jsx("div",{className:"text-sm text-base-content/70",children:"已启用"})]}),o.jsxs("div",{className:"text-center",children:[o.jsx("div",{className:"text-2xl font-bold text-error",children:t.length-g}),o.jsx("div",{className:"text-sm text-base-content/70",children:"已禁用"})]})]})})}),o.jsxs("div",{className:"flex items-center justify-between mb-6",children:[o.jsx("div",{className:"flex items-center space-x-4",children:o.jsxs("div",{className:"relative",children:[o.jsx("input",{type:"text",placeholder:"搜索工具...",value:u,onChange:f=>h(f.target.value),className:"input input-bordered w-full max-w-xs"}),u&&o.jsx("button",{onClick:()=>h(""),className:"absolute right-3 top-2.5 text-base-content/40 hover:text-base-content/60",children:"×"})]})}),o.jsxs("div",{className:"flex items-center space-x-2",children:[o.jsx("button",{onClick:()=>N(!0),className:"btn btn-outline btn-sm",children:"全部启用"}),o.jsx("button",{onClick:()=>N(!1),className:"btn btn-outline btn-sm",children:"全部禁用"})]})]}),o.jsx("div",{className:"space-y-3",children:d.length===0?o.jsxs("div",{className:"text-center py-8 text-base-content/70",children:[o.jsx(pd,{className:"h-12 w-12 mx-auto mb-4 text-base-content/30"}),o.jsx("p",{className:"mb-2",children:u?"未找到匹配的工具":a?"该服务器未提供任何工具":"没有已启用的工具"}),u&&o.jsx("button",{onClick:()=>h(""),className:"text-primary hover:text-primary-focus text-sm",children:"清除搜索"})]}):d.map(f=>o.jsx("div",{className:`card border transition-all p-4 ${f.enabled?"border-success/30 bg-success/10":"border-base-300 bg-base-100"}`,children:o.jsxs("div",{className:"flex items-center justify-between",children:[o.jsxs("div",{className:"flex-1",children:[o.jsxs("div",{className:"flex items-center space-x-3 mb-2",children:[o.jsx("h4",{className:"font-medium text-base-content",children:f.name}),o.jsx("span",{className:`badge badge-sm ${f.enabled?"badge-success":"badge-ghost"}`,children:f.enabled?"已启用":"已禁用"})]}),o.jsx("p",{className:"text-sm text-base-content/80 mb-3",children:f.description}),f.inputSchema&&o.jsxs("details",{className:"text-xs",children:[o.jsx("summary",{className:"cursor-pointer text-base-content/70 hover:text-base-content",children:"查看参数结构"}),o.jsx("pre",{className:"bg-base-100 p-2 rounded border border-base-300 mt-2 overflow-x-auto text-base-content",children:JSON.stringify(f.inputSchema,null,2)})]})]}),o.jsx("div",{className:"flex items-center space-x-3",children:o.jsx("button",{onClick:()=>w(f.name),className:`btn btn-ghost btn-sm ${f.enabled?"text-success hover:bg-success/20":"text-base-content/40 hover:bg-base-200"}`,title:f.enabled?"禁用该工具":"启用该工具",children:f.enabled?o.jsx(hd,{className:"h-6 w-6"}):o.jsx(fd,{className:"h-6 w-6"})})})]})},f.name))})]})},em=({serverName:e})=>{const t=vr(c=>c.serverLogs[e]||[]),n=vr(c=>c.addServerLog),[r,s]=L.useState("all"),[l,i]=L.useState(!1),[a,u]=L.useState(!1);console.log(`[ServerLogs] Rendering for server: ${e}, logs count: ${t.length}`,t),L.useEffect(()=>{(async()=>{if(!(t.length>0)){u(!0);try{const w=await fetch(`/api/logs/${e}?limit=100`);if(w.ok){const v=await w.json();console.log(`[ServerLogs] Loaded ${v.length} historical logs for ${e}`),v.forEach(N=>{n({serverName:e,stream:N.source||"system",data:`[${N.level.toUpperCase()}] ${N.message}`,timestamp:N.timestamp})})}else console.warn(`[ServerLogs] Failed to load historical logs for ${e}: ${w.status}`)}catch(w){console.error(`[ServerLogs] Error loading historical logs for ${e}:`,w)}finally{u(!1)}}})()},[e,t.length,n]);const h=t.filter(c=>{var w,v;return!l&&((w=c.data)!=null&&w.includes("[DEBUG]"))?!1:r==="all"?!0:(v=c.data)==null?void 0:v.includes(`[${r.toUpperCase()}]`)}),y=(c,w)=>c!=null&&c.includes("[ERROR]")||w==="stderr"?"text-error":c!=null&&c.includes("[WARN]")?"text-warning":c!=null&&c.includes("[DEBUG]")?"text-base-content/60":c!=null&&c.includes("[INFO]")?"text-success":"text-base-content",p=c=>{switch(c){case"stderr":return"🔴";case"stdout":return"🔵";case"system":return"⚙️";default:return"📝"}};return o.jsxs("div",{className:"card bg-base-200 h-full flex flex-col",children:[o.jsxs("div",{className:"p-3 border-b border-base-300 flex items-center justify-between flex-shrink-0",children:[o.jsxs("div",{className:"flex items-center space-x-4",children:[o.jsxs("select",{value:r,onChange:c=>s(c.target.value),className:"select select-sm bg-base-100 text-base-content",children:[o.jsx("option",{value:"all",children:"全部级别"}),o.jsx("option",{value:"info",children:"信息"}),o.jsx("option",{value:"warn",children:"警告"}),o.jsx("option",{value:"error",children:"错误"}),o.jsx("option",{value:"debug",children:"调试"})]}),o.jsxs("label",{className:"label cursor-pointer space-x-2",children:[o.jsx("input",{type:"checkbox",checked:l,onChange:c=>i(c.target.checked),className:"checkbox checkbox-sm"}),o.jsx("span",{className:"label-text",children:"显示调试日志"})]})]}),o.jsxs("div",{className:"text-sm text-base-content/60",children:[h.length," / ",t.length," 条日志"]})]}),o.jsx("div",{className:"font-mono text-sm p-4 flex-1 min-h-0 overflow-y-auto bg-base-100",children:a?o.jsxs("div",{className:"text-center py-8 text-base-content/60",children:[o.jsx("p",{className:"mb-2",children:"📥 正在加载历史日志..."}),o.jsxs("div",{className:"loading loading-dots loading-md",children:["正在为 ",e," 加载服务器日志..."]})]}):h.length===0?o.jsxs("div",{className:"text-center py-8 text-base-content/60",children:[o.jsx("p",{children:"暂无日志记录"}),o.jsx("p",{className:"text-xs mt-2",children:"MCP 服务器连接后运行日志将显示在这里"})]}):h.map((c,w)=>o.jsxs("div",{className:`flex items-start mb-1 ${y(c.data,c.stream)}`,children:[o.jsx("span",{className:"flex-shrink-0 mr-2 text-xs text-base-content/50",children:new Date(c.timestamp).toLocaleTimeString()}),o.jsx("span",{className:"flex-shrink-0 mr-2 text-xs",children:p(c.stream)}),o.jsx("span",{className:"whitespace-pre-wrap break-all",children:c.data})]},w))})]})},El=/^[a-zA-Z0-9\-_]+$/,tm=({server:e,refreshServerTools:t})=>{var b;const[n,r]=L.useState("tools"),[s,l]=L.useState(!1),[i,a]=L.useState(e),[u,h]=L.useState(!1),[y,p]=L.useState(!1),[c,w]=L.useState({valid:!0}),{updateServerConfig:v,toggleServer:N,removeServer:A,saving:g}=Ve();L.useEffect(()=>{a(e),l(!1),w({valid:!0}),r("tools")},[e.name]),L.useEffect(()=>{n==="config"&&l(!0)},[n]);const d=m=>!m||m.trim()===""?{valid:!1,error:"服务器名称不能为空"}:m.length>50?{valid:!1,error:"服务器名称过长(最多 50 个字符)"}:El.test(m)?{valid:!0}:{valid:!1,error:"服务器名称只能包含字母、数字、连字符和下划线",suggestions:f(m)},f=m=>{const x=[];let S=m.replace(/[^a-zA-Z0-9\-_]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"");S&&El.test(S)&&x.push(S);let _=m.toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9\-_]/g,"");return _&&El.test(_)&&x.push(_),x.slice(0,3)},k=async()=>{h(!0);try{await N((e==null?void 0:e.name)||"",()=>t(e==null?void 0:e.name))}catch(m){console.error("切换服务器状态失败:",m)}finally{setTimeout(()=>{h(!1)},1500)}},E=async()=>{if(!(!(e!=null&&e.name)||y)){p(!0);try{e.enabled&&await N((e==null?void 0:e.name)||""),await N((e==null?void 0:e.name)||"",()=>t(e==null?void 0:e.name))}catch(m){console.error("重试连接失败:",m),alert(`重试连接失败: ${m.message}`)}finally{setTimeout(()=>{p(!1)},1500)}}},C=async()=>{if(i.name!==e.name){const x=d(i.name);if(!x.valid){alert(`服务器名称无效: ${x.error}`);return}try{const S=await V.get("/api/servers");if(Object.keys(S).filter(M=>M!==e.name).includes(i.name)){alert(`服务器名称 "${i.name}" 已存在`);return}}catch(S){console.warn("无法检查服务器名称冲突:",S)}}if(i.env&&i.transport==="stdio"){const x=Object.entries(i.env),S=x.filter(([M])=>!M.trim()||!U(M)),_=x.map(([M])=>M),P=_.filter((M,B)=>_.indexOf(M)!==B);if(S.length>0){alert("请修正无效的环境变量名称");return}if(P.length>0){alert("环境变量名称不能重复");return}}const m={...i};if(m.env){const x={};Object.entries(m.env).forEach(([S,_])=>{S.trim()&&U(S)&&(x[S]=String(_))}),m.env=Object.keys(x).length>0?x:void 0}try{console.log("[ServerPanel] Saving server config:",e==null?void 0:e.name,m),console.log("[ServerPanel] Environment variables:",m.env);const x=await V.put(`/api/servers/${e==null?void 0:e.name}`,m);console.log("[ServerPanel] Server updated successfully:",x),x.server&&v((e==null?void 0:e.name)||"",x.server),console.log("[ServerPanel] Config saved successfully"),l(!1)}catch(x){console.error("更新服务器配置失败:",x),alert(`❌ 保存配置失败:
57
+
58
+ ${x.message}`)}},T=(m,x)=>{const S={...i,[m]:x};a(S),m==="name"&&w(d(x))},O=(m,x,S)=>{var M,B,G;const _=i.env||{},P=Object.entries(_);if(x==="key"){const H=(M=P[m])==null?void 0:M[0],fe=((B=P[m])==null?void 0:B[1])||"",Mt={..._};H&&delete Mt[H],S.trim()&&U(S)&&(Mt[S]=fe),a({...i,env:Mt})}else{const H=(G=P[m])==null?void 0:G[0];H&&a({...i,env:{..._,[H]:S}})}},U=m=>/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(m),z=()=>{const m=i.env||{};let x="NEW_VAR",S=1;for(;m[x];)x=`NEW_VAR_${S}`,S++;const _={...m,[x]:""};a({...i,env:_})},de=m=>{var P;const x=i.env||{},_=(P=Object.entries(x)[m])==null?void 0:P[0];if(_!==void 0){const M={...x};delete M[_],a({...i,env:M})}},Qe=(m,x,S)=>{var M,B,G;const _=i.headers||{},P=Object.entries(_);if(x==="key"){const H=(M=P[m])==null?void 0:M[0],fe=((B=P[m])==null?void 0:B[1])||"",Mt={..._};H&&delete Mt[H],S.trim()&&(Mt[S]=fe),a({...i,headers:Mt})}else{const H=(G=P[m])==null?void 0:G[0];H&&a({...i,headers:{..._,[H]:S}})}},nt=()=>{const m=i.headers||{};let x="Header-Name",S=1;for(;m[x];)x=`Header-Name-${S}`,S++;const _={...m,[x]:""};a({...i,headers:_})},Jt=m=>{var P;const x=i.headers||{},_=(P=Object.entries(x)[m])==null?void 0:P[0];if(_){const M={...x};delete M[_],a({...i,headers:Object.keys(M).length>0?M:void 0})}},Rn=async()=>{if(confirm(`确定要删除服务器 "${e==null?void 0:e.name}" 吗?`))try{await A((e==null?void 0:e.name)||""),console.log("[ServerPanel] 服务器删除成功")}catch(m){console.error("删除服务器失败:",m),alert(`删除服务器失败: ${m.message}`)}},ht=i.transport==="stdio";return o.jsxs("div",{className:"flex flex-col h-full",children:[o.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-base-300 bg-base-100",children:[o.jsx("div",{className:"flex items-center space-x-4",children:o.jsxs("div",{children:[o.jsxs("h2",{className:"text-xl font-bold text-base-content flex items-center gap-3",children:[e==null?void 0:e.name,o.jsx("span",{className:`badge ${(e==null?void 0:e.transport)==="stdio"?"badge-info":(e==null?void 0:e.transport)==="http-sse"?"badge-success":"badge-secondary"}`,children:(e==null?void 0:e.transport)||"未知"})]}),o.jsx("p",{className:"text-sm text-base-content/70 mt-1",children:(e==null?void 0:e.description)||"无描述"})]})}),o.jsxs("div",{className:"flex items-center space-x-2",children:[(e==null?void 0:e.adminUrl)&&o.jsx("a",{href:e.adminUrl,target:"_blank",rel:"noopener noreferrer",onClick:m=>m.stopPropagation(),title:"打开该 MCP 自带的管理界面",className:"btn btn-ghost btn-square",children:o.jsx(mp,{className:"h-5 w-5"})}),o.jsx("button",{onClick:E,className:"btn btn-ghost btn-square",title:"重试连接",disabled:y,children:y?o.jsx(Ha,{className:"h-5 w-5 animate-spin"}):o.jsx(Ps,{className:"h-5 w-5"})}),o.jsx("button",{onClick:Rn,className:"btn btn-ghost btn-square text-error",title:"删除该 MCP",children:o.jsx(Ht,{className:"h-5 w-5"})}),o.jsx("button",{onClick:k,className:`btn btn-ghost btn-square ${e!=null&&e.enabled?"text-success":"text-base-content/40"}`,title:e!=null&&e.enabled?"禁用该 MCP":"启用该 MCP",disabled:u,children:u?o.jsx(Ha,{className:"h-5 w-5 animate-spin"}):e!=null&&e.enabled?o.jsx(hd,{className:"h-5 w-5"}):o.jsx(fd,{className:"h-5 w-5"})})]})]}),o.jsx("div",{className:"border-b border-base-300",children:o.jsx("div",{className:"tabs tabs-bordered px-6",children:[{id:"tools",label:"工具列表",icon:pd},{id:"config",label:"服务器配置",icon:Rs},{id:"logs",label:"运行日志",icon:Ps}].map(({id:m,label:x,icon:S})=>o.jsxs("button",{onClick:()=>r(m),className:`tab tab-bordered flex items-center gap-2 ${n===m?"tab-active":""}`,children:[o.jsx(S,{className:"h-4 w-4"}),o.jsx("span",{children:x})]},m))})}),o.jsxs("div",{className:"flex-1 overflow-y-auto",children:[n==="config"&&o.jsxs("div",{className:"p-6",children:[o.jsxs("div",{className:"flex items-center justify-between mb-6",children:[o.jsx("h3",{className:"text-lg font-medium text-base-content",children:"服务器配置"}),o.jsx("div",{className:"flex items-center space-x-2",children:s?o.jsxs("button",{onClick:C,disabled:g||!c.valid,className:"btn btn-primary btn-sm flex items-center gap-2",children:[o.jsx(Va,{className:"h-4 w-4"}),o.jsx("span",{children:g?"保存中...":"保存"})]}):o.jsx("button",{onClick:()=>l(!0),className:"btn btn-primary btn-sm",children:"编辑配置"})})]}),o.jsxs("div",{className:"space-y-6",children:[o.jsx("div",{className:"card bg-base-200",children:o.jsxs("div",{className:"card-body",children:[o.jsx("h4",{className:"card-title text-base-content",children:"基本信息"}),o.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[o.jsxs("div",{className:"form-control",children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text",children:"服务器名称"})}),o.jsx("input",{type:"text",value:i.name,onChange:m=>T("name",m.target.value),disabled:!s,className:`input input-bordered w-full ${c.valid?"":"input-error"}`}),!c.valid&&s&&o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text-alt text-error",children:c.error})})]}),o.jsxs("div",{className:"form-control",children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text",children:"传输协议"})}),o.jsxs("select",{value:i.transport,onChange:m=>T("transport",m.target.value),disabled:!s,className:"select select-bordered w-full",children:[o.jsx("option",{value:"stdio",children:"Stdio"}),o.jsx("option",{value:"http-sse",children:"HTTP SSE"}),o.jsx("option",{value:"streamable-http",children:"Streamable HTTP"})]})]}),o.jsxs("div",{className:"col-span-2 form-control",children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text",children:"描述"})}),o.jsx("textarea",{value:i.description||"",onChange:m=>T("description",m.target.value),disabled:!s,rows:2,className:"textarea textarea-bordered w-full",placeholder:"服务器描述..."})]}),o.jsxs("div",{className:"col-span-2 form-control",children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text",children:"管理界面地址(可选)"})}),o.jsx("input",{type:"url",value:i.adminUrl||"",onChange:m=>T("adminUrl",m.target.value),disabled:!s,className:"input input-bordered w-full",placeholder:"如 http://127.0.0.1:61823/admin/ —— 该 MCP 自带管理界面的地址"}),o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text-alt",children:'设置后,服务器标题旁会出现"打开管理页"按钮,直达该 MCP 自带的管理界面'})})]})]})]})}),o.jsx("div",{className:"card bg-base-200",children:o.jsxs("div",{className:"card-body",children:[o.jsx("h4",{className:"card-title text-base-content",children:"连接配置"}),ht?o.jsxs("div",{className:"space-y-4",children:[o.jsxs("div",{className:"form-control",children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text",children:"命令"})}),o.jsx("input",{type:"text",value:i.command||"",onChange:m=>T("command",m.target.value),disabled:!s,className:"input input-bordered w-full",placeholder:"例如:npx, node, python"})]}),o.jsxs("div",{className:"form-control",children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text",children:"参数(每行一个)"})}),o.jsx("textarea",{value:((b=i.args)==null?void 0:b.join(`
59
+ `))||"",onChange:m=>T("args",m.target.value.split(`
60
+ `).filter(Boolean)),disabled:!s,rows:3,className:"textarea textarea-bordered w-full",placeholder:"例如:\\n@modelcontextprotocol/server-filesystem\\n/path/to/directory"})]}),o.jsxs("div",{className:"form-control",children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text",children:"环境变量"})}),o.jsxs("div",{className:"space-y-2",children:[Object.entries(i.env||{}).map(([m,x],S)=>o.jsxs("div",{className:"flex gap-2",children:[o.jsx("input",{type:"text",value:m,onChange:_=>O(S,"key",_.target.value),disabled:!s,className:"input input-bordered input-sm flex-1",placeholder:"变量名"}),o.jsx("input",{type:"text",value:String(x),onChange:_=>O(S,"value",_.target.value),disabled:!s,className:"input input-bordered input-sm flex-1",placeholder:"值"}),s&&o.jsx("button",{type:"button",onClick:()=>de(S),className:"btn btn-ghost btn-sm btn-square text-error",children:o.jsx(Ht,{className:"h-4 w-4"})})]},S)),s&&o.jsxs("button",{type:"button",onClick:z,className:"btn btn-ghost btn-sm text-primary",children:[o.jsx(Yt,{className:"h-4 w-4"}),"添加环境变量"]})]})]})]}):o.jsxs("div",{className:"space-y-4",children:[o.jsxs("div",{className:"form-control",children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text",children:"URL"})}),o.jsx("input",{type:"url",value:i.url||i.endpoint||"",onChange:m=>T("url",m.target.value),disabled:!s,className:"input input-bordered w-full",placeholder:"例如:https://api.example.com/mcp"})]}),o.jsxs("div",{className:"form-control",children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text",children:"请求头"})}),o.jsxs("div",{className:"space-y-2",children:[Object.entries(i.headers||{}).map(([m,x],S)=>o.jsxs("div",{className:"flex gap-2",children:[o.jsx("input",{type:"text",value:m,onChange:_=>Qe(S,"key",_.target.value),disabled:!s,className:"input input-bordered input-sm flex-1",placeholder:"Header 名称"}),o.jsx("input",{type:"text",value:x,onChange:_=>Qe(S,"value",_.target.value),disabled:!s,className:"input input-bordered input-sm flex-1",placeholder:"Header 值"}),s&&o.jsx("button",{type:"button",onClick:()=>Jt(S),className:"btn btn-ghost btn-sm btn-square text-error",children:o.jsx(Ht,{className:"h-4 w-4"})})]},S)),s&&o.jsxs("button",{type:"button",onClick:nt,className:"btn btn-ghost btn-sm text-primary",children:[o.jsx(Yt,{className:"h-4 w-4"}),"添加请求头"]})]})]})]})]})}),o.jsx("div",{className:"card bg-base-200",children:o.jsxs("div",{className:"card-body",children:[o.jsx("h4",{className:"card-title text-base-content",children:"高级选项"}),o.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[o.jsxs("div",{className:"form-control",children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text",children:"超时(毫秒)"})}),o.jsx("input",{type:"number",value:i.timeout||"",onChange:m=>T("timeout",m.target.value?parseInt(m.target.value):void 0),disabled:!s,className:"input input-bordered w-full",placeholder:"30000"})]}),o.jsxs("div",{className:"form-control",children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text",children:"重试次数"})}),o.jsx("input",{type:"number",value:i.retries||"",onChange:m=>T("retries",m.target.value?parseInt(m.target.value):void 0),disabled:!s,className:"input input-bordered w-full",placeholder:"3"})]})]})]})}),s&&o.jsx("div",{className:"flex justify-end pt-4 border-t border-base-300",children:o.jsxs("button",{onClick:C,disabled:g||!c.valid,className:"btn btn-primary btn-sm flex items-center gap-2",children:[o.jsx(Va,{className:"h-4 w-4"}),o.jsx("span",{children:g?"保存中...":"保存"})]})})]})]}),n==="tools"&&o.jsx(Zp,{server:e}),n==="logs"&&o.jsx(em,{serverName:e==null?void 0:e.name})]})]})},bl=/^[a-zA-Z0-9\-_]+$/,nm=()=>{var ht;const[e,t]=L.useState("json"),[n,r]=L.useState(""),[s,l]=L.useState(""),[i,a]=L.useState({enabled:!0,transport:"stdio",toolsConfig:{mode:"all"}}),[u,h]=L.useState(""),[y,p]=L.useState(!1),[c,w]=L.useState({valid:!0}),{hideAddServer:v,addServer:N,saving:A}=Ve(),g=b=>!b||b.trim()===""?{valid:!1,error:"服务器名称不能为空"}:b.length>50?{valid:!1,error:"服务器名称过长(最多 50 个字符)"}:bl.test(b)?{valid:!0}:{valid:!1,error:"服务器名称只能包含字母、数字、连字符和下划线",suggestions:d(b)},d=b=>{const m=[];let x=b.replace(/[^a-zA-Z0-9\-_]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"");x&&bl.test(x)&&m.push(x);let S=b.toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9\-_]/g,"");return S&&bl.test(S)&&m.push(S),m.slice(0,3)},f=b=>{l(b),w(g(b))},k=b=>{if(h(""),!b.trim())return h("请输入配置 JSON"),null;try{const m=JSON.parse(b);let x={};if(m.mcpServers)x=m.mcpServers;else if(m.servers)x=m.servers;else if(typeof m=="object"&&!Array.isArray(m))x=m;else return h("配置格式无效。请提供有效的 MCP 服务器配置 JSON"),null;const S=Object.entries(x);return S.length===0?(h("配置中未找到任何服务器"),null):S.map(([_,P])=>({name:_,config:P}))}catch(m){return h(`JSON 解析错误: ${m.message}`),null}},E=(b,m)=>{const x=[],S=g(b);return S.valid||x.push(`服务器名称 "${b}": ${S.error}`),!m.command&&!m.endpoint&&!m.url&&x.push(`服务器 "${b}" 缺少命令或 URL 字段`),m.args&&!Array.isArray(m.args)&&x.push(`服务器 "${b}" 的 args 必须是数组`),m.env&&typeof m.env!="object"&&x.push(`服务器 "${b}" 的 env 必须是对象`),x},C=(b,m)=>{a(x=>({...x,[b]:m}))},T=(b,m,x)=>{var P,M,B;const S=i.env||{},_=Object.entries(S);if(m==="key"){const G=(P=_[b])==null?void 0:P[0],H=((M=_[b])==null?void 0:M[1])||"",fe={...S};G&&delete fe[G],x.trim()&&O(x)&&(fe[x]=H),C("env",fe)}else{const G=(B=_[b])==null?void 0:B[0];G&&C("env",{...S,[G]:x})}},O=b=>/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(b),U=()=>{const b=i.env||{};let m="NEW_VAR",x=1;for(;b[m];)m=`NEW_VAR_${x}`,x++;const S={...b,[m]:""};C("env",S)},z=b=>{var _;const m=i.env||{},S=(_=Object.entries(m)[b])==null?void 0:_[0];if(S!==void 0){const P={...m};delete P[S],C("env",P)}},de=(b,m,x)=>{var P,M,B;const S=i.headers||{},_=Object.entries(S);if(m==="key"){const G=(P=_[b])==null?void 0:P[0],H=((M=_[b])==null?void 0:M[1])||"",fe={...S};G&&delete fe[G],x.trim()&&(fe[x]=H),C("headers",fe)}else{const G=(B=_[b])==null?void 0:B[0];G&&C("headers",{...S,[G]:x})}},Qe=()=>{const b=i.headers||{};let m="Header-Name",x=1;for(;b[m];)m=`Header-Name-${x}`,x++;const S={...b,[m]:""};C("headers",S)},nt=b=>{var _;const m=i.headers||{},S=(_=Object.entries(m)[b])==null?void 0:_[0];if(S){const P={...m};delete P[S],C("headers",Object.keys(P).length>0?P:void 0)}},Jt=async b=>{if(b.preventDefault(),e==="json"){const m=k(n);if(!m)return;let x=[];try{const P=await V.get("/api/servers");x=Object.keys(P)}catch(P){console.warn("无法检查服务器名称重复:",P)}const S=[],_=[];for(const{name:P,config:M}of m){const B=E(P,M);S.push(...B),x.includes(P)&&_.push(P)}if(_.length>0){h(`❌ 检测到服务器名称冲突!
61
+
62
+ 以下服务器名称已存在:
63
+ ${_.map(P=>`• ${P}`).join(`
64
+ `)}
65
+
66
+ 请为这些服务器选择其他名称。`);return}if(S.length>0){h(`❌ 发现配置错误:
67
+
68
+ ${S.join(`
69
+ `)}`);return}try{for(const{name:P,config:M}of m){let B=M.transport;B||(M.url||M.endpoint?M.type==="sse"||M.transport==="http-sse"?B="http-sse":B="streamable-http":(M.command,B="stdio"));const G=M.enabled!==void 0?M.enabled:!0,H={...M,name:P,enabled:G,transport:B,toolsConfig:{mode:"all"}};console.log("[AddServerModal] Adding server from JSON:",P,H),await N(P,H)}console.log("[AddServerModal] All servers added successfully"),v()}catch(P){console.error("添加服务器失败:",P);const M=P.message;M.includes("already exists")?h(`❌ 服务器名称冲突!
70
+
71
+ 已存在同名服务器。请选择其他名称。`):h(`❌ 添加服务器失败:
72
+
73
+ ${M}`)}}else{if(!s.trim()){alert("请输入服务器名称");return}if(!c.valid){alert(`服务器名称无效: ${c.error}`);return}try{const x=await V.get("/api/servers");if(Object.keys(x).includes(s.trim())){alert(`❌ 服务器名称 "${s.trim()}" 已存在!
74
+
75
+ 请选择其他名称。`);return}}catch(x){console.warn("无法检查服务器名称重复:",x)}const m={name:s,...i};try{console.log("[AddServerModal] 通过表单添加服务器:",s,m),await N(s,m),console.log("[AddServerModal] 服务器添加成功"),v()}catch(x){console.error("添加服务器失败:",x);const S=x.message;S.includes("already exists")?alert(`❌ 服务器名称冲突!
76
+
77
+ 已存在名为 "${s}" 的服务器。请选择其他名称。`):alert(`❌ 添加服务器失败:
78
+
79
+ ${S}`)}}},Rn=i.transport==="stdio";return o.jsx("div",{className:"modal modal-open",children:o.jsxs("div",{className:"modal-box w-full max-w-4xl h-[90vh] max-h-none bg-base-100",children:[o.jsxs("div",{className:"flex items-center justify-between pb-6 border-b border-base-300",children:[o.jsxs("div",{children:[o.jsx("h2",{className:"text-xl font-bold text-base-content",children:"添加 MCP 服务器"}),o.jsx("p",{className:"text-sm text-base-content/70 mt-1",children:"配置一个新的 MCP 服务器"})]}),o.jsx("button",{onClick:v,className:"btn btn-ghost btn-sm btn-circle",children:o.jsx(Qs,{className:"h-6 w-6"})})]}),o.jsxs("div",{className:"py-6 max-h-[600px] overflow-y-auto",children:[o.jsxs("div",{className:"tabs tabs-boxed mb-6",children:[o.jsxs("button",{type:"button",onClick:()=>t("json"),className:`tab flex items-center gap-2 ${e==="json"?"tab-active":""}`,children:[o.jsx(gp,{className:"h-4 w-4"}),o.jsx("span",{children:"JSON 配置"})]}),o.jsxs("button",{type:"button",onClick:()=>t("form"),className:`tab flex items-center gap-2 ${e==="form"?"tab-active":""}`,children:[o.jsx(Rs,{className:"h-4 w-4"}),o.jsx("span",{children:"表单配置"})]})]}),e==="json"?o.jsx("div",{className:"space-y-4",children:o.jsxs("div",{children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text font-medium",children:"服务器配置(JSON)"})}),o.jsx("textarea",{value:n,onChange:b=>r(b.target.value),rows:12,className:"textarea textarea-bordered w-full font-mono text-sm",placeholder:`{
80
+ "mcpServers": {
81
+ "memory": {
82
+ "command": "npx",
83
+ "args": ["-y", "@modelcontextprotocol/server-memory"]
84
+ }
85
+ }
86
+ }`}),u&&o.jsx("div",{className:"alert alert-error mt-2",children:o.jsx("div",{className:"text-sm whitespace-pre-wrap",children:u})})]})}):o.jsxs("div",{className:"space-y-6",children:[o.jsx("div",{className:"card bg-base-200",children:o.jsxs("div",{className:"card-body",children:[o.jsx("h4",{className:"card-title text-base",children:"基本信息"}),o.jsxs("div",{className:"space-y-4",children:[o.jsxs("div",{children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text font-medium",children:"服务器名称 *"})}),o.jsx("input",{type:"text",value:s,onChange:b=>f(b.target.value),className:`input input-bordered w-full ${c.valid?"":"input-error"}`,placeholder:"例如:playwright, filesystem-server"}),!c.valid&&o.jsxs("div",{className:"mt-2 text-error text-sm",children:[c.error,c.suggestions&&c.suggestions.length>0&&o.jsxs("div",{className:"mt-1",children:[o.jsx("span",{className:"text-base-content/70",children:"建议: "}),c.suggestions.map((b,m)=>o.jsx("button",{type:"button",onClick:()=>f(b),className:"btn btn-link btn-xs p-0 mr-2",children:b},m))]})]}),o.jsx("div",{className:"label",children:o.jsx("span",{className:"label-text-alt",children:"仅允许字母、数字、连字符和下划线"})})]}),o.jsxs("div",{children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text font-medium",children:"传输协议"})}),o.jsxs("select",{value:i.transport,onChange:b=>C("transport",b.target.value),className:"select select-bordered w-full",children:[o.jsx("option",{value:"stdio",children:"Stdio"}),o.jsx("option",{value:"http-sse",children:"HTTP SSE"}),o.jsx("option",{value:"streamable-http",children:"Streamable HTTP"})]})]}),o.jsxs("div",{children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text font-medium",children:"描述"})}),o.jsx("textarea",{value:i.description||"",onChange:b=>C("description",b.target.value),rows:2,className:"textarea textarea-bordered w-full",placeholder:"可选的服务器描述..."})]})]})]})}),o.jsx("div",{className:"card bg-base-200",children:o.jsxs("div",{className:"card-body",children:[o.jsx("h4",{className:"card-title text-base",children:"连接配置"}),Rn?o.jsxs("div",{className:"space-y-4",children:[o.jsxs("div",{children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text font-medium",children:"命令 *"})}),o.jsx("input",{type:"text",value:i.command||"",onChange:b=>C("command",b.target.value),className:"input input-bordered w-full",placeholder:"例如:npx, node, python"})]}),o.jsxs("div",{children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text font-medium",children:"参数(每行一个)"})}),o.jsx("textarea",{value:((ht=i.args)==null?void 0:ht.join(`
87
+ `))||"",onChange:b=>C("args",b.target.value.split(`
88
+ `).filter(Boolean)),rows:3,className:"textarea textarea-bordered w-full",placeholder:"例如:\\n@modelcontextprotocol/server-filesystem\\n/path/to/directory"})]}),o.jsxs("div",{children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text font-medium",children:"环境变量"})}),o.jsxs("div",{className:"space-y-2",children:[Object.entries(i.env||{}).map(([b,m],x)=>o.jsxs("div",{className:"flex gap-2",children:[o.jsx("input",{type:"text",value:b,onChange:S=>T(x,"key",S.target.value),className:"input input-bordered input-sm flex-1",placeholder:"变量名"}),o.jsx("input",{type:"text",value:m,onChange:S=>T(x,"value",S.target.value),className:"input input-bordered input-sm flex-1",placeholder:"值"}),o.jsx("button",{type:"button",onClick:()=>z(x),className:"btn btn-ghost btn-sm btn-square text-error",children:o.jsx(Ht,{className:"h-4 w-4"})})]},x)),o.jsxs("button",{type:"button",onClick:U,className:"btn btn-ghost btn-sm gap-2",children:[o.jsx(Yt,{className:"h-4 w-4"}),o.jsx("span",{children:"添加环境变量"})]})]})]})]}):o.jsxs("div",{className:"space-y-4",children:[o.jsxs("div",{children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text font-medium",children:"URL *"})}),o.jsx("input",{type:"url",value:i.url||i.endpoint||"",onChange:b=>C("url",b.target.value),className:"input input-bordered w-full",placeholder:"例如:https://api.example.com/mcp"})]}),o.jsxs("div",{children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text font-medium",children:"请求头"})}),o.jsxs("div",{className:"space-y-2",children:[Object.entries(i.headers||{}).map(([b,m],x)=>o.jsxs("div",{className:"flex gap-2",children:[o.jsx("input",{type:"text",value:b,onChange:S=>de(x,"key",S.target.value),className:"input input-bordered input-sm flex-1",placeholder:"Header 名称"}),o.jsx("input",{type:"text",value:m,onChange:S=>de(x,"value",S.target.value),className:"input input-bordered input-sm flex-1",placeholder:"Header 值"}),o.jsx("button",{type:"button",onClick:()=>nt(x),className:"btn btn-ghost btn-sm btn-square text-error",children:o.jsx(Ht,{className:"h-4 w-4"})})]},x)),o.jsxs("button",{type:"button",onClick:Qe,className:"btn btn-ghost btn-sm gap-2",children:[o.jsx(Yt,{className:"h-4 w-4"}),o.jsx("span",{children:"添加请求头"})]})]})]})]})]})}),o.jsx("div",{className:"card bg-base-200",children:o.jsxs("div",{className:"card-body",children:[o.jsxs("div",{className:"flex items-center justify-between mb-4",children:[o.jsx("h4",{className:"card-title text-base",children:"高级选项"}),o.jsxs("button",{type:"button",onClick:()=>p(!y),className:"btn btn-ghost btn-sm",children:[y?"隐藏":"显示","高级"]})]}),y&&o.jsx("div",{className:"space-y-4",children:o.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[o.jsxs("div",{children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text font-medium",children:"超时(毫秒)"})}),o.jsx("input",{type:"number",value:i.timeout||"",onChange:b=>C("timeout",b.target.value?parseInt(b.target.value):void 0),className:"input input-bordered w-full",placeholder:"30000"})]}),o.jsxs("div",{children:[o.jsx("label",{className:"label",children:o.jsx("span",{className:"label-text font-medium",children:"重试次数"})}),o.jsx("input",{type:"number",value:i.retries||"",onChange:b=>C("retries",b.target.value?parseInt(b.target.value):void 0),className:"input input-bordered w-full",placeholder:"3"})]})]})})]})})]}),o.jsxs("div",{className:"modal-action pt-6 border-t border-base-300",children:[o.jsx("button",{type:"button",onClick:v,className:"btn btn-ghost",children:"取消"}),o.jsx("button",{type:"submit",onClick:Jt,disabled:A||e==="form"&&!c.valid,className:"btn btn-primary",children:A?"添加中...":"添加服务器"})]})]})]})})},rm=()=>{const[e,t]=L.useState(null),[n,r]=L.useState("stdio"),{hideClientConfig:s,authRequired:l,authToken:i}=Ve(),a=l&&i,u=async(w,v)=>{try{await navigator.clipboard.writeText(w),t(v),setTimeout(()=>t(null),2e3)}catch(N){console.error("复制到剪贴板失败:",N)}},h={mcpServers:{agentdog:{command:"npx",args:["agentdog@latest"]}}},y={mcpServers:{"agentdog-http":{type:"streamable-http",url:"http://localhost:4000",...a&&{headers:{Authorization:`Bearer ${i}`}}}}},c={stdio:{title:"STDIO 连接",description:"标准输入输出连接,适用于 Claude Desktop 等 MCP 客户端",config:JSON.stringify(h,null,2)},http:{title:"HTTP Streamable 连接",description:"基于 HTTP 的流式传输连接",config:JSON.stringify(y,null,2)}}[n];return o.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",children:o.jsxs("div",{className:"bg-base-100 rounded-lg shadow-xl w-full max-w-4xl max-h-[90vh] overflow-hidden",children:[o.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-base-300",children:[o.jsxs("div",{children:[o.jsx("h2",{className:"text-xl font-bold text-base-content",children:"连接 MCPDOG"}),o.jsx("p",{className:"text-sm text-base-content/70 mt-1",children:"使用以下 JSON 配置将你的 MCP 客户端连接到 MCPDog"})]}),o.jsx("button",{onClick:s,className:"btn btn-ghost btn-sm btn-circle",children:o.jsx(Qs,{className:"h-6 w-6"})})]}),o.jsxs("div",{className:"p-6 overflow-y-auto max-h-[80vh]",children:[o.jsxs("div",{className:"tabs tabs-boxed justify-center mb-6",children:[o.jsx("button",{className:`tab ${n==="stdio"?"tab-active":""}`,onClick:()=>r("stdio"),children:"STDIO 连接"}),o.jsx("button",{className:`tab ${n==="http"?"tab-active":""}`,onClick:()=>r("http"),children:"HTTP Streamable"})]}),o.jsx("div",{className:"card bg-base-100 border border-base-300",children:o.jsxs("div",{className:"card-body",children:[o.jsxs("div",{className:"flex items-center justify-between mb-4",children:[o.jsxs("div",{children:[o.jsx("h3",{className:"card-title text-base-content",children:c.title}),o.jsx("p",{className:"text-sm text-base-content/70 mt-1",children:c.description})]}),o.jsx("button",{onClick:()=>u(c.config,n),className:"btn btn-outline btn-sm",children:e===n?o.jsxs(o.Fragment,{children:[o.jsx(hp,{className:"h-4 w-4 mr-2"}),"已复制"]}):o.jsxs(o.Fragment,{children:[o.jsx(Ts,{className:"h-4 w-4 mr-2"}),"复制"]})})]}),o.jsx("div",{className:"mockup-code",children:o.jsx("pre",{className:"text-sm",children:o.jsx("code",{children:c.config})})})]})})]})]})})},sm=({refreshServerTools:e,onLogout:t})=>{const{servers:n,selectedServer:r,setSelectedServer:s,loading:l,error:i,showAddServer:a,showClientConfig:u,showAddServerModal:h,showClientConfigModal:y,loadConfig:p}=Ve();L.useEffect(()=>{p()},[p]);const{systemStatus:c}=vr(),w=(c==null?void 0:c.servers)||[],v=n.map(d=>{const f=w.find(k=>k.name===d.name);return{...d,connected:(f==null?void 0:f.connected)??d.connected,toolCount:(f==null?void 0:f.toolCount)??d.toolCount,enabledToolCount:(f==null?void 0:f.enabledToolCount)??d.enabledToolCount,tools:(f==null?void 0:f.tools)??d.tools}}).sort((d,f)=>d.name.localeCompare(f.name,"en",{sensitivity:"base"}));if(l)return o.jsx("div",{className:"flex items-center justify-center h-64",children:o.jsxs("div",{className:"text-center",children:[o.jsx("span",{className:"loading loading-spinner loading-lg text-primary mb-4"}),o.jsx("p",{className:"text-base-content/70",children:"正在加载配置..."})]})});if(i)return o.jsxs("div",{className:"alert alert-error",children:[o.jsx("svg",{className:"stroke-current shrink-0 h-6 w-6",fill:"none",viewBox:"0 0 24 24",children:o.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"})}),o.jsxs("div",{children:[o.jsx("h3",{className:"font-medium",children:"配置加载失败"}),o.jsx("p",{className:"text-sm mt-1",children:i})]})]});const N=v.filter(d=>d==null?void 0:d.connected).length,A=v.filter(d=>d==null?void 0:d.enabled).length,g=v.reduce((d,f)=>!(f!=null&&f.enabled)||!(f!=null&&f.connected)||!(f!=null&&f.tools)?d:d+f.tools.filter(k=>k.enabled).length,0);return o.jsxs("div",{className:"h-full flex flex-col",children:[o.jsx("div",{className:"bg-base-100 border-b border-base-300 px-6 pb-4",children:o.jsxs("div",{className:"flex items-center justify-between",children:[o.jsx("div",{children:o.jsxs("div",{className:"flex items-center space-x-6 text-sm text-base-content/70",children:[o.jsxs("span",{children:["总计: ",o.jsx("span",{className:"font-semibold text-secondary",children:v.length})," 个服务器"]}),o.jsxs("span",{children:["已启用: ",o.jsx("span",{className:"font-semibold text-accent",children:A})]}),o.jsxs("span",{children:["已连接: ",o.jsx("span",{className:"font-semibold text-info",children:N})]}),o.jsxs("span",{children:["已启用工具: ",o.jsx("span",{className:"font-semibold text-warning",children:g})]})]})}),o.jsxs("div",{className:"flex items-center space-x-3",children:[t&&o.jsxs("button",{onClick:t,className:"btn btn-outline btn-error btn-sm flex items-center space-x-2",children:[o.jsx(wp,{className:"h-4 w-4"}),o.jsx("span",{children:"退出登录"})]}),o.jsxs("button",{onClick:u,className:"btn btn-outline btn-sm flex items-center space-x-2",children:[o.jsx(Ts,{className:"h-4 w-4"}),o.jsx("span",{children:"连接 MCPDOG"})]}),o.jsxs("button",{onClick:a,className:"btn btn-primary btn-sm flex items-center space-x-2",children:[o.jsx(Yt,{className:"h-4 w-4"}),o.jsx("span",{children:"添加服务器"})]})]})]})}),o.jsxs("div",{className:"flex-1 flex overflow-hidden",children:[o.jsxs("div",{className:"w-80 bg-base-100 border-r border-base-300 flex flex-col",children:[o.jsx("div",{className:"p-4 border-b border-base-300",children:o.jsx("h2",{className:"font-medium text-base-content",children:"服务器列表"})}),o.jsx("div",{className:"flex-1 overflow-y-auto",children:v.length===0?o.jsxs("div",{className:"p-6 text-center text-base-content/70",children:[o.jsx(Rs,{className:"h-12 w-12 mx-auto mb-4 text-base-content/40"}),o.jsx("p",{className:"mb-2",children:"还没有配置服务器"}),o.jsx("p",{className:"text-sm mb-4",children:"添加你的第一个 MCP 服务器开始使用"}),o.jsx("button",{onClick:a,className:"btn btn-primary btn-sm",children:"添加服务器"})]}):o.jsx("div",{className:"divide-y divide-base-300",children:v.map(d=>o.jsx(Jp,{server:d,selectedServer:r,setSelectedServer:s},d.name))})})]}),o.jsx("div",{className:"flex-1 flex flex-col",children:r&&v.find(d=>d.name===r)?o.jsx(tm,{server:v.find(d=>d.name===r),refreshServerTools:e}):o.jsx("div",{className:"flex-1 flex items-center justify-center bg-base-200",children:o.jsxs("div",{className:"text-center text-base-content/70",children:[o.jsx(Rs,{className:"h-16 w-16 mx-auto mb-4 text-base-content/40"}),o.jsx("h3",{className:"text-lg font-medium mb-2",children:"选择一个服务器"}),o.jsx("p",{className:"text-sm",children:"从左侧列表选择一个服务器来查看和编辑其配置"}),v.length===0&&o.jsx("div",{className:"mt-8",children:o.jsx("button",{onClick:a,className:"btn btn-primary",children:"添加服务器"})})]})})})]}),h&&o.jsx(nm,{}),y&&o.jsx(rm,{})]})},Gs=bi((e,t)=>({providers:[],gatewayStatus:null,loading:!1,error:null,testingId:null,showProviderModal:!1,editingProvider:null,modelsPanelProviderId:null,loadAll:async()=>{e({loading:!0,error:null});try{const[n,r]=await Promise.all([V.getAIProviders(),V.getGatewayStatus()]);e({providers:n,gatewayStatus:r,loading:!1})}catch(n){e({error:n.message,loading:!1})}},addProvider:async n=>{await V.addAIProvider(n),await t().loadAll()},updateProvider:async(n,r)=>{await V.updateAIProvider(n,r),await t().loadAll()},removeProvider:async n=>{await V.deleteAIProvider(n),await t().loadAll()},toggleProvider:async(n,r)=>{await V.updateAIProvider(n,{enabled:r}),await t().loadAll()},testProvider:async(n,r)=>{e({testingId:n});try{return await V.testAIProvider(n,r)}finally{e({testingId:null})}},fetchModels:async(n,r)=>(await V.fetchProviderModels(n,r)).models,updateGateway:async n=>{await V.updateGatewaySettings(n),await t().loadAll()},setShowProviderModal:(n,r=null)=>{e({showProviderModal:n,editingProvider:r})},setModelsPanelProvider:n=>{e({modelsPanelProviderId:n})}})),lm=()=>{const{gatewayStatus:e,updateGateway:t}=Gs(),[n,r]=L.useState(!1),[s,l]=L.useState(!1);if(!e)return null;const i=`http://${e.host}:${e.port}`,a=[`ANTHROPIC_BASE_URL=${i}`,`ANTHROPIC_API_KEY=${e.apiKey}`,"# 模型名格式:供应商slug:模型Id,如 deepseek:deepseek-chat","ANTHROPIC_MODEL=<slug>:<modelId>","ANTHROPIC_SMALL_FAST_MODEL=<slug>:<modelId>"].join(`
89
+ `),u=async()=>{await navigator.clipboard.writeText(a),r(!0),setTimeout(()=>r(!1),1500)},h=async()=>{await t({enabled:!e.enabled})},y=async()=>{if(window.confirm("重置后旧 apiKey 立即失效,已接入的 Claude Code 需要更新配置。继续?")){l(!0);try{await t({resetApiKey:!0})}finally{l(!1)}}},p=async()=>{await navigator.clipboard.writeText(e.apiKey)};return o.jsx("div",{className:"card bg-base-100 shadow-sm border border-base-300/50",children:o.jsxs("div",{className:"card-body p-4 sm:p-5",children:[o.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[o.jsxs("div",{children:[o.jsx("h2",{className:"card-title text-base",children:"AI API 网关"}),o.jsx("p",{className:"text-sm text-base-content/70 mt-0.5",children:"Anthropic Messages 兼容端点,Claude Code 统一接入任意供应商"})]}),o.jsxs("div",{className:"flex items-center gap-3",children:[e.enabled&&o.jsx("span",{className:`badge ${e.running?"badge-success":"badge-warning"} badge-sm`,children:e.running?"运行中":"已启用(未运行)"}),o.jsx("input",{type:"checkbox",className:"toggle toggle-primary",checked:e.enabled,onChange:h})]})]}),e.enabled&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"mt-3 grid gap-2 sm:grid-cols-2",children:[o.jsxs("div",{className:"form-control",children:[o.jsx("label",{className:"label py-1",children:o.jsx("span",{className:"label-text",children:"监听地址"})}),o.jsx("input",{className:"input input-bordered input-sm",value:i,readOnly:!0})]}),o.jsxs("div",{className:"form-control",children:[o.jsx("label",{className:"label py-1",children:o.jsx("span",{className:"label-text",children:"对外 API Key"})}),o.jsxs("div",{className:"join",children:[o.jsx("input",{className:"input input-bordered input-sm join-item flex-1 font-mono",value:e.apiKey,readOnly:!0}),o.jsx("button",{className:"btn btn-ghost btn-sm join-item",onClick:p,title:"复制",children:o.jsx(Ts,{className:"w-4 h-4"})}),o.jsx("button",{className:"btn btn-ghost btn-sm join-item text-warning",onClick:y,disabled:s,title:"重置 apiKey",children:s?o.jsx("span",{className:"loading loading-spinner loading-xs"}):o.jsx(Ps,{className:"w-4 h-4"})})]})]})]}),o.jsxs("div",{className:"mt-3 rounded-lg bg-base-200/60 p-3",children:[o.jsxs("div",{className:"flex items-center justify-between mb-2",children:[o.jsxs("div",{className:"flex items-center gap-2 text-sm font-medium",children:[o.jsx(vp,{className:"w-4 h-4 text-primary"}),"Claude Code 接入配置"]}),o.jsx("button",{className:"btn btn-primary btn-xs",onClick:u,children:n?"已复制":o.jsxs(o.Fragment,{children:[o.jsx(Ts,{className:"w-3 h-3"})," 复制环境变量"]})})]}),o.jsx("pre",{className:"text-xs font-mono whitespace-pre-wrap text-base-content/80 leading-relaxed",children:a})]})]})]})})},om=/^[a-z0-9][a-z0-9-]*$/,im=()=>{const{showProviderModal:e,editingProvider:t,providers:n,setShowProviderModal:r,addProvider:s,updateProvider:l}=Gs(),i=!!t,[a,u]=L.useState(()=>({slug:(t==null?void 0:t.slug)||"",name:(t==null?void 0:t.name)||"",dialect:(t==null?void 0:t.dialect)||"openai",baseUrl:(t==null?void 0:t.baseUrl)||"",apiKey:"",enabled:(t==null?void 0:t.enabled)??!0,headersText:t!=null&&t.headers?JSON.stringify(t.headers,null,2):""})),[h,y]=L.useState(!1),[p,c]=L.useState(null);if(!e)return null;const w=n.some(d=>d.slug===a.slug&&d.id!==(t==null?void 0:t.id)),v=a.slug!==""&&!om.test(a.slug),N=a.headersText.trim()!==""&&(()=>{try{const d=JSON.parse(a.headersText);return typeof d!="object"||d===null||Array.isArray(d)}catch{return!0}})(),A=a.slug&&!v&&!w&&a.baseUrl&&a.dialect&&(!i||a.apiKey!==void 0)&&(i||a.apiKey!=="")&&!N,g=async d=>{d.preventDefault(),y(!0),c(null);try{const f=a.headersText.trim()?JSON.parse(a.headersText):void 0;i&&t?await l(t.id,{slug:a.slug,name:a.name||void 0,dialect:a.dialect,baseUrl:a.baseUrl,...a.apiKey?{apiKey:a.apiKey}:{},enabled:a.enabled,...f!==void 0?{headers:f}:{}}):await s({slug:a.slug,name:a.name||void 0,dialect:a.dialect,baseUrl:a.baseUrl,apiKey:a.apiKey,enabled:a.enabled,...f!==void 0?{headers:f}:{}}),r(!1)}catch(f){c(f.message)}finally{y(!1)}};return o.jsxs("div",{className:"modal modal-open",children:[o.jsxs("div",{className:"modal-box max-w-lg",children:[o.jsxs("div",{className:"flex items-center justify-between mb-4",children:[o.jsx("h3",{className:"font-bold text-lg",children:i?"编辑供应商":"新增供应商"}),o.jsx("button",{className:"btn btn-ghost btn-sm btn-square",onClick:()=>r(!1),children:o.jsx(Qs,{className:"w-4 h-4"})})]}),o.jsxs("form",{onSubmit:g,children:[o.jsxs("div",{className:"grid gap-3",children:[o.jsxs("div",{className:"form-control",children:[o.jsx("label",{className:"label py-1",children:o.jsx("span",{className:"label-text",children:"slug(寻址名,不可与其他重复)"})}),o.jsx("input",{className:`input input-bordered input-sm font-mono ${v||w?"input-error":a.slug?"input-success":""}`,value:a.slug,onChange:d=>u({...a,slug:d.target.value}),placeholder:"deepseek",disabled:!1}),o.jsx("label",{className:"label py-1",children:o.jsx("span",{className:"label-text-alt text-error",children:v?"格式:小写字母/数字开头,仅 a-z 0-9 -":w?"该 slug 已被占用":"模型寻址格式:slug:modelId"})})]}),o.jsxs("div",{className:"form-control",children:[o.jsx("label",{className:"label py-1",children:o.jsx("span",{className:"label-text",children:"显示名(可选)"})}),o.jsx("input",{className:"input input-bordered input-sm",value:a.name,onChange:d=>u({...a,name:d.target.value}),placeholder:"深度求索"})]}),o.jsxs("div",{className:"form-control",children:[o.jsx("label",{className:"label py-1",children:o.jsx("span",{className:"label-text",children:"上游方言"})}),o.jsxs("select",{className:"select select-bordered select-sm",value:a.dialect,onChange:d=>u({...a,dialect:d.target.value}),children:[o.jsx("option",{value:"openai",children:"openai 兼容"}),o.jsx("option",{value:"anthropic",children:"anthropic(直通)"}),o.jsx("option",{value:"gemini",children:"gemini"})]})]}),o.jsxs("div",{className:"form-control",children:[o.jsx("label",{className:"label py-1",children:o.jsx("span",{className:"label-text",children:"Base URL"})}),o.jsx("input",{className:"input input-bordered input-sm font-mono",value:a.baseUrl,onChange:d=>u({...a,baseUrl:d.target.value}),placeholder:"https://api.deepseek.com"})]}),o.jsxs("div",{className:"form-control",children:[o.jsx("label",{className:"label py-1",children:o.jsxs("span",{className:"label-text",children:["API Key ",i&&"(留空 = 不修改)"]})}),o.jsx("input",{type:"password",className:"input input-bordered input-sm font-mono",value:a.apiKey,onChange:d=>u({...a,apiKey:d.target.value}),placeholder:i?"不修改则留空":"sk-..."})]}),o.jsxs("div",{className:"form-control",children:[o.jsx("label",{className:"label py-1",children:o.jsx("span",{className:"label-text",children:"自定义请求头(可选,JSON)"})}),o.jsx("textarea",{className:`textarea textarea-bordered textarea-sm font-mono ${N?"textarea-error":""}`,rows:3,value:a.headersText,onChange:d=>u({...a,headersText:d.target.value}),placeholder:`{
90
+ "x-custom": "value"
91
+ }`})]}),o.jsxs("label",{className:"label cursor-pointer justify-start gap-3 py-1",children:[o.jsx("input",{type:"checkbox",className:"toggle toggle-sm toggle-primary",checked:a.enabled,onChange:d=>u({...a,enabled:d.target.checked})}),o.jsx("span",{className:"label-text",children:"启用"})]})]}),p&&o.jsx("div",{className:"alert alert-error mt-3 py-2 text-sm",children:p}),o.jsxs("div",{className:"modal-action",children:[o.jsx("button",{type:"button",className:"btn btn-ghost btn-sm",onClick:()=>r(!1),children:"取消"}),o.jsx("button",{type:"submit",className:"btn btn-primary btn-sm",disabled:!A||h,children:h?o.jsx("span",{className:"loading loading-spinner loading-xs"}):i?"保存":"创建"})]})]})]}),o.jsx("div",{className:"modal-backdrop",onClick:()=>r(!1)})]})},am=()=>{var d;const{providers:e,modelsPanelProviderId:t,setModelsPanelProvider:n,fetchModels:r,updateProvider:s}=Gs(),[l,i]=L.useState(null),[a,u]=L.useState(!1),[h,y]=L.useState(null),[p,c]=L.useState(""),w=e.find(f=>f.id===t);if(L.useEffect(()=>{i(null),y(null)},[t]),!t||!w)return null;const v=async()=>{u(!0),y(null);try{i(await r(w.id))}catch(f){y(f.message)}finally{u(!1)}},N=async f=>{await s(w.id,{models:f})},A=async()=>{var k;const f=p.trim();!f||(k=w.models)!=null&&k.includes(f)||(await N([...w.models||[],f]),c(""))},g=async f=>{await N((w.models||[]).filter(k=>k!==f))};return o.jsxs("div",{className:"modal modal-open",children:[o.jsxs("div",{className:"modal-box max-w-xl",children:[o.jsxs("div",{className:"flex items-center justify-between mb-4",children:[o.jsxs("div",{children:[o.jsx("h3",{className:"font-bold text-lg",children:"模型管理"}),o.jsxs("p",{className:"text-sm text-base-content/60",children:[w.name||w.slug,"(",w.slug,")"]})]}),o.jsx("button",{className:"btn btn-ghost btn-sm btn-square",onClick:()=>n(null),children:o.jsx(Qs,{className:"w-4 h-4"})})]}),o.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[o.jsxs("button",{className:"btn btn-outline btn-sm",onClick:v,disabled:a,children:[a?o.jsx("span",{className:"loading loading-spinner loading-xs"}):o.jsx(pp,{className:"w-4 h-4"}),"拉取上游模型"]}),l&&l.length>0&&o.jsxs("button",{className:"btn btn-primary btn-sm",onClick:()=>N(l),children:["写回(",l.length," 个)"]})]}),h&&o.jsx("div",{className:"alert alert-error py-2 text-sm mb-3",children:h}),l&&o.jsxs("div",{className:"mb-4",children:[o.jsxs("div",{className:"text-sm font-medium mb-1",children:["上游列表(",l.length,")"]}),o.jsx("div",{className:"max-h-32 overflow-y-auto rounded border border-base-300/50 bg-base-200/40 p-2 text-xs font-mono",children:l.map(f=>o.jsx("div",{className:"py-0.5",children:f},f))})]}),o.jsxs("div",{className:"text-sm font-medium mb-1",children:["已声明模型(",((d=w.models)==null?void 0:d.length)||0,")"]}),o.jsxs("div",{className:"flex gap-2 mb-3",children:[o.jsx("input",{className:"input input-bordered input-sm flex-1 font-mono",value:p,onChange:f=>c(f.target.value),onKeyDown:f=>f.key==="Enter"&&A(),placeholder:"手工添加模型 Id"}),o.jsx("button",{className:"btn btn-sm btn-primary",onClick:A,disabled:!p.trim(),children:o.jsx(Yt,{className:"w-4 h-4"})})]}),o.jsxs("div",{className:"max-h-40 overflow-y-auto",children:[(w.models||[]).length===0&&o.jsx("p",{className:"text-sm text-base-content/50",children:"暂无。拉取失败时手工声明可作兜底。"}),(w.models||[]).map(f=>o.jsxs("div",{className:"flex items-center justify-between rounded px-2 py-1 hover:bg-base-200/60",children:[o.jsx("span",{className:"text-sm font-mono",children:f}),o.jsx("button",{className:"btn btn-ghost btn-xs text-error",onClick:()=>g(f),children:o.jsx(Ht,{className:"w-3.5 h-3.5"})})]},f))]})]}),o.jsx("div",{className:"modal-backdrop",onClick:()=>n(null)})]})},um={openai:"badge-info",anthropic:"badge-secondary",gemini:"badge-success"},cm=()=>{const{providers:e,loading:t,error:n,testingId:r,loadAll:s,toggleProvider:l,removeProvider:i,testProvider:a,setShowProviderModal:u,setModelsPanelProvider:h}=Gs(),[y,p]=L.useState({});if(L.useEffect(()=>{s()},[s]),t&&e.length===0)return o.jsx("div",{className:"flex items-center justify-center h-64",children:o.jsx("span",{className:"loading loading-spinner loading-lg text-primary"})});if(n&&e.length===0)return o.jsxs("div",{className:"alert alert-error",children:["加载失败:",n]});const c=async v=>{try{const N=await a(v.id);p(A=>({...A,[v.id]:{ok:N.ok,message:N.ok?`连通(${N.modelCount} 个模型)`:N.message}}))}catch(N){p(A=>({...A,[v.id]:{ok:!1,message:N.message}}))}},w=async v=>{window.confirm(`确认删除供应商 ${v.name||v.slug}?`)&&await i(v.id)};return o.jsxs("div",{className:"space-y-4",children:[o.jsx(lm,{}),o.jsxs("div",{className:"flex items-center justify-between",children:[o.jsxs("h2",{className:"text-base font-medium",children:["AI 供应商(",e.length,")"]}),o.jsxs("button",{className:"btn btn-primary btn-sm",onClick:()=>u(!0),children:[o.jsx(Yt,{className:"w-4 h-4"})," 新增供应商"]})]}),e.length===0&&o.jsx("div",{className:"alert",children:o.jsxs("span",{className:"text-sm",children:["暂无供应商。新增后 Claude Code 通过 ",o.jsx("code",{className:"font-mono",children:"slug:modelId"})," 寻址访问任意上游。"]})}),o.jsx("div",{className:"grid gap-3 md:grid-cols-2",children:e.map(v=>{var A;const N=y[v.id];return o.jsx("div",{className:`card bg-base-100 shadow-sm border ${v.enabled?"border-base-300/50":"border-base-300/30 opacity-70"}`,children:o.jsxs("div",{className:"card-body p-4",children:[o.jsxs("div",{className:"flex items-start justify-between gap-2",children:[o.jsxs("div",{className:"min-w-0",children:[o.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[o.jsx("span",{className:"font-mono font-medium",children:v.slug}),v.name&&o.jsx("span",{className:"text-sm text-base-content/60",children:v.name}),o.jsx("span",{className:`badge ${um[v.dialect]||"badge-ghost"} badge-sm`,children:v.dialect}),!v.enabled&&o.jsx("span",{className:"badge badge-ghost badge-sm",children:"已禁用"})]}),o.jsx("div",{className:"text-xs font-mono text-base-content/50 mt-1 truncate",title:v.baseUrl,children:v.baseUrl}),o.jsxs("div",{className:"text-xs text-base-content/50 mt-0.5",children:["模型 ",((A=v.models)==null?void 0:A.length)||0," · key ",v.apiKey]})]}),o.jsx("input",{type:"checkbox",className:"toggle toggle-primary toggle-sm",checked:v.enabled,onChange:g=>l(v.id,g.target.checked)})]}),N&&o.jsxs("div",{className:`text-xs mt-1 ${N.ok?"text-success":"text-error"} truncate`,title:N.message,children:[N.ok?"✓ ":"✕ ",N.message]}),o.jsxs("div",{className:"card-actions justify-end mt-2",children:[o.jsxs("button",{className:"btn btn-ghost btn-xs",onClick:()=>h(v.id),title:"模型管理",children:[o.jsx(xp,{className:"w-3.5 h-3.5"})," 模型"]}),o.jsxs("button",{className:"btn btn-ghost btn-xs",onClick:()=>c(v),disabled:r===v.id,title:"连通性测试",children:[r===v.id?o.jsx("span",{className:"loading loading-spinner loading-xs"}):o.jsx(Np,{className:"w-3.5 h-3.5"})," 测试"]}),o.jsx("button",{className:"btn btn-ghost btn-xs",onClick:()=>u(!0,v),title:"编辑",children:o.jsx(kp,{className:"w-3.5 h-3.5"})}),o.jsx("button",{className:"btn btn-ghost btn-xs text-error",onClick:()=>w(v),title:"删除",children:o.jsx(Ht,{className:"w-3.5 h-3.5"})})]})]})},v.id)})}),o.jsx(im,{}),o.jsx(am,{})]})},tt=Object.create(null);tt.open="0";tt.close="1";tt.ping="2";tt.pong="3";tt.message="4";tt.upgrade="5";tt.noop="6";const ts=Object.create(null);Object.keys(tt).forEach(e=>{ts[tt[e]]=e});const Eo={type:"error",data:"parser error"},wd=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",Sd=typeof ArrayBuffer=="function",kd=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,_i=({type:e,data:t},n,r)=>wd&&t instanceof Blob?n?r(t):Qa(t,r):Sd&&(t instanceof ArrayBuffer||kd(t))?n?r(t):Qa(new Blob([t]),r):r(tt[e]+(t||"")),Qa=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)};function Ya(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let _l;function dm(e,t){if(wd&&e.data instanceof Blob)return e.data.arrayBuffer().then(Ya).then(t);if(Sd&&(e.data instanceof ArrayBuffer||kd(e.data)))return t(Ya(e.data));_i(e,!1,n=>{_l||(_l=new TextEncoder),t(_l.encode(n))})}const Ga="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Wn=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e<Ga.length;e++)Wn[Ga.charCodeAt(e)]=e;const fm=e=>{let t=e.length*.75,n=e.length,r,s=0,l,i,a,u;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);const h=new ArrayBuffer(t),y=new Uint8Array(h);for(r=0;r<n;r+=4)l=Wn[e.charCodeAt(r)],i=Wn[e.charCodeAt(r+1)],a=Wn[e.charCodeAt(r+2)],u=Wn[e.charCodeAt(r+3)],y[s++]=l<<2|i>>4,y[s++]=(i&15)<<4|a>>2,y[s++]=(a&3)<<6|u&63;return h},hm=typeof ArrayBuffer=="function",Ti=(e,t)=>{if(typeof e!="string")return{type:"message",data:Nd(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:pm(e.substring(1),t)}:ts[n]?e.length>1?{type:ts[n],data:e.substring(1)}:{type:ts[n]}:Eo},pm=(e,t)=>{if(hm){const n=fm(e);return Nd(n,t)}else return{base64:!0,data:e}},Nd=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},jd="",mm=(e,t)=>{const n=e.length,r=new Array(n);let s=0;e.forEach((l,i)=>{_i(l,!1,a=>{r[i]=a,++s===n&&t(r.join(jd))})})},gm=(e,t)=>{const n=e.split(jd),r=[];for(let s=0;s<n.length;s++){const l=Ti(n[s],t);if(r.push(l),l.type==="error")break}return r};function ym(){return new TransformStream({transform(e,t){dm(e,n=>{const r=n.length;let s;if(r<126)s=new Uint8Array(1),new DataView(s.buffer).setUint8(0,r);else if(r<65536){s=new Uint8Array(3);const l=new DataView(s.buffer);l.setUint8(0,126),l.setUint16(1,r)}else{s=new Uint8Array(9);const l=new DataView(s.buffer);l.setUint8(0,127),l.setBigUint64(1,BigInt(r))}e.data&&typeof e.data!="string"&&(s[0]|=128),t.enqueue(s),t.enqueue(n)})}})}let Tl;function Fr(e){return e.reduce((t,n)=>t+n.length,0)}function Ur(e,t){if(e[0].length===t)return e.shift();const n=new Uint8Array(t);let r=0;for(let s=0;s<t;s++)n[s]=e[0][r++],r===e[0].length&&(e.shift(),r=0);return e.length&&r<e[0].length&&(e[0]=e[0].slice(r)),n}function vm(e,t){Tl||(Tl=new TextDecoder);const n=[];let r=0,s=-1,l=!1;return new TransformStream({transform(i,a){for(n.push(i);;){if(r===0){if(Fr(n)<1)break;const u=Ur(n,1);l=(u[0]&128)===128,s=u[0]&127,s<126?r=3:s===126?r=1:r=2}else if(r===1){if(Fr(n)<2)break;const u=Ur(n,2);s=new DataView(u.buffer,u.byteOffset,u.length).getUint16(0),r=3}else if(r===2){if(Fr(n)<8)break;const u=Ur(n,8),h=new DataView(u.buffer,u.byteOffset,u.length),y=h.getUint32(0);if(y>Math.pow(2,21)-1){a.enqueue(Eo);break}s=y*Math.pow(2,32)+h.getUint32(4),r=3}else{if(Fr(n)<s)break;const u=Ur(n,s);a.enqueue(Ti(l?u:Tl.decode(u),t)),r=0}if(s===0||s>e){a.enqueue(Eo);break}}}})}const Cd=4;function re(e){if(e)return xm(e)}function xm(e){for(var t in re.prototype)e[t]=re.prototype[t];return e}re.prototype.on=re.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};re.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this};re.prototype.off=re.prototype.removeListener=re.prototype.removeAllListeners=re.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var n=this._callbacks["$"+e];if(!n)return this;if(arguments.length==1)return delete this._callbacks["$"+e],this;for(var r,s=0;s<n.length;s++)if(r=n[s],r===t||r.fn===t){n.splice(s,1);break}return n.length===0&&delete this._callbacks["$"+e],this};re.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],r=1;r<arguments.length;r++)t[r-1]=arguments[r];if(n){n=n.slice(0);for(var r=0,s=n.length;r<s;++r)n[r].apply(this,t)}return this};re.prototype.emitReserved=re.prototype.emit;re.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]};re.prototype.hasListeners=function(e){return!!this.listeners(e).length};const Xs=typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0),Ae=typeof self<"u"?self:typeof window<"u"?window:Function("return this")(),wm="arraybuffer";function Ed(e,...t){return t.reduce((n,r)=>(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const Sm=Ae.setTimeout,km=Ae.clearTimeout;function Js(e,t){t.useNativeTimers?(e.setTimeoutFn=Sm.bind(Ae),e.clearTimeoutFn=km.bind(Ae)):(e.setTimeoutFn=Ae.setTimeout.bind(Ae),e.clearTimeoutFn=Ae.clearTimeout.bind(Ae))}const Nm=1.33;function jm(e){return typeof e=="string"?Cm(e):Math.ceil((e.byteLength||e.size)*Nm)}function Cm(e){let t=0,n=0;for(let r=0,s=e.length;r<s;r++)t=e.charCodeAt(r),t<128?n+=1:t<2048?n+=2:t<55296||t>=57344?n+=3:(r++,n+=4);return n}function bd(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function Em(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function bm(e){let t={},n=e.split("&");for(let r=0,s=n.length;r<s;r++){let l=n[r].split("=");t[decodeURIComponent(l[0])]=decodeURIComponent(l[1])}return t}class _m extends Error{constructor(t,n,r){super(t),this.description=n,this.context=r,this.type="TransportError"}}class Pi extends re{constructor(t){super(),this.writable=!1,Js(this,t),this.opts=t,this.query=t.query,this.socket=t.socket,this.supportsBinary=!t.forceBase64}onError(t,n,r){return super.emitReserved("error",new _m(t,n,r)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(t){this.readyState==="open"&&this.write(t)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(t){const n=Ti(t,this.socket.binaryType);this.onPacket(n)}onPacket(t){super.emitReserved("packet",t)}onClose(t){this.readyState="closed",super.emitReserved("close",t)}pause(t){}createUri(t,n={}){return t+"://"+this._hostname()+this._port()+this.opts.path+this._query(n)}_hostname(){const t=this.opts.hostname;return t.indexOf(":")===-1?t:"["+t+"]"}_port(){return this.opts.port&&(this.opts.secure&&+(this.opts.port!==443)||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(t){const n=Em(t);return n.length?"?"+n:""}}class Tm extends Pi{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(t){this.readyState="pausing";const n=()=>{this.readyState="paused",t()};if(this._polling||!this.writable){let r=0;this._polling&&(r++,this.once("pollComplete",function(){--r||n()})),this.writable||(r++,this.once("drain",function(){--r||n()}))}else n()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){const n=r=>{if(this.readyState==="opening"&&r.type==="open"&&this.onOpen(),r.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(r)};gm(t,this.socket.binaryType).forEach(n),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){const t=()=>{this.write([{type:"close"}])};this.readyState==="open"?t():this.once("open",t)}write(t){this.writable=!1,mm(t,n=>{this.doWrite(n,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const t=this.opts.secure?"https":"http",n=this.query||{};return this.opts.timestampRequests!==!1&&(n[this.opts.timestampParam]=bd()),!this.supportsBinary&&!n.sid&&(n.b64=1),this.createUri(t,n)}}let _d=!1;try{_d=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const Pm=_d;function Rm(){}class Lm extends Tm{constructor(t){if(super(t),typeof location<"u"){const n=location.protocol==="https:";let r=location.port;r||(r=n?"443":"80"),this.xd=typeof location<"u"&&t.hostname!==location.hostname||r!==t.port}}doWrite(t,n){const r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(s,l)=>{this.onError("xhr post error",s,l)})}doPoll(){const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(n,r)=>{this.onError("xhr poll error",n,r)}),this.pollXhr=t}}class et extends re{constructor(t,n,r){super(),this.createRequest=t,Js(this,r),this._opts=r,this._method=r.method||"GET",this._uri=n,this._data=r.data!==void 0?r.data:null,this._create()}_create(){var t;const n=Ed(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this._opts.xd;const r=this._xhr=this.createRequest(n);try{r.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let s in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(s)&&r.setRequestHeader(s,this._opts.extraHeaders[s])}}catch{}if(this._method==="POST")try{r.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{r.setRequestHeader("Accept","*/*")}catch{}(t=this._opts.cookieJar)===null||t===void 0||t.addCookies(r),"withCredentials"in r&&(r.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(r.timeout=this._opts.requestTimeout),r.onreadystatechange=()=>{var s;r.readyState===3&&((s=this._opts.cookieJar)===null||s===void 0||s.parseCookies(r.getResponseHeader("set-cookie"))),r.readyState===4&&(r.status===200||r.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof r.status=="number"?r.status:0)},0))},r.send(this._data)}catch(s){this.setTimeoutFn(()=>{this._onError(s)},0);return}typeof document<"u"&&(this._index=et.requestsCount++,et.requests[this._index]=this)}_onError(t){this.emitReserved("error",t,this._xhr),this._cleanup(!0)}_cleanup(t){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=Rm,t)try{this._xhr.abort()}catch{}typeof document<"u"&&delete et.requests[this._index],this._xhr=null}}_onLoad(){const t=this._xhr.responseText;t!==null&&(this.emitReserved("data",t),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}et.requestsCount=0;et.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Xa);else if(typeof addEventListener=="function"){const e="onpagehide"in Ae?"pagehide":"unload";addEventListener(e,Xa,!1)}}function Xa(){for(let e in et.requests)et.requests.hasOwnProperty(e)&&et.requests[e].abort()}const Om=function(){const e=Td({xdomain:!1});return e&&e.responseType!==null}();class Am extends Lm{constructor(t){super(t);const n=t&&t.forceBase64;this.supportsBinary=Om&&!n}request(t={}){return Object.assign(t,{xd:this.xd},this.opts),new et(Td,this.uri(),t)}}function Td(e){const t=e.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!t||Pm))return new XMLHttpRequest}catch{}if(!t)try{return new Ae[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}const Pd=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class Mm extends Pi{get name(){return"websocket"}doOpen(){const t=this.uri(),n=this.opts.protocols,r=Pd?{}:Ed(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(r.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(t,n,r)}catch(s){return this.emitReserved("error",s)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let n=0;n<t.length;n++){const r=t[n],s=n===t.length-1;_i(r,this.supportsBinary,l=>{try{this.doWrite(r,l)}catch{}s&&Xs(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){const t=this.opts.secure?"wss":"ws",n=this.query||{};return this.opts.timestampRequests&&(n[this.opts.timestampParam]=bd()),this.supportsBinary||(n.b64=1),this.createUri(t,n)}}const Pl=Ae.WebSocket||Ae.MozWebSocket;class zm extends Mm{createSocket(t,n,r){return Pd?new Pl(t,n,r):n?new Pl(t,n):new Pl(t)}doWrite(t,n){this.ws.send(n)}}class Im extends Pi{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(t){return this.emitReserved("error",t)}this._transport.closed.then(()=>{this.onClose()}).catch(t=>{this.onError("webtransport error",t)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(t=>{const n=vm(Number.MAX_SAFE_INTEGER,this.socket.binaryType),r=t.readable.pipeThrough(n).getReader(),s=ym();s.readable.pipeTo(t.writable),this._writer=s.writable.getWriter();const l=()=>{r.read().then(({done:a,value:u})=>{a||(this.onPacket(u),l())}).catch(a=>{})};l();const i={type:"open"};this.query.sid&&(i.data=`{"sid":"${this.query.sid}"}`),this._writer.write(i).then(()=>this.onOpen())})})}write(t){this.writable=!1;for(let n=0;n<t.length;n++){const r=t[n],s=n===t.length-1;this._writer.write(r).then(()=>{s&&Xs(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var t;(t=this._transport)===null||t===void 0||t.close()}}const $m={websocket:zm,webtransport:Im,polling:Am},Dm=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Bm=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function bo(e){if(e.length>8e3)throw"URI too long";const t=e,n=e.indexOf("["),r=e.indexOf("]");n!=-1&&r!=-1&&(e=e.substring(0,n)+e.substring(n,r).replace(/:/g,";")+e.substring(r,e.length));let s=Dm.exec(e||""),l={},i=14;for(;i--;)l[Bm[i]]=s[i]||"";return n!=-1&&r!=-1&&(l.source=t,l.host=l.host.substring(1,l.host.length-1).replace(/;/g,":"),l.authority=l.authority.replace("[","").replace("]","").replace(/;/g,":"),l.ipv6uri=!0),l.pathNames=Fm(l,l.path),l.queryKey=Um(l,l.query),l}function Fm(e,t){const n=/\/{2,9}/g,r=t.replace(n,"/").split("/");return(t.slice(0,1)=="/"||t.length===0)&&r.splice(0,1),t.slice(-1)=="/"&&r.splice(r.length-1,1),r}function Um(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,s,l){s&&(n[s]=l)}),n}const _o=typeof addEventListener=="function"&&typeof removeEventListener=="function",ns=[];_o&&addEventListener("offline",()=>{ns.forEach(e=>e())},!1);class Tt extends re{constructor(t,n){if(super(),this.binaryType=wm,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,t&&typeof t=="object"&&(n=t,t=null),t){const r=bo(t);n.hostname=r.host,n.secure=r.protocol==="https"||r.protocol==="wss",n.port=r.port,r.query&&(n.query=r.query)}else n.host&&(n.hostname=bo(n.host).host);Js(this,n),this.secure=n.secure!=null?n.secure:typeof location<"u"&&location.protocol==="https:",n.hostname&&!n.port&&(n.port=this.secure?"443":"80"),this.hostname=n.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=n.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},n.transports.forEach(r=>{const s=r.prototype.name;this.transports.push(s),this._transportsByName[s]=r}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},n),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=bm(this.opts.query)),_o&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},ns.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(t){const n=Object.assign({},this.opts.query);n.EIO=Cd,n.transport=t,this.id&&(n.sid=this.id);const r=Object.assign({},this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new this._transportsByName[t](r)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}const t=this.opts.rememberUpgrade&&Tt.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";const n=this.createTransport(t);n.open(),this.setTransport(n)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",n=>this._onClose("transport close",n))}onOpen(){this.readyState="open",Tt.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(t){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",t),this.emitReserved("heartbeat"),t.type){case"open":this.onHandshake(JSON.parse(t.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const n=new Error("server error");n.code=t.data,this._onError(n);break;case"message":this.emitReserved("data",t.data),this.emitReserved("message",t.data);break}}onHandshake(t){this.emitReserved("handshake",t),this.id=t.sid,this.transport.query.sid=t.sid,this._pingInterval=t.pingInterval,this._pingTimeout=t.pingTimeout,this._maxPayload=t.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const t=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+t,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},t),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const t=this._getWritablePackets();this.transport.send(t),this._prevBufferLen=t.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let n=1;for(let r=0;r<this.writeBuffer.length;r++){const s=this.writeBuffer[r].data;if(s&&(n+=jm(s)),r>0&&n>this._maxPayload)return this.writeBuffer.slice(0,r);n+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const t=Date.now()>this._pingTimeoutTime;return t&&(this._pingTimeoutTime=0,Xs(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),t}write(t,n,r){return this._sendPacket("message",t,n,r),this}send(t,n,r){return this._sendPacket("message",t,n,r),this}_sendPacket(t,n,r,s){if(typeof n=="function"&&(s=n,n=void 0),typeof r=="function"&&(s=r,r=null),this.readyState==="closing"||this.readyState==="closed")return;r=r||{},r.compress=r.compress!==!1;const l={type:t,data:n,options:r};this.emitReserved("packetCreate",l),this.writeBuffer.push(l),s&&this.once("flush",s),this.flush()}close(){const t=()=>{this._onClose("forced close"),this.transport.close()},n=()=>{this.off("upgrade",n),this.off("upgradeError",n),t()},r=()=>{this.once("upgrade",n),this.once("upgradeError",n)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?r():t()}):this.upgrading?r():t()),this}_onError(t){if(Tt.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",t),this._onClose("transport error",t)}_onClose(t,n){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),_o&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const r=ns.indexOf(this._offlineEventListener);r!==-1&&ns.splice(r,1)}this.readyState="closed",this.id=null,this.emitReserved("close",t,n),this.writeBuffer=[],this._prevBufferLen=0}}}Tt.protocol=Cd;class Hm extends Tt{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let t=0;t<this._upgrades.length;t++)this._probe(this._upgrades[t])}_probe(t){let n=this.createTransport(t),r=!1;Tt.priorWebsocketSuccess=!1;const s=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",p=>{if(!r)if(p.type==="pong"&&p.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Tt.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{r||this.readyState!=="closed"&&(y(),this.setTransport(n),n.send([{type:"upgrade"}]),this.emitReserved("upgrade",n),n=null,this.upgrading=!1,this.flush())})}else{const c=new Error("probe error");c.transport=n.name,this.emitReserved("upgradeError",c)}}))};function l(){r||(r=!0,y(),n.close(),n=null)}const i=p=>{const c=new Error("probe error: "+p);c.transport=n.name,l(),this.emitReserved("upgradeError",c)};function a(){i("transport closed")}function u(){i("socket closed")}function h(p){n&&p.name!==n.name&&l()}const y=()=>{n.removeListener("open",s),n.removeListener("error",i),n.removeListener("close",a),this.off("close",u),this.off("upgrading",h)};n.once("open",s),n.once("error",i),n.once("close",a),this.once("close",u),this.once("upgrading",h),this._upgrades.indexOf("webtransport")!==-1&&t!=="webtransport"?this.setTimeoutFn(()=>{r||n.open()},200):n.open()}onHandshake(t){this._upgrades=this._filterUpgrades(t.upgrades),super.onHandshake(t)}_filterUpgrades(t){const n=[];for(let r=0;r<t.length;r++)~this.transports.indexOf(t[r])&&n.push(t[r]);return n}}let Vm=class extends Hm{constructor(t,n={}){const r=typeof t=="object"?t:n;(!r.transports||r.transports&&typeof r.transports[0]=="string")&&(r.transports=(r.transports||["polling","websocket","webtransport"]).map(s=>$m[s]).filter(s=>!!s)),super(t,r)}};function Wm(e,t="",n){let r=e;n=n||typeof location<"u"&&location,e==null&&(e=n.protocol+"//"+n.host),typeof e=="string"&&(e.charAt(0)==="/"&&(e.charAt(1)==="/"?e=n.protocol+e:e=n.host+e),/^(https?|wss?):\/\//.test(e)||(typeof n<"u"?e=n.protocol+"//"+e:e="https://"+e),r=bo(e)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port="80":/^(http|ws)s$/.test(r.protocol)&&(r.port="443")),r.path=r.path||"/";const l=r.host.indexOf(":")!==-1?"["+r.host+"]":r.host;return r.id=r.protocol+"://"+l+":"+r.port+t,r.href=r.protocol+"://"+l+(n&&n.port===r.port?"":":"+r.port),r}const Km=typeof ArrayBuffer=="function",qm=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,Rd=Object.prototype.toString,Qm=typeof Blob=="function"||typeof Blob<"u"&&Rd.call(Blob)==="[object BlobConstructor]",Ym=typeof File=="function"||typeof File<"u"&&Rd.call(File)==="[object FileConstructor]";function Ri(e){return Km&&(e instanceof ArrayBuffer||qm(e))||Qm&&e instanceof Blob||Ym&&e instanceof File}function rs(e,t){if(!e||typeof e!="object")return!1;if(Array.isArray(e)){for(let n=0,r=e.length;n<r;n++)if(rs(e[n]))return!0;return!1}if(Ri(e))return!0;if(e.toJSON&&typeof e.toJSON=="function"&&arguments.length===1)return rs(e.toJSON(),!0);for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&rs(e[n]))return!0;return!1}function Gm(e){const t=[],n=e.data,r=e;return r.data=To(n,t),r.attachments=t.length,{packet:r,buffers:t}}function To(e,t){if(!e)return e;if(Ri(e)){const n={_placeholder:!0,num:t.length};return t.push(e),n}else if(Array.isArray(e)){const n=new Array(e.length);for(let r=0;r<e.length;r++)n[r]=To(e[r],t);return n}else if(typeof e=="object"&&!(e instanceof Date)){const n={};for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=To(e[r],t));return n}return e}function Xm(e,t){return e.data=Po(e.data,t),delete e.attachments,e}function Po(e,t){if(!e)return e;if(e&&e._placeholder===!0){if(typeof e.num=="number"&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}else if(Array.isArray(e))for(let n=0;n<e.length;n++)e[n]=Po(e[n],t);else if(typeof e=="object")for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(e[n]=Po(e[n],t));return e}const Jm=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"],Zm=5;var $;(function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"})($||($={}));class eg{constructor(t){this.replacer=t}encode(t){return(t.type===$.EVENT||t.type===$.ACK)&&rs(t)?this.encodeAsBinary({type:t.type===$.EVENT?$.BINARY_EVENT:$.BINARY_ACK,nsp:t.nsp,data:t.data,id:t.id}):[this.encodeAsString(t)]}encodeAsString(t){let n=""+t.type;return(t.type===$.BINARY_EVENT||t.type===$.BINARY_ACK)&&(n+=t.attachments+"-"),t.nsp&&t.nsp!=="/"&&(n+=t.nsp+","),t.id!=null&&(n+=t.id),t.data!=null&&(n+=JSON.stringify(t.data,this.replacer)),n}encodeAsBinary(t){const n=Gm(t),r=this.encodeAsString(n.packet),s=n.buffers;return s.unshift(r),s}}function Ja(e){return Object.prototype.toString.call(e)==="[object Object]"}class Li extends re{constructor(t){super(),this.reviver=t}add(t){let n;if(typeof t=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");n=this.decodeString(t);const r=n.type===$.BINARY_EVENT;r||n.type===$.BINARY_ACK?(n.type=r?$.EVENT:$.ACK,this.reconstructor=new tg(n),n.attachments===0&&super.emitReserved("decoded",n)):super.emitReserved("decoded",n)}else if(Ri(t)||t.base64)if(this.reconstructor)n=this.reconstructor.takeBinaryData(t),n&&(this.reconstructor=null,super.emitReserved("decoded",n));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+t)}decodeString(t){let n=0;const r={type:Number(t.charAt(0))};if($[r.type]===void 0)throw new Error("unknown packet type "+r.type);if(r.type===$.BINARY_EVENT||r.type===$.BINARY_ACK){const l=n+1;for(;t.charAt(++n)!=="-"&&n!=t.length;);const i=t.substring(l,n);if(i!=Number(i)||t.charAt(n)!=="-")throw new Error("Illegal attachments");r.attachments=Number(i)}if(t.charAt(n+1)==="/"){const l=n+1;for(;++n&&!(t.charAt(n)===","||n===t.length););r.nsp=t.substring(l,n)}else r.nsp="/";const s=t.charAt(n+1);if(s!==""&&Number(s)==s){const l=n+1;for(;++n;){const i=t.charAt(n);if(i==null||Number(i)!=i){--n;break}if(n===t.length)break}r.id=Number(t.substring(l,n+1))}if(t.charAt(++n)){const l=this.tryParse(t.substr(n));if(Li.isPayloadValid(r.type,l))r.data=l;else throw new Error("invalid payload")}return r}tryParse(t){try{return JSON.parse(t,this.reviver)}catch{return!1}}static isPayloadValid(t,n){switch(t){case $.CONNECT:return Ja(n);case $.DISCONNECT:return n===void 0;case $.CONNECT_ERROR:return typeof n=="string"||Ja(n);case $.EVENT:case $.BINARY_EVENT:return Array.isArray(n)&&(typeof n[0]=="number"||typeof n[0]=="string"&&Jm.indexOf(n[0])===-1);case $.ACK:case $.BINARY_ACK:return Array.isArray(n)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class tg{constructor(t){this.packet=t,this.buffers=[],this.reconPack=t}takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.reconPack.attachments){const n=Xm(this.reconPack,this.buffers);return this.finishedReconstruction(),n}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const ng=Object.freeze(Object.defineProperty({__proto__:null,Decoder:Li,Encoder:eg,get PacketType(){return $},protocol:Zm},Symbol.toStringTag,{value:"Module"}));function Ue(e,t,n){return e.on(t,n),function(){e.off(t,n)}}const rg=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Ld extends re{constructor(t,n,r){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=t,this.nsp=n,r&&r.auth&&(this.auth=r.auth),this._opts=Object.assign({},r),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const t=this.io;this.subs=[Ue(t,"open",this.onopen.bind(this)),Ue(t,"packet",this.onpacket.bind(this)),Ue(t,"error",this.onerror.bind(this)),Ue(t,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...t){return t.unshift("message"),this.emit.apply(this,t),this}emit(t,...n){var r,s,l;if(rg.hasOwnProperty(t))throw new Error('"'+t.toString()+'" is a reserved event name');if(n.unshift(t),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(n),this;const i={type:$.EVENT,data:n};if(i.options={},i.options.compress=this.flags.compress!==!1,typeof n[n.length-1]=="function"){const y=this.ids++,p=n.pop();this._registerAckCallback(y,p),i.id=y}const a=(s=(r=this.io.engine)===null||r===void 0?void 0:r.transport)===null||s===void 0?void 0:s.writable,u=this.connected&&!(!((l=this.io.engine)===null||l===void 0)&&l._hasPingExpired());return this.flags.volatile&&!a||(u?(this.notifyOutgoingListeners(i),this.packet(i)):this.sendBuffer.push(i)),this.flags={},this}_registerAckCallback(t,n){var r;const s=(r=this.flags.timeout)!==null&&r!==void 0?r:this._opts.ackTimeout;if(s===void 0){this.acks[t]=n;return}const l=this.io.setTimeoutFn(()=>{delete this.acks[t];for(let a=0;a<this.sendBuffer.length;a++)this.sendBuffer[a].id===t&&this.sendBuffer.splice(a,1);n.call(this,new Error("operation has timed out"))},s),i=(...a)=>{this.io.clearTimeoutFn(l),n.apply(this,a)};i.withError=!0,this.acks[t]=i}emitWithAck(t,...n){return new Promise((r,s)=>{const l=(i,a)=>i?s(i):r(a);l.withError=!0,n.push(l),this.emit(t,...n)})}_addToQueue(t){let n;typeof t[t.length-1]=="function"&&(n=t.pop());const r={id:this._queueSeq++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push((s,...l)=>r!==this._queue[0]?void 0:(s!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(s)):(this._queue.shift(),n&&n(null,...l)),r.pending=!1,this._drainQueue())),this._queue.push(r),this._drainQueue()}_drainQueue(t=!1){if(!this.connected||this._queue.length===0)return;const n=this._queue[0];n.pending&&!t||(n.pending=!0,n.tryCount++,this.flags=n.flags,this.emit.apply(this,n.args))}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){typeof this.auth=="function"?this.auth(t=>{this._sendConnectPacket(t)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(t){this.packet({type:$.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},t):t})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,n){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,n),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(t=>{if(!this.sendBuffer.some(r=>String(r.id)===t)){const r=this.acks[t];delete this.acks[t],r.withError&&r.call(this,new Error("socket has been disconnected"))}})}onpacket(t){if(t.nsp===this.nsp)switch(t.type){case $.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case $.EVENT:case $.BINARY_EVENT:this.onevent(t);break;case $.ACK:case $.BINARY_ACK:this.onack(t);break;case $.DISCONNECT:this.ondisconnect();break;case $.CONNECT_ERROR:this.destroy();const r=new Error(t.data.message);r.data=t.data.data,this.emitReserved("connect_error",r);break}}onevent(t){const n=t.data||[];t.id!=null&&n.push(this.ack(t.id)),this.connected?this.emitEvent(n):this.receiveBuffer.push(Object.freeze(n))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const n=this._anyListeners.slice();for(const r of n)r.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&typeof t[t.length-1]=="string"&&(this._lastOffset=t[t.length-1])}ack(t){const n=this;let r=!1;return function(...s){r||(r=!0,n.packet({type:$.ACK,id:t,data:s}))}}onack(t){const n=this.acks[t.id];typeof n=="function"&&(delete this.acks[t.id],n.withError&&t.data.unshift(null),n.apply(this,t.data))}onconnect(t,n){this.id=t,this.recovered=n&&this._pid===n,this._pid=n,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.receiveBuffer=[],this.sendBuffer.forEach(t=>{this.notifyOutgoingListeners(t),this.packet(t)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:$.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const n=this._anyListeners;for(let r=0;r<n.length;r++)if(t===n[r])return n.splice(r,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(t){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(t),this}prependAnyOutgoing(t){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(t),this}offAnyOutgoing(t){if(!this._anyOutgoingListeners)return this;if(t){const n=this._anyOutgoingListeners;for(let r=0;r<n.length;r++)if(t===n[r])return n.splice(r,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(t){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const n=this._anyOutgoingListeners.slice();for(const r of n)r.apply(this,t.data)}}}function Pn(e){e=e||{},this.ms=e.min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}Pn.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=Math.floor(t*10)&1?e+n:e-n}return Math.min(e,this.max)|0};Pn.prototype.reset=function(){this.attempts=0};Pn.prototype.setMin=function(e){this.ms=e};Pn.prototype.setMax=function(e){this.max=e};Pn.prototype.setJitter=function(e){this.jitter=e};class Ro extends re{constructor(t,n){var r;super(),this.nsps={},this.subs=[],t&&typeof t=="object"&&(n=t,t=void 0),n=n||{},n.path=n.path||"/socket.io",this.opts=n,Js(this,n),this.reconnection(n.reconnection!==!1),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor((r=n.randomizationFactor)!==null&&r!==void 0?r:.5),this.backoff=new Pn({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const s=n.parser||ng;this.encoder=new s.Encoder,this.decoder=new s.Decoder,this._autoConnect=n.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,t||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(t){return t===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var n;return t===void 0?this._reconnectionDelay:(this._reconnectionDelay=t,(n=this.backoff)===null||n===void 0||n.setMin(t),this)}randomizationFactor(t){var n;return t===void 0?this._randomizationFactor:(this._randomizationFactor=t,(n=this.backoff)===null||n===void 0||n.setJitter(t),this)}reconnectionDelayMax(t){var n;return t===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,(n=this.backoff)===null||n===void 0||n.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new Vm(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const s=Ue(n,"open",function(){r.onopen(),t&&t()}),l=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),t?t(a):this.maybeReconnectOnOpen()},i=Ue(n,"error",l);if(this._timeout!==!1){const a=this._timeout,u=this.setTimeoutFn(()=>{s(),l(new Error("timeout")),n.close()},a);this.opts.autoUnref&&u.unref(),this.subs.push(()=>{this.clearTimeoutFn(u)})}return this.subs.push(s),this.subs.push(i),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(Ue(t,"ping",this.onping.bind(this)),Ue(t,"data",this.ondata.bind(this)),Ue(t,"error",this.onerror.bind(this)),Ue(t,"close",this.onclose.bind(this)),Ue(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(n){this.onclose("parse error",n)}}ondecoded(t){Xs(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,n){let r=this.nsps[t];return r?this._autoConnect&&!r.active&&r.connect():(r=new Ld(this,t,n),this.nsps[t]=r),r}_destroy(t){const n=Object.keys(this.nsps);for(const r of n)if(this.nsps[r].active)return;this._close()}_packet(t){const n=this.encoder.encode(t);for(let r=0;r<n.length;r++)this.engine.write(n[r],t.options)}cleanup(){this.subs.forEach(t=>t()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(t,n){var r;this.cleanup(),(r=this.engine)===null||r===void 0||r.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,n),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const n=this.backoff.duration();this._reconnecting=!0;const r=this.setTimeoutFn(()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),!t.skipReconnect&&t.open(s=>{s?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",s)):t.onreconnect()}))},n);this.opts.autoUnref&&r.unref(),this.subs.push(()=>{this.clearTimeoutFn(r)})}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const Bn={};function ss(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=Wm(e,t.path||"/socket.io"),r=n.source,s=n.id,l=n.path,i=Bn[s]&&l in Bn[s].nsps,a=t.forceNew||t["force new connection"]||t.multiplex===!1||i;let u;return a?u=new Ro(r,t):(Bn[s]||(Bn[s]=new Ro(r,t)),u=Bn[s]),n.query&&!t.query&&(t.query=n.queryKey),u.socket(n.path,t)}Object.assign(ss,{Manager:Ro,Socket:Ld,io:ss,connect:ss});const sg=e=>{const t=L.useRef(null),n=L.useRef(null),{setConnected:r,setSystemStatus:s,addEvent:l,addServerLog:i}=vr(),{loadConfig:a}=Ve();L.useEffect(()=>{n.current=i},[i]);const u=p=>{console.log("[WebSocket] Updating server status only:",p);const{setServers:c}=Ve.getState();c(p)};L.useEffect(()=>{t.current=ss(e,{transports:["websocket"],autoConnect:!0});const p=t.current;return p.on("connect",()=>{console.log("WebSocket 已连接"),r(!0),p.emit("request-status")}),p.on("disconnect",()=>{console.log("WebSocket 已断开"),r(!1)}),p.on("status-update",c=>{console.log("[WebSocket] Status update received:",c),s(c),console.log("[WebSocket] setSystemStatus called with:",c)}),p.on("config-changed",c=>{console.log("[WebSocket] Config changed event received:",c),!c.context||c.context.changeType!=="server-toggle"?a().then(()=>{console.log("[WebSocket] Config reloaded successfully after config-changed event")}).catch(w=>{console.error("[WebSocket] Failed to reload config after config-changed event:",w)}):console.log("[WebSocket] Skipping config reload for server toggle to avoid page flicker"),p.emit("request-status"),l({type:"config-changed",data:c,timestamp:new Date().toISOString()})}),p.on("server-updated",c=>{console.log("[WebSocket] Server updated event received:",c),l({type:"server-updated",data:c,timestamp:c.timestamp||new Date().toISOString()})}),p.on("server-started",()=>{console.log("[WebSocket] Server started event received"),p.emit("request-status")}),p.on("server-stopped",()=>{console.log("[WebSocket] Server stopped event received"),p.emit("request-status")}),p.on("routes-updated",c=>{console.log("[WebSocket] Routes updated event received:",c),c.isReconnection||p.emit("request-status"),l({type:"routes-updated",data:c,timestamp:new Date().toISOString()})}),p.on("tool-called",c=>{console.log("工具调用:",c),l({type:"tool-called",data:c,timestamp:c.timestamp||new Date().toISOString()})}),p.on("server-status-changed",c=>{if(console.log("[WebSocket] Server status changed event received:",c),c.systemStatus){console.log("[WebSocket] Using embedded system status from server-status-changed event");const{servers:w}=c.systemStatus;w&&!c.event?u(w):s(c.systemStatus)}if(c.event==="server-connected"||c.event==="server-enabled"){if(console.log("[WebSocket] Server enabled/connected, updating state smoothly"),c.event==="server-enabled"){console.log("[WebSocket] Server enabled, waiting for connection event");return}if(c.event==="server-connected"&&(console.log("[WebSocket] Server connected, updating tool state"),c.systemStatus&&c.systemStatus.servers)){const{servers:w}=c.systemStatus,v=w.find(N=>N.name===c.serverName);if(v){console.log("[WebSocket] Updating server state for connected server:",v.name);const{setServers:N}=Ve.getState(),g=Ve.getState().servers.map(d=>d.name===v.name?{...d,connected:v.connected,toolCount:v.toolCount,enabledToolCount:v.enabledToolCount,tools:d.tools||[]}:d);N(g),console.log("[WebSocket] Server state updated smoothly without loadConfig")}}}l({type:c.event,data:c.originalData,timestamp:c.timestamp})}),p.on("server-connected",c=>{console.log("[WebSocket] Legacy server connected event received:",c),setTimeout(()=>{console.log("[WebSocket] Requesting delayed status update after server connection"),p.emit("request-status")},500),setTimeout(()=>{console.log("[WebSocket] Requesting second delayed status update after server connection"),p.emit("request-status")},1500),l({type:"server-connected",data:c,timestamp:c.timestamp||new Date().toISOString()})}),p.on("server-disconnected",c=>{console.log("[WebSocket] Server disconnected event received:",c),p.emit("request-status"),l({type:"server-disconnected",data:c,timestamp:c.timestamp||new Date().toISOString()})}),p.on("server-error",c=>{console.log("[WebSocket] Server error event received:",c),l({type:"server-error",data:c,timestamp:c.timestamp||new Date().toISOString()})}),p.on("error",c=>{console.error("WebSocket 错误:",c),l({type:"error",data:c,timestamp:c.timestamp||new Date().toISOString()})}),p.on("server-log",c=>{n.current&&n.current(c)}),p.on("enhanced-log-added",c=>{console.log("[WebSocket] Enhanced log received:",c),n.current&&!c.logEntry.message.startsWith("Received: {")&&!c.logEntry.message.match(/^\{.*\}$/)&&n.current({serverName:c.serverName,stream:c.logEntry.source||"system",data:`[${c.logEntry.level.toUpperCase()}] ${c.logEntry.message}`,timestamp:c.logEntry.timestamp})}),p.on("server-log-error",c=>{console.log("[WebSocket] Server log error:",c),l({type:"server-error",data:c,timestamp:c.timestamp||new Date().toISOString()})}),p.on("server-connection-status",c=>{console.log("[WebSocket] Server connection status changed:",c),l({type:c.isConnected?"server-connected":"server-disconnected",data:c,timestamp:new Date().toISOString()})}),()=>{p&&p.disconnect()}},[e,r,s,l,a]);const h=p=>{var c;(c=t.current)!=null&&c.connected&&(console.log(`[WebSocket] Manually refreshing tools for server: ${p||"all servers"}`),t.current.emit("request-status"))},y=()=>{var p;(p=t.current)!=null&&p.connected&&t.current.emit("request-status")};return{socket:t.current,requestStatus:y,refreshServerTools:h}},Od=L.createContext(void 0);function Rl({children:e}){const[t,n]=L.useState(()=>{if(typeof window<"u"){const l=localStorage.getItem("mcpdog-theme");if(l==="light"||l==="dark")return l}return"dark"});L.useEffect(()=>{document.documentElement.setAttribute("data-theme",t),localStorage.setItem("mcpdog-theme",t)},[t]);const s={theme:t,toggleTheme:()=>{n(l=>l==="light"?"dark":"light")},setTheme:n};return o.jsx(Od.Provider,{value:s,children:e})}function lg(){const e=L.useContext(Od);if(e===void 0)throw new Error("useTheme must be used within a ThemeProvider");return e}const og=({className:e=""})=>{const{theme:t,toggleTheme:n}=lg();return o.jsx("button",{onClick:n,className:`btn btn-ghost btn-sm btn-circle ${e}`,title:t==="light"?"切换到深色模式":"切换到浅色模式",children:t==="light"?o.jsx(Sp,{className:"h-4 w-4"}):o.jsx(jp,{className:"h-4 w-4"})})},ig="https://github.com/lzm04521/Agent-Dog",ag=()=>{const[e,t]=L.useState(""),[n,r]=L.useState("");return L.useEffect(()=>{V.get("/api/system/info").then(s=>{s!=null&&s.version&&t(String(s.version)),s!=null&&s.configPath&&r(String(s.configPath))}).catch(()=>{})},[]),o.jsxs("header",{className:"sticky top-0 z-10 flex h-16 items-center justify-between px-4 sm:px-6",style:{background:"linear-gradient(135deg, #1677ff 0%, #4096ff 50%, #69b1ff 100%)",boxShadow:"0 2px 8px rgba(22,119,255,0.25)"},children:[o.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[o.jsx("span",{className:"shrink-0 text-lg font-bold tracking-wide text-white",children:"MCPDog 管理控制台"}),n&&o.jsxs("span",{className:"hidden rounded-full border border-white/30 bg-white/20 px-2.5 py-0.5 text-xs leading-5 text-white md:inline-block",title:n,children:["配置文件: ",n]})]}),o.jsxs("div",{className:"flex shrink-0 items-center gap-3",children:[e&&o.jsxs("span",{className:"rounded-full border border-white/30 bg-white/20 px-2.5 py-0.5 text-xs leading-5 text-white",children:["v",e]}),o.jsx(og,{className:"!text-white"}),o.jsx("a",{href:ig,target:"_blank",rel:"noreferrer",title:"GitHub 仓库",className:"btn btn-ghost btn-sm btn-circle !text-white",children:o.jsx(yp,{className:"h-5 w-5"})})]})]})};function ug(){const{connected:e}=vr(),{setAuthState:t}=Ve(),[n,r]=L.useState("mcp"),[s,l]=L.useState({loading:!0,authenticated:!1,required:!1}),{refreshServerTools:i}=sg(window.location.origin);L.useEffect(()=>{a()},[]);const a=async()=>{try{const y=await V.checkAuthStatus();l({loading:!1,authenticated:y.authenticated,required:y.required}),t(y.required,y.authenticated?localStorage.getItem("mcpdog_token"):null)}catch(y){console.error("认证状态检查失败:",y),l({loading:!1,authenticated:!1,required:!1}),t(!1,null)}},u=async y=>{try{await V.login(y),l(p=>({...p,authenticated:!0})),t(!0,y)}catch(p){throw p}},h=()=>{V.logout(),l(y=>({...y,authenticated:!1})),t(!0,null)};return s.loading?o.jsx(Rl,{children:o.jsx("div",{className:"min-h-screen bg-base-100 flex items-center justify-center",children:o.jsxs("div",{className:"text-center",children:[o.jsx("span",{className:"loading loading-spinner loading-lg text-primary"}),o.jsx("p",{className:"mt-2 text-base-content",children:"加载中..."})]})})}):s.required&&!s.authenticated?o.jsx(Rl,{children:o.jsx(cg,{onLogin:u})}):o.jsx(Rl,{children:o.jsxs("div",{className:"h-screen overflow-hidden bg-base-100 flex flex-col",children:[o.jsx(ag,{}),o.jsx("div",{className:"px-4 sm:px-6 pt-4",children:o.jsxs("div",{role:"tablist",className:"tabs tabs-boxed tabs-sm w-fit",children:[o.jsx("button",{role:"tab",className:`tab ${n==="mcp"?"tab-active":""}`,onClick:()=>r("mcp"),children:"MCP 服务器"}),o.jsx("button",{role:"tab",className:`tab ${n==="ai"?"tab-active":""}`,onClick:()=>r("ai"),children:"AI 供应商"})]})}),o.jsxs("main",{className:"flex-1 overflow-hidden w-full px-4 sm:px-6 py-8",children:[!e&&o.jsx("div",{className:"alert alert-warning mb-8",children:o.jsxs("div",{className:"flex items-center",children:[o.jsx("div",{className:"flex-shrink-0",children:o.jsx("svg",{className:"h-5 w-5 text-yellow-400 dark:text-yellow-300",viewBox:"0 0 20 20",fill:"currentColor",children:o.jsx("path",{fillRule:"evenodd",d:"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",clipRule:"evenodd"})})}),o.jsxs("div",{className:"ml-3",children:[o.jsx("h3",{className:"text-sm font-medium",children:"连接已断开"}),o.jsx("div",{className:"mt-1 text-sm",children:o.jsx("p",{children:"无法连接到 MCPDog 服务器。请确认服务器正在运行,并检查网络连接。"})})]})]})}),o.jsx("div",{className:"h-full",children:n==="mcp"?o.jsx(sm,{refreshServerTools:i,onLogout:s.required?h:void 0}):o.jsx("div",{className:"h-full overflow-y-auto",children:o.jsx(cm,{})})})]})]})})}function cg({onLogin:e}){const[t,n]=L.useState(""),[r,s]=L.useState(!1),[l,i]=L.useState(""),a=async u=>{if(u.preventDefault(),!t.trim()){i("请输入访问令牌");return}s(!0),i("");try{await e(t.trim())}catch(h){i(h.message||"登录失败")}finally{s(!1)}};return o.jsx("div",{className:"min-h-screen bg-base-100 flex items-center justify-center py-12 px-4 sm:px-6 lg:px-8",children:o.jsxs("div",{className:"max-w-md w-full space-y-8",children:[o.jsxs("div",{className:"text-center",children:[o.jsx("h2",{className:"mt-6 text-3xl font-extrabold text-base-content",children:"MCPDog 身份验证"}),o.jsx("p",{className:"mt-2 text-sm text-base-content/70",children:"请输入你的身份验证令牌以继续"})]}),o.jsxs("form",{className:"mt-8 space-y-6",onSubmit:a,children:[o.jsxs("div",{children:[o.jsx("label",{htmlFor:"token",className:"sr-only",children:"身份验证令牌"}),o.jsx("input",{id:"token",name:"token",type:"password",required:!0,className:"input input-bordered w-full",placeholder:"请输入身份验证令牌",value:t,onChange:u=>n(u.target.value),disabled:r})]}),l&&o.jsx("div",{className:"alert alert-error",children:l}),o.jsx("div",{children:o.jsx("button",{type:"submit",disabled:r,className:"btn btn-primary w-full",children:r?o.jsxs("div",{className:"flex items-center",children:[o.jsx("span",{className:"loading loading-spinner loading-sm mr-2"}),"登录中..."]}):"登录"})})]})]})})}Ll.createRoot(document.getElementById("root")).render(o.jsx(zo.StrictMode,{children:o.jsx(ug,{})}));
92
+ //# sourceMappingURL=index-VMXIgcOH.js.map