agentstudio 0.4.2 → 0.4.3

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 (280) hide show
  1. package/config/engineConfig.d.ts +15 -0
  2. package/config/engineConfig.d.ts.map +1 -1
  3. package/config/engineConfig.js +30 -0
  4. package/config/engineConfig.js.map +1 -1
  5. package/config/index.d.ts.map +1 -1
  6. package/config/index.js +14 -0
  7. package/config/index.js.map +1 -1
  8. package/config/paths.d.ts +5 -0
  9. package/config/paths.d.ts.map +1 -1
  10. package/config/paths.js +6 -1
  11. package/config/paths.js.map +1 -1
  12. package/engines/claude/__tests__/supportedModels.test.d.ts +6 -4
  13. package/engines/claude/__tests__/supportedModels.test.d.ts.map +1 -1
  14. package/engines/claude/__tests__/supportedModels.test.js +55 -13
  15. package/engines/claude/__tests__/supportedModels.test.js.map +1 -1
  16. package/engines/claude/aguiAdapter.d.ts.map +1 -1
  17. package/engines/claude/aguiAdapter.js +8 -0
  18. package/engines/claude/aguiAdapter.js.map +1 -1
  19. package/engines/claude/claudeEngine.d.ts +36 -3
  20. package/engines/claude/claudeEngine.d.ts.map +1 -1
  21. package/engines/claude/claudeEngine.js +132 -13
  22. package/engines/claude/claudeEngine.js.map +1 -1
  23. package/index.d.ts.map +1 -1
  24. package/index.js +29 -2
  25. package/index.js.map +1 -1
  26. package/middleware/callChain.d.ts +10 -0
  27. package/middleware/callChain.d.ts.map +1 -0
  28. package/middleware/callChain.js +24 -0
  29. package/middleware/callChain.js.map +1 -0
  30. package/middleware/requestId.d.ts +8 -0
  31. package/middleware/requestId.d.ts.map +1 -0
  32. package/middleware/requestId.js +18 -0
  33. package/middleware/requestId.js.map +1 -0
  34. package/package.json +1 -1
  35. package/prompts/gameDevSystemPrompt.d.ts +15 -0
  36. package/prompts/gameDevSystemPrompt.d.ts.map +1 -0
  37. package/prompts/gameDevSystemPrompt.js +37 -0
  38. package/prompts/gameDevSystemPrompt.js.map +1 -0
  39. package/prompts/vibeGamingPrompt.d.ts +13 -0
  40. package/prompts/vibeGamingPrompt.d.ts.map +1 -0
  41. package/prompts/vibeGamingPrompt.js +125 -0
  42. package/prompts/vibeGamingPrompt.js.map +1 -0
  43. package/public/assets/{AgentsPage-BsZdkqzM.js → AgentsPage-CHee5mUh.js} +1 -1
  44. package/public/assets/{Button-CMTSYiKV.js → Button-D5qiS7CR.js} +1 -1
  45. package/public/assets/ChatPage-B7-rn9mH.js +478 -0
  46. package/public/assets/{CommandForm-DwGvE9A_.js → CommandForm-CMfgHNm5.js} +1 -1
  47. package/public/assets/{CommandsPage-qDWzq8xp.js → CommandsPage-B4rjtVWk.js} +1 -1
  48. package/public/assets/{CursorConfigPage-DpUdJzRi.js → CursorConfigPage-DQ-3b3ti.js} +1 -1
  49. package/public/assets/{DashboardPage-BhqKOzob.js → DashboardPage-BowdW2Xj.js} +1 -1
  50. package/public/assets/{EngineGate-BjHJu955.js → EngineGate-DYNvEEbW.js} +1 -1
  51. package/public/assets/{FileBrowser-DboOOM_v.js → FileBrowser-DHyCacM6.js} +1 -1
  52. package/public/assets/{FileExplorer-x5R0Tcmk.js → FileExplorer-BprfeAH_.js} +1 -1
  53. package/public/assets/GeneralSettingsPage-C6hJ_zTw.js +1 -0
  54. package/public/assets/{HooksPage-DDGc0GGV.js → HooksPage-BwE2Zm3X.js} +1 -1
  55. package/public/assets/{LandingPage-CvY4n9Rh.js → LandingPage-DKvwbGX1.js} +1 -1
  56. package/public/assets/{LoginPage-C-PZfjYC.js → LoginPage-BpZhqRAN.js} +1 -1
  57. package/public/assets/{McpAdminSettingsPage-CIILVzB8.js → McpAdminSettingsPage-DuvsM5TX.js} +1 -1
  58. package/public/assets/{McpPage-B4nQUJag.js → McpPage-Hu8vyMhX.js} +1 -1
  59. package/public/assets/{MemorySettingsPage-eu6tsuUh.js → MemorySettingsPage-gIWSsrES.js} +1 -1
  60. package/public/assets/{ModelsPage-Bb5vSsuc.js → ModelsPage-Cosb3hHI.js} +1 -1
  61. package/public/assets/PluginsPage-CuNui9NV.js +12 -0
  62. package/public/assets/{ProjectSelector-CybrDbBY.js → ProjectSelector-CyBlHb2H.js} +1 -1
  63. package/public/assets/{ProjectsPage-DRl-0B4G.js → ProjectsPage-DYhCvH07.js} +1 -1
  64. package/public/assets/{RulesPage-DUt33RkX.js → RulesPage-C32P_Aqz.js} +1 -1
  65. package/public/assets/{ScheduledTasksPage-CTDYYRIN.js → ScheduledTasksPage-ixn5qoiD.js} +1 -1
  66. package/public/assets/SettingsLayout-C_7jR0Te.js +1 -0
  67. package/public/assets/{SkillsPage-Lzw8I9vR.js → SkillsPage-C-WS4N1Y.js} +1 -1
  68. package/public/assets/{SubagentForm-BzzeWg0W.js → SubagentForm-BbxljQUp.js} +1 -1
  69. package/public/assets/{SubagentsPage-bX2XWdJ0.js → SubagentsPage-D66TBaeN.js} +1 -1
  70. package/public/assets/{SystemInfoPage-nEIQbtwG.js → SystemInfoPage-DXVUncTe.js} +1 -1
  71. package/public/assets/{TelemetrySettingsPage-q167I4G9.js → TelemetrySettingsPage-Cp3vOu7X.js} +1 -1
  72. package/public/assets/{ToastTestPage-j224d3QR.js → ToastTestPage-03up9yZR.js} +1 -1
  73. package/public/assets/{ToolsList-CTsQr53G.js → ToolsList-BZFBEuvQ.js} +1 -1
  74. package/public/assets/UnifiedToolSelector-DJN7ASu1.js +1 -0
  75. package/public/assets/{VersionSettingsPage-BwpwiLyl.js → VersionSettingsPage-DppWaX--.js} +1 -1
  76. package/public/assets/{VoiceSettingsPage-d3l9AWBn.js → VoiceSettingsPage-BWJLeedX.js} +1 -1
  77. package/public/assets/{WebSocketTunnelPage-BqEUE7mr.js → WebSocketTunnelPage-BPeSTgEZ.js} +1 -1
  78. package/public/assets/{_basePickBy-DHabY031.js → _basePickBy-0UeYrifO.js} +1 -1
  79. package/public/assets/{_baseUniq-B1lmu3qr.js → _baseUniq-Q0NUbuSr.js} +1 -1
  80. package/public/assets/{agents-KlPdWQ8K.js → agents-DR9EZMs5.js} +1 -1
  81. package/public/assets/{arc-6sRLTBcr.js → arc-BV8erW1-.js} +1 -1
  82. package/public/assets/{architectureDiagram-VXUJARFQ-kwdTmjuB.js → architectureDiagram-VXUJARFQ-BIodTu6s.js} +1 -1
  83. package/public/assets/{blockDiagram-VD42YOAC-CYO9EYkJ.js → blockDiagram-VD42YOAC-4H3KjsGf.js} +1 -1
  84. package/public/assets/{c4Diagram-YG6GDRKO-gAp3--Ee.js → c4Diagram-YG6GDRKO-J2ovCYEr.js} +1 -1
  85. package/public/assets/channel-gveiJv4S.js +1 -0
  86. package/public/assets/{chunk-4BX2VUAB-DQVsL-J6.js → chunk-4BX2VUAB-D7Mc44O6.js} +1 -1
  87. package/public/assets/{chunk-55IACEB6-DVsfnY5X.js → chunk-55IACEB6-CMASo37Z.js} +1 -1
  88. package/public/assets/{chunk-B4BG7PRW-BNmOvuIn.js → chunk-B4BG7PRW-2T3W2IB6.js} +1 -1
  89. package/public/assets/{chunk-DI55MBZ5-BkucWe8Y.js → chunk-DI55MBZ5-FR9qswmO.js} +1 -1
  90. package/public/assets/{chunk-FMBD7UC4-BsvfEdnB.js → chunk-FMBD7UC4-Bz2LO9q3.js} +1 -1
  91. package/public/assets/{chunk-QN33PNHL-DSecsNtM.js → chunk-QN33PNHL-D7mfK9Pm.js} +1 -1
  92. package/public/assets/{chunk-QZHKN3VN-DhvrZSqy.js → chunk-QZHKN3VN-AkuNbqQU.js} +1 -1
  93. package/public/assets/{chunk-TZMSLE5B-BqQ674GC.js → chunk-TZMSLE5B-DtY3rhWy.js} +1 -1
  94. package/public/assets/classDiagram-2ON5EDUG-f-lJUj27.js +1 -0
  95. package/public/assets/classDiagram-v2-WZHVMYZB-f-lJUj27.js +1 -0
  96. package/public/assets/clone-D5-Tsf9e.js +1 -0
  97. package/public/assets/{cose-bilkent-S5V4N54A-D9ZC6LmB.js → cose-bilkent-S5V4N54A-BuEw-qDX.js} +1 -1
  98. package/public/assets/{dagre-6UL2VRFP-s7YD2ZcY.js → dagre-6UL2VRFP-D-NrLBGh.js} +1 -1
  99. package/public/assets/{diagram-PSM6KHXK-C7jhP5tx.js → diagram-PSM6KHXK-BFjWOHNz.js} +1 -1
  100. package/public/assets/{diagram-QEK2KX5R-B348GmS1.js → diagram-QEK2KX5R-C0YlDb8t.js} +1 -1
  101. package/public/assets/{diagram-S2PKOQOG-Cu-zjwc9.js → diagram-S2PKOQOG-BLKbR12g.js} +1 -1
  102. package/public/assets/{erDiagram-Q2GNP2WA-tM4HKBpy.js → erDiagram-Q2GNP2WA-Cov6xnUk.js} +1 -1
  103. package/public/assets/{flowDiagram-NV44I4VS-DjCIshpi.js → flowDiagram-NV44I4VS-DTMKSJI1.js} +1 -1
  104. package/public/assets/{ganttDiagram-LVOFAZNH-Q6plkI5G.js → ganttDiagram-LVOFAZNH-DR0bcfHY.js} +1 -1
  105. package/public/assets/{gitGraphDiagram-NY62KEGX-B3Uw90Yt.js → gitGraphDiagram-NY62KEGX-CvxYSabY.js} +1 -1
  106. package/public/assets/{graph-Bp0jlxBT.js → graph-BYXvelIL.js} +1 -1
  107. package/public/assets/{index-f67nhEoX.js → index-BIGPvi1D.js} +44 -44
  108. package/public/assets/infoDiagram-F6ZHWCRC-CL9g-UgS.js +2 -0
  109. package/public/assets/{journeyDiagram-XKPGCS4Q-CgQogtHU.js → journeyDiagram-XKPGCS4Q-Df8G0pW8.js} +1 -1
  110. package/public/assets/{kanban-definition-3W4ZIXB7-Cv7kVxyy.js → kanban-definition-3W4ZIXB7-DhoP7TG_.js} +1 -1
  111. package/public/assets/{layout-6bkH32V1.js → layout-CgO4Vp_y.js} +1 -1
  112. package/public/assets/{linear-DWoZ6Tbm.js → linear-CaY74pOB.js} +1 -1
  113. package/public/assets/{mindmap-definition-VGOIOE7T-D5wd9HsH.js → mindmap-definition-VGOIOE7T-CVK2y0WQ.js} +1 -1
  114. package/public/assets/{pieDiagram-ADFJNKIX-8vPxErLm.js → pieDiagram-ADFJNKIX-BQt_waQk.js} +1 -1
  115. package/public/assets/{quadrantDiagram-AYHSOK5B-Pn0NZ9k7.js → quadrantDiagram-AYHSOK5B-DvLFoDeH.js} +1 -1
  116. package/public/assets/{requirementDiagram-UZGBJVZJ-C7u8MiN1.js → requirementDiagram-UZGBJVZJ-C4lqjEUP.js} +1 -1
  117. package/public/assets/{sankeyDiagram-TZEHDZUN-C660O4mw.js → sankeyDiagram-TZEHDZUN-BKIDyl6M.js} +1 -1
  118. package/public/assets/{sequenceDiagram-WL72ISMW-pXBA2_3B.js → sequenceDiagram-WL72ISMW-BeyhJ61U.js} +1 -1
  119. package/public/assets/{stateDiagram-FKZM4ZOC-CxZMM1Lf.js → stateDiagram-FKZM4ZOC-CKyn6eKl.js} +1 -1
  120. package/public/assets/stateDiagram-v2-4FDKWEC3-DogBVcJE.js +1 -0
  121. package/public/assets/{table-Clz57edU.js → table-BgVewkB5.js} +1 -1
  122. package/public/assets/{timeline-definition-IT6M3QCI-Crg44TaP.js → timeline-definition-IT6M3QCI-Cm5SIAmT.js} +1 -1
  123. package/public/assets/tools-crrPnehB.js +1 -0
  124. package/public/assets/{treemap-KMMF4GRG-bFxwBWXw.js → treemap-KMMF4GRG-CUMeoVWM.js} +1 -1
  125. package/public/assets/{ui-components-DjgDPiqV.js → ui-components-D1pZO0y-.js} +1 -1
  126. package/public/assets/{useAgents-8KXN6U61.js → useAgents-M4lcWvy0.js} +1 -1
  127. package/public/assets/{useClaudeVersions-DicHLV6A.js → useClaudeVersions-CKT_fq1t.js} +1 -1
  128. package/public/assets/{useCommands-DbSH48ba.js → useCommands-vaoVPEDI.js} +1 -1
  129. package/public/assets/{useProjects-Bbh6hJMM.js → useProjects-D1ElB-WS.js} +1 -1
  130. package/public/assets/{useSessions-DOa4-xiB.js → useSessions-Dp1kUl43.js} +1 -1
  131. package/public/assets/{xychartDiagram-PRI3JC2R-DG3KmjD-.js → xychartDiagram-PRI3JC2R-Cy-SHDyX.js} +1 -1
  132. package/public/index.html +4 -4
  133. package/routes/a2a.d.ts.map +1 -1
  134. package/routes/a2a.js +27 -7
  135. package/routes/a2a.js.map +1 -1
  136. package/routes/agents.d.ts.map +1 -1
  137. package/routes/agents.js +234 -38
  138. package/routes/agents.js.map +1 -1
  139. package/routes/agui.d.ts.map +1 -1
  140. package/routes/agui.js +44 -1
  141. package/routes/agui.js.map +1 -1
  142. package/routes/gitVersions.d.ts.map +1 -1
  143. package/routes/gitVersions.js +80 -1
  144. package/routes/gitVersions.js.map +1 -1
  145. package/routes/marketplaceSkills.d.ts +18 -0
  146. package/routes/marketplaceSkills.d.ts.map +1 -0
  147. package/routes/marketplaceSkills.js +190 -0
  148. package/routes/marketplaceSkills.js.map +1 -0
  149. package/routes/plugins.d.ts.map +1 -1
  150. package/routes/plugins.js +48 -7
  151. package/routes/plugins.js.map +1 -1
  152. package/routes/projects.d.ts.map +1 -1
  153. package/routes/projects.js +34 -0
  154. package/routes/projects.js.map +1 -1
  155. package/schemas/a2a.d.ts +35 -4
  156. package/schemas/a2a.d.ts.map +1 -1
  157. package/schemas/a2a.js +9 -1
  158. package/schemas/a2a.js.map +1 -1
  159. package/services/__tests__/agentImporter.test.js +197 -0
  160. package/services/__tests__/agentImporter.test.js.map +1 -1
  161. package/services/__tests__/pluginInstaller.test.js +2 -1
  162. package/services/__tests__/pluginInstaller.test.js.map +1 -1
  163. package/services/agentImporter.d.ts +7 -0
  164. package/services/agentImporter.d.ts.map +1 -1
  165. package/services/agentImporter.js +57 -4
  166. package/services/agentImporter.js.map +1 -1
  167. package/services/builtinMarketplaceService.d.ts +56 -0
  168. package/services/builtinMarketplaceService.d.ts.map +1 -0
  169. package/services/builtinMarketplaceService.js +328 -0
  170. package/services/builtinMarketplaceService.js.map +1 -0
  171. package/services/claudeSession.d.ts.map +1 -1
  172. package/services/claudeSession.js +15 -4
  173. package/services/claudeSession.js.map +1 -1
  174. package/services/claudeVersionStorage.js +6 -6
  175. package/services/claudeVersionStorage.js.map +1 -1
  176. package/services/gitVersionService.d.ts +22 -0
  177. package/services/gitVersionService.d.ts.map +1 -1
  178. package/services/gitVersionService.js +117 -19
  179. package/services/gitVersionService.js.map +1 -1
  180. package/services/marketplaceSkillService.d.ts +129 -0
  181. package/services/marketplaceSkillService.d.ts.map +1 -0
  182. package/services/marketplaceSkillService.js +358 -0
  183. package/services/marketplaceSkillService.js.map +1 -0
  184. package/services/marketplaceUpdateService.d.ts.map +1 -1
  185. package/services/marketplaceUpdateService.js +29 -2
  186. package/services/marketplaceUpdateService.js.map +1 -1
  187. package/services/pluginCopyInstall.d.ts +60 -0
  188. package/services/pluginCopyInstall.d.ts.map +1 -0
  189. package/services/pluginCopyInstall.js +290 -0
  190. package/services/pluginCopyInstall.js.map +1 -0
  191. package/services/pluginInstallStrategy.d.ts +39 -0
  192. package/services/pluginInstallStrategy.d.ts.map +1 -0
  193. package/services/pluginInstallStrategy.js +50 -0
  194. package/services/pluginInstallStrategy.js.map +1 -0
  195. package/services/pluginInstaller.d.ts +10 -0
  196. package/services/pluginInstaller.d.ts.map +1 -1
  197. package/services/pluginInstaller.js +70 -20
  198. package/services/pluginInstaller.js.map +1 -1
  199. package/services/pluginParser.d.ts +17 -1
  200. package/services/pluginParser.d.ts.map +1 -1
  201. package/services/pluginParser.js +161 -84
  202. package/services/pluginParser.js.map +1 -1
  203. package/services/pluginPaths.d.ts +3 -3
  204. package/services/pluginPaths.d.ts.map +1 -1
  205. package/services/pluginPaths.js +33 -14
  206. package/services/pluginPaths.js.map +1 -1
  207. package/services/pluginScanner.js +2 -2
  208. package/services/pluginScanner.js.map +1 -1
  209. package/services/pluginSymlink.d.ts +10 -0
  210. package/services/pluginSymlink.d.ts.map +1 -1
  211. package/services/pluginSymlink.js +117 -1
  212. package/services/pluginSymlink.js.map +1 -1
  213. package/services/preSendGuard/__tests__/preSendGuard.test.d.ts +2 -0
  214. package/services/preSendGuard/__tests__/preSendGuard.test.d.ts.map +1 -0
  215. package/services/preSendGuard/__tests__/preSendGuard.test.js +102 -0
  216. package/services/preSendGuard/__tests__/preSendGuard.test.js.map +1 -0
  217. package/services/preSendGuard/configResolver.d.ts +8 -0
  218. package/services/preSendGuard/configResolver.d.ts.map +1 -0
  219. package/services/preSendGuard/configResolver.js +181 -0
  220. package/services/preSendGuard/configResolver.js.map +1 -0
  221. package/services/preSendGuard/index.d.ts +9 -0
  222. package/services/preSendGuard/index.d.ts.map +1 -0
  223. package/services/preSendGuard/index.js +165 -0
  224. package/services/preSendGuard/index.js.map +1 -0
  225. package/services/preSendGuard/providers/httpAuditProvider.d.ts +3 -0
  226. package/services/preSendGuard/providers/httpAuditProvider.d.ts.map +1 -0
  227. package/services/preSendGuard/providers/httpAuditProvider.js +98 -0
  228. package/services/preSendGuard/providers/httpAuditProvider.js.map +1 -0
  229. package/services/preSendGuard/providers/noopProvider.d.ts +3 -0
  230. package/services/preSendGuard/providers/noopProvider.d.ts.map +1 -0
  231. package/services/preSendGuard/providers/noopProvider.js +13 -0
  232. package/services/preSendGuard/providers/noopProvider.js.map +1 -0
  233. package/services/runFinishedHooks.d.ts +29 -0
  234. package/services/runFinishedHooks.d.ts.map +1 -0
  235. package/services/runFinishedHooks.js +57 -0
  236. package/services/runFinishedHooks.js.map +1 -0
  237. package/testing/index.d.ts +18 -0
  238. package/testing/index.d.ts.map +1 -0
  239. package/testing/index.js +25 -0
  240. package/testing/index.js.map +1 -0
  241. package/testing/mockSdkQuery.d.ts +49 -0
  242. package/testing/mockSdkQuery.d.ts.map +1 -0
  243. package/testing/mockSdkQuery.js +209 -0
  244. package/testing/mockSdkQuery.js.map +1 -0
  245. package/testing/scenarioLoader.d.ts +71 -0
  246. package/testing/scenarioLoader.d.ts.map +1 -0
  247. package/testing/scenarioLoader.js +224 -0
  248. package/testing/scenarioLoader.js.map +1 -0
  249. package/types/a2a.d.ts +5 -0
  250. package/types/a2a.d.ts.map +1 -1
  251. package/types/agents.d.ts +32 -0
  252. package/types/agents.d.ts.map +1 -1
  253. package/types/agents.js +1 -0
  254. package/types/agents.js.map +1 -1
  255. package/types/engine.d.ts +6 -0
  256. package/types/engine.d.ts.map +1 -1
  257. package/types/plugins.d.ts +12 -2
  258. package/types/plugins.d.ts.map +1 -1
  259. package/types/preSendGuard.d.ts +51 -0
  260. package/types/preSendGuard.d.ts.map +1 -0
  261. package/types/preSendGuard.js +3 -0
  262. package/types/preSendGuard.js.map +1 -0
  263. package/utils/__tests__/claudeUtils.test.js +89 -1
  264. package/utils/__tests__/claudeUtils.test.js.map +1 -1
  265. package/utils/claudeUtils.d.ts +1 -1
  266. package/utils/claudeUtils.d.ts.map +1 -1
  267. package/utils/claudeUtils.js +92 -37
  268. package/utils/claudeUtils.js.map +1 -1
  269. package/public/assets/ChatPage-D8buVhfb.js +0 -478
  270. package/public/assets/GeneralSettingsPage-DYdwai51.js +0 -1
  271. package/public/assets/PluginsPage-DD92Xk6X.js +0 -12
  272. package/public/assets/SettingsLayout-LGC-0pQl.js +0 -1
  273. package/public/assets/UnifiedToolSelector-BP6fuyzG.js +0 -1
  274. package/public/assets/channel-D9wyZF1L.js +0 -1
  275. package/public/assets/classDiagram-2ON5EDUG-DwEqkkEb.js +0 -1
  276. package/public/assets/classDiagram-v2-WZHVMYZB-DwEqkkEb.js +0 -1
  277. package/public/assets/clone-3wFPaI2j.js +0 -1
  278. package/public/assets/infoDiagram-F6ZHWCRC-HUfwv_JT.js +0 -2
  279. package/public/assets/stateDiagram-v2-4FDKWEC3-CmurzrWf.js +0 -1
  280. package/public/assets/tools-BZTR2NP1.js +0 -1
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardPage-BhqKOzob.js","assets/data-structures-ChC1tqVg.js","assets/monaco-editor-BWfQfpij.js","assets/syntax-highlighting-DGbNjS3S.js","assets/useProjects-Bbh6hJMM.js","assets/agents-KlPdWQ8K.js","assets/tools-BZTR2NP1.js","assets/ui-components-DjgDPiqV.js","assets/agents-DwCY2K8p.css","assets/useAgents-8KXN6U61.js","assets/useSessions-DOa4-xiB.js","assets/AgentsPage-BsZdkqzM.js","assets/table-Clz57edU.js","assets/ProjectSelector-CybrDbBY.js","assets/FileBrowser-DboOOM_v.js","assets/UnifiedToolSelector-BP6fuyzG.js","assets/ToolsList-CTsQr53G.js","assets/ProjectsPage-DRl-0B4G.js","assets/dateFormat-CXa8VnEC.js","assets/useCommands-DbSH48ba.js","assets/CommandForm-DwGvE9A_.js","assets/SubagentForm-BzzeWg0W.js","assets/useClaudeVersions-DicHLV6A.js","assets/McpPage-B4nQUJag.js","assets/SettingsLayout-LGC-0pQl.js","assets/GeneralSettingsPage-DYdwai51.js","assets/VersionSettingsPage-BwpwiLyl.js","assets/MemorySettingsPage-eu6tsuUh.js","assets/SubagentsPage-bX2XWdJ0.js","assets/McpAdminSettingsPage-CIILVzB8.js","assets/TelemetrySettingsPage-q167I4G9.js","assets/SystemInfoPage-nEIQbtwG.js","assets/WebSocketTunnelPage-BqEUE7mr.js","assets/VoiceSettingsPage-d3l9AWBn.js","assets/CursorConfigPage-DpUdJzRi.js","assets/EngineGate-BjHJu955.js","assets/RulesPage-DUt33RkX.js","assets/HooksPage-DDGc0GGV.js","assets/CommandsPage-qDWzq8xp.js","assets/SkillsPage-Lzw8I9vR.js","assets/Button-CMTSYiKV.js","assets/FileExplorer-x5R0Tcmk.js","assets/PluginsPage-DD92Xk6X.js","assets/ScheduledTasksPage-CTDYYRIN.js","assets/ChatPage-D8buVhfb.js","assets/ChatPage-BvQmXfcP.css","assets/ModelsPage-Bb5vSsuc.js","assets/LandingPage-CvY4n9Rh.js","assets/LoginPage-C-PZfjYC.js","assets/ToastTestPage-j224d3QR.js"])))=>i.map(i=>d[i]);
2
- import{j as p}from"./data-structures-ChC1tqVg.js";import{a as lb,r as S,g as iw,W as vi,R as sw}from"./monaco-editor-BWfQfpij.js";import{c as Ge}from"./syntax-highlighting-DGbNjS3S.js";import{l as rw,s as ow,d as lw,e as cw,r as uw,f as dw,g as vn,h as Wf,u as fw,b as Jf,c as hw,A as Kl,j as ff,k as kv,m as Hl,Q as pw,n as mw}from"./agents-KlPdWQ8K.js";import{u as Fn,i as gw,a as vw}from"./tools-BZTR2NP1.js";import{$ as io,aY as yw,r as hc,C as En,n as Xl,X as Za,v as hf,a4 as bw,ai as _w,_ as Av,av as Pd,aZ as Sw,y as xw,a_ as ww,a9 as Cw,E as kw,z as Qr,K as Ev,M as Tv,a$ as Aw,e as Ew,t as Nv,m as Tw,Y as Nw,ak as Mw,Z as jw,aj as Rw,al as Dw,b0 as Pw,ar as Ow,T as Lw,a5 as Fw,a8 as zw,G as Uw,ah as Iw,k as Hw,l as qw,b1 as Bw,ax as $w,d as Vw,aI as Gw,b2 as Yw,aq as Kw,L as cb,aF as Xw,j as Qw,V as pf,a7 as ub,I as Mv,g as Zw,b3 as Ww,U as Jw}from"./ui-components-DjgDPiqV.js";(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const c of l)if(c.type==="childList")for(const f of c.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&r(f)}).observe(document,{childList:!0,subtree:!0});function a(l){const c={};return l.integrity&&(c.integrity=l.integrity),l.referrerPolicy&&(c.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?c.credentials="include":l.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function r(l){if(l.ep)return;l.ep=!0;const c=a(l);fetch(l.href,c)}})();var Od={exports:{}},Er={},Ld={exports:{}},Fd={};/**
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardPage-BowdW2Xj.js","assets/data-structures-ChC1tqVg.js","assets/monaco-editor-BWfQfpij.js","assets/syntax-highlighting-DGbNjS3S.js","assets/useProjects-D1ElB-WS.js","assets/agents-DR9EZMs5.js","assets/tools-crrPnehB.js","assets/ui-components-D1pZO0y-.js","assets/agents-DwCY2K8p.css","assets/useAgents-M4lcWvy0.js","assets/useSessions-Dp1kUl43.js","assets/AgentsPage-CHee5mUh.js","assets/table-BgVewkB5.js","assets/ProjectSelector-CyBlHb2H.js","assets/FileBrowser-DHyCacM6.js","assets/UnifiedToolSelector-DJN7ASu1.js","assets/ToolsList-BZFBEuvQ.js","assets/ProjectsPage-DYhCvH07.js","assets/dateFormat-CXa8VnEC.js","assets/useCommands-vaoVPEDI.js","assets/CommandForm-CMfgHNm5.js","assets/SubagentForm-BbxljQUp.js","assets/useClaudeVersions-CKT_fq1t.js","assets/McpPage-Hu8vyMhX.js","assets/SettingsLayout-C_7jR0Te.js","assets/GeneralSettingsPage-C6hJ_zTw.js","assets/VersionSettingsPage-DppWaX--.js","assets/MemorySettingsPage-gIWSsrES.js","assets/SubagentsPage-D66TBaeN.js","assets/McpAdminSettingsPage-DuvsM5TX.js","assets/TelemetrySettingsPage-Cp3vOu7X.js","assets/SystemInfoPage-DXVUncTe.js","assets/WebSocketTunnelPage-BPeSTgEZ.js","assets/VoiceSettingsPage-BWJLeedX.js","assets/CursorConfigPage-DQ-3b3ti.js","assets/EngineGate-DYNvEEbW.js","assets/RulesPage-C32P_Aqz.js","assets/HooksPage-BwE2Zm3X.js","assets/CommandsPage-B4rjtVWk.js","assets/SkillsPage-C-WS4N1Y.js","assets/Button-D5qiS7CR.js","assets/FileExplorer-BprfeAH_.js","assets/PluginsPage-CuNui9NV.js","assets/ScheduledTasksPage-ixn5qoiD.js","assets/ChatPage-B7-rn9mH.js","assets/ChatPage-BvQmXfcP.css","assets/ModelsPage-Cosb3hHI.js","assets/LandingPage-DKvwbGX1.js","assets/LoginPage-BpZhqRAN.js","assets/ToastTestPage-03up9yZR.js"])))=>i.map(i=>d[i]);
2
+ import{j as p}from"./data-structures-ChC1tqVg.js";import{a as cb,r as S,g as sw,W as vi,R as rw}from"./monaco-editor-BWfQfpij.js";import{c as Ge}from"./syntax-highlighting-DGbNjS3S.js";import{l as ow,s as lw,d as cw,e as uw,r as dw,f as fw,g as vn,n as wi,h as Jf,u as hw,b as eh,c as pw,A as Xl,j as hf,k as Av,m as ql,Q as mw,o as gw}from"./agents-DR9EZMs5.js";import{u as Fn,i as vw,a as yw}from"./tools-crrPnehB.js";import{$ as so,aX as bw,r as pc,C as Tn,n as Ql,X as Za,v as pf,a4 as _w,ai as Sw,_ as Tv,av as Od,aY as xw,y as ww,aZ as Cw,a9 as kw,E as Aw,z as Zr,K as Ev,N as Nv,a_ as Tw,e as Ew,t as Mv,m as Nw,Y as Mw,ak as jw,Z as Rw,aj as Dw,al as Pw,a$ as Ow,ar as Lw,T as Fw,a5 as zw,a8 as Uw,G as Iw,ah as Hw,k as qw,l as Bw,b0 as $w,ax as Vw,d as Gw,aI as Yw,b1 as Kw,aq as Xw,L as ub,aF as Qw,j as Zw,V as mf,a7 as db,I as jv,g as Ww,b2 as Jw,U as eC}from"./ui-components-D1pZO0y-.js";(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const c of l)if(c.type==="childList")for(const f of c.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&r(f)}).observe(document,{childList:!0,subtree:!0});function a(l){const c={};return l.integrity&&(c.integrity=l.integrity),l.referrerPolicy&&(c.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?c.credentials="include":l.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function r(l){if(l.ep)return;l.ep=!0;const c=a(l);fetch(l.href,c)}})();var Ld={exports:{}},Er={},Fd={exports:{}},zd={};/**
3
3
  * @license React
4
4
  * scheduler.production.js
5
5
  *
@@ -7,7 +7,7 @@ import{j as p}from"./data-structures-ChC1tqVg.js";import{a as lb,r as S,g as iw,
7
7
  *
8
8
  * This source code is licensed under the MIT license found in the
9
9
  * LICENSE file in the root directory of this source tree.
10
- */var jv;function eC(){return jv||(jv=1,(function(s){function n(F,K){var Y=F.length;F.push(K);e:for(;0<Y;){var he=Y-1>>>1,pe=F[he];if(0<l(pe,K))F[he]=K,F[Y]=pe,Y=he;else break e}}function a(F){return F.length===0?null:F[0]}function r(F){if(F.length===0)return null;var K=F[0],Y=F.pop();if(Y!==K){F[0]=Y;e:for(var he=0,pe=F.length,Pe=pe>>>1;he<Pe;){var fe=2*(he+1)-1,te=F[fe],ue=fe+1,Qe=F[ue];if(0>l(te,Y))ue<pe&&0>l(Qe,te)?(F[he]=Qe,F[ue]=Y,he=ue):(F[he]=te,F[fe]=Y,he=fe);else if(ue<pe&&0>l(Qe,Y))F[he]=Qe,F[ue]=Y,he=ue;else break e}}return K}function l(F,K){var Y=F.sortIndex-K.sortIndex;return Y!==0?Y:F.id-K.id}if(s.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var c=performance;s.unstable_now=function(){return c.now()}}else{var f=Date,h=f.now();s.unstable_now=function(){return f.now()-h}}var g=[],m=[],y=1,b=null,x=3,C=!1,T=!1,k=!1,A=!1,M=typeof setTimeout=="function"?setTimeout:null,j=typeof clearTimeout=="function"?clearTimeout:null,D=typeof setImmediate<"u"?setImmediate:null;function q(F){for(var K=a(m);K!==null;){if(K.callback===null)r(m);else if(K.startTime<=F)r(m),K.sortIndex=K.expirationTime,n(g,K);else break;K=a(m)}}function B(F){if(k=!1,q(F),!T)if(a(g)!==null)T=!0,V||(V=!0,ge());else{var K=a(m);K!==null&&ye(B,K.startTime-F)}}var V=!1,I=-1,L=5,Z=-1;function re(){return A?!0:!(s.unstable_now()-Z<L)}function Se(){if(A=!1,V){var F=s.unstable_now();Z=F;var K=!0;try{e:{T=!1,k&&(k=!1,j(I),I=-1),C=!0;var Y=x;try{t:{for(q(F),b=a(g);b!==null&&!(b.expirationTime>F&&re());){var he=b.callback;if(typeof he=="function"){b.callback=null,x=b.priorityLevel;var pe=he(b.expirationTime<=F);if(F=s.unstable_now(),typeof pe=="function"){b.callback=pe,q(F),K=!0;break t}b===a(g)&&r(g),q(F)}else r(g);b=a(g)}if(b!==null)K=!0;else{var Pe=a(m);Pe!==null&&ye(B,Pe.startTime-F),K=!1}}break e}finally{b=null,x=Y,C=!1}K=void 0}}finally{K?ge():V=!1}}}var ge;if(typeof D=="function")ge=function(){D(Se)};else if(typeof MessageChannel<"u"){var De=new MessageChannel,oe=De.port2;De.port1.onmessage=Se,ge=function(){oe.postMessage(null)}}else ge=function(){M(Se,0)};function ye(F,K){I=M(function(){F(s.unstable_now())},K)}s.unstable_IdlePriority=5,s.unstable_ImmediatePriority=1,s.unstable_LowPriority=4,s.unstable_NormalPriority=3,s.unstable_Profiling=null,s.unstable_UserBlockingPriority=2,s.unstable_cancelCallback=function(F){F.callback=null},s.unstable_forceFrameRate=function(F){0>F||125<F?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):L=0<F?Math.floor(1e3/F):5},s.unstable_getCurrentPriorityLevel=function(){return x},s.unstable_next=function(F){switch(x){case 1:case 2:case 3:var K=3;break;default:K=x}var Y=x;x=K;try{return F()}finally{x=Y}},s.unstable_requestPaint=function(){A=!0},s.unstable_runWithPriority=function(F,K){switch(F){case 1:case 2:case 3:case 4:case 5:break;default:F=3}var Y=x;x=F;try{return K()}finally{x=Y}},s.unstable_scheduleCallback=function(F,K,Y){var he=s.unstable_now();switch(typeof Y=="object"&&Y!==null?(Y=Y.delay,Y=typeof Y=="number"&&0<Y?he+Y:he):Y=he,F){case 1:var pe=-1;break;case 2:pe=250;break;case 5:pe=1073741823;break;case 4:pe=1e4;break;default:pe=5e3}return pe=Y+pe,F={id:y++,callback:K,priorityLevel:F,startTime:Y,expirationTime:pe,sortIndex:-1},Y>he?(F.sortIndex=Y,n(m,F),a(g)===null&&F===a(m)&&(k?(j(I),I=-1):k=!0,ye(B,Y-he))):(F.sortIndex=pe,n(g,F),T||C||(T=!0,V||(V=!0,ge()))),F},s.unstable_shouldYield=re,s.unstable_wrapCallback=function(F){var K=x;return function(){var Y=x;x=K;try{return F.apply(this,arguments)}finally{x=Y}}}})(Fd)),Fd}var Rv;function tC(){return Rv||(Rv=1,Ld.exports=eC()),Ld.exports}var zd={exports:{}},Et={};/**
10
+ */var Rv;function tC(){return Rv||(Rv=1,(function(s){function n(F,K){var Y=F.length;F.push(K);e:for(;0<Y;){var he=Y-1>>>1,pe=F[he];if(0<l(pe,K))F[he]=K,F[Y]=pe,Y=he;else break e}}function a(F){return F.length===0?null:F[0]}function r(F){if(F.length===0)return null;var K=F[0],Y=F.pop();if(Y!==K){F[0]=Y;e:for(var he=0,pe=F.length,Pe=pe>>>1;he<Pe;){var fe=2*(he+1)-1,te=F[fe],ue=fe+1,Qe=F[ue];if(0>l(te,Y))ue<pe&&0>l(Qe,te)?(F[he]=Qe,F[ue]=Y,he=ue):(F[he]=te,F[fe]=Y,he=fe);else if(ue<pe&&0>l(Qe,Y))F[he]=Qe,F[ue]=Y,he=ue;else break e}}return K}function l(F,K){var Y=F.sortIndex-K.sortIndex;return Y!==0?Y:F.id-K.id}if(s.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var c=performance;s.unstable_now=function(){return c.now()}}else{var f=Date,h=f.now();s.unstable_now=function(){return f.now()-h}}var g=[],m=[],y=1,b=null,x=3,C=!1,E=!1,k=!1,A=!1,M=typeof setTimeout=="function"?setTimeout:null,j=typeof clearTimeout=="function"?clearTimeout:null,D=typeof setImmediate<"u"?setImmediate:null;function q(F){for(var K=a(m);K!==null;){if(K.callback===null)r(m);else if(K.startTime<=F)r(m),K.sortIndex=K.expirationTime,n(g,K);else break;K=a(m)}}function B(F){if(k=!1,q(F),!E)if(a(g)!==null)E=!0,V||(V=!0,ge());else{var K=a(m);K!==null&&ye(B,K.startTime-F)}}var V=!1,I=-1,L=5,Z=-1;function re(){return A?!0:!(s.unstable_now()-Z<L)}function Se(){if(A=!1,V){var F=s.unstable_now();Z=F;var K=!0;try{e:{E=!1,k&&(k=!1,j(I),I=-1),C=!0;var Y=x;try{t:{for(q(F),b=a(g);b!==null&&!(b.expirationTime>F&&re());){var he=b.callback;if(typeof he=="function"){b.callback=null,x=b.priorityLevel;var pe=he(b.expirationTime<=F);if(F=s.unstable_now(),typeof pe=="function"){b.callback=pe,q(F),K=!0;break t}b===a(g)&&r(g),q(F)}else r(g);b=a(g)}if(b!==null)K=!0;else{var Pe=a(m);Pe!==null&&ye(B,Pe.startTime-F),K=!1}}break e}finally{b=null,x=Y,C=!1}K=void 0}}finally{K?ge():V=!1}}}var ge;if(typeof D=="function")ge=function(){D(Se)};else if(typeof MessageChannel<"u"){var De=new MessageChannel,oe=De.port2;De.port1.onmessage=Se,ge=function(){oe.postMessage(null)}}else ge=function(){M(Se,0)};function ye(F,K){I=M(function(){F(s.unstable_now())},K)}s.unstable_IdlePriority=5,s.unstable_ImmediatePriority=1,s.unstable_LowPriority=4,s.unstable_NormalPriority=3,s.unstable_Profiling=null,s.unstable_UserBlockingPriority=2,s.unstable_cancelCallback=function(F){F.callback=null},s.unstable_forceFrameRate=function(F){0>F||125<F?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):L=0<F?Math.floor(1e3/F):5},s.unstable_getCurrentPriorityLevel=function(){return x},s.unstable_next=function(F){switch(x){case 1:case 2:case 3:var K=3;break;default:K=x}var Y=x;x=K;try{return F()}finally{x=Y}},s.unstable_requestPaint=function(){A=!0},s.unstable_runWithPriority=function(F,K){switch(F){case 1:case 2:case 3:case 4:case 5:break;default:F=3}var Y=x;x=F;try{return K()}finally{x=Y}},s.unstable_scheduleCallback=function(F,K,Y){var he=s.unstable_now();switch(typeof Y=="object"&&Y!==null?(Y=Y.delay,Y=typeof Y=="number"&&0<Y?he+Y:he):Y=he,F){case 1:var pe=-1;break;case 2:pe=250;break;case 5:pe=1073741823;break;case 4:pe=1e4;break;default:pe=5e3}return pe=Y+pe,F={id:y++,callback:K,priorityLevel:F,startTime:Y,expirationTime:pe,sortIndex:-1},Y>he?(F.sortIndex=Y,n(m,F),a(g)===null&&F===a(m)&&(k?(j(I),I=-1):k=!0,ye(B,Y-he))):(F.sortIndex=pe,n(g,F),E||C||(E=!0,V||(V=!0,ge()))),F},s.unstable_shouldYield=re,s.unstable_wrapCallback=function(F){var K=x;return function(){var Y=x;x=K;try{return F.apply(this,arguments)}finally{x=Y}}}})(zd)),zd}var Dv;function nC(){return Dv||(Dv=1,Fd.exports=tC()),Fd.exports}var Ud={exports:{}},Tt={};/**
11
11
  * @license React
12
12
  * react-dom.production.js
13
13
  *
@@ -15,7 +15,7 @@ import{j as p}from"./data-structures-ChC1tqVg.js";import{a as lb,r as S,g as iw,
15
15
  *
16
16
  * This source code is licensed under the MIT license found in the
17
17
  * LICENSE file in the root directory of this source tree.
18
- */var Dv;function nC(){if(Dv)return Et;Dv=1;var s=lb();function n(g){var m="https://react.dev/errors/"+g;if(1<arguments.length){m+="?args[]="+encodeURIComponent(arguments[1]);for(var y=2;y<arguments.length;y++)m+="&args[]="+encodeURIComponent(arguments[y])}return"Minified React error #"+g+"; visit "+m+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function a(){}var r={d:{f:a,r:function(){throw Error(n(522))},D:a,C:a,L:a,m:a,X:a,S:a,M:a},p:0,findDOMNode:null},l=Symbol.for("react.portal");function c(g,m,y){var b=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:l,key:b==null?null:""+b,children:g,containerInfo:m,implementation:y}}var f=s.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function h(g,m){if(g==="font")return"";if(typeof m=="string")return m==="use-credentials"?m:""}return Et.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,Et.createPortal=function(g,m){var y=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!m||m.nodeType!==1&&m.nodeType!==9&&m.nodeType!==11)throw Error(n(299));return c(g,m,null,y)},Et.flushSync=function(g){var m=f.T,y=r.p;try{if(f.T=null,r.p=2,g)return g()}finally{f.T=m,r.p=y,r.d.f()}},Et.preconnect=function(g,m){typeof g=="string"&&(m?(m=m.crossOrigin,m=typeof m=="string"?m==="use-credentials"?m:"":void 0):m=null,r.d.C(g,m))},Et.prefetchDNS=function(g){typeof g=="string"&&r.d.D(g)},Et.preinit=function(g,m){if(typeof g=="string"&&m&&typeof m.as=="string"){var y=m.as,b=h(y,m.crossOrigin),x=typeof m.integrity=="string"?m.integrity:void 0,C=typeof m.fetchPriority=="string"?m.fetchPriority:void 0;y==="style"?r.d.S(g,typeof m.precedence=="string"?m.precedence:void 0,{crossOrigin:b,integrity:x,fetchPriority:C}):y==="script"&&r.d.X(g,{crossOrigin:b,integrity:x,fetchPriority:C,nonce:typeof m.nonce=="string"?m.nonce:void 0})}},Et.preinitModule=function(g,m){if(typeof g=="string")if(typeof m=="object"&&m!==null){if(m.as==null||m.as==="script"){var y=h(m.as,m.crossOrigin);r.d.M(g,{crossOrigin:y,integrity:typeof m.integrity=="string"?m.integrity:void 0,nonce:typeof m.nonce=="string"?m.nonce:void 0})}}else m==null&&r.d.M(g)},Et.preload=function(g,m){if(typeof g=="string"&&typeof m=="object"&&m!==null&&typeof m.as=="string"){var y=m.as,b=h(y,m.crossOrigin);r.d.L(g,y,{crossOrigin:b,integrity:typeof m.integrity=="string"?m.integrity:void 0,nonce:typeof m.nonce=="string"?m.nonce:void 0,type:typeof m.type=="string"?m.type:void 0,fetchPriority:typeof m.fetchPriority=="string"?m.fetchPriority:void 0,referrerPolicy:typeof m.referrerPolicy=="string"?m.referrerPolicy:void 0,imageSrcSet:typeof m.imageSrcSet=="string"?m.imageSrcSet:void 0,imageSizes:typeof m.imageSizes=="string"?m.imageSizes:void 0,media:typeof m.media=="string"?m.media:void 0})}},Et.preloadModule=function(g,m){if(typeof g=="string")if(m){var y=h(m.as,m.crossOrigin);r.d.m(g,{as:typeof m.as=="string"&&m.as!=="script"?m.as:void 0,crossOrigin:y,integrity:typeof m.integrity=="string"?m.integrity:void 0})}else r.d.m(g)},Et.requestFormReset=function(g){r.d.r(g)},Et.unstable_batchedUpdates=function(g,m){return g(m)},Et.useFormState=function(g,m,y){return f.H.useFormState(g,m,y)},Et.useFormStatus=function(){return f.H.useHostTransitionStatus()},Et.version="19.2.4",Et}var Pv;function db(){if(Pv)return zd.exports;Pv=1;function s(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(s)}catch(n){console.error(n)}}return s(),zd.exports=nC(),zd.exports}/**
18
+ */var Pv;function aC(){if(Pv)return Tt;Pv=1;var s=cb();function n(g){var m="https://react.dev/errors/"+g;if(1<arguments.length){m+="?args[]="+encodeURIComponent(arguments[1]);for(var y=2;y<arguments.length;y++)m+="&args[]="+encodeURIComponent(arguments[y])}return"Minified React error #"+g+"; visit "+m+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function a(){}var r={d:{f:a,r:function(){throw Error(n(522))},D:a,C:a,L:a,m:a,X:a,S:a,M:a},p:0,findDOMNode:null},l=Symbol.for("react.portal");function c(g,m,y){var b=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:l,key:b==null?null:""+b,children:g,containerInfo:m,implementation:y}}var f=s.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function h(g,m){if(g==="font")return"";if(typeof m=="string")return m==="use-credentials"?m:""}return Tt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,Tt.createPortal=function(g,m){var y=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!m||m.nodeType!==1&&m.nodeType!==9&&m.nodeType!==11)throw Error(n(299));return c(g,m,null,y)},Tt.flushSync=function(g){var m=f.T,y=r.p;try{if(f.T=null,r.p=2,g)return g()}finally{f.T=m,r.p=y,r.d.f()}},Tt.preconnect=function(g,m){typeof g=="string"&&(m?(m=m.crossOrigin,m=typeof m=="string"?m==="use-credentials"?m:"":void 0):m=null,r.d.C(g,m))},Tt.prefetchDNS=function(g){typeof g=="string"&&r.d.D(g)},Tt.preinit=function(g,m){if(typeof g=="string"&&m&&typeof m.as=="string"){var y=m.as,b=h(y,m.crossOrigin),x=typeof m.integrity=="string"?m.integrity:void 0,C=typeof m.fetchPriority=="string"?m.fetchPriority:void 0;y==="style"?r.d.S(g,typeof m.precedence=="string"?m.precedence:void 0,{crossOrigin:b,integrity:x,fetchPriority:C}):y==="script"&&r.d.X(g,{crossOrigin:b,integrity:x,fetchPriority:C,nonce:typeof m.nonce=="string"?m.nonce:void 0})}},Tt.preinitModule=function(g,m){if(typeof g=="string")if(typeof m=="object"&&m!==null){if(m.as==null||m.as==="script"){var y=h(m.as,m.crossOrigin);r.d.M(g,{crossOrigin:y,integrity:typeof m.integrity=="string"?m.integrity:void 0,nonce:typeof m.nonce=="string"?m.nonce:void 0})}}else m==null&&r.d.M(g)},Tt.preload=function(g,m){if(typeof g=="string"&&typeof m=="object"&&m!==null&&typeof m.as=="string"){var y=m.as,b=h(y,m.crossOrigin);r.d.L(g,y,{crossOrigin:b,integrity:typeof m.integrity=="string"?m.integrity:void 0,nonce:typeof m.nonce=="string"?m.nonce:void 0,type:typeof m.type=="string"?m.type:void 0,fetchPriority:typeof m.fetchPriority=="string"?m.fetchPriority:void 0,referrerPolicy:typeof m.referrerPolicy=="string"?m.referrerPolicy:void 0,imageSrcSet:typeof m.imageSrcSet=="string"?m.imageSrcSet:void 0,imageSizes:typeof m.imageSizes=="string"?m.imageSizes:void 0,media:typeof m.media=="string"?m.media:void 0})}},Tt.preloadModule=function(g,m){if(typeof g=="string")if(m){var y=h(m.as,m.crossOrigin);r.d.m(g,{as:typeof m.as=="string"&&m.as!=="script"?m.as:void 0,crossOrigin:y,integrity:typeof m.integrity=="string"?m.integrity:void 0})}else r.d.m(g)},Tt.requestFormReset=function(g){r.d.r(g)},Tt.unstable_batchedUpdates=function(g,m){return g(m)},Tt.useFormState=function(g,m,y){return f.H.useFormState(g,m,y)},Tt.useFormStatus=function(){return f.H.useHostTransitionStatus()},Tt.version="19.2.4",Tt}var Ov;function fb(){if(Ov)return Ud.exports;Ov=1;function s(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(s)}catch(n){console.error(n)}}return s(),Ud.exports=aC(),Ud.exports}/**
19
19
  * @license React
20
20
  * react-dom-client.production.js
21
21
  *
@@ -23,15 +23,15 @@ import{j as p}from"./data-structures-ChC1tqVg.js";import{a as lb,r as S,g as iw,
23
23
  *
24
24
  * This source code is licensed under the MIT license found in the
25
25
  * LICENSE file in the root directory of this source tree.
26
- */var Ov;function aC(){if(Ov)return Er;Ov=1;var s=tC(),n=lb(),a=db();function r(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var i=2;i<arguments.length;i++)t+="&args[]="+encodeURIComponent(arguments[i])}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."}function l(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function c(e){var t=e,i=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(i=t.return),e=t.return;while(e)}return t.tag===3?i:null}function f(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 h(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function g(e){if(c(e)!==e)throw Error(r(188))}function m(e){var t=e.alternate;if(!t){if(t=c(e),t===null)throw Error(r(188));return t!==e?null:e}for(var i=e,o=t;;){var u=i.return;if(u===null)break;var d=u.alternate;if(d===null){if(o=u.return,o!==null){i=o;continue}break}if(u.child===d.child){for(d=u.child;d;){if(d===i)return g(u),e;if(d===o)return g(u),t;d=d.sibling}throw Error(r(188))}if(i.return!==o.return)i=u,o=d;else{for(var v=!1,_=u.child;_;){if(_===i){v=!0,i=u,o=d;break}if(_===o){v=!0,o=u,i=d;break}_=_.sibling}if(!v){for(_=d.child;_;){if(_===i){v=!0,i=d,o=u;break}if(_===o){v=!0,o=d,i=u;break}_=_.sibling}if(!v)throw Error(r(189))}}if(i.alternate!==o)throw Error(r(190))}if(i.tag!==3)throw Error(r(188));return i.stateNode.current===i?e:t}function y(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=y(e),t!==null)return t;e=e.sibling}return null}var b=Object.assign,x=Symbol.for("react.element"),C=Symbol.for("react.transitional.element"),T=Symbol.for("react.portal"),k=Symbol.for("react.fragment"),A=Symbol.for("react.strict_mode"),M=Symbol.for("react.profiler"),j=Symbol.for("react.consumer"),D=Symbol.for("react.context"),q=Symbol.for("react.forward_ref"),B=Symbol.for("react.suspense"),V=Symbol.for("react.suspense_list"),I=Symbol.for("react.memo"),L=Symbol.for("react.lazy"),Z=Symbol.for("react.activity"),re=Symbol.for("react.memo_cache_sentinel"),Se=Symbol.iterator;function ge(e){return e===null||typeof e!="object"?null:(e=Se&&e[Se]||e["@@iterator"],typeof e=="function"?e:null)}var De=Symbol.for("react.client.reference");function oe(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===De?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case k:return"Fragment";case M:return"Profiler";case A:return"StrictMode";case B:return"Suspense";case V:return"SuspenseList";case Z:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case T:return"Portal";case D:return e.displayName||"Context";case j:return(e._context.displayName||"Context")+".Consumer";case q:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case I:return t=e.displayName||null,t!==null?t:oe(e.type)||"Memo";case L:t=e._payload,e=e._init;try{return oe(e(t))}catch{}}return null}var ye=Array.isArray,F=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,K=a.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Y={pending:!1,data:null,method:null,action:null},he=[],pe=-1;function Pe(e){return{current:e}}function fe(e){0>pe||(e.current=he[pe],he[pe]=null,pe--)}function te(e,t){pe++,he[pe]=e.current,e.current=t}var ue=Pe(null),Qe=Pe(null),et=Pe(null),qe=Pe(null);function xn(e,t){switch(te(et,t),te(Qe,e),te(ue,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Kg(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Kg(t),e=Xg(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}fe(ue),te(ue,e)}function Nt(){fe(ue),fe(Qe),fe(et)}function ft(e){e.memoizedState!==null&&te(qe,e);var t=ue.current,i=Xg(t,e.type);t!==i&&(te(Qe,e),te(ue,i))}function sn(e){Qe.current===e&&(fe(ue),fe(Qe)),qe.current===e&&(fe(qe),wr._currentValue=Y)}var $t,ga;function rn(e){if($t===void 0)try{throw Error()}catch(i){var t=i.stack.trim().match(/\n( *(at )?)/);$t=t&&t[1]||"",ga=-1<i.stack.indexOf(`
26
+ */var Lv;function iC(){if(Lv)return Er;Lv=1;var s=nC(),n=cb(),a=fb();function r(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var i=2;i<arguments.length;i++)t+="&args[]="+encodeURIComponent(arguments[i])}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."}function l(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function c(e){var t=e,i=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(i=t.return),e=t.return;while(e)}return t.tag===3?i:null}function f(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 h(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function g(e){if(c(e)!==e)throw Error(r(188))}function m(e){var t=e.alternate;if(!t){if(t=c(e),t===null)throw Error(r(188));return t!==e?null:e}for(var i=e,o=t;;){var u=i.return;if(u===null)break;var d=u.alternate;if(d===null){if(o=u.return,o!==null){i=o;continue}break}if(u.child===d.child){for(d=u.child;d;){if(d===i)return g(u),e;if(d===o)return g(u),t;d=d.sibling}throw Error(r(188))}if(i.return!==o.return)i=u,o=d;else{for(var v=!1,_=u.child;_;){if(_===i){v=!0,i=u,o=d;break}if(_===o){v=!0,o=u,i=d;break}_=_.sibling}if(!v){for(_=d.child;_;){if(_===i){v=!0,i=d,o=u;break}if(_===o){v=!0,o=d,i=u;break}_=_.sibling}if(!v)throw Error(r(189))}}if(i.alternate!==o)throw Error(r(190))}if(i.tag!==3)throw Error(r(188));return i.stateNode.current===i?e:t}function y(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=y(e),t!==null)return t;e=e.sibling}return null}var b=Object.assign,x=Symbol.for("react.element"),C=Symbol.for("react.transitional.element"),E=Symbol.for("react.portal"),k=Symbol.for("react.fragment"),A=Symbol.for("react.strict_mode"),M=Symbol.for("react.profiler"),j=Symbol.for("react.consumer"),D=Symbol.for("react.context"),q=Symbol.for("react.forward_ref"),B=Symbol.for("react.suspense"),V=Symbol.for("react.suspense_list"),I=Symbol.for("react.memo"),L=Symbol.for("react.lazy"),Z=Symbol.for("react.activity"),re=Symbol.for("react.memo_cache_sentinel"),Se=Symbol.iterator;function ge(e){return e===null||typeof e!="object"?null:(e=Se&&e[Se]||e["@@iterator"],typeof e=="function"?e:null)}var De=Symbol.for("react.client.reference");function oe(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===De?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case k:return"Fragment";case M:return"Profiler";case A:return"StrictMode";case B:return"Suspense";case V:return"SuspenseList";case Z:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case E:return"Portal";case D:return e.displayName||"Context";case j:return(e._context.displayName||"Context")+".Consumer";case q:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case I:return t=e.displayName||null,t!==null?t:oe(e.type)||"Memo";case L:t=e._payload,e=e._init;try{return oe(e(t))}catch{}}return null}var ye=Array.isArray,F=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,K=a.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Y={pending:!1,data:null,method:null,action:null},he=[],pe=-1;function Pe(e){return{current:e}}function fe(e){0>pe||(e.current=he[pe],he[pe]=null,pe--)}function te(e,t){pe++,he[pe]=e.current,e.current=t}var ue=Pe(null),Qe=Pe(null),et=Pe(null),qe=Pe(null);function xn(e,t){switch(te(et,t),te(Qe,e),te(ue,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Xg(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Xg(t),e=Qg(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}fe(ue),te(ue,e)}function Nt(){fe(ue),fe(Qe),fe(et)}function ft(e){e.memoizedState!==null&&te(qe,e);var t=ue.current,i=Qg(t,e.type);t!==i&&(te(Qe,e),te(ue,i))}function sn(e){Qe.current===e&&(fe(ue),fe(Qe)),qe.current===e&&(fe(qe),Cr._currentValue=Y)}var $t,ga;function rn(e){if($t===void 0)try{throw Error()}catch(i){var t=i.stack.trim().match(/\n( *(at )?)/);$t=t&&t[1]||"",ga=-1<i.stack.indexOf(`
27
27
  at`)?" (<anonymous>)":-1<i.stack.indexOf("@")?"@unknown:0:0":""}return`
28
28
  `+$t+e+ga}var Q=!1;function be(e,t){if(!e||Q)return"";Q=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var o={DetermineComponentFrameRoot:function(){try{if(t){var G=function(){throw Error()};if(Object.defineProperty(G.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(G,[])}catch(z){var O=z}Reflect.construct(e,[],G)}else{try{G.call()}catch(z){O=z}e.call(G.prototype)}}else{try{throw Error()}catch(z){O=z}(G=e())&&typeof G.catch=="function"&&G.catch(function(){})}}catch(z){if(z&&O&&typeof z.stack=="string")return[z.stack,O.stack]}return[null,null]}};o.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var u=Object.getOwnPropertyDescriptor(o.DetermineComponentFrameRoot,"name");u&&u.configurable&&Object.defineProperty(o.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var d=o.DetermineComponentFrameRoot(),v=d[0],_=d[1];if(v&&_){var w=v.split(`
29
29
  `),P=_.split(`
30
30
  `);for(u=o=0;o<w.length&&!w[o].includes("DetermineComponentFrameRoot");)o++;for(;u<P.length&&!P[u].includes("DetermineComponentFrameRoot");)u++;if(o===w.length||u===P.length)for(o=w.length-1,u=P.length-1;1<=o&&0<=u&&w[o]!==P[u];)u--;for(;1<=o&&0<=u;o--,u--)if(w[o]!==P[u]){if(o!==1||u!==1)do if(o--,u--,0>u||w[o]!==P[u]){var H=`
31
31
  `+w[o].replace(" at new "," at ");return e.displayName&&H.includes("<anonymous>")&&(H=H.replace("<anonymous>",e.displayName)),H}while(1<=o&&0<=u);break}}}finally{Q=!1,Error.prepareStackTrace=i}return(i=e?e.displayName||e.name:"")?rn(i):""}function xe(e,t){switch(e.tag){case 26:case 27:case 5:return rn(e.type);case 16:return rn("Lazy");case 13:return e.child!==t&&t!==null?rn("Suspense Fallback"):rn("Suspense");case 19:return rn("SuspenseList");case 0:case 15:return be(e.type,!1);case 11:return be(e.type.render,!1);case 1:return be(e.type,!0);case 31:return rn("Activity");default:return""}}function bt(e){try{var t="",i=null;do t+=xe(e,i),i=e,e=e.return;while(e);return t}catch(o){return`
32
32
  Error generating stack: `+o.message+`
33
- `+o.stack}}var Mt=Object.prototype.hasOwnProperty,Un=s.unstable_scheduleCallback,Wa=s.unstable_cancelCallback,L_=s.unstable_shouldYield,F_=s.unstable_requestPaint,Vt=s.unstable_now,z_=s.unstable_getCurrentPriorityLevel,Ah=s.unstable_ImmediatePriority,Eh=s.unstable_UserBlockingPriority,po=s.unstable_NormalPriority,U_=s.unstable_LowPriority,Th=s.unstable_IdlePriority,I_=s.log,H_=s.unstable_setDisableYieldValue,Os=null,Gt=null;function va(e){if(typeof I_=="function"&&H_(e),Gt&&typeof Gt.setStrictMode=="function")try{Gt.setStrictMode(Os,e)}catch{}}var Yt=Math.clz32?Math.clz32:$_,q_=Math.log,B_=Math.LN2;function $_(e){return e>>>=0,e===0?32:31-(q_(e)/B_|0)|0}var mo=256,go=262144,vo=4194304;function Ja(e){var t=e&42;if(t!==0)return t;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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function yo(e,t,i){var o=e.pendingLanes;if(o===0)return 0;var u=0,d=e.suspendedLanes,v=e.pingedLanes;e=e.warmLanes;var _=o&134217727;return _!==0?(o=_&~d,o!==0?u=Ja(o):(v&=_,v!==0?u=Ja(v):i||(i=_&~e,i!==0&&(u=Ja(i))))):(_=o&~d,_!==0?u=Ja(_):v!==0?u=Ja(v):i||(i=o&~e,i!==0&&(u=Ja(i)))),u===0?0:t!==0&&t!==u&&(t&d)===0&&(d=u&-u,i=t&-t,d>=i||d===32&&(i&4194048)!==0)?t:u}function Ls(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function V_(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32: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:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Nh(){var e=vo;return vo<<=1,(vo&62914560)===0&&(vo=4194304),e}function xc(e){for(var t=[],i=0;31>i;i++)t.push(e);return t}function Fs(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function G_(e,t,i,o,u,d){var v=e.pendingLanes;e.pendingLanes=i,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=i,e.entangledLanes&=i,e.errorRecoveryDisabledLanes&=i,e.shellSuspendCounter=0;var _=e.entanglements,w=e.expirationTimes,P=e.hiddenUpdates;for(i=v&~i;0<i;){var H=31-Yt(i),G=1<<H;_[H]=0,w[H]=-1;var O=P[H];if(O!==null)for(P[H]=null,H=0;H<O.length;H++){var z=O[H];z!==null&&(z.lane&=-536870913)}i&=~G}o!==0&&Mh(e,o,0),d!==0&&u===0&&e.tag!==0&&(e.suspendedLanes|=d&~(v&~t))}function Mh(e,t,i){e.pendingLanes|=t,e.suspendedLanes&=~t;var o=31-Yt(t);e.entangledLanes|=t,e.entanglements[o]=e.entanglements[o]|1073741824|i&261930}function jh(e,t){var i=e.entangledLanes|=t;for(e=e.entanglements;i;){var o=31-Yt(i),u=1<<o;u&t|e[o]&t&&(e[o]|=t),i&=~u}}function Rh(e,t){var i=t&-t;return i=(i&42)!==0?1:wc(i),(i&(e.suspendedLanes|t))!==0?0:i}function wc(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;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:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function Cc(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Dh(){var e=K.p;return e!==0?e:(e=window.event,e===void 0?32:yv(e.type))}function Ph(e,t){var i=K.p;try{return K.p=e,t()}finally{K.p=i}}var ya=Math.random().toString(36).slice(2),_t="__reactFiber$"+ya,Dt="__reactProps$"+ya,Ei="__reactContainer$"+ya,kc="__reactEvents$"+ya,Y_="__reactListeners$"+ya,K_="__reactHandles$"+ya,Oh="__reactResources$"+ya,zs="__reactMarker$"+ya;function Ac(e){delete e[_t],delete e[Dt],delete e[kc],delete e[Y_],delete e[K_]}function Ti(e){var t=e[_t];if(t)return t;for(var i=e.parentNode;i;){if(t=i[Ei]||i[_t]){if(i=t.alternate,t.child!==null||i!==null&&i.child!==null)for(e=nv(e);e!==null;){if(i=e[_t])return i;e=nv(e)}return t}e=i,i=e.parentNode}return null}function Ni(e){if(e=e[_t]||e[Ei]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Us(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(r(33))}function Mi(e){var t=e[Oh];return t||(t=e[Oh]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function gt(e){e[zs]=!0}var Lh=new Set,Fh={};function ei(e,t){ji(e,t),ji(e+"Capture",t)}function ji(e,t){for(Fh[e]=t,e=0;e<t.length;e++)Lh.add(t[e])}var X_=RegExp("^[: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]*$"),zh={},Uh={};function Q_(e){return Mt.call(Uh,e)?!0:Mt.call(zh,e)?!1:X_.test(e)?Uh[e]=!0:(zh[e]=!0,!1)}function bo(e,t,i){if(Q_(t))if(i===null)e.removeAttribute(t);else{switch(typeof i){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var o=t.toLowerCase().slice(0,5);if(o!=="data-"&&o!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+i)}}function _o(e,t,i){if(i===null)e.removeAttribute(t);else{switch(typeof i){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+i)}}function In(e,t,i,o){if(o===null)e.removeAttribute(i);else{switch(typeof o){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(i);return}e.setAttributeNS(t,i,""+o)}}function on(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Ih(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Z_(e,t,i){var o=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof o<"u"&&typeof o.get=="function"&&typeof o.set=="function"){var u=o.get,d=o.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return u.call(this)},set:function(v){i=""+v,d.call(this,v)}}),Object.defineProperty(e,t,{enumerable:o.enumerable}),{getValue:function(){return i},setValue:function(v){i=""+v},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ec(e){if(!e._valueTracker){var t=Ih(e)?"checked":"value";e._valueTracker=Z_(e,t,""+e[t])}}function Hh(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var i=t.getValue(),o="";return e&&(o=Ih(e)?e.checked?"true":"false":e.value),e=o,e!==i?(t.setValue(e),!0):!1}function So(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}}var W_=/[\n"\\]/g;function ln(e){return e.replace(W_,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Tc(e,t,i,o,u,d,v,_){e.name="",v!=null&&typeof v!="function"&&typeof v!="symbol"&&typeof v!="boolean"?e.type=v:e.removeAttribute("type"),t!=null?v==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+on(t)):e.value!==""+on(t)&&(e.value=""+on(t)):v!=="submit"&&v!=="reset"||e.removeAttribute("value"),t!=null?Nc(e,v,on(t)):i!=null?Nc(e,v,on(i)):o!=null&&e.removeAttribute("value"),u==null&&d!=null&&(e.defaultChecked=!!d),u!=null&&(e.checked=u&&typeof u!="function"&&typeof u!="symbol"),_!=null&&typeof _!="function"&&typeof _!="symbol"&&typeof _!="boolean"?e.name=""+on(_):e.removeAttribute("name")}function qh(e,t,i,o,u,d,v,_){if(d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"&&(e.type=d),t!=null||i!=null){if(!(d!=="submit"&&d!=="reset"||t!=null)){Ec(e);return}i=i!=null?""+on(i):"",t=t!=null?""+on(t):i,_||t===e.value||(e.value=t),e.defaultValue=t}o=o??u,o=typeof o!="function"&&typeof o!="symbol"&&!!o,e.checked=_?e.checked:!!o,e.defaultChecked=!!o,v!=null&&typeof v!="function"&&typeof v!="symbol"&&typeof v!="boolean"&&(e.name=v),Ec(e)}function Nc(e,t,i){t==="number"&&So(e.ownerDocument)===e||e.defaultValue===""+i||(e.defaultValue=""+i)}function Ri(e,t,i,o){if(e=e.options,t){t={};for(var u=0;u<i.length;u++)t["$"+i[u]]=!0;for(i=0;i<e.length;i++)u=t.hasOwnProperty("$"+e[i].value),e[i].selected!==u&&(e[i].selected=u),u&&o&&(e[i].defaultSelected=!0)}else{for(i=""+on(i),t=null,u=0;u<e.length;u++){if(e[u].value===i){e[u].selected=!0,o&&(e[u].defaultSelected=!0);return}t!==null||e[u].disabled||(t=e[u])}t!==null&&(t.selected=!0)}}function Bh(e,t,i){if(t!=null&&(t=""+on(t),t!==e.value&&(e.value=t),i==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=i!=null?""+on(i):""}function $h(e,t,i,o){if(t==null){if(o!=null){if(i!=null)throw Error(r(92));if(ye(o)){if(1<o.length)throw Error(r(93));o=o[0]}i=o}i==null&&(i=""),t=i}i=on(t),e.defaultValue=i,o=e.textContent,o===i&&o!==""&&o!==null&&(e.value=o),Ec(e)}function Di(e,t){if(t){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=t;return}}e.textContent=t}var J_=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Vh(e,t,i){var o=t.indexOf("--")===0;i==null||typeof i=="boolean"||i===""?o?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":o?e.setProperty(t,i):typeof i!="number"||i===0||J_.has(t)?t==="float"?e.cssFloat=i:e[t]=(""+i).trim():e[t]=i+"px"}function Gh(e,t,i){if(t!=null&&typeof t!="object")throw Error(r(62));if(e=e.style,i!=null){for(var o in i)!i.hasOwnProperty(o)||t!=null&&t.hasOwnProperty(o)||(o.indexOf("--")===0?e.setProperty(o,""):o==="float"?e.cssFloat="":e[o]="");for(var u in t)o=t[u],t.hasOwnProperty(u)&&i[u]!==o&&Vh(e,u,o)}else for(var d in t)t.hasOwnProperty(d)&&Vh(e,d,t[d])}function Mc(e){if(e.indexOf("-")===-1)return!1;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 eS=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),tS=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function xo(e){return tS.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function Hn(){}var jc=null;function Rc(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Pi=null,Oi=null;function Yh(e){var t=Ni(e);if(t&&(e=t.stateNode)){var i=e[Dt]||null;e:switch(e=t.stateNode,t.type){case"input":if(Tc(e,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name),t=i.name,i.type==="radio"&&t!=null){for(i=e;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll('input[name="'+ln(""+t)+'"][type="radio"]'),t=0;t<i.length;t++){var o=i[t];if(o!==e&&o.form===e.form){var u=o[Dt]||null;if(!u)throw Error(r(90));Tc(o,u.value,u.defaultValue,u.defaultValue,u.checked,u.defaultChecked,u.type,u.name)}}for(t=0;t<i.length;t++)o=i[t],o.form===e.form&&Hh(o)}break e;case"textarea":Bh(e,i.value,i.defaultValue);break e;case"select":t=i.value,t!=null&&Ri(e,!!i.multiple,t,!1)}}}var Dc=!1;function Kh(e,t,i){if(Dc)return e(t,i);Dc=!0;try{var o=e(t);return o}finally{if(Dc=!1,(Pi!==null||Oi!==null)&&(cl(),Pi&&(t=Pi,e=Oi,Oi=Pi=null,Yh(t),e)))for(t=0;t<e.length;t++)Yh(e[t])}}function Is(e,t){var i=e.stateNode;if(i===null)return null;var o=i[Dt]||null;if(o===null)return null;i=o[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":(o=!o.disabled)||(e=e.type,o=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!o;break e;default:e=!1}if(e)return null;if(i&&typeof i!="function")throw Error(r(231,t,typeof i));return i}var qn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Pc=!1;if(qn)try{var Hs={};Object.defineProperty(Hs,"passive",{get:function(){Pc=!0}}),window.addEventListener("test",Hs,Hs),window.removeEventListener("test",Hs,Hs)}catch{Pc=!1}var ba=null,Oc=null,wo=null;function Xh(){if(wo)return wo;var e,t=Oc,i=t.length,o,u="value"in ba?ba.value:ba.textContent,d=u.length;for(e=0;e<i&&t[e]===u[e];e++);var v=i-e;for(o=1;o<=v&&t[i-o]===u[d-o];o++);return wo=u.slice(e,1<o?1-o:void 0)}function Co(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 ko(){return!0}function Qh(){return!1}function Pt(e){function t(i,o,u,d,v){this._reactName=i,this._targetInst=u,this.type=o,this.nativeEvent=d,this.target=v,this.currentTarget=null;for(var _ in e)e.hasOwnProperty(_)&&(i=e[_],this[_]=i?i(d):d[_]);return this.isDefaultPrevented=(d.defaultPrevented!=null?d.defaultPrevented:d.returnValue===!1)?ko:Qh,this.isPropagationStopped=Qh,this}return b(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var i=this.nativeEvent;i&&(i.preventDefault?i.preventDefault():typeof i.returnValue!="unknown"&&(i.returnValue=!1),this.isDefaultPrevented=ko)},stopPropagation:function(){var i=this.nativeEvent;i&&(i.stopPropagation?i.stopPropagation():typeof i.cancelBubble!="unknown"&&(i.cancelBubble=!0),this.isPropagationStopped=ko)},persist:function(){},isPersistent:ko}),t}var ti={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ao=Pt(ti),qs=b({},ti,{view:0,detail:0}),nS=Pt(qs),Lc,Fc,Bs,Eo=b({},qs,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Uc,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!==Bs&&(Bs&&e.type==="mousemove"?(Lc=e.screenX-Bs.screenX,Fc=e.screenY-Bs.screenY):Fc=Lc=0,Bs=e),Lc)},movementY:function(e){return"movementY"in e?e.movementY:Fc}}),Zh=Pt(Eo),aS=b({},Eo,{dataTransfer:0}),iS=Pt(aS),sS=b({},qs,{relatedTarget:0}),zc=Pt(sS),rS=b({},ti,{animationName:0,elapsedTime:0,pseudoElement:0}),oS=Pt(rS),lS=b({},ti,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),cS=Pt(lS),uS=b({},ti,{data:0}),Wh=Pt(uS),dS={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},fS={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"},hS={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function pS(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=hS[e])?!!t[e]:!1}function Uc(){return pS}var mS=b({},qs,{key:function(e){if(e.key){var t=dS[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Co(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?fS[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Uc,charCode:function(e){return e.type==="keypress"?Co(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Co(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),gS=Pt(mS),vS=b({},Eo,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Jh=Pt(vS),yS=b({},qs,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Uc}),bS=Pt(yS),_S=b({},ti,{propertyName:0,elapsedTime:0,pseudoElement:0}),SS=Pt(_S),xS=b({},Eo,{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}),wS=Pt(xS),CS=b({},ti,{newState:0,oldState:0}),kS=Pt(CS),AS=[9,13,27,32],Ic=qn&&"CompositionEvent"in window,$s=null;qn&&"documentMode"in document&&($s=document.documentMode);var ES=qn&&"TextEvent"in window&&!$s,ep=qn&&(!Ic||$s&&8<$s&&11>=$s),tp=" ",np=!1;function ap(e,t){switch(e){case"keyup":return AS.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ip(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Li=!1;function TS(e,t){switch(e){case"compositionend":return ip(t);case"keypress":return t.which!==32?null:(np=!0,tp);case"textInput":return e=t.data,e===tp&&np?null:e;default:return null}}function NS(e,t){if(Li)return e==="compositionend"||!Ic&&ap(e,t)?(e=Xh(),wo=Oc=ba=null,Li=!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 ep&&t.locale!=="ko"?null:t.data;default:return null}}var MS={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 sp(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!MS[e.type]:t==="textarea"}function rp(e,t,i,o){Pi?Oi?Oi.push(o):Oi=[o]:Pi=o,t=gl(t,"onChange"),0<t.length&&(i=new Ao("onChange","change",null,i,o),e.push({event:i,listeners:t}))}var Vs=null,Gs=null;function jS(e){qg(e,0)}function To(e){var t=Us(e);if(Hh(t))return e}function op(e,t){if(e==="change")return t}var lp=!1;if(qn){var Hc;if(qn){var qc="oninput"in document;if(!qc){var cp=document.createElement("div");cp.setAttribute("oninput","return;"),qc=typeof cp.oninput=="function"}Hc=qc}else Hc=!1;lp=Hc&&(!document.documentMode||9<document.documentMode)}function up(){Vs&&(Vs.detachEvent("onpropertychange",dp),Gs=Vs=null)}function dp(e){if(e.propertyName==="value"&&To(Gs)){var t=[];rp(t,Gs,e,Rc(e)),Kh(jS,t)}}function RS(e,t,i){e==="focusin"?(up(),Vs=t,Gs=i,Vs.attachEvent("onpropertychange",dp)):e==="focusout"&&up()}function DS(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return To(Gs)}function PS(e,t){if(e==="click")return To(t)}function OS(e,t){if(e==="input"||e==="change")return To(t)}function LS(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Kt=typeof Object.is=="function"?Object.is:LS;function Ys(e,t){if(Kt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var i=Object.keys(e),o=Object.keys(t);if(i.length!==o.length)return!1;for(o=0;o<i.length;o++){var u=i[o];if(!Mt.call(t,u)||!Kt(e[u],t[u]))return!1}return!0}function fp(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function hp(e,t){var i=fp(e);e=0;for(var o;i;){if(i.nodeType===3){if(o=e+i.textContent.length,e<=t&&o>=t)return{node:i,offset:t-e};e=o}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=fp(i)}}function pp(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?pp(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function mp(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=So(e.document);t instanceof e.HTMLIFrameElement;){try{var i=typeof t.contentWindow.location.href=="string"}catch{i=!1}if(i)e=t.contentWindow;else break;t=So(e.document)}return t}function Bc(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")}var FS=qn&&"documentMode"in document&&11>=document.documentMode,Fi=null,$c=null,Ks=null,Vc=!1;function gp(e,t,i){var o=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;Vc||Fi==null||Fi!==So(o)||(o=Fi,"selectionStart"in o&&Bc(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),Ks&&Ys(Ks,o)||(Ks=o,o=gl($c,"onSelect"),0<o.length&&(t=new Ao("onSelect","select",null,t,i),e.push({event:t,listeners:o}),t.target=Fi)))}function ni(e,t){var i={};return i[e.toLowerCase()]=t.toLowerCase(),i["Webkit"+e]="webkit"+t,i["Moz"+e]="moz"+t,i}var zi={animationend:ni("Animation","AnimationEnd"),animationiteration:ni("Animation","AnimationIteration"),animationstart:ni("Animation","AnimationStart"),transitionrun:ni("Transition","TransitionRun"),transitionstart:ni("Transition","TransitionStart"),transitioncancel:ni("Transition","TransitionCancel"),transitionend:ni("Transition","TransitionEnd")},Gc={},vp={};qn&&(vp=document.createElement("div").style,"AnimationEvent"in window||(delete zi.animationend.animation,delete zi.animationiteration.animation,delete zi.animationstart.animation),"TransitionEvent"in window||delete zi.transitionend.transition);function ai(e){if(Gc[e])return Gc[e];if(!zi[e])return e;var t=zi[e],i;for(i in t)if(t.hasOwnProperty(i)&&i in vp)return Gc[e]=t[i];return e}var yp=ai("animationend"),bp=ai("animationiteration"),_p=ai("animationstart"),zS=ai("transitionrun"),US=ai("transitionstart"),IS=ai("transitioncancel"),Sp=ai("transitionend"),xp=new Map,Yc="abort auxClick beforeToggle 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(" ");Yc.push("scrollEnd");function wn(e,t){xp.set(e,t),ei(t,[e])}var No=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},cn=[],Ui=0,Kc=0;function Mo(){for(var e=Ui,t=Kc=Ui=0;t<e;){var i=cn[t];cn[t++]=null;var o=cn[t];cn[t++]=null;var u=cn[t];cn[t++]=null;var d=cn[t];if(cn[t++]=null,o!==null&&u!==null){var v=o.pending;v===null?u.next=u:(u.next=v.next,v.next=u),o.pending=u}d!==0&&wp(i,u,d)}}function jo(e,t,i,o){cn[Ui++]=e,cn[Ui++]=t,cn[Ui++]=i,cn[Ui++]=o,Kc|=o,e.lanes|=o,e=e.alternate,e!==null&&(e.lanes|=o)}function Xc(e,t,i,o){return jo(e,t,i,o),Ro(e)}function ii(e,t){return jo(e,null,null,t),Ro(e)}function wp(e,t,i){e.lanes|=i;var o=e.alternate;o!==null&&(o.lanes|=i);for(var u=!1,d=e.return;d!==null;)d.childLanes|=i,o=d.alternate,o!==null&&(o.childLanes|=i),d.tag===22&&(e=d.stateNode,e===null||e._visibility&1||(u=!0)),e=d,d=d.return;return e.tag===3?(d=e.stateNode,u&&t!==null&&(u=31-Yt(i),e=d.hiddenUpdates,o=e[u],o===null?e[u]=[t]:o.push(t),t.lane=i|536870912),d):null}function Ro(e){if(50<gr)throw gr=0,id=null,Error(r(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Ii={};function HS(e,t,i,o){this.tag=e,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Xt(e,t,i,o){return new HS(e,t,i,o)}function Qc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Bn(e,t){var i=e.alternate;return i===null?(i=Xt(e.tag,t,e.key,e.mode),i.elementType=e.elementType,i.type=e.type,i.stateNode=e.stateNode,i.alternate=e,e.alternate=i):(i.pendingProps=t,i.type=e.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=e.flags&65011712,i.childLanes=e.childLanes,i.lanes=e.lanes,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,t=e.dependencies,i.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},i.sibling=e.sibling,i.index=e.index,i.ref=e.ref,i.refCleanup=e.refCleanup,i}function Cp(e,t){e.flags&=65011714;var i=e.alternate;return i===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=i.childLanes,e.lanes=i.lanes,e.child=i.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=i.memoizedProps,e.memoizedState=i.memoizedState,e.updateQueue=i.updateQueue,e.type=i.type,t=i.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Do(e,t,i,o,u,d){var v=0;if(o=e,typeof e=="function")Qc(e)&&(v=1);else if(typeof e=="string")v=Gx(e,i,ue.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case Z:return e=Xt(31,i,t,u),e.elementType=Z,e.lanes=d,e;case k:return si(i.children,u,d,t);case A:v=8,u|=24;break;case M:return e=Xt(12,i,t,u|2),e.elementType=M,e.lanes=d,e;case B:return e=Xt(13,i,t,u),e.elementType=B,e.lanes=d,e;case V:return e=Xt(19,i,t,u),e.elementType=V,e.lanes=d,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case D:v=10;break e;case j:v=9;break e;case q:v=11;break e;case I:v=14;break e;case L:v=16,o=null;break e}v=29,i=Error(r(130,e===null?"null":typeof e,"")),o=null}return t=Xt(v,i,t,u),t.elementType=e,t.type=o,t.lanes=d,t}function si(e,t,i,o){return e=Xt(7,e,o,t),e.lanes=i,e}function Zc(e,t,i){return e=Xt(6,e,null,t),e.lanes=i,e}function kp(e){var t=Xt(18,null,null,0);return t.stateNode=e,t}function Wc(e,t,i){return t=Xt(4,e.children!==null?e.children:[],e.key,t),t.lanes=i,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Ap=new WeakMap;function un(e,t){if(typeof e=="object"&&e!==null){var i=Ap.get(e);return i!==void 0?i:(t={value:e,source:t,stack:bt(t)},Ap.set(e,t),t)}return{value:e,source:t,stack:bt(t)}}var Hi=[],qi=0,Po=null,Xs=0,dn=[],fn=0,_a=null,jn=1,Rn="";function $n(e,t){Hi[qi++]=Xs,Hi[qi++]=Po,Po=e,Xs=t}function Ep(e,t,i){dn[fn++]=jn,dn[fn++]=Rn,dn[fn++]=_a,_a=e;var o=jn;e=Rn;var u=32-Yt(o)-1;o&=~(1<<u),i+=1;var d=32-Yt(t)+u;if(30<d){var v=u-u%5;d=(o&(1<<v)-1).toString(32),o>>=v,u-=v,jn=1<<32-Yt(t)+u|i<<u|o,Rn=d+e}else jn=1<<d|i<<u|o,Rn=e}function Jc(e){e.return!==null&&($n(e,1),Ep(e,1,0))}function eu(e){for(;e===Po;)Po=Hi[--qi],Hi[qi]=null,Xs=Hi[--qi],Hi[qi]=null;for(;e===_a;)_a=dn[--fn],dn[fn]=null,Rn=dn[--fn],dn[fn]=null,jn=dn[--fn],dn[fn]=null}function Tp(e,t){dn[fn++]=jn,dn[fn++]=Rn,dn[fn++]=_a,jn=t.id,Rn=t.overflow,_a=e}var St=null,Ye=null,Te=!1,Sa=null,hn=!1,tu=Error(r(519));function xa(e){var t=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Qs(un(t,e)),tu}function Np(e){var t=e.stateNode,i=e.type,o=e.memoizedProps;switch(t[_t]=e,t[Dt]=o,i){case"dialog":Ce("cancel",t),Ce("close",t);break;case"iframe":case"object":case"embed":Ce("load",t);break;case"video":case"audio":for(i=0;i<yr.length;i++)Ce(yr[i],t);break;case"source":Ce("error",t);break;case"img":case"image":case"link":Ce("error",t),Ce("load",t);break;case"details":Ce("toggle",t);break;case"input":Ce("invalid",t),qh(t,o.value,o.defaultValue,o.checked,o.defaultChecked,o.type,o.name,!0);break;case"select":Ce("invalid",t);break;case"textarea":Ce("invalid",t),$h(t,o.value,o.defaultValue,o.children)}i=o.children,typeof i!="string"&&typeof i!="number"&&typeof i!="bigint"||t.textContent===""+i||o.suppressHydrationWarning===!0||Gg(t.textContent,i)?(o.popover!=null&&(Ce("beforetoggle",t),Ce("toggle",t)),o.onScroll!=null&&Ce("scroll",t),o.onScrollEnd!=null&&Ce("scrollend",t),o.onClick!=null&&(t.onclick=Hn),t=!0):t=!1,t||xa(e,!0)}function Mp(e){for(St=e.return;St;)switch(St.tag){case 5:case 31:case 13:hn=!1;return;case 27:case 3:hn=!0;return;default:St=St.return}}function Bi(e){if(e!==St)return!1;if(!Te)return Mp(e),Te=!0,!1;var t=e.tag,i;if((i=t!==3&&t!==27)&&((i=t===5)&&(i=e.type,i=!(i!=="form"&&i!=="button")||bd(e.type,e.memoizedProps)),i=!i),i&&Ye&&xa(e),Mp(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(317));Ye=tv(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(317));Ye=tv(e)}else t===27?(t=Ye,La(e.type)?(e=Cd,Cd=null,Ye=e):Ye=t):Ye=St?mn(e.stateNode.nextSibling):null;return!0}function ri(){Ye=St=null,Te=!1}function nu(){var e=Sa;return e!==null&&(zt===null?zt=e:zt.push.apply(zt,e),Sa=null),e}function Qs(e){Sa===null?Sa=[e]:Sa.push(e)}var au=Pe(null),oi=null,Vn=null;function wa(e,t,i){te(au,t._currentValue),t._currentValue=i}function Gn(e){e._currentValue=au.current,fe(au)}function iu(e,t,i){for(;e!==null;){var o=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,o!==null&&(o.childLanes|=t)):o!==null&&(o.childLanes&t)!==t&&(o.childLanes|=t),e===i)break;e=e.return}}function su(e,t,i,o){var u=e.child;for(u!==null&&(u.return=e);u!==null;){var d=u.dependencies;if(d!==null){var v=u.child;d=d.firstContext;e:for(;d!==null;){var _=d;d=u;for(var w=0;w<t.length;w++)if(_.context===t[w]){d.lanes|=i,_=d.alternate,_!==null&&(_.lanes|=i),iu(d.return,i,e),o||(v=null);break e}d=_.next}}else if(u.tag===18){if(v=u.return,v===null)throw Error(r(341));v.lanes|=i,d=v.alternate,d!==null&&(d.lanes|=i),iu(v,i,e),v=null}else v=u.child;if(v!==null)v.return=u;else for(v=u;v!==null;){if(v===e){v=null;break}if(u=v.sibling,u!==null){u.return=v.return,v=u;break}v=v.return}u=v}}function $i(e,t,i,o){e=null;for(var u=t,d=!1;u!==null;){if(!d){if((u.flags&524288)!==0)d=!0;else if((u.flags&262144)!==0)break}if(u.tag===10){var v=u.alternate;if(v===null)throw Error(r(387));if(v=v.memoizedProps,v!==null){var _=u.type;Kt(u.pendingProps.value,v.value)||(e!==null?e.push(_):e=[_])}}else if(u===qe.current){if(v=u.alternate,v===null)throw Error(r(387));v.memoizedState.memoizedState!==u.memoizedState.memoizedState&&(e!==null?e.push(wr):e=[wr])}u=u.return}e!==null&&su(t,e,i,o),t.flags|=262144}function Oo(e){for(e=e.firstContext;e!==null;){if(!Kt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function li(e){oi=e,Vn=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function xt(e){return jp(oi,e)}function Lo(e,t){return oi===null&&li(e),jp(e,t)}function jp(e,t){var i=t._currentValue;if(t={context:t,memoizedValue:i,next:null},Vn===null){if(e===null)throw Error(r(308));Vn=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Vn=Vn.next=t;return i}var qS=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(i,o){e.push(o)}};this.abort=function(){t.aborted=!0,e.forEach(function(i){return i()})}},BS=s.unstable_scheduleCallback,$S=s.unstable_NormalPriority,ot={$$typeof:D,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function ru(){return{controller:new qS,data:new Map,refCount:0}}function Zs(e){e.refCount--,e.refCount===0&&BS($S,function(){e.controller.abort()})}var Ws=null,ou=0,Vi=0,Gi=null;function VS(e,t){if(Ws===null){var i=Ws=[];ou=0,Vi=ud(),Gi={status:"pending",value:void 0,then:function(o){i.push(o)}}}return ou++,t.then(Rp,Rp),t}function Rp(){if(--ou===0&&Ws!==null){Gi!==null&&(Gi.status="fulfilled");var e=Ws;Ws=null,Vi=0,Gi=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function GS(e,t){var i=[],o={status:"pending",value:null,reason:null,then:function(u){i.push(u)}};return e.then(function(){o.status="fulfilled",o.value=t;for(var u=0;u<i.length;u++)(0,i[u])(t)},function(u){for(o.status="rejected",o.reason=u,u=0;u<i.length;u++)(0,i[u])(void 0)}),o}var Dp=F.S;F.S=function(e,t){gg=Vt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&VS(e,t),Dp!==null&&Dp(e,t)};var ci=Pe(null);function lu(){var e=ci.current;return e!==null?e:Be.pooledCache}function Fo(e,t){t===null?te(ci,ci.current):te(ci,t.pool)}function Pp(){var e=lu();return e===null?null:{parent:ot._currentValue,pool:e}}var Yi=Error(r(460)),cu=Error(r(474)),zo=Error(r(542)),Uo={then:function(){}};function Op(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Lp(e,t,i){switch(i=e[i],i===void 0?e.push(t):i!==t&&(t.then(Hn,Hn),t=i),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,zp(e),e;default:if(typeof t.status=="string")t.then(Hn,Hn);else{if(e=Be,e!==null&&100<e.shellSuspendCounter)throw Error(r(482));e=t,e.status="pending",e.then(function(o){if(t.status==="pending"){var u=t;u.status="fulfilled",u.value=o}},function(o){if(t.status==="pending"){var u=t;u.status="rejected",u.reason=o}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,zp(e),e}throw di=t,Yi}}function ui(e){try{var t=e._init;return t(e._payload)}catch(i){throw i!==null&&typeof i=="object"&&typeof i.then=="function"?(di=i,Yi):i}}var di=null;function Fp(){if(di===null)throw Error(r(459));var e=di;return di=null,e}function zp(e){if(e===Yi||e===zo)throw Error(r(483))}var Ki=null,Js=0;function Io(e){var t=Js;return Js+=1,Ki===null&&(Ki=[]),Lp(Ki,e,t)}function er(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function Ho(e,t){throw t.$$typeof===x?Error(r(525)):(e=Object.prototype.toString.call(t),Error(r(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function Up(e){function t(N,E){if(e){var R=N.deletions;R===null?(N.deletions=[E],N.flags|=16):R.push(E)}}function i(N,E){if(!e)return null;for(;E!==null;)t(N,E),E=E.sibling;return null}function o(N){for(var E=new Map;N!==null;)N.key!==null?E.set(N.key,N):E.set(N.index,N),N=N.sibling;return E}function u(N,E){return N=Bn(N,E),N.index=0,N.sibling=null,N}function d(N,E,R){return N.index=R,e?(R=N.alternate,R!==null?(R=R.index,R<E?(N.flags|=67108866,E):R):(N.flags|=67108866,E)):(N.flags|=1048576,E)}function v(N){return e&&N.alternate===null&&(N.flags|=67108866),N}function _(N,E,R,$){return E===null||E.tag!==6?(E=Zc(R,N.mode,$),E.return=N,E):(E=u(E,R),E.return=N,E)}function w(N,E,R,$){var le=R.type;return le===k?H(N,E,R.props.children,$,R.key):E!==null&&(E.elementType===le||typeof le=="object"&&le!==null&&le.$$typeof===L&&ui(le)===E.type)?(E=u(E,R.props),er(E,R),E.return=N,E):(E=Do(R.type,R.key,R.props,null,N.mode,$),er(E,R),E.return=N,E)}function P(N,E,R,$){return E===null||E.tag!==4||E.stateNode.containerInfo!==R.containerInfo||E.stateNode.implementation!==R.implementation?(E=Wc(R,N.mode,$),E.return=N,E):(E=u(E,R.children||[]),E.return=N,E)}function H(N,E,R,$,le){return E===null||E.tag!==7?(E=si(R,N.mode,$,le),E.return=N,E):(E=u(E,R),E.return=N,E)}function G(N,E,R){if(typeof E=="string"&&E!==""||typeof E=="number"||typeof E=="bigint")return E=Zc(""+E,N.mode,R),E.return=N,E;if(typeof E=="object"&&E!==null){switch(E.$$typeof){case C:return R=Do(E.type,E.key,E.props,null,N.mode,R),er(R,E),R.return=N,R;case T:return E=Wc(E,N.mode,R),E.return=N,E;case L:return E=ui(E),G(N,E,R)}if(ye(E)||ge(E))return E=si(E,N.mode,R,null),E.return=N,E;if(typeof E.then=="function")return G(N,Io(E),R);if(E.$$typeof===D)return G(N,Lo(N,E),R);Ho(N,E)}return null}function O(N,E,R,$){var le=E!==null?E.key:null;if(typeof R=="string"&&R!==""||typeof R=="number"||typeof R=="bigint")return le!==null?null:_(N,E,""+R,$);if(typeof R=="object"&&R!==null){switch(R.$$typeof){case C:return R.key===le?w(N,E,R,$):null;case T:return R.key===le?P(N,E,R,$):null;case L:return R=ui(R),O(N,E,R,$)}if(ye(R)||ge(R))return le!==null?null:H(N,E,R,$,null);if(typeof R.then=="function")return O(N,E,Io(R),$);if(R.$$typeof===D)return O(N,E,Lo(N,R),$);Ho(N,R)}return null}function z(N,E,R,$,le){if(typeof $=="string"&&$!==""||typeof $=="number"||typeof $=="bigint")return N=N.get(R)||null,_(E,N,""+$,le);if(typeof $=="object"&&$!==null){switch($.$$typeof){case C:return N=N.get($.key===null?R:$.key)||null,w(E,N,$,le);case T:return N=N.get($.key===null?R:$.key)||null,P(E,N,$,le);case L:return $=ui($),z(N,E,R,$,le)}if(ye($)||ge($))return N=N.get(R)||null,H(E,N,$,le,null);if(typeof $.then=="function")return z(N,E,R,Io($),le);if($.$$typeof===D)return z(N,E,R,Lo(E,$),le);Ho(E,$)}return null}function ne(N,E,R,$){for(var le=null,Ne=null,se=E,ve=E=0,Ee=null;se!==null&&ve<R.length;ve++){se.index>ve?(Ee=se,se=null):Ee=se.sibling;var Me=O(N,se,R[ve],$);if(Me===null){se===null&&(se=Ee);break}e&&se&&Me.alternate===null&&t(N,se),E=d(Me,E,ve),Ne===null?le=Me:Ne.sibling=Me,Ne=Me,se=Ee}if(ve===R.length)return i(N,se),Te&&$n(N,ve),le;if(se===null){for(;ve<R.length;ve++)se=G(N,R[ve],$),se!==null&&(E=d(se,E,ve),Ne===null?le=se:Ne.sibling=se,Ne=se);return Te&&$n(N,ve),le}for(se=o(se);ve<R.length;ve++)Ee=z(se,N,ve,R[ve],$),Ee!==null&&(e&&Ee.alternate!==null&&se.delete(Ee.key===null?ve:Ee.key),E=d(Ee,E,ve),Ne===null?le=Ee:Ne.sibling=Ee,Ne=Ee);return e&&se.forEach(function(Ha){return t(N,Ha)}),Te&&$n(N,ve),le}function de(N,E,R,$){if(R==null)throw Error(r(151));for(var le=null,Ne=null,se=E,ve=E=0,Ee=null,Me=R.next();se!==null&&!Me.done;ve++,Me=R.next()){se.index>ve?(Ee=se,se=null):Ee=se.sibling;var Ha=O(N,se,Me.value,$);if(Ha===null){se===null&&(se=Ee);break}e&&se&&Ha.alternate===null&&t(N,se),E=d(Ha,E,ve),Ne===null?le=Ha:Ne.sibling=Ha,Ne=Ha,se=Ee}if(Me.done)return i(N,se),Te&&$n(N,ve),le;if(se===null){for(;!Me.done;ve++,Me=R.next())Me=G(N,Me.value,$),Me!==null&&(E=d(Me,E,ve),Ne===null?le=Me:Ne.sibling=Me,Ne=Me);return Te&&$n(N,ve),le}for(se=o(se);!Me.done;ve++,Me=R.next())Me=z(se,N,ve,Me.value,$),Me!==null&&(e&&Me.alternate!==null&&se.delete(Me.key===null?ve:Me.key),E=d(Me,E,ve),Ne===null?le=Me:Ne.sibling=Me,Ne=Me);return e&&se.forEach(function(aw){return t(N,aw)}),Te&&$n(N,ve),le}function He(N,E,R,$){if(typeof R=="object"&&R!==null&&R.type===k&&R.key===null&&(R=R.props.children),typeof R=="object"&&R!==null){switch(R.$$typeof){case C:e:{for(var le=R.key;E!==null;){if(E.key===le){if(le=R.type,le===k){if(E.tag===7){i(N,E.sibling),$=u(E,R.props.children),$.return=N,N=$;break e}}else if(E.elementType===le||typeof le=="object"&&le!==null&&le.$$typeof===L&&ui(le)===E.type){i(N,E.sibling),$=u(E,R.props),er($,R),$.return=N,N=$;break e}i(N,E);break}else t(N,E);E=E.sibling}R.type===k?($=si(R.props.children,N.mode,$,R.key),$.return=N,N=$):($=Do(R.type,R.key,R.props,null,N.mode,$),er($,R),$.return=N,N=$)}return v(N);case T:e:{for(le=R.key;E!==null;){if(E.key===le)if(E.tag===4&&E.stateNode.containerInfo===R.containerInfo&&E.stateNode.implementation===R.implementation){i(N,E.sibling),$=u(E,R.children||[]),$.return=N,N=$;break e}else{i(N,E);break}else t(N,E);E=E.sibling}$=Wc(R,N.mode,$),$.return=N,N=$}return v(N);case L:return R=ui(R),He(N,E,R,$)}if(ye(R))return ne(N,E,R,$);if(ge(R)){if(le=ge(R),typeof le!="function")throw Error(r(150));return R=le.call(R),de(N,E,R,$)}if(typeof R.then=="function")return He(N,E,Io(R),$);if(R.$$typeof===D)return He(N,E,Lo(N,R),$);Ho(N,R)}return typeof R=="string"&&R!==""||typeof R=="number"||typeof R=="bigint"?(R=""+R,E!==null&&E.tag===6?(i(N,E.sibling),$=u(E,R),$.return=N,N=$):(i(N,E),$=Zc(R,N.mode,$),$.return=N,N=$),v(N)):i(N,E)}return function(N,E,R,$){try{Js=0;var le=He(N,E,R,$);return Ki=null,le}catch(se){if(se===Yi||se===zo)throw se;var Ne=Xt(29,se,null,N.mode);return Ne.lanes=$,Ne.return=N,Ne}finally{}}}var fi=Up(!0),Ip=Up(!1),Ca=!1;function uu(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function du(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ka(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Aa(e,t,i){var o=e.updateQueue;if(o===null)return null;if(o=o.shared,(je&2)!==0){var u=o.pending;return u===null?t.next=t:(t.next=u.next,u.next=t),o.pending=t,t=Ro(e),wp(e,null,i),t}return jo(e,o,t,i),Ro(e)}function tr(e,t,i){if(t=t.updateQueue,t!==null&&(t=t.shared,(i&4194048)!==0)){var o=t.lanes;o&=e.pendingLanes,i|=o,t.lanes=i,jh(e,i)}}function fu(e,t){var i=e.updateQueue,o=e.alternate;if(o!==null&&(o=o.updateQueue,i===o)){var u=null,d=null;if(i=i.firstBaseUpdate,i!==null){do{var v={lane:i.lane,tag:i.tag,payload:i.payload,callback:null,next:null};d===null?u=d=v:d=d.next=v,i=i.next}while(i!==null);d===null?u=d=t:d=d.next=t}else u=d=t;i={baseState:o.baseState,firstBaseUpdate:u,lastBaseUpdate:d,shared:o.shared,callbacks:o.callbacks},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=t:e.next=t,i.lastBaseUpdate=t}var hu=!1;function nr(){if(hu){var e=Gi;if(e!==null)throw e}}function ar(e,t,i,o){hu=!1;var u=e.updateQueue;Ca=!1;var d=u.firstBaseUpdate,v=u.lastBaseUpdate,_=u.shared.pending;if(_!==null){u.shared.pending=null;var w=_,P=w.next;w.next=null,v===null?d=P:v.next=P,v=w;var H=e.alternate;H!==null&&(H=H.updateQueue,_=H.lastBaseUpdate,_!==v&&(_===null?H.firstBaseUpdate=P:_.next=P,H.lastBaseUpdate=w))}if(d!==null){var G=u.baseState;v=0,H=P=w=null,_=d;do{var O=_.lane&-536870913,z=O!==_.lane;if(z?(Ae&O)===O:(o&O)===O){O!==0&&O===Vi&&(hu=!0),H!==null&&(H=H.next={lane:0,tag:_.tag,payload:_.payload,callback:null,next:null});e:{var ne=e,de=_;O=t;var He=i;switch(de.tag){case 1:if(ne=de.payload,typeof ne=="function"){G=ne.call(He,G,O);break e}G=ne;break e;case 3:ne.flags=ne.flags&-65537|128;case 0:if(ne=de.payload,O=typeof ne=="function"?ne.call(He,G,O):ne,O==null)break e;G=b({},G,O);break e;case 2:Ca=!0}}O=_.callback,O!==null&&(e.flags|=64,z&&(e.flags|=8192),z=u.callbacks,z===null?u.callbacks=[O]:z.push(O))}else z={lane:O,tag:_.tag,payload:_.payload,callback:_.callback,next:null},H===null?(P=H=z,w=G):H=H.next=z,v|=O;if(_=_.next,_===null){if(_=u.shared.pending,_===null)break;z=_,_=z.next,z.next=null,u.lastBaseUpdate=z,u.shared.pending=null}}while(!0);H===null&&(w=G),u.baseState=w,u.firstBaseUpdate=P,u.lastBaseUpdate=H,d===null&&(u.shared.lanes=0),ja|=v,e.lanes=v,e.memoizedState=G}}function Hp(e,t){if(typeof e!="function")throw Error(r(191,e));e.call(t)}function qp(e,t){var i=e.callbacks;if(i!==null)for(e.callbacks=null,e=0;e<i.length;e++)Hp(i[e],t)}var Xi=Pe(null),qo=Pe(0);function Bp(e,t){e=ta,te(qo,e),te(Xi,t),ta=e|t.baseLanes}function pu(){te(qo,ta),te(Xi,Xi.current)}function mu(){ta=qo.current,fe(Xi),fe(qo)}var Qt=Pe(null),pn=null;function Ea(e){var t=e.alternate;te(it,it.current&1),te(Qt,e),pn===null&&(t===null||Xi.current!==null||t.memoizedState!==null)&&(pn=e)}function gu(e){te(it,it.current),te(Qt,e),pn===null&&(pn=e)}function $p(e){e.tag===22?(te(it,it.current),te(Qt,e),pn===null&&(pn=e)):Ta()}function Ta(){te(it,it.current),te(Qt,Qt.current)}function Zt(e){fe(Qt),pn===e&&(pn=null),fe(it)}var it=Pe(0);function Bo(e){for(var t=e;t!==null;){if(t.tag===13){var i=t.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||xd(i)||wd(i)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)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 Yn=0,me=null,Ue=null,lt=null,$o=!1,Qi=!1,hi=!1,Vo=0,ir=0,Zi=null,YS=0;function tt(){throw Error(r(321))}function vu(e,t){if(t===null)return!1;for(var i=0;i<t.length&&i<e.length;i++)if(!Kt(e[i],t[i]))return!1;return!0}function yu(e,t,i,o,u,d){return Yn=d,me=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,F.H=e===null||e.memoizedState===null?Em:Du,hi=!1,d=i(o,u),hi=!1,Qi&&(d=Gp(t,i,o,u)),Vp(e),d}function Vp(e){F.H=or;var t=Ue!==null&&Ue.next!==null;if(Yn=0,lt=Ue=me=null,$o=!1,ir=0,Zi=null,t)throw Error(r(300));e===null||ct||(e=e.dependencies,e!==null&&Oo(e)&&(ct=!0))}function Gp(e,t,i,o){me=e;var u=0;do{if(Qi&&(Zi=null),ir=0,Qi=!1,25<=u)throw Error(r(301));if(u+=1,lt=Ue=null,e.updateQueue!=null){var d=e.updateQueue;d.lastEffect=null,d.events=null,d.stores=null,d.memoCache!=null&&(d.memoCache.index=0)}F.H=Tm,d=t(i,o)}while(Qi);return d}function KS(){var e=F.H,t=e.useState()[0];return t=typeof t.then=="function"?sr(t):t,e=e.useState()[0],(Ue!==null?Ue.memoizedState:null)!==e&&(me.flags|=1024),t}function bu(){var e=Vo!==0;return Vo=0,e}function _u(e,t,i){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i}function Su(e){if($o){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}$o=!1}Yn=0,lt=Ue=me=null,Qi=!1,ir=Vo=0,Zi=null}function jt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return lt===null?me.memoizedState=lt=e:lt=lt.next=e,lt}function st(){if(Ue===null){var e=me.alternate;e=e!==null?e.memoizedState:null}else e=Ue.next;var t=lt===null?me.memoizedState:lt.next;if(t!==null)lt=t,Ue=e;else{if(e===null)throw me.alternate===null?Error(r(467)):Error(r(310));Ue=e,e={memoizedState:Ue.memoizedState,baseState:Ue.baseState,baseQueue:Ue.baseQueue,queue:Ue.queue,next:null},lt===null?me.memoizedState=lt=e:lt=lt.next=e}return lt}function Go(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function sr(e){var t=ir;return ir+=1,Zi===null&&(Zi=[]),e=Lp(Zi,e,t),t=me,(lt===null?t.memoizedState:lt.next)===null&&(t=t.alternate,F.H=t===null||t.memoizedState===null?Em:Du),e}function Yo(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return sr(e);if(e.$$typeof===D)return xt(e)}throw Error(r(438,String(e)))}function xu(e){var t=null,i=me.updateQueue;if(i!==null&&(t=i.memoCache),t==null){var o=me.alternate;o!==null&&(o=o.updateQueue,o!==null&&(o=o.memoCache,o!=null&&(t={data:o.data.map(function(u){return u.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),i===null&&(i=Go(),me.updateQueue=i),i.memoCache=t,i=t.data[t.index],i===void 0)for(i=t.data[t.index]=Array(e),o=0;o<e;o++)i[o]=re;return t.index++,i}function Kn(e,t){return typeof t=="function"?t(e):t}function Ko(e){var t=st();return wu(t,Ue,e)}function wu(e,t,i){var o=e.queue;if(o===null)throw Error(r(311));o.lastRenderedReducer=i;var u=e.baseQueue,d=o.pending;if(d!==null){if(u!==null){var v=u.next;u.next=d.next,d.next=v}t.baseQueue=u=d,o.pending=null}if(d=e.baseState,u===null)e.memoizedState=d;else{t=u.next;var _=v=null,w=null,P=t,H=!1;do{var G=P.lane&-536870913;if(G!==P.lane?(Ae&G)===G:(Yn&G)===G){var O=P.revertLane;if(O===0)w!==null&&(w=w.next={lane:0,revertLane:0,gesture:null,action:P.action,hasEagerState:P.hasEagerState,eagerState:P.eagerState,next:null}),G===Vi&&(H=!0);else if((Yn&O)===O){P=P.next,O===Vi&&(H=!0);continue}else G={lane:0,revertLane:P.revertLane,gesture:null,action:P.action,hasEagerState:P.hasEagerState,eagerState:P.eagerState,next:null},w===null?(_=w=G,v=d):w=w.next=G,me.lanes|=O,ja|=O;G=P.action,hi&&i(d,G),d=P.hasEagerState?P.eagerState:i(d,G)}else O={lane:G,revertLane:P.revertLane,gesture:P.gesture,action:P.action,hasEagerState:P.hasEagerState,eagerState:P.eagerState,next:null},w===null?(_=w=O,v=d):w=w.next=O,me.lanes|=G,ja|=G;P=P.next}while(P!==null&&P!==t);if(w===null?v=d:w.next=_,!Kt(d,e.memoizedState)&&(ct=!0,H&&(i=Gi,i!==null)))throw i;e.memoizedState=d,e.baseState=v,e.baseQueue=w,o.lastRenderedState=d}return u===null&&(o.lanes=0),[e.memoizedState,o.dispatch]}function Cu(e){var t=st(),i=t.queue;if(i===null)throw Error(r(311));i.lastRenderedReducer=e;var o=i.dispatch,u=i.pending,d=t.memoizedState;if(u!==null){i.pending=null;var v=u=u.next;do d=e(d,v.action),v=v.next;while(v!==u);Kt(d,t.memoizedState)||(ct=!0),t.memoizedState=d,t.baseQueue===null&&(t.baseState=d),i.lastRenderedState=d}return[d,o]}function Yp(e,t,i){var o=me,u=st(),d=Te;if(d){if(i===void 0)throw Error(r(407));i=i()}else i=t();var v=!Kt((Ue||u).memoizedState,i);if(v&&(u.memoizedState=i,ct=!0),u=u.queue,Eu(Qp.bind(null,o,u,e),[e]),u.getSnapshot!==t||v||lt!==null&&lt.memoizedState.tag&1){if(o.flags|=2048,Wi(9,{destroy:void 0},Xp.bind(null,o,u,i,t),null),Be===null)throw Error(r(349));d||(Yn&127)!==0||Kp(o,t,i)}return i}function Kp(e,t,i){e.flags|=16384,e={getSnapshot:t,value:i},t=me.updateQueue,t===null?(t=Go(),me.updateQueue=t,t.stores=[e]):(i=t.stores,i===null?t.stores=[e]:i.push(e))}function Xp(e,t,i,o){t.value=i,t.getSnapshot=o,Zp(t)&&Wp(e)}function Qp(e,t,i){return i(function(){Zp(t)&&Wp(e)})}function Zp(e){var t=e.getSnapshot;e=e.value;try{var i=t();return!Kt(e,i)}catch{return!0}}function Wp(e){var t=ii(e,2);t!==null&&Ut(t,e,2)}function ku(e){var t=jt();if(typeof e=="function"){var i=e;if(e=i(),hi){va(!0);try{i()}finally{va(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Kn,lastRenderedState:e},t}function Jp(e,t,i,o){return e.baseState=i,wu(e,Ue,typeof o=="function"?o:Kn)}function XS(e,t,i,o,u){if(Zo(e))throw Error(r(485));if(e=t.action,e!==null){var d={payload:u,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(v){d.listeners.push(v)}};F.T!==null?i(!0):d.isTransition=!1,o(d),i=t.pending,i===null?(d.next=t.pending=d,em(t,d)):(d.next=i.next,t.pending=i.next=d)}}function em(e,t){var i=t.action,o=t.payload,u=e.state;if(t.isTransition){var d=F.T,v={};F.T=v;try{var _=i(u,o),w=F.S;w!==null&&w(v,_),tm(e,t,_)}catch(P){Au(e,t,P)}finally{d!==null&&v.types!==null&&(d.types=v.types),F.T=d}}else try{d=i(u,o),tm(e,t,d)}catch(P){Au(e,t,P)}}function tm(e,t,i){i!==null&&typeof i=="object"&&typeof i.then=="function"?i.then(function(o){nm(e,t,o)},function(o){return Au(e,t,o)}):nm(e,t,i)}function nm(e,t,i){t.status="fulfilled",t.value=i,am(t),e.state=i,t=e.pending,t!==null&&(i=t.next,i===t?e.pending=null:(i=i.next,t.next=i,em(e,i)))}function Au(e,t,i){var o=e.pending;if(e.pending=null,o!==null){o=o.next;do t.status="rejected",t.reason=i,am(t),t=t.next;while(t!==o)}e.action=null}function am(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function im(e,t){return t}function sm(e,t){if(Te){var i=Be.formState;if(i!==null){e:{var o=me;if(Te){if(Ye){t:{for(var u=Ye,d=hn;u.nodeType!==8;){if(!d){u=null;break t}if(u=mn(u.nextSibling),u===null){u=null;break t}}d=u.data,u=d==="F!"||d==="F"?u:null}if(u){Ye=mn(u.nextSibling),o=u.data==="F!";break e}}xa(o)}o=!1}o&&(t=i[0])}}return i=jt(),i.memoizedState=i.baseState=t,o={pending:null,lanes:0,dispatch:null,lastRenderedReducer:im,lastRenderedState:t},i.queue=o,i=Cm.bind(null,me,o),o.dispatch=i,o=ku(!1),d=Ru.bind(null,me,!1,o.queue),o=jt(),u={state:t,dispatch:null,action:e,pending:null},o.queue=u,i=XS.bind(null,me,u,d,i),u.dispatch=i,o.memoizedState=e,[t,i,!1]}function rm(e){var t=st();return om(t,Ue,e)}function om(e,t,i){if(t=wu(e,t,im)[0],e=Ko(Kn)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var o=sr(t)}catch(v){throw v===Yi?zo:v}else o=t;t=st();var u=t.queue,d=u.dispatch;return i!==t.memoizedState&&(me.flags|=2048,Wi(9,{destroy:void 0},QS.bind(null,u,i),null)),[o,d,e]}function QS(e,t){e.action=t}function lm(e){var t=st(),i=Ue;if(i!==null)return om(t,i,e);st(),t=t.memoizedState,i=st();var o=i.queue.dispatch;return i.memoizedState=e,[t,o,!1]}function Wi(e,t,i,o){return e={tag:e,create:i,deps:o,inst:t,next:null},t=me.updateQueue,t===null&&(t=Go(),me.updateQueue=t),i=t.lastEffect,i===null?t.lastEffect=e.next=e:(o=i.next,i.next=e,e.next=o,t.lastEffect=e),e}function cm(){return st().memoizedState}function Xo(e,t,i,o){var u=jt();me.flags|=e,u.memoizedState=Wi(1|t,{destroy:void 0},i,o===void 0?null:o)}function Qo(e,t,i,o){var u=st();o=o===void 0?null:o;var d=u.memoizedState.inst;Ue!==null&&o!==null&&vu(o,Ue.memoizedState.deps)?u.memoizedState=Wi(t,d,i,o):(me.flags|=e,u.memoizedState=Wi(1|t,d,i,o))}function um(e,t){Xo(8390656,8,e,t)}function Eu(e,t){Qo(2048,8,e,t)}function ZS(e){me.flags|=4;var t=me.updateQueue;if(t===null)t=Go(),me.updateQueue=t,t.events=[e];else{var i=t.events;i===null?t.events=[e]:i.push(e)}}function dm(e){var t=st().memoizedState;return ZS({ref:t,nextImpl:e}),function(){if((je&2)!==0)throw Error(r(440));return t.impl.apply(void 0,arguments)}}function fm(e,t){return Qo(4,2,e,t)}function hm(e,t){return Qo(4,4,e,t)}function pm(e,t){if(typeof t=="function"){e=e();var i=t(e);return function(){typeof i=="function"?i():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function mm(e,t,i){i=i!=null?i.concat([e]):null,Qo(4,4,pm.bind(null,t,e),i)}function Tu(){}function gm(e,t){var i=st();t=t===void 0?null:t;var o=i.memoizedState;return t!==null&&vu(t,o[1])?o[0]:(i.memoizedState=[e,t],e)}function vm(e,t){var i=st();t=t===void 0?null:t;var o=i.memoizedState;if(t!==null&&vu(t,o[1]))return o[0];if(o=e(),hi){va(!0);try{e()}finally{va(!1)}}return i.memoizedState=[o,t],o}function Nu(e,t,i){return i===void 0||(Yn&1073741824)!==0&&(Ae&261930)===0?e.memoizedState=t:(e.memoizedState=i,e=yg(),me.lanes|=e,ja|=e,i)}function ym(e,t,i,o){return Kt(i,t)?i:Xi.current!==null?(e=Nu(e,i,o),Kt(e,t)||(ct=!0),e):(Yn&42)===0||(Yn&1073741824)!==0&&(Ae&261930)===0?(ct=!0,e.memoizedState=i):(e=yg(),me.lanes|=e,ja|=e,t)}function bm(e,t,i,o,u){var d=K.p;K.p=d!==0&&8>d?d:8;var v=F.T,_={};F.T=_,Ru(e,!1,t,i);try{var w=u(),P=F.S;if(P!==null&&P(_,w),w!==null&&typeof w=="object"&&typeof w.then=="function"){var H=GS(w,o);rr(e,t,H,en(e))}else rr(e,t,o,en(e))}catch(G){rr(e,t,{then:function(){},status:"rejected",reason:G},en())}finally{K.p=d,v!==null&&_.types!==null&&(v.types=_.types),F.T=v}}function WS(){}function Mu(e,t,i,o){if(e.tag!==5)throw Error(r(476));var u=_m(e).queue;bm(e,u,t,Y,i===null?WS:function(){return Sm(e),i(o)})}function _m(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Y,baseState:Y,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Kn,lastRenderedState:Y},next:null};var i={};return t.next={memoizedState:i,baseState:i,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Kn,lastRenderedState:i},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Sm(e){var t=_m(e);t.next===null&&(t=e.alternate.memoizedState),rr(e,t.next.queue,{},en())}function ju(){return xt(wr)}function xm(){return st().memoizedState}function wm(){return st().memoizedState}function JS(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var i=en();e=ka(i);var o=Aa(t,e,i);o!==null&&(Ut(o,t,i),tr(o,t,i)),t={cache:ru()},e.payload=t;return}t=t.return}}function ex(e,t,i){var o=en();i={lane:o,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},Zo(e)?km(t,i):(i=Xc(e,t,i,o),i!==null&&(Ut(i,e,o),Am(i,t,o)))}function Cm(e,t,i){var o=en();rr(e,t,i,o)}function rr(e,t,i,o){var u={lane:o,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null};if(Zo(e))km(t,u);else{var d=e.alternate;if(e.lanes===0&&(d===null||d.lanes===0)&&(d=t.lastRenderedReducer,d!==null))try{var v=t.lastRenderedState,_=d(v,i);if(u.hasEagerState=!0,u.eagerState=_,Kt(_,v))return jo(e,t,u,0),Be===null&&Mo(),!1}catch{}finally{}if(i=Xc(e,t,u,o),i!==null)return Ut(i,e,o),Am(i,t,o),!0}return!1}function Ru(e,t,i,o){if(o={lane:2,revertLane:ud(),gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null},Zo(e)){if(t)throw Error(r(479))}else t=Xc(e,i,o,2),t!==null&&Ut(t,e,2)}function Zo(e){var t=e.alternate;return e===me||t!==null&&t===me}function km(e,t){Qi=$o=!0;var i=e.pending;i===null?t.next=t:(t.next=i.next,i.next=t),e.pending=t}function Am(e,t,i){if((i&4194048)!==0){var o=t.lanes;o&=e.pendingLanes,i|=o,t.lanes=i,jh(e,i)}}var or={readContext:xt,use:Yo,useCallback:tt,useContext:tt,useEffect:tt,useImperativeHandle:tt,useLayoutEffect:tt,useInsertionEffect:tt,useMemo:tt,useReducer:tt,useRef:tt,useState:tt,useDebugValue:tt,useDeferredValue:tt,useTransition:tt,useSyncExternalStore:tt,useId:tt,useHostTransitionStatus:tt,useFormState:tt,useActionState:tt,useOptimistic:tt,useMemoCache:tt,useCacheRefresh:tt};or.useEffectEvent=tt;var Em={readContext:xt,use:Yo,useCallback:function(e,t){return jt().memoizedState=[e,t===void 0?null:t],e},useContext:xt,useEffect:um,useImperativeHandle:function(e,t,i){i=i!=null?i.concat([e]):null,Xo(4194308,4,pm.bind(null,t,e),i)},useLayoutEffect:function(e,t){return Xo(4194308,4,e,t)},useInsertionEffect:function(e,t){Xo(4,2,e,t)},useMemo:function(e,t){var i=jt();t=t===void 0?null:t;var o=e();if(hi){va(!0);try{e()}finally{va(!1)}}return i.memoizedState=[o,t],o},useReducer:function(e,t,i){var o=jt();if(i!==void 0){var u=i(t);if(hi){va(!0);try{i(t)}finally{va(!1)}}}else u=t;return o.memoizedState=o.baseState=u,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:u},o.queue=e,e=e.dispatch=ex.bind(null,me,e),[o.memoizedState,e]},useRef:function(e){var t=jt();return e={current:e},t.memoizedState=e},useState:function(e){e=ku(e);var t=e.queue,i=Cm.bind(null,me,t);return t.dispatch=i,[e.memoizedState,i]},useDebugValue:Tu,useDeferredValue:function(e,t){var i=jt();return Nu(i,e,t)},useTransition:function(){var e=ku(!1);return e=bm.bind(null,me,e.queue,!0,!1),jt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,i){var o=me,u=jt();if(Te){if(i===void 0)throw Error(r(407));i=i()}else{if(i=t(),Be===null)throw Error(r(349));(Ae&127)!==0||Kp(o,t,i)}u.memoizedState=i;var d={value:i,getSnapshot:t};return u.queue=d,um(Qp.bind(null,o,d,e),[e]),o.flags|=2048,Wi(9,{destroy:void 0},Xp.bind(null,o,d,i,t),null),i},useId:function(){var e=jt(),t=Be.identifierPrefix;if(Te){var i=Rn,o=jn;i=(o&~(1<<32-Yt(o)-1)).toString(32)+i,t="_"+t+"R_"+i,i=Vo++,0<i&&(t+="H"+i.toString(32)),t+="_"}else i=YS++,t="_"+t+"r_"+i.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:ju,useFormState:sm,useActionState:sm,useOptimistic:function(e){var t=jt();t.memoizedState=t.baseState=e;var i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=i,t=Ru.bind(null,me,!0,i),i.dispatch=t,[e,t]},useMemoCache:xu,useCacheRefresh:function(){return jt().memoizedState=JS.bind(null,me)},useEffectEvent:function(e){var t=jt(),i={impl:e};return t.memoizedState=i,function(){if((je&2)!==0)throw Error(r(440));return i.impl.apply(void 0,arguments)}}},Du={readContext:xt,use:Yo,useCallback:gm,useContext:xt,useEffect:Eu,useImperativeHandle:mm,useInsertionEffect:fm,useLayoutEffect:hm,useMemo:vm,useReducer:Ko,useRef:cm,useState:function(){return Ko(Kn)},useDebugValue:Tu,useDeferredValue:function(e,t){var i=st();return ym(i,Ue.memoizedState,e,t)},useTransition:function(){var e=Ko(Kn)[0],t=st().memoizedState;return[typeof e=="boolean"?e:sr(e),t]},useSyncExternalStore:Yp,useId:xm,useHostTransitionStatus:ju,useFormState:rm,useActionState:rm,useOptimistic:function(e,t){var i=st();return Jp(i,Ue,e,t)},useMemoCache:xu,useCacheRefresh:wm};Du.useEffectEvent=dm;var Tm={readContext:xt,use:Yo,useCallback:gm,useContext:xt,useEffect:Eu,useImperativeHandle:mm,useInsertionEffect:fm,useLayoutEffect:hm,useMemo:vm,useReducer:Cu,useRef:cm,useState:function(){return Cu(Kn)},useDebugValue:Tu,useDeferredValue:function(e,t){var i=st();return Ue===null?Nu(i,e,t):ym(i,Ue.memoizedState,e,t)},useTransition:function(){var e=Cu(Kn)[0],t=st().memoizedState;return[typeof e=="boolean"?e:sr(e),t]},useSyncExternalStore:Yp,useId:xm,useHostTransitionStatus:ju,useFormState:lm,useActionState:lm,useOptimistic:function(e,t){var i=st();return Ue!==null?Jp(i,Ue,e,t):(i.baseState=e,[e,i.queue.dispatch])},useMemoCache:xu,useCacheRefresh:wm};Tm.useEffectEvent=dm;function Pu(e,t,i,o){t=e.memoizedState,i=i(o,t),i=i==null?t:b({},t,i),e.memoizedState=i,e.lanes===0&&(e.updateQueue.baseState=i)}var Ou={enqueueSetState:function(e,t,i){e=e._reactInternals;var o=en(),u=ka(o);u.payload=t,i!=null&&(u.callback=i),t=Aa(e,u,o),t!==null&&(Ut(t,e,o),tr(t,e,o))},enqueueReplaceState:function(e,t,i){e=e._reactInternals;var o=en(),u=ka(o);u.tag=1,u.payload=t,i!=null&&(u.callback=i),t=Aa(e,u,o),t!==null&&(Ut(t,e,o),tr(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var i=en(),o=ka(i);o.tag=2,t!=null&&(o.callback=t),t=Aa(e,o,i),t!==null&&(Ut(t,e,i),tr(t,e,i))}};function Nm(e,t,i,o,u,d,v){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(o,d,v):t.prototype&&t.prototype.isPureReactComponent?!Ys(i,o)||!Ys(u,d):!0}function Mm(e,t,i,o){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(i,o),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(i,o),t.state!==e&&Ou.enqueueReplaceState(t,t.state,null)}function pi(e,t){var i=t;if("ref"in t){i={};for(var o in t)o!=="ref"&&(i[o]=t[o])}if(e=e.defaultProps){i===t&&(i=b({},i));for(var u in e)i[u]===void 0&&(i[u]=e[u])}return i}function jm(e){No(e)}function Rm(e){console.error(e)}function Dm(e){No(e)}function Wo(e,t){try{var i=e.onUncaughtError;i(t.value,{componentStack:t.stack})}catch(o){setTimeout(function(){throw o})}}function Pm(e,t,i){try{var o=e.onCaughtError;o(i.value,{componentStack:i.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(u){setTimeout(function(){throw u})}}function Lu(e,t,i){return i=ka(i),i.tag=3,i.payload={element:null},i.callback=function(){Wo(e,t)},i}function Om(e){return e=ka(e),e.tag=3,e}function Lm(e,t,i,o){var u=i.type.getDerivedStateFromError;if(typeof u=="function"){var d=o.value;e.payload=function(){return u(d)},e.callback=function(){Pm(t,i,o)}}var v=i.stateNode;v!==null&&typeof v.componentDidCatch=="function"&&(e.callback=function(){Pm(t,i,o),typeof u!="function"&&(Ra===null?Ra=new Set([this]):Ra.add(this));var _=o.stack;this.componentDidCatch(o.value,{componentStack:_!==null?_:""})})}function tx(e,t,i,o,u){if(i.flags|=32768,o!==null&&typeof o=="object"&&typeof o.then=="function"){if(t=i.alternate,t!==null&&$i(t,i,u,!0),i=Qt.current,i!==null){switch(i.tag){case 31:case 13:return pn===null?ul():i.alternate===null&&nt===0&&(nt=3),i.flags&=-257,i.flags|=65536,i.lanes=u,o===Uo?i.flags|=16384:(t=i.updateQueue,t===null?i.updateQueue=new Set([o]):t.add(o),od(e,o,u)),!1;case 22:return i.flags|=65536,o===Uo?i.flags|=16384:(t=i.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([o])},i.updateQueue=t):(i=t.retryQueue,i===null?t.retryQueue=new Set([o]):i.add(o)),od(e,o,u)),!1}throw Error(r(435,i.tag))}return od(e,o,u),ul(),!1}if(Te)return t=Qt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=u,o!==tu&&(e=Error(r(422),{cause:o}),Qs(un(e,i)))):(o!==tu&&(t=Error(r(423),{cause:o}),Qs(un(t,i))),e=e.current.alternate,e.flags|=65536,u&=-u,e.lanes|=u,o=un(o,i),u=Lu(e.stateNode,o,u),fu(e,u),nt!==4&&(nt=2)),!1;var d=Error(r(520),{cause:o});if(d=un(d,i),mr===null?mr=[d]:mr.push(d),nt!==4&&(nt=2),t===null)return!0;o=un(o,i),i=t;do{switch(i.tag){case 3:return i.flags|=65536,e=u&-u,i.lanes|=e,e=Lu(i.stateNode,o,e),fu(i,e),!1;case 1:if(t=i.type,d=i.stateNode,(i.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||d!==null&&typeof d.componentDidCatch=="function"&&(Ra===null||!Ra.has(d))))return i.flags|=65536,u&=-u,i.lanes|=u,u=Om(u),Lm(u,e,i,o),fu(i,u),!1}i=i.return}while(i!==null);return!1}var Fu=Error(r(461)),ct=!1;function wt(e,t,i,o){t.child=e===null?Ip(t,null,i,o):fi(t,e.child,i,o)}function Fm(e,t,i,o,u){i=i.render;var d=t.ref;if("ref"in o){var v={};for(var _ in o)_!=="ref"&&(v[_]=o[_])}else v=o;return li(t),o=yu(e,t,i,v,d,u),_=bu(),e!==null&&!ct?(_u(e,t,u),Xn(e,t,u)):(Te&&_&&Jc(t),t.flags|=1,wt(e,t,o,u),t.child)}function zm(e,t,i,o,u){if(e===null){var d=i.type;return typeof d=="function"&&!Qc(d)&&d.defaultProps===void 0&&i.compare===null?(t.tag=15,t.type=d,Um(e,t,d,o,u)):(e=Do(i.type,null,o,t,t.mode,u),e.ref=t.ref,e.return=t,t.child=e)}if(d=e.child,!Vu(e,u)){var v=d.memoizedProps;if(i=i.compare,i=i!==null?i:Ys,i(v,o)&&e.ref===t.ref)return Xn(e,t,u)}return t.flags|=1,e=Bn(d,o),e.ref=t.ref,e.return=t,t.child=e}function Um(e,t,i,o,u){if(e!==null){var d=e.memoizedProps;if(Ys(d,o)&&e.ref===t.ref)if(ct=!1,t.pendingProps=o=d,Vu(e,u))(e.flags&131072)!==0&&(ct=!0);else return t.lanes=e.lanes,Xn(e,t,u)}return zu(e,t,i,o,u)}function Im(e,t,i,o){var u=o.children,d=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),o.mode==="hidden"){if((t.flags&128)!==0){if(d=d!==null?d.baseLanes|i:i,e!==null){for(o=t.child=e.child,u=0;o!==null;)u=u|o.lanes|o.childLanes,o=o.sibling;o=u&~d}else o=0,t.child=null;return Hm(e,t,d,i,o)}if((i&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Fo(t,d!==null?d.cachePool:null),d!==null?Bp(t,d):pu(),$p(t);else return o=t.lanes=536870912,Hm(e,t,d!==null?d.baseLanes|i:i,i,o)}else d!==null?(Fo(t,d.cachePool),Bp(t,d),Ta(),t.memoizedState=null):(e!==null&&Fo(t,null),pu(),Ta());return wt(e,t,u,i),t.child}function lr(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Hm(e,t,i,o,u){var d=lu();return d=d===null?null:{parent:ot._currentValue,pool:d},t.memoizedState={baseLanes:i,cachePool:d},e!==null&&Fo(t,null),pu(),$p(t),e!==null&&$i(e,t,o,!0),t.childLanes=u,null}function Jo(e,t){return t=tl({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function qm(e,t,i){return fi(t,e.child,null,i),e=Jo(t,t.pendingProps),e.flags|=2,Zt(t),t.memoizedState=null,e}function nx(e,t,i){var o=t.pendingProps,u=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(Te){if(o.mode==="hidden")return e=Jo(t,o),t.lanes=536870912,lr(null,e);if(gu(t),(e=Ye)?(e=ev(e,hn),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:_a!==null?{id:jn,overflow:Rn}:null,retryLane:536870912,hydrationErrors:null},i=kp(e),i.return=t,t.child=i,St=t,Ye=null)):e=null,e===null)throw xa(t);return t.lanes=536870912,null}return Jo(t,o)}var d=e.memoizedState;if(d!==null){var v=d.dehydrated;if(gu(t),u)if(t.flags&256)t.flags&=-257,t=qm(e,t,i);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(r(558));else if(ct||$i(e,t,i,!1),u=(i&e.childLanes)!==0,ct||u){if(o=Be,o!==null&&(v=Rh(o,i),v!==0&&v!==d.retryLane))throw d.retryLane=v,ii(e,v),Ut(o,e,v),Fu;ul(),t=qm(e,t,i)}else e=d.treeContext,Ye=mn(v.nextSibling),St=t,Te=!0,Sa=null,hn=!1,e!==null&&Tp(t,e),t=Jo(t,o),t.flags|=4096;return t}return e=Bn(e.child,{mode:o.mode,children:o.children}),e.ref=t.ref,t.child=e,e.return=t,e}function el(e,t){var i=t.ref;if(i===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof i!="function"&&typeof i!="object")throw Error(r(284));(e===null||e.ref!==i)&&(t.flags|=4194816)}}function zu(e,t,i,o,u){return li(t),i=yu(e,t,i,o,void 0,u),o=bu(),e!==null&&!ct?(_u(e,t,u),Xn(e,t,u)):(Te&&o&&Jc(t),t.flags|=1,wt(e,t,i,u),t.child)}function Bm(e,t,i,o,u,d){return li(t),t.updateQueue=null,i=Gp(t,o,i,u),Vp(e),o=bu(),e!==null&&!ct?(_u(e,t,d),Xn(e,t,d)):(Te&&o&&Jc(t),t.flags|=1,wt(e,t,i,d),t.child)}function $m(e,t,i,o,u){if(li(t),t.stateNode===null){var d=Ii,v=i.contextType;typeof v=="object"&&v!==null&&(d=xt(v)),d=new i(o,d),t.memoizedState=d.state!==null&&d.state!==void 0?d.state:null,d.updater=Ou,t.stateNode=d,d._reactInternals=t,d=t.stateNode,d.props=o,d.state=t.memoizedState,d.refs={},uu(t),v=i.contextType,d.context=typeof v=="object"&&v!==null?xt(v):Ii,d.state=t.memoizedState,v=i.getDerivedStateFromProps,typeof v=="function"&&(Pu(t,i,v,o),d.state=t.memoizedState),typeof i.getDerivedStateFromProps=="function"||typeof d.getSnapshotBeforeUpdate=="function"||typeof d.UNSAFE_componentWillMount!="function"&&typeof d.componentWillMount!="function"||(v=d.state,typeof d.componentWillMount=="function"&&d.componentWillMount(),typeof d.UNSAFE_componentWillMount=="function"&&d.UNSAFE_componentWillMount(),v!==d.state&&Ou.enqueueReplaceState(d,d.state,null),ar(t,o,d,u),nr(),d.state=t.memoizedState),typeof d.componentDidMount=="function"&&(t.flags|=4194308),o=!0}else if(e===null){d=t.stateNode;var _=t.memoizedProps,w=pi(i,_);d.props=w;var P=d.context,H=i.contextType;v=Ii,typeof H=="object"&&H!==null&&(v=xt(H));var G=i.getDerivedStateFromProps;H=typeof G=="function"||typeof d.getSnapshotBeforeUpdate=="function",_=t.pendingProps!==_,H||typeof d.UNSAFE_componentWillReceiveProps!="function"&&typeof d.componentWillReceiveProps!="function"||(_||P!==v)&&Mm(t,d,o,v),Ca=!1;var O=t.memoizedState;d.state=O,ar(t,o,d,u),nr(),P=t.memoizedState,_||O!==P||Ca?(typeof G=="function"&&(Pu(t,i,G,o),P=t.memoizedState),(w=Ca||Nm(t,i,w,o,O,P,v))?(H||typeof d.UNSAFE_componentWillMount!="function"&&typeof d.componentWillMount!="function"||(typeof d.componentWillMount=="function"&&d.componentWillMount(),typeof d.UNSAFE_componentWillMount=="function"&&d.UNSAFE_componentWillMount()),typeof d.componentDidMount=="function"&&(t.flags|=4194308)):(typeof d.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=o,t.memoizedState=P),d.props=o,d.state=P,d.context=v,o=w):(typeof d.componentDidMount=="function"&&(t.flags|=4194308),o=!1)}else{d=t.stateNode,du(e,t),v=t.memoizedProps,H=pi(i,v),d.props=H,G=t.pendingProps,O=d.context,P=i.contextType,w=Ii,typeof P=="object"&&P!==null&&(w=xt(P)),_=i.getDerivedStateFromProps,(P=typeof _=="function"||typeof d.getSnapshotBeforeUpdate=="function")||typeof d.UNSAFE_componentWillReceiveProps!="function"&&typeof d.componentWillReceiveProps!="function"||(v!==G||O!==w)&&Mm(t,d,o,w),Ca=!1,O=t.memoizedState,d.state=O,ar(t,o,d,u),nr();var z=t.memoizedState;v!==G||O!==z||Ca||e!==null&&e.dependencies!==null&&Oo(e.dependencies)?(typeof _=="function"&&(Pu(t,i,_,o),z=t.memoizedState),(H=Ca||Nm(t,i,H,o,O,z,w)||e!==null&&e.dependencies!==null&&Oo(e.dependencies))?(P||typeof d.UNSAFE_componentWillUpdate!="function"&&typeof d.componentWillUpdate!="function"||(typeof d.componentWillUpdate=="function"&&d.componentWillUpdate(o,z,w),typeof d.UNSAFE_componentWillUpdate=="function"&&d.UNSAFE_componentWillUpdate(o,z,w)),typeof d.componentDidUpdate=="function"&&(t.flags|=4),typeof d.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof d.componentDidUpdate!="function"||v===e.memoizedProps&&O===e.memoizedState||(t.flags|=4),typeof d.getSnapshotBeforeUpdate!="function"||v===e.memoizedProps&&O===e.memoizedState||(t.flags|=1024),t.memoizedProps=o,t.memoizedState=z),d.props=o,d.state=z,d.context=w,o=H):(typeof d.componentDidUpdate!="function"||v===e.memoizedProps&&O===e.memoizedState||(t.flags|=4),typeof d.getSnapshotBeforeUpdate!="function"||v===e.memoizedProps&&O===e.memoizedState||(t.flags|=1024),o=!1)}return d=o,el(e,t),o=(t.flags&128)!==0,d||o?(d=t.stateNode,i=o&&typeof i.getDerivedStateFromError!="function"?null:d.render(),t.flags|=1,e!==null&&o?(t.child=fi(t,e.child,null,u),t.child=fi(t,null,i,u)):wt(e,t,i,u),t.memoizedState=d.state,e=t.child):e=Xn(e,t,u),e}function Vm(e,t,i,o){return ri(),t.flags|=256,wt(e,t,i,o),t.child}var Uu={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Iu(e){return{baseLanes:e,cachePool:Pp()}}function Hu(e,t,i){return e=e!==null?e.childLanes&~i:0,t&&(e|=Jt),e}function Gm(e,t,i){var o=t.pendingProps,u=!1,d=(t.flags&128)!==0,v;if((v=d)||(v=e!==null&&e.memoizedState===null?!1:(it.current&2)!==0),v&&(u=!0,t.flags&=-129),v=(t.flags&32)!==0,t.flags&=-33,e===null){if(Te){if(u?Ea(t):Ta(),(e=Ye)?(e=ev(e,hn),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:_a!==null?{id:jn,overflow:Rn}:null,retryLane:536870912,hydrationErrors:null},i=kp(e),i.return=t,t.child=i,St=t,Ye=null)):e=null,e===null)throw xa(t);return wd(e)?t.lanes=32:t.lanes=536870912,null}var _=o.children;return o=o.fallback,u?(Ta(),u=t.mode,_=tl({mode:"hidden",children:_},u),o=si(o,u,i,null),_.return=t,o.return=t,_.sibling=o,t.child=_,o=t.child,o.memoizedState=Iu(i),o.childLanes=Hu(e,v,i),t.memoizedState=Uu,lr(null,o)):(Ea(t),qu(t,_))}var w=e.memoizedState;if(w!==null&&(_=w.dehydrated,_!==null)){if(d)t.flags&256?(Ea(t),t.flags&=-257,t=Bu(e,t,i)):t.memoizedState!==null?(Ta(),t.child=e.child,t.flags|=128,t=null):(Ta(),_=o.fallback,u=t.mode,o=tl({mode:"visible",children:o.children},u),_=si(_,u,i,null),_.flags|=2,o.return=t,_.return=t,o.sibling=_,t.child=o,fi(t,e.child,null,i),o=t.child,o.memoizedState=Iu(i),o.childLanes=Hu(e,v,i),t.memoizedState=Uu,t=lr(null,o));else if(Ea(t),wd(_)){if(v=_.nextSibling&&_.nextSibling.dataset,v)var P=v.dgst;v=P,o=Error(r(419)),o.stack="",o.digest=v,Qs({value:o,source:null,stack:null}),t=Bu(e,t,i)}else if(ct||$i(e,t,i,!1),v=(i&e.childLanes)!==0,ct||v){if(v=Be,v!==null&&(o=Rh(v,i),o!==0&&o!==w.retryLane))throw w.retryLane=o,ii(e,o),Ut(v,e,o),Fu;xd(_)||ul(),t=Bu(e,t,i)}else xd(_)?(t.flags|=192,t.child=e.child,t=null):(e=w.treeContext,Ye=mn(_.nextSibling),St=t,Te=!0,Sa=null,hn=!1,e!==null&&Tp(t,e),t=qu(t,o.children),t.flags|=4096);return t}return u?(Ta(),_=o.fallback,u=t.mode,w=e.child,P=w.sibling,o=Bn(w,{mode:"hidden",children:o.children}),o.subtreeFlags=w.subtreeFlags&65011712,P!==null?_=Bn(P,_):(_=si(_,u,i,null),_.flags|=2),_.return=t,o.return=t,o.sibling=_,t.child=o,lr(null,o),o=t.child,_=e.child.memoizedState,_===null?_=Iu(i):(u=_.cachePool,u!==null?(w=ot._currentValue,u=u.parent!==w?{parent:w,pool:w}:u):u=Pp(),_={baseLanes:_.baseLanes|i,cachePool:u}),o.memoizedState=_,o.childLanes=Hu(e,v,i),t.memoizedState=Uu,lr(e.child,o)):(Ea(t),i=e.child,e=i.sibling,i=Bn(i,{mode:"visible",children:o.children}),i.return=t,i.sibling=null,e!==null&&(v=t.deletions,v===null?(t.deletions=[e],t.flags|=16):v.push(e)),t.child=i,t.memoizedState=null,i)}function qu(e,t){return t=tl({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function tl(e,t){return e=Xt(22,e,null,t),e.lanes=0,e}function Bu(e,t,i){return fi(t,e.child,null,i),e=qu(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Ym(e,t,i){e.lanes|=t;var o=e.alternate;o!==null&&(o.lanes|=t),iu(e.return,t,i)}function $u(e,t,i,o,u,d){var v=e.memoizedState;v===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:o,tail:i,tailMode:u,treeForkCount:d}:(v.isBackwards=t,v.rendering=null,v.renderingStartTime=0,v.last=o,v.tail=i,v.tailMode=u,v.treeForkCount=d)}function Km(e,t,i){var o=t.pendingProps,u=o.revealOrder,d=o.tail;o=o.children;var v=it.current,_=(v&2)!==0;if(_?(v=v&1|2,t.flags|=128):v&=1,te(it,v),wt(e,t,o,i),o=Te?Xs:0,!_&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Ym(e,i,t);else if(e.tag===19)Ym(e,i,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}switch(u){case"forwards":for(i=t.child,u=null;i!==null;)e=i.alternate,e!==null&&Bo(e)===null&&(u=i),i=i.sibling;i=u,i===null?(u=t.child,t.child=null):(u=i.sibling,i.sibling=null),$u(t,!1,u,i,d,o);break;case"backwards":case"unstable_legacy-backwards":for(i=null,u=t.child,t.child=null;u!==null;){if(e=u.alternate,e!==null&&Bo(e)===null){t.child=u;break}e=u.sibling,u.sibling=i,i=u,u=e}$u(t,!0,i,null,d,o);break;case"together":$u(t,!1,null,null,void 0,o);break;default:t.memoizedState=null}return t.child}function Xn(e,t,i){if(e!==null&&(t.dependencies=e.dependencies),ja|=t.lanes,(i&t.childLanes)===0)if(e!==null){if($i(e,t,i,!1),(i&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(r(153));if(t.child!==null){for(e=t.child,i=Bn(e,e.pendingProps),t.child=i,i.return=t;e.sibling!==null;)e=e.sibling,i=i.sibling=Bn(e,e.pendingProps),i.return=t;i.sibling=null}return t.child}function Vu(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&Oo(e)))}function ax(e,t,i){switch(t.tag){case 3:xn(t,t.stateNode.containerInfo),wa(t,ot,e.memoizedState.cache),ri();break;case 27:case 5:ft(t);break;case 4:xn(t,t.stateNode.containerInfo);break;case 10:wa(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,gu(t),null;break;case 13:var o=t.memoizedState;if(o!==null)return o.dehydrated!==null?(Ea(t),t.flags|=128,null):(i&t.child.childLanes)!==0?Gm(e,t,i):(Ea(t),e=Xn(e,t,i),e!==null?e.sibling:null);Ea(t);break;case 19:var u=(e.flags&128)!==0;if(o=(i&t.childLanes)!==0,o||($i(e,t,i,!1),o=(i&t.childLanes)!==0),u){if(o)return Km(e,t,i);t.flags|=128}if(u=t.memoizedState,u!==null&&(u.rendering=null,u.tail=null,u.lastEffect=null),te(it,it.current),o)break;return null;case 22:return t.lanes=0,Im(e,t,i,t.pendingProps);case 24:wa(t,ot,e.memoizedState.cache)}return Xn(e,t,i)}function Xm(e,t,i){if(e!==null)if(e.memoizedProps!==t.pendingProps)ct=!0;else{if(!Vu(e,i)&&(t.flags&128)===0)return ct=!1,ax(e,t,i);ct=(e.flags&131072)!==0}else ct=!1,Te&&(t.flags&1048576)!==0&&Ep(t,Xs,t.index);switch(t.lanes=0,t.tag){case 16:e:{var o=t.pendingProps;if(e=ui(t.elementType),t.type=e,typeof e=="function")Qc(e)?(o=pi(e,o),t.tag=1,t=$m(null,t,e,o,i)):(t.tag=0,t=zu(null,t,e,o,i));else{if(e!=null){var u=e.$$typeof;if(u===q){t.tag=11,t=Fm(null,t,e,o,i);break e}else if(u===I){t.tag=14,t=zm(null,t,e,o,i);break e}}throw t=oe(e)||e,Error(r(306,t,""))}}return t;case 0:return zu(e,t,t.type,t.pendingProps,i);case 1:return o=t.type,u=pi(o,t.pendingProps),$m(e,t,o,u,i);case 3:e:{if(xn(t,t.stateNode.containerInfo),e===null)throw Error(r(387));o=t.pendingProps;var d=t.memoizedState;u=d.element,du(e,t),ar(t,o,null,i);var v=t.memoizedState;if(o=v.cache,wa(t,ot,o),o!==d.cache&&su(t,[ot],i,!0),nr(),o=v.element,d.isDehydrated)if(d={element:o,isDehydrated:!1,cache:v.cache},t.updateQueue.baseState=d,t.memoizedState=d,t.flags&256){t=Vm(e,t,o,i);break e}else if(o!==u){u=un(Error(r(424)),t),Qs(u),t=Vm(e,t,o,i);break e}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(Ye=mn(e.firstChild),St=t,Te=!0,Sa=null,hn=!0,i=Ip(t,null,o,i),t.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling}else{if(ri(),o===u){t=Xn(e,t,i);break e}wt(e,t,o,i)}t=t.child}return t;case 26:return el(e,t),e===null?(i=rv(t.type,null,t.pendingProps,null))?t.memoizedState=i:Te||(i=t.type,e=t.pendingProps,o=vl(et.current).createElement(i),o[_t]=t,o[Dt]=e,Ct(o,i,e),gt(o),t.stateNode=o):t.memoizedState=rv(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return ft(t),e===null&&Te&&(o=t.stateNode=av(t.type,t.pendingProps,et.current),St=t,hn=!0,u=Ye,La(t.type)?(Cd=u,Ye=mn(o.firstChild)):Ye=u),wt(e,t,t.pendingProps.children,i),el(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Te&&((u=o=Ye)&&(o=Dx(o,t.type,t.pendingProps,hn),o!==null?(t.stateNode=o,St=t,Ye=mn(o.firstChild),hn=!1,u=!0):u=!1),u||xa(t)),ft(t),u=t.type,d=t.pendingProps,v=e!==null?e.memoizedProps:null,o=d.children,bd(u,d)?o=null:v!==null&&bd(u,v)&&(t.flags|=32),t.memoizedState!==null&&(u=yu(e,t,KS,null,null,i),wr._currentValue=u),el(e,t),wt(e,t,o,i),t.child;case 6:return e===null&&Te&&((e=i=Ye)&&(i=Px(i,t.pendingProps,hn),i!==null?(t.stateNode=i,St=t,Ye=null,e=!0):e=!1),e||xa(t)),null;case 13:return Gm(e,t,i);case 4:return xn(t,t.stateNode.containerInfo),o=t.pendingProps,e===null?t.child=fi(t,null,o,i):wt(e,t,o,i),t.child;case 11:return Fm(e,t,t.type,t.pendingProps,i);case 7:return wt(e,t,t.pendingProps,i),t.child;case 8:return wt(e,t,t.pendingProps.children,i),t.child;case 12:return wt(e,t,t.pendingProps.children,i),t.child;case 10:return o=t.pendingProps,wa(t,t.type,o.value),wt(e,t,o.children,i),t.child;case 9:return u=t.type._context,o=t.pendingProps.children,li(t),u=xt(u),o=o(u),t.flags|=1,wt(e,t,o,i),t.child;case 14:return zm(e,t,t.type,t.pendingProps,i);case 15:return Um(e,t,t.type,t.pendingProps,i);case 19:return Km(e,t,i);case 31:return nx(e,t,i);case 22:return Im(e,t,i,t.pendingProps);case 24:return li(t),o=xt(ot),e===null?(u=lu(),u===null&&(u=Be,d=ru(),u.pooledCache=d,d.refCount++,d!==null&&(u.pooledCacheLanes|=i),u=d),t.memoizedState={parent:o,cache:u},uu(t),wa(t,ot,u)):((e.lanes&i)!==0&&(du(e,t),ar(t,null,null,i),nr()),u=e.memoizedState,d=t.memoizedState,u.parent!==o?(u={parent:o,cache:o},t.memoizedState=u,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=u),wa(t,ot,o)):(o=d.cache,wa(t,ot,o),o!==u.cache&&su(t,[ot],i,!0))),wt(e,t,t.pendingProps.children,i),t.child;case 29:throw t.pendingProps}throw Error(r(156,t.tag))}function Qn(e){e.flags|=4}function Gu(e,t,i,o,u){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(u&335544128)===u)if(e.stateNode.complete)e.flags|=8192;else if(xg())e.flags|=8192;else throw di=Uo,cu}else e.flags&=-16777217}function Qm(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!dv(t))if(xg())e.flags|=8192;else throw di=Uo,cu}function nl(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Nh():536870912,e.lanes|=t,ns|=t)}function cr(e,t){if(!Te)switch(e.tailMode){case"hidden":t=e.tail;for(var i=null;t!==null;)t.alternate!==null&&(i=t),t=t.sibling;i===null?e.tail=null:i.sibling=null;break;case"collapsed":i=e.tail;for(var o=null;i!==null;)i.alternate!==null&&(o=i),i=i.sibling;o===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:o.sibling=null}}function Ke(e){var t=e.alternate!==null&&e.alternate.child===e.child,i=0,o=0;if(t)for(var u=e.child;u!==null;)i|=u.lanes|u.childLanes,o|=u.subtreeFlags&65011712,o|=u.flags&65011712,u.return=e,u=u.sibling;else for(u=e.child;u!==null;)i|=u.lanes|u.childLanes,o|=u.subtreeFlags,o|=u.flags,u.return=e,u=u.sibling;return e.subtreeFlags|=o,e.childLanes=i,t}function ix(e,t,i){var o=t.pendingProps;switch(eu(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ke(t),null;case 1:return Ke(t),null;case 3:return i=t.stateNode,o=null,e!==null&&(o=e.memoizedState.cache),t.memoizedState.cache!==o&&(t.flags|=2048),Gn(ot),Nt(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&(Bi(t)?Qn(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,nu())),Ke(t),null;case 26:var u=t.type,d=t.memoizedState;return e===null?(Qn(t),d!==null?(Ke(t),Qm(t,d)):(Ke(t),Gu(t,u,null,o,i))):d?d!==e.memoizedState?(Qn(t),Ke(t),Qm(t,d)):(Ke(t),t.flags&=-16777217):(e=e.memoizedProps,e!==o&&Qn(t),Ke(t),Gu(t,u,e,o,i)),null;case 27:if(sn(t),i=et.current,u=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==o&&Qn(t);else{if(!o){if(t.stateNode===null)throw Error(r(166));return Ke(t),null}e=ue.current,Bi(t)?Np(t):(e=av(u,o,i),t.stateNode=e,Qn(t))}return Ke(t),null;case 5:if(sn(t),u=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==o&&Qn(t);else{if(!o){if(t.stateNode===null)throw Error(r(166));return Ke(t),null}if(d=ue.current,Bi(t))Np(t);else{var v=vl(et.current);switch(d){case 1:d=v.createElementNS("http://www.w3.org/2000/svg",u);break;case 2:d=v.createElementNS("http://www.w3.org/1998/Math/MathML",u);break;default:switch(u){case"svg":d=v.createElementNS("http://www.w3.org/2000/svg",u);break;case"math":d=v.createElementNS("http://www.w3.org/1998/Math/MathML",u);break;case"script":d=v.createElement("div"),d.innerHTML="<script><\/script>",d=d.removeChild(d.firstChild);break;case"select":d=typeof o.is=="string"?v.createElement("select",{is:o.is}):v.createElement("select"),o.multiple?d.multiple=!0:o.size&&(d.size=o.size);break;default:d=typeof o.is=="string"?v.createElement(u,{is:o.is}):v.createElement(u)}}d[_t]=t,d[Dt]=o;e:for(v=t.child;v!==null;){if(v.tag===5||v.tag===6)d.appendChild(v.stateNode);else if(v.tag!==4&&v.tag!==27&&v.child!==null){v.child.return=v,v=v.child;continue}if(v===t)break e;for(;v.sibling===null;){if(v.return===null||v.return===t)break e;v=v.return}v.sibling.return=v.return,v=v.sibling}t.stateNode=d;e:switch(Ct(d,u,o),u){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break e;case"img":o=!0;break e;default:o=!1}o&&Qn(t)}}return Ke(t),Gu(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,i),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==o&&Qn(t);else{if(typeof o!="string"&&t.stateNode===null)throw Error(r(166));if(e=et.current,Bi(t)){if(e=t.stateNode,i=t.memoizedProps,o=null,u=St,u!==null)switch(u.tag){case 27:case 5:o=u.memoizedProps}e[_t]=t,e=!!(e.nodeValue===i||o!==null&&o.suppressHydrationWarning===!0||Gg(e.nodeValue,i)),e||xa(t,!0)}else e=vl(e).createTextNode(o),e[_t]=t,t.stateNode=e}return Ke(t),null;case 31:if(i=t.memoizedState,e===null||e.memoizedState!==null){if(o=Bi(t),i!==null){if(e===null){if(!o)throw Error(r(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(557));e[_t]=t}else ri(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ke(t),e=!1}else i=nu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),e=!0;if(!e)return t.flags&256?(Zt(t),t):(Zt(t),null);if((t.flags&128)!==0)throw Error(r(558))}return Ke(t),null;case 13:if(o=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(u=Bi(t),o!==null&&o.dehydrated!==null){if(e===null){if(!u)throw Error(r(318));if(u=t.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(r(317));u[_t]=t}else ri(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ke(t),u=!1}else u=nu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=u),u=!0;if(!u)return t.flags&256?(Zt(t),t):(Zt(t),null)}return Zt(t),(t.flags&128)!==0?(t.lanes=i,t):(i=o!==null,e=e!==null&&e.memoizedState!==null,i&&(o=t.child,u=null,o.alternate!==null&&o.alternate.memoizedState!==null&&o.alternate.memoizedState.cachePool!==null&&(u=o.alternate.memoizedState.cachePool.pool),d=null,o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(d=o.memoizedState.cachePool.pool),d!==u&&(o.flags|=2048)),i!==e&&i&&(t.child.flags|=8192),nl(t,t.updateQueue),Ke(t),null);case 4:return Nt(),e===null&&pd(t.stateNode.containerInfo),Ke(t),null;case 10:return Gn(t.type),Ke(t),null;case 19:if(fe(it),o=t.memoizedState,o===null)return Ke(t),null;if(u=(t.flags&128)!==0,d=o.rendering,d===null)if(u)cr(o,!1);else{if(nt!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(d=Bo(e),d!==null){for(t.flags|=128,cr(o,!1),e=d.updateQueue,t.updateQueue=e,nl(t,e),t.subtreeFlags=0,e=i,i=t.child;i!==null;)Cp(i,e),i=i.sibling;return te(it,it.current&1|2),Te&&$n(t,o.treeForkCount),t.child}e=e.sibling}o.tail!==null&&Vt()>ol&&(t.flags|=128,u=!0,cr(o,!1),t.lanes=4194304)}else{if(!u)if(e=Bo(d),e!==null){if(t.flags|=128,u=!0,e=e.updateQueue,t.updateQueue=e,nl(t,e),cr(o,!0),o.tail===null&&o.tailMode==="hidden"&&!d.alternate&&!Te)return Ke(t),null}else 2*Vt()-o.renderingStartTime>ol&&i!==536870912&&(t.flags|=128,u=!0,cr(o,!1),t.lanes=4194304);o.isBackwards?(d.sibling=t.child,t.child=d):(e=o.last,e!==null?e.sibling=d:t.child=d,o.last=d)}return o.tail!==null?(e=o.tail,o.rendering=e,o.tail=e.sibling,o.renderingStartTime=Vt(),e.sibling=null,i=it.current,te(it,u?i&1|2:i&1),Te&&$n(t,o.treeForkCount),e):(Ke(t),null);case 22:case 23:return Zt(t),mu(),o=t.memoizedState!==null,e!==null?e.memoizedState!==null!==o&&(t.flags|=8192):o&&(t.flags|=8192),o?(i&536870912)!==0&&(t.flags&128)===0&&(Ke(t),t.subtreeFlags&6&&(t.flags|=8192)):Ke(t),i=t.updateQueue,i!==null&&nl(t,i.retryQueue),i=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(i=e.memoizedState.cachePool.pool),o=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(o=t.memoizedState.cachePool.pool),o!==i&&(t.flags|=2048),e!==null&&fe(ci),null;case 24:return i=null,e!==null&&(i=e.memoizedState.cache),t.memoizedState.cache!==i&&(t.flags|=2048),Gn(ot),Ke(t),null;case 25:return null;case 30:return null}throw Error(r(156,t.tag))}function sx(e,t){switch(eu(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Gn(ot),Nt(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return sn(t),null;case 31:if(t.memoizedState!==null){if(Zt(t),t.alternate===null)throw Error(r(340));ri()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Zt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));ri()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return fe(it),null;case 4:return Nt(),null;case 10:return Gn(t.type),null;case 22:case 23:return Zt(t),mu(),e!==null&&fe(ci),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Gn(ot),null;case 25:return null;default:return null}}function Zm(e,t){switch(eu(t),t.tag){case 3:Gn(ot),Nt();break;case 26:case 27:case 5:sn(t);break;case 4:Nt();break;case 31:t.memoizedState!==null&&Zt(t);break;case 13:Zt(t);break;case 19:fe(it);break;case 10:Gn(t.type);break;case 22:case 23:Zt(t),mu(),e!==null&&fe(ci);break;case 24:Gn(ot)}}function ur(e,t){try{var i=t.updateQueue,o=i!==null?i.lastEffect:null;if(o!==null){var u=o.next;i=u;do{if((i.tag&e)===e){o=void 0;var d=i.create,v=i.inst;o=d(),v.destroy=o}i=i.next}while(i!==u)}}catch(_){ze(t,t.return,_)}}function Na(e,t,i){try{var o=t.updateQueue,u=o!==null?o.lastEffect:null;if(u!==null){var d=u.next;o=d;do{if((o.tag&e)===e){var v=o.inst,_=v.destroy;if(_!==void 0){v.destroy=void 0,u=t;var w=i,P=_;try{P()}catch(H){ze(u,w,H)}}}o=o.next}while(o!==d)}}catch(H){ze(t,t.return,H)}}function Wm(e){var t=e.updateQueue;if(t!==null){var i=e.stateNode;try{qp(t,i)}catch(o){ze(e,e.return,o)}}}function Jm(e,t,i){i.props=pi(e.type,e.memoizedProps),i.state=e.memoizedState;try{i.componentWillUnmount()}catch(o){ze(e,t,o)}}function dr(e,t){try{var i=e.ref;if(i!==null){switch(e.tag){case 26:case 27:case 5:var o=e.stateNode;break;case 30:o=e.stateNode;break;default:o=e.stateNode}typeof i=="function"?e.refCleanup=i(o):i.current=o}}catch(u){ze(e,t,u)}}function Dn(e,t){var i=e.ref,o=e.refCleanup;if(i!==null)if(typeof o=="function")try{o()}catch(u){ze(e,t,u)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof i=="function")try{i(null)}catch(u){ze(e,t,u)}else i.current=null}function eg(e){var t=e.type,i=e.memoizedProps,o=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":i.autoFocus&&o.focus();break e;case"img":i.src?o.src=i.src:i.srcSet&&(o.srcset=i.srcSet)}}catch(u){ze(e,e.return,u)}}function Yu(e,t,i){try{var o=e.stateNode;Ex(o,e.type,i,t),o[Dt]=t}catch(u){ze(e,e.return,u)}}function tg(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&La(e.type)||e.tag===4}function Ku(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||tg(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.tag===27&&La(e.type)||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 Xu(e,t,i){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?(i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i).insertBefore(e,t):(t=i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i,t.appendChild(e),i=i._reactRootContainer,i!=null||t.onclick!==null||(t.onclick=Hn));else if(o!==4&&(o===27&&La(e.type)&&(i=e.stateNode,t=null),e=e.child,e!==null))for(Xu(e,t,i),e=e.sibling;e!==null;)Xu(e,t,i),e=e.sibling}function al(e,t,i){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?i.insertBefore(e,t):i.appendChild(e);else if(o!==4&&(o===27&&La(e.type)&&(i=e.stateNode),e=e.child,e!==null))for(al(e,t,i),e=e.sibling;e!==null;)al(e,t,i),e=e.sibling}function ng(e){var t=e.stateNode,i=e.memoizedProps;try{for(var o=e.type,u=t.attributes;u.length;)t.removeAttributeNode(u[0]);Ct(t,o,i),t[_t]=e,t[Dt]=i}catch(d){ze(e,e.return,d)}}var Zn=!1,ut=!1,Qu=!1,ag=typeof WeakSet=="function"?WeakSet:Set,vt=null;function rx(e,t){if(e=e.containerInfo,vd=Cl,e=mp(e),Bc(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else e:{i=(i=e.ownerDocument)&&i.defaultView||window;var o=i.getSelection&&i.getSelection();if(o&&o.rangeCount!==0){i=o.anchorNode;var u=o.anchorOffset,d=o.focusNode;o=o.focusOffset;try{i.nodeType,d.nodeType}catch{i=null;break e}var v=0,_=-1,w=-1,P=0,H=0,G=e,O=null;t:for(;;){for(var z;G!==i||u!==0&&G.nodeType!==3||(_=v+u),G!==d||o!==0&&G.nodeType!==3||(w=v+o),G.nodeType===3&&(v+=G.nodeValue.length),(z=G.firstChild)!==null;)O=G,G=z;for(;;){if(G===e)break t;if(O===i&&++P===u&&(_=v),O===d&&++H===o&&(w=v),(z=G.nextSibling)!==null)break;G=O,O=G.parentNode}G=z}i=_===-1||w===-1?null:{start:_,end:w}}else i=null}i=i||{start:0,end:0}}else i=null;for(yd={focusedElem:e,selectionRange:i},Cl=!1,vt=t;vt!==null;)if(t=vt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,vt=e;else for(;vt!==null;){switch(t=vt,d=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(i=0;i<e.length;i++)u=e[i],u.ref.impl=u.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&d!==null){e=void 0,i=t,u=d.memoizedProps,d=d.memoizedState,o=i.stateNode;try{var ne=pi(i.type,u);e=o.getSnapshotBeforeUpdate(ne,d),o.__reactInternalSnapshotBeforeUpdate=e}catch(de){ze(i,i.return,de)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,i=e.nodeType,i===9)Sd(e);else if(i===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Sd(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(r(163))}if(e=t.sibling,e!==null){e.return=t.return,vt=e;break}vt=t.return}}function ig(e,t,i){var o=i.flags;switch(i.tag){case 0:case 11:case 15:Jn(e,i),o&4&&ur(5,i);break;case 1:if(Jn(e,i),o&4)if(e=i.stateNode,t===null)try{e.componentDidMount()}catch(v){ze(i,i.return,v)}else{var u=pi(i.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(u,t,e.__reactInternalSnapshotBeforeUpdate)}catch(v){ze(i,i.return,v)}}o&64&&Wm(i),o&512&&dr(i,i.return);break;case 3:if(Jn(e,i),o&64&&(e=i.updateQueue,e!==null)){if(t=null,i.child!==null)switch(i.child.tag){case 27:case 5:t=i.child.stateNode;break;case 1:t=i.child.stateNode}try{qp(e,t)}catch(v){ze(i,i.return,v)}}break;case 27:t===null&&o&4&&ng(i);case 26:case 5:Jn(e,i),t===null&&o&4&&eg(i),o&512&&dr(i,i.return);break;case 12:Jn(e,i);break;case 31:Jn(e,i),o&4&&og(e,i);break;case 13:Jn(e,i),o&4&&lg(e,i),o&64&&(e=i.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(i=mx.bind(null,i),Ox(e,i))));break;case 22:if(o=i.memoizedState!==null||Zn,!o){t=t!==null&&t.memoizedState!==null||ut,u=Zn;var d=ut;Zn=o,(ut=t)&&!d?ea(e,i,(i.subtreeFlags&8772)!==0):Jn(e,i),Zn=u,ut=d}break;case 30:break;default:Jn(e,i)}}function sg(e){var t=e.alternate;t!==null&&(e.alternate=null,sg(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&Ac(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ze=null,Ot=!1;function Wn(e,t,i){for(i=i.child;i!==null;)rg(e,t,i),i=i.sibling}function rg(e,t,i){if(Gt&&typeof Gt.onCommitFiberUnmount=="function")try{Gt.onCommitFiberUnmount(Os,i)}catch{}switch(i.tag){case 26:ut||Dn(i,t),Wn(e,t,i),i.memoizedState?i.memoizedState.count--:i.stateNode&&(i=i.stateNode,i.parentNode.removeChild(i));break;case 27:ut||Dn(i,t);var o=Ze,u=Ot;La(i.type)&&(Ze=i.stateNode,Ot=!1),Wn(e,t,i),_r(i.stateNode),Ze=o,Ot=u;break;case 5:ut||Dn(i,t);case 6:if(o=Ze,u=Ot,Ze=null,Wn(e,t,i),Ze=o,Ot=u,Ze!==null)if(Ot)try{(Ze.nodeType===9?Ze.body:Ze.nodeName==="HTML"?Ze.ownerDocument.body:Ze).removeChild(i.stateNode)}catch(d){ze(i,t,d)}else try{Ze.removeChild(i.stateNode)}catch(d){ze(i,t,d)}break;case 18:Ze!==null&&(Ot?(e=Ze,Wg(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,i.stateNode),us(e)):Wg(Ze,i.stateNode));break;case 4:o=Ze,u=Ot,Ze=i.stateNode.containerInfo,Ot=!0,Wn(e,t,i),Ze=o,Ot=u;break;case 0:case 11:case 14:case 15:Na(2,i,t),ut||Na(4,i,t),Wn(e,t,i);break;case 1:ut||(Dn(i,t),o=i.stateNode,typeof o.componentWillUnmount=="function"&&Jm(i,t,o)),Wn(e,t,i);break;case 21:Wn(e,t,i);break;case 22:ut=(o=ut)||i.memoizedState!==null,Wn(e,t,i),ut=o;break;default:Wn(e,t,i)}}function og(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{us(e)}catch(i){ze(t,t.return,i)}}}function lg(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{us(e)}catch(i){ze(t,t.return,i)}}function ox(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new ag),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new ag),t;default:throw Error(r(435,e.tag))}}function il(e,t){var i=ox(e);t.forEach(function(o){if(!i.has(o)){i.add(o);var u=gx.bind(null,e,o);o.then(u,u)}})}function Lt(e,t){var i=t.deletions;if(i!==null)for(var o=0;o<i.length;o++){var u=i[o],d=e,v=t,_=v;e:for(;_!==null;){switch(_.tag){case 27:if(La(_.type)){Ze=_.stateNode,Ot=!1;break e}break;case 5:Ze=_.stateNode,Ot=!1;break e;case 3:case 4:Ze=_.stateNode.containerInfo,Ot=!0;break e}_=_.return}if(Ze===null)throw Error(r(160));rg(d,v,u),Ze=null,Ot=!1,d=u.alternate,d!==null&&(d.return=null),u.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)cg(t,e),t=t.sibling}var Cn=null;function cg(e,t){var i=e.alternate,o=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Lt(t,e),Ft(e),o&4&&(Na(3,e,e.return),ur(3,e),Na(5,e,e.return));break;case 1:Lt(t,e),Ft(e),o&512&&(ut||i===null||Dn(i,i.return)),o&64&&Zn&&(e=e.updateQueue,e!==null&&(o=e.callbacks,o!==null&&(i=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=i===null?o:i.concat(o))));break;case 26:var u=Cn;if(Lt(t,e),Ft(e),o&512&&(ut||i===null||Dn(i,i.return)),o&4){var d=i!==null?i.memoizedState:null;if(o=e.memoizedState,i===null)if(o===null)if(e.stateNode===null){e:{o=e.type,i=e.memoizedProps,u=u.ownerDocument||u;t:switch(o){case"title":d=u.getElementsByTagName("title")[0],(!d||d[zs]||d[_t]||d.namespaceURI==="http://www.w3.org/2000/svg"||d.hasAttribute("itemprop"))&&(d=u.createElement(o),u.head.insertBefore(d,u.querySelector("head > title"))),Ct(d,o,i),d[_t]=e,gt(d),o=d;break e;case"link":var v=cv("link","href",u).get(o+(i.href||""));if(v){for(var _=0;_<v.length;_++)if(d=v[_],d.getAttribute("href")===(i.href==null||i.href===""?null:i.href)&&d.getAttribute("rel")===(i.rel==null?null:i.rel)&&d.getAttribute("title")===(i.title==null?null:i.title)&&d.getAttribute("crossorigin")===(i.crossOrigin==null?null:i.crossOrigin)){v.splice(_,1);break t}}d=u.createElement(o),Ct(d,o,i),u.head.appendChild(d);break;case"meta":if(v=cv("meta","content",u).get(o+(i.content||""))){for(_=0;_<v.length;_++)if(d=v[_],d.getAttribute("content")===(i.content==null?null:""+i.content)&&d.getAttribute("name")===(i.name==null?null:i.name)&&d.getAttribute("property")===(i.property==null?null:i.property)&&d.getAttribute("http-equiv")===(i.httpEquiv==null?null:i.httpEquiv)&&d.getAttribute("charset")===(i.charSet==null?null:i.charSet)){v.splice(_,1);break t}}d=u.createElement(o),Ct(d,o,i),u.head.appendChild(d);break;default:throw Error(r(468,o))}d[_t]=e,gt(d),o=d}e.stateNode=o}else uv(u,e.type,e.stateNode);else e.stateNode=lv(u,o,e.memoizedProps);else d!==o?(d===null?i.stateNode!==null&&(i=i.stateNode,i.parentNode.removeChild(i)):d.count--,o===null?uv(u,e.type,e.stateNode):lv(u,o,e.memoizedProps)):o===null&&e.stateNode!==null&&Yu(e,e.memoizedProps,i.memoizedProps)}break;case 27:Lt(t,e),Ft(e),o&512&&(ut||i===null||Dn(i,i.return)),i!==null&&o&4&&Yu(e,e.memoizedProps,i.memoizedProps);break;case 5:if(Lt(t,e),Ft(e),o&512&&(ut||i===null||Dn(i,i.return)),e.flags&32){u=e.stateNode;try{Di(u,"")}catch(ne){ze(e,e.return,ne)}}o&4&&e.stateNode!=null&&(u=e.memoizedProps,Yu(e,u,i!==null?i.memoizedProps:u)),o&1024&&(Qu=!0);break;case 6:if(Lt(t,e),Ft(e),o&4){if(e.stateNode===null)throw Error(r(162));o=e.memoizedProps,i=e.stateNode;try{i.nodeValue=o}catch(ne){ze(e,e.return,ne)}}break;case 3:if(_l=null,u=Cn,Cn=yl(t.containerInfo),Lt(t,e),Cn=u,Ft(e),o&4&&i!==null&&i.memoizedState.isDehydrated)try{us(t.containerInfo)}catch(ne){ze(e,e.return,ne)}Qu&&(Qu=!1,ug(e));break;case 4:o=Cn,Cn=yl(e.stateNode.containerInfo),Lt(t,e),Ft(e),Cn=o;break;case 12:Lt(t,e),Ft(e);break;case 31:Lt(t,e),Ft(e),o&4&&(o=e.updateQueue,o!==null&&(e.updateQueue=null,il(e,o)));break;case 13:Lt(t,e),Ft(e),e.child.flags&8192&&e.memoizedState!==null!=(i!==null&&i.memoizedState!==null)&&(rl=Vt()),o&4&&(o=e.updateQueue,o!==null&&(e.updateQueue=null,il(e,o)));break;case 22:u=e.memoizedState!==null;var w=i!==null&&i.memoizedState!==null,P=Zn,H=ut;if(Zn=P||u,ut=H||w,Lt(t,e),ut=H,Zn=P,Ft(e),o&8192)e:for(t=e.stateNode,t._visibility=u?t._visibility&-2:t._visibility|1,u&&(i===null||w||Zn||ut||mi(e)),i=null,t=e;;){if(t.tag===5||t.tag===26){if(i===null){w=i=t;try{if(d=w.stateNode,u)v=d.style,typeof v.setProperty=="function"?v.setProperty("display","none","important"):v.display="none";else{_=w.stateNode;var G=w.memoizedProps.style,O=G!=null&&G.hasOwnProperty("display")?G.display:null;_.style.display=O==null||typeof O=="boolean"?"":(""+O).trim()}}catch(ne){ze(w,w.return,ne)}}}else if(t.tag===6){if(i===null){w=t;try{w.stateNode.nodeValue=u?"":w.memoizedProps}catch(ne){ze(w,w.return,ne)}}}else if(t.tag===18){if(i===null){w=t;try{var z=w.stateNode;u?Jg(z,!0):Jg(w.stateNode,!1)}catch(ne){ze(w,w.return,ne)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;i===t&&(i=null),t=t.return}i===t&&(i=null),t.sibling.return=t.return,t=t.sibling}o&4&&(o=e.updateQueue,o!==null&&(i=o.retryQueue,i!==null&&(o.retryQueue=null,il(e,i))));break;case 19:Lt(t,e),Ft(e),o&4&&(o=e.updateQueue,o!==null&&(e.updateQueue=null,il(e,o)));break;case 30:break;case 21:break;default:Lt(t,e),Ft(e)}}function Ft(e){var t=e.flags;if(t&2){try{for(var i,o=e.return;o!==null;){if(tg(o)){i=o;break}o=o.return}if(i==null)throw Error(r(160));switch(i.tag){case 27:var u=i.stateNode,d=Ku(e);al(e,d,u);break;case 5:var v=i.stateNode;i.flags&32&&(Di(v,""),i.flags&=-33);var _=Ku(e);al(e,_,v);break;case 3:case 4:var w=i.stateNode.containerInfo,P=Ku(e);Xu(e,P,w);break;default:throw Error(r(161))}}catch(H){ze(e,e.return,H)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function ug(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;ug(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Jn(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)ig(e,t.alternate,t),t=t.sibling}function mi(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Na(4,t,t.return),mi(t);break;case 1:Dn(t,t.return);var i=t.stateNode;typeof i.componentWillUnmount=="function"&&Jm(t,t.return,i),mi(t);break;case 27:_r(t.stateNode);case 26:case 5:Dn(t,t.return),mi(t);break;case 22:t.memoizedState===null&&mi(t);break;case 30:mi(t);break;default:mi(t)}e=e.sibling}}function ea(e,t,i){for(i=i&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var o=t.alternate,u=e,d=t,v=d.flags;switch(d.tag){case 0:case 11:case 15:ea(u,d,i),ur(4,d);break;case 1:if(ea(u,d,i),o=d,u=o.stateNode,typeof u.componentDidMount=="function")try{u.componentDidMount()}catch(P){ze(o,o.return,P)}if(o=d,u=o.updateQueue,u!==null){var _=o.stateNode;try{var w=u.shared.hiddenCallbacks;if(w!==null)for(u.shared.hiddenCallbacks=null,u=0;u<w.length;u++)Hp(w[u],_)}catch(P){ze(o,o.return,P)}}i&&v&64&&Wm(d),dr(d,d.return);break;case 27:ng(d);case 26:case 5:ea(u,d,i),i&&o===null&&v&4&&eg(d),dr(d,d.return);break;case 12:ea(u,d,i);break;case 31:ea(u,d,i),i&&v&4&&og(u,d);break;case 13:ea(u,d,i),i&&v&4&&lg(u,d);break;case 22:d.memoizedState===null&&ea(u,d,i),dr(d,d.return);break;case 30:break;default:ea(u,d,i)}t=t.sibling}}function Zu(e,t){var i=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(i=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==i&&(e!=null&&e.refCount++,i!=null&&Zs(i))}function Wu(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Zs(e))}function kn(e,t,i,o){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)dg(e,t,i,o),t=t.sibling}function dg(e,t,i,o){var u=t.flags;switch(t.tag){case 0:case 11:case 15:kn(e,t,i,o),u&2048&&ur(9,t);break;case 1:kn(e,t,i,o);break;case 3:kn(e,t,i,o),u&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Zs(e)));break;case 12:if(u&2048){kn(e,t,i,o),e=t.stateNode;try{var d=t.memoizedProps,v=d.id,_=d.onPostCommit;typeof _=="function"&&_(v,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(w){ze(t,t.return,w)}}else kn(e,t,i,o);break;case 31:kn(e,t,i,o);break;case 13:kn(e,t,i,o);break;case 23:break;case 22:d=t.stateNode,v=t.alternate,t.memoizedState!==null?d._visibility&2?kn(e,t,i,o):fr(e,t):d._visibility&2?kn(e,t,i,o):(d._visibility|=2,Ji(e,t,i,o,(t.subtreeFlags&10256)!==0||!1)),u&2048&&Zu(v,t);break;case 24:kn(e,t,i,o),u&2048&&Wu(t.alternate,t);break;default:kn(e,t,i,o)}}function Ji(e,t,i,o,u){for(u=u&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var d=e,v=t,_=i,w=o,P=v.flags;switch(v.tag){case 0:case 11:case 15:Ji(d,v,_,w,u),ur(8,v);break;case 23:break;case 22:var H=v.stateNode;v.memoizedState!==null?H._visibility&2?Ji(d,v,_,w,u):fr(d,v):(H._visibility|=2,Ji(d,v,_,w,u)),u&&P&2048&&Zu(v.alternate,v);break;case 24:Ji(d,v,_,w,u),u&&P&2048&&Wu(v.alternate,v);break;default:Ji(d,v,_,w,u)}t=t.sibling}}function fr(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var i=e,o=t,u=o.flags;switch(o.tag){case 22:fr(i,o),u&2048&&Zu(o.alternate,o);break;case 24:fr(i,o),u&2048&&Wu(o.alternate,o);break;default:fr(i,o)}t=t.sibling}}var hr=8192;function es(e,t,i){if(e.subtreeFlags&hr)for(e=e.child;e!==null;)fg(e,t,i),e=e.sibling}function fg(e,t,i){switch(e.tag){case 26:es(e,t,i),e.flags&hr&&e.memoizedState!==null&&Yx(i,Cn,e.memoizedState,e.memoizedProps);break;case 5:es(e,t,i);break;case 3:case 4:var o=Cn;Cn=yl(e.stateNode.containerInfo),es(e,t,i),Cn=o;break;case 22:e.memoizedState===null&&(o=e.alternate,o!==null&&o.memoizedState!==null?(o=hr,hr=16777216,es(e,t,i),hr=o):es(e,t,i));break;default:es(e,t,i)}}function hg(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function pr(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var i=0;i<t.length;i++){var o=t[i];vt=o,mg(o,e)}hg(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)pg(e),e=e.sibling}function pg(e){switch(e.tag){case 0:case 11:case 15:pr(e),e.flags&2048&&Na(9,e,e.return);break;case 3:pr(e);break;case 12:pr(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,sl(e)):pr(e);break;default:pr(e)}}function sl(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var i=0;i<t.length;i++){var o=t[i];vt=o,mg(o,e)}hg(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Na(8,t,t.return),sl(t);break;case 22:i=t.stateNode,i._visibility&2&&(i._visibility&=-3,sl(t));break;default:sl(t)}e=e.sibling}}function mg(e,t){for(;vt!==null;){var i=vt;switch(i.tag){case 0:case 11:case 15:Na(8,i,t);break;case 23:case 22:if(i.memoizedState!==null&&i.memoizedState.cachePool!==null){var o=i.memoizedState.cachePool.pool;o!=null&&o.refCount++}break;case 24:Zs(i.memoizedState.cache)}if(o=i.child,o!==null)o.return=i,vt=o;else e:for(i=e;vt!==null;){o=vt;var u=o.sibling,d=o.return;if(sg(o),o===i){vt=null;break e}if(u!==null){u.return=d,vt=u;break e}vt=d}}}var lx={getCacheForType:function(e){var t=xt(ot),i=t.data.get(e);return i===void 0&&(i=e(),t.data.set(e,i)),i},cacheSignal:function(){return xt(ot).controller.signal}},cx=typeof WeakMap=="function"?WeakMap:Map,je=0,Be=null,we=null,Ae=0,Fe=0,Wt=null,Ma=!1,ts=!1,Ju=!1,ta=0,nt=0,ja=0,gi=0,ed=0,Jt=0,ns=0,mr=null,zt=null,td=!1,rl=0,gg=0,ol=1/0,ll=null,Ra=null,ht=0,Da=null,as=null,na=0,nd=0,ad=null,vg=null,gr=0,id=null;function en(){return(je&2)!==0&&Ae!==0?Ae&-Ae:F.T!==null?ud():Dh()}function yg(){if(Jt===0)if((Ae&536870912)===0||Te){var e=go;go<<=1,(go&3932160)===0&&(go=262144),Jt=e}else Jt=536870912;return e=Qt.current,e!==null&&(e.flags|=32),Jt}function Ut(e,t,i){(e===Be&&(Fe===2||Fe===9)||e.cancelPendingCommit!==null)&&(is(e,0),Pa(e,Ae,Jt,!1)),Fs(e,i),((je&2)===0||e!==Be)&&(e===Be&&((je&2)===0&&(gi|=i),nt===4&&Pa(e,Ae,Jt,!1)),Pn(e))}function bg(e,t,i){if((je&6)!==0)throw Error(r(327));var o=!i&&(t&127)===0&&(t&e.expiredLanes)===0||Ls(e,t),u=o?fx(e,t):rd(e,t,!0),d=o;do{if(u===0){ts&&!o&&Pa(e,t,0,!1);break}else{if(i=e.current.alternate,d&&!ux(i)){u=rd(e,t,!1),d=!1;continue}if(u===2){if(d=t,e.errorRecoveryDisabledLanes&d)var v=0;else v=e.pendingLanes&-536870913,v=v!==0?v:v&536870912?536870912:0;if(v!==0){t=v;e:{var _=e;u=mr;var w=_.current.memoizedState.isDehydrated;if(w&&(is(_,v).flags|=256),v=rd(_,v,!1),v!==2){if(Ju&&!w){_.errorRecoveryDisabledLanes|=d,gi|=d,u=4;break e}d=zt,zt=u,d!==null&&(zt===null?zt=d:zt.push.apply(zt,d))}u=v}if(d=!1,u!==2)continue}}if(u===1){is(e,0),Pa(e,t,0,!0);break}e:{switch(o=e,d=u,d){case 0:case 1:throw Error(r(345));case 4:if((t&4194048)!==t)break;case 6:Pa(o,t,Jt,!Ma);break e;case 2:zt=null;break;case 3:case 5:break;default:throw Error(r(329))}if((t&62914560)===t&&(u=rl+300-Vt(),10<u)){if(Pa(o,t,Jt,!Ma),yo(o,0,!0)!==0)break e;na=t,o.timeoutHandle=Qg(_g.bind(null,o,i,zt,ll,td,t,Jt,gi,ns,Ma,d,"Throttled",-0,0),u);break e}_g(o,i,zt,ll,td,t,Jt,gi,ns,Ma,d,null,-0,0)}}break}while(!0);Pn(e)}function _g(e,t,i,o,u,d,v,_,w,P,H,G,O,z){if(e.timeoutHandle=-1,G=t.subtreeFlags,G&8192||(G&16785408)===16785408){G={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Hn},fg(t,d,G);var ne=(d&62914560)===d?rl-Vt():(d&4194048)===d?gg-Vt():0;if(ne=Kx(G,ne),ne!==null){na=d,e.cancelPendingCommit=ne(Tg.bind(null,e,t,d,i,o,u,v,_,w,H,G,null,O,z)),Pa(e,d,v,!P);return}}Tg(e,t,d,i,o,u,v,_,w)}function ux(e){for(var t=e;;){var i=t.tag;if((i===0||i===11||i===15)&&t.flags&16384&&(i=t.updateQueue,i!==null&&(i=i.stores,i!==null)))for(var o=0;o<i.length;o++){var u=i[o],d=u.getSnapshot;u=u.value;try{if(!Kt(d(),u))return!1}catch{return!1}}if(i=t.child,t.subtreeFlags&16384&&i!==null)i.return=t,t=i;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 Pa(e,t,i,o){t&=~ed,t&=~gi,e.suspendedLanes|=t,e.pingedLanes&=~t,o&&(e.warmLanes|=t),o=e.expirationTimes;for(var u=t;0<u;){var d=31-Yt(u),v=1<<d;o[d]=-1,u&=~v}i!==0&&Mh(e,i,t)}function cl(){return(je&6)===0?(vr(0),!1):!0}function sd(){if(we!==null){if(Fe===0)var e=we.return;else e=we,Vn=oi=null,Su(e),Ki=null,Js=0,e=we;for(;e!==null;)Zm(e.alternate,e),e=e.return;we=null}}function is(e,t){var i=e.timeoutHandle;i!==-1&&(e.timeoutHandle=-1,Mx(i)),i=e.cancelPendingCommit,i!==null&&(e.cancelPendingCommit=null,i()),na=0,sd(),Be=e,we=i=Bn(e.current,null),Ae=t,Fe=0,Wt=null,Ma=!1,ts=Ls(e,t),Ju=!1,ns=Jt=ed=gi=ja=nt=0,zt=mr=null,td=!1,(t&8)!==0&&(t|=t&32);var o=e.entangledLanes;if(o!==0)for(e=e.entanglements,o&=t;0<o;){var u=31-Yt(o),d=1<<u;t|=e[u],o&=~d}return ta=t,Mo(),i}function Sg(e,t){me=null,F.H=or,t===Yi||t===zo?(t=Fp(),Fe=3):t===cu?(t=Fp(),Fe=4):Fe=t===Fu?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Wt=t,we===null&&(nt=1,Wo(e,un(t,e.current)))}function xg(){var e=Qt.current;return e===null?!0:(Ae&4194048)===Ae?pn===null:(Ae&62914560)===Ae||(Ae&536870912)!==0?e===pn:!1}function wg(){var e=F.H;return F.H=or,e===null?or:e}function Cg(){var e=F.A;return F.A=lx,e}function ul(){nt=4,Ma||(Ae&4194048)!==Ae&&Qt.current!==null||(ts=!0),(ja&134217727)===0&&(gi&134217727)===0||Be===null||Pa(Be,Ae,Jt,!1)}function rd(e,t,i){var o=je;je|=2;var u=wg(),d=Cg();(Be!==e||Ae!==t)&&(ll=null,is(e,t)),t=!1;var v=nt;e:do try{if(Fe!==0&&we!==null){var _=we,w=Wt;switch(Fe){case 8:sd(),v=6;break e;case 3:case 2:case 9:case 6:Qt.current===null&&(t=!0);var P=Fe;if(Fe=0,Wt=null,ss(e,_,w,P),i&&ts){v=0;break e}break;default:P=Fe,Fe=0,Wt=null,ss(e,_,w,P)}}dx(),v=nt;break}catch(H){Sg(e,H)}while(!0);return t&&e.shellSuspendCounter++,Vn=oi=null,je=o,F.H=u,F.A=d,we===null&&(Be=null,Ae=0,Mo()),v}function dx(){for(;we!==null;)kg(we)}function fx(e,t){var i=je;je|=2;var o=wg(),u=Cg();Be!==e||Ae!==t?(ll=null,ol=Vt()+500,is(e,t)):ts=Ls(e,t);e:do try{if(Fe!==0&&we!==null){t=we;var d=Wt;t:switch(Fe){case 1:Fe=0,Wt=null,ss(e,t,d,1);break;case 2:case 9:if(Op(d)){Fe=0,Wt=null,Ag(t);break}t=function(){Fe!==2&&Fe!==9||Be!==e||(Fe=7),Pn(e)},d.then(t,t);break e;case 3:Fe=7;break e;case 4:Fe=5;break e;case 7:Op(d)?(Fe=0,Wt=null,Ag(t)):(Fe=0,Wt=null,ss(e,t,d,7));break;case 5:var v=null;switch(we.tag){case 26:v=we.memoizedState;case 5:case 27:var _=we;if(v?dv(v):_.stateNode.complete){Fe=0,Wt=null;var w=_.sibling;if(w!==null)we=w;else{var P=_.return;P!==null?(we=P,dl(P)):we=null}break t}}Fe=0,Wt=null,ss(e,t,d,5);break;case 6:Fe=0,Wt=null,ss(e,t,d,6);break;case 8:sd(),nt=6;break e;default:throw Error(r(462))}}hx();break}catch(H){Sg(e,H)}while(!0);return Vn=oi=null,F.H=o,F.A=u,je=i,we!==null?0:(Be=null,Ae=0,Mo(),nt)}function hx(){for(;we!==null&&!L_();)kg(we)}function kg(e){var t=Xm(e.alternate,e,ta);e.memoizedProps=e.pendingProps,t===null?dl(e):we=t}function Ag(e){var t=e,i=t.alternate;switch(t.tag){case 15:case 0:t=Bm(i,t,t.pendingProps,t.type,void 0,Ae);break;case 11:t=Bm(i,t,t.pendingProps,t.type.render,t.ref,Ae);break;case 5:Su(t);default:Zm(i,t),t=we=Cp(t,ta),t=Xm(i,t,ta)}e.memoizedProps=e.pendingProps,t===null?dl(e):we=t}function ss(e,t,i,o){Vn=oi=null,Su(t),Ki=null,Js=0;var u=t.return;try{if(tx(e,u,t,i,Ae)){nt=1,Wo(e,un(i,e.current)),we=null;return}}catch(d){if(u!==null)throw we=u,d;nt=1,Wo(e,un(i,e.current)),we=null;return}t.flags&32768?(Te||o===1?e=!0:ts||(Ae&536870912)!==0?e=!1:(Ma=e=!0,(o===2||o===9||o===3||o===6)&&(o=Qt.current,o!==null&&o.tag===13&&(o.flags|=16384))),Eg(t,e)):dl(t)}function dl(e){var t=e;do{if((t.flags&32768)!==0){Eg(t,Ma);return}e=t.return;var i=ix(t.alternate,t,ta);if(i!==null){we=i;return}if(t=t.sibling,t!==null){we=t;return}we=t=e}while(t!==null);nt===0&&(nt=5)}function Eg(e,t){do{var i=sx(e.alternate,e);if(i!==null){i.flags&=32767,we=i;return}if(i=e.return,i!==null&&(i.flags|=32768,i.subtreeFlags=0,i.deletions=null),!t&&(e=e.sibling,e!==null)){we=e;return}we=e=i}while(e!==null);nt=6,we=null}function Tg(e,t,i,o,u,d,v,_,w){e.cancelPendingCommit=null;do fl();while(ht!==0);if((je&6)!==0)throw Error(r(327));if(t!==null){if(t===e.current)throw Error(r(177));if(d=t.lanes|t.childLanes,d|=Kc,G_(e,i,d,v,_,w),e===Be&&(we=Be=null,Ae=0),as=t,Da=e,na=i,nd=d,ad=u,vg=o,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,vx(po,function(){return Dg(),null})):(e.callbackNode=null,e.callbackPriority=0),o=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||o){o=F.T,F.T=null,u=K.p,K.p=2,v=je,je|=4;try{rx(e,t,i)}finally{je=v,K.p=u,F.T=o}}ht=1,Ng(),Mg(),jg()}}function Ng(){if(ht===1){ht=0;var e=Da,t=as,i=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||i){i=F.T,F.T=null;var o=K.p;K.p=2;var u=je;je|=4;try{cg(t,e);var d=yd,v=mp(e.containerInfo),_=d.focusedElem,w=d.selectionRange;if(v!==_&&_&&_.ownerDocument&&pp(_.ownerDocument.documentElement,_)){if(w!==null&&Bc(_)){var P=w.start,H=w.end;if(H===void 0&&(H=P),"selectionStart"in _)_.selectionStart=P,_.selectionEnd=Math.min(H,_.value.length);else{var G=_.ownerDocument||document,O=G&&G.defaultView||window;if(O.getSelection){var z=O.getSelection(),ne=_.textContent.length,de=Math.min(w.start,ne),He=w.end===void 0?de:Math.min(w.end,ne);!z.extend&&de>He&&(v=He,He=de,de=v);var N=hp(_,de),E=hp(_,He);if(N&&E&&(z.rangeCount!==1||z.anchorNode!==N.node||z.anchorOffset!==N.offset||z.focusNode!==E.node||z.focusOffset!==E.offset)){var R=G.createRange();R.setStart(N.node,N.offset),z.removeAllRanges(),de>He?(z.addRange(R),z.extend(E.node,E.offset)):(R.setEnd(E.node,E.offset),z.addRange(R))}}}}for(G=[],z=_;z=z.parentNode;)z.nodeType===1&&G.push({element:z,left:z.scrollLeft,top:z.scrollTop});for(typeof _.focus=="function"&&_.focus(),_=0;_<G.length;_++){var $=G[_];$.element.scrollLeft=$.left,$.element.scrollTop=$.top}}Cl=!!vd,yd=vd=null}finally{je=u,K.p=o,F.T=i}}e.current=t,ht=2}}function Mg(){if(ht===2){ht=0;var e=Da,t=as,i=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||i){i=F.T,F.T=null;var o=K.p;K.p=2;var u=je;je|=4;try{ig(e,t.alternate,t)}finally{je=u,K.p=o,F.T=i}}ht=3}}function jg(){if(ht===4||ht===3){ht=0,F_();var e=Da,t=as,i=na,o=vg;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?ht=5:(ht=0,as=Da=null,Rg(e,e.pendingLanes));var u=e.pendingLanes;if(u===0&&(Ra=null),Cc(i),t=t.stateNode,Gt&&typeof Gt.onCommitFiberRoot=="function")try{Gt.onCommitFiberRoot(Os,t,void 0,(t.current.flags&128)===128)}catch{}if(o!==null){t=F.T,u=K.p,K.p=2,F.T=null;try{for(var d=e.onRecoverableError,v=0;v<o.length;v++){var _=o[v];d(_.value,{componentStack:_.stack})}}finally{F.T=t,K.p=u}}(na&3)!==0&&fl(),Pn(e),u=e.pendingLanes,(i&261930)!==0&&(u&42)!==0?e===id?gr++:(gr=0,id=e):gr=0,vr(0)}}function Rg(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Zs(t)))}function fl(){return Ng(),Mg(),jg(),Dg()}function Dg(){if(ht!==5)return!1;var e=Da,t=nd;nd=0;var i=Cc(na),o=F.T,u=K.p;try{K.p=32>i?32:i,F.T=null,i=ad,ad=null;var d=Da,v=na;if(ht=0,as=Da=null,na=0,(je&6)!==0)throw Error(r(331));var _=je;if(je|=4,pg(d.current),dg(d,d.current,v,i),je=_,vr(0,!1),Gt&&typeof Gt.onPostCommitFiberRoot=="function")try{Gt.onPostCommitFiberRoot(Os,d)}catch{}return!0}finally{K.p=u,F.T=o,Rg(e,t)}}function Pg(e,t,i){t=un(i,t),t=Lu(e.stateNode,t,2),e=Aa(e,t,2),e!==null&&(Fs(e,2),Pn(e))}function ze(e,t,i){if(e.tag===3)Pg(e,e,i);else for(;t!==null;){if(t.tag===3){Pg(t,e,i);break}else if(t.tag===1){var o=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof o.componentDidCatch=="function"&&(Ra===null||!Ra.has(o))){e=un(i,e),i=Om(2),o=Aa(t,i,2),o!==null&&(Lm(i,o,t,e),Fs(o,2),Pn(o));break}}t=t.return}}function od(e,t,i){var o=e.pingCache;if(o===null){o=e.pingCache=new cx;var u=new Set;o.set(t,u)}else u=o.get(t),u===void 0&&(u=new Set,o.set(t,u));u.has(i)||(Ju=!0,u.add(i),e=px.bind(null,e,t,i),t.then(e,e))}function px(e,t,i){var o=e.pingCache;o!==null&&o.delete(t),e.pingedLanes|=e.suspendedLanes&i,e.warmLanes&=~i,Be===e&&(Ae&i)===i&&(nt===4||nt===3&&(Ae&62914560)===Ae&&300>Vt()-rl?(je&2)===0&&is(e,0):ed|=i,ns===Ae&&(ns=0)),Pn(e)}function Og(e,t){t===0&&(t=Nh()),e=ii(e,t),e!==null&&(Fs(e,t),Pn(e))}function mx(e){var t=e.memoizedState,i=0;t!==null&&(i=t.retryLane),Og(e,i)}function gx(e,t){var i=0;switch(e.tag){case 31:case 13:var o=e.stateNode,u=e.memoizedState;u!==null&&(i=u.retryLane);break;case 19:o=e.stateNode;break;case 22:o=e.stateNode._retryCache;break;default:throw Error(r(314))}o!==null&&o.delete(t),Og(e,i)}function vx(e,t){return Un(e,t)}var hl=null,rs=null,ld=!1,pl=!1,cd=!1,Oa=0;function Pn(e){e!==rs&&e.next===null&&(rs===null?hl=rs=e:rs=rs.next=e),pl=!0,ld||(ld=!0,bx())}function vr(e,t){if(!cd&&pl){cd=!0;do for(var i=!1,o=hl;o!==null;){if(e!==0){var u=o.pendingLanes;if(u===0)var d=0;else{var v=o.suspendedLanes,_=o.pingedLanes;d=(1<<31-Yt(42|e)+1)-1,d&=u&~(v&~_),d=d&201326741?d&201326741|1:d?d|2:0}d!==0&&(i=!0,Ug(o,d))}else d=Ae,d=yo(o,o===Be?d:0,o.cancelPendingCommit!==null||o.timeoutHandle!==-1),(d&3)===0||Ls(o,d)||(i=!0,Ug(o,d));o=o.next}while(i);cd=!1}}function yx(){Lg()}function Lg(){pl=ld=!1;var e=0;Oa!==0&&Nx()&&(e=Oa);for(var t=Vt(),i=null,o=hl;o!==null;){var u=o.next,d=Fg(o,t);d===0?(o.next=null,i===null?hl=u:i.next=u,u===null&&(rs=i)):(i=o,(e!==0||(d&3)!==0)&&(pl=!0)),o=u}ht!==0&&ht!==5||vr(e),Oa!==0&&(Oa=0)}function Fg(e,t){for(var i=e.suspendedLanes,o=e.pingedLanes,u=e.expirationTimes,d=e.pendingLanes&-62914561;0<d;){var v=31-Yt(d),_=1<<v,w=u[v];w===-1?((_&i)===0||(_&o)!==0)&&(u[v]=V_(_,t)):w<=t&&(e.expiredLanes|=_),d&=~_}if(t=Be,i=Ae,i=yo(e,e===t?i:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),o=e.callbackNode,i===0||e===t&&(Fe===2||Fe===9)||e.cancelPendingCommit!==null)return o!==null&&o!==null&&Wa(o),e.callbackNode=null,e.callbackPriority=0;if((i&3)===0||Ls(e,i)){if(t=i&-i,t===e.callbackPriority)return t;switch(o!==null&&Wa(o),Cc(i)){case 2:case 8:i=Eh;break;case 32:i=po;break;case 268435456:i=Th;break;default:i=po}return o=zg.bind(null,e),i=Un(i,o),e.callbackPriority=t,e.callbackNode=i,t}return o!==null&&o!==null&&Wa(o),e.callbackPriority=2,e.callbackNode=null,2}function zg(e,t){if(ht!==0&&ht!==5)return e.callbackNode=null,e.callbackPriority=0,null;var i=e.callbackNode;if(fl()&&e.callbackNode!==i)return null;var o=Ae;return o=yo(e,e===Be?o:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),o===0?null:(bg(e,o,t),Fg(e,Vt()),e.callbackNode!=null&&e.callbackNode===i?zg.bind(null,e):null)}function Ug(e,t){if(fl())return null;bg(e,t,!0)}function bx(){jx(function(){(je&6)!==0?Un(Ah,yx):Lg()})}function ud(){if(Oa===0){var e=Vi;e===0&&(e=mo,mo<<=1,(mo&261888)===0&&(mo=256)),Oa=e}return Oa}function Ig(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:xo(""+e)}function Hg(e,t){var i=t.ownerDocument.createElement("input");return i.name=t.name,i.value=t.value,e.id&&i.setAttribute("form",e.id),t.parentNode.insertBefore(i,t),e=new FormData(e),i.parentNode.removeChild(i),e}function _x(e,t,i,o,u){if(t==="submit"&&i&&i.stateNode===u){var d=Ig((u[Dt]||null).action),v=o.submitter;v&&(t=(t=v[Dt]||null)?Ig(t.formAction):v.getAttribute("formAction"),t!==null&&(d=t,v=null));var _=new Ao("action","action",null,o,u);e.push({event:_,listeners:[{instance:null,listener:function(){if(o.defaultPrevented){if(Oa!==0){var w=v?Hg(u,v):new FormData(u);Mu(i,{pending:!0,data:w,method:u.method,action:d},null,w)}}else typeof d=="function"&&(_.preventDefault(),w=v?Hg(u,v):new FormData(u),Mu(i,{pending:!0,data:w,method:u.method,action:d},d,w))},currentTarget:u}]})}}for(var dd=0;dd<Yc.length;dd++){var fd=Yc[dd],Sx=fd.toLowerCase(),xx=fd[0].toUpperCase()+fd.slice(1);wn(Sx,"on"+xx)}wn(yp,"onAnimationEnd"),wn(bp,"onAnimationIteration"),wn(_p,"onAnimationStart"),wn("dblclick","onDoubleClick"),wn("focusin","onFocus"),wn("focusout","onBlur"),wn(zS,"onTransitionRun"),wn(US,"onTransitionStart"),wn(IS,"onTransitionCancel"),wn(Sp,"onTransitionEnd"),ji("onMouseEnter",["mouseout","mouseover"]),ji("onMouseLeave",["mouseout","mouseover"]),ji("onPointerEnter",["pointerout","pointerover"]),ji("onPointerLeave",["pointerout","pointerover"]),ei("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),ei("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),ei("onBeforeInput",["compositionend","keypress","textInput","paste"]),ei("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),ei("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),ei("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var yr="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(" "),wx=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(yr));function qg(e,t){t=(t&4)!==0;for(var i=0;i<e.length;i++){var o=e[i],u=o.event;o=o.listeners;e:{var d=void 0;if(t)for(var v=o.length-1;0<=v;v--){var _=o[v],w=_.instance,P=_.currentTarget;if(_=_.listener,w!==d&&u.isPropagationStopped())break e;d=_,u.currentTarget=P;try{d(u)}catch(H){No(H)}u.currentTarget=null,d=w}else for(v=0;v<o.length;v++){if(_=o[v],w=_.instance,P=_.currentTarget,_=_.listener,w!==d&&u.isPropagationStopped())break e;d=_,u.currentTarget=P;try{d(u)}catch(H){No(H)}u.currentTarget=null,d=w}}}}function Ce(e,t){var i=t[kc];i===void 0&&(i=t[kc]=new Set);var o=e+"__bubble";i.has(o)||(Bg(t,e,2,!1),i.add(o))}function hd(e,t,i){var o=0;t&&(o|=4),Bg(i,e,o,t)}var ml="_reactListening"+Math.random().toString(36).slice(2);function pd(e){if(!e[ml]){e[ml]=!0,Lh.forEach(function(i){i!=="selectionchange"&&(wx.has(i)||hd(i,!1,e),hd(i,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[ml]||(t[ml]=!0,hd("selectionchange",!1,t))}}function Bg(e,t,i,o){switch(yv(t)){case 2:var u=Zx;break;case 8:u=Wx;break;default:u=Nd}i=u.bind(null,t,i,e),u=void 0,!Pc||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(u=!0),o?u!==void 0?e.addEventListener(t,i,{capture:!0,passive:u}):e.addEventListener(t,i,!0):u!==void 0?e.addEventListener(t,i,{passive:u}):e.addEventListener(t,i,!1)}function md(e,t,i,o,u){var d=o;if((t&1)===0&&(t&2)===0&&o!==null)e:for(;;){if(o===null)return;var v=o.tag;if(v===3||v===4){var _=o.stateNode.containerInfo;if(_===u)break;if(v===4)for(v=o.return;v!==null;){var w=v.tag;if((w===3||w===4)&&v.stateNode.containerInfo===u)return;v=v.return}for(;_!==null;){if(v=Ti(_),v===null)return;if(w=v.tag,w===5||w===6||w===26||w===27){o=d=v;continue e}_=_.parentNode}}o=o.return}Kh(function(){var P=d,H=Rc(i),G=[];e:{var O=xp.get(e);if(O!==void 0){var z=Ao,ne=e;switch(e){case"keypress":if(Co(i)===0)break e;case"keydown":case"keyup":z=gS;break;case"focusin":ne="focus",z=zc;break;case"focusout":ne="blur",z=zc;break;case"beforeblur":case"afterblur":z=zc;break;case"click":if(i.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":z=Zh;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":z=iS;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":z=bS;break;case yp:case bp:case _p:z=oS;break;case Sp:z=SS;break;case"scroll":case"scrollend":z=nS;break;case"wheel":z=wS;break;case"copy":case"cut":case"paste":z=cS;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":z=Jh;break;case"toggle":case"beforetoggle":z=kS}var de=(t&4)!==0,He=!de&&(e==="scroll"||e==="scrollend"),N=de?O!==null?O+"Capture":null:O;de=[];for(var E=P,R;E!==null;){var $=E;if(R=$.stateNode,$=$.tag,$!==5&&$!==26&&$!==27||R===null||N===null||($=Is(E,N),$!=null&&de.push(br(E,$,R))),He)break;E=E.return}0<de.length&&(O=new z(O,ne,null,i,H),G.push({event:O,listeners:de}))}}if((t&7)===0){e:{if(O=e==="mouseover"||e==="pointerover",z=e==="mouseout"||e==="pointerout",O&&i!==jc&&(ne=i.relatedTarget||i.fromElement)&&(Ti(ne)||ne[Ei]))break e;if((z||O)&&(O=H.window===H?H:(O=H.ownerDocument)?O.defaultView||O.parentWindow:window,z?(ne=i.relatedTarget||i.toElement,z=P,ne=ne?Ti(ne):null,ne!==null&&(He=c(ne),de=ne.tag,ne!==He||de!==5&&de!==27&&de!==6)&&(ne=null)):(z=null,ne=P),z!==ne)){if(de=Zh,$="onMouseLeave",N="onMouseEnter",E="mouse",(e==="pointerout"||e==="pointerover")&&(de=Jh,$="onPointerLeave",N="onPointerEnter",E="pointer"),He=z==null?O:Us(z),R=ne==null?O:Us(ne),O=new de($,E+"leave",z,i,H),O.target=He,O.relatedTarget=R,$=null,Ti(H)===P&&(de=new de(N,E+"enter",ne,i,H),de.target=R,de.relatedTarget=He,$=de),He=$,z&&ne)t:{for(de=Cx,N=z,E=ne,R=0,$=N;$;$=de($))R++;$=0;for(var le=E;le;le=de(le))$++;for(;0<R-$;)N=de(N),R--;for(;0<$-R;)E=de(E),$--;for(;R--;){if(N===E||E!==null&&N===E.alternate){de=N;break t}N=de(N),E=de(E)}de=null}else de=null;z!==null&&$g(G,O,z,de,!1),ne!==null&&He!==null&&$g(G,He,ne,de,!0)}}e:{if(O=P?Us(P):window,z=O.nodeName&&O.nodeName.toLowerCase(),z==="select"||z==="input"&&O.type==="file")var Ne=op;else if(sp(O))if(lp)Ne=OS;else{Ne=DS;var se=RS}else z=O.nodeName,!z||z.toLowerCase()!=="input"||O.type!=="checkbox"&&O.type!=="radio"?P&&Mc(P.elementType)&&(Ne=op):Ne=PS;if(Ne&&(Ne=Ne(e,P))){rp(G,Ne,i,H);break e}se&&se(e,O,P),e==="focusout"&&P&&O.type==="number"&&P.memoizedProps.value!=null&&Nc(O,"number",O.value)}switch(se=P?Us(P):window,e){case"focusin":(sp(se)||se.contentEditable==="true")&&(Fi=se,$c=P,Ks=null);break;case"focusout":Ks=$c=Fi=null;break;case"mousedown":Vc=!0;break;case"contextmenu":case"mouseup":case"dragend":Vc=!1,gp(G,i,H);break;case"selectionchange":if(FS)break;case"keydown":case"keyup":gp(G,i,H)}var ve;if(Ic)e:{switch(e){case"compositionstart":var Ee="onCompositionStart";break e;case"compositionend":Ee="onCompositionEnd";break e;case"compositionupdate":Ee="onCompositionUpdate";break e}Ee=void 0}else Li?ap(e,i)&&(Ee="onCompositionEnd"):e==="keydown"&&i.keyCode===229&&(Ee="onCompositionStart");Ee&&(ep&&i.locale!=="ko"&&(Li||Ee!=="onCompositionStart"?Ee==="onCompositionEnd"&&Li&&(ve=Xh()):(ba=H,Oc="value"in ba?ba.value:ba.textContent,Li=!0)),se=gl(P,Ee),0<se.length&&(Ee=new Wh(Ee,e,null,i,H),G.push({event:Ee,listeners:se}),ve?Ee.data=ve:(ve=ip(i),ve!==null&&(Ee.data=ve)))),(ve=ES?TS(e,i):NS(e,i))&&(Ee=gl(P,"onBeforeInput"),0<Ee.length&&(se=new Wh("onBeforeInput","beforeinput",null,i,H),G.push({event:se,listeners:Ee}),se.data=ve)),_x(G,e,P,i,H)}qg(G,t)})}function br(e,t,i){return{instance:e,listener:t,currentTarget:i}}function gl(e,t){for(var i=t+"Capture",o=[];e!==null;){var u=e,d=u.stateNode;if(u=u.tag,u!==5&&u!==26&&u!==27||d===null||(u=Is(e,i),u!=null&&o.unshift(br(e,u,d)),u=Is(e,t),u!=null&&o.push(br(e,u,d))),e.tag===3)return o;e=e.return}return[]}function Cx(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function $g(e,t,i,o,u){for(var d=t._reactName,v=[];i!==null&&i!==o;){var _=i,w=_.alternate,P=_.stateNode;if(_=_.tag,w!==null&&w===o)break;_!==5&&_!==26&&_!==27||P===null||(w=P,u?(P=Is(i,d),P!=null&&v.unshift(br(i,P,w))):u||(P=Is(i,d),P!=null&&v.push(br(i,P,w)))),i=i.return}v.length!==0&&e.push({event:t,listeners:v})}var kx=/\r\n?/g,Ax=/\u0000|\uFFFD/g;function Vg(e){return(typeof e=="string"?e:""+e).replace(kx,`
34
- `).replace(Ax,"")}function Gg(e,t){return t=Vg(t),Vg(e)===t}function Ie(e,t,i,o,u,d){switch(i){case"children":typeof o=="string"?t==="body"||t==="textarea"&&o===""||Di(e,o):(typeof o=="number"||typeof o=="bigint")&&t!=="body"&&Di(e,""+o);break;case"className":_o(e,"class",o);break;case"tabIndex":_o(e,"tabindex",o);break;case"dir":case"role":case"viewBox":case"width":case"height":_o(e,i,o);break;case"style":Gh(e,o,d);break;case"data":if(t!=="object"){_o(e,"data",o);break}case"src":case"href":if(o===""&&(t!=="a"||i!=="href")){e.removeAttribute(i);break}if(o==null||typeof o=="function"||typeof o=="symbol"||typeof o=="boolean"){e.removeAttribute(i);break}o=xo(""+o),e.setAttribute(i,o);break;case"action":case"formAction":if(typeof o=="function"){e.setAttribute(i,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof d=="function"&&(i==="formAction"?(t!=="input"&&Ie(e,t,"name",u.name,u,null),Ie(e,t,"formEncType",u.formEncType,u,null),Ie(e,t,"formMethod",u.formMethod,u,null),Ie(e,t,"formTarget",u.formTarget,u,null)):(Ie(e,t,"encType",u.encType,u,null),Ie(e,t,"method",u.method,u,null),Ie(e,t,"target",u.target,u,null)));if(o==null||typeof o=="symbol"||typeof o=="boolean"){e.removeAttribute(i);break}o=xo(""+o),e.setAttribute(i,o);break;case"onClick":o!=null&&(e.onclick=Hn);break;case"onScroll":o!=null&&Ce("scroll",e);break;case"onScrollEnd":o!=null&&Ce("scrollend",e);break;case"dangerouslySetInnerHTML":if(o!=null){if(typeof o!="object"||!("__html"in o))throw Error(r(61));if(i=o.__html,i!=null){if(u.children!=null)throw Error(r(60));e.innerHTML=i}}break;case"multiple":e.multiple=o&&typeof o!="function"&&typeof o!="symbol";break;case"muted":e.muted=o&&typeof o!="function"&&typeof o!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(o==null||typeof o=="function"||typeof o=="boolean"||typeof o=="symbol"){e.removeAttribute("xlink:href");break}i=xo(""+o),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",i);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":o!=null&&typeof o!="function"&&typeof o!="symbol"?e.setAttribute(i,""+o):e.removeAttribute(i);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":o&&typeof o!="function"&&typeof o!="symbol"?e.setAttribute(i,""):e.removeAttribute(i);break;case"capture":case"download":o===!0?e.setAttribute(i,""):o!==!1&&o!=null&&typeof o!="function"&&typeof o!="symbol"?e.setAttribute(i,o):e.removeAttribute(i);break;case"cols":case"rows":case"size":case"span":o!=null&&typeof o!="function"&&typeof o!="symbol"&&!isNaN(o)&&1<=o?e.setAttribute(i,o):e.removeAttribute(i);break;case"rowSpan":case"start":o==null||typeof o=="function"||typeof o=="symbol"||isNaN(o)?e.removeAttribute(i):e.setAttribute(i,o);break;case"popover":Ce("beforetoggle",e),Ce("toggle",e),bo(e,"popover",o);break;case"xlinkActuate":In(e,"http://www.w3.org/1999/xlink","xlink:actuate",o);break;case"xlinkArcrole":In(e,"http://www.w3.org/1999/xlink","xlink:arcrole",o);break;case"xlinkRole":In(e,"http://www.w3.org/1999/xlink","xlink:role",o);break;case"xlinkShow":In(e,"http://www.w3.org/1999/xlink","xlink:show",o);break;case"xlinkTitle":In(e,"http://www.w3.org/1999/xlink","xlink:title",o);break;case"xlinkType":In(e,"http://www.w3.org/1999/xlink","xlink:type",o);break;case"xmlBase":In(e,"http://www.w3.org/XML/1998/namespace","xml:base",o);break;case"xmlLang":In(e,"http://www.w3.org/XML/1998/namespace","xml:lang",o);break;case"xmlSpace":In(e,"http://www.w3.org/XML/1998/namespace","xml:space",o);break;case"is":bo(e,"is",o);break;case"innerText":case"textContent":break;default:(!(2<i.length)||i[0]!=="o"&&i[0]!=="O"||i[1]!=="n"&&i[1]!=="N")&&(i=eS.get(i)||i,bo(e,i,o))}}function gd(e,t,i,o,u,d){switch(i){case"style":Gh(e,o,d);break;case"dangerouslySetInnerHTML":if(o!=null){if(typeof o!="object"||!("__html"in o))throw Error(r(61));if(i=o.__html,i!=null){if(u.children!=null)throw Error(r(60));e.innerHTML=i}}break;case"children":typeof o=="string"?Di(e,o):(typeof o=="number"||typeof o=="bigint")&&Di(e,""+o);break;case"onScroll":o!=null&&Ce("scroll",e);break;case"onScrollEnd":o!=null&&Ce("scrollend",e);break;case"onClick":o!=null&&(e.onclick=Hn);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Fh.hasOwnProperty(i))e:{if(i[0]==="o"&&i[1]==="n"&&(u=i.endsWith("Capture"),t=i.slice(2,u?i.length-7:void 0),d=e[Dt]||null,d=d!=null?d[i]:null,typeof d=="function"&&e.removeEventListener(t,d,u),typeof o=="function")){typeof d!="function"&&d!==null&&(i in e?e[i]=null:e.hasAttribute(i)&&e.removeAttribute(i)),e.addEventListener(t,o,u);break e}i in e?e[i]=o:o===!0?e.setAttribute(i,""):bo(e,i,o)}}}function Ct(e,t,i){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Ce("error",e),Ce("load",e);var o=!1,u=!1,d;for(d in i)if(i.hasOwnProperty(d)){var v=i[d];if(v!=null)switch(d){case"src":o=!0;break;case"srcSet":u=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(r(137,t));default:Ie(e,t,d,v,i,null)}}u&&Ie(e,t,"srcSet",i.srcSet,i,null),o&&Ie(e,t,"src",i.src,i,null);return;case"input":Ce("invalid",e);var _=d=v=u=null,w=null,P=null;for(o in i)if(i.hasOwnProperty(o)){var H=i[o];if(H!=null)switch(o){case"name":u=H;break;case"type":v=H;break;case"checked":w=H;break;case"defaultChecked":P=H;break;case"value":d=H;break;case"defaultValue":_=H;break;case"children":case"dangerouslySetInnerHTML":if(H!=null)throw Error(r(137,t));break;default:Ie(e,t,o,H,i,null)}}qh(e,d,_,w,P,v,u,!1);return;case"select":Ce("invalid",e),o=v=d=null;for(u in i)if(i.hasOwnProperty(u)&&(_=i[u],_!=null))switch(u){case"value":d=_;break;case"defaultValue":v=_;break;case"multiple":o=_;default:Ie(e,t,u,_,i,null)}t=d,i=v,e.multiple=!!o,t!=null?Ri(e,!!o,t,!1):i!=null&&Ri(e,!!o,i,!0);return;case"textarea":Ce("invalid",e),d=u=o=null;for(v in i)if(i.hasOwnProperty(v)&&(_=i[v],_!=null))switch(v){case"value":o=_;break;case"defaultValue":u=_;break;case"children":d=_;break;case"dangerouslySetInnerHTML":if(_!=null)throw Error(r(91));break;default:Ie(e,t,v,_,i,null)}$h(e,o,u,d);return;case"option":for(w in i)if(i.hasOwnProperty(w)&&(o=i[w],o!=null))switch(w){case"selected":e.selected=o&&typeof o!="function"&&typeof o!="symbol";break;default:Ie(e,t,w,o,i,null)}return;case"dialog":Ce("beforetoggle",e),Ce("toggle",e),Ce("cancel",e),Ce("close",e);break;case"iframe":case"object":Ce("load",e);break;case"video":case"audio":for(o=0;o<yr.length;o++)Ce(yr[o],e);break;case"image":Ce("error",e),Ce("load",e);break;case"details":Ce("toggle",e);break;case"embed":case"source":case"link":Ce("error",e),Ce("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(P in i)if(i.hasOwnProperty(P)&&(o=i[P],o!=null))switch(P){case"children":case"dangerouslySetInnerHTML":throw Error(r(137,t));default:Ie(e,t,P,o,i,null)}return;default:if(Mc(t)){for(H in i)i.hasOwnProperty(H)&&(o=i[H],o!==void 0&&gd(e,t,H,o,i,void 0));return}}for(_ in i)i.hasOwnProperty(_)&&(o=i[_],o!=null&&Ie(e,t,_,o,i,null))}function Ex(e,t,i,o){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var u=null,d=null,v=null,_=null,w=null,P=null,H=null;for(z in i){var G=i[z];if(i.hasOwnProperty(z)&&G!=null)switch(z){case"checked":break;case"value":break;case"defaultValue":w=G;default:o.hasOwnProperty(z)||Ie(e,t,z,null,o,G)}}for(var O in o){var z=o[O];if(G=i[O],o.hasOwnProperty(O)&&(z!=null||G!=null))switch(O){case"type":d=z;break;case"name":u=z;break;case"checked":P=z;break;case"defaultChecked":H=z;break;case"value":v=z;break;case"defaultValue":_=z;break;case"children":case"dangerouslySetInnerHTML":if(z!=null)throw Error(r(137,t));break;default:z!==G&&Ie(e,t,O,z,o,G)}}Tc(e,v,_,w,P,H,d,u);return;case"select":z=v=_=O=null;for(d in i)if(w=i[d],i.hasOwnProperty(d)&&w!=null)switch(d){case"value":break;case"multiple":z=w;default:o.hasOwnProperty(d)||Ie(e,t,d,null,o,w)}for(u in o)if(d=o[u],w=i[u],o.hasOwnProperty(u)&&(d!=null||w!=null))switch(u){case"value":O=d;break;case"defaultValue":_=d;break;case"multiple":v=d;default:d!==w&&Ie(e,t,u,d,o,w)}t=_,i=v,o=z,O!=null?Ri(e,!!i,O,!1):!!o!=!!i&&(t!=null?Ri(e,!!i,t,!0):Ri(e,!!i,i?[]:"",!1));return;case"textarea":z=O=null;for(_ in i)if(u=i[_],i.hasOwnProperty(_)&&u!=null&&!o.hasOwnProperty(_))switch(_){case"value":break;case"children":break;default:Ie(e,t,_,null,o,u)}for(v in o)if(u=o[v],d=i[v],o.hasOwnProperty(v)&&(u!=null||d!=null))switch(v){case"value":O=u;break;case"defaultValue":z=u;break;case"children":break;case"dangerouslySetInnerHTML":if(u!=null)throw Error(r(91));break;default:u!==d&&Ie(e,t,v,u,o,d)}Bh(e,O,z);return;case"option":for(var ne in i)if(O=i[ne],i.hasOwnProperty(ne)&&O!=null&&!o.hasOwnProperty(ne))switch(ne){case"selected":e.selected=!1;break;default:Ie(e,t,ne,null,o,O)}for(w in o)if(O=o[w],z=i[w],o.hasOwnProperty(w)&&O!==z&&(O!=null||z!=null))switch(w){case"selected":e.selected=O&&typeof O!="function"&&typeof O!="symbol";break;default:Ie(e,t,w,O,o,z)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var de in i)O=i[de],i.hasOwnProperty(de)&&O!=null&&!o.hasOwnProperty(de)&&Ie(e,t,de,null,o,O);for(P in o)if(O=o[P],z=i[P],o.hasOwnProperty(P)&&O!==z&&(O!=null||z!=null))switch(P){case"children":case"dangerouslySetInnerHTML":if(O!=null)throw Error(r(137,t));break;default:Ie(e,t,P,O,o,z)}return;default:if(Mc(t)){for(var He in i)O=i[He],i.hasOwnProperty(He)&&O!==void 0&&!o.hasOwnProperty(He)&&gd(e,t,He,void 0,o,O);for(H in o)O=o[H],z=i[H],!o.hasOwnProperty(H)||O===z||O===void 0&&z===void 0||gd(e,t,H,O,o,z);return}}for(var N in i)O=i[N],i.hasOwnProperty(N)&&O!=null&&!o.hasOwnProperty(N)&&Ie(e,t,N,null,o,O);for(G in o)O=o[G],z=i[G],!o.hasOwnProperty(G)||O===z||O==null&&z==null||Ie(e,t,G,O,o,z)}function Yg(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Tx(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,i=performance.getEntriesByType("resource"),o=0;o<i.length;o++){var u=i[o],d=u.transferSize,v=u.initiatorType,_=u.duration;if(d&&_&&Yg(v)){for(v=0,_=u.responseEnd,o+=1;o<i.length;o++){var w=i[o],P=w.startTime;if(P>_)break;var H=w.transferSize,G=w.initiatorType;H&&Yg(G)&&(w=w.responseEnd,v+=H*(w<_?1:(_-P)/(w-P)))}if(--o,t+=8*(d+v)/(u.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var vd=null,yd=null;function vl(e){return e.nodeType===9?e:e.ownerDocument}function Kg(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Xg(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function bd(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var _d=null;function Nx(){var e=window.event;return e&&e.type==="popstate"?e===_d?!1:(_d=e,!0):(_d=null,!1)}var Qg=typeof setTimeout=="function"?setTimeout:void 0,Mx=typeof clearTimeout=="function"?clearTimeout:void 0,Zg=typeof Promise=="function"?Promise:void 0,jx=typeof queueMicrotask=="function"?queueMicrotask:typeof Zg<"u"?function(e){return Zg.resolve(null).then(e).catch(Rx)}:Qg;function Rx(e){setTimeout(function(){throw e})}function La(e){return e==="head"}function Wg(e,t){var i=t,o=0;do{var u=i.nextSibling;if(e.removeChild(i),u&&u.nodeType===8)if(i=u.data,i==="/$"||i==="/&"){if(o===0){e.removeChild(u),us(t);return}o--}else if(i==="$"||i==="$?"||i==="$~"||i==="$!"||i==="&")o++;else if(i==="html")_r(e.ownerDocument.documentElement);else if(i==="head"){i=e.ownerDocument.head,_r(i);for(var d=i.firstChild;d;){var v=d.nextSibling,_=d.nodeName;d[zs]||_==="SCRIPT"||_==="STYLE"||_==="LINK"&&d.rel.toLowerCase()==="stylesheet"||i.removeChild(d),d=v}}else i==="body"&&_r(e.ownerDocument.body);i=u}while(i);us(t)}function Jg(e,t){var i=e;e=0;do{var o=i.nextSibling;if(i.nodeType===1?t?(i._stashedDisplay=i.style.display,i.style.display="none"):(i.style.display=i._stashedDisplay||"",i.getAttribute("style")===""&&i.removeAttribute("style")):i.nodeType===3&&(t?(i._stashedText=i.nodeValue,i.nodeValue=""):i.nodeValue=i._stashedText||""),o&&o.nodeType===8)if(i=o.data,i==="/$"){if(e===0)break;e--}else i!=="$"&&i!=="$?"&&i!=="$~"&&i!=="$!"||e++;i=o}while(i)}function Sd(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var i=t;switch(t=t.nextSibling,i.nodeName){case"HTML":case"HEAD":case"BODY":Sd(i),Ac(i);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(i.rel.toLowerCase()==="stylesheet")continue}e.removeChild(i)}}function Dx(e,t,i,o){for(;e.nodeType===1;){var u=i;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!o&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(o){if(!e[zs])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(d=e.getAttribute("rel"),d==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(d!==u.rel||e.getAttribute("href")!==(u.href==null||u.href===""?null:u.href)||e.getAttribute("crossorigin")!==(u.crossOrigin==null?null:u.crossOrigin)||e.getAttribute("title")!==(u.title==null?null:u.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(d=e.getAttribute("src"),(d!==(u.src==null?null:u.src)||e.getAttribute("type")!==(u.type==null?null:u.type)||e.getAttribute("crossorigin")!==(u.crossOrigin==null?null:u.crossOrigin))&&d&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var d=u.name==null?null:""+u.name;if(u.type==="hidden"&&e.getAttribute("name")===d)return e}else return e;if(e=mn(e.nextSibling),e===null)break}return null}function Px(e,t,i){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!i||(e=mn(e.nextSibling),e===null))return null;return e}function ev(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=mn(e.nextSibling),e===null))return null;return e}function xd(e){return e.data==="$?"||e.data==="$~"}function wd(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function Ox(e,t){var i=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||i.readyState!=="loading")t();else{var o=function(){t(),i.removeEventListener("DOMContentLoaded",o)};i.addEventListener("DOMContentLoaded",o),e._reactRetry=o}}function mn(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==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var Cd=null;function tv(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var i=e.data;if(i==="/$"||i==="/&"){if(t===0)return mn(e.nextSibling);t--}else i!=="$"&&i!=="$!"&&i!=="$?"&&i!=="$~"&&i!=="&"||t++}e=e.nextSibling}return null}function nv(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var i=e.data;if(i==="$"||i==="$!"||i==="$?"||i==="$~"||i==="&"){if(t===0)return e;t--}else i!=="/$"&&i!=="/&"||t++}e=e.previousSibling}return null}function av(e,t,i){switch(t=vl(i),e){case"html":if(e=t.documentElement,!e)throw Error(r(452));return e;case"head":if(e=t.head,!e)throw Error(r(453));return e;case"body":if(e=t.body,!e)throw Error(r(454));return e;default:throw Error(r(451))}}function _r(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Ac(e)}var gn=new Map,iv=new Set;function yl(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var aa=K.d;K.d={f:Lx,r:Fx,D:zx,C:Ux,L:Ix,m:Hx,X:Bx,S:qx,M:$x};function Lx(){var e=aa.f(),t=cl();return e||t}function Fx(e){var t=Ni(e);t!==null&&t.tag===5&&t.type==="form"?Sm(t):aa.r(e)}var os=typeof document>"u"?null:document;function sv(e,t,i){var o=os;if(o&&typeof t=="string"&&t){var u=ln(t);u='link[rel="'+e+'"][href="'+u+'"]',typeof i=="string"&&(u+='[crossorigin="'+i+'"]'),iv.has(u)||(iv.add(u),e={rel:e,crossOrigin:i,href:t},o.querySelector(u)===null&&(t=o.createElement("link"),Ct(t,"link",e),gt(t),o.head.appendChild(t)))}}function zx(e){aa.D(e),sv("dns-prefetch",e,null)}function Ux(e,t){aa.C(e,t),sv("preconnect",e,t)}function Ix(e,t,i){aa.L(e,t,i);var o=os;if(o&&e&&t){var u='link[rel="preload"][as="'+ln(t)+'"]';t==="image"&&i&&i.imageSrcSet?(u+='[imagesrcset="'+ln(i.imageSrcSet)+'"]',typeof i.imageSizes=="string"&&(u+='[imagesizes="'+ln(i.imageSizes)+'"]')):u+='[href="'+ln(e)+'"]';var d=u;switch(t){case"style":d=ls(e);break;case"script":d=cs(e)}gn.has(d)||(e=b({rel:"preload",href:t==="image"&&i&&i.imageSrcSet?void 0:e,as:t},i),gn.set(d,e),o.querySelector(u)!==null||t==="style"&&o.querySelector(Sr(d))||t==="script"&&o.querySelector(xr(d))||(t=o.createElement("link"),Ct(t,"link",e),gt(t),o.head.appendChild(t)))}}function Hx(e,t){aa.m(e,t);var i=os;if(i&&e){var o=t&&typeof t.as=="string"?t.as:"script",u='link[rel="modulepreload"][as="'+ln(o)+'"][href="'+ln(e)+'"]',d=u;switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":d=cs(e)}if(!gn.has(d)&&(e=b({rel:"modulepreload",href:e},t),gn.set(d,e),i.querySelector(u)===null)){switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(i.querySelector(xr(d)))return}o=i.createElement("link"),Ct(o,"link",e),gt(o),i.head.appendChild(o)}}}function qx(e,t,i){aa.S(e,t,i);var o=os;if(o&&e){var u=Mi(o).hoistableStyles,d=ls(e);t=t||"default";var v=u.get(d);if(!v){var _={loading:0,preload:null};if(v=o.querySelector(Sr(d)))_.loading=5;else{e=b({rel:"stylesheet",href:e,"data-precedence":t},i),(i=gn.get(d))&&kd(e,i);var w=v=o.createElement("link");gt(w),Ct(w,"link",e),w._p=new Promise(function(P,H){w.onload=P,w.onerror=H}),w.addEventListener("load",function(){_.loading|=1}),w.addEventListener("error",function(){_.loading|=2}),_.loading|=4,bl(v,t,o)}v={type:"stylesheet",instance:v,count:1,state:_},u.set(d,v)}}}function Bx(e,t){aa.X(e,t);var i=os;if(i&&e){var o=Mi(i).hoistableScripts,u=cs(e),d=o.get(u);d||(d=i.querySelector(xr(u)),d||(e=b({src:e,async:!0},t),(t=gn.get(u))&&Ad(e,t),d=i.createElement("script"),gt(d),Ct(d,"link",e),i.head.appendChild(d)),d={type:"script",instance:d,count:1,state:null},o.set(u,d))}}function $x(e,t){aa.M(e,t);var i=os;if(i&&e){var o=Mi(i).hoistableScripts,u=cs(e),d=o.get(u);d||(d=i.querySelector(xr(u)),d||(e=b({src:e,async:!0,type:"module"},t),(t=gn.get(u))&&Ad(e,t),d=i.createElement("script"),gt(d),Ct(d,"link",e),i.head.appendChild(d)),d={type:"script",instance:d,count:1,state:null},o.set(u,d))}}function rv(e,t,i,o){var u=(u=et.current)?yl(u):null;if(!u)throw Error(r(446));switch(e){case"meta":case"title":return null;case"style":return typeof i.precedence=="string"&&typeof i.href=="string"?(t=ls(i.href),i=Mi(u).hoistableStyles,o=i.get(t),o||(o={type:"style",instance:null,count:0,state:null},i.set(t,o)),o):{type:"void",instance:null,count:0,state:null};case"link":if(i.rel==="stylesheet"&&typeof i.href=="string"&&typeof i.precedence=="string"){e=ls(i.href);var d=Mi(u).hoistableStyles,v=d.get(e);if(v||(u=u.ownerDocument||u,v={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},d.set(e,v),(d=u.querySelector(Sr(e)))&&!d._p&&(v.instance=d,v.state.loading=5),gn.has(e)||(i={rel:"preload",as:"style",href:i.href,crossOrigin:i.crossOrigin,integrity:i.integrity,media:i.media,hrefLang:i.hrefLang,referrerPolicy:i.referrerPolicy},gn.set(e,i),d||Vx(u,e,i,v.state))),t&&o===null)throw Error(r(528,""));return v}if(t&&o!==null)throw Error(r(529,""));return null;case"script":return t=i.async,i=i.src,typeof i=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=cs(i),i=Mi(u).hoistableScripts,o=i.get(t),o||(o={type:"script",instance:null,count:0,state:null},i.set(t,o)),o):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,e))}}function ls(e){return'href="'+ln(e)+'"'}function Sr(e){return'link[rel="stylesheet"]['+e+"]"}function ov(e){return b({},e,{"data-precedence":e.precedence,precedence:null})}function Vx(e,t,i,o){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?o.loading=1:(t=e.createElement("link"),o.preload=t,t.addEventListener("load",function(){return o.loading|=1}),t.addEventListener("error",function(){return o.loading|=2}),Ct(t,"link",i),gt(t),e.head.appendChild(t))}function cs(e){return'[src="'+ln(e)+'"]'}function xr(e){return"script[async]"+e}function lv(e,t,i){if(t.count++,t.instance===null)switch(t.type){case"style":var o=e.querySelector('style[data-href~="'+ln(i.href)+'"]');if(o)return t.instance=o,gt(o),o;var u=b({},i,{"data-href":i.href,"data-precedence":i.precedence,href:null,precedence:null});return o=(e.ownerDocument||e).createElement("style"),gt(o),Ct(o,"style",u),bl(o,i.precedence,e),t.instance=o;case"stylesheet":u=ls(i.href);var d=e.querySelector(Sr(u));if(d)return t.state.loading|=4,t.instance=d,gt(d),d;o=ov(i),(u=gn.get(u))&&kd(o,u),d=(e.ownerDocument||e).createElement("link"),gt(d);var v=d;return v._p=new Promise(function(_,w){v.onload=_,v.onerror=w}),Ct(d,"link",o),t.state.loading|=4,bl(d,i.precedence,e),t.instance=d;case"script":return d=cs(i.src),(u=e.querySelector(xr(d)))?(t.instance=u,gt(u),u):(o=i,(u=gn.get(d))&&(o=b({},i),Ad(o,u)),e=e.ownerDocument||e,u=e.createElement("script"),gt(u),Ct(u,"link",o),e.head.appendChild(u),t.instance=u);case"void":return null;default:throw Error(r(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(o=t.instance,t.state.loading|=4,bl(o,i.precedence,e));return t.instance}function bl(e,t,i){for(var o=i.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),u=o.length?o[o.length-1]:null,d=u,v=0;v<o.length;v++){var _=o[v];if(_.dataset.precedence===t)d=_;else if(d!==u)break}d?d.parentNode.insertBefore(e,d.nextSibling):(t=i.nodeType===9?i.head:i,t.insertBefore(e,t.firstChild))}function kd(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function Ad(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var _l=null;function cv(e,t,i){if(_l===null){var o=new Map,u=_l=new Map;u.set(i,o)}else u=_l,o=u.get(i),o||(o=new Map,u.set(i,o));if(o.has(e))return o;for(o.set(e,null),i=i.getElementsByTagName(e),u=0;u<i.length;u++){var d=i[u];if(!(d[zs]||d[_t]||e==="link"&&d.getAttribute("rel")==="stylesheet")&&d.namespaceURI!=="http://www.w3.org/2000/svg"){var v=d.getAttribute(t)||"";v=e+v;var _=o.get(v);_?_.push(d):o.set(v,[d])}}return o}function uv(e,t,i){e=e.ownerDocument||e,e.head.insertBefore(i,t==="title"?e.querySelector("head > title"):null)}function Gx(e,t,i){if(i===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function dv(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Yx(e,t,i,o){if(i.type==="stylesheet"&&(typeof o.media!="string"||matchMedia(o.media).matches!==!1)&&(i.state.loading&4)===0){if(i.instance===null){var u=ls(o.href),d=t.querySelector(Sr(u));if(d){t=d._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Sl.bind(e),t.then(e,e)),i.state.loading|=4,i.instance=d,gt(d);return}d=t.ownerDocument||t,o=ov(o),(u=gn.get(u))&&kd(o,u),d=d.createElement("link"),gt(d);var v=d;v._p=new Promise(function(_,w){v.onload=_,v.onerror=w}),Ct(d,"link",o),i.instance=d}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(i,t),(t=i.state.preload)&&(i.state.loading&3)===0&&(e.count++,i=Sl.bind(e),t.addEventListener("load",i),t.addEventListener("error",i))}}var Ed=0;function Kx(e,t){return e.stylesheets&&e.count===0&&wl(e,e.stylesheets),0<e.count||0<e.imgCount?function(i){var o=setTimeout(function(){if(e.stylesheets&&wl(e,e.stylesheets),e.unsuspend){var d=e.unsuspend;e.unsuspend=null,d()}},6e4+t);0<e.imgBytes&&Ed===0&&(Ed=62500*Tx());var u=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&wl(e,e.stylesheets),e.unsuspend)){var d=e.unsuspend;e.unsuspend=null,d()}},(e.imgBytes>Ed?50:800)+t);return e.unsuspend=i,function(){e.unsuspend=null,clearTimeout(o),clearTimeout(u)}}:null}function Sl(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)wl(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var xl=null;function wl(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,xl=new Map,t.forEach(Xx,e),xl=null,Sl.call(e))}function Xx(e,t){if(!(t.state.loading&4)){var i=xl.get(e);if(i)var o=i.get(null);else{i=new Map,xl.set(e,i);for(var u=e.querySelectorAll("link[data-precedence],style[data-precedence]"),d=0;d<u.length;d++){var v=u[d];(v.nodeName==="LINK"||v.getAttribute("media")!=="not all")&&(i.set(v.dataset.precedence,v),o=v)}o&&i.set(null,o)}u=t.instance,v=u.getAttribute("data-precedence"),d=i.get(v)||o,d===o&&i.set(null,u),i.set(v,u),this.count++,o=Sl.bind(this),u.addEventListener("load",o),u.addEventListener("error",o),d?d.parentNode.insertBefore(u,d.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(u,e.firstChild)),t.state.loading|=4}}var wr={$$typeof:D,Provider:null,Consumer:null,_currentValue:Y,_currentValue2:Y,_threadCount:0};function Qx(e,t,i,o,u,d,v,_,w){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=xc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=xc(0),this.hiddenUpdates=xc(null),this.identifierPrefix=o,this.onUncaughtError=u,this.onCaughtError=d,this.onRecoverableError=v,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=w,this.incompleteTransitions=new Map}function fv(e,t,i,o,u,d,v,_,w,P,H,G){return e=new Qx(e,t,i,v,w,P,H,G,_),t=1,d===!0&&(t|=24),d=Xt(3,null,null,t),e.current=d,d.stateNode=e,t=ru(),t.refCount++,e.pooledCache=t,t.refCount++,d.memoizedState={element:o,isDehydrated:i,cache:t},uu(d),e}function hv(e){return e?(e=Ii,e):Ii}function pv(e,t,i,o,u,d){u=hv(u),o.context===null?o.context=u:o.pendingContext=u,o=ka(t),o.payload={element:i},d=d===void 0?null:d,d!==null&&(o.callback=d),i=Aa(e,o,t),i!==null&&(Ut(i,e,t),tr(i,e,t))}function mv(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var i=e.retryLane;e.retryLane=i!==0&&i<t?i:t}}function Td(e,t){mv(e,t),(e=e.alternate)&&mv(e,t)}function gv(e){if(e.tag===13||e.tag===31){var t=ii(e,67108864);t!==null&&Ut(t,e,67108864),Td(e,67108864)}}function vv(e){if(e.tag===13||e.tag===31){var t=en();t=wc(t);var i=ii(e,t);i!==null&&Ut(i,e,t),Td(e,t)}}var Cl=!0;function Zx(e,t,i,o){var u=F.T;F.T=null;var d=K.p;try{K.p=2,Nd(e,t,i,o)}finally{K.p=d,F.T=u}}function Wx(e,t,i,o){var u=F.T;F.T=null;var d=K.p;try{K.p=8,Nd(e,t,i,o)}finally{K.p=d,F.T=u}}function Nd(e,t,i,o){if(Cl){var u=Md(o);if(u===null)md(e,t,o,kl,i),bv(e,o);else if(ew(u,e,t,i,o))o.stopPropagation();else if(bv(e,o),t&4&&-1<Jx.indexOf(e)){for(;u!==null;){var d=Ni(u);if(d!==null)switch(d.tag){case 3:if(d=d.stateNode,d.current.memoizedState.isDehydrated){var v=Ja(d.pendingLanes);if(v!==0){var _=d;for(_.pendingLanes|=2,_.entangledLanes|=2;v;){var w=1<<31-Yt(v);_.entanglements[1]|=w,v&=~w}Pn(d),(je&6)===0&&(ol=Vt()+500,vr(0))}}break;case 31:case 13:_=ii(d,2),_!==null&&Ut(_,d,2),cl(),Td(d,2)}if(d=Md(o),d===null&&md(e,t,o,kl,i),d===u)break;u=d}u!==null&&o.stopPropagation()}else md(e,t,o,null,i)}}function Md(e){return e=Rc(e),jd(e)}var kl=null;function jd(e){if(kl=null,e=Ti(e),e!==null){var t=c(e);if(t===null)e=null;else{var i=t.tag;if(i===13){if(e=f(t),e!==null)return e;e=null}else if(i===31){if(e=h(t),e!==null)return e;e=null}else if(i===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return kl=e,null}function yv(e){switch(e){case"beforetoggle":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"toggle":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 2;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"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(z_()){case Ah:return 2;case Eh:return 8;case po:case U_:return 32;case Th:return 268435456;default:return 32}default:return 32}}var Rd=!1,Fa=null,za=null,Ua=null,Cr=new Map,kr=new Map,Ia=[],Jx="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".split(" ");function bv(e,t){switch(e){case"focusin":case"focusout":Fa=null;break;case"dragenter":case"dragleave":za=null;break;case"mouseover":case"mouseout":Ua=null;break;case"pointerover":case"pointerout":Cr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":kr.delete(t.pointerId)}}function Ar(e,t,i,o,u,d){return e===null||e.nativeEvent!==d?(e={blockedOn:t,domEventName:i,eventSystemFlags:o,nativeEvent:d,targetContainers:[u]},t!==null&&(t=Ni(t),t!==null&&gv(t)),e):(e.eventSystemFlags|=o,t=e.targetContainers,u!==null&&t.indexOf(u)===-1&&t.push(u),e)}function ew(e,t,i,o,u){switch(t){case"focusin":return Fa=Ar(Fa,e,t,i,o,u),!0;case"dragenter":return za=Ar(za,e,t,i,o,u),!0;case"mouseover":return Ua=Ar(Ua,e,t,i,o,u),!0;case"pointerover":var d=u.pointerId;return Cr.set(d,Ar(Cr.get(d)||null,e,t,i,o,u)),!0;case"gotpointercapture":return d=u.pointerId,kr.set(d,Ar(kr.get(d)||null,e,t,i,o,u)),!0}return!1}function _v(e){var t=Ti(e.target);if(t!==null){var i=c(t);if(i!==null){if(t=i.tag,t===13){if(t=f(i),t!==null){e.blockedOn=t,Ph(e.priority,function(){vv(i)});return}}else if(t===31){if(t=h(i),t!==null){e.blockedOn=t,Ph(e.priority,function(){vv(i)});return}}else if(t===3&&i.stateNode.current.memoizedState.isDehydrated){e.blockedOn=i.tag===3?i.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Al(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var i=Md(e.nativeEvent);if(i===null){i=e.nativeEvent;var o=new i.constructor(i.type,i);jc=o,i.target.dispatchEvent(o),jc=null}else return t=Ni(i),t!==null&&gv(t),e.blockedOn=i,!1;t.shift()}return!0}function Sv(e,t,i){Al(e)&&i.delete(t)}function tw(){Rd=!1,Fa!==null&&Al(Fa)&&(Fa=null),za!==null&&Al(za)&&(za=null),Ua!==null&&Al(Ua)&&(Ua=null),Cr.forEach(Sv),kr.forEach(Sv)}function El(e,t){e.blockedOn===t&&(e.blockedOn=null,Rd||(Rd=!0,s.unstable_scheduleCallback(s.unstable_NormalPriority,tw)))}var Tl=null;function xv(e){Tl!==e&&(Tl=e,s.unstable_scheduleCallback(s.unstable_NormalPriority,function(){Tl===e&&(Tl=null);for(var t=0;t<e.length;t+=3){var i=e[t],o=e[t+1],u=e[t+2];if(typeof o!="function"){if(jd(o||i)===null)continue;break}var d=Ni(i);d!==null&&(e.splice(t,3),t-=3,Mu(d,{pending:!0,data:u,method:i.method,action:o},o,u))}}))}function us(e){function t(w){return El(w,e)}Fa!==null&&El(Fa,e),za!==null&&El(za,e),Ua!==null&&El(Ua,e),Cr.forEach(t),kr.forEach(t);for(var i=0;i<Ia.length;i++){var o=Ia[i];o.blockedOn===e&&(o.blockedOn=null)}for(;0<Ia.length&&(i=Ia[0],i.blockedOn===null);)_v(i),i.blockedOn===null&&Ia.shift();if(i=(e.ownerDocument||e).$$reactFormReplay,i!=null)for(o=0;o<i.length;o+=3){var u=i[o],d=i[o+1],v=u[Dt]||null;if(typeof d=="function")v||xv(i);else if(v){var _=null;if(d&&d.hasAttribute("formAction")){if(u=d,v=d[Dt]||null)_=v.formAction;else if(jd(u)!==null)continue}else _=v.action;typeof _=="function"?i[o+1]=_:(i.splice(o,3),o-=3),xv(i)}}}function wv(){function e(d){d.canIntercept&&d.info==="react-transition"&&d.intercept({handler:function(){return new Promise(function(v){return u=v})},focusReset:"manual",scroll:"manual"})}function t(){u!==null&&(u(),u=null),o||setTimeout(i,20)}function i(){if(!o&&!navigation.transition){var d=navigation.currentEntry;d&&d.url!=null&&navigation.navigate(d.url,{state:d.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var o=!1,u=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(i,100),function(){o=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),u!==null&&(u(),u=null)}}}function Dd(e){this._internalRoot=e}Nl.prototype.render=Dd.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(r(409));var i=t.current,o=en();pv(i,o,e,t,null,null)},Nl.prototype.unmount=Dd.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;pv(e.current,2,null,e,null,null),cl(),t[Ei]=null}};function Nl(e){this._internalRoot=e}Nl.prototype.unstable_scheduleHydration=function(e){if(e){var t=Dh();e={blockedOn:null,target:e,priority:t};for(var i=0;i<Ia.length&&t!==0&&t<Ia[i].priority;i++);Ia.splice(i,0,e),i===0&&_v(e)}};var Cv=n.version;if(Cv!=="19.2.4")throw Error(r(527,Cv,"19.2.4"));K.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(r(188)):(e=Object.keys(e).join(","),Error(r(268,e)));return e=m(t),e=e!==null?y(e):null,e=e===null?null:e.stateNode,e};var nw={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:F,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Ml=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Ml.isDisabled&&Ml.supportsFiber)try{Os=Ml.inject(nw),Gt=Ml}catch{}}return Er.createRoot=function(e,t){if(!l(e))throw Error(r(299));var i=!1,o="",u=jm,d=Rm,v=Dm;return t!=null&&(t.unstable_strictMode===!0&&(i=!0),t.identifierPrefix!==void 0&&(o=t.identifierPrefix),t.onUncaughtError!==void 0&&(u=t.onUncaughtError),t.onCaughtError!==void 0&&(d=t.onCaughtError),t.onRecoverableError!==void 0&&(v=t.onRecoverableError)),t=fv(e,1,!1,null,null,i,o,null,u,d,v,wv),e[Ei]=t.current,pd(e),new Dd(t)},Er.hydrateRoot=function(e,t,i){if(!l(e))throw Error(r(299));var o=!1,u="",d=jm,v=Rm,_=Dm,w=null;return i!=null&&(i.unstable_strictMode===!0&&(o=!0),i.identifierPrefix!==void 0&&(u=i.identifierPrefix),i.onUncaughtError!==void 0&&(d=i.onUncaughtError),i.onCaughtError!==void 0&&(v=i.onCaughtError),i.onRecoverableError!==void 0&&(_=i.onRecoverableError),i.formState!==void 0&&(w=i.formState)),t=fv(e,1,!0,t,i??null,o,u,w,d,v,_,wv),t.context=hv(null),i=t.current,o=en(),o=wc(o),u=ka(o),u.callback=null,Aa(i,u,o),i=o,t.current.lanes=i,Fs(t,i),Pn(t),e[Ei]=t.current,pd(e),new Nl(t)},Er.version="19.2.4",Er}var Lv;function iC(){if(Lv)return Od.exports;Lv=1;function s(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(s)}catch(n){console.error(n)}}return s(),Od.exports=aC(),Od.exports}var sC=iC();/**
33
+ `+o.stack}}var Mt=Object.prototype.hasOwnProperty,Un=s.unstable_scheduleCallback,Wa=s.unstable_cancelCallback,F_=s.unstable_shouldYield,z_=s.unstable_requestPaint,Vt=s.unstable_now,U_=s.unstable_getCurrentPriorityLevel,Th=s.unstable_ImmediatePriority,Eh=s.unstable_UserBlockingPriority,mo=s.unstable_NormalPriority,I_=s.unstable_LowPriority,Nh=s.unstable_IdlePriority,H_=s.log,q_=s.unstable_setDisableYieldValue,Ls=null,Gt=null;function va(e){if(typeof H_=="function"&&q_(e),Gt&&typeof Gt.setStrictMode=="function")try{Gt.setStrictMode(Ls,e)}catch{}}var Yt=Math.clz32?Math.clz32:V_,B_=Math.log,$_=Math.LN2;function V_(e){return e>>>=0,e===0?32:31-(B_(e)/$_|0)|0}var go=256,vo=262144,yo=4194304;function Ja(e){var t=e&42;if(t!==0)return t;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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function bo(e,t,i){var o=e.pendingLanes;if(o===0)return 0;var u=0,d=e.suspendedLanes,v=e.pingedLanes;e=e.warmLanes;var _=o&134217727;return _!==0?(o=_&~d,o!==0?u=Ja(o):(v&=_,v!==0?u=Ja(v):i||(i=_&~e,i!==0&&(u=Ja(i))))):(_=o&~d,_!==0?u=Ja(_):v!==0?u=Ja(v):i||(i=o&~e,i!==0&&(u=Ja(i)))),u===0?0:t!==0&&t!==u&&(t&d)===0&&(d=u&-u,i=t&-t,d>=i||d===32&&(i&4194048)!==0)?t:u}function Fs(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function G_(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32: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:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Mh(){var e=yo;return yo<<=1,(yo&62914560)===0&&(yo=4194304),e}function wc(e){for(var t=[],i=0;31>i;i++)t.push(e);return t}function zs(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Y_(e,t,i,o,u,d){var v=e.pendingLanes;e.pendingLanes=i,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=i,e.entangledLanes&=i,e.errorRecoveryDisabledLanes&=i,e.shellSuspendCounter=0;var _=e.entanglements,w=e.expirationTimes,P=e.hiddenUpdates;for(i=v&~i;0<i;){var H=31-Yt(i),G=1<<H;_[H]=0,w[H]=-1;var O=P[H];if(O!==null)for(P[H]=null,H=0;H<O.length;H++){var z=O[H];z!==null&&(z.lane&=-536870913)}i&=~G}o!==0&&jh(e,o,0),d!==0&&u===0&&e.tag!==0&&(e.suspendedLanes|=d&~(v&~t))}function jh(e,t,i){e.pendingLanes|=t,e.suspendedLanes&=~t;var o=31-Yt(t);e.entangledLanes|=t,e.entanglements[o]=e.entanglements[o]|1073741824|i&261930}function Rh(e,t){var i=e.entangledLanes|=t;for(e=e.entanglements;i;){var o=31-Yt(i),u=1<<o;u&t|e[o]&t&&(e[o]|=t),i&=~u}}function Dh(e,t){var i=t&-t;return i=(i&42)!==0?1:Cc(i),(i&(e.suspendedLanes|t))!==0?0:i}function Cc(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;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:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function kc(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Ph(){var e=K.p;return e!==0?e:(e=window.event,e===void 0?32:bv(e.type))}function Oh(e,t){var i=K.p;try{return K.p=e,t()}finally{K.p=i}}var ya=Math.random().toString(36).slice(2),_t="__reactFiber$"+ya,Dt="__reactProps$"+ya,Ei="__reactContainer$"+ya,Ac="__reactEvents$"+ya,K_="__reactListeners$"+ya,X_="__reactHandles$"+ya,Lh="__reactResources$"+ya,Us="__reactMarker$"+ya;function Tc(e){delete e[_t],delete e[Dt],delete e[Ac],delete e[K_],delete e[X_]}function Ni(e){var t=e[_t];if(t)return t;for(var i=e.parentNode;i;){if(t=i[Ei]||i[_t]){if(i=t.alternate,t.child!==null||i!==null&&i.child!==null)for(e=av(e);e!==null;){if(i=e[_t])return i;e=av(e)}return t}e=i,i=e.parentNode}return null}function Mi(e){if(e=e[_t]||e[Ei]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Is(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(r(33))}function ji(e){var t=e[Lh];return t||(t=e[Lh]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function gt(e){e[Us]=!0}var Fh=new Set,zh={};function ei(e,t){Ri(e,t),Ri(e+"Capture",t)}function Ri(e,t){for(zh[e]=t,e=0;e<t.length;e++)Fh.add(t[e])}var Q_=RegExp("^[: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]*$"),Uh={},Ih={};function Z_(e){return Mt.call(Ih,e)?!0:Mt.call(Uh,e)?!1:Q_.test(e)?Ih[e]=!0:(Uh[e]=!0,!1)}function _o(e,t,i){if(Z_(t))if(i===null)e.removeAttribute(t);else{switch(typeof i){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var o=t.toLowerCase().slice(0,5);if(o!=="data-"&&o!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+i)}}function So(e,t,i){if(i===null)e.removeAttribute(t);else{switch(typeof i){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+i)}}function In(e,t,i,o){if(o===null)e.removeAttribute(i);else{switch(typeof o){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(i);return}e.setAttributeNS(t,i,""+o)}}function on(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Hh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function W_(e,t,i){var o=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof o<"u"&&typeof o.get=="function"&&typeof o.set=="function"){var u=o.get,d=o.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return u.call(this)},set:function(v){i=""+v,d.call(this,v)}}),Object.defineProperty(e,t,{enumerable:o.enumerable}),{getValue:function(){return i},setValue:function(v){i=""+v},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ec(e){if(!e._valueTracker){var t=Hh(e)?"checked":"value";e._valueTracker=W_(e,t,""+e[t])}}function qh(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var i=t.getValue(),o="";return e&&(o=Hh(e)?e.checked?"true":"false":e.value),e=o,e!==i?(t.setValue(e),!0):!1}function xo(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}}var J_=/[\n"\\]/g;function ln(e){return e.replace(J_,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Nc(e,t,i,o,u,d,v,_){e.name="",v!=null&&typeof v!="function"&&typeof v!="symbol"&&typeof v!="boolean"?e.type=v:e.removeAttribute("type"),t!=null?v==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+on(t)):e.value!==""+on(t)&&(e.value=""+on(t)):v!=="submit"&&v!=="reset"||e.removeAttribute("value"),t!=null?Mc(e,v,on(t)):i!=null?Mc(e,v,on(i)):o!=null&&e.removeAttribute("value"),u==null&&d!=null&&(e.defaultChecked=!!d),u!=null&&(e.checked=u&&typeof u!="function"&&typeof u!="symbol"),_!=null&&typeof _!="function"&&typeof _!="symbol"&&typeof _!="boolean"?e.name=""+on(_):e.removeAttribute("name")}function Bh(e,t,i,o,u,d,v,_){if(d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"&&(e.type=d),t!=null||i!=null){if(!(d!=="submit"&&d!=="reset"||t!=null)){Ec(e);return}i=i!=null?""+on(i):"",t=t!=null?""+on(t):i,_||t===e.value||(e.value=t),e.defaultValue=t}o=o??u,o=typeof o!="function"&&typeof o!="symbol"&&!!o,e.checked=_?e.checked:!!o,e.defaultChecked=!!o,v!=null&&typeof v!="function"&&typeof v!="symbol"&&typeof v!="boolean"&&(e.name=v),Ec(e)}function Mc(e,t,i){t==="number"&&xo(e.ownerDocument)===e||e.defaultValue===""+i||(e.defaultValue=""+i)}function Di(e,t,i,o){if(e=e.options,t){t={};for(var u=0;u<i.length;u++)t["$"+i[u]]=!0;for(i=0;i<e.length;i++)u=t.hasOwnProperty("$"+e[i].value),e[i].selected!==u&&(e[i].selected=u),u&&o&&(e[i].defaultSelected=!0)}else{for(i=""+on(i),t=null,u=0;u<e.length;u++){if(e[u].value===i){e[u].selected=!0,o&&(e[u].defaultSelected=!0);return}t!==null||e[u].disabled||(t=e[u])}t!==null&&(t.selected=!0)}}function $h(e,t,i){if(t!=null&&(t=""+on(t),t!==e.value&&(e.value=t),i==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=i!=null?""+on(i):""}function Vh(e,t,i,o){if(t==null){if(o!=null){if(i!=null)throw Error(r(92));if(ye(o)){if(1<o.length)throw Error(r(93));o=o[0]}i=o}i==null&&(i=""),t=i}i=on(t),e.defaultValue=i,o=e.textContent,o===i&&o!==""&&o!==null&&(e.value=o),Ec(e)}function Pi(e,t){if(t){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=t;return}}e.textContent=t}var eS=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Gh(e,t,i){var o=t.indexOf("--")===0;i==null||typeof i=="boolean"||i===""?o?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":o?e.setProperty(t,i):typeof i!="number"||i===0||eS.has(t)?t==="float"?e.cssFloat=i:e[t]=(""+i).trim():e[t]=i+"px"}function Yh(e,t,i){if(t!=null&&typeof t!="object")throw Error(r(62));if(e=e.style,i!=null){for(var o in i)!i.hasOwnProperty(o)||t!=null&&t.hasOwnProperty(o)||(o.indexOf("--")===0?e.setProperty(o,""):o==="float"?e.cssFloat="":e[o]="");for(var u in t)o=t[u],t.hasOwnProperty(u)&&i[u]!==o&&Gh(e,u,o)}else for(var d in t)t.hasOwnProperty(d)&&Gh(e,d,t[d])}function jc(e){if(e.indexOf("-")===-1)return!1;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 tS=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),nS=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function wo(e){return nS.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function Hn(){}var Rc=null;function Dc(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Oi=null,Li=null;function Kh(e){var t=Mi(e);if(t&&(e=t.stateNode)){var i=e[Dt]||null;e:switch(e=t.stateNode,t.type){case"input":if(Nc(e,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name),t=i.name,i.type==="radio"&&t!=null){for(i=e;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll('input[name="'+ln(""+t)+'"][type="radio"]'),t=0;t<i.length;t++){var o=i[t];if(o!==e&&o.form===e.form){var u=o[Dt]||null;if(!u)throw Error(r(90));Nc(o,u.value,u.defaultValue,u.defaultValue,u.checked,u.defaultChecked,u.type,u.name)}}for(t=0;t<i.length;t++)o=i[t],o.form===e.form&&qh(o)}break e;case"textarea":$h(e,i.value,i.defaultValue);break e;case"select":t=i.value,t!=null&&Di(e,!!i.multiple,t,!1)}}}var Pc=!1;function Xh(e,t,i){if(Pc)return e(t,i);Pc=!0;try{var o=e(t);return o}finally{if(Pc=!1,(Oi!==null||Li!==null)&&(ul(),Oi&&(t=Oi,e=Li,Li=Oi=null,Kh(t),e)))for(t=0;t<e.length;t++)Kh(e[t])}}function Hs(e,t){var i=e.stateNode;if(i===null)return null;var o=i[Dt]||null;if(o===null)return null;i=o[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":(o=!o.disabled)||(e=e.type,o=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!o;break e;default:e=!1}if(e)return null;if(i&&typeof i!="function")throw Error(r(231,t,typeof i));return i}var qn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Oc=!1;if(qn)try{var qs={};Object.defineProperty(qs,"passive",{get:function(){Oc=!0}}),window.addEventListener("test",qs,qs),window.removeEventListener("test",qs,qs)}catch{Oc=!1}var ba=null,Lc=null,Co=null;function Qh(){if(Co)return Co;var e,t=Lc,i=t.length,o,u="value"in ba?ba.value:ba.textContent,d=u.length;for(e=0;e<i&&t[e]===u[e];e++);var v=i-e;for(o=1;o<=v&&t[i-o]===u[d-o];o++);return Co=u.slice(e,1<o?1-o:void 0)}function ko(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 Ao(){return!0}function Zh(){return!1}function Pt(e){function t(i,o,u,d,v){this._reactName=i,this._targetInst=u,this.type=o,this.nativeEvent=d,this.target=v,this.currentTarget=null;for(var _ in e)e.hasOwnProperty(_)&&(i=e[_],this[_]=i?i(d):d[_]);return this.isDefaultPrevented=(d.defaultPrevented!=null?d.defaultPrevented:d.returnValue===!1)?Ao:Zh,this.isPropagationStopped=Zh,this}return b(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var i=this.nativeEvent;i&&(i.preventDefault?i.preventDefault():typeof i.returnValue!="unknown"&&(i.returnValue=!1),this.isDefaultPrevented=Ao)},stopPropagation:function(){var i=this.nativeEvent;i&&(i.stopPropagation?i.stopPropagation():typeof i.cancelBubble!="unknown"&&(i.cancelBubble=!0),this.isPropagationStopped=Ao)},persist:function(){},isPersistent:Ao}),t}var ti={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},To=Pt(ti),Bs=b({},ti,{view:0,detail:0}),aS=Pt(Bs),Fc,zc,$s,Eo=b({},Bs,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Ic,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!==$s&&($s&&e.type==="mousemove"?(Fc=e.screenX-$s.screenX,zc=e.screenY-$s.screenY):zc=Fc=0,$s=e),Fc)},movementY:function(e){return"movementY"in e?e.movementY:zc}}),Wh=Pt(Eo),iS=b({},Eo,{dataTransfer:0}),sS=Pt(iS),rS=b({},Bs,{relatedTarget:0}),Uc=Pt(rS),oS=b({},ti,{animationName:0,elapsedTime:0,pseudoElement:0}),lS=Pt(oS),cS=b({},ti,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),uS=Pt(cS),dS=b({},ti,{data:0}),Jh=Pt(dS),fS={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},hS={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"},pS={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function mS(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=pS[e])?!!t[e]:!1}function Ic(){return mS}var gS=b({},Bs,{key:function(e){if(e.key){var t=fS[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=ko(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?hS[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Ic,charCode:function(e){return e.type==="keypress"?ko(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?ko(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),vS=Pt(gS),yS=b({},Eo,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),ep=Pt(yS),bS=b({},Bs,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Ic}),_S=Pt(bS),SS=b({},ti,{propertyName:0,elapsedTime:0,pseudoElement:0}),xS=Pt(SS),wS=b({},Eo,{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}),CS=Pt(wS),kS=b({},ti,{newState:0,oldState:0}),AS=Pt(kS),TS=[9,13,27,32],Hc=qn&&"CompositionEvent"in window,Vs=null;qn&&"documentMode"in document&&(Vs=document.documentMode);var ES=qn&&"TextEvent"in window&&!Vs,tp=qn&&(!Hc||Vs&&8<Vs&&11>=Vs),np=" ",ap=!1;function ip(e,t){switch(e){case"keyup":return TS.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function sp(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Fi=!1;function NS(e,t){switch(e){case"compositionend":return sp(t);case"keypress":return t.which!==32?null:(ap=!0,np);case"textInput":return e=t.data,e===np&&ap?null:e;default:return null}}function MS(e,t){if(Fi)return e==="compositionend"||!Hc&&ip(e,t)?(e=Qh(),Co=Lc=ba=null,Fi=!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 tp&&t.locale!=="ko"?null:t.data;default:return null}}var jS={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 rp(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!jS[e.type]:t==="textarea"}function op(e,t,i,o){Oi?Li?Li.push(o):Li=[o]:Oi=o,t=vl(t,"onChange"),0<t.length&&(i=new To("onChange","change",null,i,o),e.push({event:i,listeners:t}))}var Gs=null,Ys=null;function RS(e){Bg(e,0)}function No(e){var t=Is(e);if(qh(t))return e}function lp(e,t){if(e==="change")return t}var cp=!1;if(qn){var qc;if(qn){var Bc="oninput"in document;if(!Bc){var up=document.createElement("div");up.setAttribute("oninput","return;"),Bc=typeof up.oninput=="function"}qc=Bc}else qc=!1;cp=qc&&(!document.documentMode||9<document.documentMode)}function dp(){Gs&&(Gs.detachEvent("onpropertychange",fp),Ys=Gs=null)}function fp(e){if(e.propertyName==="value"&&No(Ys)){var t=[];op(t,Ys,e,Dc(e)),Xh(RS,t)}}function DS(e,t,i){e==="focusin"?(dp(),Gs=t,Ys=i,Gs.attachEvent("onpropertychange",fp)):e==="focusout"&&dp()}function PS(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return No(Ys)}function OS(e,t){if(e==="click")return No(t)}function LS(e,t){if(e==="input"||e==="change")return No(t)}function FS(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Kt=typeof Object.is=="function"?Object.is:FS;function Ks(e,t){if(Kt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var i=Object.keys(e),o=Object.keys(t);if(i.length!==o.length)return!1;for(o=0;o<i.length;o++){var u=i[o];if(!Mt.call(t,u)||!Kt(e[u],t[u]))return!1}return!0}function hp(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function pp(e,t){var i=hp(e);e=0;for(var o;i;){if(i.nodeType===3){if(o=e+i.textContent.length,e<=t&&o>=t)return{node:i,offset:t-e};e=o}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=hp(i)}}function mp(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?mp(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function gp(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=xo(e.document);t instanceof e.HTMLIFrameElement;){try{var i=typeof t.contentWindow.location.href=="string"}catch{i=!1}if(i)e=t.contentWindow;else break;t=xo(e.document)}return t}function $c(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")}var zS=qn&&"documentMode"in document&&11>=document.documentMode,zi=null,Vc=null,Xs=null,Gc=!1;function vp(e,t,i){var o=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;Gc||zi==null||zi!==xo(o)||(o=zi,"selectionStart"in o&&$c(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),Xs&&Ks(Xs,o)||(Xs=o,o=vl(Vc,"onSelect"),0<o.length&&(t=new To("onSelect","select",null,t,i),e.push({event:t,listeners:o}),t.target=zi)))}function ni(e,t){var i={};return i[e.toLowerCase()]=t.toLowerCase(),i["Webkit"+e]="webkit"+t,i["Moz"+e]="moz"+t,i}var Ui={animationend:ni("Animation","AnimationEnd"),animationiteration:ni("Animation","AnimationIteration"),animationstart:ni("Animation","AnimationStart"),transitionrun:ni("Transition","TransitionRun"),transitionstart:ni("Transition","TransitionStart"),transitioncancel:ni("Transition","TransitionCancel"),transitionend:ni("Transition","TransitionEnd")},Yc={},yp={};qn&&(yp=document.createElement("div").style,"AnimationEvent"in window||(delete Ui.animationend.animation,delete Ui.animationiteration.animation,delete Ui.animationstart.animation),"TransitionEvent"in window||delete Ui.transitionend.transition);function ai(e){if(Yc[e])return Yc[e];if(!Ui[e])return e;var t=Ui[e],i;for(i in t)if(t.hasOwnProperty(i)&&i in yp)return Yc[e]=t[i];return e}var bp=ai("animationend"),_p=ai("animationiteration"),Sp=ai("animationstart"),US=ai("transitionrun"),IS=ai("transitionstart"),HS=ai("transitioncancel"),xp=ai("transitionend"),wp=new Map,Kc="abort auxClick beforeToggle 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(" ");Kc.push("scrollEnd");function wn(e,t){wp.set(e,t),ei(t,[e])}var Mo=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},cn=[],Ii=0,Xc=0;function jo(){for(var e=Ii,t=Xc=Ii=0;t<e;){var i=cn[t];cn[t++]=null;var o=cn[t];cn[t++]=null;var u=cn[t];cn[t++]=null;var d=cn[t];if(cn[t++]=null,o!==null&&u!==null){var v=o.pending;v===null?u.next=u:(u.next=v.next,v.next=u),o.pending=u}d!==0&&Cp(i,u,d)}}function Ro(e,t,i,o){cn[Ii++]=e,cn[Ii++]=t,cn[Ii++]=i,cn[Ii++]=o,Xc|=o,e.lanes|=o,e=e.alternate,e!==null&&(e.lanes|=o)}function Qc(e,t,i,o){return Ro(e,t,i,o),Do(e)}function ii(e,t){return Ro(e,null,null,t),Do(e)}function Cp(e,t,i){e.lanes|=i;var o=e.alternate;o!==null&&(o.lanes|=i);for(var u=!1,d=e.return;d!==null;)d.childLanes|=i,o=d.alternate,o!==null&&(o.childLanes|=i),d.tag===22&&(e=d.stateNode,e===null||e._visibility&1||(u=!0)),e=d,d=d.return;return e.tag===3?(d=e.stateNode,u&&t!==null&&(u=31-Yt(i),e=d.hiddenUpdates,o=e[u],o===null?e[u]=[t]:o.push(t),t.lane=i|536870912),d):null}function Do(e){if(50<vr)throw vr=0,sd=null,Error(r(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Hi={};function qS(e,t,i,o){this.tag=e,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Xt(e,t,i,o){return new qS(e,t,i,o)}function Zc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Bn(e,t){var i=e.alternate;return i===null?(i=Xt(e.tag,t,e.key,e.mode),i.elementType=e.elementType,i.type=e.type,i.stateNode=e.stateNode,i.alternate=e,e.alternate=i):(i.pendingProps=t,i.type=e.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=e.flags&65011712,i.childLanes=e.childLanes,i.lanes=e.lanes,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,t=e.dependencies,i.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},i.sibling=e.sibling,i.index=e.index,i.ref=e.ref,i.refCleanup=e.refCleanup,i}function kp(e,t){e.flags&=65011714;var i=e.alternate;return i===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=i.childLanes,e.lanes=i.lanes,e.child=i.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=i.memoizedProps,e.memoizedState=i.memoizedState,e.updateQueue=i.updateQueue,e.type=i.type,t=i.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Po(e,t,i,o,u,d){var v=0;if(o=e,typeof e=="function")Zc(e)&&(v=1);else if(typeof e=="string")v=Yx(e,i,ue.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case Z:return e=Xt(31,i,t,u),e.elementType=Z,e.lanes=d,e;case k:return si(i.children,u,d,t);case A:v=8,u|=24;break;case M:return e=Xt(12,i,t,u|2),e.elementType=M,e.lanes=d,e;case B:return e=Xt(13,i,t,u),e.elementType=B,e.lanes=d,e;case V:return e=Xt(19,i,t,u),e.elementType=V,e.lanes=d,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case D:v=10;break e;case j:v=9;break e;case q:v=11;break e;case I:v=14;break e;case L:v=16,o=null;break e}v=29,i=Error(r(130,e===null?"null":typeof e,"")),o=null}return t=Xt(v,i,t,u),t.elementType=e,t.type=o,t.lanes=d,t}function si(e,t,i,o){return e=Xt(7,e,o,t),e.lanes=i,e}function Wc(e,t,i){return e=Xt(6,e,null,t),e.lanes=i,e}function Ap(e){var t=Xt(18,null,null,0);return t.stateNode=e,t}function Jc(e,t,i){return t=Xt(4,e.children!==null?e.children:[],e.key,t),t.lanes=i,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Tp=new WeakMap;function un(e,t){if(typeof e=="object"&&e!==null){var i=Tp.get(e);return i!==void 0?i:(t={value:e,source:t,stack:bt(t)},Tp.set(e,t),t)}return{value:e,source:t,stack:bt(t)}}var qi=[],Bi=0,Oo=null,Qs=0,dn=[],fn=0,_a=null,jn=1,Rn="";function $n(e,t){qi[Bi++]=Qs,qi[Bi++]=Oo,Oo=e,Qs=t}function Ep(e,t,i){dn[fn++]=jn,dn[fn++]=Rn,dn[fn++]=_a,_a=e;var o=jn;e=Rn;var u=32-Yt(o)-1;o&=~(1<<u),i+=1;var d=32-Yt(t)+u;if(30<d){var v=u-u%5;d=(o&(1<<v)-1).toString(32),o>>=v,u-=v,jn=1<<32-Yt(t)+u|i<<u|o,Rn=d+e}else jn=1<<d|i<<u|o,Rn=e}function eu(e){e.return!==null&&($n(e,1),Ep(e,1,0))}function tu(e){for(;e===Oo;)Oo=qi[--Bi],qi[Bi]=null,Qs=qi[--Bi],qi[Bi]=null;for(;e===_a;)_a=dn[--fn],dn[fn]=null,Rn=dn[--fn],dn[fn]=null,jn=dn[--fn],dn[fn]=null}function Np(e,t){dn[fn++]=jn,dn[fn++]=Rn,dn[fn++]=_a,jn=t.id,Rn=t.overflow,_a=e}var St=null,Ye=null,Ee=!1,Sa=null,hn=!1,nu=Error(r(519));function xa(e){var t=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Zs(un(t,e)),nu}function Mp(e){var t=e.stateNode,i=e.type,o=e.memoizedProps;switch(t[_t]=e,t[Dt]=o,i){case"dialog":Ce("cancel",t),Ce("close",t);break;case"iframe":case"object":case"embed":Ce("load",t);break;case"video":case"audio":for(i=0;i<br.length;i++)Ce(br[i],t);break;case"source":Ce("error",t);break;case"img":case"image":case"link":Ce("error",t),Ce("load",t);break;case"details":Ce("toggle",t);break;case"input":Ce("invalid",t),Bh(t,o.value,o.defaultValue,o.checked,o.defaultChecked,o.type,o.name,!0);break;case"select":Ce("invalid",t);break;case"textarea":Ce("invalid",t),Vh(t,o.value,o.defaultValue,o.children)}i=o.children,typeof i!="string"&&typeof i!="number"&&typeof i!="bigint"||t.textContent===""+i||o.suppressHydrationWarning===!0||Yg(t.textContent,i)?(o.popover!=null&&(Ce("beforetoggle",t),Ce("toggle",t)),o.onScroll!=null&&Ce("scroll",t),o.onScrollEnd!=null&&Ce("scrollend",t),o.onClick!=null&&(t.onclick=Hn),t=!0):t=!1,t||xa(e,!0)}function jp(e){for(St=e.return;St;)switch(St.tag){case 5:case 31:case 13:hn=!1;return;case 27:case 3:hn=!0;return;default:St=St.return}}function $i(e){if(e!==St)return!1;if(!Ee)return jp(e),Ee=!0,!1;var t=e.tag,i;if((i=t!==3&&t!==27)&&((i=t===5)&&(i=e.type,i=!(i!=="form"&&i!=="button")||_d(e.type,e.memoizedProps)),i=!i),i&&Ye&&xa(e),jp(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(317));Ye=nv(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(317));Ye=nv(e)}else t===27?(t=Ye,La(e.type)?(e=kd,kd=null,Ye=e):Ye=t):Ye=St?mn(e.stateNode.nextSibling):null;return!0}function ri(){Ye=St=null,Ee=!1}function au(){var e=Sa;return e!==null&&(zt===null?zt=e:zt.push.apply(zt,e),Sa=null),e}function Zs(e){Sa===null?Sa=[e]:Sa.push(e)}var iu=Pe(null),oi=null,Vn=null;function wa(e,t,i){te(iu,t._currentValue),t._currentValue=i}function Gn(e){e._currentValue=iu.current,fe(iu)}function su(e,t,i){for(;e!==null;){var o=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,o!==null&&(o.childLanes|=t)):o!==null&&(o.childLanes&t)!==t&&(o.childLanes|=t),e===i)break;e=e.return}}function ru(e,t,i,o){var u=e.child;for(u!==null&&(u.return=e);u!==null;){var d=u.dependencies;if(d!==null){var v=u.child;d=d.firstContext;e:for(;d!==null;){var _=d;d=u;for(var w=0;w<t.length;w++)if(_.context===t[w]){d.lanes|=i,_=d.alternate,_!==null&&(_.lanes|=i),su(d.return,i,e),o||(v=null);break e}d=_.next}}else if(u.tag===18){if(v=u.return,v===null)throw Error(r(341));v.lanes|=i,d=v.alternate,d!==null&&(d.lanes|=i),su(v,i,e),v=null}else v=u.child;if(v!==null)v.return=u;else for(v=u;v!==null;){if(v===e){v=null;break}if(u=v.sibling,u!==null){u.return=v.return,v=u;break}v=v.return}u=v}}function Vi(e,t,i,o){e=null;for(var u=t,d=!1;u!==null;){if(!d){if((u.flags&524288)!==0)d=!0;else if((u.flags&262144)!==0)break}if(u.tag===10){var v=u.alternate;if(v===null)throw Error(r(387));if(v=v.memoizedProps,v!==null){var _=u.type;Kt(u.pendingProps.value,v.value)||(e!==null?e.push(_):e=[_])}}else if(u===qe.current){if(v=u.alternate,v===null)throw Error(r(387));v.memoizedState.memoizedState!==u.memoizedState.memoizedState&&(e!==null?e.push(Cr):e=[Cr])}u=u.return}e!==null&&ru(t,e,i,o),t.flags|=262144}function Lo(e){for(e=e.firstContext;e!==null;){if(!Kt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function li(e){oi=e,Vn=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function xt(e){return Rp(oi,e)}function Fo(e,t){return oi===null&&li(e),Rp(e,t)}function Rp(e,t){var i=t._currentValue;if(t={context:t,memoizedValue:i,next:null},Vn===null){if(e===null)throw Error(r(308));Vn=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Vn=Vn.next=t;return i}var BS=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(i,o){e.push(o)}};this.abort=function(){t.aborted=!0,e.forEach(function(i){return i()})}},$S=s.unstable_scheduleCallback,VS=s.unstable_NormalPriority,ot={$$typeof:D,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function ou(){return{controller:new BS,data:new Map,refCount:0}}function Ws(e){e.refCount--,e.refCount===0&&$S(VS,function(){e.controller.abort()})}var Js=null,lu=0,Gi=0,Yi=null;function GS(e,t){if(Js===null){var i=Js=[];lu=0,Gi=dd(),Yi={status:"pending",value:void 0,then:function(o){i.push(o)}}}return lu++,t.then(Dp,Dp),t}function Dp(){if(--lu===0&&Js!==null){Yi!==null&&(Yi.status="fulfilled");var e=Js;Js=null,Gi=0,Yi=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function YS(e,t){var i=[],o={status:"pending",value:null,reason:null,then:function(u){i.push(u)}};return e.then(function(){o.status="fulfilled",o.value=t;for(var u=0;u<i.length;u++)(0,i[u])(t)},function(u){for(o.status="rejected",o.reason=u,u=0;u<i.length;u++)(0,i[u])(void 0)}),o}var Pp=F.S;F.S=function(e,t){vg=Vt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&GS(e,t),Pp!==null&&Pp(e,t)};var ci=Pe(null);function cu(){var e=ci.current;return e!==null?e:Be.pooledCache}function zo(e,t){t===null?te(ci,ci.current):te(ci,t.pool)}function Op(){var e=cu();return e===null?null:{parent:ot._currentValue,pool:e}}var Ki=Error(r(460)),uu=Error(r(474)),Uo=Error(r(542)),Io={then:function(){}};function Lp(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Fp(e,t,i){switch(i=e[i],i===void 0?e.push(t):i!==t&&(t.then(Hn,Hn),t=i),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Up(e),e;default:if(typeof t.status=="string")t.then(Hn,Hn);else{if(e=Be,e!==null&&100<e.shellSuspendCounter)throw Error(r(482));e=t,e.status="pending",e.then(function(o){if(t.status==="pending"){var u=t;u.status="fulfilled",u.value=o}},function(o){if(t.status==="pending"){var u=t;u.status="rejected",u.reason=o}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Up(e),e}throw di=t,Ki}}function ui(e){try{var t=e._init;return t(e._payload)}catch(i){throw i!==null&&typeof i=="object"&&typeof i.then=="function"?(di=i,Ki):i}}var di=null;function zp(){if(di===null)throw Error(r(459));var e=di;return di=null,e}function Up(e){if(e===Ki||e===Uo)throw Error(r(483))}var Xi=null,er=0;function Ho(e){var t=er;return er+=1,Xi===null&&(Xi=[]),Fp(Xi,e,t)}function tr(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function qo(e,t){throw t.$$typeof===x?Error(r(525)):(e=Object.prototype.toString.call(t),Error(r(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function Ip(e){function t(N,T){if(e){var R=N.deletions;R===null?(N.deletions=[T],N.flags|=16):R.push(T)}}function i(N,T){if(!e)return null;for(;T!==null;)t(N,T),T=T.sibling;return null}function o(N){for(var T=new Map;N!==null;)N.key!==null?T.set(N.key,N):T.set(N.index,N),N=N.sibling;return T}function u(N,T){return N=Bn(N,T),N.index=0,N.sibling=null,N}function d(N,T,R){return N.index=R,e?(R=N.alternate,R!==null?(R=R.index,R<T?(N.flags|=67108866,T):R):(N.flags|=67108866,T)):(N.flags|=1048576,T)}function v(N){return e&&N.alternate===null&&(N.flags|=67108866),N}function _(N,T,R,$){return T===null||T.tag!==6?(T=Wc(R,N.mode,$),T.return=N,T):(T=u(T,R),T.return=N,T)}function w(N,T,R,$){var le=R.type;return le===k?H(N,T,R.props.children,$,R.key):T!==null&&(T.elementType===le||typeof le=="object"&&le!==null&&le.$$typeof===L&&ui(le)===T.type)?(T=u(T,R.props),tr(T,R),T.return=N,T):(T=Po(R.type,R.key,R.props,null,N.mode,$),tr(T,R),T.return=N,T)}function P(N,T,R,$){return T===null||T.tag!==4||T.stateNode.containerInfo!==R.containerInfo||T.stateNode.implementation!==R.implementation?(T=Jc(R,N.mode,$),T.return=N,T):(T=u(T,R.children||[]),T.return=N,T)}function H(N,T,R,$,le){return T===null||T.tag!==7?(T=si(R,N.mode,$,le),T.return=N,T):(T=u(T,R),T.return=N,T)}function G(N,T,R){if(typeof T=="string"&&T!==""||typeof T=="number"||typeof T=="bigint")return T=Wc(""+T,N.mode,R),T.return=N,T;if(typeof T=="object"&&T!==null){switch(T.$$typeof){case C:return R=Po(T.type,T.key,T.props,null,N.mode,R),tr(R,T),R.return=N,R;case E:return T=Jc(T,N.mode,R),T.return=N,T;case L:return T=ui(T),G(N,T,R)}if(ye(T)||ge(T))return T=si(T,N.mode,R,null),T.return=N,T;if(typeof T.then=="function")return G(N,Ho(T),R);if(T.$$typeof===D)return G(N,Fo(N,T),R);qo(N,T)}return null}function O(N,T,R,$){var le=T!==null?T.key:null;if(typeof R=="string"&&R!==""||typeof R=="number"||typeof R=="bigint")return le!==null?null:_(N,T,""+R,$);if(typeof R=="object"&&R!==null){switch(R.$$typeof){case C:return R.key===le?w(N,T,R,$):null;case E:return R.key===le?P(N,T,R,$):null;case L:return R=ui(R),O(N,T,R,$)}if(ye(R)||ge(R))return le!==null?null:H(N,T,R,$,null);if(typeof R.then=="function")return O(N,T,Ho(R),$);if(R.$$typeof===D)return O(N,T,Fo(N,R),$);qo(N,R)}return null}function z(N,T,R,$,le){if(typeof $=="string"&&$!==""||typeof $=="number"||typeof $=="bigint")return N=N.get(R)||null,_(T,N,""+$,le);if(typeof $=="object"&&$!==null){switch($.$$typeof){case C:return N=N.get($.key===null?R:$.key)||null,w(T,N,$,le);case E:return N=N.get($.key===null?R:$.key)||null,P(T,N,$,le);case L:return $=ui($),z(N,T,R,$,le)}if(ye($)||ge($))return N=N.get(R)||null,H(T,N,$,le,null);if(typeof $.then=="function")return z(N,T,R,Ho($),le);if($.$$typeof===D)return z(N,T,R,Fo(T,$),le);qo(T,$)}return null}function ne(N,T,R,$){for(var le=null,Ne=null,se=T,ve=T=0,Te=null;se!==null&&ve<R.length;ve++){se.index>ve?(Te=se,se=null):Te=se.sibling;var Me=O(N,se,R[ve],$);if(Me===null){se===null&&(se=Te);break}e&&se&&Me.alternate===null&&t(N,se),T=d(Me,T,ve),Ne===null?le=Me:Ne.sibling=Me,Ne=Me,se=Te}if(ve===R.length)return i(N,se),Ee&&$n(N,ve),le;if(se===null){for(;ve<R.length;ve++)se=G(N,R[ve],$),se!==null&&(T=d(se,T,ve),Ne===null?le=se:Ne.sibling=se,Ne=se);return Ee&&$n(N,ve),le}for(se=o(se);ve<R.length;ve++)Te=z(se,N,ve,R[ve],$),Te!==null&&(e&&Te.alternate!==null&&se.delete(Te.key===null?ve:Te.key),T=d(Te,T,ve),Ne===null?le=Te:Ne.sibling=Te,Ne=Te);return e&&se.forEach(function(Ha){return t(N,Ha)}),Ee&&$n(N,ve),le}function de(N,T,R,$){if(R==null)throw Error(r(151));for(var le=null,Ne=null,se=T,ve=T=0,Te=null,Me=R.next();se!==null&&!Me.done;ve++,Me=R.next()){se.index>ve?(Te=se,se=null):Te=se.sibling;var Ha=O(N,se,Me.value,$);if(Ha===null){se===null&&(se=Te);break}e&&se&&Ha.alternate===null&&t(N,se),T=d(Ha,T,ve),Ne===null?le=Ha:Ne.sibling=Ha,Ne=Ha,se=Te}if(Me.done)return i(N,se),Ee&&$n(N,ve),le;if(se===null){for(;!Me.done;ve++,Me=R.next())Me=G(N,Me.value,$),Me!==null&&(T=d(Me,T,ve),Ne===null?le=Me:Ne.sibling=Me,Ne=Me);return Ee&&$n(N,ve),le}for(se=o(se);!Me.done;ve++,Me=R.next())Me=z(se,N,ve,Me.value,$),Me!==null&&(e&&Me.alternate!==null&&se.delete(Me.key===null?ve:Me.key),T=d(Me,T,ve),Ne===null?le=Me:Ne.sibling=Me,Ne=Me);return e&&se.forEach(function(iw){return t(N,iw)}),Ee&&$n(N,ve),le}function He(N,T,R,$){if(typeof R=="object"&&R!==null&&R.type===k&&R.key===null&&(R=R.props.children),typeof R=="object"&&R!==null){switch(R.$$typeof){case C:e:{for(var le=R.key;T!==null;){if(T.key===le){if(le=R.type,le===k){if(T.tag===7){i(N,T.sibling),$=u(T,R.props.children),$.return=N,N=$;break e}}else if(T.elementType===le||typeof le=="object"&&le!==null&&le.$$typeof===L&&ui(le)===T.type){i(N,T.sibling),$=u(T,R.props),tr($,R),$.return=N,N=$;break e}i(N,T);break}else t(N,T);T=T.sibling}R.type===k?($=si(R.props.children,N.mode,$,R.key),$.return=N,N=$):($=Po(R.type,R.key,R.props,null,N.mode,$),tr($,R),$.return=N,N=$)}return v(N);case E:e:{for(le=R.key;T!==null;){if(T.key===le)if(T.tag===4&&T.stateNode.containerInfo===R.containerInfo&&T.stateNode.implementation===R.implementation){i(N,T.sibling),$=u(T,R.children||[]),$.return=N,N=$;break e}else{i(N,T);break}else t(N,T);T=T.sibling}$=Jc(R,N.mode,$),$.return=N,N=$}return v(N);case L:return R=ui(R),He(N,T,R,$)}if(ye(R))return ne(N,T,R,$);if(ge(R)){if(le=ge(R),typeof le!="function")throw Error(r(150));return R=le.call(R),de(N,T,R,$)}if(typeof R.then=="function")return He(N,T,Ho(R),$);if(R.$$typeof===D)return He(N,T,Fo(N,R),$);qo(N,R)}return typeof R=="string"&&R!==""||typeof R=="number"||typeof R=="bigint"?(R=""+R,T!==null&&T.tag===6?(i(N,T.sibling),$=u(T,R),$.return=N,N=$):(i(N,T),$=Wc(R,N.mode,$),$.return=N,N=$),v(N)):i(N,T)}return function(N,T,R,$){try{er=0;var le=He(N,T,R,$);return Xi=null,le}catch(se){if(se===Ki||se===Uo)throw se;var Ne=Xt(29,se,null,N.mode);return Ne.lanes=$,Ne.return=N,Ne}finally{}}}var fi=Ip(!0),Hp=Ip(!1),Ca=!1;function du(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function fu(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ka(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Aa(e,t,i){var o=e.updateQueue;if(o===null)return null;if(o=o.shared,(je&2)!==0){var u=o.pending;return u===null?t.next=t:(t.next=u.next,u.next=t),o.pending=t,t=Do(e),Cp(e,null,i),t}return Ro(e,o,t,i),Do(e)}function nr(e,t,i){if(t=t.updateQueue,t!==null&&(t=t.shared,(i&4194048)!==0)){var o=t.lanes;o&=e.pendingLanes,i|=o,t.lanes=i,Rh(e,i)}}function hu(e,t){var i=e.updateQueue,o=e.alternate;if(o!==null&&(o=o.updateQueue,i===o)){var u=null,d=null;if(i=i.firstBaseUpdate,i!==null){do{var v={lane:i.lane,tag:i.tag,payload:i.payload,callback:null,next:null};d===null?u=d=v:d=d.next=v,i=i.next}while(i!==null);d===null?u=d=t:d=d.next=t}else u=d=t;i={baseState:o.baseState,firstBaseUpdate:u,lastBaseUpdate:d,shared:o.shared,callbacks:o.callbacks},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=t:e.next=t,i.lastBaseUpdate=t}var pu=!1;function ar(){if(pu){var e=Yi;if(e!==null)throw e}}function ir(e,t,i,o){pu=!1;var u=e.updateQueue;Ca=!1;var d=u.firstBaseUpdate,v=u.lastBaseUpdate,_=u.shared.pending;if(_!==null){u.shared.pending=null;var w=_,P=w.next;w.next=null,v===null?d=P:v.next=P,v=w;var H=e.alternate;H!==null&&(H=H.updateQueue,_=H.lastBaseUpdate,_!==v&&(_===null?H.firstBaseUpdate=P:_.next=P,H.lastBaseUpdate=w))}if(d!==null){var G=u.baseState;v=0,H=P=w=null,_=d;do{var O=_.lane&-536870913,z=O!==_.lane;if(z?(Ae&O)===O:(o&O)===O){O!==0&&O===Gi&&(pu=!0),H!==null&&(H=H.next={lane:0,tag:_.tag,payload:_.payload,callback:null,next:null});e:{var ne=e,de=_;O=t;var He=i;switch(de.tag){case 1:if(ne=de.payload,typeof ne=="function"){G=ne.call(He,G,O);break e}G=ne;break e;case 3:ne.flags=ne.flags&-65537|128;case 0:if(ne=de.payload,O=typeof ne=="function"?ne.call(He,G,O):ne,O==null)break e;G=b({},G,O);break e;case 2:Ca=!0}}O=_.callback,O!==null&&(e.flags|=64,z&&(e.flags|=8192),z=u.callbacks,z===null?u.callbacks=[O]:z.push(O))}else z={lane:O,tag:_.tag,payload:_.payload,callback:_.callback,next:null},H===null?(P=H=z,w=G):H=H.next=z,v|=O;if(_=_.next,_===null){if(_=u.shared.pending,_===null)break;z=_,_=z.next,z.next=null,u.lastBaseUpdate=z,u.shared.pending=null}}while(!0);H===null&&(w=G),u.baseState=w,u.firstBaseUpdate=P,u.lastBaseUpdate=H,d===null&&(u.shared.lanes=0),ja|=v,e.lanes=v,e.memoizedState=G}}function qp(e,t){if(typeof e!="function")throw Error(r(191,e));e.call(t)}function Bp(e,t){var i=e.callbacks;if(i!==null)for(e.callbacks=null,e=0;e<i.length;e++)qp(i[e],t)}var Qi=Pe(null),Bo=Pe(0);function $p(e,t){e=ta,te(Bo,e),te(Qi,t),ta=e|t.baseLanes}function mu(){te(Bo,ta),te(Qi,Qi.current)}function gu(){ta=Bo.current,fe(Qi),fe(Bo)}var Qt=Pe(null),pn=null;function Ta(e){var t=e.alternate;te(it,it.current&1),te(Qt,e),pn===null&&(t===null||Qi.current!==null||t.memoizedState!==null)&&(pn=e)}function vu(e){te(it,it.current),te(Qt,e),pn===null&&(pn=e)}function Vp(e){e.tag===22?(te(it,it.current),te(Qt,e),pn===null&&(pn=e)):Ea()}function Ea(){te(it,it.current),te(Qt,Qt.current)}function Zt(e){fe(Qt),pn===e&&(pn=null),fe(it)}var it=Pe(0);function $o(e){for(var t=e;t!==null;){if(t.tag===13){var i=t.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||wd(i)||Cd(i)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)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 Yn=0,me=null,Ue=null,lt=null,Vo=!1,Zi=!1,hi=!1,Go=0,sr=0,Wi=null,KS=0;function tt(){throw Error(r(321))}function yu(e,t){if(t===null)return!1;for(var i=0;i<t.length&&i<e.length;i++)if(!Kt(e[i],t[i]))return!1;return!0}function bu(e,t,i,o,u,d){return Yn=d,me=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,F.H=e===null||e.memoizedState===null?Em:Pu,hi=!1,d=i(o,u),hi=!1,Zi&&(d=Yp(t,i,o,u)),Gp(e),d}function Gp(e){F.H=lr;var t=Ue!==null&&Ue.next!==null;if(Yn=0,lt=Ue=me=null,Vo=!1,sr=0,Wi=null,t)throw Error(r(300));e===null||ct||(e=e.dependencies,e!==null&&Lo(e)&&(ct=!0))}function Yp(e,t,i,o){me=e;var u=0;do{if(Zi&&(Wi=null),sr=0,Zi=!1,25<=u)throw Error(r(301));if(u+=1,lt=Ue=null,e.updateQueue!=null){var d=e.updateQueue;d.lastEffect=null,d.events=null,d.stores=null,d.memoCache!=null&&(d.memoCache.index=0)}F.H=Nm,d=t(i,o)}while(Zi);return d}function XS(){var e=F.H,t=e.useState()[0];return t=typeof t.then=="function"?rr(t):t,e=e.useState()[0],(Ue!==null?Ue.memoizedState:null)!==e&&(me.flags|=1024),t}function _u(){var e=Go!==0;return Go=0,e}function Su(e,t,i){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i}function xu(e){if(Vo){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Vo=!1}Yn=0,lt=Ue=me=null,Zi=!1,sr=Go=0,Wi=null}function jt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return lt===null?me.memoizedState=lt=e:lt=lt.next=e,lt}function st(){if(Ue===null){var e=me.alternate;e=e!==null?e.memoizedState:null}else e=Ue.next;var t=lt===null?me.memoizedState:lt.next;if(t!==null)lt=t,Ue=e;else{if(e===null)throw me.alternate===null?Error(r(467)):Error(r(310));Ue=e,e={memoizedState:Ue.memoizedState,baseState:Ue.baseState,baseQueue:Ue.baseQueue,queue:Ue.queue,next:null},lt===null?me.memoizedState=lt=e:lt=lt.next=e}return lt}function Yo(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function rr(e){var t=sr;return sr+=1,Wi===null&&(Wi=[]),e=Fp(Wi,e,t),t=me,(lt===null?t.memoizedState:lt.next)===null&&(t=t.alternate,F.H=t===null||t.memoizedState===null?Em:Pu),e}function Ko(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return rr(e);if(e.$$typeof===D)return xt(e)}throw Error(r(438,String(e)))}function wu(e){var t=null,i=me.updateQueue;if(i!==null&&(t=i.memoCache),t==null){var o=me.alternate;o!==null&&(o=o.updateQueue,o!==null&&(o=o.memoCache,o!=null&&(t={data:o.data.map(function(u){return u.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),i===null&&(i=Yo(),me.updateQueue=i),i.memoCache=t,i=t.data[t.index],i===void 0)for(i=t.data[t.index]=Array(e),o=0;o<e;o++)i[o]=re;return t.index++,i}function Kn(e,t){return typeof t=="function"?t(e):t}function Xo(e){var t=st();return Cu(t,Ue,e)}function Cu(e,t,i){var o=e.queue;if(o===null)throw Error(r(311));o.lastRenderedReducer=i;var u=e.baseQueue,d=o.pending;if(d!==null){if(u!==null){var v=u.next;u.next=d.next,d.next=v}t.baseQueue=u=d,o.pending=null}if(d=e.baseState,u===null)e.memoizedState=d;else{t=u.next;var _=v=null,w=null,P=t,H=!1;do{var G=P.lane&-536870913;if(G!==P.lane?(Ae&G)===G:(Yn&G)===G){var O=P.revertLane;if(O===0)w!==null&&(w=w.next={lane:0,revertLane:0,gesture:null,action:P.action,hasEagerState:P.hasEagerState,eagerState:P.eagerState,next:null}),G===Gi&&(H=!0);else if((Yn&O)===O){P=P.next,O===Gi&&(H=!0);continue}else G={lane:0,revertLane:P.revertLane,gesture:null,action:P.action,hasEagerState:P.hasEagerState,eagerState:P.eagerState,next:null},w===null?(_=w=G,v=d):w=w.next=G,me.lanes|=O,ja|=O;G=P.action,hi&&i(d,G),d=P.hasEagerState?P.eagerState:i(d,G)}else O={lane:G,revertLane:P.revertLane,gesture:P.gesture,action:P.action,hasEagerState:P.hasEagerState,eagerState:P.eagerState,next:null},w===null?(_=w=O,v=d):w=w.next=O,me.lanes|=G,ja|=G;P=P.next}while(P!==null&&P!==t);if(w===null?v=d:w.next=_,!Kt(d,e.memoizedState)&&(ct=!0,H&&(i=Yi,i!==null)))throw i;e.memoizedState=d,e.baseState=v,e.baseQueue=w,o.lastRenderedState=d}return u===null&&(o.lanes=0),[e.memoizedState,o.dispatch]}function ku(e){var t=st(),i=t.queue;if(i===null)throw Error(r(311));i.lastRenderedReducer=e;var o=i.dispatch,u=i.pending,d=t.memoizedState;if(u!==null){i.pending=null;var v=u=u.next;do d=e(d,v.action),v=v.next;while(v!==u);Kt(d,t.memoizedState)||(ct=!0),t.memoizedState=d,t.baseQueue===null&&(t.baseState=d),i.lastRenderedState=d}return[d,o]}function Kp(e,t,i){var o=me,u=st(),d=Ee;if(d){if(i===void 0)throw Error(r(407));i=i()}else i=t();var v=!Kt((Ue||u).memoizedState,i);if(v&&(u.memoizedState=i,ct=!0),u=u.queue,Eu(Zp.bind(null,o,u,e),[e]),u.getSnapshot!==t||v||lt!==null&&lt.memoizedState.tag&1){if(o.flags|=2048,Ji(9,{destroy:void 0},Qp.bind(null,o,u,i,t),null),Be===null)throw Error(r(349));d||(Yn&127)!==0||Xp(o,t,i)}return i}function Xp(e,t,i){e.flags|=16384,e={getSnapshot:t,value:i},t=me.updateQueue,t===null?(t=Yo(),me.updateQueue=t,t.stores=[e]):(i=t.stores,i===null?t.stores=[e]:i.push(e))}function Qp(e,t,i,o){t.value=i,t.getSnapshot=o,Wp(t)&&Jp(e)}function Zp(e,t,i){return i(function(){Wp(t)&&Jp(e)})}function Wp(e){var t=e.getSnapshot;e=e.value;try{var i=t();return!Kt(e,i)}catch{return!0}}function Jp(e){var t=ii(e,2);t!==null&&Ut(t,e,2)}function Au(e){var t=jt();if(typeof e=="function"){var i=e;if(e=i(),hi){va(!0);try{i()}finally{va(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Kn,lastRenderedState:e},t}function em(e,t,i,o){return e.baseState=i,Cu(e,Ue,typeof o=="function"?o:Kn)}function QS(e,t,i,o,u){if(Wo(e))throw Error(r(485));if(e=t.action,e!==null){var d={payload:u,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(v){d.listeners.push(v)}};F.T!==null?i(!0):d.isTransition=!1,o(d),i=t.pending,i===null?(d.next=t.pending=d,tm(t,d)):(d.next=i.next,t.pending=i.next=d)}}function tm(e,t){var i=t.action,o=t.payload,u=e.state;if(t.isTransition){var d=F.T,v={};F.T=v;try{var _=i(u,o),w=F.S;w!==null&&w(v,_),nm(e,t,_)}catch(P){Tu(e,t,P)}finally{d!==null&&v.types!==null&&(d.types=v.types),F.T=d}}else try{d=i(u,o),nm(e,t,d)}catch(P){Tu(e,t,P)}}function nm(e,t,i){i!==null&&typeof i=="object"&&typeof i.then=="function"?i.then(function(o){am(e,t,o)},function(o){return Tu(e,t,o)}):am(e,t,i)}function am(e,t,i){t.status="fulfilled",t.value=i,im(t),e.state=i,t=e.pending,t!==null&&(i=t.next,i===t?e.pending=null:(i=i.next,t.next=i,tm(e,i)))}function Tu(e,t,i){var o=e.pending;if(e.pending=null,o!==null){o=o.next;do t.status="rejected",t.reason=i,im(t),t=t.next;while(t!==o)}e.action=null}function im(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function sm(e,t){return t}function rm(e,t){if(Ee){var i=Be.formState;if(i!==null){e:{var o=me;if(Ee){if(Ye){t:{for(var u=Ye,d=hn;u.nodeType!==8;){if(!d){u=null;break t}if(u=mn(u.nextSibling),u===null){u=null;break t}}d=u.data,u=d==="F!"||d==="F"?u:null}if(u){Ye=mn(u.nextSibling),o=u.data==="F!";break e}}xa(o)}o=!1}o&&(t=i[0])}}return i=jt(),i.memoizedState=i.baseState=t,o={pending:null,lanes:0,dispatch:null,lastRenderedReducer:sm,lastRenderedState:t},i.queue=o,i=km.bind(null,me,o),o.dispatch=i,o=Au(!1),d=Du.bind(null,me,!1,o.queue),o=jt(),u={state:t,dispatch:null,action:e,pending:null},o.queue=u,i=QS.bind(null,me,u,d,i),u.dispatch=i,o.memoizedState=e,[t,i,!1]}function om(e){var t=st();return lm(t,Ue,e)}function lm(e,t,i){if(t=Cu(e,t,sm)[0],e=Xo(Kn)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var o=rr(t)}catch(v){throw v===Ki?Uo:v}else o=t;t=st();var u=t.queue,d=u.dispatch;return i!==t.memoizedState&&(me.flags|=2048,Ji(9,{destroy:void 0},ZS.bind(null,u,i),null)),[o,d,e]}function ZS(e,t){e.action=t}function cm(e){var t=st(),i=Ue;if(i!==null)return lm(t,i,e);st(),t=t.memoizedState,i=st();var o=i.queue.dispatch;return i.memoizedState=e,[t,o,!1]}function Ji(e,t,i,o){return e={tag:e,create:i,deps:o,inst:t,next:null},t=me.updateQueue,t===null&&(t=Yo(),me.updateQueue=t),i=t.lastEffect,i===null?t.lastEffect=e.next=e:(o=i.next,i.next=e,e.next=o,t.lastEffect=e),e}function um(){return st().memoizedState}function Qo(e,t,i,o){var u=jt();me.flags|=e,u.memoizedState=Ji(1|t,{destroy:void 0},i,o===void 0?null:o)}function Zo(e,t,i,o){var u=st();o=o===void 0?null:o;var d=u.memoizedState.inst;Ue!==null&&o!==null&&yu(o,Ue.memoizedState.deps)?u.memoizedState=Ji(t,d,i,o):(me.flags|=e,u.memoizedState=Ji(1|t,d,i,o))}function dm(e,t){Qo(8390656,8,e,t)}function Eu(e,t){Zo(2048,8,e,t)}function WS(e){me.flags|=4;var t=me.updateQueue;if(t===null)t=Yo(),me.updateQueue=t,t.events=[e];else{var i=t.events;i===null?t.events=[e]:i.push(e)}}function fm(e){var t=st().memoizedState;return WS({ref:t,nextImpl:e}),function(){if((je&2)!==0)throw Error(r(440));return t.impl.apply(void 0,arguments)}}function hm(e,t){return Zo(4,2,e,t)}function pm(e,t){return Zo(4,4,e,t)}function mm(e,t){if(typeof t=="function"){e=e();var i=t(e);return function(){typeof i=="function"?i():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function gm(e,t,i){i=i!=null?i.concat([e]):null,Zo(4,4,mm.bind(null,t,e),i)}function Nu(){}function vm(e,t){var i=st();t=t===void 0?null:t;var o=i.memoizedState;return t!==null&&yu(t,o[1])?o[0]:(i.memoizedState=[e,t],e)}function ym(e,t){var i=st();t=t===void 0?null:t;var o=i.memoizedState;if(t!==null&&yu(t,o[1]))return o[0];if(o=e(),hi){va(!0);try{e()}finally{va(!1)}}return i.memoizedState=[o,t],o}function Mu(e,t,i){return i===void 0||(Yn&1073741824)!==0&&(Ae&261930)===0?e.memoizedState=t:(e.memoizedState=i,e=bg(),me.lanes|=e,ja|=e,i)}function bm(e,t,i,o){return Kt(i,t)?i:Qi.current!==null?(e=Mu(e,i,o),Kt(e,t)||(ct=!0),e):(Yn&42)===0||(Yn&1073741824)!==0&&(Ae&261930)===0?(ct=!0,e.memoizedState=i):(e=bg(),me.lanes|=e,ja|=e,t)}function _m(e,t,i,o,u){var d=K.p;K.p=d!==0&&8>d?d:8;var v=F.T,_={};F.T=_,Du(e,!1,t,i);try{var w=u(),P=F.S;if(P!==null&&P(_,w),w!==null&&typeof w=="object"&&typeof w.then=="function"){var H=YS(w,o);or(e,t,H,en(e))}else or(e,t,o,en(e))}catch(G){or(e,t,{then:function(){},status:"rejected",reason:G},en())}finally{K.p=d,v!==null&&_.types!==null&&(v.types=_.types),F.T=v}}function JS(){}function ju(e,t,i,o){if(e.tag!==5)throw Error(r(476));var u=Sm(e).queue;_m(e,u,t,Y,i===null?JS:function(){return xm(e),i(o)})}function Sm(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Y,baseState:Y,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Kn,lastRenderedState:Y},next:null};var i={};return t.next={memoizedState:i,baseState:i,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Kn,lastRenderedState:i},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function xm(e){var t=Sm(e);t.next===null&&(t=e.alternate.memoizedState),or(e,t.next.queue,{},en())}function Ru(){return xt(Cr)}function wm(){return st().memoizedState}function Cm(){return st().memoizedState}function ex(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var i=en();e=ka(i);var o=Aa(t,e,i);o!==null&&(Ut(o,t,i),nr(o,t,i)),t={cache:ou()},e.payload=t;return}t=t.return}}function tx(e,t,i){var o=en();i={lane:o,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},Wo(e)?Am(t,i):(i=Qc(e,t,i,o),i!==null&&(Ut(i,e,o),Tm(i,t,o)))}function km(e,t,i){var o=en();or(e,t,i,o)}function or(e,t,i,o){var u={lane:o,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null};if(Wo(e))Am(t,u);else{var d=e.alternate;if(e.lanes===0&&(d===null||d.lanes===0)&&(d=t.lastRenderedReducer,d!==null))try{var v=t.lastRenderedState,_=d(v,i);if(u.hasEagerState=!0,u.eagerState=_,Kt(_,v))return Ro(e,t,u,0),Be===null&&jo(),!1}catch{}finally{}if(i=Qc(e,t,u,o),i!==null)return Ut(i,e,o),Tm(i,t,o),!0}return!1}function Du(e,t,i,o){if(o={lane:2,revertLane:dd(),gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null},Wo(e)){if(t)throw Error(r(479))}else t=Qc(e,i,o,2),t!==null&&Ut(t,e,2)}function Wo(e){var t=e.alternate;return e===me||t!==null&&t===me}function Am(e,t){Zi=Vo=!0;var i=e.pending;i===null?t.next=t:(t.next=i.next,i.next=t),e.pending=t}function Tm(e,t,i){if((i&4194048)!==0){var o=t.lanes;o&=e.pendingLanes,i|=o,t.lanes=i,Rh(e,i)}}var lr={readContext:xt,use:Ko,useCallback:tt,useContext:tt,useEffect:tt,useImperativeHandle:tt,useLayoutEffect:tt,useInsertionEffect:tt,useMemo:tt,useReducer:tt,useRef:tt,useState:tt,useDebugValue:tt,useDeferredValue:tt,useTransition:tt,useSyncExternalStore:tt,useId:tt,useHostTransitionStatus:tt,useFormState:tt,useActionState:tt,useOptimistic:tt,useMemoCache:tt,useCacheRefresh:tt};lr.useEffectEvent=tt;var Em={readContext:xt,use:Ko,useCallback:function(e,t){return jt().memoizedState=[e,t===void 0?null:t],e},useContext:xt,useEffect:dm,useImperativeHandle:function(e,t,i){i=i!=null?i.concat([e]):null,Qo(4194308,4,mm.bind(null,t,e),i)},useLayoutEffect:function(e,t){return Qo(4194308,4,e,t)},useInsertionEffect:function(e,t){Qo(4,2,e,t)},useMemo:function(e,t){var i=jt();t=t===void 0?null:t;var o=e();if(hi){va(!0);try{e()}finally{va(!1)}}return i.memoizedState=[o,t],o},useReducer:function(e,t,i){var o=jt();if(i!==void 0){var u=i(t);if(hi){va(!0);try{i(t)}finally{va(!1)}}}else u=t;return o.memoizedState=o.baseState=u,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:u},o.queue=e,e=e.dispatch=tx.bind(null,me,e),[o.memoizedState,e]},useRef:function(e){var t=jt();return e={current:e},t.memoizedState=e},useState:function(e){e=Au(e);var t=e.queue,i=km.bind(null,me,t);return t.dispatch=i,[e.memoizedState,i]},useDebugValue:Nu,useDeferredValue:function(e,t){var i=jt();return Mu(i,e,t)},useTransition:function(){var e=Au(!1);return e=_m.bind(null,me,e.queue,!0,!1),jt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,i){var o=me,u=jt();if(Ee){if(i===void 0)throw Error(r(407));i=i()}else{if(i=t(),Be===null)throw Error(r(349));(Ae&127)!==0||Xp(o,t,i)}u.memoizedState=i;var d={value:i,getSnapshot:t};return u.queue=d,dm(Zp.bind(null,o,d,e),[e]),o.flags|=2048,Ji(9,{destroy:void 0},Qp.bind(null,o,d,i,t),null),i},useId:function(){var e=jt(),t=Be.identifierPrefix;if(Ee){var i=Rn,o=jn;i=(o&~(1<<32-Yt(o)-1)).toString(32)+i,t="_"+t+"R_"+i,i=Go++,0<i&&(t+="H"+i.toString(32)),t+="_"}else i=KS++,t="_"+t+"r_"+i.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Ru,useFormState:rm,useActionState:rm,useOptimistic:function(e){var t=jt();t.memoizedState=t.baseState=e;var i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=i,t=Du.bind(null,me,!0,i),i.dispatch=t,[e,t]},useMemoCache:wu,useCacheRefresh:function(){return jt().memoizedState=ex.bind(null,me)},useEffectEvent:function(e){var t=jt(),i={impl:e};return t.memoizedState=i,function(){if((je&2)!==0)throw Error(r(440));return i.impl.apply(void 0,arguments)}}},Pu={readContext:xt,use:Ko,useCallback:vm,useContext:xt,useEffect:Eu,useImperativeHandle:gm,useInsertionEffect:hm,useLayoutEffect:pm,useMemo:ym,useReducer:Xo,useRef:um,useState:function(){return Xo(Kn)},useDebugValue:Nu,useDeferredValue:function(e,t){var i=st();return bm(i,Ue.memoizedState,e,t)},useTransition:function(){var e=Xo(Kn)[0],t=st().memoizedState;return[typeof e=="boolean"?e:rr(e),t]},useSyncExternalStore:Kp,useId:wm,useHostTransitionStatus:Ru,useFormState:om,useActionState:om,useOptimistic:function(e,t){var i=st();return em(i,Ue,e,t)},useMemoCache:wu,useCacheRefresh:Cm};Pu.useEffectEvent=fm;var Nm={readContext:xt,use:Ko,useCallback:vm,useContext:xt,useEffect:Eu,useImperativeHandle:gm,useInsertionEffect:hm,useLayoutEffect:pm,useMemo:ym,useReducer:ku,useRef:um,useState:function(){return ku(Kn)},useDebugValue:Nu,useDeferredValue:function(e,t){var i=st();return Ue===null?Mu(i,e,t):bm(i,Ue.memoizedState,e,t)},useTransition:function(){var e=ku(Kn)[0],t=st().memoizedState;return[typeof e=="boolean"?e:rr(e),t]},useSyncExternalStore:Kp,useId:wm,useHostTransitionStatus:Ru,useFormState:cm,useActionState:cm,useOptimistic:function(e,t){var i=st();return Ue!==null?em(i,Ue,e,t):(i.baseState=e,[e,i.queue.dispatch])},useMemoCache:wu,useCacheRefresh:Cm};Nm.useEffectEvent=fm;function Ou(e,t,i,o){t=e.memoizedState,i=i(o,t),i=i==null?t:b({},t,i),e.memoizedState=i,e.lanes===0&&(e.updateQueue.baseState=i)}var Lu={enqueueSetState:function(e,t,i){e=e._reactInternals;var o=en(),u=ka(o);u.payload=t,i!=null&&(u.callback=i),t=Aa(e,u,o),t!==null&&(Ut(t,e,o),nr(t,e,o))},enqueueReplaceState:function(e,t,i){e=e._reactInternals;var o=en(),u=ka(o);u.tag=1,u.payload=t,i!=null&&(u.callback=i),t=Aa(e,u,o),t!==null&&(Ut(t,e,o),nr(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var i=en(),o=ka(i);o.tag=2,t!=null&&(o.callback=t),t=Aa(e,o,i),t!==null&&(Ut(t,e,i),nr(t,e,i))}};function Mm(e,t,i,o,u,d,v){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(o,d,v):t.prototype&&t.prototype.isPureReactComponent?!Ks(i,o)||!Ks(u,d):!0}function jm(e,t,i,o){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(i,o),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(i,o),t.state!==e&&Lu.enqueueReplaceState(t,t.state,null)}function pi(e,t){var i=t;if("ref"in t){i={};for(var o in t)o!=="ref"&&(i[o]=t[o])}if(e=e.defaultProps){i===t&&(i=b({},i));for(var u in e)i[u]===void 0&&(i[u]=e[u])}return i}function Rm(e){Mo(e)}function Dm(e){console.error(e)}function Pm(e){Mo(e)}function Jo(e,t){try{var i=e.onUncaughtError;i(t.value,{componentStack:t.stack})}catch(o){setTimeout(function(){throw o})}}function Om(e,t,i){try{var o=e.onCaughtError;o(i.value,{componentStack:i.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(u){setTimeout(function(){throw u})}}function Fu(e,t,i){return i=ka(i),i.tag=3,i.payload={element:null},i.callback=function(){Jo(e,t)},i}function Lm(e){return e=ka(e),e.tag=3,e}function Fm(e,t,i,o){var u=i.type.getDerivedStateFromError;if(typeof u=="function"){var d=o.value;e.payload=function(){return u(d)},e.callback=function(){Om(t,i,o)}}var v=i.stateNode;v!==null&&typeof v.componentDidCatch=="function"&&(e.callback=function(){Om(t,i,o),typeof u!="function"&&(Ra===null?Ra=new Set([this]):Ra.add(this));var _=o.stack;this.componentDidCatch(o.value,{componentStack:_!==null?_:""})})}function nx(e,t,i,o,u){if(i.flags|=32768,o!==null&&typeof o=="object"&&typeof o.then=="function"){if(t=i.alternate,t!==null&&Vi(t,i,u,!0),i=Qt.current,i!==null){switch(i.tag){case 31:case 13:return pn===null?dl():i.alternate===null&&nt===0&&(nt=3),i.flags&=-257,i.flags|=65536,i.lanes=u,o===Io?i.flags|=16384:(t=i.updateQueue,t===null?i.updateQueue=new Set([o]):t.add(o),ld(e,o,u)),!1;case 22:return i.flags|=65536,o===Io?i.flags|=16384:(t=i.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([o])},i.updateQueue=t):(i=t.retryQueue,i===null?t.retryQueue=new Set([o]):i.add(o)),ld(e,o,u)),!1}throw Error(r(435,i.tag))}return ld(e,o,u),dl(),!1}if(Ee)return t=Qt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=u,o!==nu&&(e=Error(r(422),{cause:o}),Zs(un(e,i)))):(o!==nu&&(t=Error(r(423),{cause:o}),Zs(un(t,i))),e=e.current.alternate,e.flags|=65536,u&=-u,e.lanes|=u,o=un(o,i),u=Fu(e.stateNode,o,u),hu(e,u),nt!==4&&(nt=2)),!1;var d=Error(r(520),{cause:o});if(d=un(d,i),gr===null?gr=[d]:gr.push(d),nt!==4&&(nt=2),t===null)return!0;o=un(o,i),i=t;do{switch(i.tag){case 3:return i.flags|=65536,e=u&-u,i.lanes|=e,e=Fu(i.stateNode,o,e),hu(i,e),!1;case 1:if(t=i.type,d=i.stateNode,(i.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||d!==null&&typeof d.componentDidCatch=="function"&&(Ra===null||!Ra.has(d))))return i.flags|=65536,u&=-u,i.lanes|=u,u=Lm(u),Fm(u,e,i,o),hu(i,u),!1}i=i.return}while(i!==null);return!1}var zu=Error(r(461)),ct=!1;function wt(e,t,i,o){t.child=e===null?Hp(t,null,i,o):fi(t,e.child,i,o)}function zm(e,t,i,o,u){i=i.render;var d=t.ref;if("ref"in o){var v={};for(var _ in o)_!=="ref"&&(v[_]=o[_])}else v=o;return li(t),o=bu(e,t,i,v,d,u),_=_u(),e!==null&&!ct?(Su(e,t,u),Xn(e,t,u)):(Ee&&_&&eu(t),t.flags|=1,wt(e,t,o,u),t.child)}function Um(e,t,i,o,u){if(e===null){var d=i.type;return typeof d=="function"&&!Zc(d)&&d.defaultProps===void 0&&i.compare===null?(t.tag=15,t.type=d,Im(e,t,d,o,u)):(e=Po(i.type,null,o,t,t.mode,u),e.ref=t.ref,e.return=t,t.child=e)}if(d=e.child,!Gu(e,u)){var v=d.memoizedProps;if(i=i.compare,i=i!==null?i:Ks,i(v,o)&&e.ref===t.ref)return Xn(e,t,u)}return t.flags|=1,e=Bn(d,o),e.ref=t.ref,e.return=t,t.child=e}function Im(e,t,i,o,u){if(e!==null){var d=e.memoizedProps;if(Ks(d,o)&&e.ref===t.ref)if(ct=!1,t.pendingProps=o=d,Gu(e,u))(e.flags&131072)!==0&&(ct=!0);else return t.lanes=e.lanes,Xn(e,t,u)}return Uu(e,t,i,o,u)}function Hm(e,t,i,o){var u=o.children,d=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),o.mode==="hidden"){if((t.flags&128)!==0){if(d=d!==null?d.baseLanes|i:i,e!==null){for(o=t.child=e.child,u=0;o!==null;)u=u|o.lanes|o.childLanes,o=o.sibling;o=u&~d}else o=0,t.child=null;return qm(e,t,d,i,o)}if((i&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&zo(t,d!==null?d.cachePool:null),d!==null?$p(t,d):mu(),Vp(t);else return o=t.lanes=536870912,qm(e,t,d!==null?d.baseLanes|i:i,i,o)}else d!==null?(zo(t,d.cachePool),$p(t,d),Ea(),t.memoizedState=null):(e!==null&&zo(t,null),mu(),Ea());return wt(e,t,u,i),t.child}function cr(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function qm(e,t,i,o,u){var d=cu();return d=d===null?null:{parent:ot._currentValue,pool:d},t.memoizedState={baseLanes:i,cachePool:d},e!==null&&zo(t,null),mu(),Vp(t),e!==null&&Vi(e,t,o,!0),t.childLanes=u,null}function el(e,t){return t=nl({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Bm(e,t,i){return fi(t,e.child,null,i),e=el(t,t.pendingProps),e.flags|=2,Zt(t),t.memoizedState=null,e}function ax(e,t,i){var o=t.pendingProps,u=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(Ee){if(o.mode==="hidden")return e=el(t,o),t.lanes=536870912,cr(null,e);if(vu(t),(e=Ye)?(e=tv(e,hn),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:_a!==null?{id:jn,overflow:Rn}:null,retryLane:536870912,hydrationErrors:null},i=Ap(e),i.return=t,t.child=i,St=t,Ye=null)):e=null,e===null)throw xa(t);return t.lanes=536870912,null}return el(t,o)}var d=e.memoizedState;if(d!==null){var v=d.dehydrated;if(vu(t),u)if(t.flags&256)t.flags&=-257,t=Bm(e,t,i);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(r(558));else if(ct||Vi(e,t,i,!1),u=(i&e.childLanes)!==0,ct||u){if(o=Be,o!==null&&(v=Dh(o,i),v!==0&&v!==d.retryLane))throw d.retryLane=v,ii(e,v),Ut(o,e,v),zu;dl(),t=Bm(e,t,i)}else e=d.treeContext,Ye=mn(v.nextSibling),St=t,Ee=!0,Sa=null,hn=!1,e!==null&&Np(t,e),t=el(t,o),t.flags|=4096;return t}return e=Bn(e.child,{mode:o.mode,children:o.children}),e.ref=t.ref,t.child=e,e.return=t,e}function tl(e,t){var i=t.ref;if(i===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof i!="function"&&typeof i!="object")throw Error(r(284));(e===null||e.ref!==i)&&(t.flags|=4194816)}}function Uu(e,t,i,o,u){return li(t),i=bu(e,t,i,o,void 0,u),o=_u(),e!==null&&!ct?(Su(e,t,u),Xn(e,t,u)):(Ee&&o&&eu(t),t.flags|=1,wt(e,t,i,u),t.child)}function $m(e,t,i,o,u,d){return li(t),t.updateQueue=null,i=Yp(t,o,i,u),Gp(e),o=_u(),e!==null&&!ct?(Su(e,t,d),Xn(e,t,d)):(Ee&&o&&eu(t),t.flags|=1,wt(e,t,i,d),t.child)}function Vm(e,t,i,o,u){if(li(t),t.stateNode===null){var d=Hi,v=i.contextType;typeof v=="object"&&v!==null&&(d=xt(v)),d=new i(o,d),t.memoizedState=d.state!==null&&d.state!==void 0?d.state:null,d.updater=Lu,t.stateNode=d,d._reactInternals=t,d=t.stateNode,d.props=o,d.state=t.memoizedState,d.refs={},du(t),v=i.contextType,d.context=typeof v=="object"&&v!==null?xt(v):Hi,d.state=t.memoizedState,v=i.getDerivedStateFromProps,typeof v=="function"&&(Ou(t,i,v,o),d.state=t.memoizedState),typeof i.getDerivedStateFromProps=="function"||typeof d.getSnapshotBeforeUpdate=="function"||typeof d.UNSAFE_componentWillMount!="function"&&typeof d.componentWillMount!="function"||(v=d.state,typeof d.componentWillMount=="function"&&d.componentWillMount(),typeof d.UNSAFE_componentWillMount=="function"&&d.UNSAFE_componentWillMount(),v!==d.state&&Lu.enqueueReplaceState(d,d.state,null),ir(t,o,d,u),ar(),d.state=t.memoizedState),typeof d.componentDidMount=="function"&&(t.flags|=4194308),o=!0}else if(e===null){d=t.stateNode;var _=t.memoizedProps,w=pi(i,_);d.props=w;var P=d.context,H=i.contextType;v=Hi,typeof H=="object"&&H!==null&&(v=xt(H));var G=i.getDerivedStateFromProps;H=typeof G=="function"||typeof d.getSnapshotBeforeUpdate=="function",_=t.pendingProps!==_,H||typeof d.UNSAFE_componentWillReceiveProps!="function"&&typeof d.componentWillReceiveProps!="function"||(_||P!==v)&&jm(t,d,o,v),Ca=!1;var O=t.memoizedState;d.state=O,ir(t,o,d,u),ar(),P=t.memoizedState,_||O!==P||Ca?(typeof G=="function"&&(Ou(t,i,G,o),P=t.memoizedState),(w=Ca||Mm(t,i,w,o,O,P,v))?(H||typeof d.UNSAFE_componentWillMount!="function"&&typeof d.componentWillMount!="function"||(typeof d.componentWillMount=="function"&&d.componentWillMount(),typeof d.UNSAFE_componentWillMount=="function"&&d.UNSAFE_componentWillMount()),typeof d.componentDidMount=="function"&&(t.flags|=4194308)):(typeof d.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=o,t.memoizedState=P),d.props=o,d.state=P,d.context=v,o=w):(typeof d.componentDidMount=="function"&&(t.flags|=4194308),o=!1)}else{d=t.stateNode,fu(e,t),v=t.memoizedProps,H=pi(i,v),d.props=H,G=t.pendingProps,O=d.context,P=i.contextType,w=Hi,typeof P=="object"&&P!==null&&(w=xt(P)),_=i.getDerivedStateFromProps,(P=typeof _=="function"||typeof d.getSnapshotBeforeUpdate=="function")||typeof d.UNSAFE_componentWillReceiveProps!="function"&&typeof d.componentWillReceiveProps!="function"||(v!==G||O!==w)&&jm(t,d,o,w),Ca=!1,O=t.memoizedState,d.state=O,ir(t,o,d,u),ar();var z=t.memoizedState;v!==G||O!==z||Ca||e!==null&&e.dependencies!==null&&Lo(e.dependencies)?(typeof _=="function"&&(Ou(t,i,_,o),z=t.memoizedState),(H=Ca||Mm(t,i,H,o,O,z,w)||e!==null&&e.dependencies!==null&&Lo(e.dependencies))?(P||typeof d.UNSAFE_componentWillUpdate!="function"&&typeof d.componentWillUpdate!="function"||(typeof d.componentWillUpdate=="function"&&d.componentWillUpdate(o,z,w),typeof d.UNSAFE_componentWillUpdate=="function"&&d.UNSAFE_componentWillUpdate(o,z,w)),typeof d.componentDidUpdate=="function"&&(t.flags|=4),typeof d.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof d.componentDidUpdate!="function"||v===e.memoizedProps&&O===e.memoizedState||(t.flags|=4),typeof d.getSnapshotBeforeUpdate!="function"||v===e.memoizedProps&&O===e.memoizedState||(t.flags|=1024),t.memoizedProps=o,t.memoizedState=z),d.props=o,d.state=z,d.context=w,o=H):(typeof d.componentDidUpdate!="function"||v===e.memoizedProps&&O===e.memoizedState||(t.flags|=4),typeof d.getSnapshotBeforeUpdate!="function"||v===e.memoizedProps&&O===e.memoizedState||(t.flags|=1024),o=!1)}return d=o,tl(e,t),o=(t.flags&128)!==0,d||o?(d=t.stateNode,i=o&&typeof i.getDerivedStateFromError!="function"?null:d.render(),t.flags|=1,e!==null&&o?(t.child=fi(t,e.child,null,u),t.child=fi(t,null,i,u)):wt(e,t,i,u),t.memoizedState=d.state,e=t.child):e=Xn(e,t,u),e}function Gm(e,t,i,o){return ri(),t.flags|=256,wt(e,t,i,o),t.child}var Iu={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Hu(e){return{baseLanes:e,cachePool:Op()}}function qu(e,t,i){return e=e!==null?e.childLanes&~i:0,t&&(e|=Jt),e}function Ym(e,t,i){var o=t.pendingProps,u=!1,d=(t.flags&128)!==0,v;if((v=d)||(v=e!==null&&e.memoizedState===null?!1:(it.current&2)!==0),v&&(u=!0,t.flags&=-129),v=(t.flags&32)!==0,t.flags&=-33,e===null){if(Ee){if(u?Ta(t):Ea(),(e=Ye)?(e=tv(e,hn),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:_a!==null?{id:jn,overflow:Rn}:null,retryLane:536870912,hydrationErrors:null},i=Ap(e),i.return=t,t.child=i,St=t,Ye=null)):e=null,e===null)throw xa(t);return Cd(e)?t.lanes=32:t.lanes=536870912,null}var _=o.children;return o=o.fallback,u?(Ea(),u=t.mode,_=nl({mode:"hidden",children:_},u),o=si(o,u,i,null),_.return=t,o.return=t,_.sibling=o,t.child=_,o=t.child,o.memoizedState=Hu(i),o.childLanes=qu(e,v,i),t.memoizedState=Iu,cr(null,o)):(Ta(t),Bu(t,_))}var w=e.memoizedState;if(w!==null&&(_=w.dehydrated,_!==null)){if(d)t.flags&256?(Ta(t),t.flags&=-257,t=$u(e,t,i)):t.memoizedState!==null?(Ea(),t.child=e.child,t.flags|=128,t=null):(Ea(),_=o.fallback,u=t.mode,o=nl({mode:"visible",children:o.children},u),_=si(_,u,i,null),_.flags|=2,o.return=t,_.return=t,o.sibling=_,t.child=o,fi(t,e.child,null,i),o=t.child,o.memoizedState=Hu(i),o.childLanes=qu(e,v,i),t.memoizedState=Iu,t=cr(null,o));else if(Ta(t),Cd(_)){if(v=_.nextSibling&&_.nextSibling.dataset,v)var P=v.dgst;v=P,o=Error(r(419)),o.stack="",o.digest=v,Zs({value:o,source:null,stack:null}),t=$u(e,t,i)}else if(ct||Vi(e,t,i,!1),v=(i&e.childLanes)!==0,ct||v){if(v=Be,v!==null&&(o=Dh(v,i),o!==0&&o!==w.retryLane))throw w.retryLane=o,ii(e,o),Ut(v,e,o),zu;wd(_)||dl(),t=$u(e,t,i)}else wd(_)?(t.flags|=192,t.child=e.child,t=null):(e=w.treeContext,Ye=mn(_.nextSibling),St=t,Ee=!0,Sa=null,hn=!1,e!==null&&Np(t,e),t=Bu(t,o.children),t.flags|=4096);return t}return u?(Ea(),_=o.fallback,u=t.mode,w=e.child,P=w.sibling,o=Bn(w,{mode:"hidden",children:o.children}),o.subtreeFlags=w.subtreeFlags&65011712,P!==null?_=Bn(P,_):(_=si(_,u,i,null),_.flags|=2),_.return=t,o.return=t,o.sibling=_,t.child=o,cr(null,o),o=t.child,_=e.child.memoizedState,_===null?_=Hu(i):(u=_.cachePool,u!==null?(w=ot._currentValue,u=u.parent!==w?{parent:w,pool:w}:u):u=Op(),_={baseLanes:_.baseLanes|i,cachePool:u}),o.memoizedState=_,o.childLanes=qu(e,v,i),t.memoizedState=Iu,cr(e.child,o)):(Ta(t),i=e.child,e=i.sibling,i=Bn(i,{mode:"visible",children:o.children}),i.return=t,i.sibling=null,e!==null&&(v=t.deletions,v===null?(t.deletions=[e],t.flags|=16):v.push(e)),t.child=i,t.memoizedState=null,i)}function Bu(e,t){return t=nl({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function nl(e,t){return e=Xt(22,e,null,t),e.lanes=0,e}function $u(e,t,i){return fi(t,e.child,null,i),e=Bu(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Km(e,t,i){e.lanes|=t;var o=e.alternate;o!==null&&(o.lanes|=t),su(e.return,t,i)}function Vu(e,t,i,o,u,d){var v=e.memoizedState;v===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:o,tail:i,tailMode:u,treeForkCount:d}:(v.isBackwards=t,v.rendering=null,v.renderingStartTime=0,v.last=o,v.tail=i,v.tailMode=u,v.treeForkCount=d)}function Xm(e,t,i){var o=t.pendingProps,u=o.revealOrder,d=o.tail;o=o.children;var v=it.current,_=(v&2)!==0;if(_?(v=v&1|2,t.flags|=128):v&=1,te(it,v),wt(e,t,o,i),o=Ee?Qs:0,!_&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Km(e,i,t);else if(e.tag===19)Km(e,i,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}switch(u){case"forwards":for(i=t.child,u=null;i!==null;)e=i.alternate,e!==null&&$o(e)===null&&(u=i),i=i.sibling;i=u,i===null?(u=t.child,t.child=null):(u=i.sibling,i.sibling=null),Vu(t,!1,u,i,d,o);break;case"backwards":case"unstable_legacy-backwards":for(i=null,u=t.child,t.child=null;u!==null;){if(e=u.alternate,e!==null&&$o(e)===null){t.child=u;break}e=u.sibling,u.sibling=i,i=u,u=e}Vu(t,!0,i,null,d,o);break;case"together":Vu(t,!1,null,null,void 0,o);break;default:t.memoizedState=null}return t.child}function Xn(e,t,i){if(e!==null&&(t.dependencies=e.dependencies),ja|=t.lanes,(i&t.childLanes)===0)if(e!==null){if(Vi(e,t,i,!1),(i&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(r(153));if(t.child!==null){for(e=t.child,i=Bn(e,e.pendingProps),t.child=i,i.return=t;e.sibling!==null;)e=e.sibling,i=i.sibling=Bn(e,e.pendingProps),i.return=t;i.sibling=null}return t.child}function Gu(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&Lo(e)))}function ix(e,t,i){switch(t.tag){case 3:xn(t,t.stateNode.containerInfo),wa(t,ot,e.memoizedState.cache),ri();break;case 27:case 5:ft(t);break;case 4:xn(t,t.stateNode.containerInfo);break;case 10:wa(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,vu(t),null;break;case 13:var o=t.memoizedState;if(o!==null)return o.dehydrated!==null?(Ta(t),t.flags|=128,null):(i&t.child.childLanes)!==0?Ym(e,t,i):(Ta(t),e=Xn(e,t,i),e!==null?e.sibling:null);Ta(t);break;case 19:var u=(e.flags&128)!==0;if(o=(i&t.childLanes)!==0,o||(Vi(e,t,i,!1),o=(i&t.childLanes)!==0),u){if(o)return Xm(e,t,i);t.flags|=128}if(u=t.memoizedState,u!==null&&(u.rendering=null,u.tail=null,u.lastEffect=null),te(it,it.current),o)break;return null;case 22:return t.lanes=0,Hm(e,t,i,t.pendingProps);case 24:wa(t,ot,e.memoizedState.cache)}return Xn(e,t,i)}function Qm(e,t,i){if(e!==null)if(e.memoizedProps!==t.pendingProps)ct=!0;else{if(!Gu(e,i)&&(t.flags&128)===0)return ct=!1,ix(e,t,i);ct=(e.flags&131072)!==0}else ct=!1,Ee&&(t.flags&1048576)!==0&&Ep(t,Qs,t.index);switch(t.lanes=0,t.tag){case 16:e:{var o=t.pendingProps;if(e=ui(t.elementType),t.type=e,typeof e=="function")Zc(e)?(o=pi(e,o),t.tag=1,t=Vm(null,t,e,o,i)):(t.tag=0,t=Uu(null,t,e,o,i));else{if(e!=null){var u=e.$$typeof;if(u===q){t.tag=11,t=zm(null,t,e,o,i);break e}else if(u===I){t.tag=14,t=Um(null,t,e,o,i);break e}}throw t=oe(e)||e,Error(r(306,t,""))}}return t;case 0:return Uu(e,t,t.type,t.pendingProps,i);case 1:return o=t.type,u=pi(o,t.pendingProps),Vm(e,t,o,u,i);case 3:e:{if(xn(t,t.stateNode.containerInfo),e===null)throw Error(r(387));o=t.pendingProps;var d=t.memoizedState;u=d.element,fu(e,t),ir(t,o,null,i);var v=t.memoizedState;if(o=v.cache,wa(t,ot,o),o!==d.cache&&ru(t,[ot],i,!0),ar(),o=v.element,d.isDehydrated)if(d={element:o,isDehydrated:!1,cache:v.cache},t.updateQueue.baseState=d,t.memoizedState=d,t.flags&256){t=Gm(e,t,o,i);break e}else if(o!==u){u=un(Error(r(424)),t),Zs(u),t=Gm(e,t,o,i);break e}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(Ye=mn(e.firstChild),St=t,Ee=!0,Sa=null,hn=!0,i=Hp(t,null,o,i),t.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling}else{if(ri(),o===u){t=Xn(e,t,i);break e}wt(e,t,o,i)}t=t.child}return t;case 26:return tl(e,t),e===null?(i=ov(t.type,null,t.pendingProps,null))?t.memoizedState=i:Ee||(i=t.type,e=t.pendingProps,o=yl(et.current).createElement(i),o[_t]=t,o[Dt]=e,Ct(o,i,e),gt(o),t.stateNode=o):t.memoizedState=ov(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return ft(t),e===null&&Ee&&(o=t.stateNode=iv(t.type,t.pendingProps,et.current),St=t,hn=!0,u=Ye,La(t.type)?(kd=u,Ye=mn(o.firstChild)):Ye=u),wt(e,t,t.pendingProps.children,i),tl(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Ee&&((u=o=Ye)&&(o=Px(o,t.type,t.pendingProps,hn),o!==null?(t.stateNode=o,St=t,Ye=mn(o.firstChild),hn=!1,u=!0):u=!1),u||xa(t)),ft(t),u=t.type,d=t.pendingProps,v=e!==null?e.memoizedProps:null,o=d.children,_d(u,d)?o=null:v!==null&&_d(u,v)&&(t.flags|=32),t.memoizedState!==null&&(u=bu(e,t,XS,null,null,i),Cr._currentValue=u),tl(e,t),wt(e,t,o,i),t.child;case 6:return e===null&&Ee&&((e=i=Ye)&&(i=Ox(i,t.pendingProps,hn),i!==null?(t.stateNode=i,St=t,Ye=null,e=!0):e=!1),e||xa(t)),null;case 13:return Ym(e,t,i);case 4:return xn(t,t.stateNode.containerInfo),o=t.pendingProps,e===null?t.child=fi(t,null,o,i):wt(e,t,o,i),t.child;case 11:return zm(e,t,t.type,t.pendingProps,i);case 7:return wt(e,t,t.pendingProps,i),t.child;case 8:return wt(e,t,t.pendingProps.children,i),t.child;case 12:return wt(e,t,t.pendingProps.children,i),t.child;case 10:return o=t.pendingProps,wa(t,t.type,o.value),wt(e,t,o.children,i),t.child;case 9:return u=t.type._context,o=t.pendingProps.children,li(t),u=xt(u),o=o(u),t.flags|=1,wt(e,t,o,i),t.child;case 14:return Um(e,t,t.type,t.pendingProps,i);case 15:return Im(e,t,t.type,t.pendingProps,i);case 19:return Xm(e,t,i);case 31:return ax(e,t,i);case 22:return Hm(e,t,i,t.pendingProps);case 24:return li(t),o=xt(ot),e===null?(u=cu(),u===null&&(u=Be,d=ou(),u.pooledCache=d,d.refCount++,d!==null&&(u.pooledCacheLanes|=i),u=d),t.memoizedState={parent:o,cache:u},du(t),wa(t,ot,u)):((e.lanes&i)!==0&&(fu(e,t),ir(t,null,null,i),ar()),u=e.memoizedState,d=t.memoizedState,u.parent!==o?(u={parent:o,cache:o},t.memoizedState=u,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=u),wa(t,ot,o)):(o=d.cache,wa(t,ot,o),o!==u.cache&&ru(t,[ot],i,!0))),wt(e,t,t.pendingProps.children,i),t.child;case 29:throw t.pendingProps}throw Error(r(156,t.tag))}function Qn(e){e.flags|=4}function Yu(e,t,i,o,u){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(u&335544128)===u)if(e.stateNode.complete)e.flags|=8192;else if(wg())e.flags|=8192;else throw di=Io,uu}else e.flags&=-16777217}function Zm(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!fv(t))if(wg())e.flags|=8192;else throw di=Io,uu}function al(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Mh():536870912,e.lanes|=t,as|=t)}function ur(e,t){if(!Ee)switch(e.tailMode){case"hidden":t=e.tail;for(var i=null;t!==null;)t.alternate!==null&&(i=t),t=t.sibling;i===null?e.tail=null:i.sibling=null;break;case"collapsed":i=e.tail;for(var o=null;i!==null;)i.alternate!==null&&(o=i),i=i.sibling;o===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:o.sibling=null}}function Ke(e){var t=e.alternate!==null&&e.alternate.child===e.child,i=0,o=0;if(t)for(var u=e.child;u!==null;)i|=u.lanes|u.childLanes,o|=u.subtreeFlags&65011712,o|=u.flags&65011712,u.return=e,u=u.sibling;else for(u=e.child;u!==null;)i|=u.lanes|u.childLanes,o|=u.subtreeFlags,o|=u.flags,u.return=e,u=u.sibling;return e.subtreeFlags|=o,e.childLanes=i,t}function sx(e,t,i){var o=t.pendingProps;switch(tu(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ke(t),null;case 1:return Ke(t),null;case 3:return i=t.stateNode,o=null,e!==null&&(o=e.memoizedState.cache),t.memoizedState.cache!==o&&(t.flags|=2048),Gn(ot),Nt(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&($i(t)?Qn(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,au())),Ke(t),null;case 26:var u=t.type,d=t.memoizedState;return e===null?(Qn(t),d!==null?(Ke(t),Zm(t,d)):(Ke(t),Yu(t,u,null,o,i))):d?d!==e.memoizedState?(Qn(t),Ke(t),Zm(t,d)):(Ke(t),t.flags&=-16777217):(e=e.memoizedProps,e!==o&&Qn(t),Ke(t),Yu(t,u,e,o,i)),null;case 27:if(sn(t),i=et.current,u=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==o&&Qn(t);else{if(!o){if(t.stateNode===null)throw Error(r(166));return Ke(t),null}e=ue.current,$i(t)?Mp(t):(e=iv(u,o,i),t.stateNode=e,Qn(t))}return Ke(t),null;case 5:if(sn(t),u=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==o&&Qn(t);else{if(!o){if(t.stateNode===null)throw Error(r(166));return Ke(t),null}if(d=ue.current,$i(t))Mp(t);else{var v=yl(et.current);switch(d){case 1:d=v.createElementNS("http://www.w3.org/2000/svg",u);break;case 2:d=v.createElementNS("http://www.w3.org/1998/Math/MathML",u);break;default:switch(u){case"svg":d=v.createElementNS("http://www.w3.org/2000/svg",u);break;case"math":d=v.createElementNS("http://www.w3.org/1998/Math/MathML",u);break;case"script":d=v.createElement("div"),d.innerHTML="<script><\/script>",d=d.removeChild(d.firstChild);break;case"select":d=typeof o.is=="string"?v.createElement("select",{is:o.is}):v.createElement("select"),o.multiple?d.multiple=!0:o.size&&(d.size=o.size);break;default:d=typeof o.is=="string"?v.createElement(u,{is:o.is}):v.createElement(u)}}d[_t]=t,d[Dt]=o;e:for(v=t.child;v!==null;){if(v.tag===5||v.tag===6)d.appendChild(v.stateNode);else if(v.tag!==4&&v.tag!==27&&v.child!==null){v.child.return=v,v=v.child;continue}if(v===t)break e;for(;v.sibling===null;){if(v.return===null||v.return===t)break e;v=v.return}v.sibling.return=v.return,v=v.sibling}t.stateNode=d;e:switch(Ct(d,u,o),u){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break e;case"img":o=!0;break e;default:o=!1}o&&Qn(t)}}return Ke(t),Yu(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,i),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==o&&Qn(t);else{if(typeof o!="string"&&t.stateNode===null)throw Error(r(166));if(e=et.current,$i(t)){if(e=t.stateNode,i=t.memoizedProps,o=null,u=St,u!==null)switch(u.tag){case 27:case 5:o=u.memoizedProps}e[_t]=t,e=!!(e.nodeValue===i||o!==null&&o.suppressHydrationWarning===!0||Yg(e.nodeValue,i)),e||xa(t,!0)}else e=yl(e).createTextNode(o),e[_t]=t,t.stateNode=e}return Ke(t),null;case 31:if(i=t.memoizedState,e===null||e.memoizedState!==null){if(o=$i(t),i!==null){if(e===null){if(!o)throw Error(r(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(557));e[_t]=t}else ri(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ke(t),e=!1}else i=au(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),e=!0;if(!e)return t.flags&256?(Zt(t),t):(Zt(t),null);if((t.flags&128)!==0)throw Error(r(558))}return Ke(t),null;case 13:if(o=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(u=$i(t),o!==null&&o.dehydrated!==null){if(e===null){if(!u)throw Error(r(318));if(u=t.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(r(317));u[_t]=t}else ri(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ke(t),u=!1}else u=au(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=u),u=!0;if(!u)return t.flags&256?(Zt(t),t):(Zt(t),null)}return Zt(t),(t.flags&128)!==0?(t.lanes=i,t):(i=o!==null,e=e!==null&&e.memoizedState!==null,i&&(o=t.child,u=null,o.alternate!==null&&o.alternate.memoizedState!==null&&o.alternate.memoizedState.cachePool!==null&&(u=o.alternate.memoizedState.cachePool.pool),d=null,o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(d=o.memoizedState.cachePool.pool),d!==u&&(o.flags|=2048)),i!==e&&i&&(t.child.flags|=8192),al(t,t.updateQueue),Ke(t),null);case 4:return Nt(),e===null&&md(t.stateNode.containerInfo),Ke(t),null;case 10:return Gn(t.type),Ke(t),null;case 19:if(fe(it),o=t.memoizedState,o===null)return Ke(t),null;if(u=(t.flags&128)!==0,d=o.rendering,d===null)if(u)ur(o,!1);else{if(nt!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(d=$o(e),d!==null){for(t.flags|=128,ur(o,!1),e=d.updateQueue,t.updateQueue=e,al(t,e),t.subtreeFlags=0,e=i,i=t.child;i!==null;)kp(i,e),i=i.sibling;return te(it,it.current&1|2),Ee&&$n(t,o.treeForkCount),t.child}e=e.sibling}o.tail!==null&&Vt()>ll&&(t.flags|=128,u=!0,ur(o,!1),t.lanes=4194304)}else{if(!u)if(e=$o(d),e!==null){if(t.flags|=128,u=!0,e=e.updateQueue,t.updateQueue=e,al(t,e),ur(o,!0),o.tail===null&&o.tailMode==="hidden"&&!d.alternate&&!Ee)return Ke(t),null}else 2*Vt()-o.renderingStartTime>ll&&i!==536870912&&(t.flags|=128,u=!0,ur(o,!1),t.lanes=4194304);o.isBackwards?(d.sibling=t.child,t.child=d):(e=o.last,e!==null?e.sibling=d:t.child=d,o.last=d)}return o.tail!==null?(e=o.tail,o.rendering=e,o.tail=e.sibling,o.renderingStartTime=Vt(),e.sibling=null,i=it.current,te(it,u?i&1|2:i&1),Ee&&$n(t,o.treeForkCount),e):(Ke(t),null);case 22:case 23:return Zt(t),gu(),o=t.memoizedState!==null,e!==null?e.memoizedState!==null!==o&&(t.flags|=8192):o&&(t.flags|=8192),o?(i&536870912)!==0&&(t.flags&128)===0&&(Ke(t),t.subtreeFlags&6&&(t.flags|=8192)):Ke(t),i=t.updateQueue,i!==null&&al(t,i.retryQueue),i=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(i=e.memoizedState.cachePool.pool),o=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(o=t.memoizedState.cachePool.pool),o!==i&&(t.flags|=2048),e!==null&&fe(ci),null;case 24:return i=null,e!==null&&(i=e.memoizedState.cache),t.memoizedState.cache!==i&&(t.flags|=2048),Gn(ot),Ke(t),null;case 25:return null;case 30:return null}throw Error(r(156,t.tag))}function rx(e,t){switch(tu(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Gn(ot),Nt(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return sn(t),null;case 31:if(t.memoizedState!==null){if(Zt(t),t.alternate===null)throw Error(r(340));ri()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Zt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));ri()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return fe(it),null;case 4:return Nt(),null;case 10:return Gn(t.type),null;case 22:case 23:return Zt(t),gu(),e!==null&&fe(ci),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Gn(ot),null;case 25:return null;default:return null}}function Wm(e,t){switch(tu(t),t.tag){case 3:Gn(ot),Nt();break;case 26:case 27:case 5:sn(t);break;case 4:Nt();break;case 31:t.memoizedState!==null&&Zt(t);break;case 13:Zt(t);break;case 19:fe(it);break;case 10:Gn(t.type);break;case 22:case 23:Zt(t),gu(),e!==null&&fe(ci);break;case 24:Gn(ot)}}function dr(e,t){try{var i=t.updateQueue,o=i!==null?i.lastEffect:null;if(o!==null){var u=o.next;i=u;do{if((i.tag&e)===e){o=void 0;var d=i.create,v=i.inst;o=d(),v.destroy=o}i=i.next}while(i!==u)}}catch(_){ze(t,t.return,_)}}function Na(e,t,i){try{var o=t.updateQueue,u=o!==null?o.lastEffect:null;if(u!==null){var d=u.next;o=d;do{if((o.tag&e)===e){var v=o.inst,_=v.destroy;if(_!==void 0){v.destroy=void 0,u=t;var w=i,P=_;try{P()}catch(H){ze(u,w,H)}}}o=o.next}while(o!==d)}}catch(H){ze(t,t.return,H)}}function Jm(e){var t=e.updateQueue;if(t!==null){var i=e.stateNode;try{Bp(t,i)}catch(o){ze(e,e.return,o)}}}function eg(e,t,i){i.props=pi(e.type,e.memoizedProps),i.state=e.memoizedState;try{i.componentWillUnmount()}catch(o){ze(e,t,o)}}function fr(e,t){try{var i=e.ref;if(i!==null){switch(e.tag){case 26:case 27:case 5:var o=e.stateNode;break;case 30:o=e.stateNode;break;default:o=e.stateNode}typeof i=="function"?e.refCleanup=i(o):i.current=o}}catch(u){ze(e,t,u)}}function Dn(e,t){var i=e.ref,o=e.refCleanup;if(i!==null)if(typeof o=="function")try{o()}catch(u){ze(e,t,u)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof i=="function")try{i(null)}catch(u){ze(e,t,u)}else i.current=null}function tg(e){var t=e.type,i=e.memoizedProps,o=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":i.autoFocus&&o.focus();break e;case"img":i.src?o.src=i.src:i.srcSet&&(o.srcset=i.srcSet)}}catch(u){ze(e,e.return,u)}}function Ku(e,t,i){try{var o=e.stateNode;Ex(o,e.type,i,t),o[Dt]=t}catch(u){ze(e,e.return,u)}}function ng(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&La(e.type)||e.tag===4}function Xu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ng(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.tag===27&&La(e.type)||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 Qu(e,t,i){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?(i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i).insertBefore(e,t):(t=i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i,t.appendChild(e),i=i._reactRootContainer,i!=null||t.onclick!==null||(t.onclick=Hn));else if(o!==4&&(o===27&&La(e.type)&&(i=e.stateNode,t=null),e=e.child,e!==null))for(Qu(e,t,i),e=e.sibling;e!==null;)Qu(e,t,i),e=e.sibling}function il(e,t,i){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?i.insertBefore(e,t):i.appendChild(e);else if(o!==4&&(o===27&&La(e.type)&&(i=e.stateNode),e=e.child,e!==null))for(il(e,t,i),e=e.sibling;e!==null;)il(e,t,i),e=e.sibling}function ag(e){var t=e.stateNode,i=e.memoizedProps;try{for(var o=e.type,u=t.attributes;u.length;)t.removeAttributeNode(u[0]);Ct(t,o,i),t[_t]=e,t[Dt]=i}catch(d){ze(e,e.return,d)}}var Zn=!1,ut=!1,Zu=!1,ig=typeof WeakSet=="function"?WeakSet:Set,vt=null;function ox(e,t){if(e=e.containerInfo,yd=kl,e=gp(e),$c(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else e:{i=(i=e.ownerDocument)&&i.defaultView||window;var o=i.getSelection&&i.getSelection();if(o&&o.rangeCount!==0){i=o.anchorNode;var u=o.anchorOffset,d=o.focusNode;o=o.focusOffset;try{i.nodeType,d.nodeType}catch{i=null;break e}var v=0,_=-1,w=-1,P=0,H=0,G=e,O=null;t:for(;;){for(var z;G!==i||u!==0&&G.nodeType!==3||(_=v+u),G!==d||o!==0&&G.nodeType!==3||(w=v+o),G.nodeType===3&&(v+=G.nodeValue.length),(z=G.firstChild)!==null;)O=G,G=z;for(;;){if(G===e)break t;if(O===i&&++P===u&&(_=v),O===d&&++H===o&&(w=v),(z=G.nextSibling)!==null)break;G=O,O=G.parentNode}G=z}i=_===-1||w===-1?null:{start:_,end:w}}else i=null}i=i||{start:0,end:0}}else i=null;for(bd={focusedElem:e,selectionRange:i},kl=!1,vt=t;vt!==null;)if(t=vt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,vt=e;else for(;vt!==null;){switch(t=vt,d=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(i=0;i<e.length;i++)u=e[i],u.ref.impl=u.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&d!==null){e=void 0,i=t,u=d.memoizedProps,d=d.memoizedState,o=i.stateNode;try{var ne=pi(i.type,u);e=o.getSnapshotBeforeUpdate(ne,d),o.__reactInternalSnapshotBeforeUpdate=e}catch(de){ze(i,i.return,de)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,i=e.nodeType,i===9)xd(e);else if(i===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":xd(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(r(163))}if(e=t.sibling,e!==null){e.return=t.return,vt=e;break}vt=t.return}}function sg(e,t,i){var o=i.flags;switch(i.tag){case 0:case 11:case 15:Jn(e,i),o&4&&dr(5,i);break;case 1:if(Jn(e,i),o&4)if(e=i.stateNode,t===null)try{e.componentDidMount()}catch(v){ze(i,i.return,v)}else{var u=pi(i.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(u,t,e.__reactInternalSnapshotBeforeUpdate)}catch(v){ze(i,i.return,v)}}o&64&&Jm(i),o&512&&fr(i,i.return);break;case 3:if(Jn(e,i),o&64&&(e=i.updateQueue,e!==null)){if(t=null,i.child!==null)switch(i.child.tag){case 27:case 5:t=i.child.stateNode;break;case 1:t=i.child.stateNode}try{Bp(e,t)}catch(v){ze(i,i.return,v)}}break;case 27:t===null&&o&4&&ag(i);case 26:case 5:Jn(e,i),t===null&&o&4&&tg(i),o&512&&fr(i,i.return);break;case 12:Jn(e,i);break;case 31:Jn(e,i),o&4&&lg(e,i);break;case 13:Jn(e,i),o&4&&cg(e,i),o&64&&(e=i.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(i=gx.bind(null,i),Lx(e,i))));break;case 22:if(o=i.memoizedState!==null||Zn,!o){t=t!==null&&t.memoizedState!==null||ut,u=Zn;var d=ut;Zn=o,(ut=t)&&!d?ea(e,i,(i.subtreeFlags&8772)!==0):Jn(e,i),Zn=u,ut=d}break;case 30:break;default:Jn(e,i)}}function rg(e){var t=e.alternate;t!==null&&(e.alternate=null,rg(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&Tc(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ze=null,Ot=!1;function Wn(e,t,i){for(i=i.child;i!==null;)og(e,t,i),i=i.sibling}function og(e,t,i){if(Gt&&typeof Gt.onCommitFiberUnmount=="function")try{Gt.onCommitFiberUnmount(Ls,i)}catch{}switch(i.tag){case 26:ut||Dn(i,t),Wn(e,t,i),i.memoizedState?i.memoizedState.count--:i.stateNode&&(i=i.stateNode,i.parentNode.removeChild(i));break;case 27:ut||Dn(i,t);var o=Ze,u=Ot;La(i.type)&&(Ze=i.stateNode,Ot=!1),Wn(e,t,i),Sr(i.stateNode),Ze=o,Ot=u;break;case 5:ut||Dn(i,t);case 6:if(o=Ze,u=Ot,Ze=null,Wn(e,t,i),Ze=o,Ot=u,Ze!==null)if(Ot)try{(Ze.nodeType===9?Ze.body:Ze.nodeName==="HTML"?Ze.ownerDocument.body:Ze).removeChild(i.stateNode)}catch(d){ze(i,t,d)}else try{Ze.removeChild(i.stateNode)}catch(d){ze(i,t,d)}break;case 18:Ze!==null&&(Ot?(e=Ze,Jg(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,i.stateNode),ds(e)):Jg(Ze,i.stateNode));break;case 4:o=Ze,u=Ot,Ze=i.stateNode.containerInfo,Ot=!0,Wn(e,t,i),Ze=o,Ot=u;break;case 0:case 11:case 14:case 15:Na(2,i,t),ut||Na(4,i,t),Wn(e,t,i);break;case 1:ut||(Dn(i,t),o=i.stateNode,typeof o.componentWillUnmount=="function"&&eg(i,t,o)),Wn(e,t,i);break;case 21:Wn(e,t,i);break;case 22:ut=(o=ut)||i.memoizedState!==null,Wn(e,t,i),ut=o;break;default:Wn(e,t,i)}}function lg(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{ds(e)}catch(i){ze(t,t.return,i)}}}function cg(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{ds(e)}catch(i){ze(t,t.return,i)}}function lx(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new ig),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new ig),t;default:throw Error(r(435,e.tag))}}function sl(e,t){var i=lx(e);t.forEach(function(o){if(!i.has(o)){i.add(o);var u=vx.bind(null,e,o);o.then(u,u)}})}function Lt(e,t){var i=t.deletions;if(i!==null)for(var o=0;o<i.length;o++){var u=i[o],d=e,v=t,_=v;e:for(;_!==null;){switch(_.tag){case 27:if(La(_.type)){Ze=_.stateNode,Ot=!1;break e}break;case 5:Ze=_.stateNode,Ot=!1;break e;case 3:case 4:Ze=_.stateNode.containerInfo,Ot=!0;break e}_=_.return}if(Ze===null)throw Error(r(160));og(d,v,u),Ze=null,Ot=!1,d=u.alternate,d!==null&&(d.return=null),u.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)ug(t,e),t=t.sibling}var Cn=null;function ug(e,t){var i=e.alternate,o=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Lt(t,e),Ft(e),o&4&&(Na(3,e,e.return),dr(3,e),Na(5,e,e.return));break;case 1:Lt(t,e),Ft(e),o&512&&(ut||i===null||Dn(i,i.return)),o&64&&Zn&&(e=e.updateQueue,e!==null&&(o=e.callbacks,o!==null&&(i=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=i===null?o:i.concat(o))));break;case 26:var u=Cn;if(Lt(t,e),Ft(e),o&512&&(ut||i===null||Dn(i,i.return)),o&4){var d=i!==null?i.memoizedState:null;if(o=e.memoizedState,i===null)if(o===null)if(e.stateNode===null){e:{o=e.type,i=e.memoizedProps,u=u.ownerDocument||u;t:switch(o){case"title":d=u.getElementsByTagName("title")[0],(!d||d[Us]||d[_t]||d.namespaceURI==="http://www.w3.org/2000/svg"||d.hasAttribute("itemprop"))&&(d=u.createElement(o),u.head.insertBefore(d,u.querySelector("head > title"))),Ct(d,o,i),d[_t]=e,gt(d),o=d;break e;case"link":var v=uv("link","href",u).get(o+(i.href||""));if(v){for(var _=0;_<v.length;_++)if(d=v[_],d.getAttribute("href")===(i.href==null||i.href===""?null:i.href)&&d.getAttribute("rel")===(i.rel==null?null:i.rel)&&d.getAttribute("title")===(i.title==null?null:i.title)&&d.getAttribute("crossorigin")===(i.crossOrigin==null?null:i.crossOrigin)){v.splice(_,1);break t}}d=u.createElement(o),Ct(d,o,i),u.head.appendChild(d);break;case"meta":if(v=uv("meta","content",u).get(o+(i.content||""))){for(_=0;_<v.length;_++)if(d=v[_],d.getAttribute("content")===(i.content==null?null:""+i.content)&&d.getAttribute("name")===(i.name==null?null:i.name)&&d.getAttribute("property")===(i.property==null?null:i.property)&&d.getAttribute("http-equiv")===(i.httpEquiv==null?null:i.httpEquiv)&&d.getAttribute("charset")===(i.charSet==null?null:i.charSet)){v.splice(_,1);break t}}d=u.createElement(o),Ct(d,o,i),u.head.appendChild(d);break;default:throw Error(r(468,o))}d[_t]=e,gt(d),o=d}e.stateNode=o}else dv(u,e.type,e.stateNode);else e.stateNode=cv(u,o,e.memoizedProps);else d!==o?(d===null?i.stateNode!==null&&(i=i.stateNode,i.parentNode.removeChild(i)):d.count--,o===null?dv(u,e.type,e.stateNode):cv(u,o,e.memoizedProps)):o===null&&e.stateNode!==null&&Ku(e,e.memoizedProps,i.memoizedProps)}break;case 27:Lt(t,e),Ft(e),o&512&&(ut||i===null||Dn(i,i.return)),i!==null&&o&4&&Ku(e,e.memoizedProps,i.memoizedProps);break;case 5:if(Lt(t,e),Ft(e),o&512&&(ut||i===null||Dn(i,i.return)),e.flags&32){u=e.stateNode;try{Pi(u,"")}catch(ne){ze(e,e.return,ne)}}o&4&&e.stateNode!=null&&(u=e.memoizedProps,Ku(e,u,i!==null?i.memoizedProps:u)),o&1024&&(Zu=!0);break;case 6:if(Lt(t,e),Ft(e),o&4){if(e.stateNode===null)throw Error(r(162));o=e.memoizedProps,i=e.stateNode;try{i.nodeValue=o}catch(ne){ze(e,e.return,ne)}}break;case 3:if(Sl=null,u=Cn,Cn=bl(t.containerInfo),Lt(t,e),Cn=u,Ft(e),o&4&&i!==null&&i.memoizedState.isDehydrated)try{ds(t.containerInfo)}catch(ne){ze(e,e.return,ne)}Zu&&(Zu=!1,dg(e));break;case 4:o=Cn,Cn=bl(e.stateNode.containerInfo),Lt(t,e),Ft(e),Cn=o;break;case 12:Lt(t,e),Ft(e);break;case 31:Lt(t,e),Ft(e),o&4&&(o=e.updateQueue,o!==null&&(e.updateQueue=null,sl(e,o)));break;case 13:Lt(t,e),Ft(e),e.child.flags&8192&&e.memoizedState!==null!=(i!==null&&i.memoizedState!==null)&&(ol=Vt()),o&4&&(o=e.updateQueue,o!==null&&(e.updateQueue=null,sl(e,o)));break;case 22:u=e.memoizedState!==null;var w=i!==null&&i.memoizedState!==null,P=Zn,H=ut;if(Zn=P||u,ut=H||w,Lt(t,e),ut=H,Zn=P,Ft(e),o&8192)e:for(t=e.stateNode,t._visibility=u?t._visibility&-2:t._visibility|1,u&&(i===null||w||Zn||ut||mi(e)),i=null,t=e;;){if(t.tag===5||t.tag===26){if(i===null){w=i=t;try{if(d=w.stateNode,u)v=d.style,typeof v.setProperty=="function"?v.setProperty("display","none","important"):v.display="none";else{_=w.stateNode;var G=w.memoizedProps.style,O=G!=null&&G.hasOwnProperty("display")?G.display:null;_.style.display=O==null||typeof O=="boolean"?"":(""+O).trim()}}catch(ne){ze(w,w.return,ne)}}}else if(t.tag===6){if(i===null){w=t;try{w.stateNode.nodeValue=u?"":w.memoizedProps}catch(ne){ze(w,w.return,ne)}}}else if(t.tag===18){if(i===null){w=t;try{var z=w.stateNode;u?ev(z,!0):ev(w.stateNode,!1)}catch(ne){ze(w,w.return,ne)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;i===t&&(i=null),t=t.return}i===t&&(i=null),t.sibling.return=t.return,t=t.sibling}o&4&&(o=e.updateQueue,o!==null&&(i=o.retryQueue,i!==null&&(o.retryQueue=null,sl(e,i))));break;case 19:Lt(t,e),Ft(e),o&4&&(o=e.updateQueue,o!==null&&(e.updateQueue=null,sl(e,o)));break;case 30:break;case 21:break;default:Lt(t,e),Ft(e)}}function Ft(e){var t=e.flags;if(t&2){try{for(var i,o=e.return;o!==null;){if(ng(o)){i=o;break}o=o.return}if(i==null)throw Error(r(160));switch(i.tag){case 27:var u=i.stateNode,d=Xu(e);il(e,d,u);break;case 5:var v=i.stateNode;i.flags&32&&(Pi(v,""),i.flags&=-33);var _=Xu(e);il(e,_,v);break;case 3:case 4:var w=i.stateNode.containerInfo,P=Xu(e);Qu(e,P,w);break;default:throw Error(r(161))}}catch(H){ze(e,e.return,H)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function dg(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;dg(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Jn(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)sg(e,t.alternate,t),t=t.sibling}function mi(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Na(4,t,t.return),mi(t);break;case 1:Dn(t,t.return);var i=t.stateNode;typeof i.componentWillUnmount=="function"&&eg(t,t.return,i),mi(t);break;case 27:Sr(t.stateNode);case 26:case 5:Dn(t,t.return),mi(t);break;case 22:t.memoizedState===null&&mi(t);break;case 30:mi(t);break;default:mi(t)}e=e.sibling}}function ea(e,t,i){for(i=i&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var o=t.alternate,u=e,d=t,v=d.flags;switch(d.tag){case 0:case 11:case 15:ea(u,d,i),dr(4,d);break;case 1:if(ea(u,d,i),o=d,u=o.stateNode,typeof u.componentDidMount=="function")try{u.componentDidMount()}catch(P){ze(o,o.return,P)}if(o=d,u=o.updateQueue,u!==null){var _=o.stateNode;try{var w=u.shared.hiddenCallbacks;if(w!==null)for(u.shared.hiddenCallbacks=null,u=0;u<w.length;u++)qp(w[u],_)}catch(P){ze(o,o.return,P)}}i&&v&64&&Jm(d),fr(d,d.return);break;case 27:ag(d);case 26:case 5:ea(u,d,i),i&&o===null&&v&4&&tg(d),fr(d,d.return);break;case 12:ea(u,d,i);break;case 31:ea(u,d,i),i&&v&4&&lg(u,d);break;case 13:ea(u,d,i),i&&v&4&&cg(u,d);break;case 22:d.memoizedState===null&&ea(u,d,i),fr(d,d.return);break;case 30:break;default:ea(u,d,i)}t=t.sibling}}function Wu(e,t){var i=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(i=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==i&&(e!=null&&e.refCount++,i!=null&&Ws(i))}function Ju(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Ws(e))}function kn(e,t,i,o){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)fg(e,t,i,o),t=t.sibling}function fg(e,t,i,o){var u=t.flags;switch(t.tag){case 0:case 11:case 15:kn(e,t,i,o),u&2048&&dr(9,t);break;case 1:kn(e,t,i,o);break;case 3:kn(e,t,i,o),u&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Ws(e)));break;case 12:if(u&2048){kn(e,t,i,o),e=t.stateNode;try{var d=t.memoizedProps,v=d.id,_=d.onPostCommit;typeof _=="function"&&_(v,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(w){ze(t,t.return,w)}}else kn(e,t,i,o);break;case 31:kn(e,t,i,o);break;case 13:kn(e,t,i,o);break;case 23:break;case 22:d=t.stateNode,v=t.alternate,t.memoizedState!==null?d._visibility&2?kn(e,t,i,o):hr(e,t):d._visibility&2?kn(e,t,i,o):(d._visibility|=2,es(e,t,i,o,(t.subtreeFlags&10256)!==0||!1)),u&2048&&Wu(v,t);break;case 24:kn(e,t,i,o),u&2048&&Ju(t.alternate,t);break;default:kn(e,t,i,o)}}function es(e,t,i,o,u){for(u=u&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var d=e,v=t,_=i,w=o,P=v.flags;switch(v.tag){case 0:case 11:case 15:es(d,v,_,w,u),dr(8,v);break;case 23:break;case 22:var H=v.stateNode;v.memoizedState!==null?H._visibility&2?es(d,v,_,w,u):hr(d,v):(H._visibility|=2,es(d,v,_,w,u)),u&&P&2048&&Wu(v.alternate,v);break;case 24:es(d,v,_,w,u),u&&P&2048&&Ju(v.alternate,v);break;default:es(d,v,_,w,u)}t=t.sibling}}function hr(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var i=e,o=t,u=o.flags;switch(o.tag){case 22:hr(i,o),u&2048&&Wu(o.alternate,o);break;case 24:hr(i,o),u&2048&&Ju(o.alternate,o);break;default:hr(i,o)}t=t.sibling}}var pr=8192;function ts(e,t,i){if(e.subtreeFlags&pr)for(e=e.child;e!==null;)hg(e,t,i),e=e.sibling}function hg(e,t,i){switch(e.tag){case 26:ts(e,t,i),e.flags&pr&&e.memoizedState!==null&&Kx(i,Cn,e.memoizedState,e.memoizedProps);break;case 5:ts(e,t,i);break;case 3:case 4:var o=Cn;Cn=bl(e.stateNode.containerInfo),ts(e,t,i),Cn=o;break;case 22:e.memoizedState===null&&(o=e.alternate,o!==null&&o.memoizedState!==null?(o=pr,pr=16777216,ts(e,t,i),pr=o):ts(e,t,i));break;default:ts(e,t,i)}}function pg(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function mr(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var i=0;i<t.length;i++){var o=t[i];vt=o,gg(o,e)}pg(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)mg(e),e=e.sibling}function mg(e){switch(e.tag){case 0:case 11:case 15:mr(e),e.flags&2048&&Na(9,e,e.return);break;case 3:mr(e);break;case 12:mr(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,rl(e)):mr(e);break;default:mr(e)}}function rl(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var i=0;i<t.length;i++){var o=t[i];vt=o,gg(o,e)}pg(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Na(8,t,t.return),rl(t);break;case 22:i=t.stateNode,i._visibility&2&&(i._visibility&=-3,rl(t));break;default:rl(t)}e=e.sibling}}function gg(e,t){for(;vt!==null;){var i=vt;switch(i.tag){case 0:case 11:case 15:Na(8,i,t);break;case 23:case 22:if(i.memoizedState!==null&&i.memoizedState.cachePool!==null){var o=i.memoizedState.cachePool.pool;o!=null&&o.refCount++}break;case 24:Ws(i.memoizedState.cache)}if(o=i.child,o!==null)o.return=i,vt=o;else e:for(i=e;vt!==null;){o=vt;var u=o.sibling,d=o.return;if(rg(o),o===i){vt=null;break e}if(u!==null){u.return=d,vt=u;break e}vt=d}}}var cx={getCacheForType:function(e){var t=xt(ot),i=t.data.get(e);return i===void 0&&(i=e(),t.data.set(e,i)),i},cacheSignal:function(){return xt(ot).controller.signal}},ux=typeof WeakMap=="function"?WeakMap:Map,je=0,Be=null,we=null,Ae=0,Fe=0,Wt=null,Ma=!1,ns=!1,ed=!1,ta=0,nt=0,ja=0,gi=0,td=0,Jt=0,as=0,gr=null,zt=null,nd=!1,ol=0,vg=0,ll=1/0,cl=null,Ra=null,ht=0,Da=null,is=null,na=0,ad=0,id=null,yg=null,vr=0,sd=null;function en(){return(je&2)!==0&&Ae!==0?Ae&-Ae:F.T!==null?dd():Ph()}function bg(){if(Jt===0)if((Ae&536870912)===0||Ee){var e=vo;vo<<=1,(vo&3932160)===0&&(vo=262144),Jt=e}else Jt=536870912;return e=Qt.current,e!==null&&(e.flags|=32),Jt}function Ut(e,t,i){(e===Be&&(Fe===2||Fe===9)||e.cancelPendingCommit!==null)&&(ss(e,0),Pa(e,Ae,Jt,!1)),zs(e,i),((je&2)===0||e!==Be)&&(e===Be&&((je&2)===0&&(gi|=i),nt===4&&Pa(e,Ae,Jt,!1)),Pn(e))}function _g(e,t,i){if((je&6)!==0)throw Error(r(327));var o=!i&&(t&127)===0&&(t&e.expiredLanes)===0||Fs(e,t),u=o?hx(e,t):od(e,t,!0),d=o;do{if(u===0){ns&&!o&&Pa(e,t,0,!1);break}else{if(i=e.current.alternate,d&&!dx(i)){u=od(e,t,!1),d=!1;continue}if(u===2){if(d=t,e.errorRecoveryDisabledLanes&d)var v=0;else v=e.pendingLanes&-536870913,v=v!==0?v:v&536870912?536870912:0;if(v!==0){t=v;e:{var _=e;u=gr;var w=_.current.memoizedState.isDehydrated;if(w&&(ss(_,v).flags|=256),v=od(_,v,!1),v!==2){if(ed&&!w){_.errorRecoveryDisabledLanes|=d,gi|=d,u=4;break e}d=zt,zt=u,d!==null&&(zt===null?zt=d:zt.push.apply(zt,d))}u=v}if(d=!1,u!==2)continue}}if(u===1){ss(e,0),Pa(e,t,0,!0);break}e:{switch(o=e,d=u,d){case 0:case 1:throw Error(r(345));case 4:if((t&4194048)!==t)break;case 6:Pa(o,t,Jt,!Ma);break e;case 2:zt=null;break;case 3:case 5:break;default:throw Error(r(329))}if((t&62914560)===t&&(u=ol+300-Vt(),10<u)){if(Pa(o,t,Jt,!Ma),bo(o,0,!0)!==0)break e;na=t,o.timeoutHandle=Zg(Sg.bind(null,o,i,zt,cl,nd,t,Jt,gi,as,Ma,d,"Throttled",-0,0),u);break e}Sg(o,i,zt,cl,nd,t,Jt,gi,as,Ma,d,null,-0,0)}}break}while(!0);Pn(e)}function Sg(e,t,i,o,u,d,v,_,w,P,H,G,O,z){if(e.timeoutHandle=-1,G=t.subtreeFlags,G&8192||(G&16785408)===16785408){G={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Hn},hg(t,d,G);var ne=(d&62914560)===d?ol-Vt():(d&4194048)===d?vg-Vt():0;if(ne=Xx(G,ne),ne!==null){na=d,e.cancelPendingCommit=ne(Ng.bind(null,e,t,d,i,o,u,v,_,w,H,G,null,O,z)),Pa(e,d,v,!P);return}}Ng(e,t,d,i,o,u,v,_,w)}function dx(e){for(var t=e;;){var i=t.tag;if((i===0||i===11||i===15)&&t.flags&16384&&(i=t.updateQueue,i!==null&&(i=i.stores,i!==null)))for(var o=0;o<i.length;o++){var u=i[o],d=u.getSnapshot;u=u.value;try{if(!Kt(d(),u))return!1}catch{return!1}}if(i=t.child,t.subtreeFlags&16384&&i!==null)i.return=t,t=i;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 Pa(e,t,i,o){t&=~td,t&=~gi,e.suspendedLanes|=t,e.pingedLanes&=~t,o&&(e.warmLanes|=t),o=e.expirationTimes;for(var u=t;0<u;){var d=31-Yt(u),v=1<<d;o[d]=-1,u&=~v}i!==0&&jh(e,i,t)}function ul(){return(je&6)===0?(yr(0),!1):!0}function rd(){if(we!==null){if(Fe===0)var e=we.return;else e=we,Vn=oi=null,xu(e),Xi=null,er=0,e=we;for(;e!==null;)Wm(e.alternate,e),e=e.return;we=null}}function ss(e,t){var i=e.timeoutHandle;i!==-1&&(e.timeoutHandle=-1,jx(i)),i=e.cancelPendingCommit,i!==null&&(e.cancelPendingCommit=null,i()),na=0,rd(),Be=e,we=i=Bn(e.current,null),Ae=t,Fe=0,Wt=null,Ma=!1,ns=Fs(e,t),ed=!1,as=Jt=td=gi=ja=nt=0,zt=gr=null,nd=!1,(t&8)!==0&&(t|=t&32);var o=e.entangledLanes;if(o!==0)for(e=e.entanglements,o&=t;0<o;){var u=31-Yt(o),d=1<<u;t|=e[u],o&=~d}return ta=t,jo(),i}function xg(e,t){me=null,F.H=lr,t===Ki||t===Uo?(t=zp(),Fe=3):t===uu?(t=zp(),Fe=4):Fe=t===zu?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Wt=t,we===null&&(nt=1,Jo(e,un(t,e.current)))}function wg(){var e=Qt.current;return e===null?!0:(Ae&4194048)===Ae?pn===null:(Ae&62914560)===Ae||(Ae&536870912)!==0?e===pn:!1}function Cg(){var e=F.H;return F.H=lr,e===null?lr:e}function kg(){var e=F.A;return F.A=cx,e}function dl(){nt=4,Ma||(Ae&4194048)!==Ae&&Qt.current!==null||(ns=!0),(ja&134217727)===0&&(gi&134217727)===0||Be===null||Pa(Be,Ae,Jt,!1)}function od(e,t,i){var o=je;je|=2;var u=Cg(),d=kg();(Be!==e||Ae!==t)&&(cl=null,ss(e,t)),t=!1;var v=nt;e:do try{if(Fe!==0&&we!==null){var _=we,w=Wt;switch(Fe){case 8:rd(),v=6;break e;case 3:case 2:case 9:case 6:Qt.current===null&&(t=!0);var P=Fe;if(Fe=0,Wt=null,rs(e,_,w,P),i&&ns){v=0;break e}break;default:P=Fe,Fe=0,Wt=null,rs(e,_,w,P)}}fx(),v=nt;break}catch(H){xg(e,H)}while(!0);return t&&e.shellSuspendCounter++,Vn=oi=null,je=o,F.H=u,F.A=d,we===null&&(Be=null,Ae=0,jo()),v}function fx(){for(;we!==null;)Ag(we)}function hx(e,t){var i=je;je|=2;var o=Cg(),u=kg();Be!==e||Ae!==t?(cl=null,ll=Vt()+500,ss(e,t)):ns=Fs(e,t);e:do try{if(Fe!==0&&we!==null){t=we;var d=Wt;t:switch(Fe){case 1:Fe=0,Wt=null,rs(e,t,d,1);break;case 2:case 9:if(Lp(d)){Fe=0,Wt=null,Tg(t);break}t=function(){Fe!==2&&Fe!==9||Be!==e||(Fe=7),Pn(e)},d.then(t,t);break e;case 3:Fe=7;break e;case 4:Fe=5;break e;case 7:Lp(d)?(Fe=0,Wt=null,Tg(t)):(Fe=0,Wt=null,rs(e,t,d,7));break;case 5:var v=null;switch(we.tag){case 26:v=we.memoizedState;case 5:case 27:var _=we;if(v?fv(v):_.stateNode.complete){Fe=0,Wt=null;var w=_.sibling;if(w!==null)we=w;else{var P=_.return;P!==null?(we=P,fl(P)):we=null}break t}}Fe=0,Wt=null,rs(e,t,d,5);break;case 6:Fe=0,Wt=null,rs(e,t,d,6);break;case 8:rd(),nt=6;break e;default:throw Error(r(462))}}px();break}catch(H){xg(e,H)}while(!0);return Vn=oi=null,F.H=o,F.A=u,je=i,we!==null?0:(Be=null,Ae=0,jo(),nt)}function px(){for(;we!==null&&!F_();)Ag(we)}function Ag(e){var t=Qm(e.alternate,e,ta);e.memoizedProps=e.pendingProps,t===null?fl(e):we=t}function Tg(e){var t=e,i=t.alternate;switch(t.tag){case 15:case 0:t=$m(i,t,t.pendingProps,t.type,void 0,Ae);break;case 11:t=$m(i,t,t.pendingProps,t.type.render,t.ref,Ae);break;case 5:xu(t);default:Wm(i,t),t=we=kp(t,ta),t=Qm(i,t,ta)}e.memoizedProps=e.pendingProps,t===null?fl(e):we=t}function rs(e,t,i,o){Vn=oi=null,xu(t),Xi=null,er=0;var u=t.return;try{if(nx(e,u,t,i,Ae)){nt=1,Jo(e,un(i,e.current)),we=null;return}}catch(d){if(u!==null)throw we=u,d;nt=1,Jo(e,un(i,e.current)),we=null;return}t.flags&32768?(Ee||o===1?e=!0:ns||(Ae&536870912)!==0?e=!1:(Ma=e=!0,(o===2||o===9||o===3||o===6)&&(o=Qt.current,o!==null&&o.tag===13&&(o.flags|=16384))),Eg(t,e)):fl(t)}function fl(e){var t=e;do{if((t.flags&32768)!==0){Eg(t,Ma);return}e=t.return;var i=sx(t.alternate,t,ta);if(i!==null){we=i;return}if(t=t.sibling,t!==null){we=t;return}we=t=e}while(t!==null);nt===0&&(nt=5)}function Eg(e,t){do{var i=rx(e.alternate,e);if(i!==null){i.flags&=32767,we=i;return}if(i=e.return,i!==null&&(i.flags|=32768,i.subtreeFlags=0,i.deletions=null),!t&&(e=e.sibling,e!==null)){we=e;return}we=e=i}while(e!==null);nt=6,we=null}function Ng(e,t,i,o,u,d,v,_,w){e.cancelPendingCommit=null;do hl();while(ht!==0);if((je&6)!==0)throw Error(r(327));if(t!==null){if(t===e.current)throw Error(r(177));if(d=t.lanes|t.childLanes,d|=Xc,Y_(e,i,d,v,_,w),e===Be&&(we=Be=null,Ae=0),is=t,Da=e,na=i,ad=d,id=u,yg=o,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,yx(mo,function(){return Pg(),null})):(e.callbackNode=null,e.callbackPriority=0),o=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||o){o=F.T,F.T=null,u=K.p,K.p=2,v=je,je|=4;try{ox(e,t,i)}finally{je=v,K.p=u,F.T=o}}ht=1,Mg(),jg(),Rg()}}function Mg(){if(ht===1){ht=0;var e=Da,t=is,i=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||i){i=F.T,F.T=null;var o=K.p;K.p=2;var u=je;je|=4;try{ug(t,e);var d=bd,v=gp(e.containerInfo),_=d.focusedElem,w=d.selectionRange;if(v!==_&&_&&_.ownerDocument&&mp(_.ownerDocument.documentElement,_)){if(w!==null&&$c(_)){var P=w.start,H=w.end;if(H===void 0&&(H=P),"selectionStart"in _)_.selectionStart=P,_.selectionEnd=Math.min(H,_.value.length);else{var G=_.ownerDocument||document,O=G&&G.defaultView||window;if(O.getSelection){var z=O.getSelection(),ne=_.textContent.length,de=Math.min(w.start,ne),He=w.end===void 0?de:Math.min(w.end,ne);!z.extend&&de>He&&(v=He,He=de,de=v);var N=pp(_,de),T=pp(_,He);if(N&&T&&(z.rangeCount!==1||z.anchorNode!==N.node||z.anchorOffset!==N.offset||z.focusNode!==T.node||z.focusOffset!==T.offset)){var R=G.createRange();R.setStart(N.node,N.offset),z.removeAllRanges(),de>He?(z.addRange(R),z.extend(T.node,T.offset)):(R.setEnd(T.node,T.offset),z.addRange(R))}}}}for(G=[],z=_;z=z.parentNode;)z.nodeType===1&&G.push({element:z,left:z.scrollLeft,top:z.scrollTop});for(typeof _.focus=="function"&&_.focus(),_=0;_<G.length;_++){var $=G[_];$.element.scrollLeft=$.left,$.element.scrollTop=$.top}}kl=!!yd,bd=yd=null}finally{je=u,K.p=o,F.T=i}}e.current=t,ht=2}}function jg(){if(ht===2){ht=0;var e=Da,t=is,i=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||i){i=F.T,F.T=null;var o=K.p;K.p=2;var u=je;je|=4;try{sg(e,t.alternate,t)}finally{je=u,K.p=o,F.T=i}}ht=3}}function Rg(){if(ht===4||ht===3){ht=0,z_();var e=Da,t=is,i=na,o=yg;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?ht=5:(ht=0,is=Da=null,Dg(e,e.pendingLanes));var u=e.pendingLanes;if(u===0&&(Ra=null),kc(i),t=t.stateNode,Gt&&typeof Gt.onCommitFiberRoot=="function")try{Gt.onCommitFiberRoot(Ls,t,void 0,(t.current.flags&128)===128)}catch{}if(o!==null){t=F.T,u=K.p,K.p=2,F.T=null;try{for(var d=e.onRecoverableError,v=0;v<o.length;v++){var _=o[v];d(_.value,{componentStack:_.stack})}}finally{F.T=t,K.p=u}}(na&3)!==0&&hl(),Pn(e),u=e.pendingLanes,(i&261930)!==0&&(u&42)!==0?e===sd?vr++:(vr=0,sd=e):vr=0,yr(0)}}function Dg(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Ws(t)))}function hl(){return Mg(),jg(),Rg(),Pg()}function Pg(){if(ht!==5)return!1;var e=Da,t=ad;ad=0;var i=kc(na),o=F.T,u=K.p;try{K.p=32>i?32:i,F.T=null,i=id,id=null;var d=Da,v=na;if(ht=0,is=Da=null,na=0,(je&6)!==0)throw Error(r(331));var _=je;if(je|=4,mg(d.current),fg(d,d.current,v,i),je=_,yr(0,!1),Gt&&typeof Gt.onPostCommitFiberRoot=="function")try{Gt.onPostCommitFiberRoot(Ls,d)}catch{}return!0}finally{K.p=u,F.T=o,Dg(e,t)}}function Og(e,t,i){t=un(i,t),t=Fu(e.stateNode,t,2),e=Aa(e,t,2),e!==null&&(zs(e,2),Pn(e))}function ze(e,t,i){if(e.tag===3)Og(e,e,i);else for(;t!==null;){if(t.tag===3){Og(t,e,i);break}else if(t.tag===1){var o=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof o.componentDidCatch=="function"&&(Ra===null||!Ra.has(o))){e=un(i,e),i=Lm(2),o=Aa(t,i,2),o!==null&&(Fm(i,o,t,e),zs(o,2),Pn(o));break}}t=t.return}}function ld(e,t,i){var o=e.pingCache;if(o===null){o=e.pingCache=new ux;var u=new Set;o.set(t,u)}else u=o.get(t),u===void 0&&(u=new Set,o.set(t,u));u.has(i)||(ed=!0,u.add(i),e=mx.bind(null,e,t,i),t.then(e,e))}function mx(e,t,i){var o=e.pingCache;o!==null&&o.delete(t),e.pingedLanes|=e.suspendedLanes&i,e.warmLanes&=~i,Be===e&&(Ae&i)===i&&(nt===4||nt===3&&(Ae&62914560)===Ae&&300>Vt()-ol?(je&2)===0&&ss(e,0):td|=i,as===Ae&&(as=0)),Pn(e)}function Lg(e,t){t===0&&(t=Mh()),e=ii(e,t),e!==null&&(zs(e,t),Pn(e))}function gx(e){var t=e.memoizedState,i=0;t!==null&&(i=t.retryLane),Lg(e,i)}function vx(e,t){var i=0;switch(e.tag){case 31:case 13:var o=e.stateNode,u=e.memoizedState;u!==null&&(i=u.retryLane);break;case 19:o=e.stateNode;break;case 22:o=e.stateNode._retryCache;break;default:throw Error(r(314))}o!==null&&o.delete(t),Lg(e,i)}function yx(e,t){return Un(e,t)}var pl=null,os=null,cd=!1,ml=!1,ud=!1,Oa=0;function Pn(e){e!==os&&e.next===null&&(os===null?pl=os=e:os=os.next=e),ml=!0,cd||(cd=!0,_x())}function yr(e,t){if(!ud&&ml){ud=!0;do for(var i=!1,o=pl;o!==null;){if(e!==0){var u=o.pendingLanes;if(u===0)var d=0;else{var v=o.suspendedLanes,_=o.pingedLanes;d=(1<<31-Yt(42|e)+1)-1,d&=u&~(v&~_),d=d&201326741?d&201326741|1:d?d|2:0}d!==0&&(i=!0,Ig(o,d))}else d=Ae,d=bo(o,o===Be?d:0,o.cancelPendingCommit!==null||o.timeoutHandle!==-1),(d&3)===0||Fs(o,d)||(i=!0,Ig(o,d));o=o.next}while(i);ud=!1}}function bx(){Fg()}function Fg(){ml=cd=!1;var e=0;Oa!==0&&Mx()&&(e=Oa);for(var t=Vt(),i=null,o=pl;o!==null;){var u=o.next,d=zg(o,t);d===0?(o.next=null,i===null?pl=u:i.next=u,u===null&&(os=i)):(i=o,(e!==0||(d&3)!==0)&&(ml=!0)),o=u}ht!==0&&ht!==5||yr(e),Oa!==0&&(Oa=0)}function zg(e,t){for(var i=e.suspendedLanes,o=e.pingedLanes,u=e.expirationTimes,d=e.pendingLanes&-62914561;0<d;){var v=31-Yt(d),_=1<<v,w=u[v];w===-1?((_&i)===0||(_&o)!==0)&&(u[v]=G_(_,t)):w<=t&&(e.expiredLanes|=_),d&=~_}if(t=Be,i=Ae,i=bo(e,e===t?i:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),o=e.callbackNode,i===0||e===t&&(Fe===2||Fe===9)||e.cancelPendingCommit!==null)return o!==null&&o!==null&&Wa(o),e.callbackNode=null,e.callbackPriority=0;if((i&3)===0||Fs(e,i)){if(t=i&-i,t===e.callbackPriority)return t;switch(o!==null&&Wa(o),kc(i)){case 2:case 8:i=Eh;break;case 32:i=mo;break;case 268435456:i=Nh;break;default:i=mo}return o=Ug.bind(null,e),i=Un(i,o),e.callbackPriority=t,e.callbackNode=i,t}return o!==null&&o!==null&&Wa(o),e.callbackPriority=2,e.callbackNode=null,2}function Ug(e,t){if(ht!==0&&ht!==5)return e.callbackNode=null,e.callbackPriority=0,null;var i=e.callbackNode;if(hl()&&e.callbackNode!==i)return null;var o=Ae;return o=bo(e,e===Be?o:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),o===0?null:(_g(e,o,t),zg(e,Vt()),e.callbackNode!=null&&e.callbackNode===i?Ug.bind(null,e):null)}function Ig(e,t){if(hl())return null;_g(e,t,!0)}function _x(){Rx(function(){(je&6)!==0?Un(Th,bx):Fg()})}function dd(){if(Oa===0){var e=Gi;e===0&&(e=go,go<<=1,(go&261888)===0&&(go=256)),Oa=e}return Oa}function Hg(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:wo(""+e)}function qg(e,t){var i=t.ownerDocument.createElement("input");return i.name=t.name,i.value=t.value,e.id&&i.setAttribute("form",e.id),t.parentNode.insertBefore(i,t),e=new FormData(e),i.parentNode.removeChild(i),e}function Sx(e,t,i,o,u){if(t==="submit"&&i&&i.stateNode===u){var d=Hg((u[Dt]||null).action),v=o.submitter;v&&(t=(t=v[Dt]||null)?Hg(t.formAction):v.getAttribute("formAction"),t!==null&&(d=t,v=null));var _=new To("action","action",null,o,u);e.push({event:_,listeners:[{instance:null,listener:function(){if(o.defaultPrevented){if(Oa!==0){var w=v?qg(u,v):new FormData(u);ju(i,{pending:!0,data:w,method:u.method,action:d},null,w)}}else typeof d=="function"&&(_.preventDefault(),w=v?qg(u,v):new FormData(u),ju(i,{pending:!0,data:w,method:u.method,action:d},d,w))},currentTarget:u}]})}}for(var fd=0;fd<Kc.length;fd++){var hd=Kc[fd],xx=hd.toLowerCase(),wx=hd[0].toUpperCase()+hd.slice(1);wn(xx,"on"+wx)}wn(bp,"onAnimationEnd"),wn(_p,"onAnimationIteration"),wn(Sp,"onAnimationStart"),wn("dblclick","onDoubleClick"),wn("focusin","onFocus"),wn("focusout","onBlur"),wn(US,"onTransitionRun"),wn(IS,"onTransitionStart"),wn(HS,"onTransitionCancel"),wn(xp,"onTransitionEnd"),Ri("onMouseEnter",["mouseout","mouseover"]),Ri("onMouseLeave",["mouseout","mouseover"]),Ri("onPointerEnter",["pointerout","pointerover"]),Ri("onPointerLeave",["pointerout","pointerover"]),ei("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),ei("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),ei("onBeforeInput",["compositionend","keypress","textInput","paste"]),ei("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),ei("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),ei("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var br="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(" "),Cx=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(br));function Bg(e,t){t=(t&4)!==0;for(var i=0;i<e.length;i++){var o=e[i],u=o.event;o=o.listeners;e:{var d=void 0;if(t)for(var v=o.length-1;0<=v;v--){var _=o[v],w=_.instance,P=_.currentTarget;if(_=_.listener,w!==d&&u.isPropagationStopped())break e;d=_,u.currentTarget=P;try{d(u)}catch(H){Mo(H)}u.currentTarget=null,d=w}else for(v=0;v<o.length;v++){if(_=o[v],w=_.instance,P=_.currentTarget,_=_.listener,w!==d&&u.isPropagationStopped())break e;d=_,u.currentTarget=P;try{d(u)}catch(H){Mo(H)}u.currentTarget=null,d=w}}}}function Ce(e,t){var i=t[Ac];i===void 0&&(i=t[Ac]=new Set);var o=e+"__bubble";i.has(o)||($g(t,e,2,!1),i.add(o))}function pd(e,t,i){var o=0;t&&(o|=4),$g(i,e,o,t)}var gl="_reactListening"+Math.random().toString(36).slice(2);function md(e){if(!e[gl]){e[gl]=!0,Fh.forEach(function(i){i!=="selectionchange"&&(Cx.has(i)||pd(i,!1,e),pd(i,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[gl]||(t[gl]=!0,pd("selectionchange",!1,t))}}function $g(e,t,i,o){switch(bv(t)){case 2:var u=Wx;break;case 8:u=Jx;break;default:u=Md}i=u.bind(null,t,i,e),u=void 0,!Oc||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(u=!0),o?u!==void 0?e.addEventListener(t,i,{capture:!0,passive:u}):e.addEventListener(t,i,!0):u!==void 0?e.addEventListener(t,i,{passive:u}):e.addEventListener(t,i,!1)}function gd(e,t,i,o,u){var d=o;if((t&1)===0&&(t&2)===0&&o!==null)e:for(;;){if(o===null)return;var v=o.tag;if(v===3||v===4){var _=o.stateNode.containerInfo;if(_===u)break;if(v===4)for(v=o.return;v!==null;){var w=v.tag;if((w===3||w===4)&&v.stateNode.containerInfo===u)return;v=v.return}for(;_!==null;){if(v=Ni(_),v===null)return;if(w=v.tag,w===5||w===6||w===26||w===27){o=d=v;continue e}_=_.parentNode}}o=o.return}Xh(function(){var P=d,H=Dc(i),G=[];e:{var O=wp.get(e);if(O!==void 0){var z=To,ne=e;switch(e){case"keypress":if(ko(i)===0)break e;case"keydown":case"keyup":z=vS;break;case"focusin":ne="focus",z=Uc;break;case"focusout":ne="blur",z=Uc;break;case"beforeblur":case"afterblur":z=Uc;break;case"click":if(i.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":z=Wh;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":z=sS;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":z=_S;break;case bp:case _p:case Sp:z=lS;break;case xp:z=xS;break;case"scroll":case"scrollend":z=aS;break;case"wheel":z=CS;break;case"copy":case"cut":case"paste":z=uS;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":z=ep;break;case"toggle":case"beforetoggle":z=AS}var de=(t&4)!==0,He=!de&&(e==="scroll"||e==="scrollend"),N=de?O!==null?O+"Capture":null:O;de=[];for(var T=P,R;T!==null;){var $=T;if(R=$.stateNode,$=$.tag,$!==5&&$!==26&&$!==27||R===null||N===null||($=Hs(T,N),$!=null&&de.push(_r(T,$,R))),He)break;T=T.return}0<de.length&&(O=new z(O,ne,null,i,H),G.push({event:O,listeners:de}))}}if((t&7)===0){e:{if(O=e==="mouseover"||e==="pointerover",z=e==="mouseout"||e==="pointerout",O&&i!==Rc&&(ne=i.relatedTarget||i.fromElement)&&(Ni(ne)||ne[Ei]))break e;if((z||O)&&(O=H.window===H?H:(O=H.ownerDocument)?O.defaultView||O.parentWindow:window,z?(ne=i.relatedTarget||i.toElement,z=P,ne=ne?Ni(ne):null,ne!==null&&(He=c(ne),de=ne.tag,ne!==He||de!==5&&de!==27&&de!==6)&&(ne=null)):(z=null,ne=P),z!==ne)){if(de=Wh,$="onMouseLeave",N="onMouseEnter",T="mouse",(e==="pointerout"||e==="pointerover")&&(de=ep,$="onPointerLeave",N="onPointerEnter",T="pointer"),He=z==null?O:Is(z),R=ne==null?O:Is(ne),O=new de($,T+"leave",z,i,H),O.target=He,O.relatedTarget=R,$=null,Ni(H)===P&&(de=new de(N,T+"enter",ne,i,H),de.target=R,de.relatedTarget=He,$=de),He=$,z&&ne)t:{for(de=kx,N=z,T=ne,R=0,$=N;$;$=de($))R++;$=0;for(var le=T;le;le=de(le))$++;for(;0<R-$;)N=de(N),R--;for(;0<$-R;)T=de(T),$--;for(;R--;){if(N===T||T!==null&&N===T.alternate){de=N;break t}N=de(N),T=de(T)}de=null}else de=null;z!==null&&Vg(G,O,z,de,!1),ne!==null&&He!==null&&Vg(G,He,ne,de,!0)}}e:{if(O=P?Is(P):window,z=O.nodeName&&O.nodeName.toLowerCase(),z==="select"||z==="input"&&O.type==="file")var Ne=lp;else if(rp(O))if(cp)Ne=LS;else{Ne=PS;var se=DS}else z=O.nodeName,!z||z.toLowerCase()!=="input"||O.type!=="checkbox"&&O.type!=="radio"?P&&jc(P.elementType)&&(Ne=lp):Ne=OS;if(Ne&&(Ne=Ne(e,P))){op(G,Ne,i,H);break e}se&&se(e,O,P),e==="focusout"&&P&&O.type==="number"&&P.memoizedProps.value!=null&&Mc(O,"number",O.value)}switch(se=P?Is(P):window,e){case"focusin":(rp(se)||se.contentEditable==="true")&&(zi=se,Vc=P,Xs=null);break;case"focusout":Xs=Vc=zi=null;break;case"mousedown":Gc=!0;break;case"contextmenu":case"mouseup":case"dragend":Gc=!1,vp(G,i,H);break;case"selectionchange":if(zS)break;case"keydown":case"keyup":vp(G,i,H)}var ve;if(Hc)e:{switch(e){case"compositionstart":var Te="onCompositionStart";break e;case"compositionend":Te="onCompositionEnd";break e;case"compositionupdate":Te="onCompositionUpdate";break e}Te=void 0}else Fi?ip(e,i)&&(Te="onCompositionEnd"):e==="keydown"&&i.keyCode===229&&(Te="onCompositionStart");Te&&(tp&&i.locale!=="ko"&&(Fi||Te!=="onCompositionStart"?Te==="onCompositionEnd"&&Fi&&(ve=Qh()):(ba=H,Lc="value"in ba?ba.value:ba.textContent,Fi=!0)),se=vl(P,Te),0<se.length&&(Te=new Jh(Te,e,null,i,H),G.push({event:Te,listeners:se}),ve?Te.data=ve:(ve=sp(i),ve!==null&&(Te.data=ve)))),(ve=ES?NS(e,i):MS(e,i))&&(Te=vl(P,"onBeforeInput"),0<Te.length&&(se=new Jh("onBeforeInput","beforeinput",null,i,H),G.push({event:se,listeners:Te}),se.data=ve)),Sx(G,e,P,i,H)}Bg(G,t)})}function _r(e,t,i){return{instance:e,listener:t,currentTarget:i}}function vl(e,t){for(var i=t+"Capture",o=[];e!==null;){var u=e,d=u.stateNode;if(u=u.tag,u!==5&&u!==26&&u!==27||d===null||(u=Hs(e,i),u!=null&&o.unshift(_r(e,u,d)),u=Hs(e,t),u!=null&&o.push(_r(e,u,d))),e.tag===3)return o;e=e.return}return[]}function kx(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Vg(e,t,i,o,u){for(var d=t._reactName,v=[];i!==null&&i!==o;){var _=i,w=_.alternate,P=_.stateNode;if(_=_.tag,w!==null&&w===o)break;_!==5&&_!==26&&_!==27||P===null||(w=P,u?(P=Hs(i,d),P!=null&&v.unshift(_r(i,P,w))):u||(P=Hs(i,d),P!=null&&v.push(_r(i,P,w)))),i=i.return}v.length!==0&&e.push({event:t,listeners:v})}var Ax=/\r\n?/g,Tx=/\u0000|\uFFFD/g;function Gg(e){return(typeof e=="string"?e:""+e).replace(Ax,`
34
+ `).replace(Tx,"")}function Yg(e,t){return t=Gg(t),Gg(e)===t}function Ie(e,t,i,o,u,d){switch(i){case"children":typeof o=="string"?t==="body"||t==="textarea"&&o===""||Pi(e,o):(typeof o=="number"||typeof o=="bigint")&&t!=="body"&&Pi(e,""+o);break;case"className":So(e,"class",o);break;case"tabIndex":So(e,"tabindex",o);break;case"dir":case"role":case"viewBox":case"width":case"height":So(e,i,o);break;case"style":Yh(e,o,d);break;case"data":if(t!=="object"){So(e,"data",o);break}case"src":case"href":if(o===""&&(t!=="a"||i!=="href")){e.removeAttribute(i);break}if(o==null||typeof o=="function"||typeof o=="symbol"||typeof o=="boolean"){e.removeAttribute(i);break}o=wo(""+o),e.setAttribute(i,o);break;case"action":case"formAction":if(typeof o=="function"){e.setAttribute(i,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof d=="function"&&(i==="formAction"?(t!=="input"&&Ie(e,t,"name",u.name,u,null),Ie(e,t,"formEncType",u.formEncType,u,null),Ie(e,t,"formMethod",u.formMethod,u,null),Ie(e,t,"formTarget",u.formTarget,u,null)):(Ie(e,t,"encType",u.encType,u,null),Ie(e,t,"method",u.method,u,null),Ie(e,t,"target",u.target,u,null)));if(o==null||typeof o=="symbol"||typeof o=="boolean"){e.removeAttribute(i);break}o=wo(""+o),e.setAttribute(i,o);break;case"onClick":o!=null&&(e.onclick=Hn);break;case"onScroll":o!=null&&Ce("scroll",e);break;case"onScrollEnd":o!=null&&Ce("scrollend",e);break;case"dangerouslySetInnerHTML":if(o!=null){if(typeof o!="object"||!("__html"in o))throw Error(r(61));if(i=o.__html,i!=null){if(u.children!=null)throw Error(r(60));e.innerHTML=i}}break;case"multiple":e.multiple=o&&typeof o!="function"&&typeof o!="symbol";break;case"muted":e.muted=o&&typeof o!="function"&&typeof o!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(o==null||typeof o=="function"||typeof o=="boolean"||typeof o=="symbol"){e.removeAttribute("xlink:href");break}i=wo(""+o),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",i);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":o!=null&&typeof o!="function"&&typeof o!="symbol"?e.setAttribute(i,""+o):e.removeAttribute(i);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":o&&typeof o!="function"&&typeof o!="symbol"?e.setAttribute(i,""):e.removeAttribute(i);break;case"capture":case"download":o===!0?e.setAttribute(i,""):o!==!1&&o!=null&&typeof o!="function"&&typeof o!="symbol"?e.setAttribute(i,o):e.removeAttribute(i);break;case"cols":case"rows":case"size":case"span":o!=null&&typeof o!="function"&&typeof o!="symbol"&&!isNaN(o)&&1<=o?e.setAttribute(i,o):e.removeAttribute(i);break;case"rowSpan":case"start":o==null||typeof o=="function"||typeof o=="symbol"||isNaN(o)?e.removeAttribute(i):e.setAttribute(i,o);break;case"popover":Ce("beforetoggle",e),Ce("toggle",e),_o(e,"popover",o);break;case"xlinkActuate":In(e,"http://www.w3.org/1999/xlink","xlink:actuate",o);break;case"xlinkArcrole":In(e,"http://www.w3.org/1999/xlink","xlink:arcrole",o);break;case"xlinkRole":In(e,"http://www.w3.org/1999/xlink","xlink:role",o);break;case"xlinkShow":In(e,"http://www.w3.org/1999/xlink","xlink:show",o);break;case"xlinkTitle":In(e,"http://www.w3.org/1999/xlink","xlink:title",o);break;case"xlinkType":In(e,"http://www.w3.org/1999/xlink","xlink:type",o);break;case"xmlBase":In(e,"http://www.w3.org/XML/1998/namespace","xml:base",o);break;case"xmlLang":In(e,"http://www.w3.org/XML/1998/namespace","xml:lang",o);break;case"xmlSpace":In(e,"http://www.w3.org/XML/1998/namespace","xml:space",o);break;case"is":_o(e,"is",o);break;case"innerText":case"textContent":break;default:(!(2<i.length)||i[0]!=="o"&&i[0]!=="O"||i[1]!=="n"&&i[1]!=="N")&&(i=tS.get(i)||i,_o(e,i,o))}}function vd(e,t,i,o,u,d){switch(i){case"style":Yh(e,o,d);break;case"dangerouslySetInnerHTML":if(o!=null){if(typeof o!="object"||!("__html"in o))throw Error(r(61));if(i=o.__html,i!=null){if(u.children!=null)throw Error(r(60));e.innerHTML=i}}break;case"children":typeof o=="string"?Pi(e,o):(typeof o=="number"||typeof o=="bigint")&&Pi(e,""+o);break;case"onScroll":o!=null&&Ce("scroll",e);break;case"onScrollEnd":o!=null&&Ce("scrollend",e);break;case"onClick":o!=null&&(e.onclick=Hn);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!zh.hasOwnProperty(i))e:{if(i[0]==="o"&&i[1]==="n"&&(u=i.endsWith("Capture"),t=i.slice(2,u?i.length-7:void 0),d=e[Dt]||null,d=d!=null?d[i]:null,typeof d=="function"&&e.removeEventListener(t,d,u),typeof o=="function")){typeof d!="function"&&d!==null&&(i in e?e[i]=null:e.hasAttribute(i)&&e.removeAttribute(i)),e.addEventListener(t,o,u);break e}i in e?e[i]=o:o===!0?e.setAttribute(i,""):_o(e,i,o)}}}function Ct(e,t,i){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Ce("error",e),Ce("load",e);var o=!1,u=!1,d;for(d in i)if(i.hasOwnProperty(d)){var v=i[d];if(v!=null)switch(d){case"src":o=!0;break;case"srcSet":u=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(r(137,t));default:Ie(e,t,d,v,i,null)}}u&&Ie(e,t,"srcSet",i.srcSet,i,null),o&&Ie(e,t,"src",i.src,i,null);return;case"input":Ce("invalid",e);var _=d=v=u=null,w=null,P=null;for(o in i)if(i.hasOwnProperty(o)){var H=i[o];if(H!=null)switch(o){case"name":u=H;break;case"type":v=H;break;case"checked":w=H;break;case"defaultChecked":P=H;break;case"value":d=H;break;case"defaultValue":_=H;break;case"children":case"dangerouslySetInnerHTML":if(H!=null)throw Error(r(137,t));break;default:Ie(e,t,o,H,i,null)}}Bh(e,d,_,w,P,v,u,!1);return;case"select":Ce("invalid",e),o=v=d=null;for(u in i)if(i.hasOwnProperty(u)&&(_=i[u],_!=null))switch(u){case"value":d=_;break;case"defaultValue":v=_;break;case"multiple":o=_;default:Ie(e,t,u,_,i,null)}t=d,i=v,e.multiple=!!o,t!=null?Di(e,!!o,t,!1):i!=null&&Di(e,!!o,i,!0);return;case"textarea":Ce("invalid",e),d=u=o=null;for(v in i)if(i.hasOwnProperty(v)&&(_=i[v],_!=null))switch(v){case"value":o=_;break;case"defaultValue":u=_;break;case"children":d=_;break;case"dangerouslySetInnerHTML":if(_!=null)throw Error(r(91));break;default:Ie(e,t,v,_,i,null)}Vh(e,o,u,d);return;case"option":for(w in i)if(i.hasOwnProperty(w)&&(o=i[w],o!=null))switch(w){case"selected":e.selected=o&&typeof o!="function"&&typeof o!="symbol";break;default:Ie(e,t,w,o,i,null)}return;case"dialog":Ce("beforetoggle",e),Ce("toggle",e),Ce("cancel",e),Ce("close",e);break;case"iframe":case"object":Ce("load",e);break;case"video":case"audio":for(o=0;o<br.length;o++)Ce(br[o],e);break;case"image":Ce("error",e),Ce("load",e);break;case"details":Ce("toggle",e);break;case"embed":case"source":case"link":Ce("error",e),Ce("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(P in i)if(i.hasOwnProperty(P)&&(o=i[P],o!=null))switch(P){case"children":case"dangerouslySetInnerHTML":throw Error(r(137,t));default:Ie(e,t,P,o,i,null)}return;default:if(jc(t)){for(H in i)i.hasOwnProperty(H)&&(o=i[H],o!==void 0&&vd(e,t,H,o,i,void 0));return}}for(_ in i)i.hasOwnProperty(_)&&(o=i[_],o!=null&&Ie(e,t,_,o,i,null))}function Ex(e,t,i,o){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var u=null,d=null,v=null,_=null,w=null,P=null,H=null;for(z in i){var G=i[z];if(i.hasOwnProperty(z)&&G!=null)switch(z){case"checked":break;case"value":break;case"defaultValue":w=G;default:o.hasOwnProperty(z)||Ie(e,t,z,null,o,G)}}for(var O in o){var z=o[O];if(G=i[O],o.hasOwnProperty(O)&&(z!=null||G!=null))switch(O){case"type":d=z;break;case"name":u=z;break;case"checked":P=z;break;case"defaultChecked":H=z;break;case"value":v=z;break;case"defaultValue":_=z;break;case"children":case"dangerouslySetInnerHTML":if(z!=null)throw Error(r(137,t));break;default:z!==G&&Ie(e,t,O,z,o,G)}}Nc(e,v,_,w,P,H,d,u);return;case"select":z=v=_=O=null;for(d in i)if(w=i[d],i.hasOwnProperty(d)&&w!=null)switch(d){case"value":break;case"multiple":z=w;default:o.hasOwnProperty(d)||Ie(e,t,d,null,o,w)}for(u in o)if(d=o[u],w=i[u],o.hasOwnProperty(u)&&(d!=null||w!=null))switch(u){case"value":O=d;break;case"defaultValue":_=d;break;case"multiple":v=d;default:d!==w&&Ie(e,t,u,d,o,w)}t=_,i=v,o=z,O!=null?Di(e,!!i,O,!1):!!o!=!!i&&(t!=null?Di(e,!!i,t,!0):Di(e,!!i,i?[]:"",!1));return;case"textarea":z=O=null;for(_ in i)if(u=i[_],i.hasOwnProperty(_)&&u!=null&&!o.hasOwnProperty(_))switch(_){case"value":break;case"children":break;default:Ie(e,t,_,null,o,u)}for(v in o)if(u=o[v],d=i[v],o.hasOwnProperty(v)&&(u!=null||d!=null))switch(v){case"value":O=u;break;case"defaultValue":z=u;break;case"children":break;case"dangerouslySetInnerHTML":if(u!=null)throw Error(r(91));break;default:u!==d&&Ie(e,t,v,u,o,d)}$h(e,O,z);return;case"option":for(var ne in i)if(O=i[ne],i.hasOwnProperty(ne)&&O!=null&&!o.hasOwnProperty(ne))switch(ne){case"selected":e.selected=!1;break;default:Ie(e,t,ne,null,o,O)}for(w in o)if(O=o[w],z=i[w],o.hasOwnProperty(w)&&O!==z&&(O!=null||z!=null))switch(w){case"selected":e.selected=O&&typeof O!="function"&&typeof O!="symbol";break;default:Ie(e,t,w,O,o,z)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var de in i)O=i[de],i.hasOwnProperty(de)&&O!=null&&!o.hasOwnProperty(de)&&Ie(e,t,de,null,o,O);for(P in o)if(O=o[P],z=i[P],o.hasOwnProperty(P)&&O!==z&&(O!=null||z!=null))switch(P){case"children":case"dangerouslySetInnerHTML":if(O!=null)throw Error(r(137,t));break;default:Ie(e,t,P,O,o,z)}return;default:if(jc(t)){for(var He in i)O=i[He],i.hasOwnProperty(He)&&O!==void 0&&!o.hasOwnProperty(He)&&vd(e,t,He,void 0,o,O);for(H in o)O=o[H],z=i[H],!o.hasOwnProperty(H)||O===z||O===void 0&&z===void 0||vd(e,t,H,O,o,z);return}}for(var N in i)O=i[N],i.hasOwnProperty(N)&&O!=null&&!o.hasOwnProperty(N)&&Ie(e,t,N,null,o,O);for(G in o)O=o[G],z=i[G],!o.hasOwnProperty(G)||O===z||O==null&&z==null||Ie(e,t,G,O,o,z)}function Kg(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Nx(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,i=performance.getEntriesByType("resource"),o=0;o<i.length;o++){var u=i[o],d=u.transferSize,v=u.initiatorType,_=u.duration;if(d&&_&&Kg(v)){for(v=0,_=u.responseEnd,o+=1;o<i.length;o++){var w=i[o],P=w.startTime;if(P>_)break;var H=w.transferSize,G=w.initiatorType;H&&Kg(G)&&(w=w.responseEnd,v+=H*(w<_?1:(_-P)/(w-P)))}if(--o,t+=8*(d+v)/(u.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var yd=null,bd=null;function yl(e){return e.nodeType===9?e:e.ownerDocument}function Xg(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Qg(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function _d(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Sd=null;function Mx(){var e=window.event;return e&&e.type==="popstate"?e===Sd?!1:(Sd=e,!0):(Sd=null,!1)}var Zg=typeof setTimeout=="function"?setTimeout:void 0,jx=typeof clearTimeout=="function"?clearTimeout:void 0,Wg=typeof Promise=="function"?Promise:void 0,Rx=typeof queueMicrotask=="function"?queueMicrotask:typeof Wg<"u"?function(e){return Wg.resolve(null).then(e).catch(Dx)}:Zg;function Dx(e){setTimeout(function(){throw e})}function La(e){return e==="head"}function Jg(e,t){var i=t,o=0;do{var u=i.nextSibling;if(e.removeChild(i),u&&u.nodeType===8)if(i=u.data,i==="/$"||i==="/&"){if(o===0){e.removeChild(u),ds(t);return}o--}else if(i==="$"||i==="$?"||i==="$~"||i==="$!"||i==="&")o++;else if(i==="html")Sr(e.ownerDocument.documentElement);else if(i==="head"){i=e.ownerDocument.head,Sr(i);for(var d=i.firstChild;d;){var v=d.nextSibling,_=d.nodeName;d[Us]||_==="SCRIPT"||_==="STYLE"||_==="LINK"&&d.rel.toLowerCase()==="stylesheet"||i.removeChild(d),d=v}}else i==="body"&&Sr(e.ownerDocument.body);i=u}while(i);ds(t)}function ev(e,t){var i=e;e=0;do{var o=i.nextSibling;if(i.nodeType===1?t?(i._stashedDisplay=i.style.display,i.style.display="none"):(i.style.display=i._stashedDisplay||"",i.getAttribute("style")===""&&i.removeAttribute("style")):i.nodeType===3&&(t?(i._stashedText=i.nodeValue,i.nodeValue=""):i.nodeValue=i._stashedText||""),o&&o.nodeType===8)if(i=o.data,i==="/$"){if(e===0)break;e--}else i!=="$"&&i!=="$?"&&i!=="$~"&&i!=="$!"||e++;i=o}while(i)}function xd(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var i=t;switch(t=t.nextSibling,i.nodeName){case"HTML":case"HEAD":case"BODY":xd(i),Tc(i);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(i.rel.toLowerCase()==="stylesheet")continue}e.removeChild(i)}}function Px(e,t,i,o){for(;e.nodeType===1;){var u=i;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!o&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(o){if(!e[Us])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(d=e.getAttribute("rel"),d==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(d!==u.rel||e.getAttribute("href")!==(u.href==null||u.href===""?null:u.href)||e.getAttribute("crossorigin")!==(u.crossOrigin==null?null:u.crossOrigin)||e.getAttribute("title")!==(u.title==null?null:u.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(d=e.getAttribute("src"),(d!==(u.src==null?null:u.src)||e.getAttribute("type")!==(u.type==null?null:u.type)||e.getAttribute("crossorigin")!==(u.crossOrigin==null?null:u.crossOrigin))&&d&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var d=u.name==null?null:""+u.name;if(u.type==="hidden"&&e.getAttribute("name")===d)return e}else return e;if(e=mn(e.nextSibling),e===null)break}return null}function Ox(e,t,i){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!i||(e=mn(e.nextSibling),e===null))return null;return e}function tv(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=mn(e.nextSibling),e===null))return null;return e}function wd(e){return e.data==="$?"||e.data==="$~"}function Cd(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function Lx(e,t){var i=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||i.readyState!=="loading")t();else{var o=function(){t(),i.removeEventListener("DOMContentLoaded",o)};i.addEventListener("DOMContentLoaded",o),e._reactRetry=o}}function mn(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==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var kd=null;function nv(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var i=e.data;if(i==="/$"||i==="/&"){if(t===0)return mn(e.nextSibling);t--}else i!=="$"&&i!=="$!"&&i!=="$?"&&i!=="$~"&&i!=="&"||t++}e=e.nextSibling}return null}function av(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var i=e.data;if(i==="$"||i==="$!"||i==="$?"||i==="$~"||i==="&"){if(t===0)return e;t--}else i!=="/$"&&i!=="/&"||t++}e=e.previousSibling}return null}function iv(e,t,i){switch(t=yl(i),e){case"html":if(e=t.documentElement,!e)throw Error(r(452));return e;case"head":if(e=t.head,!e)throw Error(r(453));return e;case"body":if(e=t.body,!e)throw Error(r(454));return e;default:throw Error(r(451))}}function Sr(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Tc(e)}var gn=new Map,sv=new Set;function bl(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var aa=K.d;K.d={f:Fx,r:zx,D:Ux,C:Ix,L:Hx,m:qx,X:$x,S:Bx,M:Vx};function Fx(){var e=aa.f(),t=ul();return e||t}function zx(e){var t=Mi(e);t!==null&&t.tag===5&&t.type==="form"?xm(t):aa.r(e)}var ls=typeof document>"u"?null:document;function rv(e,t,i){var o=ls;if(o&&typeof t=="string"&&t){var u=ln(t);u='link[rel="'+e+'"][href="'+u+'"]',typeof i=="string"&&(u+='[crossorigin="'+i+'"]'),sv.has(u)||(sv.add(u),e={rel:e,crossOrigin:i,href:t},o.querySelector(u)===null&&(t=o.createElement("link"),Ct(t,"link",e),gt(t),o.head.appendChild(t)))}}function Ux(e){aa.D(e),rv("dns-prefetch",e,null)}function Ix(e,t){aa.C(e,t),rv("preconnect",e,t)}function Hx(e,t,i){aa.L(e,t,i);var o=ls;if(o&&e&&t){var u='link[rel="preload"][as="'+ln(t)+'"]';t==="image"&&i&&i.imageSrcSet?(u+='[imagesrcset="'+ln(i.imageSrcSet)+'"]',typeof i.imageSizes=="string"&&(u+='[imagesizes="'+ln(i.imageSizes)+'"]')):u+='[href="'+ln(e)+'"]';var d=u;switch(t){case"style":d=cs(e);break;case"script":d=us(e)}gn.has(d)||(e=b({rel:"preload",href:t==="image"&&i&&i.imageSrcSet?void 0:e,as:t},i),gn.set(d,e),o.querySelector(u)!==null||t==="style"&&o.querySelector(xr(d))||t==="script"&&o.querySelector(wr(d))||(t=o.createElement("link"),Ct(t,"link",e),gt(t),o.head.appendChild(t)))}}function qx(e,t){aa.m(e,t);var i=ls;if(i&&e){var o=t&&typeof t.as=="string"?t.as:"script",u='link[rel="modulepreload"][as="'+ln(o)+'"][href="'+ln(e)+'"]',d=u;switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":d=us(e)}if(!gn.has(d)&&(e=b({rel:"modulepreload",href:e},t),gn.set(d,e),i.querySelector(u)===null)){switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(i.querySelector(wr(d)))return}o=i.createElement("link"),Ct(o,"link",e),gt(o),i.head.appendChild(o)}}}function Bx(e,t,i){aa.S(e,t,i);var o=ls;if(o&&e){var u=ji(o).hoistableStyles,d=cs(e);t=t||"default";var v=u.get(d);if(!v){var _={loading:0,preload:null};if(v=o.querySelector(xr(d)))_.loading=5;else{e=b({rel:"stylesheet",href:e,"data-precedence":t},i),(i=gn.get(d))&&Ad(e,i);var w=v=o.createElement("link");gt(w),Ct(w,"link",e),w._p=new Promise(function(P,H){w.onload=P,w.onerror=H}),w.addEventListener("load",function(){_.loading|=1}),w.addEventListener("error",function(){_.loading|=2}),_.loading|=4,_l(v,t,o)}v={type:"stylesheet",instance:v,count:1,state:_},u.set(d,v)}}}function $x(e,t){aa.X(e,t);var i=ls;if(i&&e){var o=ji(i).hoistableScripts,u=us(e),d=o.get(u);d||(d=i.querySelector(wr(u)),d||(e=b({src:e,async:!0},t),(t=gn.get(u))&&Td(e,t),d=i.createElement("script"),gt(d),Ct(d,"link",e),i.head.appendChild(d)),d={type:"script",instance:d,count:1,state:null},o.set(u,d))}}function Vx(e,t){aa.M(e,t);var i=ls;if(i&&e){var o=ji(i).hoistableScripts,u=us(e),d=o.get(u);d||(d=i.querySelector(wr(u)),d||(e=b({src:e,async:!0,type:"module"},t),(t=gn.get(u))&&Td(e,t),d=i.createElement("script"),gt(d),Ct(d,"link",e),i.head.appendChild(d)),d={type:"script",instance:d,count:1,state:null},o.set(u,d))}}function ov(e,t,i,o){var u=(u=et.current)?bl(u):null;if(!u)throw Error(r(446));switch(e){case"meta":case"title":return null;case"style":return typeof i.precedence=="string"&&typeof i.href=="string"?(t=cs(i.href),i=ji(u).hoistableStyles,o=i.get(t),o||(o={type:"style",instance:null,count:0,state:null},i.set(t,o)),o):{type:"void",instance:null,count:0,state:null};case"link":if(i.rel==="stylesheet"&&typeof i.href=="string"&&typeof i.precedence=="string"){e=cs(i.href);var d=ji(u).hoistableStyles,v=d.get(e);if(v||(u=u.ownerDocument||u,v={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},d.set(e,v),(d=u.querySelector(xr(e)))&&!d._p&&(v.instance=d,v.state.loading=5),gn.has(e)||(i={rel:"preload",as:"style",href:i.href,crossOrigin:i.crossOrigin,integrity:i.integrity,media:i.media,hrefLang:i.hrefLang,referrerPolicy:i.referrerPolicy},gn.set(e,i),d||Gx(u,e,i,v.state))),t&&o===null)throw Error(r(528,""));return v}if(t&&o!==null)throw Error(r(529,""));return null;case"script":return t=i.async,i=i.src,typeof i=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=us(i),i=ji(u).hoistableScripts,o=i.get(t),o||(o={type:"script",instance:null,count:0,state:null},i.set(t,o)),o):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,e))}}function cs(e){return'href="'+ln(e)+'"'}function xr(e){return'link[rel="stylesheet"]['+e+"]"}function lv(e){return b({},e,{"data-precedence":e.precedence,precedence:null})}function Gx(e,t,i,o){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?o.loading=1:(t=e.createElement("link"),o.preload=t,t.addEventListener("load",function(){return o.loading|=1}),t.addEventListener("error",function(){return o.loading|=2}),Ct(t,"link",i),gt(t),e.head.appendChild(t))}function us(e){return'[src="'+ln(e)+'"]'}function wr(e){return"script[async]"+e}function cv(e,t,i){if(t.count++,t.instance===null)switch(t.type){case"style":var o=e.querySelector('style[data-href~="'+ln(i.href)+'"]');if(o)return t.instance=o,gt(o),o;var u=b({},i,{"data-href":i.href,"data-precedence":i.precedence,href:null,precedence:null});return o=(e.ownerDocument||e).createElement("style"),gt(o),Ct(o,"style",u),_l(o,i.precedence,e),t.instance=o;case"stylesheet":u=cs(i.href);var d=e.querySelector(xr(u));if(d)return t.state.loading|=4,t.instance=d,gt(d),d;o=lv(i),(u=gn.get(u))&&Ad(o,u),d=(e.ownerDocument||e).createElement("link"),gt(d);var v=d;return v._p=new Promise(function(_,w){v.onload=_,v.onerror=w}),Ct(d,"link",o),t.state.loading|=4,_l(d,i.precedence,e),t.instance=d;case"script":return d=us(i.src),(u=e.querySelector(wr(d)))?(t.instance=u,gt(u),u):(o=i,(u=gn.get(d))&&(o=b({},i),Td(o,u)),e=e.ownerDocument||e,u=e.createElement("script"),gt(u),Ct(u,"link",o),e.head.appendChild(u),t.instance=u);case"void":return null;default:throw Error(r(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(o=t.instance,t.state.loading|=4,_l(o,i.precedence,e));return t.instance}function _l(e,t,i){for(var o=i.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),u=o.length?o[o.length-1]:null,d=u,v=0;v<o.length;v++){var _=o[v];if(_.dataset.precedence===t)d=_;else if(d!==u)break}d?d.parentNode.insertBefore(e,d.nextSibling):(t=i.nodeType===9?i.head:i,t.insertBefore(e,t.firstChild))}function Ad(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function Td(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Sl=null;function uv(e,t,i){if(Sl===null){var o=new Map,u=Sl=new Map;u.set(i,o)}else u=Sl,o=u.get(i),o||(o=new Map,u.set(i,o));if(o.has(e))return o;for(o.set(e,null),i=i.getElementsByTagName(e),u=0;u<i.length;u++){var d=i[u];if(!(d[Us]||d[_t]||e==="link"&&d.getAttribute("rel")==="stylesheet")&&d.namespaceURI!=="http://www.w3.org/2000/svg"){var v=d.getAttribute(t)||"";v=e+v;var _=o.get(v);_?_.push(d):o.set(v,[d])}}return o}function dv(e,t,i){e=e.ownerDocument||e,e.head.insertBefore(i,t==="title"?e.querySelector("head > title"):null)}function Yx(e,t,i){if(i===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function fv(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Kx(e,t,i,o){if(i.type==="stylesheet"&&(typeof o.media!="string"||matchMedia(o.media).matches!==!1)&&(i.state.loading&4)===0){if(i.instance===null){var u=cs(o.href),d=t.querySelector(xr(u));if(d){t=d._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=xl.bind(e),t.then(e,e)),i.state.loading|=4,i.instance=d,gt(d);return}d=t.ownerDocument||t,o=lv(o),(u=gn.get(u))&&Ad(o,u),d=d.createElement("link"),gt(d);var v=d;v._p=new Promise(function(_,w){v.onload=_,v.onerror=w}),Ct(d,"link",o),i.instance=d}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(i,t),(t=i.state.preload)&&(i.state.loading&3)===0&&(e.count++,i=xl.bind(e),t.addEventListener("load",i),t.addEventListener("error",i))}}var Ed=0;function Xx(e,t){return e.stylesheets&&e.count===0&&Cl(e,e.stylesheets),0<e.count||0<e.imgCount?function(i){var o=setTimeout(function(){if(e.stylesheets&&Cl(e,e.stylesheets),e.unsuspend){var d=e.unsuspend;e.unsuspend=null,d()}},6e4+t);0<e.imgBytes&&Ed===0&&(Ed=62500*Nx());var u=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Cl(e,e.stylesheets),e.unsuspend)){var d=e.unsuspend;e.unsuspend=null,d()}},(e.imgBytes>Ed?50:800)+t);return e.unsuspend=i,function(){e.unsuspend=null,clearTimeout(o),clearTimeout(u)}}:null}function xl(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Cl(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var wl=null;function Cl(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,wl=new Map,t.forEach(Qx,e),wl=null,xl.call(e))}function Qx(e,t){if(!(t.state.loading&4)){var i=wl.get(e);if(i)var o=i.get(null);else{i=new Map,wl.set(e,i);for(var u=e.querySelectorAll("link[data-precedence],style[data-precedence]"),d=0;d<u.length;d++){var v=u[d];(v.nodeName==="LINK"||v.getAttribute("media")!=="not all")&&(i.set(v.dataset.precedence,v),o=v)}o&&i.set(null,o)}u=t.instance,v=u.getAttribute("data-precedence"),d=i.get(v)||o,d===o&&i.set(null,u),i.set(v,u),this.count++,o=xl.bind(this),u.addEventListener("load",o),u.addEventListener("error",o),d?d.parentNode.insertBefore(u,d.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(u,e.firstChild)),t.state.loading|=4}}var Cr={$$typeof:D,Provider:null,Consumer:null,_currentValue:Y,_currentValue2:Y,_threadCount:0};function Zx(e,t,i,o,u,d,v,_,w){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=wc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=wc(0),this.hiddenUpdates=wc(null),this.identifierPrefix=o,this.onUncaughtError=u,this.onCaughtError=d,this.onRecoverableError=v,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=w,this.incompleteTransitions=new Map}function hv(e,t,i,o,u,d,v,_,w,P,H,G){return e=new Zx(e,t,i,v,w,P,H,G,_),t=1,d===!0&&(t|=24),d=Xt(3,null,null,t),e.current=d,d.stateNode=e,t=ou(),t.refCount++,e.pooledCache=t,t.refCount++,d.memoizedState={element:o,isDehydrated:i,cache:t},du(d),e}function pv(e){return e?(e=Hi,e):Hi}function mv(e,t,i,o,u,d){u=pv(u),o.context===null?o.context=u:o.pendingContext=u,o=ka(t),o.payload={element:i},d=d===void 0?null:d,d!==null&&(o.callback=d),i=Aa(e,o,t),i!==null&&(Ut(i,e,t),nr(i,e,t))}function gv(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var i=e.retryLane;e.retryLane=i!==0&&i<t?i:t}}function Nd(e,t){gv(e,t),(e=e.alternate)&&gv(e,t)}function vv(e){if(e.tag===13||e.tag===31){var t=ii(e,67108864);t!==null&&Ut(t,e,67108864),Nd(e,67108864)}}function yv(e){if(e.tag===13||e.tag===31){var t=en();t=Cc(t);var i=ii(e,t);i!==null&&Ut(i,e,t),Nd(e,t)}}var kl=!0;function Wx(e,t,i,o){var u=F.T;F.T=null;var d=K.p;try{K.p=2,Md(e,t,i,o)}finally{K.p=d,F.T=u}}function Jx(e,t,i,o){var u=F.T;F.T=null;var d=K.p;try{K.p=8,Md(e,t,i,o)}finally{K.p=d,F.T=u}}function Md(e,t,i,o){if(kl){var u=jd(o);if(u===null)gd(e,t,o,Al,i),_v(e,o);else if(tw(u,e,t,i,o))o.stopPropagation();else if(_v(e,o),t&4&&-1<ew.indexOf(e)){for(;u!==null;){var d=Mi(u);if(d!==null)switch(d.tag){case 3:if(d=d.stateNode,d.current.memoizedState.isDehydrated){var v=Ja(d.pendingLanes);if(v!==0){var _=d;for(_.pendingLanes|=2,_.entangledLanes|=2;v;){var w=1<<31-Yt(v);_.entanglements[1]|=w,v&=~w}Pn(d),(je&6)===0&&(ll=Vt()+500,yr(0))}}break;case 31:case 13:_=ii(d,2),_!==null&&Ut(_,d,2),ul(),Nd(d,2)}if(d=jd(o),d===null&&gd(e,t,o,Al,i),d===u)break;u=d}u!==null&&o.stopPropagation()}else gd(e,t,o,null,i)}}function jd(e){return e=Dc(e),Rd(e)}var Al=null;function Rd(e){if(Al=null,e=Ni(e),e!==null){var t=c(e);if(t===null)e=null;else{var i=t.tag;if(i===13){if(e=f(t),e!==null)return e;e=null}else if(i===31){if(e=h(t),e!==null)return e;e=null}else if(i===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Al=e,null}function bv(e){switch(e){case"beforetoggle":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"toggle":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 2;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"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(U_()){case Th:return 2;case Eh:return 8;case mo:case I_:return 32;case Nh:return 268435456;default:return 32}default:return 32}}var Dd=!1,Fa=null,za=null,Ua=null,kr=new Map,Ar=new Map,Ia=[],ew="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".split(" ");function _v(e,t){switch(e){case"focusin":case"focusout":Fa=null;break;case"dragenter":case"dragleave":za=null;break;case"mouseover":case"mouseout":Ua=null;break;case"pointerover":case"pointerout":kr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ar.delete(t.pointerId)}}function Tr(e,t,i,o,u,d){return e===null||e.nativeEvent!==d?(e={blockedOn:t,domEventName:i,eventSystemFlags:o,nativeEvent:d,targetContainers:[u]},t!==null&&(t=Mi(t),t!==null&&vv(t)),e):(e.eventSystemFlags|=o,t=e.targetContainers,u!==null&&t.indexOf(u)===-1&&t.push(u),e)}function tw(e,t,i,o,u){switch(t){case"focusin":return Fa=Tr(Fa,e,t,i,o,u),!0;case"dragenter":return za=Tr(za,e,t,i,o,u),!0;case"mouseover":return Ua=Tr(Ua,e,t,i,o,u),!0;case"pointerover":var d=u.pointerId;return kr.set(d,Tr(kr.get(d)||null,e,t,i,o,u)),!0;case"gotpointercapture":return d=u.pointerId,Ar.set(d,Tr(Ar.get(d)||null,e,t,i,o,u)),!0}return!1}function Sv(e){var t=Ni(e.target);if(t!==null){var i=c(t);if(i!==null){if(t=i.tag,t===13){if(t=f(i),t!==null){e.blockedOn=t,Oh(e.priority,function(){yv(i)});return}}else if(t===31){if(t=h(i),t!==null){e.blockedOn=t,Oh(e.priority,function(){yv(i)});return}}else if(t===3&&i.stateNode.current.memoizedState.isDehydrated){e.blockedOn=i.tag===3?i.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Tl(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var i=jd(e.nativeEvent);if(i===null){i=e.nativeEvent;var o=new i.constructor(i.type,i);Rc=o,i.target.dispatchEvent(o),Rc=null}else return t=Mi(i),t!==null&&vv(t),e.blockedOn=i,!1;t.shift()}return!0}function xv(e,t,i){Tl(e)&&i.delete(t)}function nw(){Dd=!1,Fa!==null&&Tl(Fa)&&(Fa=null),za!==null&&Tl(za)&&(za=null),Ua!==null&&Tl(Ua)&&(Ua=null),kr.forEach(xv),Ar.forEach(xv)}function El(e,t){e.blockedOn===t&&(e.blockedOn=null,Dd||(Dd=!0,s.unstable_scheduleCallback(s.unstable_NormalPriority,nw)))}var Nl=null;function wv(e){Nl!==e&&(Nl=e,s.unstable_scheduleCallback(s.unstable_NormalPriority,function(){Nl===e&&(Nl=null);for(var t=0;t<e.length;t+=3){var i=e[t],o=e[t+1],u=e[t+2];if(typeof o!="function"){if(Rd(o||i)===null)continue;break}var d=Mi(i);d!==null&&(e.splice(t,3),t-=3,ju(d,{pending:!0,data:u,method:i.method,action:o},o,u))}}))}function ds(e){function t(w){return El(w,e)}Fa!==null&&El(Fa,e),za!==null&&El(za,e),Ua!==null&&El(Ua,e),kr.forEach(t),Ar.forEach(t);for(var i=0;i<Ia.length;i++){var o=Ia[i];o.blockedOn===e&&(o.blockedOn=null)}for(;0<Ia.length&&(i=Ia[0],i.blockedOn===null);)Sv(i),i.blockedOn===null&&Ia.shift();if(i=(e.ownerDocument||e).$$reactFormReplay,i!=null)for(o=0;o<i.length;o+=3){var u=i[o],d=i[o+1],v=u[Dt]||null;if(typeof d=="function")v||wv(i);else if(v){var _=null;if(d&&d.hasAttribute("formAction")){if(u=d,v=d[Dt]||null)_=v.formAction;else if(Rd(u)!==null)continue}else _=v.action;typeof _=="function"?i[o+1]=_:(i.splice(o,3),o-=3),wv(i)}}}function Cv(){function e(d){d.canIntercept&&d.info==="react-transition"&&d.intercept({handler:function(){return new Promise(function(v){return u=v})},focusReset:"manual",scroll:"manual"})}function t(){u!==null&&(u(),u=null),o||setTimeout(i,20)}function i(){if(!o&&!navigation.transition){var d=navigation.currentEntry;d&&d.url!=null&&navigation.navigate(d.url,{state:d.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var o=!1,u=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(i,100),function(){o=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),u!==null&&(u(),u=null)}}}function Pd(e){this._internalRoot=e}Ml.prototype.render=Pd.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(r(409));var i=t.current,o=en();mv(i,o,e,t,null,null)},Ml.prototype.unmount=Pd.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;mv(e.current,2,null,e,null,null),ul(),t[Ei]=null}};function Ml(e){this._internalRoot=e}Ml.prototype.unstable_scheduleHydration=function(e){if(e){var t=Ph();e={blockedOn:null,target:e,priority:t};for(var i=0;i<Ia.length&&t!==0&&t<Ia[i].priority;i++);Ia.splice(i,0,e),i===0&&Sv(e)}};var kv=n.version;if(kv!=="19.2.4")throw Error(r(527,kv,"19.2.4"));K.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(r(188)):(e=Object.keys(e).join(","),Error(r(268,e)));return e=m(t),e=e!==null?y(e):null,e=e===null?null:e.stateNode,e};var aw={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:F,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var jl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!jl.isDisabled&&jl.supportsFiber)try{Ls=jl.inject(aw),Gt=jl}catch{}}return Er.createRoot=function(e,t){if(!l(e))throw Error(r(299));var i=!1,o="",u=Rm,d=Dm,v=Pm;return t!=null&&(t.unstable_strictMode===!0&&(i=!0),t.identifierPrefix!==void 0&&(o=t.identifierPrefix),t.onUncaughtError!==void 0&&(u=t.onUncaughtError),t.onCaughtError!==void 0&&(d=t.onCaughtError),t.onRecoverableError!==void 0&&(v=t.onRecoverableError)),t=hv(e,1,!1,null,null,i,o,null,u,d,v,Cv),e[Ei]=t.current,md(e),new Pd(t)},Er.hydrateRoot=function(e,t,i){if(!l(e))throw Error(r(299));var o=!1,u="",d=Rm,v=Dm,_=Pm,w=null;return i!=null&&(i.unstable_strictMode===!0&&(o=!0),i.identifierPrefix!==void 0&&(u=i.identifierPrefix),i.onUncaughtError!==void 0&&(d=i.onUncaughtError),i.onCaughtError!==void 0&&(v=i.onCaughtError),i.onRecoverableError!==void 0&&(_=i.onRecoverableError),i.formState!==void 0&&(w=i.formState)),t=hv(e,1,!0,t,i??null,o,u,w,d,v,_,Cv),t.context=pv(null),i=t.current,o=en(),o=Cc(o),u=ka(o),u.callback=null,Aa(i,u,o),i=o,t.current.lanes=i,zs(t,i),Pn(t),e[Ei]=t.current,md(e),new Ml(t)},Er.version="19.2.4",Er}var Fv;function sC(){if(Fv)return Ld.exports;Fv=1;function s(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(s)}catch(n){console.error(n)}}return s(),Ld.exports=iC(),Ld.exports}var rC=sC();/**
35
35
  * react-router v7.9.4
36
36
  *
37
37
  * Copyright (c) Remix Software Inc.
@@ -40,53 +40,53 @@ Error generating stack: `+o.message+`
40
40
  * LICENSE.md file in the root directory of this source tree.
41
41
  *
42
42
  * @license MIT
43
- */var Fv="popstate";function rC(s={}){function n(r,l){let{pathname:c,search:f,hash:h}=r.location;return mf("",{pathname:c,search:f,hash:h},l.state&&l.state.usr||null,l.state&&l.state.key||"default")}function a(r,l){return typeof l=="string"?l:Zr(l)}return lC(n,a,null,s)}function We(s,n){if(s===!1||s===null||typeof s>"u")throw new Error(n)}function _n(s,n){if(!s){typeof console<"u"&&console.warn(n);try{throw new Error(n)}catch{}}}function oC(){return Math.random().toString(36).substring(2,10)}function zv(s,n){return{usr:s.state,key:s.key,idx:n}}function mf(s,n,a=null,r){return{pathname:typeof s=="string"?s:s.pathname,search:"",hash:"",...typeof n=="string"?Es(n):n,state:a,key:n&&n.key||r||oC()}}function Zr({pathname:s="/",search:n="",hash:a=""}){return n&&n!=="?"&&(s+=n.charAt(0)==="?"?n:"?"+n),a&&a!=="#"&&(s+=a.charAt(0)==="#"?a:"#"+a),s}function Es(s){let n={};if(s){let a=s.indexOf("#");a>=0&&(n.hash=s.substring(a),s=s.substring(0,a));let r=s.indexOf("?");r>=0&&(n.search=s.substring(r),s=s.substring(0,r)),s&&(n.pathname=s)}return n}function lC(s,n,a,r={}){let{window:l=document.defaultView,v5Compat:c=!1}=r,f=l.history,h="POP",g=null,m=y();m==null&&(m=0,f.replaceState({...f.state,idx:m},""));function y(){return(f.state||{idx:null}).idx}function b(){h="POP";let A=y(),M=A==null?null:A-m;m=A,g&&g({action:h,location:k.location,delta:M})}function x(A,M){h="PUSH";let j=mf(k.location,A,M);m=y()+1;let D=zv(j,m),q=k.createHref(j);try{f.pushState(D,"",q)}catch(B){if(B instanceof DOMException&&B.name==="DataCloneError")throw B;l.location.assign(q)}c&&g&&g({action:h,location:k.location,delta:1})}function C(A,M){h="REPLACE";let j=mf(k.location,A,M);m=y();let D=zv(j,m),q=k.createHref(j);f.replaceState(D,"",q),c&&g&&g({action:h,location:k.location,delta:0})}function T(A){return cC(A)}let k={get action(){return h},get location(){return s(l,f)},listen(A){if(g)throw new Error("A history only accepts one active listener");return l.addEventListener(Fv,b),g=A,()=>{l.removeEventListener(Fv,b),g=null}},createHref(A){return n(l,A)},createURL:T,encodeLocation(A){let M=T(A);return{pathname:M.pathname,search:M.search,hash:M.hash}},push:x,replace:C,go(A){return f.go(A)}};return k}function cC(s,n=!1){let a="http://localhost";typeof window<"u"&&(a=window.location.origin!=="null"?window.location.origin:window.location.href),We(a,"No window.location.(origin|href) available to create URL");let r=typeof s=="string"?s:Zr(s);return r=r.replace(/ $/,"%20"),!n&&r.startsWith("//")&&(r=a+r),new URL(r,a)}function fb(s,n,a="/"){return uC(s,n,a,!1)}function uC(s,n,a,r){let l=typeof n=="string"?Es(n):n,c=pa(l.pathname||"/",a);if(c==null)return null;let f=hb(s);dC(f);let h=null;for(let g=0;h==null&&g<f.length;++g){let m=xC(c);h=_C(f[g],m,r)}return h}function hb(s,n=[],a=[],r="",l=!1){let c=(f,h,g=l,m)=>{let y={relativePath:m===void 0?f.path||"":m,caseSensitive:f.caseSensitive===!0,childrenIndex:h,route:f};if(y.relativePath.startsWith("/")){if(!y.relativePath.startsWith(r)&&g)return;We(y.relativePath.startsWith(r),`Absolute route path "${y.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),y.relativePath=y.relativePath.slice(r.length)}let b=fa([r,y.relativePath]),x=a.concat(y);f.children&&f.children.length>0&&(We(f.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${b}".`),hb(f.children,n,x,b,g)),!(f.path==null&&!f.index)&&n.push({path:b,score:yC(b,f.index),routesMeta:x})};return s.forEach((f,h)=>{if(f.path===""||!f.path?.includes("?"))c(f,h);else for(let g of pb(f.path))c(f,h,!0,g)}),n}function pb(s){let n=s.split("/");if(n.length===0)return[];let[a,...r]=n,l=a.endsWith("?"),c=a.replace(/\?$/,"");if(r.length===0)return l?[c,""]:[c];let f=pb(r.join("/")),h=[];return h.push(...f.map(g=>g===""?c:[c,g].join("/"))),l&&h.push(...f),h.map(g=>s.startsWith("/")&&g===""?"/":g)}function dC(s){s.sort((n,a)=>n.score!==a.score?a.score-n.score:bC(n.routesMeta.map(r=>r.childrenIndex),a.routesMeta.map(r=>r.childrenIndex)))}var fC=/^:[\w-]+$/,hC=3,pC=2,mC=1,gC=10,vC=-2,Uv=s=>s==="*";function yC(s,n){let a=s.split("/"),r=a.length;return a.some(Uv)&&(r+=vC),n&&(r+=pC),a.filter(l=>!Uv(l)).reduce((l,c)=>l+(fC.test(c)?hC:c===""?mC:gC),r)}function bC(s,n){return s.length===n.length&&s.slice(0,-1).every((r,l)=>r===n[l])?s[s.length-1]-n[n.length-1]:0}function _C(s,n,a=!1){let{routesMeta:r}=s,l={},c="/",f=[];for(let h=0;h<r.length;++h){let g=r[h],m=h===r.length-1,y=c==="/"?n:n.slice(c.length)||"/",b=Ql({path:g.relativePath,caseSensitive:g.caseSensitive,end:m},y),x=g.route;if(!b&&m&&a&&!r[r.length-1].route.index&&(b=Ql({path:g.relativePath,caseSensitive:g.caseSensitive,end:!1},y)),!b)return null;Object.assign(l,b.params),f.push({params:l,pathname:fa([c,b.pathname]),pathnameBase:AC(fa([c,b.pathnameBase])),route:x}),b.pathnameBase!=="/"&&(c=fa([c,b.pathnameBase]))}return f}function Ql(s,n){typeof s=="string"&&(s={path:s,caseSensitive:!1,end:!0});let[a,r]=SC(s.path,s.caseSensitive,s.end),l=n.match(a);if(!l)return null;let c=l[0],f=c.replace(/(.)\/+$/,"$1"),h=l.slice(1);return{params:r.reduce((m,{paramName:y,isOptional:b},x)=>{if(y==="*"){let T=h[x]||"";f=c.slice(0,c.length-T.length).replace(/(.)\/+$/,"$1")}const C=h[x];return b&&!C?m[y]=void 0:m[y]=(C||"").replace(/%2F/g,"/"),m},{}),pathname:c,pathnameBase:f,pattern:s}}function SC(s,n=!1,a=!0){_n(s==="*"||!s.endsWith("*")||s.endsWith("/*"),`Route path "${s}" will be treated as if it were "${s.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${s.replace(/\*$/,"/*")}".`);let r=[],l="^"+s.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(f,h,g)=>(r.push({paramName:h,isOptional:g!=null}),g?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return s.endsWith("*")?(r.push({paramName:"*"}),l+=s==="*"||s==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?l+="\\/*$":s!==""&&s!=="/"&&(l+="(?:(?=\\/|$))"),[new RegExp(l,n?void 0:"i"),r]}function xC(s){try{return s.split("/").map(n=>decodeURIComponent(n).replace(/\//g,"%2F")).join("/")}catch(n){return _n(!1,`The URL path "${s}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${n}).`),s}}function pa(s,n){if(n==="/")return s;if(!s.toLowerCase().startsWith(n.toLowerCase()))return null;let a=n.endsWith("/")?n.length-1:n.length,r=s.charAt(a);return r&&r!=="/"?null:s.slice(a)||"/"}function wC(s,n="/"){let{pathname:a,search:r="",hash:l=""}=typeof s=="string"?Es(s):s;return{pathname:a?a.startsWith("/")?a:CC(a,n):n,search:EC(r),hash:TC(l)}}function CC(s,n){let a=n.replace(/\/+$/,"").split("/");return s.split("/").forEach(l=>{l===".."?a.length>1&&a.pop():l!=="."&&a.push(l)}),a.length>1?a.join("/"):"/"}function Ud(s,n,a,r){return`Cannot include a '${s}' character in a manually specified \`to.${n}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${a}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function kC(s){return s.filter((n,a)=>a===0||n.route.path&&n.route.path.length>0)}function eh(s){let n=kC(s);return n.map((a,r)=>r===n.length-1?a.pathname:a.pathnameBase)}function th(s,n,a,r=!1){let l;typeof s=="string"?l=Es(s):(l={...s},We(!l.pathname||!l.pathname.includes("?"),Ud("?","pathname","search",l)),We(!l.pathname||!l.pathname.includes("#"),Ud("#","pathname","hash",l)),We(!l.search||!l.search.includes("#"),Ud("#","search","hash",l)));let c=s===""||l.pathname==="",f=c?"/":l.pathname,h;if(f==null)h=a;else{let b=n.length-1;if(!r&&f.startsWith("..")){let x=f.split("/");for(;x[0]==="..";)x.shift(),b-=1;l.pathname=x.join("/")}h=b>=0?n[b]:"/"}let g=wC(l,h),m=f&&f!=="/"&&f.endsWith("/"),y=(c||f===".")&&a.endsWith("/");return!g.pathname.endsWith("/")&&(m||y)&&(g.pathname+="/"),g}var fa=s=>s.join("/").replace(/\/\/+/g,"/"),AC=s=>s.replace(/\/+$/,"").replace(/^\/*/,"/"),EC=s=>!s||s==="?"?"":s.startsWith("?")?s:"?"+s,TC=s=>!s||s==="#"?"":s.startsWith("#")?s:"#"+s;function NC(s){return s!=null&&typeof s.status=="number"&&typeof s.statusText=="string"&&typeof s.internal=="boolean"&&"data"in s}var mb=["POST","PUT","PATCH","DELETE"];new Set(mb);var MC=["GET",...mb];new Set(MC);var Ts=S.createContext(null);Ts.displayName="DataRouter";var pc=S.createContext(null);pc.displayName="DataRouterState";S.createContext(!1);var gb=S.createContext({isTransitioning:!1});gb.displayName="ViewTransition";var jC=S.createContext(new Map);jC.displayName="Fetchers";var RC=S.createContext(null);RC.displayName="Await";var Tn=S.createContext(null);Tn.displayName="Navigation";var so=S.createContext(null);so.displayName="Location";var Sn=S.createContext({outlet:null,matches:[],isDataRoute:!1});Sn.displayName="Route";var nh=S.createContext(null);nh.displayName="RouteError";function DC(s,{relative:n}={}){We(Ns(),"useHref() may be used only in the context of a <Router> component.");let{basename:a,navigator:r}=S.useContext(Tn),{hash:l,pathname:c,search:f}=oo(s,{relative:n}),h=c;return a!=="/"&&(h=c==="/"?a:fa([a,c])),r.createHref({pathname:h,search:f,hash:l})}function Ns(){return S.useContext(so)!=null}function Nn(){return We(Ns(),"useLocation() may be used only in the context of a <Router> component."),S.useContext(so).location}var vb="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function yb(s){S.useContext(Tn).static||S.useLayoutEffect(s)}function ro(){let{isDataRoute:s}=S.useContext(Sn);return s?KC():PC()}function PC(){We(Ns(),"useNavigate() may be used only in the context of a <Router> component.");let s=S.useContext(Ts),{basename:n,navigator:a}=S.useContext(Tn),{matches:r}=S.useContext(Sn),{pathname:l}=Nn(),c=JSON.stringify(eh(r)),f=S.useRef(!1);return yb(()=>{f.current=!0}),S.useCallback((g,m={})=>{if(_n(f.current,vb),!f.current)return;if(typeof g=="number"){a.go(g);return}let y=th(g,JSON.parse(c),l,m.relative==="path");s==null&&n!=="/"&&(y.pathname=y.pathname==="/"?n:fa([n,y.pathname])),(m.replace?a.replace:a.push)(y,m.state,m)},[n,a,c,l,s])}var OC=S.createContext(null);function LC(s){let n=S.useContext(Sn).outlet;return S.useMemo(()=>n&&S.createElement(OC.Provider,{value:s},n),[n,s])}function $P(){let{matches:s}=S.useContext(Sn),n=s[s.length-1];return n?n.params:{}}function oo(s,{relative:n}={}){let{matches:a}=S.useContext(Sn),{pathname:r}=Nn(),l=JSON.stringify(eh(a));return S.useMemo(()=>th(s,JSON.parse(l),r,n==="path"),[s,l,r,n])}function FC(s,n){return bb(s,n)}function bb(s,n,a,r,l){We(Ns(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:c}=S.useContext(Tn),{matches:f}=S.useContext(Sn),h=f[f.length-1],g=h?h.params:{},m=h?h.pathname:"/",y=h?h.pathnameBase:"/",b=h&&h.route;{let j=b&&b.path||"";_b(m,!b||j.endsWith("*")||j.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${m}" (under <Route path="${j}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
43
+ */var zv="popstate";function oC(s={}){function n(r,l){let{pathname:c,search:f,hash:h}=r.location;return gf("",{pathname:c,search:f,hash:h},l.state&&l.state.usr||null,l.state&&l.state.key||"default")}function a(r,l){return typeof l=="string"?l:Wr(l)}return cC(n,a,null,s)}function We(s,n){if(s===!1||s===null||typeof s>"u")throw new Error(n)}function _n(s,n){if(!s){typeof console<"u"&&console.warn(n);try{throw new Error(n)}catch{}}}function lC(){return Math.random().toString(36).substring(2,10)}function Uv(s,n){return{usr:s.state,key:s.key,idx:n}}function gf(s,n,a=null,r){return{pathname:typeof s=="string"?s:s.pathname,search:"",hash:"",...typeof n=="string"?Es(n):n,state:a,key:n&&n.key||r||lC()}}function Wr({pathname:s="/",search:n="",hash:a=""}){return n&&n!=="?"&&(s+=n.charAt(0)==="?"?n:"?"+n),a&&a!=="#"&&(s+=a.charAt(0)==="#"?a:"#"+a),s}function Es(s){let n={};if(s){let a=s.indexOf("#");a>=0&&(n.hash=s.substring(a),s=s.substring(0,a));let r=s.indexOf("?");r>=0&&(n.search=s.substring(r),s=s.substring(0,r)),s&&(n.pathname=s)}return n}function cC(s,n,a,r={}){let{window:l=document.defaultView,v5Compat:c=!1}=r,f=l.history,h="POP",g=null,m=y();m==null&&(m=0,f.replaceState({...f.state,idx:m},""));function y(){return(f.state||{idx:null}).idx}function b(){h="POP";let A=y(),M=A==null?null:A-m;m=A,g&&g({action:h,location:k.location,delta:M})}function x(A,M){h="PUSH";let j=gf(k.location,A,M);m=y()+1;let D=Uv(j,m),q=k.createHref(j);try{f.pushState(D,"",q)}catch(B){if(B instanceof DOMException&&B.name==="DataCloneError")throw B;l.location.assign(q)}c&&g&&g({action:h,location:k.location,delta:1})}function C(A,M){h="REPLACE";let j=gf(k.location,A,M);m=y();let D=Uv(j,m),q=k.createHref(j);f.replaceState(D,"",q),c&&g&&g({action:h,location:k.location,delta:0})}function E(A){return uC(A)}let k={get action(){return h},get location(){return s(l,f)},listen(A){if(g)throw new Error("A history only accepts one active listener");return l.addEventListener(zv,b),g=A,()=>{l.removeEventListener(zv,b),g=null}},createHref(A){return n(l,A)},createURL:E,encodeLocation(A){let M=E(A);return{pathname:M.pathname,search:M.search,hash:M.hash}},push:x,replace:C,go(A){return f.go(A)}};return k}function uC(s,n=!1){let a="http://localhost";typeof window<"u"&&(a=window.location.origin!=="null"?window.location.origin:window.location.href),We(a,"No window.location.(origin|href) available to create URL");let r=typeof s=="string"?s:Wr(s);return r=r.replace(/ $/,"%20"),!n&&r.startsWith("//")&&(r=a+r),new URL(r,a)}function hb(s,n,a="/"){return dC(s,n,a,!1)}function dC(s,n,a,r){let l=typeof n=="string"?Es(n):n,c=pa(l.pathname||"/",a);if(c==null)return null;let f=pb(s);fC(f);let h=null;for(let g=0;h==null&&g<f.length;++g){let m=wC(c);h=SC(f[g],m,r)}return h}function pb(s,n=[],a=[],r="",l=!1){let c=(f,h,g=l,m)=>{let y={relativePath:m===void 0?f.path||"":m,caseSensitive:f.caseSensitive===!0,childrenIndex:h,route:f};if(y.relativePath.startsWith("/")){if(!y.relativePath.startsWith(r)&&g)return;We(y.relativePath.startsWith(r),`Absolute route path "${y.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),y.relativePath=y.relativePath.slice(r.length)}let b=fa([r,y.relativePath]),x=a.concat(y);f.children&&f.children.length>0&&(We(f.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${b}".`),pb(f.children,n,x,b,g)),!(f.path==null&&!f.index)&&n.push({path:b,score:bC(b,f.index),routesMeta:x})};return s.forEach((f,h)=>{if(f.path===""||!f.path?.includes("?"))c(f,h);else for(let g of mb(f.path))c(f,h,!0,g)}),n}function mb(s){let n=s.split("/");if(n.length===0)return[];let[a,...r]=n,l=a.endsWith("?"),c=a.replace(/\?$/,"");if(r.length===0)return l?[c,""]:[c];let f=mb(r.join("/")),h=[];return h.push(...f.map(g=>g===""?c:[c,g].join("/"))),l&&h.push(...f),h.map(g=>s.startsWith("/")&&g===""?"/":g)}function fC(s){s.sort((n,a)=>n.score!==a.score?a.score-n.score:_C(n.routesMeta.map(r=>r.childrenIndex),a.routesMeta.map(r=>r.childrenIndex)))}var hC=/^:[\w-]+$/,pC=3,mC=2,gC=1,vC=10,yC=-2,Iv=s=>s==="*";function bC(s,n){let a=s.split("/"),r=a.length;return a.some(Iv)&&(r+=yC),n&&(r+=mC),a.filter(l=>!Iv(l)).reduce((l,c)=>l+(hC.test(c)?pC:c===""?gC:vC),r)}function _C(s,n){return s.length===n.length&&s.slice(0,-1).every((r,l)=>r===n[l])?s[s.length-1]-n[n.length-1]:0}function SC(s,n,a=!1){let{routesMeta:r}=s,l={},c="/",f=[];for(let h=0;h<r.length;++h){let g=r[h],m=h===r.length-1,y=c==="/"?n:n.slice(c.length)||"/",b=Zl({path:g.relativePath,caseSensitive:g.caseSensitive,end:m},y),x=g.route;if(!b&&m&&a&&!r[r.length-1].route.index&&(b=Zl({path:g.relativePath,caseSensitive:g.caseSensitive,end:!1},y)),!b)return null;Object.assign(l,b.params),f.push({params:l,pathname:fa([c,b.pathname]),pathnameBase:TC(fa([c,b.pathnameBase])),route:x}),b.pathnameBase!=="/"&&(c=fa([c,b.pathnameBase]))}return f}function Zl(s,n){typeof s=="string"&&(s={path:s,caseSensitive:!1,end:!0});let[a,r]=xC(s.path,s.caseSensitive,s.end),l=n.match(a);if(!l)return null;let c=l[0],f=c.replace(/(.)\/+$/,"$1"),h=l.slice(1);return{params:r.reduce((m,{paramName:y,isOptional:b},x)=>{if(y==="*"){let E=h[x]||"";f=c.slice(0,c.length-E.length).replace(/(.)\/+$/,"$1")}const C=h[x];return b&&!C?m[y]=void 0:m[y]=(C||"").replace(/%2F/g,"/"),m},{}),pathname:c,pathnameBase:f,pattern:s}}function xC(s,n=!1,a=!0){_n(s==="*"||!s.endsWith("*")||s.endsWith("/*"),`Route path "${s}" will be treated as if it were "${s.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${s.replace(/\*$/,"/*")}".`);let r=[],l="^"+s.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(f,h,g)=>(r.push({paramName:h,isOptional:g!=null}),g?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return s.endsWith("*")?(r.push({paramName:"*"}),l+=s==="*"||s==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?l+="\\/*$":s!==""&&s!=="/"&&(l+="(?:(?=\\/|$))"),[new RegExp(l,n?void 0:"i"),r]}function wC(s){try{return s.split("/").map(n=>decodeURIComponent(n).replace(/\//g,"%2F")).join("/")}catch(n){return _n(!1,`The URL path "${s}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${n}).`),s}}function pa(s,n){if(n==="/")return s;if(!s.toLowerCase().startsWith(n.toLowerCase()))return null;let a=n.endsWith("/")?n.length-1:n.length,r=s.charAt(a);return r&&r!=="/"?null:s.slice(a)||"/"}function CC(s,n="/"){let{pathname:a,search:r="",hash:l=""}=typeof s=="string"?Es(s):s;return{pathname:a?a.startsWith("/")?a:kC(a,n):n,search:EC(r),hash:NC(l)}}function kC(s,n){let a=n.replace(/\/+$/,"").split("/");return s.split("/").forEach(l=>{l===".."?a.length>1&&a.pop():l!=="."&&a.push(l)}),a.length>1?a.join("/"):"/"}function Id(s,n,a,r){return`Cannot include a '${s}' character in a manually specified \`to.${n}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${a}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function AC(s){return s.filter((n,a)=>a===0||n.route.path&&n.route.path.length>0)}function th(s){let n=AC(s);return n.map((a,r)=>r===n.length-1?a.pathname:a.pathnameBase)}function nh(s,n,a,r=!1){let l;typeof s=="string"?l=Es(s):(l={...s},We(!l.pathname||!l.pathname.includes("?"),Id("?","pathname","search",l)),We(!l.pathname||!l.pathname.includes("#"),Id("#","pathname","hash",l)),We(!l.search||!l.search.includes("#"),Id("#","search","hash",l)));let c=s===""||l.pathname==="",f=c?"/":l.pathname,h;if(f==null)h=a;else{let b=n.length-1;if(!r&&f.startsWith("..")){let x=f.split("/");for(;x[0]==="..";)x.shift(),b-=1;l.pathname=x.join("/")}h=b>=0?n[b]:"/"}let g=CC(l,h),m=f&&f!=="/"&&f.endsWith("/"),y=(c||f===".")&&a.endsWith("/");return!g.pathname.endsWith("/")&&(m||y)&&(g.pathname+="/"),g}var fa=s=>s.join("/").replace(/\/\/+/g,"/"),TC=s=>s.replace(/\/+$/,"").replace(/^\/*/,"/"),EC=s=>!s||s==="?"?"":s.startsWith("?")?s:"?"+s,NC=s=>!s||s==="#"?"":s.startsWith("#")?s:"#"+s;function MC(s){return s!=null&&typeof s.status=="number"&&typeof s.statusText=="string"&&typeof s.internal=="boolean"&&"data"in s}var gb=["POST","PUT","PATCH","DELETE"];new Set(gb);var jC=["GET",...gb];new Set(jC);var Ns=S.createContext(null);Ns.displayName="DataRouter";var mc=S.createContext(null);mc.displayName="DataRouterState";S.createContext(!1);var vb=S.createContext({isTransitioning:!1});vb.displayName="ViewTransition";var RC=S.createContext(new Map);RC.displayName="Fetchers";var DC=S.createContext(null);DC.displayName="Await";var En=S.createContext(null);En.displayName="Navigation";var ro=S.createContext(null);ro.displayName="Location";var Sn=S.createContext({outlet:null,matches:[],isDataRoute:!1});Sn.displayName="Route";var ah=S.createContext(null);ah.displayName="RouteError";function PC(s,{relative:n}={}){We(Ms(),"useHref() may be used only in the context of a <Router> component.");let{basename:a,navigator:r}=S.useContext(En),{hash:l,pathname:c,search:f}=lo(s,{relative:n}),h=c;return a!=="/"&&(h=c==="/"?a:fa([a,c])),r.createHref({pathname:h,search:f,hash:l})}function Ms(){return S.useContext(ro)!=null}function Nn(){return We(Ms(),"useLocation() may be used only in the context of a <Router> component."),S.useContext(ro).location}var yb="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function bb(s){S.useContext(En).static||S.useLayoutEffect(s)}function oo(){let{isDataRoute:s}=S.useContext(Sn);return s?XC():OC()}function OC(){We(Ms(),"useNavigate() may be used only in the context of a <Router> component.");let s=S.useContext(Ns),{basename:n,navigator:a}=S.useContext(En),{matches:r}=S.useContext(Sn),{pathname:l}=Nn(),c=JSON.stringify(th(r)),f=S.useRef(!1);return bb(()=>{f.current=!0}),S.useCallback((g,m={})=>{if(_n(f.current,yb),!f.current)return;if(typeof g=="number"){a.go(g);return}let y=nh(g,JSON.parse(c),l,m.relative==="path");s==null&&n!=="/"&&(y.pathname=y.pathname==="/"?n:fa([n,y.pathname])),(m.replace?a.replace:a.push)(y,m.state,m)},[n,a,c,l,s])}var LC=S.createContext(null);function FC(s){let n=S.useContext(Sn).outlet;return S.useMemo(()=>n&&S.createElement(LC.Provider,{value:s},n),[n,s])}function KP(){let{matches:s}=S.useContext(Sn),n=s[s.length-1];return n?n.params:{}}function lo(s,{relative:n}={}){let{matches:a}=S.useContext(Sn),{pathname:r}=Nn(),l=JSON.stringify(th(a));return S.useMemo(()=>nh(s,JSON.parse(l),r,n==="path"),[s,l,r,n])}function zC(s,n){return _b(s,n)}function _b(s,n,a,r,l){We(Ms(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:c}=S.useContext(En),{matches:f}=S.useContext(Sn),h=f[f.length-1],g=h?h.params:{},m=h?h.pathname:"/",y=h?h.pathnameBase:"/",b=h&&h.route;{let j=b&&b.path||"";Sb(m,!b||j.endsWith("*")||j.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${m}" (under <Route path="${j}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
44
44
 
45
- Please change the parent <Route path="${j}"> to <Route path="${j==="/"?"*":`${j}/*`}">.`)}let x=Nn(),C;if(n){let j=typeof n=="string"?Es(n):n;We(y==="/"||j.pathname?.startsWith(y),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${y}" but pathname "${j.pathname}" was given in the \`location\` prop.`),C=j}else C=x;let T=C.pathname||"/",k=T;if(y!=="/"){let j=y.replace(/^\//,"").split("/");k="/"+T.replace(/^\//,"").split("/").slice(j.length).join("/")}let A=fb(s,{pathname:k});_n(b||A!=null,`No routes matched location "${C.pathname}${C.search}${C.hash}" `),_n(A==null||A[A.length-1].route.element!==void 0||A[A.length-1].route.Component!==void 0||A[A.length-1].route.lazy!==void 0,`Matched leaf route at location "${C.pathname}${C.search}${C.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let M=qC(A&&A.map(j=>Object.assign({},j,{params:Object.assign({},g,j.params),pathname:fa([y,c.encodeLocation?c.encodeLocation(j.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:j.pathname]),pathnameBase:j.pathnameBase==="/"?y:fa([y,c.encodeLocation?c.encodeLocation(j.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:j.pathnameBase])})),f,a,r,l);return n&&M?S.createElement(so.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...C},navigationType:"POP"}},M):M}function zC(){let s=YC(),n=NC(s)?`${s.status} ${s.statusText}`:s instanceof Error?s.message:JSON.stringify(s),a=s instanceof Error?s.stack:null,r="rgba(200,200,200, 0.5)",l={padding:"0.5rem",backgroundColor:r},c={padding:"2px 4px",backgroundColor:r},f=null;return console.error("Error handled by React Router default ErrorBoundary:",s),f=S.createElement(S.Fragment,null,S.createElement("p",null,"💿 Hey developer 👋"),S.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",S.createElement("code",{style:c},"ErrorBoundary")," or"," ",S.createElement("code",{style:c},"errorElement")," prop on your route.")),S.createElement(S.Fragment,null,S.createElement("h2",null,"Unexpected Application Error!"),S.createElement("h3",{style:{fontStyle:"italic"}},n),a?S.createElement("pre",{style:l},a):null,f)}var UC=S.createElement(zC,null),IC=class extends S.Component{constructor(s){super(s),this.state={location:s.location,revalidation:s.revalidation,error:s.error}}static getDerivedStateFromError(s){return{error:s}}static getDerivedStateFromProps(s,n){return n.location!==s.location||n.revalidation!=="idle"&&s.revalidation==="idle"?{error:s.error,location:s.location,revalidation:s.revalidation}:{error:s.error!==void 0?s.error:n.error,location:n.location,revalidation:s.revalidation||n.revalidation}}componentDidCatch(s,n){this.props.unstable_onError?this.props.unstable_onError(s,n):console.error("React Router caught the following error during render",s)}render(){return this.state.error!==void 0?S.createElement(Sn.Provider,{value:this.props.routeContext},S.createElement(nh.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function HC({routeContext:s,match:n,children:a}){let r=S.useContext(Ts);return r&&r.static&&r.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=n.route.id),S.createElement(Sn.Provider,{value:s},a)}function qC(s,n=[],a=null,r=null,l=null){if(s==null){if(!a)return null;if(a.errors)s=a.matches;else if(n.length===0&&!a.initialized&&a.matches.length>0)s=a.matches;else return null}let c=s,f=a?.errors;if(f!=null){let m=c.findIndex(y=>y.route.id&&f?.[y.route.id]!==void 0);We(m>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(f).join(",")}`),c=c.slice(0,Math.min(c.length,m+1))}let h=!1,g=-1;if(a)for(let m=0;m<c.length;m++){let y=c[m];if((y.route.HydrateFallback||y.route.hydrateFallbackElement)&&(g=m),y.route.id){let{loaderData:b,errors:x}=a,C=y.route.loader&&!b.hasOwnProperty(y.route.id)&&(!x||x[y.route.id]===void 0);if(y.route.lazy||C){h=!0,g>=0?c=c.slice(0,g+1):c=[c[0]];break}}}return c.reduceRight((m,y,b)=>{let x,C=!1,T=null,k=null;a&&(x=f&&y.route.id?f[y.route.id]:void 0,T=y.route.errorElement||UC,h&&(g<0&&b===0?(_b("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),C=!0,k=null):g===b&&(C=!0,k=y.route.hydrateFallbackElement||null)));let A=n.concat(c.slice(0,b+1)),M=()=>{let j;return x?j=T:C?j=k:y.route.Component?j=S.createElement(y.route.Component,null):y.route.element?j=y.route.element:j=m,S.createElement(HC,{match:y,routeContext:{outlet:m,matches:A,isDataRoute:a!=null},children:j})};return a&&(y.route.ErrorBoundary||y.route.errorElement||b===0)?S.createElement(IC,{location:a.location,revalidation:a.revalidation,component:T,error:x,children:M(),routeContext:{outlet:null,matches:A,isDataRoute:!0},unstable_onError:r}):M()},null)}function ah(s){return`${s} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function BC(s){let n=S.useContext(Ts);return We(n,ah(s)),n}function $C(s){let n=S.useContext(pc);return We(n,ah(s)),n}function VC(s){let n=S.useContext(Sn);return We(n,ah(s)),n}function ih(s){let n=VC(s),a=n.matches[n.matches.length-1];return We(a.route.id,`${s} can only be used on routes that contain a unique "id"`),a.route.id}function GC(){return ih("useRouteId")}function YC(){let s=S.useContext(nh),n=$C("useRouteError"),a=ih("useRouteError");return s!==void 0?s:n.errors?.[a]}function KC(){let{router:s}=BC("useNavigate"),n=ih("useNavigate"),a=S.useRef(!1);return yb(()=>{a.current=!0}),S.useCallback(async(l,c={})=>{_n(a.current,vb),a.current&&(typeof l=="number"?s.navigate(l):await s.navigate(l,{fromRouteId:n,...c}))},[s,n])}var Iv={};function _b(s,n,a){!n&&!Iv[s]&&(Iv[s]=!0,_n(!1,a))}S.memo(XC);function XC({routes:s,future:n,state:a,unstable_onError:r}){return bb(s,void 0,a,r,n)}function QC({to:s,replace:n,state:a,relative:r}){We(Ns(),"<Navigate> may be used only in the context of a <Router> component.");let{static:l}=S.useContext(Tn);_n(!l,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:c}=S.useContext(Sn),{pathname:f}=Nn(),h=ro(),g=th(s,eh(c),f,r==="path"),m=JSON.stringify(g);return S.useEffect(()=>{h(JSON.parse(m),{replace:n,state:a,relative:r})},[h,m,r,n,a]),null}function VP(s){return LC(s.context)}function Oe(s){We(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function ZC({basename:s="/",children:n=null,location:a,navigationType:r="POP",navigator:l,static:c=!1}){We(!Ns(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let f=s.replace(/^\/*/,"/"),h=S.useMemo(()=>({basename:f,navigator:l,static:c,future:{}}),[f,l,c]);typeof a=="string"&&(a=Es(a));let{pathname:g="/",search:m="",hash:y="",state:b=null,key:x="default"}=a,C=S.useMemo(()=>{let T=pa(g,f);return T==null?null:{location:{pathname:T,search:m,hash:y,state:b,key:x},navigationType:r}},[f,g,m,y,b,x,r]);return _n(C!=null,`<Router basename="${f}"> is not able to match the URL "${g}${m}${y}" because it does not start with the basename, so the <Router> won't render anything.`),C==null?null:S.createElement(Tn.Provider,{value:h},S.createElement(so.Provider,{children:n,value:C}))}function WC({children:s,location:n}){return FC(gf(s),n)}function gf(s,n=[]){let a=[];return S.Children.forEach(s,(r,l)=>{if(!S.isValidElement(r))return;let c=[...n,l];if(r.type===S.Fragment){a.push.apply(a,gf(r.props.children,c));return}We(r.type===Oe,`[${typeof r.type=="string"?r.type:r.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),We(!r.props.index||!r.props.children,"An index route cannot have child routes.");let f={id:r.props.id||c.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,middleware:r.props.middleware,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(f.children=gf(r.props.children,c)),a.push(f)}),a}var ql="get",Bl="application/x-www-form-urlencoded";function mc(s){return s!=null&&typeof s.tagName=="string"}function JC(s){return mc(s)&&s.tagName.toLowerCase()==="button"}function ek(s){return mc(s)&&s.tagName.toLowerCase()==="form"}function tk(s){return mc(s)&&s.tagName.toLowerCase()==="input"}function nk(s){return!!(s.metaKey||s.altKey||s.ctrlKey||s.shiftKey)}function ak(s,n){return s.button===0&&(!n||n==="_self")&&!nk(s)}function vf(s=""){return new URLSearchParams(typeof s=="string"||Array.isArray(s)||s instanceof URLSearchParams?s:Object.keys(s).reduce((n,a)=>{let r=s[a];return n.concat(Array.isArray(r)?r.map(l=>[a,l]):[[a,r]])},[]))}function ik(s,n){let a=vf(s);return n&&n.forEach((r,l)=>{a.has(l)||n.getAll(l).forEach(c=>{a.append(l,c)})}),a}var jl=null;function sk(){if(jl===null)try{new FormData(document.createElement("form"),0),jl=!1}catch{jl=!0}return jl}var rk=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Id(s){return s!=null&&!rk.has(s)?(_n(!1,`"${s}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Bl}"`),null):s}function ok(s,n){let a,r,l,c,f;if(ek(s)){let h=s.getAttribute("action");r=h?pa(h,n):null,a=s.getAttribute("method")||ql,l=Id(s.getAttribute("enctype"))||Bl,c=new FormData(s)}else if(JC(s)||tk(s)&&(s.type==="submit"||s.type==="image")){let h=s.form;if(h==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let g=s.getAttribute("formaction")||h.getAttribute("action");if(r=g?pa(g,n):null,a=s.getAttribute("formmethod")||h.getAttribute("method")||ql,l=Id(s.getAttribute("formenctype"))||Id(h.getAttribute("enctype"))||Bl,c=new FormData(h,s),!sk()){let{name:m,type:y,value:b}=s;if(y==="image"){let x=m?`${m}.`:"";c.append(`${x}x`,"0"),c.append(`${x}y`,"0")}else m&&c.append(m,b)}}else{if(mc(s))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');a=ql,r=null,l=Bl,f=s}return c&&l==="text/plain"&&(f=c,c=void 0),{action:r,method:a.toLowerCase(),encType:l,formData:c,body:f}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function sh(s,n){if(s===!1||s===null||typeof s>"u")throw new Error(n)}function lk(s,n,a){let r=typeof s=="string"?new URL(s,typeof window>"u"?"server://singlefetch/":window.location.origin):s;return r.pathname==="/"?r.pathname=`_root.${a}`:n&&pa(r.pathname,n)==="/"?r.pathname=`${n.replace(/\/$/,"")}/_root.${a}`:r.pathname=`${r.pathname.replace(/\/$/,"")}.${a}`,r}async function ck(s,n){if(s.id in n)return n[s.id];try{let a=await import(s.module);return n[s.id]=a,a}catch(a){return console.error(`Error loading route module \`${s.module}\`, reloading page...`),console.error(a),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function uk(s){return s==null?!1:s.href==null?s.rel==="preload"&&typeof s.imageSrcSet=="string"&&typeof s.imageSizes=="string":typeof s.rel=="string"&&typeof s.href=="string"}async function dk(s,n,a){let r=await Promise.all(s.map(async l=>{let c=n.routes[l.route.id];if(c){let f=await ck(c,a);return f.links?f.links():[]}return[]}));return mk(r.flat(1).filter(uk).filter(l=>l.rel==="stylesheet"||l.rel==="preload").map(l=>l.rel==="stylesheet"?{...l,rel:"prefetch",as:"style"}:{...l,rel:"prefetch"}))}function Hv(s,n,a,r,l,c){let f=(g,m)=>a[m]?g.route.id!==a[m].route.id:!0,h=(g,m)=>a[m].pathname!==g.pathname||a[m].route.path?.endsWith("*")&&a[m].params["*"]!==g.params["*"];return c==="assets"?n.filter((g,m)=>f(g,m)||h(g,m)):c==="data"?n.filter((g,m)=>{let y=r.routes[g.route.id];if(!y||!y.hasLoader)return!1;if(f(g,m)||h(g,m))return!0;if(g.route.shouldRevalidate){let b=g.route.shouldRevalidate({currentUrl:new URL(l.pathname+l.search+l.hash,window.origin),currentParams:a[0]?.params||{},nextUrl:new URL(s,window.origin),nextParams:g.params,defaultShouldRevalidate:!0});if(typeof b=="boolean")return b}return!0}):[]}function fk(s,n,{includeHydrateFallback:a}={}){return hk(s.map(r=>{let l=n.routes[r.route.id];if(!l)return[];let c=[l.module];return l.clientActionModule&&(c=c.concat(l.clientActionModule)),l.clientLoaderModule&&(c=c.concat(l.clientLoaderModule)),a&&l.hydrateFallbackModule&&(c=c.concat(l.hydrateFallbackModule)),l.imports&&(c=c.concat(l.imports)),c}).flat(1))}function hk(s){return[...new Set(s)]}function pk(s){let n={},a=Object.keys(s).sort();for(let r of a)n[r]=s[r];return n}function mk(s,n){let a=new Set;return new Set(n),s.reduce((r,l)=>{let c=JSON.stringify(pk(l));return a.has(c)||(a.add(c),r.push({key:c,link:l})),r},[])}function Sb(){let s=S.useContext(Ts);return sh(s,"You must render this element inside a <DataRouterContext.Provider> element"),s}function gk(){let s=S.useContext(pc);return sh(s,"You must render this element inside a <DataRouterStateContext.Provider> element"),s}var rh=S.createContext(void 0);rh.displayName="FrameworkContext";function xb(){let s=S.useContext(rh);return sh(s,"You must render this element inside a <HydratedRouter> element"),s}function vk(s,n){let a=S.useContext(rh),[r,l]=S.useState(!1),[c,f]=S.useState(!1),{onFocus:h,onBlur:g,onMouseEnter:m,onMouseLeave:y,onTouchStart:b}=n,x=S.useRef(null);S.useEffect(()=>{if(s==="render"&&f(!0),s==="viewport"){let k=M=>{M.forEach(j=>{f(j.isIntersecting)})},A=new IntersectionObserver(k,{threshold:.5});return x.current&&A.observe(x.current),()=>{A.disconnect()}}},[s]),S.useEffect(()=>{if(r){let k=setTimeout(()=>{f(!0)},100);return()=>{clearTimeout(k)}}},[r]);let C=()=>{l(!0)},T=()=>{l(!1),f(!1)};return a?s!=="intent"?[c,x,{}]:[c,x,{onFocus:Tr(h,C),onBlur:Tr(g,T),onMouseEnter:Tr(m,C),onMouseLeave:Tr(y,T),onTouchStart:Tr(b,C)}]:[!1,x,{}]}function Tr(s,n){return a=>{s&&s(a),a.defaultPrevented||n(a)}}function yk({page:s,...n}){let{router:a}=Sb(),r=S.useMemo(()=>fb(a.routes,s,a.basename),[a.routes,s,a.basename]);return r?S.createElement(_k,{page:s,matches:r,...n}):null}function bk(s){let{manifest:n,routeModules:a}=xb(),[r,l]=S.useState([]);return S.useEffect(()=>{let c=!1;return dk(s,n,a).then(f=>{c||l(f)}),()=>{c=!0}},[s,n,a]),r}function _k({page:s,matches:n,...a}){let r=Nn(),{manifest:l,routeModules:c}=xb(),{basename:f}=Sb(),{loaderData:h,matches:g}=gk(),m=S.useMemo(()=>Hv(s,n,g,l,r,"data"),[s,n,g,l,r]),y=S.useMemo(()=>Hv(s,n,g,l,r,"assets"),[s,n,g,l,r]),b=S.useMemo(()=>{if(s===r.pathname+r.search+r.hash)return[];let T=new Set,k=!1;if(n.forEach(M=>{let j=l.routes[M.route.id];!j||!j.hasLoader||(!m.some(D=>D.route.id===M.route.id)&&M.route.id in h&&c[M.route.id]?.shouldRevalidate||j.hasClientLoader?k=!0:T.add(M.route.id))}),T.size===0)return[];let A=lk(s,f,"data");return k&&T.size>0&&A.searchParams.set("_routes",n.filter(M=>T.has(M.route.id)).map(M=>M.route.id).join(",")),[A.pathname+A.search]},[f,h,r,l,m,n,s,c]),x=S.useMemo(()=>fk(y,l),[y,l]),C=bk(y);return S.createElement(S.Fragment,null,b.map(T=>S.createElement("link",{key:T,rel:"prefetch",as:"fetch",href:T,...a})),x.map(T=>S.createElement("link",{key:T,rel:"modulepreload",href:T,...a})),C.map(({key:T,link:k})=>S.createElement("link",{key:T,nonce:a.nonce,...k})))}function Sk(...s){return n=>{s.forEach(a=>{typeof a=="function"?a(n):a!=null&&(a.current=n)})}}var wb=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{wb&&(window.__reactRouterVersion="7.9.4")}catch{}function xk({basename:s,children:n,window:a}){let r=S.useRef();r.current==null&&(r.current=rC({window:a,v5Compat:!0}));let l=r.current,[c,f]=S.useState({action:l.action,location:l.location}),h=S.useCallback(g=>{S.startTransition(()=>f(g))},[f]);return S.useLayoutEffect(()=>l.listen(h),[l,h]),S.createElement(ZC,{basename:s,children:n,location:c.location,navigationType:c.action,navigator:l})}var Cb=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,kb=S.forwardRef(function({onClick:n,discover:a="render",prefetch:r="none",relative:l,reloadDocument:c,replace:f,state:h,target:g,to:m,preventScrollReset:y,viewTransition:b,...x},C){let{basename:T}=S.useContext(Tn),k=typeof m=="string"&&Cb.test(m),A,M=!1;if(typeof m=="string"&&k&&(A=m,wb))try{let Z=new URL(window.location.href),re=m.startsWith("//")?new URL(Z.protocol+m):new URL(m),Se=pa(re.pathname,T);re.origin===Z.origin&&Se!=null?m=Se+re.search+re.hash:M=!0}catch{_n(!1,`<Link to="${m}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let j=DC(m,{relative:l}),[D,q,B]=vk(r,x),V=kk(m,{replace:f,state:h,target:g,preventScrollReset:y,relative:l,viewTransition:b});function I(Z){n&&n(Z),Z.defaultPrevented||V(Z)}let L=S.createElement("a",{...x,...B,href:A||j,onClick:M||c?n:I,ref:Sk(C,q),target:g,"data-discover":!k&&a==="render"?"true":void 0});return D&&!k?S.createElement(S.Fragment,null,L,S.createElement(yk,{page:j})):L});kb.displayName="Link";var yf=S.forwardRef(function({"aria-current":n="page",caseSensitive:a=!1,className:r="",end:l=!1,style:c,to:f,viewTransition:h,children:g,...m},y){let b=oo(f,{relative:m.relative}),x=Nn(),C=S.useContext(pc),{navigator:T,basename:k}=S.useContext(Tn),A=C!=null&&Mk(b)&&h===!0,M=T.encodeLocation?T.encodeLocation(b).pathname:b.pathname,j=x.pathname,D=C&&C.navigation&&C.navigation.location?C.navigation.location.pathname:null;a||(j=j.toLowerCase(),D=D?D.toLowerCase():null,M=M.toLowerCase()),D&&k&&(D=pa(D,k)||D);const q=M!=="/"&&M.endsWith("/")?M.length-1:M.length;let B=j===M||!l&&j.startsWith(M)&&j.charAt(q)==="/",V=D!=null&&(D===M||!l&&D.startsWith(M)&&D.charAt(M.length)==="/"),I={isActive:B,isPending:V,isTransitioning:A},L=B?n:void 0,Z;typeof r=="function"?Z=r(I):Z=[r,B?"active":null,V?"pending":null,A?"transitioning":null].filter(Boolean).join(" ");let re=typeof c=="function"?c(I):c;return S.createElement(kb,{...m,"aria-current":L,className:Z,ref:y,style:re,to:f,viewTransition:h},typeof g=="function"?g(I):g)});yf.displayName="NavLink";var wk=S.forwardRef(({discover:s="render",fetcherKey:n,navigate:a,reloadDocument:r,replace:l,state:c,method:f=ql,action:h,onSubmit:g,relative:m,preventScrollReset:y,viewTransition:b,...x},C)=>{let T=Tk(),k=Nk(h,{relative:m}),A=f.toLowerCase()==="get"?"get":"post",M=typeof h=="string"&&Cb.test(h),j=D=>{if(g&&g(D),D.defaultPrevented)return;D.preventDefault();let q=D.nativeEvent.submitter,B=q?.getAttribute("formmethod")||f;T(q||D.currentTarget,{fetcherKey:n,method:B,navigate:a,replace:l,state:c,relative:m,preventScrollReset:y,viewTransition:b})};return S.createElement("form",{ref:C,method:A,action:k,onSubmit:r?g:j,...x,"data-discover":!M&&s==="render"?"true":void 0})});wk.displayName="Form";function Ck(s){return`${s} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Ab(s){let n=S.useContext(Ts);return We(n,Ck(s)),n}function kk(s,{target:n,replace:a,state:r,preventScrollReset:l,relative:c,viewTransition:f}={}){let h=ro(),g=Nn(),m=oo(s,{relative:c});return S.useCallback(y=>{if(ak(y,n)){y.preventDefault();let b=a!==void 0?a:Zr(g)===Zr(m);h(s,{replace:b,state:r,preventScrollReset:l,relative:c,viewTransition:f})}},[g,h,m,a,r,n,s,l,c,f])}function GP(s){_n(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let n=S.useRef(vf(s)),a=S.useRef(!1),r=Nn(),l=S.useMemo(()=>ik(r.search,a.current?null:n.current),[r.search]),c=ro(),f=S.useCallback((h,g)=>{const m=vf(typeof h=="function"?h(new URLSearchParams(l)):h);a.current=!0,c("?"+m,g)},[c,l]);return[l,f]}var Ak=0,Ek=()=>`__${String(++Ak)}__`;function Tk(){let{router:s}=Ab("useSubmit"),{basename:n}=S.useContext(Tn),a=GC();return S.useCallback(async(r,l={})=>{let{action:c,method:f,encType:h,formData:g,body:m}=ok(r,n);if(l.navigate===!1){let y=l.fetcherKey||Ek();await s.fetch(y,a,l.action||c,{preventScrollReset:l.preventScrollReset,formData:g,body:m,formMethod:l.method||f,formEncType:l.encType||h,flushSync:l.flushSync})}else await s.navigate(l.action||c,{preventScrollReset:l.preventScrollReset,formData:g,body:m,formMethod:l.method||f,formEncType:l.encType||h,replace:l.replace,state:l.state,fromRouteId:a,flushSync:l.flushSync,viewTransition:l.viewTransition})},[s,n,a])}function Nk(s,{relative:n}={}){let{basename:a}=S.useContext(Tn),r=S.useContext(Sn);We(r,"useFormAction must be used inside a RouteContext");let[l]=r.matches.slice(-1),c={...oo(s||".",{relative:n})},f=Nn();if(s==null){c.search=f.search;let h=new URLSearchParams(c.search),g=h.getAll("index");if(g.some(y=>y==="")){h.delete("index"),g.filter(b=>b).forEach(b=>h.append("index",b));let y=h.toString();c.search=y?`?${y}`:""}}return(!s||s===".")&&l.route.index&&(c.search=c.search?c.search.replace(/^\?/,"?index&"):"?index"),a!=="/"&&(c.pathname=c.pathname==="/"?a:fa([a,c.pathname])),Zr(c)}function Mk(s,{relative:n}={}){let a=S.useContext(gb);We(a!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=Ab("useViewTransitionState"),l=oo(s,{relative:n});if(!a.isTransitioning)return!1;let c=pa(a.currentLocation.pathname,r)||a.currentLocation.pathname,f=pa(a.nextLocation.pathname,r)||a.nextLocation.pathname;return Ql(l.pathname,f)!=null||Ql(l.pathname,c)!=null}var oh=db();const jk=iw(oh),lo=()=>{const[s,n]=S.useState(rw());S.useEffect(()=>{ow(s)},[s]);const a=S.useMemo(()=>lw(s),[s.currentServiceId,s.services]),r=h=>{const g={...h,id:Date.now().toString()};return n(m=>({...m,services:[...m.services,g]})),g},l=(h,g)=>{n(m=>dw(m,h,g))},c=h=>{n(g=>uw(g,h))},f=h=>{n(g=>cw(g,h))};return{services:s.services,currentService:a,currentServiceId:s.currentServiceId,addService:r,updateService:l,removeService:c,switchService:f}},Rk=({className:s="",onManageServices:n})=>{const{t:a}=Fn("components"),{services:r,currentService:l,switchService:c}=lo(),[f,h]=S.useState({isConnected:!1,isLoading:!0}),[g,m]=S.useState(!1),[y,b]=S.useState(!1),[x,C]=S.useState([]),T=S.useRef(null),k=async()=>{try{const B=vn(),V=await fetch(`${B}/health`,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(3e3)});if(V.ok){const I=await V.json();h({isConnected:!0,isLoading:!1,version:I.version,name:I.name})}else h({isConnected:!1,isLoading:!1})}catch{h({isConnected:!1,isLoading:!1})}},A=async()=>{const B=await Promise.all(r.map(async V=>{try{const I=`${V.url}/api/health`,L=await fetch(I,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(3e3)});return{...V,isOnline:L.ok,isCurrent:V.id===l?.id}}catch{return{...V,isOnline:!1,isCurrent:V.id===l?.id}}}));C(B)};S.useEffect(()=>{const B=V=>{T.current&&!T.current.contains(V.target)&&(b(!1),m(!1))};return document.addEventListener("mousedown",B),()=>document.removeEventListener("mousedown",B)},[]),S.useEffect(()=>{k(),A();const B=setInterval(()=>{k(),A()},3e4);return()=>clearInterval(B)},[r,l]);const M=async B=>{const V=r.find(I=>I.id===B);if(V&&V.id!==l?.id)try{const I=`${V.url}/api/health`;(await fetch(I,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(5e3)})).ok&&(c(V.id),b(!1),window.location.reload())}catch{c(V.id),b(!1),window.location.reload()}},j=()=>f.isLoading?p.jsx("div",{className:"w-4 h-4 border-2 border-gray-400 border-t-transparent rounded-full animate-spin"}):f.isConnected?p.jsx(En,{className:"w-4 h-4 text-green-500"}):p.jsx(Xl,{className:"w-4 h-4 text-red-500"}),D=()=>f.isLoading?a("serviceStatusIndicator.checking"):f.isConnected?l?.name||a("serviceStatusIndicator.connected"):l?.name||a("serviceStatusIndicator.disconnected"),q=()=>f.isLoading?"text-gray-500":f.isConnected?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400";return p.jsxs("div",{className:`relative w-full ${s}`,ref:T,children:[p.jsxs("div",{className:"flex items-center w-full px-3 py-2 hover:bg-gray-50 dark:hover:bg-gray-700/50 transition-colors rounded-md",children:[p.jsxs("div",{className:"flex items-center space-x-2 flex-1 min-w-0 overflow-hidden",onMouseEnter:()=>m(!0),onMouseLeave:()=>m(!1),children:[p.jsx(io,{className:"w-4 h-4 text-gray-500 flex-shrink-0"}),p.jsx("span",{className:`font-medium text-sm truncate ${q()}`,children:D()}),p.jsx("span",{className:"flex-shrink-0",children:j()})]}),p.jsxs("div",{className:"flex items-center flex-shrink-0 ml-1",children:[p.jsx("button",{onClick:()=>b(!y),className:`p-1 text-gray-500 hover:text-gray-700 dark:hover:text-gray-300
46
- hover:bg-gray-100 dark:hover:bg-gray-600 rounded transition-colors`,title:a("serviceStatusIndicator.quickSwitch"),children:p.jsx(yw,{className:"w-3.5 h-3.5"})}),p.jsx("button",{onClick:B=>{B.stopPropagation(),n?.()},className:`p-1 text-gray-500 hover:text-gray-700 dark:hover:text-gray-300
47
- hover:bg-gray-100 dark:hover:bg-gray-600 rounded transition-colors`,title:a("serviceStatusIndicator.manageServices"),children:p.jsx(hc,{className:"w-3.5 h-3.5"})})]})]}),y&&p.jsx("div",{className:`absolute bottom-full left-0 right-0 mb-2 bg-white dark:bg-gray-800
48
- border border-gray-200 dark:border-gray-600 rounded-lg shadow-lg z-50 max-h-48 overflow-y-auto`,children:p.jsxs("div",{className:"p-2",children:[p.jsx("div",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 px-2 py-1 mb-1",children:a("serviceStatusIndicator.quickSwitch")}),x.map(B=>p.jsxs("button",{onClick:()=>M(B.id),className:`w-full flex items-center justify-between px-2 py-1.5 text-sm rounded transition-colors ${B.isCurrent?"bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300":"text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-700"}`,children:[p.jsxs("div",{className:"flex items-center space-x-2 flex-1 min-w-0",children:[p.jsx("span",{className:"truncate",children:B.name}),B.isCurrent&&p.jsx(En,{className:"w-3 h-3 text-blue-500 flex-shrink-0"})]}),p.jsx("div",{className:"flex items-center space-x-1",children:B.isOnline!==void 0&&(B.isOnline?p.jsx(En,{className:"w-3 h-3 text-green-500"}):p.jsx(Xl,{className:"w-3 h-3 text-red-500"}))})]},B.id))]})}),g&&!y&&p.jsxs("div",{className:`absolute bottom-full left-0 mb-2 p-3 bg-gray-900 dark:bg-gray-100
45
+ Please change the parent <Route path="${j}"> to <Route path="${j==="/"?"*":`${j}/*`}">.`)}let x=Nn(),C;if(n){let j=typeof n=="string"?Es(n):n;We(y==="/"||j.pathname?.startsWith(y),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${y}" but pathname "${j.pathname}" was given in the \`location\` prop.`),C=j}else C=x;let E=C.pathname||"/",k=E;if(y!=="/"){let j=y.replace(/^\//,"").split("/");k="/"+E.replace(/^\//,"").split("/").slice(j.length).join("/")}let A=hb(s,{pathname:k});_n(b||A!=null,`No routes matched location "${C.pathname}${C.search}${C.hash}" `),_n(A==null||A[A.length-1].route.element!==void 0||A[A.length-1].route.Component!==void 0||A[A.length-1].route.lazy!==void 0,`Matched leaf route at location "${C.pathname}${C.search}${C.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let M=BC(A&&A.map(j=>Object.assign({},j,{params:Object.assign({},g,j.params),pathname:fa([y,c.encodeLocation?c.encodeLocation(j.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:j.pathname]),pathnameBase:j.pathnameBase==="/"?y:fa([y,c.encodeLocation?c.encodeLocation(j.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:j.pathnameBase])})),f,a,r,l);return n&&M?S.createElement(ro.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...C},navigationType:"POP"}},M):M}function UC(){let s=KC(),n=MC(s)?`${s.status} ${s.statusText}`:s instanceof Error?s.message:JSON.stringify(s),a=s instanceof Error?s.stack:null,r="rgba(200,200,200, 0.5)",l={padding:"0.5rem",backgroundColor:r},c={padding:"2px 4px",backgroundColor:r},f=null;return console.error("Error handled by React Router default ErrorBoundary:",s),f=S.createElement(S.Fragment,null,S.createElement("p",null,"💿 Hey developer 👋"),S.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",S.createElement("code",{style:c},"ErrorBoundary")," or"," ",S.createElement("code",{style:c},"errorElement")," prop on your route.")),S.createElement(S.Fragment,null,S.createElement("h2",null,"Unexpected Application Error!"),S.createElement("h3",{style:{fontStyle:"italic"}},n),a?S.createElement("pre",{style:l},a):null,f)}var IC=S.createElement(UC,null),HC=class extends S.Component{constructor(s){super(s),this.state={location:s.location,revalidation:s.revalidation,error:s.error}}static getDerivedStateFromError(s){return{error:s}}static getDerivedStateFromProps(s,n){return n.location!==s.location||n.revalidation!=="idle"&&s.revalidation==="idle"?{error:s.error,location:s.location,revalidation:s.revalidation}:{error:s.error!==void 0?s.error:n.error,location:n.location,revalidation:s.revalidation||n.revalidation}}componentDidCatch(s,n){this.props.unstable_onError?this.props.unstable_onError(s,n):console.error("React Router caught the following error during render",s)}render(){return this.state.error!==void 0?S.createElement(Sn.Provider,{value:this.props.routeContext},S.createElement(ah.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function qC({routeContext:s,match:n,children:a}){let r=S.useContext(Ns);return r&&r.static&&r.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=n.route.id),S.createElement(Sn.Provider,{value:s},a)}function BC(s,n=[],a=null,r=null,l=null){if(s==null){if(!a)return null;if(a.errors)s=a.matches;else if(n.length===0&&!a.initialized&&a.matches.length>0)s=a.matches;else return null}let c=s,f=a?.errors;if(f!=null){let m=c.findIndex(y=>y.route.id&&f?.[y.route.id]!==void 0);We(m>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(f).join(",")}`),c=c.slice(0,Math.min(c.length,m+1))}let h=!1,g=-1;if(a)for(let m=0;m<c.length;m++){let y=c[m];if((y.route.HydrateFallback||y.route.hydrateFallbackElement)&&(g=m),y.route.id){let{loaderData:b,errors:x}=a,C=y.route.loader&&!b.hasOwnProperty(y.route.id)&&(!x||x[y.route.id]===void 0);if(y.route.lazy||C){h=!0,g>=0?c=c.slice(0,g+1):c=[c[0]];break}}}return c.reduceRight((m,y,b)=>{let x,C=!1,E=null,k=null;a&&(x=f&&y.route.id?f[y.route.id]:void 0,E=y.route.errorElement||IC,h&&(g<0&&b===0?(Sb("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),C=!0,k=null):g===b&&(C=!0,k=y.route.hydrateFallbackElement||null)));let A=n.concat(c.slice(0,b+1)),M=()=>{let j;return x?j=E:C?j=k:y.route.Component?j=S.createElement(y.route.Component,null):y.route.element?j=y.route.element:j=m,S.createElement(qC,{match:y,routeContext:{outlet:m,matches:A,isDataRoute:a!=null},children:j})};return a&&(y.route.ErrorBoundary||y.route.errorElement||b===0)?S.createElement(HC,{location:a.location,revalidation:a.revalidation,component:E,error:x,children:M(),routeContext:{outlet:null,matches:A,isDataRoute:!0},unstable_onError:r}):M()},null)}function ih(s){return`${s} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function $C(s){let n=S.useContext(Ns);return We(n,ih(s)),n}function VC(s){let n=S.useContext(mc);return We(n,ih(s)),n}function GC(s){let n=S.useContext(Sn);return We(n,ih(s)),n}function sh(s){let n=GC(s),a=n.matches[n.matches.length-1];return We(a.route.id,`${s} can only be used on routes that contain a unique "id"`),a.route.id}function YC(){return sh("useRouteId")}function KC(){let s=S.useContext(ah),n=VC("useRouteError"),a=sh("useRouteError");return s!==void 0?s:n.errors?.[a]}function XC(){let{router:s}=$C("useNavigate"),n=sh("useNavigate"),a=S.useRef(!1);return bb(()=>{a.current=!0}),S.useCallback(async(l,c={})=>{_n(a.current,yb),a.current&&(typeof l=="number"?s.navigate(l):await s.navigate(l,{fromRouteId:n,...c}))},[s,n])}var Hv={};function Sb(s,n,a){!n&&!Hv[s]&&(Hv[s]=!0,_n(!1,a))}S.memo(QC);function QC({routes:s,future:n,state:a,unstable_onError:r}){return _b(s,void 0,a,r,n)}function ZC({to:s,replace:n,state:a,relative:r}){We(Ms(),"<Navigate> may be used only in the context of a <Router> component.");let{static:l}=S.useContext(En);_n(!l,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:c}=S.useContext(Sn),{pathname:f}=Nn(),h=oo(),g=nh(s,th(c),f,r==="path"),m=JSON.stringify(g);return S.useEffect(()=>{h(JSON.parse(m),{replace:n,state:a,relative:r})},[h,m,r,n,a]),null}function XP(s){return FC(s.context)}function Oe(s){We(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function WC({basename:s="/",children:n=null,location:a,navigationType:r="POP",navigator:l,static:c=!1}){We(!Ms(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let f=s.replace(/^\/*/,"/"),h=S.useMemo(()=>({basename:f,navigator:l,static:c,future:{}}),[f,l,c]);typeof a=="string"&&(a=Es(a));let{pathname:g="/",search:m="",hash:y="",state:b=null,key:x="default"}=a,C=S.useMemo(()=>{let E=pa(g,f);return E==null?null:{location:{pathname:E,search:m,hash:y,state:b,key:x},navigationType:r}},[f,g,m,y,b,x,r]);return _n(C!=null,`<Router basename="${f}"> is not able to match the URL "${g}${m}${y}" because it does not start with the basename, so the <Router> won't render anything.`),C==null?null:S.createElement(En.Provider,{value:h},S.createElement(ro.Provider,{children:n,value:C}))}function JC({children:s,location:n}){return zC(vf(s),n)}function vf(s,n=[]){let a=[];return S.Children.forEach(s,(r,l)=>{if(!S.isValidElement(r))return;let c=[...n,l];if(r.type===S.Fragment){a.push.apply(a,vf(r.props.children,c));return}We(r.type===Oe,`[${typeof r.type=="string"?r.type:r.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),We(!r.props.index||!r.props.children,"An index route cannot have child routes.");let f={id:r.props.id||c.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,middleware:r.props.middleware,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(f.children=vf(r.props.children,c)),a.push(f)}),a}var Bl="get",$l="application/x-www-form-urlencoded";function gc(s){return s!=null&&typeof s.tagName=="string"}function ek(s){return gc(s)&&s.tagName.toLowerCase()==="button"}function tk(s){return gc(s)&&s.tagName.toLowerCase()==="form"}function nk(s){return gc(s)&&s.tagName.toLowerCase()==="input"}function ak(s){return!!(s.metaKey||s.altKey||s.ctrlKey||s.shiftKey)}function ik(s,n){return s.button===0&&(!n||n==="_self")&&!ak(s)}function yf(s=""){return new URLSearchParams(typeof s=="string"||Array.isArray(s)||s instanceof URLSearchParams?s:Object.keys(s).reduce((n,a)=>{let r=s[a];return n.concat(Array.isArray(r)?r.map(l=>[a,l]):[[a,r]])},[]))}function sk(s,n){let a=yf(s);return n&&n.forEach((r,l)=>{a.has(l)||n.getAll(l).forEach(c=>{a.append(l,c)})}),a}var Rl=null;function rk(){if(Rl===null)try{new FormData(document.createElement("form"),0),Rl=!1}catch{Rl=!0}return Rl}var ok=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Hd(s){return s!=null&&!ok.has(s)?(_n(!1,`"${s}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${$l}"`),null):s}function lk(s,n){let a,r,l,c,f;if(tk(s)){let h=s.getAttribute("action");r=h?pa(h,n):null,a=s.getAttribute("method")||Bl,l=Hd(s.getAttribute("enctype"))||$l,c=new FormData(s)}else if(ek(s)||nk(s)&&(s.type==="submit"||s.type==="image")){let h=s.form;if(h==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let g=s.getAttribute("formaction")||h.getAttribute("action");if(r=g?pa(g,n):null,a=s.getAttribute("formmethod")||h.getAttribute("method")||Bl,l=Hd(s.getAttribute("formenctype"))||Hd(h.getAttribute("enctype"))||$l,c=new FormData(h,s),!rk()){let{name:m,type:y,value:b}=s;if(y==="image"){let x=m?`${m}.`:"";c.append(`${x}x`,"0"),c.append(`${x}y`,"0")}else m&&c.append(m,b)}}else{if(gc(s))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');a=Bl,r=null,l=$l,f=s}return c&&l==="text/plain"&&(f=c,c=void 0),{action:r,method:a.toLowerCase(),encType:l,formData:c,body:f}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function rh(s,n){if(s===!1||s===null||typeof s>"u")throw new Error(n)}function ck(s,n,a){let r=typeof s=="string"?new URL(s,typeof window>"u"?"server://singlefetch/":window.location.origin):s;return r.pathname==="/"?r.pathname=`_root.${a}`:n&&pa(r.pathname,n)==="/"?r.pathname=`${n.replace(/\/$/,"")}/_root.${a}`:r.pathname=`${r.pathname.replace(/\/$/,"")}.${a}`,r}async function uk(s,n){if(s.id in n)return n[s.id];try{let a=await import(s.module);return n[s.id]=a,a}catch(a){return console.error(`Error loading route module \`${s.module}\`, reloading page...`),console.error(a),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function dk(s){return s==null?!1:s.href==null?s.rel==="preload"&&typeof s.imageSrcSet=="string"&&typeof s.imageSizes=="string":typeof s.rel=="string"&&typeof s.href=="string"}async function fk(s,n,a){let r=await Promise.all(s.map(async l=>{let c=n.routes[l.route.id];if(c){let f=await uk(c,a);return f.links?f.links():[]}return[]}));return gk(r.flat(1).filter(dk).filter(l=>l.rel==="stylesheet"||l.rel==="preload").map(l=>l.rel==="stylesheet"?{...l,rel:"prefetch",as:"style"}:{...l,rel:"prefetch"}))}function qv(s,n,a,r,l,c){let f=(g,m)=>a[m]?g.route.id!==a[m].route.id:!0,h=(g,m)=>a[m].pathname!==g.pathname||a[m].route.path?.endsWith("*")&&a[m].params["*"]!==g.params["*"];return c==="assets"?n.filter((g,m)=>f(g,m)||h(g,m)):c==="data"?n.filter((g,m)=>{let y=r.routes[g.route.id];if(!y||!y.hasLoader)return!1;if(f(g,m)||h(g,m))return!0;if(g.route.shouldRevalidate){let b=g.route.shouldRevalidate({currentUrl:new URL(l.pathname+l.search+l.hash,window.origin),currentParams:a[0]?.params||{},nextUrl:new URL(s,window.origin),nextParams:g.params,defaultShouldRevalidate:!0});if(typeof b=="boolean")return b}return!0}):[]}function hk(s,n,{includeHydrateFallback:a}={}){return pk(s.map(r=>{let l=n.routes[r.route.id];if(!l)return[];let c=[l.module];return l.clientActionModule&&(c=c.concat(l.clientActionModule)),l.clientLoaderModule&&(c=c.concat(l.clientLoaderModule)),a&&l.hydrateFallbackModule&&(c=c.concat(l.hydrateFallbackModule)),l.imports&&(c=c.concat(l.imports)),c}).flat(1))}function pk(s){return[...new Set(s)]}function mk(s){let n={},a=Object.keys(s).sort();for(let r of a)n[r]=s[r];return n}function gk(s,n){let a=new Set;return new Set(n),s.reduce((r,l)=>{let c=JSON.stringify(mk(l));return a.has(c)||(a.add(c),r.push({key:c,link:l})),r},[])}function xb(){let s=S.useContext(Ns);return rh(s,"You must render this element inside a <DataRouterContext.Provider> element"),s}function vk(){let s=S.useContext(mc);return rh(s,"You must render this element inside a <DataRouterStateContext.Provider> element"),s}var oh=S.createContext(void 0);oh.displayName="FrameworkContext";function wb(){let s=S.useContext(oh);return rh(s,"You must render this element inside a <HydratedRouter> element"),s}function yk(s,n){let a=S.useContext(oh),[r,l]=S.useState(!1),[c,f]=S.useState(!1),{onFocus:h,onBlur:g,onMouseEnter:m,onMouseLeave:y,onTouchStart:b}=n,x=S.useRef(null);S.useEffect(()=>{if(s==="render"&&f(!0),s==="viewport"){let k=M=>{M.forEach(j=>{f(j.isIntersecting)})},A=new IntersectionObserver(k,{threshold:.5});return x.current&&A.observe(x.current),()=>{A.disconnect()}}},[s]),S.useEffect(()=>{if(r){let k=setTimeout(()=>{f(!0)},100);return()=>{clearTimeout(k)}}},[r]);let C=()=>{l(!0)},E=()=>{l(!1),f(!1)};return a?s!=="intent"?[c,x,{}]:[c,x,{onFocus:Nr(h,C),onBlur:Nr(g,E),onMouseEnter:Nr(m,C),onMouseLeave:Nr(y,E),onTouchStart:Nr(b,C)}]:[!1,x,{}]}function Nr(s,n){return a=>{s&&s(a),a.defaultPrevented||n(a)}}function bk({page:s,...n}){let{router:a}=xb(),r=S.useMemo(()=>hb(a.routes,s,a.basename),[a.routes,s,a.basename]);return r?S.createElement(Sk,{page:s,matches:r,...n}):null}function _k(s){let{manifest:n,routeModules:a}=wb(),[r,l]=S.useState([]);return S.useEffect(()=>{let c=!1;return fk(s,n,a).then(f=>{c||l(f)}),()=>{c=!0}},[s,n,a]),r}function Sk({page:s,matches:n,...a}){let r=Nn(),{manifest:l,routeModules:c}=wb(),{basename:f}=xb(),{loaderData:h,matches:g}=vk(),m=S.useMemo(()=>qv(s,n,g,l,r,"data"),[s,n,g,l,r]),y=S.useMemo(()=>qv(s,n,g,l,r,"assets"),[s,n,g,l,r]),b=S.useMemo(()=>{if(s===r.pathname+r.search+r.hash)return[];let E=new Set,k=!1;if(n.forEach(M=>{let j=l.routes[M.route.id];!j||!j.hasLoader||(!m.some(D=>D.route.id===M.route.id)&&M.route.id in h&&c[M.route.id]?.shouldRevalidate||j.hasClientLoader?k=!0:E.add(M.route.id))}),E.size===0)return[];let A=ck(s,f,"data");return k&&E.size>0&&A.searchParams.set("_routes",n.filter(M=>E.has(M.route.id)).map(M=>M.route.id).join(",")),[A.pathname+A.search]},[f,h,r,l,m,n,s,c]),x=S.useMemo(()=>hk(y,l),[y,l]),C=_k(y);return S.createElement(S.Fragment,null,b.map(E=>S.createElement("link",{key:E,rel:"prefetch",as:"fetch",href:E,...a})),x.map(E=>S.createElement("link",{key:E,rel:"modulepreload",href:E,...a})),C.map(({key:E,link:k})=>S.createElement("link",{key:E,nonce:a.nonce,...k})))}function xk(...s){return n=>{s.forEach(a=>{typeof a=="function"?a(n):a!=null&&(a.current=n)})}}var Cb=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Cb&&(window.__reactRouterVersion="7.9.4")}catch{}function wk({basename:s,children:n,window:a}){let r=S.useRef();r.current==null&&(r.current=oC({window:a,v5Compat:!0}));let l=r.current,[c,f]=S.useState({action:l.action,location:l.location}),h=S.useCallback(g=>{S.startTransition(()=>f(g))},[f]);return S.useLayoutEffect(()=>l.listen(h),[l,h]),S.createElement(WC,{basename:s,children:n,location:c.location,navigationType:c.action,navigator:l})}var kb=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ab=S.forwardRef(function({onClick:n,discover:a="render",prefetch:r="none",relative:l,reloadDocument:c,replace:f,state:h,target:g,to:m,preventScrollReset:y,viewTransition:b,...x},C){let{basename:E}=S.useContext(En),k=typeof m=="string"&&kb.test(m),A,M=!1;if(typeof m=="string"&&k&&(A=m,Cb))try{let Z=new URL(window.location.href),re=m.startsWith("//")?new URL(Z.protocol+m):new URL(m),Se=pa(re.pathname,E);re.origin===Z.origin&&Se!=null?m=Se+re.search+re.hash:M=!0}catch{_n(!1,`<Link to="${m}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let j=PC(m,{relative:l}),[D,q,B]=yk(r,x),V=Ak(m,{replace:f,state:h,target:g,preventScrollReset:y,relative:l,viewTransition:b});function I(Z){n&&n(Z),Z.defaultPrevented||V(Z)}let L=S.createElement("a",{...x,...B,href:A||j,onClick:M||c?n:I,ref:xk(C,q),target:g,"data-discover":!k&&a==="render"?"true":void 0});return D&&!k?S.createElement(S.Fragment,null,L,S.createElement(bk,{page:j})):L});Ab.displayName="Link";var bf=S.forwardRef(function({"aria-current":n="page",caseSensitive:a=!1,className:r="",end:l=!1,style:c,to:f,viewTransition:h,children:g,...m},y){let b=lo(f,{relative:m.relative}),x=Nn(),C=S.useContext(mc),{navigator:E,basename:k}=S.useContext(En),A=C!=null&&jk(b)&&h===!0,M=E.encodeLocation?E.encodeLocation(b).pathname:b.pathname,j=x.pathname,D=C&&C.navigation&&C.navigation.location?C.navigation.location.pathname:null;a||(j=j.toLowerCase(),D=D?D.toLowerCase():null,M=M.toLowerCase()),D&&k&&(D=pa(D,k)||D);const q=M!=="/"&&M.endsWith("/")?M.length-1:M.length;let B=j===M||!l&&j.startsWith(M)&&j.charAt(q)==="/",V=D!=null&&(D===M||!l&&D.startsWith(M)&&D.charAt(M.length)==="/"),I={isActive:B,isPending:V,isTransitioning:A},L=B?n:void 0,Z;typeof r=="function"?Z=r(I):Z=[r,B?"active":null,V?"pending":null,A?"transitioning":null].filter(Boolean).join(" ");let re=typeof c=="function"?c(I):c;return S.createElement(Ab,{...m,"aria-current":L,className:Z,ref:y,style:re,to:f,viewTransition:h},typeof g=="function"?g(I):g)});bf.displayName="NavLink";var Ck=S.forwardRef(({discover:s="render",fetcherKey:n,navigate:a,reloadDocument:r,replace:l,state:c,method:f=Bl,action:h,onSubmit:g,relative:m,preventScrollReset:y,viewTransition:b,...x},C)=>{let E=Nk(),k=Mk(h,{relative:m}),A=f.toLowerCase()==="get"?"get":"post",M=typeof h=="string"&&kb.test(h),j=D=>{if(g&&g(D),D.defaultPrevented)return;D.preventDefault();let q=D.nativeEvent.submitter,B=q?.getAttribute("formmethod")||f;E(q||D.currentTarget,{fetcherKey:n,method:B,navigate:a,replace:l,state:c,relative:m,preventScrollReset:y,viewTransition:b})};return S.createElement("form",{ref:C,method:A,action:k,onSubmit:r?g:j,...x,"data-discover":!M&&s==="render"?"true":void 0})});Ck.displayName="Form";function kk(s){return`${s} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Tb(s){let n=S.useContext(Ns);return We(n,kk(s)),n}function Ak(s,{target:n,replace:a,state:r,preventScrollReset:l,relative:c,viewTransition:f}={}){let h=oo(),g=Nn(),m=lo(s,{relative:c});return S.useCallback(y=>{if(ik(y,n)){y.preventDefault();let b=a!==void 0?a:Wr(g)===Wr(m);h(s,{replace:b,state:r,preventScrollReset:l,relative:c,viewTransition:f})}},[g,h,m,a,r,n,s,l,c,f])}function QP(s){_n(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let n=S.useRef(yf(s)),a=S.useRef(!1),r=Nn(),l=S.useMemo(()=>sk(r.search,a.current?null:n.current),[r.search]),c=oo(),f=S.useCallback((h,g)=>{const m=yf(typeof h=="function"?h(new URLSearchParams(l)):h);a.current=!0,c("?"+m,g)},[c,l]);return[l,f]}var Tk=0,Ek=()=>`__${String(++Tk)}__`;function Nk(){let{router:s}=Tb("useSubmit"),{basename:n}=S.useContext(En),a=YC();return S.useCallback(async(r,l={})=>{let{action:c,method:f,encType:h,formData:g,body:m}=lk(r,n);if(l.navigate===!1){let y=l.fetcherKey||Ek();await s.fetch(y,a,l.action||c,{preventScrollReset:l.preventScrollReset,formData:g,body:m,formMethod:l.method||f,formEncType:l.encType||h,flushSync:l.flushSync})}else await s.navigate(l.action||c,{preventScrollReset:l.preventScrollReset,formData:g,body:m,formMethod:l.method||f,formEncType:l.encType||h,replace:l.replace,state:l.state,fromRouteId:a,flushSync:l.flushSync,viewTransition:l.viewTransition})},[s,n,a])}function Mk(s,{relative:n}={}){let{basename:a}=S.useContext(En),r=S.useContext(Sn);We(r,"useFormAction must be used inside a RouteContext");let[l]=r.matches.slice(-1),c={...lo(s||".",{relative:n})},f=Nn();if(s==null){c.search=f.search;let h=new URLSearchParams(c.search),g=h.getAll("index");if(g.some(y=>y==="")){h.delete("index"),g.filter(b=>b).forEach(b=>h.append("index",b));let y=h.toString();c.search=y?`?${y}`:""}}return(!s||s===".")&&l.route.index&&(c.search=c.search?c.search.replace(/^\?/,"?index&"):"?index"),a!=="/"&&(c.pathname=c.pathname==="/"?a:fa([a,c.pathname])),Wr(c)}function jk(s,{relative:n}={}){let a=S.useContext(vb);We(a!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=Tb("useViewTransitionState"),l=lo(s,{relative:n});if(!a.isTransitioning)return!1;let c=pa(a.currentLocation.pathname,r)||a.currentLocation.pathname,f=pa(a.nextLocation.pathname,r)||a.nextLocation.pathname;return Zl(l.pathname,f)!=null||Zl(l.pathname,c)!=null}var lh=fb();const Rk=sw(lh),co=()=>{const[s,n]=S.useState(ow());S.useEffect(()=>{lw(s)},[s]);const a=S.useMemo(()=>cw(s),[s.currentServiceId,s.services]),r=h=>{const g={...h,id:Date.now().toString()};return n(m=>({...m,services:[...m.services,g]})),g},l=(h,g)=>{n(m=>fw(m,h,g))},c=h=>{n(g=>dw(g,h))},f=h=>{n(g=>uw(g,h))};return{services:s.services,currentService:a,currentServiceId:s.currentServiceId,addService:r,updateService:l,removeService:c,switchService:f}},Dk=({className:s="",onManageServices:n})=>{const{t:a}=Fn("components"),{services:r,currentService:l,switchService:c}=co(),[f,h]=S.useState({isConnected:!1,isLoading:!0}),[g,m]=S.useState(!1),[y,b]=S.useState(!1),[x,C]=S.useState([]),E=S.useRef(null),k=async()=>{try{const B=vn(),V=await fetch(`${B}/health`,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(3e3)});if(V.ok){const I=await V.json();h({isConnected:!0,isLoading:!1,version:I.version,name:I.name})}else h({isConnected:!1,isLoading:!1})}catch{h({isConnected:!1,isLoading:!1})}},A=async()=>{const B=await Promise.all(r.map(async V=>{try{const I=`${wi(V.url)}/api/health`,L=await fetch(I,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(3e3)});return{...V,isOnline:L.ok,isCurrent:V.id===l?.id}}catch{return{...V,isOnline:!1,isCurrent:V.id===l?.id}}}));C(B)};S.useEffect(()=>{const B=V=>{E.current&&!E.current.contains(V.target)&&(b(!1),m(!1))};return document.addEventListener("mousedown",B),()=>document.removeEventListener("mousedown",B)},[]),S.useEffect(()=>{k(),A();const B=setInterval(()=>{k(),A()},3e4);return()=>clearInterval(B)},[r,l]);const M=async B=>{const V=r.find(I=>I.id===B);if(V&&V.id!==l?.id)try{const I=`${wi(V.url)}/api/health`;(await fetch(I,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(5e3)})).ok&&(c(V.id),b(!1),window.location.reload())}catch{c(V.id),b(!1),window.location.reload()}},j=()=>f.isLoading?p.jsx("div",{className:"w-4 h-4 border-2 border-gray-400 border-t-transparent rounded-full animate-spin"}):f.isConnected?p.jsx(Tn,{className:"w-4 h-4 text-green-500"}):p.jsx(Ql,{className:"w-4 h-4 text-red-500"}),D=()=>f.isLoading?a("serviceStatusIndicator.checking"):f.isConnected?l?.name||a("serviceStatusIndicator.connected"):l?.name||a("serviceStatusIndicator.disconnected"),q=()=>f.isLoading?"text-gray-500":f.isConnected?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400";return p.jsxs("div",{className:`relative w-full ${s}`,ref:E,children:[p.jsxs("div",{className:"flex items-center w-full px-3 py-2 hover:bg-gray-50 dark:hover:bg-gray-700/50 transition-colors rounded-md",children:[p.jsxs("div",{className:"flex items-center space-x-2 flex-1 min-w-0 overflow-hidden",onMouseEnter:()=>m(!0),onMouseLeave:()=>m(!1),children:[p.jsx(so,{className:"w-4 h-4 text-gray-500 flex-shrink-0"}),p.jsx("span",{className:`font-medium text-sm truncate ${q()}`,children:D()}),p.jsx("span",{className:"flex-shrink-0",children:j()})]}),p.jsxs("div",{className:"flex items-center flex-shrink-0 ml-1",children:[p.jsx("button",{onClick:()=>b(!y),className:`p-1 text-gray-500 hover:text-gray-700 dark:hover:text-gray-300
46
+ hover:bg-gray-100 dark:hover:bg-gray-600 rounded transition-colors`,title:a("serviceStatusIndicator.quickSwitch"),children:p.jsx(bw,{className:"w-3.5 h-3.5"})}),p.jsx("button",{onClick:B=>{B.stopPropagation(),n?.()},className:`p-1 text-gray-500 hover:text-gray-700 dark:hover:text-gray-300
47
+ hover:bg-gray-100 dark:hover:bg-gray-600 rounded transition-colors`,title:a("serviceStatusIndicator.manageServices"),children:p.jsx(pc,{className:"w-3.5 h-3.5"})})]})]}),y&&p.jsx("div",{className:`absolute bottom-full left-0 right-0 mb-2 bg-white dark:bg-gray-800
48
+ border border-gray-200 dark:border-gray-600 rounded-lg shadow-lg z-50 max-h-48 overflow-y-auto`,children:p.jsxs("div",{className:"p-2",children:[p.jsx("div",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 px-2 py-1 mb-1",children:a("serviceStatusIndicator.quickSwitch")}),x.map(B=>p.jsxs("button",{onClick:()=>M(B.id),className:`w-full flex items-center justify-between px-2 py-1.5 text-sm rounded transition-colors ${B.isCurrent?"bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300":"text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-700"}`,children:[p.jsxs("div",{className:"flex items-center space-x-2 flex-1 min-w-0",children:[p.jsx("span",{className:"truncate",children:B.name}),B.isCurrent&&p.jsx(Tn,{className:"w-3 h-3 text-blue-500 flex-shrink-0"})]}),p.jsx("div",{className:"flex items-center space-x-1",children:B.isOnline!==void 0&&(B.isOnline?p.jsx(Tn,{className:"w-3 h-3 text-green-500"}):p.jsx(Ql,{className:"w-3 h-3 text-red-500"}))})]},B.id))]})}),g&&!y&&p.jsxs("div",{className:`absolute bottom-full left-0 mb-2 p-3 bg-gray-900 dark:bg-gray-100
49
49
  text-white dark:text-gray-900 text-xs rounded-lg shadow-lg z-50 w-64`,children:[p.jsxs("div",{className:"space-y-2",children:[p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsx("span",{className:"font-medium",children:l?.name||"Unknown Service"}),j()]}),l?.url&&p.jsx("div",{className:"text-gray-300 dark:text-gray-600 break-all",children:l.url}),f.version&&p.jsxs("div",{className:"flex justify-between",children:[p.jsxs("span",{children:[a("serviceStatusIndicator.version"),":"]}),p.jsxs("span",{children:["v",f.version]})]}),f.name&&p.jsxs("div",{className:"flex justify-between",children:[p.jsxs("span",{children:[a("serviceStatusIndicator.backendName"),":"]}),p.jsx("span",{children:f.name})]}),p.jsxs("div",{className:"flex justify-between",children:[p.jsxs("span",{children:[a("serviceStatusIndicator.status"),":"]}),p.jsx("span",{className:f.isConnected?"text-green-400 dark:text-green-600":"text-red-400 dark:text-red-600",children:f.isConnected?a("serviceStatusIndicator.connected"):a("serviceStatusIndicator.disconnected")})]}),p.jsxs("div",{className:"text-gray-400 dark:text-gray-500 text-xs pt-1 border-t border-gray-700 dark:border-gray-300 space-y-1",children:[p.jsx("div",{children:a("serviceStatusIndicator.clickToSwitch")}),p.jsx("div",{children:a("serviceStatusIndicator.clickToManage")})]})]}),p.jsx("div",{className:`absolute top-full left-4 w-0 h-0 border-l-4 border-r-4 border-t-4
50
- border-transparent border-t-gray-900 dark:border-t-gray-100`})]})]})},Dk=3,Pk=5e3;let Hd=0;function Ok(){return Hd=(Hd+1)%Number.MAX_SAFE_INTEGER,Hd.toString()}const qd=new Map,qv=s=>{if(qd.has(s))return;const n=setTimeout(()=>{qd.delete(s),Yr({type:"REMOVE_TOAST",toastId:s})},Pk);qd.set(s,n)},Lk=(s,n)=>{switch(n.type){case"ADD_TOAST":return{...s,toasts:[n.toast,...s.toasts].slice(0,Dk)};case"UPDATE_TOAST":return{...s,toasts:s.toasts.map(a=>a.id===n.toast.id?{...a,...n.toast}:a)};case"DISMISS_TOAST":{const{toastId:a}=n;return a?qv(a):s.toasts.forEach(r=>{qv(r.id)}),{...s,toasts:s.toasts.map(r=>r.id===a||a===void 0?{...r,open:!1}:r)}}case"REMOVE_TOAST":return n.toastId===void 0?{...s,toasts:[]}:{...s,toasts:s.toasts.filter(a=>a.id!==n.toastId)}}},$l=[];let Vl={toasts:[]};function Yr(s){Vl=Lk(Vl,s),$l.forEach(n=>{n(Vl)})}function gc({...s}){const n=Ok(),a=l=>Yr({type:"UPDATE_TOAST",toast:{...l,id:n}}),r=()=>Yr({type:"DISMISS_TOAST",toastId:n});return Yr({type:"ADD_TOAST",toast:{...s,id:n,open:!0,onOpenChange:l=>{l||r()}}}),{id:n,dismiss:r,update:a}}function Fk(){const[s,n]=S.useState(Vl);return S.useEffect(()=>($l.push(n),()=>{const a=$l.indexOf(n);a>-1&&$l.splice(a,1)}),[s]),{...s,toast:gc,dismiss:a=>Yr({type:"DISMISS_TOAST",toastId:a})}}function qa(s,n){gc({title:s,description:n,variant:"default"})}function ds(s,n){gc({title:s,description:n,variant:"destructive"})}function YP(s,n){gc({title:s,description:n,variant:"default"})}const zk=({isOpen:s,onClose:n})=>{const{t:a}=Fn("components"),{services:r,currentService:l,switchService:c,addService:f,updateService:h,removeService:g}=lo(),{getToken:m,removeToken:y}=Wf(),[b,x]=S.useState([]),[C,T]=S.useState(!1),[k,A]=S.useState(null),[M,j]=S.useState({name:"",url:""}),[D,q]=S.useState(!1),[B,V]=S.useState(null),[I,L]=S.useState(null),[Z,re]=S.useState(null),[Se,ge]=S.useState(!1),[De,oe]=S.useState(""),[ye,F]=S.useState(""),[K,Y]=S.useState(!1),[he,pe]=S.useState(!1),Pe=async()=>{const Q=await Promise.all(r.map(async be=>{try{const xe=`${be.url}/api/health`,bt=await fetch(xe,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(5e3)});if(bt.ok){const Mt=await bt.json();return{...be,isOnline:!0,version:Mt.version,backendName:Mt.name,engine:Mt.engine,isTesting:!1}}else return{...be,isOnline:!1,isTesting:!1}}catch{return{...be,isOnline:!1,isTesting:!1}}}));x(Q)},fe=async Q=>{x(be=>be.map(xe=>xe.id===Q?{...xe,isTesting:!0}:xe));try{const be=r.find(Mt=>Mt.id===Q);if(!be)return;const xe=`${be.url}/api/health`,bt=await fetch(xe,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(5e3)});if(bt.ok){const Mt=await bt.json();x(Un=>Un.map(Wa=>Wa.id===Q?{...Wa,isOnline:!0,version:Mt.version,backendName:Mt.name,engine:Mt.engine,isTesting:!1}:Wa)),qa(a("serviceManagementModal.connectionTest.success"))}else x(Mt=>Mt.map(Un=>Un.id===Q?{...Un,isOnline:!1,isTesting:!1}:Un)),ds(a("serviceManagementModal.connectionTest.failed"))}catch{x(xe=>xe.map(bt=>bt.id===Q?{...bt,isOnline:!1,isTesting:!1}:bt)),ds(a("serviceManagementModal.connectionTest.error"))}};S.useEffect(()=>{s&&Pe()},[s,r]);const te=async Q=>{Q.isOnline?(c(Q.id),qa(a("serviceManagementModal.switchSuccess",{name:Q.name})),window.location.reload()):(V(Q),q(!0))},ue=()=>{B&&(c(B.id),q(!1),V(null),qa(a("serviceManagementModal.switchSuccess",{name:B.name})),window.location.reload())},Qe=()=>{M.name.trim()&&M.url.trim()&&(f({name:M.name.trim(),url:M.url.trim()}),j({name:"",url:""}),T(!1),qa(a("serviceManagementModal.addSuccess")))},et=()=>{k&&M.name.trim()&&M.url.trim()&&(h(k,{name:M.name.trim(),url:M.url.trim()}),j({name:"",url:""}),A(null),qa(a("serviceManagementModal.updateSuccess")))},qe=Q=>{g(Q),qa(a("serviceManagementModal.removeSuccess"))},xn=async Q=>{const be=r.find(xe=>xe.id===Q);if(be)try{const xe=m(Q);xe?.token&&await fetch(`${be.url}/api/auth/logout`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${xe.token}`}}).catch(()=>{})}catch(xe){console.error("Logout error:",xe)}finally{y(Q),qa(a("serviceManagementModal.logoutSuccess")),Q===l?.id&&(n(),window.location.href="/login")}},Nt=async Q=>{const be=r.find(xe=>xe.id===Q);if(be){L(Q),oe(""),F(""),Y(!1),re(null),ge(!0);try{const xe=await fetch(`${be.url}/api/auth/check-password-required`,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(5e3)});if(xe.ok){const bt=await xe.json();re(bt.passwordRequired)}}catch(xe){console.error("Failed to check password status:",xe)}finally{ge(!1)}}},ft=async()=>{if(!I)return;const Q=r.find(be=>be.id===I);if(Q){if(De!==ye){ds(a("serviceManagementModal.password.mismatch"));return}if(De&&De.length<4){ds(a("serviceManagementModal.password.tooShort"));return}pe(!0);try{const be=m(I),xe=await fetch(`${Q.url}/api/config`,{method:"POST",headers:{"Content-Type":"application/json",...be?.token&&{Authorization:`Bearer ${be.token}`}},body:JSON.stringify({adminPassword:De||""})}),bt=await xe.json();xe.ok&&bt.success?(qa(a(De?"serviceManagementModal.password.setSuccess":"serviceManagementModal.password.clearSuccess")),re(!!De),oe(""),F("")):ds(bt.error||a("serviceManagementModal.password.saveFailed"))}catch(be){console.error("Failed to save password:",be),ds(a("serviceManagementModal.password.saveFailed"))}finally{pe(!1)}}},sn=Q=>!!m(Q)?.token,$t=Q=>{A(Q.id),j({name:Q.name,url:Q.url})},ga=()=>{A(null),j({name:"",url:""})},rn=()=>{T(!1),j({name:"",url:""})};return s?p.jsxs("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",children:[p.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow-xl max-w-3xl w-full mx-4 max-h-[90vh] overflow-y-auto",children:[p.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-gray-200 dark:border-gray-700",children:[p.jsxs("div",{className:"flex items-center space-x-3",children:[p.jsx(io,{className:"w-6 h-6 text-blue-500"}),p.jsx("h3",{className:"text-lg font-medium text-gray-900 dark:text-white",children:a("serviceManagementModal.title")})]}),p.jsx("button",{onClick:n,className:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300",children:p.jsx(Za,{className:"w-5 h-5"})})]}),p.jsxs("div",{className:"p-6 space-y-6",children:[p.jsxs("div",{children:[p.jsxs("div",{className:"flex items-center justify-between mb-4",children:[p.jsx("h4",{className:"text-sm font-medium text-gray-900 dark:text-white",children:a("serviceManagementModal.servicesList")}),p.jsxs("button",{onClick:()=>T(!0),className:`flex items-center space-x-2 px-3 py-1.5 bg-blue-600 hover:bg-blue-700
51
- text-white text-sm rounded-md transition-colors`,children:[p.jsx(hf,{className:"w-4 h-4"}),p.jsx("span",{children:a("serviceManagementModal.addService")})]})]}),p.jsxs("div",{className:"space-y-3",children:[b.map(Q=>p.jsx("div",{className:`border rounded-lg p-4 transition-colors ${Q.id===l?.id?"border-blue-200 bg-blue-50 dark:border-blue-700 dark:bg-blue-900/20":"border-gray-200 dark:border-gray-700"}`,children:k===Q.id?p.jsxs("div",{className:"space-y-3",children:[p.jsx("input",{type:"text",value:M.name,onChange:be=>j(xe=>({...xe,name:be.target.value})),placeholder:a("serviceManagementModal.namePlaceholder"),className:`w-full px-3 py-2 border border-gray-300 dark:border-gray-600
50
+ border-transparent border-t-gray-900 dark:border-t-gray-100`})]})]})},Pk=3,Ok=5e3;let qd=0;function Lk(){return qd=(qd+1)%Number.MAX_SAFE_INTEGER,qd.toString()}const Bd=new Map,Bv=s=>{if(Bd.has(s))return;const n=setTimeout(()=>{Bd.delete(s),Kr({type:"REMOVE_TOAST",toastId:s})},Ok);Bd.set(s,n)},Fk=(s,n)=>{switch(n.type){case"ADD_TOAST":return{...s,toasts:[n.toast,...s.toasts].slice(0,Pk)};case"UPDATE_TOAST":return{...s,toasts:s.toasts.map(a=>a.id===n.toast.id?{...a,...n.toast}:a)};case"DISMISS_TOAST":{const{toastId:a}=n;return a?Bv(a):s.toasts.forEach(r=>{Bv(r.id)}),{...s,toasts:s.toasts.map(r=>r.id===a||a===void 0?{...r,open:!1}:r)}}case"REMOVE_TOAST":return n.toastId===void 0?{...s,toasts:[]}:{...s,toasts:s.toasts.filter(a=>a.id!==n.toastId)}}},Vl=[];let Gl={toasts:[]};function Kr(s){Gl=Fk(Gl,s),Vl.forEach(n=>{n(Gl)})}function vc({...s}){const n=Lk(),a=l=>Kr({type:"UPDATE_TOAST",toast:{...l,id:n}}),r=()=>Kr({type:"DISMISS_TOAST",toastId:n});return Kr({type:"ADD_TOAST",toast:{...s,id:n,open:!0,onOpenChange:l=>{l||r()}}}),{id:n,dismiss:r,update:a}}function zk(){const[s,n]=S.useState(Gl);return S.useEffect(()=>(Vl.push(n),()=>{const a=Vl.indexOf(n);a>-1&&Vl.splice(a,1)}),[s]),{...s,toast:vc,dismiss:a=>Kr({type:"DISMISS_TOAST",toastId:a})}}function qa(s,n){vc({title:s,description:n,variant:"default"})}function fs(s,n){vc({title:s,description:n,variant:"destructive"})}function ZP(s,n){vc({title:s,description:n,variant:"default"})}const Uk=({isOpen:s,onClose:n})=>{const{t:a}=Fn("components"),{services:r,currentService:l,switchService:c,addService:f,updateService:h,removeService:g}=co(),{getToken:m,removeToken:y}=Jf(),[b,x]=S.useState([]),[C,E]=S.useState(!1),[k,A]=S.useState(null),[M,j]=S.useState({name:"",url:""}),[D,q]=S.useState(!1),[B,V]=S.useState(null),[I,L]=S.useState(null),[Z,re]=S.useState(null),[Se,ge]=S.useState(!1),[De,oe]=S.useState(""),[ye,F]=S.useState(""),[K,Y]=S.useState(!1),[he,pe]=S.useState(!1),Pe=async()=>{const Q=await Promise.all(r.map(async be=>{try{const xe=`${wi(be.url)}/api/health`,bt=await fetch(xe,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(5e3)});if(bt.ok){const Mt=await bt.json();return{...be,isOnline:!0,version:Mt.version,backendName:Mt.name,engine:Mt.engine,isTesting:!1}}else return{...be,isOnline:!1,isTesting:!1}}catch{return{...be,isOnline:!1,isTesting:!1}}}));x(Q)},fe=async Q=>{x(be=>be.map(xe=>xe.id===Q?{...xe,isTesting:!0}:xe));try{const be=r.find(Mt=>Mt.id===Q);if(!be)return;const xe=`${wi(be.url)}/api/health`,bt=await fetch(xe,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(5e3)});if(bt.ok){const Mt=await bt.json();x(Un=>Un.map(Wa=>Wa.id===Q?{...Wa,isOnline:!0,version:Mt.version,backendName:Mt.name,engine:Mt.engine,isTesting:!1}:Wa)),qa(a("serviceManagementModal.connectionTest.success"))}else x(Mt=>Mt.map(Un=>Un.id===Q?{...Un,isOnline:!1,isTesting:!1}:Un)),fs(a("serviceManagementModal.connectionTest.failed"))}catch{x(xe=>xe.map(bt=>bt.id===Q?{...bt,isOnline:!1,isTesting:!1}:bt)),fs(a("serviceManagementModal.connectionTest.error"))}};S.useEffect(()=>{s&&Pe()},[s,r]);const te=async Q=>{Q.isOnline?(c(Q.id),qa(a("serviceManagementModal.switchSuccess",{name:Q.name})),window.location.reload()):(V(Q),q(!0))},ue=()=>{B&&(c(B.id),q(!1),V(null),qa(a("serviceManagementModal.switchSuccess",{name:B.name})),window.location.reload())},Qe=()=>{M.name.trim()&&M.url.trim()&&(f({name:M.name.trim(),url:M.url.trim()}),j({name:"",url:""}),E(!1),qa(a("serviceManagementModal.addSuccess")))},et=()=>{k&&M.name.trim()&&M.url.trim()&&(h(k,{name:M.name.trim(),url:M.url.trim()}),j({name:"",url:""}),A(null),qa(a("serviceManagementModal.updateSuccess")))},qe=Q=>{g(Q),qa(a("serviceManagementModal.removeSuccess"))},xn=async Q=>{const be=r.find(xe=>xe.id===Q);if(be)try{const xe=m(Q);xe?.token&&await fetch(`${wi(be.url)}/api/auth/logout`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${xe.token}`}}).catch(()=>{})}catch(xe){console.error("Logout error:",xe)}finally{y(Q),qa(a("serviceManagementModal.logoutSuccess")),Q===l?.id&&(n(),window.location.href="/login")}},Nt=async Q=>{const be=r.find(xe=>xe.id===Q);if(be){L(Q),oe(""),F(""),Y(!1),re(null),ge(!0);try{const xe=await fetch(`${wi(be.url)}/api/auth/check-password-required`,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(5e3)});if(xe.ok){const bt=await xe.json();re(bt.passwordRequired)}}catch(xe){console.error("Failed to check password status:",xe)}finally{ge(!1)}}},ft=async()=>{if(!I)return;const Q=r.find(be=>be.id===I);if(Q){if(De!==ye){fs(a("serviceManagementModal.password.mismatch"));return}if(De&&De.length<4){fs(a("serviceManagementModal.password.tooShort"));return}pe(!0);try{const be=m(I),xe=await fetch(`${wi(Q.url)}/api/config`,{method:"POST",headers:{"Content-Type":"application/json",...be?.token&&{Authorization:`Bearer ${be.token}`}},body:JSON.stringify({adminPassword:De||""})}),bt=await xe.json();xe.ok&&bt.success?(qa(a(De?"serviceManagementModal.password.setSuccess":"serviceManagementModal.password.clearSuccess")),re(!!De),oe(""),F("")):fs(bt.error||a("serviceManagementModal.password.saveFailed"))}catch(be){console.error("Failed to save password:",be),fs(a("serviceManagementModal.password.saveFailed"))}finally{pe(!1)}}},sn=Q=>!!m(Q)?.token,$t=Q=>{A(Q.id),j({name:Q.name,url:Q.url})},ga=()=>{A(null),j({name:"",url:""})},rn=()=>{E(!1),j({name:"",url:""})};return s?p.jsxs("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",children:[p.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow-xl max-w-3xl w-full mx-4 max-h-[90vh] overflow-y-auto",children:[p.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-gray-200 dark:border-gray-700",children:[p.jsxs("div",{className:"flex items-center space-x-3",children:[p.jsx(so,{className:"w-6 h-6 text-blue-500"}),p.jsx("h3",{className:"text-lg font-medium text-gray-900 dark:text-white",children:a("serviceManagementModal.title")})]}),p.jsx("button",{onClick:n,className:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300",children:p.jsx(Za,{className:"w-5 h-5"})})]}),p.jsxs("div",{className:"p-6 space-y-6",children:[p.jsxs("div",{children:[p.jsxs("div",{className:"flex items-center justify-between mb-4",children:[p.jsx("h4",{className:"text-sm font-medium text-gray-900 dark:text-white",children:a("serviceManagementModal.servicesList")}),p.jsxs("button",{onClick:()=>E(!0),className:`flex items-center space-x-2 px-3 py-1.5 bg-blue-600 hover:bg-blue-700
51
+ text-white text-sm rounded-md transition-colors`,children:[p.jsx(pf,{className:"w-4 h-4"}),p.jsx("span",{children:a("serviceManagementModal.addService")})]})]}),p.jsxs("div",{className:"space-y-3",children:[b.map(Q=>p.jsx("div",{className:`border rounded-lg p-4 transition-colors ${Q.id===l?.id?"border-blue-200 bg-blue-50 dark:border-blue-700 dark:bg-blue-900/20":"border-gray-200 dark:border-gray-700"}`,children:k===Q.id?p.jsxs("div",{className:"space-y-3",children:[p.jsx("input",{type:"text",value:M.name,onChange:be=>j(xe=>({...xe,name:be.target.value})),placeholder:a("serviceManagementModal.namePlaceholder"),className:`w-full px-3 py-2 border border-gray-300 dark:border-gray-600
52
52
  rounded-md bg-white dark:bg-gray-700 text-gray-900 dark:text-white`}),p.jsx("input",{type:"url",value:M.url,onChange:be=>j(xe=>({...xe,url:be.target.value})),placeholder:a("serviceManagementModal.urlPlaceholder"),className:`w-full px-3 py-2 border border-gray-300 dark:border-gray-600
53
53
  rounded-md bg-white dark:bg-gray-700 text-gray-900 dark:text-white`}),p.jsxs("div",{className:"flex space-x-2",children:[p.jsxs("button",{onClick:et,className:`flex items-center space-x-1 px-3 py-1.5 bg-green-600 hover:bg-green-700
54
- text-white text-sm rounded-md transition-colors`,children:[p.jsx(bw,{className:"w-4 h-4"}),p.jsx("span",{children:a("serviceManagementModal.save")})]}),p.jsx("button",{onClick:ga,className:`px-3 py-1.5 bg-gray-500 hover:bg-gray-600 text-white text-sm
54
+ text-white text-sm rounded-md transition-colors`,children:[p.jsx(_w,{className:"w-4 h-4"}),p.jsx("span",{children:a("serviceManagementModal.save")})]}),p.jsx("button",{onClick:ga,className:`px-3 py-1.5 bg-gray-500 hover:bg-gray-600 text-white text-sm
55
55
  rounded-md transition-colors`,children:a("serviceManagementModal.cancel")})]})]}):p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsxs("div",{className:"flex-1",children:[p.jsxs("div",{className:"flex items-center space-x-3 mb-2",children:[p.jsx("h5",{className:"text-sm font-medium text-gray-900 dark:text-white",children:Q.name}),Q.id===l?.id&&p.jsx("span",{className:`inline-flex items-center px-2 py-0.5 rounded text-xs
56
- font-medium bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200`,children:a("serviceManagementModal.current")}),p.jsx("div",{className:"flex items-center space-x-1",children:Q.isTesting?p.jsx("div",{className:"w-4 h-4 border-2 border-blue-600 border-t-transparent rounded-full animate-spin"}):Q.isOnline?p.jsx(En,{className:"w-4 h-4 text-green-500"}):p.jsx(Xl,{className:"w-4 h-4 text-red-500"})})]}),p.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 mb-2",children:Q.url}),Q.isOnline&&p.jsxs("div",{className:"flex items-center space-x-4 text-xs text-gray-500 dark:text-gray-500",children:[Q.version&&p.jsxs("span",{children:[a("serviceManagementModal.version"),": v",Q.version]}),Q.engine&&p.jsx("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded text-xs font-medium bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-300",children:Q.engine==="cursor-cli"?"Cursor":Q.engine==="claude-sdk"?"Claude":Q.engine}),Q.backendName&&p.jsx("span",{children:Q.backendName})]})]}),p.jsxs("div",{className:"flex items-center space-x-2",children:[p.jsx("button",{onClick:()=>fe(Q.id),disabled:Q.isTesting,className:`p-1.5 text-gray-500 hover:text-blue-600 dark:hover:text-blue-400
57
- hover:bg-blue-50 dark:hover:bg-blue-900/20 rounded transition-colors`,title:a("serviceManagementModal.testConnection"),children:p.jsx(_w,{className:"w-4 h-4"})}),Q.id!==l?.id&&p.jsx("button",{onClick:()=>te(Q),className:`p-1.5 text-gray-500 hover:text-green-600 dark:hover:text-green-400
58
- hover:bg-green-50 dark:hover:bg-green-900/20 rounded transition-colors`,title:a("serviceManagementModal.switchToService"),children:p.jsx(Av,{className:"w-4 h-4"})}),Q.isOnline&&p.jsx("button",{onClick:()=>Nt(Q.id),className:`p-1.5 text-gray-500 hover:text-purple-600 dark:hover:text-purple-400
59
- hover:bg-purple-50 dark:hover:bg-purple-900/20 rounded transition-colors`,title:a("serviceManagementModal.managePassword"),children:p.jsx(Pd,{className:"w-4 h-4"})}),sn(Q.id)&&p.jsx("button",{onClick:()=>xn(Q.id),className:`p-1.5 text-gray-500 hover:text-red-600 dark:hover:text-red-400
60
- hover:bg-red-50 dark:hover:bg-red-900/20 rounded transition-colors`,title:a("serviceManagementModal.logoutService"),children:p.jsx(Sw,{className:"w-4 h-4"})}),!Q.isDefault&&p.jsxs(p.Fragment,{children:[p.jsx("button",{onClick:()=>$t(Q),className:`p-1.5 text-gray-500 hover:text-gray-600 dark:hover:text-gray-300
61
- hover:bg-gray-50 dark:hover:bg-gray-700 rounded transition-colors`,title:a("serviceManagementModal.editService"),children:p.jsx(hc,{className:"w-4 h-4"})}),p.jsx("button",{onClick:()=>qe(Q.id),className:`p-1.5 text-gray-500 hover:text-red-600 dark:hover:text-red-400
62
- hover:bg-red-50 dark:hover:bg-red-900/20 rounded transition-colors`,title:a("serviceManagementModal.removeService"),children:p.jsx(xw,{className:"w-4 h-4"})})]})]})]})},Q.id)),C&&p.jsx("div",{className:"border-2 border-dashed border-gray-300 dark:border-gray-600 rounded-lg p-4",children:p.jsxs("div",{className:"space-y-3",children:[p.jsx("h5",{className:"text-sm font-medium text-gray-900 dark:text-white",children:a("serviceManagementModal.addNewService")}),p.jsx("input",{type:"text",value:M.name,onChange:Q=>j(be=>({...be,name:Q.target.value})),placeholder:a("serviceManagementModal.namePlaceholder"),className:`w-full px-3 py-2 border border-gray-300 dark:border-gray-600
56
+ font-medium bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200`,children:a("serviceManagementModal.current")}),p.jsx("div",{className:"flex items-center space-x-1",children:Q.isTesting?p.jsx("div",{className:"w-4 h-4 border-2 border-blue-600 border-t-transparent rounded-full animate-spin"}):Q.isOnline?p.jsx(Tn,{className:"w-4 h-4 text-green-500"}):p.jsx(Ql,{className:"w-4 h-4 text-red-500"})})]}),p.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 mb-2",children:Q.url}),Q.isOnline&&p.jsxs("div",{className:"flex items-center space-x-4 text-xs text-gray-500 dark:text-gray-500",children:[Q.version&&p.jsxs("span",{children:[a("serviceManagementModal.version"),": v",Q.version]}),Q.engine&&p.jsx("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded text-xs font-medium bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-300",children:Q.engine==="cursor-cli"?"Cursor":Q.engine==="claude-sdk"?"Claude":Q.engine}),Q.backendName&&p.jsx("span",{children:Q.backendName})]})]}),p.jsxs("div",{className:"flex items-center space-x-2",children:[p.jsx("button",{onClick:()=>fe(Q.id),disabled:Q.isTesting,className:`p-1.5 text-gray-500 hover:text-blue-600 dark:hover:text-blue-400
57
+ hover:bg-blue-50 dark:hover:bg-blue-900/20 rounded transition-colors`,title:a("serviceManagementModal.testConnection"),children:p.jsx(Sw,{className:"w-4 h-4"})}),Q.id!==l?.id&&p.jsx("button",{onClick:()=>te(Q),className:`p-1.5 text-gray-500 hover:text-green-600 dark:hover:text-green-400
58
+ hover:bg-green-50 dark:hover:bg-green-900/20 rounded transition-colors`,title:a("serviceManagementModal.switchToService"),children:p.jsx(Tv,{className:"w-4 h-4"})}),Q.isOnline&&p.jsx("button",{onClick:()=>Nt(Q.id),className:`p-1.5 text-gray-500 hover:text-purple-600 dark:hover:text-purple-400
59
+ hover:bg-purple-50 dark:hover:bg-purple-900/20 rounded transition-colors`,title:a("serviceManagementModal.managePassword"),children:p.jsx(Od,{className:"w-4 h-4"})}),sn(Q.id)&&p.jsx("button",{onClick:()=>xn(Q.id),className:`p-1.5 text-gray-500 hover:text-red-600 dark:hover:text-red-400
60
+ hover:bg-red-50 dark:hover:bg-red-900/20 rounded transition-colors`,title:a("serviceManagementModal.logoutService"),children:p.jsx(xw,{className:"w-4 h-4"})}),!Q.isDefault&&p.jsxs(p.Fragment,{children:[p.jsx("button",{onClick:()=>$t(Q),className:`p-1.5 text-gray-500 hover:text-gray-600 dark:hover:text-gray-300
61
+ hover:bg-gray-50 dark:hover:bg-gray-700 rounded transition-colors`,title:a("serviceManagementModal.editService"),children:p.jsx(pc,{className:"w-4 h-4"})}),p.jsx("button",{onClick:()=>qe(Q.id),className:`p-1.5 text-gray-500 hover:text-red-600 dark:hover:text-red-400
62
+ hover:bg-red-50 dark:hover:bg-red-900/20 rounded transition-colors`,title:a("serviceManagementModal.removeService"),children:p.jsx(ww,{className:"w-4 h-4"})})]})]})]})},Q.id)),C&&p.jsx("div",{className:"border-2 border-dashed border-gray-300 dark:border-gray-600 rounded-lg p-4",children:p.jsxs("div",{className:"space-y-3",children:[p.jsx("h5",{className:"text-sm font-medium text-gray-900 dark:text-white",children:a("serviceManagementModal.addNewService")}),p.jsx("input",{type:"text",value:M.name,onChange:Q=>j(be=>({...be,name:Q.target.value})),placeholder:a("serviceManagementModal.namePlaceholder"),className:`w-full px-3 py-2 border border-gray-300 dark:border-gray-600
63
63
  rounded-md bg-white dark:bg-gray-700 text-gray-900 dark:text-white`}),p.jsx("input",{type:"url",value:M.url,onChange:Q=>j(be=>({...be,url:Q.target.value})),placeholder:a("serviceManagementModal.urlPlaceholder"),className:`w-full px-3 py-2 border border-gray-300 dark:border-gray-600
64
64
  rounded-md bg-white dark:bg-gray-700 text-gray-900 dark:text-white`}),p.jsxs("div",{className:"flex space-x-2",children:[p.jsxs("button",{onClick:Qe,className:`flex items-center space-x-1 px-3 py-1.5 bg-green-600 hover:bg-green-700
65
- text-white text-sm rounded-md transition-colors`,children:[p.jsx(hf,{className:"w-4 h-4"}),p.jsx("span",{children:a("serviceManagementModal.add")})]}),p.jsx("button",{onClick:rn,className:`px-3 py-1.5 bg-gray-500 hover:bg-gray-600 text-white text-sm
65
+ text-white text-sm rounded-md transition-colors`,children:[p.jsx(pf,{className:"w-4 h-4"}),p.jsx("span",{children:a("serviceManagementModal.add")})]}),p.jsx("button",{onClick:rn,className:`px-3 py-1.5 bg-gray-500 hover:bg-gray-600 text-white text-sm
66
66
  rounded-md transition-colors`,children:a("serviceManagementModal.cancel")})]})]})})]})]}),p.jsx("div",{className:"border-t border-gray-200 dark:border-gray-700 pt-4",children:p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsxs("button",{onClick:Pe,className:`flex items-center space-x-2 px-3 py-1.5 bg-gray-100 hover:bg-gray-200
67
67
  dark:bg-gray-700 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-300
68
- text-sm rounded-md transition-colors`,children:[p.jsx(ww,{className:"w-4 h-4"}),p.jsx("span",{children:a("serviceManagementModal.refreshStatus")})]}),p.jsxs("div",{className:"text-sm text-gray-500 dark:text-gray-400",children:[b.filter(Q=>Q.isOnline).length," ",a("serviceManagementModal.servicesOnline")," / ",b.length]})]})})]})]}),I&&p.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-[60]",children:p.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow-xl p-6 max-w-md w-full mx-4",children:[p.jsxs("div",{className:"flex items-center justify-between mb-4",children:[p.jsxs("div",{className:"flex items-center space-x-2",children:[p.jsx(Pd,{className:"w-5 h-5 text-purple-500"}),p.jsx("h3",{className:"text-lg font-medium text-gray-900 dark:text-white",children:a("serviceManagementModal.password.title")})]}),p.jsx("button",{onClick:()=>L(null),className:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300",children:p.jsx(Za,{className:"w-5 h-5"})})]}),p.jsx("div",{className:"flex items-center space-x-3 p-3 rounded-lg bg-gray-50 dark:bg-gray-700/50 mb-4",children:Se?p.jsxs("div",{className:"flex items-center space-x-2 text-gray-500",children:[p.jsx("div",{className:"animate-spin rounded-full h-4 w-4 border-b-2 border-gray-500"}),p.jsx("span",{className:"text-sm",children:a("serviceManagementModal.password.checking")})]}):Z?p.jsxs(p.Fragment,{children:[p.jsx(Pd,{className:"w-5 h-5 text-blue-500"}),p.jsx("span",{className:"text-sm text-gray-700 dark:text-gray-300",children:a("serviceManagementModal.password.currentlySet")})]}):p.jsxs(p.Fragment,{children:[p.jsx(En,{className:"w-5 h-5 text-green-500"}),p.jsx("span",{className:"text-sm text-gray-700 dark:text-gray-300",children:a("serviceManagementModal.password.currentlyNotSet")})]})}),p.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400 mb-4",children:a("serviceManagementModal.password.description")}),p.jsxs("div",{className:"space-y-4",children:[p.jsxs("div",{children:[p.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:a("serviceManagementModal.password.newPassword")}),p.jsxs("div",{className:"relative",children:[p.jsx("input",{type:K?"text":"password",value:De,onChange:Q=>oe(Q.target.value),placeholder:a("serviceManagementModal.password.newPasswordPlaceholder"),className:`w-full px-4 py-2 pr-10 rounded-lg border border-gray-300 dark:border-gray-600
68
+ text-sm rounded-md transition-colors`,children:[p.jsx(Cw,{className:"w-4 h-4"}),p.jsx("span",{children:a("serviceManagementModal.refreshStatus")})]}),p.jsxs("div",{className:"text-sm text-gray-500 dark:text-gray-400",children:[b.filter(Q=>Q.isOnline).length," ",a("serviceManagementModal.servicesOnline")," / ",b.length]})]})})]})]}),I&&p.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-[60]",children:p.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow-xl p-6 max-w-md w-full mx-4",children:[p.jsxs("div",{className:"flex items-center justify-between mb-4",children:[p.jsxs("div",{className:"flex items-center space-x-2",children:[p.jsx(Od,{className:"w-5 h-5 text-purple-500"}),p.jsx("h3",{className:"text-lg font-medium text-gray-900 dark:text-white",children:a("serviceManagementModal.password.title")})]}),p.jsx("button",{onClick:()=>L(null),className:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300",children:p.jsx(Za,{className:"w-5 h-5"})})]}),p.jsx("div",{className:"flex items-center space-x-3 p-3 rounded-lg bg-gray-50 dark:bg-gray-700/50 mb-4",children:Se?p.jsxs("div",{className:"flex items-center space-x-2 text-gray-500",children:[p.jsx("div",{className:"animate-spin rounded-full h-4 w-4 border-b-2 border-gray-500"}),p.jsx("span",{className:"text-sm",children:a("serviceManagementModal.password.checking")})]}):Z?p.jsxs(p.Fragment,{children:[p.jsx(Od,{className:"w-5 h-5 text-blue-500"}),p.jsx("span",{className:"text-sm text-gray-700 dark:text-gray-300",children:a("serviceManagementModal.password.currentlySet")})]}):p.jsxs(p.Fragment,{children:[p.jsx(Tn,{className:"w-5 h-5 text-green-500"}),p.jsx("span",{className:"text-sm text-gray-700 dark:text-gray-300",children:a("serviceManagementModal.password.currentlyNotSet")})]})}),p.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400 mb-4",children:a("serviceManagementModal.password.description")}),p.jsxs("div",{className:"space-y-4",children:[p.jsxs("div",{children:[p.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:a("serviceManagementModal.password.newPassword")}),p.jsxs("div",{className:"relative",children:[p.jsx("input",{type:K?"text":"password",value:De,onChange:Q=>oe(Q.target.value),placeholder:a("serviceManagementModal.password.newPasswordPlaceholder"),className:`w-full px-4 py-2 pr-10 rounded-lg border border-gray-300 dark:border-gray-600
69
69
  bg-white dark:bg-gray-700 text-gray-900 dark:text-white
70
- focus:ring-2 focus:ring-purple-500 focus:border-transparent`}),p.jsx("button",{type:"button",onClick:()=>Y(!K),className:"absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",children:K?p.jsx(Cw,{className:"w-4 h-4"}):p.jsx(kw,{className:"w-4 h-4"})})]})]}),p.jsxs("div",{children:[p.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:a("serviceManagementModal.password.confirmPassword")}),p.jsx("input",{type:K?"text":"password",value:ye,onChange:Q=>F(Q.target.value),placeholder:a("serviceManagementModal.password.confirmPasswordPlaceholder"),className:`w-full px-4 py-2 rounded-lg border border-gray-300 dark:border-gray-600
70
+ focus:ring-2 focus:ring-purple-500 focus:border-transparent`}),p.jsx("button",{type:"button",onClick:()=>Y(!K),className:"absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",children:K?p.jsx(kw,{className:"w-4 h-4"}):p.jsx(Aw,{className:"w-4 h-4"})})]})]}),p.jsxs("div",{children:[p.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:a("serviceManagementModal.password.confirmPassword")}),p.jsx("input",{type:K?"text":"password",value:ye,onChange:Q=>F(Q.target.value),placeholder:a("serviceManagementModal.password.confirmPasswordPlaceholder"),className:`w-full px-4 py-2 rounded-lg border border-gray-300 dark:border-gray-600
71
71
  bg-white dark:bg-gray-700 text-gray-900 dark:text-white
72
72
  focus:ring-2 focus:ring-purple-500 focus:border-transparent`})]}),p.jsxs("div",{className:"flex justify-end space-x-3 pt-2",children:[p.jsx("button",{onClick:()=>L(null),className:`px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300
73
73
  hover:bg-gray-100 dark:hover:bg-gray-700 rounded-md`,children:a("serviceManagementModal.cancel")}),p.jsxs("button",{onClick:ft,disabled:he,className:`px-4 py-2 text-sm font-medium text-white bg-purple-600 hover:bg-purple-700
74
- disabled:bg-gray-400 disabled:cursor-not-allowed rounded-md flex items-center space-x-2`,children:[he?p.jsx("div",{className:"w-4 h-4 border-2 border-white border-t-transparent rounded-full animate-spin"}):p.jsx(Av,{className:"w-4 h-4"}),p.jsx("span",{children:a("serviceManagementModal.password.save")})]})]})]})]})}),D&&B&&p.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-[60]",children:p.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow-xl p-6 max-w-md mx-4",children:[p.jsxs("div",{className:"flex items-start space-x-3 mb-4",children:[p.jsx(Qr,{className:"w-6 h-6 text-yellow-500 flex-shrink-0 mt-0.5"}),p.jsxs("div",{children:[p.jsx("h3",{className:"text-lg font-medium text-gray-900 dark:text-white mb-2",children:a("serviceManagementModal.switchWarning.title")}),p.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-300 mb-3",children:a("serviceManagementModal.switchWarning.message",{name:B.name,url:B.url})}),p.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:a("serviceManagementModal.switchWarning.consequence")})]})]}),p.jsxs("div",{className:"flex justify-end space-x-3 mt-6",children:[p.jsx("button",{onClick:()=>{q(!1),V(null)},className:`px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300
75
- hover:bg-gray-100 dark:hover:bg-gray-700 rounded-md`,children:a("serviceManagementModal.switchWarning.cancel")}),p.jsx("button",{onClick:ue,className:"px-4 py-2 text-sm font-medium text-white bg-yellow-600 hover:bg-yellow-700 rounded-md",children:a("serviceManagementModal.switchWarning.continue")})]})]})})]}):null},Bv="agentstudio_dismissed_version",$v=3600*1e3;function Uk(){const s=fw(),{data:n,isLoading:a,error:r,refetch:l}=Jf({queryKey:["version"],queryFn:async()=>{const g=localStorage.getItem("auth_token"),m=await fetch(`${Kl}/version`,{headers:{Authorization:`Bearer ${g}`}});if(!m.ok)throw new Error("Failed to fetch version info");return m.json()},staleTime:$v,refetchInterval:$v,refetchOnWindowFocus:!1}),c=S.useCallback(()=>!(!n?.hasUpdate||!n.latestVersion||localStorage.getItem(Bv)===n.latestVersion),[n]),f=S.useCallback(()=>{n?.latestVersion&&(localStorage.setItem(Bv,n.latestVersion),s.invalidateQueries({queryKey:["version"]}))},[n,s]),h=hw({mutationFn:async()=>{const g=localStorage.getItem("auth_token"),m=await fetch(`${Kl}/version/check`,{method:"POST",headers:{Authorization:`Bearer ${g}`}});if(!m.ok)throw new Error("Failed to check for updates");return m.json()},onSuccess:g=>{s.setQueryData(["version"],g)}});return{currentVersion:n?.currentVersion||null,latestVersion:n?.latestVersion||null,hasUpdate:n?.hasUpdate||!1,showUpdateNotification:c(),isLoading:a,error:r||(n?.error?new Error(n.error):null),dismissUpdate:f,forceCheck:h.mutate,isChecking:h.isPending,refetch:l}}function KP(){const{data:s,isLoading:n,error:a,refetch:r}=Jf({queryKey:["systemInfo"],queryFn:async()=>{const l=localStorage.getItem("auth_token"),c=await fetch(`${Kl}/version/info`,{headers:{Authorization:`Bearer ${l}`}});if(!c.ok)throw new Error("Failed to fetch system info");return c.json()},staleTime:3e5});return{systemInfo:s,isLoading:n,error:a,refetch:r}}const Ik=({compact:s=!1})=>{const{t:n}=Fn("pages"),{currentVersion:a,latestVersion:r,showUpdateNotification:l,dismissUpdate:c,isLoading:f}=Uk();if(f||!l)return null;const h=()=>{window.open("https://github.com/okguitar/agentstudio/releases","_blank")};return s?p.jsxs("div",{className:"bg-blue-50 dark:bg-blue-900/30 border border-blue-200 dark:border-blue-800 rounded-lg p-3",children:[p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsxs("div",{className:"flex items-center space-x-2",children:[p.jsx(Ev,{className:"w-4 h-4 text-blue-600 dark:text-blue-400"}),p.jsx("span",{className:"text-sm text-blue-700 dark:text-blue-300",children:n("version.newVersionAvailable",{version:r})})]}),p.jsxs("div",{className:"flex items-center space-x-1",children:[p.jsx("button",{onClick:h,className:"p-1 text-blue-600 dark:text-blue-400 hover:bg-blue-100 dark:hover:bg-blue-800 rounded",title:n("version.viewUpdate"),children:p.jsx(Tv,{className:"w-4 h-4"})}),p.jsx("button",{onClick:c,className:"p-1 text-blue-600 dark:text-blue-400 hover:bg-blue-100 dark:hover:bg-blue-800 rounded",title:n("version.dismiss"),children:p.jsx(Za,{className:"w-4 h-4"})})]})]}),p.jsxs("div",{className:"mt-1 text-xs text-blue-600 dark:text-blue-400",children:[n("version.currentVersion"),": ",a]})]}):p.jsxs("div",{className:"bg-gradient-to-r from-blue-50 to-indigo-50 dark:from-blue-900/30 dark:to-indigo-900/30 border border-blue-200 dark:border-blue-800 rounded-lg p-4",children:[p.jsxs("div",{className:"flex items-start justify-between",children:[p.jsxs("div",{className:"flex items-start space-x-3",children:[p.jsx("div",{className:"flex-shrink-0",children:p.jsx(Ev,{className:"w-6 h-6 text-blue-600 dark:text-blue-400"})}),p.jsxs("div",{children:[p.jsx("h3",{className:"text-sm font-medium text-blue-900 dark:text-blue-100",children:n("version.updateAvailableTitle")}),p.jsx("p",{className:"mt-1 text-sm text-blue-700 dark:text-blue-300",children:n("version.newVersionAvailable",{version:r})}),p.jsxs("p",{className:"mt-1 text-xs text-blue-600 dark:text-blue-400",children:[n("version.currentVersion"),": ",a]})]})]}),p.jsx("button",{onClick:c,className:"p-1 text-blue-400 hover:text-blue-600 dark:hover:text-blue-300 rounded",children:p.jsx(Za,{className:"w-5 h-5"})})]}),p.jsxs("div",{className:"mt-3 flex space-x-3",children:[p.jsxs("button",{onClick:h,className:"inline-flex items-center px-3 py-1.5 text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 rounded-md transition-colors",children:[p.jsx(Tv,{className:"w-4 h-4 mr-1"}),n("version.viewUpdate")]}),p.jsx("button",{onClick:c,className:"inline-flex items-center px-3 py-1.5 text-sm font-medium text-blue-700 dark:text-blue-300 bg-blue-100 dark:bg-blue-800 hover:bg-blue-200 dark:hover:bg-blue-700 rounded-md transition-colors",children:n("version.remindLater")})]})]})},Hk=()=>{const[s,n]=S.useState({xs:!1,sm:!1,md:!1,lg:!1,xl:!1,"2xl":!1,"3xl":!1});return S.useEffect(()=>{const a=()=>{const r=window.innerWidth;n({xs:r>=475,sm:r>=640,md:r>=768,lg:r>=1024,xl:r>=1280,"2xl":r>=1536,"3xl":r>=1600})};return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),s},qk=()=>{const[s,n]=S.useState({width:typeof window<"u"?window.innerWidth:1024,height:typeof window<"u"?window.innerHeight:768});return S.useEffect(()=>{const a=()=>{n({width:window.innerWidth,height:window.innerHeight})};return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),s},Bk=()=>{const[s,n]=S.useState("portrait");return S.useEffect(()=>{const a=()=>{n(window.innerHeight>window.innerWidth?"portrait":"landscape")};return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),s},Eb=S.createContext(void 0),$k=({children:s})=>{const n=Hk(),a=qk(),r=Bk(),l=!n.md,c=n.md&&!n.lg,f=n.lg,[h,g]=S.useState(!1),[m,y]=S.useState(!1),[b,x]=S.useState(null);S.useEffect(()=>{f&&(g(!1),y(!1),x(null))},[f]),S.useEffect(()=>{h?(y(!1),x("sidebar")):m?(g(!1),x("right")):x(null)},[h,m]),S.useEffect(()=>{l&&(g(!1),y(!1),x(null))},[r,l]);const C={isMobile:l,isTablet:c,isDesktop:f,breakpoints:n,screenSize:a,orientation:r,sidebarOpen:h,setSidebarOpen:g,rightPanelOpen:m,setRightPanelOpen:y,activePanel:b,setActivePanel:x};return p.jsx(Eb.Provider,{value:C,children:s})},lh=()=>{const s=S.useContext(Eb);if(s===void 0)throw new Error("useMobileContext must be used within a MobileProvider");return s};async function Vk(){const s=await fetch(`${Kl}/engine`);if(!s.ok)throw new Error(`Failed to fetch engine config: ${s.statusText}`);const n=await s.json();return{engine:n.engine,name:n.name,version:n.version,capabilities:n.capabilities,paths:n.paths}}function Gk(){const{data:s,isLoading:n,error:a,refetch:r}=Jf({queryKey:["engine-config"],queryFn:Vk,staleTime:1/0,gcTime:1/0,retry:3}),l=s?.engine==="cursor-cli",c=s?.engine==="claude-sdk",f=b=>s?s.capabilities.features[b]:!1,h=b=>s?s.capabilities[b].supported:!1,g=(b,x)=>{if(!s)return!1;const C=s.capabilities[b];return C.supported&&C.canRead&&C.scopes.includes(x)},m=(b,x)=>{if(!s)return!1;const C=s.capabilities[b];return C.supported&&C.canWrite&&C.scopes.includes(x)},y=b=>{if(!s)return[];const x=s.capabilities[b];return x.supported?x.scopes:[]};return{config:s,isLoading:n,error:a,refetch:r,engineType:s?.engine,engineName:s?.name,isCursorEngine:l,isClaudeEngine:c,capabilities:s?.capabilities,paths:s?.paths,isFeatureSupported:f,isConfigSupported:h,canReadConfig:g,canWriteConfig:m,getSupportedScopes:y}}S.createContext(null);const Yk=s=>[{name:s("nav.dashboard"),href:"/dashboard",icon:Aw},{name:s("nav.projects"),href:"/projects",icon:Ew},{name:s("nav.mcp"),href:"/mcp",icon:io,requireConfig:"mcp"},{name:s("nav.agents"),href:"/agents",icon:Nv},{name:s("nav.scheduledTasks"),href:"/scheduled-tasks",icon:Tw},{name:s("nav.extensions"),href:"/plugins",icon:Pw,submenu:[{name:s("nav.plugins"),href:"/plugins",icon:Nw,requireConfig:"plugins"},{name:s("nav.commands"),href:"/settings/commands",icon:Mw,requireConfig:"commands"},{name:s("nav.subagents"),href:"/settings/subagents",icon:Nv,requireFeature:"subagents"},{name:s("nav.skills"),href:"/skills",icon:jw,requireConfig:"skills"},{name:"Rules",href:"/rules",icon:Rw,requireConfig:"rules"},{name:"Hooks",href:"/hooks",icon:Dw,requireFeature:"hooks"}]},{name:s("nav.settings"),href:"/settings",icon:hc,submenu:[{name:s("nav.settingsSubmenu.general"),href:"/settings/general",icon:Ow},{name:s("nav.settingsSubmenu.suppliers"),href:"/settings/suppliers",icon:Lw,requireFeature:"provider"},{name:s("nav.settingsSubmenu.memory"),href:"/settings/memory",icon:Fw},{name:s("nav.settingsSubmenu.mcpAdmin"),href:"/settings/mcp-admin",icon:zw},{name:s("nav.settingsSubmenu.tunnel"),href:"/settings/tunnel",icon:Uw},{name:s("nav.settingsSubmenu.voice"),href:"/settings/voice",icon:Iw}]}],Tb=({onClose:s})=>{const{t:n}=Fn("pages"),a=Nn(),r=ro(),{isMobile:l}=lh(),[c,f]=S.useState(()=>a.pathname.startsWith("/settings")?[n("nav.settings")]:[]),[h,g]=S.useState(!1),{isFeatureSupported:m,isConfigSupported:y,engineType:b,isLoading:x}=Gk(),C=D=>D.filter(q=>!(q.requireEngine&&b!==q.requireEngine||q.requireFeature&&!m(q.requireFeature)||q.requireConfig&&!y(q.requireConfig))).map(q=>{if(q.submenu){const B=C(q.submenu);return B.length===0?null:{...q,submenu:B}}return q}).filter(q=>q!==null),T=S.useMemo(()=>{const D=Yk(n);return x?D:C(D)},[n,x,m,y,b]),k=D=>{f(q=>q.includes(D)?q.filter(B=>B!==D):[...q,D])},A=D=>c.includes(D),M=D=>D.submenu&&D.submenu.length>0?D.submenu.some(B=>a.pathname===B.href||a.pathname.startsWith(B.href+"/")):a.pathname===D.href||a.pathname.startsWith(D.href+"/"),j=D=>{const q=D.submenu&&D.submenu.length>0,B=A(D.name),V=M(D);return q?p.jsx("li",{children:p.jsxs("div",{className:"space-y-1",children:[p.jsxs("button",{onClick:()=>k(D.name),className:`w-full flex items-center space-x-3 px-4 py-3 rounded-lg transition-colors ${V?"bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300":"text-gray-600 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-700 hover:text-gray-900 dark:hover:text-white"}`,children:[p.jsx(D.icon,{className:"w-5 h-5"}),p.jsx("span",{className:"font-medium flex-1 text-left",children:D.name}),B?p.jsx(Hw,{className:"w-4 h-4"}):p.jsx(qw,{className:"w-4 h-4"})]}),B&&p.jsx("ul",{className:"ml-6 space-y-1",children:D.submenu.map(I=>p.jsx("li",{children:p.jsxs(yf,{to:I.href,onClick:()=>{l&&s&&s()},className:({isActive:L})=>`flex items-center space-x-3 px-4 py-2 rounded-lg transition-colors text-sm ${L?"bg-blue-100 dark:bg-blue-900/40 text-blue-700 dark:text-blue-300":"text-gray-600 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-700 hover:text-gray-900 dark:hover:text-white"}`,children:[p.jsx(I.icon,{className:"w-4 h-4"}),p.jsx("span",{className:"font-medium",children:I.name})]})},I.name))})]})},D.nameKey):p.jsx("li",{children:p.jsxs(yf,{to:D.href,onClick:()=>{l&&s&&s()},className:({isActive:I})=>`flex items-center space-x-3 px-4 py-3 rounded-lg transition-colors ${I?"bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300":"text-gray-600 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-700 hover:text-gray-900 dark:hover:text-white"}`,children:[p.jsx(D.icon,{className:"w-5 h-5"}),p.jsx("span",{className:"font-medium",children:D.name})]})},D.name)};return p.jsxs("div",{className:"w-64 bg-white dark:bg-gray-800 shadow-sm border-r border-gray-200 dark:border-gray-700 flex flex-col h-full z-40",children:[p.jsx("div",{className:"px-6 py-8 flex-shrink-0",children:p.jsxs("button",{onClick:()=>r("/"),className:"flex items-center space-x-3 w-full text-left hover:opacity-80 transition-opacity focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 rounded-lg p-2",children:[p.jsx("div",{className:"w-10 h-10 bg-blue-600 rounded-lg flex items-center justify-center",children:p.jsx("img",{src:"/cc-studio.png",alt:"Agent Studio",className:"w-10 h-10"})}),p.jsxs("div",{className:"flex flex-col min-w-0",children:[p.jsx("h1",{className:"text-xl font-bold text-gray-900 dark:text-white whitespace-nowrap",children:"Agent Studio"}),p.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400 whitespace-nowrap",children:"Your Agent Workspace"})]})]})}),p.jsx("nav",{className:"flex-1 overflow-y-auto px-4 pb-4",children:p.jsx("ul",{className:"space-y-2",children:T.map(j)})}),p.jsx("div",{className:"flex-shrink-0 p-4 border-t border-gray-200 dark:border-gray-700",children:p.jsxs("div",{className:"space-y-3",children:[p.jsx(Ik,{compact:!0}),p.jsx(Rk,{onManageServices:()=>g(!0)})]})}),p.jsx(zk,{isOpen:h,onClose:()=>g(!1)})]})},Kk=({isOpen:s,onClose:n})=>{const{isMobile:a}=lh();return a?p.jsxs(p.Fragment,{children:[s&&p.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 z-50 lg:hidden",onClick:n,"aria-hidden":"true"}),p.jsxs("div",{className:`
74
+ disabled:bg-gray-400 disabled:cursor-not-allowed rounded-md flex items-center space-x-2`,children:[he?p.jsx("div",{className:"w-4 h-4 border-2 border-white border-t-transparent rounded-full animate-spin"}):p.jsx(Tv,{className:"w-4 h-4"}),p.jsx("span",{children:a("serviceManagementModal.password.save")})]})]})]})]})}),D&&B&&p.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-[60]",children:p.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow-xl p-6 max-w-md mx-4",children:[p.jsxs("div",{className:"flex items-start space-x-3 mb-4",children:[p.jsx(Zr,{className:"w-6 h-6 text-yellow-500 flex-shrink-0 mt-0.5"}),p.jsxs("div",{children:[p.jsx("h3",{className:"text-lg font-medium text-gray-900 dark:text-white mb-2",children:a("serviceManagementModal.switchWarning.title")}),p.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-300 mb-3",children:a("serviceManagementModal.switchWarning.message",{name:B.name,url:B.url})}),p.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:a("serviceManagementModal.switchWarning.consequence")})]})]}),p.jsxs("div",{className:"flex justify-end space-x-3 mt-6",children:[p.jsx("button",{onClick:()=>{q(!1),V(null)},className:`px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300
75
+ hover:bg-gray-100 dark:hover:bg-gray-700 rounded-md`,children:a("serviceManagementModal.switchWarning.cancel")}),p.jsx("button",{onClick:ue,className:"px-4 py-2 text-sm font-medium text-white bg-yellow-600 hover:bg-yellow-700 rounded-md",children:a("serviceManagementModal.switchWarning.continue")})]})]})})]}):null},$v="agentstudio_dismissed_version",Vv=3600*1e3;function Ik(){const s=hw(),{data:n,isLoading:a,error:r,refetch:l}=eh({queryKey:["version"],queryFn:async()=>{const g=localStorage.getItem("auth_token"),m=await fetch(`${Xl}/version`,{headers:{Authorization:`Bearer ${g}`}});if(!m.ok)throw new Error("Failed to fetch version info");return m.json()},staleTime:Vv,refetchInterval:Vv,refetchOnWindowFocus:!1}),c=S.useCallback(()=>!(!n?.hasUpdate||!n.latestVersion||localStorage.getItem($v)===n.latestVersion),[n]),f=S.useCallback(()=>{n?.latestVersion&&(localStorage.setItem($v,n.latestVersion),s.invalidateQueries({queryKey:["version"]}))},[n,s]),h=pw({mutationFn:async()=>{const g=localStorage.getItem("auth_token"),m=await fetch(`${Xl}/version/check`,{method:"POST",headers:{Authorization:`Bearer ${g}`}});if(!m.ok)throw new Error("Failed to check for updates");return m.json()},onSuccess:g=>{s.setQueryData(["version"],g)}});return{currentVersion:n?.currentVersion||null,latestVersion:n?.latestVersion||null,hasUpdate:n?.hasUpdate||!1,showUpdateNotification:c(),isLoading:a,error:r||(n?.error?new Error(n.error):null),dismissUpdate:f,forceCheck:h.mutate,isChecking:h.isPending,refetch:l}}function WP(){const{data:s,isLoading:n,error:a,refetch:r}=eh({queryKey:["systemInfo"],queryFn:async()=>{const l=localStorage.getItem("auth_token"),c=await fetch(`${Xl}/version/info`,{headers:{Authorization:`Bearer ${l}`}});if(!c.ok)throw new Error("Failed to fetch system info");return c.json()},staleTime:3e5});return{systemInfo:s,isLoading:n,error:a,refetch:r}}const Hk=({compact:s=!1})=>{const{t:n}=Fn("pages"),{currentVersion:a,latestVersion:r,showUpdateNotification:l,dismissUpdate:c,isLoading:f}=Ik();if(f||!l)return null;const h=()=>{window.open("https://github.com/okguitar/agentstudio/releases","_blank")};return s?p.jsxs("div",{className:"bg-blue-50 dark:bg-blue-900/30 border border-blue-200 dark:border-blue-800 rounded-lg p-3",children:[p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsxs("div",{className:"flex items-center space-x-2",children:[p.jsx(Ev,{className:"w-4 h-4 text-blue-600 dark:text-blue-400"}),p.jsx("span",{className:"text-sm text-blue-700 dark:text-blue-300",children:n("version.newVersionAvailable",{version:r})})]}),p.jsxs("div",{className:"flex items-center space-x-1",children:[p.jsx("button",{onClick:h,className:"p-1 text-blue-600 dark:text-blue-400 hover:bg-blue-100 dark:hover:bg-blue-800 rounded",title:n("version.viewUpdate"),children:p.jsx(Nv,{className:"w-4 h-4"})}),p.jsx("button",{onClick:c,className:"p-1 text-blue-600 dark:text-blue-400 hover:bg-blue-100 dark:hover:bg-blue-800 rounded",title:n("version.dismiss"),children:p.jsx(Za,{className:"w-4 h-4"})})]})]}),p.jsxs("div",{className:"mt-1 text-xs text-blue-600 dark:text-blue-400",children:[n("version.currentVersion"),": ",a]})]}):p.jsxs("div",{className:"bg-gradient-to-r from-blue-50 to-indigo-50 dark:from-blue-900/30 dark:to-indigo-900/30 border border-blue-200 dark:border-blue-800 rounded-lg p-4",children:[p.jsxs("div",{className:"flex items-start justify-between",children:[p.jsxs("div",{className:"flex items-start space-x-3",children:[p.jsx("div",{className:"flex-shrink-0",children:p.jsx(Ev,{className:"w-6 h-6 text-blue-600 dark:text-blue-400"})}),p.jsxs("div",{children:[p.jsx("h3",{className:"text-sm font-medium text-blue-900 dark:text-blue-100",children:n("version.updateAvailableTitle")}),p.jsx("p",{className:"mt-1 text-sm text-blue-700 dark:text-blue-300",children:n("version.newVersionAvailable",{version:r})}),p.jsxs("p",{className:"mt-1 text-xs text-blue-600 dark:text-blue-400",children:[n("version.currentVersion"),": ",a]})]})]}),p.jsx("button",{onClick:c,className:"p-1 text-blue-400 hover:text-blue-600 dark:hover:text-blue-300 rounded",children:p.jsx(Za,{className:"w-5 h-5"})})]}),p.jsxs("div",{className:"mt-3 flex space-x-3",children:[p.jsxs("button",{onClick:h,className:"inline-flex items-center px-3 py-1.5 text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 rounded-md transition-colors",children:[p.jsx(Nv,{className:"w-4 h-4 mr-1"}),n("version.viewUpdate")]}),p.jsx("button",{onClick:c,className:"inline-flex items-center px-3 py-1.5 text-sm font-medium text-blue-700 dark:text-blue-300 bg-blue-100 dark:bg-blue-800 hover:bg-blue-200 dark:hover:bg-blue-700 rounded-md transition-colors",children:n("version.remindLater")})]})]})},qk=()=>{const[s,n]=S.useState({xs:!1,sm:!1,md:!1,lg:!1,xl:!1,"2xl":!1,"3xl":!1});return S.useEffect(()=>{const a=()=>{const r=window.innerWidth;n({xs:r>=475,sm:r>=640,md:r>=768,lg:r>=1024,xl:r>=1280,"2xl":r>=1536,"3xl":r>=1600})};return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),s},Bk=()=>{const[s,n]=S.useState({width:typeof window<"u"?window.innerWidth:1024,height:typeof window<"u"?window.innerHeight:768});return S.useEffect(()=>{const a=()=>{n({width:window.innerWidth,height:window.innerHeight})};return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),s},$k=()=>{const[s,n]=S.useState("portrait");return S.useEffect(()=>{const a=()=>{n(window.innerHeight>window.innerWidth?"portrait":"landscape")};return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]),s},Eb=S.createContext(void 0),Vk=({children:s})=>{const n=qk(),a=Bk(),r=$k(),l=!n.md,c=n.md&&!n.lg,f=n.lg,[h,g]=S.useState(!1),[m,y]=S.useState(!1),[b,x]=S.useState(null);S.useEffect(()=>{f&&(g(!1),y(!1),x(null))},[f]),S.useEffect(()=>{h?(y(!1),x("sidebar")):m?(g(!1),x("right")):x(null)},[h,m]),S.useEffect(()=>{l&&(g(!1),y(!1),x(null))},[r,l]);const C={isMobile:l,isTablet:c,isDesktop:f,breakpoints:n,screenSize:a,orientation:r,sidebarOpen:h,setSidebarOpen:g,rightPanelOpen:m,setRightPanelOpen:y,activePanel:b,setActivePanel:x};return p.jsx(Eb.Provider,{value:C,children:s})},ch=()=>{const s=S.useContext(Eb);if(s===void 0)throw new Error("useMobileContext must be used within a MobileProvider");return s};async function Gk(){const s=await fetch(`${Xl}/engine`);if(!s.ok)throw new Error(`Failed to fetch engine config: ${s.statusText}`);const n=await s.json();return{engine:n.engine,name:n.name,version:n.version,capabilities:n.capabilities,paths:n.paths}}function Yk(){const{data:s,isLoading:n,error:a,refetch:r}=eh({queryKey:["engine-config"],queryFn:Gk,staleTime:1/0,gcTime:1/0,retry:3}),l=s?.engine==="cursor-cli",c=s?.engine==="claude-sdk",f=b=>s?s.capabilities.features[b]:!1,h=b=>s?s.capabilities[b].supported:!1,g=(b,x)=>{if(!s)return!1;const C=s.capabilities[b];return C.supported&&C.canRead&&C.scopes.includes(x)},m=(b,x)=>{if(!s)return!1;const C=s.capabilities[b];return C.supported&&C.canWrite&&C.scopes.includes(x)},y=b=>{if(!s)return[];const x=s.capabilities[b];return x.supported?x.scopes:[]};return{config:s,isLoading:n,error:a,refetch:r,engineType:s?.engine,engineName:s?.name,isCursorEngine:l,isClaudeEngine:c,capabilities:s?.capabilities,paths:s?.paths,isFeatureSupported:f,isConfigSupported:h,canReadConfig:g,canWriteConfig:m,getSupportedScopes:y}}S.createContext(null);const Kk=s=>[{name:s("nav.dashboard"),href:"/dashboard",icon:Tw},{name:s("nav.projects"),href:"/projects",icon:Ew},{name:s("nav.mcp"),href:"/mcp",icon:so,requireConfig:"mcp"},{name:s("nav.agents"),href:"/agents",icon:Mv},{name:s("nav.scheduledTasks"),href:"/scheduled-tasks",icon:Nw},{name:s("nav.extensions"),href:"/plugins",icon:Ow,submenu:[{name:s("nav.plugins"),href:"/plugins",icon:Mw,requireConfig:"plugins"},{name:s("nav.commands"),href:"/settings/commands",icon:jw,requireConfig:"commands"},{name:s("nav.subagents"),href:"/settings/subagents",icon:Mv,requireFeature:"subagents"},{name:s("nav.skills"),href:"/skills",icon:Rw,requireConfig:"skills"},{name:"Rules",href:"/rules",icon:Dw,requireConfig:"rules"},{name:"Hooks",href:"/hooks",icon:Pw,requireFeature:"hooks"}]},{name:s("nav.settings"),href:"/settings",icon:pc,submenu:[{name:s("nav.settingsSubmenu.general"),href:"/settings/general",icon:Lw},{name:s("nav.settingsSubmenu.suppliers"),href:"/settings/suppliers",icon:Fw,requireFeature:"provider"},{name:s("nav.settingsSubmenu.memory"),href:"/settings/memory",icon:zw},{name:s("nav.settingsSubmenu.mcpAdmin"),href:"/settings/mcp-admin",icon:Uw},{name:s("nav.settingsSubmenu.tunnel"),href:"/settings/tunnel",icon:Iw},{name:s("nav.settingsSubmenu.voice"),href:"/settings/voice",icon:Hw}]}],Nb=({onClose:s})=>{const{t:n}=Fn("pages"),a=Nn(),r=oo(),{isMobile:l}=ch(),[c,f]=S.useState(()=>a.pathname.startsWith("/settings")?[n("nav.settings")]:[]),[h,g]=S.useState(!1),{isFeatureSupported:m,isConfigSupported:y,engineType:b,isLoading:x}=Yk(),C=D=>D.filter(q=>!(q.requireEngine&&b!==q.requireEngine||q.requireFeature&&!m(q.requireFeature)||q.requireConfig&&!y(q.requireConfig))).map(q=>{if(q.submenu){const B=C(q.submenu);return B.length===0?null:{...q,submenu:B}}return q}).filter(q=>q!==null),E=S.useMemo(()=>{const D=Kk(n);return x?D:C(D)},[n,x,m,y,b]),k=D=>{f(q=>q.includes(D)?q.filter(B=>B!==D):[...q,D])},A=D=>c.includes(D),M=D=>D.submenu&&D.submenu.length>0?D.submenu.some(B=>a.pathname===B.href||a.pathname.startsWith(B.href+"/")):a.pathname===D.href||a.pathname.startsWith(D.href+"/"),j=D=>{const q=D.submenu&&D.submenu.length>0,B=A(D.name),V=M(D);return q?p.jsx("li",{children:p.jsxs("div",{className:"space-y-1",children:[p.jsxs("button",{onClick:()=>k(D.name),className:`w-full flex items-center space-x-3 px-4 py-3 rounded-lg transition-colors ${V?"bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300":"text-gray-600 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-700 hover:text-gray-900 dark:hover:text-white"}`,children:[p.jsx(D.icon,{className:"w-5 h-5"}),p.jsx("span",{className:"font-medium flex-1 text-left",children:D.name}),B?p.jsx(qw,{className:"w-4 h-4"}):p.jsx(Bw,{className:"w-4 h-4"})]}),B&&p.jsx("ul",{className:"ml-6 space-y-1",children:D.submenu.map(I=>p.jsx("li",{children:p.jsxs(bf,{to:I.href,onClick:()=>{l&&s&&s()},className:({isActive:L})=>`flex items-center space-x-3 px-4 py-2 rounded-lg transition-colors text-sm ${L?"bg-blue-100 dark:bg-blue-900/40 text-blue-700 dark:text-blue-300":"text-gray-600 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-700 hover:text-gray-900 dark:hover:text-white"}`,children:[p.jsx(I.icon,{className:"w-4 h-4"}),p.jsx("span",{className:"font-medium",children:I.name})]})},I.name))})]})},D.nameKey):p.jsx("li",{children:p.jsxs(bf,{to:D.href,onClick:()=>{l&&s&&s()},className:({isActive:I})=>`flex items-center space-x-3 px-4 py-3 rounded-lg transition-colors ${I?"bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300":"text-gray-600 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-700 hover:text-gray-900 dark:hover:text-white"}`,children:[p.jsx(D.icon,{className:"w-5 h-5"}),p.jsx("span",{className:"font-medium",children:D.name})]})},D.name)};return p.jsxs("div",{className:"w-64 bg-white dark:bg-gray-800 shadow-sm border-r border-gray-200 dark:border-gray-700 flex flex-col h-full z-40",children:[p.jsx("div",{className:"px-6 py-8 flex-shrink-0",children:p.jsxs("button",{onClick:()=>r("/"),className:"flex items-center space-x-3 w-full text-left hover:opacity-80 transition-opacity focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 rounded-lg p-2",children:[p.jsx("div",{className:"w-10 h-10 bg-blue-600 rounded-lg flex items-center justify-center",children:p.jsx("img",{src:"/cc-studio.png",alt:"Agent Studio",className:"w-10 h-10"})}),p.jsxs("div",{className:"flex flex-col min-w-0",children:[p.jsx("h1",{className:"text-xl font-bold text-gray-900 dark:text-white whitespace-nowrap",children:"Agent Studio"}),p.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400 whitespace-nowrap",children:"Your Agent Workspace"})]})]})}),p.jsx("nav",{className:"flex-1 overflow-y-auto px-4 pb-4",children:p.jsx("ul",{className:"space-y-2",children:E.map(j)})}),p.jsx("div",{className:"flex-shrink-0 p-4 border-t border-gray-200 dark:border-gray-700",children:p.jsxs("div",{className:"space-y-3",children:[p.jsx(Hk,{compact:!0}),p.jsx(Dk,{onManageServices:()=>g(!0)})]})}),p.jsx(Uk,{isOpen:h,onClose:()=>g(!1)})]})},Xk=({isOpen:s,onClose:n})=>{const{isMobile:a}=ch();return a?p.jsxs(p.Fragment,{children:[s&&p.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 z-50 lg:hidden",onClick:n,"aria-hidden":"true"}),p.jsxs("div",{className:`
76
76
  fixed top-0 left-0 h-full w-72 bg-white dark:bg-gray-800 shadow-xl z-[60]
77
77
  transform transition-transform duration-300 ease-in-out
78
78
  ${s?"translate-x-0":"-translate-x-full"}
79
79
  lg:hidden
80
- `,children:[p.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-gray-200 dark:border-gray-700",children:[p.jsx("h2",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:"Menu"}),p.jsx("button",{onClick:n,className:"p-2 text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200 rounded-md hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors","aria-label":"Close sidebar",children:p.jsx(Za,{className:"w-5 h-5"})})]}),p.jsx("div",{className:"overflow-y-auto h-full pb-20",children:p.jsx(Tb,{onClose:n})})]})]}):null},tn=({children:s})=>{const{isMobile:n,sidebarOpen:a,setSidebarOpen:r}=lh();return p.jsxs("div",{className:"h-screen bg-gray-50 dark:bg-gray-900 flex",children:[p.jsx("div",{className:"hidden md:block",children:p.jsx(Tb,{})}),p.jsx(Kk,{isOpen:a,onClose:()=>r(!1)}),p.jsxs("main",{className:"flex-1 overflow-auto relative",children:[n&&p.jsx("header",{className:"sticky top-0 z-40 bg-white dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700 px-4 py-3",children:p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsx("button",{onClick:()=>r(!0),className:"p-2 text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200 rounded-md hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors","aria-label":"Open sidebar",children:p.jsx(Bw,{className:"w-5 h-5"})}),p.jsxs("div",{className:"flex items-center space-x-2",children:[p.jsx("div",{className:"w-8 h-8 bg-blue-600 rounded-lg flex items-center justify-center",children:p.jsx("img",{src:"/cc-studio.png",alt:"Agent Studio",className:"w-8 h-8"})}),p.jsx("h1",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:"Agent Studio"})]}),p.jsx("div",{className:"w-9 h-9"})," "]})}),p.jsx("div",{className:n?"pb-4":"",children:s})]})]})};function Xk(){const{token:s,setToken:n,removeToken:a,getToken:r}=Wf(),{currentService:l}=lo(),[c,f]=S.useState(!1),[h,g]=S.useState(null),[m,y]=S.useState(!1),b=S.useRef(null),x=S.useRef(0),C=l?.id,k=!!S.useMemo(()=>C?r(C):null,[C,r]),A=S.useCallback(async()=>{try{const V=await fetch(`${vn()}/auth/check-password-required`,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(5e3)}),I=await V.json();return V.ok?{success:!0,passwordRequired:I.passwordRequired}:{success:!1,passwordRequired:!0,error:I.error||"Failed to check password requirement"}}catch(V){return console.error("Failed to check password requirement:",V),{success:!1,passwordRequired:!0,error:V instanceof Error?V.message:"Network error"}}},[]),M=S.useCallback(async()=>{if(f(!0),g(null),!l)return g("No service selected"),f(!1),!1;try{const V=await fetch(`${vn()}/auth/login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),I=await V.json();if(!V.ok){const Z=new Error(I.error||"Login failed");return Z.status=V.status,Z.details=I,g(Z),!1}const L={token:I.token,serviceId:l.id,serviceName:l.name,serviceUrl:l.url,timestamp:Date.now()};return n(L),!0}catch(V){const I=new Error("Network error occurred during login");return I.originalError=V,g(I),!1}finally{f(!1)}},[l,n]),j=S.useCallback(async V=>{if(f(!0),g(null),!l)return g("No service selected"),f(!1),!1;try{const I=await fetch(`${vn()}/auth/login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:V})}),L=await I.json();if(!I.ok){const re=new Error(L.error||"Login failed");return re.status=I.status,re.details=L,re.url=vn(),re.timestamp=Date.now(),g(re),!1}const Z={token:L.token,serviceId:l.id,serviceName:l.name,serviceUrl:l.url,timestamp:Date.now()};return n(Z),!0}catch(I){const L=new Error("Network error occurred during login"),Z=`${vn()}/auth/login`;return I instanceof Error?(L.originalError={message:I.message,stack:I.stack,name:I.name},L.type=I.name,I.name==="TypeError"?(L.isNetworkError=!0,I.message.includes("fetch")?L.message=`Failed to connect to server at ${vn()}`:I.message.includes("network")&&(L.message=`Network connection error while contacting ${vn()}`)):I.name==="AbortError"&&(L.isAbortError=!0,L.message=`Login request timed out for ${Z}`)):(L.originalError=I,L.type=typeof I),L.requestUrl=Z,L.requestMethod="POST",L.requestBody={password:"[REDACTED]"},L.url=vn(),L.timestamp=Date.now(),g(L),!1}finally{f(!1)}},[l,n]),D=S.useCallback(async()=>{if(l)try{const V=r(l.id);V&&await fetch(`${vn()}/auth/logout`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${V.token}`}})}catch(V){console.error("Logout error:",V)}finally{l&&a(l.id)}},[l,r,a]),q=S.useCallback(async()=>{if(!l)return!1;const V=r(l.id);if(!V)return!1;if(ff(V))return a(l.id),!1;try{const I=kv(V);if(!I)return a(l.id),!1;const L=new AbortController,Z=setTimeout(()=>L.abort(),5e3),re=await fetch(`${vn()}/auth/verify`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:I}),signal:L.signal});clearTimeout(Z);const Se=await re.json();return!re.ok||!Se.valid?(re.status===401&&a(l.id),!1):!0}catch(I){return console.error("Token verification error:",I),I.name==="AbortError"?(console.warn("Token verification request timed out"),!1):I instanceof TypeError&&(I.message.includes("fetch")||I.message.includes("network")||I.message.includes("Failed to fetch"))?(console.warn("Network error during token verification, keeping token"),!1):(a(l.id),!1)}},[l,r,a]),B=S.useCallback(async()=>{if(!l||m)return!1;const V=r(l.id);if(!V||ff(V))return!1;if(!Hl(V))return!0;y(!0);try{const I=kv(V);if(!I)return!1;const L=await fetch(`${vn()}/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:I})});if(!L.ok)return console.error("Token refresh failed:",L.status),!1;const Z=await L.json();if(Z.success&&Z.token){if(Z.refreshed){const re={...V,token:Z.token,timestamp:Date.now()};n(re),console.log("Token refreshed successfully")}return!0}return!1}catch(I){return console.error("Token refresh error:",I),!1}finally{y(!1)}},[l,r,m,n]);return S.useEffect(()=>{if(!l||!k){b.current&&(clearInterval(b.current),b.current=null);return}return b.current=setInterval(async()=>{const V=Date.now();if(V-x.current<120*1e3)return;x.current=V;const I=r(l.id);I&&Hl(I)&&(console.log("Auto-refreshing token..."),await B())},300*1e3),()=>{b.current&&(clearInterval(b.current),b.current=null)}},[l,k,r,B]),S.useEffect(()=>{if(!l||!k)return;(async()=>{const I=r(l.id);I&&Hl(I)&&(console.log("Token needs refresh on service change..."),await B())})()},[l?.id]),{token:s,isAuthenticated:k,isLoading:c,error:h,isRefreshing:m,login:j,loginWithoutPassword:M,logout:D,verifyToken:q,refreshToken:B,checkPasswordRequired:A}}const ch="backend_onboarding_completed",Qk=()=>{try{const s=localStorage.getItem(ch);return s?JSON.parse(s):{completed:!1}}catch(s){return console.error("Failed to read backend onboarding status:",s),{completed:!1}}},Bd=(s=!1)=>{const n={completed:!0,completedAt:Date.now(),skipped:s};localStorage.setItem(ch,JSON.stringify(n))},XP=()=>{localStorage.removeItem(ch)},Zk=({onNext:s,onSkip:n})=>{const{t:a}=Fn("onboarding");return p.jsxs("div",{className:"text-center space-y-6",children:[p.jsx("div",{className:"flex justify-center",children:p.jsx("div",{className:"p-4 bg-blue-100 dark:bg-blue-900/30 rounded-full",children:p.jsx($w,{className:"w-12 h-12 text-blue-600 dark:text-blue-400"})})}),p.jsxs("div",{children:[p.jsx("h2",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-2",children:a("backend.welcome.title")}),p.jsx("p",{className:"text-gray-600 dark:text-gray-400",children:a("backend.welcome.subtitle")})]}),p.jsxs("div",{className:"bg-gray-50 dark:bg-gray-700/50 rounded-lg p-6 space-y-4 text-left",children:[p.jsx("p",{className:"text-sm font-medium text-gray-700 dark:text-gray-300 mb-3",children:a("backend.welcome.features.title")}),p.jsxs("div",{className:"space-y-3",children:[p.jsxs("div",{className:"flex items-start space-x-3",children:[p.jsx(io,{className:"w-5 h-5 text-blue-600 dark:text-blue-400 mt-0.5 flex-shrink-0"}),p.jsxs("div",{children:[p.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-white",children:a("backend.welcome.features.ai.title")}),p.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400",children:a("backend.welcome.features.ai.description")})]})]}),p.jsxs("div",{className:"flex items-start space-x-3",children:[p.jsx(Vw,{className:"w-5 h-5 text-green-600 dark:text-green-400 mt-0.5 flex-shrink-0"}),p.jsxs("div",{children:[p.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-white",children:a("backend.welcome.features.storage.title")}),p.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400",children:a("backend.welcome.features.storage.description")})]})]}),p.jsxs("div",{className:"flex items-start space-x-3",children:[p.jsx(Gw,{className:"w-5 h-5 text-purple-600 dark:text-purple-400 mt-0.5 flex-shrink-0"}),p.jsxs("div",{children:[p.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-white",children:a("backend.welcome.features.history.title")}),p.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400",children:a("backend.welcome.features.history.description")})]})]})]})]}),p.jsxs("div",{className:"flex space-x-3",children:[p.jsxs("button",{onClick:n,className:"flex-1 flex items-center justify-center space-x-2 px-4 py-3 border border-gray-300 dark:border-gray-600 rounded-lg text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors",children:[p.jsx(Yw,{className:"w-4 h-4"}),p.jsx("span",{children:a("backend.actions.skip")})]}),p.jsxs("button",{onClick:s,className:"flex-1 flex items-center justify-center space-x-2 px-4 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors",children:[p.jsx("span",{children:a("backend.actions.getStarted")}),p.jsx(Kw,{className:"w-4 h-4"})]})]})]})},Wk=({port:s})=>{const{t:n}=Fn("onboarding"),a=window.location.port,l=s||(a&&!["3000","5173","5174","8080"].includes(a)?a:"4936");return p.jsxs("div",{className:"text-center py-8 space-y-6",children:[p.jsx(cb,{className:"w-12 h-12 mx-auto animate-spin text-blue-600 dark:text-blue-400"}),p.jsxs("div",{children:[p.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white mb-2",children:n("backend.detecting.title")}),p.jsx("p",{className:"text-gray-600 dark:text-gray-400",children:n("backend.detecting.description")})]}),p.jsxs("div",{className:"bg-gray-50 dark:bg-gray-700/50 rounded-lg p-4 space-y-2 text-left",children:[p.jsxs("div",{className:"flex items-center space-x-2 text-sm text-gray-600 dark:text-gray-400",children:[p.jsx("div",{className:"w-2 h-2 bg-blue-600 rounded-full animate-pulse"}),p.jsxs("span",{children:["http://127.0.0.1:",l]})]}),p.jsxs("div",{className:"flex items-center space-x-2 text-sm text-gray-600 dark:text-gray-400",children:[p.jsx("div",{className:"w-2 h-2 bg-blue-600 rounded-full animate-pulse"}),p.jsxs("span",{children:["http://localhost:",l]})]})]})]})},Jk=({serviceUrl:s,onUseService:n,onAddOther:a})=>{const{t:r}=Fn("onboarding");return p.jsxs("div",{className:"space-y-6",children:[p.jsx("div",{className:"flex justify-center",children:p.jsx(En,{className:"w-16 h-16 text-green-500"})}),p.jsxs("div",{className:"text-center",children:[p.jsx("h3",{className:"text-xl font-bold text-gray-900 dark:text-white mb-2",children:r("backend.found.title")}),p.jsx("p",{className:"text-gray-600 dark:text-gray-400",children:r("backend.found.description")})]}),p.jsx("div",{className:"bg-green-50 dark:bg-green-900/20 border border-green-200 dark:border-green-800 rounded-lg p-4",children:p.jsxs("div",{className:"flex items-start space-x-3",children:[p.jsx(io,{className:"w-5 h-5 text-green-600 dark:text-green-400 mt-0.5"}),p.jsxs("div",{className:"flex-1",children:[p.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-white mb-1",children:r("backend.found.serviceAddress")}),p.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 font-mono",children:s}),p.jsxs("div",{className:"flex items-center space-x-2 mt-2",children:[p.jsx(En,{className:"w-4 h-4 text-green-500"}),p.jsx("span",{className:"text-xs text-green-700 dark:text-green-300",children:r("backend.found.status")})]})]})]})}),p.jsxs("div",{className:"space-y-3",children:[p.jsxs("button",{onClick:n,className:"w-full flex items-center justify-center space-x-2 px-4 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors",children:[p.jsx(En,{className:"w-4 h-4"}),p.jsx("span",{children:r("backend.found.useThisService")})]}),p.jsxs("button",{onClick:a,className:"w-full flex items-center justify-center space-x-2 px-4 py-3 border border-gray-300 dark:border-gray-600 rounded-lg text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors",children:[p.jsx(hf,{className:"w-4 h-4"}),p.jsx("span",{children:r("backend.found.addOtherService")})]})]})]})},Vv=({onRetry:s,onAddRemote:n,onBack:a,showWarning:r=!0})=>{const{t:l}=Fn("onboarding"),[c,f]=S.useState(""),[h,g]=S.useState(""),[m,y]=S.useState(!1),[b,x]=S.useState(null),[C,T]=S.useState(!1),k=`git clone https://github.com/okguitar/agentstudio.git
80
+ `,children:[p.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-gray-200 dark:border-gray-700",children:[p.jsx("h2",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:"Menu"}),p.jsx("button",{onClick:n,className:"p-2 text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200 rounded-md hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors","aria-label":"Close sidebar",children:p.jsx(Za,{className:"w-5 h-5"})})]}),p.jsx("div",{className:"overflow-y-auto h-full pb-20",children:p.jsx(Nb,{onClose:n})})]})]}):null},tn=({children:s})=>{const{isMobile:n,sidebarOpen:a,setSidebarOpen:r}=ch();return p.jsxs("div",{className:"h-screen bg-gray-50 dark:bg-gray-900 flex",children:[p.jsx("div",{className:"hidden md:block",children:p.jsx(Nb,{})}),p.jsx(Xk,{isOpen:a,onClose:()=>r(!1)}),p.jsxs("main",{className:"flex-1 overflow-auto relative",children:[n&&p.jsx("header",{className:"sticky top-0 z-40 bg-white dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700 px-4 py-3",children:p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsx("button",{onClick:()=>r(!0),className:"p-2 text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200 rounded-md hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors","aria-label":"Open sidebar",children:p.jsx($w,{className:"w-5 h-5"})}),p.jsxs("div",{className:"flex items-center space-x-2",children:[p.jsx("div",{className:"w-8 h-8 bg-blue-600 rounded-lg flex items-center justify-center",children:p.jsx("img",{src:"/cc-studio.png",alt:"Agent Studio",className:"w-8 h-8"})}),p.jsx("h1",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:"Agent Studio"})]}),p.jsx("div",{className:"w-9 h-9"})," "]})}),p.jsx("div",{className:n?"pb-4":"",children:s})]})]})};function Qk(){const{token:s,setToken:n,removeToken:a,getToken:r}=Jf(),{currentService:l}=co(),[c,f]=S.useState(!1),[h,g]=S.useState(null),[m,y]=S.useState(!1),b=S.useRef(null),x=S.useRef(0),C=l?.id,k=!!S.useMemo(()=>C?r(C):null,[C,r]),A=S.useCallback(async()=>{try{const V=await fetch(`${vn()}/auth/check-password-required`,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(5e3)}),I=await V.json();return V.ok?{success:!0,passwordRequired:I.passwordRequired}:{success:!1,passwordRequired:!0,error:I.error||"Failed to check password requirement"}}catch(V){return console.error("Failed to check password requirement:",V),{success:!1,passwordRequired:!0,error:V instanceof Error?V.message:"Network error"}}},[]),M=S.useCallback(async()=>{if(f(!0),g(null),!l)return g("No service selected"),f(!1),!1;try{const V=await fetch(`${vn()}/auth/login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),I=await V.json();if(!V.ok){const Z=new Error(I.error||"Login failed");return Z.status=V.status,Z.details=I,g(Z),!1}const L={token:I.token,serviceId:l.id,serviceName:l.name,serviceUrl:l.url,timestamp:Date.now()};return n(L),!0}catch(V){const I=new Error("Network error occurred during login");return I.originalError=V,g(I),!1}finally{f(!1)}},[l,n]),j=S.useCallback(async V=>{if(f(!0),g(null),!l)return g("No service selected"),f(!1),!1;try{const I=await fetch(`${vn()}/auth/login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:V})}),L=await I.json();if(!I.ok){const re=new Error(L.error||"Login failed");return re.status=I.status,re.details=L,re.url=vn(),re.timestamp=Date.now(),g(re),!1}const Z={token:L.token,serviceId:l.id,serviceName:l.name,serviceUrl:l.url,timestamp:Date.now()};return n(Z),!0}catch(I){const L=new Error("Network error occurred during login"),Z=`${vn()}/auth/login`;return I instanceof Error?(L.originalError={message:I.message,stack:I.stack,name:I.name},L.type=I.name,I.name==="TypeError"?(L.isNetworkError=!0,I.message.includes("fetch")?L.message=`Failed to connect to server at ${vn()}`:I.message.includes("network")&&(L.message=`Network connection error while contacting ${vn()}`)):I.name==="AbortError"&&(L.isAbortError=!0,L.message=`Login request timed out for ${Z}`)):(L.originalError=I,L.type=typeof I),L.requestUrl=Z,L.requestMethod="POST",L.requestBody={password:"[REDACTED]"},L.url=vn(),L.timestamp=Date.now(),g(L),!1}finally{f(!1)}},[l,n]),D=S.useCallback(async()=>{if(l)try{const V=r(l.id);V&&await fetch(`${vn()}/auth/logout`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${V.token}`}})}catch(V){console.error("Logout error:",V)}finally{l&&a(l.id)}},[l,r,a]),q=S.useCallback(async()=>{if(!l)return!1;const V=r(l.id);if(!V)return!1;if(hf(V))return a(l.id),!1;try{const I=Av(V);if(!I)return a(l.id),!1;const L=new AbortController,Z=setTimeout(()=>L.abort(),5e3),re=await fetch(`${vn()}/auth/verify`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:I}),signal:L.signal});clearTimeout(Z);const Se=await re.json();return!re.ok||!Se.valid?(re.status===401&&a(l.id),!1):!0}catch(I){return console.error("Token verification error:",I),I.name==="AbortError"?(console.warn("Token verification request timed out"),!1):I instanceof TypeError&&(I.message.includes("fetch")||I.message.includes("network")||I.message.includes("Failed to fetch"))?(console.warn("Network error during token verification, keeping token"),!1):(a(l.id),!1)}},[l,r,a]),B=S.useCallback(async()=>{if(!l||m)return!1;const V=r(l.id);if(!V||hf(V))return!1;if(!ql(V))return!0;y(!0);try{const I=Av(V);if(!I)return!1;const L=await fetch(`${vn()}/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:I})});if(!L.ok)return console.error("Token refresh failed:",L.status),!1;const Z=await L.json();if(Z.success&&Z.token){if(Z.refreshed){const re={...V,token:Z.token,timestamp:Date.now()};n(re),console.log("Token refreshed successfully")}return!0}return!1}catch(I){return console.error("Token refresh error:",I),!1}finally{y(!1)}},[l,r,m,n]);return S.useEffect(()=>{if(!l||!k){b.current&&(clearInterval(b.current),b.current=null);return}return b.current=setInterval(async()=>{const V=Date.now();if(V-x.current<120*1e3)return;x.current=V;const I=r(l.id);I&&ql(I)&&(console.log("Auto-refreshing token..."),await B())},300*1e3),()=>{b.current&&(clearInterval(b.current),b.current=null)}},[l,k,r,B]),S.useEffect(()=>{if(!l||!k)return;(async()=>{const I=r(l.id);I&&ql(I)&&(console.log("Token needs refresh on service change..."),await B())})()},[l?.id]),{token:s,isAuthenticated:k,isLoading:c,error:h,isRefreshing:m,login:j,loginWithoutPassword:M,logout:D,verifyToken:q,refreshToken:B,checkPasswordRequired:A}}const uh="backend_onboarding_completed",Zk=()=>{try{const s=localStorage.getItem(uh);return s?JSON.parse(s):{completed:!1}}catch(s){return console.error("Failed to read backend onboarding status:",s),{completed:!1}}},$d=(s=!1)=>{const n={completed:!0,completedAt:Date.now(),skipped:s};localStorage.setItem(uh,JSON.stringify(n))},JP=()=>{localStorage.removeItem(uh)},Wk=({onNext:s,onSkip:n})=>{const{t:a}=Fn("onboarding");return p.jsxs("div",{className:"text-center space-y-6",children:[p.jsx("div",{className:"flex justify-center",children:p.jsx("div",{className:"p-4 bg-blue-100 dark:bg-blue-900/30 rounded-full",children:p.jsx(Vw,{className:"w-12 h-12 text-blue-600 dark:text-blue-400"})})}),p.jsxs("div",{children:[p.jsx("h2",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-2",children:a("backend.welcome.title")}),p.jsx("p",{className:"text-gray-600 dark:text-gray-400",children:a("backend.welcome.subtitle")})]}),p.jsxs("div",{className:"bg-gray-50 dark:bg-gray-700/50 rounded-lg p-6 space-y-4 text-left",children:[p.jsx("p",{className:"text-sm font-medium text-gray-700 dark:text-gray-300 mb-3",children:a("backend.welcome.features.title")}),p.jsxs("div",{className:"space-y-3",children:[p.jsxs("div",{className:"flex items-start space-x-3",children:[p.jsx(so,{className:"w-5 h-5 text-blue-600 dark:text-blue-400 mt-0.5 flex-shrink-0"}),p.jsxs("div",{children:[p.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-white",children:a("backend.welcome.features.ai.title")}),p.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400",children:a("backend.welcome.features.ai.description")})]})]}),p.jsxs("div",{className:"flex items-start space-x-3",children:[p.jsx(Gw,{className:"w-5 h-5 text-green-600 dark:text-green-400 mt-0.5 flex-shrink-0"}),p.jsxs("div",{children:[p.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-white",children:a("backend.welcome.features.storage.title")}),p.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400",children:a("backend.welcome.features.storage.description")})]})]}),p.jsxs("div",{className:"flex items-start space-x-3",children:[p.jsx(Yw,{className:"w-5 h-5 text-purple-600 dark:text-purple-400 mt-0.5 flex-shrink-0"}),p.jsxs("div",{children:[p.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-white",children:a("backend.welcome.features.history.title")}),p.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400",children:a("backend.welcome.features.history.description")})]})]})]})]}),p.jsxs("div",{className:"flex space-x-3",children:[p.jsxs("button",{onClick:n,className:"flex-1 flex items-center justify-center space-x-2 px-4 py-3 border border-gray-300 dark:border-gray-600 rounded-lg text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors",children:[p.jsx(Kw,{className:"w-4 h-4"}),p.jsx("span",{children:a("backend.actions.skip")})]}),p.jsxs("button",{onClick:s,className:"flex-1 flex items-center justify-center space-x-2 px-4 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors",children:[p.jsx("span",{children:a("backend.actions.getStarted")}),p.jsx(Xw,{className:"w-4 h-4"})]})]})]})},Jk=({port:s})=>{const{t:n}=Fn("onboarding"),a=window.location.port,l=s||(a&&!["3000","5173","5174","8080"].includes(a)?a:"4936");return p.jsxs("div",{className:"text-center py-8 space-y-6",children:[p.jsx(ub,{className:"w-12 h-12 mx-auto animate-spin text-blue-600 dark:text-blue-400"}),p.jsxs("div",{children:[p.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white mb-2",children:n("backend.detecting.title")}),p.jsx("p",{className:"text-gray-600 dark:text-gray-400",children:n("backend.detecting.description")})]}),p.jsxs("div",{className:"bg-gray-50 dark:bg-gray-700/50 rounded-lg p-4 space-y-2 text-left",children:[p.jsxs("div",{className:"flex items-center space-x-2 text-sm text-gray-600 dark:text-gray-400",children:[p.jsx("div",{className:"w-2 h-2 bg-blue-600 rounded-full animate-pulse"}),p.jsxs("span",{children:["http://127.0.0.1:",l]})]}),p.jsxs("div",{className:"flex items-center space-x-2 text-sm text-gray-600 dark:text-gray-400",children:[p.jsx("div",{className:"w-2 h-2 bg-blue-600 rounded-full animate-pulse"}),p.jsxs("span",{children:["http://localhost:",l]})]})]})]})},eA=({serviceUrl:s,onUseService:n,onAddOther:a})=>{const{t:r}=Fn("onboarding");return p.jsxs("div",{className:"space-y-6",children:[p.jsx("div",{className:"flex justify-center",children:p.jsx(Tn,{className:"w-16 h-16 text-green-500"})}),p.jsxs("div",{className:"text-center",children:[p.jsx("h3",{className:"text-xl font-bold text-gray-900 dark:text-white mb-2",children:r("backend.found.title")}),p.jsx("p",{className:"text-gray-600 dark:text-gray-400",children:r("backend.found.description")})]}),p.jsx("div",{className:"bg-green-50 dark:bg-green-900/20 border border-green-200 dark:border-green-800 rounded-lg p-4",children:p.jsxs("div",{className:"flex items-start space-x-3",children:[p.jsx(so,{className:"w-5 h-5 text-green-600 dark:text-green-400 mt-0.5"}),p.jsxs("div",{className:"flex-1",children:[p.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-white mb-1",children:r("backend.found.serviceAddress")}),p.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 font-mono",children:s}),p.jsxs("div",{className:"flex items-center space-x-2 mt-2",children:[p.jsx(Tn,{className:"w-4 h-4 text-green-500"}),p.jsx("span",{className:"text-xs text-green-700 dark:text-green-300",children:r("backend.found.status")})]})]})]})}),p.jsxs("div",{className:"space-y-3",children:[p.jsxs("button",{onClick:n,className:"w-full flex items-center justify-center space-x-2 px-4 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors",children:[p.jsx(Tn,{className:"w-4 h-4"}),p.jsx("span",{children:r("backend.found.useThisService")})]}),p.jsxs("button",{onClick:a,className:"w-full flex items-center justify-center space-x-2 px-4 py-3 border border-gray-300 dark:border-gray-600 rounded-lg text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors",children:[p.jsx(pf,{className:"w-4 h-4"}),p.jsx("span",{children:r("backend.found.addOtherService")})]})]})]})},Gv=({onRetry:s,onAddRemote:n,onBack:a,showWarning:r=!0})=>{const{t:l}=Fn("onboarding"),[c,f]=S.useState(""),[h,g]=S.useState(""),[m,y]=S.useState(!1),[b,x]=S.useState(null),[C,E]=S.useState(!1),k=`git clone https://github.com/okguitar/agentstudio.git
81
81
  cd agentstudio
82
82
  pnpm install
83
- pnpm run dev:backend`,A=async()=>{try{await navigator.clipboard.writeText(k),T(!0),setTimeout(()=>T(!1),2e3)}catch(D){console.error("Failed to copy:",D)}},M=async()=>{if(h){y(!0),x(null);try{const D=`${h}/api/health`,q=await fetch(D,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(5e3)});x(q.ok?"success":"error")}catch{x("error")}finally{y(!1)}}},j=async()=>{if(!c.trim()||!h.trim())return;await n(c.trim(),h.trim())&&(f(""),g(""),x(null))};return p.jsxs("div",{className:"space-y-6",children:[a&&p.jsxs("button",{onClick:a,className:"flex items-center space-x-2 text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-200 transition-colors",children:[p.jsx(Xw,{className:"w-4 h-4"}),p.jsx("span",{children:l("backend.actions.back")})]}),r&&p.jsx("div",{className:"bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg p-4",children:p.jsxs("div",{className:"flex items-start space-x-3",children:[p.jsx(Qw,{className:"w-5 h-5 text-yellow-600 dark:text-yellow-400 mt-0.5 flex-shrink-0"}),p.jsxs("div",{children:[p.jsx("h4",{className:"font-medium text-yellow-900 dark:text-yellow-200 mb-1",children:l("backend.notFound.title")}),p.jsx("p",{className:"text-sm text-yellow-800 dark:text-yellow-300",children:l("backend.notFound.description")})]})]})}),p.jsxs("div",{children:[p.jsx("h4",{className:"font-medium text-gray-900 dark:text-white mb-2",children:l("backend.addService.title")}),p.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:l("backend.addService.description")})]}),p.jsxs("div",{className:"space-y-3",children:[p.jsxs("div",{children:[p.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:l("backend.addService.serviceName")}),p.jsx("input",{type:"text",value:c,onChange:D=>f(D.target.value),placeholder:l("backend.addService.serviceNamePlaceholder"),className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-800 dark:text-white"})]}),p.jsxs("div",{children:[p.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:l("backend.addService.serviceUrl")}),p.jsx("input",{type:"url",value:h,onChange:D=>g(D.target.value),placeholder:"https://api.example.com",className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-800 dark:text-white"})]})]}),p.jsxs("div",{className:"flex space-x-3",children:[p.jsx("button",{onClick:M,disabled:!h||m,className:"flex-1 flex items-center justify-center space-x-2 px-4 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:m?p.jsxs(p.Fragment,{children:[p.jsx(cb,{className:"w-4 h-4 animate-spin"}),p.jsx("span",{children:l("backend.addService.testing")})]}):b==="success"?p.jsxs(p.Fragment,{children:[p.jsx(En,{className:"w-4 h-4 text-green-500"}),p.jsx("span",{children:l("backend.addService.success")})]}):b==="error"?p.jsxs(p.Fragment,{children:[p.jsx(Xl,{className:"w-4 h-4 text-red-500"}),p.jsx("span",{children:l("backend.addService.failed")})]}):p.jsxs(p.Fragment,{children:[p.jsx(pf,{className:"w-4 h-4"}),p.jsx("span",{children:l("backend.addService.testConnection")})]})}),p.jsx("button",{onClick:j,disabled:!c||!h||b!=="success",className:"flex-1 px-4 py-2.5 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors disabled:bg-gray-400 disabled:cursor-not-allowed",children:l("backend.addService.addButton")})]}),p.jsxs("div",{className:"bg-gray-50 dark:bg-gray-800/50 border border-gray-200 dark:border-gray-700 rounded-lg p-4 space-y-3",children:[p.jsxs("div",{className:"flex items-center space-x-2",children:[p.jsx(ub,{className:"w-4 h-4 text-blue-600 dark:text-blue-400"}),p.jsx("h5",{className:"font-medium text-gray-900 dark:text-white text-sm",children:l("backend.addService.installGuide.title")})]}),p.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:l("backend.addService.installGuide.description")}),p.jsxs("div",{className:"bg-gray-900 dark:bg-gray-950 rounded-lg p-3 relative",children:[p.jsx("pre",{className:"text-xs text-green-400 font-mono whitespace-pre-wrap",children:k}),p.jsx("button",{onClick:A,className:"absolute top-2 right-2 p-1.5 bg-gray-800 hover:bg-gray-700 rounded text-gray-400 hover:text-white transition-colors",title:l("backend.addService.installGuide.copyCommands"),children:C?p.jsx(En,{className:"w-3.5 h-3.5 text-green-400"}):p.jsx(Mv,{className:"w-3.5 h-3.5"})})]}),p.jsxs("div",{className:"flex space-x-2",children:[p.jsxs("button",{onClick:A,className:"flex-1 flex items-center justify-center space-x-1.5 px-3 py-1.5 border border-gray-300 dark:border-gray-600 rounded text-xs text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",children:[p.jsx(Mv,{className:"w-3.5 h-3.5"}),p.jsx("span",{children:l("backend.addService.installGuide.copyCommands")})]}),p.jsxs("a",{href:"https://github.com/okguitar/agentstudio?tab=readme-ov-file#-quick-start",target:"_blank",rel:"noopener noreferrer",className:"flex-1 flex items-center justify-center space-x-1.5 px-3 py-1.5 border border-gray-300 dark:border-gray-600 rounded text-xs text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",children:[p.jsx(Zw,{className:"w-3.5 h-3.5"}),p.jsx("span",{children:l("backend.addService.installGuide.viewDocs")})]})]})]}),s&&p.jsxs("button",{onClick:s,className:"w-full flex items-center justify-center space-x-2 px-4 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors",children:[p.jsx(pf,{className:"w-4 h-4"}),p.jsx("span",{children:l("backend.addService.retry")})]})]})},eA=({serviceName:s,serviceUrl:n,onGoToLogin:a,onManageServices:r})=>{const{t:l}=Fn("onboarding");return p.jsxs("div",{className:"text-center space-y-6",children:[p.jsx("div",{className:"flex justify-center",children:p.jsx("div",{className:"p-4 bg-green-100 dark:bg-green-900/30 rounded-full",children:p.jsx(En,{className:"w-12 h-12 text-green-600 dark:text-green-400"})})}),p.jsxs("div",{children:[p.jsx("h2",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-2",children:l("backend.complete.title")}),p.jsx("p",{className:"text-gray-600 dark:text-gray-400",children:l("backend.complete.description")})]}),p.jsx("div",{className:"bg-green-50 dark:bg-green-900/20 border border-green-200 dark:border-green-800 rounded-lg p-4 text-left",children:p.jsxs("div",{className:"space-y-2",children:[p.jsxs("div",{children:[p.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400",children:l("backend.complete.serviceName")}),p.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-white",children:s})]}),p.jsxs("div",{children:[p.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400",children:l("backend.complete.serviceUrl")}),p.jsx("p",{className:"text-sm font-mono text-gray-900 dark:text-white",children:n})]})]})}),p.jsxs("div",{className:"bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg p-4 text-left",children:[p.jsx("p",{className:"text-sm font-medium text-blue-900 dark:text-blue-200 mb-2",children:l("backend.complete.nextSteps.title")}),p.jsx("p",{className:"text-sm text-blue-800 dark:text-blue-300",children:l("backend.complete.nextSteps.description")})]}),p.jsxs("div",{className:"space-y-3",children:[p.jsxs("button",{onClick:a,className:"w-full flex items-center justify-center space-x-2 px-4 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors",children:[p.jsx(Ww,{className:"w-4 h-4"}),p.jsx("span",{children:l("backend.complete.goToLogin")})]}),p.jsxs("button",{onClick:r,className:"w-full flex items-center justify-center space-x-2 px-4 py-3 border border-gray-300 dark:border-gray-600 rounded-lg text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors",children:[p.jsx(hc,{className:"w-4 h-4"}),p.jsx("span",{children:l("backend.complete.manageServices")})]})]})]})},tA=({onComplete:s})=>{const{t:n}=Fn("onboarding"),a=ro(),{services:r,addService:l,switchService:c}=lo(),[f,h]=S.useState("welcome"),[g,m]=S.useState(null),[y,b]=S.useState(!1);S.useEffect(()=>{f==="detecting"&&x()},[f]);const x=async()=>{const L=window.location.port,re=L&&!["3000","5173","5174","8080"].includes(L)?L:"4936",Se=[`http://127.0.0.1:${re}`,`http://localhost:${re}`];for(const ge of Se)try{if((await fetch(`${ge}/api/health`,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(3e3)})).ok){m({name:"Local Development Server",url:ge}),h("found");return}}catch{}h("not-found")},C=()=>{if(!g)return;const L=r.find(Z=>Z.url===g.url);if(L)c(L.id);else{const Z=l({name:g.name,url:g.url});c(Z.id)}Bd(!1),h("complete")},T=()=>{h("add-service")},k=()=>{h("detecting")},A=()=>{h("found")},M=async(L,Z)=>{try{const re=l({name:L,url:Z});return c(re.id),m({name:L,url:Z}),Bd(!1),h("complete"),!0}catch(re){return console.error("Failed to add remote service:",re),!1}},j=()=>{b(!0)},D=()=>{b(!1)},q=()=>{Bd(!0),s()},B=()=>{s()},V=()=>{s(),a("/login")},I=()=>{switch(f){case"welcome":return p.jsx(Zk,{onNext:()=>h("detecting"),onSkip:j});case"detecting":return p.jsx(Wk,{});case"found":return g?p.jsx(Jk,{serviceUrl:g.url,onUseService:C,onAddOther:T}):null;case"not-found":return p.jsx(Vv,{onRetry:k,onAddRemote:M,showWarning:!0});case"add-service":return p.jsx(Vv,{onAddRemote:M,onBack:A,showWarning:!1});case"complete":return g?p.jsx(eA,{serviceName:g.name,serviceUrl:g.url,onGoToLogin:B,onManageServices:V}):null;default:return null}};return p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4",children:p.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl shadow-xl border border-gray-200 dark:border-gray-700 p-6 max-w-2xl w-full max-h-[90vh] overflow-y-auto",children:[f==="welcome"&&p.jsx("button",{onClick:j,className:"absolute top-4 right-4 p-2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 transition-colors","aria-label":"Close",children:p.jsx(Za,{className:"w-5 h-5"})}),I()]})}),y&&p.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-60 flex items-center justify-center z-[60] p-4",children:p.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl shadow-xl border border-gray-200 dark:border-gray-700 p-6 max-w-md w-full",children:[p.jsxs("div",{className:"flex items-start space-x-3 mb-4",children:[p.jsx(Qr,{className:"w-6 h-6 text-yellow-600 dark:text-yellow-400 flex-shrink-0 mt-0.5"}),p.jsxs("div",{children:[p.jsx("h3",{className:"text-lg font-bold text-gray-900 dark:text-white mb-2",children:n("backend.skipConfirm.title")}),p.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 mb-3",children:n("backend.skipConfirm.warning")}),p.jsxs("ul",{className:"text-sm text-gray-600 dark:text-gray-400 space-y-1 mb-3 list-disc list-inside",children:[p.jsx("li",{children:n("backend.skipConfirm.consequences.noAi")}),p.jsx("li",{children:n("backend.skipConfirm.consequences.noStorage")}),p.jsx("li",{children:n("backend.skipConfirm.consequences.noFeatures")})]}),p.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 mb-3",children:n("backend.skipConfirm.reconfigure")}),p.jsxs("ul",{className:"text-sm text-gray-600 dark:text-gray-400 space-y-1 list-disc list-inside",children:[p.jsx("li",{children:n("backend.skipConfirm.locations.loginPage")}),p.jsx("li",{children:n("backend.skipConfirm.locations.settingsPage")})]})]})]}),p.jsxs("div",{className:"flex space-x-3",children:[p.jsx("button",{onClick:D,className:"flex-1 px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors",children:n("backend.skipConfirm.back")}),p.jsx("button",{onClick:q,className:"flex-1 px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-lg text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors",children:n("backend.skipConfirm.skip")})]})]})})]})};function It({children:s}){const{isAuthenticated:n,verifyToken:a}=Xk(),{getToken:r}=Wf(),{currentService:l}=lo(),c=Nn(),[f,h]=S.useState(!0),[g,m]=S.useState(!1),[y,b]=S.useState(!1),x=S.useRef(null),C=S.useRef(0);S.useEffect(()=>{Qk().completed||(b(!0),h(!1))},[]),S.useEffect(()=>{(async()=>{if(y)return;const A=l?.id||null,M=A?r(A):null;if(!M){m(!1),h(!1);return}if(ff(M)){m(!1),h(!1);return}const j=Date.now(),D=j-300*1e3;if(!(A!==x.current||C.current===0||Hl(M)||C.current<D)&&!f){m(!0);return}if(h(!0),x.current=A,C.current=j,n){const B=await a();m(B)}else m(!1);h(!1)})()},[l?.id,y,n]);const T=()=>{b(!1),h(!0)};return y?p.jsx(tA,{onComplete:T}):f?p.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gray-50 dark:bg-gray-900",children:p.jsxs("div",{className:"text-center",children:[p.jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto"}),p.jsx("p",{className:"mt-4 text-gray-600 dark:text-gray-400",children:"Verifying..."})]})}):!n||!g?p.jsx(QC,{to:"/login",state:{from:c},replace:!0}):p.jsx(p.Fragment,{children:s})}function nn(s,n,{checkForDefaultPrevented:a=!0}={}){return function(l){if(s?.(l),a===!1||!l.defaultPrevented)return n?.(l)}}function Gv(s,n){if(typeof s=="function")return s(n);s!=null&&(s.current=n)}function Nb(...s){return n=>{let a=!1;const r=s.map(l=>{const c=Gv(l,n);return!a&&typeof c=="function"&&(a=!0),c});if(a)return()=>{for(let l=0;l<r.length;l++){const c=r[l];typeof c=="function"?c():Gv(s[l],null)}}}}function wi(...s){return S.useCallback(Nb(...s),s)}function Mb(s,n=[]){let a=[];function r(c,f){const h=S.createContext(f),g=a.length;a=[...a,f];const m=b=>{const{scope:x,children:C,...T}=b,k=x?.[s]?.[g]||h,A=S.useMemo(()=>T,Object.values(T));return p.jsx(k.Provider,{value:A,children:C})};m.displayName=c+"Provider";function y(b,x){const C=x?.[s]?.[g]||h,T=S.useContext(C);if(T)return T;if(f!==void 0)return f;throw new Error(`\`${b}\` must be used within \`${c}\``)}return[m,y]}const l=()=>{const c=a.map(f=>S.createContext(f));return function(h){const g=h?.[s]||c;return S.useMemo(()=>({[`__scope${s}`]:{...h,[s]:g}}),[h,g])}};return l.scopeName=s,[r,nA(l,...n)]}function nA(...s){const n=s[0];if(s.length===1)return n;const a=()=>{const r=s.map(l=>({useScope:l(),scopeName:l.scopeName}));return function(c){const f=r.reduce((h,{useScope:g,scopeName:m})=>{const b=g(c)[`__scope${m}`];return{...h,...b}},{});return S.useMemo(()=>({[`__scope${n.scopeName}`]:f}),[f])}};return a.scopeName=n.scopeName,a}function bf(s){const n=aA(s),a=S.forwardRef((r,l)=>{const{children:c,...f}=r,h=S.Children.toArray(c),g=h.find(sA);if(g){const m=g.props.children,y=h.map(b=>b===g?S.Children.count(m)>1?S.Children.only(null):S.isValidElement(m)?m.props.children:null:b);return p.jsx(n,{...f,ref:l,children:S.isValidElement(m)?S.cloneElement(m,void 0,y):null})}return p.jsx(n,{...f,ref:l,children:c})});return a.displayName=`${s}.Slot`,a}function aA(s){const n=S.forwardRef((a,r)=>{const{children:l,...c}=a;if(S.isValidElement(l)){const f=oA(l),h=rA(c,l.props);return l.type!==S.Fragment&&(h.ref=r?Nb(r,f):f),S.cloneElement(l,h)}return S.Children.count(l)>1?S.Children.only(null):null});return n.displayName=`${s}.SlotClone`,n}var iA=Symbol("radix.slottable");function sA(s){return S.isValidElement(s)&&typeof s.type=="function"&&"__radixId"in s.type&&s.type.__radixId===iA}function rA(s,n){const a={...n};for(const r in n){const l=s[r],c=n[r];/^on[A-Z]/.test(r)?l&&c?a[r]=(...h)=>{const g=c(...h);return l(...h),g}:l&&(a[r]=l):r==="style"?a[r]={...l,...c}:r==="className"&&(a[r]=[l,c].filter(Boolean).join(" "))}return{...s,...a}}function oA(s){let n=Object.getOwnPropertyDescriptor(s.props,"ref")?.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?s.ref:(n=Object.getOwnPropertyDescriptor(s,"ref")?.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?s.props.ref:s.props.ref||s.ref)}function lA(s){const n=s+"CollectionProvider",[a,r]=Mb(n),[l,c]=a(n,{collectionRef:{current:null},itemMap:new Map}),f=k=>{const{scope:A,children:M}=k,j=vi.useRef(null),D=vi.useRef(new Map).current;return p.jsx(l,{scope:A,itemMap:D,collectionRef:j,children:M})};f.displayName=n;const h=s+"CollectionSlot",g=bf(h),m=vi.forwardRef((k,A)=>{const{scope:M,children:j}=k,D=c(h,M),q=wi(A,D.collectionRef);return p.jsx(g,{ref:q,children:j})});m.displayName=h;const y=s+"CollectionItemSlot",b="data-radix-collection-item",x=bf(y),C=vi.forwardRef((k,A)=>{const{scope:M,children:j,...D}=k,q=vi.useRef(null),B=wi(A,q),V=c(y,M);return vi.useEffect(()=>(V.itemMap.set(q,{ref:q,...D}),()=>void V.itemMap.delete(q))),p.jsx(x,{[b]:"",ref:B,children:j})});C.displayName=y;function T(k){const A=c(s+"CollectionConsumer",k);return vi.useCallback(()=>{const j=A.collectionRef.current;if(!j)return[];const D=Array.from(j.querySelectorAll(`[${b}]`));return Array.from(A.itemMap.values()).sort((V,I)=>D.indexOf(V.ref.current)-D.indexOf(I.ref.current))},[A.collectionRef,A.itemMap])}return[{Provider:f,Slot:m,ItemSlot:C},T,r]}var cA=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],zn=cA.reduce((s,n)=>{const a=bf(`Primitive.${n}`),r=S.forwardRef((l,c)=>{const{asChild:f,...h}=l,g=f?a:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),p.jsx(g,{...h,ref:c})});return r.displayName=`Primitive.${n}`,{...s,[n]:r}},{});function jb(s,n){s&&oh.flushSync(()=>s.dispatchEvent(n))}function Ci(s){const n=S.useRef(s);return S.useEffect(()=>{n.current=s}),S.useMemo(()=>(...a)=>n.current?.(...a),[])}function uA(s,n=globalThis?.document){const a=Ci(s);S.useEffect(()=>{const r=l=>{l.key==="Escape"&&a(l)};return n.addEventListener("keydown",r,{capture:!0}),()=>n.removeEventListener("keydown",r,{capture:!0})},[a,n])}var dA="DismissableLayer",_f="dismissableLayer.update",fA="dismissableLayer.pointerDownOutside",hA="dismissableLayer.focusOutside",Yv,Rb=S.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Db=S.forwardRef((s,n)=>{const{disableOutsidePointerEvents:a=!1,onEscapeKeyDown:r,onPointerDownOutside:l,onFocusOutside:c,onInteractOutside:f,onDismiss:h,...g}=s,m=S.useContext(Rb),[y,b]=S.useState(null),x=y?.ownerDocument??globalThis?.document,[,C]=S.useState({}),T=wi(n,I=>b(I)),k=Array.from(m.layers),[A]=[...m.layersWithOutsidePointerEventsDisabled].slice(-1),M=k.indexOf(A),j=y?k.indexOf(y):-1,D=m.layersWithOutsidePointerEventsDisabled.size>0,q=j>=M,B=mA(I=>{const L=I.target,Z=[...m.branches].some(re=>re.contains(L));!q||Z||(l?.(I),f?.(I),I.defaultPrevented||h?.())},x),V=gA(I=>{const L=I.target;[...m.branches].some(re=>re.contains(L))||(c?.(I),f?.(I),I.defaultPrevented||h?.())},x);return uA(I=>{j===m.layers.size-1&&(r?.(I),!I.defaultPrevented&&h&&(I.preventDefault(),h()))},x),S.useEffect(()=>{if(y)return a&&(m.layersWithOutsidePointerEventsDisabled.size===0&&(Yv=x.body.style.pointerEvents,x.body.style.pointerEvents="none"),m.layersWithOutsidePointerEventsDisabled.add(y)),m.layers.add(y),Kv(),()=>{a&&m.layersWithOutsidePointerEventsDisabled.size===1&&(x.body.style.pointerEvents=Yv)}},[y,x,a,m]),S.useEffect(()=>()=>{y&&(m.layers.delete(y),m.layersWithOutsidePointerEventsDisabled.delete(y),Kv())},[y,m]),S.useEffect(()=>{const I=()=>C({});return document.addEventListener(_f,I),()=>document.removeEventListener(_f,I)},[]),p.jsx(zn.div,{...g,ref:T,style:{pointerEvents:D?q?"auto":"none":void 0,...s.style},onFocusCapture:nn(s.onFocusCapture,V.onFocusCapture),onBlurCapture:nn(s.onBlurCapture,V.onBlurCapture),onPointerDownCapture:nn(s.onPointerDownCapture,B.onPointerDownCapture)})});Db.displayName=dA;var pA="DismissableLayerBranch",Pb=S.forwardRef((s,n)=>{const a=S.useContext(Rb),r=S.useRef(null),l=wi(n,r);return S.useEffect(()=>{const c=r.current;if(c)return a.branches.add(c),()=>{a.branches.delete(c)}},[a.branches]),p.jsx(zn.div,{...s,ref:l})});Pb.displayName=pA;function mA(s,n=globalThis?.document){const a=Ci(s),r=S.useRef(!1),l=S.useRef(()=>{});return S.useEffect(()=>{const c=h=>{if(h.target&&!r.current){let g=function(){Ob(fA,a,m,{discrete:!0})};const m={originalEvent:h};h.pointerType==="touch"?(n.removeEventListener("click",l.current),l.current=g,n.addEventListener("click",l.current,{once:!0})):g()}else n.removeEventListener("click",l.current);r.current=!1},f=window.setTimeout(()=>{n.addEventListener("pointerdown",c)},0);return()=>{window.clearTimeout(f),n.removeEventListener("pointerdown",c),n.removeEventListener("click",l.current)}},[n,a]),{onPointerDownCapture:()=>r.current=!0}}function gA(s,n=globalThis?.document){const a=Ci(s),r=S.useRef(!1);return S.useEffect(()=>{const l=c=>{c.target&&!r.current&&Ob(hA,a,{originalEvent:c},{discrete:!1})};return n.addEventListener("focusin",l),()=>n.removeEventListener("focusin",l)},[n,a]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function Kv(){const s=new CustomEvent(_f);document.dispatchEvent(s)}function Ob(s,n,a,{discrete:r}){const l=a.originalEvent.target,c=new CustomEvent(s,{bubbles:!1,cancelable:!0,detail:a});n&&l.addEventListener(s,n,{once:!0}),r?jb(l,c):l.dispatchEvent(c)}var vA=Db,yA=Pb,Wr=globalThis?.document?S.useLayoutEffect:()=>{},bA="Portal",Lb=S.forwardRef((s,n)=>{const{container:a,...r}=s,[l,c]=S.useState(!1);Wr(()=>c(!0),[]);const f=a||l&&globalThis?.document?.body;return f?jk.createPortal(p.jsx(zn.div,{...r,ref:n}),f):null});Lb.displayName=bA;function _A(s,n){return S.useReducer((a,r)=>n[a][r]??a,s)}var Fb=s=>{const{present:n,children:a}=s,r=SA(n),l=typeof a=="function"?a({present:r.isPresent}):S.Children.only(a),c=wi(r.ref,xA(l));return typeof a=="function"||r.isPresent?S.cloneElement(l,{ref:c}):null};Fb.displayName="Presence";function SA(s){const[n,a]=S.useState(),r=S.useRef(null),l=S.useRef(s),c=S.useRef("none"),f=s?"mounted":"unmounted",[h,g]=_A(f,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return S.useEffect(()=>{const m=Rl(r.current);c.current=h==="mounted"?m:"none"},[h]),Wr(()=>{const m=r.current,y=l.current;if(y!==s){const x=c.current,C=Rl(m);s?g("MOUNT"):C==="none"||m?.display==="none"?g("UNMOUNT"):g(y&&x!==C?"ANIMATION_OUT":"UNMOUNT"),l.current=s}},[s,g]),Wr(()=>{if(n){let m;const y=n.ownerDocument.defaultView??window,b=C=>{const k=Rl(r.current).includes(CSS.escape(C.animationName));if(C.target===n&&k&&(g("ANIMATION_END"),!l.current)){const A=n.style.animationFillMode;n.style.animationFillMode="forwards",m=y.setTimeout(()=>{n.style.animationFillMode==="forwards"&&(n.style.animationFillMode=A)})}},x=C=>{C.target===n&&(c.current=Rl(r.current))};return n.addEventListener("animationstart",x),n.addEventListener("animationcancel",b),n.addEventListener("animationend",b),()=>{y.clearTimeout(m),n.removeEventListener("animationstart",x),n.removeEventListener("animationcancel",b),n.removeEventListener("animationend",b)}}else g("ANIMATION_END")},[n,g]),{isPresent:["mounted","unmountSuspended"].includes(h),ref:S.useCallback(m=>{r.current=m?getComputedStyle(m):null,a(m)},[])}}function Rl(s){return s?.animationName||"none"}function xA(s){let n=Object.getOwnPropertyDescriptor(s.props,"ref")?.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?s.ref:(n=Object.getOwnPropertyDescriptor(s,"ref")?.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?s.props.ref:s.props.ref||s.ref)}var wA=sw[" useInsertionEffect ".trim().toString()]||Wr;function CA({prop:s,defaultProp:n,onChange:a=()=>{},caller:r}){const[l,c,f]=kA({defaultProp:n,onChange:a}),h=s!==void 0,g=h?s:l;{const y=S.useRef(s!==void 0);S.useEffect(()=>{const b=y.current;b!==h&&console.warn(`${r} is changing from ${b?"controlled":"uncontrolled"} to ${h?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),y.current=h},[h,r])}const m=S.useCallback(y=>{if(h){const b=AA(y)?y(s):y;b!==s&&f.current?.(b)}else c(y)},[h,s,c,f]);return[g,m]}function kA({defaultProp:s,onChange:n}){const[a,r]=S.useState(s),l=S.useRef(a),c=S.useRef(n);return wA(()=>{c.current=n},[n]),S.useEffect(()=>{l.current!==a&&(c.current?.(a),l.current=a)},[a,l]),[a,r,c]}function AA(s){return typeof s=="function"}var EA=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),TA="VisuallyHidden",uh=S.forwardRef((s,n)=>p.jsx(zn.span,{...s,ref:n,style:{...EA,...s.style}}));uh.displayName=TA;var dh="ToastProvider",[fh,NA,MA]=lA("Toast"),[zb]=Mb("Toast",[MA]),[jA,vc]=zb(dh),Ub=s=>{const{__scopeToast:n,label:a="Notification",duration:r=5e3,swipeDirection:l="right",swipeThreshold:c=50,children:f}=s,[h,g]=S.useState(null),[m,y]=S.useState(0),b=S.useRef(!1),x=S.useRef(!1);return a.trim()||console.error(`Invalid prop \`label\` supplied to \`${dh}\`. Expected non-empty \`string\`.`),p.jsx(fh.Provider,{scope:n,children:p.jsx(jA,{scope:n,label:a,duration:r,swipeDirection:l,swipeThreshold:c,toastCount:m,viewport:h,onViewportChange:g,onToastAdd:S.useCallback(()=>y(C=>C+1),[]),onToastRemove:S.useCallback(()=>y(C=>C-1),[]),isFocusedToastEscapeKeyDownRef:b,isClosePausedRef:x,children:f})})};Ub.displayName=dh;var Ib="ToastViewport",RA=["F8"],Sf="toast.viewportPause",xf="toast.viewportResume",Hb=S.forwardRef((s,n)=>{const{__scopeToast:a,hotkey:r=RA,label:l="Notifications ({hotkey})",...c}=s,f=vc(Ib,a),h=NA(a),g=S.useRef(null),m=S.useRef(null),y=S.useRef(null),b=S.useRef(null),x=wi(n,b,f.onViewportChange),C=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),T=f.toastCount>0;S.useEffect(()=>{const A=M=>{r.length!==0&&r.every(D=>M[D]||M.code===D)&&b.current?.focus()};return document.addEventListener("keydown",A),()=>document.removeEventListener("keydown",A)},[r]),S.useEffect(()=>{const A=g.current,M=b.current;if(T&&A&&M){const j=()=>{if(!f.isClosePausedRef.current){const V=new CustomEvent(Sf);M.dispatchEvent(V),f.isClosePausedRef.current=!0}},D=()=>{if(f.isClosePausedRef.current){const V=new CustomEvent(xf);M.dispatchEvent(V),f.isClosePausedRef.current=!1}},q=V=>{!A.contains(V.relatedTarget)&&D()},B=()=>{A.contains(document.activeElement)||D()};return A.addEventListener("focusin",j),A.addEventListener("focusout",q),A.addEventListener("pointermove",j),A.addEventListener("pointerleave",B),window.addEventListener("blur",j),window.addEventListener("focus",D),()=>{A.removeEventListener("focusin",j),A.removeEventListener("focusout",q),A.removeEventListener("pointermove",j),A.removeEventListener("pointerleave",B),window.removeEventListener("blur",j),window.removeEventListener("focus",D)}}},[T,f.isClosePausedRef]);const k=S.useCallback(({tabbingDirection:A})=>{const j=h().map(D=>{const q=D.ref.current,B=[q,...VA(q)];return A==="forwards"?B:B.reverse()});return(A==="forwards"?j.reverse():j).flat()},[h]);return S.useEffect(()=>{const A=b.current;if(A){const M=j=>{const D=j.altKey||j.ctrlKey||j.metaKey;if(j.key==="Tab"&&!D){const B=document.activeElement,V=j.shiftKey;if(j.target===A&&V){m.current?.focus();return}const Z=k({tabbingDirection:V?"backwards":"forwards"}),re=Z.findIndex(Se=>Se===B);$d(Z.slice(re+1))?j.preventDefault():V?m.current?.focus():y.current?.focus()}};return A.addEventListener("keydown",M),()=>A.removeEventListener("keydown",M)}},[h,k]),p.jsxs(yA,{ref:g,role:"region","aria-label":l.replace("{hotkey}",C),tabIndex:-1,style:{pointerEvents:T?void 0:"none"},children:[T&&p.jsx(wf,{ref:m,onFocusFromOutsideViewport:()=>{const A=k({tabbingDirection:"forwards"});$d(A)}}),p.jsx(fh.Slot,{scope:a,children:p.jsx(zn.ol,{tabIndex:-1,...c,ref:x})}),T&&p.jsx(wf,{ref:y,onFocusFromOutsideViewport:()=>{const A=k({tabbingDirection:"backwards"});$d(A)}})]})});Hb.displayName=Ib;var qb="ToastFocusProxy",wf=S.forwardRef((s,n)=>{const{__scopeToast:a,onFocusFromOutsideViewport:r,...l}=s,c=vc(qb,a);return p.jsx(uh,{tabIndex:0,...l,ref:n,style:{position:"fixed"},onFocus:f=>{const h=f.relatedTarget;!c.viewport?.contains(h)&&r()}})});wf.displayName=qb;var co="Toast",DA="toast.swipeStart",PA="toast.swipeMove",OA="toast.swipeCancel",LA="toast.swipeEnd",Bb=S.forwardRef((s,n)=>{const{forceMount:a,open:r,defaultOpen:l,onOpenChange:c,...f}=s,[h,g]=CA({prop:r,defaultProp:l??!0,onChange:c,caller:co});return p.jsx(Fb,{present:a||h,children:p.jsx(UA,{open:h,...f,ref:n,onClose:()=>g(!1),onPause:Ci(s.onPause),onResume:Ci(s.onResume),onSwipeStart:nn(s.onSwipeStart,m=>{m.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:nn(s.onSwipeMove,m=>{const{x:y,y:b}=m.detail.delta;m.currentTarget.setAttribute("data-swipe","move"),m.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${y}px`),m.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${b}px`)}),onSwipeCancel:nn(s.onSwipeCancel,m=>{m.currentTarget.setAttribute("data-swipe","cancel"),m.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),m.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),m.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),m.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:nn(s.onSwipeEnd,m=>{const{x:y,y:b}=m.detail.delta;m.currentTarget.setAttribute("data-swipe","end"),m.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),m.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),m.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${y}px`),m.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${b}px`),g(!1)})})})});Bb.displayName=co;var[FA,zA]=zb(co,{onClose(){}}),UA=S.forwardRef((s,n)=>{const{__scopeToast:a,type:r="foreground",duration:l,open:c,onClose:f,onEscapeKeyDown:h,onPause:g,onResume:m,onSwipeStart:y,onSwipeMove:b,onSwipeCancel:x,onSwipeEnd:C,...T}=s,k=vc(co,a),[A,M]=S.useState(null),j=wi(n,oe=>M(oe)),D=S.useRef(null),q=S.useRef(null),B=l||k.duration,V=S.useRef(0),I=S.useRef(B),L=S.useRef(0),{onToastAdd:Z,onToastRemove:re}=k,Se=Ci(()=>{A?.contains(document.activeElement)&&k.viewport?.focus(),f()}),ge=S.useCallback(oe=>{!oe||oe===1/0||(window.clearTimeout(L.current),V.current=new Date().getTime(),L.current=window.setTimeout(Se,oe))},[Se]);S.useEffect(()=>{const oe=k.viewport;if(oe){const ye=()=>{ge(I.current),m?.()},F=()=>{const K=new Date().getTime()-V.current;I.current=I.current-K,window.clearTimeout(L.current),g?.()};return oe.addEventListener(Sf,F),oe.addEventListener(xf,ye),()=>{oe.removeEventListener(Sf,F),oe.removeEventListener(xf,ye)}}},[k.viewport,B,g,m,ge]),S.useEffect(()=>{c&&!k.isClosePausedRef.current&&ge(B)},[c,B,k.isClosePausedRef,ge]),S.useEffect(()=>(Z(),()=>re()),[Z,re]);const De=S.useMemo(()=>A?Qb(A):null,[A]);return k.viewport?p.jsxs(p.Fragment,{children:[De&&p.jsx(IA,{__scopeToast:a,role:"status","aria-live":r==="foreground"?"assertive":"polite",children:De}),p.jsx(FA,{scope:a,onClose:Se,children:oh.createPortal(p.jsx(fh.ItemSlot,{scope:a,children:p.jsx(vA,{asChild:!0,onEscapeKeyDown:nn(h,()=>{k.isFocusedToastEscapeKeyDownRef.current||Se(),k.isFocusedToastEscapeKeyDownRef.current=!1}),children:p.jsx(zn.li,{tabIndex:0,"data-state":c?"open":"closed","data-swipe-direction":k.swipeDirection,...T,ref:j,style:{userSelect:"none",touchAction:"none",...s.style},onKeyDown:nn(s.onKeyDown,oe=>{oe.key==="Escape"&&(h?.(oe.nativeEvent),oe.nativeEvent.defaultPrevented||(k.isFocusedToastEscapeKeyDownRef.current=!0,Se()))}),onPointerDown:nn(s.onPointerDown,oe=>{oe.button===0&&(D.current={x:oe.clientX,y:oe.clientY})}),onPointerMove:nn(s.onPointerMove,oe=>{if(!D.current)return;const ye=oe.clientX-D.current.x,F=oe.clientY-D.current.y,K=!!q.current,Y=["left","right"].includes(k.swipeDirection),he=["left","up"].includes(k.swipeDirection)?Math.min:Math.max,pe=Y?he(0,ye):0,Pe=Y?0:he(0,F),fe=oe.pointerType==="touch"?10:2,te={x:pe,y:Pe},ue={originalEvent:oe,delta:te};K?(q.current=te,Dl(PA,b,ue,{discrete:!1})):Xv(te,k.swipeDirection,fe)?(q.current=te,Dl(DA,y,ue,{discrete:!1}),oe.target.setPointerCapture(oe.pointerId)):(Math.abs(ye)>fe||Math.abs(F)>fe)&&(D.current=null)}),onPointerUp:nn(s.onPointerUp,oe=>{const ye=q.current,F=oe.target;if(F.hasPointerCapture(oe.pointerId)&&F.releasePointerCapture(oe.pointerId),q.current=null,D.current=null,ye){const K=oe.currentTarget,Y={originalEvent:oe,delta:ye};Xv(ye,k.swipeDirection,k.swipeThreshold)?Dl(LA,C,Y,{discrete:!0}):Dl(OA,x,Y,{discrete:!0}),K.addEventListener("click",he=>he.preventDefault(),{once:!0})}})})})}),k.viewport)})]}):null}),IA=s=>{const{__scopeToast:n,children:a,...r}=s,l=vc(co,n),[c,f]=S.useState(!1),[h,g]=S.useState(!1);return BA(()=>f(!0)),S.useEffect(()=>{const m=window.setTimeout(()=>g(!0),1e3);return()=>window.clearTimeout(m)},[]),h?null:p.jsx(Lb,{asChild:!0,children:p.jsx(uh,{...r,children:c&&p.jsxs(p.Fragment,{children:[l.label," ",a]})})})},HA="ToastTitle",$b=S.forwardRef((s,n)=>{const{__scopeToast:a,...r}=s;return p.jsx(zn.div,{...r,ref:n})});$b.displayName=HA;var qA="ToastDescription",Vb=S.forwardRef((s,n)=>{const{__scopeToast:a,...r}=s;return p.jsx(zn.div,{...r,ref:n})});Vb.displayName=qA;var Gb="ToastAction",Yb=S.forwardRef((s,n)=>{const{altText:a,...r}=s;return a.trim()?p.jsx(Xb,{altText:a,asChild:!0,children:p.jsx(hh,{...r,ref:n})}):(console.error(`Invalid prop \`altText\` supplied to \`${Gb}\`. Expected non-empty \`string\`.`),null)});Yb.displayName=Gb;var Kb="ToastClose",hh=S.forwardRef((s,n)=>{const{__scopeToast:a,...r}=s,l=zA(Kb,a);return p.jsx(Xb,{asChild:!0,children:p.jsx(zn.button,{type:"button",...r,ref:n,onClick:nn(s.onClick,l.onClose)})})});hh.displayName=Kb;var Xb=S.forwardRef((s,n)=>{const{__scopeToast:a,altText:r,...l}=s;return p.jsx(zn.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":r||void 0,...l,ref:n})});function Qb(s){const n=[];return Array.from(s.childNodes).forEach(r=>{if(r.nodeType===r.TEXT_NODE&&r.textContent&&n.push(r.textContent),$A(r)){const l=r.ariaHidden||r.hidden||r.style.display==="none",c=r.dataset.radixToastAnnounceExclude==="";if(!l)if(c){const f=r.dataset.radixToastAnnounceAlt;f&&n.push(f)}else n.push(...Qb(r))}}),n}function Dl(s,n,a,{discrete:r}){const l=a.originalEvent.currentTarget,c=new CustomEvent(s,{bubbles:!0,cancelable:!0,detail:a});n&&l.addEventListener(s,n,{once:!0}),r?jb(l,c):l.dispatchEvent(c)}var Xv=(s,n,a=0)=>{const r=Math.abs(s.x),l=Math.abs(s.y),c=r>l;return n==="left"||n==="right"?c&&r>a:!c&&l>a};function BA(s=()=>{}){const n=Ci(s);Wr(()=>{let a=0,r=0;return a=window.requestAnimationFrame(()=>r=window.requestAnimationFrame(n)),()=>{window.cancelAnimationFrame(a),window.cancelAnimationFrame(r)}},[n])}function $A(s){return s.nodeType===s.ELEMENT_NODE}function VA(s){const n=[],a=document.createTreeWalker(s,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const l=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||l?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;a.nextNode();)n.push(a.currentNode);return n}function $d(s){const n=document.activeElement;return s.some(a=>a===n?!0:(a.focus(),document.activeElement!==n))}var GA=Ub,Zb=Hb,Wb=Bb,Jb=$b,e0=Vb,t0=Yb,n0=hh;function a0(s){var n,a,r="";if(typeof s=="string"||typeof s=="number")r+=s;else if(typeof s=="object")if(Array.isArray(s)){var l=s.length;for(n=0;n<l;n++)s[n]&&(a=a0(s[n]))&&(r&&(r+=" "),r+=a)}else for(a in s)s[a]&&(r&&(r+=" "),r+=a);return r}function i0(){for(var s,n,a=0,r="",l=arguments.length;a<l;a++)(s=arguments[a])&&(n=a0(s))&&(r&&(r+=" "),r+=n);return r}const Qv=s=>typeof s=="boolean"?`${s}`:s===0?"0":s,Zv=i0,YA=(s,n)=>a=>{var r;if(n?.variants==null)return Zv(s,a?.class,a?.className);const{variants:l,defaultVariants:c}=n,f=Object.keys(l).map(m=>{const y=a?.[m],b=c?.[m];if(y===null)return null;const x=Qv(y)||Qv(b);return l[m][x]}),h=a&&Object.entries(a).reduce((m,y)=>{let[b,x]=y;return x===void 0||(m[b]=x),m},{}),g=n==null||(r=n.compoundVariants)===null||r===void 0?void 0:r.reduce((m,y)=>{let{class:b,className:x,...C}=y;return Object.entries(C).every(T=>{let[k,A]=T;return Array.isArray(A)?A.includes({...c,...h}[k]):{...c,...h}[k]===A})?[...m,b,x]:m},[]);return Zv(s,f,g,a?.class,a?.className)},ph="-",KA=s=>{const n=QA(s),{conflictingClassGroups:a,conflictingClassGroupModifiers:r}=s;return{getClassGroupId:f=>{const h=f.split(ph);return h[0]===""&&h.length!==1&&h.shift(),s0(h,n)||XA(f)},getConflictingClassGroupIds:(f,h)=>{const g=a[f]||[];return h&&r[f]?[...g,...r[f]]:g}}},s0=(s,n)=>{if(s.length===0)return n.classGroupId;const a=s[0],r=n.nextPart.get(a),l=r?s0(s.slice(1),r):void 0;if(l)return l;if(n.validators.length===0)return;const c=s.join(ph);return n.validators.find(({validator:f})=>f(c))?.classGroupId},Wv=/^\[(.+)\]$/,XA=s=>{if(Wv.test(s)){const n=Wv.exec(s)[1],a=n?.substring(0,n.indexOf(":"));if(a)return"arbitrary.."+a}},QA=s=>{const{theme:n,classGroups:a}=s,r={nextPart:new Map,validators:[]};for(const l in a)Cf(a[l],r,l,n);return r},Cf=(s,n,a,r)=>{s.forEach(l=>{if(typeof l=="string"){const c=l===""?n:Jv(n,l);c.classGroupId=a;return}if(typeof l=="function"){if(ZA(l)){Cf(l(r),n,a,r);return}n.validators.push({validator:l,classGroupId:a});return}Object.entries(l).forEach(([c,f])=>{Cf(f,Jv(n,c),a,r)})})},Jv=(s,n)=>{let a=s;return n.split(ph).forEach(r=>{a.nextPart.has(r)||a.nextPart.set(r,{nextPart:new Map,validators:[]}),a=a.nextPart.get(r)}),a},ZA=s=>s.isThemeGetter,WA=s=>{if(s<1)return{get:()=>{},set:()=>{}};let n=0,a=new Map,r=new Map;const l=(c,f)=>{a.set(c,f),n++,n>s&&(n=0,r=a,a=new Map)};return{get(c){let f=a.get(c);if(f!==void 0)return f;if((f=r.get(c))!==void 0)return l(c,f),f},set(c,f){a.has(c)?a.set(c,f):l(c,f)}}},kf="!",Af=":",JA=Af.length,eE=s=>{const{prefix:n,experimentalParseClassName:a}=s;let r=l=>{const c=[];let f=0,h=0,g=0,m;for(let T=0;T<l.length;T++){let k=l[T];if(f===0&&h===0){if(k===Af){c.push(l.slice(g,T)),g=T+JA;continue}if(k==="/"){m=T;continue}}k==="["?f++:k==="]"?f--:k==="("?h++:k===")"&&h--}const y=c.length===0?l:l.substring(g),b=tE(y),x=b!==y,C=m&&m>g?m-g:void 0;return{modifiers:c,hasImportantModifier:x,baseClassName:b,maybePostfixModifierPosition:C}};if(n){const l=n+Af,c=r;r=f=>f.startsWith(l)?c(f.substring(l.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:f,maybePostfixModifierPosition:void 0}}if(a){const l=r;r=c=>a({className:c,parseClassName:l})}return r},tE=s=>s.endsWith(kf)?s.substring(0,s.length-1):s.startsWith(kf)?s.substring(1):s,nE=s=>{const n=Object.fromEntries(s.orderSensitiveModifiers.map(r=>[r,!0]));return r=>{if(r.length<=1)return r;const l=[];let c=[];return r.forEach(f=>{f[0]==="["||n[f]?(l.push(...c.sort(),f),c=[]):c.push(f)}),l.push(...c.sort()),l}},aE=s=>({cache:WA(s.cacheSize),parseClassName:eE(s),sortModifiers:nE(s),...KA(s)}),iE=/\s+/,sE=(s,n)=>{const{parseClassName:a,getClassGroupId:r,getConflictingClassGroupIds:l,sortModifiers:c}=n,f=[],h=s.trim().split(iE);let g="";for(let m=h.length-1;m>=0;m-=1){const y=h[m],{isExternal:b,modifiers:x,hasImportantModifier:C,baseClassName:T,maybePostfixModifierPosition:k}=a(y);if(b){g=y+(g.length>0?" "+g:g);continue}let A=!!k,M=r(A?T.substring(0,k):T);if(!M){if(!A){g=y+(g.length>0?" "+g:g);continue}if(M=r(T),!M){g=y+(g.length>0?" "+g:g);continue}A=!1}const j=c(x).join(":"),D=C?j+kf:j,q=D+M;if(f.includes(q))continue;f.push(q);const B=l(M,A);for(let V=0;V<B.length;++V){const I=B[V];f.push(D+I)}g=y+(g.length>0?" "+g:g)}return g};function rE(){let s=0,n,a,r="";for(;s<arguments.length;)(n=arguments[s++])&&(a=r0(n))&&(r&&(r+=" "),r+=a);return r}const r0=s=>{if(typeof s=="string")return s;let n,a="";for(let r=0;r<s.length;r++)s[r]&&(n=r0(s[r]))&&(a&&(a+=" "),a+=n);return a};function oE(s,...n){let a,r,l,c=f;function f(g){const m=n.reduce((y,b)=>b(y),s());return a=aE(m),r=a.cache.get,l=a.cache.set,c=h,h(g)}function h(g){const m=r(g);if(m)return m;const y=sE(g,a);return l(g,y),y}return function(){return c(rE.apply(null,arguments))}}const pt=s=>{const n=a=>a[s]||[];return n.isThemeGetter=!0,n},o0=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,l0=/^\((?:(\w[\w-]*):)?(.+)\)$/i,lE=/^\d+\/\d+$/,cE=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,uE=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,dE=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,fE=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,hE=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,fs=s=>lE.test(s),_e=s=>!!s&&!Number.isNaN(Number(s)),Ba=s=>!!s&&Number.isInteger(Number(s)),Vd=s=>s.endsWith("%")&&_e(s.slice(0,-1)),ia=s=>cE.test(s),pE=()=>!0,mE=s=>uE.test(s)&&!dE.test(s),c0=()=>!1,gE=s=>fE.test(s),vE=s=>hE.test(s),yE=s=>!ae(s)&&!ie(s),bE=s=>Ms(s,f0,c0),ae=s=>o0.test(s),yi=s=>Ms(s,h0,mE),Gd=s=>Ms(s,CE,_e),ey=s=>Ms(s,u0,c0),_E=s=>Ms(s,d0,vE),Pl=s=>Ms(s,p0,gE),ie=s=>l0.test(s),Nr=s=>js(s,h0),SE=s=>js(s,kE),ty=s=>js(s,u0),xE=s=>js(s,f0),wE=s=>js(s,d0),Ol=s=>js(s,p0,!0),Ms=(s,n,a)=>{const r=o0.exec(s);return r?r[1]?n(r[1]):a(r[2]):!1},js=(s,n,a=!1)=>{const r=l0.exec(s);return r?r[1]?n(r[1]):a:!1},u0=s=>s==="position"||s==="percentage",d0=s=>s==="image"||s==="url",f0=s=>s==="length"||s==="size"||s==="bg-size",h0=s=>s==="length",CE=s=>s==="number",kE=s=>s==="family-name",p0=s=>s==="shadow",AE=()=>{const s=pt("color"),n=pt("font"),a=pt("text"),r=pt("font-weight"),l=pt("tracking"),c=pt("leading"),f=pt("breakpoint"),h=pt("container"),g=pt("spacing"),m=pt("radius"),y=pt("shadow"),b=pt("inset-shadow"),x=pt("text-shadow"),C=pt("drop-shadow"),T=pt("blur"),k=pt("perspective"),A=pt("aspect"),M=pt("ease"),j=pt("animate"),D=()=>["auto","avoid","all","avoid-page","page","left","right","column"],q=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],B=()=>[...q(),ie,ae],V=()=>["auto","hidden","clip","visible","scroll"],I=()=>["auto","contain","none"],L=()=>[ie,ae,g],Z=()=>[fs,"full","auto",...L()],re=()=>[Ba,"none","subgrid",ie,ae],Se=()=>["auto",{span:["full",Ba,ie,ae]},Ba,ie,ae],ge=()=>[Ba,"auto",ie,ae],De=()=>["auto","min","max","fr",ie,ae],oe=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],ye=()=>["start","end","center","stretch","center-safe","end-safe"],F=()=>["auto",...L()],K=()=>[fs,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...L()],Y=()=>[s,ie,ae],he=()=>[...q(),ty,ey,{position:[ie,ae]}],pe=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Pe=()=>["auto","cover","contain",xE,bE,{size:[ie,ae]}],fe=()=>[Vd,Nr,yi],te=()=>["","none","full",m,ie,ae],ue=()=>["",_e,Nr,yi],Qe=()=>["solid","dashed","dotted","double"],et=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],qe=()=>[_e,Vd,ty,ey],xn=()=>["","none",T,ie,ae],Nt=()=>["none",_e,ie,ae],ft=()=>["none",_e,ie,ae],sn=()=>[_e,ie,ae],$t=()=>[fs,"full",...L()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ia],breakpoint:[ia],color:[pE],container:[ia],"drop-shadow":[ia],ease:["in","out","in-out"],font:[yE],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ia],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ia],shadow:[ia],spacing:["px",_e],text:[ia],"text-shadow":[ia],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",fs,ae,ie,A]}],container:["container"],columns:[{columns:[_e,ae,ie,h]}],"break-after":[{"break-after":D()}],"break-before":[{"break-before":D()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:B()}],overflow:[{overflow:V()}],"overflow-x":[{"overflow-x":V()}],"overflow-y":[{"overflow-y":V()}],overscroll:[{overscroll:I()}],"overscroll-x":[{"overscroll-x":I()}],"overscroll-y":[{"overscroll-y":I()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:Z()}],"inset-x":[{"inset-x":Z()}],"inset-y":[{"inset-y":Z()}],start:[{start:Z()}],end:[{end:Z()}],top:[{top:Z()}],right:[{right:Z()}],bottom:[{bottom:Z()}],left:[{left:Z()}],visibility:["visible","invisible","collapse"],z:[{z:[Ba,"auto",ie,ae]}],basis:[{basis:[fs,"full","auto",h,...L()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[_e,fs,"auto","initial","none",ae]}],grow:[{grow:["",_e,ie,ae]}],shrink:[{shrink:["",_e,ie,ae]}],order:[{order:[Ba,"first","last","none",ie,ae]}],"grid-cols":[{"grid-cols":re()}],"col-start-end":[{col:Se()}],"col-start":[{"col-start":ge()}],"col-end":[{"col-end":ge()}],"grid-rows":[{"grid-rows":re()}],"row-start-end":[{row:Se()}],"row-start":[{"row-start":ge()}],"row-end":[{"row-end":ge()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":De()}],"auto-rows":[{"auto-rows":De()}],gap:[{gap:L()}],"gap-x":[{"gap-x":L()}],"gap-y":[{"gap-y":L()}],"justify-content":[{justify:[...oe(),"normal"]}],"justify-items":[{"justify-items":[...ye(),"normal"]}],"justify-self":[{"justify-self":["auto",...ye()]}],"align-content":[{content:["normal",...oe()]}],"align-items":[{items:[...ye(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...ye(),{baseline:["","last"]}]}],"place-content":[{"place-content":oe()}],"place-items":[{"place-items":[...ye(),"baseline"]}],"place-self":[{"place-self":["auto",...ye()]}],p:[{p:L()}],px:[{px:L()}],py:[{py:L()}],ps:[{ps:L()}],pe:[{pe:L()}],pt:[{pt:L()}],pr:[{pr:L()}],pb:[{pb:L()}],pl:[{pl:L()}],m:[{m:F()}],mx:[{mx:F()}],my:[{my:F()}],ms:[{ms:F()}],me:[{me:F()}],mt:[{mt:F()}],mr:[{mr:F()}],mb:[{mb:F()}],ml:[{ml:F()}],"space-x":[{"space-x":L()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":L()}],"space-y-reverse":["space-y-reverse"],size:[{size:K()}],w:[{w:[h,"screen",...K()]}],"min-w":[{"min-w":[h,"screen","none",...K()]}],"max-w":[{"max-w":[h,"screen","none","prose",{screen:[f]},...K()]}],h:[{h:["screen","lh",...K()]}],"min-h":[{"min-h":["screen","lh","none",...K()]}],"max-h":[{"max-h":["screen","lh",...K()]}],"font-size":[{text:["base",a,Nr,yi]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,ie,Gd]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Vd,ae]}],"font-family":[{font:[SE,ae,n]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[l,ie,ae]}],"line-clamp":[{"line-clamp":[_e,"none",ie,Gd]}],leading:[{leading:[c,...L()]}],"list-image":[{"list-image":["none",ie,ae]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ie,ae]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:Y()}],"text-color":[{text:Y()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Qe(),"wavy"]}],"text-decoration-thickness":[{decoration:[_e,"from-font","auto",ie,yi]}],"text-decoration-color":[{decoration:Y()}],"underline-offset":[{"underline-offset":[_e,"auto",ie,ae]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:L()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ie,ae]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ie,ae]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:he()}],"bg-repeat":[{bg:pe()}],"bg-size":[{bg:Pe()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Ba,ie,ae],radial:["",ie,ae],conic:[Ba,ie,ae]},wE,_E]}],"bg-color":[{bg:Y()}],"gradient-from-pos":[{from:fe()}],"gradient-via-pos":[{via:fe()}],"gradient-to-pos":[{to:fe()}],"gradient-from":[{from:Y()}],"gradient-via":[{via:Y()}],"gradient-to":[{to:Y()}],rounded:[{rounded:te()}],"rounded-s":[{"rounded-s":te()}],"rounded-e":[{"rounded-e":te()}],"rounded-t":[{"rounded-t":te()}],"rounded-r":[{"rounded-r":te()}],"rounded-b":[{"rounded-b":te()}],"rounded-l":[{"rounded-l":te()}],"rounded-ss":[{"rounded-ss":te()}],"rounded-se":[{"rounded-se":te()}],"rounded-ee":[{"rounded-ee":te()}],"rounded-es":[{"rounded-es":te()}],"rounded-tl":[{"rounded-tl":te()}],"rounded-tr":[{"rounded-tr":te()}],"rounded-br":[{"rounded-br":te()}],"rounded-bl":[{"rounded-bl":te()}],"border-w":[{border:ue()}],"border-w-x":[{"border-x":ue()}],"border-w-y":[{"border-y":ue()}],"border-w-s":[{"border-s":ue()}],"border-w-e":[{"border-e":ue()}],"border-w-t":[{"border-t":ue()}],"border-w-r":[{"border-r":ue()}],"border-w-b":[{"border-b":ue()}],"border-w-l":[{"border-l":ue()}],"divide-x":[{"divide-x":ue()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ue()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Qe(),"hidden","none"]}],"divide-style":[{divide:[...Qe(),"hidden","none"]}],"border-color":[{border:Y()}],"border-color-x":[{"border-x":Y()}],"border-color-y":[{"border-y":Y()}],"border-color-s":[{"border-s":Y()}],"border-color-e":[{"border-e":Y()}],"border-color-t":[{"border-t":Y()}],"border-color-r":[{"border-r":Y()}],"border-color-b":[{"border-b":Y()}],"border-color-l":[{"border-l":Y()}],"divide-color":[{divide:Y()}],"outline-style":[{outline:[...Qe(),"none","hidden"]}],"outline-offset":[{"outline-offset":[_e,ie,ae]}],"outline-w":[{outline:["",_e,Nr,yi]}],"outline-color":[{outline:Y()}],shadow:[{shadow:["","none",y,Ol,Pl]}],"shadow-color":[{shadow:Y()}],"inset-shadow":[{"inset-shadow":["none",b,Ol,Pl]}],"inset-shadow-color":[{"inset-shadow":Y()}],"ring-w":[{ring:ue()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:Y()}],"ring-offset-w":[{"ring-offset":[_e,yi]}],"ring-offset-color":[{"ring-offset":Y()}],"inset-ring-w":[{"inset-ring":ue()}],"inset-ring-color":[{"inset-ring":Y()}],"text-shadow":[{"text-shadow":["none",x,Ol,Pl]}],"text-shadow-color":[{"text-shadow":Y()}],opacity:[{opacity:[_e,ie,ae]}],"mix-blend":[{"mix-blend":[...et(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":et()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[_e]}],"mask-image-linear-from-pos":[{"mask-linear-from":qe()}],"mask-image-linear-to-pos":[{"mask-linear-to":qe()}],"mask-image-linear-from-color":[{"mask-linear-from":Y()}],"mask-image-linear-to-color":[{"mask-linear-to":Y()}],"mask-image-t-from-pos":[{"mask-t-from":qe()}],"mask-image-t-to-pos":[{"mask-t-to":qe()}],"mask-image-t-from-color":[{"mask-t-from":Y()}],"mask-image-t-to-color":[{"mask-t-to":Y()}],"mask-image-r-from-pos":[{"mask-r-from":qe()}],"mask-image-r-to-pos":[{"mask-r-to":qe()}],"mask-image-r-from-color":[{"mask-r-from":Y()}],"mask-image-r-to-color":[{"mask-r-to":Y()}],"mask-image-b-from-pos":[{"mask-b-from":qe()}],"mask-image-b-to-pos":[{"mask-b-to":qe()}],"mask-image-b-from-color":[{"mask-b-from":Y()}],"mask-image-b-to-color":[{"mask-b-to":Y()}],"mask-image-l-from-pos":[{"mask-l-from":qe()}],"mask-image-l-to-pos":[{"mask-l-to":qe()}],"mask-image-l-from-color":[{"mask-l-from":Y()}],"mask-image-l-to-color":[{"mask-l-to":Y()}],"mask-image-x-from-pos":[{"mask-x-from":qe()}],"mask-image-x-to-pos":[{"mask-x-to":qe()}],"mask-image-x-from-color":[{"mask-x-from":Y()}],"mask-image-x-to-color":[{"mask-x-to":Y()}],"mask-image-y-from-pos":[{"mask-y-from":qe()}],"mask-image-y-to-pos":[{"mask-y-to":qe()}],"mask-image-y-from-color":[{"mask-y-from":Y()}],"mask-image-y-to-color":[{"mask-y-to":Y()}],"mask-image-radial":[{"mask-radial":[ie,ae]}],"mask-image-radial-from-pos":[{"mask-radial-from":qe()}],"mask-image-radial-to-pos":[{"mask-radial-to":qe()}],"mask-image-radial-from-color":[{"mask-radial-from":Y()}],"mask-image-radial-to-color":[{"mask-radial-to":Y()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":q()}],"mask-image-conic-pos":[{"mask-conic":[_e]}],"mask-image-conic-from-pos":[{"mask-conic-from":qe()}],"mask-image-conic-to-pos":[{"mask-conic-to":qe()}],"mask-image-conic-from-color":[{"mask-conic-from":Y()}],"mask-image-conic-to-color":[{"mask-conic-to":Y()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:he()}],"mask-repeat":[{mask:pe()}],"mask-size":[{mask:Pe()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ie,ae]}],filter:[{filter:["","none",ie,ae]}],blur:[{blur:xn()}],brightness:[{brightness:[_e,ie,ae]}],contrast:[{contrast:[_e,ie,ae]}],"drop-shadow":[{"drop-shadow":["","none",C,Ol,Pl]}],"drop-shadow-color":[{"drop-shadow":Y()}],grayscale:[{grayscale:["",_e,ie,ae]}],"hue-rotate":[{"hue-rotate":[_e,ie,ae]}],invert:[{invert:["",_e,ie,ae]}],saturate:[{saturate:[_e,ie,ae]}],sepia:[{sepia:["",_e,ie,ae]}],"backdrop-filter":[{"backdrop-filter":["","none",ie,ae]}],"backdrop-blur":[{"backdrop-blur":xn()}],"backdrop-brightness":[{"backdrop-brightness":[_e,ie,ae]}],"backdrop-contrast":[{"backdrop-contrast":[_e,ie,ae]}],"backdrop-grayscale":[{"backdrop-grayscale":["",_e,ie,ae]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[_e,ie,ae]}],"backdrop-invert":[{"backdrop-invert":["",_e,ie,ae]}],"backdrop-opacity":[{"backdrop-opacity":[_e,ie,ae]}],"backdrop-saturate":[{"backdrop-saturate":[_e,ie,ae]}],"backdrop-sepia":[{"backdrop-sepia":["",_e,ie,ae]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":L()}],"border-spacing-x":[{"border-spacing-x":L()}],"border-spacing-y":[{"border-spacing-y":L()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ie,ae]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[_e,"initial",ie,ae]}],ease:[{ease:["linear","initial",M,ie,ae]}],delay:[{delay:[_e,ie,ae]}],animate:[{animate:["none",j,ie,ae]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[k,ie,ae]}],"perspective-origin":[{"perspective-origin":B()}],rotate:[{rotate:Nt()}],"rotate-x":[{"rotate-x":Nt()}],"rotate-y":[{"rotate-y":Nt()}],"rotate-z":[{"rotate-z":Nt()}],scale:[{scale:ft()}],"scale-x":[{"scale-x":ft()}],"scale-y":[{"scale-y":ft()}],"scale-z":[{"scale-z":ft()}],"scale-3d":["scale-3d"],skew:[{skew:sn()}],"skew-x":[{"skew-x":sn()}],"skew-y":[{"skew-y":sn()}],transform:[{transform:[ie,ae,"","none","gpu","cpu"]}],"transform-origin":[{origin:B()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:$t()}],"translate-x":[{"translate-x":$t()}],"translate-y":[{"translate-y":$t()}],"translate-z":[{"translate-z":$t()}],"translate-none":["translate-none"],accent:[{accent:Y()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:Y()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ie,ae]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":L()}],"scroll-mx":[{"scroll-mx":L()}],"scroll-my":[{"scroll-my":L()}],"scroll-ms":[{"scroll-ms":L()}],"scroll-me":[{"scroll-me":L()}],"scroll-mt":[{"scroll-mt":L()}],"scroll-mr":[{"scroll-mr":L()}],"scroll-mb":[{"scroll-mb":L()}],"scroll-ml":[{"scroll-ml":L()}],"scroll-p":[{"scroll-p":L()}],"scroll-px":[{"scroll-px":L()}],"scroll-py":[{"scroll-py":L()}],"scroll-ps":[{"scroll-ps":L()}],"scroll-pe":[{"scroll-pe":L()}],"scroll-pt":[{"scroll-pt":L()}],"scroll-pr":[{"scroll-pr":L()}],"scroll-pb":[{"scroll-pb":L()}],"scroll-pl":[{"scroll-pl":L()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ie,ae]}],fill:[{fill:["none",...Y()]}],"stroke-w":[{stroke:[_e,Nr,yi,Gd]}],stroke:[{stroke:["none",...Y()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},EE=oE(AE);function Rs(...s){return EE(i0(s))}const TE=GA,m0=S.forwardRef(({className:s,...n},a)=>p.jsx(Zb,{ref:a,className:Rs("fixed top-4 right-4 z-[100] flex max-h-screen w-full flex-col gap-2 p-4 md:max-w-[420px]",s),...n}));m0.displayName=Zb.displayName;const NE=YA("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),g0=S.forwardRef(({className:s,variant:n,...a},r)=>p.jsx(Wb,{ref:r,className:Rs(NE({variant:n}),s),...a}));g0.displayName=Wb.displayName;const ME=S.forwardRef(({className:s,...n},a)=>p.jsx(t0,{ref:a,className:Rs("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",s),...n}));ME.displayName=t0.displayName;const v0=S.forwardRef(({className:s,...n},a)=>p.jsx(n0,{ref:a,className:Rs("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",s),"toast-close":"",...n,children:p.jsx(Za,{className:"h-4 w-4"})}));v0.displayName=n0.displayName;const y0=S.forwardRef(({className:s,...n},a)=>p.jsx(Jb,{ref:a,className:Rs("text-sm font-semibold",s),...n}));y0.displayName=Jb.displayName;const b0=S.forwardRef(({className:s,...n},a)=>p.jsx(e0,{ref:a,className:Rs("text-sm opacity-90",s),...n}));b0.displayName=e0.displayName;function jE(){const{toasts:s}=Fk();return p.jsxs(TE,{children:[s.map(function({id:n,title:a,description:r,action:l,...c}){return p.jsxs(g0,{...c,children:[p.jsxs("div",{className:"grid gap-1",children:[a&&p.jsx(y0,{children:a}),r&&p.jsx(b0,{children:r})]}),l,p.jsx(v0,{})]},n)}),p.jsx(m0,{})]})}var U=typeof window<"u"?window:void 0,At=typeof globalThis<"u"?globalThis:U;typeof self>"u"&&(At.self=At),typeof File>"u"&&(At.File=function(){});var _0=Array.prototype,ny=_0.forEach,ay=_0.indexOf,an=At?.navigator,J=At?.document,qt=At?.location,Ef=At?.fetch,Tf=At!=null&&At.XMLHttpRequest&&"withCredentials"in new At.XMLHttpRequest?At.XMLHttpRequest:void 0,iy=At?.AbortController,Ht=an?.userAgent,ce=U??{},oa={DEBUG:!1,LIB_VERSION:"1.326.0"};function sy(s,n,a,r,l,c,f){try{var h=s[c](f),g=h.value}catch(m){return void a(m)}h.done?n(g):Promise.resolve(g).then(r,l)}function bs(s){return function(){var n=this,a=arguments;return new Promise((function(r,l){var c=s.apply(n,a);function f(g){sy(c,r,l,f,h,"next",g)}function h(g){sy(c,r,l,f,h,"throw",g)}f(void 0)}))}}function ee(){return ee=Object.assign?Object.assign.bind():function(s){for(var n=1;n<arguments.length;n++){var a=arguments[n];for(var r in a)({}).hasOwnProperty.call(a,r)&&(s[r]=a[r])}return s},ee.apply(null,arguments)}function S0(s,n){if(s==null)return{};var a={};for(var r in s)if({}.hasOwnProperty.call(s,r)){if(n.indexOf(r)!==-1)continue;a[r]=s[r]}return a}var RE=["amazonbot","amazonproductbot","app.hypefactors.com","applebot","archive.org_bot","awariobot","backlinksextendedbot","baiduspider","bingbot","bingpreview","chrome-lighthouse","dataforseobot","deepscan","duckduckbot","facebookexternal","facebookcatalog","http://yandex.com/bots","hubspot","ia_archiver","leikibot","linkedinbot","meta-externalagent","mj12bot","msnbot","nessus","petalbot","pinterest","prerender","rogerbot","screaming frog","sebot-wa","sitebulb","slackbot","slurp","trendictionbot","turnitin","twitterbot","vercel-screenshot","vercelbot","yahoo! slurp","yandexbot","zoombot","bot.htm","bot.php","(bot;","bot/","crawler","ahrefsbot","ahrefssiteaudit","semrushbot","siteauditbot","splitsignalbot","gptbot","oai-searchbot","chatgpt-user","perplexitybot","better uptime bot","sentryuptimebot","uptimerobot","headlesschrome","cypress","google-hoteladsverifier","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleother","google-cloudvertexbot","googleweblight","mediapartners-google","storebot-google","google-inspectiontool","bytespider"],ry=function(s,n){if(n===void 0&&(n=[]),!s)return!1;var a=s.toLowerCase();return RE.concat(n).some((r=>{var l=r.toLowerCase();return a.indexOf(l)!==-1}))},DE=["$snapshot","$pageview","$pageleave","$set","survey dismissed","survey sent","survey shown","$identify","$groupidentify","$create_alias","$$client_ingestion_warning","$web_experiment_applied","$feature_enrollment_update","$feature_flag_called"];function ke(s,n){return s.indexOf(n)!==-1}var yc=function(s){return s.trim()},Nf=function(s){return s.replace(/^\$/,"")},PE=Array.isArray,x0=Object.prototype,w0=x0.hasOwnProperty,bc=x0.toString,Le=PE||function(s){return bc.call(s)==="[object Array]"},Ka=s=>typeof s=="function",yt=s=>s===Object(s)&&!Le(s),_s=s=>{if(yt(s)){for(var n in s)if(w0.call(s,n))return!1;return!0}return!1},X=s=>s===void 0,mt=s=>bc.call(s)=="[object String]",Mf=s=>mt(s)&&s.trim().length===0,Mn=s=>s===null,Re=s=>X(s)||Mn(s),ma=s=>bc.call(s)=="[object Number]"&&s==s,vs=s=>ma(s)&&s>0,ha=s=>bc.call(s)==="[object Boolean]",OE=s=>s instanceof FormData,LE=s=>ke(DE,s);function jf(s){return s===null||typeof s!="object"}function Zl(s,n){return Object.prototype.toString.call(s)==="[object "+n+"]"}function C0(s){return!X(Event)&&(function(n,a){try{return n instanceof a}catch{return!1}})(s,Event)}var FE=[!0,"true",1,"1","yes"],Yd=s=>ke(FE,s),zE=[!1,"false",0,"0","no"];function Ln(s,n,a,r,l){return n>a&&(r.warn("min cannot be greater than max."),n=a),ma(s)?s>a?(r.warn(" cannot be greater than max: "+a+". Using max value instead."),a):s<n?(r.warn(" cannot be less than min: "+n+". Using min value instead."),n):s:(r.warn(" must be a number. using max or fallback. max: "+a+", fallback: "+l),Ln(l||a,n,a,r))}class UE{constructor(n){this.t={},this.i=n.i,this.o=Ln(n.bucketSize,0,100,n.h),this.m=Ln(n.refillRate,0,this.o,n.h),this.$=Ln(n.refillInterval,0,864e5,n.h)}S(n,a){var r=a-n.lastAccess,l=Math.floor(r/this.$);if(l>0){var c=l*this.m;n.tokens=Math.min(n.tokens+c,this.o),n.lastAccess=n.lastAccess+l*this.$}}consumeRateLimit(n){var a,r=Date.now(),l=String(n),c=this.t[l];return c?this.S(c,r):(c={tokens:this.o,lastAccess:r},this.t[l]=c),c.tokens===0||(c.tokens--,c.tokens===0&&((a=this.i)==null||a.call(this,n)),c.tokens===0)}stop(){this.t={}}}var yn="Mobile",Wl="iOS",da="Android",Jr="Tablet",k0=da+" "+Jr,A0="iPad",E0="Apple",T0=E0+" Watch",eo="Safari",Cs="BlackBerry",N0="Samsung",M0=N0+"Browser",j0=N0+" Internet",ki="Chrome",IE=ki+" OS",R0=ki+" "+Wl,mh="Internet Explorer",D0=mh+" "+yn,gh="Opera",HE=gh+" Mini",vh="Edge",P0="Microsoft "+vh,xs="Firefox",O0=xs+" "+Wl,to="Nintendo",no="PlayStation",ws="Xbox",L0=da+" "+yn,F0=yn+" "+eo,Ur="Windows",Rf=Ur+" Phone",oy="Nokia",Df="Ouya",z0="Generic",qE=z0+" "+yn.toLowerCase(),U0=z0+" "+Jr.toLowerCase(),Pf="Konqueror",Rt="(\\d+(\\.\\d+)?)",Kd=new RegExp("Version/"+Rt),BE=new RegExp(ws,"i"),$E=new RegExp(no+" \\w+","i"),VE=new RegExp(to+" \\w+","i"),yh=new RegExp(Cs+"|PlayBook|BB10","i"),GE={"NT3.51":"NT 3.11","NT4.0":"NT 4.0","5.0":"2000",5.1:"XP",5.2:"XP","6.0":"Vista",6.1:"7",6.2:"8",6.3:"8.1",6.4:"10","10.0":"10"},Ll,ly,Xd,YE=(s,n)=>n&&ke(n,E0)||(function(a){return ke(a,eo)&&!ke(a,ki)&&!ke(a,da)})(s),I0=function(s,n){return n=n||"",ke(s," OPR/")&&ke(s,"Mini")?HE:ke(s," OPR/")?gh:yh.test(s)?Cs:ke(s,"IE"+yn)||ke(s,"WPDesktop")?D0:ke(s,M0)?j0:ke(s,vh)||ke(s,"Edg/")?P0:ke(s,"FBIOS")?"Facebook "+yn:ke(s,"UCWEB")||ke(s,"UCBrowser")?"UC Browser":ke(s,"CriOS")?R0:ke(s,"CrMo")||ke(s,ki)?ki:ke(s,da)&&ke(s,eo)?L0:ke(s,"FxiOS")?O0:ke(s.toLowerCase(),Pf.toLowerCase())?Pf:YE(s,n)?ke(s,yn)?F0:eo:ke(s,xs)?xs:ke(s,"MSIE")||ke(s,"Trident/")?mh:ke(s,"Gecko")?xs:""},KE={[D0]:[new RegExp("rv:"+Rt)],[P0]:[new RegExp(vh+"?\\/"+Rt)],[ki]:[new RegExp("("+ki+"|CrMo)\\/"+Rt)],[R0]:[new RegExp("CriOS\\/"+Rt)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+Rt)],[eo]:[Kd],[F0]:[Kd],[gh]:[new RegExp("(Opera|OPR)\\/"+Rt)],[xs]:[new RegExp(xs+"\\/"+Rt)],[O0]:[new RegExp("FxiOS\\/"+Rt)],[Pf]:[new RegExp("Konqueror[:/]?"+Rt,"i")],[Cs]:[new RegExp(Cs+" "+Rt),Kd],[L0]:[new RegExp("android\\s"+Rt,"i")],[j0]:[new RegExp(M0+"\\/"+Rt)],[mh]:[new RegExp("(rv:|MSIE )"+Rt)],Mozilla:[new RegExp("rv:"+Rt)]},XE=function(s,n){var a=I0(s,n),r=KE[a];if(X(r))return null;for(var l=0;l<r.length;l++){var c=r[l],f=s.match(c);if(f)return parseFloat(f[f.length-2])}return null},cy=[[new RegExp(ws+"; "+ws+" (.*?)[);]","i"),s=>[ws,s&&s[1]||""]],[new RegExp(to,"i"),[to,""]],[new RegExp(no,"i"),[no,""]],[yh,[Cs,""]],[new RegExp(Ur,"i"),(s,n)=>{if(/Phone/.test(n)||/WPDesktop/.test(n))return[Rf,""];if(new RegExp(yn).test(n)&&!/IEMobile\b/.test(n))return[Ur+" "+yn,""];var a=/Windows NT ([0-9.]+)/i.exec(n);if(a&&a[1]){var r=a[1],l=GE[r]||"";return/arm/i.test(n)&&(l="RT"),[Ur,l]}return[Ur,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,s=>{if(s&&s[3]){var n=[s[3],s[4],s[5]||"0"];return[Wl,n.join(".")]}return[Wl,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,s=>{var n="";return s&&s.length>=3&&(n=X(s[2])?s[3]:s[2]),["watchOS",n]}],[new RegExp("("+da+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+da+")","i"),s=>{if(s&&s[2]){var n=[s[2],s[3],s[4]||"0"];return[da,n.join(".")]}return[da,""]}],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,s=>{var n=["Mac OS X",""];if(s&&s[1]){var a=[s[1],s[2],s[3]||"0"];n[1]=a.join(".")}return n}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[IE,""]],[/Linux|debian/i,["Linux",""]]],uy=function(s){return VE.test(s)?to:$E.test(s)?no:BE.test(s)?ws:new RegExp(Df,"i").test(s)?Df:new RegExp("("+Rf+"|WPDesktop)","i").test(s)?Rf:/iPad/.test(s)?A0:/iPod/.test(s)?"iPod Touch":/iPhone/.test(s)?"iPhone":/(watch)(?: ?os[,/]|\d,\d\/)[\d.]+/i.test(s)?T0:yh.test(s)?Cs:/(kobo)\s(ereader|touch)/i.test(s)?"Kobo":new RegExp(oy,"i").test(s)?oy:/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i.test(s)||/(kf[a-z]+)( bui|\)).+silk\//i.test(s)?"Kindle Fire":/(Android|ZTE)/i.test(s)?new RegExp(yn).test(s)&&!/(9138B|TB782B|Nexus [97]|pixel c|HUAWEISHT|BTV|noble nook|smart ultra 6)/i.test(s)||/pixel[\daxl ]{1,6}/i.test(s)&&!/pixel c/i.test(s)||/(huaweimed-al00|tah-|APA|SM-G92|i980|zte|U304AA)/i.test(s)||/lmy47v/i.test(s)&&!/QTAQZ3/i.test(s)?da:k0:new RegExp("(pda|"+yn+")","i").test(s)?qE:new RegExp(Jr,"i").test(s)&&!new RegExp(Jr+" pc","i").test(s)?U0:""},QE=s=>s instanceof Error;function ZE(s){var n=globalThis._posthogChunkIds;if(n){var a=Object.keys(n);return Xd&&a.length===ly||(ly=a.length,Xd=a.reduce(((r,l)=>{Ll||(Ll={});var c=Ll[l];if(c)r[c[0]]=c[1];else for(var f=s(l),h=f.length-1;h>=0;h--){var g=f[h],m=g?.filename,y=n[l];if(m&&y){r[m]=y,Ll[l]=[m,y];break}}return r}),{})),Xd}}class WE{constructor(n,a,r){r===void 0&&(r=[]),this.coercers=n,this.stackParser=a,this.modifiers=r}buildFromUnknown(n,a){a===void 0&&(a={});var r=a&&a.mechanism||{handled:!0,type:"generic"},l=this.buildCoercingContext(r,a,0).apply(n),c=this.buildParsingContext(),f=this.parseStacktrace(l,c);return{$exception_list:this.convertToExceptionList(f,r),$exception_level:"error"}}modifyFrames(n){var a=this;return bs((function*(){for(var r of n)r.stacktrace&&r.stacktrace.frames&&Le(r.stacktrace.frames)&&(r.stacktrace.frames=yield a.applyModifiers(r.stacktrace.frames));return n}))()}coerceFallback(n){var a;return{type:"Error",value:"Unknown error",stack:(a=n.syntheticException)==null?void 0:a.stack,synthetic:!0}}parseStacktrace(n,a){var r,l;return n.cause!=null&&(r=this.parseStacktrace(n.cause,a)),n.stack!=""&&n.stack!=null&&(l=this.applyChunkIds(this.stackParser(n.stack,n.synthetic?1:0),a.chunkIdMap)),ee({},n,{cause:r,stack:l})}applyChunkIds(n,a){return n.map((r=>(r.filename&&a&&(r.chunk_id=a[r.filename]),r)))}applyCoercers(n,a){for(var r of this.coercers)if(r.match(n))return r.coerce(n,a);return this.coerceFallback(a)}applyModifiers(n){var a=this;return bs((function*(){var r=n;for(var l of a.modifiers)r=yield l(r);return r}))()}convertToExceptionList(n,a){var r,l,c,f={type:n.type,value:n.value,mechanism:{type:(r=a.type)!==null&&r!==void 0?r:"generic",handled:(l=a.handled)===null||l===void 0||l,synthetic:(c=n.synthetic)!==null&&c!==void 0&&c}};n.stack&&(f.stacktrace={type:"raw",frames:n.stack});var h=[f];return n.cause!=null&&h.push(...this.convertToExceptionList(n.cause,ee({},a,{handled:!0}))),h}buildParsingContext(){return{chunkIdMap:ZE(this.stackParser)}}buildCoercingContext(n,a,r){r===void 0&&(r=0);var l=(c,f)=>{if(f<=4){var h=this.buildCoercingContext(n,a,f);return this.applyCoercers(c,h)}};return ee({},a,{syntheticException:r==0?a.syntheticException:void 0,mechanism:n,apply:c=>l(c,r),next:c=>l(c,r+1)})}}var ks="?";function Of(s,n,a,r,l){var c={platform:s,filename:n,function:a==="<anonymous>"?ks:a,in_app:!0};return X(r)||(c.lineno=r),X(l)||(c.colno=l),c}var H0=(s,n)=>{var a=s.indexOf("safari-extension")!==-1,r=s.indexOf("safari-web-extension")!==-1;return a||r?[s.indexOf("@")!==-1?s.split("@")[0]:ks,a?"safari-extension:"+n:"safari-web-extension:"+n]:[s,n]},JE=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,eT=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,tT=/\((\S*)(?::(\d+))(?::(\d+))\)/,nT=(s,n)=>{var a=JE.exec(s);if(a){var[,r,l,c]=a;return Of(n,r,ks,+l,+c)}var f=eT.exec(s);if(f){if(f[2]&&f[2].indexOf("eval")===0){var h=tT.exec(f[2]);h&&(f[2]=h[1],f[3]=h[2],f[4]=h[3])}var[g,m]=H0(f[1]||ks,f[2]);return Of(n,m,g,f[3]?+f[3]:void 0,f[4]?+f[4]:void 0)}},aT=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,iT=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,sT=(s,n)=>{var a=aT.exec(s);if(a){if(a[3]&&a[3].indexOf(" > eval")>-1){var r=iT.exec(a[3]);r&&(a[1]=a[1]||"eval",a[3]=r[1],a[4]=r[2],a[5]="")}var l=a[3],c=a[1]||ks;return[c,l]=H0(c,l),Of(n,l,c,a[4]?+a[4]:void 0,a[5]?+a[5]:void 0)}},dy=/\(error: (.*)\)/,fy=50;function rT(){return(function(s){for(var n=arguments.length,a=new Array(n>1?n-1:0),r=1;r<n;r++)a[r-1]=arguments[r];return function(l,c){c===void 0&&(c=0);for(var f=[],h=l.split(`
84
- `),g=c;g<h.length;g++){var m=h[g];if(!(m.length>1024)){var y=dy.test(m)?m.replace(dy,"$1"):m;if(!y.match(/\S*Error: /)){for(var b of a){var x=b(y,s);if(x){f.push(x);break}}if(f.length>=fy)break}}}return(function(C){if(!C.length)return[];var T=Array.from(C);return T.reverse(),T.slice(0,fy).map((k=>{return ee({},k,{filename:k.filename||(A=T,A[A.length-1]||{}).filename,function:k.function||ks});var A}))})(f)}})("web:javascript",nT,sT)}class oT{match(n){return this.isDOMException(n)||this.isDOMError(n)}coerce(n,a){var r=mt(n.stack);return{type:this.getType(n),value:this.getValue(n),stack:r?n.stack:void 0,cause:n.cause?a.next(n.cause):void 0,synthetic:!1}}getType(n){return this.isDOMError(n)?"DOMError":"DOMException"}getValue(n){var a=n.name||(this.isDOMError(n)?"DOMError":"DOMException");return n.message?a+": "+n.message:a}isDOMException(n){return Zl(n,"DOMException")}isDOMError(n){return Zl(n,"DOMError")}}class lT{match(n){return(a=>a instanceof Error)(n)}coerce(n,a){return{type:this.getType(n),value:this.getMessage(n,a),stack:this.getStack(n),cause:n.cause?a.next(n.cause):void 0,synthetic:!1}}getType(n){return n.name||n.constructor.name}getMessage(n,a){var r=n.message;return r.error&&typeof r.error.message=="string"?String(r.error.message):String(r)}getStack(n){return n.stacktrace||n.stack||void 0}}class cT{constructor(){}match(n){return Zl(n,"ErrorEvent")&&n.error!=null}coerce(n,a){var r,l=a.apply(n.error);return l||{type:"ErrorEvent",value:n.message,stack:(r=a.syntheticException)==null?void 0:r.stack,synthetic:!0}}}var uT=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;class dT{match(n){return typeof n=="string"}coerce(n,a){var r,[l,c]=this.getInfos(n);return{type:l??"Error",value:c??n,stack:(r=a.syntheticException)==null?void 0:r.stack,synthetic:!0}}getInfos(n){var a="Error",r=n,l=n.match(uT);return l&&(a=l[1],r=l[2]),[a,r]}}var fT=["fatal","error","warning","log","info","debug"];function q0(s,n){n===void 0&&(n=40);var a=Object.keys(s);if(a.sort(),!a.length)return"[object has no keys]";for(var r=a.length;r>0;r--){var l=a.slice(0,r).join(", ");if(!(l.length>n))return r===a.length||l.length<=n?l:l.slice(0,n)+"..."}return""}class hT{match(n){return typeof n=="object"&&n!==null}coerce(n,a){var r,l=this.getErrorPropertyFromObject(n);return l?a.apply(l):{type:this.getType(n),value:this.getValue(n),stack:(r=a.syntheticException)==null?void 0:r.stack,level:this.isSeverityLevel(n.level)?n.level:"error",synthetic:!0}}getType(n){return C0(n)?n.constructor.name:"Error"}getValue(n){if("name"in n&&typeof n.name=="string"){var a="'"+n.name+"' captured as exception";return"message"in n&&typeof n.message=="string"&&(a+=" with message: '"+n.message+"'"),a}if("message"in n&&typeof n.message=="string")return n.message;var r=this.getObjectClassName(n);return(r&&r!=="Object"?"'"+r+"'":"Object")+" captured as exception with keys: "+q0(n)}isSeverityLevel(n){return mt(n)&&!Mf(n)&&fT.indexOf(n)>=0}getErrorPropertyFromObject(n){for(var a in n)if(Object.prototype.hasOwnProperty.call(n,a)){var r=n[a];if(QE(r))return r}}getObjectClassName(n){try{var a=Object.getPrototypeOf(n);return a?a.constructor.name:void 0}catch{return}}}class pT{match(n){return C0(n)}coerce(n,a){var r,l=n.constructor.name;return{type:l,value:l+" captured as exception with keys: "+q0(n),stack:(r=a.syntheticException)==null?void 0:r.stack,synthetic:!0}}}class mT{match(n){return jf(n)}coerce(n,a){var r;return{type:"Error",value:"Primitive value captured as exception: "+String(n),stack:(r=a.syntheticException)==null?void 0:r.stack,synthetic:!0}}}class gT{match(n){return Zl(n,"PromiseRejectionEvent")}coerce(n,a){var r,l=this.getUnhandledRejectionReason(n);return jf(l)?{type:"UnhandledRejection",value:"Non-Error promise rejection captured with value: "+String(l),stack:(r=a.syntheticException)==null?void 0:r.stack,synthetic:!0}:a.apply(l)}getUnhandledRejectionReason(n){if(jf(n))return n;try{if("reason"in n)return n.reason;if("detail"in n&&"reason"in n.detail)return n.detail.reason}catch{}return n}}var B0=function(s,n){var{debugEnabled:a}=n===void 0?{}:n,r={k:function(l){if(U&&(oa.DEBUG||ce.POSTHOG_DEBUG||a)&&!X(U.console)&&U.console){for(var c=("__rrweb_original__"in U.console[l])?U.console[l].__rrweb_original__:U.console[l],f=arguments.length,h=new Array(f>1?f-1:0),g=1;g<f;g++)h[g-1]=arguments[g];c(s,...h)}},info:function(){for(var l=arguments.length,c=new Array(l),f=0;f<l;f++)c[f]=arguments[f];r.k("log",...c)},warn:function(){for(var l=arguments.length,c=new Array(l),f=0;f<l;f++)c[f]=arguments[f];r.k("warn",...c)},error:function(){for(var l=arguments.length,c=new Array(l),f=0;f<l;f++)c[f]=arguments[f];r.k("error",...c)},critical:function(){for(var l=arguments.length,c=new Array(l),f=0;f<l;f++)c[f]=arguments[f];console.error(s,...c)},uninitializedWarning:l=>{r.error("You must initialize PostHog before calling "+l)},createLogger:(l,c)=>B0(s+" "+l,c)};return r},W=B0("[PostHog.js]"),at=W.createLogger,vT=at("[ExternalScriptsLoader]"),hy=(s,n,a)=>{if(s.config.disable_external_dependency_loading)return vT.warn(n+" was requested but loading of external scripts is disabled."),a("Loading of external scripts is disabled");var r=J?.querySelectorAll("script");if(r){for(var l,c=function(){if(r[f].src===n){var g=r[f];return g.__posthog_loading_callback_fired?{v:a()}:(g.addEventListener("load",(m=>{g.__posthog_loading_callback_fired=!0,a(void 0,m)})),g.onerror=m=>a(m),{v:void 0})}},f=0;f<r.length;f++)if(l=c())return l.v}var h=()=>{if(!J)return a("document not found");var g=J.createElement("script");if(g.type="text/javascript",g.crossOrigin="anonymous",g.src=n,g.onload=b=>{g.__posthog_loading_callback_fired=!0,a(void 0,b)},g.onerror=b=>a(b),s.config.prepare_external_dependency_script&&(g=s.config.prepare_external_dependency_script(g)),!g)return a("prepare_external_dependency_script returned null");var m,y=J.querySelectorAll("body > script");y.length>0?(m=y[0].parentNode)==null||m.insertBefore(g,y[0]):J.body.appendChild(g)};J!=null&&J.body?h():J?.addEventListener("DOMContentLoaded",h)};ce.__PosthogExtensions__=ce.__PosthogExtensions__||{},ce.__PosthogExtensions__.loadExternalDependency=(s,n,a)=>{var r="/static/"+n+".js?v="+s.version;if(n==="remote-config"&&(r="/array/"+s.config.token+"/config.js"),n==="toolbar"){var l=3e5;r=r+"&t="+Math.floor(Date.now()/l)*l}var c=s.requestRouter.endpointFor("assets",r);hy(s,c,a)},ce.__PosthogExtensions__.loadSiteApp=(s,n,a)=>{var r=s.requestRouter.endpointFor("api",n);hy(s,r,a)};var Jl={};function Xa(s,n,a){if(Le(s)){if(ny&&s.forEach===ny)s.forEach(n,a);else if("length"in s&&s.length===+s.length){for(var r=0,l=s.length;r<l;r++)if(r in s&&n.call(a,s[r],r)===Jl)return}}}function Ve(s,n,a){if(!Re(s)){if(Le(s))return Xa(s,n,a);if(OE(s)){for(var r of s.entries())if(n.call(a,r[1],r[0])===Jl)return}else for(var l in s)if(w0.call(s,l)&&n.call(a,s[l],l)===Jl)return}}var rt=function(s){for(var n=arguments.length,a=new Array(n>1?n-1:0),r=1;r<n;r++)a[r-1]=arguments[r];return Xa(a,(function(l){for(var c in l)l[c]!==void 0&&(s[c]=l[c])})),s},Ds=function(s){for(var n=arguments.length,a=new Array(n>1?n-1:0),r=1;r<n;r++)a[r-1]=arguments[r];return Xa(a,(function(l){Xa(l,(function(c){s.push(c)}))})),s};function Gl(s){for(var n=Object.keys(s),a=n.length,r=new Array(a);a--;)r[a]=[n[a],s[n[a]]];return r}var py=function(s){try{return s()}catch{return}},yT=function(s){return function(){try{for(var n=arguments.length,a=new Array(n),r=0;r<n;r++)a[r]=arguments[r];return s.apply(this,a)}catch(l){W.critical("Implementation error. Please turn on debug mode and open a ticket on https://app.posthog.com/home#panel=support%3Asupport%3A."),W.critical(l)}}},bh=function(s){var n={};return Ve(s,(function(a,r){(mt(a)&&a.length>0||ma(a))&&(n[r]=a)})),n};function bT(s,n){return a=s,r=c=>mt(c)&&!Mn(n)?c.slice(0,n):c,l=new Set,(function c(f,h){return f!==Object(f)?r?r(f,h):f:l.has(f)?void 0:(l.add(f),Le(f)?(g=[],Xa(f,(m=>{g.push(c(m))}))):(g={},Ve(f,((m,y)=>{l.has(m)||(g[y]=c(m,y))}))),g);var g})(a);var a,r,l}var _T=["herokuapp.com","vercel.app","netlify.app"];function ST(s){var n=s?.hostname;if(!mt(n))return!1;var a=n.split(".").slice(-2).join(".");for(var r of _T)if(a===r)return!1;return!0}function $0(s,n){for(var a=0;a<s.length;a++)if(n(s[a]))return s[a]}function dt(s,n,a,r){var{capture:l=!1,passive:c=!0}=r??{};s?.addEventListener(n,a,{capture:l,passive:c})}var V0="$people_distinct_id",Ir="__alias",Hr="__timers",my="$autocapture_disabled_server_side",Lf="$heatmaps_enabled_server_side",gy="$exception_capture_enabled_server_side",Ff="$error_tracking_suppression_rules",vy="$error_tracking_capture_extension_exceptions",yy="$web_vitals_enabled_server_side",G0="$dead_clicks_enabled_server_side",by="$product_tours_enabled_server_side",_y="$web_vitals_allowed_metrics",Qd="$session_recording_remote_config",ec="$sesid",Y0="$session_is_sampled",Ss="$enabled_feature_flags",qr="$early_access_features",zf="$feature_flag_details",Br="$stored_person_properties",xi="$stored_group_properties",Uf="$surveys",tc="$flag_call_reported",la="$user_state",If="$client_session_props",Hf="$capture_rate_limit",qf="$initial_campaign_params",Bf="$initial_referrer_info",nc="$initial_person_info",ac="$epp",K0="__POSTHOG_TOOLBAR__",Mr="$posthog_cookieless",xT=[V0,Ir,"__cmpns",Hr,"$session_recording_enabled_server_side",Lf,ec,Ss,Ff,la,qr,zf,xi,Br,Uf,tc,If,Hf,qf,Bf,ac,nc,"$conversations_widget_session_id","$conversations_ticket_id","$conversations_widget_state","$conversations_user_traits"];function Sy(s){return s instanceof Element&&(s.id===K0||!(s.closest==null||!s.closest(".toolbar-global-fade-container")))}function _c(s){return!!s&&s.nodeType===1}function Qa(s,n){return!!s&&!!s.tagName&&s.tagName.toLowerCase()===n.toLowerCase()}function X0(s){return!!s&&s.nodeType===3}function Q0(s){return!!s&&s.nodeType===11}function _h(s){return s?yc(s).split(/\s+/):[]}function xy(s){var n=U?.location.href;return!!(n&&s&&s.some((a=>n.match(a))))}function ic(s){var n="";switch(typeof s.className){case"string":n=s.className;break;case"object":n=(s.className&&"baseVal"in s.className?s.className.baseVal:null)||s.getAttribute("class")||"";break;default:n=""}return _h(n)}function Z0(s){return Re(s)?null:yc(s).split(/(\s+)/).filter((n=>ao(n))).join("").replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255)}function uo(s){var n="";return $f(s)&&!n_(s)&&s.childNodes&&s.childNodes.length&&Ve(s.childNodes,(function(a){var r;X0(a)&&a.textContent&&(n+=(r=Z0(a.textContent))!==null&&r!==void 0?r:"")})),yc(n)}function W0(s){return X(s.target)?s.srcElement||null:(n=s.target)!=null&&n.shadowRoot?s.composedPath()[0]||null:s.target||null;var n}var Sh=["a","button","form","input","select","textarea","label"];function J0(s,n){if(X(n))return!0;var a,r=function(c){if(n.some((f=>c.matches(f))))return{v:!0}};for(var l of s)if(a=r(l))return a.v;return!1}function e_(s){var n=s.parentNode;return!(!n||!_c(n))&&n}var wT=["next","previous","prev",">","<"],wy=10,Cy=[".ph-no-rageclick",".ph-no-capture"];function CT(s,n){if(!U||xh(s))return!1;var a,r,l;if(ha(n)?(a=!!n&&Cy,r=void 0):(a=(l=n?.css_selector_ignorelist)!==null&&l!==void 0?l:Cy,r=n?.content_ignorelist),a===!1)return!1;var{targetElementList:c}=t_(s,!1);return!(function(f,h){if(f===!1||X(f))return!1;var g;if(f===!0)g=wT;else{if(!Le(f))return!1;if(f.length>wy)return W.error("[PostHog] content_ignorelist array cannot exceed "+wy+" items. Use css_selector_ignorelist for more complex matching."),!1;g=f.map((m=>m.toLowerCase()))}return h.some((m=>{var{safeText:y,ariaLabel:b}=m;return g.some((x=>y.includes(x)||b.includes(x)))}))})(r,c.map((f=>{var h;return{safeText:uo(f).toLowerCase(),ariaLabel:((h=f.getAttribute("aria-label"))==null?void 0:h.toLowerCase().trim())||""}})))&&!J0(c,a)}var xh=s=>!s||Qa(s,"html")||!_c(s),t_=(s,n)=>{if(!U||xh(s))return{parentIsUsefulElement:!1,targetElementList:[]};for(var a=!1,r=[s],l=s;l.parentNode&&!Qa(l,"body");)if(Q0(l.parentNode))r.push(l.parentNode.host),l=l.parentNode.host;else{var c=e_(l);if(!c)break;if(n||Sh.indexOf(c.tagName.toLowerCase())>-1)a=!0;else{var f=U.getComputedStyle(c);f&&f.getPropertyValue("cursor")==="pointer"&&(a=!0)}r.push(c),l=c}return{parentIsUsefulElement:a,targetElementList:r}};function kT(s,n,a,r,l){var c,f,h,g;if(a===void 0&&(a=void 0),!U||xh(s)||(c=a)!=null&&c.url_allowlist&&!xy(a.url_allowlist)||(f=a)!=null&&f.url_ignorelist&&xy(a.url_ignorelist))return!1;if((h=a)!=null&&h.dom_event_allowlist){var m=a.dom_event_allowlist;if(m&&!m.some((T=>n.type===T)))return!1}var{parentIsUsefulElement:y,targetElementList:b}=t_(s,r);if(!(function(T,k){var A=k?.element_allowlist;if(X(A))return!0;var M,j=function(q){if(A.some((B=>q.tagName.toLowerCase()===B)))return{v:!0}};for(var D of T)if(M=j(D))return M.v;return!1})(b,a)||!J0(b,(g=a)==null?void 0:g.css_selector_allowlist))return!1;var x=U.getComputedStyle(s);if(x&&x.getPropertyValue("cursor")==="pointer"&&n.type==="click")return!0;var C=s.tagName.toLowerCase();switch(C){case"html":return!1;case"form":return(l||["submit"]).indexOf(n.type)>=0;case"input":case"select":case"textarea":return(l||["change","click"]).indexOf(n.type)>=0;default:return y?(l||["click"]).indexOf(n.type)>=0:(l||["click"]).indexOf(n.type)>=0&&(Sh.indexOf(C)>-1||s.getAttribute("contenteditable")==="true")}}function $f(s){for(var n=s;n.parentNode&&!Qa(n,"body");n=n.parentNode){var a=ic(n);if(ke(a,"ph-sensitive")||ke(a,"ph-no-capture"))return!1}if(ke(ic(s),"ph-include"))return!0;var r=s.type||"";if(mt(r))switch(r.toLowerCase()){case"hidden":case"password":return!1}var l=s.name||s.id||"";return!(mt(l)&&/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test(l.replace(/[^a-zA-Z0-9]/g,"")))}function n_(s){return!!(Qa(s,"input")&&!["button","checkbox","submit","reset"].includes(s.type)||Qa(s,"select")||Qa(s,"textarea")||s.getAttribute("contenteditable")==="true")}var a_="(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11})",AT=new RegExp("^(?:"+a_+")$"),ET=new RegExp(a_),i_="\\d{3}-?\\d{2}-?\\d{4}",TT=new RegExp("^("+i_+")$"),NT=new RegExp("("+i_+")");function ao(s,n){return n===void 0&&(n=!0),!(Re(s)||mt(s)&&(s=yc(s),(n?AT:ET).test((s||"").replace(/[- ]/g,""))||(n?TT:NT).test(s)))}function s_(s){var n=uo(s);return ao(n=(n+" "+r_(s)).trim())?n:""}function r_(s){var n="";return s&&s.childNodes&&s.childNodes.length&&Ve(s.childNodes,(function(a){var r;if(a&&((r=a.tagName)==null?void 0:r.toLowerCase())==="span")try{var l=uo(a);n=(n+" "+l).trim(),a.childNodes&&a.childNodes.length&&(n=(n+" "+r_(a)).trim())}catch(c){W.error("[AutoCapture]",c)}})),n}function MT(s){return(function(n){var a=n.map((r=>{var l,c,f="";if(r.tag_name&&(f+=r.tag_name),r.attr_class)for(var h of(r.attr_class.sort(),r.attr_class))f+="."+h.replace(/"/g,"");var g=ee({},r.text?{text:r.text}:{},{"nth-child":(l=r.nth_child)!==null&&l!==void 0?l:0,"nth-of-type":(c=r.nth_of_type)!==null&&c!==void 0?c:0},r.href?{href:r.href}:{},r.attr_id?{attr_id:r.attr_id}:{},r.attributes),m={};return Gl(g).sort(((y,b)=>{var[x]=y,[C]=b;return x.localeCompare(C)})).forEach((y=>{var[b,x]=y;return m[ky(b.toString())]=ky(x.toString())})),f+=":",f+=Gl(m).map((y=>{var[b,x]=y;return b+'="'+x+'"'})).join("")}));return a.join(";")})((function(n){return n.map((a=>{var r,l,c={text:(r=a.$el_text)==null?void 0:r.slice(0,400),tag_name:a.tag_name,href:(l=a.attr__href)==null?void 0:l.slice(0,2048),attr_class:jT(a),attr_id:a.attr__id,nth_child:a.nth_child,nth_of_type:a.nth_of_type,attributes:{}};return Gl(a).filter((f=>{var[h]=f;return h.indexOf("attr__")===0})).forEach((f=>{var[h,g]=f;return c.attributes[h]=g})),c}))})(s))}function ky(s){return s.replace(/"|\\"/g,'\\"')}function jT(s){var n=s.attr__class;return n?Le(n)?n:_h(n):void 0}class o_{constructor(n){this.disabled=n===!1;var a=yt(n)?n:{};this.thresholdPx=a.threshold_px||30,this.timeoutMs=a.timeout_ms||1e3,this.clickCount=a.click_count||3,this.clicks=[]}isRageClick(n,a,r){if(this.disabled)return!1;var l=this.clicks[this.clicks.length-1];if(l&&Math.abs(n-l.x)+Math.abs(a-l.y)<this.thresholdPx&&r-l.timestamp<this.timeoutMs){if(this.clicks.push({x:n,y:a,timestamp:r}),this.clicks.length===this.clickCount)return!0}else this.clicks=[{x:n,y:a,timestamp:r}];return!1}}var sc=s=>{var n=J?.createElement("a");return X(n)?null:(n.href=s,n)},RT=function(s,n){var a,r;n===void 0&&(n="&");var l=[];return Ve(s,(function(c,f){X(c)||X(f)||f==="undefined"||(a=encodeURIComponent((h=>h instanceof File)(c)?c.name:c.toString()),r=encodeURIComponent(f),l[l.length]=r+"="+a)})),l.join(n)},rc=function(s,n){for(var a,r=((s.split("#")[0]||"").split(/\?(.*)/)[1]||"").replace(/^\?+/g,"").split("&"),l=0;l<r.length;l++){var c=r[l].split("=");if(c[0]===n){a=c;break}}if(!Le(a)||a.length<2)return"";var f=a[1];try{f=decodeURIComponent(f)}catch{W.error("Skipping decoding for malformed query param: "+f)}return f.replace(/\+/g," ")},fo=function(s,n,a){if(!s||!n||!n.length)return s;for(var r=s.split("#"),l=r[0]||"",c=r[1],f=l.split("?"),h=f[1],g=f[0],m=(h||"").split("&"),y=[],b=0;b<m.length;b++){var x=m[b].split("=");Le(x)&&(n.includes(x[0])?y.push(x[0]+"="+a):y.push(m[b]))}var C=g;return h!=null&&(C+="?"+y.join("&")),c!=null&&(C+="#"+c),C},oc=function(s,n){var a=s.match(new RegExp(n+"=([^&]*)"));return a?a[1]:null},Zd="$copy_autocapture",Ay=at("[AutoCapture]");function Wd(s,n){return n.length>s?n.slice(0,s)+"...":n}function DT(s){if(s.previousElementSibling)return s.previousElementSibling;var n=s;do n=n.previousSibling;while(n&&!_c(n));return n}function PT(s,n,a,r){var l=s.tagName.toLowerCase(),c={tag_name:l};Sh.indexOf(l)>-1&&!a&&(l.toLowerCase()==="a"||l.toLowerCase()==="button"?c.$el_text=Wd(1024,s_(s)):c.$el_text=Wd(1024,uo(s)));var f=ic(s);f.length>0&&(c.classes=f.filter((function(y){return y!==""}))),Ve(s.attributes,(function(y){var b;if((!n_(s)||["name","id","class","aria-label"].indexOf(y.name)!==-1)&&(r==null||!r.includes(y.name))&&!n&&ao(y.value)&&(b=y.name,!mt(b)||b.substring(0,10)!=="_ngcontent"&&b.substring(0,7)!=="_nghost")){var x=y.value;y.name==="class"&&(x=_h(x).join(" ")),c["attr__"+y.name]=Wd(1024,x)}}));for(var h=1,g=1,m=s;m=DT(m);)h++,m.tagName===s.tagName&&g++;return c.nth_child=h,c.nth_of_type=g,c}function OT(s,n){for(var a,r,{e:l,maskAllElementAttributes:c,maskAllText:f,elementAttributeIgnoreList:h,elementsChainAsString:g}=n,m=[s],y=s;y.parentNode&&!Qa(y,"body");)Q0(y.parentNode)?(m.push(y.parentNode.host),y=y.parentNode.host):(m.push(y.parentNode),y=y.parentNode);var b,x=[],C={},T=!1,k=!1;if(Ve(m,(q=>{var B=$f(q);q.tagName.toLowerCase()==="a"&&(T=q.getAttribute("href"),T=B&&T&&ao(T)&&T),ke(ic(q),"ph-no-capture")&&(k=!0),x.push(PT(q,c,f,h));var V=(function(I){if(!$f(I))return{};var L={};return Ve(I.attributes,(function(Z){if(Z.name&&Z.name.indexOf("data-ph-capture-attribute")===0){var re=Z.name.replace("data-ph-capture-attribute-",""),Se=Z.value;re&&Se&&ao(Se)&&(L[re]=Se)}})),L})(q);rt(C,V)})),k)return{props:{},explicitNoCapture:k};if(f||(s.tagName.toLowerCase()==="a"||s.tagName.toLowerCase()==="button"?x[0].$el_text=s_(s):x[0].$el_text=uo(s)),T){var A,M;x[0].attr__href=T;var j=(A=sc(T))==null?void 0:A.host,D=U==null||(M=U.location)==null?void 0:M.host;j&&D&&j!==D&&(b=T)}return{props:rt({$event_type:l.type,$ce_version:1},g?{}:{$elements:x},{$elements_chain:MT(x)},(a=x[0])!=null&&a.$el_text?{$el_text:(r=x[0])==null?void 0:r.$el_text}:{},b&&l.type==="click"?{$external_click_url:b}:{},C)}}class LT{constructor(n){this.P=!1,this.T=null,this.I=!1,this.instance=n,this.rageclicks=new o_(n.config.rageclick),this.C=null}get R(){var n,a,r=yt(this.instance.config.autocapture)?this.instance.config.autocapture:{};return r.url_allowlist=(n=r.url_allowlist)==null?void 0:n.map((l=>new RegExp(l))),r.url_ignorelist=(a=r.url_ignorelist)==null?void 0:a.map((l=>new RegExp(l))),r}F(){if(this.isBrowserSupported()){if(U&&J){var n=r=>{r=r||U?.event;try{this.M(r)}catch(l){Ay.error("Failed to capture event",l)}};if(dt(J,"submit",n,{capture:!0}),dt(J,"change",n,{capture:!0}),dt(J,"click",n,{capture:!0}),this.R.capture_copied_text){var a=r=>{r=r||U?.event,this.M(r,Zd)};dt(J,"copy",a,{capture:!0}),dt(J,"cut",a,{capture:!0})}}}else Ay.info("Disabling Automatic Event Collection because this browser is not supported")}startIfEnabled(){this.isEnabled&&!this.P&&(this.F(),this.P=!0)}onRemoteConfig(n){n.elementsChainAsString&&(this.I=n.elementsChainAsString),this.instance.persistence&&this.instance.persistence.register({[my]:!!n.autocapture_opt_out}),this.T=!!n.autocapture_opt_out,this.startIfEnabled()}setElementSelectors(n){this.C=n}getElementSelectors(n){var a,r=[];return(a=this.C)==null||a.forEach((l=>{var c=J?.querySelectorAll(l);c?.forEach((f=>{n===f&&r.push(l)}))})),r}get isEnabled(){var n,a,r=(n=this.instance.persistence)==null?void 0:n.props[my],l=this.T;if(Mn(l)&&!ha(r)&&!this.instance.O())return!1;var c=(a=this.T)!==null&&a!==void 0?a:!!r;return!!this.instance.config.autocapture&&!c}M(n,a){if(a===void 0&&(a="$autocapture"),this.isEnabled){var r,l=W0(n);X0(l)&&(l=l.parentNode||null),a==="$autocapture"&&n.type==="click"&&n instanceof MouseEvent&&this.instance.config.rageclick&&(r=this.rageclicks)!=null&&r.isRageClick(n.clientX,n.clientY,n.timeStamp||new Date().getTime())&&CT(l,this.instance.config.rageclick)&&this.M(n,"$rageclick");var c=a===Zd;if(l&&kT(l,n,this.R,c,c?["copy","cut"]:void 0)){var{props:f,explicitNoCapture:h}=OT(l,{e:n,maskAllElementAttributes:this.instance.config.mask_all_element_attributes,maskAllText:this.instance.config.mask_all_text,elementAttributeIgnoreList:this.R.element_attribute_ignorelist,elementsChainAsString:this.I});if(h)return!1;var g=this.getElementSelectors(l);if(g&&g.length>0&&(f.$element_selectors=g),a===Zd){var m,y=Z0(U==null||(m=U.getSelection())==null?void 0:m.toString()),b=n.type||"clipboard";if(!y)return!1;f.$selected_content=y,f.$copy_type=b}return this.instance.capture(a,f),!0}}}isBrowserSupported(){return Ka(J?.querySelectorAll)}}Math.trunc||(Math.trunc=function(s){return s<0?Math.ceil(s):Math.floor(s)}),Number.isInteger||(Number.isInteger=function(s){return ma(s)&&isFinite(s)&&Math.floor(s)===s});var Ey="0123456789abcdef";class lc{constructor(n){if(this.bytes=n,n.length!==16)throw new TypeError("not 128-bit length")}static fromFieldsV7(n,a,r,l){if(!Number.isInteger(n)||!Number.isInteger(a)||!Number.isInteger(r)||!Number.isInteger(l)||n<0||a<0||r<0||l<0||n>0xffffffffffff||a>4095||r>1073741823||l>4294967295)throw new RangeError("invalid field value");var c=new Uint8Array(16);return c[0]=n/Math.pow(2,40),c[1]=n/Math.pow(2,32),c[2]=n/Math.pow(2,24),c[3]=n/Math.pow(2,16),c[4]=n/Math.pow(2,8),c[5]=n,c[6]=112|a>>>8,c[7]=a,c[8]=128|r>>>24,c[9]=r>>>16,c[10]=r>>>8,c[11]=r,c[12]=l>>>24,c[13]=l>>>16,c[14]=l>>>8,c[15]=l,new lc(c)}toString(){for(var n="",a=0;a<this.bytes.length;a++)n=n+Ey.charAt(this.bytes[a]>>>4)+Ey.charAt(15&this.bytes[a]),a!==3&&a!==5&&a!==7&&a!==9||(n+="-");if(n.length!==36)throw new Error("Invalid UUIDv7 was generated");return n}clone(){return new lc(this.bytes.slice(0))}equals(n){return this.compareTo(n)===0}compareTo(n){for(var a=0;a<16;a++){var r=this.bytes[a]-n.bytes[a];if(r!==0)return Math.sign(r)}return 0}}class FT{constructor(){this.A=0,this.D=0,this.j=new zT}generate(){var n=this.generateOrAbort();if(X(n)){this.A=0;var a=this.generateOrAbort();if(X(a))throw new Error("Could not generate UUID after timestamp reset");return a}return n}generateOrAbort(){var n=Date.now();if(n>this.A)this.A=n,this.L();else{if(!(n+1e4>this.A))return;this.D++,this.D>4398046511103&&(this.A++,this.L())}return lc.fromFieldsV7(this.A,Math.trunc(this.D/Math.pow(2,30)),this.D&Math.pow(2,30)-1,this.j.nextUint32())}L(){this.D=1024*this.j.nextUint32()+(1023&this.j.nextUint32())}}var Ty,l_=s=>{if(typeof UUIDV7_DENY_WEAK_RNG<"u"&&UUIDV7_DENY_WEAK_RNG)throw new Error("no cryptographically strong RNG available");for(var n=0;n<s.length;n++)s[n]=65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random());return s};U&&!X(U.crypto)&&crypto.getRandomValues&&(l_=s=>crypto.getRandomValues(s));class zT{constructor(){this.N=new Uint32Array(8),this.U=1/0}nextUint32(){return this.U>=this.N.length&&(l_(this.N),this.U=0),this.N[this.U++]}}var Ya=()=>UT().toString(),UT=()=>(Ty||(Ty=new FT)).generate(),jr="",IT=/[a-z0-9][a-z0-9-]+\.[a-z]{2,}$/i;function HT(s,n){if(n){var a=(function(l,c){if(c===void 0&&(c=J),jr)return jr;if(!c||["localhost","127.0.0.1"].includes(l))return"";for(var f=l.split("."),h=Math.min(f.length,8),g="dmn_chk_"+Ya();!jr&&h--;){var m=f.slice(h).join("."),y=g+"=1;domain=."+m+";path=/";c.cookie=y+";max-age=3",c.cookie.includes(g)&&(c.cookie=y+";max-age=0",jr=m)}return jr})(s);if(!a){var r=(l=>{var c=l.match(IT);return c?c[0]:""})(s);r!==a&&W.info("Warning: cookie subdomain discovery mismatch",r,a),a=r}return a?"; domain=."+a:""}return""}var On={H:()=>!!J,B:function(s){W.error("cookieStore error: "+s)},q:function(s){if(J){try{for(var n=s+"=",a=J.cookie.split(";").filter((c=>c.length)),r=0;r<a.length;r++){for(var l=a[r];l.charAt(0)==" ";)l=l.substring(1,l.length);if(l.indexOf(n)===0)return decodeURIComponent(l.substring(n.length,l.length))}}catch{}return null}},W:function(s){var n;try{n=JSON.parse(On.q(s))||{}}catch{}return n},G:function(s,n,a,r,l){if(J)try{var c="",f="",h=HT(J.location.hostname,r);if(a){var g=new Date;g.setTime(g.getTime()+24*a*60*60*1e3),c="; expires="+g.toUTCString()}l&&(f="; secure");var m=s+"="+encodeURIComponent(JSON.stringify(n))+c+"; SameSite=Lax; path=/"+h+f;return m.length>3686.4&&W.warn("cookieStore warning: large cookie, len="+m.length),J.cookie=m,m}catch{return}},V:function(s,n){if(J!=null&&J.cookie)try{On.G(s,"",-1,n)}catch{return}}},Jd=null,Je={H:function(){if(!Mn(Jd))return Jd;var s=!0;if(X(U))s=!1;else try{var n="__mplssupport__";Je.G(n,"xyz"),Je.q(n)!=='"xyz"'&&(s=!1),Je.V(n)}catch{s=!1}return s||W.error("localStorage unsupported; falling back to cookie store"),Jd=s,s},B:function(s){W.error("localStorage error: "+s)},q:function(s){try{return U?.localStorage.getItem(s)}catch(n){Je.B(n)}return null},W:function(s){try{return JSON.parse(Je.q(s))||{}}catch{}return null},G:function(s,n){try{U?.localStorage.setItem(s,JSON.stringify(n))}catch(a){Je.B(a)}},V:function(s){try{U?.localStorage.removeItem(s)}catch(n){Je.B(n)}}},qT=["$device_id","distinct_id",ec,Y0,ac,nc],Fl={},BT={H:function(){return!0},B:function(s){W.error("memoryStorage error: "+s)},q:function(s){return Fl[s]||null},W:function(s){return Fl[s]||null},G:function(s,n){Fl[s]=n},V:function(s){delete Fl[s]}},bi=null,kt={H:function(){if(!Mn(bi))return bi;if(bi=!0,X(U))bi=!1;else try{var s="__support__";kt.G(s,"xyz"),kt.q(s)!=='"xyz"'&&(bi=!1),kt.V(s)}catch{bi=!1}return bi},B:function(s){W.error("sessionStorage error: ",s)},q:function(s){try{return U?.sessionStorage.getItem(s)}catch(n){kt.B(n)}return null},W:function(s){try{return JSON.parse(kt.q(s))||null}catch{}return null},G:function(s,n){try{U?.sessionStorage.setItem(s,JSON.stringify(n))}catch(a){kt.B(a)}},V:function(s){try{U?.sessionStorage.removeItem(s)}catch(n){kt.B(n)}}},ca=(function(s){return s[s.PENDING=-1]="PENDING",s[s.DENIED=0]="DENIED",s[s.GRANTED=1]="GRANTED",s})({});class $T{constructor(n){this._instance=n}get R(){return this._instance.config}get consent(){return this.J()?ca.DENIED:this.K}isOptedOut(){return this.R.cookieless_mode==="always"||this.consent===ca.DENIED||this.consent===ca.PENDING&&(this.R.opt_out_capturing_by_default||this.R.cookieless_mode==="on_reject")}isOptedIn(){return!this.isOptedOut()}isExplicitlyOptedOut(){return this.consent===ca.DENIED}optInOut(n){this.Y.G(this.X,n?1:0,this.R.cookie_expiration,this.R.cross_subdomain_cookie,this.R.secure_cookie)}reset(){this.Y.V(this.X,this.R.cross_subdomain_cookie)}get X(){var{token:n,opt_out_capturing_cookie_prefix:a,consent_persistence_name:r}=this._instance.config;return r||(a?a+n:"__ph_opt_in_out_"+n)}get K(){var n=this.Y.q(this.X);return Yd(n)?ca.GRANTED:ke(zE,n)?ca.DENIED:ca.PENDING}get Y(){if(!this.Z){var n=this.R.opt_out_capturing_persistence_type;this.Z=n==="localStorage"?Je:On;var a=n==="localStorage"?On:Je;a.q(this.X)&&(this.Z.q(this.X)||this.optInOut(Yd(a.q(this.X))),a.V(this.X,this.R.cross_subdomain_cookie))}return this.Z}J(){return!!this.R.respect_dnt&&!!$0([an?.doNotTrack,an?.msDoNotTrack,ce.doNotTrack],(n=>Yd(n)))}}var zl=at("[Dead Clicks]"),VT=()=>!0,GT=s=>{var n,a=!((n=s.instance.persistence)==null||!n.get_property(G0)),r=s.instance.config.capture_dead_clicks;return ha(r)?r:!!yt(r)||a};class c_{get lazyLoadedDeadClicksAutocapture(){return this.tt}constructor(n,a,r){this.instance=n,this.isEnabled=a,this.onCapture=r,this.startIfEnabled()}onRemoteConfig(n){this.instance.persistence&&this.instance.persistence.register({[G0]:n?.captureDeadClicks}),this.startIfEnabled()}startIfEnabled(){this.isEnabled(this)&&this.it((()=>{this.et()}))}it(n){var a,r;(a=ce.__PosthogExtensions__)!=null&&a.initDeadClicksAutocapture&&n(),(r=ce.__PosthogExtensions__)==null||r.loadExternalDependency==null||r.loadExternalDependency(this.instance,"dead-clicks-autocapture",(l=>{l?zl.error("failed to load script",l):n()}))}et(){var n;if(J){if(!this.tt&&(n=ce.__PosthogExtensions__)!=null&&n.initDeadClicksAutocapture){var a=yt(this.instance.config.capture_dead_clicks)?this.instance.config.capture_dead_clicks:{};a.__onCapture=this.onCapture,this.tt=ce.__PosthogExtensions__.initDeadClicksAutocapture(this.instance,a),this.tt.start(J),zl.info("starting...")}}else zl.error("`document` not found. Cannot start.")}stop(){this.tt&&(this.tt.stop(),this.tt=void 0,zl.info("stopping..."))}}var Rr=at("[ExceptionAutocapture]");class YT{constructor(n){var a,r,l;this.rt=()=>{var c;if(U&&this.isEnabled&&(c=ce.__PosthogExtensions__)!=null&&c.errorWrappingFunctions){var f=ce.__PosthogExtensions__.errorWrappingFunctions.wrapOnError,h=ce.__PosthogExtensions__.errorWrappingFunctions.wrapUnhandledRejection,g=ce.__PosthogExtensions__.errorWrappingFunctions.wrapConsoleError;try{!this.st&&this.R.capture_unhandled_errors&&(this.st=f(this.captureException.bind(this))),!this.nt&&this.R.capture_unhandled_rejections&&(this.nt=h(this.captureException.bind(this))),!this.ot&&this.R.capture_console_errors&&(this.ot=g(this.captureException.bind(this)))}catch(m){Rr.error("failed to start",m),this.ut()}}},this._instance=n,this.ht=!((a=this._instance.persistence)==null||!a.props[gy]),this.dt=new UE({refillRate:(r=this._instance.config.error_tracking.__exceptionRateLimiterRefillRate)!==null&&r!==void 0?r:1,bucketSize:(l=this._instance.config.error_tracking.__exceptionRateLimiterBucketSize)!==null&&l!==void 0?l:10,refillInterval:1e4,h:Rr}),this.R=this.vt(),this.startIfEnabledOrStop()}vt(){var n=this._instance.config.capture_exceptions,a={capture_unhandled_errors:!1,capture_unhandled_rejections:!1,capture_console_errors:!1};return yt(n)?a=ee({},a,n):(X(n)?this.ht:n)&&(a=ee({},a,{capture_unhandled_errors:!0,capture_unhandled_rejections:!0})),a}get isEnabled(){return this.R.capture_console_errors||this.R.capture_unhandled_errors||this.R.capture_unhandled_rejections}startIfEnabledOrStop(){this.isEnabled?(Rr.info("enabled"),this.ut(),this.it(this.rt)):this.ut()}it(n){var a,r;(a=ce.__PosthogExtensions__)!=null&&a.errorWrappingFunctions&&n(),(r=ce.__PosthogExtensions__)==null||r.loadExternalDependency==null||r.loadExternalDependency(this._instance,"exception-autocapture",(l=>{if(l)return Rr.error("failed to load script",l);n()}))}ut(){var n,a,r;(n=this.st)==null||n.call(this),this.st=void 0,(a=this.nt)==null||a.call(this),this.nt=void 0,(r=this.ot)==null||r.call(this),this.ot=void 0}onRemoteConfig(n){var a=n.autocaptureExceptions;this.ht=!!a||!1,this._instance.persistence&&this._instance.persistence.register({[gy]:this.ht}),this.R=this.vt(),this.startIfEnabledOrStop()}onConfigChange(){this.R=this.vt()}captureException(n){var a,r,l=(a=n==null||(r=n.$exception_list)==null||(r=r[0])==null?void 0:r.type)!==null&&a!==void 0?a:"Exception";this.dt.consumeRateLimit(l)?Rr.info("Skipping exception capture because of client rate limiting.",{exception:l}):this._instance.exceptions.sendExceptionEvent(n)}}function Ny(s,n,a){try{if(!(n in s))return()=>{};var r=s[n],l=a(r);return Ka(l)&&(l.prototype=l.prototype||{},Object.defineProperties(l,{__posthog_wrapped__:{enumerable:!1,value:!0}})),s[n]=l,()=>{s[n]=r}}catch{return()=>{}}}class KT{constructor(n){var a;this._instance=n,this.ct=(U==null||(a=U.location)==null?void 0:a.pathname)||""}get isEnabled(){return this._instance.config.capture_pageview==="history_change"}startIfEnabled(){this.isEnabled&&(W.info("History API monitoring enabled, starting..."),this.monitorHistoryChanges())}stop(){this.ft&&this.ft(),this.ft=void 0,W.info("History API monitoring stopped")}monitorHistoryChanges(){var n,a;if(U&&U.history){var r=this;(n=U.history.pushState)!=null&&n.__posthog_wrapped__||Ny(U.history,"pushState",(l=>function(c,f,h){l.call(this,c,f,h),r._t("pushState")})),(a=U.history.replaceState)!=null&&a.__posthog_wrapped__||Ny(U.history,"replaceState",(l=>function(c,f,h){l.call(this,c,f,h),r._t("replaceState")})),this.yt()}}_t(n){try{var a,r=U==null||(a=U.location)==null?void 0:a.pathname;if(!r)return;r!==this.ct&&this.isEnabled&&this._instance.capture("$pageview",{navigation_type:n}),this.ct=r}catch(l){W.error("Error capturing "+n+" pageview",l)}}yt(){if(!this.ft){var n=()=>{this._t("popstate")};dt(U,"popstate",n),this.ft=()=>{U&&U.removeEventListener("popstate",n)}}}}var ef=at("[SegmentIntegration]");function XT(s,n){var a=s.config.segment;if(!a)return n();(function(r,l){var c=r.config.segment;if(!c)return l();var f=g=>{var m=()=>g.anonymousId()||Ya();r.config.get_device_id=m,g.id()&&(r.register({distinct_id:g.id(),$device_id:m()}),r.persistence.set_property(la,"identified")),l()},h=c.user();"then"in h&&Ka(h.then)?h.then(f):f(h)})(s,(()=>{a.register((r=>{Promise&&Promise.resolve||ef.warn("This browser does not have Promise support, and can not use the segment integration");var l=(c,f)=>{if(!f)return c;c.event.userId||c.event.anonymousId===r.get_distinct_id()||(ef.info("No userId set, resetting PostHog"),r.reset()),c.event.userId&&c.event.userId!==r.get_distinct_id()&&(ef.info("UserId set, identifying with PostHog"),r.identify(c.event.userId));var h=r.calculateEventProperties(f,c.event.properties);return c.event.properties=Object.assign({},h,c.event.properties),c};return{name:"PostHog JS",type:"enrichment",version:"1.0.0",isLoaded:()=>!0,load:()=>Promise.resolve(),track:c=>l(c,c.event.event),page:c=>l(c,"$pageview"),identify:c=>l(c,"$identify"),screen:c=>l(c,"$screen")}})(s)).then((()=>{n()}))}))}var u_="posthog-js";function d_(s,n){var{organization:a,projectId:r,prefix:l,severityAllowList:c=["error"],sendExceptionsToPostHog:f=!0}=n===void 0?{}:n;return h=>{var g,m,y,b,x;if(!(c==="*"||c.includes(h.level))||!s.__loaded)return h;h.tags||(h.tags={});var C=s.requestRouter.endpointFor("ui","/project/"+s.config.token+"/person/"+s.get_distinct_id());h.tags["PostHog Person URL"]=C,s.sessionRecordingStarted()&&(h.tags["PostHog Recording URL"]=s.get_session_replay_url({withTimestamp:!0}));var T=((g=h.exception)==null?void 0:g.values)||[],k=T.map((M=>ee({},M,{stacktrace:M.stacktrace?ee({},M.stacktrace,{type:"raw",frames:(M.stacktrace.frames||[]).map((j=>ee({},j,{platform:"web:javascript"})))}):void 0}))),A={$exception_message:((m=T[0])==null?void 0:m.value)||h.message,$exception_type:(y=T[0])==null?void 0:y.type,$exception_level:h.level,$exception_list:k,$sentry_event_id:h.event_id,$sentry_exception:h.exception,$sentry_exception_message:((b=T[0])==null?void 0:b.value)||h.message,$sentry_exception_type:(x=T[0])==null?void 0:x.type,$sentry_tags:h.tags};return a&&r&&(A.$sentry_url=(l||"https://sentry.io/organizations/")+a+"/issues/?project="+r+"&query="+h.event_id),f&&s.exceptions.sendExceptionEvent(A),h}}class QT{constructor(n,a,r,l,c,f){this.name=u_,this.setupOnce=function(h){h(d_(n,{organization:a,projectId:r,prefix:l,severityAllowList:c,sendExceptionsToPostHog:f==null||f}))}}}var ZT=U!=null&&U.location?oc(U.location.hash,"__posthog")||oc(location.hash,"state"):null,My="_postHogToolbarParams",jy=at("[Toolbar]"),Ga=(function(s){return s[s.UNINITIALIZED=0]="UNINITIALIZED",s[s.LOADING=1]="LOADING",s[s.LOADED=2]="LOADED",s})(Ga||{});class WT{constructor(n){this.instance=n}bt(n){ce.ph_toolbar_state=n}wt(){var n;return(n=ce.ph_toolbar_state)!==null&&n!==void 0?n:Ga.UNINITIALIZED}maybeLoadToolbar(n,a,r){if(n===void 0&&(n=void 0),a===void 0&&(a=void 0),r===void 0&&(r=void 0),!U||!J)return!1;n=n??U.location,r=r??U.history;try{if(!a){try{U.localStorage.setItem("test","test"),U.localStorage.removeItem("test")}catch{return!1}a=U?.localStorage}var l,c=ZT||oc(n.hash,"__posthog")||oc(n.hash,"state"),f=c?py((()=>JSON.parse(atob(decodeURIComponent(c)))))||py((()=>JSON.parse(decodeURIComponent(c)))):null;return f&&f.action==="ph_authorize"?((l=f).source="url",l&&Object.keys(l).length>0&&(f.desiredHash?n.hash=f.desiredHash:r?r.replaceState(r.state,"",n.pathname+n.search):n.hash="")):((l=JSON.parse(a.getItem(My)||"{}")).source="localstorage",delete l.userIntent),!(!l.token||this.instance.config.token!==l.token)&&(this.loadToolbar(l),!0)}catch{return!1}}xt(n){var a=ce.ph_load_toolbar||ce.ph_load_editor;!Re(a)&&Ka(a)?a(n,this.instance):jy.warn("No toolbar load function found")}loadToolbar(n){var a=!(J==null||!J.getElementById(K0));if(!U||a)return!1;var r=this.instance.requestRouter.region==="custom"&&this.instance.config.advanced_disable_toolbar_metrics,l=ee({token:this.instance.config.token},n,{apiURL:this.instance.requestRouter.endpointFor("ui")},r?{instrument:!1}:{});if(U.localStorage.setItem(My,JSON.stringify(ee({},l,{source:void 0}))),this.wt()===Ga.LOADED)this.xt(l);else if(this.wt()===Ga.UNINITIALIZED){var c;this.bt(Ga.LOADING),(c=ce.__PosthogExtensions__)==null||c.loadExternalDependency==null||c.loadExternalDependency(this.instance,"toolbar",(f=>{if(f)return jy.error("[Toolbar] Failed to load",f),void this.bt(Ga.UNINITIALIZED);this.bt(Ga.LOADED),this.xt(l)})),dt(U,"turbolinks:load",(()=>{this.bt(Ga.UNINITIALIZED),this.loadToolbar(l)}))}return!0}Et(n){return this.loadToolbar(n)}maybeLoadEditor(n,a,r){return n===void 0&&(n=void 0),a===void 0&&(a=void 0),r===void 0&&(r=void 0),this.maybeLoadToolbar(n,a,r)}}var JT=at("[TracingHeaders]");class e1{constructor(n){this.$t=void 0,this.St=void 0,this.rt=()=>{var a,r;X(this.$t)&&((a=ce.__PosthogExtensions__)==null||(a=a.tracingHeadersPatchFns)==null||a._patchXHR(this._instance.config.__add_tracing_headers||[],this._instance.get_distinct_id(),this._instance.sessionManager)),X(this.St)&&((r=ce.__PosthogExtensions__)==null||(r=r.tracingHeadersPatchFns)==null||r._patchFetch(this._instance.config.__add_tracing_headers||[],this._instance.get_distinct_id(),this._instance.sessionManager))},this._instance=n}it(n){var a,r;(a=ce.__PosthogExtensions__)!=null&&a.tracingHeadersPatchFns&&n(),(r=ce.__PosthogExtensions__)==null||r.loadExternalDependency==null||r.loadExternalDependency(this._instance,"tracing-headers",(l=>{if(l)return JT.error("failed to load script",l);n()}))}startIfEnabledOrStop(){var n,a;this._instance.config.__add_tracing_headers?this.it(this.rt):((n=this.$t)==null||n.call(this),(a=this.St)==null||a.call(this),this.$t=void 0,this.St=void 0)}}var Ul="https?://(.*)",Ps=["gclid","gclsrc","dclid","gbraid","wbraid","fbclid","msclkid","twclid","li_fat_id","igshid","ttclid","rdt_cid","epik","qclid","sccid","irclid","_kx"],t1=Ds(["utm_source","utm_medium","utm_campaign","utm_content","utm_term","gad_source","mc_cid"],Ps),ho="<masked>",n1=["li_fat_id"];function f_(s,n,a){if(!J)return{};var r,l=n?Ds([],Ps,a||[]):[],c=h_(fo(J.URL,l,ho),s),f=(r={},Ve(n1,(function(h){var g=On.q(h);r[h]=g||null})),r);return rt(f,c)}function h_(s,n){var a=t1.concat(n||[]),r={};return Ve(a,(function(l){var c=rc(s,l);r[l]=c||null})),r}function p_(s){var n=(function(c){return c?c.search(Ul+"google.([^/?]*)")===0?"google":c.search(Ul+"bing.com")===0?"bing":c.search(Ul+"yahoo.com")===0?"yahoo":c.search(Ul+"duckduckgo.com")===0?"duckduckgo":null:null})(s),a=n!="yahoo"?"q":"p",r={};if(!Mn(n)){r.$search_engine=n;var l=J?rc(J.referrer,a):"";l.length&&(r.ph_keyword=l)}return r}function Ry(){return navigator.language||navigator.userLanguage}function m_(){return J?.referrer||"$direct"}function g_(s,n){var a=s?Ds([],Ps,n||[]):[],r=qt?.href.substring(0,1e3);return{r:m_().substring(0,1e3),u:r?fo(r,a,ho):void 0}}function v_(s){var n,{r:a,u:r}=s,l={$referrer:a,$referring_domain:a==null?void 0:a=="$direct"?"$direct":(n=sc(a))==null?void 0:n.host};if(r){l.$current_url=r;var c=sc(r);l.$host=c?.host,l.$pathname=c?.pathname;var f=h_(r);rt(l,f)}if(a){var h=p_(a);rt(l,h)}return l}function y_(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}}function a1(){try{return new Date().getTimezoneOffset()}catch{return}}function i1(s,n){if(!Ht)return{};var a,r,l,c=s?Ds([],Ps,n||[]):[],[f,h]=(function(g){for(var m=0;m<cy.length;m++){var[y,b]=cy[m],x=y.exec(g),C=x&&(Ka(b)?b(x,g):b);if(C)return C}return["",""]})(Ht);return rt(bh({$os:f,$os_version:h,$browser:I0(Ht,navigator.vendor),$device:uy(Ht),$device_type:(r=Ht,l=uy(r),l===A0||l===k0||l==="Kobo"||l==="Kindle Fire"||l===U0?Jr:l===to||l===ws||l===no||l===Df?"Console":l===T0?"Wearable":l?yn:"Desktop"),$timezone:y_(),$timezone_offset:a1()}),{$current_url:fo(qt?.href,c,ho),$host:qt?.host,$pathname:qt?.pathname,$raw_user_agent:Ht.length>1e3?Ht.substring(0,997)+"...":Ht,$browser_version:XE(Ht,navigator.vendor),$browser_language:Ry(),$browser_language_prefix:(a=Ry(),typeof a=="string"?a.split("-")[0]:void 0),$screen_height:U?.screen.height,$screen_width:U?.screen.width,$viewport_height:U?.innerHeight,$viewport_width:U?.innerWidth,$lib:"web",$lib_version:oa.LIB_VERSION,$insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),$time:Date.now()/1e3})}var $a=at("[Web Vitals]"),Dy=9e5;class s1{constructor(n){var a;this.kt=!1,this.P=!1,this.N={url:void 0,metrics:[],firstMetricTimestamp:void 0},this.Pt=()=>{clearTimeout(this.Tt),this.N.metrics.length!==0&&(this._instance.capture("$web_vitals",this.N.metrics.reduce(((r,l)=>ee({},r,{["$web_vitals_"+l.name+"_event"]:ee({},l),["$web_vitals_"+l.name+"_value"]:l.value})),{})),this.N={url:void 0,metrics:[],firstMetricTimestamp:void 0})},this.It=r=>{var l,c=(l=this._instance.sessionManager)==null?void 0:l.checkAndGetSessionAndWindowId(!0);if(X(c))$a.error("Could not read session ID. Dropping metrics!");else{this.N=this.N||{url:void 0,metrics:[],firstMetricTimestamp:void 0};var f=this.Ct();X(f)||(Re(r?.name)||Re(r?.value)?$a.error("Invalid metric received",r):this.Rt&&r.value>=this.Rt?$a.error("Ignoring metric with value >= "+this.Rt,r):(this.N.url!==f&&(this.Pt(),this.Tt=setTimeout(this.Pt,this.flushToCaptureTimeoutMs)),X(this.N.url)&&(this.N.url=f),this.N.firstMetricTimestamp=X(this.N.firstMetricTimestamp)?Date.now():this.N.firstMetricTimestamp,r.attribution&&r.attribution.interactionTargetElement&&(r.attribution.interactionTargetElement=void 0),this.N.metrics.push(ee({},r,{$current_url:f,$session_id:c.sessionId,$window_id:c.windowId,timestamp:Date.now()})),this.N.metrics.length===this.allowedMetrics.length&&this.Pt()))}},this.rt=()=>{var r,l,c,f,h=ce.__PosthogExtensions__;X(h)||X(h.postHogWebVitalsCallbacks)||({onLCP:r,onCLS:l,onFCP:c,onINP:f}=h.postHogWebVitalsCallbacks),r&&l&&c&&f?(this.allowedMetrics.indexOf("LCP")>-1&&r(this.It.bind(this)),this.allowedMetrics.indexOf("CLS")>-1&&l(this.It.bind(this)),this.allowedMetrics.indexOf("FCP")>-1&&c(this.It.bind(this)),this.allowedMetrics.indexOf("INP")>-1&&f(this.It.bind(this)),this.P=!0):$a.error("web vitals callbacks not loaded - not starting")},this._instance=n,this.kt=!((a=this._instance.persistence)==null||!a.props[yy]),this.startIfEnabled()}get allowedMetrics(){var n,a,r=yt(this._instance.config.capture_performance)?(n=this._instance.config.capture_performance)==null?void 0:n.web_vitals_allowed_metrics:void 0;return X(r)?((a=this._instance.persistence)==null?void 0:a.props[_y])||["CLS","FCP","INP","LCP"]:r}get flushToCaptureTimeoutMs(){return(yt(this._instance.config.capture_performance)?this._instance.config.capture_performance.web_vitals_delayed_flush_ms:void 0)||5e3}get Rt(){var n=yt(this._instance.config.capture_performance)&&ma(this._instance.config.capture_performance.__web_vitals_max_value)?this._instance.config.capture_performance.__web_vitals_max_value:Dy;return 0<n&&n<=6e4?Dy:n}get isEnabled(){var n=qt?.protocol;if(n!=="http:"&&n!=="https:")return $a.info("Web Vitals are disabled on non-http/https protocols"),!1;var a=yt(this._instance.config.capture_performance)?this._instance.config.capture_performance.web_vitals:ha(this._instance.config.capture_performance)?this._instance.config.capture_performance:void 0;return ha(a)?a:this.kt}startIfEnabled(){this.isEnabled&&!this.P&&($a.info("enabled, starting..."),this.it(this.rt))}onRemoteConfig(n){var a=yt(n.capturePerformance)&&!!n.capturePerformance.web_vitals,r=yt(n.capturePerformance)?n.capturePerformance.web_vitals_allowed_metrics:void 0;this._instance.persistence&&(this._instance.persistence.register({[yy]:a}),this._instance.persistence.register({[_y]:r})),this.kt=a,this.startIfEnabled()}it(n){var a,r;(a=ce.__PosthogExtensions__)!=null&&a.postHogWebVitalsCallbacks&&n(),(r=ce.__PosthogExtensions__)==null||r.loadExternalDependency==null||r.loadExternalDependency(this._instance,"web-vitals",(l=>{l?$a.error("failed to load script",l):n()}))}Ct(){var n=U?U.location.href:void 0;if(n){var a=this._instance.config.mask_personal_data_properties,r=this._instance.config.custom_personal_data_properties,l=a?Ds([],Ps,r||[]):[];return fo(n,l,ho)}$a.error("Could not determine current URL")}}var r1=at("[Heatmaps]");function Py(s){return yt(s)&&"clientX"in s&&"clientY"in s&&ma(s.clientX)&&ma(s.clientY)}class o1{constructor(n){var a;this.kt=!1,this.P=!1,this.Ft=null,this.instance=n,this.kt=!((a=this.instance.persistence)==null||!a.props[Lf]),this.rageclicks=new o_(n.config.rageclick)}get flushIntervalMilliseconds(){var n=5e3;return yt(this.instance.config.capture_heatmaps)&&this.instance.config.capture_heatmaps.flush_interval_milliseconds&&(n=this.instance.config.capture_heatmaps.flush_interval_milliseconds),n}get isEnabled(){return X(this.instance.config.capture_heatmaps)?X(this.instance.config.enable_heatmaps)?this.kt:this.instance.config.enable_heatmaps:this.instance.config.capture_heatmaps!==!1}startIfEnabled(){if(this.isEnabled){if(this.P)return;r1.info("starting..."),this.Mt(),this.Ot()}else{var n;clearInterval((n=this.Ft)!==null&&n!==void 0?n:void 0),this.At(),this.getAndClearBuffer()}}onRemoteConfig(n){var a=!!n.heatmaps;this.instance.persistence&&this.instance.persistence.register({[Lf]:a}),this.kt=a,this.startIfEnabled()}getAndClearBuffer(){var n=this.N;return this.N=void 0,n}Dt(n){this.jt(n.originalEvent,"deadclick")}Ot(){this.Ft&&clearInterval(this.Ft),this.Ft=(function(n){return n?.visibilityState==="visible"})(J)?setInterval(this.Lt.bind(this),this.flushIntervalMilliseconds):null}Mt(){U&&J&&(this.Nt=this.Lt.bind(this),dt(U,"beforeunload",this.Nt),this.Ut=n=>this.jt(n||U?.event),dt(J,"click",this.Ut,{capture:!0}),this.zt=n=>this.Ht(n||U?.event),dt(J,"mousemove",this.zt,{capture:!0}),this.Bt=new c_(this.instance,VT,this.Dt.bind(this)),this.Bt.startIfEnabled(),this.qt=this.Ot.bind(this),dt(J,"visibilitychange",this.qt),this.P=!0)}At(){var n;U&&J&&(this.Nt&&U.removeEventListener("beforeunload",this.Nt),this.Ut&&J.removeEventListener("click",this.Ut,{capture:!0}),this.zt&&J.removeEventListener("mousemove",this.zt,{capture:!0}),this.qt&&J.removeEventListener("visibilitychange",this.qt),clearTimeout(this.Wt),(n=this.Bt)==null||n.stop(),this.P=!1)}Gt(n,a){var r=this.instance.scrollManager.scrollY(),l=this.instance.scrollManager.scrollX(),c=this.instance.scrollManager.scrollElement(),f=(function(h,g,m){for(var y=h;y&&_c(y)&&!Qa(y,"body");){if(y===m)return!1;if(ke(g,U?.getComputedStyle(y).position))return!0;y=e_(y)}return!1})(W0(n),["fixed","sticky"],c);return{x:n.clientX+(f?0:l),y:n.clientY+(f?0:r),target_fixed:f,type:a}}jt(n,a){var r;if(a===void 0&&(a="click"),!Sy(n.target)&&Py(n)){var l=this.Gt(n,a);(r=this.rageclicks)!=null&&r.isRageClick(n.clientX,n.clientY,new Date().getTime())&&this.Vt(ee({},l,{type:"rageclick"})),this.Vt(l)}}Ht(n){!Sy(n.target)&&Py(n)&&(clearTimeout(this.Wt),this.Wt=setTimeout((()=>{this.Vt(this.Gt(n,"mousemove"))}),500))}Vt(n){if(U){var a=U.location.href,r=this.instance.config.mask_personal_data_properties,l=this.instance.config.custom_personal_data_properties,c=r?Ds([],Ps,l||[]):[],f=fo(a,c,ho);this.N=this.N||{},this.N[f]||(this.N[f]=[]),this.N[f].push(n)}}Lt(){this.N&&!_s(this.N)&&this.instance.capture("$$heatmap",{$heatmap_data:this.getAndClearBuffer()})}}class Oy{constructor(n){this.Jt=(a,r,l)=>{l&&(l.noSessionId||l.activityTimeout||l.sessionPastMaximumLength)&&(W.info("[PageViewManager] Session rotated, clearing pageview state",{sessionId:a,changeReason:l}),this.Kt=void 0,this._instance.scrollManager.resetContext())},this._instance=n,this.Yt()}Yt(){var n;this.Xt=(n=this._instance.sessionManager)==null?void 0:n.onSessionId(this.Jt)}destroy(){var n;(n=this.Xt)==null||n.call(this),this.Xt=void 0}doPageView(n,a){var r,l=this.Qt(n,a);return this.Kt={pathname:(r=U?.location.pathname)!==null&&r!==void 0?r:"",pageViewId:a,timestamp:n},this._instance.scrollManager.resetContext(),l}doPageLeave(n){var a;return this.Qt(n,(a=this.Kt)==null?void 0:a.pageViewId)}doEvent(){var n;return{$pageview_id:(n=this.Kt)==null?void 0:n.pageViewId}}Qt(n,a){var r=this.Kt;if(!r)return{$pageview_id:a};var l={$pageview_id:a,$prev_pageview_id:r.pageViewId},c=this._instance.scrollManager.getContext();if(c&&!this._instance.config.disable_scroll_properties){var{maxScrollHeight:f,lastScrollY:h,maxScrollY:g,maxContentHeight:m,lastContentY:y,maxContentY:b}=c;if(!(X(f)||X(h)||X(g)||X(m)||X(y)||X(b))){f=Math.ceil(f),h=Math.ceil(h),g=Math.ceil(g),m=Math.ceil(m),y=Math.ceil(y),b=Math.ceil(b);var x=f<=1?1:Ln(h/f,0,1,W),C=f<=1?1:Ln(g/f,0,1,W),T=m<=1?1:Ln(y/m,0,1,W),k=m<=1?1:Ln(b/m,0,1,W);l=rt(l,{$prev_pageview_last_scroll:h,$prev_pageview_last_scroll_percentage:x,$prev_pageview_max_scroll:g,$prev_pageview_max_scroll_percentage:C,$prev_pageview_last_content:y,$prev_pageview_last_content_percentage:T,$prev_pageview_max_content:b,$prev_pageview_max_content_percentage:k})}}return r.pathname&&(l.$prev_pageview_pathname=r.pathname),r.timestamp&&(l.$prev_pageview_duration=(n.getTime()-r.timestamp.getTime())/1e3),l}}var ua=(function(s){return s.GZipJS="gzip-js",s.Base64="base64",s})({}),bn=Uint8Array,Bt=Uint16Array,As=Uint32Array,wh=new bn([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Ch=new bn([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Ly=new bn([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),b_=function(s,n){for(var a=new Bt(31),r=0;r<31;++r)a[r]=n+=1<<s[r-1];var l=new As(a[30]);for(r=1;r<30;++r)for(var c=a[r];c<a[r+1];++c)l[c]=c-a[r]<<5|r;return[a,l]},__=b_(wh,2),l1=__[0],Vf=__[1];l1[28]=258,Vf[258]=28;for(var Fy=b_(Ch,0)[1],S_=new Bt(32768),Xe=0;Xe<32768;++Xe){var _i=(43690&Xe)>>>1|(21845&Xe)<<1;_i=(61680&(_i=(52428&_i)>>>2|(13107&_i)<<2))>>>4|(3855&_i)<<4,S_[Xe]=((65280&_i)>>>8|(255&_i)<<8)>>>1}var Kr=function(s,n,a){for(var r=s.length,l=0,c=new Bt(n);l<r;++l)++c[s[l]-1];var f,h=new Bt(n);for(l=0;l<n;++l)h[l]=h[l-1]+c[l-1]<<1;for(f=new Bt(r),l=0;l<r;++l)f[l]=S_[h[s[l]-1]++]>>>15-s[l];return f},Ai=new bn(288);for(Xe=0;Xe<144;++Xe)Ai[Xe]=8;for(Xe=144;Xe<256;++Xe)Ai[Xe]=9;for(Xe=256;Xe<280;++Xe)Ai[Xe]=7;for(Xe=280;Xe<288;++Xe)Ai[Xe]=8;var cc=new bn(32);for(Xe=0;Xe<32;++Xe)cc[Xe]=5;var c1=Kr(Ai,9),u1=Kr(cc,5),x_=function(s){return(s/8>>0)+(7&s&&1)},w_=function(s,n,a){(a==null||a>s.length)&&(a=s.length);var r=new(s instanceof Bt?Bt:s instanceof As?As:bn)(a-n);return r.set(s.subarray(n,a)),r},sa=function(s,n,a){a<<=7&n;var r=n/8>>0;s[r]|=a,s[r+1]|=a>>>8},Dr=function(s,n,a){a<<=7&n;var r=n/8>>0;s[r]|=a,s[r+1]|=a>>>8,s[r+2]|=a>>>16},tf=function(s,n){for(var a=[],r=0;r<s.length;++r)s[r]&&a.push({s:r,f:s[r]});var l=a.length,c=a.slice();if(!l)return[new bn(0),0];if(l==1){var f=new bn(a[0].s+1);return f[a[0].s]=1,[f,1]}a.sort((function(B,V){return B.f-V.f})),a.push({s:-1,f:25001});var h=a[0],g=a[1],m=0,y=1,b=2;for(a[0]={s:-1,f:h.f+g.f,l:h,r:g};y!=l-1;)h=a[a[m].f<a[b].f?m++:b++],g=a[m!=y&&a[m].f<a[b].f?m++:b++],a[y++]={s:-1,f:h.f+g.f,l:h,r:g};var x=c[0].s;for(r=1;r<l;++r)c[r].s>x&&(x=c[r].s);var C=new Bt(x+1),T=Gf(a[y-1],C,0);if(T>n){r=0;var k=0,A=T-n,M=1<<A;for(c.sort((function(B,V){return C[V.s]-C[B.s]||B.f-V.f}));r<l;++r){var j=c[r].s;if(!(C[j]>n))break;k+=M-(1<<T-C[j]),C[j]=n}for(k>>>=A;k>0;){var D=c[r].s;C[D]<n?k-=1<<n-C[D]++-1:++r}for(;r>=0&&k;--r){var q=c[r].s;C[q]==n&&(--C[q],++k)}T=n}return[new bn(C),T]},Gf=function(s,n,a){return s.s==-1?Math.max(Gf(s.l,n,a+1),Gf(s.r,n,a+1)):n[s.s]=a},zy=function(s){for(var n=s.length;n&&!s[--n];);for(var a=new Bt(++n),r=0,l=s[0],c=1,f=function(g){a[r++]=g},h=1;h<=n;++h)if(s[h]==l&&h!=n)++c;else{if(!l&&c>2){for(;c>138;c-=138)f(32754);c>2&&(f(c>10?c-11<<5|28690:c-3<<5|12305),c=0)}else if(c>3){for(f(l),--c;c>6;c-=6)f(8304);c>2&&(f(c-3<<5|8208),c=0)}for(;c--;)f(l);c=1,l=s[h]}return[a.subarray(0,r),n]},Pr=function(s,n){for(var a=0,r=0;r<n.length;++r)a+=s[r]*n[r];return a},Yf=function(s,n,a){var r=a.length,l=x_(n+2);s[l]=255&r,s[l+1]=r>>>8,s[l+2]=255^s[l],s[l+3]=255^s[l+1];for(var c=0;c<r;++c)s[l+c+4]=a[c];return 8*(l+4+r)},Uy=function(s,n,a,r,l,c,f,h,g,m,y){sa(n,y++,a),++l[256];for(var b=tf(l,15),x=b[0],C=b[1],T=tf(c,15),k=T[0],A=T[1],M=zy(x),j=M[0],D=M[1],q=zy(k),B=q[0],V=q[1],I=new Bt(19),L=0;L<j.length;++L)I[31&j[L]]++;for(L=0;L<B.length;++L)I[31&B[L]]++;for(var Z=tf(I,7),re=Z[0],Se=Z[1],ge=19;ge>4&&!re[Ly[ge-1]];--ge);var De,oe,ye,F,K=m+5<<3,Y=Pr(l,Ai)+Pr(c,cc)+f,he=Pr(l,x)+Pr(c,k)+f+14+3*ge+Pr(I,re)+(2*I[16]+3*I[17]+7*I[18]);if(K<=Y&&K<=he)return Yf(n,y,s.subarray(g,g+m));if(sa(n,y,1+(he<Y)),y+=2,he<Y){De=Kr(x,C),oe=x,ye=Kr(k,A),F=k;var pe=Kr(re,Se);for(sa(n,y,D-257),sa(n,y+5,V-1),sa(n,y+10,ge-4),y+=14,L=0;L<ge;++L)sa(n,y+3*L,re[Ly[L]]);y+=3*ge;for(var Pe=[j,B],fe=0;fe<2;++fe){var te=Pe[fe];for(L=0;L<te.length;++L){var ue=31&te[L];sa(n,y,pe[ue]),y+=re[ue],ue>15&&(sa(n,y,te[L]>>>5&127),y+=te[L]>>>12)}}}else De=c1,oe=Ai,ye=u1,F=cc;for(L=0;L<h;++L)if(r[L]>255){ue=r[L]>>>18&31,Dr(n,y,De[ue+257]),y+=oe[ue+257],ue>7&&(sa(n,y,r[L]>>>23&31),y+=wh[ue]);var Qe=31&r[L];Dr(n,y,ye[Qe]),y+=F[Qe],Qe>3&&(Dr(n,y,r[L]>>>5&8191),y+=Ch[Qe])}else Dr(n,y,De[r[L]]),y+=oe[r[L]];return Dr(n,y,De[256]),y+oe[256]},d1=new As([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),f1=(function(){for(var s=new As(256),n=0;n<256;++n){for(var a=n,r=9;--r;)a=(1&a&&3988292384)^a>>>1;s[n]=a}return s})(),h1=function(s,n,a,r,l){return(function(c,f,h,g,m,y){var b=c.length,x=new bn(g+b+5*(1+Math.floor(b/7e3))+m),C=x.subarray(g,x.length-m),T=0;if(!f||b<8)for(var k=0;k<=b;k+=65535){var A=k+65535;A<b?T=Yf(C,T,c.subarray(k,A)):(C[k]=y,T=Yf(C,T,c.subarray(k,b)))}else{for(var M=d1[f-1],j=M>>>13,D=8191&M,q=(1<<h)-1,B=new Bt(32768),V=new Bt(q+1),I=Math.ceil(h/3),L=2*I,Z=function(xe){return(c[xe]^c[xe+1]<<I^c[xe+2]<<L)&q},re=new As(25e3),Se=new Bt(288),ge=new Bt(32),De=0,oe=0,ye=(k=0,0),F=0,K=0;k<b;++k){var Y=Z(k),he=32767&k,pe=V[Y];if(B[he]=pe,V[Y]=he,F<=k){var Pe=b-k;if((De>7e3||ye>24576)&&Pe>423){T=Uy(c,C,0,re,Se,ge,oe,ye,K,k-K,T),ye=De=oe=0,K=k;for(var fe=0;fe<286;++fe)Se[fe]=0;for(fe=0;fe<30;++fe)ge[fe]=0}var te=2,ue=0,Qe=D,et=he-pe&32767;if(Pe>2&&Y==Z(k-et))for(var qe=Math.min(j,Pe)-1,xn=Math.min(32767,k),Nt=Math.min(258,Pe);et<=xn&&--Qe&&he!=pe;){if(c[k+te]==c[k+te-et]){for(var ft=0;ft<Nt&&c[k+ft]==c[k+ft-et];++ft);if(ft>te){if(te=ft,ue=et,ft>qe)break;var sn=Math.min(et,ft-2),$t=0;for(fe=0;fe<sn;++fe){var ga=k-et+fe+32768&32767,rn=ga-B[ga]+32768&32767;rn>$t&&($t=rn,pe=ga)}}}et+=(he=pe)-(pe=B[he])+32768&32767}if(ue){re[ye++]=268435456|Vf[te]<<18|Fy[ue];var Q=31&Vf[te],be=31&Fy[ue];oe+=wh[Q]+Ch[be],++Se[257+Q],++ge[be],F=k+te,++De}else re[ye++]=c[k],++Se[c[k]]}}T=Uy(c,C,y,re,Se,ge,oe,ye,K,k-K,T)}return w_(x,0,g+x_(T)+m)})(s,n.level==null?6:n.level,n.mem==null?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(s.length)))):12+n.mem,a,r,!0)},nf=function(s,n,a){for(;a;++n)s[n]=a,a>>>=8};function p1(s,n){n===void 0&&(n={});var a=(function(){var h=4294967295;return{p:function(g){for(var m=h,y=0;y<g.length;++y)m=f1[255&m^g[y]]^m>>>8;h=m},d:function(){return 4294967295^h}}})(),r=s.length;a.p(s);var l,c=h1(s,n,10+((l=n).filename&&l.filename.length+1||0),8),f=c.length;return(function(h,g){var m=g.filename;if(h[0]=31,h[1]=139,h[2]=8,h[8]=g.level<2?4:g.level==9?2:0,h[9]=3,g.mtime!=0&&nf(h,4,Math.floor(new Date(g.mtime||Date.now())/1e3)),m){h[3]=8;for(var y=0;y<=m.length;++y)h[y+10]=m.charCodeAt(y)}})(c,n),nf(c,f-8,a.d()),nf(c,f-4,r),c}var m1=function(s){var n,a,r,l,c="";for(n=a=0,r=(s=(s+"").replace(/\r\n/g,`
83
+ pnpm run dev:backend`,A=async()=>{try{await navigator.clipboard.writeText(k),E(!0),setTimeout(()=>E(!1),2e3)}catch(D){console.error("Failed to copy:",D)}},M=async()=>{if(h){y(!0),x(null);try{const D=`${h}/api/health`,q=await fetch(D,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(5e3)});x(q.ok?"success":"error")}catch{x("error")}finally{y(!1)}}},j=async()=>{if(!c.trim()||!h.trim())return;await n(c.trim(),h.trim())&&(f(""),g(""),x(null))};return p.jsxs("div",{className:"space-y-6",children:[a&&p.jsxs("button",{onClick:a,className:"flex items-center space-x-2 text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-200 transition-colors",children:[p.jsx(Qw,{className:"w-4 h-4"}),p.jsx("span",{children:l("backend.actions.back")})]}),r&&p.jsx("div",{className:"bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg p-4",children:p.jsxs("div",{className:"flex items-start space-x-3",children:[p.jsx(Zw,{className:"w-5 h-5 text-yellow-600 dark:text-yellow-400 mt-0.5 flex-shrink-0"}),p.jsxs("div",{children:[p.jsx("h4",{className:"font-medium text-yellow-900 dark:text-yellow-200 mb-1",children:l("backend.notFound.title")}),p.jsx("p",{className:"text-sm text-yellow-800 dark:text-yellow-300",children:l("backend.notFound.description")})]})]})}),p.jsxs("div",{children:[p.jsx("h4",{className:"font-medium text-gray-900 dark:text-white mb-2",children:l("backend.addService.title")}),p.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:l("backend.addService.description")})]}),p.jsxs("div",{className:"space-y-3",children:[p.jsxs("div",{children:[p.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:l("backend.addService.serviceName")}),p.jsx("input",{type:"text",value:c,onChange:D=>f(D.target.value),placeholder:l("backend.addService.serviceNamePlaceholder"),className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-800 dark:text-white"})]}),p.jsxs("div",{children:[p.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:l("backend.addService.serviceUrl")}),p.jsx("input",{type:"url",value:h,onChange:D=>g(D.target.value),placeholder:"https://api.example.com",className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-800 dark:text-white"})]})]}),p.jsxs("div",{className:"flex space-x-3",children:[p.jsx("button",{onClick:M,disabled:!h||m,className:"flex-1 flex items-center justify-center space-x-2 px-4 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:m?p.jsxs(p.Fragment,{children:[p.jsx(ub,{className:"w-4 h-4 animate-spin"}),p.jsx("span",{children:l("backend.addService.testing")})]}):b==="success"?p.jsxs(p.Fragment,{children:[p.jsx(Tn,{className:"w-4 h-4 text-green-500"}),p.jsx("span",{children:l("backend.addService.success")})]}):b==="error"?p.jsxs(p.Fragment,{children:[p.jsx(Ql,{className:"w-4 h-4 text-red-500"}),p.jsx("span",{children:l("backend.addService.failed")})]}):p.jsxs(p.Fragment,{children:[p.jsx(mf,{className:"w-4 h-4"}),p.jsx("span",{children:l("backend.addService.testConnection")})]})}),p.jsx("button",{onClick:j,disabled:!c||!h||b!=="success",className:"flex-1 px-4 py-2.5 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors disabled:bg-gray-400 disabled:cursor-not-allowed",children:l("backend.addService.addButton")})]}),p.jsxs("div",{className:"bg-gray-50 dark:bg-gray-800/50 border border-gray-200 dark:border-gray-700 rounded-lg p-4 space-y-3",children:[p.jsxs("div",{className:"flex items-center space-x-2",children:[p.jsx(db,{className:"w-4 h-4 text-blue-600 dark:text-blue-400"}),p.jsx("h5",{className:"font-medium text-gray-900 dark:text-white text-sm",children:l("backend.addService.installGuide.title")})]}),p.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:l("backend.addService.installGuide.description")}),p.jsxs("div",{className:"bg-gray-900 dark:bg-gray-950 rounded-lg p-3 relative",children:[p.jsx("pre",{className:"text-xs text-green-400 font-mono whitespace-pre-wrap",children:k}),p.jsx("button",{onClick:A,className:"absolute top-2 right-2 p-1.5 bg-gray-800 hover:bg-gray-700 rounded text-gray-400 hover:text-white transition-colors",title:l("backend.addService.installGuide.copyCommands"),children:C?p.jsx(Tn,{className:"w-3.5 h-3.5 text-green-400"}):p.jsx(jv,{className:"w-3.5 h-3.5"})})]}),p.jsxs("div",{className:"flex space-x-2",children:[p.jsxs("button",{onClick:A,className:"flex-1 flex items-center justify-center space-x-1.5 px-3 py-1.5 border border-gray-300 dark:border-gray-600 rounded text-xs text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",children:[p.jsx(jv,{className:"w-3.5 h-3.5"}),p.jsx("span",{children:l("backend.addService.installGuide.copyCommands")})]}),p.jsxs("a",{href:"https://github.com/okguitar/agentstudio?tab=readme-ov-file#-quick-start",target:"_blank",rel:"noopener noreferrer",className:"flex-1 flex items-center justify-center space-x-1.5 px-3 py-1.5 border border-gray-300 dark:border-gray-600 rounded text-xs text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",children:[p.jsx(Ww,{className:"w-3.5 h-3.5"}),p.jsx("span",{children:l("backend.addService.installGuide.viewDocs")})]})]})]}),s&&p.jsxs("button",{onClick:s,className:"w-full flex items-center justify-center space-x-2 px-4 py-2.5 border border-gray-300 dark:border-gray-600 rounded-lg text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors",children:[p.jsx(mf,{className:"w-4 h-4"}),p.jsx("span",{children:l("backend.addService.retry")})]})]})},tA=({serviceName:s,serviceUrl:n,onGoToLogin:a,onManageServices:r})=>{const{t:l}=Fn("onboarding");return p.jsxs("div",{className:"text-center space-y-6",children:[p.jsx("div",{className:"flex justify-center",children:p.jsx("div",{className:"p-4 bg-green-100 dark:bg-green-900/30 rounded-full",children:p.jsx(Tn,{className:"w-12 h-12 text-green-600 dark:text-green-400"})})}),p.jsxs("div",{children:[p.jsx("h2",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-2",children:l("backend.complete.title")}),p.jsx("p",{className:"text-gray-600 dark:text-gray-400",children:l("backend.complete.description")})]}),p.jsx("div",{className:"bg-green-50 dark:bg-green-900/20 border border-green-200 dark:border-green-800 rounded-lg p-4 text-left",children:p.jsxs("div",{className:"space-y-2",children:[p.jsxs("div",{children:[p.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400",children:l("backend.complete.serviceName")}),p.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-white",children:s})]}),p.jsxs("div",{children:[p.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400",children:l("backend.complete.serviceUrl")}),p.jsx("p",{className:"text-sm font-mono text-gray-900 dark:text-white",children:n})]})]})}),p.jsxs("div",{className:"bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg p-4 text-left",children:[p.jsx("p",{className:"text-sm font-medium text-blue-900 dark:text-blue-200 mb-2",children:l("backend.complete.nextSteps.title")}),p.jsx("p",{className:"text-sm text-blue-800 dark:text-blue-300",children:l("backend.complete.nextSteps.description")})]}),p.jsxs("div",{className:"space-y-3",children:[p.jsxs("button",{onClick:a,className:"w-full flex items-center justify-center space-x-2 px-4 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors",children:[p.jsx(Jw,{className:"w-4 h-4"}),p.jsx("span",{children:l("backend.complete.goToLogin")})]}),p.jsxs("button",{onClick:r,className:"w-full flex items-center justify-center space-x-2 px-4 py-3 border border-gray-300 dark:border-gray-600 rounded-lg text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors",children:[p.jsx(pc,{className:"w-4 h-4"}),p.jsx("span",{children:l("backend.complete.manageServices")})]})]})]})},nA=({onComplete:s})=>{const{t:n}=Fn("onboarding"),a=oo(),{services:r,addService:l,switchService:c}=co(),[f,h]=S.useState("welcome"),[g,m]=S.useState(null),[y,b]=S.useState(!1);S.useEffect(()=>{f==="detecting"&&x()},[f]);const x=async()=>{const L=window.location.port,re=L&&!["3000","5173","5174","8080"].includes(L)?L:"4936",Se=[`http://127.0.0.1:${re}`,`http://localhost:${re}`];for(const ge of Se)try{if((await fetch(`${ge}/api/health`,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(3e3)})).ok){m({name:"Local Development Server",url:ge}),h("found");return}}catch{}h("not-found")},C=()=>{if(!g)return;const L=r.find(Z=>Z.url===g.url);if(L)c(L.id);else{const Z=l({name:g.name,url:g.url});c(Z.id)}$d(!1),h("complete")},E=()=>{h("add-service")},k=()=>{h("detecting")},A=()=>{h("found")},M=async(L,Z)=>{try{const re=l({name:L,url:Z});return c(re.id),m({name:L,url:Z}),$d(!1),h("complete"),!0}catch(re){return console.error("Failed to add remote service:",re),!1}},j=()=>{b(!0)},D=()=>{b(!1)},q=()=>{$d(!0),s()},B=()=>{s()},V=()=>{s(),a("/login")},I=()=>{switch(f){case"welcome":return p.jsx(Wk,{onNext:()=>h("detecting"),onSkip:j});case"detecting":return p.jsx(Jk,{});case"found":return g?p.jsx(eA,{serviceUrl:g.url,onUseService:C,onAddOther:E}):null;case"not-found":return p.jsx(Gv,{onRetry:k,onAddRemote:M,showWarning:!0});case"add-service":return p.jsx(Gv,{onAddRemote:M,onBack:A,showWarning:!1});case"complete":return g?p.jsx(tA,{serviceName:g.name,serviceUrl:g.url,onGoToLogin:B,onManageServices:V}):null;default:return null}};return p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4",children:p.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl shadow-xl border border-gray-200 dark:border-gray-700 p-6 max-w-2xl w-full max-h-[90vh] overflow-y-auto",children:[f==="welcome"&&p.jsx("button",{onClick:j,className:"absolute top-4 right-4 p-2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 transition-colors","aria-label":"Close",children:p.jsx(Za,{className:"w-5 h-5"})}),I()]})}),y&&p.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-60 flex items-center justify-center z-[60] p-4",children:p.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl shadow-xl border border-gray-200 dark:border-gray-700 p-6 max-w-md w-full",children:[p.jsxs("div",{className:"flex items-start space-x-3 mb-4",children:[p.jsx(Zr,{className:"w-6 h-6 text-yellow-600 dark:text-yellow-400 flex-shrink-0 mt-0.5"}),p.jsxs("div",{children:[p.jsx("h3",{className:"text-lg font-bold text-gray-900 dark:text-white mb-2",children:n("backend.skipConfirm.title")}),p.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 mb-3",children:n("backend.skipConfirm.warning")}),p.jsxs("ul",{className:"text-sm text-gray-600 dark:text-gray-400 space-y-1 mb-3 list-disc list-inside",children:[p.jsx("li",{children:n("backend.skipConfirm.consequences.noAi")}),p.jsx("li",{children:n("backend.skipConfirm.consequences.noStorage")}),p.jsx("li",{children:n("backend.skipConfirm.consequences.noFeatures")})]}),p.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 mb-3",children:n("backend.skipConfirm.reconfigure")}),p.jsxs("ul",{className:"text-sm text-gray-600 dark:text-gray-400 space-y-1 list-disc list-inside",children:[p.jsx("li",{children:n("backend.skipConfirm.locations.loginPage")}),p.jsx("li",{children:n("backend.skipConfirm.locations.settingsPage")})]})]})]}),p.jsxs("div",{className:"flex space-x-3",children:[p.jsx("button",{onClick:D,className:"flex-1 px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors",children:n("backend.skipConfirm.back")}),p.jsx("button",{onClick:q,className:"flex-1 px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-lg text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors",children:n("backend.skipConfirm.skip")})]})]})})]})};function It({children:s}){const{isAuthenticated:n,verifyToken:a}=Qk(),{getToken:r}=Jf(),{currentService:l}=co(),c=Nn(),[f,h]=S.useState(!0),[g,m]=S.useState(!1),[y,b]=S.useState(!1),x=S.useRef(null),C=S.useRef(0);S.useEffect(()=>{Zk().completed||(b(!0),h(!1))},[]),S.useEffect(()=>{(async()=>{if(y)return;const A=l?.id||null,M=A?r(A):null;if(!M){m(!1),h(!1);return}if(hf(M)){m(!1),h(!1);return}const j=Date.now(),D=j-300*1e3;if(!(A!==x.current||C.current===0||ql(M)||C.current<D)&&!f){m(!0);return}if(h(!0),x.current=A,C.current=j,n){const B=await a();m(B)}else m(!1);h(!1)})()},[l?.id,y,n]);const E=()=>{b(!1),h(!0)};return y?p.jsx(nA,{onComplete:E}):f?p.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gray-50 dark:bg-gray-900",children:p.jsxs("div",{className:"text-center",children:[p.jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto"}),p.jsx("p",{className:"mt-4 text-gray-600 dark:text-gray-400",children:"Verifying..."})]})}):!n||!g?p.jsx(ZC,{to:"/login",state:{from:c},replace:!0}):p.jsx(p.Fragment,{children:s})}function nn(s,n,{checkForDefaultPrevented:a=!0}={}){return function(l){if(s?.(l),a===!1||!l.defaultPrevented)return n?.(l)}}function Yv(s,n){if(typeof s=="function")return s(n);s!=null&&(s.current=n)}function Mb(...s){return n=>{let a=!1;const r=s.map(l=>{const c=Yv(l,n);return!a&&typeof c=="function"&&(a=!0),c});if(a)return()=>{for(let l=0;l<r.length;l++){const c=r[l];typeof c=="function"?c():Yv(s[l],null)}}}}function Ci(...s){return S.useCallback(Mb(...s),s)}function jb(s,n=[]){let a=[];function r(c,f){const h=S.createContext(f),g=a.length;a=[...a,f];const m=b=>{const{scope:x,children:C,...E}=b,k=x?.[s]?.[g]||h,A=S.useMemo(()=>E,Object.values(E));return p.jsx(k.Provider,{value:A,children:C})};m.displayName=c+"Provider";function y(b,x){const C=x?.[s]?.[g]||h,E=S.useContext(C);if(E)return E;if(f!==void 0)return f;throw new Error(`\`${b}\` must be used within \`${c}\``)}return[m,y]}const l=()=>{const c=a.map(f=>S.createContext(f));return function(h){const g=h?.[s]||c;return S.useMemo(()=>({[`__scope${s}`]:{...h,[s]:g}}),[h,g])}};return l.scopeName=s,[r,aA(l,...n)]}function aA(...s){const n=s[0];if(s.length===1)return n;const a=()=>{const r=s.map(l=>({useScope:l(),scopeName:l.scopeName}));return function(c){const f=r.reduce((h,{useScope:g,scopeName:m})=>{const b=g(c)[`__scope${m}`];return{...h,...b}},{});return S.useMemo(()=>({[`__scope${n.scopeName}`]:f}),[f])}};return a.scopeName=n.scopeName,a}function _f(s){const n=iA(s),a=S.forwardRef((r,l)=>{const{children:c,...f}=r,h=S.Children.toArray(c),g=h.find(rA);if(g){const m=g.props.children,y=h.map(b=>b===g?S.Children.count(m)>1?S.Children.only(null):S.isValidElement(m)?m.props.children:null:b);return p.jsx(n,{...f,ref:l,children:S.isValidElement(m)?S.cloneElement(m,void 0,y):null})}return p.jsx(n,{...f,ref:l,children:c})});return a.displayName=`${s}.Slot`,a}function iA(s){const n=S.forwardRef((a,r)=>{const{children:l,...c}=a;if(S.isValidElement(l)){const f=lA(l),h=oA(c,l.props);return l.type!==S.Fragment&&(h.ref=r?Mb(r,f):f),S.cloneElement(l,h)}return S.Children.count(l)>1?S.Children.only(null):null});return n.displayName=`${s}.SlotClone`,n}var sA=Symbol("radix.slottable");function rA(s){return S.isValidElement(s)&&typeof s.type=="function"&&"__radixId"in s.type&&s.type.__radixId===sA}function oA(s,n){const a={...n};for(const r in n){const l=s[r],c=n[r];/^on[A-Z]/.test(r)?l&&c?a[r]=(...h)=>{const g=c(...h);return l(...h),g}:l&&(a[r]=l):r==="style"?a[r]={...l,...c}:r==="className"&&(a[r]=[l,c].filter(Boolean).join(" "))}return{...s,...a}}function lA(s){let n=Object.getOwnPropertyDescriptor(s.props,"ref")?.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?s.ref:(n=Object.getOwnPropertyDescriptor(s,"ref")?.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?s.props.ref:s.props.ref||s.ref)}function cA(s){const n=s+"CollectionProvider",[a,r]=jb(n),[l,c]=a(n,{collectionRef:{current:null},itemMap:new Map}),f=k=>{const{scope:A,children:M}=k,j=vi.useRef(null),D=vi.useRef(new Map).current;return p.jsx(l,{scope:A,itemMap:D,collectionRef:j,children:M})};f.displayName=n;const h=s+"CollectionSlot",g=_f(h),m=vi.forwardRef((k,A)=>{const{scope:M,children:j}=k,D=c(h,M),q=Ci(A,D.collectionRef);return p.jsx(g,{ref:q,children:j})});m.displayName=h;const y=s+"CollectionItemSlot",b="data-radix-collection-item",x=_f(y),C=vi.forwardRef((k,A)=>{const{scope:M,children:j,...D}=k,q=vi.useRef(null),B=Ci(A,q),V=c(y,M);return vi.useEffect(()=>(V.itemMap.set(q,{ref:q,...D}),()=>void V.itemMap.delete(q))),p.jsx(x,{[b]:"",ref:B,children:j})});C.displayName=y;function E(k){const A=c(s+"CollectionConsumer",k);return vi.useCallback(()=>{const j=A.collectionRef.current;if(!j)return[];const D=Array.from(j.querySelectorAll(`[${b}]`));return Array.from(A.itemMap.values()).sort((V,I)=>D.indexOf(V.ref.current)-D.indexOf(I.ref.current))},[A.collectionRef,A.itemMap])}return[{Provider:f,Slot:m,ItemSlot:C},E,r]}var uA=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],zn=uA.reduce((s,n)=>{const a=_f(`Primitive.${n}`),r=S.forwardRef((l,c)=>{const{asChild:f,...h}=l,g=f?a:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),p.jsx(g,{...h,ref:c})});return r.displayName=`Primitive.${n}`,{...s,[n]:r}},{});function Rb(s,n){s&&lh.flushSync(()=>s.dispatchEvent(n))}function ki(s){const n=S.useRef(s);return S.useEffect(()=>{n.current=s}),S.useMemo(()=>(...a)=>n.current?.(...a),[])}function dA(s,n=globalThis?.document){const a=ki(s);S.useEffect(()=>{const r=l=>{l.key==="Escape"&&a(l)};return n.addEventListener("keydown",r,{capture:!0}),()=>n.removeEventListener("keydown",r,{capture:!0})},[a,n])}var fA="DismissableLayer",Sf="dismissableLayer.update",hA="dismissableLayer.pointerDownOutside",pA="dismissableLayer.focusOutside",Kv,Db=S.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Pb=S.forwardRef((s,n)=>{const{disableOutsidePointerEvents:a=!1,onEscapeKeyDown:r,onPointerDownOutside:l,onFocusOutside:c,onInteractOutside:f,onDismiss:h,...g}=s,m=S.useContext(Db),[y,b]=S.useState(null),x=y?.ownerDocument??globalThis?.document,[,C]=S.useState({}),E=Ci(n,I=>b(I)),k=Array.from(m.layers),[A]=[...m.layersWithOutsidePointerEventsDisabled].slice(-1),M=k.indexOf(A),j=y?k.indexOf(y):-1,D=m.layersWithOutsidePointerEventsDisabled.size>0,q=j>=M,B=gA(I=>{const L=I.target,Z=[...m.branches].some(re=>re.contains(L));!q||Z||(l?.(I),f?.(I),I.defaultPrevented||h?.())},x),V=vA(I=>{const L=I.target;[...m.branches].some(re=>re.contains(L))||(c?.(I),f?.(I),I.defaultPrevented||h?.())},x);return dA(I=>{j===m.layers.size-1&&(r?.(I),!I.defaultPrevented&&h&&(I.preventDefault(),h()))},x),S.useEffect(()=>{if(y)return a&&(m.layersWithOutsidePointerEventsDisabled.size===0&&(Kv=x.body.style.pointerEvents,x.body.style.pointerEvents="none"),m.layersWithOutsidePointerEventsDisabled.add(y)),m.layers.add(y),Xv(),()=>{a&&m.layersWithOutsidePointerEventsDisabled.size===1&&(x.body.style.pointerEvents=Kv)}},[y,x,a,m]),S.useEffect(()=>()=>{y&&(m.layers.delete(y),m.layersWithOutsidePointerEventsDisabled.delete(y),Xv())},[y,m]),S.useEffect(()=>{const I=()=>C({});return document.addEventListener(Sf,I),()=>document.removeEventListener(Sf,I)},[]),p.jsx(zn.div,{...g,ref:E,style:{pointerEvents:D?q?"auto":"none":void 0,...s.style},onFocusCapture:nn(s.onFocusCapture,V.onFocusCapture),onBlurCapture:nn(s.onBlurCapture,V.onBlurCapture),onPointerDownCapture:nn(s.onPointerDownCapture,B.onPointerDownCapture)})});Pb.displayName=fA;var mA="DismissableLayerBranch",Ob=S.forwardRef((s,n)=>{const a=S.useContext(Db),r=S.useRef(null),l=Ci(n,r);return S.useEffect(()=>{const c=r.current;if(c)return a.branches.add(c),()=>{a.branches.delete(c)}},[a.branches]),p.jsx(zn.div,{...s,ref:l})});Ob.displayName=mA;function gA(s,n=globalThis?.document){const a=ki(s),r=S.useRef(!1),l=S.useRef(()=>{});return S.useEffect(()=>{const c=h=>{if(h.target&&!r.current){let g=function(){Lb(hA,a,m,{discrete:!0})};const m={originalEvent:h};h.pointerType==="touch"?(n.removeEventListener("click",l.current),l.current=g,n.addEventListener("click",l.current,{once:!0})):g()}else n.removeEventListener("click",l.current);r.current=!1},f=window.setTimeout(()=>{n.addEventListener("pointerdown",c)},0);return()=>{window.clearTimeout(f),n.removeEventListener("pointerdown",c),n.removeEventListener("click",l.current)}},[n,a]),{onPointerDownCapture:()=>r.current=!0}}function vA(s,n=globalThis?.document){const a=ki(s),r=S.useRef(!1);return S.useEffect(()=>{const l=c=>{c.target&&!r.current&&Lb(pA,a,{originalEvent:c},{discrete:!1})};return n.addEventListener("focusin",l),()=>n.removeEventListener("focusin",l)},[n,a]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function Xv(){const s=new CustomEvent(Sf);document.dispatchEvent(s)}function Lb(s,n,a,{discrete:r}){const l=a.originalEvent.target,c=new CustomEvent(s,{bubbles:!1,cancelable:!0,detail:a});n&&l.addEventListener(s,n,{once:!0}),r?Rb(l,c):l.dispatchEvent(c)}var yA=Pb,bA=Ob,Jr=globalThis?.document?S.useLayoutEffect:()=>{},_A="Portal",Fb=S.forwardRef((s,n)=>{const{container:a,...r}=s,[l,c]=S.useState(!1);Jr(()=>c(!0),[]);const f=a||l&&globalThis?.document?.body;return f?Rk.createPortal(p.jsx(zn.div,{...r,ref:n}),f):null});Fb.displayName=_A;function SA(s,n){return S.useReducer((a,r)=>n[a][r]??a,s)}var zb=s=>{const{present:n,children:a}=s,r=xA(n),l=typeof a=="function"?a({present:r.isPresent}):S.Children.only(a),c=Ci(r.ref,wA(l));return typeof a=="function"||r.isPresent?S.cloneElement(l,{ref:c}):null};zb.displayName="Presence";function xA(s){const[n,a]=S.useState(),r=S.useRef(null),l=S.useRef(s),c=S.useRef("none"),f=s?"mounted":"unmounted",[h,g]=SA(f,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return S.useEffect(()=>{const m=Dl(r.current);c.current=h==="mounted"?m:"none"},[h]),Jr(()=>{const m=r.current,y=l.current;if(y!==s){const x=c.current,C=Dl(m);s?g("MOUNT"):C==="none"||m?.display==="none"?g("UNMOUNT"):g(y&&x!==C?"ANIMATION_OUT":"UNMOUNT"),l.current=s}},[s,g]),Jr(()=>{if(n){let m;const y=n.ownerDocument.defaultView??window,b=C=>{const k=Dl(r.current).includes(CSS.escape(C.animationName));if(C.target===n&&k&&(g("ANIMATION_END"),!l.current)){const A=n.style.animationFillMode;n.style.animationFillMode="forwards",m=y.setTimeout(()=>{n.style.animationFillMode==="forwards"&&(n.style.animationFillMode=A)})}},x=C=>{C.target===n&&(c.current=Dl(r.current))};return n.addEventListener("animationstart",x),n.addEventListener("animationcancel",b),n.addEventListener("animationend",b),()=>{y.clearTimeout(m),n.removeEventListener("animationstart",x),n.removeEventListener("animationcancel",b),n.removeEventListener("animationend",b)}}else g("ANIMATION_END")},[n,g]),{isPresent:["mounted","unmountSuspended"].includes(h),ref:S.useCallback(m=>{r.current=m?getComputedStyle(m):null,a(m)},[])}}function Dl(s){return s?.animationName||"none"}function wA(s){let n=Object.getOwnPropertyDescriptor(s.props,"ref")?.get,a=n&&"isReactWarning"in n&&n.isReactWarning;return a?s.ref:(n=Object.getOwnPropertyDescriptor(s,"ref")?.get,a=n&&"isReactWarning"in n&&n.isReactWarning,a?s.props.ref:s.props.ref||s.ref)}var CA=rw[" useInsertionEffect ".trim().toString()]||Jr;function kA({prop:s,defaultProp:n,onChange:a=()=>{},caller:r}){const[l,c,f]=AA({defaultProp:n,onChange:a}),h=s!==void 0,g=h?s:l;{const y=S.useRef(s!==void 0);S.useEffect(()=>{const b=y.current;b!==h&&console.warn(`${r} is changing from ${b?"controlled":"uncontrolled"} to ${h?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),y.current=h},[h,r])}const m=S.useCallback(y=>{if(h){const b=TA(y)?y(s):y;b!==s&&f.current?.(b)}else c(y)},[h,s,c,f]);return[g,m]}function AA({defaultProp:s,onChange:n}){const[a,r]=S.useState(s),l=S.useRef(a),c=S.useRef(n);return CA(()=>{c.current=n},[n]),S.useEffect(()=>{l.current!==a&&(c.current?.(a),l.current=a)},[a,l]),[a,r,c]}function TA(s){return typeof s=="function"}var EA=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),NA="VisuallyHidden",dh=S.forwardRef((s,n)=>p.jsx(zn.span,{...s,ref:n,style:{...EA,...s.style}}));dh.displayName=NA;var fh="ToastProvider",[hh,MA,jA]=cA("Toast"),[Ub]=jb("Toast",[jA]),[RA,yc]=Ub(fh),Ib=s=>{const{__scopeToast:n,label:a="Notification",duration:r=5e3,swipeDirection:l="right",swipeThreshold:c=50,children:f}=s,[h,g]=S.useState(null),[m,y]=S.useState(0),b=S.useRef(!1),x=S.useRef(!1);return a.trim()||console.error(`Invalid prop \`label\` supplied to \`${fh}\`. Expected non-empty \`string\`.`),p.jsx(hh.Provider,{scope:n,children:p.jsx(RA,{scope:n,label:a,duration:r,swipeDirection:l,swipeThreshold:c,toastCount:m,viewport:h,onViewportChange:g,onToastAdd:S.useCallback(()=>y(C=>C+1),[]),onToastRemove:S.useCallback(()=>y(C=>C-1),[]),isFocusedToastEscapeKeyDownRef:b,isClosePausedRef:x,children:f})})};Ib.displayName=fh;var Hb="ToastViewport",DA=["F8"],xf="toast.viewportPause",wf="toast.viewportResume",qb=S.forwardRef((s,n)=>{const{__scopeToast:a,hotkey:r=DA,label:l="Notifications ({hotkey})",...c}=s,f=yc(Hb,a),h=MA(a),g=S.useRef(null),m=S.useRef(null),y=S.useRef(null),b=S.useRef(null),x=Ci(n,b,f.onViewportChange),C=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),E=f.toastCount>0;S.useEffect(()=>{const A=M=>{r.length!==0&&r.every(D=>M[D]||M.code===D)&&b.current?.focus()};return document.addEventListener("keydown",A),()=>document.removeEventListener("keydown",A)},[r]),S.useEffect(()=>{const A=g.current,M=b.current;if(E&&A&&M){const j=()=>{if(!f.isClosePausedRef.current){const V=new CustomEvent(xf);M.dispatchEvent(V),f.isClosePausedRef.current=!0}},D=()=>{if(f.isClosePausedRef.current){const V=new CustomEvent(wf);M.dispatchEvent(V),f.isClosePausedRef.current=!1}},q=V=>{!A.contains(V.relatedTarget)&&D()},B=()=>{A.contains(document.activeElement)||D()};return A.addEventListener("focusin",j),A.addEventListener("focusout",q),A.addEventListener("pointermove",j),A.addEventListener("pointerleave",B),window.addEventListener("blur",j),window.addEventListener("focus",D),()=>{A.removeEventListener("focusin",j),A.removeEventListener("focusout",q),A.removeEventListener("pointermove",j),A.removeEventListener("pointerleave",B),window.removeEventListener("blur",j),window.removeEventListener("focus",D)}}},[E,f.isClosePausedRef]);const k=S.useCallback(({tabbingDirection:A})=>{const j=h().map(D=>{const q=D.ref.current,B=[q,...GA(q)];return A==="forwards"?B:B.reverse()});return(A==="forwards"?j.reverse():j).flat()},[h]);return S.useEffect(()=>{const A=b.current;if(A){const M=j=>{const D=j.altKey||j.ctrlKey||j.metaKey;if(j.key==="Tab"&&!D){const B=document.activeElement,V=j.shiftKey;if(j.target===A&&V){m.current?.focus();return}const Z=k({tabbingDirection:V?"backwards":"forwards"}),re=Z.findIndex(Se=>Se===B);Vd(Z.slice(re+1))?j.preventDefault():V?m.current?.focus():y.current?.focus()}};return A.addEventListener("keydown",M),()=>A.removeEventListener("keydown",M)}},[h,k]),p.jsxs(bA,{ref:g,role:"region","aria-label":l.replace("{hotkey}",C),tabIndex:-1,style:{pointerEvents:E?void 0:"none"},children:[E&&p.jsx(Cf,{ref:m,onFocusFromOutsideViewport:()=>{const A=k({tabbingDirection:"forwards"});Vd(A)}}),p.jsx(hh.Slot,{scope:a,children:p.jsx(zn.ol,{tabIndex:-1,...c,ref:x})}),E&&p.jsx(Cf,{ref:y,onFocusFromOutsideViewport:()=>{const A=k({tabbingDirection:"backwards"});Vd(A)}})]})});qb.displayName=Hb;var Bb="ToastFocusProxy",Cf=S.forwardRef((s,n)=>{const{__scopeToast:a,onFocusFromOutsideViewport:r,...l}=s,c=yc(Bb,a);return p.jsx(dh,{tabIndex:0,...l,ref:n,style:{position:"fixed"},onFocus:f=>{const h=f.relatedTarget;!c.viewport?.contains(h)&&r()}})});Cf.displayName=Bb;var uo="Toast",PA="toast.swipeStart",OA="toast.swipeMove",LA="toast.swipeCancel",FA="toast.swipeEnd",$b=S.forwardRef((s,n)=>{const{forceMount:a,open:r,defaultOpen:l,onOpenChange:c,...f}=s,[h,g]=kA({prop:r,defaultProp:l??!0,onChange:c,caller:uo});return p.jsx(zb,{present:a||h,children:p.jsx(IA,{open:h,...f,ref:n,onClose:()=>g(!1),onPause:ki(s.onPause),onResume:ki(s.onResume),onSwipeStart:nn(s.onSwipeStart,m=>{m.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:nn(s.onSwipeMove,m=>{const{x:y,y:b}=m.detail.delta;m.currentTarget.setAttribute("data-swipe","move"),m.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${y}px`),m.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${b}px`)}),onSwipeCancel:nn(s.onSwipeCancel,m=>{m.currentTarget.setAttribute("data-swipe","cancel"),m.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),m.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),m.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),m.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:nn(s.onSwipeEnd,m=>{const{x:y,y:b}=m.detail.delta;m.currentTarget.setAttribute("data-swipe","end"),m.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),m.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),m.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${y}px`),m.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${b}px`),g(!1)})})})});$b.displayName=uo;var[zA,UA]=Ub(uo,{onClose(){}}),IA=S.forwardRef((s,n)=>{const{__scopeToast:a,type:r="foreground",duration:l,open:c,onClose:f,onEscapeKeyDown:h,onPause:g,onResume:m,onSwipeStart:y,onSwipeMove:b,onSwipeCancel:x,onSwipeEnd:C,...E}=s,k=yc(uo,a),[A,M]=S.useState(null),j=Ci(n,oe=>M(oe)),D=S.useRef(null),q=S.useRef(null),B=l||k.duration,V=S.useRef(0),I=S.useRef(B),L=S.useRef(0),{onToastAdd:Z,onToastRemove:re}=k,Se=ki(()=>{A?.contains(document.activeElement)&&k.viewport?.focus(),f()}),ge=S.useCallback(oe=>{!oe||oe===1/0||(window.clearTimeout(L.current),V.current=new Date().getTime(),L.current=window.setTimeout(Se,oe))},[Se]);S.useEffect(()=>{const oe=k.viewport;if(oe){const ye=()=>{ge(I.current),m?.()},F=()=>{const K=new Date().getTime()-V.current;I.current=I.current-K,window.clearTimeout(L.current),g?.()};return oe.addEventListener(xf,F),oe.addEventListener(wf,ye),()=>{oe.removeEventListener(xf,F),oe.removeEventListener(wf,ye)}}},[k.viewport,B,g,m,ge]),S.useEffect(()=>{c&&!k.isClosePausedRef.current&&ge(B)},[c,B,k.isClosePausedRef,ge]),S.useEffect(()=>(Z(),()=>re()),[Z,re]);const De=S.useMemo(()=>A?Zb(A):null,[A]);return k.viewport?p.jsxs(p.Fragment,{children:[De&&p.jsx(HA,{__scopeToast:a,role:"status","aria-live":r==="foreground"?"assertive":"polite",children:De}),p.jsx(zA,{scope:a,onClose:Se,children:lh.createPortal(p.jsx(hh.ItemSlot,{scope:a,children:p.jsx(yA,{asChild:!0,onEscapeKeyDown:nn(h,()=>{k.isFocusedToastEscapeKeyDownRef.current||Se(),k.isFocusedToastEscapeKeyDownRef.current=!1}),children:p.jsx(zn.li,{tabIndex:0,"data-state":c?"open":"closed","data-swipe-direction":k.swipeDirection,...E,ref:j,style:{userSelect:"none",touchAction:"none",...s.style},onKeyDown:nn(s.onKeyDown,oe=>{oe.key==="Escape"&&(h?.(oe.nativeEvent),oe.nativeEvent.defaultPrevented||(k.isFocusedToastEscapeKeyDownRef.current=!0,Se()))}),onPointerDown:nn(s.onPointerDown,oe=>{oe.button===0&&(D.current={x:oe.clientX,y:oe.clientY})}),onPointerMove:nn(s.onPointerMove,oe=>{if(!D.current)return;const ye=oe.clientX-D.current.x,F=oe.clientY-D.current.y,K=!!q.current,Y=["left","right"].includes(k.swipeDirection),he=["left","up"].includes(k.swipeDirection)?Math.min:Math.max,pe=Y?he(0,ye):0,Pe=Y?0:he(0,F),fe=oe.pointerType==="touch"?10:2,te={x:pe,y:Pe},ue={originalEvent:oe,delta:te};K?(q.current=te,Pl(OA,b,ue,{discrete:!1})):Qv(te,k.swipeDirection,fe)?(q.current=te,Pl(PA,y,ue,{discrete:!1}),oe.target.setPointerCapture(oe.pointerId)):(Math.abs(ye)>fe||Math.abs(F)>fe)&&(D.current=null)}),onPointerUp:nn(s.onPointerUp,oe=>{const ye=q.current,F=oe.target;if(F.hasPointerCapture(oe.pointerId)&&F.releasePointerCapture(oe.pointerId),q.current=null,D.current=null,ye){const K=oe.currentTarget,Y={originalEvent:oe,delta:ye};Qv(ye,k.swipeDirection,k.swipeThreshold)?Pl(FA,C,Y,{discrete:!0}):Pl(LA,x,Y,{discrete:!0}),K.addEventListener("click",he=>he.preventDefault(),{once:!0})}})})})}),k.viewport)})]}):null}),HA=s=>{const{__scopeToast:n,children:a,...r}=s,l=yc(uo,n),[c,f]=S.useState(!1),[h,g]=S.useState(!1);return $A(()=>f(!0)),S.useEffect(()=>{const m=window.setTimeout(()=>g(!0),1e3);return()=>window.clearTimeout(m)},[]),h?null:p.jsx(Fb,{asChild:!0,children:p.jsx(dh,{...r,children:c&&p.jsxs(p.Fragment,{children:[l.label," ",a]})})})},qA="ToastTitle",Vb=S.forwardRef((s,n)=>{const{__scopeToast:a,...r}=s;return p.jsx(zn.div,{...r,ref:n})});Vb.displayName=qA;var BA="ToastDescription",Gb=S.forwardRef((s,n)=>{const{__scopeToast:a,...r}=s;return p.jsx(zn.div,{...r,ref:n})});Gb.displayName=BA;var Yb="ToastAction",Kb=S.forwardRef((s,n)=>{const{altText:a,...r}=s;return a.trim()?p.jsx(Qb,{altText:a,asChild:!0,children:p.jsx(ph,{...r,ref:n})}):(console.error(`Invalid prop \`altText\` supplied to \`${Yb}\`. Expected non-empty \`string\`.`),null)});Kb.displayName=Yb;var Xb="ToastClose",ph=S.forwardRef((s,n)=>{const{__scopeToast:a,...r}=s,l=UA(Xb,a);return p.jsx(Qb,{asChild:!0,children:p.jsx(zn.button,{type:"button",...r,ref:n,onClick:nn(s.onClick,l.onClose)})})});ph.displayName=Xb;var Qb=S.forwardRef((s,n)=>{const{__scopeToast:a,altText:r,...l}=s;return p.jsx(zn.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":r||void 0,...l,ref:n})});function Zb(s){const n=[];return Array.from(s.childNodes).forEach(r=>{if(r.nodeType===r.TEXT_NODE&&r.textContent&&n.push(r.textContent),VA(r)){const l=r.ariaHidden||r.hidden||r.style.display==="none",c=r.dataset.radixToastAnnounceExclude==="";if(!l)if(c){const f=r.dataset.radixToastAnnounceAlt;f&&n.push(f)}else n.push(...Zb(r))}}),n}function Pl(s,n,a,{discrete:r}){const l=a.originalEvent.currentTarget,c=new CustomEvent(s,{bubbles:!0,cancelable:!0,detail:a});n&&l.addEventListener(s,n,{once:!0}),r?Rb(l,c):l.dispatchEvent(c)}var Qv=(s,n,a=0)=>{const r=Math.abs(s.x),l=Math.abs(s.y),c=r>l;return n==="left"||n==="right"?c&&r>a:!c&&l>a};function $A(s=()=>{}){const n=ki(s);Jr(()=>{let a=0,r=0;return a=window.requestAnimationFrame(()=>r=window.requestAnimationFrame(n)),()=>{window.cancelAnimationFrame(a),window.cancelAnimationFrame(r)}},[n])}function VA(s){return s.nodeType===s.ELEMENT_NODE}function GA(s){const n=[],a=document.createTreeWalker(s,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const l=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||l?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;a.nextNode();)n.push(a.currentNode);return n}function Vd(s){const n=document.activeElement;return s.some(a=>a===n?!0:(a.focus(),document.activeElement!==n))}var YA=Ib,Wb=qb,Jb=$b,e0=Vb,t0=Gb,n0=Kb,a0=ph;function i0(s){var n,a,r="";if(typeof s=="string"||typeof s=="number")r+=s;else if(typeof s=="object")if(Array.isArray(s)){var l=s.length;for(n=0;n<l;n++)s[n]&&(a=i0(s[n]))&&(r&&(r+=" "),r+=a)}else for(a in s)s[a]&&(r&&(r+=" "),r+=a);return r}function s0(){for(var s,n,a=0,r="",l=arguments.length;a<l;a++)(s=arguments[a])&&(n=i0(s))&&(r&&(r+=" "),r+=n);return r}const Zv=s=>typeof s=="boolean"?`${s}`:s===0?"0":s,Wv=s0,KA=(s,n)=>a=>{var r;if(n?.variants==null)return Wv(s,a?.class,a?.className);const{variants:l,defaultVariants:c}=n,f=Object.keys(l).map(m=>{const y=a?.[m],b=c?.[m];if(y===null)return null;const x=Zv(y)||Zv(b);return l[m][x]}),h=a&&Object.entries(a).reduce((m,y)=>{let[b,x]=y;return x===void 0||(m[b]=x),m},{}),g=n==null||(r=n.compoundVariants)===null||r===void 0?void 0:r.reduce((m,y)=>{let{class:b,className:x,...C}=y;return Object.entries(C).every(E=>{let[k,A]=E;return Array.isArray(A)?A.includes({...c,...h}[k]):{...c,...h}[k]===A})?[...m,b,x]:m},[]);return Wv(s,f,g,a?.class,a?.className)},mh="-",XA=s=>{const n=ZA(s),{conflictingClassGroups:a,conflictingClassGroupModifiers:r}=s;return{getClassGroupId:f=>{const h=f.split(mh);return h[0]===""&&h.length!==1&&h.shift(),r0(h,n)||QA(f)},getConflictingClassGroupIds:(f,h)=>{const g=a[f]||[];return h&&r[f]?[...g,...r[f]]:g}}},r0=(s,n)=>{if(s.length===0)return n.classGroupId;const a=s[0],r=n.nextPart.get(a),l=r?r0(s.slice(1),r):void 0;if(l)return l;if(n.validators.length===0)return;const c=s.join(mh);return n.validators.find(({validator:f})=>f(c))?.classGroupId},Jv=/^\[(.+)\]$/,QA=s=>{if(Jv.test(s)){const n=Jv.exec(s)[1],a=n?.substring(0,n.indexOf(":"));if(a)return"arbitrary.."+a}},ZA=s=>{const{theme:n,classGroups:a}=s,r={nextPart:new Map,validators:[]};for(const l in a)kf(a[l],r,l,n);return r},kf=(s,n,a,r)=>{s.forEach(l=>{if(typeof l=="string"){const c=l===""?n:ey(n,l);c.classGroupId=a;return}if(typeof l=="function"){if(WA(l)){kf(l(r),n,a,r);return}n.validators.push({validator:l,classGroupId:a});return}Object.entries(l).forEach(([c,f])=>{kf(f,ey(n,c),a,r)})})},ey=(s,n)=>{let a=s;return n.split(mh).forEach(r=>{a.nextPart.has(r)||a.nextPart.set(r,{nextPart:new Map,validators:[]}),a=a.nextPart.get(r)}),a},WA=s=>s.isThemeGetter,JA=s=>{if(s<1)return{get:()=>{},set:()=>{}};let n=0,a=new Map,r=new Map;const l=(c,f)=>{a.set(c,f),n++,n>s&&(n=0,r=a,a=new Map)};return{get(c){let f=a.get(c);if(f!==void 0)return f;if((f=r.get(c))!==void 0)return l(c,f),f},set(c,f){a.has(c)?a.set(c,f):l(c,f)}}},Af="!",Tf=":",eT=Tf.length,tT=s=>{const{prefix:n,experimentalParseClassName:a}=s;let r=l=>{const c=[];let f=0,h=0,g=0,m;for(let E=0;E<l.length;E++){let k=l[E];if(f===0&&h===0){if(k===Tf){c.push(l.slice(g,E)),g=E+eT;continue}if(k==="/"){m=E;continue}}k==="["?f++:k==="]"?f--:k==="("?h++:k===")"&&h--}const y=c.length===0?l:l.substring(g),b=nT(y),x=b!==y,C=m&&m>g?m-g:void 0;return{modifiers:c,hasImportantModifier:x,baseClassName:b,maybePostfixModifierPosition:C}};if(n){const l=n+Tf,c=r;r=f=>f.startsWith(l)?c(f.substring(l.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:f,maybePostfixModifierPosition:void 0}}if(a){const l=r;r=c=>a({className:c,parseClassName:l})}return r},nT=s=>s.endsWith(Af)?s.substring(0,s.length-1):s.startsWith(Af)?s.substring(1):s,aT=s=>{const n=Object.fromEntries(s.orderSensitiveModifiers.map(r=>[r,!0]));return r=>{if(r.length<=1)return r;const l=[];let c=[];return r.forEach(f=>{f[0]==="["||n[f]?(l.push(...c.sort(),f),c=[]):c.push(f)}),l.push(...c.sort()),l}},iT=s=>({cache:JA(s.cacheSize),parseClassName:tT(s),sortModifiers:aT(s),...XA(s)}),sT=/\s+/,rT=(s,n)=>{const{parseClassName:a,getClassGroupId:r,getConflictingClassGroupIds:l,sortModifiers:c}=n,f=[],h=s.trim().split(sT);let g="";for(let m=h.length-1;m>=0;m-=1){const y=h[m],{isExternal:b,modifiers:x,hasImportantModifier:C,baseClassName:E,maybePostfixModifierPosition:k}=a(y);if(b){g=y+(g.length>0?" "+g:g);continue}let A=!!k,M=r(A?E.substring(0,k):E);if(!M){if(!A){g=y+(g.length>0?" "+g:g);continue}if(M=r(E),!M){g=y+(g.length>0?" "+g:g);continue}A=!1}const j=c(x).join(":"),D=C?j+Af:j,q=D+M;if(f.includes(q))continue;f.push(q);const B=l(M,A);for(let V=0;V<B.length;++V){const I=B[V];f.push(D+I)}g=y+(g.length>0?" "+g:g)}return g};function oT(){let s=0,n,a,r="";for(;s<arguments.length;)(n=arguments[s++])&&(a=o0(n))&&(r&&(r+=" "),r+=a);return r}const o0=s=>{if(typeof s=="string")return s;let n,a="";for(let r=0;r<s.length;r++)s[r]&&(n=o0(s[r]))&&(a&&(a+=" "),a+=n);return a};function lT(s,...n){let a,r,l,c=f;function f(g){const m=n.reduce((y,b)=>b(y),s());return a=iT(m),r=a.cache.get,l=a.cache.set,c=h,h(g)}function h(g){const m=r(g);if(m)return m;const y=rT(g,a);return l(g,y),y}return function(){return c(oT.apply(null,arguments))}}const pt=s=>{const n=a=>a[s]||[];return n.isThemeGetter=!0,n},l0=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,c0=/^\((?:(\w[\w-]*):)?(.+)\)$/i,cT=/^\d+\/\d+$/,uT=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,dT=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,fT=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,hT=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,pT=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,hs=s=>cT.test(s),_e=s=>!!s&&!Number.isNaN(Number(s)),Ba=s=>!!s&&Number.isInteger(Number(s)),Gd=s=>s.endsWith("%")&&_e(s.slice(0,-1)),ia=s=>uT.test(s),mT=()=>!0,gT=s=>dT.test(s)&&!fT.test(s),u0=()=>!1,vT=s=>hT.test(s),yT=s=>pT.test(s),bT=s=>!ae(s)&&!ie(s),_T=s=>js(s,h0,u0),ae=s=>l0.test(s),yi=s=>js(s,p0,gT),Yd=s=>js(s,kT,_e),ty=s=>js(s,d0,u0),ST=s=>js(s,f0,yT),Ol=s=>js(s,m0,vT),ie=s=>c0.test(s),Mr=s=>Rs(s,p0),xT=s=>Rs(s,AT),ny=s=>Rs(s,d0),wT=s=>Rs(s,h0),CT=s=>Rs(s,f0),Ll=s=>Rs(s,m0,!0),js=(s,n,a)=>{const r=l0.exec(s);return r?r[1]?n(r[1]):a(r[2]):!1},Rs=(s,n,a=!1)=>{const r=c0.exec(s);return r?r[1]?n(r[1]):a:!1},d0=s=>s==="position"||s==="percentage",f0=s=>s==="image"||s==="url",h0=s=>s==="length"||s==="size"||s==="bg-size",p0=s=>s==="length",kT=s=>s==="number",AT=s=>s==="family-name",m0=s=>s==="shadow",TT=()=>{const s=pt("color"),n=pt("font"),a=pt("text"),r=pt("font-weight"),l=pt("tracking"),c=pt("leading"),f=pt("breakpoint"),h=pt("container"),g=pt("spacing"),m=pt("radius"),y=pt("shadow"),b=pt("inset-shadow"),x=pt("text-shadow"),C=pt("drop-shadow"),E=pt("blur"),k=pt("perspective"),A=pt("aspect"),M=pt("ease"),j=pt("animate"),D=()=>["auto","avoid","all","avoid-page","page","left","right","column"],q=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],B=()=>[...q(),ie,ae],V=()=>["auto","hidden","clip","visible","scroll"],I=()=>["auto","contain","none"],L=()=>[ie,ae,g],Z=()=>[hs,"full","auto",...L()],re=()=>[Ba,"none","subgrid",ie,ae],Se=()=>["auto",{span:["full",Ba,ie,ae]},Ba,ie,ae],ge=()=>[Ba,"auto",ie,ae],De=()=>["auto","min","max","fr",ie,ae],oe=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],ye=()=>["start","end","center","stretch","center-safe","end-safe"],F=()=>["auto",...L()],K=()=>[hs,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...L()],Y=()=>[s,ie,ae],he=()=>[...q(),ny,ty,{position:[ie,ae]}],pe=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Pe=()=>["auto","cover","contain",wT,_T,{size:[ie,ae]}],fe=()=>[Gd,Mr,yi],te=()=>["","none","full",m,ie,ae],ue=()=>["",_e,Mr,yi],Qe=()=>["solid","dashed","dotted","double"],et=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],qe=()=>[_e,Gd,ny,ty],xn=()=>["","none",E,ie,ae],Nt=()=>["none",_e,ie,ae],ft=()=>["none",_e,ie,ae],sn=()=>[_e,ie,ae],$t=()=>[hs,"full",...L()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ia],breakpoint:[ia],color:[mT],container:[ia],"drop-shadow":[ia],ease:["in","out","in-out"],font:[bT],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ia],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ia],shadow:[ia],spacing:["px",_e],text:[ia],"text-shadow":[ia],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",hs,ae,ie,A]}],container:["container"],columns:[{columns:[_e,ae,ie,h]}],"break-after":[{"break-after":D()}],"break-before":[{"break-before":D()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:B()}],overflow:[{overflow:V()}],"overflow-x":[{"overflow-x":V()}],"overflow-y":[{"overflow-y":V()}],overscroll:[{overscroll:I()}],"overscroll-x":[{"overscroll-x":I()}],"overscroll-y":[{"overscroll-y":I()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:Z()}],"inset-x":[{"inset-x":Z()}],"inset-y":[{"inset-y":Z()}],start:[{start:Z()}],end:[{end:Z()}],top:[{top:Z()}],right:[{right:Z()}],bottom:[{bottom:Z()}],left:[{left:Z()}],visibility:["visible","invisible","collapse"],z:[{z:[Ba,"auto",ie,ae]}],basis:[{basis:[hs,"full","auto",h,...L()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[_e,hs,"auto","initial","none",ae]}],grow:[{grow:["",_e,ie,ae]}],shrink:[{shrink:["",_e,ie,ae]}],order:[{order:[Ba,"first","last","none",ie,ae]}],"grid-cols":[{"grid-cols":re()}],"col-start-end":[{col:Se()}],"col-start":[{"col-start":ge()}],"col-end":[{"col-end":ge()}],"grid-rows":[{"grid-rows":re()}],"row-start-end":[{row:Se()}],"row-start":[{"row-start":ge()}],"row-end":[{"row-end":ge()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":De()}],"auto-rows":[{"auto-rows":De()}],gap:[{gap:L()}],"gap-x":[{"gap-x":L()}],"gap-y":[{"gap-y":L()}],"justify-content":[{justify:[...oe(),"normal"]}],"justify-items":[{"justify-items":[...ye(),"normal"]}],"justify-self":[{"justify-self":["auto",...ye()]}],"align-content":[{content:["normal",...oe()]}],"align-items":[{items:[...ye(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...ye(),{baseline:["","last"]}]}],"place-content":[{"place-content":oe()}],"place-items":[{"place-items":[...ye(),"baseline"]}],"place-self":[{"place-self":["auto",...ye()]}],p:[{p:L()}],px:[{px:L()}],py:[{py:L()}],ps:[{ps:L()}],pe:[{pe:L()}],pt:[{pt:L()}],pr:[{pr:L()}],pb:[{pb:L()}],pl:[{pl:L()}],m:[{m:F()}],mx:[{mx:F()}],my:[{my:F()}],ms:[{ms:F()}],me:[{me:F()}],mt:[{mt:F()}],mr:[{mr:F()}],mb:[{mb:F()}],ml:[{ml:F()}],"space-x":[{"space-x":L()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":L()}],"space-y-reverse":["space-y-reverse"],size:[{size:K()}],w:[{w:[h,"screen",...K()]}],"min-w":[{"min-w":[h,"screen","none",...K()]}],"max-w":[{"max-w":[h,"screen","none","prose",{screen:[f]},...K()]}],h:[{h:["screen","lh",...K()]}],"min-h":[{"min-h":["screen","lh","none",...K()]}],"max-h":[{"max-h":["screen","lh",...K()]}],"font-size":[{text:["base",a,Mr,yi]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,ie,Yd]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Gd,ae]}],"font-family":[{font:[xT,ae,n]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[l,ie,ae]}],"line-clamp":[{"line-clamp":[_e,"none",ie,Yd]}],leading:[{leading:[c,...L()]}],"list-image":[{"list-image":["none",ie,ae]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ie,ae]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:Y()}],"text-color":[{text:Y()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Qe(),"wavy"]}],"text-decoration-thickness":[{decoration:[_e,"from-font","auto",ie,yi]}],"text-decoration-color":[{decoration:Y()}],"underline-offset":[{"underline-offset":[_e,"auto",ie,ae]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:L()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ie,ae]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ie,ae]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:he()}],"bg-repeat":[{bg:pe()}],"bg-size":[{bg:Pe()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Ba,ie,ae],radial:["",ie,ae],conic:[Ba,ie,ae]},CT,ST]}],"bg-color":[{bg:Y()}],"gradient-from-pos":[{from:fe()}],"gradient-via-pos":[{via:fe()}],"gradient-to-pos":[{to:fe()}],"gradient-from":[{from:Y()}],"gradient-via":[{via:Y()}],"gradient-to":[{to:Y()}],rounded:[{rounded:te()}],"rounded-s":[{"rounded-s":te()}],"rounded-e":[{"rounded-e":te()}],"rounded-t":[{"rounded-t":te()}],"rounded-r":[{"rounded-r":te()}],"rounded-b":[{"rounded-b":te()}],"rounded-l":[{"rounded-l":te()}],"rounded-ss":[{"rounded-ss":te()}],"rounded-se":[{"rounded-se":te()}],"rounded-ee":[{"rounded-ee":te()}],"rounded-es":[{"rounded-es":te()}],"rounded-tl":[{"rounded-tl":te()}],"rounded-tr":[{"rounded-tr":te()}],"rounded-br":[{"rounded-br":te()}],"rounded-bl":[{"rounded-bl":te()}],"border-w":[{border:ue()}],"border-w-x":[{"border-x":ue()}],"border-w-y":[{"border-y":ue()}],"border-w-s":[{"border-s":ue()}],"border-w-e":[{"border-e":ue()}],"border-w-t":[{"border-t":ue()}],"border-w-r":[{"border-r":ue()}],"border-w-b":[{"border-b":ue()}],"border-w-l":[{"border-l":ue()}],"divide-x":[{"divide-x":ue()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ue()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Qe(),"hidden","none"]}],"divide-style":[{divide:[...Qe(),"hidden","none"]}],"border-color":[{border:Y()}],"border-color-x":[{"border-x":Y()}],"border-color-y":[{"border-y":Y()}],"border-color-s":[{"border-s":Y()}],"border-color-e":[{"border-e":Y()}],"border-color-t":[{"border-t":Y()}],"border-color-r":[{"border-r":Y()}],"border-color-b":[{"border-b":Y()}],"border-color-l":[{"border-l":Y()}],"divide-color":[{divide:Y()}],"outline-style":[{outline:[...Qe(),"none","hidden"]}],"outline-offset":[{"outline-offset":[_e,ie,ae]}],"outline-w":[{outline:["",_e,Mr,yi]}],"outline-color":[{outline:Y()}],shadow:[{shadow:["","none",y,Ll,Ol]}],"shadow-color":[{shadow:Y()}],"inset-shadow":[{"inset-shadow":["none",b,Ll,Ol]}],"inset-shadow-color":[{"inset-shadow":Y()}],"ring-w":[{ring:ue()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:Y()}],"ring-offset-w":[{"ring-offset":[_e,yi]}],"ring-offset-color":[{"ring-offset":Y()}],"inset-ring-w":[{"inset-ring":ue()}],"inset-ring-color":[{"inset-ring":Y()}],"text-shadow":[{"text-shadow":["none",x,Ll,Ol]}],"text-shadow-color":[{"text-shadow":Y()}],opacity:[{opacity:[_e,ie,ae]}],"mix-blend":[{"mix-blend":[...et(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":et()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[_e]}],"mask-image-linear-from-pos":[{"mask-linear-from":qe()}],"mask-image-linear-to-pos":[{"mask-linear-to":qe()}],"mask-image-linear-from-color":[{"mask-linear-from":Y()}],"mask-image-linear-to-color":[{"mask-linear-to":Y()}],"mask-image-t-from-pos":[{"mask-t-from":qe()}],"mask-image-t-to-pos":[{"mask-t-to":qe()}],"mask-image-t-from-color":[{"mask-t-from":Y()}],"mask-image-t-to-color":[{"mask-t-to":Y()}],"mask-image-r-from-pos":[{"mask-r-from":qe()}],"mask-image-r-to-pos":[{"mask-r-to":qe()}],"mask-image-r-from-color":[{"mask-r-from":Y()}],"mask-image-r-to-color":[{"mask-r-to":Y()}],"mask-image-b-from-pos":[{"mask-b-from":qe()}],"mask-image-b-to-pos":[{"mask-b-to":qe()}],"mask-image-b-from-color":[{"mask-b-from":Y()}],"mask-image-b-to-color":[{"mask-b-to":Y()}],"mask-image-l-from-pos":[{"mask-l-from":qe()}],"mask-image-l-to-pos":[{"mask-l-to":qe()}],"mask-image-l-from-color":[{"mask-l-from":Y()}],"mask-image-l-to-color":[{"mask-l-to":Y()}],"mask-image-x-from-pos":[{"mask-x-from":qe()}],"mask-image-x-to-pos":[{"mask-x-to":qe()}],"mask-image-x-from-color":[{"mask-x-from":Y()}],"mask-image-x-to-color":[{"mask-x-to":Y()}],"mask-image-y-from-pos":[{"mask-y-from":qe()}],"mask-image-y-to-pos":[{"mask-y-to":qe()}],"mask-image-y-from-color":[{"mask-y-from":Y()}],"mask-image-y-to-color":[{"mask-y-to":Y()}],"mask-image-radial":[{"mask-radial":[ie,ae]}],"mask-image-radial-from-pos":[{"mask-radial-from":qe()}],"mask-image-radial-to-pos":[{"mask-radial-to":qe()}],"mask-image-radial-from-color":[{"mask-radial-from":Y()}],"mask-image-radial-to-color":[{"mask-radial-to":Y()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":q()}],"mask-image-conic-pos":[{"mask-conic":[_e]}],"mask-image-conic-from-pos":[{"mask-conic-from":qe()}],"mask-image-conic-to-pos":[{"mask-conic-to":qe()}],"mask-image-conic-from-color":[{"mask-conic-from":Y()}],"mask-image-conic-to-color":[{"mask-conic-to":Y()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:he()}],"mask-repeat":[{mask:pe()}],"mask-size":[{mask:Pe()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ie,ae]}],filter:[{filter:["","none",ie,ae]}],blur:[{blur:xn()}],brightness:[{brightness:[_e,ie,ae]}],contrast:[{contrast:[_e,ie,ae]}],"drop-shadow":[{"drop-shadow":["","none",C,Ll,Ol]}],"drop-shadow-color":[{"drop-shadow":Y()}],grayscale:[{grayscale:["",_e,ie,ae]}],"hue-rotate":[{"hue-rotate":[_e,ie,ae]}],invert:[{invert:["",_e,ie,ae]}],saturate:[{saturate:[_e,ie,ae]}],sepia:[{sepia:["",_e,ie,ae]}],"backdrop-filter":[{"backdrop-filter":["","none",ie,ae]}],"backdrop-blur":[{"backdrop-blur":xn()}],"backdrop-brightness":[{"backdrop-brightness":[_e,ie,ae]}],"backdrop-contrast":[{"backdrop-contrast":[_e,ie,ae]}],"backdrop-grayscale":[{"backdrop-grayscale":["",_e,ie,ae]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[_e,ie,ae]}],"backdrop-invert":[{"backdrop-invert":["",_e,ie,ae]}],"backdrop-opacity":[{"backdrop-opacity":[_e,ie,ae]}],"backdrop-saturate":[{"backdrop-saturate":[_e,ie,ae]}],"backdrop-sepia":[{"backdrop-sepia":["",_e,ie,ae]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":L()}],"border-spacing-x":[{"border-spacing-x":L()}],"border-spacing-y":[{"border-spacing-y":L()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ie,ae]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[_e,"initial",ie,ae]}],ease:[{ease:["linear","initial",M,ie,ae]}],delay:[{delay:[_e,ie,ae]}],animate:[{animate:["none",j,ie,ae]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[k,ie,ae]}],"perspective-origin":[{"perspective-origin":B()}],rotate:[{rotate:Nt()}],"rotate-x":[{"rotate-x":Nt()}],"rotate-y":[{"rotate-y":Nt()}],"rotate-z":[{"rotate-z":Nt()}],scale:[{scale:ft()}],"scale-x":[{"scale-x":ft()}],"scale-y":[{"scale-y":ft()}],"scale-z":[{"scale-z":ft()}],"scale-3d":["scale-3d"],skew:[{skew:sn()}],"skew-x":[{"skew-x":sn()}],"skew-y":[{"skew-y":sn()}],transform:[{transform:[ie,ae,"","none","gpu","cpu"]}],"transform-origin":[{origin:B()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:$t()}],"translate-x":[{"translate-x":$t()}],"translate-y":[{"translate-y":$t()}],"translate-z":[{"translate-z":$t()}],"translate-none":["translate-none"],accent:[{accent:Y()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:Y()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ie,ae]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":L()}],"scroll-mx":[{"scroll-mx":L()}],"scroll-my":[{"scroll-my":L()}],"scroll-ms":[{"scroll-ms":L()}],"scroll-me":[{"scroll-me":L()}],"scroll-mt":[{"scroll-mt":L()}],"scroll-mr":[{"scroll-mr":L()}],"scroll-mb":[{"scroll-mb":L()}],"scroll-ml":[{"scroll-ml":L()}],"scroll-p":[{"scroll-p":L()}],"scroll-px":[{"scroll-px":L()}],"scroll-py":[{"scroll-py":L()}],"scroll-ps":[{"scroll-ps":L()}],"scroll-pe":[{"scroll-pe":L()}],"scroll-pt":[{"scroll-pt":L()}],"scroll-pr":[{"scroll-pr":L()}],"scroll-pb":[{"scroll-pb":L()}],"scroll-pl":[{"scroll-pl":L()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ie,ae]}],fill:[{fill:["none",...Y()]}],"stroke-w":[{stroke:[_e,Mr,yi,Yd]}],stroke:[{stroke:["none",...Y()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},ET=lT(TT);function Ds(...s){return ET(s0(s))}const NT=YA,g0=S.forwardRef(({className:s,...n},a)=>p.jsx(Wb,{ref:a,className:Ds("fixed top-4 right-4 z-[100] flex max-h-screen w-full flex-col gap-2 p-4 md:max-w-[420px]",s),...n}));g0.displayName=Wb.displayName;const MT=KA("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),v0=S.forwardRef(({className:s,variant:n,...a},r)=>p.jsx(Jb,{ref:r,className:Ds(MT({variant:n}),s),...a}));v0.displayName=Jb.displayName;const jT=S.forwardRef(({className:s,...n},a)=>p.jsx(n0,{ref:a,className:Ds("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",s),...n}));jT.displayName=n0.displayName;const y0=S.forwardRef(({className:s,...n},a)=>p.jsx(a0,{ref:a,className:Ds("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",s),"toast-close":"",...n,children:p.jsx(Za,{className:"h-4 w-4"})}));y0.displayName=a0.displayName;const b0=S.forwardRef(({className:s,...n},a)=>p.jsx(e0,{ref:a,className:Ds("text-sm font-semibold",s),...n}));b0.displayName=e0.displayName;const _0=S.forwardRef(({className:s,...n},a)=>p.jsx(t0,{ref:a,className:Ds("text-sm opacity-90",s),...n}));_0.displayName=t0.displayName;function RT(){const{toasts:s}=zk();return p.jsxs(NT,{children:[s.map(function({id:n,title:a,description:r,action:l,...c}){return p.jsxs(v0,{...c,children:[p.jsxs("div",{className:"grid gap-1",children:[a&&p.jsx(b0,{children:a}),r&&p.jsx(_0,{children:r})]}),l,p.jsx(y0,{})]},n)}),p.jsx(g0,{})]})}var U=typeof window<"u"?window:void 0,At=typeof globalThis<"u"?globalThis:U;typeof self>"u"&&(At.self=At),typeof File>"u"&&(At.File=function(){});var S0=Array.prototype,ay=S0.forEach,iy=S0.indexOf,an=At?.navigator,J=At?.document,qt=At?.location,Ef=At?.fetch,Nf=At!=null&&At.XMLHttpRequest&&"withCredentials"in new At.XMLHttpRequest?At.XMLHttpRequest:void 0,sy=At?.AbortController,Ht=an?.userAgent,ce=U??{},oa={DEBUG:!1,LIB_VERSION:"1.326.0"};function ry(s,n,a,r,l,c,f){try{var h=s[c](f),g=h.value}catch(m){return void a(m)}h.done?n(g):Promise.resolve(g).then(r,l)}function _s(s){return function(){var n=this,a=arguments;return new Promise((function(r,l){var c=s.apply(n,a);function f(g){ry(c,r,l,f,h,"next",g)}function h(g){ry(c,r,l,f,h,"throw",g)}f(void 0)}))}}function ee(){return ee=Object.assign?Object.assign.bind():function(s){for(var n=1;n<arguments.length;n++){var a=arguments[n];for(var r in a)({}).hasOwnProperty.call(a,r)&&(s[r]=a[r])}return s},ee.apply(null,arguments)}function x0(s,n){if(s==null)return{};var a={};for(var r in s)if({}.hasOwnProperty.call(s,r)){if(n.indexOf(r)!==-1)continue;a[r]=s[r]}return a}var DT=["amazonbot","amazonproductbot","app.hypefactors.com","applebot","archive.org_bot","awariobot","backlinksextendedbot","baiduspider","bingbot","bingpreview","chrome-lighthouse","dataforseobot","deepscan","duckduckbot","facebookexternal","facebookcatalog","http://yandex.com/bots","hubspot","ia_archiver","leikibot","linkedinbot","meta-externalagent","mj12bot","msnbot","nessus","petalbot","pinterest","prerender","rogerbot","screaming frog","sebot-wa","sitebulb","slackbot","slurp","trendictionbot","turnitin","twitterbot","vercel-screenshot","vercelbot","yahoo! slurp","yandexbot","zoombot","bot.htm","bot.php","(bot;","bot/","crawler","ahrefsbot","ahrefssiteaudit","semrushbot","siteauditbot","splitsignalbot","gptbot","oai-searchbot","chatgpt-user","perplexitybot","better uptime bot","sentryuptimebot","uptimerobot","headlesschrome","cypress","google-hoteladsverifier","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleother","google-cloudvertexbot","googleweblight","mediapartners-google","storebot-google","google-inspectiontool","bytespider"],oy=function(s,n){if(n===void 0&&(n=[]),!s)return!1;var a=s.toLowerCase();return DT.concat(n).some((r=>{var l=r.toLowerCase();return a.indexOf(l)!==-1}))},PT=["$snapshot","$pageview","$pageleave","$set","survey dismissed","survey sent","survey shown","$identify","$groupidentify","$create_alias","$$client_ingestion_warning","$web_experiment_applied","$feature_enrollment_update","$feature_flag_called"];function ke(s,n){return s.indexOf(n)!==-1}var bc=function(s){return s.trim()},Mf=function(s){return s.replace(/^\$/,"")},OT=Array.isArray,w0=Object.prototype,C0=w0.hasOwnProperty,_c=w0.toString,Le=OT||function(s){return _c.call(s)==="[object Array]"},Ka=s=>typeof s=="function",yt=s=>s===Object(s)&&!Le(s),Ss=s=>{if(yt(s)){for(var n in s)if(C0.call(s,n))return!1;return!0}return!1},X=s=>s===void 0,mt=s=>_c.call(s)=="[object String]",jf=s=>mt(s)&&s.trim().length===0,Mn=s=>s===null,Re=s=>X(s)||Mn(s),ma=s=>_c.call(s)=="[object Number]"&&s==s,ys=s=>ma(s)&&s>0,ha=s=>_c.call(s)==="[object Boolean]",LT=s=>s instanceof FormData,FT=s=>ke(PT,s);function Rf(s){return s===null||typeof s!="object"}function Wl(s,n){return Object.prototype.toString.call(s)==="[object "+n+"]"}function k0(s){return!X(Event)&&(function(n,a){try{return n instanceof a}catch{return!1}})(s,Event)}var zT=[!0,"true",1,"1","yes"],Kd=s=>ke(zT,s),UT=[!1,"false",0,"0","no"];function Ln(s,n,a,r,l){return n>a&&(r.warn("min cannot be greater than max."),n=a),ma(s)?s>a?(r.warn(" cannot be greater than max: "+a+". Using max value instead."),a):s<n?(r.warn(" cannot be less than min: "+n+". Using min value instead."),n):s:(r.warn(" must be a number. using max or fallback. max: "+a+", fallback: "+l),Ln(l||a,n,a,r))}class IT{constructor(n){this.t={},this.i=n.i,this.o=Ln(n.bucketSize,0,100,n.h),this.m=Ln(n.refillRate,0,this.o,n.h),this.$=Ln(n.refillInterval,0,864e5,n.h)}S(n,a){var r=a-n.lastAccess,l=Math.floor(r/this.$);if(l>0){var c=l*this.m;n.tokens=Math.min(n.tokens+c,this.o),n.lastAccess=n.lastAccess+l*this.$}}consumeRateLimit(n){var a,r=Date.now(),l=String(n),c=this.t[l];return c?this.S(c,r):(c={tokens:this.o,lastAccess:r},this.t[l]=c),c.tokens===0||(c.tokens--,c.tokens===0&&((a=this.i)==null||a.call(this,n)),c.tokens===0)}stop(){this.t={}}}var yn="Mobile",Jl="iOS",da="Android",eo="Tablet",A0=da+" "+eo,T0="iPad",E0="Apple",N0=E0+" Watch",to="Safari",ks="BlackBerry",M0="Samsung",j0=M0+"Browser",R0=M0+" Internet",Ai="Chrome",HT=Ai+" OS",D0=Ai+" "+Jl,gh="Internet Explorer",P0=gh+" "+yn,vh="Opera",qT=vh+" Mini",yh="Edge",O0="Microsoft "+yh,ws="Firefox",L0=ws+" "+Jl,no="Nintendo",ao="PlayStation",Cs="Xbox",F0=da+" "+yn,z0=yn+" "+to,Ir="Windows",Df=Ir+" Phone",ly="Nokia",Pf="Ouya",U0="Generic",BT=U0+" "+yn.toLowerCase(),I0=U0+" "+eo.toLowerCase(),Of="Konqueror",Rt="(\\d+(\\.\\d+)?)",Xd=new RegExp("Version/"+Rt),$T=new RegExp(Cs,"i"),VT=new RegExp(ao+" \\w+","i"),GT=new RegExp(no+" \\w+","i"),bh=new RegExp(ks+"|PlayBook|BB10","i"),YT={"NT3.51":"NT 3.11","NT4.0":"NT 4.0","5.0":"2000",5.1:"XP",5.2:"XP","6.0":"Vista",6.1:"7",6.2:"8",6.3:"8.1",6.4:"10","10.0":"10"},Fl,cy,Qd,KT=(s,n)=>n&&ke(n,E0)||(function(a){return ke(a,to)&&!ke(a,Ai)&&!ke(a,da)})(s),H0=function(s,n){return n=n||"",ke(s," OPR/")&&ke(s,"Mini")?qT:ke(s," OPR/")?vh:bh.test(s)?ks:ke(s,"IE"+yn)||ke(s,"WPDesktop")?P0:ke(s,j0)?R0:ke(s,yh)||ke(s,"Edg/")?O0:ke(s,"FBIOS")?"Facebook "+yn:ke(s,"UCWEB")||ke(s,"UCBrowser")?"UC Browser":ke(s,"CriOS")?D0:ke(s,"CrMo")||ke(s,Ai)?Ai:ke(s,da)&&ke(s,to)?F0:ke(s,"FxiOS")?L0:ke(s.toLowerCase(),Of.toLowerCase())?Of:KT(s,n)?ke(s,yn)?z0:to:ke(s,ws)?ws:ke(s,"MSIE")||ke(s,"Trident/")?gh:ke(s,"Gecko")?ws:""},XT={[P0]:[new RegExp("rv:"+Rt)],[O0]:[new RegExp(yh+"?\\/"+Rt)],[Ai]:[new RegExp("("+Ai+"|CrMo)\\/"+Rt)],[D0]:[new RegExp("CriOS\\/"+Rt)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+Rt)],[to]:[Xd],[z0]:[Xd],[vh]:[new RegExp("(Opera|OPR)\\/"+Rt)],[ws]:[new RegExp(ws+"\\/"+Rt)],[L0]:[new RegExp("FxiOS\\/"+Rt)],[Of]:[new RegExp("Konqueror[:/]?"+Rt,"i")],[ks]:[new RegExp(ks+" "+Rt),Xd],[F0]:[new RegExp("android\\s"+Rt,"i")],[R0]:[new RegExp(j0+"\\/"+Rt)],[gh]:[new RegExp("(rv:|MSIE )"+Rt)],Mozilla:[new RegExp("rv:"+Rt)]},QT=function(s,n){var a=H0(s,n),r=XT[a];if(X(r))return null;for(var l=0;l<r.length;l++){var c=r[l],f=s.match(c);if(f)return parseFloat(f[f.length-2])}return null},uy=[[new RegExp(Cs+"; "+Cs+" (.*?)[);]","i"),s=>[Cs,s&&s[1]||""]],[new RegExp(no,"i"),[no,""]],[new RegExp(ao,"i"),[ao,""]],[bh,[ks,""]],[new RegExp(Ir,"i"),(s,n)=>{if(/Phone/.test(n)||/WPDesktop/.test(n))return[Df,""];if(new RegExp(yn).test(n)&&!/IEMobile\b/.test(n))return[Ir+" "+yn,""];var a=/Windows NT ([0-9.]+)/i.exec(n);if(a&&a[1]){var r=a[1],l=YT[r]||"";return/arm/i.test(n)&&(l="RT"),[Ir,l]}return[Ir,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,s=>{if(s&&s[3]){var n=[s[3],s[4],s[5]||"0"];return[Jl,n.join(".")]}return[Jl,""]}],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,s=>{var n="";return s&&s.length>=3&&(n=X(s[2])?s[3]:s[2]),["watchOS",n]}],[new RegExp("("+da+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+da+")","i"),s=>{if(s&&s[2]){var n=[s[2],s[3],s[4]||"0"];return[da,n.join(".")]}return[da,""]}],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,s=>{var n=["Mac OS X",""];if(s&&s[1]){var a=[s[1],s[2],s[3]||"0"];n[1]=a.join(".")}return n}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[HT,""]],[/Linux|debian/i,["Linux",""]]],dy=function(s){return GT.test(s)?no:VT.test(s)?ao:$T.test(s)?Cs:new RegExp(Pf,"i").test(s)?Pf:new RegExp("("+Df+"|WPDesktop)","i").test(s)?Df:/iPad/.test(s)?T0:/iPod/.test(s)?"iPod Touch":/iPhone/.test(s)?"iPhone":/(watch)(?: ?os[,/]|\d,\d\/)[\d.]+/i.test(s)?N0:bh.test(s)?ks:/(kobo)\s(ereader|touch)/i.test(s)?"Kobo":new RegExp(ly,"i").test(s)?ly:/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i.test(s)||/(kf[a-z]+)( bui|\)).+silk\//i.test(s)?"Kindle Fire":/(Android|ZTE)/i.test(s)?new RegExp(yn).test(s)&&!/(9138B|TB782B|Nexus [97]|pixel c|HUAWEISHT|BTV|noble nook|smart ultra 6)/i.test(s)||/pixel[\daxl ]{1,6}/i.test(s)&&!/pixel c/i.test(s)||/(huaweimed-al00|tah-|APA|SM-G92|i980|zte|U304AA)/i.test(s)||/lmy47v/i.test(s)&&!/QTAQZ3/i.test(s)?da:A0:new RegExp("(pda|"+yn+")","i").test(s)?BT:new RegExp(eo,"i").test(s)&&!new RegExp(eo+" pc","i").test(s)?I0:""},ZT=s=>s instanceof Error;function WT(s){var n=globalThis._posthogChunkIds;if(n){var a=Object.keys(n);return Qd&&a.length===cy||(cy=a.length,Qd=a.reduce(((r,l)=>{Fl||(Fl={});var c=Fl[l];if(c)r[c[0]]=c[1];else for(var f=s(l),h=f.length-1;h>=0;h--){var g=f[h],m=g?.filename,y=n[l];if(m&&y){r[m]=y,Fl[l]=[m,y];break}}return r}),{})),Qd}}class JT{constructor(n,a,r){r===void 0&&(r=[]),this.coercers=n,this.stackParser=a,this.modifiers=r}buildFromUnknown(n,a){a===void 0&&(a={});var r=a&&a.mechanism||{handled:!0,type:"generic"},l=this.buildCoercingContext(r,a,0).apply(n),c=this.buildParsingContext(),f=this.parseStacktrace(l,c);return{$exception_list:this.convertToExceptionList(f,r),$exception_level:"error"}}modifyFrames(n){var a=this;return _s((function*(){for(var r of n)r.stacktrace&&r.stacktrace.frames&&Le(r.stacktrace.frames)&&(r.stacktrace.frames=yield a.applyModifiers(r.stacktrace.frames));return n}))()}coerceFallback(n){var a;return{type:"Error",value:"Unknown error",stack:(a=n.syntheticException)==null?void 0:a.stack,synthetic:!0}}parseStacktrace(n,a){var r,l;return n.cause!=null&&(r=this.parseStacktrace(n.cause,a)),n.stack!=""&&n.stack!=null&&(l=this.applyChunkIds(this.stackParser(n.stack,n.synthetic?1:0),a.chunkIdMap)),ee({},n,{cause:r,stack:l})}applyChunkIds(n,a){return n.map((r=>(r.filename&&a&&(r.chunk_id=a[r.filename]),r)))}applyCoercers(n,a){for(var r of this.coercers)if(r.match(n))return r.coerce(n,a);return this.coerceFallback(a)}applyModifiers(n){var a=this;return _s((function*(){var r=n;for(var l of a.modifiers)r=yield l(r);return r}))()}convertToExceptionList(n,a){var r,l,c,f={type:n.type,value:n.value,mechanism:{type:(r=a.type)!==null&&r!==void 0?r:"generic",handled:(l=a.handled)===null||l===void 0||l,synthetic:(c=n.synthetic)!==null&&c!==void 0&&c}};n.stack&&(f.stacktrace={type:"raw",frames:n.stack});var h=[f];return n.cause!=null&&h.push(...this.convertToExceptionList(n.cause,ee({},a,{handled:!0}))),h}buildParsingContext(){return{chunkIdMap:WT(this.stackParser)}}buildCoercingContext(n,a,r){r===void 0&&(r=0);var l=(c,f)=>{if(f<=4){var h=this.buildCoercingContext(n,a,f);return this.applyCoercers(c,h)}};return ee({},a,{syntheticException:r==0?a.syntheticException:void 0,mechanism:n,apply:c=>l(c,r),next:c=>l(c,r+1)})}}var As="?";function Lf(s,n,a,r,l){var c={platform:s,filename:n,function:a==="<anonymous>"?As:a,in_app:!0};return X(r)||(c.lineno=r),X(l)||(c.colno=l),c}var q0=(s,n)=>{var a=s.indexOf("safari-extension")!==-1,r=s.indexOf("safari-web-extension")!==-1;return a||r?[s.indexOf("@")!==-1?s.split("@")[0]:As,a?"safari-extension:"+n:"safari-web-extension:"+n]:[s,n]},eE=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,tE=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,nE=/\((\S*)(?::(\d+))(?::(\d+))\)/,aE=(s,n)=>{var a=eE.exec(s);if(a){var[,r,l,c]=a;return Lf(n,r,As,+l,+c)}var f=tE.exec(s);if(f){if(f[2]&&f[2].indexOf("eval")===0){var h=nE.exec(f[2]);h&&(f[2]=h[1],f[3]=h[2],f[4]=h[3])}var[g,m]=q0(f[1]||As,f[2]);return Lf(n,m,g,f[3]?+f[3]:void 0,f[4]?+f[4]:void 0)}},iE=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,sE=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,rE=(s,n)=>{var a=iE.exec(s);if(a){if(a[3]&&a[3].indexOf(" > eval")>-1){var r=sE.exec(a[3]);r&&(a[1]=a[1]||"eval",a[3]=r[1],a[4]=r[2],a[5]="")}var l=a[3],c=a[1]||As;return[c,l]=q0(c,l),Lf(n,l,c,a[4]?+a[4]:void 0,a[5]?+a[5]:void 0)}},fy=/\(error: (.*)\)/,hy=50;function oE(){return(function(s){for(var n=arguments.length,a=new Array(n>1?n-1:0),r=1;r<n;r++)a[r-1]=arguments[r];return function(l,c){c===void 0&&(c=0);for(var f=[],h=l.split(`
84
+ `),g=c;g<h.length;g++){var m=h[g];if(!(m.length>1024)){var y=fy.test(m)?m.replace(fy,"$1"):m;if(!y.match(/\S*Error: /)){for(var b of a){var x=b(y,s);if(x){f.push(x);break}}if(f.length>=hy)break}}}return(function(C){if(!C.length)return[];var E=Array.from(C);return E.reverse(),E.slice(0,hy).map((k=>{return ee({},k,{filename:k.filename||(A=E,A[A.length-1]||{}).filename,function:k.function||As});var A}))})(f)}})("web:javascript",aE,rE)}class lE{match(n){return this.isDOMException(n)||this.isDOMError(n)}coerce(n,a){var r=mt(n.stack);return{type:this.getType(n),value:this.getValue(n),stack:r?n.stack:void 0,cause:n.cause?a.next(n.cause):void 0,synthetic:!1}}getType(n){return this.isDOMError(n)?"DOMError":"DOMException"}getValue(n){var a=n.name||(this.isDOMError(n)?"DOMError":"DOMException");return n.message?a+": "+n.message:a}isDOMException(n){return Wl(n,"DOMException")}isDOMError(n){return Wl(n,"DOMError")}}class cE{match(n){return(a=>a instanceof Error)(n)}coerce(n,a){return{type:this.getType(n),value:this.getMessage(n,a),stack:this.getStack(n),cause:n.cause?a.next(n.cause):void 0,synthetic:!1}}getType(n){return n.name||n.constructor.name}getMessage(n,a){var r=n.message;return r.error&&typeof r.error.message=="string"?String(r.error.message):String(r)}getStack(n){return n.stacktrace||n.stack||void 0}}class uE{constructor(){}match(n){return Wl(n,"ErrorEvent")&&n.error!=null}coerce(n,a){var r,l=a.apply(n.error);return l||{type:"ErrorEvent",value:n.message,stack:(r=a.syntheticException)==null?void 0:r.stack,synthetic:!0}}}var dE=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;class fE{match(n){return typeof n=="string"}coerce(n,a){var r,[l,c]=this.getInfos(n);return{type:l??"Error",value:c??n,stack:(r=a.syntheticException)==null?void 0:r.stack,synthetic:!0}}getInfos(n){var a="Error",r=n,l=n.match(dE);return l&&(a=l[1],r=l[2]),[a,r]}}var hE=["fatal","error","warning","log","info","debug"];function B0(s,n){n===void 0&&(n=40);var a=Object.keys(s);if(a.sort(),!a.length)return"[object has no keys]";for(var r=a.length;r>0;r--){var l=a.slice(0,r).join(", ");if(!(l.length>n))return r===a.length||l.length<=n?l:l.slice(0,n)+"..."}return""}class pE{match(n){return typeof n=="object"&&n!==null}coerce(n,a){var r,l=this.getErrorPropertyFromObject(n);return l?a.apply(l):{type:this.getType(n),value:this.getValue(n),stack:(r=a.syntheticException)==null?void 0:r.stack,level:this.isSeverityLevel(n.level)?n.level:"error",synthetic:!0}}getType(n){return k0(n)?n.constructor.name:"Error"}getValue(n){if("name"in n&&typeof n.name=="string"){var a="'"+n.name+"' captured as exception";return"message"in n&&typeof n.message=="string"&&(a+=" with message: '"+n.message+"'"),a}if("message"in n&&typeof n.message=="string")return n.message;var r=this.getObjectClassName(n);return(r&&r!=="Object"?"'"+r+"'":"Object")+" captured as exception with keys: "+B0(n)}isSeverityLevel(n){return mt(n)&&!jf(n)&&hE.indexOf(n)>=0}getErrorPropertyFromObject(n){for(var a in n)if(Object.prototype.hasOwnProperty.call(n,a)){var r=n[a];if(ZT(r))return r}}getObjectClassName(n){try{var a=Object.getPrototypeOf(n);return a?a.constructor.name:void 0}catch{return}}}class mE{match(n){return k0(n)}coerce(n,a){var r,l=n.constructor.name;return{type:l,value:l+" captured as exception with keys: "+B0(n),stack:(r=a.syntheticException)==null?void 0:r.stack,synthetic:!0}}}class gE{match(n){return Rf(n)}coerce(n,a){var r;return{type:"Error",value:"Primitive value captured as exception: "+String(n),stack:(r=a.syntheticException)==null?void 0:r.stack,synthetic:!0}}}class vE{match(n){return Wl(n,"PromiseRejectionEvent")}coerce(n,a){var r,l=this.getUnhandledRejectionReason(n);return Rf(l)?{type:"UnhandledRejection",value:"Non-Error promise rejection captured with value: "+String(l),stack:(r=a.syntheticException)==null?void 0:r.stack,synthetic:!0}:a.apply(l)}getUnhandledRejectionReason(n){if(Rf(n))return n;try{if("reason"in n)return n.reason;if("detail"in n&&"reason"in n.detail)return n.detail.reason}catch{}return n}}var $0=function(s,n){var{debugEnabled:a}=n===void 0?{}:n,r={k:function(l){if(U&&(oa.DEBUG||ce.POSTHOG_DEBUG||a)&&!X(U.console)&&U.console){for(var c=("__rrweb_original__"in U.console[l])?U.console[l].__rrweb_original__:U.console[l],f=arguments.length,h=new Array(f>1?f-1:0),g=1;g<f;g++)h[g-1]=arguments[g];c(s,...h)}},info:function(){for(var l=arguments.length,c=new Array(l),f=0;f<l;f++)c[f]=arguments[f];r.k("log",...c)},warn:function(){for(var l=arguments.length,c=new Array(l),f=0;f<l;f++)c[f]=arguments[f];r.k("warn",...c)},error:function(){for(var l=arguments.length,c=new Array(l),f=0;f<l;f++)c[f]=arguments[f];r.k("error",...c)},critical:function(){for(var l=arguments.length,c=new Array(l),f=0;f<l;f++)c[f]=arguments[f];console.error(s,...c)},uninitializedWarning:l=>{r.error("You must initialize PostHog before calling "+l)},createLogger:(l,c)=>$0(s+" "+l,c)};return r},W=$0("[PostHog.js]"),at=W.createLogger,yE=at("[ExternalScriptsLoader]"),py=(s,n,a)=>{if(s.config.disable_external_dependency_loading)return yE.warn(n+" was requested but loading of external scripts is disabled."),a("Loading of external scripts is disabled");var r=J?.querySelectorAll("script");if(r){for(var l,c=function(){if(r[f].src===n){var g=r[f];return g.__posthog_loading_callback_fired?{v:a()}:(g.addEventListener("load",(m=>{g.__posthog_loading_callback_fired=!0,a(void 0,m)})),g.onerror=m=>a(m),{v:void 0})}},f=0;f<r.length;f++)if(l=c())return l.v}var h=()=>{if(!J)return a("document not found");var g=J.createElement("script");if(g.type="text/javascript",g.crossOrigin="anonymous",g.src=n,g.onload=b=>{g.__posthog_loading_callback_fired=!0,a(void 0,b)},g.onerror=b=>a(b),s.config.prepare_external_dependency_script&&(g=s.config.prepare_external_dependency_script(g)),!g)return a("prepare_external_dependency_script returned null");var m,y=J.querySelectorAll("body > script");y.length>0?(m=y[0].parentNode)==null||m.insertBefore(g,y[0]):J.body.appendChild(g)};J!=null&&J.body?h():J?.addEventListener("DOMContentLoaded",h)};ce.__PosthogExtensions__=ce.__PosthogExtensions__||{},ce.__PosthogExtensions__.loadExternalDependency=(s,n,a)=>{var r="/static/"+n+".js?v="+s.version;if(n==="remote-config"&&(r="/array/"+s.config.token+"/config.js"),n==="toolbar"){var l=3e5;r=r+"&t="+Math.floor(Date.now()/l)*l}var c=s.requestRouter.endpointFor("assets",r);py(s,c,a)},ce.__PosthogExtensions__.loadSiteApp=(s,n,a)=>{var r=s.requestRouter.endpointFor("api",n);py(s,r,a)};var ec={};function Xa(s,n,a){if(Le(s)){if(ay&&s.forEach===ay)s.forEach(n,a);else if("length"in s&&s.length===+s.length){for(var r=0,l=s.length;r<l;r++)if(r in s&&n.call(a,s[r],r)===ec)return}}}function Ve(s,n,a){if(!Re(s)){if(Le(s))return Xa(s,n,a);if(LT(s)){for(var r of s.entries())if(n.call(a,r[1],r[0])===ec)return}else for(var l in s)if(C0.call(s,l)&&n.call(a,s[l],l)===ec)return}}var rt=function(s){for(var n=arguments.length,a=new Array(n>1?n-1:0),r=1;r<n;r++)a[r-1]=arguments[r];return Xa(a,(function(l){for(var c in l)l[c]!==void 0&&(s[c]=l[c])})),s},Ps=function(s){for(var n=arguments.length,a=new Array(n>1?n-1:0),r=1;r<n;r++)a[r-1]=arguments[r];return Xa(a,(function(l){Xa(l,(function(c){s.push(c)}))})),s};function Yl(s){for(var n=Object.keys(s),a=n.length,r=new Array(a);a--;)r[a]=[n[a],s[n[a]]];return r}var my=function(s){try{return s()}catch{return}},bE=function(s){return function(){try{for(var n=arguments.length,a=new Array(n),r=0;r<n;r++)a[r]=arguments[r];return s.apply(this,a)}catch(l){W.critical("Implementation error. Please turn on debug mode and open a ticket on https://app.posthog.com/home#panel=support%3Asupport%3A."),W.critical(l)}}},_h=function(s){var n={};return Ve(s,(function(a,r){(mt(a)&&a.length>0||ma(a))&&(n[r]=a)})),n};function _E(s,n){return a=s,r=c=>mt(c)&&!Mn(n)?c.slice(0,n):c,l=new Set,(function c(f,h){return f!==Object(f)?r?r(f,h):f:l.has(f)?void 0:(l.add(f),Le(f)?(g=[],Xa(f,(m=>{g.push(c(m))}))):(g={},Ve(f,((m,y)=>{l.has(m)||(g[y]=c(m,y))}))),g);var g})(a);var a,r,l}var SE=["herokuapp.com","vercel.app","netlify.app"];function xE(s){var n=s?.hostname;if(!mt(n))return!1;var a=n.split(".").slice(-2).join(".");for(var r of SE)if(a===r)return!1;return!0}function V0(s,n){for(var a=0;a<s.length;a++)if(n(s[a]))return s[a]}function dt(s,n,a,r){var{capture:l=!1,passive:c=!0}=r??{};s?.addEventListener(n,a,{capture:l,passive:c})}var G0="$people_distinct_id",Hr="__alias",qr="__timers",gy="$autocapture_disabled_server_side",Ff="$heatmaps_enabled_server_side",vy="$exception_capture_enabled_server_side",zf="$error_tracking_suppression_rules",yy="$error_tracking_capture_extension_exceptions",by="$web_vitals_enabled_server_side",Y0="$dead_clicks_enabled_server_side",_y="$product_tours_enabled_server_side",Sy="$web_vitals_allowed_metrics",Zd="$session_recording_remote_config",tc="$sesid",K0="$session_is_sampled",xs="$enabled_feature_flags",Br="$early_access_features",Uf="$feature_flag_details",$r="$stored_person_properties",xi="$stored_group_properties",If="$surveys",nc="$flag_call_reported",la="$user_state",Hf="$client_session_props",qf="$capture_rate_limit",Bf="$initial_campaign_params",$f="$initial_referrer_info",ac="$initial_person_info",ic="$epp",X0="__POSTHOG_TOOLBAR__",jr="$posthog_cookieless",wE=[G0,Hr,"__cmpns",qr,"$session_recording_enabled_server_side",Ff,tc,xs,zf,la,Br,Uf,xi,$r,If,nc,Hf,qf,Bf,$f,ic,ac,"$conversations_widget_session_id","$conversations_ticket_id","$conversations_widget_state","$conversations_user_traits"];function xy(s){return s instanceof Element&&(s.id===X0||!(s.closest==null||!s.closest(".toolbar-global-fade-container")))}function Sc(s){return!!s&&s.nodeType===1}function Qa(s,n){return!!s&&!!s.tagName&&s.tagName.toLowerCase()===n.toLowerCase()}function Q0(s){return!!s&&s.nodeType===3}function Z0(s){return!!s&&s.nodeType===11}function Sh(s){return s?bc(s).split(/\s+/):[]}function wy(s){var n=U?.location.href;return!!(n&&s&&s.some((a=>n.match(a))))}function sc(s){var n="";switch(typeof s.className){case"string":n=s.className;break;case"object":n=(s.className&&"baseVal"in s.className?s.className.baseVal:null)||s.getAttribute("class")||"";break;default:n=""}return Sh(n)}function W0(s){return Re(s)?null:bc(s).split(/(\s+)/).filter((n=>io(n))).join("").replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255)}function fo(s){var n="";return Vf(s)&&!a_(s)&&s.childNodes&&s.childNodes.length&&Ve(s.childNodes,(function(a){var r;Q0(a)&&a.textContent&&(n+=(r=W0(a.textContent))!==null&&r!==void 0?r:"")})),bc(n)}function J0(s){return X(s.target)?s.srcElement||null:(n=s.target)!=null&&n.shadowRoot?s.composedPath()[0]||null:s.target||null;var n}var xh=["a","button","form","input","select","textarea","label"];function e_(s,n){if(X(n))return!0;var a,r=function(c){if(n.some((f=>c.matches(f))))return{v:!0}};for(var l of s)if(a=r(l))return a.v;return!1}function t_(s){var n=s.parentNode;return!(!n||!Sc(n))&&n}var CE=["next","previous","prev",">","<"],Cy=10,ky=[".ph-no-rageclick",".ph-no-capture"];function kE(s,n){if(!U||wh(s))return!1;var a,r,l;if(ha(n)?(a=!!n&&ky,r=void 0):(a=(l=n?.css_selector_ignorelist)!==null&&l!==void 0?l:ky,r=n?.content_ignorelist),a===!1)return!1;var{targetElementList:c}=n_(s,!1);return!(function(f,h){if(f===!1||X(f))return!1;var g;if(f===!0)g=CE;else{if(!Le(f))return!1;if(f.length>Cy)return W.error("[PostHog] content_ignorelist array cannot exceed "+Cy+" items. Use css_selector_ignorelist for more complex matching."),!1;g=f.map((m=>m.toLowerCase()))}return h.some((m=>{var{safeText:y,ariaLabel:b}=m;return g.some((x=>y.includes(x)||b.includes(x)))}))})(r,c.map((f=>{var h;return{safeText:fo(f).toLowerCase(),ariaLabel:((h=f.getAttribute("aria-label"))==null?void 0:h.toLowerCase().trim())||""}})))&&!e_(c,a)}var wh=s=>!s||Qa(s,"html")||!Sc(s),n_=(s,n)=>{if(!U||wh(s))return{parentIsUsefulElement:!1,targetElementList:[]};for(var a=!1,r=[s],l=s;l.parentNode&&!Qa(l,"body");)if(Z0(l.parentNode))r.push(l.parentNode.host),l=l.parentNode.host;else{var c=t_(l);if(!c)break;if(n||xh.indexOf(c.tagName.toLowerCase())>-1)a=!0;else{var f=U.getComputedStyle(c);f&&f.getPropertyValue("cursor")==="pointer"&&(a=!0)}r.push(c),l=c}return{parentIsUsefulElement:a,targetElementList:r}};function AE(s,n,a,r,l){var c,f,h,g;if(a===void 0&&(a=void 0),!U||wh(s)||(c=a)!=null&&c.url_allowlist&&!wy(a.url_allowlist)||(f=a)!=null&&f.url_ignorelist&&wy(a.url_ignorelist))return!1;if((h=a)!=null&&h.dom_event_allowlist){var m=a.dom_event_allowlist;if(m&&!m.some((E=>n.type===E)))return!1}var{parentIsUsefulElement:y,targetElementList:b}=n_(s,r);if(!(function(E,k){var A=k?.element_allowlist;if(X(A))return!0;var M,j=function(q){if(A.some((B=>q.tagName.toLowerCase()===B)))return{v:!0}};for(var D of E)if(M=j(D))return M.v;return!1})(b,a)||!e_(b,(g=a)==null?void 0:g.css_selector_allowlist))return!1;var x=U.getComputedStyle(s);if(x&&x.getPropertyValue("cursor")==="pointer"&&n.type==="click")return!0;var C=s.tagName.toLowerCase();switch(C){case"html":return!1;case"form":return(l||["submit"]).indexOf(n.type)>=0;case"input":case"select":case"textarea":return(l||["change","click"]).indexOf(n.type)>=0;default:return y?(l||["click"]).indexOf(n.type)>=0:(l||["click"]).indexOf(n.type)>=0&&(xh.indexOf(C)>-1||s.getAttribute("contenteditable")==="true")}}function Vf(s){for(var n=s;n.parentNode&&!Qa(n,"body");n=n.parentNode){var a=sc(n);if(ke(a,"ph-sensitive")||ke(a,"ph-no-capture"))return!1}if(ke(sc(s),"ph-include"))return!0;var r=s.type||"";if(mt(r))switch(r.toLowerCase()){case"hidden":case"password":return!1}var l=s.name||s.id||"";return!(mt(l)&&/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test(l.replace(/[^a-zA-Z0-9]/g,"")))}function a_(s){return!!(Qa(s,"input")&&!["button","checkbox","submit","reset"].includes(s.type)||Qa(s,"select")||Qa(s,"textarea")||s.getAttribute("contenteditable")==="true")}var i_="(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11})",TE=new RegExp("^(?:"+i_+")$"),EE=new RegExp(i_),s_="\\d{3}-?\\d{2}-?\\d{4}",NE=new RegExp("^("+s_+")$"),ME=new RegExp("("+s_+")");function io(s,n){return n===void 0&&(n=!0),!(Re(s)||mt(s)&&(s=bc(s),(n?TE:EE).test((s||"").replace(/[- ]/g,""))||(n?NE:ME).test(s)))}function r_(s){var n=fo(s);return io(n=(n+" "+o_(s)).trim())?n:""}function o_(s){var n="";return s&&s.childNodes&&s.childNodes.length&&Ve(s.childNodes,(function(a){var r;if(a&&((r=a.tagName)==null?void 0:r.toLowerCase())==="span")try{var l=fo(a);n=(n+" "+l).trim(),a.childNodes&&a.childNodes.length&&(n=(n+" "+o_(a)).trim())}catch(c){W.error("[AutoCapture]",c)}})),n}function jE(s){return(function(n){var a=n.map((r=>{var l,c,f="";if(r.tag_name&&(f+=r.tag_name),r.attr_class)for(var h of(r.attr_class.sort(),r.attr_class))f+="."+h.replace(/"/g,"");var g=ee({},r.text?{text:r.text}:{},{"nth-child":(l=r.nth_child)!==null&&l!==void 0?l:0,"nth-of-type":(c=r.nth_of_type)!==null&&c!==void 0?c:0},r.href?{href:r.href}:{},r.attr_id?{attr_id:r.attr_id}:{},r.attributes),m={};return Yl(g).sort(((y,b)=>{var[x]=y,[C]=b;return x.localeCompare(C)})).forEach((y=>{var[b,x]=y;return m[Ay(b.toString())]=Ay(x.toString())})),f+=":",f+=Yl(m).map((y=>{var[b,x]=y;return b+'="'+x+'"'})).join("")}));return a.join(";")})((function(n){return n.map((a=>{var r,l,c={text:(r=a.$el_text)==null?void 0:r.slice(0,400),tag_name:a.tag_name,href:(l=a.attr__href)==null?void 0:l.slice(0,2048),attr_class:RE(a),attr_id:a.attr__id,nth_child:a.nth_child,nth_of_type:a.nth_of_type,attributes:{}};return Yl(a).filter((f=>{var[h]=f;return h.indexOf("attr__")===0})).forEach((f=>{var[h,g]=f;return c.attributes[h]=g})),c}))})(s))}function Ay(s){return s.replace(/"|\\"/g,'\\"')}function RE(s){var n=s.attr__class;return n?Le(n)?n:Sh(n):void 0}class l_{constructor(n){this.disabled=n===!1;var a=yt(n)?n:{};this.thresholdPx=a.threshold_px||30,this.timeoutMs=a.timeout_ms||1e3,this.clickCount=a.click_count||3,this.clicks=[]}isRageClick(n,a,r){if(this.disabled)return!1;var l=this.clicks[this.clicks.length-1];if(l&&Math.abs(n-l.x)+Math.abs(a-l.y)<this.thresholdPx&&r-l.timestamp<this.timeoutMs){if(this.clicks.push({x:n,y:a,timestamp:r}),this.clicks.length===this.clickCount)return!0}else this.clicks=[{x:n,y:a,timestamp:r}];return!1}}var rc=s=>{var n=J?.createElement("a");return X(n)?null:(n.href=s,n)},DE=function(s,n){var a,r;n===void 0&&(n="&");var l=[];return Ve(s,(function(c,f){X(c)||X(f)||f==="undefined"||(a=encodeURIComponent((h=>h instanceof File)(c)?c.name:c.toString()),r=encodeURIComponent(f),l[l.length]=r+"="+a)})),l.join(n)},oc=function(s,n){for(var a,r=((s.split("#")[0]||"").split(/\?(.*)/)[1]||"").replace(/^\?+/g,"").split("&"),l=0;l<r.length;l++){var c=r[l].split("=");if(c[0]===n){a=c;break}}if(!Le(a)||a.length<2)return"";var f=a[1];try{f=decodeURIComponent(f)}catch{W.error("Skipping decoding for malformed query param: "+f)}return f.replace(/\+/g," ")},ho=function(s,n,a){if(!s||!n||!n.length)return s;for(var r=s.split("#"),l=r[0]||"",c=r[1],f=l.split("?"),h=f[1],g=f[0],m=(h||"").split("&"),y=[],b=0;b<m.length;b++){var x=m[b].split("=");Le(x)&&(n.includes(x[0])?y.push(x[0]+"="+a):y.push(m[b]))}var C=g;return h!=null&&(C+="?"+y.join("&")),c!=null&&(C+="#"+c),C},lc=function(s,n){var a=s.match(new RegExp(n+"=([^&]*)"));return a?a[1]:null},Wd="$copy_autocapture",Ty=at("[AutoCapture]");function Jd(s,n){return n.length>s?n.slice(0,s)+"...":n}function PE(s){if(s.previousElementSibling)return s.previousElementSibling;var n=s;do n=n.previousSibling;while(n&&!Sc(n));return n}function OE(s,n,a,r){var l=s.tagName.toLowerCase(),c={tag_name:l};xh.indexOf(l)>-1&&!a&&(l.toLowerCase()==="a"||l.toLowerCase()==="button"?c.$el_text=Jd(1024,r_(s)):c.$el_text=Jd(1024,fo(s)));var f=sc(s);f.length>0&&(c.classes=f.filter((function(y){return y!==""}))),Ve(s.attributes,(function(y){var b;if((!a_(s)||["name","id","class","aria-label"].indexOf(y.name)!==-1)&&(r==null||!r.includes(y.name))&&!n&&io(y.value)&&(b=y.name,!mt(b)||b.substring(0,10)!=="_ngcontent"&&b.substring(0,7)!=="_nghost")){var x=y.value;y.name==="class"&&(x=Sh(x).join(" ")),c["attr__"+y.name]=Jd(1024,x)}}));for(var h=1,g=1,m=s;m=PE(m);)h++,m.tagName===s.tagName&&g++;return c.nth_child=h,c.nth_of_type=g,c}function LE(s,n){for(var a,r,{e:l,maskAllElementAttributes:c,maskAllText:f,elementAttributeIgnoreList:h,elementsChainAsString:g}=n,m=[s],y=s;y.parentNode&&!Qa(y,"body");)Z0(y.parentNode)?(m.push(y.parentNode.host),y=y.parentNode.host):(m.push(y.parentNode),y=y.parentNode);var b,x=[],C={},E=!1,k=!1;if(Ve(m,(q=>{var B=Vf(q);q.tagName.toLowerCase()==="a"&&(E=q.getAttribute("href"),E=B&&E&&io(E)&&E),ke(sc(q),"ph-no-capture")&&(k=!0),x.push(OE(q,c,f,h));var V=(function(I){if(!Vf(I))return{};var L={};return Ve(I.attributes,(function(Z){if(Z.name&&Z.name.indexOf("data-ph-capture-attribute")===0){var re=Z.name.replace("data-ph-capture-attribute-",""),Se=Z.value;re&&Se&&io(Se)&&(L[re]=Se)}})),L})(q);rt(C,V)})),k)return{props:{},explicitNoCapture:k};if(f||(s.tagName.toLowerCase()==="a"||s.tagName.toLowerCase()==="button"?x[0].$el_text=r_(s):x[0].$el_text=fo(s)),E){var A,M;x[0].attr__href=E;var j=(A=rc(E))==null?void 0:A.host,D=U==null||(M=U.location)==null?void 0:M.host;j&&D&&j!==D&&(b=E)}return{props:rt({$event_type:l.type,$ce_version:1},g?{}:{$elements:x},{$elements_chain:jE(x)},(a=x[0])!=null&&a.$el_text?{$el_text:(r=x[0])==null?void 0:r.$el_text}:{},b&&l.type==="click"?{$external_click_url:b}:{},C)}}class FE{constructor(n){this.P=!1,this.T=null,this.I=!1,this.instance=n,this.rageclicks=new l_(n.config.rageclick),this.C=null}get R(){var n,a,r=yt(this.instance.config.autocapture)?this.instance.config.autocapture:{};return r.url_allowlist=(n=r.url_allowlist)==null?void 0:n.map((l=>new RegExp(l))),r.url_ignorelist=(a=r.url_ignorelist)==null?void 0:a.map((l=>new RegExp(l))),r}F(){if(this.isBrowserSupported()){if(U&&J){var n=r=>{r=r||U?.event;try{this.M(r)}catch(l){Ty.error("Failed to capture event",l)}};if(dt(J,"submit",n,{capture:!0}),dt(J,"change",n,{capture:!0}),dt(J,"click",n,{capture:!0}),this.R.capture_copied_text){var a=r=>{r=r||U?.event,this.M(r,Wd)};dt(J,"copy",a,{capture:!0}),dt(J,"cut",a,{capture:!0})}}}else Ty.info("Disabling Automatic Event Collection because this browser is not supported")}startIfEnabled(){this.isEnabled&&!this.P&&(this.F(),this.P=!0)}onRemoteConfig(n){n.elementsChainAsString&&(this.I=n.elementsChainAsString),this.instance.persistence&&this.instance.persistence.register({[gy]:!!n.autocapture_opt_out}),this.T=!!n.autocapture_opt_out,this.startIfEnabled()}setElementSelectors(n){this.C=n}getElementSelectors(n){var a,r=[];return(a=this.C)==null||a.forEach((l=>{var c=J?.querySelectorAll(l);c?.forEach((f=>{n===f&&r.push(l)}))})),r}get isEnabled(){var n,a,r=(n=this.instance.persistence)==null?void 0:n.props[gy],l=this.T;if(Mn(l)&&!ha(r)&&!this.instance.O())return!1;var c=(a=this.T)!==null&&a!==void 0?a:!!r;return!!this.instance.config.autocapture&&!c}M(n,a){if(a===void 0&&(a="$autocapture"),this.isEnabled){var r,l=J0(n);Q0(l)&&(l=l.parentNode||null),a==="$autocapture"&&n.type==="click"&&n instanceof MouseEvent&&this.instance.config.rageclick&&(r=this.rageclicks)!=null&&r.isRageClick(n.clientX,n.clientY,n.timeStamp||new Date().getTime())&&kE(l,this.instance.config.rageclick)&&this.M(n,"$rageclick");var c=a===Wd;if(l&&AE(l,n,this.R,c,c?["copy","cut"]:void 0)){var{props:f,explicitNoCapture:h}=LE(l,{e:n,maskAllElementAttributes:this.instance.config.mask_all_element_attributes,maskAllText:this.instance.config.mask_all_text,elementAttributeIgnoreList:this.R.element_attribute_ignorelist,elementsChainAsString:this.I});if(h)return!1;var g=this.getElementSelectors(l);if(g&&g.length>0&&(f.$element_selectors=g),a===Wd){var m,y=W0(U==null||(m=U.getSelection())==null?void 0:m.toString()),b=n.type||"clipboard";if(!y)return!1;f.$selected_content=y,f.$copy_type=b}return this.instance.capture(a,f),!0}}}isBrowserSupported(){return Ka(J?.querySelectorAll)}}Math.trunc||(Math.trunc=function(s){return s<0?Math.ceil(s):Math.floor(s)}),Number.isInteger||(Number.isInteger=function(s){return ma(s)&&isFinite(s)&&Math.floor(s)===s});var Ey="0123456789abcdef";class cc{constructor(n){if(this.bytes=n,n.length!==16)throw new TypeError("not 128-bit length")}static fromFieldsV7(n,a,r,l){if(!Number.isInteger(n)||!Number.isInteger(a)||!Number.isInteger(r)||!Number.isInteger(l)||n<0||a<0||r<0||l<0||n>0xffffffffffff||a>4095||r>1073741823||l>4294967295)throw new RangeError("invalid field value");var c=new Uint8Array(16);return c[0]=n/Math.pow(2,40),c[1]=n/Math.pow(2,32),c[2]=n/Math.pow(2,24),c[3]=n/Math.pow(2,16),c[4]=n/Math.pow(2,8),c[5]=n,c[6]=112|a>>>8,c[7]=a,c[8]=128|r>>>24,c[9]=r>>>16,c[10]=r>>>8,c[11]=r,c[12]=l>>>24,c[13]=l>>>16,c[14]=l>>>8,c[15]=l,new cc(c)}toString(){for(var n="",a=0;a<this.bytes.length;a++)n=n+Ey.charAt(this.bytes[a]>>>4)+Ey.charAt(15&this.bytes[a]),a!==3&&a!==5&&a!==7&&a!==9||(n+="-");if(n.length!==36)throw new Error("Invalid UUIDv7 was generated");return n}clone(){return new cc(this.bytes.slice(0))}equals(n){return this.compareTo(n)===0}compareTo(n){for(var a=0;a<16;a++){var r=this.bytes[a]-n.bytes[a];if(r!==0)return Math.sign(r)}return 0}}class zE{constructor(){this.A=0,this.D=0,this.j=new UE}generate(){var n=this.generateOrAbort();if(X(n)){this.A=0;var a=this.generateOrAbort();if(X(a))throw new Error("Could not generate UUID after timestamp reset");return a}return n}generateOrAbort(){var n=Date.now();if(n>this.A)this.A=n,this.L();else{if(!(n+1e4>this.A))return;this.D++,this.D>4398046511103&&(this.A++,this.L())}return cc.fromFieldsV7(this.A,Math.trunc(this.D/Math.pow(2,30)),this.D&Math.pow(2,30)-1,this.j.nextUint32())}L(){this.D=1024*this.j.nextUint32()+(1023&this.j.nextUint32())}}var Ny,c_=s=>{if(typeof UUIDV7_DENY_WEAK_RNG<"u"&&UUIDV7_DENY_WEAK_RNG)throw new Error("no cryptographically strong RNG available");for(var n=0;n<s.length;n++)s[n]=65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random());return s};U&&!X(U.crypto)&&crypto.getRandomValues&&(c_=s=>crypto.getRandomValues(s));class UE{constructor(){this.N=new Uint32Array(8),this.U=1/0}nextUint32(){return this.U>=this.N.length&&(c_(this.N),this.U=0),this.N[this.U++]}}var Ya=()=>IE().toString(),IE=()=>(Ny||(Ny=new zE)).generate(),Rr="",HE=/[a-z0-9][a-z0-9-]+\.[a-z]{2,}$/i;function qE(s,n){if(n){var a=(function(l,c){if(c===void 0&&(c=J),Rr)return Rr;if(!c||["localhost","127.0.0.1"].includes(l))return"";for(var f=l.split("."),h=Math.min(f.length,8),g="dmn_chk_"+Ya();!Rr&&h--;){var m=f.slice(h).join("."),y=g+"=1;domain=."+m+";path=/";c.cookie=y+";max-age=3",c.cookie.includes(g)&&(c.cookie=y+";max-age=0",Rr=m)}return Rr})(s);if(!a){var r=(l=>{var c=l.match(HE);return c?c[0]:""})(s);r!==a&&W.info("Warning: cookie subdomain discovery mismatch",r,a),a=r}return a?"; domain=."+a:""}return""}var On={H:()=>!!J,B:function(s){W.error("cookieStore error: "+s)},q:function(s){if(J){try{for(var n=s+"=",a=J.cookie.split(";").filter((c=>c.length)),r=0;r<a.length;r++){for(var l=a[r];l.charAt(0)==" ";)l=l.substring(1,l.length);if(l.indexOf(n)===0)return decodeURIComponent(l.substring(n.length,l.length))}}catch{}return null}},W:function(s){var n;try{n=JSON.parse(On.q(s))||{}}catch{}return n},G:function(s,n,a,r,l){if(J)try{var c="",f="",h=qE(J.location.hostname,r);if(a){var g=new Date;g.setTime(g.getTime()+24*a*60*60*1e3),c="; expires="+g.toUTCString()}l&&(f="; secure");var m=s+"="+encodeURIComponent(JSON.stringify(n))+c+"; SameSite=Lax; path=/"+h+f;return m.length>3686.4&&W.warn("cookieStore warning: large cookie, len="+m.length),J.cookie=m,m}catch{return}},V:function(s,n){if(J!=null&&J.cookie)try{On.G(s,"",-1,n)}catch{return}}},ef=null,Je={H:function(){if(!Mn(ef))return ef;var s=!0;if(X(U))s=!1;else try{var n="__mplssupport__";Je.G(n,"xyz"),Je.q(n)!=='"xyz"'&&(s=!1),Je.V(n)}catch{s=!1}return s||W.error("localStorage unsupported; falling back to cookie store"),ef=s,s},B:function(s){W.error("localStorage error: "+s)},q:function(s){try{return U?.localStorage.getItem(s)}catch(n){Je.B(n)}return null},W:function(s){try{return JSON.parse(Je.q(s))||{}}catch{}return null},G:function(s,n){try{U?.localStorage.setItem(s,JSON.stringify(n))}catch(a){Je.B(a)}},V:function(s){try{U?.localStorage.removeItem(s)}catch(n){Je.B(n)}}},BE=["$device_id","distinct_id",tc,K0,ic,ac],zl={},$E={H:function(){return!0},B:function(s){W.error("memoryStorage error: "+s)},q:function(s){return zl[s]||null},W:function(s){return zl[s]||null},G:function(s,n){zl[s]=n},V:function(s){delete zl[s]}},bi=null,kt={H:function(){if(!Mn(bi))return bi;if(bi=!0,X(U))bi=!1;else try{var s="__support__";kt.G(s,"xyz"),kt.q(s)!=='"xyz"'&&(bi=!1),kt.V(s)}catch{bi=!1}return bi},B:function(s){W.error("sessionStorage error: ",s)},q:function(s){try{return U?.sessionStorage.getItem(s)}catch(n){kt.B(n)}return null},W:function(s){try{return JSON.parse(kt.q(s))||null}catch{}return null},G:function(s,n){try{U?.sessionStorage.setItem(s,JSON.stringify(n))}catch(a){kt.B(a)}},V:function(s){try{U?.sessionStorage.removeItem(s)}catch(n){kt.B(n)}}},ca=(function(s){return s[s.PENDING=-1]="PENDING",s[s.DENIED=0]="DENIED",s[s.GRANTED=1]="GRANTED",s})({});class VE{constructor(n){this._instance=n}get R(){return this._instance.config}get consent(){return this.J()?ca.DENIED:this.K}isOptedOut(){return this.R.cookieless_mode==="always"||this.consent===ca.DENIED||this.consent===ca.PENDING&&(this.R.opt_out_capturing_by_default||this.R.cookieless_mode==="on_reject")}isOptedIn(){return!this.isOptedOut()}isExplicitlyOptedOut(){return this.consent===ca.DENIED}optInOut(n){this.Y.G(this.X,n?1:0,this.R.cookie_expiration,this.R.cross_subdomain_cookie,this.R.secure_cookie)}reset(){this.Y.V(this.X,this.R.cross_subdomain_cookie)}get X(){var{token:n,opt_out_capturing_cookie_prefix:a,consent_persistence_name:r}=this._instance.config;return r||(a?a+n:"__ph_opt_in_out_"+n)}get K(){var n=this.Y.q(this.X);return Kd(n)?ca.GRANTED:ke(UT,n)?ca.DENIED:ca.PENDING}get Y(){if(!this.Z){var n=this.R.opt_out_capturing_persistence_type;this.Z=n==="localStorage"?Je:On;var a=n==="localStorage"?On:Je;a.q(this.X)&&(this.Z.q(this.X)||this.optInOut(Kd(a.q(this.X))),a.V(this.X,this.R.cross_subdomain_cookie))}return this.Z}J(){return!!this.R.respect_dnt&&!!V0([an?.doNotTrack,an?.msDoNotTrack,ce.doNotTrack],(n=>Kd(n)))}}var Ul=at("[Dead Clicks]"),GE=()=>!0,YE=s=>{var n,a=!((n=s.instance.persistence)==null||!n.get_property(Y0)),r=s.instance.config.capture_dead_clicks;return ha(r)?r:!!yt(r)||a};class u_{get lazyLoadedDeadClicksAutocapture(){return this.tt}constructor(n,a,r){this.instance=n,this.isEnabled=a,this.onCapture=r,this.startIfEnabled()}onRemoteConfig(n){this.instance.persistence&&this.instance.persistence.register({[Y0]:n?.captureDeadClicks}),this.startIfEnabled()}startIfEnabled(){this.isEnabled(this)&&this.it((()=>{this.et()}))}it(n){var a,r;(a=ce.__PosthogExtensions__)!=null&&a.initDeadClicksAutocapture&&n(),(r=ce.__PosthogExtensions__)==null||r.loadExternalDependency==null||r.loadExternalDependency(this.instance,"dead-clicks-autocapture",(l=>{l?Ul.error("failed to load script",l):n()}))}et(){var n;if(J){if(!this.tt&&(n=ce.__PosthogExtensions__)!=null&&n.initDeadClicksAutocapture){var a=yt(this.instance.config.capture_dead_clicks)?this.instance.config.capture_dead_clicks:{};a.__onCapture=this.onCapture,this.tt=ce.__PosthogExtensions__.initDeadClicksAutocapture(this.instance,a),this.tt.start(J),Ul.info("starting...")}}else Ul.error("`document` not found. Cannot start.")}stop(){this.tt&&(this.tt.stop(),this.tt=void 0,Ul.info("stopping..."))}}var Dr=at("[ExceptionAutocapture]");class KE{constructor(n){var a,r,l;this.rt=()=>{var c;if(U&&this.isEnabled&&(c=ce.__PosthogExtensions__)!=null&&c.errorWrappingFunctions){var f=ce.__PosthogExtensions__.errorWrappingFunctions.wrapOnError,h=ce.__PosthogExtensions__.errorWrappingFunctions.wrapUnhandledRejection,g=ce.__PosthogExtensions__.errorWrappingFunctions.wrapConsoleError;try{!this.st&&this.R.capture_unhandled_errors&&(this.st=f(this.captureException.bind(this))),!this.nt&&this.R.capture_unhandled_rejections&&(this.nt=h(this.captureException.bind(this))),!this.ot&&this.R.capture_console_errors&&(this.ot=g(this.captureException.bind(this)))}catch(m){Dr.error("failed to start",m),this.ut()}}},this._instance=n,this.ht=!((a=this._instance.persistence)==null||!a.props[vy]),this.dt=new IT({refillRate:(r=this._instance.config.error_tracking.__exceptionRateLimiterRefillRate)!==null&&r!==void 0?r:1,bucketSize:(l=this._instance.config.error_tracking.__exceptionRateLimiterBucketSize)!==null&&l!==void 0?l:10,refillInterval:1e4,h:Dr}),this.R=this.vt(),this.startIfEnabledOrStop()}vt(){var n=this._instance.config.capture_exceptions,a={capture_unhandled_errors:!1,capture_unhandled_rejections:!1,capture_console_errors:!1};return yt(n)?a=ee({},a,n):(X(n)?this.ht:n)&&(a=ee({},a,{capture_unhandled_errors:!0,capture_unhandled_rejections:!0})),a}get isEnabled(){return this.R.capture_console_errors||this.R.capture_unhandled_errors||this.R.capture_unhandled_rejections}startIfEnabledOrStop(){this.isEnabled?(Dr.info("enabled"),this.ut(),this.it(this.rt)):this.ut()}it(n){var a,r;(a=ce.__PosthogExtensions__)!=null&&a.errorWrappingFunctions&&n(),(r=ce.__PosthogExtensions__)==null||r.loadExternalDependency==null||r.loadExternalDependency(this._instance,"exception-autocapture",(l=>{if(l)return Dr.error("failed to load script",l);n()}))}ut(){var n,a,r;(n=this.st)==null||n.call(this),this.st=void 0,(a=this.nt)==null||a.call(this),this.nt=void 0,(r=this.ot)==null||r.call(this),this.ot=void 0}onRemoteConfig(n){var a=n.autocaptureExceptions;this.ht=!!a||!1,this._instance.persistence&&this._instance.persistence.register({[vy]:this.ht}),this.R=this.vt(),this.startIfEnabledOrStop()}onConfigChange(){this.R=this.vt()}captureException(n){var a,r,l=(a=n==null||(r=n.$exception_list)==null||(r=r[0])==null?void 0:r.type)!==null&&a!==void 0?a:"Exception";this.dt.consumeRateLimit(l)?Dr.info("Skipping exception capture because of client rate limiting.",{exception:l}):this._instance.exceptions.sendExceptionEvent(n)}}function My(s,n,a){try{if(!(n in s))return()=>{};var r=s[n],l=a(r);return Ka(l)&&(l.prototype=l.prototype||{},Object.defineProperties(l,{__posthog_wrapped__:{enumerable:!1,value:!0}})),s[n]=l,()=>{s[n]=r}}catch{return()=>{}}}class XE{constructor(n){var a;this._instance=n,this.ct=(U==null||(a=U.location)==null?void 0:a.pathname)||""}get isEnabled(){return this._instance.config.capture_pageview==="history_change"}startIfEnabled(){this.isEnabled&&(W.info("History API monitoring enabled, starting..."),this.monitorHistoryChanges())}stop(){this.ft&&this.ft(),this.ft=void 0,W.info("History API monitoring stopped")}monitorHistoryChanges(){var n,a;if(U&&U.history){var r=this;(n=U.history.pushState)!=null&&n.__posthog_wrapped__||My(U.history,"pushState",(l=>function(c,f,h){l.call(this,c,f,h),r._t("pushState")})),(a=U.history.replaceState)!=null&&a.__posthog_wrapped__||My(U.history,"replaceState",(l=>function(c,f,h){l.call(this,c,f,h),r._t("replaceState")})),this.yt()}}_t(n){try{var a,r=U==null||(a=U.location)==null?void 0:a.pathname;if(!r)return;r!==this.ct&&this.isEnabled&&this._instance.capture("$pageview",{navigation_type:n}),this.ct=r}catch(l){W.error("Error capturing "+n+" pageview",l)}}yt(){if(!this.ft){var n=()=>{this._t("popstate")};dt(U,"popstate",n),this.ft=()=>{U&&U.removeEventListener("popstate",n)}}}}var tf=at("[SegmentIntegration]");function QE(s,n){var a=s.config.segment;if(!a)return n();(function(r,l){var c=r.config.segment;if(!c)return l();var f=g=>{var m=()=>g.anonymousId()||Ya();r.config.get_device_id=m,g.id()&&(r.register({distinct_id:g.id(),$device_id:m()}),r.persistence.set_property(la,"identified")),l()},h=c.user();"then"in h&&Ka(h.then)?h.then(f):f(h)})(s,(()=>{a.register((r=>{Promise&&Promise.resolve||tf.warn("This browser does not have Promise support, and can not use the segment integration");var l=(c,f)=>{if(!f)return c;c.event.userId||c.event.anonymousId===r.get_distinct_id()||(tf.info("No userId set, resetting PostHog"),r.reset()),c.event.userId&&c.event.userId!==r.get_distinct_id()&&(tf.info("UserId set, identifying with PostHog"),r.identify(c.event.userId));var h=r.calculateEventProperties(f,c.event.properties);return c.event.properties=Object.assign({},h,c.event.properties),c};return{name:"PostHog JS",type:"enrichment",version:"1.0.0",isLoaded:()=>!0,load:()=>Promise.resolve(),track:c=>l(c,c.event.event),page:c=>l(c,"$pageview"),identify:c=>l(c,"$identify"),screen:c=>l(c,"$screen")}})(s)).then((()=>{n()}))}))}var d_="posthog-js";function f_(s,n){var{organization:a,projectId:r,prefix:l,severityAllowList:c=["error"],sendExceptionsToPostHog:f=!0}=n===void 0?{}:n;return h=>{var g,m,y,b,x;if(!(c==="*"||c.includes(h.level))||!s.__loaded)return h;h.tags||(h.tags={});var C=s.requestRouter.endpointFor("ui","/project/"+s.config.token+"/person/"+s.get_distinct_id());h.tags["PostHog Person URL"]=C,s.sessionRecordingStarted()&&(h.tags["PostHog Recording URL"]=s.get_session_replay_url({withTimestamp:!0}));var E=((g=h.exception)==null?void 0:g.values)||[],k=E.map((M=>ee({},M,{stacktrace:M.stacktrace?ee({},M.stacktrace,{type:"raw",frames:(M.stacktrace.frames||[]).map((j=>ee({},j,{platform:"web:javascript"})))}):void 0}))),A={$exception_message:((m=E[0])==null?void 0:m.value)||h.message,$exception_type:(y=E[0])==null?void 0:y.type,$exception_level:h.level,$exception_list:k,$sentry_event_id:h.event_id,$sentry_exception:h.exception,$sentry_exception_message:((b=E[0])==null?void 0:b.value)||h.message,$sentry_exception_type:(x=E[0])==null?void 0:x.type,$sentry_tags:h.tags};return a&&r&&(A.$sentry_url=(l||"https://sentry.io/organizations/")+a+"/issues/?project="+r+"&query="+h.event_id),f&&s.exceptions.sendExceptionEvent(A),h}}class ZE{constructor(n,a,r,l,c,f){this.name=d_,this.setupOnce=function(h){h(f_(n,{organization:a,projectId:r,prefix:l,severityAllowList:c,sendExceptionsToPostHog:f==null||f}))}}}var WE=U!=null&&U.location?lc(U.location.hash,"__posthog")||lc(location.hash,"state"):null,jy="_postHogToolbarParams",Ry=at("[Toolbar]"),Ga=(function(s){return s[s.UNINITIALIZED=0]="UNINITIALIZED",s[s.LOADING=1]="LOADING",s[s.LOADED=2]="LOADED",s})(Ga||{});class JE{constructor(n){this.instance=n}bt(n){ce.ph_toolbar_state=n}wt(){var n;return(n=ce.ph_toolbar_state)!==null&&n!==void 0?n:Ga.UNINITIALIZED}maybeLoadToolbar(n,a,r){if(n===void 0&&(n=void 0),a===void 0&&(a=void 0),r===void 0&&(r=void 0),!U||!J)return!1;n=n??U.location,r=r??U.history;try{if(!a){try{U.localStorage.setItem("test","test"),U.localStorage.removeItem("test")}catch{return!1}a=U?.localStorage}var l,c=WE||lc(n.hash,"__posthog")||lc(n.hash,"state"),f=c?my((()=>JSON.parse(atob(decodeURIComponent(c)))))||my((()=>JSON.parse(decodeURIComponent(c)))):null;return f&&f.action==="ph_authorize"?((l=f).source="url",l&&Object.keys(l).length>0&&(f.desiredHash?n.hash=f.desiredHash:r?r.replaceState(r.state,"",n.pathname+n.search):n.hash="")):((l=JSON.parse(a.getItem(jy)||"{}")).source="localstorage",delete l.userIntent),!(!l.token||this.instance.config.token!==l.token)&&(this.loadToolbar(l),!0)}catch{return!1}}xt(n){var a=ce.ph_load_toolbar||ce.ph_load_editor;!Re(a)&&Ka(a)?a(n,this.instance):Ry.warn("No toolbar load function found")}loadToolbar(n){var a=!(J==null||!J.getElementById(X0));if(!U||a)return!1;var r=this.instance.requestRouter.region==="custom"&&this.instance.config.advanced_disable_toolbar_metrics,l=ee({token:this.instance.config.token},n,{apiURL:this.instance.requestRouter.endpointFor("ui")},r?{instrument:!1}:{});if(U.localStorage.setItem(jy,JSON.stringify(ee({},l,{source:void 0}))),this.wt()===Ga.LOADED)this.xt(l);else if(this.wt()===Ga.UNINITIALIZED){var c;this.bt(Ga.LOADING),(c=ce.__PosthogExtensions__)==null||c.loadExternalDependency==null||c.loadExternalDependency(this.instance,"toolbar",(f=>{if(f)return Ry.error("[Toolbar] Failed to load",f),void this.bt(Ga.UNINITIALIZED);this.bt(Ga.LOADED),this.xt(l)})),dt(U,"turbolinks:load",(()=>{this.bt(Ga.UNINITIALIZED),this.loadToolbar(l)}))}return!0}Et(n){return this.loadToolbar(n)}maybeLoadEditor(n,a,r){return n===void 0&&(n=void 0),a===void 0&&(a=void 0),r===void 0&&(r=void 0),this.maybeLoadToolbar(n,a,r)}}var e1=at("[TracingHeaders]");class t1{constructor(n){this.$t=void 0,this.St=void 0,this.rt=()=>{var a,r;X(this.$t)&&((a=ce.__PosthogExtensions__)==null||(a=a.tracingHeadersPatchFns)==null||a._patchXHR(this._instance.config.__add_tracing_headers||[],this._instance.get_distinct_id(),this._instance.sessionManager)),X(this.St)&&((r=ce.__PosthogExtensions__)==null||(r=r.tracingHeadersPatchFns)==null||r._patchFetch(this._instance.config.__add_tracing_headers||[],this._instance.get_distinct_id(),this._instance.sessionManager))},this._instance=n}it(n){var a,r;(a=ce.__PosthogExtensions__)!=null&&a.tracingHeadersPatchFns&&n(),(r=ce.__PosthogExtensions__)==null||r.loadExternalDependency==null||r.loadExternalDependency(this._instance,"tracing-headers",(l=>{if(l)return e1.error("failed to load script",l);n()}))}startIfEnabledOrStop(){var n,a;this._instance.config.__add_tracing_headers?this.it(this.rt):((n=this.$t)==null||n.call(this),(a=this.St)==null||a.call(this),this.$t=void 0,this.St=void 0)}}var Il="https?://(.*)",Os=["gclid","gclsrc","dclid","gbraid","wbraid","fbclid","msclkid","twclid","li_fat_id","igshid","ttclid","rdt_cid","epik","qclid","sccid","irclid","_kx"],n1=Ps(["utm_source","utm_medium","utm_campaign","utm_content","utm_term","gad_source","mc_cid"],Os),po="<masked>",a1=["li_fat_id"];function h_(s,n,a){if(!J)return{};var r,l=n?Ps([],Os,a||[]):[],c=p_(ho(J.URL,l,po),s),f=(r={},Ve(a1,(function(h){var g=On.q(h);r[h]=g||null})),r);return rt(f,c)}function p_(s,n){var a=n1.concat(n||[]),r={};return Ve(a,(function(l){var c=oc(s,l);r[l]=c||null})),r}function m_(s){var n=(function(c){return c?c.search(Il+"google.([^/?]*)")===0?"google":c.search(Il+"bing.com")===0?"bing":c.search(Il+"yahoo.com")===0?"yahoo":c.search(Il+"duckduckgo.com")===0?"duckduckgo":null:null})(s),a=n!="yahoo"?"q":"p",r={};if(!Mn(n)){r.$search_engine=n;var l=J?oc(J.referrer,a):"";l.length&&(r.ph_keyword=l)}return r}function Dy(){return navigator.language||navigator.userLanguage}function g_(){return J?.referrer||"$direct"}function v_(s,n){var a=s?Ps([],Os,n||[]):[],r=qt?.href.substring(0,1e3);return{r:g_().substring(0,1e3),u:r?ho(r,a,po):void 0}}function y_(s){var n,{r:a,u:r}=s,l={$referrer:a,$referring_domain:a==null?void 0:a=="$direct"?"$direct":(n=rc(a))==null?void 0:n.host};if(r){l.$current_url=r;var c=rc(r);l.$host=c?.host,l.$pathname=c?.pathname;var f=p_(r);rt(l,f)}if(a){var h=m_(a);rt(l,h)}return l}function b_(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}}function i1(){try{return new Date().getTimezoneOffset()}catch{return}}function s1(s,n){if(!Ht)return{};var a,r,l,c=s?Ps([],Os,n||[]):[],[f,h]=(function(g){for(var m=0;m<uy.length;m++){var[y,b]=uy[m],x=y.exec(g),C=x&&(Ka(b)?b(x,g):b);if(C)return C}return["",""]})(Ht);return rt(_h({$os:f,$os_version:h,$browser:H0(Ht,navigator.vendor),$device:dy(Ht),$device_type:(r=Ht,l=dy(r),l===T0||l===A0||l==="Kobo"||l==="Kindle Fire"||l===I0?eo:l===no||l===Cs||l===ao||l===Pf?"Console":l===N0?"Wearable":l?yn:"Desktop"),$timezone:b_(),$timezone_offset:i1()}),{$current_url:ho(qt?.href,c,po),$host:qt?.host,$pathname:qt?.pathname,$raw_user_agent:Ht.length>1e3?Ht.substring(0,997)+"...":Ht,$browser_version:QT(Ht,navigator.vendor),$browser_language:Dy(),$browser_language_prefix:(a=Dy(),typeof a=="string"?a.split("-")[0]:void 0),$screen_height:U?.screen.height,$screen_width:U?.screen.width,$viewport_height:U?.innerHeight,$viewport_width:U?.innerWidth,$lib:"web",$lib_version:oa.LIB_VERSION,$insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),$time:Date.now()/1e3})}var $a=at("[Web Vitals]"),Py=9e5;class r1{constructor(n){var a;this.kt=!1,this.P=!1,this.N={url:void 0,metrics:[],firstMetricTimestamp:void 0},this.Pt=()=>{clearTimeout(this.Tt),this.N.metrics.length!==0&&(this._instance.capture("$web_vitals",this.N.metrics.reduce(((r,l)=>ee({},r,{["$web_vitals_"+l.name+"_event"]:ee({},l),["$web_vitals_"+l.name+"_value"]:l.value})),{})),this.N={url:void 0,metrics:[],firstMetricTimestamp:void 0})},this.It=r=>{var l,c=(l=this._instance.sessionManager)==null?void 0:l.checkAndGetSessionAndWindowId(!0);if(X(c))$a.error("Could not read session ID. Dropping metrics!");else{this.N=this.N||{url:void 0,metrics:[],firstMetricTimestamp:void 0};var f=this.Ct();X(f)||(Re(r?.name)||Re(r?.value)?$a.error("Invalid metric received",r):this.Rt&&r.value>=this.Rt?$a.error("Ignoring metric with value >= "+this.Rt,r):(this.N.url!==f&&(this.Pt(),this.Tt=setTimeout(this.Pt,this.flushToCaptureTimeoutMs)),X(this.N.url)&&(this.N.url=f),this.N.firstMetricTimestamp=X(this.N.firstMetricTimestamp)?Date.now():this.N.firstMetricTimestamp,r.attribution&&r.attribution.interactionTargetElement&&(r.attribution.interactionTargetElement=void 0),this.N.metrics.push(ee({},r,{$current_url:f,$session_id:c.sessionId,$window_id:c.windowId,timestamp:Date.now()})),this.N.metrics.length===this.allowedMetrics.length&&this.Pt()))}},this.rt=()=>{var r,l,c,f,h=ce.__PosthogExtensions__;X(h)||X(h.postHogWebVitalsCallbacks)||({onLCP:r,onCLS:l,onFCP:c,onINP:f}=h.postHogWebVitalsCallbacks),r&&l&&c&&f?(this.allowedMetrics.indexOf("LCP")>-1&&r(this.It.bind(this)),this.allowedMetrics.indexOf("CLS")>-1&&l(this.It.bind(this)),this.allowedMetrics.indexOf("FCP")>-1&&c(this.It.bind(this)),this.allowedMetrics.indexOf("INP")>-1&&f(this.It.bind(this)),this.P=!0):$a.error("web vitals callbacks not loaded - not starting")},this._instance=n,this.kt=!((a=this._instance.persistence)==null||!a.props[by]),this.startIfEnabled()}get allowedMetrics(){var n,a,r=yt(this._instance.config.capture_performance)?(n=this._instance.config.capture_performance)==null?void 0:n.web_vitals_allowed_metrics:void 0;return X(r)?((a=this._instance.persistence)==null?void 0:a.props[Sy])||["CLS","FCP","INP","LCP"]:r}get flushToCaptureTimeoutMs(){return(yt(this._instance.config.capture_performance)?this._instance.config.capture_performance.web_vitals_delayed_flush_ms:void 0)||5e3}get Rt(){var n=yt(this._instance.config.capture_performance)&&ma(this._instance.config.capture_performance.__web_vitals_max_value)?this._instance.config.capture_performance.__web_vitals_max_value:Py;return 0<n&&n<=6e4?Py:n}get isEnabled(){var n=qt?.protocol;if(n!=="http:"&&n!=="https:")return $a.info("Web Vitals are disabled on non-http/https protocols"),!1;var a=yt(this._instance.config.capture_performance)?this._instance.config.capture_performance.web_vitals:ha(this._instance.config.capture_performance)?this._instance.config.capture_performance:void 0;return ha(a)?a:this.kt}startIfEnabled(){this.isEnabled&&!this.P&&($a.info("enabled, starting..."),this.it(this.rt))}onRemoteConfig(n){var a=yt(n.capturePerformance)&&!!n.capturePerformance.web_vitals,r=yt(n.capturePerformance)?n.capturePerformance.web_vitals_allowed_metrics:void 0;this._instance.persistence&&(this._instance.persistence.register({[by]:a}),this._instance.persistence.register({[Sy]:r})),this.kt=a,this.startIfEnabled()}it(n){var a,r;(a=ce.__PosthogExtensions__)!=null&&a.postHogWebVitalsCallbacks&&n(),(r=ce.__PosthogExtensions__)==null||r.loadExternalDependency==null||r.loadExternalDependency(this._instance,"web-vitals",(l=>{l?$a.error("failed to load script",l):n()}))}Ct(){var n=U?U.location.href:void 0;if(n){var a=this._instance.config.mask_personal_data_properties,r=this._instance.config.custom_personal_data_properties,l=a?Ps([],Os,r||[]):[];return ho(n,l,po)}$a.error("Could not determine current URL")}}var o1=at("[Heatmaps]");function Oy(s){return yt(s)&&"clientX"in s&&"clientY"in s&&ma(s.clientX)&&ma(s.clientY)}class l1{constructor(n){var a;this.kt=!1,this.P=!1,this.Ft=null,this.instance=n,this.kt=!((a=this.instance.persistence)==null||!a.props[Ff]),this.rageclicks=new l_(n.config.rageclick)}get flushIntervalMilliseconds(){var n=5e3;return yt(this.instance.config.capture_heatmaps)&&this.instance.config.capture_heatmaps.flush_interval_milliseconds&&(n=this.instance.config.capture_heatmaps.flush_interval_milliseconds),n}get isEnabled(){return X(this.instance.config.capture_heatmaps)?X(this.instance.config.enable_heatmaps)?this.kt:this.instance.config.enable_heatmaps:this.instance.config.capture_heatmaps!==!1}startIfEnabled(){if(this.isEnabled){if(this.P)return;o1.info("starting..."),this.Mt(),this.Ot()}else{var n;clearInterval((n=this.Ft)!==null&&n!==void 0?n:void 0),this.At(),this.getAndClearBuffer()}}onRemoteConfig(n){var a=!!n.heatmaps;this.instance.persistence&&this.instance.persistence.register({[Ff]:a}),this.kt=a,this.startIfEnabled()}getAndClearBuffer(){var n=this.N;return this.N=void 0,n}Dt(n){this.jt(n.originalEvent,"deadclick")}Ot(){this.Ft&&clearInterval(this.Ft),this.Ft=(function(n){return n?.visibilityState==="visible"})(J)?setInterval(this.Lt.bind(this),this.flushIntervalMilliseconds):null}Mt(){U&&J&&(this.Nt=this.Lt.bind(this),dt(U,"beforeunload",this.Nt),this.Ut=n=>this.jt(n||U?.event),dt(J,"click",this.Ut,{capture:!0}),this.zt=n=>this.Ht(n||U?.event),dt(J,"mousemove",this.zt,{capture:!0}),this.Bt=new u_(this.instance,GE,this.Dt.bind(this)),this.Bt.startIfEnabled(),this.qt=this.Ot.bind(this),dt(J,"visibilitychange",this.qt),this.P=!0)}At(){var n;U&&J&&(this.Nt&&U.removeEventListener("beforeunload",this.Nt),this.Ut&&J.removeEventListener("click",this.Ut,{capture:!0}),this.zt&&J.removeEventListener("mousemove",this.zt,{capture:!0}),this.qt&&J.removeEventListener("visibilitychange",this.qt),clearTimeout(this.Wt),(n=this.Bt)==null||n.stop(),this.P=!1)}Gt(n,a){var r=this.instance.scrollManager.scrollY(),l=this.instance.scrollManager.scrollX(),c=this.instance.scrollManager.scrollElement(),f=(function(h,g,m){for(var y=h;y&&Sc(y)&&!Qa(y,"body");){if(y===m)return!1;if(ke(g,U?.getComputedStyle(y).position))return!0;y=t_(y)}return!1})(J0(n),["fixed","sticky"],c);return{x:n.clientX+(f?0:l),y:n.clientY+(f?0:r),target_fixed:f,type:a}}jt(n,a){var r;if(a===void 0&&(a="click"),!xy(n.target)&&Oy(n)){var l=this.Gt(n,a);(r=this.rageclicks)!=null&&r.isRageClick(n.clientX,n.clientY,new Date().getTime())&&this.Vt(ee({},l,{type:"rageclick"})),this.Vt(l)}}Ht(n){!xy(n.target)&&Oy(n)&&(clearTimeout(this.Wt),this.Wt=setTimeout((()=>{this.Vt(this.Gt(n,"mousemove"))}),500))}Vt(n){if(U){var a=U.location.href,r=this.instance.config.mask_personal_data_properties,l=this.instance.config.custom_personal_data_properties,c=r?Ps([],Os,l||[]):[],f=ho(a,c,po);this.N=this.N||{},this.N[f]||(this.N[f]=[]),this.N[f].push(n)}}Lt(){this.N&&!Ss(this.N)&&this.instance.capture("$$heatmap",{$heatmap_data:this.getAndClearBuffer()})}}class Ly{constructor(n){this.Jt=(a,r,l)=>{l&&(l.noSessionId||l.activityTimeout||l.sessionPastMaximumLength)&&(W.info("[PageViewManager] Session rotated, clearing pageview state",{sessionId:a,changeReason:l}),this.Kt=void 0,this._instance.scrollManager.resetContext())},this._instance=n,this.Yt()}Yt(){var n;this.Xt=(n=this._instance.sessionManager)==null?void 0:n.onSessionId(this.Jt)}destroy(){var n;(n=this.Xt)==null||n.call(this),this.Xt=void 0}doPageView(n,a){var r,l=this.Qt(n,a);return this.Kt={pathname:(r=U?.location.pathname)!==null&&r!==void 0?r:"",pageViewId:a,timestamp:n},this._instance.scrollManager.resetContext(),l}doPageLeave(n){var a;return this.Qt(n,(a=this.Kt)==null?void 0:a.pageViewId)}doEvent(){var n;return{$pageview_id:(n=this.Kt)==null?void 0:n.pageViewId}}Qt(n,a){var r=this.Kt;if(!r)return{$pageview_id:a};var l={$pageview_id:a,$prev_pageview_id:r.pageViewId},c=this._instance.scrollManager.getContext();if(c&&!this._instance.config.disable_scroll_properties){var{maxScrollHeight:f,lastScrollY:h,maxScrollY:g,maxContentHeight:m,lastContentY:y,maxContentY:b}=c;if(!(X(f)||X(h)||X(g)||X(m)||X(y)||X(b))){f=Math.ceil(f),h=Math.ceil(h),g=Math.ceil(g),m=Math.ceil(m),y=Math.ceil(y),b=Math.ceil(b);var x=f<=1?1:Ln(h/f,0,1,W),C=f<=1?1:Ln(g/f,0,1,W),E=m<=1?1:Ln(y/m,0,1,W),k=m<=1?1:Ln(b/m,0,1,W);l=rt(l,{$prev_pageview_last_scroll:h,$prev_pageview_last_scroll_percentage:x,$prev_pageview_max_scroll:g,$prev_pageview_max_scroll_percentage:C,$prev_pageview_last_content:y,$prev_pageview_last_content_percentage:E,$prev_pageview_max_content:b,$prev_pageview_max_content_percentage:k})}}return r.pathname&&(l.$prev_pageview_pathname=r.pathname),r.timestamp&&(l.$prev_pageview_duration=(n.getTime()-r.timestamp.getTime())/1e3),l}}var ua=(function(s){return s.GZipJS="gzip-js",s.Base64="base64",s})({}),bn=Uint8Array,Bt=Uint16Array,Ts=Uint32Array,Ch=new bn([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),kh=new bn([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Fy=new bn([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),__=function(s,n){for(var a=new Bt(31),r=0;r<31;++r)a[r]=n+=1<<s[r-1];var l=new Ts(a[30]);for(r=1;r<30;++r)for(var c=a[r];c<a[r+1];++c)l[c]=c-a[r]<<5|r;return[a,l]},S_=__(Ch,2),c1=S_[0],Gf=S_[1];c1[28]=258,Gf[258]=28;for(var zy=__(kh,0)[1],x_=new Bt(32768),Xe=0;Xe<32768;++Xe){var _i=(43690&Xe)>>>1|(21845&Xe)<<1;_i=(61680&(_i=(52428&_i)>>>2|(13107&_i)<<2))>>>4|(3855&_i)<<4,x_[Xe]=((65280&_i)>>>8|(255&_i)<<8)>>>1}var Xr=function(s,n,a){for(var r=s.length,l=0,c=new Bt(n);l<r;++l)++c[s[l]-1];var f,h=new Bt(n);for(l=0;l<n;++l)h[l]=h[l-1]+c[l-1]<<1;for(f=new Bt(r),l=0;l<r;++l)f[l]=x_[h[s[l]-1]++]>>>15-s[l];return f},Ti=new bn(288);for(Xe=0;Xe<144;++Xe)Ti[Xe]=8;for(Xe=144;Xe<256;++Xe)Ti[Xe]=9;for(Xe=256;Xe<280;++Xe)Ti[Xe]=7;for(Xe=280;Xe<288;++Xe)Ti[Xe]=8;var uc=new bn(32);for(Xe=0;Xe<32;++Xe)uc[Xe]=5;var u1=Xr(Ti,9),d1=Xr(uc,5),w_=function(s){return(s/8>>0)+(7&s&&1)},C_=function(s,n,a){(a==null||a>s.length)&&(a=s.length);var r=new(s instanceof Bt?Bt:s instanceof Ts?Ts:bn)(a-n);return r.set(s.subarray(n,a)),r},sa=function(s,n,a){a<<=7&n;var r=n/8>>0;s[r]|=a,s[r+1]|=a>>>8},Pr=function(s,n,a){a<<=7&n;var r=n/8>>0;s[r]|=a,s[r+1]|=a>>>8,s[r+2]|=a>>>16},nf=function(s,n){for(var a=[],r=0;r<s.length;++r)s[r]&&a.push({s:r,f:s[r]});var l=a.length,c=a.slice();if(!l)return[new bn(0),0];if(l==1){var f=new bn(a[0].s+1);return f[a[0].s]=1,[f,1]}a.sort((function(B,V){return B.f-V.f})),a.push({s:-1,f:25001});var h=a[0],g=a[1],m=0,y=1,b=2;for(a[0]={s:-1,f:h.f+g.f,l:h,r:g};y!=l-1;)h=a[a[m].f<a[b].f?m++:b++],g=a[m!=y&&a[m].f<a[b].f?m++:b++],a[y++]={s:-1,f:h.f+g.f,l:h,r:g};var x=c[0].s;for(r=1;r<l;++r)c[r].s>x&&(x=c[r].s);var C=new Bt(x+1),E=Yf(a[y-1],C,0);if(E>n){r=0;var k=0,A=E-n,M=1<<A;for(c.sort((function(B,V){return C[V.s]-C[B.s]||B.f-V.f}));r<l;++r){var j=c[r].s;if(!(C[j]>n))break;k+=M-(1<<E-C[j]),C[j]=n}for(k>>>=A;k>0;){var D=c[r].s;C[D]<n?k-=1<<n-C[D]++-1:++r}for(;r>=0&&k;--r){var q=c[r].s;C[q]==n&&(--C[q],++k)}E=n}return[new bn(C),E]},Yf=function(s,n,a){return s.s==-1?Math.max(Yf(s.l,n,a+1),Yf(s.r,n,a+1)):n[s.s]=a},Uy=function(s){for(var n=s.length;n&&!s[--n];);for(var a=new Bt(++n),r=0,l=s[0],c=1,f=function(g){a[r++]=g},h=1;h<=n;++h)if(s[h]==l&&h!=n)++c;else{if(!l&&c>2){for(;c>138;c-=138)f(32754);c>2&&(f(c>10?c-11<<5|28690:c-3<<5|12305),c=0)}else if(c>3){for(f(l),--c;c>6;c-=6)f(8304);c>2&&(f(c-3<<5|8208),c=0)}for(;c--;)f(l);c=1,l=s[h]}return[a.subarray(0,r),n]},Or=function(s,n){for(var a=0,r=0;r<n.length;++r)a+=s[r]*n[r];return a},Kf=function(s,n,a){var r=a.length,l=w_(n+2);s[l]=255&r,s[l+1]=r>>>8,s[l+2]=255^s[l],s[l+3]=255^s[l+1];for(var c=0;c<r;++c)s[l+c+4]=a[c];return 8*(l+4+r)},Iy=function(s,n,a,r,l,c,f,h,g,m,y){sa(n,y++,a),++l[256];for(var b=nf(l,15),x=b[0],C=b[1],E=nf(c,15),k=E[0],A=E[1],M=Uy(x),j=M[0],D=M[1],q=Uy(k),B=q[0],V=q[1],I=new Bt(19),L=0;L<j.length;++L)I[31&j[L]]++;for(L=0;L<B.length;++L)I[31&B[L]]++;for(var Z=nf(I,7),re=Z[0],Se=Z[1],ge=19;ge>4&&!re[Fy[ge-1]];--ge);var De,oe,ye,F,K=m+5<<3,Y=Or(l,Ti)+Or(c,uc)+f,he=Or(l,x)+Or(c,k)+f+14+3*ge+Or(I,re)+(2*I[16]+3*I[17]+7*I[18]);if(K<=Y&&K<=he)return Kf(n,y,s.subarray(g,g+m));if(sa(n,y,1+(he<Y)),y+=2,he<Y){De=Xr(x,C),oe=x,ye=Xr(k,A),F=k;var pe=Xr(re,Se);for(sa(n,y,D-257),sa(n,y+5,V-1),sa(n,y+10,ge-4),y+=14,L=0;L<ge;++L)sa(n,y+3*L,re[Fy[L]]);y+=3*ge;for(var Pe=[j,B],fe=0;fe<2;++fe){var te=Pe[fe];for(L=0;L<te.length;++L){var ue=31&te[L];sa(n,y,pe[ue]),y+=re[ue],ue>15&&(sa(n,y,te[L]>>>5&127),y+=te[L]>>>12)}}}else De=u1,oe=Ti,ye=d1,F=uc;for(L=0;L<h;++L)if(r[L]>255){ue=r[L]>>>18&31,Pr(n,y,De[ue+257]),y+=oe[ue+257],ue>7&&(sa(n,y,r[L]>>>23&31),y+=Ch[ue]);var Qe=31&r[L];Pr(n,y,ye[Qe]),y+=F[Qe],Qe>3&&(Pr(n,y,r[L]>>>5&8191),y+=kh[Qe])}else Pr(n,y,De[r[L]]),y+=oe[r[L]];return Pr(n,y,De[256]),y+oe[256]},f1=new Ts([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),h1=(function(){for(var s=new Ts(256),n=0;n<256;++n){for(var a=n,r=9;--r;)a=(1&a&&3988292384)^a>>>1;s[n]=a}return s})(),p1=function(s,n,a,r,l){return(function(c,f,h,g,m,y){var b=c.length,x=new bn(g+b+5*(1+Math.floor(b/7e3))+m),C=x.subarray(g,x.length-m),E=0;if(!f||b<8)for(var k=0;k<=b;k+=65535){var A=k+65535;A<b?E=Kf(C,E,c.subarray(k,A)):(C[k]=y,E=Kf(C,E,c.subarray(k,b)))}else{for(var M=f1[f-1],j=M>>>13,D=8191&M,q=(1<<h)-1,B=new Bt(32768),V=new Bt(q+1),I=Math.ceil(h/3),L=2*I,Z=function(xe){return(c[xe]^c[xe+1]<<I^c[xe+2]<<L)&q},re=new Ts(25e3),Se=new Bt(288),ge=new Bt(32),De=0,oe=0,ye=(k=0,0),F=0,K=0;k<b;++k){var Y=Z(k),he=32767&k,pe=V[Y];if(B[he]=pe,V[Y]=he,F<=k){var Pe=b-k;if((De>7e3||ye>24576)&&Pe>423){E=Iy(c,C,0,re,Se,ge,oe,ye,K,k-K,E),ye=De=oe=0,K=k;for(var fe=0;fe<286;++fe)Se[fe]=0;for(fe=0;fe<30;++fe)ge[fe]=0}var te=2,ue=0,Qe=D,et=he-pe&32767;if(Pe>2&&Y==Z(k-et))for(var qe=Math.min(j,Pe)-1,xn=Math.min(32767,k),Nt=Math.min(258,Pe);et<=xn&&--Qe&&he!=pe;){if(c[k+te]==c[k+te-et]){for(var ft=0;ft<Nt&&c[k+ft]==c[k+ft-et];++ft);if(ft>te){if(te=ft,ue=et,ft>qe)break;var sn=Math.min(et,ft-2),$t=0;for(fe=0;fe<sn;++fe){var ga=k-et+fe+32768&32767,rn=ga-B[ga]+32768&32767;rn>$t&&($t=rn,pe=ga)}}}et+=(he=pe)-(pe=B[he])+32768&32767}if(ue){re[ye++]=268435456|Gf[te]<<18|zy[ue];var Q=31&Gf[te],be=31&zy[ue];oe+=Ch[Q]+kh[be],++Se[257+Q],++ge[be],F=k+te,++De}else re[ye++]=c[k],++Se[c[k]]}}E=Iy(c,C,y,re,Se,ge,oe,ye,K,k-K,E)}return C_(x,0,g+w_(E)+m)})(s,n.level==null?6:n.level,n.mem==null?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(s.length)))):12+n.mem,a,r,!0)},af=function(s,n,a){for(;a;++n)s[n]=a,a>>>=8};function m1(s,n){n===void 0&&(n={});var a=(function(){var h=4294967295;return{p:function(g){for(var m=h,y=0;y<g.length;++y)m=h1[255&m^g[y]]^m>>>8;h=m},d:function(){return 4294967295^h}}})(),r=s.length;a.p(s);var l,c=p1(s,n,10+((l=n).filename&&l.filename.length+1||0),8),f=c.length;return(function(h,g){var m=g.filename;if(h[0]=31,h[1]=139,h[2]=8,h[8]=g.level<2?4:g.level==9?2:0,h[9]=3,g.mtime!=0&&af(h,4,Math.floor(new Date(g.mtime||Date.now())/1e3)),m){h[3]=8;for(var y=0;y<=m.length;++y)h[y+10]=m.charCodeAt(y)}})(c,n),af(c,f-8,a.d()),af(c,f-4,r),c}var g1=function(s){var n,a,r,l,c="";for(n=a=0,r=(s=(s+"").replace(/\r\n/g,`
85
85
  `).replace(/\r/g,`
86
- `)).length,l=0;l<r;l++){var f=s.charCodeAt(l),h=null;f<128?a++:h=f>127&&f<2048?String.fromCharCode(f>>6|192,63&f|128):String.fromCharCode(f>>12|224,f>>6&63|128,63&f|128),Mn(h)||(a>n&&(c+=s.substring(n,a)),c+=h,n=a=l+1)}return a>n&&(c+=s.substring(n,s.length)),c},g1=!!Tf||!!Ef,Iy="text/plain",uc=function(s,n,a){var r;a===void 0&&(a=!0);var[l,c]=s.split("?"),f=ee({},n),h=(r=c?.split("&").map((m=>{var y,[b,x]=m.split("="),C=a&&(y=f[b])!==null&&y!==void 0?y:x;return delete f[b],b+"="+C})))!==null&&r!==void 0?r:[],g=RT(f);return g&&h.push(g),l+"?"+h.join("&")},$r=(s,n)=>JSON.stringify(s,((a,r)=>typeof r=="bigint"?r.toString():r),n),af=s=>{var{data:n,compression:a}=s;if(n){if(a===ua.GZipJS){var r=p1((function(g,m){var y=g.length;if(typeof TextEncoder<"u")return new TextEncoder().encode(g);for(var b=new bn(g.length+(g.length>>>1)),x=0,C=function(M){b[x++]=M},T=0;T<y;++T){if(x+5>b.length){var k=new bn(x+8+(y-T<<1));k.set(b),b=k}var A=g.charCodeAt(T);A<128||m?C(A):A<2048?(C(192|A>>>6),C(128|63&A)):A>55295&&A<57344?(C(240|(A=65536+(1047552&A)|1023&g.charCodeAt(++T))>>>18),C(128|A>>>12&63),C(128|A>>>6&63),C(128|63&A)):(C(224|A>>>12),C(128|A>>>6&63),C(128|63&A))}return w_(b,0,x)})($r(n)),{mtime:0}),l=new Blob([r],{type:Iy});return{contentType:Iy,body:l,estimatedSize:l.size}}if(a===ua.Base64){var c=(function(g){var m,y,b,x,C,T="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",k=0,A=0,M="",j=[];if(!g)return g;g=m1(g);do m=(C=g.charCodeAt(k++)<<16|g.charCodeAt(k++)<<8|g.charCodeAt(k++))>>18&63,y=C>>12&63,b=C>>6&63,x=63&C,j[A++]=T.charAt(m)+T.charAt(y)+T.charAt(b)+T.charAt(x);while(k<g.length);switch(M=j.join(""),g.length%3){case 1:M=M.slice(0,-2)+"==";break;case 2:M=M.slice(0,-1)+"="}return M})($r(n)),f=(g=>"data="+encodeURIComponent(typeof g=="string"?g:$r(g)))(c);return{contentType:"application/x-www-form-urlencoded",body:f,estimatedSize:new Blob([f]).size}}var h=$r(n);return{contentType:"application/json",body:h,estimatedSize:new Blob([h]).size}}},Yl=[];Ef&&Yl.push({transport:"fetch",method:s=>{var n,a,{contentType:r,body:l,estimatedSize:c}=(n=af(s))!==null&&n!==void 0?n:{},f=new Headers;Ve(s.headers,(function(y,b){f.append(b,y)})),r&&f.append("Content-Type",r);var h=s.url,g=null;if(iy){var m=new iy;g={signal:m.signal,timeout:setTimeout((()=>m.abort()),s.timeout)}}Ef(h,ee({method:s?.method||"GET",headers:f,keepalive:s.method==="POST"&&(c||0)<52428.8,body:l,signal:(a=g)==null?void 0:a.signal},s.fetchOptions)).then((y=>y.text().then((b=>{var x={statusCode:y.status,text:b};if(y.status===200)try{x.json=JSON.parse(b)}catch(C){W.error(C)}s.callback==null||s.callback(x)})))).catch((y=>{W.error(y),s.callback==null||s.callback({statusCode:0,text:y})})).finally((()=>g?clearTimeout(g.timeout):null))}}),Tf&&Yl.push({transport:"XHR",method:s=>{var n,a=new Tf;a.open(s.method||"GET",s.url,!0);var{contentType:r,body:l}=(n=af(s))!==null&&n!==void 0?n:{};Ve(s.headers,(function(c,f){a.setRequestHeader(f,c)})),r&&a.setRequestHeader("Content-Type",r),s.timeout&&(a.timeout=s.timeout),s.disableXHRCredentials||(a.withCredentials=!0),a.onreadystatechange=()=>{if(a.readyState===4){var c={statusCode:a.status,text:a.responseText};if(a.status===200)try{c.json=JSON.parse(a.responseText)}catch{}s.callback==null||s.callback(c)}},a.send(l)}}),an!=null&&an.sendBeacon&&Yl.push({transport:"sendBeacon",method:s=>{var n=uc(s.url,{beacon:"1"});try{var a,{contentType:r,body:l}=(a=af(s))!==null&&a!==void 0?a:{},c=typeof l=="string"?new Blob([l],{type:r}):l;an.sendBeacon(n,c)}catch{}}});var dc=function(s,n){if(!(function(a){try{new RegExp(a)}catch{return!1}return!0})(n))return!1;try{return new RegExp(n).test(s)}catch{return!1}};function Hy(s,n,a){return $r({distinct_id:s,userPropertiesToSet:n,userPropertiesToSetOnce:a})}var C_={exact:(s,n)=>n.some((a=>s.some((r=>a===r)))),is_not:(s,n)=>n.every((a=>s.every((r=>a!==r)))),regex:(s,n)=>n.some((a=>s.some((r=>dc(a,r))))),not_regex:(s,n)=>n.every((a=>s.every((r=>!dc(a,r))))),icontains:(s,n)=>n.map(Il).some((a=>s.map(Il).some((r=>a.includes(r))))),not_icontains:(s,n)=>n.map(Il).every((a=>s.map(Il).every((r=>!a.includes(r))))),gt:(s,n)=>n.some((a=>{var r=parseFloat(a);return!isNaN(r)&&s.some((l=>r>parseFloat(l)))})),lt:(s,n)=>n.some((a=>{var r=parseFloat(a);return!isNaN(r)&&s.some((l=>r<parseFloat(l)))}))},Il=s=>s.toLowerCase();function k_(s,n){return!s||Object.entries(s).every((a=>{var[r,l]=a,c=n?.[r];if(X(c)||Mn(c))return!1;var f=[String(c)],h=C_[l.operator];return!!h&&h(l.values,f)}))}var sf=at("[Error tracking]");class v1{constructor(n){var a,r;this.Zt=[],this.ti=new WE([new oT,new gT,new cT,new lT,new pT,new hT,new dT,new mT],rT()),this._instance=n,this.Zt=(a=(r=this._instance.persistence)==null?void 0:r.get_property(Ff))!==null&&a!==void 0?a:[]}onRemoteConfig(n){var a,r,l,c=(a=(r=n.errorTracking)==null?void 0:r.suppressionRules)!==null&&a!==void 0?a:[],f=(l=n.errorTracking)==null?void 0:l.captureExtensionExceptions;this.Zt=c,this._instance.persistence&&this._instance.persistence.register({[Ff]:this.Zt,[vy]:f})}get ii(){var n,a=!!this._instance.get_property(vy),r=this._instance.config.error_tracking.captureExtensionExceptions;return(n=r??a)!==null&&n!==void 0&&n}buildProperties(n,a){return this.ti.buildFromUnknown(n,{syntheticException:a?.syntheticException,mechanism:{handled:a?.handled}})}sendExceptionEvent(n){var a=n.$exception_list;if(this.ei(a)){if(this.ri(a))return void sf.info("Skipping exception capture because a suppression rule matched");if(!this.ii&&this.si(a))return void sf.info("Skipping exception capture because it was thrown by an extension");if(!this._instance.config.error_tracking.__capturePostHogExceptions&&this.ni(a))return void sf.info("Skipping exception capture because it was thrown by the PostHog SDK")}return this._instance.capture("$exception",n,{_noTruncate:!0,_batchKey:"exceptionEvent"})}ri(n){if(n.length===0)return!1;var a=n.reduce(((r,l)=>{var{type:c,value:f}=l;return mt(c)&&c.length>0&&r.$exception_types.push(c),mt(f)&&f.length>0&&r.$exception_values.push(f),r}),{$exception_types:[],$exception_values:[]});return this.Zt.some((r=>{var l=r.values.map((c=>{var f,h=C_[c.operator],g=Le(c.value)?c.value:[c.value],m=(f=a[c.key])!==null&&f!==void 0?f:[];return g.length>0&&h(g,m)}));return r.type==="OR"?l.some(Boolean):l.every(Boolean)}))}si(n){return n.flatMap((a=>{var r,l;return(r=(l=a.stacktrace)==null?void 0:l.frames)!==null&&r!==void 0?r:[]})).some((a=>a.filename&&a.filename.startsWith("chrome-extension://")))}ni(n){if(n.length>0){var a,r,l,c,f=(a=(r=n[0].stacktrace)==null?void 0:r.frames)!==null&&a!==void 0?a:[],h=f[f.length-1];return(l=h==null||(c=h.filename)==null?void 0:c.includes("posthog.com/static"))!==null&&l!==void 0&&l}return!1}ei(n){return!Re(n)&&Le(n)}}var An=at("[FeatureFlags]"),Or=at("[FeatureFlags]",{debugEnabled:!0}),rf="$active_feature_flags",hs="$override_feature_flags",qy="$feature_flag_payloads",Lr="$override_feature_flag_payloads",By="$feature_flag_request_id",$y="$feature_flag_evaluated_at",Vy=s=>{var n={};for(var[a,r]of Gl(s||{}))r&&(n[a]=r);return n},y1=s=>{var n=s.flags;return n?(s.featureFlags=Object.fromEntries(Object.keys(n).map((a=>{var r;return[a,(r=n[a].variant)!==null&&r!==void 0?r:n[a].enabled]}))),s.featureFlagPayloads=Object.fromEntries(Object.keys(n).filter((a=>n[a].enabled)).filter((a=>{var r;return(r=n[a].metadata)==null?void 0:r.payload})).map((a=>{var r;return[a,(r=n[a].metadata)==null?void 0:r.payload]})))):An.warn("Using an older version of the feature flags endpoint. Please upgrade your PostHog server to the latest version"),s},b1=(function(s){return s.FeatureFlags="feature_flags",s.Recordings="recordings",s})({});class _1{constructor(n){this.oi=!1,this.ai=!1,this.li=!1,this.ui=!1,this.hi=!1,this.di=!1,this.vi=!1,this._instance=n,this.featureFlagEventHandlers=[]}ci(){var n=this._instance.config.evaluation_environments;return n!=null&&n.length?n.filter((a=>{var r=a&&typeof a=="string"&&a.trim().length>0;return r||An.error("Invalid evaluation environment found:",a,"Expected non-empty string"),r})):[]}fi(){return this.ci().length>0}flags(){if(this._instance.config.__preview_remote_config)this.di=!0;else{var n=!this.pi&&(this._instance.config.advanced_disable_feature_flags||this._instance.config.advanced_disable_feature_flags_on_first_load);this.gi({disableFlags:n})}}get hasLoadedFlags(){return this.ai}getFlags(){return Object.keys(this.getFlagVariants())}getFlagsWithDetails(){var n=this._instance.get_property(zf),a=this._instance.get_property(hs),r=this._instance.get_property(Lr);if(!r&&!a)return n||{};var l=rt({},n||{}),c=[...new Set([...Object.keys(r||{}),...Object.keys(a||{})])];for(var f of c){var h,g,m=l[f],y=a?.[f],b=X(y)?(h=m?.enabled)!==null&&h!==void 0&&h:!!y,x=X(y)?m.variant:typeof y=="string"?y:void 0,C=r?.[f],T=ee({},m,{enabled:b,variant:b?x??m?.variant:void 0});b!==m?.enabled&&(T.original_enabled=m?.enabled),x!==m?.variant&&(T.original_variant=m?.variant),C&&(T.metadata=ee({},m?.metadata,{payload:C,original_payload:m==null||(g=m.metadata)==null?void 0:g.payload})),l[f]=T}return this.oi||(An.warn(" Overriding feature flag details!",{flagDetails:n,overriddenPayloads:r,finalDetails:l}),this.oi=!0),l}getFlagVariants(){var n=this._instance.get_property(Ss),a=this._instance.get_property(hs);if(!a)return n||{};for(var r=rt({},n),l=Object.keys(a),c=0;c<l.length;c++)r[l[c]]=a[l[c]];return this.oi||(An.warn(" Overriding feature flags!",{enabledFlags:n,overriddenFlags:a,finalFlags:r}),this.oi=!0),r}getFlagPayloads(){var n=this._instance.get_property(qy),a=this._instance.get_property(Lr);if(!a)return n||{};for(var r=rt({},n||{}),l=Object.keys(a),c=0;c<l.length;c++)r[l[c]]=a[l[c]];return this.oi||(An.warn(" Overriding feature flag payloads!",{flagPayloads:n,overriddenPayloads:a,finalPayloads:r}),this.oi=!0),r}reloadFeatureFlags(){this.ui||this._instance.config.advanced_disable_feature_flags||this.pi||(this.pi=setTimeout((()=>{this.gi()}),5))}mi(){clearTimeout(this.pi),this.pi=void 0}ensureFlagsLoaded(){this.ai||this.li||this.pi||this.reloadFeatureFlags()}setAnonymousDistinctId(n){this.$anon_distinct_id=n}setReloadingPaused(n){this.ui=n}gi(n){var a;if(this.mi(),!this._instance.O())if(this.li)this.hi=!0;else{var r=this._instance.config.token,l=this._instance.get_property("$device_id"),c={token:r,distinct_id:this._instance.get_distinct_id(),groups:this._instance.getGroups(),$anon_distinct_id:this.$anon_distinct_id,person_properties:ee({},((a=this._instance.persistence)==null?void 0:a.get_initial_props())||{},this._instance.get_property(Br)||{}),group_properties:this._instance.get_property(xi)};Mn(l)||X(l)||(c.$device_id=l),(n!=null&&n.disableFlags||this._instance.config.advanced_disable_feature_flags)&&(c.disable_flags=!0),this.fi()&&(c.evaluation_environments=this.ci());var f=this._instance.config.__preview_remote_config,h=f?"/flags/?v=2":"/flags/?v=2&config=true",g=this._instance.config.advanced_only_evaluate_survey_feature_flags?"&only_evaluate_survey_feature_flags=true":"",m=this._instance.requestRouter.endpointFor("flags",h+g);f&&(c.timezone=y_()),this.li=!0,this._instance._send_request({method:"POST",url:m,data:c,compression:this._instance.config.disable_compression?void 0:ua.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:y=>{var b,x,C=!0;if(y.statusCode===200&&(this.hi||(this.$anon_distinct_id=void 0),C=!1),this.li=!1,this.di||(this.di=!0,this._instance.yi((x=y.json)!==null&&x!==void 0?x:{})),!c.disable_flags||this.hi)if(this.vi=!C,y.json&&(b=y.json.quotaLimited)!=null&&b.includes(b1.FeatureFlags))An.warn("You have hit your feature flags quota limit, and will not be able to load feature flags until the quota is reset. Please visit https://posthog.com/docs/billing/limits-alerts to learn more.");else{var T;c.disable_flags||this.receivedFeatureFlags((T=y.json)!==null&&T!==void 0?T:{},C),this.hi&&(this.hi=!1,this.gi())}}})}}getFeatureFlag(n,a){if(a===void 0&&(a={}),this.ai||this.getFlags()&&this.getFlags().length>0){var r=this.getFlagVariants()[n],l=""+r,c=this._instance.get_property(By)||void 0,f=this._instance.get_property($y)||void 0,h=this._instance.get_property(tc)||{};if((a.send_event||!("send_event"in a))&&(!(n in h)||!h[n].includes(l))){var g,m,y,b,x,C,T,k,A;Le(h[n])?h[n].push(l):h[n]=[l],(g=this._instance.persistence)==null||g.register({[tc]:h});var M=this.getFeatureFlagDetails(n),j={$feature_flag:n,$feature_flag_response:r,$feature_flag_payload:this.getFeatureFlagPayload(n)||null,$feature_flag_request_id:c,$feature_flag_evaluated_at:f,$feature_flag_bootstrapped_response:((m=this._instance.config.bootstrap)==null||(m=m.featureFlags)==null?void 0:m[n])||null,$feature_flag_bootstrapped_payload:((y=this._instance.config.bootstrap)==null||(y=y.featureFlagPayloads)==null?void 0:y[n])||null,$used_bootstrap_value:!this.vi};X(M==null||(b=M.metadata)==null?void 0:b.version)||(j.$feature_flag_version=M.metadata.version);var D,q=(x=M==null||(C=M.reason)==null?void 0:C.description)!==null&&x!==void 0?x:M==null||(T=M.reason)==null?void 0:T.code;q&&(j.$feature_flag_reason=q),M!=null&&(k=M.metadata)!=null&&k.id&&(j.$feature_flag_id=M.metadata.id),X(M?.original_variant)&&X(M?.original_enabled)||(j.$feature_flag_original_response=X(M.original_variant)?M.original_enabled:M.original_variant),M!=null&&(A=M.metadata)!=null&&A.original_payload&&(j.$feature_flag_original_payload=M==null||(D=M.metadata)==null?void 0:D.original_payload),this._instance.capture("$feature_flag_called",j)}return r}An.warn('getFeatureFlag for key "'+n+`" failed. Feature flags didn't load in time.`)}getFeatureFlagDetails(n){return this.getFlagsWithDetails()[n]}getFeatureFlagPayload(n){return this.getFlagPayloads()[n]}getRemoteConfigPayload(n,a){var r=this._instance.config.token,l={distinct_id:this._instance.get_distinct_id(),token:r};this.fi()&&(l.evaluation_environments=this.ci()),this._instance._send_request({method:"POST",url:this._instance.requestRouter.endpointFor("flags","/flags/?v=2&config=true"),data:l,compression:this._instance.config.disable_compression?void 0:ua.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:c=>{var f,h=(f=c.json)==null?void 0:f.featureFlagPayloads;a(h?.[n]||void 0)}})}isFeatureEnabled(n,a){if(a===void 0&&(a={}),this.ai||this.getFlags()&&this.getFlags().length>0){var r=this.getFeatureFlag(n,a);return X(r)?void 0:!!r}An.warn('isFeatureEnabled for key "'+n+`" failed. Feature flags didn't load in time.`)}addFeatureFlagsHandler(n){this.featureFlagEventHandlers.push(n)}removeFeatureFlagsHandler(n){this.featureFlagEventHandlers=this.featureFlagEventHandlers.filter((a=>a!==n))}receivedFeatureFlags(n,a){if(this._instance.persistence){this.ai=!0;var r=this.getFlagVariants(),l=this.getFlagPayloads(),c=this.getFlagsWithDetails();(function(f,h,g,m,y){g===void 0&&(g={}),m===void 0&&(m={}),y===void 0&&(y={});var b=y1(f),x=b.flags,C=b.featureFlags,T=b.featureFlagPayloads;if(C){var k=f.requestId,A=f.evaluatedAt;if(Le(C)){An.warn("v1 of the feature flags endpoint is deprecated. Please use the latest version.");var M={};if(C)for(var j=0;j<C.length;j++)M[C[j]]=!0;h&&h.register({[rf]:C,[Ss]:M})}else{var D=C,q=T,B=x;f.errorsWhileComputingFlags&&(D=ee({},g,D),q=ee({},m,q),B=ee({},y,B)),h&&h.register(ee({[rf]:Object.keys(Vy(D)),[Ss]:D||{},[qy]:q||{},[zf]:B||{}},k?{[By]:k}:{},A?{[$y]:A}:{}))}}})(n,this._instance.persistence,r,l,c),this.bi(a)}}override(n,a){a===void 0&&(a=!1),An.warn("override is deprecated. Please use overrideFeatureFlags instead."),this.overrideFeatureFlags({flags:n,suppressWarning:a})}overrideFeatureFlags(n){if(!this._instance.__loaded||!this._instance.persistence)return An.uninitializedWarning("posthog.featureFlags.overrideFeatureFlags");if(n===!1)return this._instance.persistence.unregister(hs),this._instance.persistence.unregister(Lr),this.bi(),Or.info("All overrides cleared");if(n&&typeof n=="object"&&("flags"in n||"payloads"in n)){var a,r=n;if(this.oi=!!((a=r.suppressWarning)!==null&&a!==void 0&&a),"flags"in r){if(r.flags===!1)this._instance.persistence.unregister(hs),Or.info("Flag overrides cleared");else if(r.flags){if(Le(r.flags)){for(var l={},c=0;c<r.flags.length;c++)l[r.flags[c]]=!0;this._instance.persistence.register({[hs]:l})}else this._instance.persistence.register({[hs]:r.flags});Or.info("Flag overrides set",{flags:r.flags})}}return"payloads"in r&&(r.payloads===!1?(this._instance.persistence.unregister(Lr),Or.info("Payload overrides cleared")):r.payloads&&(this._instance.persistence.register({[Lr]:r.payloads}),Or.info("Payload overrides set",{payloads:r.payloads}))),void this.bi()}this.bi()}onFeatureFlags(n){if(this.addFeatureFlagsHandler(n),this.ai){var{flags:a,flagVariants:r}=this.wi();n(a,r)}return()=>this.removeFeatureFlagsHandler(n)}updateEarlyAccessFeatureEnrollment(n,a,r){var l,c=(this._instance.get_property(qr)||[]).find((m=>m.flagKey===n)),f={["$feature_enrollment/"+n]:a},h={$feature_flag:n,$feature_enrollment:a,$set:f};c&&(h.$early_access_feature_name=c.name),r&&(h.$feature_enrollment_stage=r),this._instance.capture("$feature_enrollment_update",h),this.setPersonPropertiesForFlags(f,!1);var g=ee({},this.getFlagVariants(),{[n]:a});(l=this._instance.persistence)==null||l.register({[rf]:Object.keys(Vy(g)),[Ss]:g}),this.bi()}getEarlyAccessFeatures(n,a,r){a===void 0&&(a=!1);var l=this._instance.get_property(qr),c=r?"&"+r.map((f=>"stage="+f)).join("&"):"";if(l&&!a)return n(l);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/early_access_features/?token="+this._instance.config.token+c),method:"GET",callback:f=>{var h,g;if(f.json){var m=f.json.earlyAccessFeatures;return(h=this._instance.persistence)==null||h.unregister(qr),(g=this._instance.persistence)==null||g.register({[qr]:m}),n(m)}}})}wi(){var n=this.getFlags(),a=this.getFlagVariants();return{flags:n.filter((r=>a[r])),flagVariants:Object.keys(a).filter((r=>a[r])).reduce(((r,l)=>(r[l]=a[l],r)),{})}}bi(n){var{flags:a,flagVariants:r}=this.wi();this.featureFlagEventHandlers.forEach((l=>l(a,r,{errorsLoading:n})))}setPersonPropertiesForFlags(n,a){a===void 0&&(a=!0);var r=this._instance.get_property(Br)||{};this._instance.register({[Br]:ee({},r,n)}),a&&this._instance.reloadFeatureFlags()}resetPersonPropertiesForFlags(){this._instance.unregister(Br)}setGroupPropertiesForFlags(n,a){a===void 0&&(a=!0);var r=this._instance.get_property(xi)||{};Object.keys(r).length!==0&&Object.keys(r).forEach((l=>{r[l]=ee({},r[l],n[l]),delete n[l]})),this._instance.register({[xi]:ee({},r,n)}),a&&this._instance.reloadFeatureFlags()}resetGroupPropertiesForFlags(n){if(n){var a=this._instance.get_property(xi)||{};this._instance.register({[xi]:ee({},a,{[n]:{}})})}else this._instance.unregister(xi)}reset(){this.ai=!1,this.li=!1,this.ui=!1,this.hi=!1,this.di=!1,this.vi=!1,this.$anon_distinct_id=void 0,this.mi(),this.oi=!1}}var S1=["cookie","localstorage","localstorage+cookie","sessionstorage","memory"];class of{constructor(n,a){this.R=n,this.props={},this.xi=!1,this.Ei=(r=>{var l="";return r.token&&(l=r.token.replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")),r.persistence_name?"ph_"+r.persistence_name:"ph_"+l+"_posthog"})(n),this.Y=this.$i(n),this.load(),n.debug&&W.info("Persistence loaded",n.persistence,ee({},this.props)),this.update_config(n,n,a),this.save()}isDisabled(){return!!this.Si}$i(n){S1.indexOf(n.persistence.toLowerCase())===-1&&(W.critical("Unknown persistence type "+n.persistence+"; falling back to localStorage+cookie"),n.persistence="localStorage+cookie");var a=(function(l){l===void 0&&(l=[]);var c=[...qT,...l];return ee({},Je,{W:function(f){try{var h={};try{h=On.W(f)||{}}catch{}var g=rt(h,JSON.parse(Je.q(f)||"{}"));return Je.G(f,g),g}catch{}return null},G:function(f,h,g,m,y,b){try{Je.G(f,h,void 0,void 0,b);var x={};c.forEach((C=>{h[C]&&(x[C]=h[C])})),Object.keys(x).length&&On.G(f,x,g,m,y,b)}catch(C){Je.B(C)}},V:function(f,h){try{U?.localStorage.removeItem(f),On.V(f,h)}catch(g){Je.B(g)}}})})(n.cookie_persisted_properties||[]),r=n.persistence.toLowerCase();return r==="localstorage"&&Je.H()?Je:r==="localstorage+cookie"&&a.H()?a:r==="sessionstorage"&&kt.H()?kt:r==="memory"?BT:r==="cookie"?On:a.H()?a:On}properties(){var n={};return Ve(this.props,(function(a,r){if(r===Ss&&yt(a))for(var l=Object.keys(a),c=0;c<l.length;c++)n["$feature/"+l[c]]=a[l[c]];else h=r,g=!1,(Mn(f=xT)?g:ay&&f.indexOf===ay?f.indexOf(h)!=-1:(Ve(f,(function(m){if(g||(g=m===h))return Jl})),g))||(n[r]=a);var f,h,g})),n}load(){if(!this.Si){var n=this.Y.W(this.Ei);n&&(this.props=rt({},n))}}save(){this.Si||this.Y.G(this.Ei,this.props,this.ki,this.Pi,this.Ti,this.R.debug)}remove(){this.Y.V(this.Ei,!1),this.Y.V(this.Ei,!0)}clear(){this.remove(),this.props={}}register_once(n,a,r){if(yt(n)){X(a)&&(a="None"),this.ki=X(r)?this.Ii:r;var l=!1;if(Ve(n,((c,f)=>{this.props.hasOwnProperty(f)&&this.props[f]!==a||(this.props[f]=c,l=!0)})),l)return this.save(),!0}return!1}register(n,a){if(yt(n)){this.ki=X(a)?this.Ii:a;var r=!1;if(Ve(n,((l,c)=>{n.hasOwnProperty(c)&&this.props[c]!==l&&(this.props[c]=l,r=!0)})),r)return this.save(),!0}return!1}unregister(n){n in this.props&&(delete this.props[n],this.save())}update_campaign_params(){if(!this.xi){var n=f_(this.R.custom_campaign_params,this.R.mask_personal_data_properties,this.R.custom_personal_data_properties);_s(bh(n))||this.register(n),this.xi=!0}}update_search_keyword(){var n;this.register((n=J?.referrer)?p_(n):{})}update_referrer_info(){var n;this.register_once({$referrer:m_(),$referring_domain:J!=null&&J.referrer&&((n=sc(J.referrer))==null?void 0:n.host)||"$direct"},void 0)}set_initial_person_info(){this.props[qf]||this.props[Bf]||this.register_once({[nc]:g_(this.R.mask_personal_data_properties,this.R.custom_personal_data_properties)},void 0)}get_initial_props(){var n={};Ve([Bf,qf],(f=>{var h=this.props[f];h&&Ve(h,(function(g,m){n["$initial_"+Nf(m)]=g}))}));var a,r,l=this.props[nc];if(l){var c=(a=v_(l),r={},Ve(a,(function(f,h){r["$initial_"+Nf(h)]=f})),r);rt(n,c)}return n}safe_merge(n){return Ve(this.props,(function(a,r){r in n||(n[r]=a)})),n}update_config(n,a,r){if(this.Ii=this.ki=n.cookie_expiration,this.set_disabled(n.disable_persistence||!!r),this.set_cross_subdomain(n.cross_subdomain_cookie),this.set_secure(n.secure_cookie),n.persistence!==a.persistence||!((f,h)=>{if(f.length!==h.length)return!1;var g=[...f].sort(),m=[...h].sort();return g.every(((y,b)=>y===m[b]))})(n.cookie_persisted_properties||[],a.cookie_persisted_properties||[])){var l=this.$i(n),c=this.props;this.clear(),this.Y=l,this.props=c,this.save()}}set_disabled(n){this.Si=n,this.Si?this.remove():this.save()}set_cross_subdomain(n){n!==this.Pi&&(this.Pi=n,this.remove(),this.save())}set_secure(n){n!==this.Ti&&(this.Ti=n,this.remove(),this.save())}set_event_timer(n,a){var r=this.props[Hr]||{};r[n]=a,this.props[Hr]=r,this.save()}remove_event_timer(n){var a=(this.props[Hr]||{})[n];return X(a)||(delete this.props[Hr][n],this.save()),a}get_property(n){return this.props[n]}set_property(n,a){this.props[n]=a,this.save()}}var Gy=at("[Product Tours]"),lf="ph_product_tours";class x1{constructor(n){this.Ci=null,this.Ri=null,this._instance=n}onRemoteConfig(n){this._instance.persistence&&this._instance.persistence.register({[by]:!(n==null||!n.productTours)}),this.loadIfEnabled()}loadIfEnabled(){var n,a;this.Ci||(n=this._instance).config.disable_product_tours||(a=n.persistence)==null||!a.get_property(by)||this.it((()=>this.Fi()))}it(n){var a,r;(a=ce.__PosthogExtensions__)!=null&&a.generateProductTours?n():(r=ce.__PosthogExtensions__)==null||r.loadExternalDependency==null||r.loadExternalDependency(this._instance,"product-tours",(l=>{l?Gy.error("Could not load product tours script",l):n()}))}Fi(){var n;!this.Ci&&(n=ce.__PosthogExtensions__)!=null&&n.generateProductTours&&(this.Ci=ce.__PosthogExtensions__.generateProductTours(this._instance,!0))}getProductTours(n,a){if(a===void 0&&(a=!1),!Le(this.Ri)||a){var r=this._instance.persistence;if(r){var l=r.props[lf];if(Le(l)&&!a)return this.Ri=l,void n(l,{isLoaded:!0})}this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/product_tours/?token="+this._instance.config.token),method:"GET",callback:c=>{var f=c.statusCode;if(f!==200||!c.json){var h="Product Tours API could not be loaded, status: "+f;return Gy.error(h),void n([],{isLoaded:!1,error:h})}var g=Le(c.json.product_tours)?c.json.product_tours:[];this.Ri=g,r&&r.register({[lf]:g}),n(g,{isLoaded:!0})}})}else n(this.Ri,{isLoaded:!0})}getActiveProductTours(n){Re(this.Ci)?n([],{isLoaded:!1,error:"Product tours not loaded"}):this.Ci.getActiveProductTours(n)}showProductTour(n){var a;(a=this.Ci)==null||a.showTourById(n)}previewTour(n){this.Ci?this.Ci.previewTour(n):this.it((()=>{var a;this.Fi(),(a=this.Ci)==null||a.previewTour(n)}))}dismissProductTour(){var n;(n=this.Ci)==null||n.dismissTour("user_clicked_skip")}nextStep(){var n;(n=this.Ci)==null||n.nextStep()}previousStep(){var n;(n=this.Ci)==null||n.previousStep()}clearCache(){var n;this.Ri=null,(n=this._instance.persistence)==null||n.unregister(lf)}resetTour(n){var a;(a=this.Ci)==null||a.resetTour(n)}resetAllTours(){var n;(n=this.Ci)==null||n.resetAllTours()}cancelPendingTour(n){var a;(a=this.Ci)==null||a.cancelPendingTour(n)}}var Fr=(function(s){return s.Activation="events",s.Cancellation="cancelEvents",s})({});(function(s){return s.Button="button",s.Tab="tab",s.Selector="selector",s})({});(function(s){return s.TopLeft="top_left",s.TopRight="top_right",s.TopCenter="top_center",s.MiddleLeft="middle_left",s.MiddleRight="middle_right",s.MiddleCenter="middle_center",s.Left="left",s.Center="center",s.Right="right",s.NextToTrigger="next_to_trigger",s})({});(function(s){return s.Top="top",s.Left="left",s.Right="right",s.Bottom="bottom",s})({});var cf=(function(s){return s.Popover="popover",s.API="api",s.Widget="widget",s.ExternalSurvey="external_survey",s})({});(function(s){return s.Open="open",s.MultipleChoice="multiple_choice",s.SingleChoice="single_choice",s.Rating="rating",s.Link="link",s})({});(function(s){return s.NextQuestion="next_question",s.End="end",s.ResponseBased="response_based",s.SpecificQuestion="specific_question",s})({});(function(s){return s.Once="once",s.Recurring="recurring",s.Always="always",s})({});var Vr=(function(s){return s.SHOWN="survey shown",s.DISMISSED="survey dismissed",s.SENT="survey sent",s.ABANDONED="survey abandoned",s})({}),uf=(function(s){return s.SURVEY_ID="$survey_id",s.SURVEY_NAME="$survey_name",s.SURVEY_RESPONSE="$survey_response",s.SURVEY_ITERATION="$survey_iteration",s.SURVEY_ITERATION_START_DATE="$survey_iteration_start_date",s.SURVEY_PARTIALLY_COMPLETED="$survey_partially_completed",s.SURVEY_SUBMISSION_ID="$survey_submission_id",s.SURVEY_QUESTIONS="$survey_questions",s.SURVEY_COMPLETED="$survey_completed",s.PRODUCT_TOUR_ID="$product_tour_id",s.SURVEY_LAST_SEEN_DATE="$survey_last_seen_date",s})({}),A_=(function(s){return s.Popover="popover",s.Inline="inline",s})({}),$e=at("[Surveys]"),E_="seenSurvey_",w1=(s,n)=>{var a="$survey_"+n+"/"+s.id;return s.current_iteration&&s.current_iteration>0&&(a="$survey_"+n+"/"+s.id+"/"+s.current_iteration),a},Yy=s=>((n,a)=>{var r=""+n+a.id;return a.current_iteration&&a.current_iteration>0&&(r=""+n+a.id+"_"+a.current_iteration),r})(E_,s),C1=[cf.Popover,cf.Widget,cf.API],k1={ignoreConditions:!1,ignoreDelay:!1,displayType:A_.Popover};class kh{constructor(){this.Mi={},this.Mi={}}on(n,a){return this.Mi[n]||(this.Mi[n]=[]),this.Mi[n].push(a),()=>{this.Mi[n]=this.Mi[n].filter((r=>r!==a))}}emit(n,a){for(var r of this.Mi[n]||[])r(a);for(var l of this.Mi["*"]||[])l(n,a)}}function ps(s,n,a){if(Re(s))return!1;switch(a){case"exact":return s===n;case"contains":var r=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/_/g,".").replace(/%/g,".*");return new RegExp(r,"i").test(s);case"regex":try{return new RegExp(n).test(s)}catch{return!1}default:return!1}}class A1{constructor(n){this.Oi=new kh,this.Ai=(a,r)=>this.Di(a,r)&&this.ji(a,r)&&this.Li(a,r)&&this.Ni(a,r),this.Di=(a,r)=>r==null||!r.event||a?.event===r?.event,this._instance=n,this.Ui=new Set,this.zi=new Set}init(){var n;if(!X((n=this._instance)==null?void 0:n.Hi)){var a;(a=this._instance)==null||a.Hi(((r,l)=>{this.on(r,l)}))}}register(n){var a,r;if(!X((a=this._instance)==null?void 0:a.Hi)&&(n.forEach((f=>{var h,g;(h=this.zi)==null||h.add(f),(g=f.steps)==null||g.forEach((m=>{var y;(y=this.Ui)==null||y.add(m?.event||"")}))})),(r=this._instance)!=null&&r.autocapture)){var l,c=new Set;n.forEach((f=>{var h;(h=f.steps)==null||h.forEach((g=>{g!=null&&g.selector&&c.add(g?.selector)}))})),(l=this._instance)==null||l.autocapture.setElementSelectors(c)}}on(n,a){var r;a!=null&&n.length!=0&&(this.Ui.has(n)||this.Ui.has(a?.event))&&this.zi&&((r=this.zi)==null?void 0:r.size)>0&&this.zi.forEach((l=>{this.Bi(a,l)&&this.Oi.emit("actionCaptured",l.name)}))}qi(n){this.onAction("actionCaptured",(a=>n(a)))}Bi(n,a){if(a?.steps==null)return!1;for(var r of a.steps)if(this.Ai(n,r))return!0;return!1}onAction(n,a){return this.Oi.on(n,a)}ji(n,a){if(a!=null&&a.url){var r,l=n==null||(r=n.properties)==null?void 0:r.$current_url;if(!l||typeof l!="string"||!ps(l,a.url,a.url_matching||"contains"))return!1}return!0}Li(n,a){return!!this.Wi(n,a)&&!!this.Gi(n,a)&&!!this.Vi(n,a)}Wi(n,a){var r;if(a==null||!a.href)return!0;var l=this.Ji(n);if(l.length>0)return l.some((h=>ps(h.href,a.href,a.href_matching||"exact")));var c,f=(n==null||(r=n.properties)==null?void 0:r.$elements_chain)||"";return!!f&&ps((c=f.match(/(?::|")href="(.*?)"/))?c[1]:"",a.href,a.href_matching||"exact")}Gi(n,a){var r;if(a==null||!a.text)return!0;var l=this.Ji(n);if(l.length>0)return l.some((m=>ps(m.text,a.text,a.text_matching||"exact")||ps(m.$el_text,a.text,a.text_matching||"exact")));var c,f,h,g=(n==null||(r=n.properties)==null?void 0:r.$elements_chain)||"";return!!g&&(c=(function(m){for(var y,b=[],x=/(?::|")text="(.*?)"/g;!Re(y=x.exec(m));)b.includes(y[1])||b.push(y[1]);return b})(g),f=a.text,h=a.text_matching||"exact",c.some((m=>ps(m,f,h))))}Vi(n,a){var r,l;if(a==null||!a.selector)return!0;var c=n==null||(r=n.properties)==null?void 0:r.$element_selectors;if(c!=null&&c.includes(a.selector))return!0;var f=(n==null||(l=n.properties)==null?void 0:l.$elements_chain)||"";if(a.selector_regex&&f)try{return new RegExp(a.selector_regex).test(f)}catch{return!1}return!1}Ji(n){var a;return(n==null||(a=n.properties)==null?void 0:a.$elements)==null?[]:n?.properties.$elements}Ni(n,a){return a==null||!a.properties||a.properties.length===0||k_(a.properties.reduce(((r,l)=>{var c=Le(l.value)?l.value.map(String):l.value!=null?[String(l.value)]:[];return r[l.key]={values:c,operator:l.operator||"exact"},r}),{}),n?.properties)}}class E1{constructor(n){this._instance=n,this.Ki=new Map,this.Yi=new Map,this.Xi=new Map}Qi(n,a){return!!n&&k_(n.propertyFilters,a?.properties)}Zi(n,a){var r=new Map;return n.forEach((l=>{var c;(c=l.conditions)==null||(c=c[a])==null||(c=c.values)==null||c.forEach((f=>{if(f!=null&&f.name){var h=r.get(f.name)||[];h.push(l.id),r.set(f.name,h)}}))})),r}te(n,a,r){var l=(r===Fr.Activation?this.Ki:this.Yi).get(n),c=[];return this.ie((f=>{c=f.filter((h=>l?.includes(h.id)))})),c.filter((f=>{var h,g=(h=f.conditions)==null||(h=h[r])==null||(h=h.values)==null?void 0:h.find((m=>m.name===n));return this.Qi(g,a)}))}register(n){var a;X((a=this._instance)==null?void 0:a.Hi)||(this.ee(n),this.re(n))}re(n){var a=n.filter((r=>{var l,c;return((l=r.conditions)==null?void 0:l.actions)&&((c=r.conditions)==null||(c=c.actions)==null||(c=c.values)==null?void 0:c.length)>0}));a.length!==0&&(this.se==null&&(this.se=new A1(this._instance),this.se.init(),this.se.qi((r=>{this.onAction(r)}))),a.forEach((r=>{var l,c,f,h,g;r.conditions&&(l=r.conditions)!=null&&l.actions&&(c=r.conditions)!=null&&(c=c.actions)!=null&&c.values&&((f=r.conditions)==null||(f=f.actions)==null||(f=f.values)==null?void 0:f.length)>0&&((h=this.se)==null||h.register(r.conditions.actions.values),(g=r.conditions)==null||(g=g.actions)==null||(g=g.values)==null||g.forEach((m=>{if(m&&m.name){var y=this.Xi.get(m.name);y&&y.push(r.id),this.Xi.set(m.name,y||[r.id])}})))})))}ee(n){var a,r=n.filter((c=>{var f,h;return((f=c.conditions)==null?void 0:f.events)&&((h=c.conditions)==null||(h=h.events)==null||(h=h.values)==null?void 0:h.length)>0})),l=n.filter((c=>{var f,h;return((f=c.conditions)==null?void 0:f.cancelEvents)&&((h=c.conditions)==null||(h=h.cancelEvents)==null||(h=h.values)==null?void 0:h.length)>0}));(r.length!==0||l.length!==0)&&((a=this._instance)==null||a.Hi(((c,f)=>{this.onEvent(c,f)})),this.Ki=this.Zi(n,Fr.Activation),this.Yi=this.Zi(n,Fr.Cancellation))}onEvent(n,a){var r,l=this.ne(),c=this.oe(),f=this.ae(),h=((r=this._instance)==null||(r=r.persistence)==null?void 0:r.props[c])||[];if(f===n&&a&&h.length>0){var g,m;l.info("event matched, removing item from activated items",{event:n,eventPayload:a,existingActivatedItems:h});var y=(a==null||(g=a.properties)==null?void 0:g.$survey_id)||(a==null||(m=a.properties)==null?void 0:m.$product_tour_id);if(y){var b=h.indexOf(y);b>=0&&(h.splice(b,1),this.le(h))}}else{if(this.Yi.has(n)){var x=this.te(n,a,Fr.Cancellation);x.length>0&&(l.info("cancel event matched, cancelling items",{event:n,itemsToCancel:x.map((T=>T.id))}),x.forEach((T=>{var k=h.indexOf(T.id);k>=0&&h.splice(k,1),this.ue(T.id)})),this.le(h))}if(this.Ki.has(n)){l.info("event name matched",{event:n,eventPayload:a,items:this.Ki.get(n)});var C=this.te(n,a,Fr.Activation);this.le(h.concat(C.map((T=>T.id))||[]))}}}onAction(n){var a,r=this.oe(),l=((a=this._instance)==null||(a=a.persistence)==null?void 0:a.props[r])||[];this.Xi.has(n)&&this.le(l.concat(this.Xi.get(n)||[]))}le(n){var a,r=this.ne(),l=this.oe(),c=[...new Set(n)].filter((f=>!this.he(f)));r.info("updating activated items",{activatedItems:c}),(a=this._instance)==null||(a=a.persistence)==null||a.register({[l]:c})}getActivatedIds(){var n,a=this.oe(),r=(n=this._instance)==null||(n=n.persistence)==null?void 0:n.props[a];return r||[]}getEventToItemsMap(){return this.Ki}de(){return this.se}}class T1 extends E1{constructor(n){super(n)}oe(){return"$surveys_activated"}ae(){return Vr.SHOWN}ie(n){var a;(a=this._instance)==null||a.getSurveys(n)}ue(n){var a;(a=this._instance)==null||a.cancelPendingSurvey(n)}ne(){return $e}he(){return!1}getSurveys(){return this.getActivatedIds()}getEventToSurveys(){return this.getEventToItemsMap()}}class N1{constructor(n){this.ve=void 0,this._surveyManager=null,this.ce=!1,this.fe=[],this.pe=null,this._instance=n,this._surveyEventReceiver=null}onRemoteConfig(n){if(!this._instance.config.disable_surveys){var a=n.surveys;if(Re(a))return $e.warn("Flags not loaded yet. Not loading surveys.");var r=Le(a);this.ve=r?a.length>0:a,$e.info("flags response received, isSurveysEnabled: "+this.ve),this.loadIfEnabled()}}reset(){localStorage.removeItem("lastSeenSurveyDate");for(var n=[],a=0;a<localStorage.length;a++){var r=localStorage.key(a);(r!=null&&r.startsWith(E_)||r!=null&&r.startsWith("inProgressSurvey_"))&&n.push(r)}n.forEach((l=>localStorage.removeItem(l)))}loadIfEnabled(){if(!this._surveyManager)if(this.ce)$e.info("Already initializing surveys, skipping...");else if(this._instance.config.disable_surveys)$e.info("Disabled. Not loading surveys.");else if(this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())$e.info("Not loading surveys in cookieless mode without consent.");else{var n=ce?.__PosthogExtensions__;if(n){if(!X(this.ve)||this._instance.config.advanced_enable_surveys){var a=this.ve||this._instance.config.advanced_enable_surveys;this.ce=!0;try{var r=n.generateSurveys;if(r)return void this.ge(r,a);var l=n.loadExternalDependency;if(!l)return void this._e("PostHog loadExternalDependency extension not found.");l(this._instance,"surveys",(c=>{c||!n.generateSurveys?this._e("Could not load surveys script",c):this.ge(n.generateSurveys,a)}))}catch(c){throw this._e("Error initializing surveys",c),c}finally{this.ce=!1}}}else $e.error("PostHog Extensions not found.")}}ge(n,a){this._surveyManager=n(this._instance,a),this._surveyEventReceiver=new T1(this._instance),$e.info("Surveys loaded successfully"),this.me({isLoaded:!0})}_e(n,a){$e.error(n,a),this.me({isLoaded:!1,error:n})}onSurveysLoaded(n){return this.fe.push(n),this._surveyManager&&this.me({isLoaded:!0}),()=>{this.fe=this.fe.filter((a=>a!==n))}}getSurveys(n,a){if(a===void 0&&(a=!1),this._instance.config.disable_surveys)return $e.info("Disabled. Not loading surveys."),n([]);var r,l=this._instance.get_property(Uf);if(l&&!a)return n(l,{isLoaded:!0});typeof Promise<"u"&&this.pe?this.pe.then((c=>{var{surveys:f,context:h}=c;return n(f,h)})):(typeof Promise<"u"&&(this.pe=new Promise((c=>{r=c}))),this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/surveys/?token="+this._instance.config.token),method:"GET",timeout:this._instance.config.surveys_request_timeout_ms,callback:c=>{var f;this.pe=null;var h=c.statusCode;if(h!==200||!c.json){var g="Surveys API could not be loaded, status: "+h;$e.error(g);var m={isLoaded:!1,error:g};return n([],m),void(r==null||r({surveys:[],context:m}))}var y,b=c.json.surveys||[],x=b.filter((T=>(function(k){return!(!k.start_date||k.end_date)})(T)&&((function(k){var A;return!((A=k.conditions)==null||(A=A.events)==null||(A=A.values)==null||!A.length)})(T)||(function(k){var A;return!((A=k.conditions)==null||(A=A.actions)==null||(A=A.values)==null||!A.length)})(T))));x.length>0&&((y=this._surveyEventReceiver)==null||y.register(x)),(f=this._instance.persistence)==null||f.register({[Uf]:b});var C={isLoaded:!0};n(b,C),r?.({surveys:b,context:C})}}))}me(n){for(var a of this.fe)try{if(!n.isLoaded)return a([],n);this.getSurveys(a)}catch(r){$e.error("Error in survey callback",r)}}getActiveMatchingSurveys(n,a){if(a===void 0&&(a=!1),!Re(this._surveyManager))return this._surveyManager.getActiveMatchingSurveys(n,a);$e.warn("init was not called")}ye(n){var a=null;return this.getSurveys((r=>{var l;a=(l=r.find((c=>c.id===n)))!==null&&l!==void 0?l:null})),a}be(n){if(Re(this._surveyManager))return{eligible:!1,reason:"SDK is not enabled or survey functionality is not yet loaded"};var a=typeof n=="string"?this.ye(n):n;return a?this._surveyManager.checkSurveyEligibility(a):{eligible:!1,reason:"Survey not found"}}canRenderSurvey(n){if(Re(this._surveyManager))return $e.warn("init was not called"),{visible:!1,disabledReason:"SDK is not enabled or survey functionality is not yet loaded"};var a=this.be(n);return{visible:a.eligible,disabledReason:a.reason}}canRenderSurveyAsync(n,a){return Re(this._surveyManager)?($e.warn("init was not called"),Promise.resolve({visible:!1,disabledReason:"SDK is not enabled or survey functionality is not yet loaded"})):new Promise((r=>{this.getSurveys((l=>{var c,f=(c=l.find((g=>g.id===n)))!==null&&c!==void 0?c:null;if(f){var h=this.be(f);r({visible:h.eligible,disabledReason:h.reason})}else r({visible:!1,disabledReason:"Survey not found"})}),a)}))}renderSurvey(n,a,r){var l;if(Re(this._surveyManager))$e.warn("init was not called");else{var c=typeof n=="string"?this.ye(n):n;if(c!=null&&c.id)if(C1.includes(c.type)){var f=J?.querySelector(a);if(f)return(l=c.appearance)!=null&&l.surveyPopupDelaySeconds?($e.info("Rendering survey "+c.id+" with delay of "+c.appearance.surveyPopupDelaySeconds+" seconds"),void setTimeout((()=>{var h,g;$e.info("Rendering survey "+c.id+" with delay of "+((h=c.appearance)==null?void 0:h.surveyPopupDelaySeconds)+" seconds"),(g=this._surveyManager)==null||g.renderSurvey(c,f,r),$e.info("Survey "+c.id+" rendered")}),1e3*c.appearance.surveyPopupDelaySeconds)):void this._surveyManager.renderSurvey(c,f,r);$e.warn("Survey element not found")}else $e.warn("Surveys of type "+c.type+" cannot be rendered in the app");else $e.warn("Survey not found")}}displaySurvey(n,a){var r;if(Re(this._surveyManager))$e.warn("init was not called");else{var l=this.ye(n);if(l){var c=l;if((r=l.appearance)!=null&&r.surveyPopupDelaySeconds&&a.ignoreDelay&&(c=ee({},l,{appearance:ee({},l.appearance,{surveyPopupDelaySeconds:0})})),a.ignoreConditions===!1){var f=this.canRenderSurvey(l);if(!f.visible)return void $e.warn("Survey is not eligible to be displayed: ",f.disabledReason)}a.displayType!==A_.Inline?this._surveyManager.handlePopoverSurvey(c,a.properties):this.renderSurvey(c,a.selector,a.properties)}else $e.warn("Survey not found")}}cancelPendingSurvey(n){Re(this._surveyManager)?$e.warn("init was not called"):this._surveyManager.cancelSurvey(n)}handlePageUnload(){var n;(n=this._surveyManager)==null||n.handlePageUnload()}}var ra=at("[Conversations]");class M1{constructor(n){this.we=void 0,this._conversationsManager=null,this.xe=!1,this.Ee=null,this._instance=n}onRemoteConfig(n){if(!this._instance.config.disable_conversations){var a=n.conversations;Re(a)||(ha(a)?this.we=a:(this.we=a.enabled,this.Ee=a),this.loadIfEnabled())}}reset(){var n;(n=this._conversationsManager)==null||n.reset(),this._conversationsManager=null,this.we=void 0,this.Ee=null}loadIfEnabled(){if(!this._conversationsManager&&!this.xe&&!(this._instance.config.disable_conversations||this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())){var n=ce?.__PosthogExtensions__;if(n&&!X(this.we)&&this.we)if(this.Ee&&this.Ee.token){this.xe=!0;try{var a=n.initConversations;if(a)return this.$e(a),void(this.xe=!1);var r=n.loadExternalDependency;if(!r)return void this.Se("PostHog loadExternalDependency extension not found.");r(this._instance,"conversations",(l=>{l||!n.initConversations?this.Se("Could not load conversations script",l):this.$e(n.initConversations),this.xe=!1}))}catch(l){this.Se("Error initializing conversations",l),this.xe=!1}}else ra.error("Conversations enabled but missing token in remote config.")}}$e(n){if(this.Ee)try{this._conversationsManager=n(this.Ee,this._instance),ra.info("Conversations loaded successfully")}catch(a){this.Se("Error completing conversations initialization",a)}else ra.error("Cannot complete initialization: remote config is null")}Se(n,a){ra.error(n,a),this._conversationsManager=null,this.xe=!1}show(){this._conversationsManager?this._conversationsManager.show():ra.warn("Conversations not loaded yet.")}hide(){this._conversationsManager&&this._conversationsManager.hide()}isAvailable(){return this.we===!0&&!Mn(this._conversationsManager)}isVisible(){var n,a;return(n=(a=this._conversationsManager)==null?void 0:a.isVisible())!==null&&n!==void 0&&n}sendMessage(n,a,r){var l=this;return bs((function*(){return l._conversationsManager?l._conversationsManager.sendMessage(n,a,r):(ra.warn("Conversations not available yet."),null)}))()}getMessages(n,a){var r=this;return bs((function*(){return r._conversationsManager?r._conversationsManager.getMessages(n,a):(ra.warn("Conversations not available yet."),null)}))()}markAsRead(n){var a=this;return bs((function*(){return a._conversationsManager?a._conversationsManager.markAsRead(n):(ra.warn("Conversations not available yet."),null)}))()}getTickets(n){var a=this;return bs((function*(){return a._conversationsManager?a._conversationsManager.getTickets(n):(ra.warn("Conversations not available yet."),null)}))()}getCurrentTicketId(){var n,a;return(n=(a=this._conversationsManager)==null?void 0:a.getCurrentTicketId())!==null&&n!==void 0?n:null}getWidgetSessionId(){var n,a;return(n=(a=this._conversationsManager)==null?void 0:a.getWidgetSessionId())!==null&&n!==void 0?n:null}}class j1{constructor(n){var a;this.ke=!1,this.Pe=!1,this._instance=n,this._instance&&(a=this._instance.config.logs)!=null&&a.captureConsoleLogs&&(this.ke=!0)}onRemoteConfig(n){var a,r=(a=n.logs)==null?void 0:a.captureConsoleLogs;!Re(r)&&r&&(this.ke=!0,this.loadIfEnabled())}reset(){}loadIfEnabled(){if(this.ke&&!this.Pe){var n=at("[logs]"),a=ce?.__PosthogExtensions__;if(a){var r=a.loadExternalDependency;r?r(this._instance,"logs",(l=>{var c;l||(c=a.logs)==null||!c.initializeLogs?n.error("Could not load logs script",l):(a.logs.initializeLogs(this._instance),this.Pe=!0)})):n.error("PostHog loadExternalDependency extension not found.")}else n.error("PostHog Extensions not found.")}}}var Ky=at("[RateLimiter]");class R1{constructor(n){var a,r;this.serverLimits={},this.lastEventRateLimited=!1,this.checkForLimiting=l=>{var c=l.text;if(c&&c.length)try{(JSON.parse(c).quota_limited||[]).forEach((f=>{Ky.info((f||"events")+" is quota limited."),this.serverLimits[f]=new Date().getTime()+6e4}))}catch(f){return void Ky.warn('could not rate limit - continuing. Error: "'+f?.message+'"',{text:c})}},this.instance=n,this.captureEventsPerSecond=((a=n.config.rate_limiting)==null?void 0:a.events_per_second)||10,this.captureEventsBurstLimit=Math.max(((r=n.config.rate_limiting)==null?void 0:r.events_burst_limit)||10*this.captureEventsPerSecond,this.captureEventsPerSecond),this.lastEventRateLimited=this.clientRateLimitContext(!0).isRateLimited}clientRateLimitContext(n){var a,r,l;n===void 0&&(n=!1);var c=new Date().getTime(),f=(a=(r=this.instance.persistence)==null?void 0:r.get_property(Hf))!==null&&a!==void 0?a:{tokens:this.captureEventsBurstLimit,last:c};f.tokens+=(c-f.last)/1e3*this.captureEventsPerSecond,f.last=c,f.tokens>this.captureEventsBurstLimit&&(f.tokens=this.captureEventsBurstLimit);var h=f.tokens<1;return h||n||(f.tokens=Math.max(0,f.tokens-1)),!h||this.lastEventRateLimited||n||this.instance.capture("$$client_ingestion_warning",{$$client_ingestion_warning_message:"posthog-js client rate limited. Config is set to "+this.captureEventsPerSecond+" events per second and "+this.captureEventsBurstLimit+" events burst limit."},{skip_client_rate_limiting:!0}),this.lastEventRateLimited=h,(l=this.instance.persistence)==null||l.set_property(Hf,f),{isRateLimited:h,remainingTokens:f.tokens}}isServerRateLimited(n){var a=this.serverLimits[n||"events"]||!1;return a!==!1&&new Date().getTime()<a}}var Si=at("[RemoteConfig]");class D1{constructor(n){this._instance=n}get remoteConfig(){var n;return(n=ce._POSTHOG_REMOTE_CONFIG)==null||(n=n[this._instance.config.token])==null?void 0:n.config}Te(n){var a,r;(a=ce.__PosthogExtensions__)!=null&&a.loadExternalDependency?(r=ce.__PosthogExtensions__)==null||r.loadExternalDependency==null||r.loadExternalDependency(this._instance,"remote-config",(()=>n(this.remoteConfig))):(Si.error("PostHog Extensions not found. Cannot load remote config."),n())}Ie(n){this._instance._send_request({method:"GET",url:this._instance.requestRouter.endpointFor("assets","/array/"+this._instance.config.token+"/config"),callback:a=>{n(a.json)}})}load(){try{if(this.remoteConfig)return Si.info("Using preloaded remote config",this.remoteConfig),void this.yi(this.remoteConfig);if(this._instance.O())return void Si.warn("Remote config is disabled. Falling back to local config.");this.Te((n=>{if(!n)return Si.info("No config found after loading remote JS config. Falling back to JSON."),void this.Ie((a=>{this.yi(a)}));this.yi(n)}))}catch(n){Si.error("Error loading remote config",n)}}yi(n){n?this._instance.config.__preview_remote_config?(this._instance.yi(n),n.hasFeatureFlags!==!1&&this._instance.featureFlags.ensureFlagsLoaded()):Si.info("__preview_remote_config is disabled. Logging config instead",n):Si.error("Failed to fetch remote config from PostHog.")}}var Kf=3e3;class P1{constructor(n,a){this.Ce=!0,this.Re=[],this.Fe=Ln(a?.flush_interval_ms||Kf,250,5e3,W.createLogger("flush interval"),Kf),this.Me=n}enqueue(n){this.Re.push(n),this.Oe||this.Ae()}unload(){this.De();var n=this.Re.length>0?this.je():{},a=Object.values(n);[...a.filter((r=>r.url.indexOf("/e")===0)),...a.filter((r=>r.url.indexOf("/e")!==0))].map((r=>{this.Me(ee({},r,{transport:"sendBeacon"}))}))}enable(){this.Ce=!1,this.Ae()}Ae(){var n=this;this.Ce||(this.Oe=setTimeout((()=>{if(this.De(),this.Re.length>0){var a=this.je(),r=function(){var c=a[l],f=new Date().getTime();c.data&&Le(c.data)&&Ve(c.data,(h=>{h.offset=Math.abs(h.timestamp-f),delete h.timestamp})),n.Me(c)};for(var l in a)r()}}),this.Fe))}De(){clearTimeout(this.Oe),this.Oe=void 0}je(){var n={};return Ve(this.Re,(a=>{var r,l=a,c=(l?l.batchKey:null)||l.url;X(n[c])&&(n[c]=ee({},l,{data:[]})),(r=n[c].data)==null||r.push(l.data)})),this.Re=[],n}}var O1=["retriesPerformedSoFar"];class L1{constructor(n){this.Le=!1,this.Ne=3e3,this.Re=[],this._instance=n,this.Re=[],this.Ue=!0,!X(U)&&"onLine"in U.navigator&&(this.Ue=U.navigator.onLine,this.ze=()=>{this.Ue=!0,this.Lt()},this.He=()=>{this.Ue=!1},dt(U,"online",this.ze),dt(U,"offline",this.He))}get length(){return this.Re.length}retriableRequest(n){var{retriesPerformedSoFar:a}=n,r=S0(n,O1);vs(a)&&(r.url=uc(r.url,{retry_count:a})),this._instance._send_request(ee({},r,{callback:l=>{l.statusCode!==200&&(l.statusCode<400||l.statusCode>=500)&&(a??0)<10?this.Be(ee({retriesPerformedSoFar:a},r)):r.callback==null||r.callback(l)}}))}Be(n){var a=n.retriesPerformedSoFar||0;n.retriesPerformedSoFar=a+1;var r=(function(f){var h=3e3*Math.pow(2,f),g=h/2,m=Math.min(18e5,h),y=(Math.random()-.5)*(m-g);return Math.ceil(m+y)})(a),l=Date.now()+r;this.Re.push({retryAt:l,requestOptions:n});var c="Enqueued failed request for retry in "+r;navigator.onLine||(c+=" (Browser is offline)"),W.warn(c),this.Le||(this.Le=!0,this.qe())}qe(){if(this.We&&clearTimeout(this.We),this.Re.length===0)return this.Le=!1,void(this.We=void 0);this.We=setTimeout((()=>{this.Ue&&this.Re.length>0&&this.Lt(),this.qe()}),this.Ne)}Lt(){var n=Date.now(),a=[],r=this.Re.filter((c=>c.retryAt<n||(a.push(c),!1)));if(this.Re=a,r.length>0)for(var{requestOptions:l}of r)this.retriableRequest(l)}unload(){for(var{requestOptions:n}of(this.We&&(clearTimeout(this.We),this.We=void 0),this.Le=!1,X(U)||(this.ze&&(U.removeEventListener("online",this.ze),this.ze=void 0),this.He&&(U.removeEventListener("offline",this.He),this.He=void 0)),this.Re))try{this._instance._send_request(ee({},n,{transport:"sendBeacon"}))}catch(a){W.error(a)}this.Re=[]}}class F1{constructor(n){this.Ge=()=>{var a,r,l,c;this.Ve||(this.Ve={});var f=this.scrollElement(),h=this.scrollY(),g=f?Math.max(0,f.scrollHeight-f.clientHeight):0,m=h+(f?.clientHeight||0),y=f?.scrollHeight||0;this.Ve.lastScrollY=Math.ceil(h),this.Ve.maxScrollY=Math.max(h,(a=this.Ve.maxScrollY)!==null&&a!==void 0?a:0),this.Ve.maxScrollHeight=Math.max(g,(r=this.Ve.maxScrollHeight)!==null&&r!==void 0?r:0),this.Ve.lastContentY=m,this.Ve.maxContentY=Math.max(m,(l=this.Ve.maxContentY)!==null&&l!==void 0?l:0),this.Ve.maxContentHeight=Math.max(y,(c=this.Ve.maxContentHeight)!==null&&c!==void 0?c:0)},this._instance=n}getContext(){return this.Ve}resetContext(){var n=this.Ve;return setTimeout(this.Ge,0),n}startMeasuringScrollPosition(){dt(U,"scroll",this.Ge,{capture:!0}),dt(U,"scrollend",this.Ge,{capture:!0}),dt(U,"resize",this.Ge)}scrollElement(){if(!this._instance.config.scroll_root_selector)return U?.document.documentElement;var n=Le(this._instance.config.scroll_root_selector)?this._instance.config.scroll_root_selector:[this._instance.config.scroll_root_selector];for(var a of n){var r=U?.document.querySelector(a);if(r)return r}}scrollY(){if(this._instance.config.scroll_root_selector){var n=this.scrollElement();return n&&n.scrollTop||0}return U&&(U.scrollY||U.pageYOffset||U.document.documentElement.scrollTop)||0}scrollX(){if(this._instance.config.scroll_root_selector){var n=this.scrollElement();return n&&n.scrollLeft||0}return U&&(U.scrollX||U.pageXOffset||U.document.documentElement.scrollLeft)||0}}var z1=s=>g_(s?.config.mask_personal_data_properties,s?.config.custom_personal_data_properties);class Xy{constructor(n,a,r,l){this.Je=c=>{var f=this.Ke();if(!f||f.sessionId!==c){var h={sessionId:c,props:this.Ye(this._instance)};this.Xe.register({[If]:h})}},this._instance=n,this.Qe=a,this.Xe=r,this.Ye=l||z1,this.Qe.onSessionId(this.Je)}Ke(){return this.Xe.props[If]}getSetOnceProps(){var n,a=(n=this.Ke())==null?void 0:n.props;return a?"r"in a?v_(a):{$referring_domain:a.referringDomain,$pathname:a.initialPathName,utm_source:a.utm_source,utm_campaign:a.utm_campaign,utm_medium:a.utm_medium,utm_content:a.utm_content,utm_term:a.utm_term}:{}}getSessionProps(){var n={};return Ve(bh(this.getSetOnceProps()),((a,r)=>{r==="$current_url"&&(r="url"),n["$session_entry_"+Nf(r)]=a})),n}}var df=at("[SessionId]");class Qy{on(n,a){return this.Ze.on(n,a)}constructor(n,a,r){var l;if(this.tr=[],this.ir=void 0,this.Ze=new kh,this.er=(y,b)=>!(!vs(y)||!vs(b))&&Math.abs(y-b)>this.sessionTimeoutMs,!n.persistence)throw new Error("SessionIdManager requires a PostHogPersistence instance");if(n.config.cookieless_mode==="always")throw new Error('SessionIdManager cannot be used with cookieless_mode="always"');this.R=n.config,this.Xe=n.persistence,this.rr=void 0,this.sr=void 0,this._sessionStartTimestamp=null,this._sessionActivityTimestamp=null,this.nr=a||Ya,this.ar=r||Ya;var c=this.R.persistence_name||this.R.token,f=this.R.session_idle_timeout_seconds||1800;if(this._sessionTimeoutMs=1e3*Ln(f,60,36e3,df.createLogger("session_idle_timeout_seconds"),1800),n.register({$configured_session_timeout_ms:this._sessionTimeoutMs}),this.lr(),this.ur="ph_"+c+"_window_id",this.hr="ph_"+c+"_primary_window_exists",this.dr()){var h=kt.W(this.ur),g=kt.W(this.hr);h&&!g?this.rr=h:kt.V(this.ur),kt.G(this.hr,!0)}if((l=this.R.bootstrap)!=null&&l.sessionID)try{var m=(y=>{var b=y.replace(/-/g,"");if(b.length!==32)throw new Error("Not a valid UUID");if(b[12]!=="7")throw new Error("Not a UUIDv7");return parseInt(b.substring(0,12),16)})(this.R.bootstrap.sessionID);this.vr(this.R.bootstrap.sessionID,new Date().getTime(),m)}catch(y){df.error("Invalid sessionID in bootstrap",y)}this.cr()}get sessionTimeoutMs(){return this._sessionTimeoutMs}onSessionId(n){return X(this.tr)&&(this.tr=[]),this.tr.push(n),this.sr&&n(this.sr,this.rr),()=>{this.tr=this.tr.filter((a=>a!==n))}}dr(){return this.R.persistence!=="memory"&&!this.Xe.Si&&kt.H()}pr(n){n!==this.rr&&(this.rr=n,this.dr()&&kt.G(this.ur,n))}gr(){return this.rr?this.rr:this.dr()?kt.W(this.ur):null}vr(n,a,r){n===this.sr&&a===this._sessionActivityTimestamp&&r===this._sessionStartTimestamp||(this._sessionStartTimestamp=r,this._sessionActivityTimestamp=a,this.sr=n,this.Xe.register({[ec]:[a,n,r]}))}_r(){var n=this.Xe.props[ec];return Le(n)&&n.length===2&&n.push(n[0]),n||[0,null,0]}resetSessionId(){this.vr(null,null,null)}destroy(){clearTimeout(this.mr),this.mr=void 0,this.ir&&U&&(U.removeEventListener("beforeunload",this.ir,{capture:!1}),this.ir=void 0),this.tr=[]}cr(){this.ir=()=>{this.dr()&&kt.V(this.hr)},dt(U,"beforeunload",this.ir,{capture:!1})}checkAndGetSessionAndWindowId(n,a){if(n===void 0&&(n=!1),a===void 0&&(a=null),this.R.cookieless_mode==="always")throw new Error('checkAndGetSessionAndWindowId should not be called with cookieless_mode="always"');var r=a||new Date().getTime(),[l,c,f]=this._r(),h=this.gr(),g=vs(f)&&Math.abs(r-f)>864e5,m=!1,y=!c,b=!y&&!n&&this.er(r,l);y||b||g?(c=this.nr(),h=this.ar(),df.info("new session ID generated",{sessionId:c,windowId:h,changeReason:{noSessionId:y,activityTimeout:b,sessionPastMaximumLength:g}}),f=r,m=!0):h||(h=this.ar(),m=!0);var x=vs(l)&&n&&!g?l:r,C=vs(f)?f:new Date().getTime();return this.pr(h),this.vr(c,x,C),n||this.lr(),m&&this.tr.forEach((T=>T(c,h,m?{noSessionId:y,activityTimeout:b,sessionPastMaximumLength:g}:void 0))),{sessionId:c,windowId:h,sessionStartTimestamp:C,changeReason:m?{noSessionId:y,activityTimeout:b,sessionPastMaximumLength:g}:void 0,lastActivityTimestamp:l}}lr(){clearTimeout(this.mr),this.mr=setTimeout((()=>{var[n]=this._r();if(this.er(new Date().getTime(),n)){var a=this.sr;this.resetSessionId(),this.Ze.emit("forcedIdleReset",{idleSessionId:a})}}),1.1*this.sessionTimeoutMs)}}var U1=["$set_once","$set"],Va=at("[SiteApps]");class I1{constructor(n){this._instance=n,this.yr=[],this.apps={}}get isEnabled(){return!!this._instance.config.opt_in_site_apps}br(n,a){if(a){var r=this.globalsForEvent(a);this.yr.push(r),this.yr.length>1e3&&(this.yr=this.yr.slice(10))}}get siteAppLoaders(){var n;return(n=ce._POSTHOG_REMOTE_CONFIG)==null||(n=n[this._instance.config.token])==null?void 0:n.siteApps}init(){if(this.isEnabled){var n=this._instance.Hi(this.br.bind(this));this.wr=()=>{n(),this.yr=[],this.wr=void 0}}}globalsForEvent(n){var a,r,l,c,f,h,g;if(!n)throw new Error("Event payload is required");var m={},y=this._instance.get_property("$groups")||[],b=this._instance.get_property("$stored_group_properties")||{};for(var[x,C]of Object.entries(b))m[x]={id:y[x],type:x,properties:C};var{$set_once:T,$set:k}=n;return{event:ee({},S0(n,U1),{properties:ee({},n.properties,k?{$set:ee({},(a=(r=n.properties)==null?void 0:r.$set)!==null&&a!==void 0?a:{},k)}:{},T?{$set_once:ee({},(l=(c=n.properties)==null?void 0:c.$set_once)!==null&&l!==void 0?l:{},T)}:{}),elements_chain:(f=(h=n.properties)==null?void 0:h.$elements_chain)!==null&&f!==void 0?f:"",distinct_id:(g=n.properties)==null?void 0:g.distinct_id}),person:{properties:this._instance.get_property("$stored_person_properties")},groups:m}}setupSiteApp(n){var a=this.apps[n.id],r=()=>{var h;!a.errored&&this.yr.length&&(Va.info("Processing "+this.yr.length+" events for site app with id "+n.id),this.yr.forEach((g=>a.processEvent==null?void 0:a.processEvent(g))),a.processedBuffer=!0),Object.values(this.apps).every((g=>g.processedBuffer||g.errored))&&((h=this.wr)==null||h.call(this))},l=!1,c=h=>{a.errored=!h,a.loaded=!0,Va.info("Site app with id "+n.id+" "+(h?"loaded":"errored")),l&&r()};try{var{processEvent:f}=n.init({posthog:this._instance,callback:h=>{c(h)}});f&&(a.processEvent=f),l=!0}catch(h){Va.error("Error while initializing PostHog app with config id "+n.id,h),c(!1)}if(l&&a.loaded)try{r()}catch(h){Va.error("Error while processing buffered events PostHog app with config id "+n.id,h),a.errored=!0}}Er(){var n=this.siteAppLoaders||[];for(var a of n)this.apps[a.id]={id:a.id,loaded:!1,errored:!1,processedBuffer:!1};for(var r of n)this.setupSiteApp(r)}$r(n){if(Object.keys(this.apps).length!==0){var a=this.globalsForEvent(n);for(var r of Object.values(this.apps))try{r.processEvent==null||r.processEvent(a)}catch(l){Va.error("Error while processing event "+n.event+" for site app "+r.id,l)}}}onRemoteConfig(n){var a,r,l,c=this;if((a=this.siteAppLoaders)!=null&&a.length)return this.isEnabled?(this.Er(),void this._instance.on("eventCaptured",(m=>this.$r(m)))):void Va.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.');if((r=this.wr)==null||r.call(this),(l=n.siteApps)!=null&&l.length)if(this.isEnabled){var f=function(m){var y;ce["__$$ph_site_app_"+m]=c._instance,(y=ce.__PosthogExtensions__)==null||y.loadSiteApp==null||y.loadSiteApp(c._instance,g,(b=>{if(b)return Va.error("Error while initializing PostHog app with config id "+m,b)}))};for(var{id:h,url:g}of n.siteApps)f(h)}else Va.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.')}}var T_=function(s,n){if(!s)return!1;var a=s.userAgent;if(a&&ry(a,n))return!0;try{var r=s?.userAgentData;if(r!=null&&r.brands&&r.brands.some((l=>ry(l?.brand,n))))return!0}catch{}return!!s.webdriver},Gr=(function(s){return s.US="us",s.EU="eu",s.CUSTOM="custom",s})({}),Zy="i.posthog.com";class H1{constructor(n){this.Sr={},this.instance=n}get apiHost(){var n=this.instance.config.api_host.trim().replace(/\/$/,"");return n==="https://app.posthog.com"?"https://us.i.posthog.com":n}get flagsApiHost(){var n=this.instance.config.flags_api_host;return n?n.trim().replace(/\/$/,""):this.apiHost}get uiHost(){var n,a=(n=this.instance.config.ui_host)==null?void 0:n.replace(/\/$/,"");return a||(a=this.apiHost.replace("."+Zy,".posthog.com")),a==="https://app.posthog.com"?"https://us.posthog.com":a}get region(){return this.Sr[this.apiHost]||(/https:\/\/(app|us|us-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.Sr[this.apiHost]=Gr.US:/https:\/\/(eu|eu-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.Sr[this.apiHost]=Gr.EU:this.Sr[this.apiHost]=Gr.CUSTOM),this.Sr[this.apiHost]}endpointFor(n,a){if(a===void 0&&(a=""),a&&(a=a[0]==="/"?a:"/"+a),n==="ui")return this.uiHost+a;if(n==="flags")return this.flagsApiHost+a;if(this.region===Gr.CUSTOM)return this.apiHost+a;var r=Zy+a;switch(n){case"assets":return"https://"+this.region+"-assets."+r;case"api":return"https://"+this.region+"."+r}}}var q1={icontains:(s,n)=>!!U&&n.href.toLowerCase().indexOf(s.toLowerCase())>-1,not_icontains:(s,n)=>!!U&&n.href.toLowerCase().indexOf(s.toLowerCase())===-1,regex:(s,n)=>!!U&&dc(n.href,s),not_regex:(s,n)=>!!U&&!dc(n.href,s),exact:(s,n)=>n.href===s,is_not:(s,n)=>n.href!==s};class Tt{constructor(n){var a=this;this.getWebExperimentsAndEvaluateDisplayLogic=function(r){r===void 0&&(r=!1),a.getWebExperiments((l=>{Tt.kr("retrieved web experiments from the server"),a.Pr=new Map,l.forEach((c=>{if(c.feature_flag_key){var f;a.Pr&&(Tt.kr("setting flag key ",c.feature_flag_key," to web experiment ",c),(f=a.Pr)==null||f.set(c.feature_flag_key,c));var h=a._instance.getFeatureFlag(c.feature_flag_key);mt(h)&&c.variants[h]&&a.Tr(c.name,h,c.variants[h].transforms)}else if(c.variants)for(var g in c.variants){var m=c.variants[g];Tt.Ir(m)&&a.Tr(c.name,g,m.transforms)}}))}),r)},this._instance=n,this._instance.onFeatureFlags((r=>{this.onFeatureFlags(r)}))}onFeatureFlags(n){if(this._is_bot())Tt.kr("Refusing to render web experiment since the viewer is a likely bot");else if(!this._instance.config.disable_web_experiments){if(Re(this.Pr))return this.Pr=new Map,this.loadIfEnabled(),void this.previewWebExperiment();Tt.kr("applying feature flags",n),n.forEach((a=>{var r;if(this.Pr&&(r=this.Pr)!=null&&r.has(a)){var l,c=this._instance.getFeatureFlag(a),f=(l=this.Pr)==null?void 0:l.get(a);c&&f!=null&&f.variants[c]&&this.Tr(f.name,c,f.variants[c].transforms)}}))}}previewWebExperiment(){var n=Tt.getWindowLocation();if(n!=null&&n.search){var a=rc(n?.search,"__experiment_id"),r=rc(n?.search,"__experiment_variant");a&&r&&(Tt.kr("previewing web experiments "+a+" && "+r),this.getWebExperiments((l=>{this.Cr(parseInt(a),r,l)}),!1,!0))}}loadIfEnabled(){this._instance.config.disable_web_experiments||this.getWebExperimentsAndEvaluateDisplayLogic()}getWebExperiments(n,a,r){if(this._instance.config.disable_web_experiments&&!r)return n([]);var l=this._instance.get_property("$web_experiments");if(l&&!a)return n(l);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/web_experiments/?token="+this._instance.config.token),method:"GET",callback:c=>{if(c.statusCode!==200||!c.json)return n([]);var f=c.json.experiments||[];return n(f)}})}Cr(n,a,r){var l=r.filter((c=>c.id===n));l&&l.length>0&&(Tt.kr("Previewing web experiment ["+l[0].name+"] with variant ["+a+"]"),this.Tr(l[0].name,a,l[0].variants[a].transforms))}static Ir(n){return!Re(n.conditions)&&Tt.Rr(n)&&Tt.Fr(n)}static Rr(n){var a;if(Re(n.conditions)||Re((a=n.conditions)==null?void 0:a.url))return!0;var r,l,c,f=Tt.getWindowLocation();return!!f&&((r=n.conditions)==null||!r.url||q1[(l=(c=n.conditions)==null?void 0:c.urlMatchType)!==null&&l!==void 0?l:"icontains"](n.conditions.url,f))}static getWindowLocation(){return U?.location}static Fr(n){var a;if(Re(n.conditions)||Re((a=n.conditions)==null?void 0:a.utm))return!0;var r=f_();if(r.utm_source){var l,c,f,h,g,m,y,b,x=(l=n.conditions)==null||(l=l.utm)==null||!l.utm_campaign||((c=n.conditions)==null||(c=c.utm)==null?void 0:c.utm_campaign)==r.utm_campaign,C=(f=n.conditions)==null||(f=f.utm)==null||!f.utm_source||((h=n.conditions)==null||(h=h.utm)==null?void 0:h.utm_source)==r.utm_source,T=(g=n.conditions)==null||(g=g.utm)==null||!g.utm_medium||((m=n.conditions)==null||(m=m.utm)==null?void 0:m.utm_medium)==r.utm_medium,k=(y=n.conditions)==null||(y=y.utm)==null||!y.utm_term||((b=n.conditions)==null||(b=b.utm)==null?void 0:b.utm_term)==r.utm_term;return x&&T&&k&&C}return!1}static kr(n){for(var a=arguments.length,r=new Array(a>1?a-1:0),l=1;l<a;l++)r[l-1]=arguments[l];W.info("[WebExperiments] "+n,r)}Tr(n,a,r){this._is_bot()?Tt.kr("Refusing to render web experiment since the viewer is a likely bot"):a!=="control"?r.forEach((l=>{if(l.selector){var c;Tt.kr("applying transform of variant "+a+" for experiment "+n+" ",l);var f=(c=document)==null?void 0:c.querySelectorAll(l.selector);f?.forEach((h=>{var g=h;l.html&&(g.innerHTML=l.html),l.css&&g.setAttribute("style",l.css)}))}})):Tt.kr("Control variants leave the page unmodified.")}_is_bot(){return an&&this._instance?T_(an,this._instance.config.custom_blocked_useragents):void 0}}var B1=at("[PostHog ExternalIntegrations]"),$1={intercom:"intercom-integration",crispChat:"crisp-chat-integration"};class V1{constructor(n){this._instance=n}it(n,a){var r;(r=ce.__PosthogExtensions__)==null||r.loadExternalDependency==null||r.loadExternalDependency(this._instance,n,(l=>{if(l)return B1.error("failed to load script",l);a()}))}startIfEnabledOrStop(){var n=this,a=function(f){var h,g,m;!l||(h=ce.__PosthogExtensions__)!=null&&(h=h.integrations)!=null&&h[f]||n.it($1[f],(()=>{var y;(y=ce.__PosthogExtensions__)==null||(y=y.integrations)==null||(y=y[f])==null||y.start(n._instance)})),!l&&(g=ce.__PosthogExtensions__)!=null&&(g=g.integrations)!=null&&g[f]&&((m=ce.__PosthogExtensions__)==null||(m=m.integrations)==null||(m=m[f])==null||m.stop())};for(var[r,l]of Object.entries((c=this._instance.config.integrations)!==null&&c!==void 0?c:{})){var c;a(r)}}}var Xf="[SessionRecording]",zr=at(Xf);class Wy{get started(){var n;return!((n=this.Mr)==null||!n.isStarted)}get status(){return this.Mr?this.Mr.status:this.Or&&!this.Ar?"disabled":"lazy_loading"}constructor(n){if(this._forceAllowLocalhostNetworkCapture=!1,this.Or=!1,this.Dr=void 0,this._instance=n,!this._instance.sessionManager)throw zr.error("started without valid sessionManager"),new Error(Xf+" started without valid sessionManager. This is a bug.");if(this._instance.config.cookieless_mode==="always")throw new Error(Xf+' cannot be used with cookieless_mode="always"')}get Ar(){var n,a=!((n=this._instance.get_property(Qd))==null||!n.enabled),r=!this._instance.config.disable_session_recording,l=this._instance.config.disable_session_recording||this._instance.consent.isOptedOut();return U&&a&&r&&!l}startIfEnabledOrStop(n){var a;if(!this.Ar||(a=this.Mr)==null||!a.isStarted){var r=!X(Object.assign)&&!X(Array.from);this.Ar&&r?(this.jr(n),zr.info("starting")):this.stopRecording()}}jr(n){var a,r,l;this.Ar&&(ce!=null&&(a=ce.__PosthogExtensions__)!=null&&(a=a.rrweb)!=null&&a.record&&(r=ce.__PosthogExtensions__)!=null&&r.initSessionRecording?this.Lr(n):(l=ce.__PosthogExtensions__)==null||l.loadExternalDependency==null||l.loadExternalDependency(this._instance,this.Nr,(c=>{if(c)return zr.error("could not load recorder",c);this.Lr(n)})))}stopRecording(){var n,a;(n=this.Dr)==null||n.call(this),this.Dr=void 0,(a=this.Mr)==null||a.stop()}Ur(){var n;(n=this._instance.persistence)==null||n.unregister(Y0)}zr(n){if(this._instance.persistence){var a,r,l=this._instance.persistence,c=()=>{var f=n.sessionRecording===!1?void 0:n.sessionRecording,h=f?.sampleRate,g=Re(h)?null:parseFloat(h);Re(g)&&this.Ur();var m=f?.minimumDurationMilliseconds;l.register({[Qd]:ee({enabled:!!f},f,{networkPayloadCapture:ee({capturePerformance:n.capturePerformance},f?.networkPayloadCapture),canvasRecording:{enabled:f?.recordCanvas,fps:f?.canvasFps,quality:f?.canvasQuality},sampleRate:g,minimumDurationMilliseconds:X(m)?null:m,endpoint:f?.endpoint,triggerMatchType:f?.triggerMatchType,masking:f?.masking,urlTriggers:f?.urlTriggers})})};c(),(a=this.Dr)==null||a.call(this),this.Dr=(r=this._instance.sessionManager)==null?void 0:r.onSessionId(c)}}onRemoteConfig(n){"sessionRecording"in n?n.sessionRecording!==!1?(this.zr(n),this.Or=!0,this.startIfEnabledOrStop()):this.Or=!0:zr.info("skipping remote config with no sessionRecording",n)}log(n,a){var r;a===void 0&&(a="log"),(r=this.Mr)!=null&&r.log?this.Mr.log(n,a):zr.warn("log called before recorder was ready")}get Nr(){var n,a,r=(n=this._instance)==null||(n=n.persistence)==null?void 0:n.get_property(Qd);return(r==null||(a=r.scriptConfig)==null?void 0:a.script)||"lazy-recorder"}Lr(n){var a,r;if((a=ce.__PosthogExtensions__)==null||!a.initSessionRecording)throw Error("Called on script loaded before session recording is available");this.Mr||(this.Mr=(r=ce.__PosthogExtensions__)==null?void 0:r.initSessionRecording(this._instance),this.Mr._forceAllowLocalhostNetworkCapture=this._forceAllowLocalhostNetworkCapture),this.Mr.start(n)}onRRwebEmit(n){var a;(a=this.Mr)==null||a.onRRwebEmit==null||a.onRRwebEmit(n)}overrideLinkedFlag(){var n,a;this.Mr||(a=this._instance.persistence)==null||a.register({$replay_override_linked_flag:!0}),(n=this.Mr)==null||n.overrideLinkedFlag()}overrideSampling(){var n,a;this.Mr||(a=this._instance.persistence)==null||a.register({$replay_override_sampling:!0}),(n=this.Mr)==null||n.overrideSampling()}overrideTrigger(n){var a,r;this.Mr||(r=this._instance.persistence)==null||r.register({[n==="url"?"$replay_override_url_trigger":"$replay_override_event_trigger"]:!0}),(a=this.Mr)==null||a.overrideTrigger(n)}get sdkDebugProperties(){var n;return((n=this.Mr)==null?void 0:n.sdkDebugProperties)||{$recording_status:this.status}}tryAddCustomEvent(n,a){var r;return!((r=this.Mr)==null||!r.tryAddCustomEvent(n,a))}}var Xr={},Qf=()=>{},ys="posthog",N_=!g1&&Ht?.indexOf("MSIE")===-1&&Ht?.indexOf("Mozilla")===-1,Jy=s=>{var n;return ee({api_host:"https://us.i.posthog.com",flags_api_host:null,ui_host:null,token:"",autocapture:!0,cross_subdomain_cookie:ST(J?.location),persistence:"localStorage+cookie",persistence_name:"",cookie_persisted_properties:[],loaded:Qf,save_campaign_params:!0,custom_campaign_params:[],custom_blocked_useragents:[],save_referrer:!0,capture_pageleave:"if_capture_pageview",defaults:s??"unset",__preview_deferred_init_extensions:!1,debug:qt&&mt(qt?.search)&&qt.search.indexOf("__posthog_debug=true")!==-1||!1,cookie_expiration:365,upgrade:!1,disable_session_recording:!1,disable_persistence:!1,disable_web_experiments:!0,disable_surveys:!1,disable_surveys_automatic_display:!1,disable_conversations:!1,disable_product_tours:!0,disable_external_dependency_loading:!1,enable_recording_console_log:void 0,secure_cookie:(U==null||(n=U.location)==null?void 0:n.protocol)==="https:",ip:!1,opt_out_capturing_by_default:!1,opt_out_persistence_by_default:!1,opt_out_useragent_filter:!1,opt_out_capturing_persistence_type:"localStorage",consent_persistence_name:null,opt_out_capturing_cookie_prefix:null,opt_in_site_apps:!1,property_denylist:[],respect_dnt:!1,sanitize_properties:null,request_headers:{},request_batching:!0,properties_string_max_length:65535,mask_all_element_attributes:!1,mask_all_text:!1,mask_personal_data_properties:!1,custom_personal_data_properties:[],advanced_disable_flags:!1,advanced_disable_decide:!1,advanced_disable_feature_flags:!1,advanced_disable_feature_flags_on_first_load:!1,advanced_only_evaluate_survey_feature_flags:!1,advanced_enable_surveys:!1,advanced_disable_toolbar_metrics:!1,feature_flag_request_timeout_ms:3e3,surveys_request_timeout_ms:1e4,on_request_error:a=>{var r="Bad HTTP status: "+a.statusCode+" "+a.text;W.error(r)},get_device_id:a=>a,capture_performance:void 0,name:"posthog",bootstrap:{},disable_compression:!1,session_idle_timeout_seconds:1800,person_profiles:"identified_only",before_send:void 0,request_queue_config:{flush_interval_ms:Kf},error_tracking:{},_onCapture:Qf,__preview_eager_load_replay:!1},(a=>({rageclick:!(a&&a>="2025-11-30")||{content_ignorelist:!0},capture_pageview:!(a&&a>="2025-05-24")||"history_change",session_recording:a&&a>="2025-11-30"?{strictMinimumDuration:!0}:{}}))(s))},eb=s=>{var n={};X(s.process_person)||(n.person_profiles=s.process_person),X(s.xhr_headers)||(n.request_headers=s.xhr_headers),X(s.cookie_name)||(n.persistence_name=s.cookie_name),X(s.disable_cookie)||(n.disable_persistence=s.disable_cookie),X(s.store_google)||(n.save_campaign_params=s.store_google),X(s.verbose)||(n.debug=s.verbose);var a=rt({},n,s);return Le(s.property_blacklist)&&(X(s.property_denylist)?a.property_denylist=s.property_blacklist:Le(s.property_denylist)?a.property_denylist=[...s.property_blacklist,...s.property_denylist]:W.error("Invalid value for property_denylist config: "+s.property_denylist)),a};class G1{constructor(){this.__forceAllowLocalhost=!1}get Hr(){return this.__forceAllowLocalhost}set Hr(n){W.error("WebPerformanceObserver is deprecated and has no impact on network capture. Use `_forceAllowLocalhostNetworkCapture` on `posthog.sessionRecording`"),this.__forceAllowLocalhost=n}}class Sc{get decideEndpointWasHit(){var n,a;return(n=(a=this.featureFlags)==null?void 0:a.hasLoadedFlags)!==null&&n!==void 0&&n}get flagsEndpointWasHit(){var n,a;return(n=(a=this.featureFlags)==null?void 0:a.hasLoadedFlags)!==null&&n!==void 0&&n}constructor(){this.webPerformance=new G1,this.Br=!1,this.version=oa.LIB_VERSION,this.qr=new kh,this._calculate_event_properties=this.calculateEventProperties.bind(this),this.config=Jy(),this.SentryIntegration=QT,this.sentryIntegration=n=>(function(a,r){var l=d_(a,r);return{name:u_,processEvent:c=>l(c)}})(this,n),this.__request_queue=[],this.__loaded=!1,this.analyticsDefaultEndpoint="/e/",this.Wr=!1,this.Gr=null,this.Vr=null,this.Jr=null,this.featureFlags=new _1(this),this.toolbar=new WT(this),this.scrollManager=new F1(this),this.pageViewManager=new Oy(this),this.surveys=new N1(this),this.conversations=new M1(this),this.logs=new j1(this),this.experiments=new Tt(this),this.exceptions=new v1(this),this.rateLimiter=new R1(this),this.requestRouter=new H1(this),this.consent=new $T(this),this.externalIntegrations=new V1(this),this.people={set:(n,a,r)=>{var l=mt(n)?{[n]:a}:n;this.setPersonProperties(l),r?.({})},set_once:(n,a,r)=>{var l=mt(n)?{[n]:a}:n;this.setPersonProperties(void 0,l),r?.({})}},this.on("eventCaptured",(n=>W.info('send "'+n?.event+'"',n)))}init(n,a,r){if(r&&r!==ys){var l,c=(l=Xr[r])!==null&&l!==void 0?l:new Sc;return c._init(n,a,r),Xr[r]=c,Xr[ys][r]=c,c}return this._init(n,a,r)}_init(n,a,r){var l;if(a===void 0&&(a={}),X(n)||Mf(n))return W.critical("PostHog was initialized without a token. This likely indicates a misconfiguration. Please check the first argument passed to posthog.init()"),this;if(this.__loaded)return console.warn("[PostHog.js]","You have already initialized PostHog! Re-initializing is a no-op"),this;this.__loaded=!0,this.config={},a.debug=this.Kr(a.debug),this.Yr=a,this.Xr=[],a.person_profiles&&(this.Vr=a.person_profiles),this.set_config(rt({},Jy(a.defaults),eb(a),{name:r,token:n})),this.config.on_xhr_error&&W.error("on_xhr_error is deprecated. Use on_request_error instead"),this.compression=a.disable_compression?void 0:ua.GZipJS;var c=this.Qr();this.persistence=new of(this.config,c),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new of(ee({},this.config,{persistence:"sessionStorage"}),c);var f=ee({},this.persistence.props),h=ee({},this.sessionPersistence.props);this.register({$initialization_time:new Date().toISOString()}),this.Zr=new P1((j=>this.ts(j)),this.config.request_queue_config),this.es=new L1(this),this.__request_queue=[];var g=this.config.cookieless_mode==="always"||this.config.cookieless_mode==="on_reject"&&this.consent.isExplicitlyOptedOut();if(g||(this.sessionManager=new Qy(this),this.sessionPropsManager=new Xy(this,this.sessionManager,this.persistence)),this.config.__preview_deferred_init_extensions?(W.info("Deferring extension initialization to improve startup performance"),setTimeout((()=>{this.rs(g)}),0)):(W.info("Initializing extensions synchronously"),this.rs(g)),oa.DEBUG=oa.DEBUG||this.config.debug,oa.DEBUG&&W.info("Starting in debug mode",{this:this,config:a,thisC:ee({},this.config),p:f,s:h}),((l=a.bootstrap)==null?void 0:l.distinctID)!==void 0){var m,y,b=this.config.get_device_id(Ya()),x=(m=a.bootstrap)!=null&&m.isIdentifiedID?b:a.bootstrap.distinctID;this.persistence.set_property(la,(y=a.bootstrap)!=null&&y.isIdentifiedID?"identified":"anonymous"),this.register({distinct_id:a.bootstrap.distinctID,$device_id:x})}if(this.ss()){var C,T,k=Object.keys(((C=a.bootstrap)==null?void 0:C.featureFlags)||{}).filter((j=>{var D;return!((D=a.bootstrap)==null||(D=D.featureFlags)==null||!D[j])})).reduce(((j,D)=>{var q;return j[D]=((q=a.bootstrap)==null||(q=q.featureFlags)==null?void 0:q[D])||!1,j}),{}),A=Object.keys(((T=a.bootstrap)==null?void 0:T.featureFlagPayloads)||{}).filter((j=>k[j])).reduce(((j,D)=>{var q,B;return(q=a.bootstrap)!=null&&(q=q.featureFlagPayloads)!=null&&q[D]&&(j[D]=(B=a.bootstrap)==null||(B=B.featureFlagPayloads)==null?void 0:B[D]),j}),{});this.featureFlags.receivedFeatureFlags({featureFlags:k,featureFlagPayloads:A})}if(g)this.register_once({distinct_id:Mr,$device_id:null},"");else if(!this.get_distinct_id()){var M=this.config.get_device_id(Ya());this.register_once({distinct_id:M,$device_id:M},""),this.persistence.set_property(la,"anonymous")}return dt(U,"onpagehide"in self?"pagehide":"unload",this._handle_unload.bind(this),{passive:!1}),this.toolbar.maybeLoadToolbar(),a.segment?XT(this,(()=>this.ns())):this.ns(),Ka(this.config._onCapture)&&this.config._onCapture!==Qf&&(W.warn("onCapture is deprecated. Please use `before_send` instead"),this.on("eventCaptured",(j=>this.config._onCapture(j.event,j)))),this.config.ip&&W.warn('The `ip` config option has NO EFFECT AT ALL and has been deprecated. Use a custom transformation or "Discard IP data" project setting instead. See https://posthog.com/tutorials/web-redact-properties#hiding-customer-ip-address for more information.'),this}rs(n){var a=performance.now();this.historyAutocapture=new KT(this),this.historyAutocapture.startIfEnabled();var r=[];r.push((()=>{new e1(this).startIfEnabledOrStop()})),r.push((()=>{var l;this.siteApps=new I1(this),(l=this.siteApps)==null||l.init()})),n||r.push((()=>{this.sessionRecording=new Wy(this),this.sessionRecording.startIfEnabledOrStop()})),this.config.disable_scroll_properties||r.push((()=>{this.scrollManager.startMeasuringScrollPosition()})),r.push((()=>{this.autocapture=new LT(this),this.autocapture.startIfEnabled()})),r.push((()=>{this.surveys.loadIfEnabled()})),r.push((()=>{this.logs.loadIfEnabled()})),r.push((()=>{this.conversations.loadIfEnabled()})),r.push((()=>{this.productTours=new x1(this),this.productTours.loadIfEnabled()})),r.push((()=>{this.heatmaps=new o1(this),this.heatmaps.startIfEnabled()})),r.push((()=>{this.webVitalsAutocapture=new s1(this)})),r.push((()=>{this.exceptionObserver=new YT(this),this.exceptionObserver.startIfEnabledOrStop()})),r.push((()=>{this.deadClicksAutocapture=new c_(this,GT),this.deadClicksAutocapture.startIfEnabled()})),r.push((()=>{if(this.os){var l=this.os;this.os=void 0,this.yi(l)}})),this.ls(r,a)}ls(n,a){for(;n.length>0;){if(this.config.__preview_deferred_init_extensions&&performance.now()-a>=30&&n.length>0)return void setTimeout((()=>{this.ls(n,a)}),0);var r=n.shift();if(r)try{r()}catch(c){W.error("Error initializing extension:",c)}}var l=Math.round(performance.now()-a);this.register_for_session({$sdk_debug_extensions_init_method:this.config.__preview_deferred_init_extensions?"deferred":"synchronous",$sdk_debug_extensions_init_time_ms:l}),this.config.__preview_deferred_init_extensions&&W.info("PostHog extensions initialized ("+l+"ms)")}yi(n){var a,r,l,c,f,h,g,m,y;if(!J||!J.body)return W.info("document not ready yet, trying again in 500 milliseconds..."),void setTimeout((()=>{this.yi(n)}),500);this.config.__preview_deferred_init_extensions&&(this.os=n),this.compression=void 0,n.supportedCompression&&!this.config.disable_compression&&(this.compression=ke(n.supportedCompression,ua.GZipJS)?ua.GZipJS:ke(n.supportedCompression,ua.Base64)?ua.Base64:void 0),(a=n.analytics)!=null&&a.endpoint&&(this.analyticsDefaultEndpoint=n.analytics.endpoint),this.set_config({person_profiles:this.Vr?this.Vr:"identified_only"}),(r=this.siteApps)==null||r.onRemoteConfig(n),(l=this.sessionRecording)==null||l.onRemoteConfig(n),(c=this.autocapture)==null||c.onRemoteConfig(n),(f=this.heatmaps)==null||f.onRemoteConfig(n),this.surveys.onRemoteConfig(n),this.logs.onRemoteConfig(n),this.conversations.onRemoteConfig(n),(h=this.productTours)==null||h.onRemoteConfig(n),(g=this.webVitalsAutocapture)==null||g.onRemoteConfig(n),(m=this.exceptionObserver)==null||m.onRemoteConfig(n),this.exceptions.onRemoteConfig(n),(y=this.deadClicksAutocapture)==null||y.onRemoteConfig(n)}ns(){try{this.config.loaded(this)}catch(n){W.critical("`loaded` function failed",n)}this.us(),this.config.capture_pageview&&setTimeout((()=>{(this.consent.isOptedIn()||this.config.cookieless_mode==="always")&&this.hs()}),1),new D1(this).load(),this.featureFlags.flags()}us(){var n;this.is_capturing()&&this.config.request_batching&&((n=this.Zr)==null||n.enable())}_dom_loaded(){this.is_capturing()&&Xa(this.__request_queue,(n=>this.ts(n))),this.__request_queue=[],this.us()}_handle_unload(){var n,a;this.surveys.handlePageUnload(),this.config.request_batching?(this.ds()&&this.capture("$pageleave"),(n=this.Zr)==null||n.unload(),(a=this.es)==null||a.unload()):this.ds()&&this.capture("$pageleave",null,{transport:"sendBeacon"})}_send_request(n){this.__loaded&&(N_?this.__request_queue.push(n):this.rateLimiter.isServerRateLimited(n.batchKey)||(n.transport=n.transport||this.config.api_transport,n.url=uc(n.url,{ip:this.config.ip?1:0}),n.headers=ee({},this.config.request_headers,n.headers),n.compression=n.compression==="best-available"?this.compression:n.compression,n.disableXHRCredentials=this.config.__preview_disable_xhr_credentials,this.config.__preview_disable_beacon&&(n.disableTransport=["sendBeacon"]),n.fetchOptions=n.fetchOptions||this.config.fetch_options,(a=>{var r,l,c,f=ee({},a);f.timeout=f.timeout||6e4,f.url=uc(f.url,{_:new Date().getTime().toString(),ver:oa.LIB_VERSION,compression:f.compression});var h=(r=f.transport)!==null&&r!==void 0?r:"fetch",g=Yl.filter((y=>!f.disableTransport||!y.transport||!f.disableTransport.includes(y.transport))),m=(l=(c=$0(g,(y=>y.transport===h)))==null?void 0:c.method)!==null&&l!==void 0?l:g[0].method;if(!m)throw new Error("No available transport method");m(f)})(ee({},n,{callback:a=>{var r,l;this.rateLimiter.checkForLimiting(a),a.statusCode>=400&&((r=(l=this.config).on_request_error)==null||r.call(l,a)),n.callback==null||n.callback(a)}}))))}ts(n){this.es?this.es.retriableRequest(n):this._send_request(n)}_execute_array(n){var a,r=[],l=[],c=[];Xa(n,(h=>{h&&(a=h[0],Le(a)?c.push(h):Ka(h)?h.call(this):Le(h)&&a==="alias"?r.push(h):Le(h)&&a.indexOf("capture")!==-1&&Ka(this[a])?c.push(h):l.push(h))}));var f=function(h,g){Xa(h,(function(m){if(Le(m[0])){var y=g;Ve(m,(function(b){y=y[b[0]].apply(y,b.slice(1))}))}else this[m[0]].apply(this,m.slice(1))}),g)};f(r,this),f(l,this),f(c,this)}ss(){var n,a;return((n=this.config.bootstrap)==null?void 0:n.featureFlags)&&Object.keys((a=this.config.bootstrap)==null?void 0:a.featureFlags).length>0||!1}push(n){this._execute_array([n])}capture(n,a,r){var l;if(this.__loaded&&this.persistence&&this.sessionPersistence&&this.Zr){if(this.is_capturing())if(!X(n)&&mt(n)){var c=!this.config.opt_out_useragent_filter&&this._is_bot();if(!(c&&!this.config.__preview_capture_bot_pageviews)){var f=r!=null&&r.skip_client_rate_limiting?void 0:this.rateLimiter.clientRateLimitContext();if(f==null||!f.isRateLimited){a!=null&&a.$current_url&&!mt(a?.$current_url)&&(W.error("Invalid `$current_url` property provided to `posthog.capture`. Input must be a string. Ignoring provided value."),a==null||delete a.$current_url),this.sessionPersistence.update_search_keyword(),this.config.save_campaign_params&&this.sessionPersistence.update_campaign_params(),this.config.save_referrer&&this.sessionPersistence.update_referrer_info(),(this.config.save_campaign_params||this.config.save_referrer)&&this.persistence.set_initial_person_info();var h=new Date,g=r?.timestamp||h,m=Ya(),y={uuid:m,event:n,properties:this.calculateEventProperties(n,a||{},g,m)};n==="$pageview"&&this.config.__preview_capture_bot_pageviews&&c&&(y.event="$bot_pageview",y.properties.$browser_type="bot"),f&&(y.properties.$lib_rate_limit_remaining_tokens=f.remainingTokens),r?.$set&&(y.$set=r?.$set);var b,x=n!=="$groupidentify",C=this.vs(r?.$set_once,x);if(C&&(y.$set_once=C),(y=bT(y,r!=null&&r._noTruncate?null:this.config.properties_string_max_length)).timestamp=g,X(r?.timestamp)||(y.properties.$event_time_override_provided=!0,y.properties.$event_time_override_system_time=h),n===Vr.DISMISSED||n===Vr.SENT){var T=a?.[uf.SURVEY_ID],k=a?.[uf.SURVEY_ITERATION];b={id:T,current_iteration:k},localStorage.getItem(Yy(b))||localStorage.setItem(Yy(b),"true"),y.$set=ee({},y.$set,{[w1({id:T,current_iteration:k},n===Vr.SENT?"responded":"dismissed")]:!0})}else n===Vr.SHOWN&&(y.$set=ee({},y.$set,{[uf.SURVEY_LAST_SEEN_DATE]:new Date().toISOString()}));var A=ee({},y.properties.$set,y.$set);if(_s(A)||this.setPersonPropertiesForFlags(A),!Re(this.config.before_send)){var M=this.cs(y);if(!M)return;y=M}this.qr.emit("eventCaptured",y);var j={method:"POST",url:(l=r?._url)!==null&&l!==void 0?l:this.requestRouter.endpointFor("api",this.analyticsDefaultEndpoint),data:y,compression:"best-available",batchKey:r?._batchKey};return!this.config.request_batching||r&&(r==null||!r._batchKey)||r!=null&&r.send_instantly?this.ts(j):this.Zr.enqueue(j),y}W.critical("This capture call is ignored due to client rate limiting.")}}else W.error("No event name provided to posthog.capture")}else W.uninitializedWarning("posthog.capture")}Hi(n){return this.on("eventCaptured",(a=>n(a.event,a)))}calculateEventProperties(n,a,r,l,c){if(r=r||new Date,!this.persistence||!this.sessionPersistence)return a;var f=c?void 0:this.persistence.remove_event_timer(n),h=ee({},a);if(h.token=this.config.token,h.$config_defaults=this.config.defaults,(this.config.cookieless_mode=="always"||this.config.cookieless_mode=="on_reject"&&this.consent.isExplicitlyOptedOut())&&(h.$cookieless_mode=!0),n==="$snapshot"){var g=ee({},this.persistence.properties(),this.sessionPersistence.properties());return h.distinct_id=g.distinct_id,(!mt(h.distinct_id)&&!ma(h.distinct_id)||Mf(h.distinct_id))&&W.error("Invalid distinct_id for replay event. This indicates a bug in your implementation"),h}var m,y=i1(this.config.mask_personal_data_properties,this.config.custom_personal_data_properties);if(this.sessionManager){var{sessionId:b,windowId:x}=this.sessionManager.checkAndGetSessionAndWindowId(c,r.getTime());h.$session_id=b,h.$window_id=x}this.sessionPropsManager&&rt(h,this.sessionPropsManager.getSessionProps());try{var C;this.sessionRecording&&rt(h,this.sessionRecording.sdkDebugProperties),h.$sdk_debug_retry_queue_size=(C=this.es)==null?void 0:C.length}catch(M){h.$sdk_debug_error_capturing_properties=String(M)}if(this.requestRouter.region===Gr.CUSTOM&&(h.$lib_custom_api_host=this.config.api_host),m=n!=="$pageview"||c?n!=="$pageleave"||c?this.pageViewManager.doEvent():this.pageViewManager.doPageLeave(r):this.pageViewManager.doPageView(r,l),h=rt(h,m),n==="$pageview"&&J&&(h.title=J.title),!X(f)){var T=r.getTime()-f;h.$duration=parseFloat((T/1e3).toFixed(3))}Ht&&this.config.opt_out_useragent_filter&&(h.$browser_type=this._is_bot()?"bot":"browser"),(h=rt({},y,this.persistence.properties(),this.sessionPersistence.properties(),h)).$is_identified=this._isIdentified(),Le(this.config.property_denylist)?Ve(this.config.property_denylist,(function(M){delete h[M]})):W.error("Invalid value for property_denylist config: "+this.config.property_denylist+" or property_blacklist config: "+this.config.property_blacklist);var k=this.config.sanitize_properties;k&&(W.error("sanitize_properties is deprecated. Use before_send instead"),h=k(h,n));var A=this.fs();return h.$process_person_profile=A,A&&!c&&this.ps("_calculate_event_properties"),h}vs(n,a){var r;if(a===void 0&&(a=!0),!this.persistence||!this.fs()||this.Br)return n;var l=this.persistence.get_initial_props(),c=(r=this.sessionPropsManager)==null?void 0:r.getSetOnceProps(),f=rt({},l,c||{},n||{}),h=this.config.sanitize_properties;return h&&(W.error("sanitize_properties is deprecated. Use before_send instead"),f=h(f,"$set_once")),a&&(this.Br=!0),_s(f)?void 0:f}register(n,a){var r;(r=this.persistence)==null||r.register(n,a)}register_once(n,a,r){var l;(l=this.persistence)==null||l.register_once(n,a,r)}register_for_session(n){var a;(a=this.sessionPersistence)==null||a.register(n)}unregister(n){var a;(a=this.persistence)==null||a.unregister(n)}unregister_for_session(n){var a;(a=this.sessionPersistence)==null||a.unregister(n)}gs(n,a){this.register({[n]:a})}getFeatureFlag(n,a){return this.featureFlags.getFeatureFlag(n,a)}getFeatureFlagPayload(n){var a=this.featureFlags.getFeatureFlagPayload(n);try{return JSON.parse(a)}catch{return a}}isFeatureEnabled(n,a){return this.featureFlags.isFeatureEnabled(n,a)}reloadFeatureFlags(){this.featureFlags.reloadFeatureFlags()}updateFlags(n,a,r){var l=r!=null&&r.merge?this.featureFlags.getFlagVariants():{},c=r!=null&&r.merge?this.featureFlags.getFlagPayloads():{},f=ee({},l,n),h=ee({},c,a),g={};for(var[m,y]of Object.entries(f)){var b=typeof y=="string";g[m]={key:m,enabled:!!b||!!y,variant:b?y:void 0,reason:void 0,metadata:X(h?.[m])?void 0:{id:0,version:void 0,description:void 0,payload:h[m]}}}this.featureFlags.receivedFeatureFlags({flags:g})}updateEarlyAccessFeatureEnrollment(n,a,r){this.featureFlags.updateEarlyAccessFeatureEnrollment(n,a,r)}getEarlyAccessFeatures(n,a,r){return a===void 0&&(a=!1),this.featureFlags.getEarlyAccessFeatures(n,a,r)}on(n,a){return this.qr.on(n,a)}onFeatureFlags(n){return this.featureFlags.onFeatureFlags(n)}onSurveysLoaded(n){return this.surveys.onSurveysLoaded(n)}onSessionId(n){var a,r;return(a=(r=this.sessionManager)==null?void 0:r.onSessionId(n))!==null&&a!==void 0?a:()=>{}}getSurveys(n,a){a===void 0&&(a=!1),this.surveys.getSurveys(n,a)}getActiveMatchingSurveys(n,a){a===void 0&&(a=!1),this.surveys.getActiveMatchingSurveys(n,a)}renderSurvey(n,a){this.surveys.renderSurvey(n,a)}displaySurvey(n,a){a===void 0&&(a=k1),this.surveys.displaySurvey(n,a)}cancelPendingSurvey(n){this.surveys.cancelPendingSurvey(n)}canRenderSurvey(n){return this.surveys.canRenderSurvey(n)}canRenderSurveyAsync(n,a){return a===void 0&&(a=!1),this.surveys.canRenderSurveyAsync(n,a)}identify(n,a,r){if(!this.__loaded||!this.persistence)return W.uninitializedWarning("posthog.identify");if(ma(n)&&(n=n.toString(),W.warn("The first argument to posthog.identify was a number, but it should be a string. It has been converted to a string.")),n)if(["distinct_id","distinctid"].includes(n.toLowerCase()))W.critical('The string "'+n+'" was set in posthog.identify which indicates an error. This ID should be unique to the user and not a hardcoded string.');else if(n!==Mr){if(this.ps("posthog.identify")){var l=this.get_distinct_id();if(this.register({$user_id:n}),!this.get_property("$device_id")){var c=l;this.register_once({$had_persisted_distinct_id:!0,$device_id:c},"")}n!==l&&n!==this.get_property(Ir)&&(this.unregister(Ir),this.register({distinct_id:n}));var f=(this.persistence.get_property(la)||"anonymous")==="anonymous";n!==l&&f?(this.persistence.set_property(la,"identified"),this.setPersonPropertiesForFlags(ee({},r||{},a||{}),!1),this.capture("$identify",{distinct_id:n,$anon_distinct_id:l},{$set:a||{},$set_once:r||{}}),this.Jr=Hy(n,a,r),this.featureFlags.setAnonymousDistinctId(l)):(a||r)&&this.setPersonProperties(a,r),n!==l&&(this.reloadFeatureFlags(),this.unregister(tc))}}else W.critical('The string "'+Mr+'" was set in posthog.identify which indicates an error. This ID is only used as a sentinel value.');else W.error("Unique user id has not been set in posthog.identify")}setPersonProperties(n,a){if((n||a)&&this.ps("posthog.setPersonProperties")){var r=Hy(this.get_distinct_id(),n,a);this.Jr!==r?(this.setPersonPropertiesForFlags(ee({},a||{},n||{})),this.capture("$set",{$set:n||{},$set_once:a||{}}),this.Jr=r):W.info("A duplicate setPersonProperties call was made with the same properties. It has been ignored.")}}group(n,a,r){if(n&&a){var l=this.getGroups();l[n]!==a&&this.resetGroupPropertiesForFlags(n),this.register({$groups:ee({},l,{[n]:a})}),r&&(this.capture("$groupidentify",{$group_type:n,$group_key:a,$group_set:r}),this.setGroupPropertiesForFlags({[n]:r})),l[n]===a||r||this.reloadFeatureFlags()}else W.error("posthog.group requires a group type and group key")}resetGroups(){this.register({$groups:{}}),this.resetGroupPropertiesForFlags(),this.reloadFeatureFlags()}setPersonPropertiesForFlags(n,a){a===void 0&&(a=!0),this.featureFlags.setPersonPropertiesForFlags(n,a)}resetPersonPropertiesForFlags(){this.featureFlags.resetPersonPropertiesForFlags()}setGroupPropertiesForFlags(n,a){a===void 0&&(a=!0),this.ps("posthog.setGroupPropertiesForFlags")&&this.featureFlags.setGroupPropertiesForFlags(n,a)}resetGroupPropertiesForFlags(n){this.featureFlags.resetGroupPropertiesForFlags(n)}reset(n){var a,r,l,c;if(W.info("reset"),!this.__loaded)return W.uninitializedWarning("posthog.reset");var f=this.get_property("$device_id");if(this.consent.reset(),(a=this.persistence)==null||a.clear(),(r=this.sessionPersistence)==null||r.clear(),this.surveys.reset(),this.featureFlags.reset(),(l=this.persistence)==null||l.set_property(la,"anonymous"),(c=this.sessionManager)==null||c.resetSessionId(),this.Jr=null,this.config.cookieless_mode==="always")this.register_once({distinct_id:Mr,$device_id:null},"");else{var h=this.config.get_device_id(Ya());this.register_once({distinct_id:h,$device_id:n?h:f},"")}this.register({$last_posthog_reset:new Date().toISOString()},1)}get_distinct_id(){return this.get_property("distinct_id")}getGroups(){return this.get_property("$groups")||{}}get_session_id(){var n,a;return(n=(a=this.sessionManager)==null?void 0:a.checkAndGetSessionAndWindowId(!0).sessionId)!==null&&n!==void 0?n:""}get_session_replay_url(n){if(!this.sessionManager)return"";var{sessionId:a,sessionStartTimestamp:r}=this.sessionManager.checkAndGetSessionAndWindowId(!0),l=this.requestRouter.endpointFor("ui","/project/"+this.config.token+"/replay/"+a);if(n!=null&&n.withTimestamp&&r){var c,f=(c=n.timestampLookBack)!==null&&c!==void 0?c:10;if(!r)return l;l+="?t="+Math.max(Math.floor((new Date().getTime()-r)/1e3)-f,0)}return l}alias(n,a){return n===this.get_property(V0)?(W.critical("Attempting to create alias for existing People user - aborting."),-2):this.ps("posthog.alias")?(X(a)&&(a=this.get_distinct_id()),n!==a?(this.gs(Ir,n),this.capture("$create_alias",{alias:n,distinct_id:a})):(W.warn("alias matches current distinct_id - skipping api call."),this.identify(n),-1)):void 0}set_config(n){var a=ee({},this.config);if(yt(n)){var r,l,c,f,h,g,m;rt(this.config,eb(n));var y=this.Qr();(r=this.persistence)==null||r.update_config(this.config,a,y),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new of(ee({},this.config,{persistence:"sessionStorage"}),y);var b=this.Kr(this.config.debug);ha(b)&&(this.config.debug=b),ha(this.config.debug)&&(this.config.debug?(oa.DEBUG=!0,Je.H()&&Je.G("ph_debug","true"),W.info("set_config",{config:n,oldConfig:a,newConfig:ee({},this.config)})):(oa.DEBUG=!1,Je.H()&&Je.V("ph_debug"))),(l=this.exceptionObserver)==null||l.onConfigChange(),(c=this.sessionRecording)==null||c.startIfEnabledOrStop(),(f=this.autocapture)==null||f.startIfEnabled(),(h=this.heatmaps)==null||h.startIfEnabled(),(g=this.exceptionObserver)==null||g.startIfEnabledOrStop(),this.surveys.loadIfEnabled(),this._s(),(m=this.externalIntegrations)==null||m.startIfEnabledOrStop()}}startSessionRecording(n){var a=n===!0,r={sampling:a||!(n==null||!n.sampling),linked_flag:a||!(n==null||!n.linked_flag),url_trigger:a||!(n==null||!n.url_trigger),event_trigger:a||!(n==null||!n.event_trigger)};if(Object.values(r).some(Boolean)){var l,c,f,h,g;(l=this.sessionManager)==null||l.checkAndGetSessionAndWindowId(),r.sampling&&((c=this.sessionRecording)==null||c.overrideSampling()),r.linked_flag&&((f=this.sessionRecording)==null||f.overrideLinkedFlag()),r.url_trigger&&((h=this.sessionRecording)==null||h.overrideTrigger("url")),r.event_trigger&&((g=this.sessionRecording)==null||g.overrideTrigger("event"))}this.set_config({disable_session_recording:!1})}stopSessionRecording(){this.set_config({disable_session_recording:!0})}sessionRecordingStarted(){var n;return!((n=this.sessionRecording)==null||!n.started)}captureException(n,a){var r=new Error("PostHog syntheticException"),l=this.exceptions.buildProperties(n,{handled:!0,syntheticException:r});return this.exceptions.sendExceptionEvent(ee({},l,a))}startExceptionAutocapture(n){this.set_config({capture_exceptions:n==null||n})}stopExceptionAutocapture(){this.set_config({capture_exceptions:!1})}loadToolbar(n){return this.toolbar.loadToolbar(n)}get_property(n){var a;return(a=this.persistence)==null?void 0:a.props[n]}getSessionProperty(n){var a;return(a=this.sessionPersistence)==null?void 0:a.props[n]}toString(){var n,a=(n=this.config.name)!==null&&n!==void 0?n:ys;return a!==ys&&(a=ys+"."+a),a}_isIdentified(){var n,a;return((n=this.persistence)==null?void 0:n.get_property(la))==="identified"||((a=this.sessionPersistence)==null?void 0:a.get_property(la))==="identified"}fs(){var n,a;return!(this.config.person_profiles==="never"||this.config.person_profiles==="identified_only"&&!this._isIdentified()&&_s(this.getGroups())&&((n=this.persistence)==null||(n=n.props)==null||!n[Ir])&&((a=this.persistence)==null||(a=a.props)==null||!a[ac]))}ds(){return this.config.capture_pageleave===!0||this.config.capture_pageleave==="if_capture_pageview"&&(this.config.capture_pageview===!0||this.config.capture_pageview==="history_change")}createPersonProfile(){this.fs()||this.ps("posthog.createPersonProfile")&&this.setPersonProperties({},{})}ps(n){return this.config.person_profiles==="never"?(W.error(n+' was called, but process_person is set to "never". This call will be ignored.'),!1):(this.gs(ac,!0),!0)}Qr(){if(this.config.cookieless_mode==="always")return!0;var n=this.consent.isOptedOut(),a=this.config.opt_out_persistence_by_default||this.config.cookieless_mode==="on_reject";return this.config.disable_persistence||n&&!!a}_s(){var n,a,r,l,c=this.Qr();return((n=this.persistence)==null?void 0:n.Si)!==c&&((r=this.persistence)==null||r.set_disabled(c)),((a=this.sessionPersistence)==null?void 0:a.Si)!==c&&((l=this.sessionPersistence)==null||l.set_disabled(c)),c}opt_in_capturing(n){var a;if(this.config.cookieless_mode!=="always"){var r,l,c;this.config.cookieless_mode==="on_reject"&&this.consent.isExplicitlyOptedOut()&&(this.reset(!0),(r=this.sessionManager)==null||r.destroy(),(l=this.pageViewManager)==null||l.destroy(),this.sessionManager=new Qy(this),this.pageViewManager=new Oy(this),this.persistence&&(this.sessionPropsManager=new Xy(this,this.sessionManager,this.persistence)),this.sessionRecording=new Wy(this),this.sessionRecording.startIfEnabledOrStop()),this.consent.optInOut(!0),this._s(),this.us(),(a=this.sessionRecording)==null||a.startIfEnabledOrStop(),this.config.cookieless_mode=="on_reject"&&this.surveys.loadIfEnabled(),(X(n?.captureEventName)||n!=null&&n.captureEventName)&&this.capture((c=n?.captureEventName)!==null&&c!==void 0?c:"$opt_in",n?.captureProperties,{send_instantly:!0}),this.config.capture_pageview&&this.hs()}else W.warn('Consent opt in/out is not valid with cookieless_mode="always" and will be ignored')}opt_out_capturing(){var n,a,r;this.config.cookieless_mode!=="always"?(this.config.cookieless_mode==="on_reject"&&this.consent.isOptedIn()&&this.reset(!0),this.consent.optInOut(!1),this._s(),this.config.cookieless_mode==="on_reject"&&(this.register({distinct_id:Mr,$device_id:null}),(n=this.sessionManager)==null||n.destroy(),(a=this.pageViewManager)==null||a.destroy(),this.sessionManager=void 0,this.sessionPropsManager=void 0,(r=this.sessionRecording)==null||r.stopRecording(),this.sessionRecording=void 0,this.hs())):W.warn('Consent opt in/out is not valid with cookieless_mode="always" and will be ignored')}has_opted_in_capturing(){return this.consent.isOptedIn()}has_opted_out_capturing(){return this.consent.isOptedOut()}get_explicit_consent_status(){var n=this.consent.consent;return n===ca.GRANTED?"granted":n===ca.DENIED?"denied":"pending"}is_capturing(){return this.config.cookieless_mode==="always"||(this.config.cookieless_mode==="on_reject"?this.consent.isExplicitlyOptedOut()||this.consent.isOptedIn():!this.has_opted_out_capturing())}clear_opt_in_out_capturing(){this.consent.reset(),this._s()}_is_bot(){return an?T_(an,this.config.custom_blocked_useragents):void 0}hs(){J&&(J.visibilityState==="visible"?this.Wr||(this.Wr=!0,this.capture("$pageview",{title:J.title},{send_instantly:!0}),this.Gr&&(J.removeEventListener("visibilitychange",this.Gr),this.Gr=null)):this.Gr||(this.Gr=this.hs.bind(this),dt(J,"visibilitychange",this.Gr)))}debug(n){n===!1?(U?.console.log("You've disabled debug mode."),this.set_config({debug:!1})):(U?.console.log("You're now in debug mode. All calls to PostHog will be logged in your console.\nYou can disable this with `posthog.debug(false)`."),this.set_config({debug:!0}))}O(){var n,a,r,l,c,f,h,g=this.Yr||{};return"advanced_disable_flags"in g?!!g.advanced_disable_flags:this.config.advanced_disable_flags!==!1?!!this.config.advanced_disable_flags:this.config.advanced_disable_decide===!0?(W.warn("Config field 'advanced_disable_decide' is deprecated. Please use 'advanced_disable_flags' instead. The old field will be removed in a future major version."),!0):(r="advanced_disable_decide",l=!1,c=W,f=(a="advanced_disable_flags")in(n=g)&&!X(n[a]),h=r in n&&!X(n[r]),f?n[a]:h?(c&&c.warn("Config field '"+r+"' is deprecated. Please use '"+a+"' instead. The old field will be removed in a future major version."),n[r]):l)}cs(n){if(Re(this.config.before_send))return n;var a=Le(this.config.before_send)?this.config.before_send:[this.config.before_send],r=n;for(var l of a){if(r=l(r),Re(r)){var c="Event '"+n.event+"' was rejected in beforeSend function";return LE(n.event)?W.warn(c+". This can cause unexpected behavior."):W.info(c),null}r.properties&&!_s(r.properties)||W.warn("Event '"+n.event+"' has no properties after beforeSend function, this is likely an error.")}return r}getPageViewId(){var n;return(n=this.pageViewManager.Kt)==null?void 0:n.pageViewId}captureTraceFeedback(n,a){this.capture("$ai_feedback",{$ai_trace_id:String(n),$ai_feedback_text:a})}captureTraceMetric(n,a,r){this.capture("$ai_metric",{$ai_trace_id:String(n),$ai_metric_name:a,$ai_metric_value:String(r)})}Kr(n){var a=ha(n)&&!n,r=Je.H()&&Je.q("ph_debug")==="true";return!a&&(!!r||n)}}(function(s,n){for(var a=0;a<n.length;a++)s.prototype[n[a]]=yT(s.prototype[n[a]])})(Sc,["identify"]);var tb,fc=(tb=Xr[ys]=new Sc,(function(){function s(){s.done||(s.done=!0,N_=!1,Ve(Xr,(function(n){n._dom_loaded()})))}J!=null&&J.addEventListener?J.readyState==="complete"?s():dt(J,"DOMContentLoaded",s,{capture:!1}):U&&W.error("Browser doesn't support `document.addEventListener` so PostHog couldn't be initialized")})(),tb);const Y1="phc_5knpC9zvXXFaTJw4EMwrRBSYHIYW7b8ig6E14N8jYDp",K1="https://app.posthog.com",nb="0.3.4",M_="agentstudio_telemetry_enabled";function j_(){return localStorage.getItem(M_)!=="false"}function QP(s){localStorage.setItem(M_,s?"true":"false"),s?fc.opt_in_capturing():fc.opt_out_capturing()}function Zf(s,n){if(!j_())return;const a=r=>r.replace(/(?:\/[^\s:]+)+/g,"[PATH]").replace(/(?:[A-Za-z]:\\[^\s:]+)+/g,"[PATH]").replace(/[a-zA-Z0-9]{32,}/g,"[REDACTED]").substring(0,256);fc.capture("app_error",{message:a(s.message),errorType:s.name,component:n||"unknown"})}const X1=({children:s})=>{const[n,a]=S.useState(!1);return S.useEffect(()=>(fc.init(Y1,{api_host:K1,persistence:"localStorage",autocapture:!1,capture_pageview:!0,capture_pageleave:!0,disable_session_recording:!0,loaded:r=>{r.register({platform:"frontend",app_version:nb}),j_()||r.opt_out_capturing(),console.log("[Telemetry] PostHog initialized"),a(!0),r.capture("app_start",{platform:"frontend",app_version:nb})}}),()=>{}),[]),S.useEffect(()=>{if(!n)return;const r=c=>{Zf(c.error||new Error(c.message),"global")},l=c=>{const f=c.reason instanceof Error?c.reason:new Error(String(c.reason));Zf(f,"unhandledRejection")};return window.addEventListener("error",r),window.addEventListener("unhandledrejection",l),()=>{window.removeEventListener("error",r),window.removeEventListener("unhandledrejection",l)}},[n]),p.jsx(p.Fragment,{children:s})};class Q1 extends S.Component{constructor(n){super(n),this.state={hasError:!1,error:null}}static getDerivedStateFromError(n){return{hasError:!0,error:n}}componentDidCatch(n,a){Zf(n,a.componentStack?.split(`
87
- `)[1]?.trim()||"unknown"),console.error("ErrorBoundary caught an error:",n,a)}handleReload=()=>{window.location.reload()};handleReset=()=>{this.setState({hasError:!1,error:null})};render(){return this.state.hasError?this.props.fallback?this.props.fallback:p.jsx("div",{className:"min-h-screen bg-gray-50 dark:bg-gray-900 flex items-center justify-center p-4",children:p.jsxs("div",{className:"max-w-md w-full bg-white dark:bg-gray-800 rounded-2xl shadow-xl p-8 text-center",children:[p.jsx("div",{className:"w-16 h-16 mx-auto bg-red-100 dark:bg-red-900/30 rounded-full flex items-center justify-center mb-6",children:p.jsx(Qr,{className:"w-8 h-8 text-red-600 dark:text-red-400"})}),p.jsx("h1",{className:"text-xl font-bold text-gray-900 dark:text-white mb-2",children:"Something went wrong"}),p.jsx("p",{className:"text-gray-600 dark:text-gray-400 mb-6",children:"An unexpected error occurred. Our team has been notified."}),this.state.error&&p.jsx("div",{className:"bg-gray-100 dark:bg-gray-700 rounded-lg p-4 mb-6 text-left",children:p.jsx("p",{className:"text-sm font-mono text-red-600 dark:text-red-400 break-all",children:this.state.error.message})}),p.jsxs("div",{className:"flex gap-3 justify-center",children:[p.jsx("button",{onClick:this.handleReset,className:"px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300 bg-gray-100 dark:bg-gray-700 rounded-lg hover:bg-gray-200 dark:hover:bg-gray-600 transition-colors",children:"Try Again"}),p.jsxs("button",{onClick:this.handleReload,className:"px-4 py-2 text-sm font-medium text-white bg-blue-600 rounded-lg hover:bg-blue-700 transition-colors flex items-center gap-2",children:[p.jsx(pf,{className:"w-4 h-4"}),"Reload Page"]})]})]})}):this.props.children}}const R_=S.createContext(null),Z1={default:ub,danger:Qr,warning:Qr,info:Jw},W1={default:{icon:"text-blue-500",button:"bg-blue-600 hover:bg-blue-700 focus:ring-blue-500"},danger:{icon:"text-red-500",button:"bg-red-600 hover:bg-red-700 focus:ring-red-500"},warning:{icon:"text-yellow-500",button:"bg-yellow-600 hover:bg-yellow-700 focus:ring-yellow-500"},info:{icon:"text-blue-500",button:"bg-blue-600 hover:bg-blue-700 focus:ring-blue-500"}},J1=({children:s})=>{const[n,a]=S.useState({isOpen:!1,message:"",resolve:null}),r=S.useRef(null),l=S.useCallback(y=>new Promise(b=>{r.current=b,a({isOpen:!0,...y,resolve:b})}),[]),c=S.useCallback(()=>{r.current&&(r.current(!0),r.current=null),a(y=>({...y,isOpen:!1,resolve:null}))},[]),f=S.useCallback(()=>{r.current&&(r.current(!1),r.current=null),a(y=>({...y,isOpen:!1,resolve:null}))},[]),h=n.variant||"default",g=Z1[h],m=W1[h];return p.jsxs(R_.Provider,{value:{confirm:l},children:[s,n.isOpen&&p.jsxs("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center p-4",role:"alertdialog","aria-modal":"true","aria-labelledby":"confirm-dialog-title","aria-describedby":"confirm-dialog-description","data-testid":"confirm-dialog",children:[p.jsx("div",{className:"absolute inset-0 bg-black/50 transition-opacity",onClick:f,"data-testid":"confirm-dialog-backdrop"}),p.jsxs("div",{className:"relative bg-white dark:bg-gray-800 rounded-lg shadow-xl max-w-md w-full mx-4 overflow-hidden transform transition-all","data-testid":"confirm-dialog-content",children:[p.jsxs("div",{className:"flex items-start p-6 pb-4",children:[p.jsx("div",{className:`flex-shrink-0 mr-4 ${m.icon}`,children:p.jsx(g,{size:24})}),p.jsxs("div",{className:"flex-1 min-w-0",children:[n.title&&p.jsx("h3",{id:"confirm-dialog-title",className:"text-lg font-semibold text-gray-900 dark:text-white mb-2",children:n.title}),p.jsx("p",{id:"confirm-dialog-description",className:"text-gray-600 dark:text-gray-300 whitespace-pre-line",children:n.message})]}),p.jsx("button",{onClick:f,className:"flex-shrink-0 ml-4 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200 transition-colors","data-testid":"confirm-dialog-close",children:p.jsx(Za,{size:20})})]}),p.jsxs("div",{className:"flex justify-end space-x-3 px-6 py-4 bg-gray-50 dark:bg-gray-900/50",children:[p.jsx("button",{onClick:f,className:"px-4 py-2 text-gray-700 dark:text-gray-300 bg-white dark:bg-gray-700 border border-gray-300 dark:border-gray-600 hover:bg-gray-50 dark:hover:bg-gray-600 rounded-lg transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2","data-testid":"confirm-dialog-cancel",children:n.cancelText||"取消"}),p.jsx("button",{onClick:c,className:`px-4 py-2 text-white rounded-lg transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 ${m.button}`,"data-testid":"confirm-dialog-confirm",autoFocus:!0,children:n.confirmText||"确认"})]})]})]})]})},ZP=()=>{const s=S.useContext(R_);if(!s)throw new Error("useConfirm must be used within a ConfirmProvider");return s.confirm},eN=({url:s})=>(S.useEffect(()=>{window.location.href=s},[s]),p.jsx("div",{className:"flex items-center justify-center h-screen",children:"Redirecting..."})),tN=S.lazy(()=>Ge(()=>import("./DashboardPage-BhqKOzob.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10])).then(s=>({default:s.DashboardPage}))),nN=S.lazy(()=>Ge(()=>import("./AgentsPage-BsZdkqzM.js"),__vite__mapDeps([11,1,2,3,12,9,5,6,7,8,13,14,15,16])).then(s=>({default:s.AgentsPage}))),aN=S.lazy(()=>Ge(()=>import("./ProjectsPage-DRl-0B4G.js"),__vite__mapDeps([17,1,2,3,5,6,7,8,18,9,14,12,19,20,15,21,4,22])).then(s=>({default:s.ProjectsPage}))),iN=S.lazy(()=>Ge(()=>import("./McpPage-B4nQUJag.js"),__vite__mapDeps([23,1,2,3,5,6,7,8,12])).then(s=>({default:s.McpPage}))),sN=S.lazy(()=>Ge(()=>import("./SettingsLayout-LGC-0pQl.js"),__vite__mapDeps([24,1,2,3,5,6,7,8])).then(s=>({default:s.SettingsLayout}))),ab=S.lazy(()=>Ge(()=>import("./GeneralSettingsPage-DYdwai51.js"),__vite__mapDeps([25,1,2,3,6,7,5,8])).then(s=>({default:s.GeneralSettingsPage}))),rN=S.lazy(()=>Ge(()=>import("./VersionSettingsPage-BwpwiLyl.js"),__vite__mapDeps([26,1,2,3,22,5,6,7,8,14])).then(s=>({default:s.VersionSettingsPage}))),oN=S.lazy(()=>Ge(()=>import("./MemorySettingsPage-eu6tsuUh.js"),__vite__mapDeps([27,1,2,3,5,6,7,8])).then(s=>({default:s.MemorySettingsPage}))),lN=S.lazy(()=>Ge(()=>import("./SubagentsPage-bX2XWdJ0.js"),__vite__mapDeps([28,1,2,3,12,21,5,6,7,8,15,18,16])).then(s=>({default:s.SubagentsPage}))),cN=S.lazy(()=>Ge(()=>import("./McpAdminSettingsPage-CIILVzB8.js"),__vite__mapDeps([29,1,2,3,5,6,7,8])).then(s=>({default:s.McpAdminSettingsPage}))),uN=S.lazy(()=>Ge(()=>import("./TelemetrySettingsPage-q167I4G9.js"),__vite__mapDeps([30,1,2,3,6,7,5,8])).then(s=>({default:s.TelemetrySettingsPage}))),dN=S.lazy(()=>Ge(()=>import("./SystemInfoPage-nEIQbtwG.js"),__vite__mapDeps([31,1,2,3,6,7,5,8])).then(s=>({default:s.SystemInfoPage}))),fN=S.lazy(()=>Ge(()=>import("./WebSocketTunnelPage-BqEUE7mr.js"),__vite__mapDeps([32,1,2,3,7,5,6,8])).then(s=>({default:s.WebSocketTunnelPage}))),hN=S.lazy(()=>Ge(()=>import("./VoiceSettingsPage-d3l9AWBn.js"),__vite__mapDeps([33,1,2,3,5,6,7,8])).then(s=>({default:s.VoiceSettingsPage}))),pN=S.lazy(()=>Ge(()=>import("./CursorConfigPage-DpUdJzRi.js"),__vite__mapDeps([34,1,2,3,5,6,7,8,35])).then(s=>({default:s.CursorConfigPage}))),mN=S.lazy(()=>Ge(()=>import("./RulesPage-DUt33RkX.js"),__vite__mapDeps([36,1,2,3,5,6,7,8,12])).then(s=>({default:s.RulesPage}))),gN=S.lazy(()=>Ge(()=>import("./HooksPage-DDGc0GGV.js"),__vite__mapDeps([37,1,2,3,5,6,7,8,12,35])).then(s=>({default:s.HooksPage}))),vN=S.lazy(()=>Ge(()=>import("./CommandsPage-qDWzq8xp.js"),__vite__mapDeps([38,1,2,3,12,19,5,6,7,8,20,15,18,16])).then(s=>({default:s.CommandsPage}))),yN=S.lazy(()=>Ge(()=>import("./SkillsPage-Lzw8I9vR.js"),__vite__mapDeps([39,1,2,3,12,5,6,7,8,15,40,41,16])).then(s=>({default:s.SkillsPage}))),bN=S.lazy(()=>Ge(()=>import("./PluginsPage-DD92Xk6X.js"),__vite__mapDeps([42,1,2,3,5,6,7,8,40,41])).then(s=>({default:s.PluginsPage}))),_N=S.lazy(()=>Ge(()=>import("./ScheduledTasksPage-CTDYYRIN.js"),__vite__mapDeps([43,1,2,3,12,5,6,7,8,9,4,22])).then(s=>({default:s.ScheduledTasksPage}))),SN=S.lazy(()=>Ge(()=>import("./ChatPage-D8buVhfb.js").then(s=>s.bC),__vite__mapDeps([44,1,2,3,5,6,7,8,9,10,19,22,41,15,14,13,45])).then(s=>({default:s.ChatPage}))),xN=S.lazy(()=>Ge(()=>import("./ModelsPage-Bb5vSsuc.js"),__vite__mapDeps([46,1,2,3,5,6,7,8])).then(s=>({default:s.default}))),wN=S.lazy(()=>Ge(()=>import("./LandingPage-CvY4n9Rh.js"),__vite__mapDeps([47,1,2,3,6,7,5,8])).then(s=>({default:s.default}))),CN=S.lazy(()=>Ge(()=>import("./LoginPage-C-PZfjYC.js"),__vite__mapDeps([48,1,2,3,7,6,5,8])).then(s=>({default:s.LoginPage}))),kN=S.lazy(()=>Ge(()=>import("./ToastTestPage-j224d3QR.js"),__vite__mapDeps([49,1,2,3,5,6,7,8])).then(s=>({default:s.ToastTestPage}))),AN=()=>p.jsx("div",{className:"flex items-center justify-center h-64",children:p.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-gray-900"})}),EN=new pw({defaultOptions:{queries:{refetchOnWindowFocus:!1,retry:1}}}),TN=()=>(S.useEffect(()=>{(()=>{const n=localStorage.getItem("theme")||"auto";if(n==="dark")document.documentElement.classList.add("dark");else if(n==="light")document.documentElement.classList.remove("dark");else{const a=window.matchMedia("(prefers-color-scheme: dark)");a.matches?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark");const r=l=>{localStorage.getItem("theme")==="auto"&&(l.matches?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark"))};return a.addEventListener("change",r),()=>a.removeEventListener("change",r)}})()},[]),p.jsx(xk,{basename:"/",children:p.jsx(S.Suspense,{fallback:p.jsx(AN,{}),children:p.jsxs(WC,{children:[p.jsx(Oe,{path:"/",element:p.jsx(wN,{})}),p.jsx(Oe,{path:"/login",element:p.jsx(CN,{})}),p.jsx(Oe,{path:"/chat/:agentId",element:p.jsx(It,{children:p.jsx(SN,{})})}),p.jsx(Oe,{path:"/dashboard",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(tN,{})})})}),p.jsx(Oe,{path:"/agents",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(nN,{})})})}),p.jsx(Oe,{path:"/projects",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(aN,{})})})}),p.jsx(Oe,{path:"/mcp",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(iN,{})})})}),p.jsx(Oe,{path:"/rules",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(mN,{})})})}),p.jsx(Oe,{path:"/hooks",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(gN,{})})})}),p.jsx(Oe,{path:"/skills",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(yN,{})})})}),p.jsx(Oe,{path:"/plugins",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(bN,{})})})}),p.jsx(Oe,{path:"/models",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(xN,{})})})}),p.jsx(Oe,{path:"/scheduled-tasks",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(_N,{})})})}),p.jsxs(Oe,{path:"/settings",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(sN,{})})}),children:[p.jsx(Oe,{index:!0,element:p.jsx(ab,{})}),p.jsx(Oe,{path:"general",element:p.jsx(ab,{})}),p.jsx(Oe,{path:"suppliers",element:p.jsx(rN,{})}),p.jsx(Oe,{path:"memory",element:p.jsx(oN,{})}),p.jsx(Oe,{path:"commands",element:p.jsx(vN,{})}),p.jsx(Oe,{path:"subagents",element:p.jsx(lN,{})}),p.jsx(Oe,{path:"mcp-admin",element:p.jsx(cN,{})}),p.jsx(Oe,{path:"telemetry",element:p.jsx(uN,{})}),p.jsx(Oe,{path:"system-info",element:p.jsx(dN,{})}),p.jsx(Oe,{path:"tunnel",element:p.jsx(fN,{})}),p.jsx(Oe,{path:"voice",element:p.jsx(hN,{})}),p.jsx(Oe,{path:"cursor-config",element:p.jsx(pN,{})})]}),p.jsx(Oe,{path:"/toast-test",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(kN,{})})})}),p.jsx(Oe,{path:"/discord",element:p.jsx(eN,{url:"https://discord.gg/6uYsrr66"})}),p.jsx(Oe,{path:"*",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx("div",{className:"p-4 text-center",children:"Page not found"})})})})]})})}));function NN(){return p.jsx(Q1,{children:p.jsx(mw,{client:EN,children:p.jsx($k,{children:p.jsx(X1,{children:p.jsxs(J1,{children:[p.jsx(TN,{}),p.jsx(jE,{})]})})})})})}const{slice:MN,forEach:jN}=[];function RN(s){return jN.call(MN.call(arguments,1),n=>{if(n)for(const a in n)s[a]===void 0&&(s[a]=n[a])}),s}function DN(s){return typeof s!="string"?!1:[/<\s*script.*?>/i,/<\s*\/\s*script\s*>/i,/<\s*img.*?on\w+\s*=/i,/<\s*\w+\s*on\w+\s*=.*?>/i,/javascript\s*:/i,/vbscript\s*:/i,/expression\s*\(/i,/eval\s*\(/i,/alert\s*\(/i,/document\.cookie/i,/document\.write\s*\(/i,/window\.location/i,/innerHTML/i].some(a=>a.test(s))}const ib=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,PN=function(s,n){const r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{path:"/"},l=encodeURIComponent(n);let c=`${s}=${l}`;if(r.maxAge>0){const f=r.maxAge-0;if(Number.isNaN(f))throw new Error("maxAge should be a Number");c+=`; Max-Age=${Math.floor(f)}`}if(r.domain){if(!ib.test(r.domain))throw new TypeError("option domain is invalid");c+=`; Domain=${r.domain}`}if(r.path){if(!ib.test(r.path))throw new TypeError("option path is invalid");c+=`; Path=${r.path}`}if(r.expires){if(typeof r.expires.toUTCString!="function")throw new TypeError("option expires is invalid");c+=`; Expires=${r.expires.toUTCString()}`}if(r.httpOnly&&(c+="; HttpOnly"),r.secure&&(c+="; Secure"),r.sameSite)switch(typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite){case!0:c+="; SameSite=Strict";break;case"lax":c+="; SameSite=Lax";break;case"strict":c+="; SameSite=Strict";break;case"none":c+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return r.partitioned&&(c+="; Partitioned"),c},sb={create(s,n,a,r){let l=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};a&&(l.expires=new Date,l.expires.setTime(l.expires.getTime()+a*60*1e3)),r&&(l.domain=r),document.cookie=PN(s,n,l)},read(s){const n=`${s}=`,a=document.cookie.split(";");for(let r=0;r<a.length;r++){let l=a[r];for(;l.charAt(0)===" ";)l=l.substring(1,l.length);if(l.indexOf(n)===0)return l.substring(n.length,l.length)}return null},remove(s,n){this.create(s,"",-1,n)}};var ON={name:"cookie",lookup(s){let{lookupCookie:n}=s;if(n&&typeof document<"u")return sb.read(n)||void 0},cacheUserLanguage(s,n){let{lookupCookie:a,cookieMinutes:r,cookieDomain:l,cookieOptions:c}=n;a&&typeof document<"u"&&sb.create(a,s,r,l,c)}},LN={name:"querystring",lookup(s){let{lookupQuerystring:n}=s,a;if(typeof window<"u"){let{search:r}=window.location;!window.location.search&&window.location.hash?.indexOf("?")>-1&&(r=window.location.hash.substring(window.location.hash.indexOf("?")));const c=r.substring(1).split("&");for(let f=0;f<c.length;f++){const h=c[f].indexOf("=");h>0&&c[f].substring(0,h)===n&&(a=c[f].substring(h+1))}}return a}},FN={name:"hash",lookup(s){let{lookupHash:n,lookupFromHashIndex:a}=s,r;if(typeof window<"u"){const{hash:l}=window.location;if(l&&l.length>2){const c=l.substring(1);if(n){const f=c.split("&");for(let h=0;h<f.length;h++){const g=f[h].indexOf("=");g>0&&f[h].substring(0,g)===n&&(r=f[h].substring(g+1))}}if(r)return r;if(!r&&a>-1){const f=l.match(/\/([a-zA-Z-]*)/g);return Array.isArray(f)?f[typeof a=="number"?a:0]?.replace("/",""):void 0}}}return r}};let ms=null;const rb=()=>{if(ms!==null)return ms;try{if(ms=typeof window<"u"&&window.localStorage!==null,!ms)return!1;const s="i18next.translate.boo";window.localStorage.setItem(s,"foo"),window.localStorage.removeItem(s)}catch{ms=!1}return ms};var zN={name:"localStorage",lookup(s){let{lookupLocalStorage:n}=s;if(n&&rb())return window.localStorage.getItem(n)||void 0},cacheUserLanguage(s,n){let{lookupLocalStorage:a}=n;a&&rb()&&window.localStorage.setItem(a,s)}};let gs=null;const ob=()=>{if(gs!==null)return gs;try{if(gs=typeof window<"u"&&window.sessionStorage!==null,!gs)return!1;const s="i18next.translate.boo";window.sessionStorage.setItem(s,"foo"),window.sessionStorage.removeItem(s)}catch{gs=!1}return gs};var UN={name:"sessionStorage",lookup(s){let{lookupSessionStorage:n}=s;if(n&&ob())return window.sessionStorage.getItem(n)||void 0},cacheUserLanguage(s,n){let{lookupSessionStorage:a}=n;a&&ob()&&window.sessionStorage.setItem(a,s)}},IN={name:"navigator",lookup(s){const n=[];if(typeof navigator<"u"){const{languages:a,userLanguage:r,language:l}=navigator;if(a)for(let c=0;c<a.length;c++)n.push(a[c]);r&&n.push(r),l&&n.push(l)}return n.length>0?n:void 0}},HN={name:"htmlTag",lookup(s){let{htmlTag:n}=s,a;const r=n||(typeof document<"u"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(a=r.getAttribute("lang")),a}},qN={name:"path",lookup(s){let{lookupFromPathIndex:n}=s;if(typeof window>"u")return;const a=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(a)?a[typeof n=="number"?n:0]?.replace("/",""):void 0}},BN={name:"subdomain",lookup(s){let{lookupFromSubdomainIndex:n}=s;const a=typeof n=="number"?n+1:1,r=typeof window<"u"&&window.location?.hostname?.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(r)return r[a]}};let D_=!1;try{document.cookie,D_=!0}catch{}const P_=["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"];D_||P_.splice(1,1);const $N=()=>({order:P_,lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:s=>s});class O_{constructor(n){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(n,a)}init(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{languageUtils:{}},a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=RN(a,this.options||{},$N()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=l=>l.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=r,this.addDetector(ON),this.addDetector(LN),this.addDetector(zN),this.addDetector(UN),this.addDetector(IN),this.addDetector(HN),this.addDetector(qN),this.addDetector(BN),this.addDetector(FN)}addDetector(n){return this.detectors[n.name]=n,this}detect(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.order,a=[];return n.forEach(r=>{if(this.detectors[r]){let l=this.detectors[r].lookup(this.options);l&&typeof l=="string"&&(l=[l]),l&&(a=a.concat(l))}}),a=a.filter(r=>r!=null&&!DN(r)).map(r=>this.options.convertDetectedLanguage(r)),this.services&&this.services.languageUtils&&this.services.languageUtils.getBestMatchFromCodes?a:a.length>0?a[0]:null}cacheUserLanguage(n){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.caches;a&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(n)>-1||a.forEach(r=>{this.detectors[r]&&this.detectors[r].cacheUserLanguage(n,this.options)}))}}O_.type="languageDetector";const VN={create:"创建",delete:"删除",save:"保存",cancel:"取消",confirm:"确定",edit:"编辑",close:"关闭",back:"返回",next:"下一步",refresh:"刷新",submit:"提交",reset:"重置",search:"搜索",add:"添加",remove:"移除",update:"更新",upload:"上传",download:"下载",export:"导出",import:"导入",copy:"复制",paste:"粘贴",cut:"剪切"},GN={loading:"加载中...",processing:"处理中...",success:"操作成功",failed:"操作失败",saving:"保存中...",deleting:"删除中...",uploading:"上传中...",downloading:"下载中...",completed:"已完成",pending:"待处理",active:"活跃",inactive:"未激活",enabled:"已启用",disabled:"已禁用"},YN={yes:"是",no:"否",ok:"好的",all:"全部",none:"无",or:"或",and:"和",more:"更多",less:"更少",unknown:"未知",optional:"可选",required:"必填",default:"默认",custom:"自定义"},KN="路径",XN="创建时间",QN={init:{description:""},clear:{description:""},compact:{description:""},agents:{description:""},settings:{description:""},help:{description:""}},ZN={sendImage:""},WN={chinese:"",english:""},JN={pageTitle:"",metaDescription:"",nav:{enterWorkspace:""},hero:{title:"",subtitle:"",description:"",startNow:"",viewSource:""},features:{title:"",subtitle:"",modernWeb:{title:"",description:""},multiModel:{title:"",description:""},agentSystem:{title:"",description:""},fileManagement:{title:"",description:""},professionalTools:{title:"",description:""},secureReliable:{title:"",description:""}},quickStart:{title:"",subtitle:"",endUserTitle:"",endUserDescription:"",developerTitle:"",developerDescription:""},cta:{title:"",subtitle:"",start:""},footer:{description:"",copyright:"",product:"",workspace:"",sourceCode:"",releases:"",support:"",documentation:"",issues:"",discussions:""}},eM={actions:VN,status:GN,common:YN,path:KN,createdAt:XN,systemCommands:QN,agentChat:ZN,languageSwitcher:WN,landing:JN},tM={backToHome:"返回首页",documentation:"文档目录"},nM={dashboard:"首页",projects:"项目管理",agents:"Agent管理",scheduledTasks:"定时任务",extensions:"扩展能力",skills:"技能管理",plugins:"插件管理",mcp:"MCP服务",commands:"自定义命令",subagents:"Subagent管理",settings:"系统管理",settingsSubmenu:{general:"通用设置",suppliers:"供应商管理",memory:"全局记忆",mcpAdmin:"MCP Admin",tunnel:"隧道接入",voice:"语音输入"}},aM={newVersionAvailable:"新版本 v{{version}} 已发布",updateAvailableTitle:"有新版本可用",currentVersion:"当前版本",viewUpdate:"查看更新",dismiss:"忽略",remindLater:"稍后提醒"},iM={version:"版本 {{version}}",apiServerStatus:{connected:"API服务器设置 - 连接正常",disconnected:"API服务器设置 - 连接失败",checking:"API服务器设置 - 检查中..."},serviceStatus:{normal:"服务正常",unavailable:"服务不可用",checking:"检查中..."}},sM={title:"登录",subtitle:"请输入密码以继续",passwordLabel:"密码",passwordPlaceholder:"请输入密码",loginButton:"登录",loggingIn:"登录中...",footer:"如果您忘记了密码,请联系管理员",manageServices:"管理后端服务",serviceName:"服务名称",serviceUrl:"服务地址",current:"当前",testConnection:"测试连接",switchTo:"切换到此服务",edit:"编辑",delete:"删除",save:"保存",cancel:"取消",add:"添加",addService:"添加新服务",rerunOnboarding:"重新运行配置向导",checkingConnection:"正在检查连接...",autoLoggingIn:"正在自动登录...",noPasswordRequired:"此服务未设置密码,可直接登录",enterSystem:"进入系统"},rM={pageTitle:"AgentStudio - Agent 工作台 | Claude Agent SDK 驱动",metaDescription:"Agent for Work - 本地的 Agent 工作台,由 Claude Agent SDK 强力驱动。数据完全私有,支持定时任务、A2A 协议、自定义 Agent。",nav:{enterWorkspace:"进入工作台",docs:"文档",wechat:"微信群"},hero:{badge:"由 Claude Agent SDK 强力驱动",title:"Agent for Work",subtitle:"本地的 Agent 工作台",description:"真正运行在你电脑上的私人 AI 助理。数据完全私有,安全可控,支持定时任务自动化和多 Agent 协作。",startNow:"开始使用",viewSource:"查看源码",copyCommand:"复制命令",installHint:"复制下面的命令到终端运行,即可开始使用",copy:"复制",copied:"已复制"},preview:{title:"产品预览",subtitle:"直观的 Web 界面,让 AI 工作更高效",chatAlt:"聊天界面截图",chatCaption:"聊天界面 - 与 Agent 对话,可视化展示工具调用",mcpAlt:"MCP 服务管理截图",mcpCaption:"MCP 服务管理 - 一键导入 Claude Code 配置"},features:{title:"核心特性",subtitle:"为 AI 工作自动化设计的完整解决方案",localWorkspace:{title:"本地的 Agent 工作台",point1:"运行在你的电脑上,真正意义的本地工作台",point2:"数据完全私有,不上传云端",point3:"文件、代码、对话记录都在掌控之中"},webExperience:{title:"Web 版交互体验",point1:"告别命令行,拥抱友好的 Web 界面",point2:"工具调用可视化呈现,对话体验更鲜活",point3:"内置文件浏览器,对话同时查看项目文件"},sdkFeatures:{title:"Claude Agent SDK 全家桶",skills:"技能系统",commands:"自定义命令",plugins:"插件生态",memory:"项目记忆",subagent:"子 Agent",multiModel:"多模型支持",anthropicCompat:"支持 Claude、GLM、DeepSeek、Kimi K2、MiniMax 等兼容 Anthropic 接口规范的模型"}},scheduler:{badge:"定时任务调度",title:"让 Agent 按计划自动执行",description:"真正实现 AI 工作自动化!设定时间规则,Agent 将自动完成重复性工作,解放你的时间。",scenariosTitle:"典型应用场景",scenario1:{title:"每日进度日报",desc:"每天早上 9 点,自动生成项目进度日报"},scenario2:{title:"代码自动审查",desc:"每 2 小时检查代码仓库,自动提交审查意见"},scenario3:{title:"周会纪要整理",desc:"每周五自动整理本周会议纪要并归档"},scenario4:{title:"月度数据分析",desc:"每月 1 号自动生成业务数据分析报告"}},a2a:{badge:"A2A 协议",title:"智能体协作网络",description:"让多个 Agent 形成协同工作的网络。本地 Agent、远程 Agent 互联互通,构建你的私人 AI 团队。",scenariosTitle:"典型应用场景",scenario1:{title:"秘书 Agent 调度",desc:"一个秘书 Agent 统一接收任务,自动调度其他项目 Agent 执行具体工作"},scenario2:{title:"本地 ↔ 远程协作",desc:"本地电脑与远程开发机上的 Agent 互相通讯,协同完成任务"},scenario3:{title:"移动端随时访问",desc:"通过移动通讯端与本地 Agent 交互,随时随地工作(内测中)"}},customAgent:{badge:"自定义 Agent",title:"打造你的专属 Agent",description:"无需编写代码,通过界面配置即可定制专属 Agent。内置 Claude Code Agent 开箱即用,满足各种工作场景。",example1:"PPT 制作 Agent",example2:"秘书 Agent",example3:"文档写作 Agent",example4:"代码审查 Agent"},comparison:{title:"AgentStudio vs Claude Code",subtitle:"同样的 Claude Agent SDK,更友好的使用体验",dimension:"对比维度",interface:"交互形态",webInterface:"界面",cli:"命令行 (CLI)",targetUsers:"目标用户",everyone:"所有人",developers:"主要开发者",toolDisplay:"工具展示",visual:"可视化呈现",textOnly:"纯文本",fileBrowser:"文件浏览器",agentCustom:"Agent 定制",scheduler:"定时任务",a2a:"A2A 协议",mobileAccess:"移动端访问",beta:"内测中"},cta:{title:"准备好开始你的 AI 工作自动化了吗?",subtitle:"一行命令,即刻启动你的本地 Agent 工作台",start:"开始使用"},footer:{description:"Agent for Work - 本地的 Agent 工作台,由 Claude Agent SDK 强力驱动。",copyright:"© 2026 AgentStudio. GPL v3 License.",product:"产品",workspace:"工作台",sourceCode:"源码",releases:"发布版本",support:"支持",documentation:"文档",issues:"问题反馈",wechat:"微信群"},wechat:{title:"加入微信群",fallback:"二维码失效?请添加微信号:",wechatId:"talk4kong",tip:"扫码或添加微信号,即可加入交流群"}},oM={title:"Agent管理",subtitle:"管理专门的 AI 代理",createButton:"创建助手",editButton:"编辑助手",deleteButton:"删除助手",enableButton:"启用助手",disableButton:"禁用助手",useButton:"使用",startUsingButton:"开始使用助手",noAgents:"暂无助手",noAgentsSearch:"未找到匹配的助手",searchPlaceholder:"搜索助手...",createFirst:"创建你的第一个智能助手",adjustSearch:"尝试调整搜索条件",loading:"正在加载智能助手...",filter:{all:"全部",enabled:"已启用",disabled:"已禁用"},table:{agent:"智能助手",type:"类型",config:"配置",tools:"工具",status:"状态",actions:"操作",maxTurns:"最大轮次",unlimited:"不限制",permission:"权限",toolsCount:"{{count}} 个工具"},form:{create:"创建助手",edit:"编辑助手",name:"名称",description:"描述",maxTurns:"最大轮次",maxTurnsPlaceholder:"不限制",maxTurnsError:"最大轮次必须在1-100之间",maxTurnsExceeded:"最大轮次不能超过{{maximum}}",permissionMode:"权限模式",icon:"图标",primaryColor:"主题颜色",enabledTools:"启用的工具",selectTools:"选择工具",toolsRegular:"常规工具 {{count}} 个",toolsMcp:"MCP工具 {{count}} 个",systemPrompt:"系统提示词",systemPromptPlaceholder:"输入助手的系统提示词...",nameRequired:"请填写助手名称",save:"保存",cancel:"取消"},permissions:{default:"默认",acceptEdits:"自动接受编辑",bypassPermissions:"绕过权限检查",plan:"规划模式"},status:{enabled:"已启用",disabled:"已禁用"},errors:{createFailed:"创建失败,请重试。",saveFailed:"保存失败,请重试。",deleteFailed:"删除失败,请重试。",toggleFailed:"操作失败,请重试。",builtinCannotDelete:"内置助手无法删除,但可以禁用。"},confirmDelete:`确定要删除助手"{{name}}"吗?
86
+ `)).length,l=0;l<r;l++){var f=s.charCodeAt(l),h=null;f<128?a++:h=f>127&&f<2048?String.fromCharCode(f>>6|192,63&f|128):String.fromCharCode(f>>12|224,f>>6&63|128,63&f|128),Mn(h)||(a>n&&(c+=s.substring(n,a)),c+=h,n=a=l+1)}return a>n&&(c+=s.substring(n,s.length)),c},v1=!!Nf||!!Ef,Hy="text/plain",dc=function(s,n,a){var r;a===void 0&&(a=!0);var[l,c]=s.split("?"),f=ee({},n),h=(r=c?.split("&").map((m=>{var y,[b,x]=m.split("="),C=a&&(y=f[b])!==null&&y!==void 0?y:x;return delete f[b],b+"="+C})))!==null&&r!==void 0?r:[],g=DE(f);return g&&h.push(g),l+"?"+h.join("&")},Vr=(s,n)=>JSON.stringify(s,((a,r)=>typeof r=="bigint"?r.toString():r),n),sf=s=>{var{data:n,compression:a}=s;if(n){if(a===ua.GZipJS){var r=m1((function(g,m){var y=g.length;if(typeof TextEncoder<"u")return new TextEncoder().encode(g);for(var b=new bn(g.length+(g.length>>>1)),x=0,C=function(M){b[x++]=M},E=0;E<y;++E){if(x+5>b.length){var k=new bn(x+8+(y-E<<1));k.set(b),b=k}var A=g.charCodeAt(E);A<128||m?C(A):A<2048?(C(192|A>>>6),C(128|63&A)):A>55295&&A<57344?(C(240|(A=65536+(1047552&A)|1023&g.charCodeAt(++E))>>>18),C(128|A>>>12&63),C(128|A>>>6&63),C(128|63&A)):(C(224|A>>>12),C(128|A>>>6&63),C(128|63&A))}return C_(b,0,x)})(Vr(n)),{mtime:0}),l=new Blob([r],{type:Hy});return{contentType:Hy,body:l,estimatedSize:l.size}}if(a===ua.Base64){var c=(function(g){var m,y,b,x,C,E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",k=0,A=0,M="",j=[];if(!g)return g;g=g1(g);do m=(C=g.charCodeAt(k++)<<16|g.charCodeAt(k++)<<8|g.charCodeAt(k++))>>18&63,y=C>>12&63,b=C>>6&63,x=63&C,j[A++]=E.charAt(m)+E.charAt(y)+E.charAt(b)+E.charAt(x);while(k<g.length);switch(M=j.join(""),g.length%3){case 1:M=M.slice(0,-2)+"==";break;case 2:M=M.slice(0,-1)+"="}return M})(Vr(n)),f=(g=>"data="+encodeURIComponent(typeof g=="string"?g:Vr(g)))(c);return{contentType:"application/x-www-form-urlencoded",body:f,estimatedSize:new Blob([f]).size}}var h=Vr(n);return{contentType:"application/json",body:h,estimatedSize:new Blob([h]).size}}},Kl=[];Ef&&Kl.push({transport:"fetch",method:s=>{var n,a,{contentType:r,body:l,estimatedSize:c}=(n=sf(s))!==null&&n!==void 0?n:{},f=new Headers;Ve(s.headers,(function(y,b){f.append(b,y)})),r&&f.append("Content-Type",r);var h=s.url,g=null;if(sy){var m=new sy;g={signal:m.signal,timeout:setTimeout((()=>m.abort()),s.timeout)}}Ef(h,ee({method:s?.method||"GET",headers:f,keepalive:s.method==="POST"&&(c||0)<52428.8,body:l,signal:(a=g)==null?void 0:a.signal},s.fetchOptions)).then((y=>y.text().then((b=>{var x={statusCode:y.status,text:b};if(y.status===200)try{x.json=JSON.parse(b)}catch(C){W.error(C)}s.callback==null||s.callback(x)})))).catch((y=>{W.error(y),s.callback==null||s.callback({statusCode:0,text:y})})).finally((()=>g?clearTimeout(g.timeout):null))}}),Nf&&Kl.push({transport:"XHR",method:s=>{var n,a=new Nf;a.open(s.method||"GET",s.url,!0);var{contentType:r,body:l}=(n=sf(s))!==null&&n!==void 0?n:{};Ve(s.headers,(function(c,f){a.setRequestHeader(f,c)})),r&&a.setRequestHeader("Content-Type",r),s.timeout&&(a.timeout=s.timeout),s.disableXHRCredentials||(a.withCredentials=!0),a.onreadystatechange=()=>{if(a.readyState===4){var c={statusCode:a.status,text:a.responseText};if(a.status===200)try{c.json=JSON.parse(a.responseText)}catch{}s.callback==null||s.callback(c)}},a.send(l)}}),an!=null&&an.sendBeacon&&Kl.push({transport:"sendBeacon",method:s=>{var n=dc(s.url,{beacon:"1"});try{var a,{contentType:r,body:l}=(a=sf(s))!==null&&a!==void 0?a:{},c=typeof l=="string"?new Blob([l],{type:r}):l;an.sendBeacon(n,c)}catch{}}});var fc=function(s,n){if(!(function(a){try{new RegExp(a)}catch{return!1}return!0})(n))return!1;try{return new RegExp(n).test(s)}catch{return!1}};function qy(s,n,a){return Vr({distinct_id:s,userPropertiesToSet:n,userPropertiesToSetOnce:a})}var k_={exact:(s,n)=>n.some((a=>s.some((r=>a===r)))),is_not:(s,n)=>n.every((a=>s.every((r=>a!==r)))),regex:(s,n)=>n.some((a=>s.some((r=>fc(a,r))))),not_regex:(s,n)=>n.every((a=>s.every((r=>!fc(a,r))))),icontains:(s,n)=>n.map(Hl).some((a=>s.map(Hl).some((r=>a.includes(r))))),not_icontains:(s,n)=>n.map(Hl).every((a=>s.map(Hl).every((r=>!a.includes(r))))),gt:(s,n)=>n.some((a=>{var r=parseFloat(a);return!isNaN(r)&&s.some((l=>r>parseFloat(l)))})),lt:(s,n)=>n.some((a=>{var r=parseFloat(a);return!isNaN(r)&&s.some((l=>r<parseFloat(l)))}))},Hl=s=>s.toLowerCase();function A_(s,n){return!s||Object.entries(s).every((a=>{var[r,l]=a,c=n?.[r];if(X(c)||Mn(c))return!1;var f=[String(c)],h=k_[l.operator];return!!h&&h(l.values,f)}))}var rf=at("[Error tracking]");class y1{constructor(n){var a,r;this.Zt=[],this.ti=new JT([new lE,new vE,new uE,new cE,new mE,new pE,new fE,new gE],oE()),this._instance=n,this.Zt=(a=(r=this._instance.persistence)==null?void 0:r.get_property(zf))!==null&&a!==void 0?a:[]}onRemoteConfig(n){var a,r,l,c=(a=(r=n.errorTracking)==null?void 0:r.suppressionRules)!==null&&a!==void 0?a:[],f=(l=n.errorTracking)==null?void 0:l.captureExtensionExceptions;this.Zt=c,this._instance.persistence&&this._instance.persistence.register({[zf]:this.Zt,[yy]:f})}get ii(){var n,a=!!this._instance.get_property(yy),r=this._instance.config.error_tracking.captureExtensionExceptions;return(n=r??a)!==null&&n!==void 0&&n}buildProperties(n,a){return this.ti.buildFromUnknown(n,{syntheticException:a?.syntheticException,mechanism:{handled:a?.handled}})}sendExceptionEvent(n){var a=n.$exception_list;if(this.ei(a)){if(this.ri(a))return void rf.info("Skipping exception capture because a suppression rule matched");if(!this.ii&&this.si(a))return void rf.info("Skipping exception capture because it was thrown by an extension");if(!this._instance.config.error_tracking.__capturePostHogExceptions&&this.ni(a))return void rf.info("Skipping exception capture because it was thrown by the PostHog SDK")}return this._instance.capture("$exception",n,{_noTruncate:!0,_batchKey:"exceptionEvent"})}ri(n){if(n.length===0)return!1;var a=n.reduce(((r,l)=>{var{type:c,value:f}=l;return mt(c)&&c.length>0&&r.$exception_types.push(c),mt(f)&&f.length>0&&r.$exception_values.push(f),r}),{$exception_types:[],$exception_values:[]});return this.Zt.some((r=>{var l=r.values.map((c=>{var f,h=k_[c.operator],g=Le(c.value)?c.value:[c.value],m=(f=a[c.key])!==null&&f!==void 0?f:[];return g.length>0&&h(g,m)}));return r.type==="OR"?l.some(Boolean):l.every(Boolean)}))}si(n){return n.flatMap((a=>{var r,l;return(r=(l=a.stacktrace)==null?void 0:l.frames)!==null&&r!==void 0?r:[]})).some((a=>a.filename&&a.filename.startsWith("chrome-extension://")))}ni(n){if(n.length>0){var a,r,l,c,f=(a=(r=n[0].stacktrace)==null?void 0:r.frames)!==null&&a!==void 0?a:[],h=f[f.length-1];return(l=h==null||(c=h.filename)==null?void 0:c.includes("posthog.com/static"))!==null&&l!==void 0&&l}return!1}ei(n){return!Re(n)&&Le(n)}}var An=at("[FeatureFlags]"),Lr=at("[FeatureFlags]",{debugEnabled:!0}),of="$active_feature_flags",ps="$override_feature_flags",By="$feature_flag_payloads",Fr="$override_feature_flag_payloads",$y="$feature_flag_request_id",Vy="$feature_flag_evaluated_at",Gy=s=>{var n={};for(var[a,r]of Yl(s||{}))r&&(n[a]=r);return n},b1=s=>{var n=s.flags;return n?(s.featureFlags=Object.fromEntries(Object.keys(n).map((a=>{var r;return[a,(r=n[a].variant)!==null&&r!==void 0?r:n[a].enabled]}))),s.featureFlagPayloads=Object.fromEntries(Object.keys(n).filter((a=>n[a].enabled)).filter((a=>{var r;return(r=n[a].metadata)==null?void 0:r.payload})).map((a=>{var r;return[a,(r=n[a].metadata)==null?void 0:r.payload]})))):An.warn("Using an older version of the feature flags endpoint. Please upgrade your PostHog server to the latest version"),s},_1=(function(s){return s.FeatureFlags="feature_flags",s.Recordings="recordings",s})({});class S1{constructor(n){this.oi=!1,this.ai=!1,this.li=!1,this.ui=!1,this.hi=!1,this.di=!1,this.vi=!1,this._instance=n,this.featureFlagEventHandlers=[]}ci(){var n=this._instance.config.evaluation_environments;return n!=null&&n.length?n.filter((a=>{var r=a&&typeof a=="string"&&a.trim().length>0;return r||An.error("Invalid evaluation environment found:",a,"Expected non-empty string"),r})):[]}fi(){return this.ci().length>0}flags(){if(this._instance.config.__preview_remote_config)this.di=!0;else{var n=!this.pi&&(this._instance.config.advanced_disable_feature_flags||this._instance.config.advanced_disable_feature_flags_on_first_load);this.gi({disableFlags:n})}}get hasLoadedFlags(){return this.ai}getFlags(){return Object.keys(this.getFlagVariants())}getFlagsWithDetails(){var n=this._instance.get_property(Uf),a=this._instance.get_property(ps),r=this._instance.get_property(Fr);if(!r&&!a)return n||{};var l=rt({},n||{}),c=[...new Set([...Object.keys(r||{}),...Object.keys(a||{})])];for(var f of c){var h,g,m=l[f],y=a?.[f],b=X(y)?(h=m?.enabled)!==null&&h!==void 0&&h:!!y,x=X(y)?m.variant:typeof y=="string"?y:void 0,C=r?.[f],E=ee({},m,{enabled:b,variant:b?x??m?.variant:void 0});b!==m?.enabled&&(E.original_enabled=m?.enabled),x!==m?.variant&&(E.original_variant=m?.variant),C&&(E.metadata=ee({},m?.metadata,{payload:C,original_payload:m==null||(g=m.metadata)==null?void 0:g.payload})),l[f]=E}return this.oi||(An.warn(" Overriding feature flag details!",{flagDetails:n,overriddenPayloads:r,finalDetails:l}),this.oi=!0),l}getFlagVariants(){var n=this._instance.get_property(xs),a=this._instance.get_property(ps);if(!a)return n||{};for(var r=rt({},n),l=Object.keys(a),c=0;c<l.length;c++)r[l[c]]=a[l[c]];return this.oi||(An.warn(" Overriding feature flags!",{enabledFlags:n,overriddenFlags:a,finalFlags:r}),this.oi=!0),r}getFlagPayloads(){var n=this._instance.get_property(By),a=this._instance.get_property(Fr);if(!a)return n||{};for(var r=rt({},n||{}),l=Object.keys(a),c=0;c<l.length;c++)r[l[c]]=a[l[c]];return this.oi||(An.warn(" Overriding feature flag payloads!",{flagPayloads:n,overriddenPayloads:a,finalPayloads:r}),this.oi=!0),r}reloadFeatureFlags(){this.ui||this._instance.config.advanced_disable_feature_flags||this.pi||(this.pi=setTimeout((()=>{this.gi()}),5))}mi(){clearTimeout(this.pi),this.pi=void 0}ensureFlagsLoaded(){this.ai||this.li||this.pi||this.reloadFeatureFlags()}setAnonymousDistinctId(n){this.$anon_distinct_id=n}setReloadingPaused(n){this.ui=n}gi(n){var a;if(this.mi(),!this._instance.O())if(this.li)this.hi=!0;else{var r=this._instance.config.token,l=this._instance.get_property("$device_id"),c={token:r,distinct_id:this._instance.get_distinct_id(),groups:this._instance.getGroups(),$anon_distinct_id:this.$anon_distinct_id,person_properties:ee({},((a=this._instance.persistence)==null?void 0:a.get_initial_props())||{},this._instance.get_property($r)||{}),group_properties:this._instance.get_property(xi)};Mn(l)||X(l)||(c.$device_id=l),(n!=null&&n.disableFlags||this._instance.config.advanced_disable_feature_flags)&&(c.disable_flags=!0),this.fi()&&(c.evaluation_environments=this.ci());var f=this._instance.config.__preview_remote_config,h=f?"/flags/?v=2":"/flags/?v=2&config=true",g=this._instance.config.advanced_only_evaluate_survey_feature_flags?"&only_evaluate_survey_feature_flags=true":"",m=this._instance.requestRouter.endpointFor("flags",h+g);f&&(c.timezone=b_()),this.li=!0,this._instance._send_request({method:"POST",url:m,data:c,compression:this._instance.config.disable_compression?void 0:ua.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:y=>{var b,x,C=!0;if(y.statusCode===200&&(this.hi||(this.$anon_distinct_id=void 0),C=!1),this.li=!1,this.di||(this.di=!0,this._instance.yi((x=y.json)!==null&&x!==void 0?x:{})),!c.disable_flags||this.hi)if(this.vi=!C,y.json&&(b=y.json.quotaLimited)!=null&&b.includes(_1.FeatureFlags))An.warn("You have hit your feature flags quota limit, and will not be able to load feature flags until the quota is reset. Please visit https://posthog.com/docs/billing/limits-alerts to learn more.");else{var E;c.disable_flags||this.receivedFeatureFlags((E=y.json)!==null&&E!==void 0?E:{},C),this.hi&&(this.hi=!1,this.gi())}}})}}getFeatureFlag(n,a){if(a===void 0&&(a={}),this.ai||this.getFlags()&&this.getFlags().length>0){var r=this.getFlagVariants()[n],l=""+r,c=this._instance.get_property($y)||void 0,f=this._instance.get_property(Vy)||void 0,h=this._instance.get_property(nc)||{};if((a.send_event||!("send_event"in a))&&(!(n in h)||!h[n].includes(l))){var g,m,y,b,x,C,E,k,A;Le(h[n])?h[n].push(l):h[n]=[l],(g=this._instance.persistence)==null||g.register({[nc]:h});var M=this.getFeatureFlagDetails(n),j={$feature_flag:n,$feature_flag_response:r,$feature_flag_payload:this.getFeatureFlagPayload(n)||null,$feature_flag_request_id:c,$feature_flag_evaluated_at:f,$feature_flag_bootstrapped_response:((m=this._instance.config.bootstrap)==null||(m=m.featureFlags)==null?void 0:m[n])||null,$feature_flag_bootstrapped_payload:((y=this._instance.config.bootstrap)==null||(y=y.featureFlagPayloads)==null?void 0:y[n])||null,$used_bootstrap_value:!this.vi};X(M==null||(b=M.metadata)==null?void 0:b.version)||(j.$feature_flag_version=M.metadata.version);var D,q=(x=M==null||(C=M.reason)==null?void 0:C.description)!==null&&x!==void 0?x:M==null||(E=M.reason)==null?void 0:E.code;q&&(j.$feature_flag_reason=q),M!=null&&(k=M.metadata)!=null&&k.id&&(j.$feature_flag_id=M.metadata.id),X(M?.original_variant)&&X(M?.original_enabled)||(j.$feature_flag_original_response=X(M.original_variant)?M.original_enabled:M.original_variant),M!=null&&(A=M.metadata)!=null&&A.original_payload&&(j.$feature_flag_original_payload=M==null||(D=M.metadata)==null?void 0:D.original_payload),this._instance.capture("$feature_flag_called",j)}return r}An.warn('getFeatureFlag for key "'+n+`" failed. Feature flags didn't load in time.`)}getFeatureFlagDetails(n){return this.getFlagsWithDetails()[n]}getFeatureFlagPayload(n){return this.getFlagPayloads()[n]}getRemoteConfigPayload(n,a){var r=this._instance.config.token,l={distinct_id:this._instance.get_distinct_id(),token:r};this.fi()&&(l.evaluation_environments=this.ci()),this._instance._send_request({method:"POST",url:this._instance.requestRouter.endpointFor("flags","/flags/?v=2&config=true"),data:l,compression:this._instance.config.disable_compression?void 0:ua.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:c=>{var f,h=(f=c.json)==null?void 0:f.featureFlagPayloads;a(h?.[n]||void 0)}})}isFeatureEnabled(n,a){if(a===void 0&&(a={}),this.ai||this.getFlags()&&this.getFlags().length>0){var r=this.getFeatureFlag(n,a);return X(r)?void 0:!!r}An.warn('isFeatureEnabled for key "'+n+`" failed. Feature flags didn't load in time.`)}addFeatureFlagsHandler(n){this.featureFlagEventHandlers.push(n)}removeFeatureFlagsHandler(n){this.featureFlagEventHandlers=this.featureFlagEventHandlers.filter((a=>a!==n))}receivedFeatureFlags(n,a){if(this._instance.persistence){this.ai=!0;var r=this.getFlagVariants(),l=this.getFlagPayloads(),c=this.getFlagsWithDetails();(function(f,h,g,m,y){g===void 0&&(g={}),m===void 0&&(m={}),y===void 0&&(y={});var b=b1(f),x=b.flags,C=b.featureFlags,E=b.featureFlagPayloads;if(C){var k=f.requestId,A=f.evaluatedAt;if(Le(C)){An.warn("v1 of the feature flags endpoint is deprecated. Please use the latest version.");var M={};if(C)for(var j=0;j<C.length;j++)M[C[j]]=!0;h&&h.register({[of]:C,[xs]:M})}else{var D=C,q=E,B=x;f.errorsWhileComputingFlags&&(D=ee({},g,D),q=ee({},m,q),B=ee({},y,B)),h&&h.register(ee({[of]:Object.keys(Gy(D)),[xs]:D||{},[By]:q||{},[Uf]:B||{}},k?{[$y]:k}:{},A?{[Vy]:A}:{}))}}})(n,this._instance.persistence,r,l,c),this.bi(a)}}override(n,a){a===void 0&&(a=!1),An.warn("override is deprecated. Please use overrideFeatureFlags instead."),this.overrideFeatureFlags({flags:n,suppressWarning:a})}overrideFeatureFlags(n){if(!this._instance.__loaded||!this._instance.persistence)return An.uninitializedWarning("posthog.featureFlags.overrideFeatureFlags");if(n===!1)return this._instance.persistence.unregister(ps),this._instance.persistence.unregister(Fr),this.bi(),Lr.info("All overrides cleared");if(n&&typeof n=="object"&&("flags"in n||"payloads"in n)){var a,r=n;if(this.oi=!!((a=r.suppressWarning)!==null&&a!==void 0&&a),"flags"in r){if(r.flags===!1)this._instance.persistence.unregister(ps),Lr.info("Flag overrides cleared");else if(r.flags){if(Le(r.flags)){for(var l={},c=0;c<r.flags.length;c++)l[r.flags[c]]=!0;this._instance.persistence.register({[ps]:l})}else this._instance.persistence.register({[ps]:r.flags});Lr.info("Flag overrides set",{flags:r.flags})}}return"payloads"in r&&(r.payloads===!1?(this._instance.persistence.unregister(Fr),Lr.info("Payload overrides cleared")):r.payloads&&(this._instance.persistence.register({[Fr]:r.payloads}),Lr.info("Payload overrides set",{payloads:r.payloads}))),void this.bi()}this.bi()}onFeatureFlags(n){if(this.addFeatureFlagsHandler(n),this.ai){var{flags:a,flagVariants:r}=this.wi();n(a,r)}return()=>this.removeFeatureFlagsHandler(n)}updateEarlyAccessFeatureEnrollment(n,a,r){var l,c=(this._instance.get_property(Br)||[]).find((m=>m.flagKey===n)),f={["$feature_enrollment/"+n]:a},h={$feature_flag:n,$feature_enrollment:a,$set:f};c&&(h.$early_access_feature_name=c.name),r&&(h.$feature_enrollment_stage=r),this._instance.capture("$feature_enrollment_update",h),this.setPersonPropertiesForFlags(f,!1);var g=ee({},this.getFlagVariants(),{[n]:a});(l=this._instance.persistence)==null||l.register({[of]:Object.keys(Gy(g)),[xs]:g}),this.bi()}getEarlyAccessFeatures(n,a,r){a===void 0&&(a=!1);var l=this._instance.get_property(Br),c=r?"&"+r.map((f=>"stage="+f)).join("&"):"";if(l&&!a)return n(l);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/early_access_features/?token="+this._instance.config.token+c),method:"GET",callback:f=>{var h,g;if(f.json){var m=f.json.earlyAccessFeatures;return(h=this._instance.persistence)==null||h.unregister(Br),(g=this._instance.persistence)==null||g.register({[Br]:m}),n(m)}}})}wi(){var n=this.getFlags(),a=this.getFlagVariants();return{flags:n.filter((r=>a[r])),flagVariants:Object.keys(a).filter((r=>a[r])).reduce(((r,l)=>(r[l]=a[l],r)),{})}}bi(n){var{flags:a,flagVariants:r}=this.wi();this.featureFlagEventHandlers.forEach((l=>l(a,r,{errorsLoading:n})))}setPersonPropertiesForFlags(n,a){a===void 0&&(a=!0);var r=this._instance.get_property($r)||{};this._instance.register({[$r]:ee({},r,n)}),a&&this._instance.reloadFeatureFlags()}resetPersonPropertiesForFlags(){this._instance.unregister($r)}setGroupPropertiesForFlags(n,a){a===void 0&&(a=!0);var r=this._instance.get_property(xi)||{};Object.keys(r).length!==0&&Object.keys(r).forEach((l=>{r[l]=ee({},r[l],n[l]),delete n[l]})),this._instance.register({[xi]:ee({},r,n)}),a&&this._instance.reloadFeatureFlags()}resetGroupPropertiesForFlags(n){if(n){var a=this._instance.get_property(xi)||{};this._instance.register({[xi]:ee({},a,{[n]:{}})})}else this._instance.unregister(xi)}reset(){this.ai=!1,this.li=!1,this.ui=!1,this.hi=!1,this.di=!1,this.vi=!1,this.$anon_distinct_id=void 0,this.mi(),this.oi=!1}}var x1=["cookie","localstorage","localstorage+cookie","sessionstorage","memory"];class lf{constructor(n,a){this.R=n,this.props={},this.xi=!1,this.Ei=(r=>{var l="";return r.token&&(l=r.token.replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")),r.persistence_name?"ph_"+r.persistence_name:"ph_"+l+"_posthog"})(n),this.Y=this.$i(n),this.load(),n.debug&&W.info("Persistence loaded",n.persistence,ee({},this.props)),this.update_config(n,n,a),this.save()}isDisabled(){return!!this.Si}$i(n){x1.indexOf(n.persistence.toLowerCase())===-1&&(W.critical("Unknown persistence type "+n.persistence+"; falling back to localStorage+cookie"),n.persistence="localStorage+cookie");var a=(function(l){l===void 0&&(l=[]);var c=[...BE,...l];return ee({},Je,{W:function(f){try{var h={};try{h=On.W(f)||{}}catch{}var g=rt(h,JSON.parse(Je.q(f)||"{}"));return Je.G(f,g),g}catch{}return null},G:function(f,h,g,m,y,b){try{Je.G(f,h,void 0,void 0,b);var x={};c.forEach((C=>{h[C]&&(x[C]=h[C])})),Object.keys(x).length&&On.G(f,x,g,m,y,b)}catch(C){Je.B(C)}},V:function(f,h){try{U?.localStorage.removeItem(f),On.V(f,h)}catch(g){Je.B(g)}}})})(n.cookie_persisted_properties||[]),r=n.persistence.toLowerCase();return r==="localstorage"&&Je.H()?Je:r==="localstorage+cookie"&&a.H()?a:r==="sessionstorage"&&kt.H()?kt:r==="memory"?$E:r==="cookie"?On:a.H()?a:On}properties(){var n={};return Ve(this.props,(function(a,r){if(r===xs&&yt(a))for(var l=Object.keys(a),c=0;c<l.length;c++)n["$feature/"+l[c]]=a[l[c]];else h=r,g=!1,(Mn(f=wE)?g:iy&&f.indexOf===iy?f.indexOf(h)!=-1:(Ve(f,(function(m){if(g||(g=m===h))return ec})),g))||(n[r]=a);var f,h,g})),n}load(){if(!this.Si){var n=this.Y.W(this.Ei);n&&(this.props=rt({},n))}}save(){this.Si||this.Y.G(this.Ei,this.props,this.ki,this.Pi,this.Ti,this.R.debug)}remove(){this.Y.V(this.Ei,!1),this.Y.V(this.Ei,!0)}clear(){this.remove(),this.props={}}register_once(n,a,r){if(yt(n)){X(a)&&(a="None"),this.ki=X(r)?this.Ii:r;var l=!1;if(Ve(n,((c,f)=>{this.props.hasOwnProperty(f)&&this.props[f]!==a||(this.props[f]=c,l=!0)})),l)return this.save(),!0}return!1}register(n,a){if(yt(n)){this.ki=X(a)?this.Ii:a;var r=!1;if(Ve(n,((l,c)=>{n.hasOwnProperty(c)&&this.props[c]!==l&&(this.props[c]=l,r=!0)})),r)return this.save(),!0}return!1}unregister(n){n in this.props&&(delete this.props[n],this.save())}update_campaign_params(){if(!this.xi){var n=h_(this.R.custom_campaign_params,this.R.mask_personal_data_properties,this.R.custom_personal_data_properties);Ss(_h(n))||this.register(n),this.xi=!0}}update_search_keyword(){var n;this.register((n=J?.referrer)?m_(n):{})}update_referrer_info(){var n;this.register_once({$referrer:g_(),$referring_domain:J!=null&&J.referrer&&((n=rc(J.referrer))==null?void 0:n.host)||"$direct"},void 0)}set_initial_person_info(){this.props[Bf]||this.props[$f]||this.register_once({[ac]:v_(this.R.mask_personal_data_properties,this.R.custom_personal_data_properties)},void 0)}get_initial_props(){var n={};Ve([$f,Bf],(f=>{var h=this.props[f];h&&Ve(h,(function(g,m){n["$initial_"+Mf(m)]=g}))}));var a,r,l=this.props[ac];if(l){var c=(a=y_(l),r={},Ve(a,(function(f,h){r["$initial_"+Mf(h)]=f})),r);rt(n,c)}return n}safe_merge(n){return Ve(this.props,(function(a,r){r in n||(n[r]=a)})),n}update_config(n,a,r){if(this.Ii=this.ki=n.cookie_expiration,this.set_disabled(n.disable_persistence||!!r),this.set_cross_subdomain(n.cross_subdomain_cookie),this.set_secure(n.secure_cookie),n.persistence!==a.persistence||!((f,h)=>{if(f.length!==h.length)return!1;var g=[...f].sort(),m=[...h].sort();return g.every(((y,b)=>y===m[b]))})(n.cookie_persisted_properties||[],a.cookie_persisted_properties||[])){var l=this.$i(n),c=this.props;this.clear(),this.Y=l,this.props=c,this.save()}}set_disabled(n){this.Si=n,this.Si?this.remove():this.save()}set_cross_subdomain(n){n!==this.Pi&&(this.Pi=n,this.remove(),this.save())}set_secure(n){n!==this.Ti&&(this.Ti=n,this.remove(),this.save())}set_event_timer(n,a){var r=this.props[qr]||{};r[n]=a,this.props[qr]=r,this.save()}remove_event_timer(n){var a=(this.props[qr]||{})[n];return X(a)||(delete this.props[qr][n],this.save()),a}get_property(n){return this.props[n]}set_property(n,a){this.props[n]=a,this.save()}}var Yy=at("[Product Tours]"),cf="ph_product_tours";class w1{constructor(n){this.Ci=null,this.Ri=null,this._instance=n}onRemoteConfig(n){this._instance.persistence&&this._instance.persistence.register({[_y]:!(n==null||!n.productTours)}),this.loadIfEnabled()}loadIfEnabled(){var n,a;this.Ci||(n=this._instance).config.disable_product_tours||(a=n.persistence)==null||!a.get_property(_y)||this.it((()=>this.Fi()))}it(n){var a,r;(a=ce.__PosthogExtensions__)!=null&&a.generateProductTours?n():(r=ce.__PosthogExtensions__)==null||r.loadExternalDependency==null||r.loadExternalDependency(this._instance,"product-tours",(l=>{l?Yy.error("Could not load product tours script",l):n()}))}Fi(){var n;!this.Ci&&(n=ce.__PosthogExtensions__)!=null&&n.generateProductTours&&(this.Ci=ce.__PosthogExtensions__.generateProductTours(this._instance,!0))}getProductTours(n,a){if(a===void 0&&(a=!1),!Le(this.Ri)||a){var r=this._instance.persistence;if(r){var l=r.props[cf];if(Le(l)&&!a)return this.Ri=l,void n(l,{isLoaded:!0})}this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/product_tours/?token="+this._instance.config.token),method:"GET",callback:c=>{var f=c.statusCode;if(f!==200||!c.json){var h="Product Tours API could not be loaded, status: "+f;return Yy.error(h),void n([],{isLoaded:!1,error:h})}var g=Le(c.json.product_tours)?c.json.product_tours:[];this.Ri=g,r&&r.register({[cf]:g}),n(g,{isLoaded:!0})}})}else n(this.Ri,{isLoaded:!0})}getActiveProductTours(n){Re(this.Ci)?n([],{isLoaded:!1,error:"Product tours not loaded"}):this.Ci.getActiveProductTours(n)}showProductTour(n){var a;(a=this.Ci)==null||a.showTourById(n)}previewTour(n){this.Ci?this.Ci.previewTour(n):this.it((()=>{var a;this.Fi(),(a=this.Ci)==null||a.previewTour(n)}))}dismissProductTour(){var n;(n=this.Ci)==null||n.dismissTour("user_clicked_skip")}nextStep(){var n;(n=this.Ci)==null||n.nextStep()}previousStep(){var n;(n=this.Ci)==null||n.previousStep()}clearCache(){var n;this.Ri=null,(n=this._instance.persistence)==null||n.unregister(cf)}resetTour(n){var a;(a=this.Ci)==null||a.resetTour(n)}resetAllTours(){var n;(n=this.Ci)==null||n.resetAllTours()}cancelPendingTour(n){var a;(a=this.Ci)==null||a.cancelPendingTour(n)}}var zr=(function(s){return s.Activation="events",s.Cancellation="cancelEvents",s})({});(function(s){return s.Button="button",s.Tab="tab",s.Selector="selector",s})({});(function(s){return s.TopLeft="top_left",s.TopRight="top_right",s.TopCenter="top_center",s.MiddleLeft="middle_left",s.MiddleRight="middle_right",s.MiddleCenter="middle_center",s.Left="left",s.Center="center",s.Right="right",s.NextToTrigger="next_to_trigger",s})({});(function(s){return s.Top="top",s.Left="left",s.Right="right",s.Bottom="bottom",s})({});var uf=(function(s){return s.Popover="popover",s.API="api",s.Widget="widget",s.ExternalSurvey="external_survey",s})({});(function(s){return s.Open="open",s.MultipleChoice="multiple_choice",s.SingleChoice="single_choice",s.Rating="rating",s.Link="link",s})({});(function(s){return s.NextQuestion="next_question",s.End="end",s.ResponseBased="response_based",s.SpecificQuestion="specific_question",s})({});(function(s){return s.Once="once",s.Recurring="recurring",s.Always="always",s})({});var Gr=(function(s){return s.SHOWN="survey shown",s.DISMISSED="survey dismissed",s.SENT="survey sent",s.ABANDONED="survey abandoned",s})({}),df=(function(s){return s.SURVEY_ID="$survey_id",s.SURVEY_NAME="$survey_name",s.SURVEY_RESPONSE="$survey_response",s.SURVEY_ITERATION="$survey_iteration",s.SURVEY_ITERATION_START_DATE="$survey_iteration_start_date",s.SURVEY_PARTIALLY_COMPLETED="$survey_partially_completed",s.SURVEY_SUBMISSION_ID="$survey_submission_id",s.SURVEY_QUESTIONS="$survey_questions",s.SURVEY_COMPLETED="$survey_completed",s.PRODUCT_TOUR_ID="$product_tour_id",s.SURVEY_LAST_SEEN_DATE="$survey_last_seen_date",s})({}),T_=(function(s){return s.Popover="popover",s.Inline="inline",s})({}),$e=at("[Surveys]"),E_="seenSurvey_",C1=(s,n)=>{var a="$survey_"+n+"/"+s.id;return s.current_iteration&&s.current_iteration>0&&(a="$survey_"+n+"/"+s.id+"/"+s.current_iteration),a},Ky=s=>((n,a)=>{var r=""+n+a.id;return a.current_iteration&&a.current_iteration>0&&(r=""+n+a.id+"_"+a.current_iteration),r})(E_,s),k1=[uf.Popover,uf.Widget,uf.API],A1={ignoreConditions:!1,ignoreDelay:!1,displayType:T_.Popover};class Ah{constructor(){this.Mi={},this.Mi={}}on(n,a){return this.Mi[n]||(this.Mi[n]=[]),this.Mi[n].push(a),()=>{this.Mi[n]=this.Mi[n].filter((r=>r!==a))}}emit(n,a){for(var r of this.Mi[n]||[])r(a);for(var l of this.Mi["*"]||[])l(n,a)}}function ms(s,n,a){if(Re(s))return!1;switch(a){case"exact":return s===n;case"contains":var r=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/_/g,".").replace(/%/g,".*");return new RegExp(r,"i").test(s);case"regex":try{return new RegExp(n).test(s)}catch{return!1}default:return!1}}class T1{constructor(n){this.Oi=new Ah,this.Ai=(a,r)=>this.Di(a,r)&&this.ji(a,r)&&this.Li(a,r)&&this.Ni(a,r),this.Di=(a,r)=>r==null||!r.event||a?.event===r?.event,this._instance=n,this.Ui=new Set,this.zi=new Set}init(){var n;if(!X((n=this._instance)==null?void 0:n.Hi)){var a;(a=this._instance)==null||a.Hi(((r,l)=>{this.on(r,l)}))}}register(n){var a,r;if(!X((a=this._instance)==null?void 0:a.Hi)&&(n.forEach((f=>{var h,g;(h=this.zi)==null||h.add(f),(g=f.steps)==null||g.forEach((m=>{var y;(y=this.Ui)==null||y.add(m?.event||"")}))})),(r=this._instance)!=null&&r.autocapture)){var l,c=new Set;n.forEach((f=>{var h;(h=f.steps)==null||h.forEach((g=>{g!=null&&g.selector&&c.add(g?.selector)}))})),(l=this._instance)==null||l.autocapture.setElementSelectors(c)}}on(n,a){var r;a!=null&&n.length!=0&&(this.Ui.has(n)||this.Ui.has(a?.event))&&this.zi&&((r=this.zi)==null?void 0:r.size)>0&&this.zi.forEach((l=>{this.Bi(a,l)&&this.Oi.emit("actionCaptured",l.name)}))}qi(n){this.onAction("actionCaptured",(a=>n(a)))}Bi(n,a){if(a?.steps==null)return!1;for(var r of a.steps)if(this.Ai(n,r))return!0;return!1}onAction(n,a){return this.Oi.on(n,a)}ji(n,a){if(a!=null&&a.url){var r,l=n==null||(r=n.properties)==null?void 0:r.$current_url;if(!l||typeof l!="string"||!ms(l,a.url,a.url_matching||"contains"))return!1}return!0}Li(n,a){return!!this.Wi(n,a)&&!!this.Gi(n,a)&&!!this.Vi(n,a)}Wi(n,a){var r;if(a==null||!a.href)return!0;var l=this.Ji(n);if(l.length>0)return l.some((h=>ms(h.href,a.href,a.href_matching||"exact")));var c,f=(n==null||(r=n.properties)==null?void 0:r.$elements_chain)||"";return!!f&&ms((c=f.match(/(?::|")href="(.*?)"/))?c[1]:"",a.href,a.href_matching||"exact")}Gi(n,a){var r;if(a==null||!a.text)return!0;var l=this.Ji(n);if(l.length>0)return l.some((m=>ms(m.text,a.text,a.text_matching||"exact")||ms(m.$el_text,a.text,a.text_matching||"exact")));var c,f,h,g=(n==null||(r=n.properties)==null?void 0:r.$elements_chain)||"";return!!g&&(c=(function(m){for(var y,b=[],x=/(?::|")text="(.*?)"/g;!Re(y=x.exec(m));)b.includes(y[1])||b.push(y[1]);return b})(g),f=a.text,h=a.text_matching||"exact",c.some((m=>ms(m,f,h))))}Vi(n,a){var r,l;if(a==null||!a.selector)return!0;var c=n==null||(r=n.properties)==null?void 0:r.$element_selectors;if(c!=null&&c.includes(a.selector))return!0;var f=(n==null||(l=n.properties)==null?void 0:l.$elements_chain)||"";if(a.selector_regex&&f)try{return new RegExp(a.selector_regex).test(f)}catch{return!1}return!1}Ji(n){var a;return(n==null||(a=n.properties)==null?void 0:a.$elements)==null?[]:n?.properties.$elements}Ni(n,a){return a==null||!a.properties||a.properties.length===0||A_(a.properties.reduce(((r,l)=>{var c=Le(l.value)?l.value.map(String):l.value!=null?[String(l.value)]:[];return r[l.key]={values:c,operator:l.operator||"exact"},r}),{}),n?.properties)}}class E1{constructor(n){this._instance=n,this.Ki=new Map,this.Yi=new Map,this.Xi=new Map}Qi(n,a){return!!n&&A_(n.propertyFilters,a?.properties)}Zi(n,a){var r=new Map;return n.forEach((l=>{var c;(c=l.conditions)==null||(c=c[a])==null||(c=c.values)==null||c.forEach((f=>{if(f!=null&&f.name){var h=r.get(f.name)||[];h.push(l.id),r.set(f.name,h)}}))})),r}te(n,a,r){var l=(r===zr.Activation?this.Ki:this.Yi).get(n),c=[];return this.ie((f=>{c=f.filter((h=>l?.includes(h.id)))})),c.filter((f=>{var h,g=(h=f.conditions)==null||(h=h[r])==null||(h=h.values)==null?void 0:h.find((m=>m.name===n));return this.Qi(g,a)}))}register(n){var a;X((a=this._instance)==null?void 0:a.Hi)||(this.ee(n),this.re(n))}re(n){var a=n.filter((r=>{var l,c;return((l=r.conditions)==null?void 0:l.actions)&&((c=r.conditions)==null||(c=c.actions)==null||(c=c.values)==null?void 0:c.length)>0}));a.length!==0&&(this.se==null&&(this.se=new T1(this._instance),this.se.init(),this.se.qi((r=>{this.onAction(r)}))),a.forEach((r=>{var l,c,f,h,g;r.conditions&&(l=r.conditions)!=null&&l.actions&&(c=r.conditions)!=null&&(c=c.actions)!=null&&c.values&&((f=r.conditions)==null||(f=f.actions)==null||(f=f.values)==null?void 0:f.length)>0&&((h=this.se)==null||h.register(r.conditions.actions.values),(g=r.conditions)==null||(g=g.actions)==null||(g=g.values)==null||g.forEach((m=>{if(m&&m.name){var y=this.Xi.get(m.name);y&&y.push(r.id),this.Xi.set(m.name,y||[r.id])}})))})))}ee(n){var a,r=n.filter((c=>{var f,h;return((f=c.conditions)==null?void 0:f.events)&&((h=c.conditions)==null||(h=h.events)==null||(h=h.values)==null?void 0:h.length)>0})),l=n.filter((c=>{var f,h;return((f=c.conditions)==null?void 0:f.cancelEvents)&&((h=c.conditions)==null||(h=h.cancelEvents)==null||(h=h.values)==null?void 0:h.length)>0}));(r.length!==0||l.length!==0)&&((a=this._instance)==null||a.Hi(((c,f)=>{this.onEvent(c,f)})),this.Ki=this.Zi(n,zr.Activation),this.Yi=this.Zi(n,zr.Cancellation))}onEvent(n,a){var r,l=this.ne(),c=this.oe(),f=this.ae(),h=((r=this._instance)==null||(r=r.persistence)==null?void 0:r.props[c])||[];if(f===n&&a&&h.length>0){var g,m;l.info("event matched, removing item from activated items",{event:n,eventPayload:a,existingActivatedItems:h});var y=(a==null||(g=a.properties)==null?void 0:g.$survey_id)||(a==null||(m=a.properties)==null?void 0:m.$product_tour_id);if(y){var b=h.indexOf(y);b>=0&&(h.splice(b,1),this.le(h))}}else{if(this.Yi.has(n)){var x=this.te(n,a,zr.Cancellation);x.length>0&&(l.info("cancel event matched, cancelling items",{event:n,itemsToCancel:x.map((E=>E.id))}),x.forEach((E=>{var k=h.indexOf(E.id);k>=0&&h.splice(k,1),this.ue(E.id)})),this.le(h))}if(this.Ki.has(n)){l.info("event name matched",{event:n,eventPayload:a,items:this.Ki.get(n)});var C=this.te(n,a,zr.Activation);this.le(h.concat(C.map((E=>E.id))||[]))}}}onAction(n){var a,r=this.oe(),l=((a=this._instance)==null||(a=a.persistence)==null?void 0:a.props[r])||[];this.Xi.has(n)&&this.le(l.concat(this.Xi.get(n)||[]))}le(n){var a,r=this.ne(),l=this.oe(),c=[...new Set(n)].filter((f=>!this.he(f)));r.info("updating activated items",{activatedItems:c}),(a=this._instance)==null||(a=a.persistence)==null||a.register({[l]:c})}getActivatedIds(){var n,a=this.oe(),r=(n=this._instance)==null||(n=n.persistence)==null?void 0:n.props[a];return r||[]}getEventToItemsMap(){return this.Ki}de(){return this.se}}class N1 extends E1{constructor(n){super(n)}oe(){return"$surveys_activated"}ae(){return Gr.SHOWN}ie(n){var a;(a=this._instance)==null||a.getSurveys(n)}ue(n){var a;(a=this._instance)==null||a.cancelPendingSurvey(n)}ne(){return $e}he(){return!1}getSurveys(){return this.getActivatedIds()}getEventToSurveys(){return this.getEventToItemsMap()}}class M1{constructor(n){this.ve=void 0,this._surveyManager=null,this.ce=!1,this.fe=[],this.pe=null,this._instance=n,this._surveyEventReceiver=null}onRemoteConfig(n){if(!this._instance.config.disable_surveys){var a=n.surveys;if(Re(a))return $e.warn("Flags not loaded yet. Not loading surveys.");var r=Le(a);this.ve=r?a.length>0:a,$e.info("flags response received, isSurveysEnabled: "+this.ve),this.loadIfEnabled()}}reset(){localStorage.removeItem("lastSeenSurveyDate");for(var n=[],a=0;a<localStorage.length;a++){var r=localStorage.key(a);(r!=null&&r.startsWith(E_)||r!=null&&r.startsWith("inProgressSurvey_"))&&n.push(r)}n.forEach((l=>localStorage.removeItem(l)))}loadIfEnabled(){if(!this._surveyManager)if(this.ce)$e.info("Already initializing surveys, skipping...");else if(this._instance.config.disable_surveys)$e.info("Disabled. Not loading surveys.");else if(this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())$e.info("Not loading surveys in cookieless mode without consent.");else{var n=ce?.__PosthogExtensions__;if(n){if(!X(this.ve)||this._instance.config.advanced_enable_surveys){var a=this.ve||this._instance.config.advanced_enable_surveys;this.ce=!0;try{var r=n.generateSurveys;if(r)return void this.ge(r,a);var l=n.loadExternalDependency;if(!l)return void this._e("PostHog loadExternalDependency extension not found.");l(this._instance,"surveys",(c=>{c||!n.generateSurveys?this._e("Could not load surveys script",c):this.ge(n.generateSurveys,a)}))}catch(c){throw this._e("Error initializing surveys",c),c}finally{this.ce=!1}}}else $e.error("PostHog Extensions not found.")}}ge(n,a){this._surveyManager=n(this._instance,a),this._surveyEventReceiver=new N1(this._instance),$e.info("Surveys loaded successfully"),this.me({isLoaded:!0})}_e(n,a){$e.error(n,a),this.me({isLoaded:!1,error:n})}onSurveysLoaded(n){return this.fe.push(n),this._surveyManager&&this.me({isLoaded:!0}),()=>{this.fe=this.fe.filter((a=>a!==n))}}getSurveys(n,a){if(a===void 0&&(a=!1),this._instance.config.disable_surveys)return $e.info("Disabled. Not loading surveys."),n([]);var r,l=this._instance.get_property(If);if(l&&!a)return n(l,{isLoaded:!0});typeof Promise<"u"&&this.pe?this.pe.then((c=>{var{surveys:f,context:h}=c;return n(f,h)})):(typeof Promise<"u"&&(this.pe=new Promise((c=>{r=c}))),this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/surveys/?token="+this._instance.config.token),method:"GET",timeout:this._instance.config.surveys_request_timeout_ms,callback:c=>{var f;this.pe=null;var h=c.statusCode;if(h!==200||!c.json){var g="Surveys API could not be loaded, status: "+h;$e.error(g);var m={isLoaded:!1,error:g};return n([],m),void(r==null||r({surveys:[],context:m}))}var y,b=c.json.surveys||[],x=b.filter((E=>(function(k){return!(!k.start_date||k.end_date)})(E)&&((function(k){var A;return!((A=k.conditions)==null||(A=A.events)==null||(A=A.values)==null||!A.length)})(E)||(function(k){var A;return!((A=k.conditions)==null||(A=A.actions)==null||(A=A.values)==null||!A.length)})(E))));x.length>0&&((y=this._surveyEventReceiver)==null||y.register(x)),(f=this._instance.persistence)==null||f.register({[If]:b});var C={isLoaded:!0};n(b,C),r?.({surveys:b,context:C})}}))}me(n){for(var a of this.fe)try{if(!n.isLoaded)return a([],n);this.getSurveys(a)}catch(r){$e.error("Error in survey callback",r)}}getActiveMatchingSurveys(n,a){if(a===void 0&&(a=!1),!Re(this._surveyManager))return this._surveyManager.getActiveMatchingSurveys(n,a);$e.warn("init was not called")}ye(n){var a=null;return this.getSurveys((r=>{var l;a=(l=r.find((c=>c.id===n)))!==null&&l!==void 0?l:null})),a}be(n){if(Re(this._surveyManager))return{eligible:!1,reason:"SDK is not enabled or survey functionality is not yet loaded"};var a=typeof n=="string"?this.ye(n):n;return a?this._surveyManager.checkSurveyEligibility(a):{eligible:!1,reason:"Survey not found"}}canRenderSurvey(n){if(Re(this._surveyManager))return $e.warn("init was not called"),{visible:!1,disabledReason:"SDK is not enabled or survey functionality is not yet loaded"};var a=this.be(n);return{visible:a.eligible,disabledReason:a.reason}}canRenderSurveyAsync(n,a){return Re(this._surveyManager)?($e.warn("init was not called"),Promise.resolve({visible:!1,disabledReason:"SDK is not enabled or survey functionality is not yet loaded"})):new Promise((r=>{this.getSurveys((l=>{var c,f=(c=l.find((g=>g.id===n)))!==null&&c!==void 0?c:null;if(f){var h=this.be(f);r({visible:h.eligible,disabledReason:h.reason})}else r({visible:!1,disabledReason:"Survey not found"})}),a)}))}renderSurvey(n,a,r){var l;if(Re(this._surveyManager))$e.warn("init was not called");else{var c=typeof n=="string"?this.ye(n):n;if(c!=null&&c.id)if(k1.includes(c.type)){var f=J?.querySelector(a);if(f)return(l=c.appearance)!=null&&l.surveyPopupDelaySeconds?($e.info("Rendering survey "+c.id+" with delay of "+c.appearance.surveyPopupDelaySeconds+" seconds"),void setTimeout((()=>{var h,g;$e.info("Rendering survey "+c.id+" with delay of "+((h=c.appearance)==null?void 0:h.surveyPopupDelaySeconds)+" seconds"),(g=this._surveyManager)==null||g.renderSurvey(c,f,r),$e.info("Survey "+c.id+" rendered")}),1e3*c.appearance.surveyPopupDelaySeconds)):void this._surveyManager.renderSurvey(c,f,r);$e.warn("Survey element not found")}else $e.warn("Surveys of type "+c.type+" cannot be rendered in the app");else $e.warn("Survey not found")}}displaySurvey(n,a){var r;if(Re(this._surveyManager))$e.warn("init was not called");else{var l=this.ye(n);if(l){var c=l;if((r=l.appearance)!=null&&r.surveyPopupDelaySeconds&&a.ignoreDelay&&(c=ee({},l,{appearance:ee({},l.appearance,{surveyPopupDelaySeconds:0})})),a.ignoreConditions===!1){var f=this.canRenderSurvey(l);if(!f.visible)return void $e.warn("Survey is not eligible to be displayed: ",f.disabledReason)}a.displayType!==T_.Inline?this._surveyManager.handlePopoverSurvey(c,a.properties):this.renderSurvey(c,a.selector,a.properties)}else $e.warn("Survey not found")}}cancelPendingSurvey(n){Re(this._surveyManager)?$e.warn("init was not called"):this._surveyManager.cancelSurvey(n)}handlePageUnload(){var n;(n=this._surveyManager)==null||n.handlePageUnload()}}var ra=at("[Conversations]");class j1{constructor(n){this.we=void 0,this._conversationsManager=null,this.xe=!1,this.Ee=null,this._instance=n}onRemoteConfig(n){if(!this._instance.config.disable_conversations){var a=n.conversations;Re(a)||(ha(a)?this.we=a:(this.we=a.enabled,this.Ee=a),this.loadIfEnabled())}}reset(){var n;(n=this._conversationsManager)==null||n.reset(),this._conversationsManager=null,this.we=void 0,this.Ee=null}loadIfEnabled(){if(!this._conversationsManager&&!this.xe&&!(this._instance.config.disable_conversations||this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())){var n=ce?.__PosthogExtensions__;if(n&&!X(this.we)&&this.we)if(this.Ee&&this.Ee.token){this.xe=!0;try{var a=n.initConversations;if(a)return this.$e(a),void(this.xe=!1);var r=n.loadExternalDependency;if(!r)return void this.Se("PostHog loadExternalDependency extension not found.");r(this._instance,"conversations",(l=>{l||!n.initConversations?this.Se("Could not load conversations script",l):this.$e(n.initConversations),this.xe=!1}))}catch(l){this.Se("Error initializing conversations",l),this.xe=!1}}else ra.error("Conversations enabled but missing token in remote config.")}}$e(n){if(this.Ee)try{this._conversationsManager=n(this.Ee,this._instance),ra.info("Conversations loaded successfully")}catch(a){this.Se("Error completing conversations initialization",a)}else ra.error("Cannot complete initialization: remote config is null")}Se(n,a){ra.error(n,a),this._conversationsManager=null,this.xe=!1}show(){this._conversationsManager?this._conversationsManager.show():ra.warn("Conversations not loaded yet.")}hide(){this._conversationsManager&&this._conversationsManager.hide()}isAvailable(){return this.we===!0&&!Mn(this._conversationsManager)}isVisible(){var n,a;return(n=(a=this._conversationsManager)==null?void 0:a.isVisible())!==null&&n!==void 0&&n}sendMessage(n,a,r){var l=this;return _s((function*(){return l._conversationsManager?l._conversationsManager.sendMessage(n,a,r):(ra.warn("Conversations not available yet."),null)}))()}getMessages(n,a){var r=this;return _s((function*(){return r._conversationsManager?r._conversationsManager.getMessages(n,a):(ra.warn("Conversations not available yet."),null)}))()}markAsRead(n){var a=this;return _s((function*(){return a._conversationsManager?a._conversationsManager.markAsRead(n):(ra.warn("Conversations not available yet."),null)}))()}getTickets(n){var a=this;return _s((function*(){return a._conversationsManager?a._conversationsManager.getTickets(n):(ra.warn("Conversations not available yet."),null)}))()}getCurrentTicketId(){var n,a;return(n=(a=this._conversationsManager)==null?void 0:a.getCurrentTicketId())!==null&&n!==void 0?n:null}getWidgetSessionId(){var n,a;return(n=(a=this._conversationsManager)==null?void 0:a.getWidgetSessionId())!==null&&n!==void 0?n:null}}class R1{constructor(n){var a;this.ke=!1,this.Pe=!1,this._instance=n,this._instance&&(a=this._instance.config.logs)!=null&&a.captureConsoleLogs&&(this.ke=!0)}onRemoteConfig(n){var a,r=(a=n.logs)==null?void 0:a.captureConsoleLogs;!Re(r)&&r&&(this.ke=!0,this.loadIfEnabled())}reset(){}loadIfEnabled(){if(this.ke&&!this.Pe){var n=at("[logs]"),a=ce?.__PosthogExtensions__;if(a){var r=a.loadExternalDependency;r?r(this._instance,"logs",(l=>{var c;l||(c=a.logs)==null||!c.initializeLogs?n.error("Could not load logs script",l):(a.logs.initializeLogs(this._instance),this.Pe=!0)})):n.error("PostHog loadExternalDependency extension not found.")}else n.error("PostHog Extensions not found.")}}}var Xy=at("[RateLimiter]");class D1{constructor(n){var a,r;this.serverLimits={},this.lastEventRateLimited=!1,this.checkForLimiting=l=>{var c=l.text;if(c&&c.length)try{(JSON.parse(c).quota_limited||[]).forEach((f=>{Xy.info((f||"events")+" is quota limited."),this.serverLimits[f]=new Date().getTime()+6e4}))}catch(f){return void Xy.warn('could not rate limit - continuing. Error: "'+f?.message+'"',{text:c})}},this.instance=n,this.captureEventsPerSecond=((a=n.config.rate_limiting)==null?void 0:a.events_per_second)||10,this.captureEventsBurstLimit=Math.max(((r=n.config.rate_limiting)==null?void 0:r.events_burst_limit)||10*this.captureEventsPerSecond,this.captureEventsPerSecond),this.lastEventRateLimited=this.clientRateLimitContext(!0).isRateLimited}clientRateLimitContext(n){var a,r,l;n===void 0&&(n=!1);var c=new Date().getTime(),f=(a=(r=this.instance.persistence)==null?void 0:r.get_property(qf))!==null&&a!==void 0?a:{tokens:this.captureEventsBurstLimit,last:c};f.tokens+=(c-f.last)/1e3*this.captureEventsPerSecond,f.last=c,f.tokens>this.captureEventsBurstLimit&&(f.tokens=this.captureEventsBurstLimit);var h=f.tokens<1;return h||n||(f.tokens=Math.max(0,f.tokens-1)),!h||this.lastEventRateLimited||n||this.instance.capture("$$client_ingestion_warning",{$$client_ingestion_warning_message:"posthog-js client rate limited. Config is set to "+this.captureEventsPerSecond+" events per second and "+this.captureEventsBurstLimit+" events burst limit."},{skip_client_rate_limiting:!0}),this.lastEventRateLimited=h,(l=this.instance.persistence)==null||l.set_property(qf,f),{isRateLimited:h,remainingTokens:f.tokens}}isServerRateLimited(n){var a=this.serverLimits[n||"events"]||!1;return a!==!1&&new Date().getTime()<a}}var Si=at("[RemoteConfig]");class P1{constructor(n){this._instance=n}get remoteConfig(){var n;return(n=ce._POSTHOG_REMOTE_CONFIG)==null||(n=n[this._instance.config.token])==null?void 0:n.config}Te(n){var a,r;(a=ce.__PosthogExtensions__)!=null&&a.loadExternalDependency?(r=ce.__PosthogExtensions__)==null||r.loadExternalDependency==null||r.loadExternalDependency(this._instance,"remote-config",(()=>n(this.remoteConfig))):(Si.error("PostHog Extensions not found. Cannot load remote config."),n())}Ie(n){this._instance._send_request({method:"GET",url:this._instance.requestRouter.endpointFor("assets","/array/"+this._instance.config.token+"/config"),callback:a=>{n(a.json)}})}load(){try{if(this.remoteConfig)return Si.info("Using preloaded remote config",this.remoteConfig),void this.yi(this.remoteConfig);if(this._instance.O())return void Si.warn("Remote config is disabled. Falling back to local config.");this.Te((n=>{if(!n)return Si.info("No config found after loading remote JS config. Falling back to JSON."),void this.Ie((a=>{this.yi(a)}));this.yi(n)}))}catch(n){Si.error("Error loading remote config",n)}}yi(n){n?this._instance.config.__preview_remote_config?(this._instance.yi(n),n.hasFeatureFlags!==!1&&this._instance.featureFlags.ensureFlagsLoaded()):Si.info("__preview_remote_config is disabled. Logging config instead",n):Si.error("Failed to fetch remote config from PostHog.")}}var Xf=3e3;class O1{constructor(n,a){this.Ce=!0,this.Re=[],this.Fe=Ln(a?.flush_interval_ms||Xf,250,5e3,W.createLogger("flush interval"),Xf),this.Me=n}enqueue(n){this.Re.push(n),this.Oe||this.Ae()}unload(){this.De();var n=this.Re.length>0?this.je():{},a=Object.values(n);[...a.filter((r=>r.url.indexOf("/e")===0)),...a.filter((r=>r.url.indexOf("/e")!==0))].map((r=>{this.Me(ee({},r,{transport:"sendBeacon"}))}))}enable(){this.Ce=!1,this.Ae()}Ae(){var n=this;this.Ce||(this.Oe=setTimeout((()=>{if(this.De(),this.Re.length>0){var a=this.je(),r=function(){var c=a[l],f=new Date().getTime();c.data&&Le(c.data)&&Ve(c.data,(h=>{h.offset=Math.abs(h.timestamp-f),delete h.timestamp})),n.Me(c)};for(var l in a)r()}}),this.Fe))}De(){clearTimeout(this.Oe),this.Oe=void 0}je(){var n={};return Ve(this.Re,(a=>{var r,l=a,c=(l?l.batchKey:null)||l.url;X(n[c])&&(n[c]=ee({},l,{data:[]})),(r=n[c].data)==null||r.push(l.data)})),this.Re=[],n}}var L1=["retriesPerformedSoFar"];class F1{constructor(n){this.Le=!1,this.Ne=3e3,this.Re=[],this._instance=n,this.Re=[],this.Ue=!0,!X(U)&&"onLine"in U.navigator&&(this.Ue=U.navigator.onLine,this.ze=()=>{this.Ue=!0,this.Lt()},this.He=()=>{this.Ue=!1},dt(U,"online",this.ze),dt(U,"offline",this.He))}get length(){return this.Re.length}retriableRequest(n){var{retriesPerformedSoFar:a}=n,r=x0(n,L1);ys(a)&&(r.url=dc(r.url,{retry_count:a})),this._instance._send_request(ee({},r,{callback:l=>{l.statusCode!==200&&(l.statusCode<400||l.statusCode>=500)&&(a??0)<10?this.Be(ee({retriesPerformedSoFar:a},r)):r.callback==null||r.callback(l)}}))}Be(n){var a=n.retriesPerformedSoFar||0;n.retriesPerformedSoFar=a+1;var r=(function(f){var h=3e3*Math.pow(2,f),g=h/2,m=Math.min(18e5,h),y=(Math.random()-.5)*(m-g);return Math.ceil(m+y)})(a),l=Date.now()+r;this.Re.push({retryAt:l,requestOptions:n});var c="Enqueued failed request for retry in "+r;navigator.onLine||(c+=" (Browser is offline)"),W.warn(c),this.Le||(this.Le=!0,this.qe())}qe(){if(this.We&&clearTimeout(this.We),this.Re.length===0)return this.Le=!1,void(this.We=void 0);this.We=setTimeout((()=>{this.Ue&&this.Re.length>0&&this.Lt(),this.qe()}),this.Ne)}Lt(){var n=Date.now(),a=[],r=this.Re.filter((c=>c.retryAt<n||(a.push(c),!1)));if(this.Re=a,r.length>0)for(var{requestOptions:l}of r)this.retriableRequest(l)}unload(){for(var{requestOptions:n}of(this.We&&(clearTimeout(this.We),this.We=void 0),this.Le=!1,X(U)||(this.ze&&(U.removeEventListener("online",this.ze),this.ze=void 0),this.He&&(U.removeEventListener("offline",this.He),this.He=void 0)),this.Re))try{this._instance._send_request(ee({},n,{transport:"sendBeacon"}))}catch(a){W.error(a)}this.Re=[]}}class z1{constructor(n){this.Ge=()=>{var a,r,l,c;this.Ve||(this.Ve={});var f=this.scrollElement(),h=this.scrollY(),g=f?Math.max(0,f.scrollHeight-f.clientHeight):0,m=h+(f?.clientHeight||0),y=f?.scrollHeight||0;this.Ve.lastScrollY=Math.ceil(h),this.Ve.maxScrollY=Math.max(h,(a=this.Ve.maxScrollY)!==null&&a!==void 0?a:0),this.Ve.maxScrollHeight=Math.max(g,(r=this.Ve.maxScrollHeight)!==null&&r!==void 0?r:0),this.Ve.lastContentY=m,this.Ve.maxContentY=Math.max(m,(l=this.Ve.maxContentY)!==null&&l!==void 0?l:0),this.Ve.maxContentHeight=Math.max(y,(c=this.Ve.maxContentHeight)!==null&&c!==void 0?c:0)},this._instance=n}getContext(){return this.Ve}resetContext(){var n=this.Ve;return setTimeout(this.Ge,0),n}startMeasuringScrollPosition(){dt(U,"scroll",this.Ge,{capture:!0}),dt(U,"scrollend",this.Ge,{capture:!0}),dt(U,"resize",this.Ge)}scrollElement(){if(!this._instance.config.scroll_root_selector)return U?.document.documentElement;var n=Le(this._instance.config.scroll_root_selector)?this._instance.config.scroll_root_selector:[this._instance.config.scroll_root_selector];for(var a of n){var r=U?.document.querySelector(a);if(r)return r}}scrollY(){if(this._instance.config.scroll_root_selector){var n=this.scrollElement();return n&&n.scrollTop||0}return U&&(U.scrollY||U.pageYOffset||U.document.documentElement.scrollTop)||0}scrollX(){if(this._instance.config.scroll_root_selector){var n=this.scrollElement();return n&&n.scrollLeft||0}return U&&(U.scrollX||U.pageXOffset||U.document.documentElement.scrollLeft)||0}}var U1=s=>v_(s?.config.mask_personal_data_properties,s?.config.custom_personal_data_properties);class Qy{constructor(n,a,r,l){this.Je=c=>{var f=this.Ke();if(!f||f.sessionId!==c){var h={sessionId:c,props:this.Ye(this._instance)};this.Xe.register({[Hf]:h})}},this._instance=n,this.Qe=a,this.Xe=r,this.Ye=l||U1,this.Qe.onSessionId(this.Je)}Ke(){return this.Xe.props[Hf]}getSetOnceProps(){var n,a=(n=this.Ke())==null?void 0:n.props;return a?"r"in a?y_(a):{$referring_domain:a.referringDomain,$pathname:a.initialPathName,utm_source:a.utm_source,utm_campaign:a.utm_campaign,utm_medium:a.utm_medium,utm_content:a.utm_content,utm_term:a.utm_term}:{}}getSessionProps(){var n={};return Ve(_h(this.getSetOnceProps()),((a,r)=>{r==="$current_url"&&(r="url"),n["$session_entry_"+Mf(r)]=a})),n}}var ff=at("[SessionId]");class Zy{on(n,a){return this.Ze.on(n,a)}constructor(n,a,r){var l;if(this.tr=[],this.ir=void 0,this.Ze=new Ah,this.er=(y,b)=>!(!ys(y)||!ys(b))&&Math.abs(y-b)>this.sessionTimeoutMs,!n.persistence)throw new Error("SessionIdManager requires a PostHogPersistence instance");if(n.config.cookieless_mode==="always")throw new Error('SessionIdManager cannot be used with cookieless_mode="always"');this.R=n.config,this.Xe=n.persistence,this.rr=void 0,this.sr=void 0,this._sessionStartTimestamp=null,this._sessionActivityTimestamp=null,this.nr=a||Ya,this.ar=r||Ya;var c=this.R.persistence_name||this.R.token,f=this.R.session_idle_timeout_seconds||1800;if(this._sessionTimeoutMs=1e3*Ln(f,60,36e3,ff.createLogger("session_idle_timeout_seconds"),1800),n.register({$configured_session_timeout_ms:this._sessionTimeoutMs}),this.lr(),this.ur="ph_"+c+"_window_id",this.hr="ph_"+c+"_primary_window_exists",this.dr()){var h=kt.W(this.ur),g=kt.W(this.hr);h&&!g?this.rr=h:kt.V(this.ur),kt.G(this.hr,!0)}if((l=this.R.bootstrap)!=null&&l.sessionID)try{var m=(y=>{var b=y.replace(/-/g,"");if(b.length!==32)throw new Error("Not a valid UUID");if(b[12]!=="7")throw new Error("Not a UUIDv7");return parseInt(b.substring(0,12),16)})(this.R.bootstrap.sessionID);this.vr(this.R.bootstrap.sessionID,new Date().getTime(),m)}catch(y){ff.error("Invalid sessionID in bootstrap",y)}this.cr()}get sessionTimeoutMs(){return this._sessionTimeoutMs}onSessionId(n){return X(this.tr)&&(this.tr=[]),this.tr.push(n),this.sr&&n(this.sr,this.rr),()=>{this.tr=this.tr.filter((a=>a!==n))}}dr(){return this.R.persistence!=="memory"&&!this.Xe.Si&&kt.H()}pr(n){n!==this.rr&&(this.rr=n,this.dr()&&kt.G(this.ur,n))}gr(){return this.rr?this.rr:this.dr()?kt.W(this.ur):null}vr(n,a,r){n===this.sr&&a===this._sessionActivityTimestamp&&r===this._sessionStartTimestamp||(this._sessionStartTimestamp=r,this._sessionActivityTimestamp=a,this.sr=n,this.Xe.register({[tc]:[a,n,r]}))}_r(){var n=this.Xe.props[tc];return Le(n)&&n.length===2&&n.push(n[0]),n||[0,null,0]}resetSessionId(){this.vr(null,null,null)}destroy(){clearTimeout(this.mr),this.mr=void 0,this.ir&&U&&(U.removeEventListener("beforeunload",this.ir,{capture:!1}),this.ir=void 0),this.tr=[]}cr(){this.ir=()=>{this.dr()&&kt.V(this.hr)},dt(U,"beforeunload",this.ir,{capture:!1})}checkAndGetSessionAndWindowId(n,a){if(n===void 0&&(n=!1),a===void 0&&(a=null),this.R.cookieless_mode==="always")throw new Error('checkAndGetSessionAndWindowId should not be called with cookieless_mode="always"');var r=a||new Date().getTime(),[l,c,f]=this._r(),h=this.gr(),g=ys(f)&&Math.abs(r-f)>864e5,m=!1,y=!c,b=!y&&!n&&this.er(r,l);y||b||g?(c=this.nr(),h=this.ar(),ff.info("new session ID generated",{sessionId:c,windowId:h,changeReason:{noSessionId:y,activityTimeout:b,sessionPastMaximumLength:g}}),f=r,m=!0):h||(h=this.ar(),m=!0);var x=ys(l)&&n&&!g?l:r,C=ys(f)?f:new Date().getTime();return this.pr(h),this.vr(c,x,C),n||this.lr(),m&&this.tr.forEach((E=>E(c,h,m?{noSessionId:y,activityTimeout:b,sessionPastMaximumLength:g}:void 0))),{sessionId:c,windowId:h,sessionStartTimestamp:C,changeReason:m?{noSessionId:y,activityTimeout:b,sessionPastMaximumLength:g}:void 0,lastActivityTimestamp:l}}lr(){clearTimeout(this.mr),this.mr=setTimeout((()=>{var[n]=this._r();if(this.er(new Date().getTime(),n)){var a=this.sr;this.resetSessionId(),this.Ze.emit("forcedIdleReset",{idleSessionId:a})}}),1.1*this.sessionTimeoutMs)}}var I1=["$set_once","$set"],Va=at("[SiteApps]");class H1{constructor(n){this._instance=n,this.yr=[],this.apps={}}get isEnabled(){return!!this._instance.config.opt_in_site_apps}br(n,a){if(a){var r=this.globalsForEvent(a);this.yr.push(r),this.yr.length>1e3&&(this.yr=this.yr.slice(10))}}get siteAppLoaders(){var n;return(n=ce._POSTHOG_REMOTE_CONFIG)==null||(n=n[this._instance.config.token])==null?void 0:n.siteApps}init(){if(this.isEnabled){var n=this._instance.Hi(this.br.bind(this));this.wr=()=>{n(),this.yr=[],this.wr=void 0}}}globalsForEvent(n){var a,r,l,c,f,h,g;if(!n)throw new Error("Event payload is required");var m={},y=this._instance.get_property("$groups")||[],b=this._instance.get_property("$stored_group_properties")||{};for(var[x,C]of Object.entries(b))m[x]={id:y[x],type:x,properties:C};var{$set_once:E,$set:k}=n;return{event:ee({},x0(n,I1),{properties:ee({},n.properties,k?{$set:ee({},(a=(r=n.properties)==null?void 0:r.$set)!==null&&a!==void 0?a:{},k)}:{},E?{$set_once:ee({},(l=(c=n.properties)==null?void 0:c.$set_once)!==null&&l!==void 0?l:{},E)}:{}),elements_chain:(f=(h=n.properties)==null?void 0:h.$elements_chain)!==null&&f!==void 0?f:"",distinct_id:(g=n.properties)==null?void 0:g.distinct_id}),person:{properties:this._instance.get_property("$stored_person_properties")},groups:m}}setupSiteApp(n){var a=this.apps[n.id],r=()=>{var h;!a.errored&&this.yr.length&&(Va.info("Processing "+this.yr.length+" events for site app with id "+n.id),this.yr.forEach((g=>a.processEvent==null?void 0:a.processEvent(g))),a.processedBuffer=!0),Object.values(this.apps).every((g=>g.processedBuffer||g.errored))&&((h=this.wr)==null||h.call(this))},l=!1,c=h=>{a.errored=!h,a.loaded=!0,Va.info("Site app with id "+n.id+" "+(h?"loaded":"errored")),l&&r()};try{var{processEvent:f}=n.init({posthog:this._instance,callback:h=>{c(h)}});f&&(a.processEvent=f),l=!0}catch(h){Va.error("Error while initializing PostHog app with config id "+n.id,h),c(!1)}if(l&&a.loaded)try{r()}catch(h){Va.error("Error while processing buffered events PostHog app with config id "+n.id,h),a.errored=!0}}Er(){var n=this.siteAppLoaders||[];for(var a of n)this.apps[a.id]={id:a.id,loaded:!1,errored:!1,processedBuffer:!1};for(var r of n)this.setupSiteApp(r)}$r(n){if(Object.keys(this.apps).length!==0){var a=this.globalsForEvent(n);for(var r of Object.values(this.apps))try{r.processEvent==null||r.processEvent(a)}catch(l){Va.error("Error while processing event "+n.event+" for site app "+r.id,l)}}}onRemoteConfig(n){var a,r,l,c=this;if((a=this.siteAppLoaders)!=null&&a.length)return this.isEnabled?(this.Er(),void this._instance.on("eventCaptured",(m=>this.$r(m)))):void Va.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.');if((r=this.wr)==null||r.call(this),(l=n.siteApps)!=null&&l.length)if(this.isEnabled){var f=function(m){var y;ce["__$$ph_site_app_"+m]=c._instance,(y=ce.__PosthogExtensions__)==null||y.loadSiteApp==null||y.loadSiteApp(c._instance,g,(b=>{if(b)return Va.error("Error while initializing PostHog app with config id "+m,b)}))};for(var{id:h,url:g}of n.siteApps)f(h)}else Va.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.')}}var N_=function(s,n){if(!s)return!1;var a=s.userAgent;if(a&&oy(a,n))return!0;try{var r=s?.userAgentData;if(r!=null&&r.brands&&r.brands.some((l=>oy(l?.brand,n))))return!0}catch{}return!!s.webdriver},Yr=(function(s){return s.US="us",s.EU="eu",s.CUSTOM="custom",s})({}),Wy="i.posthog.com";class q1{constructor(n){this.Sr={},this.instance=n}get apiHost(){var n=this.instance.config.api_host.trim().replace(/\/$/,"");return n==="https://app.posthog.com"?"https://us.i.posthog.com":n}get flagsApiHost(){var n=this.instance.config.flags_api_host;return n?n.trim().replace(/\/$/,""):this.apiHost}get uiHost(){var n,a=(n=this.instance.config.ui_host)==null?void 0:n.replace(/\/$/,"");return a||(a=this.apiHost.replace("."+Wy,".posthog.com")),a==="https://app.posthog.com"?"https://us.posthog.com":a}get region(){return this.Sr[this.apiHost]||(/https:\/\/(app|us|us-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.Sr[this.apiHost]=Yr.US:/https:\/\/(eu|eu-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?this.Sr[this.apiHost]=Yr.EU:this.Sr[this.apiHost]=Yr.CUSTOM),this.Sr[this.apiHost]}endpointFor(n,a){if(a===void 0&&(a=""),a&&(a=a[0]==="/"?a:"/"+a),n==="ui")return this.uiHost+a;if(n==="flags")return this.flagsApiHost+a;if(this.region===Yr.CUSTOM)return this.apiHost+a;var r=Wy+a;switch(n){case"assets":return"https://"+this.region+"-assets."+r;case"api":return"https://"+this.region+"."+r}}}var B1={icontains:(s,n)=>!!U&&n.href.toLowerCase().indexOf(s.toLowerCase())>-1,not_icontains:(s,n)=>!!U&&n.href.toLowerCase().indexOf(s.toLowerCase())===-1,regex:(s,n)=>!!U&&fc(n.href,s),not_regex:(s,n)=>!!U&&!fc(n.href,s),exact:(s,n)=>n.href===s,is_not:(s,n)=>n.href!==s};class Et{constructor(n){var a=this;this.getWebExperimentsAndEvaluateDisplayLogic=function(r){r===void 0&&(r=!1),a.getWebExperiments((l=>{Et.kr("retrieved web experiments from the server"),a.Pr=new Map,l.forEach((c=>{if(c.feature_flag_key){var f;a.Pr&&(Et.kr("setting flag key ",c.feature_flag_key," to web experiment ",c),(f=a.Pr)==null||f.set(c.feature_flag_key,c));var h=a._instance.getFeatureFlag(c.feature_flag_key);mt(h)&&c.variants[h]&&a.Tr(c.name,h,c.variants[h].transforms)}else if(c.variants)for(var g in c.variants){var m=c.variants[g];Et.Ir(m)&&a.Tr(c.name,g,m.transforms)}}))}),r)},this._instance=n,this._instance.onFeatureFlags((r=>{this.onFeatureFlags(r)}))}onFeatureFlags(n){if(this._is_bot())Et.kr("Refusing to render web experiment since the viewer is a likely bot");else if(!this._instance.config.disable_web_experiments){if(Re(this.Pr))return this.Pr=new Map,this.loadIfEnabled(),void this.previewWebExperiment();Et.kr("applying feature flags",n),n.forEach((a=>{var r;if(this.Pr&&(r=this.Pr)!=null&&r.has(a)){var l,c=this._instance.getFeatureFlag(a),f=(l=this.Pr)==null?void 0:l.get(a);c&&f!=null&&f.variants[c]&&this.Tr(f.name,c,f.variants[c].transforms)}}))}}previewWebExperiment(){var n=Et.getWindowLocation();if(n!=null&&n.search){var a=oc(n?.search,"__experiment_id"),r=oc(n?.search,"__experiment_variant");a&&r&&(Et.kr("previewing web experiments "+a+" && "+r),this.getWebExperiments((l=>{this.Cr(parseInt(a),r,l)}),!1,!0))}}loadIfEnabled(){this._instance.config.disable_web_experiments||this.getWebExperimentsAndEvaluateDisplayLogic()}getWebExperiments(n,a,r){if(this._instance.config.disable_web_experiments&&!r)return n([]);var l=this._instance.get_property("$web_experiments");if(l&&!a)return n(l);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/web_experiments/?token="+this._instance.config.token),method:"GET",callback:c=>{if(c.statusCode!==200||!c.json)return n([]);var f=c.json.experiments||[];return n(f)}})}Cr(n,a,r){var l=r.filter((c=>c.id===n));l&&l.length>0&&(Et.kr("Previewing web experiment ["+l[0].name+"] with variant ["+a+"]"),this.Tr(l[0].name,a,l[0].variants[a].transforms))}static Ir(n){return!Re(n.conditions)&&Et.Rr(n)&&Et.Fr(n)}static Rr(n){var a;if(Re(n.conditions)||Re((a=n.conditions)==null?void 0:a.url))return!0;var r,l,c,f=Et.getWindowLocation();return!!f&&((r=n.conditions)==null||!r.url||B1[(l=(c=n.conditions)==null?void 0:c.urlMatchType)!==null&&l!==void 0?l:"icontains"](n.conditions.url,f))}static getWindowLocation(){return U?.location}static Fr(n){var a;if(Re(n.conditions)||Re((a=n.conditions)==null?void 0:a.utm))return!0;var r=h_();if(r.utm_source){var l,c,f,h,g,m,y,b,x=(l=n.conditions)==null||(l=l.utm)==null||!l.utm_campaign||((c=n.conditions)==null||(c=c.utm)==null?void 0:c.utm_campaign)==r.utm_campaign,C=(f=n.conditions)==null||(f=f.utm)==null||!f.utm_source||((h=n.conditions)==null||(h=h.utm)==null?void 0:h.utm_source)==r.utm_source,E=(g=n.conditions)==null||(g=g.utm)==null||!g.utm_medium||((m=n.conditions)==null||(m=m.utm)==null?void 0:m.utm_medium)==r.utm_medium,k=(y=n.conditions)==null||(y=y.utm)==null||!y.utm_term||((b=n.conditions)==null||(b=b.utm)==null?void 0:b.utm_term)==r.utm_term;return x&&E&&k&&C}return!1}static kr(n){for(var a=arguments.length,r=new Array(a>1?a-1:0),l=1;l<a;l++)r[l-1]=arguments[l];W.info("[WebExperiments] "+n,r)}Tr(n,a,r){this._is_bot()?Et.kr("Refusing to render web experiment since the viewer is a likely bot"):a!=="control"?r.forEach((l=>{if(l.selector){var c;Et.kr("applying transform of variant "+a+" for experiment "+n+" ",l);var f=(c=document)==null?void 0:c.querySelectorAll(l.selector);f?.forEach((h=>{var g=h;l.html&&(g.innerHTML=l.html),l.css&&g.setAttribute("style",l.css)}))}})):Et.kr("Control variants leave the page unmodified.")}_is_bot(){return an&&this._instance?N_(an,this._instance.config.custom_blocked_useragents):void 0}}var $1=at("[PostHog ExternalIntegrations]"),V1={intercom:"intercom-integration",crispChat:"crisp-chat-integration"};class G1{constructor(n){this._instance=n}it(n,a){var r;(r=ce.__PosthogExtensions__)==null||r.loadExternalDependency==null||r.loadExternalDependency(this._instance,n,(l=>{if(l)return $1.error("failed to load script",l);a()}))}startIfEnabledOrStop(){var n=this,a=function(f){var h,g,m;!l||(h=ce.__PosthogExtensions__)!=null&&(h=h.integrations)!=null&&h[f]||n.it(V1[f],(()=>{var y;(y=ce.__PosthogExtensions__)==null||(y=y.integrations)==null||(y=y[f])==null||y.start(n._instance)})),!l&&(g=ce.__PosthogExtensions__)!=null&&(g=g.integrations)!=null&&g[f]&&((m=ce.__PosthogExtensions__)==null||(m=m.integrations)==null||(m=m[f])==null||m.stop())};for(var[r,l]of Object.entries((c=this._instance.config.integrations)!==null&&c!==void 0?c:{})){var c;a(r)}}}var Qf="[SessionRecording]",Ur=at(Qf);class Jy{get started(){var n;return!((n=this.Mr)==null||!n.isStarted)}get status(){return this.Mr?this.Mr.status:this.Or&&!this.Ar?"disabled":"lazy_loading"}constructor(n){if(this._forceAllowLocalhostNetworkCapture=!1,this.Or=!1,this.Dr=void 0,this._instance=n,!this._instance.sessionManager)throw Ur.error("started without valid sessionManager"),new Error(Qf+" started without valid sessionManager. This is a bug.");if(this._instance.config.cookieless_mode==="always")throw new Error(Qf+' cannot be used with cookieless_mode="always"')}get Ar(){var n,a=!((n=this._instance.get_property(Zd))==null||!n.enabled),r=!this._instance.config.disable_session_recording,l=this._instance.config.disable_session_recording||this._instance.consent.isOptedOut();return U&&a&&r&&!l}startIfEnabledOrStop(n){var a;if(!this.Ar||(a=this.Mr)==null||!a.isStarted){var r=!X(Object.assign)&&!X(Array.from);this.Ar&&r?(this.jr(n),Ur.info("starting")):this.stopRecording()}}jr(n){var a,r,l;this.Ar&&(ce!=null&&(a=ce.__PosthogExtensions__)!=null&&(a=a.rrweb)!=null&&a.record&&(r=ce.__PosthogExtensions__)!=null&&r.initSessionRecording?this.Lr(n):(l=ce.__PosthogExtensions__)==null||l.loadExternalDependency==null||l.loadExternalDependency(this._instance,this.Nr,(c=>{if(c)return Ur.error("could not load recorder",c);this.Lr(n)})))}stopRecording(){var n,a;(n=this.Dr)==null||n.call(this),this.Dr=void 0,(a=this.Mr)==null||a.stop()}Ur(){var n;(n=this._instance.persistence)==null||n.unregister(K0)}zr(n){if(this._instance.persistence){var a,r,l=this._instance.persistence,c=()=>{var f=n.sessionRecording===!1?void 0:n.sessionRecording,h=f?.sampleRate,g=Re(h)?null:parseFloat(h);Re(g)&&this.Ur();var m=f?.minimumDurationMilliseconds;l.register({[Zd]:ee({enabled:!!f},f,{networkPayloadCapture:ee({capturePerformance:n.capturePerformance},f?.networkPayloadCapture),canvasRecording:{enabled:f?.recordCanvas,fps:f?.canvasFps,quality:f?.canvasQuality},sampleRate:g,minimumDurationMilliseconds:X(m)?null:m,endpoint:f?.endpoint,triggerMatchType:f?.triggerMatchType,masking:f?.masking,urlTriggers:f?.urlTriggers})})};c(),(a=this.Dr)==null||a.call(this),this.Dr=(r=this._instance.sessionManager)==null?void 0:r.onSessionId(c)}}onRemoteConfig(n){"sessionRecording"in n?n.sessionRecording!==!1?(this.zr(n),this.Or=!0,this.startIfEnabledOrStop()):this.Or=!0:Ur.info("skipping remote config with no sessionRecording",n)}log(n,a){var r;a===void 0&&(a="log"),(r=this.Mr)!=null&&r.log?this.Mr.log(n,a):Ur.warn("log called before recorder was ready")}get Nr(){var n,a,r=(n=this._instance)==null||(n=n.persistence)==null?void 0:n.get_property(Zd);return(r==null||(a=r.scriptConfig)==null?void 0:a.script)||"lazy-recorder"}Lr(n){var a,r;if((a=ce.__PosthogExtensions__)==null||!a.initSessionRecording)throw Error("Called on script loaded before session recording is available");this.Mr||(this.Mr=(r=ce.__PosthogExtensions__)==null?void 0:r.initSessionRecording(this._instance),this.Mr._forceAllowLocalhostNetworkCapture=this._forceAllowLocalhostNetworkCapture),this.Mr.start(n)}onRRwebEmit(n){var a;(a=this.Mr)==null||a.onRRwebEmit==null||a.onRRwebEmit(n)}overrideLinkedFlag(){var n,a;this.Mr||(a=this._instance.persistence)==null||a.register({$replay_override_linked_flag:!0}),(n=this.Mr)==null||n.overrideLinkedFlag()}overrideSampling(){var n,a;this.Mr||(a=this._instance.persistence)==null||a.register({$replay_override_sampling:!0}),(n=this.Mr)==null||n.overrideSampling()}overrideTrigger(n){var a,r;this.Mr||(r=this._instance.persistence)==null||r.register({[n==="url"?"$replay_override_url_trigger":"$replay_override_event_trigger"]:!0}),(a=this.Mr)==null||a.overrideTrigger(n)}get sdkDebugProperties(){var n;return((n=this.Mr)==null?void 0:n.sdkDebugProperties)||{$recording_status:this.status}}tryAddCustomEvent(n,a){var r;return!((r=this.Mr)==null||!r.tryAddCustomEvent(n,a))}}var Qr={},Zf=()=>{},bs="posthog",M_=!v1&&Ht?.indexOf("MSIE")===-1&&Ht?.indexOf("Mozilla")===-1,eb=s=>{var n;return ee({api_host:"https://us.i.posthog.com",flags_api_host:null,ui_host:null,token:"",autocapture:!0,cross_subdomain_cookie:xE(J?.location),persistence:"localStorage+cookie",persistence_name:"",cookie_persisted_properties:[],loaded:Zf,save_campaign_params:!0,custom_campaign_params:[],custom_blocked_useragents:[],save_referrer:!0,capture_pageleave:"if_capture_pageview",defaults:s??"unset",__preview_deferred_init_extensions:!1,debug:qt&&mt(qt?.search)&&qt.search.indexOf("__posthog_debug=true")!==-1||!1,cookie_expiration:365,upgrade:!1,disable_session_recording:!1,disable_persistence:!1,disable_web_experiments:!0,disable_surveys:!1,disable_surveys_automatic_display:!1,disable_conversations:!1,disable_product_tours:!0,disable_external_dependency_loading:!1,enable_recording_console_log:void 0,secure_cookie:(U==null||(n=U.location)==null?void 0:n.protocol)==="https:",ip:!1,opt_out_capturing_by_default:!1,opt_out_persistence_by_default:!1,opt_out_useragent_filter:!1,opt_out_capturing_persistence_type:"localStorage",consent_persistence_name:null,opt_out_capturing_cookie_prefix:null,opt_in_site_apps:!1,property_denylist:[],respect_dnt:!1,sanitize_properties:null,request_headers:{},request_batching:!0,properties_string_max_length:65535,mask_all_element_attributes:!1,mask_all_text:!1,mask_personal_data_properties:!1,custom_personal_data_properties:[],advanced_disable_flags:!1,advanced_disable_decide:!1,advanced_disable_feature_flags:!1,advanced_disable_feature_flags_on_first_load:!1,advanced_only_evaluate_survey_feature_flags:!1,advanced_enable_surveys:!1,advanced_disable_toolbar_metrics:!1,feature_flag_request_timeout_ms:3e3,surveys_request_timeout_ms:1e4,on_request_error:a=>{var r="Bad HTTP status: "+a.statusCode+" "+a.text;W.error(r)},get_device_id:a=>a,capture_performance:void 0,name:"posthog",bootstrap:{},disable_compression:!1,session_idle_timeout_seconds:1800,person_profiles:"identified_only",before_send:void 0,request_queue_config:{flush_interval_ms:Xf},error_tracking:{},_onCapture:Zf,__preview_eager_load_replay:!1},(a=>({rageclick:!(a&&a>="2025-11-30")||{content_ignorelist:!0},capture_pageview:!(a&&a>="2025-05-24")||"history_change",session_recording:a&&a>="2025-11-30"?{strictMinimumDuration:!0}:{}}))(s))},tb=s=>{var n={};X(s.process_person)||(n.person_profiles=s.process_person),X(s.xhr_headers)||(n.request_headers=s.xhr_headers),X(s.cookie_name)||(n.persistence_name=s.cookie_name),X(s.disable_cookie)||(n.disable_persistence=s.disable_cookie),X(s.store_google)||(n.save_campaign_params=s.store_google),X(s.verbose)||(n.debug=s.verbose);var a=rt({},n,s);return Le(s.property_blacklist)&&(X(s.property_denylist)?a.property_denylist=s.property_blacklist:Le(s.property_denylist)?a.property_denylist=[...s.property_blacklist,...s.property_denylist]:W.error("Invalid value for property_denylist config: "+s.property_denylist)),a};class Y1{constructor(){this.__forceAllowLocalhost=!1}get Hr(){return this.__forceAllowLocalhost}set Hr(n){W.error("WebPerformanceObserver is deprecated and has no impact on network capture. Use `_forceAllowLocalhostNetworkCapture` on `posthog.sessionRecording`"),this.__forceAllowLocalhost=n}}class xc{get decideEndpointWasHit(){var n,a;return(n=(a=this.featureFlags)==null?void 0:a.hasLoadedFlags)!==null&&n!==void 0&&n}get flagsEndpointWasHit(){var n,a;return(n=(a=this.featureFlags)==null?void 0:a.hasLoadedFlags)!==null&&n!==void 0&&n}constructor(){this.webPerformance=new Y1,this.Br=!1,this.version=oa.LIB_VERSION,this.qr=new Ah,this._calculate_event_properties=this.calculateEventProperties.bind(this),this.config=eb(),this.SentryIntegration=ZE,this.sentryIntegration=n=>(function(a,r){var l=f_(a,r);return{name:d_,processEvent:c=>l(c)}})(this,n),this.__request_queue=[],this.__loaded=!1,this.analyticsDefaultEndpoint="/e/",this.Wr=!1,this.Gr=null,this.Vr=null,this.Jr=null,this.featureFlags=new S1(this),this.toolbar=new JE(this),this.scrollManager=new z1(this),this.pageViewManager=new Ly(this),this.surveys=new M1(this),this.conversations=new j1(this),this.logs=new R1(this),this.experiments=new Et(this),this.exceptions=new y1(this),this.rateLimiter=new D1(this),this.requestRouter=new q1(this),this.consent=new VE(this),this.externalIntegrations=new G1(this),this.people={set:(n,a,r)=>{var l=mt(n)?{[n]:a}:n;this.setPersonProperties(l),r?.({})},set_once:(n,a,r)=>{var l=mt(n)?{[n]:a}:n;this.setPersonProperties(void 0,l),r?.({})}},this.on("eventCaptured",(n=>W.info('send "'+n?.event+'"',n)))}init(n,a,r){if(r&&r!==bs){var l,c=(l=Qr[r])!==null&&l!==void 0?l:new xc;return c._init(n,a,r),Qr[r]=c,Qr[bs][r]=c,c}return this._init(n,a,r)}_init(n,a,r){var l;if(a===void 0&&(a={}),X(n)||jf(n))return W.critical("PostHog was initialized without a token. This likely indicates a misconfiguration. Please check the first argument passed to posthog.init()"),this;if(this.__loaded)return console.warn("[PostHog.js]","You have already initialized PostHog! Re-initializing is a no-op"),this;this.__loaded=!0,this.config={},a.debug=this.Kr(a.debug),this.Yr=a,this.Xr=[],a.person_profiles&&(this.Vr=a.person_profiles),this.set_config(rt({},eb(a.defaults),tb(a),{name:r,token:n})),this.config.on_xhr_error&&W.error("on_xhr_error is deprecated. Use on_request_error instead"),this.compression=a.disable_compression?void 0:ua.GZipJS;var c=this.Qr();this.persistence=new lf(this.config,c),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new lf(ee({},this.config,{persistence:"sessionStorage"}),c);var f=ee({},this.persistence.props),h=ee({},this.sessionPersistence.props);this.register({$initialization_time:new Date().toISOString()}),this.Zr=new O1((j=>this.ts(j)),this.config.request_queue_config),this.es=new F1(this),this.__request_queue=[];var g=this.config.cookieless_mode==="always"||this.config.cookieless_mode==="on_reject"&&this.consent.isExplicitlyOptedOut();if(g||(this.sessionManager=new Zy(this),this.sessionPropsManager=new Qy(this,this.sessionManager,this.persistence)),this.config.__preview_deferred_init_extensions?(W.info("Deferring extension initialization to improve startup performance"),setTimeout((()=>{this.rs(g)}),0)):(W.info("Initializing extensions synchronously"),this.rs(g)),oa.DEBUG=oa.DEBUG||this.config.debug,oa.DEBUG&&W.info("Starting in debug mode",{this:this,config:a,thisC:ee({},this.config),p:f,s:h}),((l=a.bootstrap)==null?void 0:l.distinctID)!==void 0){var m,y,b=this.config.get_device_id(Ya()),x=(m=a.bootstrap)!=null&&m.isIdentifiedID?b:a.bootstrap.distinctID;this.persistence.set_property(la,(y=a.bootstrap)!=null&&y.isIdentifiedID?"identified":"anonymous"),this.register({distinct_id:a.bootstrap.distinctID,$device_id:x})}if(this.ss()){var C,E,k=Object.keys(((C=a.bootstrap)==null?void 0:C.featureFlags)||{}).filter((j=>{var D;return!((D=a.bootstrap)==null||(D=D.featureFlags)==null||!D[j])})).reduce(((j,D)=>{var q;return j[D]=((q=a.bootstrap)==null||(q=q.featureFlags)==null?void 0:q[D])||!1,j}),{}),A=Object.keys(((E=a.bootstrap)==null?void 0:E.featureFlagPayloads)||{}).filter((j=>k[j])).reduce(((j,D)=>{var q,B;return(q=a.bootstrap)!=null&&(q=q.featureFlagPayloads)!=null&&q[D]&&(j[D]=(B=a.bootstrap)==null||(B=B.featureFlagPayloads)==null?void 0:B[D]),j}),{});this.featureFlags.receivedFeatureFlags({featureFlags:k,featureFlagPayloads:A})}if(g)this.register_once({distinct_id:jr,$device_id:null},"");else if(!this.get_distinct_id()){var M=this.config.get_device_id(Ya());this.register_once({distinct_id:M,$device_id:M},""),this.persistence.set_property(la,"anonymous")}return dt(U,"onpagehide"in self?"pagehide":"unload",this._handle_unload.bind(this),{passive:!1}),this.toolbar.maybeLoadToolbar(),a.segment?QE(this,(()=>this.ns())):this.ns(),Ka(this.config._onCapture)&&this.config._onCapture!==Zf&&(W.warn("onCapture is deprecated. Please use `before_send` instead"),this.on("eventCaptured",(j=>this.config._onCapture(j.event,j)))),this.config.ip&&W.warn('The `ip` config option has NO EFFECT AT ALL and has been deprecated. Use a custom transformation or "Discard IP data" project setting instead. See https://posthog.com/tutorials/web-redact-properties#hiding-customer-ip-address for more information.'),this}rs(n){var a=performance.now();this.historyAutocapture=new XE(this),this.historyAutocapture.startIfEnabled();var r=[];r.push((()=>{new t1(this).startIfEnabledOrStop()})),r.push((()=>{var l;this.siteApps=new H1(this),(l=this.siteApps)==null||l.init()})),n||r.push((()=>{this.sessionRecording=new Jy(this),this.sessionRecording.startIfEnabledOrStop()})),this.config.disable_scroll_properties||r.push((()=>{this.scrollManager.startMeasuringScrollPosition()})),r.push((()=>{this.autocapture=new FE(this),this.autocapture.startIfEnabled()})),r.push((()=>{this.surveys.loadIfEnabled()})),r.push((()=>{this.logs.loadIfEnabled()})),r.push((()=>{this.conversations.loadIfEnabled()})),r.push((()=>{this.productTours=new w1(this),this.productTours.loadIfEnabled()})),r.push((()=>{this.heatmaps=new l1(this),this.heatmaps.startIfEnabled()})),r.push((()=>{this.webVitalsAutocapture=new r1(this)})),r.push((()=>{this.exceptionObserver=new KE(this),this.exceptionObserver.startIfEnabledOrStop()})),r.push((()=>{this.deadClicksAutocapture=new u_(this,YE),this.deadClicksAutocapture.startIfEnabled()})),r.push((()=>{if(this.os){var l=this.os;this.os=void 0,this.yi(l)}})),this.ls(r,a)}ls(n,a){for(;n.length>0;){if(this.config.__preview_deferred_init_extensions&&performance.now()-a>=30&&n.length>0)return void setTimeout((()=>{this.ls(n,a)}),0);var r=n.shift();if(r)try{r()}catch(c){W.error("Error initializing extension:",c)}}var l=Math.round(performance.now()-a);this.register_for_session({$sdk_debug_extensions_init_method:this.config.__preview_deferred_init_extensions?"deferred":"synchronous",$sdk_debug_extensions_init_time_ms:l}),this.config.__preview_deferred_init_extensions&&W.info("PostHog extensions initialized ("+l+"ms)")}yi(n){var a,r,l,c,f,h,g,m,y;if(!J||!J.body)return W.info("document not ready yet, trying again in 500 milliseconds..."),void setTimeout((()=>{this.yi(n)}),500);this.config.__preview_deferred_init_extensions&&(this.os=n),this.compression=void 0,n.supportedCompression&&!this.config.disable_compression&&(this.compression=ke(n.supportedCompression,ua.GZipJS)?ua.GZipJS:ke(n.supportedCompression,ua.Base64)?ua.Base64:void 0),(a=n.analytics)!=null&&a.endpoint&&(this.analyticsDefaultEndpoint=n.analytics.endpoint),this.set_config({person_profiles:this.Vr?this.Vr:"identified_only"}),(r=this.siteApps)==null||r.onRemoteConfig(n),(l=this.sessionRecording)==null||l.onRemoteConfig(n),(c=this.autocapture)==null||c.onRemoteConfig(n),(f=this.heatmaps)==null||f.onRemoteConfig(n),this.surveys.onRemoteConfig(n),this.logs.onRemoteConfig(n),this.conversations.onRemoteConfig(n),(h=this.productTours)==null||h.onRemoteConfig(n),(g=this.webVitalsAutocapture)==null||g.onRemoteConfig(n),(m=this.exceptionObserver)==null||m.onRemoteConfig(n),this.exceptions.onRemoteConfig(n),(y=this.deadClicksAutocapture)==null||y.onRemoteConfig(n)}ns(){try{this.config.loaded(this)}catch(n){W.critical("`loaded` function failed",n)}this.us(),this.config.capture_pageview&&setTimeout((()=>{(this.consent.isOptedIn()||this.config.cookieless_mode==="always")&&this.hs()}),1),new P1(this).load(),this.featureFlags.flags()}us(){var n;this.is_capturing()&&this.config.request_batching&&((n=this.Zr)==null||n.enable())}_dom_loaded(){this.is_capturing()&&Xa(this.__request_queue,(n=>this.ts(n))),this.__request_queue=[],this.us()}_handle_unload(){var n,a;this.surveys.handlePageUnload(),this.config.request_batching?(this.ds()&&this.capture("$pageleave"),(n=this.Zr)==null||n.unload(),(a=this.es)==null||a.unload()):this.ds()&&this.capture("$pageleave",null,{transport:"sendBeacon"})}_send_request(n){this.__loaded&&(M_?this.__request_queue.push(n):this.rateLimiter.isServerRateLimited(n.batchKey)||(n.transport=n.transport||this.config.api_transport,n.url=dc(n.url,{ip:this.config.ip?1:0}),n.headers=ee({},this.config.request_headers,n.headers),n.compression=n.compression==="best-available"?this.compression:n.compression,n.disableXHRCredentials=this.config.__preview_disable_xhr_credentials,this.config.__preview_disable_beacon&&(n.disableTransport=["sendBeacon"]),n.fetchOptions=n.fetchOptions||this.config.fetch_options,(a=>{var r,l,c,f=ee({},a);f.timeout=f.timeout||6e4,f.url=dc(f.url,{_:new Date().getTime().toString(),ver:oa.LIB_VERSION,compression:f.compression});var h=(r=f.transport)!==null&&r!==void 0?r:"fetch",g=Kl.filter((y=>!f.disableTransport||!y.transport||!f.disableTransport.includes(y.transport))),m=(l=(c=V0(g,(y=>y.transport===h)))==null?void 0:c.method)!==null&&l!==void 0?l:g[0].method;if(!m)throw new Error("No available transport method");m(f)})(ee({},n,{callback:a=>{var r,l;this.rateLimiter.checkForLimiting(a),a.statusCode>=400&&((r=(l=this.config).on_request_error)==null||r.call(l,a)),n.callback==null||n.callback(a)}}))))}ts(n){this.es?this.es.retriableRequest(n):this._send_request(n)}_execute_array(n){var a,r=[],l=[],c=[];Xa(n,(h=>{h&&(a=h[0],Le(a)?c.push(h):Ka(h)?h.call(this):Le(h)&&a==="alias"?r.push(h):Le(h)&&a.indexOf("capture")!==-1&&Ka(this[a])?c.push(h):l.push(h))}));var f=function(h,g){Xa(h,(function(m){if(Le(m[0])){var y=g;Ve(m,(function(b){y=y[b[0]].apply(y,b.slice(1))}))}else this[m[0]].apply(this,m.slice(1))}),g)};f(r,this),f(l,this),f(c,this)}ss(){var n,a;return((n=this.config.bootstrap)==null?void 0:n.featureFlags)&&Object.keys((a=this.config.bootstrap)==null?void 0:a.featureFlags).length>0||!1}push(n){this._execute_array([n])}capture(n,a,r){var l;if(this.__loaded&&this.persistence&&this.sessionPersistence&&this.Zr){if(this.is_capturing())if(!X(n)&&mt(n)){var c=!this.config.opt_out_useragent_filter&&this._is_bot();if(!(c&&!this.config.__preview_capture_bot_pageviews)){var f=r!=null&&r.skip_client_rate_limiting?void 0:this.rateLimiter.clientRateLimitContext();if(f==null||!f.isRateLimited){a!=null&&a.$current_url&&!mt(a?.$current_url)&&(W.error("Invalid `$current_url` property provided to `posthog.capture`. Input must be a string. Ignoring provided value."),a==null||delete a.$current_url),this.sessionPersistence.update_search_keyword(),this.config.save_campaign_params&&this.sessionPersistence.update_campaign_params(),this.config.save_referrer&&this.sessionPersistence.update_referrer_info(),(this.config.save_campaign_params||this.config.save_referrer)&&this.persistence.set_initial_person_info();var h=new Date,g=r?.timestamp||h,m=Ya(),y={uuid:m,event:n,properties:this.calculateEventProperties(n,a||{},g,m)};n==="$pageview"&&this.config.__preview_capture_bot_pageviews&&c&&(y.event="$bot_pageview",y.properties.$browser_type="bot"),f&&(y.properties.$lib_rate_limit_remaining_tokens=f.remainingTokens),r?.$set&&(y.$set=r?.$set);var b,x=n!=="$groupidentify",C=this.vs(r?.$set_once,x);if(C&&(y.$set_once=C),(y=_E(y,r!=null&&r._noTruncate?null:this.config.properties_string_max_length)).timestamp=g,X(r?.timestamp)||(y.properties.$event_time_override_provided=!0,y.properties.$event_time_override_system_time=h),n===Gr.DISMISSED||n===Gr.SENT){var E=a?.[df.SURVEY_ID],k=a?.[df.SURVEY_ITERATION];b={id:E,current_iteration:k},localStorage.getItem(Ky(b))||localStorage.setItem(Ky(b),"true"),y.$set=ee({},y.$set,{[C1({id:E,current_iteration:k},n===Gr.SENT?"responded":"dismissed")]:!0})}else n===Gr.SHOWN&&(y.$set=ee({},y.$set,{[df.SURVEY_LAST_SEEN_DATE]:new Date().toISOString()}));var A=ee({},y.properties.$set,y.$set);if(Ss(A)||this.setPersonPropertiesForFlags(A),!Re(this.config.before_send)){var M=this.cs(y);if(!M)return;y=M}this.qr.emit("eventCaptured",y);var j={method:"POST",url:(l=r?._url)!==null&&l!==void 0?l:this.requestRouter.endpointFor("api",this.analyticsDefaultEndpoint),data:y,compression:"best-available",batchKey:r?._batchKey};return!this.config.request_batching||r&&(r==null||!r._batchKey)||r!=null&&r.send_instantly?this.ts(j):this.Zr.enqueue(j),y}W.critical("This capture call is ignored due to client rate limiting.")}}else W.error("No event name provided to posthog.capture")}else W.uninitializedWarning("posthog.capture")}Hi(n){return this.on("eventCaptured",(a=>n(a.event,a)))}calculateEventProperties(n,a,r,l,c){if(r=r||new Date,!this.persistence||!this.sessionPersistence)return a;var f=c?void 0:this.persistence.remove_event_timer(n),h=ee({},a);if(h.token=this.config.token,h.$config_defaults=this.config.defaults,(this.config.cookieless_mode=="always"||this.config.cookieless_mode=="on_reject"&&this.consent.isExplicitlyOptedOut())&&(h.$cookieless_mode=!0),n==="$snapshot"){var g=ee({},this.persistence.properties(),this.sessionPersistence.properties());return h.distinct_id=g.distinct_id,(!mt(h.distinct_id)&&!ma(h.distinct_id)||jf(h.distinct_id))&&W.error("Invalid distinct_id for replay event. This indicates a bug in your implementation"),h}var m,y=s1(this.config.mask_personal_data_properties,this.config.custom_personal_data_properties);if(this.sessionManager){var{sessionId:b,windowId:x}=this.sessionManager.checkAndGetSessionAndWindowId(c,r.getTime());h.$session_id=b,h.$window_id=x}this.sessionPropsManager&&rt(h,this.sessionPropsManager.getSessionProps());try{var C;this.sessionRecording&&rt(h,this.sessionRecording.sdkDebugProperties),h.$sdk_debug_retry_queue_size=(C=this.es)==null?void 0:C.length}catch(M){h.$sdk_debug_error_capturing_properties=String(M)}if(this.requestRouter.region===Yr.CUSTOM&&(h.$lib_custom_api_host=this.config.api_host),m=n!=="$pageview"||c?n!=="$pageleave"||c?this.pageViewManager.doEvent():this.pageViewManager.doPageLeave(r):this.pageViewManager.doPageView(r,l),h=rt(h,m),n==="$pageview"&&J&&(h.title=J.title),!X(f)){var E=r.getTime()-f;h.$duration=parseFloat((E/1e3).toFixed(3))}Ht&&this.config.opt_out_useragent_filter&&(h.$browser_type=this._is_bot()?"bot":"browser"),(h=rt({},y,this.persistence.properties(),this.sessionPersistence.properties(),h)).$is_identified=this._isIdentified(),Le(this.config.property_denylist)?Ve(this.config.property_denylist,(function(M){delete h[M]})):W.error("Invalid value for property_denylist config: "+this.config.property_denylist+" or property_blacklist config: "+this.config.property_blacklist);var k=this.config.sanitize_properties;k&&(W.error("sanitize_properties is deprecated. Use before_send instead"),h=k(h,n));var A=this.fs();return h.$process_person_profile=A,A&&!c&&this.ps("_calculate_event_properties"),h}vs(n,a){var r;if(a===void 0&&(a=!0),!this.persistence||!this.fs()||this.Br)return n;var l=this.persistence.get_initial_props(),c=(r=this.sessionPropsManager)==null?void 0:r.getSetOnceProps(),f=rt({},l,c||{},n||{}),h=this.config.sanitize_properties;return h&&(W.error("sanitize_properties is deprecated. Use before_send instead"),f=h(f,"$set_once")),a&&(this.Br=!0),Ss(f)?void 0:f}register(n,a){var r;(r=this.persistence)==null||r.register(n,a)}register_once(n,a,r){var l;(l=this.persistence)==null||l.register_once(n,a,r)}register_for_session(n){var a;(a=this.sessionPersistence)==null||a.register(n)}unregister(n){var a;(a=this.persistence)==null||a.unregister(n)}unregister_for_session(n){var a;(a=this.sessionPersistence)==null||a.unregister(n)}gs(n,a){this.register({[n]:a})}getFeatureFlag(n,a){return this.featureFlags.getFeatureFlag(n,a)}getFeatureFlagPayload(n){var a=this.featureFlags.getFeatureFlagPayload(n);try{return JSON.parse(a)}catch{return a}}isFeatureEnabled(n,a){return this.featureFlags.isFeatureEnabled(n,a)}reloadFeatureFlags(){this.featureFlags.reloadFeatureFlags()}updateFlags(n,a,r){var l=r!=null&&r.merge?this.featureFlags.getFlagVariants():{},c=r!=null&&r.merge?this.featureFlags.getFlagPayloads():{},f=ee({},l,n),h=ee({},c,a),g={};for(var[m,y]of Object.entries(f)){var b=typeof y=="string";g[m]={key:m,enabled:!!b||!!y,variant:b?y:void 0,reason:void 0,metadata:X(h?.[m])?void 0:{id:0,version:void 0,description:void 0,payload:h[m]}}}this.featureFlags.receivedFeatureFlags({flags:g})}updateEarlyAccessFeatureEnrollment(n,a,r){this.featureFlags.updateEarlyAccessFeatureEnrollment(n,a,r)}getEarlyAccessFeatures(n,a,r){return a===void 0&&(a=!1),this.featureFlags.getEarlyAccessFeatures(n,a,r)}on(n,a){return this.qr.on(n,a)}onFeatureFlags(n){return this.featureFlags.onFeatureFlags(n)}onSurveysLoaded(n){return this.surveys.onSurveysLoaded(n)}onSessionId(n){var a,r;return(a=(r=this.sessionManager)==null?void 0:r.onSessionId(n))!==null&&a!==void 0?a:()=>{}}getSurveys(n,a){a===void 0&&(a=!1),this.surveys.getSurveys(n,a)}getActiveMatchingSurveys(n,a){a===void 0&&(a=!1),this.surveys.getActiveMatchingSurveys(n,a)}renderSurvey(n,a){this.surveys.renderSurvey(n,a)}displaySurvey(n,a){a===void 0&&(a=A1),this.surveys.displaySurvey(n,a)}cancelPendingSurvey(n){this.surveys.cancelPendingSurvey(n)}canRenderSurvey(n){return this.surveys.canRenderSurvey(n)}canRenderSurveyAsync(n,a){return a===void 0&&(a=!1),this.surveys.canRenderSurveyAsync(n,a)}identify(n,a,r){if(!this.__loaded||!this.persistence)return W.uninitializedWarning("posthog.identify");if(ma(n)&&(n=n.toString(),W.warn("The first argument to posthog.identify was a number, but it should be a string. It has been converted to a string.")),n)if(["distinct_id","distinctid"].includes(n.toLowerCase()))W.critical('The string "'+n+'" was set in posthog.identify which indicates an error. This ID should be unique to the user and not a hardcoded string.');else if(n!==jr){if(this.ps("posthog.identify")){var l=this.get_distinct_id();if(this.register({$user_id:n}),!this.get_property("$device_id")){var c=l;this.register_once({$had_persisted_distinct_id:!0,$device_id:c},"")}n!==l&&n!==this.get_property(Hr)&&(this.unregister(Hr),this.register({distinct_id:n}));var f=(this.persistence.get_property(la)||"anonymous")==="anonymous";n!==l&&f?(this.persistence.set_property(la,"identified"),this.setPersonPropertiesForFlags(ee({},r||{},a||{}),!1),this.capture("$identify",{distinct_id:n,$anon_distinct_id:l},{$set:a||{},$set_once:r||{}}),this.Jr=qy(n,a,r),this.featureFlags.setAnonymousDistinctId(l)):(a||r)&&this.setPersonProperties(a,r),n!==l&&(this.reloadFeatureFlags(),this.unregister(nc))}}else W.critical('The string "'+jr+'" was set in posthog.identify which indicates an error. This ID is only used as a sentinel value.');else W.error("Unique user id has not been set in posthog.identify")}setPersonProperties(n,a){if((n||a)&&this.ps("posthog.setPersonProperties")){var r=qy(this.get_distinct_id(),n,a);this.Jr!==r?(this.setPersonPropertiesForFlags(ee({},a||{},n||{})),this.capture("$set",{$set:n||{},$set_once:a||{}}),this.Jr=r):W.info("A duplicate setPersonProperties call was made with the same properties. It has been ignored.")}}group(n,a,r){if(n&&a){var l=this.getGroups();l[n]!==a&&this.resetGroupPropertiesForFlags(n),this.register({$groups:ee({},l,{[n]:a})}),r&&(this.capture("$groupidentify",{$group_type:n,$group_key:a,$group_set:r}),this.setGroupPropertiesForFlags({[n]:r})),l[n]===a||r||this.reloadFeatureFlags()}else W.error("posthog.group requires a group type and group key")}resetGroups(){this.register({$groups:{}}),this.resetGroupPropertiesForFlags(),this.reloadFeatureFlags()}setPersonPropertiesForFlags(n,a){a===void 0&&(a=!0),this.featureFlags.setPersonPropertiesForFlags(n,a)}resetPersonPropertiesForFlags(){this.featureFlags.resetPersonPropertiesForFlags()}setGroupPropertiesForFlags(n,a){a===void 0&&(a=!0),this.ps("posthog.setGroupPropertiesForFlags")&&this.featureFlags.setGroupPropertiesForFlags(n,a)}resetGroupPropertiesForFlags(n){this.featureFlags.resetGroupPropertiesForFlags(n)}reset(n){var a,r,l,c;if(W.info("reset"),!this.__loaded)return W.uninitializedWarning("posthog.reset");var f=this.get_property("$device_id");if(this.consent.reset(),(a=this.persistence)==null||a.clear(),(r=this.sessionPersistence)==null||r.clear(),this.surveys.reset(),this.featureFlags.reset(),(l=this.persistence)==null||l.set_property(la,"anonymous"),(c=this.sessionManager)==null||c.resetSessionId(),this.Jr=null,this.config.cookieless_mode==="always")this.register_once({distinct_id:jr,$device_id:null},"");else{var h=this.config.get_device_id(Ya());this.register_once({distinct_id:h,$device_id:n?h:f},"")}this.register({$last_posthog_reset:new Date().toISOString()},1)}get_distinct_id(){return this.get_property("distinct_id")}getGroups(){return this.get_property("$groups")||{}}get_session_id(){var n,a;return(n=(a=this.sessionManager)==null?void 0:a.checkAndGetSessionAndWindowId(!0).sessionId)!==null&&n!==void 0?n:""}get_session_replay_url(n){if(!this.sessionManager)return"";var{sessionId:a,sessionStartTimestamp:r}=this.sessionManager.checkAndGetSessionAndWindowId(!0),l=this.requestRouter.endpointFor("ui","/project/"+this.config.token+"/replay/"+a);if(n!=null&&n.withTimestamp&&r){var c,f=(c=n.timestampLookBack)!==null&&c!==void 0?c:10;if(!r)return l;l+="?t="+Math.max(Math.floor((new Date().getTime()-r)/1e3)-f,0)}return l}alias(n,a){return n===this.get_property(G0)?(W.critical("Attempting to create alias for existing People user - aborting."),-2):this.ps("posthog.alias")?(X(a)&&(a=this.get_distinct_id()),n!==a?(this.gs(Hr,n),this.capture("$create_alias",{alias:n,distinct_id:a})):(W.warn("alias matches current distinct_id - skipping api call."),this.identify(n),-1)):void 0}set_config(n){var a=ee({},this.config);if(yt(n)){var r,l,c,f,h,g,m;rt(this.config,tb(n));var y=this.Qr();(r=this.persistence)==null||r.update_config(this.config,a,y),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new lf(ee({},this.config,{persistence:"sessionStorage"}),y);var b=this.Kr(this.config.debug);ha(b)&&(this.config.debug=b),ha(this.config.debug)&&(this.config.debug?(oa.DEBUG=!0,Je.H()&&Je.G("ph_debug","true"),W.info("set_config",{config:n,oldConfig:a,newConfig:ee({},this.config)})):(oa.DEBUG=!1,Je.H()&&Je.V("ph_debug"))),(l=this.exceptionObserver)==null||l.onConfigChange(),(c=this.sessionRecording)==null||c.startIfEnabledOrStop(),(f=this.autocapture)==null||f.startIfEnabled(),(h=this.heatmaps)==null||h.startIfEnabled(),(g=this.exceptionObserver)==null||g.startIfEnabledOrStop(),this.surveys.loadIfEnabled(),this._s(),(m=this.externalIntegrations)==null||m.startIfEnabledOrStop()}}startSessionRecording(n){var a=n===!0,r={sampling:a||!(n==null||!n.sampling),linked_flag:a||!(n==null||!n.linked_flag),url_trigger:a||!(n==null||!n.url_trigger),event_trigger:a||!(n==null||!n.event_trigger)};if(Object.values(r).some(Boolean)){var l,c,f,h,g;(l=this.sessionManager)==null||l.checkAndGetSessionAndWindowId(),r.sampling&&((c=this.sessionRecording)==null||c.overrideSampling()),r.linked_flag&&((f=this.sessionRecording)==null||f.overrideLinkedFlag()),r.url_trigger&&((h=this.sessionRecording)==null||h.overrideTrigger("url")),r.event_trigger&&((g=this.sessionRecording)==null||g.overrideTrigger("event"))}this.set_config({disable_session_recording:!1})}stopSessionRecording(){this.set_config({disable_session_recording:!0})}sessionRecordingStarted(){var n;return!((n=this.sessionRecording)==null||!n.started)}captureException(n,a){var r=new Error("PostHog syntheticException"),l=this.exceptions.buildProperties(n,{handled:!0,syntheticException:r});return this.exceptions.sendExceptionEvent(ee({},l,a))}startExceptionAutocapture(n){this.set_config({capture_exceptions:n==null||n})}stopExceptionAutocapture(){this.set_config({capture_exceptions:!1})}loadToolbar(n){return this.toolbar.loadToolbar(n)}get_property(n){var a;return(a=this.persistence)==null?void 0:a.props[n]}getSessionProperty(n){var a;return(a=this.sessionPersistence)==null?void 0:a.props[n]}toString(){var n,a=(n=this.config.name)!==null&&n!==void 0?n:bs;return a!==bs&&(a=bs+"."+a),a}_isIdentified(){var n,a;return((n=this.persistence)==null?void 0:n.get_property(la))==="identified"||((a=this.sessionPersistence)==null?void 0:a.get_property(la))==="identified"}fs(){var n,a;return!(this.config.person_profiles==="never"||this.config.person_profiles==="identified_only"&&!this._isIdentified()&&Ss(this.getGroups())&&((n=this.persistence)==null||(n=n.props)==null||!n[Hr])&&((a=this.persistence)==null||(a=a.props)==null||!a[ic]))}ds(){return this.config.capture_pageleave===!0||this.config.capture_pageleave==="if_capture_pageview"&&(this.config.capture_pageview===!0||this.config.capture_pageview==="history_change")}createPersonProfile(){this.fs()||this.ps("posthog.createPersonProfile")&&this.setPersonProperties({},{})}ps(n){return this.config.person_profiles==="never"?(W.error(n+' was called, but process_person is set to "never". This call will be ignored.'),!1):(this.gs(ic,!0),!0)}Qr(){if(this.config.cookieless_mode==="always")return!0;var n=this.consent.isOptedOut(),a=this.config.opt_out_persistence_by_default||this.config.cookieless_mode==="on_reject";return this.config.disable_persistence||n&&!!a}_s(){var n,a,r,l,c=this.Qr();return((n=this.persistence)==null?void 0:n.Si)!==c&&((r=this.persistence)==null||r.set_disabled(c)),((a=this.sessionPersistence)==null?void 0:a.Si)!==c&&((l=this.sessionPersistence)==null||l.set_disabled(c)),c}opt_in_capturing(n){var a;if(this.config.cookieless_mode!=="always"){var r,l,c;this.config.cookieless_mode==="on_reject"&&this.consent.isExplicitlyOptedOut()&&(this.reset(!0),(r=this.sessionManager)==null||r.destroy(),(l=this.pageViewManager)==null||l.destroy(),this.sessionManager=new Zy(this),this.pageViewManager=new Ly(this),this.persistence&&(this.sessionPropsManager=new Qy(this,this.sessionManager,this.persistence)),this.sessionRecording=new Jy(this),this.sessionRecording.startIfEnabledOrStop()),this.consent.optInOut(!0),this._s(),this.us(),(a=this.sessionRecording)==null||a.startIfEnabledOrStop(),this.config.cookieless_mode=="on_reject"&&this.surveys.loadIfEnabled(),(X(n?.captureEventName)||n!=null&&n.captureEventName)&&this.capture((c=n?.captureEventName)!==null&&c!==void 0?c:"$opt_in",n?.captureProperties,{send_instantly:!0}),this.config.capture_pageview&&this.hs()}else W.warn('Consent opt in/out is not valid with cookieless_mode="always" and will be ignored')}opt_out_capturing(){var n,a,r;this.config.cookieless_mode!=="always"?(this.config.cookieless_mode==="on_reject"&&this.consent.isOptedIn()&&this.reset(!0),this.consent.optInOut(!1),this._s(),this.config.cookieless_mode==="on_reject"&&(this.register({distinct_id:jr,$device_id:null}),(n=this.sessionManager)==null||n.destroy(),(a=this.pageViewManager)==null||a.destroy(),this.sessionManager=void 0,this.sessionPropsManager=void 0,(r=this.sessionRecording)==null||r.stopRecording(),this.sessionRecording=void 0,this.hs())):W.warn('Consent opt in/out is not valid with cookieless_mode="always" and will be ignored')}has_opted_in_capturing(){return this.consent.isOptedIn()}has_opted_out_capturing(){return this.consent.isOptedOut()}get_explicit_consent_status(){var n=this.consent.consent;return n===ca.GRANTED?"granted":n===ca.DENIED?"denied":"pending"}is_capturing(){return this.config.cookieless_mode==="always"||(this.config.cookieless_mode==="on_reject"?this.consent.isExplicitlyOptedOut()||this.consent.isOptedIn():!this.has_opted_out_capturing())}clear_opt_in_out_capturing(){this.consent.reset(),this._s()}_is_bot(){return an?N_(an,this.config.custom_blocked_useragents):void 0}hs(){J&&(J.visibilityState==="visible"?this.Wr||(this.Wr=!0,this.capture("$pageview",{title:J.title},{send_instantly:!0}),this.Gr&&(J.removeEventListener("visibilitychange",this.Gr),this.Gr=null)):this.Gr||(this.Gr=this.hs.bind(this),dt(J,"visibilitychange",this.Gr)))}debug(n){n===!1?(U?.console.log("You've disabled debug mode."),this.set_config({debug:!1})):(U?.console.log("You're now in debug mode. All calls to PostHog will be logged in your console.\nYou can disable this with `posthog.debug(false)`."),this.set_config({debug:!0}))}O(){var n,a,r,l,c,f,h,g=this.Yr||{};return"advanced_disable_flags"in g?!!g.advanced_disable_flags:this.config.advanced_disable_flags!==!1?!!this.config.advanced_disable_flags:this.config.advanced_disable_decide===!0?(W.warn("Config field 'advanced_disable_decide' is deprecated. Please use 'advanced_disable_flags' instead. The old field will be removed in a future major version."),!0):(r="advanced_disable_decide",l=!1,c=W,f=(a="advanced_disable_flags")in(n=g)&&!X(n[a]),h=r in n&&!X(n[r]),f?n[a]:h?(c&&c.warn("Config field '"+r+"' is deprecated. Please use '"+a+"' instead. The old field will be removed in a future major version."),n[r]):l)}cs(n){if(Re(this.config.before_send))return n;var a=Le(this.config.before_send)?this.config.before_send:[this.config.before_send],r=n;for(var l of a){if(r=l(r),Re(r)){var c="Event '"+n.event+"' was rejected in beforeSend function";return FT(n.event)?W.warn(c+". This can cause unexpected behavior."):W.info(c),null}r.properties&&!Ss(r.properties)||W.warn("Event '"+n.event+"' has no properties after beforeSend function, this is likely an error.")}return r}getPageViewId(){var n;return(n=this.pageViewManager.Kt)==null?void 0:n.pageViewId}captureTraceFeedback(n,a){this.capture("$ai_feedback",{$ai_trace_id:String(n),$ai_feedback_text:a})}captureTraceMetric(n,a,r){this.capture("$ai_metric",{$ai_trace_id:String(n),$ai_metric_name:a,$ai_metric_value:String(r)})}Kr(n){var a=ha(n)&&!n,r=Je.H()&&Je.q("ph_debug")==="true";return!a&&(!!r||n)}}(function(s,n){for(var a=0;a<n.length;a++)s.prototype[n[a]]=bE(s.prototype[n[a]])})(xc,["identify"]);var nb,hc=(nb=Qr[bs]=new xc,(function(){function s(){s.done||(s.done=!0,M_=!1,Ve(Qr,(function(n){n._dom_loaded()})))}J!=null&&J.addEventListener?J.readyState==="complete"?s():dt(J,"DOMContentLoaded",s,{capture:!1}):U&&W.error("Browser doesn't support `document.addEventListener` so PostHog couldn't be initialized")})(),nb);const K1="phc_5knpC9zvXXFaTJw4EMwrRBSYHIYW7b8ig6E14N8jYDp",X1="https://app.posthog.com",ab="0.3.4",j_="agentstudio_telemetry_enabled";function R_(){return localStorage.getItem(j_)!=="false"}function e3(s){localStorage.setItem(j_,s?"true":"false"),s?hc.opt_in_capturing():hc.opt_out_capturing()}function Wf(s,n){if(!R_())return;const a=r=>r.replace(/(?:\/[^\s:]+)+/g,"[PATH]").replace(/(?:[A-Za-z]:\\[^\s:]+)+/g,"[PATH]").replace(/[a-zA-Z0-9]{32,}/g,"[REDACTED]").substring(0,256);hc.capture("app_error",{message:a(s.message),errorType:s.name,component:n||"unknown"})}const Q1=({children:s})=>{const[n,a]=S.useState(!1);return S.useEffect(()=>(hc.init(K1,{api_host:X1,persistence:"localStorage",autocapture:!1,capture_pageview:!0,capture_pageleave:!0,disable_session_recording:!0,loaded:r=>{r.register({platform:"frontend",app_version:ab}),R_()||r.opt_out_capturing(),console.log("[Telemetry] PostHog initialized"),a(!0),r.capture("app_start",{platform:"frontend",app_version:ab})}}),()=>{}),[]),S.useEffect(()=>{if(!n)return;const r=c=>{Wf(c.error||new Error(c.message),"global")},l=c=>{const f=c.reason instanceof Error?c.reason:new Error(String(c.reason));Wf(f,"unhandledRejection")};return window.addEventListener("error",r),window.addEventListener("unhandledrejection",l),()=>{window.removeEventListener("error",r),window.removeEventListener("unhandledrejection",l)}},[n]),p.jsx(p.Fragment,{children:s})};class Z1 extends S.Component{constructor(n){super(n),this.state={hasError:!1,error:null}}static getDerivedStateFromError(n){return{hasError:!0,error:n}}componentDidCatch(n,a){Wf(n,a.componentStack?.split(`
87
+ `)[1]?.trim()||"unknown"),console.error("ErrorBoundary caught an error:",n,a)}handleReload=()=>{window.location.reload()};handleReset=()=>{this.setState({hasError:!1,error:null})};render(){return this.state.hasError?this.props.fallback?this.props.fallback:p.jsx("div",{className:"min-h-screen bg-gray-50 dark:bg-gray-900 flex items-center justify-center p-4",children:p.jsxs("div",{className:"max-w-md w-full bg-white dark:bg-gray-800 rounded-2xl shadow-xl p-8 text-center",children:[p.jsx("div",{className:"w-16 h-16 mx-auto bg-red-100 dark:bg-red-900/30 rounded-full flex items-center justify-center mb-6",children:p.jsx(Zr,{className:"w-8 h-8 text-red-600 dark:text-red-400"})}),p.jsx("h1",{className:"text-xl font-bold text-gray-900 dark:text-white mb-2",children:"Something went wrong"}),p.jsx("p",{className:"text-gray-600 dark:text-gray-400 mb-6",children:"An unexpected error occurred. Our team has been notified."}),this.state.error&&p.jsx("div",{className:"bg-gray-100 dark:bg-gray-700 rounded-lg p-4 mb-6 text-left",children:p.jsx("p",{className:"text-sm font-mono text-red-600 dark:text-red-400 break-all",children:this.state.error.message})}),p.jsxs("div",{className:"flex gap-3 justify-center",children:[p.jsx("button",{onClick:this.handleReset,className:"px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300 bg-gray-100 dark:bg-gray-700 rounded-lg hover:bg-gray-200 dark:hover:bg-gray-600 transition-colors",children:"Try Again"}),p.jsxs("button",{onClick:this.handleReload,className:"px-4 py-2 text-sm font-medium text-white bg-blue-600 rounded-lg hover:bg-blue-700 transition-colors flex items-center gap-2",children:[p.jsx(mf,{className:"w-4 h-4"}),"Reload Page"]})]})]})}):this.props.children}}const D_=S.createContext(null),W1={default:db,danger:Zr,warning:Zr,info:eC},J1={default:{icon:"text-blue-500",button:"bg-blue-600 hover:bg-blue-700 focus:ring-blue-500"},danger:{icon:"text-red-500",button:"bg-red-600 hover:bg-red-700 focus:ring-red-500"},warning:{icon:"text-yellow-500",button:"bg-yellow-600 hover:bg-yellow-700 focus:ring-yellow-500"},info:{icon:"text-blue-500",button:"bg-blue-600 hover:bg-blue-700 focus:ring-blue-500"}},eN=({children:s})=>{const[n,a]=S.useState({isOpen:!1,message:"",resolve:null}),r=S.useRef(null),l=S.useCallback(y=>new Promise(b=>{r.current=b,a({isOpen:!0,...y,resolve:b})}),[]),c=S.useCallback(()=>{r.current&&(r.current(!0),r.current=null),a(y=>({...y,isOpen:!1,resolve:null}))},[]),f=S.useCallback(()=>{r.current&&(r.current(!1),r.current=null),a(y=>({...y,isOpen:!1,resolve:null}))},[]),h=n.variant||"default",g=W1[h],m=J1[h];return p.jsxs(D_.Provider,{value:{confirm:l},children:[s,n.isOpen&&p.jsxs("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center p-4",role:"alertdialog","aria-modal":"true","aria-labelledby":"confirm-dialog-title","aria-describedby":"confirm-dialog-description","data-testid":"confirm-dialog",children:[p.jsx("div",{className:"absolute inset-0 bg-black/50 transition-opacity",onClick:f,"data-testid":"confirm-dialog-backdrop"}),p.jsxs("div",{className:"relative bg-white dark:bg-gray-800 rounded-lg shadow-xl max-w-md w-full mx-4 overflow-hidden transform transition-all","data-testid":"confirm-dialog-content",children:[p.jsxs("div",{className:"flex items-start p-6 pb-4",children:[p.jsx("div",{className:`flex-shrink-0 mr-4 ${m.icon}`,children:p.jsx(g,{size:24})}),p.jsxs("div",{className:"flex-1 min-w-0",children:[n.title&&p.jsx("h3",{id:"confirm-dialog-title",className:"text-lg font-semibold text-gray-900 dark:text-white mb-2",children:n.title}),p.jsx("p",{id:"confirm-dialog-description",className:"text-gray-600 dark:text-gray-300 whitespace-pre-line",children:n.message})]}),p.jsx("button",{onClick:f,className:"flex-shrink-0 ml-4 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200 transition-colors","data-testid":"confirm-dialog-close",children:p.jsx(Za,{size:20})})]}),p.jsxs("div",{className:"flex justify-end space-x-3 px-6 py-4 bg-gray-50 dark:bg-gray-900/50",children:[p.jsx("button",{onClick:f,className:"px-4 py-2 text-gray-700 dark:text-gray-300 bg-white dark:bg-gray-700 border border-gray-300 dark:border-gray-600 hover:bg-gray-50 dark:hover:bg-gray-600 rounded-lg transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2","data-testid":"confirm-dialog-cancel",children:n.cancelText||"取消"}),p.jsx("button",{onClick:c,className:`px-4 py-2 text-white rounded-lg transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 ${m.button}`,"data-testid":"confirm-dialog-confirm",autoFocus:!0,children:n.confirmText||"确认"})]})]})]})]})},t3=()=>{const s=S.useContext(D_);if(!s)throw new Error("useConfirm must be used within a ConfirmProvider");return s.confirm},tN=({url:s})=>(S.useEffect(()=>{window.location.href=s},[s]),p.jsx("div",{className:"flex items-center justify-center h-screen",children:"Redirecting..."})),nN=S.lazy(()=>Ge(()=>import("./DashboardPage-BowdW2Xj.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10])).then(s=>({default:s.DashboardPage}))),aN=S.lazy(()=>Ge(()=>import("./AgentsPage-CHee5mUh.js"),__vite__mapDeps([11,1,2,3,12,9,5,6,7,8,13,14,15,16])).then(s=>({default:s.AgentsPage}))),iN=S.lazy(()=>Ge(()=>import("./ProjectsPage-DYhCvH07.js"),__vite__mapDeps([17,1,2,3,5,6,7,8,18,9,14,12,19,20,15,21,4,22])).then(s=>({default:s.ProjectsPage}))),sN=S.lazy(()=>Ge(()=>import("./McpPage-Hu8vyMhX.js"),__vite__mapDeps([23,1,2,3,5,6,7,8,12])).then(s=>({default:s.McpPage}))),rN=S.lazy(()=>Ge(()=>import("./SettingsLayout-C_7jR0Te.js"),__vite__mapDeps([24,1,2,3,5,6,7,8])).then(s=>({default:s.SettingsLayout}))),ib=S.lazy(()=>Ge(()=>import("./GeneralSettingsPage-C6hJ_zTw.js"),__vite__mapDeps([25,1,2,3,6,7,5,8])).then(s=>({default:s.GeneralSettingsPage}))),oN=S.lazy(()=>Ge(()=>import("./VersionSettingsPage-DppWaX--.js"),__vite__mapDeps([26,1,2,3,22,5,6,7,8,14])).then(s=>({default:s.VersionSettingsPage}))),lN=S.lazy(()=>Ge(()=>import("./MemorySettingsPage-gIWSsrES.js"),__vite__mapDeps([27,1,2,3,5,6,7,8])).then(s=>({default:s.MemorySettingsPage}))),cN=S.lazy(()=>Ge(()=>import("./SubagentsPage-D66TBaeN.js"),__vite__mapDeps([28,1,2,3,12,21,5,6,7,8,15,18,16])).then(s=>({default:s.SubagentsPage}))),uN=S.lazy(()=>Ge(()=>import("./McpAdminSettingsPage-DuvsM5TX.js"),__vite__mapDeps([29,1,2,3,5,6,7,8])).then(s=>({default:s.McpAdminSettingsPage}))),dN=S.lazy(()=>Ge(()=>import("./TelemetrySettingsPage-Cp3vOu7X.js"),__vite__mapDeps([30,1,2,3,6,7,5,8])).then(s=>({default:s.TelemetrySettingsPage}))),fN=S.lazy(()=>Ge(()=>import("./SystemInfoPage-DXVUncTe.js"),__vite__mapDeps([31,1,2,3,6,7,5,8])).then(s=>({default:s.SystemInfoPage}))),hN=S.lazy(()=>Ge(()=>import("./WebSocketTunnelPage-BPeSTgEZ.js"),__vite__mapDeps([32,1,2,3,7,5,6,8])).then(s=>({default:s.WebSocketTunnelPage}))),pN=S.lazy(()=>Ge(()=>import("./VoiceSettingsPage-BWJLeedX.js"),__vite__mapDeps([33,1,2,3,5,6,7,8])).then(s=>({default:s.VoiceSettingsPage}))),mN=S.lazy(()=>Ge(()=>import("./CursorConfigPage-DQ-3b3ti.js"),__vite__mapDeps([34,1,2,3,5,6,7,8,35])).then(s=>({default:s.CursorConfigPage}))),gN=S.lazy(()=>Ge(()=>import("./RulesPage-C32P_Aqz.js"),__vite__mapDeps([36,1,2,3,5,6,7,8,12])).then(s=>({default:s.RulesPage}))),vN=S.lazy(()=>Ge(()=>import("./HooksPage-BwE2Zm3X.js"),__vite__mapDeps([37,1,2,3,5,6,7,8,12,35])).then(s=>({default:s.HooksPage}))),yN=S.lazy(()=>Ge(()=>import("./CommandsPage-B4rjtVWk.js"),__vite__mapDeps([38,1,2,3,12,19,5,6,7,8,20,15,18,16])).then(s=>({default:s.CommandsPage}))),bN=S.lazy(()=>Ge(()=>import("./SkillsPage-C-WS4N1Y.js"),__vite__mapDeps([39,1,2,3,12,5,6,7,8,15,40,41,16])).then(s=>({default:s.SkillsPage}))),_N=S.lazy(()=>Ge(()=>import("./PluginsPage-CuNui9NV.js"),__vite__mapDeps([42,1,2,3,5,6,7,8,40,41])).then(s=>({default:s.PluginsPage}))),SN=S.lazy(()=>Ge(()=>import("./ScheduledTasksPage-ixn5qoiD.js"),__vite__mapDeps([43,1,2,3,12,5,6,7,8,9,4,22])).then(s=>({default:s.ScheduledTasksPage}))),xN=S.lazy(()=>Ge(()=>import("./ChatPage-B7-rn9mH.js").then(s=>s.bC),__vite__mapDeps([44,1,2,3,5,6,7,8,9,10,19,22,41,15,14,13,45])).then(s=>({default:s.ChatPage}))),wN=S.lazy(()=>Ge(()=>import("./ModelsPage-Cosb3hHI.js"),__vite__mapDeps([46,1,2,3,5,6,7,8])).then(s=>({default:s.default}))),CN=S.lazy(()=>Ge(()=>import("./LandingPage-DKvwbGX1.js"),__vite__mapDeps([47,1,2,3,6,7,5,8])).then(s=>({default:s.default}))),kN=S.lazy(()=>Ge(()=>import("./LoginPage-BpZhqRAN.js"),__vite__mapDeps([48,1,2,3,7,6,5,8])).then(s=>({default:s.LoginPage}))),AN=S.lazy(()=>Ge(()=>import("./ToastTestPage-03up9yZR.js"),__vite__mapDeps([49,1,2,3,5,6,7,8])).then(s=>({default:s.ToastTestPage}))),TN=()=>p.jsx("div",{className:"flex items-center justify-center h-64",children:p.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-gray-900"})}),EN=new mw({defaultOptions:{queries:{refetchOnWindowFocus:!1,retry:1}}}),NN=()=>(S.useEffect(()=>{(()=>{const n=localStorage.getItem("theme")||"auto";if(n==="dark")document.documentElement.classList.add("dark");else if(n==="light")document.documentElement.classList.remove("dark");else{const a=window.matchMedia("(prefers-color-scheme: dark)");a.matches?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark");const r=l=>{localStorage.getItem("theme")==="auto"&&(l.matches?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark"))};return a.addEventListener("change",r),()=>a.removeEventListener("change",r)}})()},[]),p.jsx(wk,{basename:"/",children:p.jsx(S.Suspense,{fallback:p.jsx(TN,{}),children:p.jsxs(JC,{children:[p.jsx(Oe,{path:"/",element:p.jsx(CN,{})}),p.jsx(Oe,{path:"/login",element:p.jsx(kN,{})}),p.jsx(Oe,{path:"/chat/:agentId",element:p.jsx(It,{children:p.jsx(xN,{})})}),p.jsx(Oe,{path:"/dashboard",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(nN,{})})})}),p.jsx(Oe,{path:"/agents",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(aN,{})})})}),p.jsx(Oe,{path:"/projects",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(iN,{})})})}),p.jsx(Oe,{path:"/mcp",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(sN,{})})})}),p.jsx(Oe,{path:"/rules",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(gN,{})})})}),p.jsx(Oe,{path:"/hooks",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(vN,{})})})}),p.jsx(Oe,{path:"/skills",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(bN,{})})})}),p.jsx(Oe,{path:"/plugins",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(_N,{})})})}),p.jsx(Oe,{path:"/models",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(wN,{})})})}),p.jsx(Oe,{path:"/scheduled-tasks",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(SN,{})})})}),p.jsxs(Oe,{path:"/settings",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(rN,{})})}),children:[p.jsx(Oe,{index:!0,element:p.jsx(ib,{})}),p.jsx(Oe,{path:"general",element:p.jsx(ib,{})}),p.jsx(Oe,{path:"suppliers",element:p.jsx(oN,{})}),p.jsx(Oe,{path:"memory",element:p.jsx(lN,{})}),p.jsx(Oe,{path:"commands",element:p.jsx(yN,{})}),p.jsx(Oe,{path:"subagents",element:p.jsx(cN,{})}),p.jsx(Oe,{path:"mcp-admin",element:p.jsx(uN,{})}),p.jsx(Oe,{path:"telemetry",element:p.jsx(dN,{})}),p.jsx(Oe,{path:"system-info",element:p.jsx(fN,{})}),p.jsx(Oe,{path:"tunnel",element:p.jsx(hN,{})}),p.jsx(Oe,{path:"voice",element:p.jsx(pN,{})}),p.jsx(Oe,{path:"cursor-config",element:p.jsx(mN,{})})]}),p.jsx(Oe,{path:"/toast-test",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx(AN,{})})})}),p.jsx(Oe,{path:"/discord",element:p.jsx(tN,{url:"https://discord.gg/6uYsrr66"})}),p.jsx(Oe,{path:"*",element:p.jsx(It,{children:p.jsx(tn,{children:p.jsx("div",{className:"p-4 text-center",children:"Page not found"})})})})]})})}));function MN(){return p.jsx(Z1,{children:p.jsx(gw,{client:EN,children:p.jsx(Vk,{children:p.jsx(Q1,{children:p.jsxs(eN,{children:[p.jsx(NN,{}),p.jsx(RT,{})]})})})})})}const{slice:jN,forEach:RN}=[];function DN(s){return RN.call(jN.call(arguments,1),n=>{if(n)for(const a in n)s[a]===void 0&&(s[a]=n[a])}),s}function PN(s){return typeof s!="string"?!1:[/<\s*script.*?>/i,/<\s*\/\s*script\s*>/i,/<\s*img.*?on\w+\s*=/i,/<\s*\w+\s*on\w+\s*=.*?>/i,/javascript\s*:/i,/vbscript\s*:/i,/expression\s*\(/i,/eval\s*\(/i,/alert\s*\(/i,/document\.cookie/i,/document\.write\s*\(/i,/window\.location/i,/innerHTML/i].some(a=>a.test(s))}const sb=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,ON=function(s,n){const r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{path:"/"},l=encodeURIComponent(n);let c=`${s}=${l}`;if(r.maxAge>0){const f=r.maxAge-0;if(Number.isNaN(f))throw new Error("maxAge should be a Number");c+=`; Max-Age=${Math.floor(f)}`}if(r.domain){if(!sb.test(r.domain))throw new TypeError("option domain is invalid");c+=`; Domain=${r.domain}`}if(r.path){if(!sb.test(r.path))throw new TypeError("option path is invalid");c+=`; Path=${r.path}`}if(r.expires){if(typeof r.expires.toUTCString!="function")throw new TypeError("option expires is invalid");c+=`; Expires=${r.expires.toUTCString()}`}if(r.httpOnly&&(c+="; HttpOnly"),r.secure&&(c+="; Secure"),r.sameSite)switch(typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite){case!0:c+="; SameSite=Strict";break;case"lax":c+="; SameSite=Lax";break;case"strict":c+="; SameSite=Strict";break;case"none":c+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return r.partitioned&&(c+="; Partitioned"),c},rb={create(s,n,a,r){let l=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};a&&(l.expires=new Date,l.expires.setTime(l.expires.getTime()+a*60*1e3)),r&&(l.domain=r),document.cookie=ON(s,n,l)},read(s){const n=`${s}=`,a=document.cookie.split(";");for(let r=0;r<a.length;r++){let l=a[r];for(;l.charAt(0)===" ";)l=l.substring(1,l.length);if(l.indexOf(n)===0)return l.substring(n.length,l.length)}return null},remove(s,n){this.create(s,"",-1,n)}};var LN={name:"cookie",lookup(s){let{lookupCookie:n}=s;if(n&&typeof document<"u")return rb.read(n)||void 0},cacheUserLanguage(s,n){let{lookupCookie:a,cookieMinutes:r,cookieDomain:l,cookieOptions:c}=n;a&&typeof document<"u"&&rb.create(a,s,r,l,c)}},FN={name:"querystring",lookup(s){let{lookupQuerystring:n}=s,a;if(typeof window<"u"){let{search:r}=window.location;!window.location.search&&window.location.hash?.indexOf("?")>-1&&(r=window.location.hash.substring(window.location.hash.indexOf("?")));const c=r.substring(1).split("&");for(let f=0;f<c.length;f++){const h=c[f].indexOf("=");h>0&&c[f].substring(0,h)===n&&(a=c[f].substring(h+1))}}return a}},zN={name:"hash",lookup(s){let{lookupHash:n,lookupFromHashIndex:a}=s,r;if(typeof window<"u"){const{hash:l}=window.location;if(l&&l.length>2){const c=l.substring(1);if(n){const f=c.split("&");for(let h=0;h<f.length;h++){const g=f[h].indexOf("=");g>0&&f[h].substring(0,g)===n&&(r=f[h].substring(g+1))}}if(r)return r;if(!r&&a>-1){const f=l.match(/\/([a-zA-Z-]*)/g);return Array.isArray(f)?f[typeof a=="number"?a:0]?.replace("/",""):void 0}}}return r}};let gs=null;const ob=()=>{if(gs!==null)return gs;try{if(gs=typeof window<"u"&&window.localStorage!==null,!gs)return!1;const s="i18next.translate.boo";window.localStorage.setItem(s,"foo"),window.localStorage.removeItem(s)}catch{gs=!1}return gs};var UN={name:"localStorage",lookup(s){let{lookupLocalStorage:n}=s;if(n&&ob())return window.localStorage.getItem(n)||void 0},cacheUserLanguage(s,n){let{lookupLocalStorage:a}=n;a&&ob()&&window.localStorage.setItem(a,s)}};let vs=null;const lb=()=>{if(vs!==null)return vs;try{if(vs=typeof window<"u"&&window.sessionStorage!==null,!vs)return!1;const s="i18next.translate.boo";window.sessionStorage.setItem(s,"foo"),window.sessionStorage.removeItem(s)}catch{vs=!1}return vs};var IN={name:"sessionStorage",lookup(s){let{lookupSessionStorage:n}=s;if(n&&lb())return window.sessionStorage.getItem(n)||void 0},cacheUserLanguage(s,n){let{lookupSessionStorage:a}=n;a&&lb()&&window.sessionStorage.setItem(a,s)}},HN={name:"navigator",lookup(s){const n=[];if(typeof navigator<"u"){const{languages:a,userLanguage:r,language:l}=navigator;if(a)for(let c=0;c<a.length;c++)n.push(a[c]);r&&n.push(r),l&&n.push(l)}return n.length>0?n:void 0}},qN={name:"htmlTag",lookup(s){let{htmlTag:n}=s,a;const r=n||(typeof document<"u"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(a=r.getAttribute("lang")),a}},BN={name:"path",lookup(s){let{lookupFromPathIndex:n}=s;if(typeof window>"u")return;const a=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(a)?a[typeof n=="number"?n:0]?.replace("/",""):void 0}},$N={name:"subdomain",lookup(s){let{lookupFromSubdomainIndex:n}=s;const a=typeof n=="number"?n+1:1,r=typeof window<"u"&&window.location?.hostname?.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(r)return r[a]}};let P_=!1;try{document.cookie,P_=!0}catch{}const O_=["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"];P_||O_.splice(1,1);const VN=()=>({order:O_,lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:s=>s});class L_{constructor(n){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(n,a)}init(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{languageUtils:{}},a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=n,this.options=DN(a,this.options||{},VN()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=l=>l.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=r,this.addDetector(LN),this.addDetector(FN),this.addDetector(UN),this.addDetector(IN),this.addDetector(HN),this.addDetector(qN),this.addDetector(BN),this.addDetector($N),this.addDetector(zN)}addDetector(n){return this.detectors[n.name]=n,this}detect(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.order,a=[];return n.forEach(r=>{if(this.detectors[r]){let l=this.detectors[r].lookup(this.options);l&&typeof l=="string"&&(l=[l]),l&&(a=a.concat(l))}}),a=a.filter(r=>r!=null&&!PN(r)).map(r=>this.options.convertDetectedLanguage(r)),this.services&&this.services.languageUtils&&this.services.languageUtils.getBestMatchFromCodes?a:a.length>0?a[0]:null}cacheUserLanguage(n){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.caches;a&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(n)>-1||a.forEach(r=>{this.detectors[r]&&this.detectors[r].cacheUserLanguage(n,this.options)}))}}L_.type="languageDetector";const GN={create:"创建",delete:"删除",save:"保存",cancel:"取消",confirm:"确定",edit:"编辑",close:"关闭",back:"返回",next:"下一步",refresh:"刷新",submit:"提交",reset:"重置",search:"搜索",add:"添加",remove:"移除",update:"更新",upload:"上传",download:"下载",export:"导出",import:"导入",copy:"复制",paste:"粘贴",cut:"剪切"},YN={loading:"加载中...",processing:"处理中...",success:"操作成功",failed:"操作失败",saving:"保存中...",deleting:"删除中...",uploading:"上传中...",downloading:"下载中...",completed:"已完成",pending:"待处理",active:"活跃",inactive:"未激活",enabled:"已启用",disabled:"已禁用"},KN={yes:"是",no:"否",ok:"好的",all:"全部",none:"无",or:"或",and:"和",more:"更多",less:"更少",unknown:"未知",optional:"可选",required:"必填",default:"默认",custom:"自定义"},XN="路径",QN="创建时间",ZN={init:{description:""},clear:{description:""},compact:{description:""},agents:{description:""},settings:{description:""},help:{description:""}},WN={sendImage:""},JN={chinese:"",english:""},eM={pageTitle:"",metaDescription:"",nav:{enterWorkspace:""},hero:{title:"",subtitle:"",description:"",startNow:"",viewSource:""},features:{title:"",subtitle:"",modernWeb:{title:"",description:""},multiModel:{title:"",description:""},agentSystem:{title:"",description:""},fileManagement:{title:"",description:""},professionalTools:{title:"",description:""},secureReliable:{title:"",description:""}},quickStart:{title:"",subtitle:"",endUserTitle:"",endUserDescription:"",developerTitle:"",developerDescription:""},cta:{title:"",subtitle:"",start:""},footer:{description:"",copyright:"",product:"",workspace:"",sourceCode:"",releases:"",support:"",documentation:"",issues:"",discussions:""}},tM={actions:GN,status:YN,common:KN,path:XN,createdAt:QN,systemCommands:ZN,agentChat:WN,languageSwitcher:JN,landing:eM},nM={backToHome:"返回首页",documentation:"文档目录"},aM={dashboard:"首页",projects:"项目管理",agents:"Agent管理",scheduledTasks:"定时任务",extensions:"扩展能力",skills:"技能管理",plugins:"插件管理",mcp:"MCP服务",commands:"自定义命令",subagents:"Subagent管理",settings:"系统管理",settingsSubmenu:{general:"通用设置",suppliers:"供应商管理",memory:"全局记忆",mcpAdmin:"MCP Admin",tunnel:"隧道接入",voice:"语音输入"}},iM={newVersionAvailable:"新版本 v{{version}} 已发布",updateAvailableTitle:"有新版本可用",currentVersion:"当前版本",viewUpdate:"查看更新",dismiss:"忽略",remindLater:"稍后提醒"},sM={version:"版本 {{version}}",apiServerStatus:{connected:"API服务器设置 - 连接正常",disconnected:"API服务器设置 - 连接失败",checking:"API服务器设置 - 检查中..."},serviceStatus:{normal:"服务正常",unavailable:"服务不可用",checking:"检查中..."}},rM={title:"登录",subtitle:"请输入密码以继续",passwordLabel:"密码",passwordPlaceholder:"请输入密码",loginButton:"登录",loggingIn:"登录中...",footer:"如果您忘记了密码,请联系管理员",manageServices:"管理后端服务",serviceName:"服务名称",serviceUrl:"服务地址",current:"当前",testConnection:"测试连接",switchTo:"切换到此服务",edit:"编辑",delete:"删除",save:"保存",cancel:"取消",add:"添加",addService:"添加新服务",rerunOnboarding:"重新运行配置向导",checkingConnection:"正在检查连接...",autoLoggingIn:"正在自动登录...",noPasswordRequired:"此服务未设置密码,可直接登录",enterSystem:"进入系统"},oM={pageTitle:"AgentStudio - Agent 工作台 | Claude Agent SDK 驱动",metaDescription:"Agent for Work - 本地的 Agent 工作台,由 Claude Agent SDK 强力驱动。数据完全私有,支持定时任务、A2A 协议、自定义 Agent。",nav:{enterWorkspace:"进入工作台",docs:"文档",wechat:"微信群"},hero:{badge:"由 Claude Agent SDK 强力驱动",title:"Agent for Work",subtitle:"本地的 Agent 工作台",description:"真正运行在你电脑上的私人 AI 助理。数据完全私有,安全可控,支持定时任务自动化和多 Agent 协作。",startNow:"开始使用",viewSource:"查看源码",copyCommand:"复制命令",installHint:"复制下面的命令到终端运行,即可开始使用",copy:"复制",copied:"已复制"},preview:{title:"产品预览",subtitle:"直观的 Web 界面,让 AI 工作更高效",chatAlt:"聊天界面截图",chatCaption:"聊天界面 - 与 Agent 对话,可视化展示工具调用",mcpAlt:"MCP 服务管理截图",mcpCaption:"MCP 服务管理 - 一键导入 Claude Code 配置"},features:{title:"核心特性",subtitle:"为 AI 工作自动化设计的完整解决方案",localWorkspace:{title:"本地的 Agent 工作台",point1:"运行在你的电脑上,真正意义的本地工作台",point2:"数据完全私有,不上传云端",point3:"文件、代码、对话记录都在掌控之中"},webExperience:{title:"Web 版交互体验",point1:"告别命令行,拥抱友好的 Web 界面",point2:"工具调用可视化呈现,对话体验更鲜活",point3:"内置文件浏览器,对话同时查看项目文件"},sdkFeatures:{title:"Claude Agent SDK 全家桶",skills:"技能系统",commands:"自定义命令",plugins:"插件生态",memory:"项目记忆",subagent:"子 Agent",multiModel:"多模型支持",anthropicCompat:"支持 Claude、GLM、DeepSeek、Kimi K2、MiniMax 等兼容 Anthropic 接口规范的模型"}},scheduler:{badge:"定时任务调度",title:"让 Agent 按计划自动执行",description:"真正实现 AI 工作自动化!设定时间规则,Agent 将自动完成重复性工作,解放你的时间。",scenariosTitle:"典型应用场景",scenario1:{title:"每日进度日报",desc:"每天早上 9 点,自动生成项目进度日报"},scenario2:{title:"代码自动审查",desc:"每 2 小时检查代码仓库,自动提交审查意见"},scenario3:{title:"周会纪要整理",desc:"每周五自动整理本周会议纪要并归档"},scenario4:{title:"月度数据分析",desc:"每月 1 号自动生成业务数据分析报告"}},a2a:{badge:"A2A 协议",title:"智能体协作网络",description:"让多个 Agent 形成协同工作的网络。本地 Agent、远程 Agent 互联互通,构建你的私人 AI 团队。",scenariosTitle:"典型应用场景",scenario1:{title:"秘书 Agent 调度",desc:"一个秘书 Agent 统一接收任务,自动调度其他项目 Agent 执行具体工作"},scenario2:{title:"本地 ↔ 远程协作",desc:"本地电脑与远程开发机上的 Agent 互相通讯,协同完成任务"},scenario3:{title:"移动端随时访问",desc:"通过移动通讯端与本地 Agent 交互,随时随地工作(内测中)"}},customAgent:{badge:"自定义 Agent",title:"打造你的专属 Agent",description:"无需编写代码,通过界面配置即可定制专属 Agent。内置 Claude Code Agent 开箱即用,满足各种工作场景。",example1:"PPT 制作 Agent",example2:"秘书 Agent",example3:"文档写作 Agent",example4:"代码审查 Agent"},comparison:{title:"AgentStudio vs Claude Code",subtitle:"同样的 Claude Agent SDK,更友好的使用体验",dimension:"对比维度",interface:"交互形态",webInterface:"界面",cli:"命令行 (CLI)",targetUsers:"目标用户",everyone:"所有人",developers:"主要开发者",toolDisplay:"工具展示",visual:"可视化呈现",textOnly:"纯文本",fileBrowser:"文件浏览器",agentCustom:"Agent 定制",scheduler:"定时任务",a2a:"A2A 协议",mobileAccess:"移动端访问",beta:"内测中"},cta:{title:"准备好开始你的 AI 工作自动化了吗?",subtitle:"一行命令,即刻启动你的本地 Agent 工作台",start:"开始使用"},footer:{description:"Agent for Work - 本地的 Agent 工作台,由 Claude Agent SDK 强力驱动。",copyright:"© 2026 AgentStudio. GPL v3 License.",product:"产品",workspace:"工作台",sourceCode:"源码",releases:"发布版本",support:"支持",documentation:"文档",issues:"问题反馈",wechat:"微信群"},wechat:{title:"加入微信群",fallback:"二维码失效?请添加微信号:",wechatId:"talk4kong",tip:"扫码或添加微信号,即可加入交流群"}},lM={title:"Agent管理",subtitle:"管理专门的 AI 代理",createButton:"创建助手",editButton:"编辑助手",deleteButton:"删除助手",enableButton:"启用助手",disableButton:"禁用助手",useButton:"使用",startUsingButton:"开始使用助手",noAgents:"暂无助手",noAgentsSearch:"未找到匹配的助手",searchPlaceholder:"搜索助手...",createFirst:"创建你的第一个智能助手",adjustSearch:"尝试调整搜索条件",loading:"正在加载智能助手...",filter:{all:"全部",enabled:"已启用",disabled:"已禁用"},table:{agent:"智能助手",type:"类型",config:"配置",tools:"工具",status:"状态",actions:"操作",maxTurns:"最大轮次",unlimited:"不限制",permission:"权限",toolsCount:"{{count}} 个工具"},form:{create:"创建助手",edit:"编辑助手",name:"名称",description:"描述",maxTurns:"最大轮次",maxTurnsPlaceholder:"不限制",maxTurnsError:"最大轮次必须在1-100之间",maxTurnsExceeded:"最大轮次不能超过{{maximum}}",permissionMode:"权限模式",icon:"图标",primaryColor:"主题颜色",enabledTools:"启用的工具",selectTools:"选择工具",toolsRegular:"常规工具 {{count}} 个",toolsMcp:"MCP工具 {{count}} 个",systemPrompt:"系统提示词",systemPromptPlaceholder:"输入助手的系统提示词...",nameRequired:"请填写助手名称",save:"保存",cancel:"取消"},permissions:{default:"默认",acceptEdits:"自动接受编辑",bypassPermissions:"绕过权限检查",plan:"规划模式"},status:{enabled:"已启用",disabled:"已禁用"},errors:{createFailed:"创建失败,请重试。",saveFailed:"保存失败,请重试。",deleteFailed:"删除失败,请重试。",toggleFailed:"操作失败,请重试。",builtinCannotDelete:"内置助手无法删除,但可以禁用。"},confirmDelete:`确定要删除助手"{{name}}"吗?
88
88
 
89
- 此操作无法撤销,相关的所有会话也会被删除。`},lM={title:"项目管理",subtitle:"管理你的所有工作项目",createButton:"创建新项目",selectType:"选择助手类型创建工作项目",noProjects:"暂无项目",searchPlaceholder:"搜索项目...",loading:"正在加载项目...",filter:{all:"全部",active:"活跃",inactive:"未活跃"},table:{project:"项目",agent:"助手",lastActive:"最后活跃",sessions:"会话",actions:"操作",sessionsCount:"{{count}} 个会话"},form:{create:"创建项目",edit:"编辑项目",name:"项目名称",namePlaceholder:"输入项目名称",nameRequired:"项目名称 *",agentType:"选择助手类型 *",agentTypePlaceholder:"选择一个助手类型",directory:"项目目录",directoryNote:"项目将在此目录下创建一个新文件夹",description:"项目描述",descriptionPlaceholder:"简单描述这个项目的用途...",save:"保存",cancel:"取消"},actions:{open:"打开",openInNewTab:"在新标签页打开",edit:"编辑",delete:"删除"},status:{active:"活跃",inactive:"未活跃",never:"从未"},errors:{createFailed:"创建项目失败",updateFailed:"更新项目失败",deleteFailed:"删除项目失败",loadFailed:"加载项目失败"},deleteConfirm:"确定要删除项目吗?",deleteNote:"注意:这只会从列表中移除项目,不会删除实际的文件目录。",deleteSuccess:"项目已删除"},cM={title:"对话",inputPlaceholder:"输入消息...",aiTyping:"AI正在输入中",newSession:"新对话",sessionHistory:"历史会话",loading:"正在加载智能助手...",agentNotFound:"助手未找到",agentNotFoundDesc:"无法找到指定的智能助手,可能已被删除或禁用。",agentDisabled:"助手已禁用",agentDisabledDesc:'智能助手 "{{name}}" 目前已被禁用,无法使用。',closePage:"关闭页面",tabNotification:{working:"🤖 正在工作",completed:"✅ 已完成",error:"❌ 发生错误"}},uM={title:"首页",welcome:{title:"让我们开始工作吧",subtitle:"选择一个项目,开始与 AI 协作完成任务"},defaultProjectName:"默认工作空间",loading:"加载中...",creatingDefaultProject:"正在创建默认工作空间...",noAgentsEnabled:"没有可用的 Agent,请先启用一个 Agent",goToAgents:"前往 Agent 管理",selectProject:"选择项目",noProjects:"暂无项目",createNewProject:"创建新项目",noProjectsHint:{title:"还没有项目",description:"创建一个项目来开始与 AI 协作",createButton:"一键创建默认项目",creating:"创建中..."},projectCreated:{title:"项目创建成功",message:"已经为您创建项目:{{name}},你现在可以开始与 Agent 工作了。"},quickLinks:{title:"快捷入口",projects:"项目管理",modelSettings:"模型供应商",scheduledTasks:"定时任务",customAgents:"自定义 Agent"},sessions:{title:"活跃会话",clearAll:"清除全部",close:"关闭会话",closed:"会话已关闭",closedMessage:"会话已成功关闭",closeFailed:"关闭失败",closeError:"无法关闭会话",allCleared:"全部清除",allClearedMessage:"已清除 {{count}} 个会话",clearFailed:"清除失败",clearError:"无法清除会话",confirmed:"已确认",pending:"等待中",idle:"空闲",heartbeatTimeout:"心跳超时",session:"会话"},selectProjectToStart:"请选择一个项目开始聊天",stats:{agentManagement:"Agent管理",workProjects:"工作项目",slashCommands:"Slash命令",activeSessions:"活跃会话"},recentAgents:{title:"常用助手",viewAll:"查看全部",types:{slides:"演示文稿","claude-code":"Claude Code"},noAgents:"暂无可用助手",goEnable:"去启用助手"},quickActions:{title:"快速操作",createProject:{title:"创建新项目",description:"选择助手类型创建工作项目"},createAgent:{title:"创建新助手",description:"配置自定义AI助手"},addMcp:{title:"添加MCP服务",description:"连接新的MCP服务器"},viewAnalytics:{title:"查看统计",description:"分析使用情况和性能"}},overview:"概览",statistics:"统计信息",recentActivity:"最近活动",templates:{organizeFiles:"整理文件",analyzeFiles:"文件分析",writeDoc:"写一份文档",codeReview:"代码审查",checkWeather:"查深圳天气",quickTask:"自由提问"}},dM=JSON.parse('{"title":"设置","general":{"title":"通用设置","description":"配置界面外观、查看系统信息和隐私设置","interfaceSettings":"外观设置","theme":{"label":"主题","description":"选择界面主题模式","auto":"跟随系统","light":"浅色模式","dark":"深色模式"},"language":{"label":"语言","description":"选择界面语言"},"password":{"title":"访问密码","checking":"正在检查...","currentlySet":"当前已设置访问密码","currentlyNotSet":"当前未设置密码,可免密登录","description":"设置密码后,登录时需要输入密码。留空并保存可清除密码,启用免密登录。","newPassword":"新密码","newPasswordPlaceholder":"输入新密码(留空则清除密码)","confirmPassword":"确认密码","confirmPasswordPlaceholder":"再次输入密码","save":"保存密码","clear":"清除密码","mismatch":"两次输入的密码不一致","tooShort":"密码长度至少为4位","setSuccess":"密码设置成功,下次登录时生效","clearSuccess":"密码已清除,系统现在可以免密登录","saveFailed":"保存密码失败","clearFailed":"清除密码失败"}},"api":"API服务器设置","memory":"全局记忆","memorySettings":{"title":"全局记忆设置","description":"全局记忆是所有AI助手共享的背景信息,包含您的工作偏好、项目信息等","fileSourceInfo":"内容来自用户目录下的 ~/.claude/CLAUDE.md 文件。","memoryContent":"记忆内容","edit":"编辑","cancelEdit":"取消编辑","refresh":"刷新","refreshing":"刷新中...","placeholder":"在这里编写您的全局记忆内容...","cancel":"取消","saveMemory":"保存记忆","loading":"正在加载全局记忆...","noMemory":"暂无全局记忆内容","clickEditToStart":"点击\\"编辑\\"按钮开始添加","infoAutoLoad":"全局记忆将在每次对话时自动加载,为AI提供背景信息","infoSuggestions":"建议包含:工作偏好、项目背景、个人信息等","infoFileLocation":"文件位置:~/.claude/CLAUDE.md","saveSuccess":"全局记忆已保存","saveFailed":"保存失败,请重试"},"supplier":{"title":"供应商管理","subtitle":"管理多个模型供应商,指定可执行路径、别名和环境变量","addSupplier":"添加供应商","noSuppliers":"还没有配置模型供应商","clickToAddFirst":"点击\\"添加供应商\\"来配置第一个模型供应商","systemLabel":"系统","defaultLabel":"默认","pathLabel":"路径","envVarsLabel":"环境变量","modelsLabel":"支持的模型","setAsDefault":"设为默认","copyCommand":"复制命令","edit":"编辑","delete":"删除","confirmDelete":"确定要删除供应商 \\"{{alias}}\\" 吗?","currentSupplier":{"title":"当前供应商","checking":"检查中...","checkVersion":"检查供应商","claudeDesc":"AI编程助手","updating":"更新中...","update":"更新","willUse":"将使用","toUpdate":"更新","nodejsDesc":"JavaScript运行环境","preferred":"推荐","packageManager":"包管理器","lastChecked":"最后检查时间","clickToCheck":"点击\\"检查供应商\\"获取供应商信息","updateSuccess":"更新成功","updateFailed":"更新失败","info1":"Claude Code 是 AI 编程助手,支持代码生成、编辑和项目管理","info2":"Node.js 是系统运行的基础环境","info3":"支持多种包管理器:npm、pnpm、yarn(优先级:pnpm > yarn > npm)","info4":"系统会自动选择推荐的包管理器进行更新操作","info5":"建议保持 Claude Code 为最新版本以获得最佳体验"},"templates":{"title":"供应商快速配置模板","description":"选择预设模板快速配置第三方API供应商,自动填充环境变量配置","providers":{"glm":{"name":"GLM (智谱AI)","description":"使用智谱AI的GLM模型服务,兼容Anthropic API"},"deepseek":{"name":"DeepSeek","description":"使用DeepSeek的高性能模型服务"},"kimi":{"name":"Kimi K2 (月之暗面)","description":"使用Kimi K2模型服务,支持Anthropic API兼容"},"minimax":{"name":"MiniMax","description":"使用MiniMax的高性能模型服务,支持Anthropic API兼容"}}},"form":{"createTitle":"添加新供应商","editTitle":"编辑供应商","supplierName":"供应商名称","supplierNamePlaceholder":"例如: Claude Code v1.2.3","alias":"别名","aliasPlaceholder":"例如: claude-1.2.3","description":"描述","descriptionPlaceholder":"供应商描述(可选)","executablePath":"可执行文件路径","executablePathPlaceholder":"不指定则使用系统默认路径","browseFile":"浏览文件","envVars":"环境变量","varName":"变量名","varValue":"变量值","emptyValue":"未设置","getApiKey":"获取密钥","models":"模型配置","modelId":"模型ID","modelName":"模型名称","visionModel":"视觉模型","addModel":"添加模型","cancel":"取消","saving":"保存中...","update":"更新","create":"创建","selectExecutable":"选择Claude可执行文件"},"errors":{"requiredFields":"请填写所有必填字段","saveFailed":"保存失败","deleteFailed":"删除失败","setDefaultFailed":"设置默认供应商失败","cannotDeleteSystem":"不能删除系统供应商","copyFailed":"复制失败,请手动复制以下命令:"},"success":{"createVersion":"供应商创建成功","updateVersion":"供应商更新成功","deleteVersion":"供应商删除成功","setDefault":"已将 \\"{{alias}}\\" 设置为默认供应商","copyCommand":"命令已复制到剪贴板"}},"cloudflare":{"title":"Cloudflare Tunnel","description":"一键启用外网访问,通过 Cloudflare Tunnel 将本地服务暴露到公网","wizard":{"showGuide":"显示设置向导","steps":{"intro":"介绍","credentials":"配置凭证","create":"创建隧道","start":"启动服务","done":"完成"},"intro":{"title":"欢迎使用 Cloudflare Tunnel","description":"Cloudflare Tunnel 可以让你无需公网 IP,就能将本地运行的 AgentStudio 暴露到公网,实现随时随地访问。","benefit1":"无需公网 IP 或路由器配置","benefit2":"自动 HTTPS 加密,安全可靠","benefit3":"利用 Cloudflare 全球 CDN 加速","benefit4":"免费使用,快速部署","requirements":"前置要求","req1":"一个 Cloudflare 免费账号","req2":"Python 3 环境(用于调用 API)","req3":"Docker 或 cloudflared CLI(用于启动隧道)","getStarted":"开始设置"},"credentials":{"howToGet":"如何获取 Cloudflare 凭证?","step1":"访问 Cloudflare Dashboard 创建 API Token","step2":"配置权限:Cloudflare Tunnel - Edit","step3":"复制 Account ID 和 API Token","openDashboard":"打开 Cloudflare Dashboard","saveAndContinue":"保存并继续"},"create":{"description":"现在可以创建你的第一个 Tunnel 了。你可以自定义子域名前缀,或者留空让系统自动生成。","createButton":"一键创建 Tunnel"},"start":{"tunnelCreated":"Tunnel 创建成功!","nextStep":"现在需要启动 cloudflared 客户端来建立连接。","yourPublicUrl":"你的公网访问地址","importantNote":"重要提示","needToStartClient":"Tunnel 已创建,但还需要启动 cloudflared 客户端才能真正建立连接。请按照下方步骤操作。","howToStart":"如何启动 Tunnel?","option1":"方式一:使用 Docker","option2":"方式二:使用 cloudflared CLI","recommended":"推荐","copy":"复制","copied":"已复制","installCloudfared":"安装 cloudflared","runCommand":"运行命令","finishSetup":"完成设置"},"done":{"title":"设置完成!","description":"你的 AgentStudio 现在可以通过公网访问了","deleteTunnel":"删除 Tunnel","reminder":"温馨提示","keepClientRunning":"请保持 cloudflared 客户端运行,关闭后将无法访问公网地址。"}},"credentials":{"title":"Cloudflare 凭证配置","configured":"凭证已配置","update":"更新凭证","apiToken":"API Token","accountId":"Account ID","save":"保存","saving":"保存中...","cancel":"取消","help":"获取 API Token 和 Account ID,请访问"},"tunnel":{"title":"Tunnel 管理","active":"当前激活的 Tunnel","publicUrl":"公网访问地址","name":"Tunnel 名称","localPort":"本地端口","createdAt":"创建时间","subdomain":"子域名前缀(可选)","subdomainPlaceholder":"留空自动生成随机子域名","subdomainHelp":"留空将自动生成一个随机子域名","create":"一键启用外网访问","creating":"创建中...","details":"Tunnel 详情","token":"Tunnel Token","cliCommand":"CLI 启动命令"},"credentialsSaved":"Cloudflare 凭证保存成功","tunnelCreated":"Tunnel 创建成功!现在可以通过公网 URL 访问","tunnelDeleted":"Tunnel 已删除","confirmDelete":"确定要删除这个 Tunnel 吗?","errors":{"credentialsRequired":"请填写 API Token 和 Account ID"}},"language":"语言设置","subagents":{"title":"Subagent 管理","subtitle":"管理专门的 AI 子代理","loading":"正在加载 Subagents...","loadFailed":"加载失败","loadFailedMessage":"无法加载 Subagents 列表","retry":"重试","searchPlaceholder":"搜索 Subagents...","createButton":"新建 Subagent","noSubagents":"还没有 Subagents","noSubagentsSearch":"未找到匹配的 Subagents","adjustSearch":"尝试调整搜索条件","createFirst":"创建你的第一个专门的 AI 子代理来处理特定任务","table":{"subagent":"Subagent","tools":"工具","createdAt":"创建时间","actions":"操作","toolsCount":"{{count}} 个工具","inheritSettings":"继承对话设置"},"actions":{"edit":"编辑","view":"查看","editTitle":"编辑 Subagent","viewTitle":"查看 Subagent","deleteTitle":"删除 Subagent"},"source":{"local":"本地","plugin":"插件"},"deleteConfirm":{"title":"确认删除","message":"确定要删除 Subagent \\"{{name}}\\" 吗?","warning":"此操作无法撤销。","cancel":"取消","delete":"删除"}},"mcpAdmin":{"title":"MCP Admin Server","subtitle":"配置 MCP Admin API,允许外部 AI 工具管理您的 AgentStudio","refresh":"刷新","serverStatus":"服务器状态","status":{"status":"状态","active":"运行中","version":"版本","tools":"可用工具","activeKeys":"活跃密钥","unavailable":"服务不可用"},"endpoint":"端点","apiKeys":"API 密钥","createKey":"创建密钥","noKeys":"暂无 API 密钥","noKeysHint":"创建一个 API 密钥以允许外部工具访问","createdAt":"创建于","lastUsed":"最后使用","revoked":"已撤销","revokeKey":"撤销密钥","confirmRevoke":"确定要撤销此 API 密钥吗?此操作无法撤销。","availableTools":"可用管理工具","createKeyTitle":"创建 API 密钥","keyDescription":"密钥描述","keyDescriptionPlaceholder":"例如:Cursor MCP 连接","fullPermissions":"此密钥将拥有完整管理权限","cancel":"取消","create":"创建","creating":"创建中...","keyCreated":"API 密钥已创建!","configTitle":"MCP 配置","saveKeyWarning":"请立即保存此密钥!它只会显示这一次,无法再次查看。","yourApiKey":"您的 API 密钥","configFile":"配置文件","copyConfig":"复制配置","done":"完成","showKey":"显示密钥","hideKey":"隐藏密钥","copyKey":"复制密钥","viewConfig":"查看配置","limitTools":"限制可用工具","selectAll":"全选","deselectAll":"取消全选","selectedToolsCount":"已选择 {{count}} 个工具","limitedTools":"限制 {{count}} 个工具","allToolsAccess":"所有工具","disabled":"已停用","enableKey":"启用密钥","disableKey":"停用密钥","editKey":"编辑密钥","editKeyTitle":"编辑 API 密钥","save":"保存","saving":"保存中...","toolParams":"参数","noParams":"无参数","success":{"copied":"已复制到剪贴板","keyRevoked":"API 密钥已撤销","keyUpdated":"API 密钥已更新","keyEnabled":"API 密钥已启用","keyDisabled":"API 密钥已停用"},"errors":{"configFetch":"获取配置失败","createFailed":"创建密钥失败","revokeFailed":"撤销密钥失败","copyFailed":"复制失败","descriptionRequired":"请输入密钥描述","updateFailed":"更新密钥失败","toggleFailed":"切换密钥状态失败"},"help":{"button":"使用帮助","title":"MCP Admin Server 使用帮助","whatIs":"什么是 MCP Admin Server?","whatIsDesc":"MCP Admin Server 是一个标准的 MCP(Model Context Protocol)服务器,允许其他 AI 工具(如 Cursor、Claude Desktop)通过 MCP 协议远程管理您的 AgentStudio。通过这个接口,您可以在其他 AI 工具中直接查询和管理 AgentStudio 的项目、智能体、MCP 服务器等。","howToUse":"如何使用?","step1":"在本页面创建一个 Admin API 密钥","step2":"点击「查看配置」获取配置代码片段","step3":"将配置添加到 Cursor 或 Claude Desktop 的 MCP 配置文件中","step4":"重启 Cursor/Claude Desktop,然后就可以在对话中使用管理工具了","availableTools":"可用工具示例","toolListProjects":"列出所有项目","toolGetProject":"获取项目详情","toolListAgents":"列出所有智能体","toolGetAgent":"获取智能体详情","toolHealthCheck":"系统健康检查","examples":"使用示例","examplePrompt":"在 Cursor 中,你可以直接对 AI 说:"}},"apiSettings":{"title":"API服务器设置","hostLabel":"API服务器地址","hostPlaceholder":"http://localhost:4936 或 https://your-domain.com","testConnection":"测试连接","quickSelect":"快捷选择:","connectionStatus":"连接状态","status":{"success":"连接成功","error":"连接失败","untested":"未测试"},"serverError":"服务器响应错误: {{status}} {{statusText}}","connectionFailed":"连接失败: {{message}}","connectionUnknownError":"连接失败: 未知错误","enterApiHost":"请输入API服务器地址","settingsSavedRefresh":"设置已保存,页面将刷新以应用新设置","usage":{"title":"使用说明:","localDev":"在本地开发时,使用","production":"在生产环境中,使用您的服务器域名,如","cors":"确保服务器支持CORS访问,允许前端域名访问","refresh":"修改后需要刷新页面才能生效"},"resetToDefault":"重置为默认","saveSettings":"保存设置"},"telemetry":{"title":"遥测与分析","description":"管理匿名使用数据收集","enableTelemetry":"启用匿名遥测","enableDescription":"分享匿名使用数据,帮助我们改进 AgentStudio","statusEnabled":"遥测已启用。感谢您帮助改进 AgentStudio!","statusDisabled":"遥测已禁用。不会收集任何数据。","whatWeCollect":"我们收集的数据","whatWeNeverCollect":"我们绝不收集的数据","collect":{"installId":"匿名安装 ID","installIdDesc":"一个随机 UUID 用于区分安装实例,不与您的身份关联","version":"应用版本和操作系统","versionDesc":"帮助我们了解哪些版本和平台使用最多","features":"功能使用统计","featuresDesc":"哪些功能被使用(不包含内容或个人数据)","errors":"错误报告","errorsDesc":"脱敏的错误信息和堆栈跟踪(文件路径已移除)"},"neverCollect":{"files":"文件内容、代码或项目数据","keys":"API 密钥、密码或凭据","pii":"个人身份信息(姓名、邮箱、IP)","conversations":"聊天对话或 AI 回复"},"privacyNote":"隐私优先","privacyNoteDesc":"所有遥测数据都是匿名和聚合的。我们无法识别个人用户。您可以随时禁用遥测。","consent":{"title":"帮助改进 AgentStudio","subtitle":"匿名使用数据","description":"我们收集匿名使用数据,以了解 AgentStudio 的使用方式并改善用户体验。不会收集任何个人信息。","whatWeCollect":"我们收集的数据","item1":"匿名安装 ID","item2":"应用版本和操作系统类型","item3":"功能使用统计","item4":"错误报告(不含个人数据)","whatWeDoNotCollect":"我们绝不收集","notItem1":"文件内容或代码","notItem2":"API 密钥或凭据","notItem3":"个人身份信息","changeAnytime":"您可以随时在 设置 → 遥测与分析 中更改此设置。","accept":"是的,我愿意帮助","decline":"不了,谢谢"}},"systemInfo":{"title":"系统信息","subtitle":"查看系统版本和运行时信息","checkUpdate":"检查更新","updateAvailable":"有新版本可用!","versionInfo":"版本信息","appName":"应用名称","currentVersion":"当前版本","latestVersion":"最新版本","upToDate":"已是最新","version":"版本","runtimeInfo":"运行时信息","platform":"操作系统","architecture":"架构","links":"相关链接","viewSource":"查看源代码","viewReleases":"查看发布版本","viewChangelog":"查看更新日志","viewNpm":"在 npm 查看"}}'),fM={title:"数据分析",usage:"使用统计",performance:"性能指标"},hM={title:"MCP服务",subtitle:"管理和监控Model Context Protocol服务器",loading:"正在加载MCP配置...",searchPlaceholder:"搜索配置名称、命令或参数...",addServer:"添加服务",noServers:"还没有MCP服务配置",noResults:"未找到匹配的配置",adjustSearch:"尝试调整搜索条件",addFirstServer:"添加你的第一个MCP服务配置",confirmDelete:'确定要删除 "{{name}}" 配置吗?',validateAll:"验证全部",stats:{total:"总计",active:"活动",error:"错误",validating:"验证中",tools:"工具"},import:{button:"从Claude Code导入",importing:"导入中...",noConfigFound:"没有找到Claude Code的MCP配置(从 ~/.claude.json 读取)",success:"成功导入 {{imported}} 个MCP服务器配置{{skipped, select, 0{} other{,跳过 {{skipped}} 个已存在的配置}}",allExist:"所有配置都已存在,没有导入新的配置"},table:{server:"服务",type:"类型",status:"状态",tools:"可用工具",actions:"操作",toolsCount:"{{count}} 个工具",noTools:"无工具"},status:{active:"可用",error:"错误",validating:"验证中",unvalidated:"未验证"},actions:{validate:"重新验证",copyCommand:"复制命令",edit:"编辑",view:"查看",delete:"删除配置"},source:{local:"本地",plugin:"插件"},modal:{addTitle:"添加MCP服务配置",editTitle:"编辑MCP服务配置",saving:"保存中...",saveConfig:"保存配置",addConfig:"添加配置"},form:{serverName:"服务名称 *",serverNamePlaceholder:"例如:playwright",nameNotEditable:"服务名称不可修改",nameRequired:"请输入服务名称",mcpType:"MCP 类型 *",stdioOption:"Stdio (本地进程)",httpOption:"HTTP (远程服务)",selectConnectionType:"选择 MCP 服务器的连接类型",configuration:"配置 * (JSON格式)",configInvalid:"配置格式不正确,请确保包含必需的 {{fields}} 字段,并且格式正确",configFormatError:"⚠️ 配置格式不正确,请确保包含必需的 {{fields}} 字段",requiredFields:"必需字段:",requiredFieldsStdio:"command 和 args",requiredFieldsHttp:"url",optionalFields:"可选字段:",commandField:'字符串,执行命令(如 "npx", "uvx")',argsField:"数组,命令参数",urlField:"字符串,HTTP MCP 服务器的 URL",headersField:"对象,HTTP 请求头(如认证信息)",note:"注意:",typeAutoAdded:"type 和 source 字段会自动添加,无需在配置中填写。验证超时固定为 60 秒。"},errors:{validationFailed:"验证失败",networkError:"网络错误或服务不可用",deleteFailed:"删除配置失败",importFailed:"导入失败",saveFailed:"保存配置失败",copyFailed:"复制失败"},commandCopied:"命令已复制到剪贴板"},pM={title:"自定义命令",subtitle:"管理 Slash Commands",loading:"加载命令中...",searchPlaceholder:"搜索命令...",createButton:"新建命令",error:{loadFailed:"加载失败",cannotLoadCommands:"无法加载自定义命令",retry:"重试"},empty:{noCommands:"还没有自定义命令",noMatchingCommands:"未找到匹配的命令",adjustSearch:"尝试调整搜索条件或筛选器",createFirst:"创建你的第一个自定义 Slash Command"},table:{command:"命令",model:"模型",tools:"工具",createdAt:"创建时间",actions:"操作",inheritSettings:"继承对话设置",toolsCount:"{{count}} 个工具"},actions:{edit:"编辑",view:"查看",editCommand:"编辑命令",deleteCommand:"删除命令"},source:{local:"本地",plugin:"插件"},delete:{title:"删除命令",confirmMessage:'确定要删除命令 "/{{name}}" 吗?此操作无法撤销。',cancel:"取消",delete:"删除",deleting:"删除中..."}},mM={title:"插件管理",subtitle:"管理插件市场和已安装插件",tabs:{marketplaces:"插件市场",browse:"浏览插件",installed:"已安装插件"},marketplaces:{title:"插件市场",subtitle:"管理插件市场源",addButton:"添加市场",searchPlaceholder:"搜索市场...",noMarketplaces:"还没有配置插件市场",addFirst:"添加你的第一个插件市场",table:{marketplace:"市场",type:"类型",plugins:"插件数",lastSync:"最后同步",actions:"操作"},types:{git:"Git 仓库",github:"GitHub",local:"本地目录"},actions:{sync:"同步",syncing:"同步中...",edit:"编辑",delete:"删除"},addModal:{title:"添加市场",editTitle:"编辑市场",name:"市场名称",namePlaceholder:"例如:official-plugins",type:"来源类型",typePlaceholder:"选择来源类型",source:"来源",sourcePlaceholderGit:"Git 仓库 URL",sourcePlaceholderGithub:"owner/repo 或完整 URL",sourcePlaceholderLocal:"本地目录路径",branch:"分支(可选)",branchPlaceholder:"main",description:"描述(可选)",descriptionPlaceholder:"市场描述",cancel:"取消",add:"添加",adding:"添加中...",save:"保存",saving:"保存中..."},confirmDelete:'确定要删除市场 "{{name}}" 吗?该市场的所有插件都会被卸载。'},browse:{title:"浏览插件",subtitle:"从市场发现和安装插件",searchPlaceholder:"搜索插件...",filters:{allMarketplaces:"所有市场",allTypes:"所有类型",showOnlyInstalled:"只显示已安装"},noPlugins:"没有可用插件",noMarketplaces:"还没有添加市场",goAddMarketplace:"添加市场以浏览插件",noResults:"未找到插件",adjustSearch:"尝试调整搜索条件",card:{from:"来自",version:"v{{version}}",by:"作者",installed:"已安装",install:"安装",installing:"安装中...",viewDetails:"查看详情"},actions:{details:"详情",install:"安装",uninstall:"卸载"},confirmUninstall:'确定要卸载插件 "{{name}}" 吗?',components:{commands:"{{count}} 个命令",agents:"{{count}} 个 Agent",skills:"{{count}} 个技能",hooks:"{{count}} 个钩子",mcpServers:"{{count}} 个 MCP 服务"},detailModal:{title:"插件详情",version:"版本",author:"作者",marketplace:"市场",updated:"最后更新",components:"组件",files:"文件",readme:"说明文档",noReadme:"无说明文档",install:"安装插件",installing:"安装中...",installed:"已安装",close:"关闭"}},installed:{title:"已安装插件",subtitle:"管理已安装的插件",searchPlaceholder:"搜索已安装插件...",filters:{all:"全部",enabled:"已启用",disabled:"已禁用",allMarketplaces:"所有市场"},noPlugins:"还没有安装插件",goBrowse:"浏览插件以安装",noResults:"未找到匹配的插件",table:{plugin:"插件",marketplace:"市场",version:"版本",status:"状态",components:"组件",actions:"操作"},status:{enabled:"已启用",disabled:"已禁用"},actions:{details:"详情",viewDetails:"查看详情",enable:"启用",enabling:"启用中...",disable:"禁用",disabling:"禁用中...",uninstall:"卸载"},confirmUninstall:'确定要卸载插件 "{{name}}" 吗?',detailModal:{title:"插件详情",basicInfo:"基本信息",version:"版本",author:"作者",marketplace:"市场",installedAt:"安装时间",status:"状态",components:"组件",commands:"命令",agents:"Agents",skills:"技能",hooks:"钩子",mcpServers:"MCP 服务",none:"无",files:"插件文件",viewFile:"查看文件",close:"关闭",enable:"启用",disable:"禁用",uninstall:"卸载"},fileViewer:{title:"文件查看器",loading:"加载中...",error:"加载文件失败",close:"关闭"}},messages:{installSuccess:"插件安装成功,请刷新以使用新插件",installError:"安装插件失败",enableSuccess:"插件启用成功,请刷新以使用该插件",enableError:"启用插件失败",disableSuccess:"插件已成功禁用",disableError:"禁用插件失败",uninstallSuccess:"插件已成功卸载",uninstallError:"卸载插件失败",marketplaceAddSuccess:"市场添加成功",marketplaceAddError:"添加市场失败",marketplaceSyncSuccess:"市场同步成功",marketplaceSyncError:"同步市场失败",marketplaceRemoveSuccess:"市场移除成功",marketplaceRemoveError:"移除市场失败"},detail:{back:"返回",root:"根目录",noDescription:"无描述",version:"版本",author:"作者",license:"许可证",components:"组件",type:"类型",name:"名称",description:"描述",actions:"操作",viewEntryFile:"查看入口文件",browseDirectory:"浏览目录",noComponents:"未找到组件",loadFailed:"加载插件详情失败",componentTypes:{command:"命令",agent:"Agent",skill:"技能",hook:"钩子",mcp:"MCP 服务"}}},gM={title:"技能管理",subtitle:"管理你的专业技能库",loading:"加载技能中...",searchPlaceholder:"搜索技能...",createButton:"创建新技能",noSkills:"还没有技能",noSkillsSearch:"未找到匹配的技能",createFirst:"创建你的第一个专业技能",adjustSearch:"尝试调整搜索条件",card:{viewDetails:"查看详情",tools:"{{count}} 个工具",editSkill:"编辑技能",deleteSkill:"删除技能"},form:{name:"技能名称",namePlaceholder:"例如:网页开发专家",nameRequired:"请输入技能名称",description:"技能描述",descriptionPlaceholder:"描述这个技能的作用和适用场景...",systemPrompt:"系统提示词",systemPromptPlaceholder:"定义AI助手在启用此技能时的行为和专业知识...",tags:"标签",tagsPlaceholder:"添加相关标签,用逗号分隔",enabledTools:"启用的工具",selectTools:"选择工具",tools:"工具",allTools:"所有工具",save:"保存技能",cancel:"取消",saving:"保存中...",preview:{title:"预览",name:"技能名称",description:"技能描述",tools:"可用工具"}},modal:{createTitle:"创建新技能",editTitle:"编辑技能",saveSkill:"保存技能",updateSkill:"更新技能",close:"关闭"},delete:{title:"删除技能",confirmMessage:'确定要删除技能 "{{name}}" 吗?此操作无法撤销。',cancel:"取消",delete:"删除",deleting:"删除中..."},errors:{createFailed:"创建技能失败",updateFailed:"更新技能失败",deleteFailed:"删除技能失败",loadFailed:"加载技能失败"},success:{create:"技能创建成功",update:"技能更新成功",delete:"技能删除成功"},editor:{title:"技能编辑器",files:{title:"技能文件",addFile:"添加文件",createFile:"新建文件",uploadFile:"上传文件",noFiles:"还没有技能文件",fileActions:"文件操作",deleteFile:"删除文件",renameFile:"重命名文件",saveFile:"保存文件"},manifest:{title:"技能清单",name:"技能名称",description:"描述",version:"版本",author:"作者",license:"许可证",tags:"标签"},validation:{invalidYaml:"YAML 格式错误",missingFields:"缺少必需字段",invalidSkillName:"技能名称无效"}}},vM={title:"A2A Protocol 管理",subtitle:"管理 Agent-to-Agent 通信协议",tabs:{overview:"概览",keys:"API密钥",external:"外部Agent",tasks:"任务监控"},overview:{agentIdentity:"Agent Identity",a2aAgentId:"A2A Agent ID",copy:"复制",projectId:"项目ID",agentType:"Agent类型",notEnabled:"此项目尚未启用A2A功能",enableHint:"创建API密钥后自动启用",agentCard:"Agent Card",quickStats:"快速统计",apiKeys:"API密钥",externalAgents:"外部Agent",activeTasks:"活跃任务"},keys:{title:"API密钥管理",createButton:"创建密钥",noKeys:"还没有API密钥",createFirst:"创建第一个API密钥",active:"Active",description:"描述",createdAt:"创建时间",lastUsed:"最后使用",usageCount:"使用次数",show:"显示",hide:"隐藏",delete:"删除",deleteConfirm:"确定要删除这个API密钥吗?此操作不可撤销。",createModal:{title:"创建API密钥",descriptionLabel:"描述 *",descriptionPlaceholder:"例如:生产环境密钥",descriptionHint:"用于标识此API密钥的用途,最多100个字符",descriptionRequired:"描述不能为空",descriptionTooLong:"描述不能超过100个字符",importantNote:"重要提示:",importantHint:"API密钥创建后只会完整显示一次,请妥善保存。",cancel:"取消",creating:"创建中...",createKey:"创建密钥"},copySuccess:"已复制到剪贴板",copyFailed:"复制失败"},external:{title:"外部Agent配置",addButton:"添加Agent",noAgents:"还没有配置外部Agent",addFirst:"添加第一个外部Agent",name:"Agent名称",url:"URL",apiKey:"API密钥",description:"描述",enabled:"启用",disabled:"禁用",enable:"启用",disable:"禁用",edit:"编辑",delete:"删除",deleteConfirm:"确定要删除这个外部Agent吗?此操作不可撤销。",addModal:{title:"添加外部Agent",editTitle:"编辑外部Agent",nameLabel:"Agent名称 *",namePlaceholder:"例如:数据分析Agent",nameRequired:"Agent名称不能为空",nameTooLong:"Agent名称不能超过50个字符",urlLabel:"URL *",urlPlaceholder:"https://agent.example.com/a2a/uuid",urlRequired:"URL不能为空",urlInvalid:"URL格式无效",urlHint:"必须是完整的HTTP或HTTPS URL",apiKeyLabel:"API密钥 *",apiKeyRequired:"API密钥不能为空",apiKeyPlaceholder:"agt_proj_external_key_here",descriptionLabel:"描述",descriptionPlaceholder:"可选的Agent功能描述",enabledLabel:"启用此Agent",cancel:"取消",addAgent:"添加Agent",saveChanges:"保存修改"},errors:{createFailed:"创建外部Agent失败",updateFailed:"更新外部Agent失败",deleteFailed:"删除外部Agent失败"},success:{create:"外部Agent创建成功",update:"外部Agent更新成功",delete:"外部Agent删除成功"}},tasks:{title:"任务监控",noTasks:"还没有任务记录",notEnabled:"需要先启用A2A功能",refresh:"刷新",status:{pending:"等待中",running:"运行中",completed:"已完成",failed:"失败",canceled:"已取消"},taskId:"任务ID",createdAt:"创建时间",startedAt:"开始时间",completedAt:"完成时间",cancel:"取消任务",cancelConfirm:"确定要取消这个任务吗?",cancelSuccess:"任务已取消",cancelFailed:"取消任务失败"},errors:{createKeyFailed:"创建API密钥失败",deleteKeyFailed:"删除API密钥失败",loadConfigFailed:"加载A2A配置失败",updateConfigFailed:"更新A2A配置失败",loadMappingFailed:"加载Agent映射失败",loadCardFailed:"加载Agent Card失败",loadTasksFailed:"加载任务列表失败"},success:{createKey:"API密钥创建成功",deleteKey:"API密钥删除成功",updateConfig:"A2A配置更新成功"}},yM={docs:tM,nav:nM,version:aM,footer:iM,login:sM,landing:rM,agents:oM,projects:lM,chat:cM,dashboard:uM,settings:dM,analytics:fM,mcp:hM,commands:pM,plugins:mM,skills:gM,a2a:vM},bM="AgentStudio",_M="选择一个智能助手开始工作",SM="正在加载...",xM="可用的智能助手",wM="已禁用的助手",CM="共 {{count}} 个助手",kM="创建自定义助手",AM="自定义助手功能即将推出!",EM="还没有可用的智能助手",TM="启用一些内置助手或创建自己的自定义助手开始使用",NM="管理智能助手",MM="开始使用",jM="编辑助手",RM="禁用助手",DM="启用助手",PM="已禁用",OM="启用助手",LM={slides:"幻灯片",chat:"对话","claude-code":"Claude Code"},FM={toggleFailed:"操作失败,请重试"},zM={title:bM,subtitle:_M,loading:SM,availableAgents:xM,disabledAgents:wM,agentCount:CM,createCustomAgent:kM,customAgentComingSoon:AM,noAgentsTitle:EM,noAgentsDescription:TM,manageAgents:NM,startUsing:MM,editAgent:jM,disableAgent:RM,enableAgent:DM,disabledStatus:PM,enableAgentButton:OM,componentTypes:LM,errors:FM},UM={enabled:"已启用",disabled:"已禁用"},IM={name:"项目名称",nameRequired:"项目名称 *",namePlaceholder:"输入项目名称",description:"项目描述",descriptionPlaceholder:"简单描述这个项目的用途...",directory:"项目目录",directoryNote:"项目将在此目录下创建一个新文件夹",agentType:"选择助手类型 *",agentTypePlaceholder:"选择一个助手类型"},HM={name:"助手名称",namePlaceholder:"输入助手名称",description:"助手描述",descriptionPlaceholder:"描述这个助手的功能...",systemPrompt:"系统提示",systemPromptPlaceholder:"输入系统提示词...",tools:"可用工具",selectTools:"选择工具"},qM={editTitle:"编辑命令",createTitle:"新建命令",formMode:"表单",codeMode:"代码",saveChanges:"保存更改",createCommand:"创建命令",nameLabel:"命令名称",nameHint:"只能包含字母、数字、下划线和短划线",modelLabel:"指定模型",inheritModel:"继承对话设置",modelHint:"为此命令指定特定的 AI 模型。",namespaceLabel:"命名空间",namespaceHint:"用于组织命令,可以包含 / 分隔符",argumentHintLabel:"参数提示",argumentHintHint:"在自动完成时显示的参数提示",descriptionLabel:"描述",descriptionPlaceholder:"优化代码性能和可读性",descriptionHint:"命令的简短描述,如果不填写将使用内容的第一行",allowedToolsLabel:"允许的工具",selectTools:"选择工具",regularToolsCount:"常规工具 {{count}} 个",mcpToolsCount:"MCP工具 {{count}} 个",allowedToolsHint:"留空则继承对话权限",contentLabel:"命令内容",contentPlaceholder:`分析这段代码的性能问题并提供优化建议:
89
+ 此操作无法撤销,相关的所有会话也会被删除。`},cM={title:"项目管理",subtitle:"管理你的所有工作项目",createButton:"创建新项目",selectType:"选择助手类型创建工作项目",noProjects:"暂无项目",searchPlaceholder:"搜索项目...",loading:"正在加载项目...",filter:{all:"全部",active:"活跃",inactive:"未活跃"},table:{project:"项目",agent:"助手",lastActive:"最后活跃",sessions:"会话",actions:"操作",sessionsCount:"{{count}} 个会话"},form:{create:"创建项目",edit:"编辑项目",name:"项目名称",namePlaceholder:"输入项目名称",nameRequired:"项目名称 *",agentType:"选择助手类型 *",agentTypePlaceholder:"选择一个助手类型",directory:"项目目录",directoryNote:"项目将在此目录下创建一个新文件夹",description:"项目描述",descriptionPlaceholder:"简单描述这个项目的用途...",save:"保存",cancel:"取消"},actions:{open:"打开",openInNewTab:"在新标签页打开",edit:"编辑",delete:"删除"},status:{active:"活跃",inactive:"未活跃",never:"从未"},errors:{createFailed:"创建项目失败",updateFailed:"更新项目失败",deleteFailed:"删除项目失败",loadFailed:"加载项目失败"},deleteConfirm:"确定要删除项目吗?",deleteNote:"注意:这只会从列表中移除项目,不会删除实际的文件目录。",deleteSuccess:"项目已删除"},uM={title:"对话",inputPlaceholder:"输入消息...",aiTyping:"AI正在输入中",newSession:"新对话",sessionHistory:"历史会话",loading:"正在加载智能助手...",agentNotFound:"助手未找到",agentNotFoundDesc:"无法找到指定的智能助手,可能已被删除或禁用。",agentDisabled:"助手已禁用",agentDisabledDesc:'智能助手 "{{name}}" 目前已被禁用,无法使用。',closePage:"关闭页面",tabNotification:{working:"🤖 正在工作",completed:"✅ 已完成",error:"❌ 发生错误"}},dM={title:"首页",welcome:{title:"让我们开始工作吧",subtitle:"选择一个项目,开始与 AI 协作完成任务"},defaultProjectName:"默认工作空间",loading:"加载中...",creatingDefaultProject:"正在创建默认工作空间...",noAgentsEnabled:"没有可用的 Agent,请先启用一个 Agent",goToAgents:"前往 Agent 管理",selectProject:"选择项目",noProjects:"暂无项目",createNewProject:"创建新项目",noProjectsHint:{title:"还没有项目",description:"创建一个项目来开始与 AI 协作",createButton:"一键创建默认项目",creating:"创建中..."},projectCreated:{title:"项目创建成功",message:"已经为您创建项目:{{name}},你现在可以开始与 Agent 工作了。"},quickLinks:{title:"快捷入口",projects:"项目管理",modelSettings:"模型供应商",scheduledTasks:"定时任务",customAgents:"自定义 Agent"},sessions:{title:"活跃会话",clearAll:"清除全部",close:"关闭会话",closed:"会话已关闭",closedMessage:"会话已成功关闭",closeFailed:"关闭失败",closeError:"无法关闭会话",allCleared:"全部清除",allClearedMessage:"已清除 {{count}} 个会话",clearFailed:"清除失败",clearError:"无法清除会话",confirmed:"已确认",pending:"等待中",idle:"空闲",heartbeatTimeout:"心跳超时",session:"会话"},selectProjectToStart:"请选择一个项目开始聊天",stats:{agentManagement:"Agent管理",workProjects:"工作项目",slashCommands:"Slash命令",activeSessions:"活跃会话"},recentAgents:{title:"常用助手",viewAll:"查看全部",types:{slides:"演示文稿","claude-code":"Claude Code"},noAgents:"暂无可用助手",goEnable:"去启用助手"},quickActions:{title:"快速操作",createProject:{title:"创建新项目",description:"选择助手类型创建工作项目"},createAgent:{title:"创建新助手",description:"配置自定义AI助手"},addMcp:{title:"添加MCP服务",description:"连接新的MCP服务器"},viewAnalytics:{title:"查看统计",description:"分析使用情况和性能"}},overview:"概览",statistics:"统计信息",recentActivity:"最近活动",templates:{organizeFiles:"整理文件",analyzeFiles:"文件分析",writeDoc:"写一份文档",codeReview:"代码审查",checkWeather:"查深圳天气",quickTask:"自由提问"}},fM=JSON.parse('{"title":"设置","general":{"title":"通用设置","description":"配置界面外观、查看系统信息和隐私设置","interfaceSettings":"外观设置","theme":{"label":"主题","description":"选择界面主题模式","auto":"跟随系统","light":"浅色模式","dark":"深色模式"},"language":{"label":"语言","description":"选择界面语言"},"password":{"title":"访问密码","checking":"正在检查...","currentlySet":"当前已设置访问密码","currentlyNotSet":"当前未设置密码,可免密登录","description":"设置密码后,登录时需要输入密码。留空并保存可清除密码,启用免密登录。","newPassword":"新密码","newPasswordPlaceholder":"输入新密码(留空则清除密码)","confirmPassword":"确认密码","confirmPasswordPlaceholder":"再次输入密码","save":"保存密码","clear":"清除密码","mismatch":"两次输入的密码不一致","tooShort":"密码长度至少为4位","setSuccess":"密码设置成功,下次登录时生效","clearSuccess":"密码已清除,系统现在可以免密登录","saveFailed":"保存密码失败","clearFailed":"清除密码失败"}},"api":"API服务器设置","memory":"全局记忆","memorySettings":{"title":"全局记忆设置","description":"全局记忆是所有AI助手共享的背景信息,包含您的工作偏好、项目信息等","fileSourceInfo":"内容来自用户目录下的 ~/.claude/CLAUDE.md 文件。","memoryContent":"记忆内容","edit":"编辑","cancelEdit":"取消编辑","refresh":"刷新","refreshing":"刷新中...","placeholder":"在这里编写您的全局记忆内容...","cancel":"取消","saveMemory":"保存记忆","loading":"正在加载全局记忆...","noMemory":"暂无全局记忆内容","clickEditToStart":"点击\\"编辑\\"按钮开始添加","infoAutoLoad":"全局记忆将在每次对话时自动加载,为AI提供背景信息","infoSuggestions":"建议包含:工作偏好、项目背景、个人信息等","infoFileLocation":"文件位置:~/.claude/CLAUDE.md","saveSuccess":"全局记忆已保存","saveFailed":"保存失败,请重试"},"supplier":{"title":"供应商管理","subtitle":"管理多个模型供应商,指定可执行路径、别名和环境变量","addSupplier":"添加供应商","noSuppliers":"还没有配置模型供应商","clickToAddFirst":"点击\\"添加供应商\\"来配置第一个模型供应商","systemLabel":"系统","defaultLabel":"默认","pathLabel":"路径","envVarsLabel":"环境变量","modelsLabel":"支持的模型","setAsDefault":"设为默认","copyCommand":"复制命令","edit":"编辑","delete":"删除","confirmDelete":"确定要删除供应商 \\"{{alias}}\\" 吗?","currentSupplier":{"title":"当前供应商","checking":"检查中...","checkVersion":"检查供应商","claudeDesc":"AI编程助手","updating":"更新中...","update":"更新","willUse":"将使用","toUpdate":"更新","nodejsDesc":"JavaScript运行环境","preferred":"推荐","packageManager":"包管理器","lastChecked":"最后检查时间","clickToCheck":"点击\\"检查供应商\\"获取供应商信息","updateSuccess":"更新成功","updateFailed":"更新失败","info1":"Claude Code 是 AI 编程助手,支持代码生成、编辑和项目管理","info2":"Node.js 是系统运行的基础环境","info3":"支持多种包管理器:npm、pnpm、yarn(优先级:pnpm > yarn > npm)","info4":"系统会自动选择推荐的包管理器进行更新操作","info5":"建议保持 Claude Code 为最新版本以获得最佳体验"},"templates":{"title":"供应商快速配置模板","description":"选择预设模板快速配置第三方API供应商,自动填充环境变量配置","providers":{"glm":{"name":"GLM (智谱AI)","description":"使用智谱AI的GLM模型服务,兼容Anthropic API"},"deepseek":{"name":"DeepSeek","description":"使用DeepSeek的高性能模型服务"},"kimi":{"name":"Kimi K2 (月之暗面)","description":"使用Kimi K2模型服务,支持Anthropic API兼容"},"minimax":{"name":"MiniMax","description":"使用MiniMax的高性能模型服务,支持Anthropic API兼容"}}},"form":{"createTitle":"添加新供应商","editTitle":"编辑供应商","supplierName":"供应商名称","supplierNamePlaceholder":"例如: Claude Code v1.2.3","alias":"别名","aliasPlaceholder":"例如: claude-1.2.3","description":"描述","descriptionPlaceholder":"供应商描述(可选)","executablePath":"可执行文件路径","executablePathPlaceholder":"不指定则使用系统默认路径","browseFile":"浏览文件","envVars":"环境变量","varName":"变量名","varValue":"变量值","emptyValue":"未设置","getApiKey":"获取密钥","models":"模型配置","modelId":"模型ID","modelName":"模型名称","visionModel":"视觉模型","addModel":"添加模型","cancel":"取消","saving":"保存中...","update":"更新","create":"创建","selectExecutable":"选择Claude可执行文件"},"errors":{"requiredFields":"请填写所有必填字段","saveFailed":"保存失败","deleteFailed":"删除失败","setDefaultFailed":"设置默认供应商失败","cannotDeleteSystem":"不能删除系统供应商","copyFailed":"复制失败,请手动复制以下命令:"},"success":{"createVersion":"供应商创建成功","updateVersion":"供应商更新成功","deleteVersion":"供应商删除成功","setDefault":"已将 \\"{{alias}}\\" 设置为默认供应商","copyCommand":"命令已复制到剪贴板"}},"cloudflare":{"title":"Cloudflare Tunnel","description":"一键启用外网访问,通过 Cloudflare Tunnel 将本地服务暴露到公网","wizard":{"showGuide":"显示设置向导","steps":{"intro":"介绍","credentials":"配置凭证","create":"创建隧道","start":"启动服务","done":"完成"},"intro":{"title":"欢迎使用 Cloudflare Tunnel","description":"Cloudflare Tunnel 可以让你无需公网 IP,就能将本地运行的 AgentStudio 暴露到公网,实现随时随地访问。","benefit1":"无需公网 IP 或路由器配置","benefit2":"自动 HTTPS 加密,安全可靠","benefit3":"利用 Cloudflare 全球 CDN 加速","benefit4":"免费使用,快速部署","requirements":"前置要求","req1":"一个 Cloudflare 免费账号","req2":"Python 3 环境(用于调用 API)","req3":"Docker 或 cloudflared CLI(用于启动隧道)","getStarted":"开始设置"},"credentials":{"howToGet":"如何获取 Cloudflare 凭证?","step1":"访问 Cloudflare Dashboard 创建 API Token","step2":"配置权限:Cloudflare Tunnel - Edit","step3":"复制 Account ID 和 API Token","openDashboard":"打开 Cloudflare Dashboard","saveAndContinue":"保存并继续"},"create":{"description":"现在可以创建你的第一个 Tunnel 了。你可以自定义子域名前缀,或者留空让系统自动生成。","createButton":"一键创建 Tunnel"},"start":{"tunnelCreated":"Tunnel 创建成功!","nextStep":"现在需要启动 cloudflared 客户端来建立连接。","yourPublicUrl":"你的公网访问地址","importantNote":"重要提示","needToStartClient":"Tunnel 已创建,但还需要启动 cloudflared 客户端才能真正建立连接。请按照下方步骤操作。","howToStart":"如何启动 Tunnel?","option1":"方式一:使用 Docker","option2":"方式二:使用 cloudflared CLI","recommended":"推荐","copy":"复制","copied":"已复制","installCloudfared":"安装 cloudflared","runCommand":"运行命令","finishSetup":"完成设置"},"done":{"title":"设置完成!","description":"你的 AgentStudio 现在可以通过公网访问了","deleteTunnel":"删除 Tunnel","reminder":"温馨提示","keepClientRunning":"请保持 cloudflared 客户端运行,关闭后将无法访问公网地址。"}},"credentials":{"title":"Cloudflare 凭证配置","configured":"凭证已配置","update":"更新凭证","apiToken":"API Token","accountId":"Account ID","save":"保存","saving":"保存中...","cancel":"取消","help":"获取 API Token 和 Account ID,请访问"},"tunnel":{"title":"Tunnel 管理","active":"当前激活的 Tunnel","publicUrl":"公网访问地址","name":"Tunnel 名称","localPort":"本地端口","createdAt":"创建时间","subdomain":"子域名前缀(可选)","subdomainPlaceholder":"留空自动生成随机子域名","subdomainHelp":"留空将自动生成一个随机子域名","create":"一键启用外网访问","creating":"创建中...","details":"Tunnel 详情","token":"Tunnel Token","cliCommand":"CLI 启动命令"},"credentialsSaved":"Cloudflare 凭证保存成功","tunnelCreated":"Tunnel 创建成功!现在可以通过公网 URL 访问","tunnelDeleted":"Tunnel 已删除","confirmDelete":"确定要删除这个 Tunnel 吗?","errors":{"credentialsRequired":"请填写 API Token 和 Account ID"}},"language":"语言设置","subagents":{"title":"Subagent 管理","subtitle":"管理专门的 AI 子代理","loading":"正在加载 Subagents...","loadFailed":"加载失败","loadFailedMessage":"无法加载 Subagents 列表","retry":"重试","searchPlaceholder":"搜索 Subagents...","createButton":"新建 Subagent","noSubagents":"还没有 Subagents","noSubagentsSearch":"未找到匹配的 Subagents","adjustSearch":"尝试调整搜索条件","createFirst":"创建你的第一个专门的 AI 子代理来处理特定任务","table":{"subagent":"Subagent","tools":"工具","createdAt":"创建时间","actions":"操作","toolsCount":"{{count}} 个工具","inheritSettings":"继承对话设置"},"actions":{"edit":"编辑","view":"查看","editTitle":"编辑 Subagent","viewTitle":"查看 Subagent","deleteTitle":"删除 Subagent"},"source":{"local":"本地","plugin":"插件"},"deleteConfirm":{"title":"确认删除","message":"确定要删除 Subagent \\"{{name}}\\" 吗?","warning":"此操作无法撤销。","cancel":"取消","delete":"删除"}},"mcpAdmin":{"title":"MCP Admin Server","subtitle":"配置 MCP Admin API,允许外部 AI 工具管理您的 AgentStudio","refresh":"刷新","serverStatus":"服务器状态","status":{"status":"状态","active":"运行中","version":"版本","tools":"可用工具","activeKeys":"活跃密钥","unavailable":"服务不可用"},"endpoint":"端点","apiKeys":"API 密钥","createKey":"创建密钥","noKeys":"暂无 API 密钥","noKeysHint":"创建一个 API 密钥以允许外部工具访问","createdAt":"创建于","lastUsed":"最后使用","revoked":"已撤销","revokeKey":"撤销密钥","confirmRevoke":"确定要撤销此 API 密钥吗?此操作无法撤销。","availableTools":"可用管理工具","createKeyTitle":"创建 API 密钥","keyDescription":"密钥描述","keyDescriptionPlaceholder":"例如:Cursor MCP 连接","fullPermissions":"此密钥将拥有完整管理权限","cancel":"取消","create":"创建","creating":"创建中...","keyCreated":"API 密钥已创建!","configTitle":"MCP 配置","saveKeyWarning":"请立即保存此密钥!它只会显示这一次,无法再次查看。","yourApiKey":"您的 API 密钥","configFile":"配置文件","copyConfig":"复制配置","done":"完成","showKey":"显示密钥","hideKey":"隐藏密钥","copyKey":"复制密钥","viewConfig":"查看配置","limitTools":"限制可用工具","selectAll":"全选","deselectAll":"取消全选","selectedToolsCount":"已选择 {{count}} 个工具","limitedTools":"限制 {{count}} 个工具","allToolsAccess":"所有工具","disabled":"已停用","enableKey":"启用密钥","disableKey":"停用密钥","editKey":"编辑密钥","editKeyTitle":"编辑 API 密钥","save":"保存","saving":"保存中...","toolParams":"参数","noParams":"无参数","success":{"copied":"已复制到剪贴板","keyRevoked":"API 密钥已撤销","keyUpdated":"API 密钥已更新","keyEnabled":"API 密钥已启用","keyDisabled":"API 密钥已停用"},"errors":{"configFetch":"获取配置失败","createFailed":"创建密钥失败","revokeFailed":"撤销密钥失败","copyFailed":"复制失败","descriptionRequired":"请输入密钥描述","updateFailed":"更新密钥失败","toggleFailed":"切换密钥状态失败"},"help":{"button":"使用帮助","title":"MCP Admin Server 使用帮助","whatIs":"什么是 MCP Admin Server?","whatIsDesc":"MCP Admin Server 是一个标准的 MCP(Model Context Protocol)服务器,允许其他 AI 工具(如 Cursor、Claude Desktop)通过 MCP 协议远程管理您的 AgentStudio。通过这个接口,您可以在其他 AI 工具中直接查询和管理 AgentStudio 的项目、智能体、MCP 服务器等。","howToUse":"如何使用?","step1":"在本页面创建一个 Admin API 密钥","step2":"点击「查看配置」获取配置代码片段","step3":"将配置添加到 Cursor 或 Claude Desktop 的 MCP 配置文件中","step4":"重启 Cursor/Claude Desktop,然后就可以在对话中使用管理工具了","availableTools":"可用工具示例","toolListProjects":"列出所有项目","toolGetProject":"获取项目详情","toolListAgents":"列出所有智能体","toolGetAgent":"获取智能体详情","toolHealthCheck":"系统健康检查","examples":"使用示例","examplePrompt":"在 Cursor 中,你可以直接对 AI 说:"}},"apiSettings":{"title":"API服务器设置","hostLabel":"API服务器地址","hostPlaceholder":"http://localhost:4936 或 https://your-domain.com","testConnection":"测试连接","quickSelect":"快捷选择:","connectionStatus":"连接状态","status":{"success":"连接成功","error":"连接失败","untested":"未测试"},"serverError":"服务器响应错误: {{status}} {{statusText}}","connectionFailed":"连接失败: {{message}}","connectionUnknownError":"连接失败: 未知错误","enterApiHost":"请输入API服务器地址","settingsSavedRefresh":"设置已保存,页面将刷新以应用新设置","usage":{"title":"使用说明:","localDev":"在本地开发时,使用","production":"在生产环境中,使用您的服务器域名,如","cors":"确保服务器支持CORS访问,允许前端域名访问","refresh":"修改后需要刷新页面才能生效"},"resetToDefault":"重置为默认","saveSettings":"保存设置"},"telemetry":{"title":"遥测与分析","description":"管理匿名使用数据收集","enableTelemetry":"启用匿名遥测","enableDescription":"分享匿名使用数据,帮助我们改进 AgentStudio","statusEnabled":"遥测已启用。感谢您帮助改进 AgentStudio!","statusDisabled":"遥测已禁用。不会收集任何数据。","whatWeCollect":"我们收集的数据","whatWeNeverCollect":"我们绝不收集的数据","collect":{"installId":"匿名安装 ID","installIdDesc":"一个随机 UUID 用于区分安装实例,不与您的身份关联","version":"应用版本和操作系统","versionDesc":"帮助我们了解哪些版本和平台使用最多","features":"功能使用统计","featuresDesc":"哪些功能被使用(不包含内容或个人数据)","errors":"错误报告","errorsDesc":"脱敏的错误信息和堆栈跟踪(文件路径已移除)"},"neverCollect":{"files":"文件内容、代码或项目数据","keys":"API 密钥、密码或凭据","pii":"个人身份信息(姓名、邮箱、IP)","conversations":"聊天对话或 AI 回复"},"privacyNote":"隐私优先","privacyNoteDesc":"所有遥测数据都是匿名和聚合的。我们无法识别个人用户。您可以随时禁用遥测。","consent":{"title":"帮助改进 AgentStudio","subtitle":"匿名使用数据","description":"我们收集匿名使用数据,以了解 AgentStudio 的使用方式并改善用户体验。不会收集任何个人信息。","whatWeCollect":"我们收集的数据","item1":"匿名安装 ID","item2":"应用版本和操作系统类型","item3":"功能使用统计","item4":"错误报告(不含个人数据)","whatWeDoNotCollect":"我们绝不收集","notItem1":"文件内容或代码","notItem2":"API 密钥或凭据","notItem3":"个人身份信息","changeAnytime":"您可以随时在 设置 → 遥测与分析 中更改此设置。","accept":"是的,我愿意帮助","decline":"不了,谢谢"}},"systemInfo":{"title":"系统信息","subtitle":"查看系统版本和运行时信息","checkUpdate":"检查更新","updateAvailable":"有新版本可用!","versionInfo":"版本信息","appName":"应用名称","currentVersion":"当前版本","latestVersion":"最新版本","upToDate":"已是最新","version":"版本","runtimeInfo":"运行时信息","platform":"操作系统","architecture":"架构","links":"相关链接","viewSource":"查看源代码","viewReleases":"查看发布版本","viewChangelog":"查看更新日志","viewNpm":"在 npm 查看"}}'),hM={title:"数据分析",usage:"使用统计",performance:"性能指标"},pM={title:"MCP服务",subtitle:"管理和监控Model Context Protocol服务器",loading:"正在加载MCP配置...",searchPlaceholder:"搜索配置名称、命令或参数...",addServer:"添加服务",noServers:"还没有MCP服务配置",noResults:"未找到匹配的配置",adjustSearch:"尝试调整搜索条件",addFirstServer:"添加你的第一个MCP服务配置",confirmDelete:'确定要删除 "{{name}}" 配置吗?',validateAll:"验证全部",stats:{total:"总计",active:"活动",error:"错误",validating:"验证中",tools:"工具"},import:{button:"从Claude Code导入",importing:"导入中...",noConfigFound:"没有找到Claude Code的MCP配置(从 ~/.claude.json 读取)",success:"成功导入 {{imported}} 个MCP服务器配置{{skipped, select, 0{} other{,跳过 {{skipped}} 个已存在的配置}}",allExist:"所有配置都已存在,没有导入新的配置"},table:{server:"服务",type:"类型",status:"状态",tools:"可用工具",actions:"操作",toolsCount:"{{count}} 个工具",noTools:"无工具"},status:{active:"可用",error:"错误",validating:"验证中",unvalidated:"未验证"},actions:{validate:"重新验证",copyCommand:"复制命令",edit:"编辑",view:"查看",delete:"删除配置"},source:{local:"本地",plugin:"插件"},modal:{addTitle:"添加MCP服务配置",editTitle:"编辑MCP服务配置",saving:"保存中...",saveConfig:"保存配置",addConfig:"添加配置"},form:{serverName:"服务名称 *",serverNamePlaceholder:"例如:playwright",nameNotEditable:"服务名称不可修改",nameRequired:"请输入服务名称",mcpType:"MCP 类型 *",stdioOption:"Stdio (本地进程)",httpOption:"HTTP (远程服务)",selectConnectionType:"选择 MCP 服务器的连接类型",configuration:"配置 * (JSON格式)",configInvalid:"配置格式不正确,请确保包含必需的 {{fields}} 字段,并且格式正确",configFormatError:"⚠️ 配置格式不正确,请确保包含必需的 {{fields}} 字段",requiredFields:"必需字段:",requiredFieldsStdio:"command 和 args",requiredFieldsHttp:"url",optionalFields:"可选字段:",commandField:'字符串,执行命令(如 "npx", "uvx")',argsField:"数组,命令参数",urlField:"字符串,HTTP MCP 服务器的 URL",headersField:"对象,HTTP 请求头(如认证信息)",note:"注意:",typeAutoAdded:"type 和 source 字段会自动添加,无需在配置中填写。验证超时固定为 60 秒。"},errors:{validationFailed:"验证失败",networkError:"网络错误或服务不可用",deleteFailed:"删除配置失败",importFailed:"导入失败",saveFailed:"保存配置失败",copyFailed:"复制失败"},commandCopied:"命令已复制到剪贴板"},mM={title:"自定义命令",subtitle:"管理 Slash Commands",loading:"加载命令中...",searchPlaceholder:"搜索命令...",createButton:"新建命令",error:{loadFailed:"加载失败",cannotLoadCommands:"无法加载自定义命令",retry:"重试"},empty:{noCommands:"还没有自定义命令",noMatchingCommands:"未找到匹配的命令",adjustSearch:"尝试调整搜索条件或筛选器",createFirst:"创建你的第一个自定义 Slash Command"},table:{command:"命令",model:"模型",tools:"工具",createdAt:"创建时间",actions:"操作",inheritSettings:"继承对话设置",toolsCount:"{{count}} 个工具"},actions:{edit:"编辑",view:"查看",editCommand:"编辑命令",deleteCommand:"删除命令"},source:{local:"本地",plugin:"插件"},delete:{title:"删除命令",confirmMessage:'确定要删除命令 "/{{name}}" 吗?此操作无法撤销。',cancel:"取消",delete:"删除",deleting:"删除中..."}},gM={title:"插件管理",subtitle:"管理插件市场和已安装插件",tabs:{marketplaces:"插件市场",browse:"浏览插件",installed:"已安装插件"},marketplaces:{title:"插件市场",subtitle:"管理插件市场源",addButton:"添加市场",searchPlaceholder:"搜索市场...",noMarketplaces:"还没有配置插件市场",addFirst:"添加你的第一个插件市场",table:{marketplace:"市场",type:"类型",plugins:"插件数",lastSync:"最后同步",actions:"操作"},types:{git:"Git 仓库",github:"GitHub",local:"本地目录"},actions:{sync:"同步",syncing:"同步中...",edit:"编辑",delete:"删除"},addModal:{title:"添加市场",editTitle:"编辑市场",name:"市场名称",namePlaceholder:"例如:official-plugins",type:"来源类型",typePlaceholder:"选择来源类型",source:"来源",sourcePlaceholderGit:"Git 仓库 URL",sourcePlaceholderGithub:"owner/repo 或完整 URL",sourcePlaceholderLocal:"本地目录路径",branch:"分支(可选)",branchPlaceholder:"main",description:"描述(可选)",descriptionPlaceholder:"市场描述",cancel:"取消",add:"添加",adding:"添加中...",save:"保存",saving:"保存中..."},confirmDelete:'确定要删除市场 "{{name}}" 吗?该市场的所有插件都会被卸载。'},browse:{title:"浏览插件",subtitle:"从市场发现和安装插件",searchPlaceholder:"搜索插件...",filters:{allMarketplaces:"所有市场",allTypes:"所有类型",showOnlyInstalled:"只显示已安装"},noPlugins:"没有可用插件",noMarketplaces:"还没有添加市场",goAddMarketplace:"添加市场以浏览插件",noResults:"未找到插件",adjustSearch:"尝试调整搜索条件",card:{from:"来自",version:"v{{version}}",by:"作者",installed:"已安装",install:"安装",installing:"安装中...",viewDetails:"查看详情"},actions:{details:"详情",install:"安装",uninstall:"卸载"},confirmUninstall:'确定要卸载插件 "{{name}}" 吗?',components:{commands:"{{count}} 个命令",agents:"{{count}} 个 Agent",skills:"{{count}} 个技能",hooks:"{{count}} 个钩子",mcpServers:"{{count}} 个 MCP 服务"},detailModal:{title:"插件详情",version:"版本",author:"作者",marketplace:"市场",updated:"最后更新",components:"组件",files:"文件",readme:"说明文档",noReadme:"无说明文档",install:"安装插件",installing:"安装中...",installed:"已安装",close:"关闭"}},installed:{title:"已安装插件",subtitle:"管理已安装的插件",searchPlaceholder:"搜索已安装插件...",filters:{all:"全部",enabled:"已启用",disabled:"已禁用",allMarketplaces:"所有市场"},noPlugins:"还没有安装插件",goBrowse:"浏览插件以安装",noResults:"未找到匹配的插件",table:{plugin:"插件",marketplace:"市场",version:"版本",status:"状态",components:"组件",actions:"操作"},status:{enabled:"已启用",disabled:"已禁用"},actions:{details:"详情",viewDetails:"查看详情",enable:"启用",enabling:"启用中...",disable:"禁用",disabling:"禁用中...",uninstall:"卸载"},confirmUninstall:'确定要卸载插件 "{{name}}" 吗?',detailModal:{title:"插件详情",basicInfo:"基本信息",version:"版本",author:"作者",marketplace:"市场",installedAt:"安装时间",status:"状态",components:"组件",commands:"命令",agents:"Agents",skills:"技能",hooks:"钩子",mcpServers:"MCP 服务",none:"无",files:"插件文件",viewFile:"查看文件",close:"关闭",enable:"启用",disable:"禁用",uninstall:"卸载"},fileViewer:{title:"文件查看器",loading:"加载中...",error:"加载文件失败",close:"关闭"}},messages:{installSuccess:"插件安装成功,请刷新以使用新插件",installError:"安装插件失败",enableSuccess:"插件启用成功,请刷新以使用该插件",enableError:"启用插件失败",disableSuccess:"插件已成功禁用",disableError:"禁用插件失败",uninstallSuccess:"插件已成功卸载",uninstallError:"卸载插件失败",marketplaceAddSuccess:"市场添加成功",marketplaceAddError:"添加市场失败",marketplaceSyncSuccess:"市场同步成功",marketplaceSyncError:"同步市场失败",marketplaceRemoveSuccess:"市场移除成功",marketplaceRemoveError:"移除市场失败"},detail:{back:"返回",root:"根目录",noDescription:"无描述",version:"版本",author:"作者",license:"许可证",components:"组件",type:"类型",name:"名称",description:"描述",actions:"操作",viewEntryFile:"查看入口文件",browseDirectory:"浏览目录",noComponents:"未找到组件",loadFailed:"加载插件详情失败",componentTypes:{command:"命令",agent:"Agent",skill:"技能",hook:"钩子",mcp:"MCP 服务"}}},vM={title:"技能管理",subtitle:"管理你的专业技能库",loading:"加载技能中...",searchPlaceholder:"搜索技能...",createButton:"创建新技能",noSkills:"还没有技能",noSkillsSearch:"未找到匹配的技能",createFirst:"创建你的第一个专业技能",adjustSearch:"尝试调整搜索条件",card:{viewDetails:"查看详情",tools:"{{count}} 个工具",editSkill:"编辑技能",deleteSkill:"删除技能"},form:{name:"技能名称",namePlaceholder:"例如:网页开发专家",nameRequired:"请输入技能名称",description:"技能描述",descriptionPlaceholder:"描述这个技能的作用和适用场景...",systemPrompt:"系统提示词",systemPromptPlaceholder:"定义AI助手在启用此技能时的行为和专业知识...",tags:"标签",tagsPlaceholder:"添加相关标签,用逗号分隔",enabledTools:"启用的工具",selectTools:"选择工具",tools:"工具",allTools:"所有工具",save:"保存技能",cancel:"取消",saving:"保存中...",preview:{title:"预览",name:"技能名称",description:"技能描述",tools:"可用工具"}},modal:{createTitle:"创建新技能",editTitle:"编辑技能",saveSkill:"保存技能",updateSkill:"更新技能",close:"关闭"},delete:{title:"删除技能",confirmMessage:'确定要删除技能 "{{name}}" 吗?此操作无法撤销。',cancel:"取消",delete:"删除",deleting:"删除中..."},errors:{createFailed:"创建技能失败",updateFailed:"更新技能失败",deleteFailed:"删除技能失败",loadFailed:"加载技能失败"},success:{create:"技能创建成功",update:"技能更新成功",delete:"技能删除成功"},editor:{title:"技能编辑器",files:{title:"技能文件",addFile:"添加文件",createFile:"新建文件",uploadFile:"上传文件",noFiles:"还没有技能文件",fileActions:"文件操作",deleteFile:"删除文件",renameFile:"重命名文件",saveFile:"保存文件"},manifest:{title:"技能清单",name:"技能名称",description:"描述",version:"版本",author:"作者",license:"许可证",tags:"标签"},validation:{invalidYaml:"YAML 格式错误",missingFields:"缺少必需字段",invalidSkillName:"技能名称无效"}}},yM={title:"A2A Protocol 管理",subtitle:"管理 Agent-to-Agent 通信协议",tabs:{overview:"概览",keys:"API密钥",external:"外部Agent",tasks:"任务监控"},overview:{agentIdentity:"Agent Identity",a2aAgentId:"A2A Agent ID",copy:"复制",projectId:"项目ID",agentType:"Agent类型",notEnabled:"此项目尚未启用A2A功能",enableHint:"创建API密钥后自动启用",agentCard:"Agent Card",quickStats:"快速统计",apiKeys:"API密钥",externalAgents:"外部Agent",activeTasks:"活跃任务"},keys:{title:"API密钥管理",createButton:"创建密钥",noKeys:"还没有API密钥",createFirst:"创建第一个API密钥",active:"Active",description:"描述",createdAt:"创建时间",lastUsed:"最后使用",usageCount:"使用次数",show:"显示",hide:"隐藏",delete:"删除",deleteConfirm:"确定要删除这个API密钥吗?此操作不可撤销。",createModal:{title:"创建API密钥",descriptionLabel:"描述 *",descriptionPlaceholder:"例如:生产环境密钥",descriptionHint:"用于标识此API密钥的用途,最多100个字符",descriptionRequired:"描述不能为空",descriptionTooLong:"描述不能超过100个字符",importantNote:"重要提示:",importantHint:"API密钥创建后只会完整显示一次,请妥善保存。",cancel:"取消",creating:"创建中...",createKey:"创建密钥"},copySuccess:"已复制到剪贴板",copyFailed:"复制失败"},external:{title:"外部Agent配置",addButton:"添加Agent",noAgents:"还没有配置外部Agent",addFirst:"添加第一个外部Agent",name:"Agent名称",url:"URL",apiKey:"API密钥",description:"描述",enabled:"启用",disabled:"禁用",enable:"启用",disable:"禁用",edit:"编辑",delete:"删除",deleteConfirm:"确定要删除这个外部Agent吗?此操作不可撤销。",addModal:{title:"添加外部Agent",editTitle:"编辑外部Agent",nameLabel:"Agent名称 *",namePlaceholder:"例如:数据分析Agent",nameRequired:"Agent名称不能为空",nameTooLong:"Agent名称不能超过50个字符",urlLabel:"URL *",urlPlaceholder:"https://agent.example.com/a2a/uuid",urlRequired:"URL不能为空",urlInvalid:"URL格式无效",urlHint:"必须是完整的HTTP或HTTPS URL",apiKeyLabel:"API密钥 *",apiKeyRequired:"API密钥不能为空",apiKeyPlaceholder:"agt_proj_external_key_here",descriptionLabel:"描述",descriptionPlaceholder:"可选的Agent功能描述",enabledLabel:"启用此Agent",cancel:"取消",addAgent:"添加Agent",saveChanges:"保存修改"},errors:{createFailed:"创建外部Agent失败",updateFailed:"更新外部Agent失败",deleteFailed:"删除外部Agent失败"},success:{create:"外部Agent创建成功",update:"外部Agent更新成功",delete:"外部Agent删除成功"}},tasks:{title:"任务监控",noTasks:"还没有任务记录",notEnabled:"需要先启用A2A功能",refresh:"刷新",status:{pending:"等待中",running:"运行中",completed:"已完成",failed:"失败",canceled:"已取消"},taskId:"任务ID",createdAt:"创建时间",startedAt:"开始时间",completedAt:"完成时间",cancel:"取消任务",cancelConfirm:"确定要取消这个任务吗?",cancelSuccess:"任务已取消",cancelFailed:"取消任务失败"},errors:{createKeyFailed:"创建API密钥失败",deleteKeyFailed:"删除API密钥失败",loadConfigFailed:"加载A2A配置失败",updateConfigFailed:"更新A2A配置失败",loadMappingFailed:"加载Agent映射失败",loadCardFailed:"加载Agent Card失败",loadTasksFailed:"加载任务列表失败"},success:{createKey:"API密钥创建成功",deleteKey:"API密钥删除成功",updateConfig:"A2A配置更新成功"}},bM={docs:nM,nav:aM,version:iM,footer:sM,login:rM,landing:oM,agents:lM,projects:cM,chat:uM,dashboard:dM,settings:fM,analytics:hM,mcp:pM,commands:mM,plugins:gM,skills:vM,a2a:yM},_M="AgentStudio",SM="选择一个智能助手开始工作",xM="正在加载...",wM="可用的智能助手",CM="已禁用的助手",kM="共 {{count}} 个助手",AM="创建自定义助手",TM="自定义助手功能即将推出!",EM="还没有可用的智能助手",NM="启用一些内置助手或创建自己的自定义助手开始使用",MM="管理智能助手",jM="开始使用",RM="编辑助手",DM="禁用助手",PM="启用助手",OM="已禁用",LM="启用助手",FM={slides:"幻灯片",chat:"对话","claude-code":"Claude Code"},zM={toggleFailed:"操作失败,请重试"},UM={title:_M,subtitle:SM,loading:xM,availableAgents:wM,disabledAgents:CM,agentCount:kM,createCustomAgent:AM,customAgentComingSoon:TM,noAgentsTitle:EM,noAgentsDescription:NM,manageAgents:MM,startUsing:jM,editAgent:RM,disableAgent:DM,enableAgent:PM,disabledStatus:OM,enableAgentButton:LM,componentTypes:FM,errors:zM},IM={enabled:"已启用",disabled:"已禁用"},HM={name:"项目名称",nameRequired:"项目名称 *",namePlaceholder:"输入项目名称",description:"项目描述",descriptionPlaceholder:"简单描述这个项目的用途...",directory:"项目目录",directoryNote:"项目将在此目录下创建一个新文件夹",agentType:"选择助手类型 *",agentTypePlaceholder:"选择一个助手类型"},qM={name:"助手名称",namePlaceholder:"输入助手名称",description:"助手描述",descriptionPlaceholder:"描述这个助手的功能...",systemPrompt:"系统提示",systemPromptPlaceholder:"输入系统提示词...",tools:"可用工具",selectTools:"选择工具"},BM={editTitle:"编辑命令",createTitle:"新建命令",formMode:"表单",codeMode:"代码",saveChanges:"保存更改",createCommand:"创建命令",nameLabel:"命令名称",nameHint:"只能包含字母、数字、下划线和短划线",modelLabel:"指定模型",inheritModel:"继承对话设置",modelHint:"为此命令指定特定的 AI 模型。",namespaceLabel:"命名空间",namespaceHint:"用于组织命令,可以包含 / 分隔符",argumentHintLabel:"参数提示",argumentHintHint:"在自动完成时显示的参数提示",descriptionLabel:"描述",descriptionPlaceholder:"优化代码性能和可读性",descriptionHint:"命令的简短描述,如果不填写将使用内容的第一行",allowedToolsLabel:"允许的工具",selectTools:"选择工具",regularToolsCount:"常规工具 {{count}} 个",mcpToolsCount:"MCP工具 {{count}} 个",allowedToolsHint:"留空则继承对话权限",contentLabel:"命令内容",contentPlaceholder:`分析这段代码的性能问题并提供优化建议:
90
90
 
91
91
  使用参数:$ARGUMENTS
92
92
  使用第一个参数:$1
@@ -115,7 +115,7 @@ model: sonnet
115
115
  使用第二个参数:$2
116
116
 
117
117
  引用文件:@src/utils/helpers.js
118
- 执行命令:!\`git status\``,errors:{nameRequired:"命令名称不能为空",nameFormat:"命令名称只能包含字母、数字、下划线和短划线",contentRequired:"命令内容不能为空",scopeRequired:"请选择命令作用域",saveFailed:"保存失败"}},BM={title:"文件浏览器",searchPlaceholder:"搜索文件...",uploadButton:"上传文件",createFolder:"新建文件夹",rename:"重命名",deleteFile:"删除文件",downloadFile:"下载文件",noFiles:"暂无文件",loading:"加载文件中...",loadFailed:"加载项目文件失败",retry:"重新加载",projectPath:"项目路径",emptyDirectory:"项目目录为空",selectFile:"选择一个文件进行预览",previewNotSupported:"不支持预览此文件类型",fileLabel:"文件",imageLoadFailed:"图片加载失败",cannotReadFile:"无法获取文件内容",noOpenFiles:"暂无打开的文件",moreTabsCount:"还有 {{count}} 个标签",pinnedTab:"固定",temporaryTab:"临时",closeTab:"关闭标签",noProject:"未选择项目",selectProjectFirst:"请先选择一个项目以浏览文件",collapsePanel:"收起目录面板",expandPanel:"展开目录面板"},$M={title:"会话管理",sessionHistory:"会话历史",searchPlaceholder:"搜索会话...",noSessions:"暂无会话",noSessionHistory:"暂无会话历史",noMatchingSessions:"未找到匹配的会话",sessionWillAppear:"开始聊天后会显示会话",messageCount:"{{count}} 条消息",newSession:"新建会话",deleteSession:"删除会话",renameSession:"重命名会话"},VM={title:"工具选择器",searchPlaceholder:"搜索工具...",noTools:"暂无可用工具",selectedTools:"已选工具",selectButton:"选择工具",toolsCount:"常规工具 {{count}} 个",mcpToolsCount:"MCP工具 {{count}} 个"},GM={title:"语言",chinese:"中文",english:"English"},YM={newSession:"新建会话",sessionHistory:"会话历史",refreshMessages:"刷新消息",messagesRefreshed:"消息已刷新",loadingMessages:"正在加载消息...",currentSession:"当前会话",imagePreview:"预览",deleteImage:"删除图片",dropImageHere:"拖放图片到这里",sendImage:"发送了图片",addDescription:"添加描述文字... (可选)",inputPlaceholder:"输入你的消息... (Shift+Enter 换行,Enter 发送,/ 触发命令)",inputPlaceholderMobile:"输入消息...",toolSelection:"工具选择",imageSelection:"选择图片",selectedCount:"已选择{{count}}张",stop:"停止",send:"发送",stopAi:"停止AI",aiTyping:"AI正在输入中",noContent:"无内容可发送",unknownCommand:"未知命令",sendMessage:"发送消息",newMessages:"条新消息",scrollToLatest:"查看最新消息",permissionMode:{default:"默认",acceptEdits:"接受编辑",bypassPermissions:"绕过权限",plan:"计划模式"},model:{sonnet:"Sonnet",opus:"Opus"},claudeVersion:{title:"选择供应商",default:"默认",custom:"自定义",system:"系统",locked:"供应商已锁定(活跃会话)"},settings:{title:"设置",permissionMode:"权限模式",claudeVersion:"供应商",model:"模型",modelAndVersion:"供应商与模型",noSettings:"暂无可用设置"},envVars:{title:"环境变量",add:"添加变量",key:"键",value:"值",save:"保存",cancel:"取消",edit:"编辑",delete:"删除",noVars:"暂无环境变量"},commandWarning:"未知命令: {{command}}。可用命令: {{commands}}",navigateTo:"导航到: {{path}}",errorMessages:{claudeCodeSDKError:"❌ **Claude Code SDK 错误**",parseError:"解析响应数据时出现错误,可能是由于网络中断或服务器响应格式异常。",timeout:"请求处理超时,服务器响应时间过长。",unknownError:"未知错误,请稍后重试。",networkError:`❌ **网络连接错误**
118
+ 执行命令:!\`git status\``,errors:{nameRequired:"命令名称不能为空",nameFormat:"命令名称只能包含字母、数字、下划线和短划线",contentRequired:"命令内容不能为空",scopeRequired:"请选择命令作用域",saveFailed:"保存失败"}},$M={title:"文件浏览器",searchPlaceholder:"搜索文件...",uploadButton:"上传文件",createFolder:"新建文件夹",rename:"重命名",deleteFile:"删除文件",downloadFile:"下载文件",noFiles:"暂无文件",loading:"加载文件中...",loadFailed:"加载项目文件失败",retry:"重新加载",projectPath:"项目路径",emptyDirectory:"项目目录为空",selectFile:"选择一个文件进行预览",previewNotSupported:"不支持预览此文件类型",fileLabel:"文件",imageLoadFailed:"图片加载失败",cannotReadFile:"无法获取文件内容",noOpenFiles:"暂无打开的文件",moreTabsCount:"还有 {{count}} 个标签",pinnedTab:"固定",temporaryTab:"临时",closeTab:"关闭标签",noProject:"未选择项目",selectProjectFirst:"请先选择一个项目以浏览文件",collapsePanel:"收起目录面板",expandPanel:"展开目录面板"},VM={title:"会话管理",sessionHistory:"会话历史",searchPlaceholder:"搜索会话...",noSessions:"暂无会话",noSessionHistory:"暂无会话历史",noMatchingSessions:"未找到匹配的会话",sessionWillAppear:"开始聊天后会显示会话",messageCount:"{{count}} 条消息",newSession:"新建会话",deleteSession:"删除会话",renameSession:"重命名会话"},GM={title:"工具选择器",searchPlaceholder:"搜索工具...",noTools:"暂无可用工具",selectedTools:"已选工具",selectButton:"选择工具",toolsCount:"常规工具 {{count}} 个",mcpToolsCount:"MCP工具 {{count}} 个"},YM={title:"语言",chinese:"中文",english:"English"},KM={newSession:"新建会话",sessionHistory:"会话历史",refreshMessages:"刷新消息",messagesRefreshed:"消息已刷新",loadingMessages:"正在加载消息...",currentSession:"当前会话",imagePreview:"预览",deleteImage:"删除图片",dropImageHere:"拖放图片到这里",sendImage:"发送了图片",addDescription:"添加描述文字... (可选)",inputPlaceholder:"输入你的消息... (Shift+Enter 换行,Enter 发送,/ 触发命令)",inputPlaceholderMobile:"输入消息...",toolSelection:"工具选择",imageSelection:"选择图片",selectedCount:"已选择{{count}}张",stop:"停止",send:"发送",stopAi:"停止AI",aiTyping:"AI正在输入中",noContent:"无内容可发送",unknownCommand:"未知命令",sendMessage:"发送消息",newMessages:"条新消息",scrollToLatest:"查看最新消息",permissionMode:{default:"默认",acceptEdits:"接受编辑",bypassPermissions:"绕过权限",plan:"计划模式"},model:{sonnet:"Sonnet",opus:"Opus"},claudeVersion:{title:"选择供应商",default:"默认",custom:"自定义",system:"系统",locked:"供应商已锁定(活跃会话)"},settings:{title:"设置",permissionMode:"权限模式",claudeVersion:"供应商",model:"模型",modelAndVersion:"供应商与模型",noSettings:"暂无可用设置"},envVars:{title:"环境变量",add:"添加变量",key:"键",value:"值",save:"保存",cancel:"取消",edit:"编辑",delete:"删除",noVars:"暂无环境变量"},commandWarning:"未知命令: {{command}}。可用命令: {{commands}}",navigateTo:"导航到: {{path}}",errorMessages:{claudeCodeSDKError:"❌ **Claude Code SDK 错误**",parseError:"解析响应数据时出现错误,可能是由于网络中断或服务器响应格式异常。",timeout:"请求处理超时,服务器响应时间过长。",unknownError:"未知错误,请稍后重试。",networkError:`❌ **网络连接错误**
119
119
 
120
120
  无法连接到AI服务,请检查网络连接后重试。`,requestTimeout:`⏰ **请求超时**
121
121
 
@@ -139,7 +139,7 @@ model: sonnet
139
139
 
140
140
  此会话的成本限制已超出。`,maxRetriesReached:`🔄 **达到最大重试次数**
141
141
 
142
- 多次尝试后未能获得有效响应。`},KM={init:{name:"init",description:"初始化项目或重置对话上下文"},clear:{name:"clear",description:"清空当前对话历史"},compact:{name:"compact",description:"压缩对话历史,保留关键信息"},agents:{name:"agents",description:"管理AI代理和子代理"},settings:{name:"settings",description:"打开设置页面"},help:{name:"help",description:"显示帮助信息"}},XM={title:"记忆管理"},QM={title:"命令管理"},ZM={title:"子Agent管理"},WM={title:"活跃会话",activeCount:"当前活跃: {{count}} 个会话",loadingMessage:"加载会话信息...",status:{pending:"等待中",active:"活跃",idle:"空闲"},labels:{session:"会话",agent:"Agent",project:"项目",activity:"活动"},time:{hoursMinutes:"{{hours}}小时{{minutes}}分钟",minutesSeconds:"{{minutes}}分钟{{seconds}}秒",seconds:"{{seconds}}秒"},heartbeat:{none:"无心跳",timeout:"心跳超时"},actions:{openChat:"打开聊天窗口",cleanup:"清理会话"},errors:{loadFailed:"加载会话信息失败",cleanupFailed:"清理会话失败,请重试",navigationFailed:"导航失败,已降级处理"},empty:{noSessions:"暂无活跃会话",startChatHint:"开始与助手对话即可创建会话"}},JM={title:"选择文件或目录",emptyDirectory:"此目录为空",toolbar:{homeDirectory:"主目录",parentDirectory:"上级目录",loadingPath:"加载中...",newDirectory:"新建目录",showHidden:"显示隐藏文件",hideHidden:"隐藏隐藏文件",restrictedToProject:"限制在项目目录内"},table:{name:"名称",size:"大小",modified:"修改时间",actions:"操作"},actions:{select:"选择",cancel:"取消",createFolder:"创建目录",creating:"创建中...",preview:"预览",previewCSV:"预览CSV文件",previewJSONL:"预览JSONL文件"},dialog:{newFolder:"新建目录",createAt:"在以下位置创建新目录:",folderName:"目录名称",folderNamePlaceholder:"输入目录名称"},footer:{itemsCount:"{{count}} 个项目"},errors:{error:"错误",loadFailed:"加载目录失败",browseFailed:"浏览目录失败",createFailed:"创建目录失败"}},ej={loading:"加载CSV文件中...",info:{rowCount:"共 {{count}} 行数据",filtered:"已过滤"},search:{placeholder:"搜索CSV内容..."},table:{untitled:"未命名"},empty:{noData:"没有数据可显示"},pagination:{showing:"显示第 {{start}}-{{end}} 条,共 {{total}} 条",previous:"上一页",next:"下一页"},actions:{close:"关闭",download:"下载",maximize:"最大化",minimize:"最小化"},errors:{title:"预览错误",loadFailed:"加载CSV文件失败",unknownError:"未知错误"},instructions:"方向键翻页 • Ctrl+F 搜索 • ESC关闭"},tj={loading:"加载JSONL文件中...",info:{recordCount:"共 {{count}} 条记录",errorCount:"{{count}} 条解析错误",filtered:"已过滤"},search:{placeholder:"搜索JSONL内容..."},empty:{noData:"没有数据可显示"},pagination:{showing:"显示第 {{start}}-{{end}} 条,共 {{total}} 条",previous:"上一页",next:"下一页"},actions:{close:"关闭",download:"下载",maximize:"最大化",minimize:"最小化",copy:"复制"},errors:{title:"预览错误",loadFailed:"加载JSONL文件失败",unknownError:"未知错误",parseError:"JSON解析错误"},instructions:"点击展开详情 • 方向键翻页 • Ctrl+F 搜索 • ESC关闭"},nj={title:"工具选择",tabs:{regular:"常规工具",mcp:"MCP工具"},selectAll:"全选",preset:"预设",enableMcpTools:"启用MCP工具",loading:"加载中...",noMcpServers:"没有可用的MCP服务器",toolsCount:"{{count}} 个工具",serverUnavailable:"服务器不可用"},aj={title:{create:"创建 Subagent",edit:"编辑 Subagent"},mode:{form:"表单",code:"代码"},actions:{cancel:"取消",create:"创建 Subagent",saving:"保存中...",saveChanges:"保存更改"},codeMode:{title:"代码模式",description:"在此模式下,你可以直接编辑 Markdown 格式的 subagent 文件,包括 YAML frontmatter 和系统提示词内容。",label:"Subagent 文件内容",placeholder:`---
142
+ 多次尝试后未能获得有效响应。`},XM={init:{name:"init",description:"初始化项目或重置对话上下文"},clear:{name:"clear",description:"清空当前对话历史"},compact:{name:"compact",description:"压缩对话历史,保留关键信息"},agents:{name:"agents",description:"管理AI代理和子代理"},settings:{name:"settings",description:"打开设置页面"},help:{name:"help",description:"显示帮助信息"}},QM={title:"记忆管理"},ZM={title:"命令管理"},WM={title:"子Agent管理"},JM={title:"活跃会话",activeCount:"当前活跃: {{count}} 个会话",loadingMessage:"加载会话信息...",status:{pending:"等待中",active:"活跃",idle:"空闲"},labels:{session:"会话",agent:"Agent",project:"项目",activity:"活动"},time:{hoursMinutes:"{{hours}}小时{{minutes}}分钟",minutesSeconds:"{{minutes}}分钟{{seconds}}秒",seconds:"{{seconds}}秒"},heartbeat:{none:"无心跳",timeout:"心跳超时"},actions:{openChat:"打开聊天窗口",cleanup:"清理会话"},errors:{loadFailed:"加载会话信息失败",cleanupFailed:"清理会话失败,请重试",navigationFailed:"导航失败,已降级处理"},empty:{noSessions:"暂无活跃会话",startChatHint:"开始与助手对话即可创建会话"}},ej={title:"选择文件或目录",emptyDirectory:"此目录为空",toolbar:{homeDirectory:"主目录",parentDirectory:"上级目录",loadingPath:"加载中...",newDirectory:"新建目录",showHidden:"显示隐藏文件",hideHidden:"隐藏隐藏文件",restrictedToProject:"限制在项目目录内"},table:{name:"名称",size:"大小",modified:"修改时间",actions:"操作"},actions:{select:"选择",cancel:"取消",createFolder:"创建目录",creating:"创建中...",preview:"预览",previewCSV:"预览CSV文件",previewJSONL:"预览JSONL文件"},dialog:{newFolder:"新建目录",createAt:"在以下位置创建新目录:",folderName:"目录名称",folderNamePlaceholder:"输入目录名称"},footer:{itemsCount:"{{count}} 个项目"},errors:{error:"错误",loadFailed:"加载目录失败",browseFailed:"浏览目录失败",createFailed:"创建目录失败"}},tj={loading:"加载CSV文件中...",info:{rowCount:"共 {{count}} 行数据",filtered:"已过滤"},search:{placeholder:"搜索CSV内容..."},table:{untitled:"未命名"},empty:{noData:"没有数据可显示"},pagination:{showing:"显示第 {{start}}-{{end}} 条,共 {{total}} 条",previous:"上一页",next:"下一页"},actions:{close:"关闭",download:"下载",maximize:"最大化",minimize:"最小化"},errors:{title:"预览错误",loadFailed:"加载CSV文件失败",unknownError:"未知错误"},instructions:"方向键翻页 • Ctrl+F 搜索 • ESC关闭"},nj={loading:"加载JSONL文件中...",info:{recordCount:"共 {{count}} 条记录",errorCount:"{{count}} 条解析错误",filtered:"已过滤"},search:{placeholder:"搜索JSONL内容..."},empty:{noData:"没有数据可显示"},pagination:{showing:"显示第 {{start}}-{{end}} 条,共 {{total}} 条",previous:"上一页",next:"下一页"},actions:{close:"关闭",download:"下载",maximize:"最大化",minimize:"最小化",copy:"复制"},errors:{title:"预览错误",loadFailed:"加载JSONL文件失败",unknownError:"未知错误",parseError:"JSON解析错误"},instructions:"点击展开详情 • 方向键翻页 • Ctrl+F 搜索 • ESC关闭"},aj={title:"工具选择",tabs:{regular:"常规工具",mcp:"MCP工具"},selectAll:"全选",preset:"预设",enableMcpTools:"启用MCP工具",loading:"加载中...",noMcpServers:"没有可用的MCP服务器",toolsCount:"{{count}} 个工具",serverUnavailable:"服务器不可用"},ij={title:{create:"创建 Subagent",edit:"编辑 Subagent"},mode:{form:"表单",code:"代码"},actions:{cancel:"取消",create:"创建 Subagent",saving:"保存中...",saveChanges:"保存更改"},codeMode:{title:"代码模式",description:"在此模式下,你可以直接编辑 Markdown 格式的 subagent 文件,包括 YAML frontmatter 和系统提示词内容。",label:"Subagent 文件内容",placeholder:`---
143
143
  name: my-subagent
144
144
  description: 专门处理特定任务的subagent
145
145
  tools: read_file, write, search_replace
@@ -153,11 +153,11 @@ tools: read_file, write, search_replace
153
153
 
154
154
  请确保...
155
155
 
156
- 当遇到...时,你应该...`}},validation:{nameRequired:"名称不能为空",nameFormat:"名称只能包含小写字母、数字和连字符",descriptionRequired:"描述不能为空",contentRequired:"系统提示词不能为空"},errors:{saveFailed:"保存失败"}},ij={systemCommands:{init:{description:"初始化项目或重置对话上下文"},clear:{description:"清空当前对话历史"},compact:{description:"压缩对话历史,保留关键信息"},agents:{description:"管理AI代理和子代理"},settings:{description:"打开设置页面"},help:{description:"显示帮助信息"}}},sj={title:"API服务器设置",fields:{address:"API服务器地址",addressPlaceholder:"http://localhost:4936 或 https://your-domain.com"},actions:{test:"测试",reset:"重置",cancel:"取消",save:"保存"},quickSelect:{title:"快捷选择:",localDev:"本地开发",officialServer:"官方服务器"},status:{label:"连接状态",success:"连接成功",error:"连接失败",untested:"未测试"},instructions:{title:"使用说明:",localDev:"本地开发时使用",production:"生产环境使用您的服务器域名",cors:"确保服务器支持CORS访问",refresh:"修改后页面会自动刷新"},errors:{serverError:"服务器响应错误: {{status}} {{statusText}}",connectionFailed:"连接失败: {{message}}",connectionFailedUnknown:"连接失败: 未知错误",enterAddress:"请输入API服务器地址"},saveSuccess:"设置已保存,页面将刷新以应用新设置"},rj={title:"项目命令管理",loading:"正在加载项目命令...",searchPlaceholder:"搜索命令...",createButton:"新建命令",error:{title:"加载失败",message:"无法加载项目命令",retry:"重试",close:"关闭"},emptyState:{noCommandsTitle:"还没有项目命令",noCommandsDescription:"为这个项目创建专用的 Slash Command",noMatchTitle:"未找到匹配的命令",noMatchDescription:"尝试调整搜索条件"},table:{command:"命令",model:"模型",tools:"工具",createdAt:"创建时间",actions:"操作",inheritSettings:"继承对话设置",toolsCount:"{{count}} 个工具"},actions:{edit:"编辑",editTooltip:"编辑命令",deleteTooltip:"删除命令"},deleteConfirm:{title:"删除命令",message:'确定要删除命令 "/{{name}}" 吗?此操作无法撤销。',cancel:"取消",confirm:"删除",deleting:"删除中..."}},oj={title:"项目 Subagent 管理",loading:"正在加载项目 Subagents...",searchPlaceholder:"搜索 Subagents...",error:{loadFailed:"加载失败",loadFailedMessage:"无法加载项目 Subagents"},actions:{retry:"重试",close:"关闭",create:"新建 Subagent",edit:"编辑",editTooltip:"编辑 Subagent",delete:"删除",deleteTooltip:"删除 Subagent",cancel:"取消"},emptyState:{noSubagents:"还没有项目 Subagents",noResults:"未找到匹配的 Subagents",tryAdjust:"尝试调整搜索条件",description:"为这个项目创建专门的 AI 子代理来处理特定任务"},table:{subagent:"Subagent",tools:"工具",createdAt:"创建时间",actions:"操作",toolsCount:"{{count}} 个工具",inheritSettings:"继承对话设置"},deleteConfirm:{title:"确认删除",message:'确定要删除 Subagent "<strong>{{name}}</strong>" 吗?',warning:"此操作无法撤销。"}},lj={selectProjectDirectory:"选择项目目录",projectActions:"项目操作",quickCreateProject:"快速新建项目",creatingProject:"正在创建项目...",quickCreateDescription:"在 ~/claude-code-projects 中自动创建",customLocationCreate:"自定义位置新建",customLocationDescription:"选择目录和项目名称",browseProject:"浏览选择项目",browseDescription:"通过文件浏览器选择项目目录",importProject:"导入项目",importDescription:"导入现有项目目录",importProjectFailed:"导入项目失败",recentProjects:"最近使用的项目",loadingProjects:"正在加载项目...",lastAccessed:"最后访问: {{date}}",noRecentProjects:"暂无最近使用的项目",createProjectToStart:"创建新项目开始使用",cancel:"取消",selectParentDirectory:"选择新项目的父目录",createProjectFailed:"创建项目失败: {{error}}",unknownError:"未知错误",importConfirmation:`该目录尚未作为 {{agentName}} 的项目。
156
+ 当遇到...时,你应该...`}},validation:{nameRequired:"名称不能为空",nameFormat:"名称只能包含小写字母、数字和连字符",descriptionRequired:"描述不能为空",contentRequired:"系统提示词不能为空"},errors:{saveFailed:"保存失败"}},sj={systemCommands:{init:{description:"初始化项目或重置对话上下文"},clear:{description:"清空当前对话历史"},compact:{description:"压缩对话历史,保留关键信息"},agents:{description:"管理AI代理和子代理"},settings:{description:"打开设置页面"},help:{description:"显示帮助信息"}}},rj={title:"API服务器设置",fields:{address:"API服务器地址",addressPlaceholder:"http://localhost:4936 或 https://your-domain.com"},actions:{test:"测试",reset:"重置",cancel:"取消",save:"保存"},quickSelect:{title:"快捷选择:",localDev:"本地开发",officialServer:"官方服务器"},status:{label:"连接状态",success:"连接成功",error:"连接失败",untested:"未测试"},instructions:{title:"使用说明:",localDev:"本地开发时使用",production:"生产环境使用您的服务器域名",cors:"确保服务器支持CORS访问",refresh:"修改后页面会自动刷新"},errors:{serverError:"服务器响应错误: {{status}} {{statusText}}",connectionFailed:"连接失败: {{message}}",connectionFailedUnknown:"连接失败: 未知错误",enterAddress:"请输入API服务器地址"},saveSuccess:"设置已保存,页面将刷新以应用新设置"},oj={title:"项目命令管理",loading:"正在加载项目命令...",searchPlaceholder:"搜索命令...",createButton:"新建命令",error:{title:"加载失败",message:"无法加载项目命令",retry:"重试",close:"关闭"},emptyState:{noCommandsTitle:"还没有项目命令",noCommandsDescription:"为这个项目创建专用的 Slash Command",noMatchTitle:"未找到匹配的命令",noMatchDescription:"尝试调整搜索条件"},table:{command:"命令",model:"模型",tools:"工具",createdAt:"创建时间",actions:"操作",inheritSettings:"继承对话设置",toolsCount:"{{count}} 个工具"},actions:{edit:"编辑",editTooltip:"编辑命令",deleteTooltip:"删除命令"},deleteConfirm:{title:"删除命令",message:'确定要删除命令 "/{{name}}" 吗?此操作无法撤销。',cancel:"取消",confirm:"删除",deleting:"删除中..."}},lj={title:"项目 Subagent 管理",loading:"正在加载项目 Subagents...",searchPlaceholder:"搜索 Subagents...",error:{loadFailed:"加载失败",loadFailedMessage:"无法加载项目 Subagents"},actions:{retry:"重试",close:"关闭",create:"新建 Subagent",edit:"编辑",editTooltip:"编辑 Subagent",delete:"删除",deleteTooltip:"删除 Subagent",cancel:"取消"},emptyState:{noSubagents:"还没有项目 Subagents",noResults:"未找到匹配的 Subagents",tryAdjust:"尝试调整搜索条件",description:"为这个项目创建专门的 AI 子代理来处理特定任务"},table:{subagent:"Subagent",tools:"工具",createdAt:"创建时间",actions:"操作",toolsCount:"{{count}} 个工具",inheritSettings:"继承对话设置"},deleteConfirm:{title:"确认删除",message:'确定要删除 Subagent "<strong>{{name}}</strong>" 吗?',warning:"此操作无法撤销。"}},cj={selectProjectDirectory:"选择项目目录",projectActions:"项目操作",quickCreateProject:"快速新建项目",creatingProject:"正在创建项目...",quickCreateDescription:"在 ~/claude-code-projects 中自动创建",customLocationCreate:"自定义位置新建",customLocationDescription:"选择目录和项目名称",browseProject:"浏览选择项目",browseDescription:"通过文件浏览器选择项目目录",importProject:"导入项目",importDescription:"导入现有项目目录",importProjectFailed:"导入项目失败",recentProjects:"最近使用的项目",loadingProjects:"正在加载项目...",lastAccessed:"最后访问: {{date}}",noRecentProjects:"暂无最近使用的项目",createProjectToStart:"创建新项目开始使用",cancel:"取消",selectParentDirectory:"选择新项目的父目录",createProjectFailed:"创建项目失败: {{error}}",unknownError:"未知错误",importConfirmation:`该目录尚未作为 {{agentName}} 的项目。
157
157
 
158
158
  是否要将此目录导入作为新项目?
159
159
 
160
- 路径: {{path}}`,dialog:{createNewProject:"创建新项目",projectWillBeCreatedAt:"项目将在以下目录中创建:",projectName:"项目名称",projectNamePlaceholder:"输入项目名称",cancel:"取消",createProject:"创建项目"}},cj={image:"图片 ({{mimeType}})",resource:"资源",uri:"URI",name:"名称",description:"描述",type:"类型",unknownType:"未知类型 ({{type}})",errorMessage:"错误信息:",executionResult:"执行结果:",progress:"进度: {{current}} / {{total}}",subtitle:"MCP: {{toolName}} @ {{serverName}}",parameters:"参数"},uj={executing:"执行中...",executionError:"执行出错",timeout:"超时时间: {{timeout}}ms"},dj={readFile:"读取文件",startLine:"起始行",readLines:"读取行数"},fj={filePath:"文件路径",fileSize:"文件大小: {{size}} 字符"},hj={editFile:"编辑文件",replaceAll:"全部替换",yes:"是"},pj={noFilesFound:"没有找到匹配的文件",patternLabel:"匹配模式",pathLabel:"搜索路径",matchingResults:"匹配结果:"},mj={noMatchesFound:"没有找到匹配项",matchStatistics:"匹配统计",patternLabel:"搜索模式",pathLabel:"搜索路径",globLabel:"文件过滤",typeLabel:"文件类型",outputModeLabel:"输出模式",ignoreCase:"忽略大小写",showLineNumbers:"显示行号",afterLines:"后 {{count}} 行",beforeLines:"前 {{count}} 行",contextLines:"上下 {{count}} 行",multilineMode:"多行模式",searchResults:"搜索结果:"},gj={urlLabel:"URL:",analysisPromptLabel:"分析提示",truncated:"...(已截断)",webAnalysisResult:"网页分析结果:"},vj={searchQueryLabel:"搜索查询",allowedDomains:"允许域名:",blockedDomains:"屏蔽域名:",searchResults:"搜索结果:"},yj={taskDescriptionLabel:"任务描述",taskPromptLabel:"任务提示",truncated:"...(已截断)",totalLength:"总长度: {{length}} 字符",agentType:"代理类型",model:"使用模型",resumeTask:"恢复任务",fromPreviousExecution:"从上次执行继续",executing:"子代理正在执行中...",executingWithModel:"使用 {{model}} 模型执行中...",toolCallCount:"{{count}} 次工具调用",partsReceived:"个消息部分",status:{completed:"已完成",failed:"失败",cancelled:"已取消"}},bj={title:"子代理消息流",messageCount:"{{count}} 条消息",toolCount:"{{count}} 次工具调用",taskInput:"任务输入",subAgent:"子代理",thinking:"思考过程...",expand:"展开全文",collapse:"收起"},_j={toolName:"技能",skillName:"技能名称",commandName:"命令名称",unknownSkill:"未知技能",loading:"正在加载技能...",launched:"技能已启动"},Sj={allTasksCompleted:"所有任务已完成",currentTaskProgress:"{{completed}}/{{total}} {{task}}",pendingTasks:"{{completed}}/{{total}} 待办任务",completedCount:"已完成: {{count}}",inProgressCount:"进行中: {{count}}",pendingCount:"待处理: {{count}}"},xj={implementationPlan:"实施计划:",planModeExited:"计划模式已退出,准备开始实施"},wj={notebookPath:"Notebook 路径",insert:"插入",delete:"删除",replace:"替换",code:"代码",markdown:"Markdown",cellId:"单元格 ID",newContent:"新内容",truncated:"...(已截断)"},Cj={unknownToolType:"未知工具类型"},kj={executionResult:"执行结果:",interrupted:"已中断"},Aj={shellPrefix:"Shell",exitCode:"退出码",stdout:"标准输出",stderr:"错误输出",fetchingOutput:"正在获取 Shell {{shellId}} 的输出...",filterCondition:"过滤条件",status:{running:"运行中",completed:"已完成",killed:"已终止",failed:"执行失败"}},Ej={subtitle:"终止 Shell {{shellId}}",subtitleWithProcess:"终止 Shell {{shellId}} ({{processName}})",shellId:"Shell ID",status:{terminating:"正在终止进程...",success:"进程已成功终止",failed:"终止进程失败",ready:"准备终止进程"}},Tj={directoryPath:"目录路径",ignorePatterns:"忽略模式",directoryStructure:"目录结构:"},Nj={title:"时间机器",description:"回退到之前的对话状态并应用修正",targetMessage:"目标消息",correction:"修正指令",restoreCode:"恢复代码",result:"执行结果",rewinding:"正在回退...",error:"时间机器执行失败"},Mj={title:"询问用户",description:"AI 助手需要您的输入才能继续。请回答下列问题。",questionCount:"{{count}} 个问题",multiSelect:"多选",userResponse:"您的回答",waitingForResponse:"等待您的回答...",error:"提交回答失败",interactionHint:"此交互组件需要手动输入",submit:"提交回答",submitting:"正在提交...",completed:"已提交回答",typeSomething:"输入其他内容...",typeSomethingPlaceholder:"请输入您的自定义回答",yourAnswer:"您的回答",customAnswer:"自定义回答"},jj={filePath:"文件路径",batchEdit:"批量编辑 ({{count}} 个操作):",operation:"操作 #{{number}}",replaceAll:"全部替换"},Rj={notebookPath:"Notebook 路径",cellId:"单元格 ID"},Dj={send:"发送",stop:"停止",stopping:"停止中...",sendMessage:"发送消息",stopGeneration:"停止生成",aiTyping:"AI正在输入中",noContentToSend:"无内容可发送",unknownCommand:"未知命令",noMessages:"暂无消息",startConversation:"开始新的对话",newMessages:"新消息",initializingSession:"正在初始化会话...",errors:{jsonParseError:`解析响应数据时出现错误,可能是由于网络中断或服务器响应格式异常。
160
+ 路径: {{path}}`,dialog:{createNewProject:"创建新项目",projectWillBeCreatedAt:"项目将在以下目录中创建:",projectName:"项目名称",projectNamePlaceholder:"输入项目名称",cancel:"取消",createProject:"创建项目"}},uj={image:"图片 ({{mimeType}})",resource:"资源",uri:"URI",name:"名称",description:"描述",type:"类型",unknownType:"未知类型 ({{type}})",errorMessage:"错误信息:",executionResult:"执行结果:",progress:"进度: {{current}} / {{total}}",subtitle:"MCP: {{toolName}} @ {{serverName}}",parameters:"参数"},dj={executing:"执行中...",executionError:"执行出错",timeout:"超时时间: {{timeout}}ms"},fj={readFile:"读取文件",startLine:"起始行",readLines:"读取行数"},hj={filePath:"文件路径",fileSize:"文件大小: {{size}} 字符"},pj={editFile:"编辑文件",replaceAll:"全部替换",yes:"是"},mj={noFilesFound:"没有找到匹配的文件",patternLabel:"匹配模式",pathLabel:"搜索路径",matchingResults:"匹配结果:"},gj={noMatchesFound:"没有找到匹配项",matchStatistics:"匹配统计",patternLabel:"搜索模式",pathLabel:"搜索路径",globLabel:"文件过滤",typeLabel:"文件类型",outputModeLabel:"输出模式",ignoreCase:"忽略大小写",showLineNumbers:"显示行号",afterLines:"后 {{count}} 行",beforeLines:"前 {{count}} 行",contextLines:"上下 {{count}} 行",multilineMode:"多行模式",searchResults:"搜索结果:"},vj={urlLabel:"URL:",analysisPromptLabel:"分析提示",truncated:"...(已截断)",webAnalysisResult:"网页分析结果:"},yj={searchQueryLabel:"搜索查询",allowedDomains:"允许域名:",blockedDomains:"屏蔽域名:",searchResults:"搜索结果:"},bj={taskDescriptionLabel:"任务描述",taskPromptLabel:"任务提示",truncated:"...(已截断)",totalLength:"总长度: {{length}} 字符",agentType:"代理类型",model:"使用模型",resumeTask:"恢复任务",fromPreviousExecution:"从上次执行继续",executing:"子代理正在执行中...",executingWithModel:"使用 {{model}} 模型执行中...",toolCallCount:"{{count}} 次工具调用",partsReceived:"个消息部分",status:{completed:"已完成",failed:"失败",cancelled:"已取消"}},_j={title:"子代理消息流",messageCount:"{{count}} 条消息",toolCount:"{{count}} 次工具调用",taskInput:"任务输入",subAgent:"子代理",thinking:"思考过程...",expand:"展开全文",collapse:"收起"},Sj={toolName:"技能",skillName:"技能名称",commandName:"命令名称",unknownSkill:"未知技能",loading:"正在加载技能...",launched:"技能已启动"},xj={allTasksCompleted:"所有任务已完成",currentTaskProgress:"{{completed}}/{{total}} {{task}}",pendingTasks:"{{completed}}/{{total}} 待办任务",completedCount:"已完成: {{count}}",inProgressCount:"进行中: {{count}}",pendingCount:"待处理: {{count}}"},wj={implementationPlan:"实施计划:",planModeExited:"计划模式已退出,准备开始实施"},Cj={notebookPath:"Notebook 路径",insert:"插入",delete:"删除",replace:"替换",code:"代码",markdown:"Markdown",cellId:"单元格 ID",newContent:"新内容",truncated:"...(已截断)"},kj={unknownToolType:"未知工具类型"},Aj={executionResult:"执行结果:",interrupted:"已中断"},Tj={shellPrefix:"Shell",exitCode:"退出码",stdout:"标准输出",stderr:"错误输出",fetchingOutput:"正在获取 Shell {{shellId}} 的输出...",filterCondition:"过滤条件",status:{running:"运行中",completed:"已完成",killed:"已终止",failed:"执行失败"}},Ej={agentId:"Agent ID",blocking:"阻塞等待",blockingMode:"阻塞等待模式",nonBlockingMode:"非阻塞模式",timeout:"超时时间",waitingForResult:"正在等待后台 Agent 执行结果...",fetchingResult:"正在获取后台 Agent 结果...",completed:"执行完成",error:"执行出错",noResult:"暂无结果"},Nj={subtitle:"终止 Shell {{shellId}}",subtitleWithProcess:"终止 Shell {{shellId}} ({{processName}})",shellId:"Shell ID",status:{terminating:"正在终止进程...",success:"进程已成功终止",failed:"终止进程失败",ready:"准备终止进程"}},Mj={directoryPath:"目录路径",ignorePatterns:"忽略模式",directoryStructure:"目录结构:"},jj={title:"时间机器",description:"回退到之前的对话状态并应用修正",targetMessage:"目标消息",correction:"修正指令",restoreCode:"恢复代码",result:"执行结果",rewinding:"正在回退...",error:"时间机器执行失败"},Rj={title:"询问用户",description:"AI 助手需要您的输入才能继续。请回答下列问题。",questionCount:"{{count}} 个问题",multiSelect:"多选",userResponse:"您的回答",waitingForResponse:"等待您的回答...",error:"提交回答失败",interactionHint:"此交互组件需要手动输入",submit:"提交回答",submitting:"正在提交...",completed:"已提交回答",typeSomething:"输入其他内容...",typeSomethingPlaceholder:"请输入您的自定义回答",yourAnswer:"您的回答",customAnswer:"自定义回答"},Dj={filePath:"文件路径",batchEdit:"批量编辑 ({{count}} 个操作):",operation:"操作 #{{number}}",replaceAll:"全部替换"},Pj={notebookPath:"Notebook 路径",cellId:"单元格 ID"},Oj={send:"发送",stop:"停止",stopping:"停止中...",sendMessage:"发送消息",stopGeneration:"停止生成",aiTyping:"AI正在输入中",noContentToSend:"无内容可发送",unknownCommand:"未知命令",noMessages:"暂无消息",startConversation:"开始新的对话",newMessages:"新消息",initializingSession:"正在初始化会话...",errors:{jsonParseError:`解析响应数据时出现错误,可能是由于网络中断或服务器响应格式异常。
161
161
 
162
162
  **建议操作:**
163
163
  - 检查网络连接
@@ -187,9 +187,9 @@ tools: read_file, write, search_replace
187
187
 
188
188
  连接服务器超时,请稍后重试。`,connectionError:"连接错误",cannotConnectRetry:"无法连接到AI服务,请稍后重试。",contextWindowError:`📏 **超过上下文窗口限制**
189
189
 
190
- 对话过长。请新建会话或使用 /compact 命令减少上下文。`,checkBudget:"检查预算设置和成本限制",increaseMaxTurns:"在代理设置中增加最大轮次"}},Pj={title:"已压缩上下文",expand:"展开查看",collapse:"收起"},Oj={title:"最近活动",empty:"暂无最近活动",time:{justNow:"刚刚",minutesAgo:"{{count}} 分钟前",hoursAgo:"{{count}} 小时前",daysAgo:"{{count}} 天前"}},Lj={title:"后端服务",noService:"无服务",namePlaceholder:"服务名称",urlPlaceholder:"服务地址",add:"添加",save:"保存",cancel:"取消",edit:"编辑",delete:"删除",addNew:"添加新服务",testingConnection:"正在测试连接...",connectionWarning:{title:"无法连接到服务",message:'无法连接到服务 "{{name}}" ({{url}})。',consequence:"如果继续切换,您将无法登录或使用该服务,但可以在登录页面中重新配置服务地址。",cancel:"取消",continue:"仍然切换"}},Fj={checking:"检查中...",connected:"已连接",disconnected:"未连接",manageServices:"管理服务",quickSwitch:"快速切换服务",version:"版本",backendName:"后端名称",status:"状态",clickToSwitch:"点击服务名快速切换",clickToManage:"点击齿轮图标管理服务"},zj={title:"服务管理",noService:"无服务",servicesList:"服务列表",addService:"添加服务",current:"当前",testConnection:"测试连接",switchToService:"切换到此服务",editService:"编辑服务",removeService:"删除服务",refreshStatus:"刷新状态",servicesOnline:"个服务在线",close:"关闭",namePlaceholder:"服务名称",urlPlaceholder:"服务地址 (如: http://localhost:4936)",version:"版本",add:"添加",save:"保存",cancel:"取消",addNewService:"添加新服务",switchSuccess:"已切换到服务: {{name}}",addSuccess:"服务添加成功",updateSuccess:"服务更新成功",removeSuccess:"服务删除成功",logoutService:"退出登录此服务",logoutSuccess:"已成功退出登录",managePassword:"管理密码",password:{title:"访问密码管理",description:"设置密码后,登录时需要输入密码。留空并保存可清除密码,启用免密登录。",checking:"正在检查...",currentlySet:"当前已设置访问密码",currentlyNotSet:"当前未设置密码,可免密登录",newPassword:"新密码",newPasswordPlaceholder:"输入新密码(留空则清除密码)",confirmPassword:"确认密码",confirmPasswordPlaceholder:"再次输入密码",save:"保存密码",mismatch:"两次输入的密码不一致",tooShort:"密码长度至少为4位",setSuccess:"密码设置成功,下次登录时生效",clearSuccess:"密码已清除,系统现在可以免密登录",saveFailed:"保存密码失败"},connectionTest:{success:"连接测试成功",failed:"连接测试失败",error:"连接测试出错"},switchWarning:{title:"服务连接警告",message:'服务 "{{name}}" ({{url}}) 无法连接。',consequence:"如果继续切换,您可能无法正常使用某些功能。",cancel:"取消",continue:"仍然切换"}},Uj={detecting:{title:"正在检测 Claude CLI",description:"正在检测您的系统中是否安装了 Claude..."},selection:{title:"选择 Claude 版本",description:"我们检测到以下 Claude CLI 安装,请选择要使用的版本",userInstalled:"用户全局安装",systemInstalled:"系统 npm 包",path:"路径",version:"版本",packageManager:"包管理器",useUserInstalled:"使用用户安装的 Claude",useUserInstalledDesc:"使用您通过包管理器全局安装的 Claude CLI",useSystemPackage:"使用系统 npm 包",useSystemPackageDesc:"使用本项目 node_modules 中自带的 Claude CLI",noClaudeFound:"未检测到 Claude CLI",noClaudeFoundDesc:"请先安装 Claude CLI 或确保项目依赖已正确安装"},config:{title:"配置认证方式",description:"选择如何配置 Claude 的认证凭证",skipToken:"暂不配置(推荐)",skipTokenDesc:"跳过认证配置,效果与 Claude Pro 订阅用户一样",claudePro:"Claude Pro 订阅用户",claudeProDesc:"我是 Claude Pro 订阅用户,将在 CLI 中自行登录",enterToken:"手动输入 Token",enterTokenDesc:"手动输入 ANTHROPIC_AUTH_TOKEN 环境变量",tokenPlaceholder:"输入您的 ANTHROPIC_AUTH_TOKEN"},creating:{title:"正在创建系统版本",description:"正在为您配置 Claude 版本,请稍候..."},success:{title:"配置成功!",description:"Claude 版本已成功创建,即将返回控制台..."},actions:{skip:"跳过",next:"下一步",back:"上一步",create:"创建版本"}},Ij={unknownCursorTool:"未知 Cursor 工具: {{toolName}}"},Hj={exitCode:"退出码: {{code}}",executionTime:"耗时: {{time}}",background:"后台运行"},qj={totalLines:"总行数: {{lines}}",fileSize:"文件大小: {{size}}",readRange:"读取范围: L{{start}}-L{{end}}",exceededLimit:"超出限制",isEmpty:"文件为空"},Bj={filePath:"文件路径",linesAdded:"行已添加",linesRemoved:"行已删除",viewDiff:"查看差异"},$j={path:"文件路径",deleteSuccess:"文件已成功删除",deleteFailed:"删除失败"},Vj={path:"目录路径",ignore:"忽略模式",extensionStats:"文件扩展名统计"},Gj={pattern:"匹配模式",directory:"目标目录",totalFiles:"共 {{count}} 个文件",clientTruncated:"结果被截断",ripgrepTruncated:"ripgrep 截断",matchedFiles:"匹配的文件",noFilesFound:"未找到匹配的文件"},Yj={pattern:"搜索模式",path:"搜索路径",caseInsensitive:"忽略大小写",multiline:"多行模式",noMatchesFound:"未找到匹配项"},Kj={completed:"已完成",inProgress:"进行中",pending:"待处理",merge:"合并模式",replace:"替换模式",noTodos:"暂无待办事项"},Xj={query:"搜索查询",targetDirectories:"目标目录",explanation:"搜索说明",results:"{{count}} 个结果",rawResults:"原始结果",noResults:"未找到结果"},Qj={url:"URL",fetchedContent:"获取的内容",fetchFailed:"获取失败"},Zj={noResources:"暂无 MCP 资源"},Wj={server:"服务",tool:"工具",parameters:"参数",result:"执行结果",error:"执行错误"},Jj={title:"A2A协议管理",project:"项目",selectedProject:"项目: {{project}}",noProjectSelected:"未选择项目",tabs:{overview:"概览",apiKeys:"API密钥",external:"外部Agent",tasks:"任务",im:"IM 接入"},actions:{copy:"复制",createKey:"创建密钥",cancel:"取消",delete:"删除",edit:"编辑",enable:"启用",disable:"禁用",hide:"隐藏",show:"显示",addAgent:"添加Agent",importProjects:"导入项目",copyKey:"复制密钥",close:"关闭"},overview:{agentIdentity:"Agent身份",a2aAgentId:"A2A Agent ID",projectId:"项目ID",agentType:"Agent类型",agentCard:"Agent卡片",apiKeys:"API密钥",externalAgents:"外部Agent",activeTasks:"活跃任务",notEnabled:"此项目尚未启用A2A功能",enableAfterCreatingKey:"创建API密钥后自动启用"},agentCard:{context:"Agent上下文",skills:"可用技能",security:"安全认证"},apiKeys:{title:"API密钥管理",noKeys:"还没有API密钥",createFirstKey:"创建第一个API密钥",description:"描述",key:"密钥",createdAt:"创建时间",lastUsed:"最后使用",usageCount:"使用次数",actions:"操作",showKey:"显示密钥",hideKey:"隐藏密钥",keyCopied:"密钥已复制"},external:{title:"外部Agent配置",noAgents:"还没有配置外部Agent",addFirstAgent:"添加第一个外部Agent",enabled:"启用",disabled:"禁用",form:{name:"Agent名称",namePlaceholder:"例如:数据分析Agent",url:"URL",urlPlaceholder:"https://agent.example.com/a2a/uuid",apiKey:"API密钥",apiKeyPlaceholder:"agt_proj_external_key_here",description:"描述",descriptionPlaceholder:"可选的Agent功能描述",enableThisAgent:"启用此Agent",urlHelp:"必须是完整的HTTP或HTTPS URL"},modal:{addTitle:"添加外部Agent",editTitle:"编辑外部Agent",saveChanges:"保存修改",addAgent:"添加Agent"},importModal:{title:"导入项目",description:"选择要导入的项目,系统将自动为这些项目生成API密钥,并添加到当前项目的外部Agent列表中。",noProjects:"没有可导入的项目",selected:"已选择",import:"导入",importing:"导入中..."}},tasks:{title:"任务监控",needA2AEnabled:"需要先启用A2A功能",noTasks:"还没有任务记录",createdAt:"创建时间",startedAt:"开始时间",completedAt:"完成时间"},im:{title:"IM 接入",description:"为企业微信机器人生成一键接入命令",refresh:"刷新",networkStatus:"网络状态",tunnelStatus:"隧道状态",connected:"已连接",notConnected:"未连接",localNetwork:"本地网络",available:"可用",unavailable:"不可用",noAccessWarning:"无法确定外部访问地址。如需通过企业微信访问,请先配置隧道服务或确保本地网络可被外部访问。",commandGenerator:"命令生成器",generateCommand:"生成接入命令",generating:"生成中...",generateHint:"点击按钮将自动创建新的 API 密钥并生成企微机器人接入命令",usage:"使用方法",usageDetail:"将生成的命令发送到企业微信机器人聊天中执行即可完成接入"},modals:{createKey:{title:"创建API密钥",description:"描述",descriptionPlaceholder:"例如:生产环境密钥",descriptionHelp:"用于标识此API密钥的用途,最多100个字符",important:"重要提示",securityNote:"API密钥创建后只会完整显示一次,请妥善保存。",creating:"创建中..."}},validation:{descriptionRequired:"描述不能为空",descriptionTooLong:"描述不能超过100个字符",agentNameRequired:"Agent名称不能为空",agentNameTooLong:"Agent名称不能超过50个字符",urlRequired:"URL不能为空",invalidUrl:"URL格式无效",apiKeyRequired:"API密钥不能为空",required:"此字段为必填项"},confirmations:{deleteApiKey:"确定要删除这个API密钥吗?此操作不可撤销。",deleteExternalAgent:"确定要删除这个外部Agent吗?此操作不可撤销。"}},eR={loading:"加载中...",notConfigured:"语音服务未配置,点击配置",processing:"转写中...",recording:"录音中,点击停止",recordingHint:"点击停止,右键取消",start:"点击开始语音输入",error:"语音输入出错",permissionDenied:"请允许使用麦克风",noDevice:"未找到麦克风设备",tooShort:"录音时间太短"},tR={common:UM,projectForm:IM,agentForm:HM,commandForm:qM,fileExplorer:BM,sessionDropdown:$M,toolSelector:VM,languageSwitcher:GM,agentChat:YM,systemCommands:KM,projectMemory:XM,projectCommands:QM,projectSubAgents:ZM,sessionsDashboard:WM,fileBrowser:JM,csvPreview:ej,jsonlPreview:tj,unifiedToolSelector:nj,subagentForm:aj,commandSelector:ij,apiSettingsModal:sj,projectCommandsModal:rj,projectSubAgentsModal:oj,projectSelector:lj,mcpTool:cj,bashTool:uj,readTool:dj,writeTool:fj,editTool:hj,globTool:pj,grepTool:mj,webFetchTool:gj,webSearchTool:vj,taskTool:yj,subAgentMessageFlow:bj,skillTool:_j,todoWriteTool:Sj,exitPlanModeTool:xj,notebookEditTool:wj,toolRenderer:Cj,baseToolComponent:kj,bashOutputTool:Aj,killBashTool:Ej,lsTool:Tj,timeMachineTool:Nj,askUserQuestionTool:Mj,multiEditTool:jj,notebookReadTool:Rj,agentChatPanel:Dj,compactSummary:Pj,recentActivity:Oj,backendServiceSwitcher:Lj,serviceStatusIndicator:Fj,serviceManagementModal:zj,claudeVersionSetup:Uj,cursorToolRenderer:Ij,cursorShellTool:Hj,cursorReadTool:qj,cursorEditTool:Bj,cursorDeleteTool:$j,cursorLsTool:Vj,cursorGlobTool:Gj,cursorGrepTool:Yj,cursorTodoTool:Kj,cursorSemSearchTool:Xj,cursorWebFetchTool:Qj,cursorMcpResourcesTool:Zj,cursorMcpTool:Wj,a2aManagement:Jj,voiceInput:eR},nR={connectionFailed:"网络连接错误,无法连接到AI服务",connectionFailedRetry:"网络连接错误,无法连接到AI服务,请检查网络连接后重试",timeout:"请求超时,请重试",serverError:"服务器错误,请稍后重试",unknownError:"未知错误,请重试"},aR={createFailed:"创建项目失败",deleteFailed:"删除项目失败",updateFailed:"更新项目失败",notFound:"未找到匹配的项目",loadFailed:"加载项目失败",nameRequired:"项目名称不能为空",nameInvalid:"项目名称包含非法字符"},iR={createFailed:"创建助手失败",deleteFailed:"删除助手失败",updateFailed:"更新助手失败",notFound:"无法找到指定的智能助手,可能已被删除或禁用",loadFailed:"加载助手失败",setFailed:"设置Agent失败",builtinCannotDelete:"内置助手无法删除,但可以禁用",nameRequired:"助手名称不能为空"},sR={uploadFailed:"上传文件失败",deleteFailed:"删除文件失败",downloadFailed:"下载文件失败",readFailed:"读取文件失败",writeFailed:"写入文件失败",notFound:"文件不存在",tooLarge:"文件过大"},rR={createFailed:"创建会话失败",deleteFailed:"删除会话失败",loadFailed:"加载会话失败",notFound:"会话不存在"},oR={executeFailed:"命令执行失败",notFound:"未找到匹配的命令",loadFailed:"无法加载自定义命令",invalidFormat:"命令格式错误"},lR={saveFailed:"保存失败,请重试",loadFailed:"加载失败",operationFailed:"操作失败,请重试",invalidInput:"输入内容无效",permissionDenied:"权限不足"},cR={network:nR,project:aR,agent:iR,file:sR,session:rR,command:oR,common:lR},uR={pptEditor:"PPT编辑助手",codeAssistant:"AI编程助手",documentWriter:"文档写作助手",generalChat:"通用对话助手",custom:"自定义助手"},dR={loading:"正在加载智能助手...",loadingProjects:"正在加载项目...",loadingMcp:"正在加载MCP配置...",loadingSubagents:"正在加载 Subagents...",loadingCommands:"加载命令中...",loadingSession:"加载会话信息...",creating:"正在创建项目...",notFound:"无法找到指定的智能助手",noAgents:"暂无智能助手"},fR={bash:"命令行工具",read:"文件读取",write:"文件写入",edit:"文件编辑",search:"代码搜索",webSearch:"网络搜索",webFetch:"网页抓取"},hR={active:"活跃",inactive:"未激活",running:"运行中",stopped:"已停止",error:"错误"},pR={createAgent:"创建助手",editAgent:"编辑助手",deleteAgent:"删除助手",enableAgent:"启用助手",disableAgent:"禁用助手",testAgent:"测试助手",configureAgent:"配置助手"},mR={taskCompleted:"✅ 任务完成",generationStopped:"⏹️ 生成已停止",sessionRestored:"🔄 会话已恢复",executionCompleted:"(执行完成)"},gR={title:"文档大纲",description:"文档结构和章节管理",createSection:"新建章节",featureTitle:"文档大纲功能",comingSoon:"即将推出...",chatManagement:"您可以通过聊天来管理文档内容"},vR={title:"代码浏览器",description:"代码文件和结构管理",projectWithPath:"项目: {{path}}",openFile:"打开文件",featureTitle:"代码浏览器功能",comingSoon:"即将推出...",chatManagement:"您可以通过聊天来管理代码文件"},yR={title:"幻灯片预览",refreshTitle:"刷新幻灯片",refresh:"刷新",slideCount:"共 {{count}} 张幻灯片",noSlides:"还没有幻灯片",createWithAI:"与AI聊天来创建幻灯片",loading:"加载中...",loadError:"加载失败,请刷新页面重试",tabs:{preview:"预览",code:"代码"},loadFailed:"加载失败",fileNotFound:"文件不存在",loadingCode:"加载代码中..."},bR={types:uR,messages:dR,tools:fR,status:hR,actions:pR,notifications:mR,documentOutline:gR,codeExplorer:vR,slidePreview:yR},_R={welcome:{title:"欢迎使用 AgentStudio",subtitle:"在开始之前,我们需要配置后端服务连接",features:{title:"后端服务负责:",ai:{title:"AI 模型调用",description:"连接 Claude 等 AI 模型进行智能对话"},storage:{title:"文件存储和管理",description:"保存您的工作内容和项目文件"},history:{title:"会话历史记录",description:"保存和管理您的对话历史"}}},detecting:{title:"检测后端服务",description:"正在检测本地后端服务..."},found:{title:"检测到本地后端服务",description:"我们在您的系统中发现了可用的后端服务",serviceAddress:"服务地址",status:"连接正常",useThisService:"使用此服务",addOtherService:"添加其他服务"},notFound:{title:"未检测到本地后端服务",description:"请选择以下方式之一来配置后端服务",tabs:{install:"本地安装",remote:"使用远程服务"},install:{title:"安装本地后端服务",description:"按照以下步骤在本地安装后端服务:",copyCommands:"复制安装命令",viewDocs:"查看完整文档",retry:"重新检测"},remote:{title:"使用远程后端服务",description:"如果您已有远程服务,可以在这里配置连接",serviceName:"服务名称",serviceNamePlaceholder:"例如:公司服务器",serviceUrl:"服务地址",testConnection:"测试连接",testing:"测试中...",success:"连接成功",failed:"连接失败",addService:"添加服务",commonServices:"常用服务:",official:"官方服务",local:"本地服务"}},complete:{title:"配置完成!",description:"已成功连接到后端服务",serviceName:"服务名称",serviceUrl:"服务地址",nextSteps:{title:"接下来",description:"请登录系统开始使用 AgentStudio"},goToLogin:"前往登录",manageServices:"管理服务"},skipConfirm:{title:"确定要跳过配置?",warning:"未配置后端服务可能导致:",consequences:{noAi:"无法连接 AI 服务",noStorage:"无法保存工作内容",noFeatures:"系统功能不可用"},reconfigure:"您可以随时在以下位置重新配置:",locations:{loginPage:"登录页面的服务管理",settingsPage:"设置页面的 API 配置"},back:"返回配置",skip:"仍要跳过"},addService:{title:"添加后端服务",description:"输入后端服务的地址和名称进行连接",installHelp:"安装帮助",installGuide:{title:"本地安装指南",description:"按照以下步骤在本地安装后端服务:",copyCommands:"复制命令",viewDocs:"查看文档"},serviceName:"服务名称",serviceNamePlaceholder:"例如:公司服务器",serviceUrl:"服务地址",testConnection:"测试连接",testing:"测试中...",success:"连接成功",failed:"连接失败",commonServices:"常用服务:",official:"官方服务",local:"本地服务",retry:"重新检测",addButton:"添加服务"},actions:{skip:"跳过",getStarted:"开始配置",next:"下一步",back:"上一步"}},SR={backend:_R},xR="技能管理",wR="创建和管理 Claude 助手技能,扩展 AI 功能",CR="创建技能",kR="搜索技能名称或描述...",AR={showDisabled:"显示已禁用技能"},ER="还没有创建任何技能",TR="没有找到匹配的技能",NR="创建第一个技能",MR={user:"用户技能"},jR={local:"本地",plugin:"插件"},RR={enabled:"已启用",disabled:"已禁用"},DR={skill:"技能",tools:"工具",status:"状态",updated:"更新时间",actions:"操作"},PR="尝试调整搜索条件",OR={updated:"更新于",usage:"使用 {{count}} 次",actions:{edit:"编辑",view:"查看",browseFiles:"浏览文件",delete:"删除"}},LR={description:"描述",allowedTools:"允许的工具",additionalFiles:"附加文件",browseFiles:"浏览文件",files:"文件",back:"返回",close:"关闭"},FR='确定要删除技能 "{{name}}" 吗?此操作不可撤销。',zR={loadFailed:"加载技能失败",createFailed:"创建技能失败",updateFailed:"更新技能失败",deleteFailed:"删除技能失败"},UR={title:"创建新技能",subtitle:"配置新技能的基本信息和功能",tabs:{basic:"基本信息",manifest:"技能清单",files:"附件文件"},basic:{name:"技能名称",namePlaceholder:"输入技能名称",nameHint:"技能的显示名称,支持中英文和数字",description:"技能描述",descriptionPlaceholder:"详细描述这个技能的功能和用途",descriptionHint:"清晰的描述有助于理解技能的作用",allowedTools:"允许使用的工具",allowedToolsHint:"选择此技能可以使用的工具",noToolsSelected:"尚未选择任何工具",selectTools:"选择工具",unsavedChanges:"您有未保存的更改"},content:{skillManifest:"技能清单",additionalFiles:"附加文件",addFile:"添加文件",noFiles:"没有附加文件",noFilesHint:"点击上方按钮添加技能相关文件",fileName:"文件名",filePath:"文件路径",fileContent:"文件内容",fileType:{markdown:"Markdown",text:"文本",script:"脚本",template:"模板",other:"其他"}}},IR={title:"编辑技能",scope:{user:"用户级技能"},basic:{name:"技能名称",description:"技能描述",allowedTools:"允许使用的工具",allowedToolsHint:"选择此技能可以使用的工具",skillContent:"技能内容",unsavedChanges:"您有未保存的更改,按 Cmd+S 保存"},files:{title:"附加文件",addFile:"添加文件",noFiles:"没有附加文件",addFilesHint:"添加相关文件来支持技能功能"},errors:{validationErrors:"验证错误",saveFailed:"保存技能失败"}},HR={title:xR,subtitle:wR,createButton:CR,searchPlaceholder:kR,filter:AR,noSkills:ER,noSkillsSearch:TR,createFirst:NR,scope:MR,source:jR,status:RR,table:DR,adjustSearch:PR,preview:OR,detail:LR,deleteConfirm:FR,errors:zR,create:UR,editor:IR},qR={create:"Create",delete:"Delete",save:"Save",cancel:"Cancel",confirm:"Confirm",edit:"Edit",close:"Close",back:"Back",next:"Next",refresh:"Refresh",submit:"Submit",reset:"Reset",search:"Search",add:"Add",remove:"Remove",update:"Update",upload:"Upload",download:"Download",export:"Export",import:"Import",copy:"Copy",paste:"Paste",cut:"Cut"},BR={loading:"Loading...",processing:"Processing...",success:"Success",failed:"Failed",saving:"Saving...",deleting:"Deleting...",uploading:"Uploading...",downloading:"Downloading...",completed:"Completed",pending:"Pending",active:"Active",inactive:"Inactive",enabled:"Enabled",disabled:"Disabled"},$R={yes:"Yes",no:"No",ok:"OK",all:"All",none:"None",or:"Or",and:"And",more:"More",less:"Less",unknown:"Unknown",optional:"Optional",required:"Required",default:"Default",custom:"Custom"},VR="Path",GR="Created",YR={init:{description:""},clear:{description:""},compact:{description:""},agents:{description:""},settings:{description:""},help:{description:""}},KR={sendImage:""},XR={chinese:"",english:""},QR={pageTitle:"",metaDescription:"",nav:{enterWorkspace:""},hero:{title:"",subtitle:"",description:"",startNow:"",viewSource:""},features:{title:"",subtitle:"",modernWeb:{title:"",description:""},multiModel:{title:"",description:""},agentSystem:{title:"",description:""},fileManagement:{title:"",description:""},professionalTools:{title:"",description:""},secureReliable:{title:"",description:""}},quickStart:{title:"",subtitle:"",endUserTitle:"",endUserDescription:"",developerTitle:"",developerDescription:""},cta:{title:"",subtitle:"",start:""},footer:{description:"",copyright:"",product:"",workspace:"",sourceCode:"",releases:"",support:"",documentation:"",issues:"",discussions:""}},ZR={actions:qR,status:BR,common:$R,path:VR,createdAt:GR,systemCommands:YR,agentChat:KR,languageSwitcher:XR,landing:QR},WR={backToHome:"Back to Home",documentation:"Documentation"},JR={dashboard:"Dashboard",projects:"Projects",agents:"Agents",scheduledTasks:"Scheduled Tasks",extensions:"Extensions",skills:"Skills",plugins:"Plugins",mcp:"MCP Services",commands:"Commands",subagents:"Subagents",settings:"Settings",settingsSubmenu:{general:"General",suppliers:"Suppliers",memory:"Memory",mcpAdmin:"MCP Admin",tunnel:"Tunnel",voice:"Voice Input"}},e2={newVersionAvailable:"New version v{{version}} is available",updateAvailableTitle:"Update Available",currentVersion:"Current version",viewUpdate:"View Update",dismiss:"Dismiss",remindLater:"Remind Later"},t2={version:"Version {{version}}",apiServerStatus:{connected:"API Server Settings - Connected",disconnected:"API Server Settings - Connection Failed",checking:"API Server Settings - Checking..."},serviceStatus:{normal:"Service Normal",unavailable:"Service Unavailable",checking:"Checking..."}},n2={title:"Sign In",subtitle:"Enter your password to continue",passwordLabel:"Password",passwordPlaceholder:"Enter password",loginButton:"Sign In",loggingIn:"Signing in...",footer:"Please contact your administrator if you forgot your password",manageServices:"Manage Backend Services",serviceName:"Service Name",serviceUrl:"Service URL",current:"Current",testConnection:"Test Connection",switchTo:"Switch to this service",edit:"Edit",delete:"Delete",save:"Save",cancel:"Cancel",add:"Add",addService:"Add New Service",rerunOnboarding:"Rerun Configuration Wizard",checkingConnection:"Checking connection...",autoLoggingIn:"Auto signing in...",noPasswordRequired:"No password required for this service",enterSystem:"Enter System"},a2={pageTitle:"AgentStudio - Agent Workspace | Powered by Claude Agent SDK",metaDescription:"Agent for Work - Your local Agent workspace powered by Claude Agent SDK. Fully private data, scheduled tasks, A2A protocol, and custom agents.",nav:{enterWorkspace:"Enter Workspace",docs:"Docs",wechat:"WeChat"},hero:{badge:"Powered by Claude Agent SDK",title:"Agent for Work",subtitle:"Your Local Agent Workspace",description:"A truly private AI assistant running on your computer. Your data stays local, with scheduled task automation and multi-agent collaboration.",startNow:"Get Started",viewSource:"View Source",copyCommand:"Copy Command",installHint:"Copy the command below and run it in your terminal to get started",copy:"Copy",copied:"Copied"},preview:{title:"Product Preview",subtitle:"Intuitive Web interface for efficient AI work",chatAlt:"Chat interface screenshot",chatCaption:"Chat Interface - Talk to Agent with visual tool execution",mcpAlt:"MCP service management screenshot",mcpCaption:"MCP Management - One-click import Claude Code config"},features:{title:"Core Features",subtitle:"A complete solution for AI work automation",localWorkspace:{title:"Local Agent Workspace",point1:"Runs on your computer - a true local workspace",point2:"Data is fully private, never uploaded to cloud",point3:"Files, code, and conversations under your control"},webExperience:{title:"Web-Based Experience",point1:"Say goodbye to CLI, embrace a friendly Web interface",point2:"Visual tool execution makes conversations come alive",point3:"Built-in file browser to view project files alongside chat"},sdkFeatures:{title:"Claude Agent SDK Full Suite",skills:"Skills",commands:"Commands",plugins:"Plugins",memory:"Memory",subagent:"Subagent",multiModel:"Multi-Model",anthropicCompat:"Supports Claude, GLM, DeepSeek, Kimi K2, MiniMax and other models compatible with Anthropic API"}},scheduler:{badge:"Scheduled Tasks",title:"Let Agents Run on Schedule",description:"True AI work automation! Set time rules and your Agent will automatically handle repetitive tasks, freeing up your time.",scenariosTitle:"Typical Use Cases",scenario1:{title:"Daily Progress Report",desc:"Every day at 9 AM, automatically generate project progress report"},scenario2:{title:"Auto Code Review",desc:"Check code repository every 2 hours, automatically submit review comments"},scenario3:{title:"Weekly Meeting Summary",desc:"Every Friday, automatically compile and archive weekly meeting notes"},scenario4:{title:"Monthly Data Analysis",desc:"On the 1st of each month, automatically generate business data analysis report"}},a2a:{badge:"A2A Protocol",title:"Agent Collaboration Network",description:"Connect multiple agents into a collaborative network. Local and remote agents work together, building your personal AI team.",scenariosTitle:"Typical Use Cases",scenario1:{title:"Secretary Agent Dispatch",desc:"A secretary Agent receives tasks and dispatches other project Agents to execute specific work"},scenario2:{title:"Local ↔ Remote Collaboration",desc:"Agents on your local machine and remote dev server communicate and collaborate on tasks"},scenario3:{title:"Mobile Access Anywhere",desc:"Interact with local Agents via mobile messaging, work from anywhere (Beta)"}},customAgent:{badge:"Custom Agents",title:"Build Your Own Agent",description:"No coding required - customize your Agent through the UI. Built-in Claude Code Agent ready to use, suitable for various work scenarios.",example1:"PPT Creator Agent",example2:"Secretary Agent",example3:"Doc Writer Agent",example4:"Code Review Agent"},comparison:{title:"AgentStudio vs Claude Code",subtitle:"Same Claude Agent SDK, friendlier experience",dimension:"Comparison",interface:"Interface",webInterface:"UI",cli:"Command Line (CLI)",targetUsers:"Target Users",everyone:"Everyone",developers:"Mainly Developers",toolDisplay:"Tool Display",visual:"Visual Rendering",textOnly:"Text Only",fileBrowser:"File Browser",agentCustom:"Agent Customization",scheduler:"Scheduled Tasks",a2a:"A2A Protocol",mobileAccess:"Mobile Access",beta:"Beta"},quickStart:{title:"Quick Start",subtitle:"Choose your preferred installation method and start using within minutes",endUserTitle:"End Users - One-Click Install",endUserDescription:"No configuration needed, auto-installs all dependencies, perfect for quick experience and daily use",developerTitle:"Developers - Source Deployment",developerDescription:"Full development environment, supports hot reload, perfect for custom development and feature extension"},cta:{title:"Ready to start your AI work automation?",subtitle:"One command to launch your local Agent workspace",start:"Get Started"},footer:{description:"Agent for Work - Your local Agent workspace powered by Claude Agent SDK.",copyright:"© 2026 AgentStudio. GPL v3 License.",product:"Product",workspace:"Workspace",sourceCode:"Source Code",releases:"Releases",support:"Support",documentation:"Documentation",issues:"Issues",wechat:"WeChat Group"},wechat:{title:"Join WeChat Group",fallback:"QR code expired? Add WeChat ID:",wechatId:"talk4kong",tip:"Scan QR code or add WeChat ID to join the community"}},i2={title:"Agent Management",subtitle:"Manage Specialized AI Agents",createButton:"Create Assistant",editButton:"Edit Assistant",deleteButton:"Delete Assistant",enableButton:"Enable Assistant",disableButton:"Disable Assistant",useButton:"Use",startUsingButton:"Start using assistant",noAgents:"No assistants yet",noAgentsSearch:"No matching assistants found",searchPlaceholder:"Search assistants...",createFirst:"Create your first AI assistant",adjustSearch:"Try adjusting search criteria",loading:"Loading AI assistants...",filter:{all:"All",enabled:"Enabled",disabled:"Disabled"},table:{agent:"AI Assistant",type:"Type",config:"Configuration",tools:"Tools",status:"Status",actions:"Actions",maxTurns:"Max Turns",unlimited:"Unlimited",permission:"Permission",toolsCount:"{{count}} tools"},form:{create:"Create Assistant",edit:"Edit Assistant",name:"Name",description:"Description",maxTurns:"Max Turns",maxTurnsPlaceholder:"Unlimited",maxTurnsError:"Max turns must be between 1-100",maxTurnsExceeded:"Max turns cannot exceed {{maximum}}",permissionMode:"Permission Mode",icon:"Icon",primaryColor:"Primary Color",enabledTools:"Enabled Tools",selectTools:"Select Tools",toolsRegular:"{{count}} regular tools",toolsMcp:"{{count}} MCP tools",systemPrompt:"System Prompt",systemPromptPlaceholder:"Enter assistant's system prompt...",nameRequired:"Please enter assistant name",save:"Save",cancel:"Cancel"},permissions:{default:"Default",acceptEdits:"Auto-accept edits",bypassPermissions:"Bypass permission checks",plan:"Plan mode"},status:{enabled:"Enabled",disabled:"Disabled"},errors:{createFailed:"Failed to create, please try again.",saveFailed:"Failed to save, please try again.",deleteFailed:"Failed to delete, please try again.",toggleFailed:"Operation failed, please try again.",builtinCannotDelete:"Built-in assistants cannot be deleted, but can be disabled."},confirmDelete:`Are you sure you want to delete assistant "{{name}}"?
190
+ 对话过长。请新建会话或使用 /compact 命令减少上下文。`,checkBudget:"检查预算设置和成本限制",increaseMaxTurns:"在代理设置中增加最大轮次"}},Lj={title:"已压缩上下文",expand:"展开查看",collapse:"收起",autoCompact:"上下文窗口已自动压缩。之前的对话内容已被总结以释放空间,对话将继续进行。",autoCompactWithTokens:"上下文窗口已自动压缩(压缩前 {{tokens}} tokens)。之前的对话内容已被总结以释放空间,对话将继续进行。"},Fj={title:"最近活动",empty:"暂无最近活动",time:{justNow:"刚刚",minutesAgo:"{{count}} 分钟前",hoursAgo:"{{count}} 小时前",daysAgo:"{{count}} 天前"}},zj={title:"后端服务",noService:"无服务",namePlaceholder:"服务名称",urlPlaceholder:"服务地址",add:"添加",save:"保存",cancel:"取消",edit:"编辑",delete:"删除",addNew:"添加新服务",testingConnection:"正在测试连接...",connectionWarning:{title:"无法连接到服务",message:'无法连接到服务 "{{name}}" ({{url}})。',consequence:"如果继续切换,您将无法登录或使用该服务,但可以在登录页面中重新配置服务地址。",cancel:"取消",continue:"仍然切换"}},Uj={checking:"检查中...",connected:"已连接",disconnected:"未连接",manageServices:"管理服务",quickSwitch:"快速切换服务",version:"版本",backendName:"后端名称",status:"状态",clickToSwitch:"点击服务名快速切换",clickToManage:"点击齿轮图标管理服务"},Ij={title:"服务管理",noService:"无服务",servicesList:"服务列表",addService:"添加服务",current:"当前",testConnection:"测试连接",switchToService:"切换到此服务",editService:"编辑服务",removeService:"删除服务",refreshStatus:"刷新状态",servicesOnline:"个服务在线",close:"关闭",namePlaceholder:"服务名称",urlPlaceholder:"服务地址 (如: http://localhost:4936)",version:"版本",add:"添加",save:"保存",cancel:"取消",addNewService:"添加新服务",switchSuccess:"已切换到服务: {{name}}",addSuccess:"服务添加成功",updateSuccess:"服务更新成功",removeSuccess:"服务删除成功",logoutService:"退出登录此服务",logoutSuccess:"已成功退出登录",managePassword:"管理密码",password:{title:"访问密码管理",description:"设置密码后,登录时需要输入密码。留空并保存可清除密码,启用免密登录。",checking:"正在检查...",currentlySet:"当前已设置访问密码",currentlyNotSet:"当前未设置密码,可免密登录",newPassword:"新密码",newPasswordPlaceholder:"输入新密码(留空则清除密码)",confirmPassword:"确认密码",confirmPasswordPlaceholder:"再次输入密码",save:"保存密码",mismatch:"两次输入的密码不一致",tooShort:"密码长度至少为4位",setSuccess:"密码设置成功,下次登录时生效",clearSuccess:"密码已清除,系统现在可以免密登录",saveFailed:"保存密码失败"},connectionTest:{success:"连接测试成功",failed:"连接测试失败",error:"连接测试出错"},switchWarning:{title:"服务连接警告",message:'服务 "{{name}}" ({{url}}) 无法连接。',consequence:"如果继续切换,您可能无法正常使用某些功能。",cancel:"取消",continue:"仍然切换"}},Hj={detecting:{title:"正在检测 Claude CLI",description:"正在检测您的系统中是否安装了 Claude..."},selection:{title:"选择 Claude 版本",description:"我们检测到以下 Claude CLI 安装,请选择要使用的版本",userInstalled:"用户全局安装",systemInstalled:"系统 npm 包",path:"路径",version:"版本",packageManager:"包管理器",useUserInstalled:"使用用户安装的 Claude",useUserInstalledDesc:"使用您通过包管理器全局安装的 Claude CLI",useSystemPackage:"使用系统 npm 包",useSystemPackageDesc:"使用本项目 node_modules 中自带的 Claude CLI",noClaudeFound:"未检测到 Claude CLI",noClaudeFoundDesc:"请先安装 Claude CLI 或确保项目依赖已正确安装"},config:{title:"配置认证方式",description:"选择如何配置 Claude 的认证凭证",skipToken:"暂不配置(推荐)",skipTokenDesc:"跳过认证配置,效果与 Claude Pro 订阅用户一样",claudePro:"Claude Pro 订阅用户",claudeProDesc:"我是 Claude Pro 订阅用户,将在 CLI 中自行登录",enterToken:"手动输入 Token",enterTokenDesc:"手动输入 ANTHROPIC_AUTH_TOKEN 环境变量",tokenPlaceholder:"输入您的 ANTHROPIC_AUTH_TOKEN"},creating:{title:"正在创建系统版本",description:"正在为您配置 Claude 版本,请稍候..."},success:{title:"配置成功!",description:"Claude 版本已成功创建,即将返回控制台..."},actions:{skip:"跳过",next:"下一步",back:"上一步",create:"创建版本"}},qj={unknownCursorTool:"未知 Cursor 工具: {{toolName}}"},Bj={exitCode:"退出码: {{code}}",executionTime:"耗时: {{time}}",background:"后台运行"},$j={totalLines:"总行数: {{lines}}",fileSize:"文件大小: {{size}}",readRange:"读取范围: L{{start}}-L{{end}}",exceededLimit:"超出限制",isEmpty:"文件为空"},Vj={filePath:"文件路径",linesAdded:"行已添加",linesRemoved:"行已删除",viewDiff:"查看差异"},Gj={path:"文件路径",deleteSuccess:"文件已成功删除",deleteFailed:"删除失败"},Yj={path:"目录路径",ignore:"忽略模式",extensionStats:"文件扩展名统计"},Kj={pattern:"匹配模式",directory:"目标目录",totalFiles:"共 {{count}} 个文件",clientTruncated:"结果被截断",ripgrepTruncated:"ripgrep 截断",matchedFiles:"匹配的文件",noFilesFound:"未找到匹配的文件"},Xj={pattern:"搜索模式",path:"搜索路径",caseInsensitive:"忽略大小写",multiline:"多行模式",noMatchesFound:"未找到匹配项"},Qj={completed:"已完成",inProgress:"进行中",pending:"待处理",merge:"合并模式",replace:"替换模式",noTodos:"暂无待办事项"},Zj={query:"搜索查询",targetDirectories:"目标目录",explanation:"搜索说明",results:"{{count}} 个结果",rawResults:"原始结果",noResults:"未找到结果"},Wj={url:"URL",fetchedContent:"获取的内容",fetchFailed:"获取失败"},Jj={noResources:"暂无 MCP 资源"},eR={server:"服务",tool:"工具",parameters:"参数",result:"执行结果",error:"执行错误"},tR={title:"A2A协议管理",project:"项目",selectedProject:"项目: {{project}}",noProjectSelected:"未选择项目",tabs:{overview:"概览",apiKeys:"API密钥",external:"外部Agent",tasks:"任务",im:"IM 接入"},actions:{copy:"复制",createKey:"创建密钥",cancel:"取消",delete:"删除",edit:"编辑",enable:"启用",disable:"禁用",hide:"隐藏",show:"显示",addAgent:"添加Agent",importProjects:"导入项目",copyKey:"复制密钥",close:"关闭"},overview:{agentIdentity:"Agent身份",a2aAgentId:"A2A Agent ID",projectId:"项目ID",agentType:"Agent类型",agentCard:"Agent卡片",apiKeys:"API密钥",externalAgents:"外部Agent",activeTasks:"活跃任务",notEnabled:"此项目尚未启用A2A功能",enableAfterCreatingKey:"创建API密钥后自动启用"},agentCard:{context:"Agent上下文",skills:"可用技能",security:"安全认证"},apiKeys:{title:"API密钥管理",noKeys:"还没有API密钥",createFirstKey:"创建第一个API密钥",description:"描述",key:"密钥",createdAt:"创建时间",lastUsed:"最后使用",usageCount:"使用次数",actions:"操作",showKey:"显示密钥",hideKey:"隐藏密钥",keyCopied:"密钥已复制"},external:{title:"外部Agent配置",noAgents:"还没有配置外部Agent",addFirstAgent:"添加第一个外部Agent",enabled:"启用",disabled:"禁用",form:{name:"Agent名称",namePlaceholder:"例如:数据分析Agent",url:"URL",urlPlaceholder:"https://agent.example.com/a2a/uuid",apiKey:"API密钥",apiKeyPlaceholder:"agt_proj_external_key_here",description:"描述",descriptionPlaceholder:"可选的Agent功能描述",enableThisAgent:"启用此Agent",urlHelp:"必须是完整的HTTP或HTTPS URL"},modal:{addTitle:"添加外部Agent",editTitle:"编辑外部Agent",saveChanges:"保存修改",addAgent:"添加Agent"},importModal:{title:"导入项目",description:"选择要导入的项目,系统将自动为这些项目生成API密钥,并添加到当前项目的外部Agent列表中。",noProjects:"没有可导入的项目",selected:"已选择",import:"导入",importing:"导入中..."}},tasks:{title:"任务监控",needA2AEnabled:"需要先启用A2A功能",noTasks:"还没有任务记录",createdAt:"创建时间",startedAt:"开始时间",completedAt:"完成时间"},im:{title:"IM 接入",description:"为企业微信机器人生成一键接入命令",refresh:"刷新",networkStatus:"网络状态",tunnelStatus:"隧道状态",connected:"已连接",notConnected:"未连接",localNetwork:"本地网络",available:"可用",unavailable:"不可用",noAccessWarning:"无法确定外部访问地址。如需通过企业微信访问,请先配置隧道服务或确保本地网络可被外部访问。",commandGenerator:"命令生成器",generateCommand:"生成接入命令",generating:"生成中...",generateHint:"点击按钮将自动创建新的 API 密钥并生成企微机器人接入命令",usage:"使用方法",usageDetail:"将生成的命令发送到企业微信机器人聊天中执行即可完成接入"},modals:{createKey:{title:"创建API密钥",description:"描述",descriptionPlaceholder:"例如:生产环境密钥",descriptionHelp:"用于标识此API密钥的用途,最多100个字符",important:"重要提示",securityNote:"API密钥创建后只会完整显示一次,请妥善保存。",creating:"创建中..."}},validation:{descriptionRequired:"描述不能为空",descriptionTooLong:"描述不能超过100个字符",agentNameRequired:"Agent名称不能为空",agentNameTooLong:"Agent名称不能超过50个字符",urlRequired:"URL不能为空",invalidUrl:"URL格式无效",apiKeyRequired:"API密钥不能为空",required:"此字段为必填项"},confirmations:{deleteApiKey:"确定要删除这个API密钥吗?此操作不可撤销。",deleteExternalAgent:"确定要删除这个外部Agent吗?此操作不可撤销。"}},nR={loading:"加载中...",notConfigured:"语音服务未配置,点击配置",processing:"转写中...",recording:"录音中,点击停止",recordingHint:"点击停止,右键取消",start:"点击开始语音输入",error:"语音输入出错",permissionDenied:"请允许使用麦克风",noDevice:"未找到麦克风设备",tooShort:"录音时间太短"},aR={common:IM,projectForm:HM,agentForm:qM,commandForm:BM,fileExplorer:$M,sessionDropdown:VM,toolSelector:GM,languageSwitcher:YM,agentChat:KM,systemCommands:XM,projectMemory:QM,projectCommands:ZM,projectSubAgents:WM,sessionsDashboard:JM,fileBrowser:ej,csvPreview:tj,jsonlPreview:nj,unifiedToolSelector:aj,subagentForm:ij,commandSelector:sj,apiSettingsModal:rj,projectCommandsModal:oj,projectSubAgentsModal:lj,projectSelector:cj,mcpTool:uj,bashTool:dj,readTool:fj,writeTool:hj,editTool:pj,globTool:mj,grepTool:gj,webFetchTool:vj,webSearchTool:yj,taskTool:bj,subAgentMessageFlow:_j,skillTool:Sj,todoWriteTool:xj,exitPlanModeTool:wj,notebookEditTool:Cj,toolRenderer:kj,baseToolComponent:Aj,bashOutputTool:Tj,agentOutputTool:Ej,killBashTool:Nj,lsTool:Mj,timeMachineTool:jj,askUserQuestionTool:Rj,multiEditTool:Dj,notebookReadTool:Pj,agentChatPanel:Oj,compactSummary:Lj,recentActivity:Fj,backendServiceSwitcher:zj,serviceStatusIndicator:Uj,serviceManagementModal:Ij,claudeVersionSetup:Hj,cursorToolRenderer:qj,cursorShellTool:Bj,cursorReadTool:$j,cursorEditTool:Vj,cursorDeleteTool:Gj,cursorLsTool:Yj,cursorGlobTool:Kj,cursorGrepTool:Xj,cursorTodoTool:Qj,cursorSemSearchTool:Zj,cursorWebFetchTool:Wj,cursorMcpResourcesTool:Jj,cursorMcpTool:eR,a2aManagement:tR,voiceInput:nR},iR={connectionFailed:"网络连接错误,无法连接到AI服务",connectionFailedRetry:"网络连接错误,无法连接到AI服务,请检查网络连接后重试",timeout:"请求超时,请重试",serverError:"服务器错误,请稍后重试",unknownError:"未知错误,请重试"},sR={createFailed:"创建项目失败",deleteFailed:"删除项目失败",updateFailed:"更新项目失败",notFound:"未找到匹配的项目",loadFailed:"加载项目失败",nameRequired:"项目名称不能为空",nameInvalid:"项目名称包含非法字符"},rR={createFailed:"创建助手失败",deleteFailed:"删除助手失败",updateFailed:"更新助手失败",notFound:"无法找到指定的智能助手,可能已被删除或禁用",loadFailed:"加载助手失败",setFailed:"设置Agent失败",builtinCannotDelete:"内置助手无法删除,但可以禁用",nameRequired:"助手名称不能为空"},oR={uploadFailed:"上传文件失败",deleteFailed:"删除文件失败",downloadFailed:"下载文件失败",readFailed:"读取文件失败",writeFailed:"写入文件失败",notFound:"文件不存在",tooLarge:"文件过大"},lR={createFailed:"创建会话失败",deleteFailed:"删除会话失败",loadFailed:"加载会话失败",notFound:"会话不存在"},cR={executeFailed:"命令执行失败",notFound:"未找到匹配的命令",loadFailed:"无法加载自定义命令",invalidFormat:"命令格式错误"},uR={saveFailed:"保存失败,请重试",loadFailed:"加载失败",operationFailed:"操作失败,请重试",invalidInput:"输入内容无效",permissionDenied:"权限不足"},dR={network:iR,project:sR,agent:rR,file:oR,session:lR,command:cR,common:uR},fR={pptEditor:"PPT编辑助手",codeAssistant:"AI编程助手",documentWriter:"文档写作助手",generalChat:"通用对话助手",custom:"自定义助手"},hR={loading:"正在加载智能助手...",loadingProjects:"正在加载项目...",loadingMcp:"正在加载MCP配置...",loadingSubagents:"正在加载 Subagents...",loadingCommands:"加载命令中...",loadingSession:"加载会话信息...",creating:"正在创建项目...",notFound:"无法找到指定的智能助手",noAgents:"暂无智能助手"},pR={bash:"命令行工具",read:"文件读取",write:"文件写入",edit:"文件编辑",search:"代码搜索",webSearch:"网络搜索",webFetch:"网页抓取"},mR={active:"活跃",inactive:"未激活",running:"运行中",stopped:"已停止",error:"错误"},gR={createAgent:"创建助手",editAgent:"编辑助手",deleteAgent:"删除助手",enableAgent:"启用助手",disableAgent:"禁用助手",testAgent:"测试助手",configureAgent:"配置助手"},vR={taskCompleted:"✅ 任务完成",generationStopped:"⏹️ 生成已停止",sessionRestored:"🔄 会话已恢复",executionCompleted:"(执行完成)"},yR={title:"文档大纲",description:"文档结构和章节管理",createSection:"新建章节",featureTitle:"文档大纲功能",comingSoon:"即将推出...",chatManagement:"您可以通过聊天来管理文档内容"},bR={title:"代码浏览器",description:"代码文件和结构管理",projectWithPath:"项目: {{path}}",openFile:"打开文件",featureTitle:"代码浏览器功能",comingSoon:"即将推出...",chatManagement:"您可以通过聊天来管理代码文件"},_R={title:"幻灯片预览",refreshTitle:"刷新幻灯片",refresh:"刷新",slideCount:"共 {{count}} 张幻灯片",noSlides:"还没有幻灯片",createWithAI:"与AI聊天来创建幻灯片",loading:"加载中...",loadError:"加载失败,请刷新页面重试",tabs:{preview:"预览",code:"代码"},loadFailed:"加载失败",fileNotFound:"文件不存在",loadingCode:"加载代码中..."},SR={types:fR,messages:hR,tools:pR,status:mR,actions:gR,notifications:vR,documentOutline:yR,codeExplorer:bR,slidePreview:_R},xR={welcome:{title:"欢迎使用 AgentStudio",subtitle:"在开始之前,我们需要配置后端服务连接",features:{title:"后端服务负责:",ai:{title:"AI 模型调用",description:"连接 Claude 等 AI 模型进行智能对话"},storage:{title:"文件存储和管理",description:"保存您的工作内容和项目文件"},history:{title:"会话历史记录",description:"保存和管理您的对话历史"}}},detecting:{title:"检测后端服务",description:"正在检测本地后端服务..."},found:{title:"检测到本地后端服务",description:"我们在您的系统中发现了可用的后端服务",serviceAddress:"服务地址",status:"连接正常",useThisService:"使用此服务",addOtherService:"添加其他服务"},notFound:{title:"未检测到本地后端服务",description:"请选择以下方式之一来配置后端服务",tabs:{install:"本地安装",remote:"使用远程服务"},install:{title:"安装本地后端服务",description:"按照以下步骤在本地安装后端服务:",copyCommands:"复制安装命令",viewDocs:"查看完整文档",retry:"重新检测"},remote:{title:"使用远程后端服务",description:"如果您已有远程服务,可以在这里配置连接",serviceName:"服务名称",serviceNamePlaceholder:"例如:公司服务器",serviceUrl:"服务地址",testConnection:"测试连接",testing:"测试中...",success:"连接成功",failed:"连接失败",addService:"添加服务",commonServices:"常用服务:",official:"官方服务",local:"本地服务"}},complete:{title:"配置完成!",description:"已成功连接到后端服务",serviceName:"服务名称",serviceUrl:"服务地址",nextSteps:{title:"接下来",description:"请登录系统开始使用 AgentStudio"},goToLogin:"前往登录",manageServices:"管理服务"},skipConfirm:{title:"确定要跳过配置?",warning:"未配置后端服务可能导致:",consequences:{noAi:"无法连接 AI 服务",noStorage:"无法保存工作内容",noFeatures:"系统功能不可用"},reconfigure:"您可以随时在以下位置重新配置:",locations:{loginPage:"登录页面的服务管理",settingsPage:"设置页面的 API 配置"},back:"返回配置",skip:"仍要跳过"},addService:{title:"添加后端服务",description:"输入后端服务的地址和名称进行连接",installHelp:"安装帮助",installGuide:{title:"本地安装指南",description:"按照以下步骤在本地安装后端服务:",copyCommands:"复制命令",viewDocs:"查看文档"},serviceName:"服务名称",serviceNamePlaceholder:"例如:公司服务器",serviceUrl:"服务地址",testConnection:"测试连接",testing:"测试中...",success:"连接成功",failed:"连接失败",commonServices:"常用服务:",official:"官方服务",local:"本地服务",retry:"重新检测",addButton:"添加服务"},actions:{skip:"跳过",getStarted:"开始配置",next:"下一步",back:"上一步"}},wR={backend:xR},CR="技能管理",kR="创建和管理 Claude 助手技能,扩展 AI 功能",AR="创建技能",TR="搜索技能名称或描述...",ER={showDisabled:"显示已禁用技能"},NR="还没有创建任何技能",MR="没有找到匹配的技能",jR="创建第一个技能",RR={user:"用户技能"},DR={local:"本地",plugin:"插件"},PR={enabled:"已启用",disabled:"已禁用"},OR={skill:"技能",tools:"工具",status:"状态",updated:"更新时间",actions:"操作"},LR="尝试调整搜索条件",FR={updated:"更新于",usage:"使用 {{count}} 次",actions:{edit:"编辑",view:"查看",browseFiles:"浏览文件",delete:"删除"}},zR={description:"描述",allowedTools:"允许的工具",additionalFiles:"附加文件",browseFiles:"浏览文件",files:"文件",back:"返回",close:"关闭"},UR='确定要删除技能 "{{name}}" 吗?此操作不可撤销。',IR={loadFailed:"加载技能失败",createFailed:"创建技能失败",updateFailed:"更新技能失败",deleteFailed:"删除技能失败"},HR={title:"创建新技能",subtitle:"配置新技能的基本信息和功能",tabs:{basic:"基本信息",manifest:"技能清单",files:"附件文件"},basic:{name:"技能名称",namePlaceholder:"输入技能名称",nameHint:"技能的显示名称,支持中英文和数字",description:"技能描述",descriptionPlaceholder:"详细描述这个技能的功能和用途",descriptionHint:"清晰的描述有助于理解技能的作用",allowedTools:"允许使用的工具",allowedToolsHint:"选择此技能可以使用的工具",noToolsSelected:"尚未选择任何工具",selectTools:"选择工具",unsavedChanges:"您有未保存的更改"},content:{skillManifest:"技能清单",additionalFiles:"附加文件",addFile:"添加文件",noFiles:"没有附加文件",noFilesHint:"点击上方按钮添加技能相关文件",fileName:"文件名",filePath:"文件路径",fileContent:"文件内容",fileType:{markdown:"Markdown",text:"文本",script:"脚本",template:"模板",other:"其他"}}},qR={title:"编辑技能",scope:{user:"用户级技能"},basic:{name:"技能名称",description:"技能描述",allowedTools:"允许使用的工具",allowedToolsHint:"选择此技能可以使用的工具",skillContent:"技能内容",unsavedChanges:"您有未保存的更改,按 Cmd+S 保存"},files:{title:"附加文件",addFile:"添加文件",noFiles:"没有附加文件",addFilesHint:"添加相关文件来支持技能功能"},errors:{validationErrors:"验证错误",saveFailed:"保存技能失败"}},BR={title:CR,subtitle:kR,createButton:AR,searchPlaceholder:TR,filter:ER,noSkills:NR,noSkillsSearch:MR,createFirst:jR,scope:RR,source:DR,status:PR,table:OR,adjustSearch:LR,preview:FR,detail:zR,deleteConfirm:UR,errors:IR,create:HR,editor:qR},$R={create:"Create",delete:"Delete",save:"Save",cancel:"Cancel",confirm:"Confirm",edit:"Edit",close:"Close",back:"Back",next:"Next",refresh:"Refresh",submit:"Submit",reset:"Reset",search:"Search",add:"Add",remove:"Remove",update:"Update",upload:"Upload",download:"Download",export:"Export",import:"Import",copy:"Copy",paste:"Paste",cut:"Cut"},VR={loading:"Loading...",processing:"Processing...",success:"Success",failed:"Failed",saving:"Saving...",deleting:"Deleting...",uploading:"Uploading...",downloading:"Downloading...",completed:"Completed",pending:"Pending",active:"Active",inactive:"Inactive",enabled:"Enabled",disabled:"Disabled"},GR={yes:"Yes",no:"No",ok:"OK",all:"All",none:"None",or:"Or",and:"And",more:"More",less:"Less",unknown:"Unknown",optional:"Optional",required:"Required",default:"Default",custom:"Custom"},YR="Path",KR="Created",XR={init:{description:""},clear:{description:""},compact:{description:""},agents:{description:""},settings:{description:""},help:{description:""}},QR={sendImage:""},ZR={chinese:"",english:""},WR={pageTitle:"",metaDescription:"",nav:{enterWorkspace:""},hero:{title:"",subtitle:"",description:"",startNow:"",viewSource:""},features:{title:"",subtitle:"",modernWeb:{title:"",description:""},multiModel:{title:"",description:""},agentSystem:{title:"",description:""},fileManagement:{title:"",description:""},professionalTools:{title:"",description:""},secureReliable:{title:"",description:""}},quickStart:{title:"",subtitle:"",endUserTitle:"",endUserDescription:"",developerTitle:"",developerDescription:""},cta:{title:"",subtitle:"",start:""},footer:{description:"",copyright:"",product:"",workspace:"",sourceCode:"",releases:"",support:"",documentation:"",issues:"",discussions:""}},JR={actions:$R,status:VR,common:GR,path:YR,createdAt:KR,systemCommands:XR,agentChat:QR,languageSwitcher:ZR,landing:WR},e2={backToHome:"Back to Home",documentation:"Documentation"},t2={dashboard:"Dashboard",projects:"Projects",agents:"Agents",scheduledTasks:"Scheduled Tasks",extensions:"Extensions",skills:"Skills",plugins:"Plugins",mcp:"MCP Services",commands:"Commands",subagents:"Subagents",settings:"Settings",settingsSubmenu:{general:"General",suppliers:"Suppliers",memory:"Memory",mcpAdmin:"MCP Admin",tunnel:"Tunnel",voice:"Voice Input"}},n2={newVersionAvailable:"New version v{{version}} is available",updateAvailableTitle:"Update Available",currentVersion:"Current version",viewUpdate:"View Update",dismiss:"Dismiss",remindLater:"Remind Later"},a2={version:"Version {{version}}",apiServerStatus:{connected:"API Server Settings - Connected",disconnected:"API Server Settings - Connection Failed",checking:"API Server Settings - Checking..."},serviceStatus:{normal:"Service Normal",unavailable:"Service Unavailable",checking:"Checking..."}},i2={title:"Sign In",subtitle:"Enter your password to continue",passwordLabel:"Password",passwordPlaceholder:"Enter password",loginButton:"Sign In",loggingIn:"Signing in...",footer:"Please contact your administrator if you forgot your password",manageServices:"Manage Backend Services",serviceName:"Service Name",serviceUrl:"Service URL",current:"Current",testConnection:"Test Connection",switchTo:"Switch to this service",edit:"Edit",delete:"Delete",save:"Save",cancel:"Cancel",add:"Add",addService:"Add New Service",rerunOnboarding:"Rerun Configuration Wizard",checkingConnection:"Checking connection...",autoLoggingIn:"Auto signing in...",noPasswordRequired:"No password required for this service",enterSystem:"Enter System"},s2={pageTitle:"AgentStudio - Agent Workspace | Powered by Claude Agent SDK",metaDescription:"Agent for Work - Your local Agent workspace powered by Claude Agent SDK. Fully private data, scheduled tasks, A2A protocol, and custom agents.",nav:{enterWorkspace:"Enter Workspace",docs:"Docs",wechat:"WeChat"},hero:{badge:"Powered by Claude Agent SDK",title:"Agent for Work",subtitle:"Your Local Agent Workspace",description:"A truly private AI assistant running on your computer. Your data stays local, with scheduled task automation and multi-agent collaboration.",startNow:"Get Started",viewSource:"View Source",copyCommand:"Copy Command",installHint:"Copy the command below and run it in your terminal to get started",copy:"Copy",copied:"Copied"},preview:{title:"Product Preview",subtitle:"Intuitive Web interface for efficient AI work",chatAlt:"Chat interface screenshot",chatCaption:"Chat Interface - Talk to Agent with visual tool execution",mcpAlt:"MCP service management screenshot",mcpCaption:"MCP Management - One-click import Claude Code config"},features:{title:"Core Features",subtitle:"A complete solution for AI work automation",localWorkspace:{title:"Local Agent Workspace",point1:"Runs on your computer - a true local workspace",point2:"Data is fully private, never uploaded to cloud",point3:"Files, code, and conversations under your control"},webExperience:{title:"Web-Based Experience",point1:"Say goodbye to CLI, embrace a friendly Web interface",point2:"Visual tool execution makes conversations come alive",point3:"Built-in file browser to view project files alongside chat"},sdkFeatures:{title:"Claude Agent SDK Full Suite",skills:"Skills",commands:"Commands",plugins:"Plugins",memory:"Memory",subagent:"Subagent",multiModel:"Multi-Model",anthropicCompat:"Supports Claude, GLM, DeepSeek, Kimi K2, MiniMax and other models compatible with Anthropic API"}},scheduler:{badge:"Scheduled Tasks",title:"Let Agents Run on Schedule",description:"True AI work automation! Set time rules and your Agent will automatically handle repetitive tasks, freeing up your time.",scenariosTitle:"Typical Use Cases",scenario1:{title:"Daily Progress Report",desc:"Every day at 9 AM, automatically generate project progress report"},scenario2:{title:"Auto Code Review",desc:"Check code repository every 2 hours, automatically submit review comments"},scenario3:{title:"Weekly Meeting Summary",desc:"Every Friday, automatically compile and archive weekly meeting notes"},scenario4:{title:"Monthly Data Analysis",desc:"On the 1st of each month, automatically generate business data analysis report"}},a2a:{badge:"A2A Protocol",title:"Agent Collaboration Network",description:"Connect multiple agents into a collaborative network. Local and remote agents work together, building your personal AI team.",scenariosTitle:"Typical Use Cases",scenario1:{title:"Secretary Agent Dispatch",desc:"A secretary Agent receives tasks and dispatches other project Agents to execute specific work"},scenario2:{title:"Local ↔ Remote Collaboration",desc:"Agents on your local machine and remote dev server communicate and collaborate on tasks"},scenario3:{title:"Mobile Access Anywhere",desc:"Interact with local Agents via mobile messaging, work from anywhere (Beta)"}},customAgent:{badge:"Custom Agents",title:"Build Your Own Agent",description:"No coding required - customize your Agent through the UI. Built-in Claude Code Agent ready to use, suitable for various work scenarios.",example1:"PPT Creator Agent",example2:"Secretary Agent",example3:"Doc Writer Agent",example4:"Code Review Agent"},comparison:{title:"AgentStudio vs Claude Code",subtitle:"Same Claude Agent SDK, friendlier experience",dimension:"Comparison",interface:"Interface",webInterface:"UI",cli:"Command Line (CLI)",targetUsers:"Target Users",everyone:"Everyone",developers:"Mainly Developers",toolDisplay:"Tool Display",visual:"Visual Rendering",textOnly:"Text Only",fileBrowser:"File Browser",agentCustom:"Agent Customization",scheduler:"Scheduled Tasks",a2a:"A2A Protocol",mobileAccess:"Mobile Access",beta:"Beta"},quickStart:{title:"Quick Start",subtitle:"Choose your preferred installation method and start using within minutes",endUserTitle:"End Users - One-Click Install",endUserDescription:"No configuration needed, auto-installs all dependencies, perfect for quick experience and daily use",developerTitle:"Developers - Source Deployment",developerDescription:"Full development environment, supports hot reload, perfect for custom development and feature extension"},cta:{title:"Ready to start your AI work automation?",subtitle:"One command to launch your local Agent workspace",start:"Get Started"},footer:{description:"Agent for Work - Your local Agent workspace powered by Claude Agent SDK.",copyright:"© 2026 AgentStudio. GPL v3 License.",product:"Product",workspace:"Workspace",sourceCode:"Source Code",releases:"Releases",support:"Support",documentation:"Documentation",issues:"Issues",wechat:"WeChat Group"},wechat:{title:"Join WeChat Group",fallback:"QR code expired? Add WeChat ID:",wechatId:"talk4kong",tip:"Scan QR code or add WeChat ID to join the community"}},r2={title:"Agent Management",subtitle:"Manage Specialized AI Agents",createButton:"Create Assistant",editButton:"Edit Assistant",deleteButton:"Delete Assistant",enableButton:"Enable Assistant",disableButton:"Disable Assistant",useButton:"Use",startUsingButton:"Start using assistant",noAgents:"No assistants yet",noAgentsSearch:"No matching assistants found",searchPlaceholder:"Search assistants...",createFirst:"Create your first AI assistant",adjustSearch:"Try adjusting search criteria",loading:"Loading AI assistants...",filter:{all:"All",enabled:"Enabled",disabled:"Disabled"},table:{agent:"AI Assistant",type:"Type",config:"Configuration",tools:"Tools",status:"Status",actions:"Actions",maxTurns:"Max Turns",unlimited:"Unlimited",permission:"Permission",toolsCount:"{{count}} tools"},form:{create:"Create Assistant",edit:"Edit Assistant",name:"Name",description:"Description",maxTurns:"Max Turns",maxTurnsPlaceholder:"Unlimited",maxTurnsError:"Max turns must be between 1-100",maxTurnsExceeded:"Max turns cannot exceed {{maximum}}",permissionMode:"Permission Mode",icon:"Icon",primaryColor:"Primary Color",enabledTools:"Enabled Tools",selectTools:"Select Tools",toolsRegular:"{{count}} regular tools",toolsMcp:"{{count}} MCP tools",systemPrompt:"System Prompt",systemPromptPlaceholder:"Enter assistant's system prompt...",nameRequired:"Please enter assistant name",save:"Save",cancel:"Cancel"},permissions:{default:"Default",acceptEdits:"Auto-accept edits",bypassPermissions:"Bypass permission checks",plan:"Plan mode"},status:{enabled:"Enabled",disabled:"Disabled"},errors:{createFailed:"Failed to create, please try again.",saveFailed:"Failed to save, please try again.",deleteFailed:"Failed to delete, please try again.",toggleFailed:"Operation failed, please try again.",builtinCannotDelete:"Built-in assistants cannot be deleted, but can be disabled."},confirmDelete:`Are you sure you want to delete assistant "{{name}}"?
191
191
 
192
- This action cannot be undone, and all related sessions will also be deleted.`},s2={title:"Project Management",subtitle:"Manage All Your Work Projects",createButton:"Create New Project",selectType:"Select Assistant Type to Create Work Project",noProjects:"No projects yet",searchPlaceholder:"Search projects...",loading:"Loading projects...",filter:{all:"All",active:"Active",inactive:"Inactive"},table:{project:"Project",agent:"Assistant",lastActive:"Last Active",sessions:"Sessions",actions:"Actions",sessionsCount:"{{count}} sessions"},form:{create:"Create Project",edit:"Edit Project",name:"Project Name",namePlaceholder:"Enter project name",nameRequired:"Project Name *",agentType:"Select Assistant Type *",agentTypePlaceholder:"Choose an assistant type",directory:"Project Directory",directoryNote:"A new folder will be created under this directory",description:"Project Description",descriptionPlaceholder:"Briefly describe the purpose of this project...",save:"Save",cancel:"Cancel"},actions:{open:"Open",openInNewTab:"Open in new tab",edit:"Edit",delete:"Delete"},status:{active:"Active",inactive:"Inactive",never:"Never"},errors:{createFailed:"Failed to create project",updateFailed:"Failed to update project",deleteFailed:"Failed to delete project",loadFailed:"Failed to load projects"},deleteConfirm:"Are you sure you want to delete this project?",deleteNote:"Note: This will only remove the project from the list, not delete the actual file directory.",deleteSuccess:"Project deleted"},r2={title:"Chat",inputPlaceholder:"Type a message...",aiTyping:"AI is typing",newSession:"New Chat",sessionHistory:"Chat History",loading:"Loading AI assistant...",agentNotFound:"Assistant Not Found",agentNotFoundDesc:"Unable to find the specified AI assistant, it may have been deleted or disabled.",agentDisabled:"Assistant Disabled",agentDisabledDesc:'AI assistant "{{name}}" is currently disabled and cannot be used.',closePage:"Close Page",tabNotification:{working:"🤖 Working",completed:"✅ Completed",error:"❌ Error"}},o2={title:"Dashboard",welcome:{title:"Let's Get Started",subtitle:"Select a project to start working with AI"},defaultProjectName:"Default Workspace",loading:"Loading...",creatingDefaultProject:"Creating default workspace...",noAgentsEnabled:"No Agent available, please enable one first",goToAgents:"Go to Agent Management",selectProject:"Select Project",noProjects:"No projects",createNewProject:"Create New Project",selectProjectToStart:"Please select a project to start chatting",stats:{agentManagement:"Agent Management",workProjects:"Work Projects",slashCommands:"Slash Commands",activeSessions:"Active Sessions"},recentAgents:{title:"Frequently Used Assistants",viewAll:"View All",types:{slides:"Presentations","claude-code":"Claude Code"},noAgents:"No assistants available",goEnable:"Enable assistants"},quickActions:{title:"Quick Actions",createProject:{title:"Create New Project",description:"Select assistant type to create work project"},createAgent:{title:"Create New Assistant",description:"Configure custom AI assistant"},addMcp:{title:"Add MCP Service",description:"Connect new MCP server"},viewAnalytics:{title:"View Analytics",description:"Analyze usage and performance"}},overview:"Overview",statistics:"Statistics",recentActivity:"Recent Activity",templates:{organizeFiles:"Organize Files",analyzeFiles:"Analyze Files",writeDoc:"Write a Doc",codeReview:"Code Review",checkWeather:"Check Shenzhen Weather",quickTask:"Free Ask"}},l2=JSON.parse(`{"title":"Settings","general":{"title":"General Settings","description":"Configure appearance, view system info, and privacy settings","interfaceSettings":"Appearance","theme":{"label":"Theme","description":"Select interface theme mode","auto":"Follow System","light":"Light Mode","dark":"Dark Mode"},"language":{"label":"Language","description":"Select interface language"},"password":{"title":"Access Password","checking":"Checking...","currentlySet":"Access password is currently set","currentlyNotSet":"No password set, passwordless login enabled","description":"Set a password to require authentication on login. Leave empty and save to clear the password and enable passwordless login.","newPassword":"New Password","newPasswordPlaceholder":"Enter new password (leave empty to clear)","confirmPassword":"Confirm Password","confirmPasswordPlaceholder":"Re-enter password","save":"Save Password","clear":"Clear Password","mismatch":"Passwords do not match","tooShort":"Password must be at least 4 characters","setSuccess":"Password set successfully. Takes effect on next login.","clearSuccess":"Password cleared. Passwordless login is now enabled.","saveFailed":"Failed to save password","clearFailed":"Failed to clear password"}},"api":"API Server Settings","memory":"Global Memory","memorySettings":{"title":"Global Memory Settings","description":"Global memory is shared background information for all AI assistants, including your work preferences, project information, etc.","fileSourceInfo":"Content is sourced from the ~/.claude/CLAUDE.md file in your user directory.","memoryContent":"Memory Content","edit":"Edit","cancelEdit":"Cancel Edit","refresh":"Refresh","refreshing":"Refreshing...","placeholder":"Write your global memory content here...","cancel":"Cancel","saveMemory":"Save Memory","loading":"Loading global memory...","noMemory":"No global memory content yet","clickEditToStart":"Click \\"Edit\\" button to start adding","infoAutoLoad":"Global memory will be automatically loaded in every conversation to provide background information for AI","infoSuggestions":"Recommended to include: work preferences, project background, personal information, etc.","infoFileLocation":"File location: ~/.claude/CLAUDE.md","saveSuccess":"Global memory saved successfully","saveFailed":"Failed to save, please try again"},"supplier":{"title":"Supplier Management","subtitle":"Manage multiple model suppliers, specify executable paths, aliases and environment variables","addSupplier":"Add Supplier","noSuppliers":"No model suppliers configured yet","clickToAddFirst":"Click \\"Add Supplier\\" to configure your first model supplier","systemLabel":"System","defaultLabel":"Default","pathLabel":"Path","envVarsLabel":"Environment Variables","modelsLabel":"Supported Models","setAsDefault":"Set as Default","copyCommand":"Copy Command","edit":"Edit","delete":"Delete","confirmDelete":"Are you sure you want to delete supplier \\"{{alias}}\\"?","currentSupplier":{"title":"Current Supplier","checking":"Checking...","checkVersion":"Check Supplier","claudeDesc":"AI Programming Assistant","updating":"Updating...","update":"Update","willUse":"Will use","toUpdate":"to update","nodejsDesc":"JavaScript Runtime Environment","preferred":"Preferred","packageManager":"Package Manager","lastChecked":"Last Checked","clickToCheck":"Click \\"Check Supplier\\" to get supplier info","updateSuccess":"Update Successful","updateFailed":"Update Failed","info1":"Claude Code is an AI programming assistant that supports code generation, editing and project management","info2":"Node.js is the fundamental runtime environment for the system","info3":"Supports multiple package managers: npm, pnpm, yarn (Priority: pnpm > yarn > npm)","info4":"The system will automatically select the preferred package manager for update operations","info5":"It is recommended to keep Claude Code up to date for the best experience"},"templates":{"title":"Quick Configuration Templates","description":"Select a preset template to quickly configure third-party API suppliers with auto-filled environment variables","providers":{"glm":{"name":"GLM (Zhipu AI)","description":"Use Zhipu AI's GLM model service, compatible with Anthropic API"},"deepseek":{"name":"DeepSeek","description":"Use DeepSeek's high-performance model service"},"kimi":{"name":"Kimi K2 (Moonshot AI)","description":"Use Kimi K2 model service, compatible with Anthropic API"},"minimax":{"name":"MiniMax","description":"Use MiniMax high-performance model service, compatible with Anthropic API"}}},"form":{"createTitle":"Add New Supplier","editTitle":"Edit Supplier","supplierName":"Supplier Name","supplierNamePlaceholder":"e.g., Claude Code v1.2.3","alias":"Alias","aliasPlaceholder":"e.g., claude-1.2.3","description":"Description","descriptionPlaceholder":"Supplier description (optional)","executablePath":"Executable Path","executablePathPlaceholder":"Leave empty to use system default path","browseFile":"Browse Files","envVars":"Environment Variables","varName":"Variable Name","varValue":"Variable Value","emptyValue":"Not set","getApiKey":"Get API Key","models":"Model Configuration","modelId":"Model ID","modelName":"Model Name","visionModel":"Vision Model","addModel":"Add Model","cancel":"Cancel","saving":"Saving...","update":"Update","create":"Create","selectExecutable":"Select Claude Executable"},"errors":{"requiredFields":"Please fill in all required fields","saveFailed":"Save failed","cannotDeleteSystem":"Cannot delete system supplier","deleteFailed":"Delete failed","setDefaultFailed":"Failed to set default supplier","copyFailed":"Copy failed, please manually copy the following command:"},"success":{"createVersion":"Supplier created successfully","updateVersion":"Supplier updated successfully","deleteVersion":"Supplier deleted successfully","setDefault":"Set \\"{{alias}}\\" as default supplier","copyCommand":"Command copied to clipboard"}},"cloudflare":{"title":"Cloudflare Tunnel","description":"Enable public internet access with one click using Cloudflare Tunnel","wizard":{"showGuide":"Show Setup Guide","steps":{"intro":"Intro","credentials":"Credentials","create":"Create","start":"Start","done":"Done"},"intro":{"title":"Welcome to Cloudflare Tunnel","description":"Cloudflare Tunnel allows you to expose your local AgentStudio to the internet without needing a public IP address.","benefit1":"No public IP or router configuration needed","benefit2":"Automatic HTTPS encryption for security","benefit3":"Powered by Cloudflare's global CDN","benefit4":"Free to use, quick to deploy","requirements":"Requirements","req1":"A free Cloudflare account","req2":"Python 3 environment (for API calls)","req3":"Docker or cloudflared CLI (to run the tunnel)","getStarted":"Get Started"},"credentials":{"howToGet":"How to get Cloudflare credentials?","step1":"Visit Cloudflare Dashboard to create an API Token","step2":"Configure permissions: Cloudflare Tunnel - Edit","step3":"Copy your Account ID and API Token","openDashboard":"Open Cloudflare Dashboard","saveAndContinue":"Save and Continue"},"create":{"description":"Now you can create your first Tunnel. You can customize the subdomain prefix or leave it empty for auto-generation.","createButton":"Create Tunnel with One Click"},"start":{"tunnelCreated":"Tunnel created successfully!","nextStep":"Now you need to start the cloudflared client to establish the connection.","yourPublicUrl":"Your Public URL","importantNote":"Important Note","needToStartClient":"Tunnel is created, but you still need to start the cloudflared client to establish the connection. Follow the steps below.","howToStart":"How to start the tunnel?","option1":"Option 1: Using Docker","option2":"Option 2: Using cloudflared CLI","recommended":"Recommended","copy":"Copy","copied":"Copied","installCloudfared":"Install cloudflared","runCommand":"Run command","finishSetup":"Finish Setup"},"done":{"title":"Setup Complete!","description":"Your AgentStudio is now accessible via the public internet","deleteTunnel":"Delete Tunnel","reminder":"Reminder","keepClientRunning":"Keep the cloudflared client running to maintain public access."}},"credentials":{"title":"Cloudflare Credentials","configured":"Credentials configured","update":"Update credentials","apiToken":"API Token","accountId":"Account ID","save":"Save","saving":"Saving...","cancel":"Cancel","help":"Get API Token and Account ID from"},"tunnel":{"title":"Tunnel Management","active":"Active Tunnel","publicUrl":"Public URL","name":"Tunnel Name","localPort":"Local Port","createdAt":"Created At","subdomain":"Subdomain Prefix (Optional)","subdomainPlaceholder":"Leave empty for random subdomain","subdomainHelp":"Leave empty to auto-generate a random subdomain","create":"Enable Public Access","creating":"Creating...","details":"Tunnel Details","token":"Tunnel Token","cliCommand":"CLI Command"},"credentialsSaved":"Cloudflare credentials saved successfully","tunnelCreated":"Tunnel created successfully! Now accessible via public URL","tunnelDeleted":"Tunnel deleted","confirmDelete":"Are you sure you want to delete this tunnel?","errors":{"credentialsRequired":"Please provide API Token and Account ID"}},"language":"Language Settings","subagents":{"title":"Subagent Management","subtitle":"Manage Specialized AI Subagents","loading":"Loading Subagents...","loadFailed":"Load Failed","loadFailedMessage":"Unable to load Subagents list","retry":"Retry","searchPlaceholder":"Search Subagents...","createButton":"New Subagent","noSubagents":"No Subagents Yet","noSubagentsSearch":"No Matching Subagents Found","adjustSearch":"Try adjusting search criteria","createFirst":"Create your first specialized AI subagent to handle specific tasks","table":{"subagent":"Subagent","tools":"Tools","createdAt":"Created At","actions":"Actions","toolsCount":"{{count}} tools","inheritSettings":"Inherit conversation settings"},"actions":{"edit":"Edit","view":"View","editTitle":"Edit Subagent","viewTitle":"View Subagent","deleteTitle":"Delete Subagent"},"source":{"local":"Local","plugin":"Plugin"},"deleteConfirm":{"title":"Confirm Delete","message":"Are you sure you want to delete Subagent \\"{{name}}\\"?","warning":"This action cannot be undone.","cancel":"Cancel","delete":"Delete"}},"mcpAdmin":{"title":"MCP Admin Server","subtitle":"Configure MCP Admin API to allow external AI tools to manage your AgentStudio","refresh":"Refresh","serverStatus":"Server Status","status":{"status":"Status","active":"Active","version":"Version","tools":"Available Tools","activeKeys":"Active Keys","unavailable":"Service Unavailable"},"endpoint":"Endpoint","apiKeys":"API Keys","createKey":"Create Key","noKeys":"No API keys yet","noKeysHint":"Create an API key to allow external tools to access","createdAt":"Created","lastUsed":"Last used","revoked":"Revoked","revokeKey":"Revoke key","confirmRevoke":"Are you sure you want to revoke this API key? This action cannot be undone.","availableTools":"Available Management Tools","createKeyTitle":"Create API Key","keyDescription":"Key Description","keyDescriptionPlaceholder":"e.g., Cursor MCP Connection","fullPermissions":"This key will have full admin permissions","cancel":"Cancel","create":"Create","creating":"Creating...","keyCreated":"API Key Created!","saveKeyWarning":"Save this key now! It will only be shown once and cannot be viewed again.","yourApiKey":"Your API Key","configFile":"Config File","copyConfig":"Copy Config","done":"Done","showKey":"Show Key","hideKey":"Hide Key","copyKey":"Copy Key","viewConfig":"View Config","limitTools":"Limit Available Tools","selectAll":"Select All","deselectAll":"Deselect All","selectedToolsCount":"{{count}} tools selected","limitedTools":"{{count}} tools limited","allToolsAccess":"All tools","disabled":"Disabled","enableKey":"Enable Key","disableKey":"Disable Key","editKey":"Edit Key","editKeyTitle":"Edit API Key","save":"Save","saving":"Saving...","toolParams":"Parameters","noParams":"No parameters","success":{"copied":"Copied to clipboard","keyRevoked":"API key revoked","keyUpdated":"API key updated","keyEnabled":"API key enabled","keyDisabled":"API key disabled"},"errors":{"configFetch":"Failed to fetch config","createFailed":"Failed to create key","revokeFailed":"Failed to revoke key","copyFailed":"Copy failed","descriptionRequired":"Please enter a key description","updateFailed":"Failed to update key","toggleFailed":"Failed to toggle key status"},"help":{"button":"Help","title":"MCP Admin Server Help","whatIs":"What is MCP Admin Server?","whatIsDesc":"MCP Admin Server is a standard MCP (Model Context Protocol) server that allows other AI tools (like Cursor, Claude Desktop) to remotely manage your AgentStudio via MCP protocol. Through this interface, you can directly query and manage AgentStudio's projects, agents, MCP servers, etc. from other AI tools.","howToUse":"How to use?","step1":"Create an Admin API key on this page","step2":"Click \\"View Config\\" to get the configuration snippet","step3":"Add the config to Cursor or Claude Desktop's MCP configuration file","step4":"Restart Cursor/Claude Desktop, then you can use the management tools in conversations","availableTools":"Available Tools Examples","toolListProjects":"List all projects","toolGetProject":"Get project details","toolListAgents":"List all agents","toolGetAgent":"Get agent details","toolHealthCheck":"System health check","examples":"Usage Examples","examplePrompt":"In Cursor, you can directly say to AI:"}},"apiSettings":{"title":"API Server Settings","hostLabel":"API Server Address","hostPlaceholder":"http://localhost:4936 or https://your-domain.com","testConnection":"Test Connection","quickSelect":"Quick Select:","connectionStatus":"Connection Status","status":{"success":"Connected","error":"Connection Failed","untested":"Not Tested"},"serverError":"Server error: {{status}} {{statusText}}","connectionFailed":"Connection failed: {{message}}","connectionUnknownError":"Connection failed: Unknown error","enterApiHost":"Please enter API server address","settingsSavedRefresh":"Settings saved. Page will refresh to apply new settings","usage":{"title":"Usage Instructions:","localDev":"For local development, use","production":"For production environment, use your server domain such as","cors":"Ensure the server supports CORS access and allows frontend domain access","refresh":"Page needs to be refreshed after modification to take effect"},"resetToDefault":"Reset to Default","saveSettings":"Save Settings"},"telemetry":{"title":"Telemetry & Analytics","description":"Manage anonymous usage data collection","enableTelemetry":"Enable Anonymous Telemetry","enableDescription":"Help improve AgentStudio by sharing anonymous usage data","statusEnabled":"Telemetry is enabled. Thank you for helping improve AgentStudio!","statusDisabled":"Telemetry is disabled. No data is being collected.","whatWeCollect":"What We Collect","whatWeNeverCollect":"What We Never Collect","collect":{"installId":"Anonymous Installation ID","installIdDesc":"A random UUID to distinguish installations, not linked to your identity","version":"App Version & OS","versionDesc":"Helps us understand which versions and platforms are most used","features":"Feature Usage","featuresDesc":"Which features are used (without content or personal data)","errors":"Error Reports","errorsDesc":"Sanitized error messages and stack traces (file paths removed)"},"neverCollect":{"files":"File contents, code, or project data","keys":"API keys, passwords, or credentials","pii":"Personal identifying information (name, email, IP)","conversations":"Chat conversations or AI responses"},"privacyNote":"Privacy First","privacyNoteDesc":"All telemetry data is anonymized and aggregated. We cannot identify individual users. You can disable telemetry at any time.","consent":{"title":"Help Improve AgentStudio","subtitle":"Anonymous usage data","description":"We collect anonymous usage data to understand how AgentStudio is used and to improve the experience. No personal information is collected.","whatWeCollect":"What we collect","item1":"Anonymous installation ID","item2":"App version and OS type","item3":"Feature usage statistics","item4":"Error reports (without personal data)","whatWeDoNotCollect":"What we never collect","notItem1":"File contents or code","notItem2":"API keys or credentials","notItem3":"Personal identifying information","changeAnytime":"You can change this setting anytime in Settings → Telemetry.","accept":"Yes, I want to help","decline":"No, thanks"}},"systemInfo":{"title":"System Info","subtitle":"View system version and runtime information","checkUpdate":"Check for Updates","updateAvailable":"Update Available!","versionInfo":"Version Info","appName":"Application Name","currentVersion":"Current Version","latestVersion":"Latest Version","upToDate":"Up to Date","version":"Version","runtimeInfo":"Runtime Info","platform":"Platform","architecture":"Architecture","links":"Related Links","viewSource":"View Source Code","viewReleases":"View Releases","viewChangelog":"View Changelog","viewNpm":"View on npm"}}`),c2={title:"Analytics",usage:"Usage Statistics",performance:"Performance Metrics"},u2={title:"MCP Services",subtitle:"Manage and monitor Model Context Protocol servers",loading:"Loading MCP configurations...",searchPlaceholder:"Search by name, command or arguments...",addServer:"Add Service",noServers:"No MCP service configurations yet",noResults:"No matching configurations found",adjustSearch:"Try adjusting search criteria",addFirstServer:"Add your first MCP service configuration",confirmDelete:'Are you sure you want to delete configuration "{{name}}"?',validateAll:"Validate All",stats:{total:"Total",active:"Active",error:"Error",validating:"Validating",tools:"Tools"},import:{button:"Import from Claude Code",importing:"Importing...",noConfigFound:"No MCP configurations found in Claude Code (reading from ~/.claude.json)",success:"Successfully imported {{imported}} MCP server configuration(s){{skipped, select, 0{} other{, skipped {{skipped}} existing configuration(s)}}",allExist:"All configurations already exist, no new imports"},table:{server:"Server",type:"Type",status:"Status",tools:"Available Tools",actions:"Actions",toolsCount:"{{count}} tools",noTools:"No tools"},status:{active:"Active",error:"Error",validating:"Validating",unvalidated:"Unvalidated"},actions:{validate:"Re-validate",copyCommand:"Copy Command",edit:"Edit",view:"View",delete:"Delete configuration"},source:{local:"Local",plugin:"Plugin"},modal:{addTitle:"Add MCP Service Configuration",editTitle:"Edit MCP Service Configuration",saving:"Saving...",saveConfig:"Save Configuration",addConfig:"Add Configuration"},form:{serverName:"Service Name *",serverNamePlaceholder:"e.g., playwright",nameNotEditable:"Service name cannot be modified",nameRequired:"Please enter service name",mcpType:"MCP Type *",stdioOption:"Stdio (Local Process)",httpOption:"HTTP (Remote Service)",selectConnectionType:"Select MCP server connection type",configuration:"Configuration * (JSON format)",configInvalid:"Configuration format is incorrect, please ensure required {{fields}} fields are included and properly formatted",configFormatError:"⚠️ Configuration format is incorrect, please ensure required {{fields}} fields are included",requiredFields:"Required fields:",requiredFieldsStdio:"command and args",requiredFieldsHttp:"url",optionalFields:"Optional fields:",commandField:'String, execution command (e.g. "npx", "uvx")',argsField:"Array, command arguments",urlField:"String, HTTP MCP server URL",headersField:"Object, HTTP request headers (e.g. authentication)",note:"Note:",typeAutoAdded:"type and source fields are automatically added, no need to include in configuration. Validation timeout is fixed at 60 seconds."},errors:{validationFailed:"Validation failed",networkError:"Network error or service unavailable",deleteFailed:"Failed to delete configuration",importFailed:"Import failed",saveFailed:"Failed to save configuration",copyFailed:"Failed to copy"},commandCopied:"Command copied to clipboard"},d2={title:"Custom Commands",subtitle:"Manage Slash Commands",loading:"Loading commands...",searchPlaceholder:"Search commands...",createButton:"New Command",error:{loadFailed:"Load Failed",cannotLoadCommands:"Unable to load custom commands",retry:"Retry"},empty:{noCommands:"No custom commands yet",noMatchingCommands:"No matching commands found",adjustSearch:"Try adjusting search criteria or filters",createFirst:"Create your first custom Slash Command"},table:{command:"Command",model:"Model",tools:"Tools",createdAt:"Created",actions:"Actions",inheritSettings:"Inherit conversation settings",toolsCount:"{{count}} tools"},actions:{edit:"Edit",view:"View",editCommand:"Edit command",deleteCommand:"Delete command"},source:{local:"Local",plugin:"Plugin"},delete:{title:"Delete Command",confirmMessage:'Are you sure you want to delete command "/{{name}}"? This action cannot be undone.',cancel:"Cancel",delete:"Delete",deleting:"Deleting..."}},f2={title:"Plugin Management",subtitle:"Manage plugin marketplaces and installed plugins",tabs:{marketplaces:"Marketplaces",browse:"Browse Plugins",installed:"Installed Plugins"},marketplaces:{title:"Plugin Marketplaces",subtitle:"Manage plugin marketplace sources",addButton:"Add Marketplace",searchPlaceholder:"Search marketplaces...",noMarketplaces:"No marketplaces configured yet",addFirst:"Add your first plugin marketplace",table:{marketplace:"Marketplace",type:"Type",plugins:"Plugins",lastSync:"Last Sync",actions:"Actions"},types:{git:"Git Repository",github:"GitHub",local:"Local Directory"},actions:{sync:"Sync",syncing:"Syncing...",edit:"Edit",delete:"Delete"},addModal:{title:"Add Marketplace",editTitle:"Edit Marketplace",name:"Marketplace Name",namePlaceholder:"e.g., official-plugins",type:"Source Type",typePlaceholder:"Select source type",source:"Source",sourcePlaceholderGit:"Git repository URL",sourcePlaceholderGithub:"owner/repo or full URL",sourcePlaceholderLocal:"Local directory path",branch:"Branch (Optional)",branchPlaceholder:"main",description:"Description (Optional)",descriptionPlaceholder:"Marketplace description",cancel:"Cancel",add:"Add",adding:"Adding...",save:"Save",saving:"Saving..."},confirmDelete:'Are you sure you want to delete marketplace "{{name}}"? All plugins from this marketplace will be uninstalled.'},browse:{title:"Browse Plugins",subtitle:"Discover and install plugins from marketplaces",searchPlaceholder:"Search plugins...",filters:{allMarketplaces:"All Marketplaces",allTypes:"All Types",showOnlyInstalled:"Show only installed"},noPlugins:"No plugins available",noMarketplaces:"No marketplaces added yet",goAddMarketplace:"Add a marketplace to browse plugins",noResults:"No plugins found",adjustSearch:"Try adjusting your search criteria",card:{from:"from",version:"v{{version}}",by:"by",installed:"Installed",install:"Install",installing:"Installing...",viewDetails:"View Details"},actions:{details:"Details",install:"Install",uninstall:"Uninstall"},confirmUninstall:'Are you sure you want to uninstall plugin "{{name}}"?',components:{commands:"{{count}} Command{{count, plural, one {} other{s}}}",agents:"{{count}} Agent{{count, plural, one {} other{s}}}",skills:"{{count}} Skill{{count, plural, one {} other{s}}}",hooks:"{{count}} Hook{{count, plural, one {} other{s}}}",mcpServers:"{{count}} MCP Server{{count, plural, one {} other{s}}}"},detailModal:{title:"Plugin Details",version:"Version",author:"Author",marketplace:"Marketplace",updated:"Last Updated",components:"Components",files:"Files",readme:"README",noReadme:"No README available",install:"Install Plugin",installing:"Installing...",installed:"Installed",close:"Close"}},installed:{title:"Installed Plugins",subtitle:"Manage your installed plugins",searchPlaceholder:"Search installed plugins...",filters:{all:"All",enabled:"Enabled",disabled:"Disabled",allMarketplaces:"All Marketplaces"},noPlugins:"No plugins installed yet",goBrowse:"Browse plugins to install",noResults:"No matching plugins found",table:{plugin:"Plugin",marketplace:"Marketplace",version:"Version",status:"Status",components:"Components",actions:"Actions"},status:{enabled:"Enabled",disabled:"Disabled"},actions:{details:"Details",viewDetails:"View Details",enable:"Enable",enabling:"Enabling...",disable:"Disable",disabling:"Disabling...",uninstall:"Uninstall"},confirmUninstall:'Are you sure you want to uninstall plugin "{{name}}"?',detailModal:{title:"Plugin Details",basicInfo:"Basic Information",version:"Version",author:"Author",marketplace:"Marketplace",installedAt:"Installed",status:"Status",components:"Components",commands:"Commands",agents:"Agents",skills:"Skills",hooks:"Hooks",mcpServers:"MCP Servers",none:"None",files:"Plugin Files",viewFile:"View File",close:"Close",enable:"Enable",disable:"Disable",uninstall:"Uninstall"},fileViewer:{title:"File Viewer",loading:"Loading...",error:"Failed to load file",close:"Close"}},messages:{installSuccess:"Plugin installed successfully. Please refresh to use the new plugin.",installError:"Failed to install plugin",enableSuccess:"Plugin enabled successfully. Please refresh to use the plugin.",enableError:"Failed to enable plugin",disableSuccess:"Plugin disabled successfully",disableError:"Failed to disable plugin",uninstallSuccess:"Plugin uninstalled successfully",uninstallError:"Failed to uninstall plugin",marketplaceAddSuccess:"Marketplace added successfully",marketplaceAddError:"Failed to add marketplace",marketplaceSyncSuccess:"Marketplace synced successfully",marketplaceSyncError:"Failed to sync marketplace",marketplaceRemoveSuccess:"Marketplace removed successfully",marketplaceRemoveError:"Failed to remove marketplace"},detail:{back:"Back",root:"Root",noDescription:"No description available",version:"Version",author:"Author",license:"License",components:"Components",type:"Type",name:"Name",description:"Description",actions:"Actions",viewEntryFile:"View entry file",browseDirectory:"Browse directory",noComponents:"No components found",loadFailed:"Failed to load plugin details",componentTypes:{command:"Command",agent:"Agent",skill:"Skill",hook:"Hook",mcp:"MCP Server"}}},h2={title:"Agent Skills",subtitle:"Manage and organize your agent capabilities",createButton:"Create Skill",noSkills:"No skills created yet",noSkillsSearch:"No skills found matching your filters",createFirst:"Create Your First Skill",searchPlaceholder:"Search skills...",filter:{showDisabled:"Show disabled"},scope:{user:"User",project:"Project"},status:{enabled:"Enabled",disabled:"Disabled"},create:{title:"Create New Skill",subtitle:"Define a new capability for your AI agents",steps:{basic:"Basic Info",content:"Content",preview:"Preview"},basic:{name:"Skill Name",namePlaceholder:"my-awesome-skill",nameHint:"Use lowercase letters, numbers, and hyphens only (max 64 characters)",description:"Description",descriptionPlaceholder:"Brief description of what this skill does and when to use it",descriptionHint:"Include both what the skill does and when Claude should use it (max 1024 characters)",allowedTools:"Allowed Tools",allowedToolsPlaceholder:"Read, Write, Grep (comma-separated)",allowedToolsHint:"Tools this skill can use without asking for permission. Leave empty for default behavior.",selectTools:"Select Tools",noToolsSelected:"No tools selected"},content:{skillManifest:"SKILL.md Content",additionalFiles:"Additional Files",addFile:"Add File",noFiles:"No additional files",noFilesHint:"Add files to extend your skill functionality",fileName:"File name",filePath:"Path/to/file",fileContent:"File content",fileType:{markdown:"Markdown",text:"Text",script:"Script",template:"Template",other:"Other"}},preview:{title:"Skill Preview",name:"Name:",description:"Description:",scope:"Scope:",allowedTools:"Allowed Tools:",additionalFiles:"Additional Files:",none:"None",fileCount:"{{count}} file(s)",previewContent:"SKILL.md Preview:",noContent:"(no content)"}},editor:{title:"Edit Skill",basic:{name:"Name",description:"Description",allowedTools:"Allowed Tools",allowedToolsHint:"Tools this skill can use without asking for permission. Leave empty for default behavior.",skillContent:"SKILL.md Content",validationErrors:"Validation Errors:",unsavedChanges:"You have unsaved changes. Press Cmd+S to save."},files:{title:"Additional Files",addFile:"Add File",noFiles:"No additional files",addFilesHint:"Add files to extend your skill functionality"},scope:{user:"User Skill"},errors:{validationErrors:"Validation Errors:",saveFailed:"Failed to save skill. Please try again."}},preview:{title:"Skill Content",usageStats:"Usage Statistics",usage:"Used {{count}} time{{count, plural, one {} other{s}}",lastUsed:"Last used",created:"Created:",updated:"Updated:",scope:"Scope:",userScopeDesc:"Personal (across all projects)",projectScopeDesc:"Project: Current",actions:{edit:"Edit",enable:"Enable",disable:"Disable",delete:"Delete"}},errors:{loadFailed:"Error loading skills",deleteFailed:"Failed to delete skill. Please try again.",toggleFailed:"Toggle functionality will be implemented in the API",createFailed:"Failed to create skill. Please try again."},deleteConfirm:'Are you sure you want to delete "{{name}}"?',usage:{customInstructions:"Custom instructions",toolPermissions:"Tool permissions"}},p2={docs:WR,nav:JR,version:e2,footer:t2,login:n2,landing:a2,agents:i2,projects:s2,chat:r2,dashboard:o2,settings:l2,analytics:c2,mcp:u2,commands:d2,plugins:f2,skills:h2},m2="AgentStudio",g2="Select an AI assistant to start working",v2="Loading...",y2="Available Assistants",b2="Disabled Assistants",_2="{{count}} assistants",S2="Create Custom Assistant",x2="Custom assistant feature coming soon!",w2="No Available Assistants Yet",C2="Enable some built-in assistants or create your own custom assistants to get started",k2="Manage Assistants",A2="Start Using",E2="Edit Assistant",T2="Disable Assistant",N2="Enable Assistant",M2="Disabled",j2="Enable Assistant",R2={slides:"Slides",chat:"Chat","claude-code":"Claude Code"},D2={toggleFailed:"Operation failed, please try again"},P2={title:m2,subtitle:g2,loading:v2,availableAgents:y2,disabledAgents:b2,agentCount:_2,createCustomAgent:S2,customAgentComingSoon:x2,noAgentsTitle:w2,noAgentsDescription:C2,manageAgents:k2,startUsing:A2,editAgent:E2,disableAgent:T2,enableAgent:N2,disabledStatus:M2,enableAgentButton:j2,componentTypes:R2,errors:D2},O2={enabled:"Enabled",disabled:"Disabled"},L2={name:"Project Name",nameRequired:"Project Name *",namePlaceholder:"Enter project name",description:"Project Description",descriptionPlaceholder:"Briefly describe the purpose of this project...",directory:"Project Directory",directoryNote:"A new folder will be created under this directory",agentType:"Select Assistant Type *",agentTypePlaceholder:"Choose an assistant type"},F2={name:"Assistant Name",namePlaceholder:"Enter assistant name",description:"Assistant Description",descriptionPlaceholder:"Describe the assistant's capabilities...",systemPrompt:"System Prompt",systemPromptPlaceholder:"Enter system prompt...",tools:"Available Tools",selectTools:"Select Tools"},z2={editTitle:"Edit Command",createTitle:"Create Command",formMode:"Form",codeMode:"Code",saveChanges:"Save Changes",createCommand:"Create Command",nameLabel:"Command Name",nameHint:"Can only contain letters, numbers, underscores, and hyphens",modelLabel:"Specify Model",inheritModel:"Inherit conversation settings",modelHint:"Specify a specific AI model for this command.",namespaceLabel:"Namespace",namespaceHint:"Used to organize commands, can include / separator",argumentHintLabel:"Argument Hint",argumentHintHint:"Argument hint displayed in autocomplete",descriptionLabel:"Description",descriptionPlaceholder:"Optimize code performance and readability",descriptionHint:"Brief description of the command, will use the first line of content if not provided",allowedToolsLabel:"Allowed Tools",selectTools:"Select Tools",regularToolsCount:"{{count}} regular tools",mcpToolsCount:"{{count}} MCP tools",allowedToolsHint:"Leave empty to inherit conversation permissions",contentLabel:"Command Content",contentPlaceholder:`Analyze performance issues in this code and provide optimization suggestions:
192
+ This action cannot be undone, and all related sessions will also be deleted.`},o2={title:"Project Management",subtitle:"Manage All Your Work Projects",createButton:"Create New Project",selectType:"Select Assistant Type to Create Work Project",noProjects:"No projects yet",searchPlaceholder:"Search projects...",loading:"Loading projects...",filter:{all:"All",active:"Active",inactive:"Inactive"},table:{project:"Project",agent:"Assistant",lastActive:"Last Active",sessions:"Sessions",actions:"Actions",sessionsCount:"{{count}} sessions"},form:{create:"Create Project",edit:"Edit Project",name:"Project Name",namePlaceholder:"Enter project name",nameRequired:"Project Name *",agentType:"Select Assistant Type *",agentTypePlaceholder:"Choose an assistant type",directory:"Project Directory",directoryNote:"A new folder will be created under this directory",description:"Project Description",descriptionPlaceholder:"Briefly describe the purpose of this project...",save:"Save",cancel:"Cancel"},actions:{open:"Open",openInNewTab:"Open in new tab",edit:"Edit",delete:"Delete"},status:{active:"Active",inactive:"Inactive",never:"Never"},errors:{createFailed:"Failed to create project",updateFailed:"Failed to update project",deleteFailed:"Failed to delete project",loadFailed:"Failed to load projects"},deleteConfirm:"Are you sure you want to delete this project?",deleteNote:"Note: This will only remove the project from the list, not delete the actual file directory.",deleteSuccess:"Project deleted"},l2={title:"Chat",inputPlaceholder:"Type a message...",aiTyping:"AI is typing",newSession:"New Chat",sessionHistory:"Chat History",loading:"Loading AI assistant...",agentNotFound:"Assistant Not Found",agentNotFoundDesc:"Unable to find the specified AI assistant, it may have been deleted or disabled.",agentDisabled:"Assistant Disabled",agentDisabledDesc:'AI assistant "{{name}}" is currently disabled and cannot be used.',closePage:"Close Page",tabNotification:{working:"🤖 Working",completed:"✅ Completed",error:"❌ Error"}},c2={title:"Dashboard",welcome:{title:"Let's Get Started",subtitle:"Select a project to start working with AI"},defaultProjectName:"Default Workspace",loading:"Loading...",creatingDefaultProject:"Creating default workspace...",noAgentsEnabled:"No Agent available, please enable one first",goToAgents:"Go to Agent Management",selectProject:"Select Project",noProjects:"No projects",createNewProject:"Create New Project",selectProjectToStart:"Please select a project to start chatting",stats:{agentManagement:"Agent Management",workProjects:"Work Projects",slashCommands:"Slash Commands",activeSessions:"Active Sessions"},recentAgents:{title:"Frequently Used Assistants",viewAll:"View All",types:{slides:"Presentations","claude-code":"Claude Code"},noAgents:"No assistants available",goEnable:"Enable assistants"},quickActions:{title:"Quick Actions",createProject:{title:"Create New Project",description:"Select assistant type to create work project"},createAgent:{title:"Create New Assistant",description:"Configure custom AI assistant"},addMcp:{title:"Add MCP Service",description:"Connect new MCP server"},viewAnalytics:{title:"View Analytics",description:"Analyze usage and performance"}},overview:"Overview",statistics:"Statistics",recentActivity:"Recent Activity",templates:{organizeFiles:"Organize Files",analyzeFiles:"Analyze Files",writeDoc:"Write a Doc",codeReview:"Code Review",checkWeather:"Check Shenzhen Weather",quickTask:"Free Ask"}},u2=JSON.parse(`{"title":"Settings","general":{"title":"General Settings","description":"Configure appearance, view system info, and privacy settings","interfaceSettings":"Appearance","theme":{"label":"Theme","description":"Select interface theme mode","auto":"Follow System","light":"Light Mode","dark":"Dark Mode"},"language":{"label":"Language","description":"Select interface language"},"password":{"title":"Access Password","checking":"Checking...","currentlySet":"Access password is currently set","currentlyNotSet":"No password set, passwordless login enabled","description":"Set a password to require authentication on login. Leave empty and save to clear the password and enable passwordless login.","newPassword":"New Password","newPasswordPlaceholder":"Enter new password (leave empty to clear)","confirmPassword":"Confirm Password","confirmPasswordPlaceholder":"Re-enter password","save":"Save Password","clear":"Clear Password","mismatch":"Passwords do not match","tooShort":"Password must be at least 4 characters","setSuccess":"Password set successfully. Takes effect on next login.","clearSuccess":"Password cleared. Passwordless login is now enabled.","saveFailed":"Failed to save password","clearFailed":"Failed to clear password"}},"api":"API Server Settings","memory":"Global Memory","memorySettings":{"title":"Global Memory Settings","description":"Global memory is shared background information for all AI assistants, including your work preferences, project information, etc.","fileSourceInfo":"Content is sourced from the ~/.claude/CLAUDE.md file in your user directory.","memoryContent":"Memory Content","edit":"Edit","cancelEdit":"Cancel Edit","refresh":"Refresh","refreshing":"Refreshing...","placeholder":"Write your global memory content here...","cancel":"Cancel","saveMemory":"Save Memory","loading":"Loading global memory...","noMemory":"No global memory content yet","clickEditToStart":"Click \\"Edit\\" button to start adding","infoAutoLoad":"Global memory will be automatically loaded in every conversation to provide background information for AI","infoSuggestions":"Recommended to include: work preferences, project background, personal information, etc.","infoFileLocation":"File location: ~/.claude/CLAUDE.md","saveSuccess":"Global memory saved successfully","saveFailed":"Failed to save, please try again"},"supplier":{"title":"Supplier Management","subtitle":"Manage multiple model suppliers, specify executable paths, aliases and environment variables","addSupplier":"Add Supplier","noSuppliers":"No model suppliers configured yet","clickToAddFirst":"Click \\"Add Supplier\\" to configure your first model supplier","systemLabel":"System","defaultLabel":"Default","pathLabel":"Path","envVarsLabel":"Environment Variables","modelsLabel":"Supported Models","setAsDefault":"Set as Default","copyCommand":"Copy Command","edit":"Edit","delete":"Delete","confirmDelete":"Are you sure you want to delete supplier \\"{{alias}}\\"?","currentSupplier":{"title":"Current Supplier","checking":"Checking...","checkVersion":"Check Supplier","claudeDesc":"AI Programming Assistant","updating":"Updating...","update":"Update","willUse":"Will use","toUpdate":"to update","nodejsDesc":"JavaScript Runtime Environment","preferred":"Preferred","packageManager":"Package Manager","lastChecked":"Last Checked","clickToCheck":"Click \\"Check Supplier\\" to get supplier info","updateSuccess":"Update Successful","updateFailed":"Update Failed","info1":"Claude Code is an AI programming assistant that supports code generation, editing and project management","info2":"Node.js is the fundamental runtime environment for the system","info3":"Supports multiple package managers: npm, pnpm, yarn (Priority: pnpm > yarn > npm)","info4":"The system will automatically select the preferred package manager for update operations","info5":"It is recommended to keep Claude Code up to date for the best experience"},"templates":{"title":"Quick Configuration Templates","description":"Select a preset template to quickly configure third-party API suppliers with auto-filled environment variables","providers":{"glm":{"name":"GLM (Zhipu AI)","description":"Use Zhipu AI's GLM model service, compatible with Anthropic API"},"deepseek":{"name":"DeepSeek","description":"Use DeepSeek's high-performance model service"},"kimi":{"name":"Kimi K2 (Moonshot AI)","description":"Use Kimi K2 model service, compatible with Anthropic API"},"minimax":{"name":"MiniMax","description":"Use MiniMax high-performance model service, compatible with Anthropic API"}}},"form":{"createTitle":"Add New Supplier","editTitle":"Edit Supplier","supplierName":"Supplier Name","supplierNamePlaceholder":"e.g., Claude Code v1.2.3","alias":"Alias","aliasPlaceholder":"e.g., claude-1.2.3","description":"Description","descriptionPlaceholder":"Supplier description (optional)","executablePath":"Executable Path","executablePathPlaceholder":"Leave empty to use system default path","browseFile":"Browse Files","envVars":"Environment Variables","varName":"Variable Name","varValue":"Variable Value","emptyValue":"Not set","getApiKey":"Get API Key","models":"Model Configuration","modelId":"Model ID","modelName":"Model Name","visionModel":"Vision Model","addModel":"Add Model","cancel":"Cancel","saving":"Saving...","update":"Update","create":"Create","selectExecutable":"Select Claude Executable"},"errors":{"requiredFields":"Please fill in all required fields","saveFailed":"Save failed","cannotDeleteSystem":"Cannot delete system supplier","deleteFailed":"Delete failed","setDefaultFailed":"Failed to set default supplier","copyFailed":"Copy failed, please manually copy the following command:"},"success":{"createVersion":"Supplier created successfully","updateVersion":"Supplier updated successfully","deleteVersion":"Supplier deleted successfully","setDefault":"Set \\"{{alias}}\\" as default supplier","copyCommand":"Command copied to clipboard"}},"cloudflare":{"title":"Cloudflare Tunnel","description":"Enable public internet access with one click using Cloudflare Tunnel","wizard":{"showGuide":"Show Setup Guide","steps":{"intro":"Intro","credentials":"Credentials","create":"Create","start":"Start","done":"Done"},"intro":{"title":"Welcome to Cloudflare Tunnel","description":"Cloudflare Tunnel allows you to expose your local AgentStudio to the internet without needing a public IP address.","benefit1":"No public IP or router configuration needed","benefit2":"Automatic HTTPS encryption for security","benefit3":"Powered by Cloudflare's global CDN","benefit4":"Free to use, quick to deploy","requirements":"Requirements","req1":"A free Cloudflare account","req2":"Python 3 environment (for API calls)","req3":"Docker or cloudflared CLI (to run the tunnel)","getStarted":"Get Started"},"credentials":{"howToGet":"How to get Cloudflare credentials?","step1":"Visit Cloudflare Dashboard to create an API Token","step2":"Configure permissions: Cloudflare Tunnel - Edit","step3":"Copy your Account ID and API Token","openDashboard":"Open Cloudflare Dashboard","saveAndContinue":"Save and Continue"},"create":{"description":"Now you can create your first Tunnel. You can customize the subdomain prefix or leave it empty for auto-generation.","createButton":"Create Tunnel with One Click"},"start":{"tunnelCreated":"Tunnel created successfully!","nextStep":"Now you need to start the cloudflared client to establish the connection.","yourPublicUrl":"Your Public URL","importantNote":"Important Note","needToStartClient":"Tunnel is created, but you still need to start the cloudflared client to establish the connection. Follow the steps below.","howToStart":"How to start the tunnel?","option1":"Option 1: Using Docker","option2":"Option 2: Using cloudflared CLI","recommended":"Recommended","copy":"Copy","copied":"Copied","installCloudfared":"Install cloudflared","runCommand":"Run command","finishSetup":"Finish Setup"},"done":{"title":"Setup Complete!","description":"Your AgentStudio is now accessible via the public internet","deleteTunnel":"Delete Tunnel","reminder":"Reminder","keepClientRunning":"Keep the cloudflared client running to maintain public access."}},"credentials":{"title":"Cloudflare Credentials","configured":"Credentials configured","update":"Update credentials","apiToken":"API Token","accountId":"Account ID","save":"Save","saving":"Saving...","cancel":"Cancel","help":"Get API Token and Account ID from"},"tunnel":{"title":"Tunnel Management","active":"Active Tunnel","publicUrl":"Public URL","name":"Tunnel Name","localPort":"Local Port","createdAt":"Created At","subdomain":"Subdomain Prefix (Optional)","subdomainPlaceholder":"Leave empty for random subdomain","subdomainHelp":"Leave empty to auto-generate a random subdomain","create":"Enable Public Access","creating":"Creating...","details":"Tunnel Details","token":"Tunnel Token","cliCommand":"CLI Command"},"credentialsSaved":"Cloudflare credentials saved successfully","tunnelCreated":"Tunnel created successfully! Now accessible via public URL","tunnelDeleted":"Tunnel deleted","confirmDelete":"Are you sure you want to delete this tunnel?","errors":{"credentialsRequired":"Please provide API Token and Account ID"}},"language":"Language Settings","subagents":{"title":"Subagent Management","subtitle":"Manage Specialized AI Subagents","loading":"Loading Subagents...","loadFailed":"Load Failed","loadFailedMessage":"Unable to load Subagents list","retry":"Retry","searchPlaceholder":"Search Subagents...","createButton":"New Subagent","noSubagents":"No Subagents Yet","noSubagentsSearch":"No Matching Subagents Found","adjustSearch":"Try adjusting search criteria","createFirst":"Create your first specialized AI subagent to handle specific tasks","table":{"subagent":"Subagent","tools":"Tools","createdAt":"Created At","actions":"Actions","toolsCount":"{{count}} tools","inheritSettings":"Inherit conversation settings"},"actions":{"edit":"Edit","view":"View","editTitle":"Edit Subagent","viewTitle":"View Subagent","deleteTitle":"Delete Subagent"},"source":{"local":"Local","plugin":"Plugin"},"deleteConfirm":{"title":"Confirm Delete","message":"Are you sure you want to delete Subagent \\"{{name}}\\"?","warning":"This action cannot be undone.","cancel":"Cancel","delete":"Delete"}},"mcpAdmin":{"title":"MCP Admin Server","subtitle":"Configure MCP Admin API to allow external AI tools to manage your AgentStudio","refresh":"Refresh","serverStatus":"Server Status","status":{"status":"Status","active":"Active","version":"Version","tools":"Available Tools","activeKeys":"Active Keys","unavailable":"Service Unavailable"},"endpoint":"Endpoint","apiKeys":"API Keys","createKey":"Create Key","noKeys":"No API keys yet","noKeysHint":"Create an API key to allow external tools to access","createdAt":"Created","lastUsed":"Last used","revoked":"Revoked","revokeKey":"Revoke key","confirmRevoke":"Are you sure you want to revoke this API key? This action cannot be undone.","availableTools":"Available Management Tools","createKeyTitle":"Create API Key","keyDescription":"Key Description","keyDescriptionPlaceholder":"e.g., Cursor MCP Connection","fullPermissions":"This key will have full admin permissions","cancel":"Cancel","create":"Create","creating":"Creating...","keyCreated":"API Key Created!","saveKeyWarning":"Save this key now! It will only be shown once and cannot be viewed again.","yourApiKey":"Your API Key","configFile":"Config File","copyConfig":"Copy Config","done":"Done","showKey":"Show Key","hideKey":"Hide Key","copyKey":"Copy Key","viewConfig":"View Config","limitTools":"Limit Available Tools","selectAll":"Select All","deselectAll":"Deselect All","selectedToolsCount":"{{count}} tools selected","limitedTools":"{{count}} tools limited","allToolsAccess":"All tools","disabled":"Disabled","enableKey":"Enable Key","disableKey":"Disable Key","editKey":"Edit Key","editKeyTitle":"Edit API Key","save":"Save","saving":"Saving...","toolParams":"Parameters","noParams":"No parameters","success":{"copied":"Copied to clipboard","keyRevoked":"API key revoked","keyUpdated":"API key updated","keyEnabled":"API key enabled","keyDisabled":"API key disabled"},"errors":{"configFetch":"Failed to fetch config","createFailed":"Failed to create key","revokeFailed":"Failed to revoke key","copyFailed":"Copy failed","descriptionRequired":"Please enter a key description","updateFailed":"Failed to update key","toggleFailed":"Failed to toggle key status"},"help":{"button":"Help","title":"MCP Admin Server Help","whatIs":"What is MCP Admin Server?","whatIsDesc":"MCP Admin Server is a standard MCP (Model Context Protocol) server that allows other AI tools (like Cursor, Claude Desktop) to remotely manage your AgentStudio via MCP protocol. Through this interface, you can directly query and manage AgentStudio's projects, agents, MCP servers, etc. from other AI tools.","howToUse":"How to use?","step1":"Create an Admin API key on this page","step2":"Click \\"View Config\\" to get the configuration snippet","step3":"Add the config to Cursor or Claude Desktop's MCP configuration file","step4":"Restart Cursor/Claude Desktop, then you can use the management tools in conversations","availableTools":"Available Tools Examples","toolListProjects":"List all projects","toolGetProject":"Get project details","toolListAgents":"List all agents","toolGetAgent":"Get agent details","toolHealthCheck":"System health check","examples":"Usage Examples","examplePrompt":"In Cursor, you can directly say to AI:"}},"apiSettings":{"title":"API Server Settings","hostLabel":"API Server Address","hostPlaceholder":"http://localhost:4936 or https://your-domain.com","testConnection":"Test Connection","quickSelect":"Quick Select:","connectionStatus":"Connection Status","status":{"success":"Connected","error":"Connection Failed","untested":"Not Tested"},"serverError":"Server error: {{status}} {{statusText}}","connectionFailed":"Connection failed: {{message}}","connectionUnknownError":"Connection failed: Unknown error","enterApiHost":"Please enter API server address","settingsSavedRefresh":"Settings saved. Page will refresh to apply new settings","usage":{"title":"Usage Instructions:","localDev":"For local development, use","production":"For production environment, use your server domain such as","cors":"Ensure the server supports CORS access and allows frontend domain access","refresh":"Page needs to be refreshed after modification to take effect"},"resetToDefault":"Reset to Default","saveSettings":"Save Settings"},"telemetry":{"title":"Telemetry & Analytics","description":"Manage anonymous usage data collection","enableTelemetry":"Enable Anonymous Telemetry","enableDescription":"Help improve AgentStudio by sharing anonymous usage data","statusEnabled":"Telemetry is enabled. Thank you for helping improve AgentStudio!","statusDisabled":"Telemetry is disabled. No data is being collected.","whatWeCollect":"What We Collect","whatWeNeverCollect":"What We Never Collect","collect":{"installId":"Anonymous Installation ID","installIdDesc":"A random UUID to distinguish installations, not linked to your identity","version":"App Version & OS","versionDesc":"Helps us understand which versions and platforms are most used","features":"Feature Usage","featuresDesc":"Which features are used (without content or personal data)","errors":"Error Reports","errorsDesc":"Sanitized error messages and stack traces (file paths removed)"},"neverCollect":{"files":"File contents, code, or project data","keys":"API keys, passwords, or credentials","pii":"Personal identifying information (name, email, IP)","conversations":"Chat conversations or AI responses"},"privacyNote":"Privacy First","privacyNoteDesc":"All telemetry data is anonymized and aggregated. We cannot identify individual users. You can disable telemetry at any time.","consent":{"title":"Help Improve AgentStudio","subtitle":"Anonymous usage data","description":"We collect anonymous usage data to understand how AgentStudio is used and to improve the experience. No personal information is collected.","whatWeCollect":"What we collect","item1":"Anonymous installation ID","item2":"App version and OS type","item3":"Feature usage statistics","item4":"Error reports (without personal data)","whatWeDoNotCollect":"What we never collect","notItem1":"File contents or code","notItem2":"API keys or credentials","notItem3":"Personal identifying information","changeAnytime":"You can change this setting anytime in Settings → Telemetry.","accept":"Yes, I want to help","decline":"No, thanks"}},"systemInfo":{"title":"System Info","subtitle":"View system version and runtime information","checkUpdate":"Check for Updates","updateAvailable":"Update Available!","versionInfo":"Version Info","appName":"Application Name","currentVersion":"Current Version","latestVersion":"Latest Version","upToDate":"Up to Date","version":"Version","runtimeInfo":"Runtime Info","platform":"Platform","architecture":"Architecture","links":"Related Links","viewSource":"View Source Code","viewReleases":"View Releases","viewChangelog":"View Changelog","viewNpm":"View on npm"}}`),d2={title:"Analytics",usage:"Usage Statistics",performance:"Performance Metrics"},f2={title:"MCP Services",subtitle:"Manage and monitor Model Context Protocol servers",loading:"Loading MCP configurations...",searchPlaceholder:"Search by name, command or arguments...",addServer:"Add Service",noServers:"No MCP service configurations yet",noResults:"No matching configurations found",adjustSearch:"Try adjusting search criteria",addFirstServer:"Add your first MCP service configuration",confirmDelete:'Are you sure you want to delete configuration "{{name}}"?',validateAll:"Validate All",stats:{total:"Total",active:"Active",error:"Error",validating:"Validating",tools:"Tools"},import:{button:"Import from Claude Code",importing:"Importing...",noConfigFound:"No MCP configurations found in Claude Code (reading from ~/.claude.json)",success:"Successfully imported {{imported}} MCP server configuration(s){{skipped, select, 0{} other{, skipped {{skipped}} existing configuration(s)}}",allExist:"All configurations already exist, no new imports"},table:{server:"Server",type:"Type",status:"Status",tools:"Available Tools",actions:"Actions",toolsCount:"{{count}} tools",noTools:"No tools"},status:{active:"Active",error:"Error",validating:"Validating",unvalidated:"Unvalidated"},actions:{validate:"Re-validate",copyCommand:"Copy Command",edit:"Edit",view:"View",delete:"Delete configuration"},source:{local:"Local",plugin:"Plugin"},modal:{addTitle:"Add MCP Service Configuration",editTitle:"Edit MCP Service Configuration",saving:"Saving...",saveConfig:"Save Configuration",addConfig:"Add Configuration"},form:{serverName:"Service Name *",serverNamePlaceholder:"e.g., playwright",nameNotEditable:"Service name cannot be modified",nameRequired:"Please enter service name",mcpType:"MCP Type *",stdioOption:"Stdio (Local Process)",httpOption:"HTTP (Remote Service)",selectConnectionType:"Select MCP server connection type",configuration:"Configuration * (JSON format)",configInvalid:"Configuration format is incorrect, please ensure required {{fields}} fields are included and properly formatted",configFormatError:"⚠️ Configuration format is incorrect, please ensure required {{fields}} fields are included",requiredFields:"Required fields:",requiredFieldsStdio:"command and args",requiredFieldsHttp:"url",optionalFields:"Optional fields:",commandField:'String, execution command (e.g. "npx", "uvx")',argsField:"Array, command arguments",urlField:"String, HTTP MCP server URL",headersField:"Object, HTTP request headers (e.g. authentication)",note:"Note:",typeAutoAdded:"type and source fields are automatically added, no need to include in configuration. Validation timeout is fixed at 60 seconds."},errors:{validationFailed:"Validation failed",networkError:"Network error or service unavailable",deleteFailed:"Failed to delete configuration",importFailed:"Import failed",saveFailed:"Failed to save configuration",copyFailed:"Failed to copy"},commandCopied:"Command copied to clipboard"},h2={title:"Custom Commands",subtitle:"Manage Slash Commands",loading:"Loading commands...",searchPlaceholder:"Search commands...",createButton:"New Command",error:{loadFailed:"Load Failed",cannotLoadCommands:"Unable to load custom commands",retry:"Retry"},empty:{noCommands:"No custom commands yet",noMatchingCommands:"No matching commands found",adjustSearch:"Try adjusting search criteria or filters",createFirst:"Create your first custom Slash Command"},table:{command:"Command",model:"Model",tools:"Tools",createdAt:"Created",actions:"Actions",inheritSettings:"Inherit conversation settings",toolsCount:"{{count}} tools"},actions:{edit:"Edit",view:"View",editCommand:"Edit command",deleteCommand:"Delete command"},source:{local:"Local",plugin:"Plugin"},delete:{title:"Delete Command",confirmMessage:'Are you sure you want to delete command "/{{name}}"? This action cannot be undone.',cancel:"Cancel",delete:"Delete",deleting:"Deleting..."}},p2={title:"Plugin Management",subtitle:"Manage plugin marketplaces and installed plugins",tabs:{marketplaces:"Marketplaces",browse:"Browse Plugins",installed:"Installed Plugins"},marketplaces:{title:"Plugin Marketplaces",subtitle:"Manage plugin marketplace sources",addButton:"Add Marketplace",searchPlaceholder:"Search marketplaces...",noMarketplaces:"No marketplaces configured yet",addFirst:"Add your first plugin marketplace",table:{marketplace:"Marketplace",type:"Type",plugins:"Plugins",lastSync:"Last Sync",actions:"Actions"},types:{git:"Git Repository",github:"GitHub",local:"Local Directory"},actions:{sync:"Sync",syncing:"Syncing...",edit:"Edit",delete:"Delete"},addModal:{title:"Add Marketplace",editTitle:"Edit Marketplace",name:"Marketplace Name",namePlaceholder:"e.g., official-plugins",type:"Source Type",typePlaceholder:"Select source type",source:"Source",sourcePlaceholderGit:"Git repository URL",sourcePlaceholderGithub:"owner/repo or full URL",sourcePlaceholderLocal:"Local directory path",branch:"Branch (Optional)",branchPlaceholder:"main",description:"Description (Optional)",descriptionPlaceholder:"Marketplace description",cancel:"Cancel",add:"Add",adding:"Adding...",save:"Save",saving:"Saving..."},confirmDelete:'Are you sure you want to delete marketplace "{{name}}"? All plugins from this marketplace will be uninstalled.'},browse:{title:"Browse Plugins",subtitle:"Discover and install plugins from marketplaces",searchPlaceholder:"Search plugins...",filters:{allMarketplaces:"All Marketplaces",allTypes:"All Types",showOnlyInstalled:"Show only installed"},noPlugins:"No plugins available",noMarketplaces:"No marketplaces added yet",goAddMarketplace:"Add a marketplace to browse plugins",noResults:"No plugins found",adjustSearch:"Try adjusting your search criteria",card:{from:"from",version:"v{{version}}",by:"by",installed:"Installed",install:"Install",installing:"Installing...",viewDetails:"View Details"},actions:{details:"Details",install:"Install",uninstall:"Uninstall"},confirmUninstall:'Are you sure you want to uninstall plugin "{{name}}"?',components:{commands:"{{count}} Command{{count, plural, one {} other{s}}}",agents:"{{count}} Agent{{count, plural, one {} other{s}}}",skills:"{{count}} Skill{{count, plural, one {} other{s}}}",hooks:"{{count}} Hook{{count, plural, one {} other{s}}}",mcpServers:"{{count}} MCP Server{{count, plural, one {} other{s}}}"},detailModal:{title:"Plugin Details",version:"Version",author:"Author",marketplace:"Marketplace",updated:"Last Updated",components:"Components",files:"Files",readme:"README",noReadme:"No README available",install:"Install Plugin",installing:"Installing...",installed:"Installed",close:"Close"}},installed:{title:"Installed Plugins",subtitle:"Manage your installed plugins",searchPlaceholder:"Search installed plugins...",filters:{all:"All",enabled:"Enabled",disabled:"Disabled",allMarketplaces:"All Marketplaces"},noPlugins:"No plugins installed yet",goBrowse:"Browse plugins to install",noResults:"No matching plugins found",table:{plugin:"Plugin",marketplace:"Marketplace",version:"Version",status:"Status",components:"Components",actions:"Actions"},status:{enabled:"Enabled",disabled:"Disabled"},actions:{details:"Details",viewDetails:"View Details",enable:"Enable",enabling:"Enabling...",disable:"Disable",disabling:"Disabling...",uninstall:"Uninstall"},confirmUninstall:'Are you sure you want to uninstall plugin "{{name}}"?',detailModal:{title:"Plugin Details",basicInfo:"Basic Information",version:"Version",author:"Author",marketplace:"Marketplace",installedAt:"Installed",status:"Status",components:"Components",commands:"Commands",agents:"Agents",skills:"Skills",hooks:"Hooks",mcpServers:"MCP Servers",none:"None",files:"Plugin Files",viewFile:"View File",close:"Close",enable:"Enable",disable:"Disable",uninstall:"Uninstall"},fileViewer:{title:"File Viewer",loading:"Loading...",error:"Failed to load file",close:"Close"}},messages:{installSuccess:"Plugin installed successfully. Please refresh to use the new plugin.",installError:"Failed to install plugin",enableSuccess:"Plugin enabled successfully. Please refresh to use the plugin.",enableError:"Failed to enable plugin",disableSuccess:"Plugin disabled successfully",disableError:"Failed to disable plugin",uninstallSuccess:"Plugin uninstalled successfully",uninstallError:"Failed to uninstall plugin",marketplaceAddSuccess:"Marketplace added successfully",marketplaceAddError:"Failed to add marketplace",marketplaceSyncSuccess:"Marketplace synced successfully",marketplaceSyncError:"Failed to sync marketplace",marketplaceRemoveSuccess:"Marketplace removed successfully",marketplaceRemoveError:"Failed to remove marketplace"},detail:{back:"Back",root:"Root",noDescription:"No description available",version:"Version",author:"Author",license:"License",components:"Components",type:"Type",name:"Name",description:"Description",actions:"Actions",viewEntryFile:"View entry file",browseDirectory:"Browse directory",noComponents:"No components found",loadFailed:"Failed to load plugin details",componentTypes:{command:"Command",agent:"Agent",skill:"Skill",hook:"Hook",mcp:"MCP Server"}}},m2={title:"Agent Skills",subtitle:"Manage and organize your agent capabilities",createButton:"Create Skill",noSkills:"No skills created yet",noSkillsSearch:"No skills found matching your filters",createFirst:"Create Your First Skill",searchPlaceholder:"Search skills...",filter:{showDisabled:"Show disabled"},scope:{user:"User",project:"Project"},status:{enabled:"Enabled",disabled:"Disabled"},create:{title:"Create New Skill",subtitle:"Define a new capability for your AI agents",steps:{basic:"Basic Info",content:"Content",preview:"Preview"},basic:{name:"Skill Name",namePlaceholder:"my-awesome-skill",nameHint:"Use lowercase letters, numbers, and hyphens only (max 64 characters)",description:"Description",descriptionPlaceholder:"Brief description of what this skill does and when to use it",descriptionHint:"Include both what the skill does and when Claude should use it (max 1024 characters)",allowedTools:"Allowed Tools",allowedToolsPlaceholder:"Read, Write, Grep (comma-separated)",allowedToolsHint:"Tools this skill can use without asking for permission. Leave empty for default behavior.",selectTools:"Select Tools",noToolsSelected:"No tools selected"},content:{skillManifest:"SKILL.md Content",additionalFiles:"Additional Files",addFile:"Add File",noFiles:"No additional files",noFilesHint:"Add files to extend your skill functionality",fileName:"File name",filePath:"Path/to/file",fileContent:"File content",fileType:{markdown:"Markdown",text:"Text",script:"Script",template:"Template",other:"Other"}},preview:{title:"Skill Preview",name:"Name:",description:"Description:",scope:"Scope:",allowedTools:"Allowed Tools:",additionalFiles:"Additional Files:",none:"None",fileCount:"{{count}} file(s)",previewContent:"SKILL.md Preview:",noContent:"(no content)"}},editor:{title:"Edit Skill",basic:{name:"Name",description:"Description",allowedTools:"Allowed Tools",allowedToolsHint:"Tools this skill can use without asking for permission. Leave empty for default behavior.",skillContent:"SKILL.md Content",validationErrors:"Validation Errors:",unsavedChanges:"You have unsaved changes. Press Cmd+S to save."},files:{title:"Additional Files",addFile:"Add File",noFiles:"No additional files",addFilesHint:"Add files to extend your skill functionality"},scope:{user:"User Skill"},errors:{validationErrors:"Validation Errors:",saveFailed:"Failed to save skill. Please try again."}},preview:{title:"Skill Content",usageStats:"Usage Statistics",usage:"Used {{count}} time{{count, plural, one {} other{s}}",lastUsed:"Last used",created:"Created:",updated:"Updated:",scope:"Scope:",userScopeDesc:"Personal (across all projects)",projectScopeDesc:"Project: Current",actions:{edit:"Edit",enable:"Enable",disable:"Disable",delete:"Delete"}},errors:{loadFailed:"Error loading skills",deleteFailed:"Failed to delete skill. Please try again.",toggleFailed:"Toggle functionality will be implemented in the API",createFailed:"Failed to create skill. Please try again."},deleteConfirm:'Are you sure you want to delete "{{name}}"?',usage:{customInstructions:"Custom instructions",toolPermissions:"Tool permissions"}},g2={docs:e2,nav:t2,version:n2,footer:a2,login:i2,landing:s2,agents:r2,projects:o2,chat:l2,dashboard:c2,settings:u2,analytics:d2,mcp:f2,commands:h2,plugins:p2,skills:m2},v2="AgentStudio",y2="Select an AI assistant to start working",b2="Loading...",_2="Available Assistants",S2="Disabled Assistants",x2="{{count}} assistants",w2="Create Custom Assistant",C2="Custom assistant feature coming soon!",k2="No Available Assistants Yet",A2="Enable some built-in assistants or create your own custom assistants to get started",T2="Manage Assistants",E2="Start Using",N2="Edit Assistant",M2="Disable Assistant",j2="Enable Assistant",R2="Disabled",D2="Enable Assistant",P2={slides:"Slides",chat:"Chat","claude-code":"Claude Code"},O2={toggleFailed:"Operation failed, please try again"},L2={title:v2,subtitle:y2,loading:b2,availableAgents:_2,disabledAgents:S2,agentCount:x2,createCustomAgent:w2,customAgentComingSoon:C2,noAgentsTitle:k2,noAgentsDescription:A2,manageAgents:T2,startUsing:E2,editAgent:N2,disableAgent:M2,enableAgent:j2,disabledStatus:R2,enableAgentButton:D2,componentTypes:P2,errors:O2},F2={enabled:"Enabled",disabled:"Disabled"},z2={name:"Project Name",nameRequired:"Project Name *",namePlaceholder:"Enter project name",description:"Project Description",descriptionPlaceholder:"Briefly describe the purpose of this project...",directory:"Project Directory",directoryNote:"A new folder will be created under this directory",agentType:"Select Assistant Type *",agentTypePlaceholder:"Choose an assistant type"},U2={name:"Assistant Name",namePlaceholder:"Enter assistant name",description:"Assistant Description",descriptionPlaceholder:"Describe the assistant's capabilities...",systemPrompt:"System Prompt",systemPromptPlaceholder:"Enter system prompt...",tools:"Available Tools",selectTools:"Select Tools"},I2={editTitle:"Edit Command",createTitle:"Create Command",formMode:"Form",codeMode:"Code",saveChanges:"Save Changes",createCommand:"Create Command",nameLabel:"Command Name",nameHint:"Can only contain letters, numbers, underscores, and hyphens",modelLabel:"Specify Model",inheritModel:"Inherit conversation settings",modelHint:"Specify a specific AI model for this command.",namespaceLabel:"Namespace",namespaceHint:"Used to organize commands, can include / separator",argumentHintLabel:"Argument Hint",argumentHintHint:"Argument hint displayed in autocomplete",descriptionLabel:"Description",descriptionPlaceholder:"Optimize code performance and readability",descriptionHint:"Brief description of the command, will use the first line of content if not provided",allowedToolsLabel:"Allowed Tools",selectTools:"Select Tools",regularToolsCount:"{{count}} regular tools",mcpToolsCount:"{{count}} MCP tools",allowedToolsHint:"Leave empty to inherit conversation permissions",contentLabel:"Command Content",contentPlaceholder:`Analyze performance issues in this code and provide optimization suggestions:
193
193
 
194
194
  Use arguments: $ARGUMENTS
195
195
  Use first argument: $1
@@ -218,7 +218,7 @@ Use first argument: $1
218
218
  Use second argument: $2
219
219
 
220
220
  Reference file: @src/utils/helpers.js
221
- Execute command: !\`git status\``,errors:{nameRequired:"Command name is required",nameFormat:"Command name can only contain letters, numbers, underscores, and hyphens",contentRequired:"Command content is required",scopeRequired:"Please select command scope",saveFailed:"Save failed"}},U2={title:"File Explorer",searchPlaceholder:"Search files...",uploadButton:"Upload File",createFolder:"New Folder",rename:"Rename",deleteFile:"Delete File",downloadFile:"Download File",noFiles:"No files",loading:"Loading files...",loadFailed:"Failed to load project files",retry:"Retry",projectPath:"Project path",emptyDirectory:"Project directory is empty",selectFile:"Select a file to preview",previewNotSupported:"Preview not supported for this file type",fileLabel:"File",imageLoadFailed:"Failed to load image",cannotReadFile:"Unable to read file content",noOpenFiles:"No open files",moreTabsCount:"{{count}} more tabs",pinnedTab:"pinned",temporaryTab:"temporary",closeTab:"Close tab",noProject:"No Project Selected",selectProjectFirst:"Please select a project first to browse files",collapsePanel:"Collapse directory panel",expandPanel:"Expand directory panel"},I2={title:"Session Management",sessionHistory:"Session History",searchPlaceholder:"Search sessions...",noSessions:"No sessions",noSessionHistory:"No session history",noMatchingSessions:"No matching sessions found",sessionWillAppear:"Sessions will appear after you start chatting",messageCount:"{{count}} messages",newSession:"New Session",deleteSession:"Delete Session",renameSession:"Rename Session"},H2={title:"Tool Selector",searchPlaceholder:"Search tools...",noTools:"No tools available",selectedTools:"Selected Tools",selectButton:"Select Tools",toolsCount:"{{count}} regular tools",mcpToolsCount:"{{count}} MCP tools"},q2={title:"Language",chinese:"中文",english:"English"},B2={newSession:"New Session",sessionHistory:"Session History",refreshMessages:"Refresh Messages",messagesRefreshed:"Messages refreshed",loadingMessages:"Loading messages...",currentSession:"Current Session",imagePreview:"Preview",deleteImage:"Delete Image",dropImageHere:"Drop images here",sendImage:"Sent an image",addDescription:"Add description text... (optional)",inputPlaceholder:"Type your message... (Shift+Enter for new line, Enter to send, / for commands)",inputPlaceholderMobile:"Type message...",toolSelection:"Tool Selection",imageSelection:"Image Selection",selectedCount:"{{count}} selected",stop:"Stop",send:"Send",stopAi:"Stop AI",aiTyping:"AI is typing",noContent:"No content to send",unknownCommand:"Unknown command",sendMessage:"Send message",newMessages:"new messages",scrollToLatest:"View Latest Messages",permissionMode:{default:"Default",acceptEdits:"Accept Edits",bypassPermissions:"Bypass Permissions",plan:"Plan Mode"},model:{sonnet:"Sonnet",opus:"Opus"},claudeVersion:{title:"Select Supplier",default:"Default",custom:"Custom",system:"System",locked:"Supplier Locked (Active Session)"},settings:{title:"Settings",permissionMode:"Permission Mode",claudeVersion:"Supplier",model:"Model",modelAndVersion:"Supplier & Model",noSettings:"No settings available"},envVars:{title:"Environment Variables",add:"Add Variable",key:"Key",value:"Value",save:"Save",cancel:"Cancel",edit:"Edit",delete:"Delete",noVars:"No environment variables set"},commandWarning:"Unknown command: {{command}}. Available commands: {{commands}}",navigateTo:"Navigate to: {{path}}",errorMessages:{claudeCodeSDKError:"❌ **Claude Code SDK Error**",parseError:"An error occurred while parsing response data. This may be caused by network interruption or abnormal server response format.",timeout:"Request processing timeout. Server response time is too long.",unknownError:"Unknown error. Please try again later.",networkError:`❌ **Network Connection Error**
221
+ Execute command: !\`git status\``,errors:{nameRequired:"Command name is required",nameFormat:"Command name can only contain letters, numbers, underscores, and hyphens",contentRequired:"Command content is required",scopeRequired:"Please select command scope",saveFailed:"Save failed"}},H2={title:"File Explorer",searchPlaceholder:"Search files...",uploadButton:"Upload File",createFolder:"New Folder",rename:"Rename",deleteFile:"Delete File",downloadFile:"Download File",noFiles:"No files",loading:"Loading files...",loadFailed:"Failed to load project files",retry:"Retry",projectPath:"Project path",emptyDirectory:"Project directory is empty",selectFile:"Select a file to preview",previewNotSupported:"Preview not supported for this file type",fileLabel:"File",imageLoadFailed:"Failed to load image",cannotReadFile:"Unable to read file content",noOpenFiles:"No open files",moreTabsCount:"{{count}} more tabs",pinnedTab:"pinned",temporaryTab:"temporary",closeTab:"Close tab",noProject:"No Project Selected",selectProjectFirst:"Please select a project first to browse files",collapsePanel:"Collapse directory panel",expandPanel:"Expand directory panel"},q2={title:"Session Management",sessionHistory:"Session History",searchPlaceholder:"Search sessions...",noSessions:"No sessions",noSessionHistory:"No session history",noMatchingSessions:"No matching sessions found",sessionWillAppear:"Sessions will appear after you start chatting",messageCount:"{{count}} messages",newSession:"New Session",deleteSession:"Delete Session",renameSession:"Rename Session"},B2={title:"Tool Selector",searchPlaceholder:"Search tools...",noTools:"No tools available",selectedTools:"Selected Tools",selectButton:"Select Tools",toolsCount:"{{count}} regular tools",mcpToolsCount:"{{count}} MCP tools"},$2={title:"Language",chinese:"中文",english:"English"},V2={newSession:"New Session",sessionHistory:"Session History",refreshMessages:"Refresh Messages",messagesRefreshed:"Messages refreshed",loadingMessages:"Loading messages...",currentSession:"Current Session",imagePreview:"Preview",deleteImage:"Delete Image",dropImageHere:"Drop images here",sendImage:"Sent an image",addDescription:"Add description text... (optional)",inputPlaceholder:"Type your message... (Shift+Enter for new line, Enter to send, / for commands)",inputPlaceholderMobile:"Type message...",toolSelection:"Tool Selection",imageSelection:"Image Selection",selectedCount:"{{count}} selected",stop:"Stop",send:"Send",stopAi:"Stop AI",aiTyping:"AI is typing",noContent:"No content to send",unknownCommand:"Unknown command",sendMessage:"Send message",newMessages:"new messages",scrollToLatest:"View Latest Messages",permissionMode:{default:"Default",acceptEdits:"Accept Edits",bypassPermissions:"Bypass Permissions",plan:"Plan Mode"},model:{sonnet:"Sonnet",opus:"Opus"},claudeVersion:{title:"Select Supplier",default:"Default",custom:"Custom",system:"System",locked:"Supplier Locked (Active Session)"},settings:{title:"Settings",permissionMode:"Permission Mode",claudeVersion:"Supplier",model:"Model",modelAndVersion:"Supplier & Model",noSettings:"No settings available"},envVars:{title:"Environment Variables",add:"Add Variable",key:"Key",value:"Value",save:"Save",cancel:"Cancel",edit:"Edit",delete:"Delete",noVars:"No environment variables set"},commandWarning:"Unknown command: {{command}}. Available commands: {{commands}}",navigateTo:"Navigate to: {{path}}",errorMessages:{claudeCodeSDKError:"❌ **Claude Code SDK Error**",parseError:"An error occurred while parsing response data. This may be caused by network interruption or abnormal server response format.",timeout:"Request processing timeout. Server response time is too long.",unknownError:"Unknown error. Please try again later.",networkError:`❌ **Network Connection Error**
222
222
 
223
223
  Unable to connect to AI service. Please check your network connection and try again.`,requestTimeout:`⏰ **Request Timeout**
224
224
 
@@ -242,7 +242,7 @@ Please try again later or check your input.`,processingComplete:"✅ **Processin
242
242
 
243
243
  The cost limit for this session has been exceeded.`,maxRetriesReached:`🔄 **Maximum Retries Reached**
244
244
 
245
- Failed to get a valid response after multiple attempts.`},$2={init:{name:"init",description:"Initialize project or reset conversation context"},clear:{name:"clear",description:"Clear current conversation history"},compact:{name:"compact",description:"Compact conversation history, keep key information"},agents:{name:"agents",description:"Manage AI agents and subagents"},settings:{name:"settings",description:"Open settings page"},help:{name:"help",description:"Show help information"}},V2={title:"Memory Management"},G2={title:"Commands Management"},Y2={title:"SubAgents Management"},K2={title:"Active Sessions",activeCount:"Currently active: {{count}} sessions",loadingMessage:"Loading session information...",status:{pending:"Pending",active:"Active",idle:"Idle"},labels:{session:"Session",agent:"Agent",project:"Project",activity:"Activity"},time:{hoursMinutes:"{{hours}}h {{minutes}}m",minutesSeconds:"{{minutes}}m {{seconds}}s",seconds:"{{seconds}}s"},heartbeat:{none:"No heartbeat",timeout:"Heartbeat timeout"},actions:{openChat:"Open chat window",cleanup:"Cleanup session"},errors:{loadFailed:"Failed to load session information",cleanupFailed:"Failed to cleanup session, please retry",navigationFailed:"Navigation failed, fallback applied"},empty:{noSessions:"No active sessions",startChatHint:"Start a conversation with an assistant to create a session"}},X2={title:"Select File or Directory",emptyDirectory:"This directory is empty",toolbar:{homeDirectory:"Home Directory",parentDirectory:"Parent Directory",loadingPath:"Loading...",newDirectory:"New Directory",showHidden:"Show Hidden Files",hideHidden:"Hide Hidden Files",restrictedToProject:"Restricted to project directory"},table:{name:"Name",size:"Size",modified:"Modified",actions:"Actions"},actions:{select:"Select",cancel:"Cancel",createFolder:"Create Folder",creating:"Creating...",preview:"Preview",previewCSV:"Preview CSV File",previewJSONL:"Preview JSONL File"},dialog:{newFolder:"New Folder",createAt:"Create new directory at:",folderName:"Folder Name",folderNamePlaceholder:"Enter folder name"},footer:{itemsCount:"{{count}} items"},errors:{error:"Error",loadFailed:"Failed to load directory",browseFailed:"Failed to browse directory",createFailed:"Failed to create directory"}},Q2={loading:"Loading CSV file...",info:{rowCount:"{{count}} rows total",filtered:"filtered"},search:{placeholder:"Search CSV content..."},table:{untitled:"Untitled"},empty:{noData:"No data to display"},pagination:{showing:"Showing {{start}}-{{end}} of {{total}}",previous:"Previous",next:"Next"},actions:{close:"Close",download:"Download",maximize:"Maximize",minimize:"Minimize"},errors:{title:"Preview Error",loadFailed:"Failed to load CSV file",unknownError:"Unknown error"},instructions:"Arrow keys to navigate • Ctrl+F to search • ESC to close"},Z2={loading:"Loading JSONL file...",info:{recordCount:"{{count}} records total",errorCount:"{{count}} parse errors",filtered:"filtered"},search:{placeholder:"Search JSONL content..."},empty:{noData:"No data to display"},pagination:{showing:"Showing {{start}}-{{end}} of {{total}}",previous:"Previous",next:"Next"},actions:{close:"Close",download:"Download",maximize:"Maximize",minimize:"Minimize",copy:"Copy"},errors:{title:"Preview Error",loadFailed:"Failed to load JSONL file",unknownError:"Unknown error",parseError:"JSON parse error"},instructions:"Click to expand • Arrow keys to navigate • Ctrl+F to search • ESC to close"},W2={title:"Tool Selection",tabs:{regular:"Regular Tools",mcp:"MCP Tools"},selectAll:"Select All",preset:"Preset",enableMcpTools:"Enable MCP Tools",loading:"Loading...",noMcpServers:"No MCP servers available",toolsCount:"{{count}} tools",serverUnavailable:"Server unavailable"},J2={title:{create:"Create Subagent",edit:"Edit Subagent"},mode:{form:"Form",code:"Code"},actions:{cancel:"Cancel",create:"Create Subagent",saving:"Saving...",saveChanges:"Save Changes"},codeMode:{title:"Code Mode",description:"In this mode, you can directly edit the Markdown format subagent file, including YAML frontmatter and system prompt content.",label:"Subagent File Content",placeholder:`---
245
+ Failed to get a valid response after multiple attempts.`},G2={init:{name:"init",description:"Initialize project or reset conversation context"},clear:{name:"clear",description:"Clear current conversation history"},compact:{name:"compact",description:"Compact conversation history, keep key information"},agents:{name:"agents",description:"Manage AI agents and subagents"},settings:{name:"settings",description:"Open settings page"},help:{name:"help",description:"Show help information"}},Y2={title:"Memory Management"},K2={title:"Commands Management"},X2={title:"SubAgents Management"},Q2={title:"Active Sessions",activeCount:"Currently active: {{count}} sessions",loadingMessage:"Loading session information...",status:{pending:"Pending",active:"Active",idle:"Idle"},labels:{session:"Session",agent:"Agent",project:"Project",activity:"Activity"},time:{hoursMinutes:"{{hours}}h {{minutes}}m",minutesSeconds:"{{minutes}}m {{seconds}}s",seconds:"{{seconds}}s"},heartbeat:{none:"No heartbeat",timeout:"Heartbeat timeout"},actions:{openChat:"Open chat window",cleanup:"Cleanup session"},errors:{loadFailed:"Failed to load session information",cleanupFailed:"Failed to cleanup session, please retry",navigationFailed:"Navigation failed, fallback applied"},empty:{noSessions:"No active sessions",startChatHint:"Start a conversation with an assistant to create a session"}},Z2={title:"Select File or Directory",emptyDirectory:"This directory is empty",toolbar:{homeDirectory:"Home Directory",parentDirectory:"Parent Directory",loadingPath:"Loading...",newDirectory:"New Directory",showHidden:"Show Hidden Files",hideHidden:"Hide Hidden Files",restrictedToProject:"Restricted to project directory"},table:{name:"Name",size:"Size",modified:"Modified",actions:"Actions"},actions:{select:"Select",cancel:"Cancel",createFolder:"Create Folder",creating:"Creating...",preview:"Preview",previewCSV:"Preview CSV File",previewJSONL:"Preview JSONL File"},dialog:{newFolder:"New Folder",createAt:"Create new directory at:",folderName:"Folder Name",folderNamePlaceholder:"Enter folder name"},footer:{itemsCount:"{{count}} items"},errors:{error:"Error",loadFailed:"Failed to load directory",browseFailed:"Failed to browse directory",createFailed:"Failed to create directory"}},W2={loading:"Loading CSV file...",info:{rowCount:"{{count}} rows total",filtered:"filtered"},search:{placeholder:"Search CSV content..."},table:{untitled:"Untitled"},empty:{noData:"No data to display"},pagination:{showing:"Showing {{start}}-{{end}} of {{total}}",previous:"Previous",next:"Next"},actions:{close:"Close",download:"Download",maximize:"Maximize",minimize:"Minimize"},errors:{title:"Preview Error",loadFailed:"Failed to load CSV file",unknownError:"Unknown error"},instructions:"Arrow keys to navigate • Ctrl+F to search • ESC to close"},J2={loading:"Loading JSONL file...",info:{recordCount:"{{count}} records total",errorCount:"{{count}} parse errors",filtered:"filtered"},search:{placeholder:"Search JSONL content..."},empty:{noData:"No data to display"},pagination:{showing:"Showing {{start}}-{{end}} of {{total}}",previous:"Previous",next:"Next"},actions:{close:"Close",download:"Download",maximize:"Maximize",minimize:"Minimize",copy:"Copy"},errors:{title:"Preview Error",loadFailed:"Failed to load JSONL file",unknownError:"Unknown error",parseError:"JSON parse error"},instructions:"Click to expand • Arrow keys to navigate • Ctrl+F to search • ESC to close"},eD={title:"Tool Selection",tabs:{regular:"Regular Tools",mcp:"MCP Tools"},selectAll:"Select All",preset:"Preset",enableMcpTools:"Enable MCP Tools",loading:"Loading...",noMcpServers:"No MCP servers available",toolsCount:"{{count}} tools",serverUnavailable:"Server unavailable"},tD={title:{create:"Create Subagent",edit:"Edit Subagent"},mode:{form:"Form",code:"Code"},actions:{cancel:"Cancel",create:"Create Subagent",saving:"Saving...",saveChanges:"Save Changes"},codeMode:{title:"Code Mode",description:"In this mode, you can directly edit the Markdown format subagent file, including YAML frontmatter and system prompt content.",label:"Subagent File Content",placeholder:`---
246
246
  name: my-subagent
247
247
  description: A subagent specialized for handling specific tasks
248
248
  tools: read_file, write, search_replace
@@ -260,11 +260,11 @@ Your task is to...
260
260
 
261
261
  Please ensure...
262
262
 
263
- When encountering..., you should...`}},validation:{nameRequired:"Name is required",nameFormat:"Name can only contain lowercase letters, numbers, and hyphens",descriptionRequired:"Description is required",contentRequired:"System prompt is required"},errors:{saveFailed:"Save failed"}},eD={systemCommands:{init:{description:"Initialize project or reset conversation context"},clear:{description:"Clear current conversation history"},compact:{description:"Compact conversation history, keep key information"},agents:{description:"Manage AI agents and subagents"},settings:{description:"Open settings page"},help:{description:"Show help information"}}},tD={title:"API Server Settings",fields:{address:"API Server Address",addressPlaceholder:"http://localhost:4936 or https://your-domain.com"},actions:{test:"Test",reset:"Reset",cancel:"Cancel",save:"Save"},quickSelect:{title:"Quick Select:",localDev:"Local Development",officialServer:"Official Server"},status:{label:"Connection Status",success:"Connected",error:"Connection Failed",untested:"Not Tested"},instructions:{title:"Instructions:",localDev:"Use for local development",production:"Use your server domain for production",cors:"Ensure the server supports CORS access",refresh:"The page will refresh automatically after changes"},errors:{serverError:"Server response error: {{status}} {{statusText}}",connectionFailed:"Connection failed: {{message}}",connectionFailedUnknown:"Connection failed: Unknown error",enterAddress:"Please enter API server address"},saveSuccess:"Settings saved, the page will refresh to apply new settings"},nD={title:"Project Commands Management",loading:"Loading project commands...",searchPlaceholder:"Search commands...",createButton:"New Command",error:{title:"Load Failed",message:"Unable to load project commands",retry:"Retry",close:"Close"},emptyState:{noCommandsTitle:"No project commands yet",noCommandsDescription:"Create dedicated Slash Commands for this project",noMatchTitle:"No matching commands found",noMatchDescription:"Try adjusting your search criteria"},table:{command:"Command",model:"Model",tools:"Tools",createdAt:"Created",actions:"Actions",inheritSettings:"Inherit conversation settings",toolsCount:"{{count}} tools"},actions:{edit:"Edit",editTooltip:"Edit command",deleteTooltip:"Delete command"},deleteConfirm:{title:"Delete Command",message:'Are you sure you want to delete command "/{{name}}"? This action cannot be undone.',cancel:"Cancel",confirm:"Delete",deleting:"Deleting..."}},aD={title:"Project Subagent Management",loading:"Loading project subagents...",searchPlaceholder:"Search subagents...",error:{loadFailed:"Load Failed",loadFailedMessage:"Unable to load project subagents"},actions:{retry:"Retry",close:"Close",create:"New Subagent",edit:"Edit",editTooltip:"Edit Subagent",delete:"Delete",deleteTooltip:"Delete Subagent",cancel:"Cancel"},emptyState:{noSubagents:"No Project Subagents Yet",noResults:"No Matching Subagents Found",tryAdjust:"Try adjusting your search criteria",description:"Create specialized AI subagents for this project to handle specific tasks"},table:{subagent:"Subagent",tools:"Tools",createdAt:"Created",actions:"Actions",toolsCount:"{{count}} tools",inheritSettings:"Inherit conversation settings"},deleteConfirm:{title:"Confirm Delete",message:'Are you sure you want to delete subagent "<strong>{{name}}</strong>"?',warning:"This action cannot be undone."}},iD={selectProjectDirectory:"Select Project Directory",projectActions:"Project Actions",quickCreateProject:"Quick Create Project",creatingProject:"Creating project...",quickCreateDescription:"Automatically create in ~/claude-code-projects",customLocationCreate:"Custom Location Create",customLocationDescription:"Choose directory and project name",browseProject:"Browse Projects",browseDescription:"Select project directory via file browser",importProject:"Import Project",importDescription:"Import existing project directory",importProjectFailed:"Failed to import project",recentProjects:"Recent Projects",loadingProjects:"Loading projects...",lastAccessed:"Last accessed: {{date}}",noRecentProjects:"No recent projects",createProjectToStart:"Create a new project to get started",cancel:"Cancel",selectParentDirectory:"Select Parent Directory for New Project",createProjectFailed:"Failed to create project: {{error}}",unknownError:"Unknown error",importConfirmation:`This directory is not yet a project for {{agentName}}.
263
+ When encountering..., you should...`}},validation:{nameRequired:"Name is required",nameFormat:"Name can only contain lowercase letters, numbers, and hyphens",descriptionRequired:"Description is required",contentRequired:"System prompt is required"},errors:{saveFailed:"Save failed"}},nD={systemCommands:{init:{description:"Initialize project or reset conversation context"},clear:{description:"Clear current conversation history"},compact:{description:"Compact conversation history, keep key information"},agents:{description:"Manage AI agents and subagents"},settings:{description:"Open settings page"},help:{description:"Show help information"}}},aD={title:"API Server Settings",fields:{address:"API Server Address",addressPlaceholder:"http://localhost:4936 or https://your-domain.com"},actions:{test:"Test",reset:"Reset",cancel:"Cancel",save:"Save"},quickSelect:{title:"Quick Select:",localDev:"Local Development",officialServer:"Official Server"},status:{label:"Connection Status",success:"Connected",error:"Connection Failed",untested:"Not Tested"},instructions:{title:"Instructions:",localDev:"Use for local development",production:"Use your server domain for production",cors:"Ensure the server supports CORS access",refresh:"The page will refresh automatically after changes"},errors:{serverError:"Server response error: {{status}} {{statusText}}",connectionFailed:"Connection failed: {{message}}",connectionFailedUnknown:"Connection failed: Unknown error",enterAddress:"Please enter API server address"},saveSuccess:"Settings saved, the page will refresh to apply new settings"},iD={title:"Project Commands Management",loading:"Loading project commands...",searchPlaceholder:"Search commands...",createButton:"New Command",error:{title:"Load Failed",message:"Unable to load project commands",retry:"Retry",close:"Close"},emptyState:{noCommandsTitle:"No project commands yet",noCommandsDescription:"Create dedicated Slash Commands for this project",noMatchTitle:"No matching commands found",noMatchDescription:"Try adjusting your search criteria"},table:{command:"Command",model:"Model",tools:"Tools",createdAt:"Created",actions:"Actions",inheritSettings:"Inherit conversation settings",toolsCount:"{{count}} tools"},actions:{edit:"Edit",editTooltip:"Edit command",deleteTooltip:"Delete command"},deleteConfirm:{title:"Delete Command",message:'Are you sure you want to delete command "/{{name}}"? This action cannot be undone.',cancel:"Cancel",confirm:"Delete",deleting:"Deleting..."}},sD={title:"Project Subagent Management",loading:"Loading project subagents...",searchPlaceholder:"Search subagents...",error:{loadFailed:"Load Failed",loadFailedMessage:"Unable to load project subagents"},actions:{retry:"Retry",close:"Close",create:"New Subagent",edit:"Edit",editTooltip:"Edit Subagent",delete:"Delete",deleteTooltip:"Delete Subagent",cancel:"Cancel"},emptyState:{noSubagents:"No Project Subagents Yet",noResults:"No Matching Subagents Found",tryAdjust:"Try adjusting your search criteria",description:"Create specialized AI subagents for this project to handle specific tasks"},table:{subagent:"Subagent",tools:"Tools",createdAt:"Created",actions:"Actions",toolsCount:"{{count}} tools",inheritSettings:"Inherit conversation settings"},deleteConfirm:{title:"Confirm Delete",message:'Are you sure you want to delete subagent "<strong>{{name}}</strong>"?',warning:"This action cannot be undone."}},rD={selectProjectDirectory:"Select Project Directory",projectActions:"Project Actions",quickCreateProject:"Quick Create Project",creatingProject:"Creating project...",quickCreateDescription:"Automatically create in ~/claude-code-projects",customLocationCreate:"Custom Location Create",customLocationDescription:"Choose directory and project name",browseProject:"Browse Projects",browseDescription:"Select project directory via file browser",importProject:"Import Project",importDescription:"Import existing project directory",importProjectFailed:"Failed to import project",recentProjects:"Recent Projects",loadingProjects:"Loading projects...",lastAccessed:"Last accessed: {{date}}",noRecentProjects:"No recent projects",createProjectToStart:"Create a new project to get started",cancel:"Cancel",selectParentDirectory:"Select Parent Directory for New Project",createProjectFailed:"Failed to create project: {{error}}",unknownError:"Unknown error",importConfirmation:`This directory is not yet a project for {{agentName}}.
264
264
 
265
265
  Do you want to import this directory as a new project?
266
266
 
267
- Path: {{path}}`,dialog:{createNewProject:"Create New Project",projectWillBeCreatedAt:"Project will be created in the following directory:",projectName:"Project Name",projectNamePlaceholder:"Enter project name",cancel:"Cancel",createProject:"Create Project"}},sD={image:"Image ({{mimeType}})",resource:"Resource",uri:"URI",name:"Name",description:"Description",type:"Type",unknownType:"Unknown type ({{type}})",errorMessage:"Error message:",executionResult:"Execution result:",progress:"Progress: {{current}} / {{total}}",subtitle:"MCP: {{toolName}} @ {{serverName}}",parameters:"Parameters"},rD={executing:"Executing...",executionError:"Execution error",timeout:"Timeout: {{timeout}}ms"},oD={readFile:"Read file",startLine:"Start line",readLines:"Read lines"},lD={filePath:"File path",fileSize:"File size: {{size}} characters"},cD={editFile:"Edit file",replaceAll:"Replace all",yes:"Yes"},uD={noFilesFound:"No matching files found",patternLabel:"Pattern",pathLabel:"Search path",matchingResults:"Matching results:"},dD={noMatchesFound:"No matches found",matchStatistics:"Match statistics",patternLabel:"Search pattern",pathLabel:"Search path",globLabel:"File filter",typeLabel:"File type",outputModeLabel:"Output mode",ignoreCase:"Ignore case",showLineNumbers:"Show line numbers",afterLines:"After {{count}} lines",beforeLines:"Before {{count}} lines",contextLines:"Context {{count}} lines",multilineMode:"Multiline mode",searchResults:"Search results:"},fD={urlLabel:"URL:",analysisPromptLabel:"Analysis prompt",truncated:"...(truncated)",webAnalysisResult:"Web analysis result:"},hD={searchQueryLabel:"Search query",allowedDomains:"Allowed domains:",blockedDomains:"Blocked domains:",searchResults:"Search results:"},pD={taskDescriptionLabel:"Task description",taskPromptLabel:"Task prompt",truncated:"...(truncated)",totalLength:"Total length: {{length}} characters",agentType:"Agent Type",model:"Model",resumeTask:"Resume Task",fromPreviousExecution:"Continue from previous execution",executing:"Sub-agent is executing...",executingWithModel:"Executing with {{model}} model...",toolCallCount:"{{count}} tool calls",partsReceived:"parts received",status:{completed:"Completed",failed:"Failed",cancelled:"Cancelled"}},mD={title:"Sub-agent Message Flow",messageCount:"{{count}} messages",toolCount:"{{count}} tool calls",taskInput:"Task Input",subAgent:"Sub-agent",thinking:"Thinking...",expand:"Show more",collapse:"Show less"},gD={toolName:"Skill",skillName:"Skill Name",commandName:"Command Name",unknownSkill:"Unknown Skill",loading:"Loading skill...",launched:"Skill launched"},vD={allTasksCompleted:"All tasks completed",currentTaskProgress:"{{completed}}/{{total}} {{task}}",pendingTasks:"{{completed}}/{{total}} pending tasks",completedCount:"Completed: {{count}}",inProgressCount:"In progress: {{count}}",pendingCount:"Pending: {{count}}"},yD={implementationPlan:"Implementation Plan:",planModeExited:"Plan mode exited, ready to start implementation"},bD={notebookPath:"Notebook path",insert:"Insert",delete:"Delete",replace:"Replace",code:"Code",markdown:"Markdown",cellId:"Cell ID",newContent:"New content",truncated:"...(truncated)"},_D={unknownToolType:"Unknown tool type"},SD={executionResult:"Execution result:",interrupted:"Interrupted"},xD={shellPrefix:"Shell",exitCode:"Exit code",stdout:"Standard output",stderr:"Error output",fetchingOutput:"Fetching output for Shell {{shellId}}...",filterCondition:"Filter condition",status:{running:"Running",completed:"Completed",killed:"Killed",failed:"Execution failed"}},wD={subtitle:"Kill Shell {{shellId}}",subtitleWithProcess:"Kill Shell {{shellId}} ({{processName}})",shellId:"Shell ID",status:{terminating:"Terminating process...",success:"Process successfully terminated",failed:"Failed to terminate process",ready:"Ready to terminate process"}},CD={directoryPath:"Directory path",ignorePatterns:"Ignore patterns",directoryStructure:"Directory structure:"},kD={title:"Time Machine",description:"Rewind to previous conversation state and apply corrections",targetMessage:"Target Message",correction:"Correction",restoreCode:"Restore Code",result:"Result",rewinding:"Rewinding...",error:"Time machine execution failed"},AD={title:"Ask User Question",description:"The AI assistant needs your input to continue. Please answer the questions below.",questionCount:"{{count}} question(s)",multiSelect:"Multi-select",userResponse:"Your Response",waitingForResponse:"Waiting for your response...",error:"Failed to submit response",interactionHint:"This interaction component requires manual input",submit:"Submit Answer",submitting:"Submitting...",completed:"Response submitted",typeSomething:"Type something...",typeSomethingPlaceholder:"Enter your custom response",yourAnswer:"Your answer",customAnswer:"Custom answer"},ED={filePath:"File path",batchEdit:"Batch edit ({{count}} operations):",operation:"Operation #{{number}}",replaceAll:"Replace all"},TD={notebookPath:"Notebook path",cellId:"Cell ID"},ND={send:"Send",stop:"Stop",stopping:"Stopping...",sendMessage:"Send message",stopGeneration:"Stop generation",aiTyping:"AI is typing",noContentToSend:"No content to send",unknownCommand:"Unknown command",noMessages:"No messages yet",startConversation:"Start a new conversation",newMessages:"New messages",initializingSession:"Initializing session...",errors:{jsonParseError:`An error occurred while parsing response data. This may be caused by network interruption or abnormal server response format.
267
+ Path: {{path}}`,dialog:{createNewProject:"Create New Project",projectWillBeCreatedAt:"Project will be created in the following directory:",projectName:"Project Name",projectNamePlaceholder:"Enter project name",cancel:"Cancel",createProject:"Create Project"}},oD={image:"Image ({{mimeType}})",resource:"Resource",uri:"URI",name:"Name",description:"Description",type:"Type",unknownType:"Unknown type ({{type}})",errorMessage:"Error message:",executionResult:"Execution result:",progress:"Progress: {{current}} / {{total}}",subtitle:"MCP: {{toolName}} @ {{serverName}}",parameters:"Parameters"},lD={executing:"Executing...",executionError:"Execution error",timeout:"Timeout: {{timeout}}ms"},cD={readFile:"Read file",startLine:"Start line",readLines:"Read lines"},uD={filePath:"File path",fileSize:"File size: {{size}} characters"},dD={editFile:"Edit file",replaceAll:"Replace all",yes:"Yes"},fD={noFilesFound:"No matching files found",patternLabel:"Pattern",pathLabel:"Search path",matchingResults:"Matching results:"},hD={noMatchesFound:"No matches found",matchStatistics:"Match statistics",patternLabel:"Search pattern",pathLabel:"Search path",globLabel:"File filter",typeLabel:"File type",outputModeLabel:"Output mode",ignoreCase:"Ignore case",showLineNumbers:"Show line numbers",afterLines:"After {{count}} lines",beforeLines:"Before {{count}} lines",contextLines:"Context {{count}} lines",multilineMode:"Multiline mode",searchResults:"Search results:"},pD={urlLabel:"URL:",analysisPromptLabel:"Analysis prompt",truncated:"...(truncated)",webAnalysisResult:"Web analysis result:"},mD={searchQueryLabel:"Search query",allowedDomains:"Allowed domains:",blockedDomains:"Blocked domains:",searchResults:"Search results:"},gD={taskDescriptionLabel:"Task description",taskPromptLabel:"Task prompt",truncated:"...(truncated)",totalLength:"Total length: {{length}} characters",agentType:"Agent Type",model:"Model",resumeTask:"Resume Task",fromPreviousExecution:"Continue from previous execution",executing:"Sub-agent is executing...",executingWithModel:"Executing with {{model}} model...",toolCallCount:"{{count}} tool calls",partsReceived:"parts received",status:{completed:"Completed",failed:"Failed",cancelled:"Cancelled"}},vD={title:"Sub-agent Message Flow",messageCount:"{{count}} messages",toolCount:"{{count}} tool calls",taskInput:"Task Input",subAgent:"Sub-agent",thinking:"Thinking...",expand:"Show more",collapse:"Show less"},yD={toolName:"Skill",skillName:"Skill Name",commandName:"Command Name",unknownSkill:"Unknown Skill",loading:"Loading skill...",launched:"Skill launched"},bD={allTasksCompleted:"All tasks completed",currentTaskProgress:"{{completed}}/{{total}} {{task}}",pendingTasks:"{{completed}}/{{total}} pending tasks",completedCount:"Completed: {{count}}",inProgressCount:"In progress: {{count}}",pendingCount:"Pending: {{count}}"},_D={implementationPlan:"Implementation Plan:",planModeExited:"Plan mode exited, ready to start implementation"},SD={notebookPath:"Notebook path",insert:"Insert",delete:"Delete",replace:"Replace",code:"Code",markdown:"Markdown",cellId:"Cell ID",newContent:"New content",truncated:"...(truncated)"},xD={unknownToolType:"Unknown tool type"},wD={executionResult:"Execution result:",interrupted:"Interrupted"},CD={shellPrefix:"Shell",exitCode:"Exit code",stdout:"Standard output",stderr:"Error output",fetchingOutput:"Fetching output for Shell {{shellId}}...",filterCondition:"Filter condition",status:{running:"Running",completed:"Completed",killed:"Killed",failed:"Execution failed"}},kD={agentId:"Agent ID",blocking:"Blocking",blockingMode:"Blocking mode",nonBlockingMode:"Non-blocking mode",timeout:"Timeout",waitingForResult:"Waiting for background agent result...",fetchingResult:"Fetching background agent result...",completed:"Completed",error:"Error",noResult:"No result yet"},AD={subtitle:"Kill Shell {{shellId}}",subtitleWithProcess:"Kill Shell {{shellId}} ({{processName}})",shellId:"Shell ID",status:{terminating:"Terminating process...",success:"Process successfully terminated",failed:"Failed to terminate process",ready:"Ready to terminate process"}},TD={directoryPath:"Directory path",ignorePatterns:"Ignore patterns",directoryStructure:"Directory structure:"},ED={title:"Time Machine",description:"Rewind to previous conversation state and apply corrections",targetMessage:"Target Message",correction:"Correction",restoreCode:"Restore Code",result:"Result",rewinding:"Rewinding...",error:"Time machine execution failed"},ND={title:"Ask User Question",description:"The AI assistant needs your input to continue. Please answer the questions below.",questionCount:"{{count}} question(s)",multiSelect:"Multi-select",userResponse:"Your Response",waitingForResponse:"Waiting for your response...",error:"Failed to submit response",interactionHint:"This interaction component requires manual input",submit:"Submit Answer",submitting:"Submitting...",completed:"Response submitted",typeSomething:"Type something...",typeSomethingPlaceholder:"Enter your custom response",yourAnswer:"Your answer",customAnswer:"Custom answer"},MD={filePath:"File path",batchEdit:"Batch edit ({{count}} operations):",operation:"Operation #{{number}}",replaceAll:"Replace all"},jD={notebookPath:"Notebook path",cellId:"Cell ID"},RD={send:"Send",stop:"Stop",stopping:"Stopping...",sendMessage:"Send message",stopGeneration:"Stop generation",aiTyping:"AI is typing",noContentToSend:"No content to send",unknownCommand:"Unknown command",noMessages:"No messages yet",startConversation:"Start a new conversation",newMessages:"New messages",initializingSession:"Initializing session...",errors:{jsonParseError:`An error occurred while parsing response data. This may be caused by network interruption or abnormal server response format.
268
268
 
269
269
  **Suggested Actions:**
270
270
  - Check network connection
@@ -294,4 +294,4 @@ Unable to connect to server. Please check your network connection.`,connectionTi
294
294
 
295
295
  Connection to server timed out. Please try again later.`,connectionError:"Connection Error",cannotConnectRetry:"Unable to connect to AI service. Please try again later.",contextWindowError:`📏 **Context Window Limit Exceeded**
296
296
 
297
- The conversation has become too long. Please start a new session or use the /compact command to reduce context.`,checkBudget:"Check your budget settings and cost limits",increaseMaxTurns:"Increase the maximum turns in agent settings"}},MD={title:"Recent Activity",empty:"No recent activity",time:{justNow:"Just now",minutesAgo:"{{count}} minutes ago",minutesAgo_one:"{{count}} minute ago",hoursAgo:"{{count}} hours ago",hoursAgo_one:"{{count}} hour ago",daysAgo:"{{count}} days ago",daysAgo_one:"{{count}} day ago"}},jD={title:"Backend Services",noService:"No Service",namePlaceholder:"Service Name",urlPlaceholder:"Service URL",add:"Add",save:"Save",cancel:"Cancel",edit:"Edit",delete:"Delete",addNew:"Add New Service",testingConnection:"Testing connection...",connectionWarning:{title:"Unable to Connect to Service",message:'Cannot connect to service "{{name}}" ({{url}}).',consequence:"If you continue switching, you won't be able to login or use this service, but you can reconfigure the service address on the login page.",cancel:"Cancel",continue:"Switch Anyway"}},RD={checking:"Checking...",connected:"Connected",disconnected:"Disconnected",manageServices:"Manage Services",quickSwitch:"Quick Switch Services",version:"Version",backendName:"Backend Name",status:"Status",clickToSwitch:"Click service name to quickly switch",clickToManage:"Click the gear icon to manage services"},DD={title:"Service Management",noService:"No Service",servicesList:"Services List",addService:"Add Service",current:"Current",testConnection:"Test Connection",switchToService:"Switch to This Service",editService:"Edit Service",removeService:"Remove Service",refreshStatus:"Refresh Status",servicesOnline:"services online",close:"Close",namePlaceholder:"Service Name",urlPlaceholder:"Service URL (e.g., http://localhost:4936)",version:"Version",add:"Add",save:"Save",cancel:"Cancel",addNewService:"Add New Service",switchSuccess:"Switched to service: {{name}}",addSuccess:"Service added successfully",updateSuccess:"Service updated successfully",removeSuccess:"Service removed successfully",logoutService:"Logout from this service",logoutSuccess:"Logged out successfully",managePassword:"Manage Password",password:{title:"Access Password Management",description:"After setting a password, you will need to enter it when logging in. Leave empty and save to clear the password for passwordless login.",checking:"Checking...",currentlySet:"Password is currently set",currentlyNotSet:"No password set, passwordless login enabled",newPassword:"New Password",newPasswordPlaceholder:"Enter new password (leave empty to clear)",confirmPassword:"Confirm Password",confirmPasswordPlaceholder:"Re-enter password",save:"Save Password",mismatch:"Passwords do not match",tooShort:"Password must be at least 4 characters",setSuccess:"Password set successfully, will take effect on next login",clearSuccess:"Password cleared, passwordless login is now enabled",saveFailed:"Failed to save password"},connectionTest:{success:"Connection test successful",failed:"Connection test failed",error:"Connection test error"},switchWarning:{title:"Service Connection Warning",message:'Service "{{name}}" ({{url}}) cannot be connected.',consequence:"If you continue switching, you may not be able to use certain features properly.",cancel:"Cancel",continue:"Switch Anyway"}},PD={detecting:{title:"Detecting Claude CLI",description:"Checking if Claude is installed on your system..."},selection:{title:"Select Claude Version",description:"We detected the following Claude CLI installations, please select which one to use",userInstalled:"User Global Installation",systemInstalled:"System npm Package",path:"Path",version:"Version",packageManager:"Package Manager",useUserInstalled:"Use User-Installed Claude",useUserInstalledDesc:"Use the Claude CLI installed globally via package manager",useSystemPackage:"Use System npm Package",useSystemPackageDesc:"Use the Claude CLI bundled in project's node_modules",noClaudeFound:"No Claude CLI Found",noClaudeFoundDesc:"Please install Claude CLI or ensure project dependencies are properly installed"},config:{title:"Configure Authentication",description:"Choose how to configure Claude authentication credentials",skipToken:"Skip Configuration (Recommended)",skipTokenDesc:"Skip authentication setup, works the same as Claude Pro subscription",claudePro:"Claude Pro Subscriber",claudeProDesc:"I'm a Claude Pro subscriber, will login via CLI myself",enterToken:"Enter Token Manually",enterTokenDesc:"Manually enter ANTHROPIC_AUTH_TOKEN environment variable",tokenPlaceholder:"Enter your ANTHROPIC_AUTH_TOKEN"},creating:{title:"Creating System Version",description:"Configuring Claude version for you, please wait..."},success:{title:"Setup Successful!",description:"Claude version has been created successfully, returning to dashboard..."},actions:{skip:"Skip",next:"Next",back:"Back",create:"Create Version"}},OD={unknownCursorTool:"Unknown Cursor tool: {{toolName}}"},LD={exitCode:"Exit code: {{code}}",executionTime:"Time: {{time}}",background:"Background"},FD={totalLines:"Total lines: {{lines}}",fileSize:"File size: {{size}}",readRange:"Read range: L{{start}}-L{{end}}",exceededLimit:"Exceeded limit",isEmpty:"File is empty"},zD={filePath:"File path",linesAdded:"lines added",linesRemoved:"lines removed",viewDiff:"View diff"},UD={path:"File path",deleteSuccess:"File deleted successfully",deleteFailed:"Delete failed"},ID={path:"Directory path",ignore:"Ignore patterns",extensionStats:"Extension statistics"},HD={pattern:"Pattern",directory:"Target directory",totalFiles:"{{count}} files total",clientTruncated:"Results truncated",ripgrepTruncated:"ripgrep truncated",matchedFiles:"Matched files",noFilesFound:"No matching files found"},qD={pattern:"Search pattern",path:"Search path",caseInsensitive:"Case insensitive",multiline:"Multiline mode",noMatchesFound:"No matches found"},BD={completed:"Completed",inProgress:"In progress",pending:"Pending",merge:"Merge mode",replace:"Replace mode",noTodos:"No todos yet"},$D={query:"Search query",targetDirectories:"Target directories",explanation:"Explanation",results:"{{count}} results",rawResults:"Raw results",noResults:"No results found"},VD={url:"URL",fetchedContent:"Fetched content",fetchFailed:"Fetch failed"},GD={noResources:"No MCP resources available"},YD={server:"Server",tool:"Tool",parameters:"Parameters",result:"Result",error:"Error"},KD={title:"A2A Protocol Management",project:"Project",selectedProject:"Project: {{project}}",noProjectSelected:"No project selected",tabs:{overview:"Overview",apiKeys:"API Keys",external:"External Agents",tasks:"Tasks",im:"IM Integration"},actions:{copy:"Copy",createKey:"Create Key",cancel:"Cancel",delete:"Delete",edit:"Edit",enable:"Enable",disable:"Disable",hide:"Hide",show:"Show",addAgent:"Add Agent",importProjects:"Import Projects",copyKey:"Copy Key",close:"Close"},overview:{agentIdentity:"Agent Identity",a2aAgentId:"A2A Agent ID",projectId:"Project ID",agentType:"Agent Type",agentCard:"Agent Card",apiKeys:"API Keys",externalAgents:"External Agents",activeTasks:"Active Tasks",notEnabled:"A2A functionality is not enabled for this project",enableAfterCreatingKey:"Automatically enabled after creating API key"},agentCard:{context:"Agent Context",skills:"Available Skills",security:"Security Authentication"},apiKeys:{title:"API Key Management",noKeys:"No API keys yet",createFirstKey:"Create First API Key",description:"Description",key:"Key",createdAt:"Created",lastUsed:"Last Used",usageCount:"Usage Count",actions:"Actions",showKey:"Show key",hideKey:"Hide key",keyCopied:"Key copied"},external:{title:"External Agent Configuration",noAgents:"No external agents configured yet",addFirstAgent:"Add First External Agent",enabled:"Enabled",disabled:"Disabled",form:{name:"Agent Name",namePlaceholder:"e.g., Data Analysis Agent",url:"URL",urlPlaceholder:"https://agent.example.com/a2a/uuid",apiKey:"API Key",apiKeyPlaceholder:"agt_proj_external_key_here",description:"Description",descriptionPlaceholder:"Optional description of agent functionality",enableThisAgent:"Enable this agent",urlHelp:"Must be a complete HTTP or HTTPS URL"},modal:{addTitle:"Add External Agent",editTitle:"Edit External Agent",saveChanges:"Save Changes",addAgent:"Add Agent"},importModal:{title:"Import Projects",description:"Select projects to import. The system will automatically generate API keys for these projects and add them to the current project's external agent list.",noProjects:"No projects available to import",selected:"Selected",import:"Import",importing:"Importing..."}},tasks:{title:"Task Monitoring",needA2AEnabled:"A2A functionality needs to be enabled first",noTasks:"No task records yet",createdAt:"Created",startedAt:"Started",completedAt:"Completed"},im:{title:"IM Integration",description:"Generate one-click integration commands for WeChat Work bots",refresh:"Refresh",networkStatus:"Network Status",tunnelStatus:"Tunnel Status",connected:"Connected",notConnected:"Not Connected",localNetwork:"Local Network",available:"Available",unavailable:"Unavailable",noAccessWarning:"Unable to determine external access address. To access via WeChat Work, please configure tunnel service first or ensure local network is externally accessible.",commandGenerator:"Command Generator",generateCommand:"Generate Integration Command",generating:"Generating...",generateHint:"Click the button to automatically create a new API key and generate WeChat Work bot integration command",usage:"Usage",usageDetail:"Send the generated command to WeChat Work bot chat to complete integration"},modals:{createKey:{title:"Create API Key",description:"Description",descriptionPlaceholder:"e.g., Production environment key",descriptionHelp:"Used to identify the purpose of this API key, max 100 characters",important:"Important",securityNote:"API keys are only shown in full once after creation. Please save them securely.",creating:"Creating..."}},validation:{descriptionRequired:"Description cannot be empty",descriptionTooLong:"Description cannot exceed 100 characters",agentNameRequired:"Agent name cannot be empty",agentNameTooLong:"Agent name cannot exceed 50 characters",urlRequired:"URL cannot be empty",invalidUrl:"Invalid URL format",apiKeyRequired:"API key cannot be empty",required:"This field is required"},confirmations:{deleteApiKey:"Are you sure you want to delete this API key? This action cannot be undone.",deleteExternalAgent:"Are you sure you want to delete this external agent? This action cannot be undone."}},XD={loading:"Loading...",notConfigured:"Voice service not configured, click to configure",processing:"Transcribing...",recording:"Recording, click to stop",recordingHint:"Click to stop, right-click to cancel",start:"Click to start voice input",error:"Voice input error",permissionDenied:"Please allow microphone access",noDevice:"No microphone device found",tooShort:"Recording too short"},QD={common:O2,projectForm:L2,agentForm:F2,commandForm:z2,fileExplorer:U2,sessionDropdown:I2,toolSelector:H2,languageSwitcher:q2,agentChat:B2,systemCommands:$2,projectMemory:V2,projectCommands:G2,projectSubAgents:Y2,sessionsDashboard:K2,fileBrowser:X2,csvPreview:Q2,jsonlPreview:Z2,unifiedToolSelector:W2,subagentForm:J2,commandSelector:eD,apiSettingsModal:tD,projectCommandsModal:nD,projectSubAgentsModal:aD,projectSelector:iD,mcpTool:sD,bashTool:rD,readTool:oD,writeTool:lD,editTool:cD,globTool:uD,grepTool:dD,webFetchTool:fD,webSearchTool:hD,taskTool:pD,subAgentMessageFlow:mD,skillTool:gD,todoWriteTool:vD,exitPlanModeTool:yD,notebookEditTool:bD,toolRenderer:_D,baseToolComponent:SD,bashOutputTool:xD,killBashTool:wD,lsTool:CD,timeMachineTool:kD,askUserQuestionTool:AD,multiEditTool:ED,notebookReadTool:TD,agentChatPanel:ND,recentActivity:MD,backendServiceSwitcher:jD,serviceStatusIndicator:RD,serviceManagementModal:DD,claudeVersionSetup:PD,cursorToolRenderer:OD,cursorShellTool:LD,cursorReadTool:FD,cursorEditTool:zD,cursorDeleteTool:UD,cursorLsTool:ID,cursorGlobTool:HD,cursorGrepTool:qD,cursorTodoTool:BD,cursorSemSearchTool:$D,cursorWebFetchTool:VD,cursorMcpResourcesTool:GD,cursorMcpTool:YD,a2aManagement:KD,voiceInput:XD},ZD={connectionFailed:"Network connection error, unable to connect to AI service",connectionFailedRetry:"Network connection error, unable to connect to AI service. Please check your network connection and try again",timeout:"Request timeout, please try again",serverError:"Server error, please try again later",unknownError:"Unknown error, please try again"},WD={createFailed:"Failed to create project",deleteFailed:"Failed to delete project",updateFailed:"Failed to update project",notFound:"Project not found",loadFailed:"Failed to load project",nameRequired:"Project name is required",nameInvalid:"Project name contains invalid characters"},JD={createFailed:"Failed to create assistant",deleteFailed:"Failed to delete assistant",updateFailed:"Failed to update assistant",notFound:"The specified assistant could not be found. It may have been deleted or disabled",loadFailed:"Failed to load assistant",setFailed:"Failed to set agent",builtinCannotDelete:"Built-in assistants cannot be deleted, but can be disabled",nameRequired:"Assistant name is required"},eP={uploadFailed:"Failed to upload file",deleteFailed:"Failed to delete file",downloadFailed:"Failed to download file",readFailed:"Failed to read file",writeFailed:"Failed to write file",notFound:"File not found",tooLarge:"File is too large"},tP={createFailed:"Failed to create session",deleteFailed:"Failed to delete session",loadFailed:"Failed to load session",notFound:"Session not found"},nP={executeFailed:"Command execution failed",notFound:"Command not found",loadFailed:"Failed to load custom commands",invalidFormat:"Invalid command format"},aP={saveFailed:"Save failed, please try again",loadFailed:"Load failed",operationFailed:"Operation failed, please try again",invalidInput:"Invalid input",permissionDenied:"Permission denied"},iP={network:ZD,project:WD,agent:JD,file:eP,session:tP,command:nP,common:aP},sP={pptEditor:"PPT Editor Assistant",codeAssistant:"AI Code Assistant",documentWriter:"Document Writer Assistant",generalChat:"General Chat Assistant",custom:"Custom Assistant"},rP={loading:"Loading AI assistants...",loadingProjects:"Loading projects...",loadingMcp:"Loading MCP configuration...",loadingSubagents:"Loading Subagents...",loadingCommands:"Loading commands...",loadingSession:"Loading session info...",creating:"Creating project...",notFound:"Unable to find the specified assistant",noAgents:"No AI assistants available"},oP={bash:"Command Line Tool",read:"File Read",write:"File Write",edit:"File Edit",search:"Code Search",webSearch:"Web Search",webFetch:"Web Fetch"},lP={active:"Active",inactive:"Inactive",running:"Running",stopped:"Stopped",error:"Error"},cP={createAgent:"Create Assistant",editAgent:"Edit Assistant",deleteAgent:"Delete Assistant",enableAgent:"Enable Assistant",disableAgent:"Disable Assistant",testAgent:"Test Assistant",configureAgent:"Configure Assistant"},uP={taskCompleted:"✅ Task completed",generationStopped:"⏹️ Generation stopped",sessionRestored:"🔄 Session restored",executionCompleted:"(Execution completed)"},dP={title:"Document Outline",description:"Document structure and chapter management",createSection:"New Section",featureTitle:"Document Outline Feature",comingSoon:"Coming soon...",chatManagement:"You can manage document content through chat"},fP={title:"Code Explorer",description:"Code files and structure management",projectWithPath:"Project: {{path}}",openFile:"Open File",featureTitle:"Code Explorer Feature",comingSoon:"Coming soon...",chatManagement:"You can manage code files through chat"},hP={title:"Slide Preview",refreshTitle:"Refresh Slides",refresh:"Refresh",slideCount:"{{count}} slides total",noSlides:"No slides yet",createWithAI:"Chat with AI to create slides",loading:"Loading...",loadError:"Failed to load, please refresh the page and try again",tabs:{preview:"Preview",code:"Code"},loadFailed:"Failed to load",fileNotFound:"File not found",loadingCode:"Loading code..."},pP={types:sP,messages:rP,tools:oP,status:lP,actions:cP,notifications:uP,documentOutline:dP,codeExplorer:fP,slidePreview:hP},mP={welcome:{title:"Welcome to AgentStudio",subtitle:"Before we start, we need to configure the backend service connection",features:{title:"Backend service is responsible for:",ai:{title:"AI Model Integration",description:"Connect to AI models like Claude for intelligent conversations"},storage:{title:"File Storage & Management",description:"Save your work content and project files"},history:{title:"Session History",description:"Save and manage your conversation history"}}},detecting:{title:"Detecting Backend Service",description:"Detecting local backend service..."},found:{title:"Local Backend Service Found",description:"We found an available backend service on your system",serviceAddress:"Service Address",status:"Connection OK",useThisService:"Use This Service",addOtherService:"Add Other Service"},notFound:{title:"No Local Backend Service Found",description:"Please choose one of the following options to configure backend service",tabs:{install:"Local Install",remote:"Remote Service"},install:{title:"Install Local Backend Service",description:"Follow these steps to install backend service locally:",copyCommands:"Copy Install Commands",viewDocs:"View Full Documentation",retry:"Retry Detection"},remote:{title:"Use Remote Backend Service",description:"If you have a remote service, you can configure it here",serviceName:"Service Name",serviceNamePlaceholder:"e.g., Company Server",serviceUrl:"Service URL",testConnection:"Test Connection",testing:"Testing...",success:"Connection Successful",failed:"Connection Failed",addService:"Add Service",commonServices:"Common Services:",official:"Official Service",local:"Local Service"}},complete:{title:"Configuration Complete!",description:"Successfully connected to backend service",serviceName:"Service Name",serviceUrl:"Service URL",nextSteps:{title:"Next Steps",description:"Please log in to start using AgentStudio"},goToLogin:"Go to Login",manageServices:"Manage Services"},skipConfirm:{title:"Are you sure you want to skip?",warning:"Without backend service configuration, you may experience:",consequences:{noAi:"Unable to connect to AI services",noStorage:"Unable to save work content",noFeatures:"System features unavailable"},reconfigure:"You can reconfigure at any time from:",locations:{loginPage:"Service management on login page",settingsPage:"API configuration in settings"},back:"Back to Configuration",skip:"Skip Anyway"},addService:{title:"Add Backend Service",description:"Enter the backend service address and name to connect",installHelp:"Install Help",installGuide:{title:"Local Installation Guide",description:"Follow these steps to install backend service locally:",copyCommands:"Copy Commands",viewDocs:"View Docs"},serviceName:"Service Name",serviceNamePlaceholder:"e.g., Company Server",serviceUrl:"Service URL",testConnection:"Test Connection",testing:"Testing...",success:"Connection Successful",failed:"Connection Failed",commonServices:"Common Services:",official:"Official Service",local:"Local Service",retry:"Retry Detection",addButton:"Add Service"},actions:{skip:"Skip",getStarted:"Get Started",next:"Next",back:"Back"}},gP={backend:mP},vP="Skills Management",yP="Create and manage Claude assistant skills to extend AI capabilities",bP="Create Skill",_P="Search skills by name or description...",SP={showDisabled:"Show disabled skills"},xP="No skills created yet",wP="No skills found matching your search",CP="Create your first skill",kP={user:"User Skill"},AP={local:"Local",plugin:"Plugin"},EP={enabled:"Enabled",disabled:"Disabled"},TP={skill:"Skill",tools:"Tools",status:"Status",updated:"Updated",actions:"Actions"},NP="Try adjusting your search criteria",MP={updated:"Updated",usage:"Used {{count}} times",actions:{edit:"Edit",view:"View",browseFiles:"Browse Files",delete:"Delete"}},jP={description:"Description",allowedTools:"Allowed Tools",additionalFiles:"Additional Files",browseFiles:"Browse Files",files:"Files",back:"Back",close:"Close"},RP='Are you sure you want to delete the skill "{{name}}"? This action cannot be undone.',DP={loadFailed:"Failed to load skills",createFailed:"Failed to create skill",updateFailed:"Failed to update skill",deleteFailed:"Failed to delete skill"},PP={title:"Create New Skill",subtitle:"Configure basic information and functionality for the new skill",tabs:{basic:"Basic Info",manifest:"Manifest",files:"Files"},basic:{name:"Skill Name",namePlaceholder:"Enter skill name",nameHint:"Display name for the skill, supports Chinese, English and numbers",description:"Skill Description",descriptionPlaceholder:"Detailed description of this skill's functionality and purpose",descriptionHint:"Clear description helps understand the skill's purpose",allowedTools:"Allowed Tools",allowedToolsHint:"Select tools that this skill can use",noToolsSelected:"No tools selected",selectTools:"Select Tools",unsavedChanges:"You have unsaved changes"},content:{skillManifest:"Skill Manifest",additionalFiles:"Additional Files",addFile:"Add File",noFiles:"No additional files",noFilesHint:"Click the button above to add skill-related files",fileName:"File Name",filePath:"File Path",fileContent:"File Content",fileType:{markdown:"Markdown",text:"Text",script:"Script",template:"Template",other:"Other"}}},OP={title:"Edit Skill",scope:{user:"User-level Skill"},basic:{name:"Skill Name",description:"Skill Description",allowedTools:"Allowed Tools",allowedToolsHint:"Select tools that this skill can use",skillContent:"Skill Content",unsavedChanges:"You have unsaved changes, press Cmd+S to save"},files:{title:"Additional Files",addFile:"Add File",noFiles:"No additional files",addFilesHint:"Add related files to support skill functionality"},errors:{validationErrors:"Validation Errors",saveFailed:"Failed to save skill"}},LP={title:vP,subtitle:yP,createButton:bP,searchPlaceholder:_P,filter:SP,noSkills:xP,noSkillsSearch:wP,createFirst:CP,scope:kP,source:AP,status:EP,table:TP,adjustSearch:NP,preview:MP,detail:jP,deleteConfirm:RP,errors:DP,create:PP,editor:OP},FP={"zh-CN":{common:eM,pages:yM,home:zM,components:tR,errors:cR,agents:bR,onboarding:SR,skills:HR},"en-US":{common:ZR,pages:p2,home:P2,components:QD,errors:iP,agents:pP,onboarding:gP,skills:LP}};gw.use(O_).use(vw).init({resources:FP,fallbackLng:"en-US",defaultNS:"common",ns:["common","pages","home","components","errors","agents","onboarding","skills"],interpolation:{escapeValue:!1},detection:{order:["localStorage","navigator"],caches:["localStorage"]}});sC.createRoot(document.getElementById("root")).render(p.jsx(S.StrictMode,{children:p.jsx(NN,{})}));export{kb as L,VP as O,ds as a,lh as b,ZP as c,YP as d,Gk as e,Uk as f,KP as g,QP as h,j_ as i,Rs as j,i0 as k,Xk as l,lo as m,Nn as n,GP as o,$P as p,XP as r,qa as s,EE as t,ro as u};
297
+ The conversation has become too long. Please start a new session or use the /compact command to reduce context.`,checkBudget:"Check your budget settings and cost limits",increaseMaxTurns:"Increase the maximum turns in agent settings"}},DD={title:"Context Compacted",expand:"Expand to view",collapse:"Collapse",autoCompact:"The context window has been automatically compacted. Previous conversation content has been summarized to free up space. The conversation will continue.",autoCompactWithTokens:"The context window has been automatically compacted ({{tokens}} tokens before compaction). Previous conversation content has been summarized to free up space. The conversation will continue."},PD={title:"Recent Activity",empty:"No recent activity",time:{justNow:"Just now",minutesAgo:"{{count}} minutes ago",minutesAgo_one:"{{count}} minute ago",hoursAgo:"{{count}} hours ago",hoursAgo_one:"{{count}} hour ago",daysAgo:"{{count}} days ago",daysAgo_one:"{{count}} day ago"}},OD={title:"Backend Services",noService:"No Service",namePlaceholder:"Service Name",urlPlaceholder:"Service URL",add:"Add",save:"Save",cancel:"Cancel",edit:"Edit",delete:"Delete",addNew:"Add New Service",testingConnection:"Testing connection...",connectionWarning:{title:"Unable to Connect to Service",message:'Cannot connect to service "{{name}}" ({{url}}).',consequence:"If you continue switching, you won't be able to login or use this service, but you can reconfigure the service address on the login page.",cancel:"Cancel",continue:"Switch Anyway"}},LD={checking:"Checking...",connected:"Connected",disconnected:"Disconnected",manageServices:"Manage Services",quickSwitch:"Quick Switch Services",version:"Version",backendName:"Backend Name",status:"Status",clickToSwitch:"Click service name to quickly switch",clickToManage:"Click the gear icon to manage services"},FD={title:"Service Management",noService:"No Service",servicesList:"Services List",addService:"Add Service",current:"Current",testConnection:"Test Connection",switchToService:"Switch to This Service",editService:"Edit Service",removeService:"Remove Service",refreshStatus:"Refresh Status",servicesOnline:"services online",close:"Close",namePlaceholder:"Service Name",urlPlaceholder:"Service URL (e.g., http://localhost:4936)",version:"Version",add:"Add",save:"Save",cancel:"Cancel",addNewService:"Add New Service",switchSuccess:"Switched to service: {{name}}",addSuccess:"Service added successfully",updateSuccess:"Service updated successfully",removeSuccess:"Service removed successfully",logoutService:"Logout from this service",logoutSuccess:"Logged out successfully",managePassword:"Manage Password",password:{title:"Access Password Management",description:"After setting a password, you will need to enter it when logging in. Leave empty and save to clear the password for passwordless login.",checking:"Checking...",currentlySet:"Password is currently set",currentlyNotSet:"No password set, passwordless login enabled",newPassword:"New Password",newPasswordPlaceholder:"Enter new password (leave empty to clear)",confirmPassword:"Confirm Password",confirmPasswordPlaceholder:"Re-enter password",save:"Save Password",mismatch:"Passwords do not match",tooShort:"Password must be at least 4 characters",setSuccess:"Password set successfully, will take effect on next login",clearSuccess:"Password cleared, passwordless login is now enabled",saveFailed:"Failed to save password"},connectionTest:{success:"Connection test successful",failed:"Connection test failed",error:"Connection test error"},switchWarning:{title:"Service Connection Warning",message:'Service "{{name}}" ({{url}}) cannot be connected.',consequence:"If you continue switching, you may not be able to use certain features properly.",cancel:"Cancel",continue:"Switch Anyway"}},zD={detecting:{title:"Detecting Claude CLI",description:"Checking if Claude is installed on your system..."},selection:{title:"Select Claude Version",description:"We detected the following Claude CLI installations, please select which one to use",userInstalled:"User Global Installation",systemInstalled:"System npm Package",path:"Path",version:"Version",packageManager:"Package Manager",useUserInstalled:"Use User-Installed Claude",useUserInstalledDesc:"Use the Claude CLI installed globally via package manager",useSystemPackage:"Use System npm Package",useSystemPackageDesc:"Use the Claude CLI bundled in project's node_modules",noClaudeFound:"No Claude CLI Found",noClaudeFoundDesc:"Please install Claude CLI or ensure project dependencies are properly installed"},config:{title:"Configure Authentication",description:"Choose how to configure Claude authentication credentials",skipToken:"Skip Configuration (Recommended)",skipTokenDesc:"Skip authentication setup, works the same as Claude Pro subscription",claudePro:"Claude Pro Subscriber",claudeProDesc:"I'm a Claude Pro subscriber, will login via CLI myself",enterToken:"Enter Token Manually",enterTokenDesc:"Manually enter ANTHROPIC_AUTH_TOKEN environment variable",tokenPlaceholder:"Enter your ANTHROPIC_AUTH_TOKEN"},creating:{title:"Creating System Version",description:"Configuring Claude version for you, please wait..."},success:{title:"Setup Successful!",description:"Claude version has been created successfully, returning to dashboard..."},actions:{skip:"Skip",next:"Next",back:"Back",create:"Create Version"}},UD={unknownCursorTool:"Unknown Cursor tool: {{toolName}}"},ID={exitCode:"Exit code: {{code}}",executionTime:"Time: {{time}}",background:"Background"},HD={totalLines:"Total lines: {{lines}}",fileSize:"File size: {{size}}",readRange:"Read range: L{{start}}-L{{end}}",exceededLimit:"Exceeded limit",isEmpty:"File is empty"},qD={filePath:"File path",linesAdded:"lines added",linesRemoved:"lines removed",viewDiff:"View diff"},BD={path:"File path",deleteSuccess:"File deleted successfully",deleteFailed:"Delete failed"},$D={path:"Directory path",ignore:"Ignore patterns",extensionStats:"Extension statistics"},VD={pattern:"Pattern",directory:"Target directory",totalFiles:"{{count}} files total",clientTruncated:"Results truncated",ripgrepTruncated:"ripgrep truncated",matchedFiles:"Matched files",noFilesFound:"No matching files found"},GD={pattern:"Search pattern",path:"Search path",caseInsensitive:"Case insensitive",multiline:"Multiline mode",noMatchesFound:"No matches found"},YD={completed:"Completed",inProgress:"In progress",pending:"Pending",merge:"Merge mode",replace:"Replace mode",noTodos:"No todos yet"},KD={query:"Search query",targetDirectories:"Target directories",explanation:"Explanation",results:"{{count}} results",rawResults:"Raw results",noResults:"No results found"},XD={url:"URL",fetchedContent:"Fetched content",fetchFailed:"Fetch failed"},QD={noResources:"No MCP resources available"},ZD={server:"Server",tool:"Tool",parameters:"Parameters",result:"Result",error:"Error"},WD={title:"A2A Protocol Management",project:"Project",selectedProject:"Project: {{project}}",noProjectSelected:"No project selected",tabs:{overview:"Overview",apiKeys:"API Keys",external:"External Agents",tasks:"Tasks",im:"IM Integration"},actions:{copy:"Copy",createKey:"Create Key",cancel:"Cancel",delete:"Delete",edit:"Edit",enable:"Enable",disable:"Disable",hide:"Hide",show:"Show",addAgent:"Add Agent",importProjects:"Import Projects",copyKey:"Copy Key",close:"Close"},overview:{agentIdentity:"Agent Identity",a2aAgentId:"A2A Agent ID",projectId:"Project ID",agentType:"Agent Type",agentCard:"Agent Card",apiKeys:"API Keys",externalAgents:"External Agents",activeTasks:"Active Tasks",notEnabled:"A2A functionality is not enabled for this project",enableAfterCreatingKey:"Automatically enabled after creating API key"},agentCard:{context:"Agent Context",skills:"Available Skills",security:"Security Authentication"},apiKeys:{title:"API Key Management",noKeys:"No API keys yet",createFirstKey:"Create First API Key",description:"Description",key:"Key",createdAt:"Created",lastUsed:"Last Used",usageCount:"Usage Count",actions:"Actions",showKey:"Show key",hideKey:"Hide key",keyCopied:"Key copied"},external:{title:"External Agent Configuration",noAgents:"No external agents configured yet",addFirstAgent:"Add First External Agent",enabled:"Enabled",disabled:"Disabled",form:{name:"Agent Name",namePlaceholder:"e.g., Data Analysis Agent",url:"URL",urlPlaceholder:"https://agent.example.com/a2a/uuid",apiKey:"API Key",apiKeyPlaceholder:"agt_proj_external_key_here",description:"Description",descriptionPlaceholder:"Optional description of agent functionality",enableThisAgent:"Enable this agent",urlHelp:"Must be a complete HTTP or HTTPS URL"},modal:{addTitle:"Add External Agent",editTitle:"Edit External Agent",saveChanges:"Save Changes",addAgent:"Add Agent"},importModal:{title:"Import Projects",description:"Select projects to import. The system will automatically generate API keys for these projects and add them to the current project's external agent list.",noProjects:"No projects available to import",selected:"Selected",import:"Import",importing:"Importing..."}},tasks:{title:"Task Monitoring",needA2AEnabled:"A2A functionality needs to be enabled first",noTasks:"No task records yet",createdAt:"Created",startedAt:"Started",completedAt:"Completed"},im:{title:"IM Integration",description:"Generate one-click integration commands for WeChat Work bots",refresh:"Refresh",networkStatus:"Network Status",tunnelStatus:"Tunnel Status",connected:"Connected",notConnected:"Not Connected",localNetwork:"Local Network",available:"Available",unavailable:"Unavailable",noAccessWarning:"Unable to determine external access address. To access via WeChat Work, please configure tunnel service first or ensure local network is externally accessible.",commandGenerator:"Command Generator",generateCommand:"Generate Integration Command",generating:"Generating...",generateHint:"Click the button to automatically create a new API key and generate WeChat Work bot integration command",usage:"Usage",usageDetail:"Send the generated command to WeChat Work bot chat to complete integration"},modals:{createKey:{title:"Create API Key",description:"Description",descriptionPlaceholder:"e.g., Production environment key",descriptionHelp:"Used to identify the purpose of this API key, max 100 characters",important:"Important",securityNote:"API keys are only shown in full once after creation. Please save them securely.",creating:"Creating..."}},validation:{descriptionRequired:"Description cannot be empty",descriptionTooLong:"Description cannot exceed 100 characters",agentNameRequired:"Agent name cannot be empty",agentNameTooLong:"Agent name cannot exceed 50 characters",urlRequired:"URL cannot be empty",invalidUrl:"Invalid URL format",apiKeyRequired:"API key cannot be empty",required:"This field is required"},confirmations:{deleteApiKey:"Are you sure you want to delete this API key? This action cannot be undone.",deleteExternalAgent:"Are you sure you want to delete this external agent? This action cannot be undone."}},JD={loading:"Loading...",notConfigured:"Voice service not configured, click to configure",processing:"Transcribing...",recording:"Recording, click to stop",recordingHint:"Click to stop, right-click to cancel",start:"Click to start voice input",error:"Voice input error",permissionDenied:"Please allow microphone access",noDevice:"No microphone device found",tooShort:"Recording too short"},eP={common:F2,projectForm:z2,agentForm:U2,commandForm:I2,fileExplorer:H2,sessionDropdown:q2,toolSelector:B2,languageSwitcher:$2,agentChat:V2,systemCommands:G2,projectMemory:Y2,projectCommands:K2,projectSubAgents:X2,sessionsDashboard:Q2,fileBrowser:Z2,csvPreview:W2,jsonlPreview:J2,unifiedToolSelector:eD,subagentForm:tD,commandSelector:nD,apiSettingsModal:aD,projectCommandsModal:iD,projectSubAgentsModal:sD,projectSelector:rD,mcpTool:oD,bashTool:lD,readTool:cD,writeTool:uD,editTool:dD,globTool:fD,grepTool:hD,webFetchTool:pD,webSearchTool:mD,taskTool:gD,subAgentMessageFlow:vD,skillTool:yD,todoWriteTool:bD,exitPlanModeTool:_D,notebookEditTool:SD,toolRenderer:xD,baseToolComponent:wD,bashOutputTool:CD,agentOutputTool:kD,killBashTool:AD,lsTool:TD,timeMachineTool:ED,askUserQuestionTool:ND,multiEditTool:MD,notebookReadTool:jD,agentChatPanel:RD,compactSummary:DD,recentActivity:PD,backendServiceSwitcher:OD,serviceStatusIndicator:LD,serviceManagementModal:FD,claudeVersionSetup:zD,cursorToolRenderer:UD,cursorShellTool:ID,cursorReadTool:HD,cursorEditTool:qD,cursorDeleteTool:BD,cursorLsTool:$D,cursorGlobTool:VD,cursorGrepTool:GD,cursorTodoTool:YD,cursorSemSearchTool:KD,cursorWebFetchTool:XD,cursorMcpResourcesTool:QD,cursorMcpTool:ZD,a2aManagement:WD,voiceInput:JD},tP={connectionFailed:"Network connection error, unable to connect to AI service",connectionFailedRetry:"Network connection error, unable to connect to AI service. Please check your network connection and try again",timeout:"Request timeout, please try again",serverError:"Server error, please try again later",unknownError:"Unknown error, please try again"},nP={createFailed:"Failed to create project",deleteFailed:"Failed to delete project",updateFailed:"Failed to update project",notFound:"Project not found",loadFailed:"Failed to load project",nameRequired:"Project name is required",nameInvalid:"Project name contains invalid characters"},aP={createFailed:"Failed to create assistant",deleteFailed:"Failed to delete assistant",updateFailed:"Failed to update assistant",notFound:"The specified assistant could not be found. It may have been deleted or disabled",loadFailed:"Failed to load assistant",setFailed:"Failed to set agent",builtinCannotDelete:"Built-in assistants cannot be deleted, but can be disabled",nameRequired:"Assistant name is required"},iP={uploadFailed:"Failed to upload file",deleteFailed:"Failed to delete file",downloadFailed:"Failed to download file",readFailed:"Failed to read file",writeFailed:"Failed to write file",notFound:"File not found",tooLarge:"File is too large"},sP={createFailed:"Failed to create session",deleteFailed:"Failed to delete session",loadFailed:"Failed to load session",notFound:"Session not found"},rP={executeFailed:"Command execution failed",notFound:"Command not found",loadFailed:"Failed to load custom commands",invalidFormat:"Invalid command format"},oP={saveFailed:"Save failed, please try again",loadFailed:"Load failed",operationFailed:"Operation failed, please try again",invalidInput:"Invalid input",permissionDenied:"Permission denied"},lP={network:tP,project:nP,agent:aP,file:iP,session:sP,command:rP,common:oP},cP={pptEditor:"PPT Editor Assistant",codeAssistant:"AI Code Assistant",documentWriter:"Document Writer Assistant",generalChat:"General Chat Assistant",custom:"Custom Assistant"},uP={loading:"Loading AI assistants...",loadingProjects:"Loading projects...",loadingMcp:"Loading MCP configuration...",loadingSubagents:"Loading Subagents...",loadingCommands:"Loading commands...",loadingSession:"Loading session info...",creating:"Creating project...",notFound:"Unable to find the specified assistant",noAgents:"No AI assistants available"},dP={bash:"Command Line Tool",read:"File Read",write:"File Write",edit:"File Edit",search:"Code Search",webSearch:"Web Search",webFetch:"Web Fetch"},fP={active:"Active",inactive:"Inactive",running:"Running",stopped:"Stopped",error:"Error"},hP={createAgent:"Create Assistant",editAgent:"Edit Assistant",deleteAgent:"Delete Assistant",enableAgent:"Enable Assistant",disableAgent:"Disable Assistant",testAgent:"Test Assistant",configureAgent:"Configure Assistant"},pP={taskCompleted:"✅ Task completed",generationStopped:"⏹️ Generation stopped",sessionRestored:"🔄 Session restored",executionCompleted:"(Execution completed)"},mP={title:"Document Outline",description:"Document structure and chapter management",createSection:"New Section",featureTitle:"Document Outline Feature",comingSoon:"Coming soon...",chatManagement:"You can manage document content through chat"},gP={title:"Code Explorer",description:"Code files and structure management",projectWithPath:"Project: {{path}}",openFile:"Open File",featureTitle:"Code Explorer Feature",comingSoon:"Coming soon...",chatManagement:"You can manage code files through chat"},vP={title:"Slide Preview",refreshTitle:"Refresh Slides",refresh:"Refresh",slideCount:"{{count}} slides total",noSlides:"No slides yet",createWithAI:"Chat with AI to create slides",loading:"Loading...",loadError:"Failed to load, please refresh the page and try again",tabs:{preview:"Preview",code:"Code"},loadFailed:"Failed to load",fileNotFound:"File not found",loadingCode:"Loading code..."},yP={types:cP,messages:uP,tools:dP,status:fP,actions:hP,notifications:pP,documentOutline:mP,codeExplorer:gP,slidePreview:vP},bP={welcome:{title:"Welcome to AgentStudio",subtitle:"Before we start, we need to configure the backend service connection",features:{title:"Backend service is responsible for:",ai:{title:"AI Model Integration",description:"Connect to AI models like Claude for intelligent conversations"},storage:{title:"File Storage & Management",description:"Save your work content and project files"},history:{title:"Session History",description:"Save and manage your conversation history"}}},detecting:{title:"Detecting Backend Service",description:"Detecting local backend service..."},found:{title:"Local Backend Service Found",description:"We found an available backend service on your system",serviceAddress:"Service Address",status:"Connection OK",useThisService:"Use This Service",addOtherService:"Add Other Service"},notFound:{title:"No Local Backend Service Found",description:"Please choose one of the following options to configure backend service",tabs:{install:"Local Install",remote:"Remote Service"},install:{title:"Install Local Backend Service",description:"Follow these steps to install backend service locally:",copyCommands:"Copy Install Commands",viewDocs:"View Full Documentation",retry:"Retry Detection"},remote:{title:"Use Remote Backend Service",description:"If you have a remote service, you can configure it here",serviceName:"Service Name",serviceNamePlaceholder:"e.g., Company Server",serviceUrl:"Service URL",testConnection:"Test Connection",testing:"Testing...",success:"Connection Successful",failed:"Connection Failed",addService:"Add Service",commonServices:"Common Services:",official:"Official Service",local:"Local Service"}},complete:{title:"Configuration Complete!",description:"Successfully connected to backend service",serviceName:"Service Name",serviceUrl:"Service URL",nextSteps:{title:"Next Steps",description:"Please log in to start using AgentStudio"},goToLogin:"Go to Login",manageServices:"Manage Services"},skipConfirm:{title:"Are you sure you want to skip?",warning:"Without backend service configuration, you may experience:",consequences:{noAi:"Unable to connect to AI services",noStorage:"Unable to save work content",noFeatures:"System features unavailable"},reconfigure:"You can reconfigure at any time from:",locations:{loginPage:"Service management on login page",settingsPage:"API configuration in settings"},back:"Back to Configuration",skip:"Skip Anyway"},addService:{title:"Add Backend Service",description:"Enter the backend service address and name to connect",installHelp:"Install Help",installGuide:{title:"Local Installation Guide",description:"Follow these steps to install backend service locally:",copyCommands:"Copy Commands",viewDocs:"View Docs"},serviceName:"Service Name",serviceNamePlaceholder:"e.g., Company Server",serviceUrl:"Service URL",testConnection:"Test Connection",testing:"Testing...",success:"Connection Successful",failed:"Connection Failed",commonServices:"Common Services:",official:"Official Service",local:"Local Service",retry:"Retry Detection",addButton:"Add Service"},actions:{skip:"Skip",getStarted:"Get Started",next:"Next",back:"Back"}},_P={backend:bP},SP="Skills Management",xP="Create and manage Claude assistant skills to extend AI capabilities",wP="Create Skill",CP="Search skills by name or description...",kP={showDisabled:"Show disabled skills"},AP="No skills created yet",TP="No skills found matching your search",EP="Create your first skill",NP={user:"User Skill"},MP={local:"Local",plugin:"Plugin"},jP={enabled:"Enabled",disabled:"Disabled"},RP={skill:"Skill",tools:"Tools",status:"Status",updated:"Updated",actions:"Actions"},DP="Try adjusting your search criteria",PP={updated:"Updated",usage:"Used {{count}} times",actions:{edit:"Edit",view:"View",browseFiles:"Browse Files",delete:"Delete"}},OP={description:"Description",allowedTools:"Allowed Tools",additionalFiles:"Additional Files",browseFiles:"Browse Files",files:"Files",back:"Back",close:"Close"},LP='Are you sure you want to delete the skill "{{name}}"? This action cannot be undone.',FP={loadFailed:"Failed to load skills",createFailed:"Failed to create skill",updateFailed:"Failed to update skill",deleteFailed:"Failed to delete skill"},zP={title:"Create New Skill",subtitle:"Configure basic information and functionality for the new skill",tabs:{basic:"Basic Info",manifest:"Manifest",files:"Files"},basic:{name:"Skill Name",namePlaceholder:"Enter skill name",nameHint:"Display name for the skill, supports Chinese, English and numbers",description:"Skill Description",descriptionPlaceholder:"Detailed description of this skill's functionality and purpose",descriptionHint:"Clear description helps understand the skill's purpose",allowedTools:"Allowed Tools",allowedToolsHint:"Select tools that this skill can use",noToolsSelected:"No tools selected",selectTools:"Select Tools",unsavedChanges:"You have unsaved changes"},content:{skillManifest:"Skill Manifest",additionalFiles:"Additional Files",addFile:"Add File",noFiles:"No additional files",noFilesHint:"Click the button above to add skill-related files",fileName:"File Name",filePath:"File Path",fileContent:"File Content",fileType:{markdown:"Markdown",text:"Text",script:"Script",template:"Template",other:"Other"}}},UP={title:"Edit Skill",scope:{user:"User-level Skill"},basic:{name:"Skill Name",description:"Skill Description",allowedTools:"Allowed Tools",allowedToolsHint:"Select tools that this skill can use",skillContent:"Skill Content",unsavedChanges:"You have unsaved changes, press Cmd+S to save"},files:{title:"Additional Files",addFile:"Add File",noFiles:"No additional files",addFilesHint:"Add related files to support skill functionality"},errors:{validationErrors:"Validation Errors",saveFailed:"Failed to save skill"}},IP={title:SP,subtitle:xP,createButton:wP,searchPlaceholder:CP,filter:kP,noSkills:AP,noSkillsSearch:TP,createFirst:EP,scope:NP,source:MP,status:jP,table:RP,adjustSearch:DP,preview:PP,detail:OP,deleteConfirm:LP,errors:FP,create:zP,editor:UP},HP={"zh-CN":{common:tM,pages:bM,home:UM,components:aR,errors:dR,agents:SR,onboarding:wR,skills:BR},"en-US":{common:JR,pages:g2,home:L2,components:eP,errors:lP,agents:yP,onboarding:_P,skills:IP}};vw.use(L_).use(yw).init({resources:HP,fallbackLng:"en-US",defaultNS:"common",ns:["common","pages","home","components","errors","agents","onboarding","skills"],interpolation:{escapeValue:!1},detection:{order:["localStorage","navigator"],caches:["localStorage"]}});rC.createRoot(document.getElementById("root")).render(p.jsx(S.StrictMode,{children:p.jsx(MN,{})}));export{Ab as L,XP as O,fs as a,ch as b,t3 as c,ZP as d,Yk as e,Ik as f,WP as g,e3 as h,R_ as i,Ds as j,s0 as k,Qk as l,co as m,Nn as n,QP as o,KP as p,JP as r,qa as s,ET as t,oo as u};